// $ANTLR 3.5.2 /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2016-11-22 17:59:12

/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package org.netbeans.modules.css.lib;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

import org.antlr.runtime.debug.*;
import java.io.IOException;
@SuppressWarnings("all")
public class Css3Parser extends DebugParser {
	public static final String[] tokenNames = new String[] {
		"<invalid>", "<EOR>", "<DOWN>", "<UP>", "A", "ANGLE", "AT_IDENT", "AT_SIGN", 
		"B", "BEGINS", "BOTTOMCENTER_SYM", "BOTTOMLEFTCORNER_SYM", "BOTTOMLEFT_SYM", 
		"BOTTOMRIGHTCORNER_SYM", "BOTTOMRIGHT_SYM", "C", "CDC", "CDO", "CHARSET_SYM", 
		"COLON", "COMMA", "COMMENT", "CONTAINS", "COUNTER_STYLE_SYM", "CP_DOTS", 
		"CP_EQ", "CP_NOT_EQ", "D", "DASHMATCH", "DCOLON", "DIMENSION", "DOT", 
		"E", "EMS", "ENDS", "ESCAPE", "EXCLAMATION_MARK", "EXS", "F", "FONT_FACE_SYM", 
		"FREQ", "G", "GEN", "GREATER", "GREATER_OR_EQ", "H", "HASH", "HASH_SYMBOL", 
		"HEXCHAR", "I", "IDENT", "IMPORTANT_SYM", "IMPORT_SYM", "INCLUDES", "INVALID", 
		"J", "K", "L", "LBRACE", "LBRACKET", "LEFTBOTTOM_SYM", "LEFTMIDDLE_SYM", 
		"LEFTTOP_SYM", "LENGTH", "LESS", "LESS_AND", "LESS_JS_STRING", "LESS_OR_EQ", 
		"LESS_REST", "LINE_COMMENT", "LPAREN", "M", "MEDIA_SYM", "MINUS", "MOZ_DOCUMENT_SYM", 
		"MOZ_DOMAIN", "MOZ_REGEXP", "MOZ_URL_PREFIX", "N", "NAME", "NAMESPACE_SYM", 
		"NL", "NMCHAR", "NMSTART", "NONASCII", "NOT", "NUMBER", "O", "OPEQ", "P", 
		"PAGE_SYM", "PERCENTAGE", "PERCENTAGE_SYMBOL", "PIPE", "PLUS", "Q", "R", 
		"RBRACE", "RBRACKET", "REM", "RESOLUTION", "RIGHTBOTTOM_SYM", "RIGHTMIDDLE_SYM", 
		"RIGHTTOP_SYM", "RPAREN", "S", "SASS_AT_ROOT", "SASS_CONTENT", "SASS_DEBUG", 
		"SASS_DEFAULT", "SASS_EACH", "SASS_ELSE", "SASS_ELSEIF", "SASS_ERROR", 
		"SASS_EXTEND", "SASS_EXTEND_ONLY_SELECTOR", "SASS_FOR", "SASS_FUNCTION", 
		"SASS_GLOBAL", "SASS_IF", "SASS_INCLUDE", "SASS_MIXIN", "SASS_OPTIONAL", 
		"SASS_RETURN", "SASS_VAR", "SASS_WARN", "SASS_WHILE", "SEMI", "SOLIDUS", 
		"STAR", "STRING", "T", "TILDE", "TIME", "TOPCENTER_SYM", "TOPLEFTCORNER_SYM", 
		"TOPLEFT_SYM", "TOPRIGHTCORNER_SYM", "TOPRIGHT_SYM", "U", "UNICODE", "URI", 
		"URL", "V", "W", "WEBKIT_KEYFRAMES_SYM", "WS", "X", "Y", "Z"
	};
	public static final int EOF=-1;
	public static final int A=4;
	public static final int ANGLE=5;
	public static final int AT_IDENT=6;
	public static final int AT_SIGN=7;
	public static final int B=8;
	public static final int BEGINS=9;
	public static final int BOTTOMCENTER_SYM=10;
	public static final int BOTTOMLEFTCORNER_SYM=11;
	public static final int BOTTOMLEFT_SYM=12;
	public static final int BOTTOMRIGHTCORNER_SYM=13;
	public static final int BOTTOMRIGHT_SYM=14;
	public static final int C=15;
	public static final int CDC=16;
	public static final int CDO=17;
	public static final int CHARSET_SYM=18;
	public static final int COLON=19;
	public static final int COMMA=20;
	public static final int COMMENT=21;
	public static final int CONTAINS=22;
	public static final int COUNTER_STYLE_SYM=23;
	public static final int CP_DOTS=24;
	public static final int CP_EQ=25;
	public static final int CP_NOT_EQ=26;
	public static final int D=27;
	public static final int DASHMATCH=28;
	public static final int DCOLON=29;
	public static final int DIMENSION=30;
	public static final int DOT=31;
	public static final int E=32;
	public static final int EMS=33;
	public static final int ENDS=34;
	public static final int ESCAPE=35;
	public static final int EXCLAMATION_MARK=36;
	public static final int EXS=37;
	public static final int F=38;
	public static final int FONT_FACE_SYM=39;
	public static final int FREQ=40;
	public static final int G=41;
	public static final int GEN=42;
	public static final int GREATER=43;
	public static final int GREATER_OR_EQ=44;
	public static final int H=45;
	public static final int HASH=46;
	public static final int HASH_SYMBOL=47;
	public static final int HEXCHAR=48;
	public static final int I=49;
	public static final int IDENT=50;
	public static final int IMPORTANT_SYM=51;
	public static final int IMPORT_SYM=52;
	public static final int INCLUDES=53;
	public static final int INVALID=54;
	public static final int J=55;
	public static final int K=56;
	public static final int L=57;
	public static final int LBRACE=58;
	public static final int LBRACKET=59;
	public static final int LEFTBOTTOM_SYM=60;
	public static final int LEFTMIDDLE_SYM=61;
	public static final int LEFTTOP_SYM=62;
	public static final int LENGTH=63;
	public static final int LESS=64;
	public static final int LESS_AND=65;
	public static final int LESS_JS_STRING=66;
	public static final int LESS_OR_EQ=67;
	public static final int LESS_REST=68;
	public static final int LINE_COMMENT=69;
	public static final int LPAREN=70;
	public static final int M=71;
	public static final int MEDIA_SYM=72;
	public static final int MINUS=73;
	public static final int MOZ_DOCUMENT_SYM=74;
	public static final int MOZ_DOMAIN=75;
	public static final int MOZ_REGEXP=76;
	public static final int MOZ_URL_PREFIX=77;
	public static final int N=78;
	public static final int NAME=79;
	public static final int NAMESPACE_SYM=80;
	public static final int NL=81;
	public static final int NMCHAR=82;
	public static final int NMSTART=83;
	public static final int NONASCII=84;
	public static final int NOT=85;
	public static final int NUMBER=86;
	public static final int O=87;
	public static final int OPEQ=88;
	public static final int P=89;
	public static final int PAGE_SYM=90;
	public static final int PERCENTAGE=91;
	public static final int PERCENTAGE_SYMBOL=92;
	public static final int PIPE=93;
	public static final int PLUS=94;
	public static final int Q=95;
	public static final int R=96;
	public static final int RBRACE=97;
	public static final int RBRACKET=98;
	public static final int REM=99;
	public static final int RESOLUTION=100;
	public static final int RIGHTBOTTOM_SYM=101;
	public static final int RIGHTMIDDLE_SYM=102;
	public static final int RIGHTTOP_SYM=103;
	public static final int RPAREN=104;
	public static final int S=105;
	public static final int SASS_AT_ROOT=106;
	public static final int SASS_CONTENT=107;
	public static final int SASS_DEBUG=108;
	public static final int SASS_DEFAULT=109;
	public static final int SASS_EACH=110;
	public static final int SASS_ELSE=111;
	public static final int SASS_ELSEIF=112;
	public static final int SASS_ERROR=113;
	public static final int SASS_EXTEND=114;
	public static final int SASS_EXTEND_ONLY_SELECTOR=115;
	public static final int SASS_FOR=116;
	public static final int SASS_FUNCTION=117;
	public static final int SASS_GLOBAL=118;
	public static final int SASS_IF=119;
	public static final int SASS_INCLUDE=120;
	public static final int SASS_MIXIN=121;
	public static final int SASS_OPTIONAL=122;
	public static final int SASS_RETURN=123;
	public static final int SASS_VAR=124;
	public static final int SASS_WARN=125;
	public static final int SASS_WHILE=126;
	public static final int SEMI=127;
	public static final int SOLIDUS=128;
	public static final int STAR=129;
	public static final int STRING=130;
	public static final int T=131;
	public static final int TILDE=132;
	public static final int TIME=133;
	public static final int TOPCENTER_SYM=134;
	public static final int TOPLEFTCORNER_SYM=135;
	public static final int TOPLEFT_SYM=136;
	public static final int TOPRIGHTCORNER_SYM=137;
	public static final int TOPRIGHT_SYM=138;
	public static final int U=139;
	public static final int UNICODE=140;
	public static final int URI=141;
	public static final int URL=142;
	public static final int V=143;
	public static final int W=144;
	public static final int WEBKIT_KEYFRAMES_SYM=145;
	public static final int WS=146;
	public static final int X=147;
	public static final int Y=148;
	public static final int Z=149;

	// delegates
	public Parser[] getDelegates() {
		return new Parser[] {};
	}

	// delegators


	public static final String[] ruleNames = new String[] {
		"invalidRule", "synpred1_Css3", "mediaFeature", "mediaQuery", "margin_sym", 
		"sass_control_expression", "fnAttributes", "property", "syncToFollow", 
		"synpred26_Css3", "synpred9_Css3", "selectorsGroup", "syncToDeclarationsRule", 
		"less_import_types", "combinator", "synpred38_Css3", "propertyDeclaration", 
		"less_when", "synpred19_Css3", "pseudo", "syncTo_RBRACE", "declarations", 
		"synpred7_Css3", "mediaType", "imports", "cp_expression_atom", "synpred29_Css3", 
		"page", "synpred36_Css3", "less_mixin_guarded", "sass_extend", "synpred41_Css3", 
		"key_and", "vendorAtRule", "sass_each_variables", "fnAttributeValue", 
		"mediaFeatureValue", "sass_each", "namespacePrefix", "key_or", "synpred18_Css3", 
		"sass_if", "cp_expression", "atRuleId", "less_selector_interpolation", 
		"cp_variable_declaration", "cp_expression_list", "less_selector_interpolation_exp", 
		"synpred17_Css3", "resourceIdentifier", "synpred14_Css3", "synpred15_Css3", 
		"fnAttributeName", "prio", "synpred11_Css3", "synpred46_Css3", "mediaQueryList", 
		"declaration", "sass_while", "synpred27_Css3", "cp_mixin_block", "functionName", 
		"synpred10_Css3", "fontFace", "sass_nested_properties", "esPred", "synpred31_Css3", 
		"mediaBodyItem", "ws", "mediaQueryOperator", "mediaExpression", "webkitKeyframesBlock", 
		"synpred2_Css3", "synpred13_Css3", "cp_mixin_call_args", "sass_interpolation_expression_var", 
		"charSetValue", "styleSheet", "synpred21_Css3", "synpred49_Css3", "operator", 
		"sass_control", "synpred48_Css3", "pseudoPage", "moz_document", "cp_mixin_name", 
		"selector", "synpred22_Css3", "sass_for", "expression", "importItem", 
		"synpred47_Css3", "syncTo_SEMI", "charSet", "webkitKeyframes", "cssId", 
		"sass_else", "synpred44_Css3", "cp_mixin_call", "slAttributeValue", "elementName", 
		"sass_function_name", "synpred45_Css3", "slAttributeName", "unaryOperator", 
		"sass_function_declaration", "synpred33_Css3", "elementSubsequent", "function", 
		"synpred51_Css3", "webkitKeyframeSelectors", "synpred25_Css3", "sass_error", 
		"less_condition", "key_only", "margin", "counterStyle", "less_function_in_condition", 
		"namespace", "synpred12_Css3", "cp_mixin_declaration", "cp_math_expressions", 
		"cp_math_expression", "synpred34_Css3", "namespaces", "propertyValue", 
		"body", "synpred39_Css3", "sass_control_block", "mediaBody", "synpred4_Css3", 
		"sass_map_pair", "moz_document_function", "sass_map_pairs", "synpred32_Css3", 
		"cssClass", "cp_arg", "synpred52_Css3", "term", "sass_function_return", 
		"bodyItem", "sass_map", "typeSelector", "synpred3_Css3", "at_rule", "namespacePrefixName", 
		"cp_variable", "synpred28_Css3", "synpred5_Css3", "media", "cp_term_symbol", 
		"less_fn_name", "fnAttribute", "synpred23_Css3", "hexColor", "cp_args_list", 
		"cp_mixin_call_arg", "less_condition_operator", "synpred43_Css3", "sass_debug", 
		"cp_math_expression_atom", "synpred50_Css3", "slAttribute", "sass_content", 
		"synpred20_Css3", "generic_at_rule", "sass_map_name", "synpred40_Css3", 
		"cp_expression_operator", "synpred6_Css3", "simpleSelectorSequence", "sass_extend_only_selector", 
		"sass_selector_interpolation_exp", "synpred24_Css3", "synpred8_Css3", 
		"synpred35_Css3", "cp_propertyValue", "synpred37_Css3", "synpred30_Css3", 
		"expressionPredicate", "rule", "synpred16_Css3", "synpred42_Css3"
	};

	public static final boolean[] decisionCanBacktrack = new boolean[] {
		false, // invalid decision
		false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, true, 
		    false, false, false, false, false, true, false, false, false, false, 
		    true, false, false, false, false, false, false, true, false, false, 
		    false, false, false, false, false, false, true, false, false, false, 
		    false, false, false, false, true, false, false, true, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, true, false, false, false, true, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, true, false, false, 
		    false, false, false, true, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, true, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, true, false, false, true, true, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, true, 
		    false, false, true, false, false, false, false, false, false, false, 
		    false, false, false, false, false, true, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, true, false, false, false, false, 
		    false, true, false, false, true, false, false, false, false, false, 
		    false, true, false, false, false, true, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, true, false, 
		    false, false, true, false, false, false, false, false, false, false, 
		    false, false, false, true, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false, false, 
		    false, false, false, false, false, false, false, false, false
	};

 
	public int ruleLevel = 0;
	public int getRuleLevel() { return ruleLevel; }
	public void incRuleLevel() { ruleLevel++; }
	public void decRuleLevel() { ruleLevel--; }
	public Css3Parser(TokenStream input) {
		this(input, DebugEventSocketProxy.DEFAULT_DEBUGGER_PORT, new RecognizerSharedState());
	}
	public Css3Parser(TokenStream input, int port, RecognizerSharedState state) {
		super(input, state);
		DebugEventSocketProxy proxy =
			new DebugEventSocketProxy(this, port, null);

		setDebugListener(proxy);
		try {
			proxy.handshake();
		}
		catch (IOException ioe) {
			reportError(ioe);
		}
	}

	public Css3Parser(TokenStream input, DebugEventListener dbg) {
		super(input, dbg, new RecognizerSharedState());
	}

	protected boolean evalPredicate(boolean result, String predicate) {
		dbg.semanticPredicate(result, predicate);
		return result;
	}

	@Override public String[] getTokenNames() { return Css3Parser.tokenNames; }
	@Override public String getGrammarFileName() { return "/home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g"; }



	    protected boolean isLessSource() {
	        return false;
	    }

	    protected boolean isScssSource() {
	        return false;
	    }

	    private boolean isCssPreprocessorSource() {
	        return isLessSource() || isScssSource();
	    }

	    private boolean tokenNameEquals(String tokenImage) {
	        return tokenImage.equalsIgnoreCase(input.LT(1).getText());
	    }

	    private boolean tokenNameStartsWith(String prefix) {
	        return input.LT(1).getText() != null 
	            && input.LT(1).getText().startsWith(prefix);
	    }

	    private boolean tokenNameIs(String[] tokens) {
	        for(String tokenImage : tokens) {
	            if(tokenImage.equalsIgnoreCase(input.LT(1).getText())) {
	                return true;
	            }
	        }
	        return false;
	    }

	/**
	     * Use the current stacked followset to work out the valid tokens that
	     * can follow on from the current point in the parse, then recover by
	     * eating tokens that are not a member of the follow set we compute.
	     *
	     * This method is used whenever we wish to force a sync, even though
	     * the parser has not yet checked LA(1) for alt selection. This is useful
	     * in situations where only a subset of tokens can begin a new construct
	     * (such as the start of a new statement in a block) and we want to
	     * proactively detect garbage so that the current rule does not exit on
	     * on an exception.
	     *
	     * We could override recover() to make this the default behavior but that
	     * is too much like using a sledge hammer to crack a nut. We want finer
	     * grained control of the recovery and error mechanisms.
	     */
	    protected void syncToSet()
	    {
	        // Compute the followset that is in context wherever we are in the
	        // rule chain/stack
	        //
	         BitSet follow = state.following[state._fsp]; //computeContextSensitiveRuleFOLLOW();

	         syncToSet(follow);
	    }

	    protected void syncToSet(BitSet follow)
	    {
	        int mark = -1;

	        //create error-recovery node
	        dbg.enterRule(getGrammarFileName(), "recovery");

	        try {

	            mark = input.mark();

	            // Consume all tokens in the stream until we find a member of the follow
	            // set, which means the next production should be guaranteed to be happy.
	            //
	            while (! follow.member(input.LA(1)) ) {

	                if  (input.LA(1) == Token.EOF) {

	                    // Looks like we didn't find anything at all that can help us here
	                    // so we need to rewind to where we were and let normal error handling
	                    // bail out.
	                    //
	                    input.rewind();
	                    mark = -1;
	                    return;
	                }
	                input.consume();

	                // Now here, because you are consuming some tokens, yu will probably want
	                // to raise an error message such as "Spurious elements after the class member were discarded"
	                // using whatever your override of displayRecognitionError() routine does to record
	                // error messages. The exact error my depend on context etc.
	                //
	            }
	        } catch (Exception e) {

	          // Just ignore any errors here, we will just let the recognizer
	          // try to resync as normal - something must be very screwed.
	          //
	        }
	        finally {
	            dbg.exitRule(getGrammarFileName(), "recovery");

	            // Always release the mark we took
	            //
	            if  (mark != -1) {
	                input.release(mark);
	            }
	        }
	    }

	    /**
	         * synces to next RBRACE "}" taking nesting into account
	         */
	        protected void syncToRBRACE(int nest)
	            {

	                int mark = -1;
	                //create error-recovery node
	                //dbg.enterRule(getGrammarFileName(), "recovery");

	                try {
	                    mark = input.mark();
	                    for(;;) {
	                        //read char
	                        int c = input.LA(1);

	                        switch(c) {
	                            case Token.EOF:
	                                input.rewind();
	                                mark = -1;
	                                return ;
	                            case Css3Lexer.LBRACE:
	                                nest++;
	                                break;
	                            case Css3Lexer.RBRACE:
	                                nest--;
	                                if(nest == 0) {
	                                    //do not eat the final RBRACE
	                                    return ;
	                                }
	                        }

	                        input.consume();

	                    }

	                } catch (Exception e) {

	                  // Just ignore any errors here, we will just let the recognizer
	                  // try to resync as normal - something must be very screwed.
	                  //
	                }
	                finally {
	                    if  (mark != -1) {
	                        input.release(mark);
	                    }
	                    //dbg.exitRule(getGrammarFileName(), "recovery");
	                }
	            }




	// $ANTLR start "styleSheet"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:349:1: styleSheet : ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF ;
	public final void styleSheet() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "styleSheet");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(349, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:350:5: ( ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:6: ( ws )? ( charSet ( ws )? )? ( imports )? ( namespaces )? ( body )? EOF
			{
			dbg.location(351,6);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:6: ( ws )?
			int alt1=2;
			try { dbg.enterSubRule(1);
			try { dbg.enterDecision(1, decisionCanBacktrack[1]);

			int LA1_0 = input.LA(1);
			if ( (LA1_0==COMMENT||LA1_0==NL||LA1_0==WS) ) {
				alt1=1;
			}
			} finally {dbg.exitDecision(1);}

			switch (alt1) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:351:6: ws
					{
					dbg.location(351,6);
					pushFollow(FOLLOW_ws_in_styleSheet129);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(1);}
			dbg.location(352,6);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:6: ( charSet ( ws )? )?
			int alt3=2;
			try { dbg.enterSubRule(3);
			try { dbg.enterDecision(3, decisionCanBacktrack[3]);

			try {
				isCyclicDecision = true;
				alt3 = dfa3.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(3);}

			switch (alt3) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:8: charSet ( ws )?
					{
					dbg.location(352,8);
					pushFollow(FOLLOW_charSet_in_styleSheet139);
					charSet();
					state._fsp--;
					if (state.failed) return;dbg.location(352,16);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:16: ( ws )?
					int alt2=2;
					try { dbg.enterSubRule(2);
					try { dbg.enterDecision(2, decisionCanBacktrack[2]);

					int LA2_0 = input.LA(1);
					if ( (LA2_0==COMMENT||LA2_0==NL||LA2_0==WS) ) {
						alt2=1;
					}
					} finally {dbg.exitDecision(2);}

					switch (alt2) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:352:16: ws
							{
							dbg.location(352,16);
							pushFollow(FOLLOW_ws_in_styleSheet141);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(2);}

					}
					break;

			}
			} finally {dbg.exitSubRule(3);}
			dbg.location(353,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:353:9: ( imports )?
			int alt4=2;
			try { dbg.enterSubRule(4);
			try { dbg.enterDecision(4, decisionCanBacktrack[4]);

			int LA4_0 = input.LA(1);
			if ( (LA4_0==IMPORT_SYM) ) {
				int LA4_1 = input.LA(2);
				if ( (!(evalPredicate(((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))),""))) ) {
					alt4=1;
				}
			}
			} finally {dbg.exitDecision(4);}

			switch (alt4) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:353:9: imports
					{
					dbg.location(353,9);
					pushFollow(FOLLOW_imports_in_styleSheet155);
					imports();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(4);}
			dbg.location(354,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:354:9: ( namespaces )?
			int alt5=2;
			try { dbg.enterSubRule(5);
			try { dbg.enterDecision(5, decisionCanBacktrack[5]);

			try {
				isCyclicDecision = true;
				alt5 = dfa5.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(5);}

			switch (alt5) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:354:9: namespaces
					{
					dbg.location(354,9);
					pushFollow(FOLLOW_namespaces_in_styleSheet166);
					namespaces();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(5);}
			dbg.location(355,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:355:9: ( body )?
			int alt6=2;
			try { dbg.enterSubRule(6);
			try { dbg.enterDecision(6, decisionCanBacktrack[6]);

			int LA6_0 = input.LA(1);
			if ( ((LA6_0 >= AT_IDENT && LA6_0 <= AT_SIGN)||(LA6_0 >= BOTTOMCENTER_SYM && LA6_0 <= BOTTOMRIGHT_SYM)||(LA6_0 >= CHARSET_SYM && LA6_0 <= COLON)||LA6_0==COUNTER_STYLE_SYM||(LA6_0 >= DCOLON && LA6_0 <= DOT)||LA6_0==FONT_FACE_SYM||(LA6_0 >= GEN && LA6_0 <= GREATER)||(LA6_0 >= HASH && LA6_0 <= HASH_SYMBOL)||LA6_0==IDENT||LA6_0==IMPORT_SYM||(LA6_0 >= LBRACKET && LA6_0 <= LEFTTOP_SYM)||LA6_0==LESS_AND||(LA6_0 >= MEDIA_SYM && LA6_0 <= MOZ_DOCUMENT_SYM)||LA6_0==NAMESPACE_SYM||LA6_0==PAGE_SYM||(LA6_0 >= PIPE && LA6_0 <= PLUS)||(LA6_0 >= RIGHTBOTTOM_SYM && LA6_0 <= RIGHTTOP_SYM)||(LA6_0 >= SASS_AT_ROOT && LA6_0 <= SASS_DEBUG)||(LA6_0 >= SASS_EACH && LA6_0 <= SASS_ELSE)||(LA6_0 >= SASS_EXTEND && LA6_0 <= SASS_FUNCTION)||(LA6_0 >= SASS_IF && LA6_0 <= SASS_MIXIN)||(LA6_0 >= SASS_RETURN && LA6_0 <= SEMI)||LA6_0==STAR||LA6_0==TILDE||(LA6_0 >= TOPCENTER_SYM && LA6_0 <= TOPRIGHT_SYM)||LA6_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt6=1;
			}
			} finally {dbg.exitDecision(6);}

			switch (alt6) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:355:9: body
					{
					dbg.location(355,9);
					pushFollow(FOLLOW_body_in_styleSheet177);
					body();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(6);}
			dbg.location(356,6);
			match(input,EOF,FOLLOW_EOF_in_styleSheet185); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(357, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "styleSheet");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "styleSheet"



	// $ANTLR start "namespaces"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:359:1: namespaces : ( namespace ( ws )? )+ ;
	public final void namespaces() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "namespaces");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(359, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:360:2: ( ( namespace ( ws )? )+ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:361:2: ( namespace ( ws )? )+
			{
			dbg.location(361,2);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:361:2: ( namespace ( ws )? )+
			int cnt8=0;
			try { dbg.enterSubRule(8);

			loop8:
			while (true) {
				int alt8=2;
				try { dbg.enterDecision(8, decisionCanBacktrack[8]);

				try {
					isCyclicDecision = true;
					alt8 = dfa8.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(8);}

				switch (alt8) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:361:4: namespace ( ws )?
					{
					dbg.location(361,4);
					pushFollow(FOLLOW_namespace_in_namespaces202);
					namespace();
					state._fsp--;
					if (state.failed) return;dbg.location(361,14);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:361:14: ( ws )?
					int alt7=2;
					try { dbg.enterSubRule(7);
					try { dbg.enterDecision(7, decisionCanBacktrack[7]);

					int LA7_0 = input.LA(1);
					if ( (LA7_0==COMMENT||LA7_0==NL||LA7_0==WS) ) {
						alt7=1;
					}
					} finally {dbg.exitDecision(7);}

					switch (alt7) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:361:14: ws
							{
							dbg.location(361,14);
							pushFollow(FOLLOW_ws_in_namespaces204);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(7);}

					}
					break;

				default :
					if ( cnt8 >= 1 ) break loop8;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(8, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt8++;
			}
			} finally {dbg.exitSubRule(8);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(362, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "namespaces");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "namespaces"



	// $ANTLR start "namespace"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:364:1: namespace : NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI ;
	public final void namespace() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "namespace");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(364, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:3: ( NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:5: NAMESPACE_SYM ( ws )? ( namespacePrefixName ( ws )? )? resourceIdentifier ( ws )? SEMI
			{
			dbg.location(365,5);
			match(input,NAMESPACE_SYM,FOLLOW_NAMESPACE_SYM_in_namespace220); if (state.failed) return;dbg.location(365,19);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:19: ( ws )?
			int alt9=2;
			try { dbg.enterSubRule(9);
			try { dbg.enterDecision(9, decisionCanBacktrack[9]);

			int LA9_0 = input.LA(1);
			if ( (LA9_0==COMMENT||LA9_0==NL||LA9_0==WS) ) {
				alt9=1;
			}
			} finally {dbg.exitDecision(9);}

			switch (alt9) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:19: ws
					{
					dbg.location(365,19);
					pushFollow(FOLLOW_ws_in_namespace222);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(9);}
			dbg.location(365,23);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:23: ( namespacePrefixName ( ws )? )?
			int alt11=2;
			try { dbg.enterSubRule(11);
			try { dbg.enterDecision(11, decisionCanBacktrack[11]);

			int LA11_0 = input.LA(1);
			if ( (LA11_0==IDENT) ) {
				alt11=1;
			}
			} finally {dbg.exitDecision(11);}

			switch (alt11) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:24: namespacePrefixName ( ws )?
					{
					dbg.location(365,24);
					pushFollow(FOLLOW_namespacePrefixName_in_namespace226);
					namespacePrefixName();
					state._fsp--;
					if (state.failed) return;dbg.location(365,44);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:44: ( ws )?
					int alt10=2;
					try { dbg.enterSubRule(10);
					try { dbg.enterDecision(10, decisionCanBacktrack[10]);

					int LA10_0 = input.LA(1);
					if ( (LA10_0==COMMENT||LA10_0==NL||LA10_0==WS) ) {
						alt10=1;
					}
					} finally {dbg.exitDecision(10);}

					switch (alt10) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:44: ws
							{
							dbg.location(365,44);
							pushFollow(FOLLOW_ws_in_namespace228);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(10);}

					}
					break;

			}
			} finally {dbg.exitSubRule(11);}
			dbg.location(365,50);
			pushFollow(FOLLOW_resourceIdentifier_in_namespace233);
			resourceIdentifier();
			state._fsp--;
			if (state.failed) return;dbg.location(365,69);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:69: ( ws )?
			int alt12=2;
			try { dbg.enterSubRule(12);
			try { dbg.enterDecision(12, decisionCanBacktrack[12]);

			int LA12_0 = input.LA(1);
			if ( (LA12_0==COMMENT||LA12_0==NL||LA12_0==WS) ) {
				alt12=1;
			}
			} finally {dbg.exitDecision(12);}

			switch (alt12) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:365:69: ws
					{
					dbg.location(365,69);
					pushFollow(FOLLOW_ws_in_namespace235);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(12);}
			dbg.location(365,73);
			match(input,SEMI,FOLLOW_SEMI_in_namespace238); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(366, 2);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "namespace");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "namespace"



	// $ANTLR start "namespacePrefixName"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:368:1: namespacePrefixName : IDENT ;
	public final void namespacePrefixName() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "namespacePrefixName");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(368, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:369:3: ( IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:369:5: IDENT
			{
			dbg.location(369,5);
			match(input,IDENT,FOLLOW_IDENT_in_namespacePrefixName251); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(370, 2);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "namespacePrefixName");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "namespacePrefixName"



	// $ANTLR start "resourceIdentifier"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:372:1: resourceIdentifier : ( STRING | URI );
	public final void resourceIdentifier() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "resourceIdentifier");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(372, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:373:3: ( STRING | URI )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(373,3);
			if ( input.LA(1)==STRING||input.LA(1)==URI ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(374, 2);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "resourceIdentifier");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "resourceIdentifier"



	// $ANTLR start "charSet"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:376:1: charSet : CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI ;
	public final void charSet() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "charSet");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(376, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:377:5: ( CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:377:9: CHARSET_SYM ( ws )? charSetValue ( ws )? SEMI
			{
			dbg.location(377,9);
			match(input,CHARSET_SYM,FOLLOW_CHARSET_SYM_in_charSet285); if (state.failed) return;dbg.location(377,21);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:377:21: ( ws )?
			int alt13=2;
			try { dbg.enterSubRule(13);
			try { dbg.enterDecision(13, decisionCanBacktrack[13]);

			int LA13_0 = input.LA(1);
			if ( (LA13_0==COMMENT||LA13_0==NL||LA13_0==WS) ) {
				alt13=1;
			}
			} finally {dbg.exitDecision(13);}

			switch (alt13) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:377:21: ws
					{
					dbg.location(377,21);
					pushFollow(FOLLOW_ws_in_charSet287);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(13);}
			dbg.location(377,25);
			pushFollow(FOLLOW_charSetValue_in_charSet290);
			charSetValue();
			state._fsp--;
			if (state.failed) return;dbg.location(377,38);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:377:38: ( ws )?
			int alt14=2;
			try { dbg.enterSubRule(14);
			try { dbg.enterDecision(14, decisionCanBacktrack[14]);

			int LA14_0 = input.LA(1);
			if ( (LA14_0==COMMENT||LA14_0==NL||LA14_0==WS) ) {
				alt14=1;
			}
			} finally {dbg.exitDecision(14);}

			switch (alt14) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:377:38: ws
					{
					dbg.location(377,38);
					pushFollow(FOLLOW_ws_in_charSet292);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(14);}
			dbg.location(377,42);
			match(input,SEMI,FOLLOW_SEMI_in_charSet295); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(378, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "charSet");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "charSet"



	// $ANTLR start "charSetValue"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:380:1: charSetValue : STRING ;
	public final void charSetValue() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "charSetValue");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(380, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:381:2: ( STRING )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:381:4: STRING
			{
			dbg.location(381,4);
			match(input,STRING,FOLLOW_STRING_in_charSetValue309); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(382, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "charSetValue");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "charSetValue"



	// $ANTLR start "imports"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:384:1: imports : ( importItem ( ws )? SEMI ( ws )? )+ ;
	public final void imports() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "imports");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(384, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:385:2: ( ( importItem ( ws )? SEMI ( ws )? )+ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:2: ( importItem ( ws )? SEMI ( ws )? )+
			{
			dbg.location(386,2);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:2: ( importItem ( ws )? SEMI ( ws )? )+
			int cnt17=0;
			try { dbg.enterSubRule(17);

			loop17:
			while (true) {
				int alt17=2;
				try { dbg.enterDecision(17, decisionCanBacktrack[17]);

				int LA17_0 = input.LA(1);
				if ( (LA17_0==IMPORT_SYM) ) {
					int LA17_28 = input.LA(2);
					if ( (!(evalPredicate(((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))),""))) ) {
						alt17=1;
					}

				}

				} finally {dbg.exitDecision(17);}

				switch (alt17) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:4: importItem ( ws )? SEMI ( ws )?
					{
					dbg.location(386,4);
					pushFollow(FOLLOW_importItem_in_imports323);
					importItem();
					state._fsp--;
					if (state.failed) return;dbg.location(386,15);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:15: ( ws )?
					int alt15=2;
					try { dbg.enterSubRule(15);
					try { dbg.enterDecision(15, decisionCanBacktrack[15]);

					int LA15_0 = input.LA(1);
					if ( (LA15_0==COMMENT||LA15_0==NL||LA15_0==WS) ) {
						alt15=1;
					}
					} finally {dbg.exitDecision(15);}

					switch (alt15) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:15: ws
							{
							dbg.location(386,15);
							pushFollow(FOLLOW_ws_in_imports325);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(15);}
					dbg.location(386,19);
					match(input,SEMI,FOLLOW_SEMI_in_imports328); if (state.failed) return;dbg.location(386,24);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:24: ( ws )?
					int alt16=2;
					try { dbg.enterSubRule(16);
					try { dbg.enterDecision(16, decisionCanBacktrack[16]);

					int LA16_0 = input.LA(1);
					if ( (LA16_0==COMMENT||LA16_0==NL||LA16_0==WS) ) {
						alt16=1;
					}
					} finally {dbg.exitDecision(16);}

					switch (alt16) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:386:24: ws
							{
							dbg.location(386,24);
							pushFollow(FOLLOW_ws_in_imports330);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(16);}

					}
					break;

				default :
					if ( cnt17 >= 1 ) break loop17;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(17, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt17++;
			}
			} finally {dbg.exitSubRule(17);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(387, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "imports");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "imports"



	// $ANTLR start "importItem"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:389:1: importItem : ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? );
	public final void importItem() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "importItem");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(389, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:390:5: ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? )
			int alt32=3;
			try { dbg.enterDecision(32, decisionCanBacktrack[32]);

			try {
				isCyclicDecision = true;
				alt32 = dfa32.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(32);}

			switch (alt32) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:9: IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
					{
					dbg.location(391,9);
					match(input,IMPORT_SYM,FOLLOW_IMPORT_SYM_in_importItem356); if (state.failed) return;dbg.location(391,20);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:20: ( ws )?
					int alt18=2;
					try { dbg.enterSubRule(18);
					try { dbg.enterDecision(18, decisionCanBacktrack[18]);

					int LA18_0 = input.LA(1);
					if ( (LA18_0==COMMENT||LA18_0==NL||LA18_0==WS) ) {
						alt18=1;
					}
					} finally {dbg.exitDecision(18);}

					switch (alt18) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:20: ws
							{
							dbg.location(391,20);
							pushFollow(FOLLOW_ws_in_importItem358);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(18);}
					dbg.location(391,24);
					pushFollow(FOLLOW_resourceIdentifier_in_importItem361);
					resourceIdentifier();
					state._fsp--;
					if (state.failed) return;dbg.location(391,43);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:43: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
					int alt20=2;
					try { dbg.enterSubRule(20);
					try { dbg.enterDecision(20, decisionCanBacktrack[20]);

					int LA20_0 = input.LA(1);
					if ( (LA20_0==COMMENT||LA20_0==NL||LA20_0==WS) ) {
						int LA20_1 = input.LA(2);
						if ( (synpred1_Css3()) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==IDENT) ) {
						int LA20_2 = input.LA(2);
						if ( (synpred1_Css3()) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==NOT) && (synpred1_Css3())) {
						alt20=1;
					}
					else if ( (LA20_0==GEN) ) {
						int LA20_4 = input.LA(2);
						if ( (synpred1_Css3()) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==HASH_SYMBOL) ) {
						int LA20_5 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==LPAREN) && (synpred1_Css3())) {
						alt20=1;
					}
					else if ( (LA20_0==SASS_MIXIN) ) {
						int LA20_7 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_VAR) ) {
						int LA20_8 = input.LA(2);
						if ( (((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==AT_IDENT) ) {
						int LA20_14 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_INCLUDE) ) {
						int LA20_15 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_AT_ROOT) ) {
						int LA20_16 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_DEBUG||LA20_0==SASS_WARN) ) {
						int LA20_17 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_IF) ) {
						int LA20_27 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_FOR) ) {
						int LA20_28 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_EACH) ) {
						int LA20_29 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_WHILE) ) {
						int LA20_30 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_CONTENT) ) {
						int LA20_31 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==IMPORT_SYM) ) {
						int LA20_32 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==PAGE_SYM) ) {
						int LA20_33 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==FONT_FACE_SYM) ) {
						int LA20_34 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==MOZ_DOCUMENT_SYM) ) {
						int LA20_35 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==WEBKIT_KEYFRAMES_SYM) ) {
						int LA20_36 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==MEDIA_SYM) ) {
						int LA20_37 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_EXTEND) ) {
						int LA20_38 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==COUNTER_STYLE_SYM) ) {
						int LA20_39 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( (LA20_0==SASS_FUNCTION) ) {
						int LA20_41 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					else if ( ((LA20_0 >= BOTTOMCENTER_SYM && LA20_0 <= BOTTOMRIGHT_SYM)||LA20_0==CHARSET_SYM||(LA20_0 >= LEFTBOTTOM_SYM && LA20_0 <= LEFTTOP_SYM)||LA20_0==NAMESPACE_SYM||(LA20_0 >= RIGHTBOTTOM_SYM && LA20_0 <= RIGHTTOP_SYM)||LA20_0==SASS_ELSE||LA20_0==SASS_RETURN||(LA20_0 >= TOPCENTER_SYM && LA20_0 <= TOPRIGHT_SYM)) ) {
						int LA20_42 = input.LA(2);
						if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt20=1;
						}
					}
					} finally {dbg.exitDecision(20);}

					switch (alt20) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:44: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
							{
							dbg.location(391,66);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:66: ( ws )?
							int alt19=2;
							try { dbg.enterSubRule(19);
							try { dbg.enterDecision(19, decisionCanBacktrack[19]);

							int LA19_0 = input.LA(1);
							if ( (LA19_0==COMMENT||LA19_0==NL||LA19_0==WS) ) {
								alt19=1;
							}
							} finally {dbg.exitDecision(19);}

							switch (alt19) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:66: ws
									{
									dbg.location(391,66);
									pushFollow(FOLLOW_ws_in_importItem371);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(19);}
							dbg.location(391,70);
							pushFollow(FOLLOW_mediaQueryList_in_importItem374);
							mediaQueryList();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(20);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:9: {...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
					{
					dbg.location(394,9);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "importItem", "isScssSource()");
					}dbg.location(394,27);
					match(input,IMPORT_SYM,FOLLOW_IMPORT_SYM_in_importItem407); if (state.failed) return;dbg.location(394,38);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:38: ( ws )?
					int alt21=2;
					try { dbg.enterSubRule(21);
					try { dbg.enterDecision(21, decisionCanBacktrack[21]);

					int LA21_0 = input.LA(1);
					if ( (LA21_0==COMMENT||LA21_0==NL||LA21_0==WS) ) {
						alt21=1;
					}
					} finally {dbg.exitDecision(21);}

					switch (alt21) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:38: ws
							{
							dbg.location(394,38);
							pushFollow(FOLLOW_ws_in_importItem409);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(21);}
					dbg.location(394,42);
					pushFollow(FOLLOW_resourceIdentifier_in_importItem412);
					resourceIdentifier();
					state._fsp--;
					if (state.failed) return;dbg.location(394,61);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:61: ( ( ws )? COMMA ( ws )? resourceIdentifier )*
					try { dbg.enterSubRule(24);

					loop24:
					while (true) {
						int alt24=2;
						try { dbg.enterDecision(24, decisionCanBacktrack[24]);

						try {
							isCyclicDecision = true;
							alt24 = dfa24.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(24);}

						switch (alt24) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:62: ( ws )? COMMA ( ws )? resourceIdentifier
							{
							dbg.location(394,62);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:62: ( ws )?
							int alt22=2;
							try { dbg.enterSubRule(22);
							try { dbg.enterDecision(22, decisionCanBacktrack[22]);

							int LA22_0 = input.LA(1);
							if ( (LA22_0==COMMENT||LA22_0==NL||LA22_0==WS) ) {
								alt22=1;
							}
							} finally {dbg.exitDecision(22);}

							switch (alt22) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:62: ws
									{
									dbg.location(394,62);
									pushFollow(FOLLOW_ws_in_importItem415);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(22);}
							dbg.location(394,66);
							match(input,COMMA,FOLLOW_COMMA_in_importItem418); if (state.failed) return;dbg.location(394,72);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:72: ( ws )?
							int alt23=2;
							try { dbg.enterSubRule(23);
							try { dbg.enterDecision(23, decisionCanBacktrack[23]);

							int LA23_0 = input.LA(1);
							if ( (LA23_0==COMMENT||LA23_0==NL||LA23_0==WS) ) {
								alt23=1;
							}
							} finally {dbg.exitDecision(23);}

							switch (alt23) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:72: ws
									{
									dbg.location(394,72);
									pushFollow(FOLLOW_ws_in_importItem420);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(23);}
							dbg.location(394,76);
							pushFollow(FOLLOW_resourceIdentifier_in_importItem423);
							resourceIdentifier();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop24;
						}
					}
					} finally {dbg.exitSubRule(24);}
					dbg.location(394,97);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:97: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
					int alt26=2;
					try { dbg.enterSubRule(26);
					try { dbg.enterDecision(26, decisionCanBacktrack[26]);

					int LA26_0 = input.LA(1);
					if ( (LA26_0==COMMENT||LA26_0==NL||LA26_0==WS) ) {
						int LA26_1 = input.LA(2);
						if ( (synpred2_Css3()) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==IDENT) ) {
						int LA26_2 = input.LA(2);
						if ( (synpred2_Css3()) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==NOT) && (synpred2_Css3())) {
						alt26=1;
					}
					else if ( (LA26_0==GEN) ) {
						int LA26_4 = input.LA(2);
						if ( (synpred2_Css3()) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==HASH_SYMBOL) ) {
						int LA26_5 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==LPAREN) && (synpred2_Css3())) {
						alt26=1;
					}
					else if ( (LA26_0==SASS_MIXIN) ) {
						int LA26_7 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_VAR) ) {
						int LA26_8 = input.LA(2);
						if ( (((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==AT_IDENT) ) {
						int LA26_14 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_INCLUDE) ) {
						int LA26_15 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_AT_ROOT) ) {
						int LA26_16 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_DEBUG||LA26_0==SASS_WARN) ) {
						int LA26_17 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_IF) ) {
						int LA26_27 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_FOR) ) {
						int LA26_28 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_EACH) ) {
						int LA26_29 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_WHILE) ) {
						int LA26_30 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_CONTENT) ) {
						int LA26_31 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==IMPORT_SYM) ) {
						int LA26_32 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==PAGE_SYM) ) {
						int LA26_33 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==FONT_FACE_SYM) ) {
						int LA26_34 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==MOZ_DOCUMENT_SYM) ) {
						int LA26_35 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==WEBKIT_KEYFRAMES_SYM) ) {
						int LA26_36 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==MEDIA_SYM) ) {
						int LA26_37 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_EXTEND) ) {
						int LA26_38 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==COUNTER_STYLE_SYM) ) {
						int LA26_39 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( (LA26_0==SASS_FUNCTION) ) {
						int LA26_41 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					else if ( ((LA26_0 >= BOTTOMCENTER_SYM && LA26_0 <= BOTTOMRIGHT_SYM)||LA26_0==CHARSET_SYM||(LA26_0 >= LEFTBOTTOM_SYM && LA26_0 <= LEFTTOP_SYM)||LA26_0==NAMESPACE_SYM||(LA26_0 >= RIGHTBOTTOM_SYM && LA26_0 <= RIGHTTOP_SYM)||LA26_0==SASS_ELSE||LA26_0==SASS_RETURN||(LA26_0 >= TOPCENTER_SYM && LA26_0 <= TOPRIGHT_SYM)) ) {
						int LA26_42 = input.LA(2);
						if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
							alt26=1;
						}
					}
					} finally {dbg.exitDecision(26);}

					switch (alt26) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:98: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
							{
							dbg.location(394,120);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:120: ( ws )?
							int alt25=2;
							try { dbg.enterSubRule(25);
							try { dbg.enterDecision(25, decisionCanBacktrack[25]);

							int LA25_0 = input.LA(1);
							if ( (LA25_0==COMMENT||LA25_0==NL||LA25_0==WS) ) {
								alt25=1;
							}
							} finally {dbg.exitDecision(25);}

							switch (alt25) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:120: ws
									{
									dbg.location(394,120);
									pushFollow(FOLLOW_ws_in_importItem435);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(25);}
							dbg.location(394,124);
							pushFollow(FOLLOW_mediaQueryList_in_importItem438);
							mediaQueryList();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(26);}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:9: {...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
					{
					dbg.location(396,9);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "importItem", "isLessSource()");
					}dbg.location(396,27);
					match(input,IMPORT_SYM,FOLLOW_IMPORT_SYM_in_importItem462); if (state.failed) return;dbg.location(396,38);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:38: ( ws )?
					int alt27=2;
					try { dbg.enterSubRule(27);
					try { dbg.enterDecision(27, decisionCanBacktrack[27]);

					int LA27_0 = input.LA(1);
					if ( (LA27_0==COMMENT||LA27_0==NL||LA27_0==WS) ) {
						alt27=1;
					}
					} finally {dbg.exitDecision(27);}

					switch (alt27) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:38: ws
							{
							dbg.location(396,38);
							pushFollow(FOLLOW_ws_in_importItem464);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(27);}
					dbg.location(396,42);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:42: ( LPAREN less_import_types RPAREN ( ws )? )?
					int alt29=2;
					try { dbg.enterSubRule(29);
					try { dbg.enterDecision(29, decisionCanBacktrack[29]);

					int LA29_0 = input.LA(1);
					if ( (LA29_0==LPAREN) ) {
						alt29=1;
					}
					} finally {dbg.exitDecision(29);}

					switch (alt29) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:43: LPAREN less_import_types RPAREN ( ws )?
							{
							dbg.location(396,43);
							match(input,LPAREN,FOLLOW_LPAREN_in_importItem468); if (state.failed) return;dbg.location(396,50);
							pushFollow(FOLLOW_less_import_types_in_importItem470);
							less_import_types();
							state._fsp--;
							if (state.failed) return;dbg.location(396,68);
							match(input,RPAREN,FOLLOW_RPAREN_in_importItem472); if (state.failed) return;dbg.location(396,75);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:75: ( ws )?
							int alt28=2;
							try { dbg.enterSubRule(28);
							try { dbg.enterDecision(28, decisionCanBacktrack[28]);

							int LA28_0 = input.LA(1);
							if ( (LA28_0==COMMENT||LA28_0==NL||LA28_0==WS) ) {
								alt28=1;
							}
							} finally {dbg.exitDecision(28);}

							switch (alt28) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:75: ws
									{
									dbg.location(396,75);
									pushFollow(FOLLOW_ws_in_importItem474);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(28);}

							}
							break;

					}
					} finally {dbg.exitSubRule(29);}
					dbg.location(396,81);
					pushFollow(FOLLOW_resourceIdentifier_in_importItem479);
					resourceIdentifier();
					state._fsp--;
					if (state.failed) return;dbg.location(396,100);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:100: ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )?
					int alt31=2;
					try { dbg.enterSubRule(31);
					try { dbg.enterDecision(31, decisionCanBacktrack[31]);

					int LA31_0 = input.LA(1);
					if ( (LA31_0==COMMENT||LA31_0==NL||LA31_0==WS) ) {
						int LA31_1 = input.LA(2);
						if ( (synpred3_Css3()) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==IDENT) ) {
						int LA31_2 = input.LA(2);
						if ( (synpred3_Css3()) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==NOT) && (synpred3_Css3())) {
						alt31=1;
					}
					else if ( (LA31_0==GEN) ) {
						int LA31_4 = input.LA(2);
						if ( (synpred3_Css3()) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==HASH_SYMBOL) ) {
						int LA31_5 = input.LA(2);
						if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==LPAREN) && (synpred3_Css3())) {
						alt31=1;
					}
					else if ( (LA31_0==SASS_MIXIN) ) {
						int LA31_7 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_VAR) ) {
						int LA31_8 = input.LA(2);
						if ( (((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==AT_IDENT) ) {
						int LA31_14 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_INCLUDE) ) {
						int LA31_15 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_AT_ROOT) ) {
						int LA31_16 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_DEBUG||LA31_0==SASS_WARN) ) {
						int LA31_17 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_IF) ) {
						int LA31_27 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_FOR) ) {
						int LA31_28 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_EACH) ) {
						int LA31_29 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_WHILE) ) {
						int LA31_30 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_CONTENT) ) {
						int LA31_31 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==IMPORT_SYM) ) {
						int LA31_32 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==PAGE_SYM) ) {
						int LA31_33 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==FONT_FACE_SYM) ) {
						int LA31_34 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==MOZ_DOCUMENT_SYM) ) {
						int LA31_35 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==WEBKIT_KEYFRAMES_SYM) ) {
						int LA31_36 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==MEDIA_SYM) ) {
						int LA31_37 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_EXTEND) ) {
						int LA31_38 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==COUNTER_STYLE_SYM) ) {
						int LA31_39 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( (LA31_0==SASS_FUNCTION) ) {
						int LA31_41 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					else if ( ((LA31_0 >= BOTTOMCENTER_SYM && LA31_0 <= BOTTOMRIGHT_SYM)||LA31_0==CHARSET_SYM||(LA31_0 >= LEFTBOTTOM_SYM && LA31_0 <= LEFTTOP_SYM)||LA31_0==NAMESPACE_SYM||(LA31_0 >= RIGHTBOTTOM_SYM && LA31_0 <= RIGHTTOP_SYM)||LA31_0==SASS_ELSE||LA31_0==SASS_RETURN||(LA31_0 >= TOPCENTER_SYM && LA31_0 <= TOPRIGHT_SYM)) ) {
						int LA31_42 = input.LA(2);
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) {
							alt31=1;
						}
					}
					} finally {dbg.exitDecision(31);}

					switch (alt31) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:101: ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList
							{
							dbg.location(396,123);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:123: ( ws )?
							int alt30=2;
							try { dbg.enterSubRule(30);
							try { dbg.enterDecision(30, decisionCanBacktrack[30]);

							int LA30_0 = input.LA(1);
							if ( (LA30_0==COMMENT||LA30_0==NL||LA30_0==WS) ) {
								alt30=1;
							}
							} finally {dbg.exitDecision(30);}

							switch (alt30) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:123: ws
									{
									dbg.location(396,123);
									pushFollow(FOLLOW_ws_in_importItem489);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(30);}
							dbg.location(396,127);
							pushFollow(FOLLOW_mediaQueryList_in_importItem492);
							mediaQueryList();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(31);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(397, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "importItem");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "importItem"



	// $ANTLR start "media"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:398:1: media : MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE ;
	public final void media() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "media");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(398, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:399:5: ( MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:399:7: MEDIA_SYM ( ws )? ( mediaQueryList ) ( ws )? LBRACE ( ws )? syncToFollow ( mediaBody )? RBRACE
			{
			dbg.location(399,7);
			match(input,MEDIA_SYM,FOLLOW_MEDIA_SYM_in_media510); if (state.failed) return;dbg.location(399,17);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:399:17: ( ws )?
			int alt33=2;
			try { dbg.enterSubRule(33);
			try { dbg.enterDecision(33, decisionCanBacktrack[33]);

			int LA33_0 = input.LA(1);
			if ( (LA33_0==COMMENT||LA33_0==NL||LA33_0==WS) ) {
				alt33=1;
			}
			} finally {dbg.exitDecision(33);}

			switch (alt33) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:399:17: ws
					{
					dbg.location(399,17);
					pushFollow(FOLLOW_ws_in_media512);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(33);}
			dbg.location(400,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:400:5: ( mediaQueryList )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:401:10: mediaQueryList
			{
			dbg.location(401,10);
			pushFollow(FOLLOW_mediaQueryList_in_media530);
			mediaQueryList();
			state._fsp--;
			if (state.failed) return;
			}
			dbg.location(402,7);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:402:7: ( ws )?
			int alt34=2;
			try { dbg.enterSubRule(34);
			try { dbg.enterDecision(34, decisionCanBacktrack[34]);

			int LA34_0 = input.LA(1);
			if ( (LA34_0==COMMENT||LA34_0==NL||LA34_0==WS) ) {
				alt34=1;
			}
			} finally {dbg.exitDecision(34);}

			switch (alt34) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:402:7: ws
					{
					dbg.location(402,7);
					pushFollow(FOLLOW_ws_in_media538);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(34);}
			dbg.location(403,5);
			match(input,LBRACE,FOLLOW_LBRACE_in_media545); if (state.failed) return;dbg.location(403,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:12: ( ws )?
			int alt35=2;
			try { dbg.enterSubRule(35);
			try { dbg.enterDecision(35, decisionCanBacktrack[35]);

			int LA35_0 = input.LA(1);
			if ( (LA35_0==COMMENT||LA35_0==NL||LA35_0==WS) ) {
				alt35=1;
			}
			} finally {dbg.exitDecision(35);}

			switch (alt35) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:403:12: ws
					{
					dbg.location(403,12);
					pushFollow(FOLLOW_ws_in_media547);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(35);}
			dbg.location(403,16);
			pushFollow(FOLLOW_syncToFollow_in_media550);
			syncToFollow();
			state._fsp--;
			if (state.failed) return;dbg.location(404,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:404:9: ( mediaBody )?
			int alt36=2;
			try { dbg.enterSubRule(36);
			try { dbg.enterDecision(36, decisionCanBacktrack[36]);

			int LA36_0 = input.LA(1);
			if ( ((LA36_0 >= AT_IDENT && LA36_0 <= AT_SIGN)||(LA36_0 >= BOTTOMCENTER_SYM && LA36_0 <= BOTTOMRIGHT_SYM)||(LA36_0 >= CHARSET_SYM && LA36_0 <= COLON)||LA36_0==COUNTER_STYLE_SYM||(LA36_0 >= DCOLON && LA36_0 <= DOT)||LA36_0==FONT_FACE_SYM||(LA36_0 >= GEN && LA36_0 <= GREATER)||(LA36_0 >= HASH && LA36_0 <= HASH_SYMBOL)||LA36_0==IDENT||LA36_0==IMPORT_SYM||(LA36_0 >= LBRACKET && LA36_0 <= LEFTTOP_SYM)||LA36_0==LESS_AND||(LA36_0 >= MEDIA_SYM && LA36_0 <= MOZ_DOCUMENT_SYM)||LA36_0==NAMESPACE_SYM||LA36_0==PAGE_SYM||(LA36_0 >= PIPE && LA36_0 <= PLUS)||(LA36_0 >= RIGHTBOTTOM_SYM && LA36_0 <= RIGHTTOP_SYM)||(LA36_0 >= SASS_AT_ROOT && LA36_0 <= SASS_DEBUG)||(LA36_0 >= SASS_EACH && LA36_0 <= SASS_ELSE)||(LA36_0 >= SASS_EXTEND && LA36_0 <= SASS_FUNCTION)||(LA36_0 >= SASS_IF && LA36_0 <= SASS_MIXIN)||(LA36_0 >= SASS_RETURN && LA36_0 <= SEMI)||LA36_0==STAR||LA36_0==TILDE||(LA36_0 >= TOPCENTER_SYM && LA36_0 <= TOPRIGHT_SYM)||LA36_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt36=1;
			}
			} finally {dbg.exitDecision(36);}

			switch (alt36) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:404:9: mediaBody
					{
					dbg.location(404,9);
					pushFollow(FOLLOW_mediaBody_in_media560);
					mediaBody();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(36);}
			dbg.location(405,5);
			match(input,RBRACE,FOLLOW_RBRACE_in_media567); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(406, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "media");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "media"



	// $ANTLR start "mediaBody"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:408:1: mediaBody : ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+ ;
	public final void mediaBody() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaBody");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(408, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:409:5: ( ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:410:5: ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+
			{
			dbg.location(410,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:410:5: ( ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) | ({...}? sass_extend ( ws | ( SEMI ) ) ) )+
			int cnt42=0;
			try { dbg.enterSubRule(42);

			loop42:
			while (true) {
				int alt42=4;
				try { dbg.enterDecision(42, decisionCanBacktrack[42]);

				switch ( input.LA(1) ) {
				case AT_IDENT:
				case AT_SIGN:
				case BOTTOMCENTER_SYM:
				case BOTTOMLEFTCORNER_SYM:
				case BOTTOMLEFT_SYM:
				case BOTTOMRIGHTCORNER_SYM:
				case BOTTOMRIGHT_SYM:
				case CHARSET_SYM:
				case COLON:
				case COUNTER_STYLE_SYM:
				case DCOLON:
				case DIMENSION:
				case DOT:
				case FONT_FACE_SYM:
				case GEN:
				case GREATER:
				case HASH:
				case HASH_SYMBOL:
				case IDENT:
				case IMPORT_SYM:
				case LBRACKET:
				case LEFTBOTTOM_SYM:
				case LEFTMIDDLE_SYM:
				case LEFTTOP_SYM:
				case LESS_AND:
				case MEDIA_SYM:
				case MINUS:
				case MOZ_DOCUMENT_SYM:
				case NAMESPACE_SYM:
				case PAGE_SYM:
				case PIPE:
				case PLUS:
				case RIGHTBOTTOM_SYM:
				case RIGHTMIDDLE_SYM:
				case RIGHTTOP_SYM:
				case SASS_AT_ROOT:
				case SASS_CONTENT:
				case SASS_DEBUG:
				case SASS_EACH:
				case SASS_ELSE:
				case SASS_EXTEND_ONLY_SELECTOR:
				case SASS_FOR:
				case SASS_FUNCTION:
				case SASS_IF:
				case SASS_INCLUDE:
				case SASS_MIXIN:
				case SASS_RETURN:
				case SASS_VAR:
				case SASS_WARN:
				case SASS_WHILE:
				case STAR:
				case TILDE:
				case TOPCENTER_SYM:
				case TOPLEFTCORNER_SYM:
				case TOPLEFT_SYM:
				case TOPRIGHTCORNER_SYM:
				case TOPRIGHT_SYM:
				case WEBKIT_KEYFRAMES_SYM:
					{
					alt42=1;
					}
					break;
				case SASS_EXTEND:
					{
					int LA42_34 = input.LA(2);
					if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
						alt42=1;
					}
					else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
						alt42=3;
					}

					}
					break;
				case SEMI:
					{
					alt42=2;
					}
					break;
				}
				} finally {dbg.exitDecision(42);}

				switch (alt42) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:10: ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
					{
					dbg.location(411,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:10: ( mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:12: mediaBodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )?
					{
					dbg.location(411,12);
					pushFollow(FOLLOW_mediaBodyItem_in_mediaBody601);
					mediaBodyItem();
					state._fsp--;
					if (state.failed) return;dbg.location(411,26);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:26: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?
					int alt38=2;
					try { dbg.enterSubRule(38);
					try { dbg.enterDecision(38, decisionCanBacktrack[38]);

					try {
						isCyclicDecision = true;
						alt38 = dfa38.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(38);}

					switch (alt38) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:27: ( ( ws )? SEMI )=> ( ws )? SEMI
							{
							dbg.location(411,39);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:39: ( ws )?
							int alt37=2;
							try { dbg.enterSubRule(37);
							try { dbg.enterDecision(37, decisionCanBacktrack[37]);

							int LA37_0 = input.LA(1);
							if ( (LA37_0==COMMENT||LA37_0==NL||LA37_0==WS) ) {
								alt37=1;
							}
							} finally {dbg.exitDecision(37);}

							switch (alt37) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:39: ws
									{
									dbg.location(411,39);
									pushFollow(FOLLOW_ws_in_mediaBody611);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(37);}
							dbg.location(411,43);
							match(input,SEMI,FOLLOW_SEMI_in_mediaBody614); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(38);}
					dbg.location(411,50);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:50: ( ws )?
					int alt39=2;
					try { dbg.enterSubRule(39);
					try { dbg.enterDecision(39, decisionCanBacktrack[39]);

					int LA39_0 = input.LA(1);
					if ( (LA39_0==COMMENT||LA39_0==NL||LA39_0==WS) ) {
						alt39=1;
					}
					} finally {dbg.exitDecision(39);}

					switch (alt39) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:50: ws
							{
							dbg.location(411,50);
							pushFollow(FOLLOW_ws_in_mediaBody618);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(39);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:413:10: ( SEMI ( ws )? )
					{
					dbg.location(413,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:413:10: ( SEMI ( ws )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:413:12: SEMI ( ws )?
					{
					dbg.location(413,12);
					match(input,SEMI,FOLLOW_SEMI_in_mediaBody645); if (state.failed) return;dbg.location(413,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:413:17: ( ws )?
					int alt40=2;
					try { dbg.enterSubRule(40);
					try { dbg.enterDecision(40, decisionCanBacktrack[40]);

					int LA40_0 = input.LA(1);
					if ( (LA40_0==COMMENT||LA40_0==NL||LA40_0==WS) ) {
						alt40=1;
					}
					} finally {dbg.exitDecision(40);}

					switch (alt40) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:413:17: ws
							{
							dbg.location(413,17);
							pushFollow(FOLLOW_ws_in_mediaBody647);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(40);}

					}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:12: ({...}? sass_extend ( ws | ( SEMI ) ) )
					{
					dbg.location(414,12);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:12: ({...}? sass_extend ( ws | ( SEMI ) ) )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:13: {...}? sass_extend ( ws | ( SEMI ) )
					{
					dbg.location(414,13);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBody", "isScssSource()");
					}dbg.location(414,31);
					pushFollow(FOLLOW_sass_extend_in_mediaBody666);
					sass_extend();
					state._fsp--;
					if (state.failed) return;dbg.location(414,43);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:43: ( ws | ( SEMI ) )
					int alt41=2;
					try { dbg.enterSubRule(41);
					try { dbg.enterDecision(41, decisionCanBacktrack[41]);

					int LA41_0 = input.LA(1);
					if ( (LA41_0==COMMENT||LA41_0==NL||LA41_0==WS) ) {
						alt41=1;
					}
					else if ( (LA41_0==SEMI) ) {
						alt41=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 41, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(41);}

					switch (alt41) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:44: ws
							{
							dbg.location(414,44);
							pushFollow(FOLLOW_ws_in_mediaBody669);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:49: ( SEMI )
							{
							dbg.location(414,49);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:49: ( SEMI )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:414:50: SEMI
							{
							dbg.location(414,50);
							match(input,SEMI,FOLLOW_SEMI_in_mediaBody674); if (state.failed) return;
							}

							}
							break;

					}
					} finally {dbg.exitSubRule(41);}

					}

					}
					break;

				default :
					if ( cnt42 >= 1 ) break loop42;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(42, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt42++;
			}
			} finally {dbg.exitSubRule(42);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(416, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaBody");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaBody"



	// $ANTLR start "mediaBodyItem"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:418:1: mediaBodyItem : ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration |{...}? sass_debug |{...}? sass_control |{...}? sass_content |{...}? importItem | rule | page | fontFace | vendorAtRule | media );
	public final void mediaBodyItem() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaBodyItem");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(418, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:5: ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration |{...}? sass_debug |{...}? sass_control |{...}? sass_content |{...}? importItem | rule | page | fontFace | vendorAtRule | media )
			int alt47=14;
			try { dbg.enterDecision(47, decisionCanBacktrack[47]);

			int LA47_0 = input.LA(1);
			if ( (LA47_0==LESS_AND) ) {
				int LA47_1 = input.LA(2);
				if ( ((synpred5_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt47=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred6_Css3())) ) {
					alt47=2;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred7_Css3())) ) {
					alt47=3;
				}
				else if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==DOT) ) {
				int LA47_2 = input.LA(2);
				if ( ((synpred5_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt47=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred6_Css3())) ) {
					alt47=2;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred7_Css3())) ) {
					alt47=3;
				}
				else if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==HASH) ) {
				int LA47_3 = input.LA(2);
				if ( ((synpred5_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt47=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred6_Css3())) ) {
					alt47=2;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred7_Css3())) ) {
					alt47=3;
				}
				else if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==SASS_MIXIN) ) {
				int LA47_4 = input.LA(2);
				if ( ((synpred5_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt47=1;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==AT_IDENT) ) {
				int LA47_5 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred6_Css3())) ) {
					alt47=2;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred7_Css3())) ) {
					alt47=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=13;
				}

			}
			else if ( (LA47_0==SASS_INCLUDE) ) {
				int LA47_6 = input.LA(2);
				if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred6_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt47=2;
				}
				else if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred7_Css3())) ) {
					alt47=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 6, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==SASS_AT_ROOT) ) {
				int LA47_7 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==GREATER||LA47_0==PLUS||LA47_0==TILDE) ) {
				int LA47_8 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==SASS_EXTEND_ONLY_SELECTOR) ) {
				int LA47_9 = input.LA(2);
				if ( ((synpred8_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt47=4;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 9, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==HASH_SYMBOL) ) {
				int LA47_10 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( ((synpred9_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==DIMENSION) ) {
				int LA47_11 = input.LA(2);
				if ( ((synpred8_Css3()&&evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"))) ) {
					alt47=4;
				}
				else if ( (evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {
					alt47=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 11, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==LBRACKET) ) {
				int LA47_12 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==COLON||LA47_0==DCOLON) ) {
				int LA47_13 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==IDENT) ) {
				int LA47_14 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (synpred9_Css3()) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==AT_SIGN) ) {
				int LA47_15 = input.LA(2);
				if ( ((synpred8_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt47=4;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt47=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 15, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==MINUS) ) {
				int LA47_16 = input.LA(2);
				if ( ((synpred8_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) {
					alt47=4;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt47=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 16, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==STAR) ) {
				int LA47_17 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (synpred9_Css3()) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==PIPE) ) {
				int LA47_18 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==GEN) ) {
				int LA47_19 = input.LA(2);
				if ( (synpred8_Css3()) ) {
					alt47=4;
				}
				else if ( (synpred9_Css3()) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=10;
				}

			}
			else if ( (LA47_0==SASS_DEBUG||LA47_0==SASS_WARN) ) {
				int LA47_20 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 20, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==SASS_VAR) && (synpred9_Css3())) {
				alt47=5;
			}
			else if ( (LA47_0==SASS_IF) ) {
				int LA47_22 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=7;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 22, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==SASS_FOR) ) {
				int LA47_23 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=7;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 23, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==SASS_EACH) ) {
				int LA47_24 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=7;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 24, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==SASS_WHILE) ) {
				int LA47_25 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=7;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 25, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==SASS_CONTENT) ) {
				int LA47_26 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt47=8;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 26, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==IMPORT_SYM) ) {
				int LA47_27 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt47=9;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 47, 27, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA47_0==PAGE_SYM) ) {
				int LA47_28 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=11;
				}

			}
			else if ( (LA47_0==FONT_FACE_SYM) ) {
				int LA47_29 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=12;
				}

			}
			else if ( (LA47_0==MOZ_DOCUMENT_SYM) ) {
				int LA47_30 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=13;
				}

			}
			else if ( (LA47_0==WEBKIT_KEYFRAMES_SYM) ) {
				int LA47_31 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=13;
				}

			}
			else if ( (LA47_0==MEDIA_SYM) ) {
				int LA47_32 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) {
					alt47=5;
				}
				else if ( (true) ) {
					alt47=14;
				}

			}
			else if ( ((LA47_0 >= BOTTOMCENTER_SYM && LA47_0 <= BOTTOMRIGHT_SYM)||LA47_0==CHARSET_SYM||LA47_0==COUNTER_STYLE_SYM||(LA47_0 >= LEFTBOTTOM_SYM && LA47_0 <= LEFTTOP_SYM)||LA47_0==NAMESPACE_SYM||(LA47_0 >= RIGHTBOTTOM_SYM && LA47_0 <= RIGHTTOP_SYM)||LA47_0==SASS_ELSE||LA47_0==SASS_EXTEND||LA47_0==SASS_FUNCTION||LA47_0==SASS_RETURN||(LA47_0 >= TOPCENTER_SYM && LA47_0 <= TOPRIGHT_SYM)) && (synpred9_Css3())) {
				alt47=5;
			}

			} finally {dbg.exitDecision(47);}

			switch (alt47) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration
					{
					dbg.location(420,96);
					pushFollow(FOLLOW_cp_mixin_declaration_in_mediaBodyItem748);
					cp_mixin_declaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:7: ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
					{
					dbg.location(422,55);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBodyItem", "isLessSource()");
					}dbg.location(422,73);
					pushFollow(FOLLOW_cp_mixin_call_in_mediaBodyItem781);
					cp_mixin_call();
					state._fsp--;
					if (state.failed) return;dbg.location(422,87);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:87: ( ( ws )? IMPORTANT_SYM )?
					int alt44=2;
					try { dbg.enterSubRule(44);
					try { dbg.enterDecision(44, decisionCanBacktrack[44]);

					try {
						isCyclicDecision = true;
						alt44 = dfa44.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(44);}

					switch (alt44) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:88: ( ws )? IMPORTANT_SYM
							{
							dbg.location(422,88);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:88: ( ws )?
							int alt43=2;
							try { dbg.enterSubRule(43);
							try { dbg.enterDecision(43, decisionCanBacktrack[43]);

							int LA43_0 = input.LA(1);
							if ( (LA43_0==COMMENT||LA43_0==NL||LA43_0==WS) ) {
								alt43=1;
							}
							} finally {dbg.exitDecision(43);}

							switch (alt43) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:88: ws
									{
									dbg.location(422,88);
									pushFollow(FOLLOW_ws_in_mediaBodyItem784);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(43);}
							dbg.location(422,92);
							match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_mediaBodyItem787); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(44);}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
					{
					dbg.location(423,25);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBodyItem", "isScssSource()");
					}dbg.location(423,43);
					pushFollow(FOLLOW_cp_mixin_call_in_mediaBodyItem804);
					cp_mixin_call();
					state._fsp--;
					if (state.failed) return;dbg.location(423,57);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:57: ( ( ws )? IMPORTANT_SYM )?
					int alt46=2;
					try { dbg.enterSubRule(46);
					try { dbg.enterDecision(46, decisionCanBacktrack[46]);

					try {
						isCyclicDecision = true;
						alt46 = dfa46.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(46);}

					switch (alt46) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:58: ( ws )? IMPORTANT_SYM
							{
							dbg.location(423,58);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:58: ( ws )?
							int alt45=2;
							try { dbg.enterSubRule(45);
							try { dbg.enterDecision(45, decisionCanBacktrack[45]);

							int LA45_0 = input.LA(1);
							if ( (LA45_0==COMMENT||LA45_0==NL||LA45_0==WS) ) {
								alt45=1;
							}
							} finally {dbg.exitDecision(45);}

							switch (alt45) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:58: ws
									{
									dbg.location(423,58);
									pushFollow(FOLLOW_ws_in_mediaBodyItem807);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(45);}
							dbg.location(423,62);
							match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_mediaBodyItem810); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(46);}

					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule
					{
					dbg.location(424,145);
					pushFollow(FOLLOW_rule_in_mediaBodyItem875);
					rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:425:7: ( propertyDeclaration )=> propertyDeclaration
					{
					dbg.location(425,30);
					pushFollow(FOLLOW_propertyDeclaration_in_mediaBodyItem887);
					propertyDeclaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:426:7: {...}? sass_debug
					{
					dbg.location(426,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBodyItem", "isScssSource()");
					}dbg.location(426,25);
					pushFollow(FOLLOW_sass_debug_in_mediaBodyItem897);
					sass_debug();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:427:7: {...}? sass_control
					{
					dbg.location(427,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBodyItem", "isScssSource()");
					}dbg.location(427,25);
					pushFollow(FOLLOW_sass_control_in_mediaBodyItem907);
					sass_control();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 8 :
					dbg.enterAlt(8);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:428:7: {...}? sass_content
					{
					dbg.location(428,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBodyItem", "isScssSource()");
					}dbg.location(428,25);
					pushFollow(FOLLOW_sass_content_in_mediaBodyItem917);
					sass_content();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 9 :
					dbg.enterAlt(9);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:429:7: {...}? importItem
					{
					dbg.location(429,7);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaBodyItem", "isCssPreprocessorSource()");
					}dbg.location(429,36);
					pushFollow(FOLLOW_importItem_in_mediaBodyItem927);
					importItem();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 10 :
					dbg.enterAlt(10);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:430:7: rule
					{
					dbg.location(430,7);
					pushFollow(FOLLOW_rule_in_mediaBodyItem935);
					rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 11 :
					dbg.enterAlt(11);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:431:7: page
					{
					dbg.location(431,7);
					pushFollow(FOLLOW_page_in_mediaBodyItem943);
					page();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 12 :
					dbg.enterAlt(12);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:432:7: fontFace
					{
					dbg.location(432,7);
					pushFollow(FOLLOW_fontFace_in_mediaBodyItem951);
					fontFace();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 13 :
					dbg.enterAlt(13);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:433:7: vendorAtRule
					{
					dbg.location(433,7);
					pushFollow(FOLLOW_vendorAtRule_in_mediaBodyItem959);
					vendorAtRule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 14 :
					dbg.enterAlt(14);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:435:7: media
					{
					dbg.location(435,7);
					pushFollow(FOLLOW_media_in_mediaBodyItem972);
					media();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(436, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaBodyItem");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaBodyItem"



	// $ANTLR start "mediaQueryList"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:438:1: mediaQueryList : mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )* ;
	public final void mediaQueryList() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaQueryList");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(438, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:2: ( mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:4: mediaQuery ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*
			{
			dbg.location(439,4);
			pushFollow(FOLLOW_mediaQuery_in_mediaQueryList986);
			mediaQuery();
			state._fsp--;
			if (state.failed) return;dbg.location(439,15);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:15: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*
			try { dbg.enterSubRule(50);

			loop50:
			while (true) {
				int alt50=2;
				try { dbg.enterDecision(50, decisionCanBacktrack[50]);

				try {
					isCyclicDecision = true;
					alt50 = dfa50.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(50);}

				switch (alt50) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:17: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery
					{
					dbg.location(439,31);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:31: ( ws )?
					int alt48=2;
					try { dbg.enterSubRule(48);
					try { dbg.enterDecision(48, decisionCanBacktrack[48]);

					int LA48_0 = input.LA(1);
					if ( (LA48_0==COMMENT||LA48_0==NL||LA48_0==WS) ) {
						alt48=1;
					}
					} finally {dbg.exitDecision(48);}

					switch (alt48) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:31: ws
							{
							dbg.location(439,31);
							pushFollow(FOLLOW_ws_in_mediaQueryList998);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(48);}
					dbg.location(439,35);
					match(input,COMMA,FOLLOW_COMMA_in_mediaQueryList1001); if (state.failed) return;dbg.location(439,41);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:41: ( ws )?
					int alt49=2;
					try { dbg.enterSubRule(49);
					try { dbg.enterDecision(49, decisionCanBacktrack[49]);

					int LA49_0 = input.LA(1);
					if ( (LA49_0==COMMENT||LA49_0==NL||LA49_0==WS) ) {
						alt49=1;
					}
					} finally {dbg.exitDecision(49);}

					switch (alt49) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:41: ws
							{
							dbg.location(439,41);
							pushFollow(FOLLOW_ws_in_mediaQueryList1003);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(49);}
					dbg.location(439,45);
					pushFollow(FOLLOW_mediaQuery_in_mediaQueryList1006);
					mediaQuery();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop50;
				}
			}
			} finally {dbg.exitSubRule(50);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(440, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaQueryList");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaQueryList"



	// $ANTLR start "mediaQuery"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:442:1: mediaQuery : ( ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* | mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* |{...}? cp_variable );
	public final void mediaQuery() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaQuery");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(442, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:443:2: ( ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* | mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )* |{...}? cp_variable )
			int alt59=3;
			try { dbg.enterDecision(59, decisionCanBacktrack[59]);

			switch ( input.LA(1) ) {
			case GEN:
			case IDENT:
			case NOT:
				{
				alt59=1;
				}
				break;
			case HASH_SYMBOL:
				{
				int LA59_4 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt59=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt59=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 59, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case LPAREN:
				{
				alt59=2;
				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_VAR:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt59=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 59, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(59);}

			switch (alt59) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:5: ( mediaQueryOperator ( ws )? )? mediaType ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
					{
					dbg.location(444,5);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:5: ( mediaQueryOperator ( ws )? )?
					int alt52=2;
					try { dbg.enterSubRule(52);
					try { dbg.enterDecision(52, decisionCanBacktrack[52]);

					int LA52_0 = input.LA(1);
					if ( (LA52_0==IDENT) ) {
						int LA52_1 = input.LA(2);
						if ( (evalPredicate(tokenNameEquals("only"),"tokenNameEquals(\"only\")")) ) {
							alt52=1;
						}
					}
					else if ( (LA52_0==NOT) ) {
						alt52=1;
					}
					} finally {dbg.exitDecision(52);}

					switch (alt52) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:6: mediaQueryOperator ( ws )?
							{
							dbg.location(444,6);
							pushFollow(FOLLOW_mediaQueryOperator_in_mediaQuery1025);
							mediaQueryOperator();
							state._fsp--;
							if (state.failed) return;dbg.location(444,25);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:25: ( ws )?
							int alt51=2;
							try { dbg.enterSubRule(51);
							try { dbg.enterDecision(51, decisionCanBacktrack[51]);

							int LA51_0 = input.LA(1);
							if ( (LA51_0==COMMENT||LA51_0==NL||LA51_0==WS) ) {
								alt51=1;
							}
							} finally {dbg.exitDecision(51);}

							switch (alt51) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:25: ws
									{
									dbg.location(444,25);
									pushFollow(FOLLOW_ws_in_mediaQuery1027);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(51);}

							}
							break;

					}
					} finally {dbg.exitSubRule(52);}
					dbg.location(444,33);
					pushFollow(FOLLOW_mediaType_in_mediaQuery1034);
					mediaType();
					state._fsp--;
					if (state.failed) return;dbg.location(444,43);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:43: ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
					try { dbg.enterSubRule(55);

					loop55:
					while (true) {
						int alt55=2;
						try { dbg.enterDecision(55, decisionCanBacktrack[55]);

						int LA55_0 = input.LA(1);
						if ( (LA55_0==COMMENT||LA55_0==NL||LA55_0==WS) ) {
							int LA55_1 = input.LA(2);
							if ( (synpred11_Css3()) ) {
								alt55=1;
							}

						}
						else if ( (LA55_0==IDENT) ) {
							int LA55_18 = input.LA(2);
							if ( ((synpred11_Css3()&&evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")"))) ) {
								alt55=1;
							}

						}

						} finally {dbg.exitDecision(55);}

						switch (alt55) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:44: ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression
							{
							dbg.location(444,60);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:60: ( ws )?
							int alt53=2;
							try { dbg.enterSubRule(53);
							try { dbg.enterDecision(53, decisionCanBacktrack[53]);

							int LA53_0 = input.LA(1);
							if ( (LA53_0==COMMENT||LA53_0==NL||LA53_0==WS) ) {
								alt53=1;
							}
							} finally {dbg.exitDecision(53);}

							switch (alt53) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:60: ws
									{
									dbg.location(444,60);
									pushFollow(FOLLOW_ws_in_mediaQuery1045);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(53);}
							dbg.location(444,64);
							pushFollow(FOLLOW_key_and_in_mediaQuery1048);
							key_and();
							state._fsp--;
							if (state.failed) return;dbg.location(444,72);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:72: ( ws )?
							int alt54=2;
							try { dbg.enterSubRule(54);
							try { dbg.enterDecision(54, decisionCanBacktrack[54]);

							int LA54_0 = input.LA(1);
							if ( (LA54_0==COMMENT||LA54_0==NL||LA54_0==WS) ) {
								alt54=1;
							}
							} finally {dbg.exitDecision(54);}

							switch (alt54) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:72: ws
									{
									dbg.location(444,72);
									pushFollow(FOLLOW_ws_in_mediaQuery1050);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(54);}
							dbg.location(444,76);
							pushFollow(FOLLOW_mediaExpression_in_mediaQuery1053);
							mediaExpression();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop55;
						}
					}
					} finally {dbg.exitSubRule(55);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:7: mediaExpression ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
					{
					dbg.location(445,7);
					pushFollow(FOLLOW_mediaExpression_in_mediaQuery1064);
					mediaExpression();
					state._fsp--;
					if (state.failed) return;dbg.location(445,23);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:23: ( ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression )*
					try { dbg.enterSubRule(58);

					loop58:
					while (true) {
						int alt58=2;
						try { dbg.enterDecision(58, decisionCanBacktrack[58]);

						int LA58_0 = input.LA(1);
						if ( (LA58_0==COMMENT||LA58_0==NL||LA58_0==WS) ) {
							int LA58_1 = input.LA(2);
							if ( (synpred12_Css3()) ) {
								alt58=1;
							}

						}
						else if ( (LA58_0==IDENT) ) {
							int LA58_18 = input.LA(2);
							if ( ((evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")&&synpred12_Css3())) ) {
								alt58=1;
							}

						}

						} finally {dbg.exitDecision(58);}

						switch (alt58) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:24: ( ( ws )? key_and )=> ( ws )? key_and ( ws )? mediaExpression
							{
							dbg.location(445,40);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:40: ( ws )?
							int alt56=2;
							try { dbg.enterSubRule(56);
							try { dbg.enterDecision(56, decisionCanBacktrack[56]);

							int LA56_0 = input.LA(1);
							if ( (LA56_0==COMMENT||LA56_0==NL||LA56_0==WS) ) {
								alt56=1;
							}
							} finally {dbg.exitDecision(56);}

							switch (alt56) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:40: ws
									{
									dbg.location(445,40);
									pushFollow(FOLLOW_ws_in_mediaQuery1075);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(56);}
							dbg.location(445,44);
							pushFollow(FOLLOW_key_and_in_mediaQuery1078);
							key_and();
							state._fsp--;
							if (state.failed) return;dbg.location(445,52);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:52: ( ws )?
							int alt57=2;
							try { dbg.enterSubRule(57);
							try { dbg.enterDecision(57, decisionCanBacktrack[57]);

							int LA57_0 = input.LA(1);
							if ( (LA57_0==COMMENT||LA57_0==NL||LA57_0==WS) ) {
								alt57=1;
							}
							} finally {dbg.exitDecision(57);}

							switch (alt57) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:52: ws
									{
									dbg.location(445,52);
									pushFollow(FOLLOW_ws_in_mediaQuery1080);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(57);}
							dbg.location(445,56);
							pushFollow(FOLLOW_mediaExpression_in_mediaQuery1083);
							mediaExpression();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop58;
						}
					}
					} finally {dbg.exitSubRule(58);}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:446:7: {...}? cp_variable
					{
					dbg.location(446,7);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaQuery", "isLessSource()");
					}dbg.location(446,25);
					pushFollow(FOLLOW_cp_variable_in_mediaQuery1096);
					cp_variable();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(447, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaQuery");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaQuery"



	// $ANTLR start "mediaQueryOperator"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:449:1: mediaQueryOperator : ( key_only | NOT );
	public final void mediaQueryOperator() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaQueryOperator");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(449, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:450:3: ( key_only | NOT )
			int alt60=2;
			try { dbg.enterDecision(60, decisionCanBacktrack[60]);

			int LA60_0 = input.LA(1);
			if ( (LA60_0==IDENT) ) {
				alt60=1;
			}
			else if ( (LA60_0==NOT) ) {
				alt60=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 60, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(60);}

			switch (alt60) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:450:5: key_only
					{
					dbg.location(450,5);
					pushFollow(FOLLOW_key_only_in_mediaQueryOperator1108);
					key_only();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:450:16: NOT
					{
					dbg.location(450,16);
					match(input,NOT,FOLLOW_NOT_in_mediaQueryOperator1112); if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(451, 2);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaQueryOperator");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaQueryOperator"



	// $ANTLR start "mediaType"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:453:1: mediaType : ( IDENT | GEN |{...}? sass_interpolation_expression_var );
	public final void mediaType() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaType");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(453, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:2: ( IDENT | GEN |{...}? sass_interpolation_expression_var )
			int alt61=3;
			try { dbg.enterDecision(61, decisionCanBacktrack[61]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				alt61=1;
				}
				break;
			case GEN:
				{
				alt61=2;
				}
				break;
			case HASH_SYMBOL:
				{
				alt61=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 61, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(61);}

			switch (alt61) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:4: IDENT
					{
					dbg.location(454,4);
					match(input,IDENT,FOLLOW_IDENT_in_mediaType1124); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:12: GEN
					{
					dbg.location(454,12);
					match(input,GEN,FOLLOW_GEN_in_mediaType1128); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:454:18: {...}? sass_interpolation_expression_var
					{
					dbg.location(454,18);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaType", "isCssPreprocessorSource()");
					}dbg.location(454,47);
					pushFollow(FOLLOW_sass_interpolation_expression_var_in_mediaType1134);
					sass_interpolation_expression_var();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(455, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaType");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaType"



	// $ANTLR start "mediaExpression"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:457:1: mediaExpression : ( ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN ) | ( HASH )=>{...}? sass_interpolation_expression_var );
	public final void mediaExpression() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaExpression");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(457, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:458:5: ( ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN ) | ( HASH )=>{...}? sass_interpolation_expression_var )
			int alt65=2;
			try { dbg.enterDecision(65, decisionCanBacktrack[65]);

			int LA65_0 = input.LA(1);
			if ( (LA65_0==LPAREN) && (synpred13_Css3())) {
				alt65=1;
			}
			else if ( (LA65_0==HASH_SYMBOL) && (synpred14_Css3())) {
				alt65=2;
			}

			} finally {dbg.exitDecision(65);}

			switch (alt65) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:5: ( LPAREN )=> ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN )
					{
					dbg.location(459,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:17: ( LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:18: LPAREN ( ws )? mediaFeature ( mediaFeatureValue )? ( ws )? RPAREN
					{
					dbg.location(459,18);
					match(input,LPAREN,FOLLOW_LPAREN_in_mediaExpression1159); if (state.failed) return;dbg.location(459,25);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:25: ( ws )?
					int alt62=2;
					try { dbg.enterSubRule(62);
					try { dbg.enterDecision(62, decisionCanBacktrack[62]);

					int LA62_0 = input.LA(1);
					if ( (LA62_0==COMMENT||LA62_0==NL||LA62_0==WS) ) {
						alt62=1;
					}
					} finally {dbg.exitDecision(62);}

					switch (alt62) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:25: ws
							{
							dbg.location(459,25);
							pushFollow(FOLLOW_ws_in_mediaExpression1161);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(62);}
					dbg.location(459,29);
					pushFollow(FOLLOW_mediaFeature_in_mediaExpression1164);
					mediaFeature();
					state._fsp--;
					if (state.failed) return;dbg.location(459,42);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:42: ( mediaFeatureValue )?
					int alt63=2;
					try { dbg.enterSubRule(63);
					try { dbg.enterDecision(63, decisionCanBacktrack[63]);

					try {
						isCyclicDecision = true;
						alt63 = dfa63.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(63);}

					switch (alt63) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:42: mediaFeatureValue
							{
							dbg.location(459,42);
							pushFollow(FOLLOW_mediaFeatureValue_in_mediaExpression1166);
							mediaFeatureValue();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(63);}
					dbg.location(459,61);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:61: ( ws )?
					int alt64=2;
					try { dbg.enterSubRule(64);
					try { dbg.enterDecision(64, decisionCanBacktrack[64]);

					int LA64_0 = input.LA(1);
					if ( (LA64_0==COMMENT||LA64_0==NL||LA64_0==WS) ) {
						alt64=1;
					}
					} finally {dbg.exitDecision(64);}

					switch (alt64) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:61: ws
							{
							dbg.location(459,61);
							pushFollow(FOLLOW_ws_in_mediaExpression1169);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(64);}
					dbg.location(459,65);
					match(input,RPAREN,FOLLOW_RPAREN_in_mediaExpression1172); if (state.failed) return;
					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:460:7: ( HASH )=>{...}? sass_interpolation_expression_var
					{
					dbg.location(460,17);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaExpression", "isCssPreprocessorSource()");
					}dbg.location(460,46);
					pushFollow(FOLLOW_sass_interpolation_expression_var_in_mediaExpression1189);
					sass_interpolation_expression_var();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(461, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaExpression");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaExpression"



	// $ANTLR start "mediaFeatureValue"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:463:1: mediaFeatureValue : ( ws )? COLON ( ws )? ({...}? cp_expression | expression ) ;
	public final void mediaFeatureValue() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaFeatureValue");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(463, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:464:5: ( ( ws )? COLON ( ws )? ({...}? cp_expression | expression ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:465:5: ( ws )? COLON ( ws )? ({...}? cp_expression | expression )
			{
			dbg.location(465,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:465:5: ( ws )?
			int alt66=2;
			try { dbg.enterSubRule(66);
			try { dbg.enterDecision(66, decisionCanBacktrack[66]);

			int LA66_0 = input.LA(1);
			if ( (LA66_0==COMMENT||LA66_0==NL||LA66_0==WS) ) {
				alt66=1;
			}
			} finally {dbg.exitDecision(66);}

			switch (alt66) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:465:5: ws
					{
					dbg.location(465,5);
					pushFollow(FOLLOW_ws_in_mediaFeatureValue1210);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(66);}
			dbg.location(465,9);
			match(input,COLON,FOLLOW_COLON_in_mediaFeatureValue1213); if (state.failed) return;dbg.location(465,15);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:465:15: ( ws )?
			int alt67=2;
			try { dbg.enterSubRule(67);
			try { dbg.enterDecision(67, decisionCanBacktrack[67]);

			int LA67_0 = input.LA(1);
			if ( (LA67_0==COMMENT||LA67_0==NL||LA67_0==WS) ) {
				alt67=1;
			}
			} finally {dbg.exitDecision(67);}

			switch (alt67) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:465:15: ws
					{
					dbg.location(465,15);
					pushFollow(FOLLOW_ws_in_mediaFeatureValue1215);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(67);}
			dbg.location(466,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:466:5: ({...}? cp_expression | expression )
			int alt68=2;
			try { dbg.enterSubRule(68);
			try { dbg.enterDecision(68, decisionCanBacktrack[68]);

			switch ( input.LA(1) ) {
			case IMPORTANT_SYM:
			case LBRACE:
			case LPAREN:
			case NOT:
				{
				alt68=1;
				}
				break;
			case MINUS:
			case PLUS:
				{
				int LA68_3 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case IDENT:
				{
				int LA68_4 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case NUMBER:
				{
				int LA68_5 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case PERCENTAGE:
				{
				int LA68_6 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case LENGTH:
				{
				int LA68_7 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case EMS:
				{
				int LA68_8 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case REM:
				{
				int LA68_9 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case EXS:
				{
				int LA68_10 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case ANGLE:
				{
				int LA68_11 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case TIME:
				{
				int LA68_12 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case FREQ:
				{
				int LA68_13 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case RESOLUTION:
				{
				int LA68_14 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case DIMENSION:
				{
				int LA68_15 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case STRING:
				{
				int LA68_16 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case TILDE:
				{
				int LA68_17 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case LESS_JS_STRING:
				{
				int LA68_18 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case GEN:
				{
				int LA68_19 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case URI:
				{
				int LA68_20 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case HASH:
				{
				int LA68_21 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (true) ) {
					alt68=2;
				}

				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				int LA68_22 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt68=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt68=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 68, 22, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_VAR:
				{
				int LA68_23 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt68=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt68=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 68, 23, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case LESS_AND:
				{
				int LA68_24 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt68=1;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt68=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 68, 24, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case HASH_SYMBOL:
				{
				int LA68_25 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt68=1;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt68=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 68, 25, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_SIGN:
				{
				int LA68_26 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt68=1;
				}
				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt68=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 68, 26, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case PERCENTAGE_SYMBOL:
				{
				int LA68_27 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt68=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 68, 27, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 68, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(68);}

			switch (alt68) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:467:9: {...}? cp_expression
					{
					dbg.location(467,9);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaFeatureValue", "isCssPreprocessorSource()");
					}dbg.location(467,38);
					pushFollow(FOLLOW_cp_expression_in_mediaFeatureValue1234);
					cp_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:469:9: expression
					{
					dbg.location(469,9);
					pushFollow(FOLLOW_expression_in_mediaFeatureValue1254);
					expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(68);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(471, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaFeatureValue");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaFeatureValue"



	// $ANTLR start "mediaFeature"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:473:1: mediaFeature : ( IDENT | GEN |{...}? ( cp_variable | sass_interpolation_expression_var ) );
	public final void mediaFeature() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "mediaFeature");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(473, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:2: ( IDENT | GEN |{...}? ( cp_variable | sass_interpolation_expression_var ) )
			int alt70=3;
			try { dbg.enterDecision(70, decisionCanBacktrack[70]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				alt70=1;
				}
				break;
			case GEN:
				{
				alt70=2;
				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case HASH_SYMBOL:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_VAR:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt70=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 70, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(70);}

			switch (alt70) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:4: IDENT
					{
					dbg.location(474,4);
					match(input,IDENT,FOLLOW_IDENT_in_mediaFeature1274); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:12: GEN
					{
					dbg.location(474,12);
					match(input,GEN,FOLLOW_GEN_in_mediaFeature1278); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:18: {...}? ( cp_variable | sass_interpolation_expression_var )
					{
					dbg.location(474,18);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "mediaFeature", "isCssPreprocessorSource()");
					}dbg.location(474,47);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:47: ( cp_variable | sass_interpolation_expression_var )
					int alt69=2;
					try { dbg.enterSubRule(69);
					try { dbg.enterDecision(69, decisionCanBacktrack[69]);

					int LA69_0 = input.LA(1);
					if ( (LA69_0==AT_IDENT||(LA69_0 >= BOTTOMCENTER_SYM && LA69_0 <= BOTTOMRIGHT_SYM)||LA69_0==CHARSET_SYM||LA69_0==COUNTER_STYLE_SYM||LA69_0==FONT_FACE_SYM||LA69_0==IMPORT_SYM||(LA69_0 >= LEFTBOTTOM_SYM && LA69_0 <= LEFTTOP_SYM)||LA69_0==MEDIA_SYM||LA69_0==MOZ_DOCUMENT_SYM||LA69_0==NAMESPACE_SYM||LA69_0==PAGE_SYM||(LA69_0 >= RIGHTBOTTOM_SYM && LA69_0 <= RIGHTTOP_SYM)||(LA69_0 >= SASS_AT_ROOT && LA69_0 <= SASS_DEBUG)||(LA69_0 >= SASS_EACH && LA69_0 <= SASS_ELSE)||LA69_0==SASS_EXTEND||(LA69_0 >= SASS_FOR && LA69_0 <= SASS_FUNCTION)||(LA69_0 >= SASS_IF && LA69_0 <= SASS_MIXIN)||(LA69_0 >= SASS_RETURN && LA69_0 <= SASS_WHILE)||(LA69_0 >= TOPCENTER_SYM && LA69_0 <= TOPRIGHT_SYM)||LA69_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt69=1;
					}
					else if ( (LA69_0==HASH_SYMBOL) ) {
						alt69=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 69, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(69);}

					switch (alt69) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:49: cp_variable
							{
							dbg.location(474,49);
							pushFollow(FOLLOW_cp_variable_in_mediaFeature1286);
							cp_variable();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:474:63: sass_interpolation_expression_var
							{
							dbg.location(474,63);
							pushFollow(FOLLOW_sass_interpolation_expression_var_in_mediaFeature1290);
							sass_interpolation_expression_var();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(69);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(475, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "mediaFeature");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "mediaFeature"



	// $ANTLR start "body"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:477:2: body : ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+ ;
	public final void body() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "body");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(477, 1);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:478:5: ( ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:479:5: ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+
			{
			dbg.location(479,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:479:5: ( ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? ) | ( SEMI ( ws )? ) )+
			int cnt75=0;
			try { dbg.enterSubRule(75);

			loop75:
			while (true) {
				int alt75=3;
				try { dbg.enterDecision(75, decisionCanBacktrack[75]);

				int LA75_0 = input.LA(1);
				if ( ((LA75_0 >= AT_IDENT && LA75_0 <= AT_SIGN)||(LA75_0 >= BOTTOMCENTER_SYM && LA75_0 <= BOTTOMRIGHT_SYM)||(LA75_0 >= CHARSET_SYM && LA75_0 <= COLON)||LA75_0==COUNTER_STYLE_SYM||(LA75_0 >= DCOLON && LA75_0 <= DOT)||LA75_0==FONT_FACE_SYM||(LA75_0 >= GEN && LA75_0 <= GREATER)||(LA75_0 >= HASH && LA75_0 <= HASH_SYMBOL)||LA75_0==IDENT||LA75_0==IMPORT_SYM||(LA75_0 >= LBRACKET && LA75_0 <= LEFTTOP_SYM)||LA75_0==LESS_AND||(LA75_0 >= MEDIA_SYM && LA75_0 <= MOZ_DOCUMENT_SYM)||LA75_0==NAMESPACE_SYM||LA75_0==PAGE_SYM||(LA75_0 >= PIPE && LA75_0 <= PLUS)||(LA75_0 >= RIGHTBOTTOM_SYM && LA75_0 <= RIGHTTOP_SYM)||(LA75_0 >= SASS_AT_ROOT && LA75_0 <= SASS_DEBUG)||(LA75_0 >= SASS_EACH && LA75_0 <= SASS_ELSE)||(LA75_0 >= SASS_EXTEND && LA75_0 <= SASS_FUNCTION)||(LA75_0 >= SASS_IF && LA75_0 <= SASS_MIXIN)||(LA75_0 >= SASS_RETURN && LA75_0 <= SASS_WHILE)||LA75_0==STAR||LA75_0==TILDE||(LA75_0 >= TOPCENTER_SYM && LA75_0 <= TOPRIGHT_SYM)||LA75_0==WEBKIT_KEYFRAMES_SYM) ) {
					alt75=1;
				}
				else if ( (LA75_0==SEMI) ) {
					alt75=2;
				}

				} finally {dbg.exitDecision(75);}

				switch (alt75) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:10: ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
					{
					dbg.location(480,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:10: ( bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:12: bodyItem ( ( ( ws )? SEMI )=> ( ws )? SEMI )? ( ws )?
					{
					dbg.location(480,12);
					pushFollow(FOLLOW_bodyItem_in_body1324);
					bodyItem();
					state._fsp--;
					if (state.failed) return;dbg.location(480,21);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:21: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?
					int alt72=2;
					try { dbg.enterSubRule(72);
					try { dbg.enterDecision(72, decisionCanBacktrack[72]);

					try {
						isCyclicDecision = true;
						alt72 = dfa72.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(72);}

					switch (alt72) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:22: ( ( ws )? SEMI )=> ( ws )? SEMI
							{
							dbg.location(480,34);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:34: ( ws )?
							int alt71=2;
							try { dbg.enterSubRule(71);
							try { dbg.enterDecision(71, decisionCanBacktrack[71]);

							int LA71_0 = input.LA(1);
							if ( (LA71_0==COMMENT||LA71_0==NL||LA71_0==WS) ) {
								alt71=1;
							}
							} finally {dbg.exitDecision(71);}

							switch (alt71) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:34: ws
									{
									dbg.location(480,34);
									pushFollow(FOLLOW_ws_in_body1334);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(71);}
							dbg.location(480,38);
							match(input,SEMI,FOLLOW_SEMI_in_body1337); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(72);}
					dbg.location(480,45);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:45: ( ws )?
					int alt73=2;
					try { dbg.enterSubRule(73);
					try { dbg.enterDecision(73, decisionCanBacktrack[73]);

					int LA73_0 = input.LA(1);
					if ( (LA73_0==COMMENT||LA73_0==NL||LA73_0==WS) ) {
						alt73=1;
					}
					} finally {dbg.exitDecision(73);}

					switch (alt73) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:45: ws
							{
							dbg.location(480,45);
							pushFollow(FOLLOW_ws_in_body1341);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(73);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:482:10: ( SEMI ( ws )? )
					{
					dbg.location(482,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:482:10: ( SEMI ( ws )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:482:12: SEMI ( ws )?
					{
					dbg.location(482,12);
					match(input,SEMI,FOLLOW_SEMI_in_body1368); if (state.failed) return;dbg.location(482,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:482:17: ( ws )?
					int alt74=2;
					try { dbg.enterSubRule(74);
					try { dbg.enterDecision(74, decisionCanBacktrack[74]);

					int LA74_0 = input.LA(1);
					if ( (LA74_0==COMMENT||LA74_0==NL||LA74_0==WS) ) {
						alt74=1;
					}
					} finally {dbg.exitDecision(74);}

					switch (alt74) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:482:17: ws
							{
							dbg.location(482,17);
							pushFollow(FOLLOW_ws_in_body1370);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(74);}

					}

					}
					break;

				default :
					if ( cnt75 >= 1 ) break loop75;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(75, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt75++;
			}
			} finally {dbg.exitSubRule(75);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(484, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "body");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "body"



	// $ANTLR start "bodyItem"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:486:1: bodyItem : ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call | ( cp_mixin_call )=>{...}? cp_mixin_call | rule | ( cp_variable ( ws )? COLON )=> cp_variable_declaration | ( sass_map )=> sass_map | at_rule |{...}? importItem |{...}? sass_debug |{...}? sass_control |{...}? sass_function_declaration );
	public final void bodyItem() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "bodyItem");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(486, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:487:5: ( ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration | ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call | ( cp_mixin_call )=>{...}? cp_mixin_call | rule | ( cp_variable ( ws )? COLON )=> cp_variable_declaration | ( sass_map )=> sass_map | at_rule |{...}? importItem |{...}? sass_debug |{...}? sass_control |{...}? sass_function_declaration )
			int alt76=11;
			try { dbg.enterDecision(76, decisionCanBacktrack[76]);

			switch ( input.LA(1) ) {
			case LESS_AND:
				{
				int LA76_1 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred16_Css3())) ) {
					alt76=1;
				}
				else if ( ((synpred17_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=2;
				}
				else if ( (((synpred18_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=3;
				}
				else if ( (true) ) {
					alt76=4;
				}

				}
				break;
			case DOT:
				{
				int LA76_2 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred16_Css3())) ) {
					alt76=1;
				}
				else if ( ((synpred17_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=2;
				}
				else if ( (((synpred18_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=3;
				}
				else if ( (true) ) {
					alt76=4;
				}

				}
				break;
			case HASH:
				{
				int LA76_3 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred16_Css3())) ) {
					alt76=1;
				}
				else if ( ((synpred17_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=2;
				}
				else if ( (((synpred18_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=3;
				}
				else if ( (true) ) {
					alt76=4;
				}

				}
				break;
			case SASS_MIXIN:
				{
				int LA76_4 = input.LA(2);
				if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred16_Css3())) ) {
					alt76=1;
				}
				else if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_IDENT:
				{
				int LA76_5 = input.LA(2);
				if ( ((synpred17_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=2;
				}
				else if ( (((synpred18_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=3;
				}
				else if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case SASS_INCLUDE:
				{
				int LA76_6 = input.LA(2);
				if ( (((synpred17_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=2;
				}
				else if ( ((synpred18_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=3;
				}
				else if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 6, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_AT_ROOT:
				{
				int LA76_7 = input.LA(2);
				if ( (true) ) {
					alt76=4;
				}
				else if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 7, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_SIGN:
			case COLON:
			case DCOLON:
			case DIMENSION:
			case GEN:
			case GREATER:
			case HASH_SYMBOL:
			case IDENT:
			case LBRACKET:
			case MINUS:
			case PIPE:
			case PLUS:
			case SASS_EXTEND_ONLY_SELECTOR:
			case STAR:
			case TILDE:
				{
				alt76=4;
				}
				break;
			case MEDIA_SYM:
				{
				int LA76_20 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case SASS_VAR:
				{
				int LA76_21 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 21, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case PAGE_SYM:
				{
				int LA76_22 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case COUNTER_STYLE_SYM:
				{
				int LA76_23 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case FONT_FACE_SYM:
				{
				int LA76_24 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case MOZ_DOCUMENT_SYM:
				{
				int LA76_25 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case WEBKIT_KEYFRAMES_SYM:
				{
				int LA76_26 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (true) ) {
					alt76=7;
				}

				}
				break;
			case IMPORT_SYM:
				{
				int LA76_27 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt76=8;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 27, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_DEBUG:
			case SASS_WARN:
				{
				int LA76_28 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt76=9;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 28, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_IF:
				{
				int LA76_29 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt76=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 29, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_FOR:
				{
				int LA76_30 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt76=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 30, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_EACH:
				{
				int LA76_31 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt76=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 31, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_WHILE:
				{
				int LA76_32 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt76=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 32, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_FUNCTION:
				{
				int LA76_33 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt76=11;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 33, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case NAMESPACE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_CONTENT:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_RETURN:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
				{
				int LA76_34 = input.LA(2);
				if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt76=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) {
					alt76=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 76, 34, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 76, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(76);}

			switch (alt76) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )=> cp_mixin_declaration
					{
					dbg.location(488,107);
					pushFollow(FOLLOW_cp_mixin_declaration_in_bodyItem1450);
					cp_mixin_declaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:11: ( cp_mixin_call ( ws )? SEMI )=>{...}? cp_mixin_call
					{
					dbg.location(490,38);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "bodyItem", "isLessSource()");
					}dbg.location(490,56);
					pushFollow(FOLLOW_cp_mixin_call_in_bodyItem1483);
					cp_mixin_call();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:11: ( cp_mixin_call )=>{...}? cp_mixin_call
					{
					dbg.location(491,29);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "bodyItem", "isScssSource()");
					}dbg.location(491,47);
					pushFollow(FOLLOW_cp_mixin_call_in_bodyItem1502);
					cp_mixin_call();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:492:8: rule
					{
					dbg.location(492,8);
					pushFollow(FOLLOW_rule_in_bodyItem1511);
					rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:11: ( cp_variable ( ws )? COLON )=> cp_variable_declaration
					{
					dbg.location(493,37);
					pushFollow(FOLLOW_cp_variable_declaration_in_bodyItem1533);
					cp_variable_declaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:494:11: ( sass_map )=> sass_map
					{
					dbg.location(494,24);
					pushFollow(FOLLOW_sass_map_in_bodyItem1550);
					sass_map();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:495:11: at_rule
					{
					dbg.location(495,11);
					pushFollow(FOLLOW_at_rule_in_bodyItem1562);
					at_rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 8 :
					dbg.enterAlt(8);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:497:11: {...}? importItem
					{
					dbg.location(497,11);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "bodyItem", "isCssPreprocessorSource()");
					}dbg.location(497,40);
					pushFollow(FOLLOW_importItem_in_bodyItem1585);
					importItem();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 9 :
					dbg.enterAlt(9);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:498:11: {...}? sass_debug
					{
					dbg.location(498,11);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "bodyItem", "isScssSource()");
					}dbg.location(498,29);
					pushFollow(FOLLOW_sass_debug_in_bodyItem1599);
					sass_debug();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 10 :
					dbg.enterAlt(10);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:499:11: {...}? sass_control
					{
					dbg.location(499,11);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "bodyItem", "isScssSource()");
					}dbg.location(499,29);
					pushFollow(FOLLOW_sass_control_in_bodyItem1613);
					sass_control();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 11 :
					dbg.enterAlt(11);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:500:11: {...}? sass_function_declaration
					{
					dbg.location(500,11);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "bodyItem", "isScssSource()");
					}dbg.location(500,29);
					pushFollow(FOLLOW_sass_function_declaration_in_bodyItem1627);
					sass_function_declaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(NL));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(501, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "bodyItem");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "bodyItem"



	// $ANTLR start "at_rule"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:506:1: at_rule : ( media | page | counterStyle | fontFace | vendorAtRule );
	public final void at_rule() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "at_rule");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(506, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:507:5: ( media | page | counterStyle | fontFace | vendorAtRule )
			int alt77=5;
			try { dbg.enterDecision(77, decisionCanBacktrack[77]);

			switch ( input.LA(1) ) {
			case MEDIA_SYM:
				{
				alt77=1;
				}
				break;
			case PAGE_SYM:
				{
				alt77=2;
				}
				break;
			case COUNTER_STYLE_SYM:
				{
				alt77=3;
				}
				break;
			case FONT_FACE_SYM:
				{
				alt77=4;
				}
				break;
			case AT_IDENT:
			case MOZ_DOCUMENT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt77=5;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 77, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(77);}

			switch (alt77) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:508:5: media
					{
					dbg.location(508,5);
					pushFollow(FOLLOW_media_in_at_rule1653);
					media();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:509:7: page
					{
					dbg.location(509,7);
					pushFollow(FOLLOW_page_in_at_rule1661);
					page();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:510:7: counterStyle
					{
					dbg.location(510,7);
					pushFollow(FOLLOW_counterStyle_in_at_rule1669);
					counterStyle();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:511:7: fontFace
					{
					dbg.location(511,7);
					pushFollow(FOLLOW_fontFace_in_at_rule1677);
					fontFace();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:512:7: vendorAtRule
					{
					dbg.location(512,7);
					pushFollow(FOLLOW_vendorAtRule_in_at_rule1685);
					vendorAtRule();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(513, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "at_rule");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "at_rule"



	// $ANTLR start "vendorAtRule"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:515:1: vendorAtRule : ( moz_document | webkitKeyframes | generic_at_rule );
	public final void vendorAtRule() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "vendorAtRule");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(515, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:3: ( moz_document | webkitKeyframes | generic_at_rule )
			int alt78=3;
			try { dbg.enterDecision(78, decisionCanBacktrack[78]);

			switch ( input.LA(1) ) {
			case MOZ_DOCUMENT_SYM:
				{
				alt78=1;
				}
				break;
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt78=2;
				}
				break;
			case AT_IDENT:
				{
				alt78=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 78, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(78);}

			switch (alt78) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:3: moz_document
					{
					dbg.location(516,3);
					pushFollow(FOLLOW_moz_document_in_vendorAtRule1698);
					moz_document();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:18: webkitKeyframes
					{
					dbg.location(516,18);
					pushFollow(FOLLOW_webkitKeyframes_in_vendorAtRule1702);
					webkitKeyframes();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:516:36: generic_at_rule
					{
					dbg.location(516,36);
					pushFollow(FOLLOW_generic_at_rule_in_vendorAtRule1706);
					generic_at_rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(516, 50);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "vendorAtRule");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "vendorAtRule"



	// $ANTLR start "atRuleId"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:518:1: atRuleId : ( IDENT | STRING |{...}? ( cp_variable | sass_interpolation_expression_var ) );
	public final void atRuleId() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "atRuleId");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(518, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:519:2: ( IDENT | STRING |{...}? ( cp_variable | sass_interpolation_expression_var ) )
			int alt80=3;
			try { dbg.enterDecision(80, decisionCanBacktrack[80]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				alt80=1;
				}
				break;
			case STRING:
				{
				alt80=2;
				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case HASH_SYMBOL:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_VAR:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt80=3;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 80, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(80);}

			switch (alt80) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:520:2: IDENT
					{
					dbg.location(520,2);
					match(input,IDENT,FOLLOW_IDENT_in_atRuleId1716); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:520:10: STRING
					{
					dbg.location(520,10);
					match(input,STRING,FOLLOW_STRING_in_atRuleId1720); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:520:19: {...}? ( cp_variable | sass_interpolation_expression_var )
					{
					dbg.location(520,19);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "atRuleId", "isCssPreprocessorSource()");
					}dbg.location(520,48);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:520:48: ( cp_variable | sass_interpolation_expression_var )
					int alt79=2;
					try { dbg.enterSubRule(79);
					try { dbg.enterDecision(79, decisionCanBacktrack[79]);

					int LA79_0 = input.LA(1);
					if ( (LA79_0==AT_IDENT||(LA79_0 >= BOTTOMCENTER_SYM && LA79_0 <= BOTTOMRIGHT_SYM)||LA79_0==CHARSET_SYM||LA79_0==COUNTER_STYLE_SYM||LA79_0==FONT_FACE_SYM||LA79_0==IMPORT_SYM||(LA79_0 >= LEFTBOTTOM_SYM && LA79_0 <= LEFTTOP_SYM)||LA79_0==MEDIA_SYM||LA79_0==MOZ_DOCUMENT_SYM||LA79_0==NAMESPACE_SYM||LA79_0==PAGE_SYM||(LA79_0 >= RIGHTBOTTOM_SYM && LA79_0 <= RIGHTTOP_SYM)||(LA79_0 >= SASS_AT_ROOT && LA79_0 <= SASS_DEBUG)||(LA79_0 >= SASS_EACH && LA79_0 <= SASS_ELSE)||LA79_0==SASS_EXTEND||(LA79_0 >= SASS_FOR && LA79_0 <= SASS_FUNCTION)||(LA79_0 >= SASS_IF && LA79_0 <= SASS_MIXIN)||(LA79_0 >= SASS_RETURN && LA79_0 <= SASS_WHILE)||(LA79_0 >= TOPCENTER_SYM && LA79_0 <= TOPRIGHT_SYM)||LA79_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt79=1;
					}
					else if ( (LA79_0==HASH_SYMBOL) ) {
						alt79=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 79, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(79);}

					switch (alt79) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:520:50: cp_variable
							{
							dbg.location(520,50);
							pushFollow(FOLLOW_cp_variable_in_atRuleId1728);
							cp_variable();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:520:64: sass_interpolation_expression_var
							{
							dbg.location(520,64);
							pushFollow(FOLLOW_sass_interpolation_expression_var_in_atRuleId1732);
							sass_interpolation_expression_var();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(79);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(521, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "atRuleId");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "atRuleId"



	// $ANTLR start "generic_at_rule"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:523:1: generic_at_rule : AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE ;
	public final void generic_at_rule() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "generic_at_rule");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(523, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:5: ( AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:7: AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE
			{
			dbg.location(524,7);
			match(input,AT_IDENT,FOLLOW_AT_IDENT_in_generic_at_rule1748); if (state.failed) return;dbg.location(524,16);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:16: ( ws )?
			int alt81=2;
			try { dbg.enterSubRule(81);
			try { dbg.enterDecision(81, decisionCanBacktrack[81]);

			int LA81_0 = input.LA(1);
			if ( (LA81_0==COMMENT||LA81_0==NL||LA81_0==WS) ) {
				alt81=1;
			}
			} finally {dbg.exitDecision(81);}

			switch (alt81) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:16: ws
					{
					dbg.location(524,16);
					pushFollow(FOLLOW_ws_in_generic_at_rule1750);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(81);}
			dbg.location(524,20);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:20: ( atRuleId ( ws )? )?
			int alt83=2;
			try { dbg.enterSubRule(83);
			try { dbg.enterDecision(83, decisionCanBacktrack[83]);

			int LA83_0 = input.LA(1);
			if ( (LA83_0==AT_IDENT||(LA83_0 >= BOTTOMCENTER_SYM && LA83_0 <= BOTTOMRIGHT_SYM)||LA83_0==CHARSET_SYM||LA83_0==COUNTER_STYLE_SYM||LA83_0==FONT_FACE_SYM||LA83_0==HASH_SYMBOL||LA83_0==IDENT||LA83_0==IMPORT_SYM||(LA83_0 >= LEFTBOTTOM_SYM && LA83_0 <= LEFTTOP_SYM)||LA83_0==MEDIA_SYM||LA83_0==MOZ_DOCUMENT_SYM||LA83_0==NAMESPACE_SYM||LA83_0==PAGE_SYM||(LA83_0 >= RIGHTBOTTOM_SYM && LA83_0 <= RIGHTTOP_SYM)||(LA83_0 >= SASS_AT_ROOT && LA83_0 <= SASS_DEBUG)||(LA83_0 >= SASS_EACH && LA83_0 <= SASS_ELSE)||LA83_0==SASS_EXTEND||(LA83_0 >= SASS_FOR && LA83_0 <= SASS_FUNCTION)||(LA83_0 >= SASS_IF && LA83_0 <= SASS_MIXIN)||(LA83_0 >= SASS_RETURN && LA83_0 <= SASS_WHILE)||LA83_0==STRING||(LA83_0 >= TOPCENTER_SYM && LA83_0 <= TOPRIGHT_SYM)||LA83_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt83=1;
			}
			} finally {dbg.exitDecision(83);}

			switch (alt83) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:22: atRuleId ( ws )?
					{
					dbg.location(524,22);
					pushFollow(FOLLOW_atRuleId_in_generic_at_rule1755);
					atRuleId();
					state._fsp--;
					if (state.failed) return;dbg.location(524,31);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:31: ( ws )?
					int alt82=2;
					try { dbg.enterSubRule(82);
					try { dbg.enterDecision(82, decisionCanBacktrack[82]);

					int LA82_0 = input.LA(1);
					if ( (LA82_0==COMMENT||LA82_0==NL||LA82_0==WS) ) {
						alt82=1;
					}
					} finally {dbg.exitDecision(82);}

					switch (alt82) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:524:31: ws
							{
							dbg.location(524,31);
							pushFollow(FOLLOW_ws_in_generic_at_rule1757);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(82);}

					}
					break;

			}
			} finally {dbg.exitSubRule(83);}
			dbg.location(525,9);
			match(input,LBRACE,FOLLOW_LBRACE_in_generic_at_rule1771); if (state.failed) return;dbg.location(526,10);
			pushFollow(FOLLOW_syncTo_RBRACE_in_generic_at_rule1782);
			syncTo_RBRACE();
			state._fsp--;
			if (state.failed) return;dbg.location(527,9);
			match(input,RBRACE,FOLLOW_RBRACE_in_generic_at_rule1792); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(528, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "generic_at_rule");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "generic_at_rule"



	// $ANTLR start "moz_document"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:529:1: moz_document : MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ;
	public final void moz_document() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "moz_document");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(529, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:530:2: ( MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:2: MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE
			{
			dbg.location(531,2);
			match(input,MOZ_DOCUMENT_SYM,FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document1803); if (state.failed) return;dbg.location(531,19);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:19: ( ws )?
			int alt84=2;
			try { dbg.enterSubRule(84);
			try { dbg.enterDecision(84, decisionCanBacktrack[84]);

			int LA84_0 = input.LA(1);
			if ( (LA84_0==COMMENT||LA84_0==NL||LA84_0==WS) ) {
				alt84=1;
			}
			} finally {dbg.exitDecision(84);}

			switch (alt84) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:19: ws
					{
					dbg.location(531,19);
					pushFollow(FOLLOW_ws_in_moz_document1805);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(84);}
			dbg.location(531,23);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:23: ( moz_document_function ( ws )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:25: moz_document_function ( ws )?
			{
			dbg.location(531,25);
			pushFollow(FOLLOW_moz_document_function_in_moz_document1810);
			moz_document_function();
			state._fsp--;
			if (state.failed) return;dbg.location(531,47);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:47: ( ws )?
			int alt85=2;
			try { dbg.enterSubRule(85);
			try { dbg.enterDecision(85, decisionCanBacktrack[85]);

			int LA85_0 = input.LA(1);
			if ( (LA85_0==COMMENT||LA85_0==NL||LA85_0==WS) ) {
				alt85=1;
			}
			} finally {dbg.exitDecision(85);}

			switch (alt85) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:47: ws
					{
					dbg.location(531,47);
					pushFollow(FOLLOW_ws_in_moz_document1812);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(85);}

			}
			dbg.location(531,52);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:52: ( COMMA ( ws )? moz_document_function ( ws )? )*
			try { dbg.enterSubRule(88);

			loop88:
			while (true) {
				int alt88=2;
				try { dbg.enterDecision(88, decisionCanBacktrack[88]);

				int LA88_0 = input.LA(1);
				if ( (LA88_0==COMMA) ) {
					alt88=1;
				}

				} finally {dbg.exitDecision(88);}

				switch (alt88) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:54: COMMA ( ws )? moz_document_function ( ws )?
					{
					dbg.location(531,54);
					match(input,COMMA,FOLLOW_COMMA_in_moz_document1818); if (state.failed) return;dbg.location(531,60);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:60: ( ws )?
					int alt86=2;
					try { dbg.enterSubRule(86);
					try { dbg.enterDecision(86, decisionCanBacktrack[86]);

					int LA86_0 = input.LA(1);
					if ( (LA86_0==COMMENT||LA86_0==NL||LA86_0==WS) ) {
						alt86=1;
					}
					} finally {dbg.exitDecision(86);}

					switch (alt86) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:60: ws
							{
							dbg.location(531,60);
							pushFollow(FOLLOW_ws_in_moz_document1820);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(86);}
					dbg.location(531,64);
					pushFollow(FOLLOW_moz_document_function_in_moz_document1823);
					moz_document_function();
					state._fsp--;
					if (state.failed) return;dbg.location(531,86);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:86: ( ws )?
					int alt87=2;
					try { dbg.enterSubRule(87);
					try { dbg.enterDecision(87, decisionCanBacktrack[87]);

					int LA87_0 = input.LA(1);
					if ( (LA87_0==COMMENT||LA87_0==NL||LA87_0==WS) ) {
						alt87=1;
					}
					} finally {dbg.exitDecision(87);}

					switch (alt87) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:531:86: ws
							{
							dbg.location(531,86);
							pushFollow(FOLLOW_ws_in_moz_document1825);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(87);}

					}
					break;

				default :
					break loop88;
				}
			}
			} finally {dbg.exitSubRule(88);}
			dbg.location(532,2);
			match(input,LBRACE,FOLLOW_LBRACE_in_moz_document1832); if (state.failed) return;dbg.location(532,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:532:9: ( ws )?
			int alt89=2;
			try { dbg.enterSubRule(89);
			try { dbg.enterDecision(89, decisionCanBacktrack[89]);

			int LA89_0 = input.LA(1);
			if ( (LA89_0==COMMENT||LA89_0==NL||LA89_0==WS) ) {
				alt89=1;
			}
			} finally {dbg.exitDecision(89);}

			switch (alt89) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:532:9: ws
					{
					dbg.location(532,9);
					pushFollow(FOLLOW_ws_in_moz_document1834);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(89);}
			dbg.location(533,3);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:3: ( body )?
			int alt90=2;
			try { dbg.enterSubRule(90);
			try { dbg.enterDecision(90, decisionCanBacktrack[90]);

			int LA90_0 = input.LA(1);
			if ( ((LA90_0 >= AT_IDENT && LA90_0 <= AT_SIGN)||(LA90_0 >= BOTTOMCENTER_SYM && LA90_0 <= BOTTOMRIGHT_SYM)||(LA90_0 >= CHARSET_SYM && LA90_0 <= COLON)||LA90_0==COUNTER_STYLE_SYM||(LA90_0 >= DCOLON && LA90_0 <= DOT)||LA90_0==FONT_FACE_SYM||(LA90_0 >= GEN && LA90_0 <= GREATER)||(LA90_0 >= HASH && LA90_0 <= HASH_SYMBOL)||LA90_0==IDENT||LA90_0==IMPORT_SYM||(LA90_0 >= LBRACKET && LA90_0 <= LEFTTOP_SYM)||LA90_0==LESS_AND||(LA90_0 >= MEDIA_SYM && LA90_0 <= MOZ_DOCUMENT_SYM)||LA90_0==NAMESPACE_SYM||LA90_0==PAGE_SYM||(LA90_0 >= PIPE && LA90_0 <= PLUS)||(LA90_0 >= RIGHTBOTTOM_SYM && LA90_0 <= RIGHTTOP_SYM)||(LA90_0 >= SASS_AT_ROOT && LA90_0 <= SASS_DEBUG)||(LA90_0 >= SASS_EACH && LA90_0 <= SASS_ELSE)||(LA90_0 >= SASS_EXTEND && LA90_0 <= SASS_FUNCTION)||(LA90_0 >= SASS_IF && LA90_0 <= SASS_MIXIN)||(LA90_0 >= SASS_RETURN && LA90_0 <= SEMI)||LA90_0==STAR||LA90_0==TILDE||(LA90_0 >= TOPCENTER_SYM && LA90_0 <= TOPRIGHT_SYM)||LA90_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt90=1;
			}
			} finally {dbg.exitDecision(90);}

			switch (alt90) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:533:3: body
					{
					dbg.location(533,3);
					pushFollow(FOLLOW_body_in_moz_document1839);
					body();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(90);}
			dbg.location(534,2);
			match(input,RBRACE,FOLLOW_RBRACE_in_moz_document1844); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(535, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "moz_document");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "moz_document"



	// $ANTLR start "moz_document_function"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:537:1: moz_document_function : ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP );
	public final void moz_document_function() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "moz_document_function");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(537, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:538:2: ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(538,2);
			if ( (input.LA(1) >= MOZ_DOMAIN && input.LA(1) <= MOZ_URL_PREFIX)||input.LA(1)==URI ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(540, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "moz_document_function");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "moz_document_function"



	// $ANTLR start "webkitKeyframes"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:543:1: webkitKeyframes : WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ;
	public final void webkitKeyframes() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "webkitKeyframes");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(543, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:544:2: ( WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:545:2: WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE
			{
			dbg.location(545,2);
			match(input,WEBKIT_KEYFRAMES_SYM,FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes1881); if (state.failed) return;dbg.location(545,23);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:545:23: ( ws )?
			int alt91=2;
			try { dbg.enterSubRule(91);
			try { dbg.enterDecision(91, decisionCanBacktrack[91]);

			int LA91_0 = input.LA(1);
			if ( (LA91_0==COMMENT||LA91_0==NL||LA91_0==WS) ) {
				alt91=1;
			}
			} finally {dbg.exitDecision(91);}

			switch (alt91) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:545:23: ws
					{
					dbg.location(545,23);
					pushFollow(FOLLOW_ws_in_webkitKeyframes1883);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(91);}
			dbg.location(545,27);
			pushFollow(FOLLOW_atRuleId_in_webkitKeyframes1886);
			atRuleId();
			state._fsp--;
			if (state.failed) return;dbg.location(545,36);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:545:36: ( ws )?
			int alt92=2;
			try { dbg.enterSubRule(92);
			try { dbg.enterDecision(92, decisionCanBacktrack[92]);

			int LA92_0 = input.LA(1);
			if ( (LA92_0==COMMENT||LA92_0==NL||LA92_0==WS) ) {
				alt92=1;
			}
			} finally {dbg.exitDecision(92);}

			switch (alt92) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:545:36: ws
					{
					dbg.location(545,36);
					pushFollow(FOLLOW_ws_in_webkitKeyframes1888);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(92);}
			dbg.location(546,2);
			match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframes1892); if (state.failed) return;dbg.location(546,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:9: ( ws )?
			int alt93=2;
			try { dbg.enterSubRule(93);
			try { dbg.enterDecision(93, decisionCanBacktrack[93]);

			int LA93_0 = input.LA(1);
			if ( (LA93_0==COMMENT||LA93_0==NL||LA93_0==WS) ) {
				alt93=1;
			}
			} finally {dbg.exitDecision(93);}

			switch (alt93) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:546:9: ws
					{
					dbg.location(546,9);
					pushFollow(FOLLOW_ws_in_webkitKeyframes1894);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(93);}
			dbg.location(547,3);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:547:3: ( webkitKeyframesBlock ( ws )? )*
			try { dbg.enterSubRule(95);

			loop95:
			while (true) {
				int alt95=2;
				try { dbg.enterDecision(95, decisionCanBacktrack[95]);

				int LA95_0 = input.LA(1);
				if ( (LA95_0==IDENT||LA95_0==PERCENTAGE||LA95_0==SASS_CONTENT) ) {
					alt95=1;
				}

				} finally {dbg.exitDecision(95);}

				switch (alt95) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:547:5: webkitKeyframesBlock ( ws )?
					{
					dbg.location(547,5);
					pushFollow(FOLLOW_webkitKeyframesBlock_in_webkitKeyframes1901);
					webkitKeyframesBlock();
					state._fsp--;
					if (state.failed) return;dbg.location(547,26);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:547:26: ( ws )?
					int alt94=2;
					try { dbg.enterSubRule(94);
					try { dbg.enterDecision(94, decisionCanBacktrack[94]);

					int LA94_0 = input.LA(1);
					if ( (LA94_0==COMMENT||LA94_0==NL||LA94_0==WS) ) {
						alt94=1;
					}
					} finally {dbg.exitDecision(94);}

					switch (alt94) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:547:26: ws
							{
							dbg.location(547,26);
							pushFollow(FOLLOW_ws_in_webkitKeyframes1903);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(94);}

					}
					break;

				default :
					break loop95;
				}
			}
			} finally {dbg.exitSubRule(95);}
			dbg.location(548,2);
			match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframes1910); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(549, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "webkitKeyframes");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "webkitKeyframes"



	// $ANTLR start "webkitKeyframesBlock"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:551:1: webkitKeyframesBlock : ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? );
	public final void webkitKeyframesBlock() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "webkitKeyframesBlock");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(551, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:552:2: ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? )
			int alt100=2;
			try { dbg.enterDecision(100, decisionCanBacktrack[100]);

			int LA100_0 = input.LA(1);
			if ( (LA100_0==IDENT||LA100_0==PERCENTAGE) ) {
				alt100=1;
			}
			else if ( (LA100_0==SASS_CONTENT) ) {
				alt100=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 100, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(100);}

			switch (alt100) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:2: webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
					{
					dbg.location(553,2);
					pushFollow(FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock1922);
					webkitKeyframeSelectors();
					state._fsp--;
					if (state.failed) return;dbg.location(553,26);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:26: ( ws )?
					int alt96=2;
					try { dbg.enterSubRule(96);
					try { dbg.enterDecision(96, decisionCanBacktrack[96]);

					int LA96_0 = input.LA(1);
					if ( (LA96_0==COMMENT||LA96_0==NL||LA96_0==WS) ) {
						alt96=1;
					}
					} finally {dbg.exitDecision(96);}

					switch (alt96) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:26: ws
							{
							dbg.location(553,26);
							pushFollow(FOLLOW_ws_in_webkitKeyframesBlock1924);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(96);}
					dbg.location(554,2);
					match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframesBlock1928); if (state.failed) return;dbg.location(554,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:554:10: ( ws )?
					int alt97=2;
					try { dbg.enterSubRule(97);
					try { dbg.enterDecision(97, decisionCanBacktrack[97]);

					int LA97_0 = input.LA(1);
					if ( (LA97_0==COMMENT||LA97_0==NL||LA97_0==WS) ) {
						alt97=1;
					}
					} finally {dbg.exitDecision(97);}

					switch (alt97) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:554:10: ws
							{
							dbg.location(554,10);
							pushFollow(FOLLOW_ws_in_webkitKeyframesBlock1931);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(97);}
					dbg.location(554,14);
					pushFollow(FOLLOW_syncToFollow_in_webkitKeyframesBlock1934);
					syncToFollow();
					state._fsp--;
					if (state.failed) return;dbg.location(555,3);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:555:3: ( declarations )?
					int alt98=2;
					try { dbg.enterSubRule(98);
					try { dbg.enterDecision(98, decisionCanBacktrack[98]);

					int LA98_0 = input.LA(1);
					if ( ((LA98_0 >= AT_IDENT && LA98_0 <= AT_SIGN)||(LA98_0 >= BOTTOMCENTER_SYM && LA98_0 <= BOTTOMRIGHT_SYM)||(LA98_0 >= CHARSET_SYM && LA98_0 <= COLON)||LA98_0==COUNTER_STYLE_SYM||(LA98_0 >= DCOLON && LA98_0 <= DOT)||LA98_0==FONT_FACE_SYM||(LA98_0 >= GEN && LA98_0 <= GREATER)||(LA98_0 >= HASH && LA98_0 <= HASH_SYMBOL)||LA98_0==IDENT||LA98_0==IMPORT_SYM||(LA98_0 >= LBRACKET && LA98_0 <= LEFTTOP_SYM)||LA98_0==LESS_AND||(LA98_0 >= MEDIA_SYM && LA98_0 <= MOZ_DOCUMENT_SYM)||LA98_0==NAMESPACE_SYM||LA98_0==PAGE_SYM||(LA98_0 >= PIPE && LA98_0 <= PLUS)||(LA98_0 >= RIGHTBOTTOM_SYM && LA98_0 <= RIGHTTOP_SYM)||(LA98_0 >= SASS_AT_ROOT && LA98_0 <= SASS_DEBUG)||(LA98_0 >= SASS_EACH && LA98_0 <= SASS_ELSE)||(LA98_0 >= SASS_ERROR && LA98_0 <= SASS_FUNCTION)||(LA98_0 >= SASS_IF && LA98_0 <= SASS_MIXIN)||(LA98_0 >= SASS_RETURN && LA98_0 <= SEMI)||LA98_0==STAR||LA98_0==TILDE||(LA98_0 >= TOPCENTER_SYM && LA98_0 <= TOPRIGHT_SYM)||LA98_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt98=1;
					}
					} finally {dbg.exitDecision(98);}

					switch (alt98) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:555:3: declarations
							{
							dbg.location(555,3);
							pushFollow(FOLLOW_declarations_in_webkitKeyframesBlock1938);
							declarations();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(98);}
					dbg.location(556,2);
					match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframesBlock1942); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:557:11: {...}?{...}? sass_content ( SEMI )?
					{
					dbg.location(557,11);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "webkitKeyframesBlock", "isScssSource()");
					}dbg.location(557,30);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "webkitKeyframesBlock", "isScssSource()");
					}dbg.location(557,48);
					pushFollow(FOLLOW_sass_content_in_webkitKeyframesBlock1959);
					sass_content();
					state._fsp--;
					if (state.failed) return;dbg.location(557,61);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:557:61: ( SEMI )?
					int alt99=2;
					try { dbg.enterSubRule(99);
					try { dbg.enterDecision(99, decisionCanBacktrack[99]);

					int LA99_0 = input.LA(1);
					if ( (LA99_0==SEMI) ) {
						alt99=1;
					}
					} finally {dbg.exitDecision(99);}

					switch (alt99) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:557:61: SEMI
							{
							dbg.location(557,61);
							match(input,SEMI,FOLLOW_SEMI_in_webkitKeyframesBlock1961); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(99);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(558, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "webkitKeyframesBlock");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "webkitKeyframesBlock"



	// $ANTLR start "webkitKeyframeSelectors"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:560:1: webkitKeyframeSelectors : ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ;
	public final void webkitKeyframeSelectors() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "webkitKeyframeSelectors");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(560, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:561:2: ( ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*
			{
			dbg.location(562,2);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE )
			int alt101=3;
			try { dbg.enterSubRule(101);
			try { dbg.enterDecision(101, decisionCanBacktrack[101]);

			int LA101_0 = input.LA(1);
			if ( (LA101_0==IDENT) ) {
				int LA101_1 = input.LA(2);
				if ( (evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
					alt101=1;
				}
				else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) {
					alt101=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 101, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA101_0==PERCENTAGE) ) {
				alt101=3;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 101, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(101);}

			switch (alt101) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:4: {...}? IDENT
					{
					dbg.location(562,4);
					if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"from\")");
					}dbg.location(562,31);
					match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors1978); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:39: {...}? IDENT
					{
					dbg.location(562,39);
					if ( !(evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"to\")");
					}dbg.location(562,64);
					match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors1984); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:72: PERCENTAGE
					{
					dbg.location(562,72);
					match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors1988); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(101);}
			dbg.location(562,85);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*
			try { dbg.enterSubRule(105);

			loop105:
			while (true) {
				int alt105=2;
				try { dbg.enterDecision(105, decisionCanBacktrack[105]);

				try {
					isCyclicDecision = true;
					alt105 = dfa105.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(105);}

				switch (alt105) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:87: ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE )
					{
					dbg.location(562,87);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:87: ( ws )?
					int alt102=2;
					try { dbg.enterSubRule(102);
					try { dbg.enterDecision(102, decisionCanBacktrack[102]);

					int LA102_0 = input.LA(1);
					if ( (LA102_0==COMMENT||LA102_0==NL||LA102_0==WS) ) {
						alt102=1;
					}
					} finally {dbg.exitDecision(102);}

					switch (alt102) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:87: ws
							{
							dbg.location(562,87);
							pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors1994);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(102);}
					dbg.location(562,91);
					match(input,COMMA,FOLLOW_COMMA_in_webkitKeyframeSelectors1997); if (state.failed) return;dbg.location(562,97);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:97: ( ws )?
					int alt103=2;
					try { dbg.enterSubRule(103);
					try { dbg.enterDecision(103, decisionCanBacktrack[103]);

					int LA103_0 = input.LA(1);
					if ( (LA103_0==COMMENT||LA103_0==NL||LA103_0==WS) ) {
						alt103=1;
					}
					} finally {dbg.exitDecision(103);}

					switch (alt103) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:97: ws
							{
							dbg.location(562,97);
							pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors1999);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(103);}
					dbg.location(562,101);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:101: ({...}? IDENT |{...}? IDENT | PERCENTAGE )
					int alt104=3;
					try { dbg.enterSubRule(104);
					try { dbg.enterDecision(104, decisionCanBacktrack[104]);

					int LA104_0 = input.LA(1);
					if ( (LA104_0==IDENT) ) {
						int LA104_1 = input.LA(2);
						if ( (evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
							alt104=1;
						}
						else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) {
							alt104=2;
						}

						else {
							if (state.backtracking>0) {state.failed=true; return;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 104, 1, input);
								dbg.recognitionException(nvae);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}

					}
					else if ( (LA104_0==PERCENTAGE) ) {
						alt104=3;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 104, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(104);}

					switch (alt104) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:103: {...}? IDENT
							{
							dbg.location(562,103);
							if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"from\")");
							}dbg.location(562,130);
							match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors2006); if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:138: {...}? IDENT
							{
							dbg.location(562,138);
							if ( !(evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"to\")");
							}dbg.location(562,163);
							match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors2012); if (state.failed) return;
							}
							break;
						case 3 :
							dbg.enterAlt(3);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:562:171: PERCENTAGE
							{
							dbg.location(562,171);
							match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2016); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(104);}

					}
					break;

				default :
					break loop105;
				}
			}
			} finally {dbg.exitSubRule(105);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(563, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "webkitKeyframeSelectors");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "webkitKeyframeSelectors"



	// $ANTLR start "page"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:565:1: page : PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE ;
	public final void page() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "page");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(565, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:5: ( PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:7: PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )* RBRACE
			{
			dbg.location(566,7);
			match(input,PAGE_SYM,FOLLOW_PAGE_SYM_in_page2035); if (state.failed) return;dbg.location(566,16);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:16: ( ws )?
			int alt106=2;
			try { dbg.enterSubRule(106);
			try { dbg.enterDecision(106, decisionCanBacktrack[106]);

			int LA106_0 = input.LA(1);
			if ( (LA106_0==COMMENT||LA106_0==NL||LA106_0==WS) ) {
				alt106=1;
			}
			} finally {dbg.exitDecision(106);}

			switch (alt106) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:16: ws
					{
					dbg.location(566,16);
					pushFollow(FOLLOW_ws_in_page2037);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(106);}
			dbg.location(566,20);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:20: ( IDENT ( ws )? )?
			int alt108=2;
			try { dbg.enterSubRule(108);
			try { dbg.enterDecision(108, decisionCanBacktrack[108]);

			int LA108_0 = input.LA(1);
			if ( (LA108_0==IDENT) ) {
				alt108=1;
			}
			} finally {dbg.exitDecision(108);}

			switch (alt108) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:22: IDENT ( ws )?
					{
					dbg.location(566,22);
					match(input,IDENT,FOLLOW_IDENT_in_page2042); if (state.failed) return;dbg.location(566,28);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:28: ( ws )?
					int alt107=2;
					try { dbg.enterSubRule(107);
					try { dbg.enterDecision(107, decisionCanBacktrack[107]);

					int LA107_0 = input.LA(1);
					if ( (LA107_0==COMMENT||LA107_0==NL||LA107_0==WS) ) {
						alt107=1;
					}
					} finally {dbg.exitDecision(107);}

					switch (alt107) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:28: ws
							{
							dbg.location(566,28);
							pushFollow(FOLLOW_ws_in_page2044);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(107);}

					}
					break;

			}
			} finally {dbg.exitSubRule(108);}
			dbg.location(566,35);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:35: ( pseudoPage ( ws )? )?
			int alt110=2;
			try { dbg.enterSubRule(110);
			try { dbg.enterDecision(110, decisionCanBacktrack[110]);

			int LA110_0 = input.LA(1);
			if ( (LA110_0==COLON) ) {
				alt110=1;
			}
			} finally {dbg.exitDecision(110);}

			switch (alt110) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:36: pseudoPage ( ws )?
					{
					dbg.location(566,36);
					pushFollow(FOLLOW_pseudoPage_in_page2051);
					pseudoPage();
					state._fsp--;
					if (state.failed) return;dbg.location(566,47);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:47: ( ws )?
					int alt109=2;
					try { dbg.enterSubRule(109);
					try { dbg.enterDecision(109, decisionCanBacktrack[109]);

					int LA109_0 = input.LA(1);
					if ( (LA109_0==COMMENT||LA109_0==NL||LA109_0==WS) ) {
						alt109=1;
					}
					} finally {dbg.exitDecision(109);}

					switch (alt109) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:566:47: ws
							{
							dbg.location(566,47);
							pushFollow(FOLLOW_ws_in_page2053);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(109);}

					}
					break;

			}
			} finally {dbg.exitSubRule(110);}
			dbg.location(567,9);
			match(input,LBRACE,FOLLOW_LBRACE_in_page2066); if (state.failed) return;dbg.location(567,16);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:567:16: ( ws )?
			int alt111=2;
			try { dbg.enterSubRule(111);
			try { dbg.enterDecision(111, decisionCanBacktrack[111]);

			int LA111_0 = input.LA(1);
			if ( (LA111_0==COMMENT||LA111_0==NL||LA111_0==WS) ) {
				alt111=1;
			}
			} finally {dbg.exitDecision(111);}

			switch (alt111) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:567:16: ws
					{
					dbg.location(567,16);
					pushFollow(FOLLOW_ws_in_page2068);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(111);}
			dbg.location(570,13);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:13: ( ( propertyDeclaration | margin ) ( ws )? )?
			int alt114=2;
			try { dbg.enterSubRule(114);
			try { dbg.enterDecision(114, decisionCanBacktrack[114]);

			int LA114_0 = input.LA(1);
			if ( ((LA114_0 >= AT_IDENT && LA114_0 <= AT_SIGN)||(LA114_0 >= BOTTOMCENTER_SYM && LA114_0 <= BOTTOMRIGHT_SYM)||LA114_0==CHARSET_SYM||LA114_0==COUNTER_STYLE_SYM||LA114_0==FONT_FACE_SYM||LA114_0==GEN||LA114_0==HASH_SYMBOL||LA114_0==IDENT||LA114_0==IMPORT_SYM||(LA114_0 >= LEFTBOTTOM_SYM && LA114_0 <= LEFTTOP_SYM)||(LA114_0 >= MEDIA_SYM && LA114_0 <= MOZ_DOCUMENT_SYM)||LA114_0==NAMESPACE_SYM||LA114_0==PAGE_SYM||(LA114_0 >= RIGHTBOTTOM_SYM && LA114_0 <= RIGHTTOP_SYM)||(LA114_0 >= SASS_AT_ROOT && LA114_0 <= SASS_DEBUG)||(LA114_0 >= SASS_EACH && LA114_0 <= SASS_ELSE)||LA114_0==SASS_EXTEND||(LA114_0 >= SASS_FOR && LA114_0 <= SASS_FUNCTION)||(LA114_0 >= SASS_IF && LA114_0 <= SASS_MIXIN)||(LA114_0 >= SASS_RETURN && LA114_0 <= SASS_WHILE)||LA114_0==STAR||(LA114_0 >= TOPCENTER_SYM && LA114_0 <= TOPRIGHT_SYM)||LA114_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt114=1;
			}
			} finally {dbg.exitDecision(114);}

			switch (alt114) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:14: ( propertyDeclaration | margin ) ( ws )?
					{
					dbg.location(570,14);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:14: ( propertyDeclaration | margin )
					int alt112=2;
					try { dbg.enterSubRule(112);
					try { dbg.enterDecision(112, decisionCanBacktrack[112]);

					try {
						isCyclicDecision = true;
						alt112 = dfa112.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(112);}

					switch (alt112) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:15: propertyDeclaration
							{
							dbg.location(570,15);
							pushFollow(FOLLOW_propertyDeclaration_in_page2111);
							propertyDeclaration();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:35: margin
							{
							dbg.location(570,35);
							pushFollow(FOLLOW_margin_in_page2113);
							margin();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(112);}
					dbg.location(570,43);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:43: ( ws )?
					int alt113=2;
					try { dbg.enterSubRule(113);
					try { dbg.enterDecision(113, decisionCanBacktrack[113]);

					int LA113_0 = input.LA(1);
					if ( (LA113_0==COMMENT||LA113_0==NL||LA113_0==WS) ) {
						alt113=1;
					}
					} finally {dbg.exitDecision(113);}

					switch (alt113) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:43: ws
							{
							dbg.location(570,43);
							pushFollow(FOLLOW_ws_in_page2116);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(113);}

					}
					break;

			}
			} finally {dbg.exitSubRule(114);}
			dbg.location(570,49);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:49: ( SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )? )*
			try { dbg.enterSubRule(119);

			loop119:
			while (true) {
				int alt119=2;
				try { dbg.enterDecision(119, decisionCanBacktrack[119]);

				int LA119_0 = input.LA(1);
				if ( (LA119_0==SEMI) ) {
					alt119=1;
				}

				} finally {dbg.exitDecision(119);}

				switch (alt119) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:50: SEMI ( ws )? ( ( propertyDeclaration | margin ) ( ws )? )?
					{
					dbg.location(570,50);
					match(input,SEMI,FOLLOW_SEMI_in_page2122); if (state.failed) return;dbg.location(570,55);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:55: ( ws )?
					int alt115=2;
					try { dbg.enterSubRule(115);
					try { dbg.enterDecision(115, decisionCanBacktrack[115]);

					int LA115_0 = input.LA(1);
					if ( (LA115_0==COMMENT||LA115_0==NL||LA115_0==WS) ) {
						alt115=1;
					}
					} finally {dbg.exitDecision(115);}

					switch (alt115) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:55: ws
							{
							dbg.location(570,55);
							pushFollow(FOLLOW_ws_in_page2124);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(115);}
					dbg.location(570,59);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:59: ( ( propertyDeclaration | margin ) ( ws )? )?
					int alt118=2;
					try { dbg.enterSubRule(118);
					try { dbg.enterDecision(118, decisionCanBacktrack[118]);

					int LA118_0 = input.LA(1);
					if ( ((LA118_0 >= AT_IDENT && LA118_0 <= AT_SIGN)||(LA118_0 >= BOTTOMCENTER_SYM && LA118_0 <= BOTTOMRIGHT_SYM)||LA118_0==CHARSET_SYM||LA118_0==COUNTER_STYLE_SYM||LA118_0==FONT_FACE_SYM||LA118_0==GEN||LA118_0==HASH_SYMBOL||LA118_0==IDENT||LA118_0==IMPORT_SYM||(LA118_0 >= LEFTBOTTOM_SYM && LA118_0 <= LEFTTOP_SYM)||(LA118_0 >= MEDIA_SYM && LA118_0 <= MOZ_DOCUMENT_SYM)||LA118_0==NAMESPACE_SYM||LA118_0==PAGE_SYM||(LA118_0 >= RIGHTBOTTOM_SYM && LA118_0 <= RIGHTTOP_SYM)||(LA118_0 >= SASS_AT_ROOT && LA118_0 <= SASS_DEBUG)||(LA118_0 >= SASS_EACH && LA118_0 <= SASS_ELSE)||LA118_0==SASS_EXTEND||(LA118_0 >= SASS_FOR && LA118_0 <= SASS_FUNCTION)||(LA118_0 >= SASS_IF && LA118_0 <= SASS_MIXIN)||(LA118_0 >= SASS_RETURN && LA118_0 <= SASS_WHILE)||LA118_0==STAR||(LA118_0 >= TOPCENTER_SYM && LA118_0 <= TOPRIGHT_SYM)||LA118_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt118=1;
					}
					} finally {dbg.exitDecision(118);}

					switch (alt118) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:60: ( propertyDeclaration | margin ) ( ws )?
							{
							dbg.location(570,60);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:60: ( propertyDeclaration | margin )
							int alt116=2;
							try { dbg.enterSubRule(116);
							try { dbg.enterDecision(116, decisionCanBacktrack[116]);

							try {
								isCyclicDecision = true;
								alt116 = dfa116.predict(input);
							}
							catch (NoViableAltException nvae) {
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(116);}

							switch (alt116) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:61: propertyDeclaration
									{
									dbg.location(570,61);
									pushFollow(FOLLOW_propertyDeclaration_in_page2129);
									propertyDeclaration();
									state._fsp--;
									if (state.failed) return;
									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:81: margin
									{
									dbg.location(570,81);
									pushFollow(FOLLOW_margin_in_page2131);
									margin();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(116);}
							dbg.location(570,89);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:89: ( ws )?
							int alt117=2;
							try { dbg.enterSubRule(117);
							try { dbg.enterDecision(117, decisionCanBacktrack[117]);

							int LA117_0 = input.LA(1);
							if ( (LA117_0==COMMENT||LA117_0==NL||LA117_0==WS) ) {
								alt117=1;
							}
							} finally {dbg.exitDecision(117);}

							switch (alt117) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:570:89: ws
									{
									dbg.location(570,89);
									pushFollow(FOLLOW_ws_in_page2134);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(117);}

							}
							break;

					}
					} finally {dbg.exitSubRule(118);}

					}
					break;

				default :
					break loop119;
				}
			}
			} finally {dbg.exitSubRule(119);}
			dbg.location(571,9);
			match(input,RBRACE,FOLLOW_RBRACE_in_page2149); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(572, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "page");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "page"



	// $ANTLR start "counterStyle"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:574:1: counterStyle : COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
	public final void counterStyle() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "counterStyle");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(574, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:575:5: ( COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:575:7: COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
			{
			dbg.location(575,7);
			match(input,COUNTER_STYLE_SYM,FOLLOW_COUNTER_STYLE_SYM_in_counterStyle2166); if (state.failed) return;dbg.location(575,25);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:575:25: ( ws )?
			int alt120=2;
			try { dbg.enterSubRule(120);
			try { dbg.enterDecision(120, decisionCanBacktrack[120]);

			int LA120_0 = input.LA(1);
			if ( (LA120_0==COMMENT||LA120_0==NL||LA120_0==WS) ) {
				alt120=1;
			}
			} finally {dbg.exitDecision(120);}

			switch (alt120) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:575:25: ws
					{
					dbg.location(575,25);
					pushFollow(FOLLOW_ws_in_counterStyle2168);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(120);}
			dbg.location(575,29);
			match(input,IDENT,FOLLOW_IDENT_in_counterStyle2171); if (state.failed) return;dbg.location(575,35);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:575:35: ( ws )?
			int alt121=2;
			try { dbg.enterSubRule(121);
			try { dbg.enterDecision(121, decisionCanBacktrack[121]);

			int LA121_0 = input.LA(1);
			if ( (LA121_0==COMMENT||LA121_0==NL||LA121_0==WS) ) {
				alt121=1;
			}
			} finally {dbg.exitDecision(121);}

			switch (alt121) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:575:35: ws
					{
					dbg.location(575,35);
					pushFollow(FOLLOW_ws_in_counterStyle2173);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(121);}
			dbg.location(576,9);
			match(input,LBRACE,FOLLOW_LBRACE_in_counterStyle2184); if (state.failed) return;dbg.location(576,16);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:576:16: ( ws )?
			int alt122=2;
			try { dbg.enterSubRule(122);
			try { dbg.enterDecision(122, decisionCanBacktrack[122]);

			int LA122_0 = input.LA(1);
			if ( (LA122_0==COMMENT||LA122_0==NL||LA122_0==WS) ) {
				alt122=1;
			}
			} finally {dbg.exitDecision(122);}

			switch (alt122) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:576:16: ws
					{
					dbg.location(576,16);
					pushFollow(FOLLOW_ws_in_counterStyle2186);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(122);}
			dbg.location(576,20);
			pushFollow(FOLLOW_syncToDeclarationsRule_in_counterStyle2189);
			syncToDeclarationsRule();
			state._fsp--;
			if (state.failed) return;dbg.location(577,3);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:577:3: ( declarations )?
			int alt123=2;
			try { dbg.enterSubRule(123);
			try { dbg.enterDecision(123, decisionCanBacktrack[123]);

			int LA123_0 = input.LA(1);
			if ( ((LA123_0 >= AT_IDENT && LA123_0 <= AT_SIGN)||(LA123_0 >= BOTTOMCENTER_SYM && LA123_0 <= BOTTOMRIGHT_SYM)||(LA123_0 >= CHARSET_SYM && LA123_0 <= COLON)||LA123_0==COUNTER_STYLE_SYM||(LA123_0 >= DCOLON && LA123_0 <= DOT)||LA123_0==FONT_FACE_SYM||(LA123_0 >= GEN && LA123_0 <= GREATER)||(LA123_0 >= HASH && LA123_0 <= HASH_SYMBOL)||LA123_0==IDENT||LA123_0==IMPORT_SYM||(LA123_0 >= LBRACKET && LA123_0 <= LEFTTOP_SYM)||LA123_0==LESS_AND||(LA123_0 >= MEDIA_SYM && LA123_0 <= MOZ_DOCUMENT_SYM)||LA123_0==NAMESPACE_SYM||LA123_0==PAGE_SYM||(LA123_0 >= PIPE && LA123_0 <= PLUS)||(LA123_0 >= RIGHTBOTTOM_SYM && LA123_0 <= RIGHTTOP_SYM)||(LA123_0 >= SASS_AT_ROOT && LA123_0 <= SASS_DEBUG)||(LA123_0 >= SASS_EACH && LA123_0 <= SASS_ELSE)||(LA123_0 >= SASS_ERROR && LA123_0 <= SASS_FUNCTION)||(LA123_0 >= SASS_IF && LA123_0 <= SASS_MIXIN)||(LA123_0 >= SASS_RETURN && LA123_0 <= SEMI)||LA123_0==STAR||LA123_0==TILDE||(LA123_0 >= TOPCENTER_SYM && LA123_0 <= TOPRIGHT_SYM)||LA123_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt123=1;
			}
			} finally {dbg.exitDecision(123);}

			switch (alt123) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:577:3: declarations
					{
					dbg.location(577,3);
					pushFollow(FOLLOW_declarations_in_counterStyle2193);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(123);}
			dbg.location(578,9);
			match(input,RBRACE,FOLLOW_RBRACE_in_counterStyle2204); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(579, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "counterStyle");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "counterStyle"



	// $ANTLR start "fontFace"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:1: fontFace : FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
	public final void fontFace() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "fontFace");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(581, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:582:5: ( FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:582:7: FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
			{
			dbg.location(582,7);
			match(input,FONT_FACE_SYM,FOLLOW_FONT_FACE_SYM_in_fontFace2221); if (state.failed) return;dbg.location(582,21);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:582:21: ( ws )?
			int alt124=2;
			try { dbg.enterSubRule(124);
			try { dbg.enterDecision(124, decisionCanBacktrack[124]);

			int LA124_0 = input.LA(1);
			if ( (LA124_0==COMMENT||LA124_0==NL||LA124_0==WS) ) {
				alt124=1;
			}
			} finally {dbg.exitDecision(124);}

			switch (alt124) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:582:21: ws
					{
					dbg.location(582,21);
					pushFollow(FOLLOW_ws_in_fontFace2223);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(124);}
			dbg.location(583,9);
			match(input,LBRACE,FOLLOW_LBRACE_in_fontFace2234); if (state.failed) return;dbg.location(583,16);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:583:16: ( ws )?
			int alt125=2;
			try { dbg.enterSubRule(125);
			try { dbg.enterDecision(125, decisionCanBacktrack[125]);

			int LA125_0 = input.LA(1);
			if ( (LA125_0==COMMENT||LA125_0==NL||LA125_0==WS) ) {
				alt125=1;
			}
			} finally {dbg.exitDecision(125);}

			switch (alt125) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:583:16: ws
					{
					dbg.location(583,16);
					pushFollow(FOLLOW_ws_in_fontFace2236);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(125);}
			dbg.location(583,20);
			pushFollow(FOLLOW_syncToDeclarationsRule_in_fontFace2239);
			syncToDeclarationsRule();
			state._fsp--;
			if (state.failed) return;dbg.location(584,3);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:584:3: ( declarations )?
			int alt126=2;
			try { dbg.enterSubRule(126);
			try { dbg.enterDecision(126, decisionCanBacktrack[126]);

			int LA126_0 = input.LA(1);
			if ( ((LA126_0 >= AT_IDENT && LA126_0 <= AT_SIGN)||(LA126_0 >= BOTTOMCENTER_SYM && LA126_0 <= BOTTOMRIGHT_SYM)||(LA126_0 >= CHARSET_SYM && LA126_0 <= COLON)||LA126_0==COUNTER_STYLE_SYM||(LA126_0 >= DCOLON && LA126_0 <= DOT)||LA126_0==FONT_FACE_SYM||(LA126_0 >= GEN && LA126_0 <= GREATER)||(LA126_0 >= HASH && LA126_0 <= HASH_SYMBOL)||LA126_0==IDENT||LA126_0==IMPORT_SYM||(LA126_0 >= LBRACKET && LA126_0 <= LEFTTOP_SYM)||LA126_0==LESS_AND||(LA126_0 >= MEDIA_SYM && LA126_0 <= MOZ_DOCUMENT_SYM)||LA126_0==NAMESPACE_SYM||LA126_0==PAGE_SYM||(LA126_0 >= PIPE && LA126_0 <= PLUS)||(LA126_0 >= RIGHTBOTTOM_SYM && LA126_0 <= RIGHTTOP_SYM)||(LA126_0 >= SASS_AT_ROOT && LA126_0 <= SASS_DEBUG)||(LA126_0 >= SASS_EACH && LA126_0 <= SASS_ELSE)||(LA126_0 >= SASS_ERROR && LA126_0 <= SASS_FUNCTION)||(LA126_0 >= SASS_IF && LA126_0 <= SASS_MIXIN)||(LA126_0 >= SASS_RETURN && LA126_0 <= SEMI)||LA126_0==STAR||LA126_0==TILDE||(LA126_0 >= TOPCENTER_SYM && LA126_0 <= TOPRIGHT_SYM)||LA126_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt126=1;
			}
			} finally {dbg.exitDecision(126);}

			switch (alt126) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:584:3: declarations
					{
					dbg.location(584,3);
					pushFollow(FOLLOW_declarations_in_fontFace2243);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(126);}
			dbg.location(585,9);
			match(input,RBRACE,FOLLOW_RBRACE_in_fontFace2254); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(586, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "fontFace");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "fontFace"



	// $ANTLR start "margin"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:588:1: margin : margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ;
	public final void margin() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "margin");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(588, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:2: ( margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:4: margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE
			{
			dbg.location(589,4);
			pushFollow(FOLLOW_margin_sym_in_margin2268);
			margin_sym();
			state._fsp--;
			if (state.failed) return;dbg.location(589,15);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:15: ( ws )?
			int alt127=2;
			try { dbg.enterSubRule(127);
			try { dbg.enterDecision(127, decisionCanBacktrack[127]);

			int LA127_0 = input.LA(1);
			if ( (LA127_0==COMMENT||LA127_0==NL||LA127_0==WS) ) {
				alt127=1;
			}
			} finally {dbg.exitDecision(127);}

			switch (alt127) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:15: ws
					{
					dbg.location(589,15);
					pushFollow(FOLLOW_ws_in_margin2270);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(127);}
			dbg.location(589,19);
			match(input,LBRACE,FOLLOW_LBRACE_in_margin2273); if (state.failed) return;dbg.location(589,26);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:26: ( ws )?
			int alt128=2;
			try { dbg.enterSubRule(128);
			try { dbg.enterDecision(128, decisionCanBacktrack[128]);

			int LA128_0 = input.LA(1);
			if ( (LA128_0==COMMENT||LA128_0==NL||LA128_0==WS) ) {
				alt128=1;
			}
			} finally {dbg.exitDecision(128);}

			switch (alt128) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:26: ws
					{
					dbg.location(589,26);
					pushFollow(FOLLOW_ws_in_margin2275);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(128);}
			dbg.location(589,30);
			pushFollow(FOLLOW_syncToDeclarationsRule_in_margin2278);
			syncToDeclarationsRule();
			state._fsp--;
			if (state.failed) return;dbg.location(589,53);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:53: ( declarations )?
			int alt129=2;
			try { dbg.enterSubRule(129);
			try { dbg.enterDecision(129, decisionCanBacktrack[129]);

			int LA129_0 = input.LA(1);
			if ( ((LA129_0 >= AT_IDENT && LA129_0 <= AT_SIGN)||(LA129_0 >= BOTTOMCENTER_SYM && LA129_0 <= BOTTOMRIGHT_SYM)||(LA129_0 >= CHARSET_SYM && LA129_0 <= COLON)||LA129_0==COUNTER_STYLE_SYM||(LA129_0 >= DCOLON && LA129_0 <= DOT)||LA129_0==FONT_FACE_SYM||(LA129_0 >= GEN && LA129_0 <= GREATER)||(LA129_0 >= HASH && LA129_0 <= HASH_SYMBOL)||LA129_0==IDENT||LA129_0==IMPORT_SYM||(LA129_0 >= LBRACKET && LA129_0 <= LEFTTOP_SYM)||LA129_0==LESS_AND||(LA129_0 >= MEDIA_SYM && LA129_0 <= MOZ_DOCUMENT_SYM)||LA129_0==NAMESPACE_SYM||LA129_0==PAGE_SYM||(LA129_0 >= PIPE && LA129_0 <= PLUS)||(LA129_0 >= RIGHTBOTTOM_SYM && LA129_0 <= RIGHTTOP_SYM)||(LA129_0 >= SASS_AT_ROOT && LA129_0 <= SASS_DEBUG)||(LA129_0 >= SASS_EACH && LA129_0 <= SASS_ELSE)||(LA129_0 >= SASS_ERROR && LA129_0 <= SASS_FUNCTION)||(LA129_0 >= SASS_IF && LA129_0 <= SASS_MIXIN)||(LA129_0 >= SASS_RETURN && LA129_0 <= SEMI)||LA129_0==STAR||LA129_0==TILDE||(LA129_0 >= TOPCENTER_SYM && LA129_0 <= TOPRIGHT_SYM)||LA129_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt129=1;
			}
			} finally {dbg.exitDecision(129);}

			switch (alt129) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:589:53: declarations
					{
					dbg.location(589,53);
					pushFollow(FOLLOW_declarations_in_margin2280);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(129);}
			dbg.location(589,67);
			match(input,RBRACE,FOLLOW_RBRACE_in_margin2283); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(590, 7);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "margin");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "margin"



	// $ANTLR start "margin_sym"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:592:1: margin_sym : ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM );
	public final void margin_sym() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "margin_sym");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(592, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:593:2: ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(593,2);
			if ( (input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM) ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(610, 7);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "margin_sym");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "margin_sym"



	// $ANTLR start "pseudoPage"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:612:1: pseudoPage : COLON IDENT ;
	public final void pseudoPage() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "pseudoPage");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(612, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:613:5: ( COLON IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:613:7: COLON IDENT
			{
			dbg.location(613,7);
			match(input,COLON,FOLLOW_COLON_in_pseudoPage2492); if (state.failed) return;dbg.location(613,13);
			match(input,IDENT,FOLLOW_IDENT_in_pseudoPage2494); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(614, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "pseudoPage");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "pseudoPage"



	// $ANTLR start "operator"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:616:1: operator : ( SOLIDUS | COMMA );
	public final void operator() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "operator");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(616, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:617:5: ( SOLIDUS | COMMA )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(617,5);
			if ( input.LA(1)==COMMA||input.LA(1)==SOLIDUS ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(619, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "operator");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "operator"



	// $ANTLR start "unaryOperator"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:621:1: unaryOperator : ( MINUS | PLUS );
	public final void unaryOperator() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "unaryOperator");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(621, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:622:5: ( MINUS | PLUS )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(622,5);
			if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(624, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "unaryOperator");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "unaryOperator"



	// $ANTLR start "property"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:626:1: property : ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | GEN |{...}? cp_variable );
	public final void property() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "property");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(626, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:627:5: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | GEN |{...}? cp_variable )
			int alt130=5;
			try { dbg.enterDecision(130, decisionCanBacktrack[130]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				switch ( input.LA(2) ) {
				case HASH_SYMBOL:
					{
					alt130=1;
					}
					break;
				case AT_SIGN:
					{
					alt130=2;
					}
					break;
				case COLON:
				case COMMENT:
				case NL:
				case WS:
					{
					alt130=3;
					}
					break;
				default:
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 130, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case HASH_SYMBOL:
				{
				alt130=1;
				}
				break;
			case AT_SIGN:
				{
				alt130=2;
				}
				break;
			case MINUS:
				{
				int LA130_4 = input.LA(2);
				if ( (LA130_4==HASH_SYMBOL) ) {
					alt130=1;
				}
				else if ( (LA130_4==AT_SIGN) ) {
					alt130=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 130, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case GEN:
				{
				alt130=4;
				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_VAR:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt130=5;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 130, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(130);}

			switch (alt130) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:631:5: {...}? sass_selector_interpolation_exp
					{
					dbg.location(631,5);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "property", "isScssSource()");
					}dbg.location(631,23);
					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_property2578);
					sass_selector_interpolation_exp();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:632:7: {...}? less_selector_interpolation_exp
					{
					dbg.location(632,7);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "property", "isLessSource()");
					}dbg.location(632,25);
					pushFollow(FOLLOW_less_selector_interpolation_exp_in_property2588);
					less_selector_interpolation_exp();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:633:7: IDENT
					{
					dbg.location(633,7);
					match(input,IDENT,FOLLOW_IDENT_in_property2596); if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:634:7: GEN
					{
					dbg.location(634,7);
					match(input,GEN,FOLLOW_GEN_in_property2604); if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:635:7: {...}? cp_variable
					{
					dbg.location(635,7);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "property", "isCssPreprocessorSource()");
					}dbg.location(635,36);
					pushFollow(FOLLOW_cp_variable_in_property2614);
					cp_variable();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(COLON));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(637, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "property");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "property"



	// $ANTLR start "sass_map"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:642:1: sass_map : sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ;
	public final void sass_map() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_map");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(642, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:643:5: ( sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:5: sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
			{
			dbg.location(644,5);
			pushFollow(FOLLOW_sass_map_name_in_sass_map2641);
			sass_map_name();
			state._fsp--;
			if (state.failed) return;dbg.location(644,19);
			match(input,COLON,FOLLOW_COLON_in_sass_map2643); if (state.failed) return;dbg.location(644,25);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:25: ( ws )?
			int alt131=2;
			try { dbg.enterSubRule(131);
			try { dbg.enterDecision(131, decisionCanBacktrack[131]);

			int LA131_0 = input.LA(1);
			if ( (LA131_0==COMMENT||LA131_0==NL||LA131_0==WS) ) {
				alt131=1;
			}
			} finally {dbg.exitDecision(131);}

			switch (alt131) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:25: ws
					{
					dbg.location(644,25);
					pushFollow(FOLLOW_ws_in_sass_map2645);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(131);}
			dbg.location(644,29);
			match(input,LPAREN,FOLLOW_LPAREN_in_sass_map2648); if (state.failed) return;dbg.location(644,36);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:36: ( ws )?
			int alt132=2;
			try { dbg.enterSubRule(132);
			try { dbg.enterDecision(132, decisionCanBacktrack[132]);

			int LA132_0 = input.LA(1);
			if ( (LA132_0==COMMENT||LA132_0==NL||LA132_0==WS) ) {
				alt132=1;
			}
			} finally {dbg.exitDecision(132);}

			switch (alt132) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:644:36: ws
					{
					dbg.location(644,36);
					pushFollow(FOLLOW_ws_in_sass_map2650);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(132);}
			dbg.location(644,40);
			pushFollow(FOLLOW_syncToFollow_in_sass_map2653);
			syncToFollow();
			state._fsp--;
			if (state.failed) return;dbg.location(646,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:646:9: ( sass_map_pairs )?
			int alt133=2;
			try { dbg.enterSubRule(133);
			try { dbg.enterDecision(133, decisionCanBacktrack[133]);

			int LA133_0 = input.LA(1);
			if ( ((LA133_0 >= AT_IDENT && LA133_0 <= AT_SIGN)||(LA133_0 >= BOTTOMCENTER_SYM && LA133_0 <= BOTTOMRIGHT_SYM)||LA133_0==CHARSET_SYM||LA133_0==COMMA||LA133_0==COUNTER_STYLE_SYM||LA133_0==FONT_FACE_SYM||LA133_0==GEN||LA133_0==HASH_SYMBOL||LA133_0==IDENT||LA133_0==IMPORT_SYM||(LA133_0 >= LEFTBOTTOM_SYM && LA133_0 <= LEFTTOP_SYM)||(LA133_0 >= MEDIA_SYM && LA133_0 <= MOZ_DOCUMENT_SYM)||LA133_0==NAMESPACE_SYM||LA133_0==NUMBER||LA133_0==PAGE_SYM||(LA133_0 >= RIGHTBOTTOM_SYM && LA133_0 <= RIGHTTOP_SYM)||(LA133_0 >= SASS_AT_ROOT && LA133_0 <= SASS_DEBUG)||(LA133_0 >= SASS_EACH && LA133_0 <= SASS_ELSE)||LA133_0==SASS_EXTEND||(LA133_0 >= SASS_FOR && LA133_0 <= SASS_FUNCTION)||(LA133_0 >= SASS_IF && LA133_0 <= SASS_MIXIN)||(LA133_0 >= SASS_RETURN && LA133_0 <= SASS_WHILE)||LA133_0==STRING||(LA133_0 >= TOPCENTER_SYM && LA133_0 <= TOPRIGHT_SYM)||LA133_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt133=1;
			}
			} finally {dbg.exitDecision(133);}

			switch (alt133) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:646:9: sass_map_pairs
					{
					dbg.location(646,9);
					pushFollow(FOLLOW_sass_map_pairs_in_sass_map2672);
					sass_map_pairs();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(133);}
			dbg.location(647,5);
			match(input,RPAREN,FOLLOW_RPAREN_in_sass_map2679); if (state.failed) return;dbg.location(647,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
			try { dbg.enterSubRule(136);

			loop136:
			while (true) {
				int alt136=3;
				try { dbg.enterDecision(136, decisionCanBacktrack[136]);

				try {
					isCyclicDecision = true;
					alt136 = dfa136.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(136);}

				switch (alt136) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:13: ( ( ws )? SASS_DEFAULT )
					{
					dbg.location(647,13);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:13: ( ( ws )? SASS_DEFAULT )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:14: ( ws )? SASS_DEFAULT
					{
					dbg.location(647,14);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:14: ( ws )?
					int alt134=2;
					try { dbg.enterSubRule(134);
					try { dbg.enterDecision(134, decisionCanBacktrack[134]);

					int LA134_0 = input.LA(1);
					if ( (LA134_0==COMMENT||LA134_0==NL||LA134_0==WS) ) {
						alt134=1;
					}
					} finally {dbg.exitDecision(134);}

					switch (alt134) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:14: ws
							{
							dbg.location(647,14);
							pushFollow(FOLLOW_ws_in_sass_map2683);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(134);}
					dbg.location(647,18);
					match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_sass_map2686); if (state.failed) return;
					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:34: ( ( ws )? SASS_GLOBAL )
					{
					dbg.location(647,34);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:34: ( ( ws )? SASS_GLOBAL )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:35: ( ws )? SASS_GLOBAL
					{
					dbg.location(647,35);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:35: ( ws )?
					int alt135=2;
					try { dbg.enterSubRule(135);
					try { dbg.enterDecision(135, decisionCanBacktrack[135]);

					int LA135_0 = input.LA(1);
					if ( (LA135_0==COMMENT||LA135_0==NL||LA135_0==WS) ) {
						alt135=1;
					}
					} finally {dbg.exitDecision(135);}

					switch (alt135) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:647:35: ws
							{
							dbg.location(647,35);
							pushFollow(FOLLOW_ws_in_sass_map2692);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(135);}
					dbg.location(647,39);
					match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_sass_map2695); if (state.failed) return;
					}

					}
					break;

				default :
					break loop136;
				}
			}
			} finally {dbg.exitSubRule(136);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(648, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_map");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_map"



	// $ANTLR start "sass_map_name"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:650:1: sass_map_name : cp_variable ;
	public final void sass_map_name() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_map_name");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(650, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:651:5: ( cp_variable )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:652:5: cp_variable
			{
			dbg.location(652,5);
			pushFollow(FOLLOW_cp_variable_in_sass_map_name2719);
			cp_variable();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(653, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_map_name");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_map_name"



	// $ANTLR start "sass_map_pairs"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:655:1: sass_map_pairs : ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ;
	public final void sass_map_pairs() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_map_pairs");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(655, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:656:5: ( ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:657:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+
			{
			dbg.location(657,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:657:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+
			int cnt141=0;
			try { dbg.enterSubRule(141);

			loop141:
			while (true) {
				int alt141=3;
				try { dbg.enterDecision(141, decisionCanBacktrack[141]);

				int LA141_0 = input.LA(1);
				if ( ((LA141_0 >= AT_IDENT && LA141_0 <= AT_SIGN)||(LA141_0 >= BOTTOMCENTER_SYM && LA141_0 <= BOTTOMRIGHT_SYM)||LA141_0==CHARSET_SYM||LA141_0==COUNTER_STYLE_SYM||LA141_0==FONT_FACE_SYM||LA141_0==GEN||LA141_0==HASH_SYMBOL||LA141_0==IDENT||LA141_0==IMPORT_SYM||(LA141_0 >= LEFTBOTTOM_SYM && LA141_0 <= LEFTTOP_SYM)||(LA141_0 >= MEDIA_SYM && LA141_0 <= MOZ_DOCUMENT_SYM)||LA141_0==NAMESPACE_SYM||LA141_0==NUMBER||LA141_0==PAGE_SYM||(LA141_0 >= RIGHTBOTTOM_SYM && LA141_0 <= RIGHTTOP_SYM)||(LA141_0 >= SASS_AT_ROOT && LA141_0 <= SASS_DEBUG)||(LA141_0 >= SASS_EACH && LA141_0 <= SASS_ELSE)||LA141_0==SASS_EXTEND||(LA141_0 >= SASS_FOR && LA141_0 <= SASS_FUNCTION)||(LA141_0 >= SASS_IF && LA141_0 <= SASS_MIXIN)||(LA141_0 >= SASS_RETURN && LA141_0 <= SASS_WHILE)||LA141_0==STRING||(LA141_0 >= TOPCENTER_SYM && LA141_0 <= TOPRIGHT_SYM)||LA141_0==WEBKIT_KEYFRAMES_SYM) ) {
					alt141=1;
				}
				else if ( (LA141_0==COMMA) ) {
					alt141=2;
				}

				} finally {dbg.exitDecision(141);}

				switch (alt141) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? )
					{
					dbg.location(658,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:12: sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )?
					{
					dbg.location(658,12);
					pushFollow(FOLLOW_sass_map_pair_in_sass_map_pairs2753);
					sass_map_pair();
					state._fsp--;
					if (state.failed) return;dbg.location(658,26);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )?
					int alt138=2;
					try { dbg.enterSubRule(138);
					try { dbg.enterDecision(138, decisionCanBacktrack[138]);

					try {
						isCyclicDecision = true;
						alt138 = dfa138.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(138);}

					switch (alt138) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:27: ( ( ws )? COMMA )=> ( ws )? COMMA
							{
							dbg.location(658,40);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:40: ( ws )?
							int alt137=2;
							try { dbg.enterSubRule(137);
							try { dbg.enterDecision(137, decisionCanBacktrack[137]);

							int LA137_0 = input.LA(1);
							if ( (LA137_0==COMMENT||LA137_0==NL||LA137_0==WS) ) {
								alt137=1;
							}
							} finally {dbg.exitDecision(137);}

							switch (alt137) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:40: ws
									{
									dbg.location(658,40);
									pushFollow(FOLLOW_ws_in_sass_map_pairs2763);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(137);}
							dbg.location(658,44);
							match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs2766); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(138);}
					dbg.location(658,52);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:52: ( ws )?
					int alt139=2;
					try { dbg.enterSubRule(139);
					try { dbg.enterDecision(139, decisionCanBacktrack[139]);

					int LA139_0 = input.LA(1);
					if ( (LA139_0==COMMENT||LA139_0==NL||LA139_0==WS) ) {
						alt139=1;
					}
					} finally {dbg.exitDecision(139);}

					switch (alt139) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:52: ws
							{
							dbg.location(658,52);
							pushFollow(FOLLOW_ws_in_sass_map_pairs2770);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(139);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:10: ( COMMA ( ws )? )
					{
					dbg.location(660,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:10: ( COMMA ( ws )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:12: COMMA ( ws )?
					{
					dbg.location(660,12);
					match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs2797); if (state.failed) return;dbg.location(660,18);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:18: ( ws )?
					int alt140=2;
					try { dbg.enterSubRule(140);
					try { dbg.enterDecision(140, decisionCanBacktrack[140]);

					int LA140_0 = input.LA(1);
					if ( (LA140_0==COMMENT||LA140_0==NL||LA140_0==WS) ) {
						alt140=1;
					}
					} finally {dbg.exitDecision(140);}

					switch (alt140) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:660:18: ws
							{
							dbg.location(660,18);
							pushFollow(FOLLOW_ws_in_sass_map_pairs2799);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(140);}

					}

					}
					break;

				default :
					if ( cnt141 >= 1 ) break loop141;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(141, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt141++;
			}
			} finally {dbg.exitSubRule(141);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(662, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_map_pairs");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_map_pairs"



	// $ANTLR start "sass_map_pair"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:664:1: sass_map_pair : ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ;
	public final void sass_map_pair() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_map_pair");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(664, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:665:5: ( ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )?
			{
			dbg.location(666,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map )
			int alt144=5;
			try { dbg.enterSubRule(144);
			try { dbg.enterDecision(144, decisionCanBacktrack[144]);

			switch ( input.LA(1) ) {
			case NUMBER:
				{
				alt144=1;
				}
				break;
			case STRING:
				{
				alt144=2;
				}
				break;
			case IDENT:
				{
				int LA144_3 = input.LA(2);
				if ( (synpred22_Css3()) ) {
					alt144=3;
				}
				else if ( (true) ) {
					alt144=4;
				}

				}
				break;
			case AT_SIGN:
			case GEN:
			case HASH_SYMBOL:
			case MINUS:
				{
				alt144=4;
				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				int LA144_8 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt144=4;
				}
				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt144=5;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 144, 8, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_VAR:
				{
				int LA144_9 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt144=4;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt144=5;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 144, 9, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 144, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(144);}

			switch (alt144) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:10: NUMBER
					{
					dbg.location(666,10);
					match(input,NUMBER,FOLLOW_NUMBER_in_sass_map_pair2835); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:17: ( STRING ( ( ws )? STRING )* )
					{
					dbg.location(666,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:17: ( STRING ( ( ws )? STRING )* )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:18: STRING ( ( ws )? STRING )*
					{
					dbg.location(666,18);
					match(input,STRING,FOLLOW_STRING_in_sass_map_pair2838); if (state.failed) return;dbg.location(666,25);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:25: ( ( ws )? STRING )*
					try { dbg.enterSubRule(143);

					loop143:
					while (true) {
						int alt143=2;
						try { dbg.enterDecision(143, decisionCanBacktrack[143]);

						try {
							isCyclicDecision = true;
							alt143 = dfa143.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(143);}

						switch (alt143) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:26: ( ws )? STRING
							{
							dbg.location(666,26);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:26: ( ws )?
							int alt142=2;
							try { dbg.enterSubRule(142);
							try { dbg.enterDecision(142, decisionCanBacktrack[142]);

							int LA142_0 = input.LA(1);
							if ( (LA142_0==COMMENT||LA142_0==NL||LA142_0==WS) ) {
								alt142=1;
							}
							} finally {dbg.exitDecision(142);}

							switch (alt142) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:26: ws
									{
									dbg.location(666,26);
									pushFollow(FOLLOW_ws_in_sass_map_pair2841);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(142);}
							dbg.location(666,30);
							match(input,STRING,FOLLOW_STRING_in_sass_map_pair2844); if (state.failed) return;
							}
							break;

						default :
							break loop143;
						}
					}
					} finally {dbg.exitSubRule(143);}

					}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:40: ( ( function )=> function )
					{
					dbg.location(666,40);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:40: ( ( function )=> function )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:41: ( function )=> function
					{
					dbg.location(666,53);
					pushFollow(FOLLOW_function_in_sass_map_pair2854);
					function();
					state._fsp--;
					if (state.failed) return;
					}

					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:63: property
					{
					dbg.location(666,63);
					pushFollow(FOLLOW_property_in_sass_map_pair2857);
					property();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:72: sass_map
					{
					dbg.location(666,72);
					pushFollow(FOLLOW_sass_map_in_sass_map_pair2859);
					sass_map();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(144);}
			dbg.location(666,82);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:82: ( ws )?
			int alt145=2;
			try { dbg.enterSubRule(145);
			try { dbg.enterDecision(145, decisionCanBacktrack[145]);

			int LA145_0 = input.LA(1);
			if ( (LA145_0==COMMENT||LA145_0==NL||LA145_0==WS) ) {
				alt145=1;
			}
			} finally {dbg.exitDecision(145);}

			switch (alt145) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:82: ws
					{
					dbg.location(666,82);
					pushFollow(FOLLOW_ws_in_sass_map_pair2862);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(145);}
			dbg.location(666,86);
			match(input,COLON,FOLLOW_COLON_in_sass_map_pair2865); if (state.failed) return;dbg.location(666,92);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:92: ( ws )?
			int alt146=2;
			try { dbg.enterSubRule(146);
			try { dbg.enterDecision(146, decisionCanBacktrack[146]);

			int LA146_0 = input.LA(1);
			if ( (LA146_0==COMMENT||LA146_0==NL||LA146_0==WS) ) {
				alt146=1;
			}
			} finally {dbg.exitDecision(146);}

			switch (alt146) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:92: ws
					{
					dbg.location(666,92);
					pushFollow(FOLLOW_ws_in_sass_map_pair2867);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(146);}
			dbg.location(666,96);
			pushFollow(FOLLOW_cp_expression_in_sass_map_pair2870);
			cp_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(666,110);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:110: ( ( ws )? prio )?
			int alt148=2;
			try { dbg.enterSubRule(148);
			try { dbg.enterDecision(148, decisionCanBacktrack[148]);

			try {
				isCyclicDecision = true;
				alt148 = dfa148.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(148);}

			switch (alt148) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:111: ( ws )? prio
					{
					dbg.location(666,111);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:111: ( ws )?
					int alt147=2;
					try { dbg.enterSubRule(147);
					try { dbg.enterDecision(147, decisionCanBacktrack[147]);

					int LA147_0 = input.LA(1);
					if ( (LA147_0==COMMENT||LA147_0==NL||LA147_0==WS) ) {
						alt147=1;
					}
					} finally {dbg.exitDecision(147);}

					switch (alt147) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:111: ws
							{
							dbg.location(666,111);
							pushFollow(FOLLOW_ws_in_sass_map_pair2873);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(147);}
					dbg.location(666,115);
					pushFollow(FOLLOW_prio_in_sass_map_pair2876);
					prio();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(148);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(667, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_map_pair");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_map_pair"



	// $ANTLR start "rule"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:669:1: rule : ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ;
	public final void rule() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "rule");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(669, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:670:5: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:671:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
			{
			dbg.location(671,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:671:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
			int alt154=3;
			try { dbg.enterSubRule(154);
			try { dbg.enterDecision(154, decisionCanBacktrack[154]);

			try {
				isCyclicDecision = true;
				alt154 = dfa154.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(154);}

			switch (alt154) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:13: ( SASS_AT_ROOT ( ws selectorsGroup )? )
					{
					dbg.location(672,13);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:13: ( SASS_AT_ROOT ( ws selectorsGroup )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:14: SASS_AT_ROOT ( ws selectorsGroup )?
					{
					dbg.location(672,14);
					match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule2918); if (state.failed) return;dbg.location(672,27);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:27: ( ws selectorsGroup )?
					int alt149=2;
					try { dbg.enterSubRule(149);
					try { dbg.enterDecision(149, decisionCanBacktrack[149]);

					try {
						isCyclicDecision = true;
						alt149 = dfa149.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(149);}

					switch (alt149) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:672:28: ws selectorsGroup
							{
							dbg.location(672,28);
							pushFollow(FOLLOW_ws_in_rule2921);
							ws();
							state._fsp--;
							if (state.failed) return;dbg.location(672,31);
							pushFollow(FOLLOW_selectorsGroup_in_rule2923);
							selectorsGroup();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(149);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
					{
					dbg.location(673,15);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:16: SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
					{
					dbg.location(673,16);
					match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule2944); if (state.failed) return;dbg.location(673,29);
					pushFollow(FOLLOW_ws_in_rule2946);
					ws();
					state._fsp--;
					if (state.failed) return;dbg.location(673,32);
					match(input,LPAREN,FOLLOW_LPAREN_in_rule2948); if (state.failed) return;dbg.location(673,39);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:39: ( ws )?
					int alt150=2;
					try { dbg.enterSubRule(150);
					try { dbg.enterDecision(150, decisionCanBacktrack[150]);

					int LA150_0 = input.LA(1);
					if ( (LA150_0==COMMENT||LA150_0==NL||LA150_0==WS) ) {
						alt150=1;
					}
					} finally {dbg.exitDecision(150);}

					switch (alt150) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:39: ws
							{
							dbg.location(673,39);
							pushFollow(FOLLOW_ws_in_rule2950);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(150);}
					dbg.location(673,43);
					if ( !(evalPredicate(tokenNameEquals("without") || tokenNameEquals("with"),"tokenNameEquals(\"without\") || tokenNameEquals(\"with\")")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "rule", "tokenNameEquals(\"without\") || tokenNameEquals(\"with\")");
					}dbg.location(673,100);
					match(input,IDENT,FOLLOW_IDENT_in_rule2955); if (state.failed) return;dbg.location(673,128);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:128: ( ws )?
					int alt151=2;
					try { dbg.enterSubRule(151);
					try { dbg.enterDecision(151, decisionCanBacktrack[151]);

					int LA151_0 = input.LA(1);
					if ( (LA151_0==COMMENT||LA151_0==NL||LA151_0==WS) ) {
						alt151=1;
					}
					} finally {dbg.exitDecision(151);}

					switch (alt151) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:128: ws
							{
							dbg.location(673,128);
							pushFollow(FOLLOW_ws_in_rule2959);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(151);}
					dbg.location(673,132);
					match(input,COLON,FOLLOW_COLON_in_rule2962); if (state.failed) return;dbg.location(673,138);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:138: ( ws )?
					int alt152=2;
					try { dbg.enterSubRule(152);
					try { dbg.enterDecision(152, decisionCanBacktrack[152]);

					int LA152_0 = input.LA(1);
					if ( (LA152_0==COMMENT||LA152_0==NL||LA152_0==WS) ) {
						alt152=1;
					}
					} finally {dbg.exitDecision(152);}

					switch (alt152) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:138: ws
							{
							dbg.location(673,138);
							pushFollow(FOLLOW_ws_in_rule2964);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(152);}
					dbg.location(673,142);
					match(input,IDENT,FOLLOW_IDENT_in_rule2967); if (state.failed) return;dbg.location(673,148);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:148: ( ws )?
					int alt153=2;
					try { dbg.enterSubRule(153);
					try { dbg.enterDecision(153, decisionCanBacktrack[153]);

					int LA153_0 = input.LA(1);
					if ( (LA153_0==COMMENT||LA153_0==NL||LA153_0==WS) ) {
						alt153=1;
					}
					} finally {dbg.exitDecision(153);}

					switch (alt153) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:673:148: ws
							{
							dbg.location(673,148);
							pushFollow(FOLLOW_ws_in_rule2969);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(153);}
					dbg.location(673,152);
					match(input,RPAREN,FOLLOW_RPAREN_in_rule2972); if (state.failed) return;
					}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:674:15: selectorsGroup
					{
					dbg.location(674,15);
					pushFollow(FOLLOW_selectorsGroup_in_rule2990);
					selectorsGroup();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(154);}
			dbg.location(675,11);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:11: ( ws )?
			int alt155=2;
			try { dbg.enterSubRule(155);
			try { dbg.enterDecision(155, decisionCanBacktrack[155]);

			int LA155_0 = input.LA(1);
			if ( (LA155_0==COMMENT||LA155_0==NL||LA155_0==WS) ) {
				alt155=1;
			}
			} finally {dbg.exitDecision(155);}

			switch (alt155) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:675:11: ws
					{
					dbg.location(675,11);
					pushFollow(FOLLOW_ws_in_rule3002);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(155);}
			dbg.location(676,5);
			match(input,LBRACE,FOLLOW_LBRACE_in_rule3009); if (state.failed) return;dbg.location(676,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:676:12: ( ws )?
			int alt156=2;
			try { dbg.enterSubRule(156);
			try { dbg.enterDecision(156, decisionCanBacktrack[156]);

			int LA156_0 = input.LA(1);
			if ( (LA156_0==COMMENT||LA156_0==NL||LA156_0==WS) ) {
				alt156=1;
			}
			} finally {dbg.exitDecision(156);}

			switch (alt156) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:676:12: ws
					{
					dbg.location(676,12);
					pushFollow(FOLLOW_ws_in_rule3011);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(156);}
			dbg.location(676,16);
			pushFollow(FOLLOW_syncToFollow_in_rule3014);
			syncToFollow();
			state._fsp--;
			if (state.failed) return;dbg.location(677,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:677:9: ( declarations )?
			int alt157=2;
			try { dbg.enterSubRule(157);
			try { dbg.enterDecision(157, decisionCanBacktrack[157]);

			int LA157_0 = input.LA(1);
			if ( ((LA157_0 >= AT_IDENT && LA157_0 <= AT_SIGN)||(LA157_0 >= BOTTOMCENTER_SYM && LA157_0 <= BOTTOMRIGHT_SYM)||(LA157_0 >= CHARSET_SYM && LA157_0 <= COLON)||LA157_0==COUNTER_STYLE_SYM||(LA157_0 >= DCOLON && LA157_0 <= DOT)||LA157_0==FONT_FACE_SYM||(LA157_0 >= GEN && LA157_0 <= GREATER)||(LA157_0 >= HASH && LA157_0 <= HASH_SYMBOL)||LA157_0==IDENT||LA157_0==IMPORT_SYM||(LA157_0 >= LBRACKET && LA157_0 <= LEFTTOP_SYM)||LA157_0==LESS_AND||(LA157_0 >= MEDIA_SYM && LA157_0 <= MOZ_DOCUMENT_SYM)||LA157_0==NAMESPACE_SYM||LA157_0==PAGE_SYM||(LA157_0 >= PIPE && LA157_0 <= PLUS)||(LA157_0 >= RIGHTBOTTOM_SYM && LA157_0 <= RIGHTTOP_SYM)||(LA157_0 >= SASS_AT_ROOT && LA157_0 <= SASS_DEBUG)||(LA157_0 >= SASS_EACH && LA157_0 <= SASS_ELSE)||(LA157_0 >= SASS_ERROR && LA157_0 <= SASS_FUNCTION)||(LA157_0 >= SASS_IF && LA157_0 <= SASS_MIXIN)||(LA157_0 >= SASS_RETURN && LA157_0 <= SEMI)||LA157_0==STAR||LA157_0==TILDE||(LA157_0 >= TOPCENTER_SYM && LA157_0 <= TOPRIGHT_SYM)||LA157_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt157=1;
			}
			} finally {dbg.exitDecision(157);}

			switch (alt157) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:677:9: declarations
					{
					dbg.location(677,9);
					pushFollow(FOLLOW_declarations_in_rule3024);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(157);}
			dbg.location(678,5);
			match(input,RBRACE,FOLLOW_RBRACE_in_rule3031); if (state.failed) return;
			}

		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(RBRACE));
			        input.consume(); //consume the RBRACE as well
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(679, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "rule");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "rule"



	// $ANTLR start "declarations"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:686:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ );
	public final void declarations() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "declarations");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(686, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:687:5: ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ )
			int alt171=2;
			try { dbg.enterDecision(171, decisionCanBacktrack[171]);

			try {
				isCyclicDecision = true;
				alt171 = dfa171.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(171);}

			switch (alt171) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:8: ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?
					{
					dbg.location(688,8);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:8: ( SEMI ( ws )? )*
					try { dbg.enterSubRule(159);

					loop159:
					while (true) {
						int alt159=2;
						try { dbg.enterDecision(159, decisionCanBacktrack[159]);

						int LA159_0 = input.LA(1);
						if ( (LA159_0==SEMI) ) {
							alt159=1;
						}

						} finally {dbg.exitDecision(159);}

						switch (alt159) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:9: SEMI ( ws )?
							{
							dbg.location(688,9);
							match(input,SEMI,FOLLOW_SEMI_in_declarations3065); if (state.failed) return;dbg.location(688,14);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:14: ( ws )?
							int alt158=2;
							try { dbg.enterSubRule(158);
							try { dbg.enterDecision(158, decisionCanBacktrack[158]);

							int LA158_0 = input.LA(1);
							if ( (LA158_0==COMMENT||LA158_0==NL||LA158_0==WS) ) {
								alt158=1;
							}
							} finally {dbg.exitDecision(158);}

							switch (alt158) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:14: ws
									{
									dbg.location(688,14);
									pushFollow(FOLLOW_ws_in_declarations3067);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(158);}

							}
							break;

						default :
							break loop159;
						}
					}
					} finally {dbg.exitSubRule(159);}
					dbg.location(688,21);
					pushFollow(FOLLOW_declaration_in_declarations3073);
					declaration();
					state._fsp--;
					if (state.failed) return;dbg.location(688,33);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )*
					try { dbg.enterSubRule(164);

					loop164:
					while (true) {
						int alt164=2;
						try { dbg.enterDecision(164, decisionCanBacktrack[164]);

						try {
							isCyclicDecision = true;
							alt164 = dfa164.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(164);}

						switch (alt164) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration
							{
							dbg.location(688,34);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )
							int alt163=2;
							try { dbg.enterSubRule(163);
							try { dbg.enterDecision(163, decisionCanBacktrack[163]);

							try {
								isCyclicDecision = true;
								alt163 = dfa163.predict(input);
							}
							catch (NoViableAltException nvae) {
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(163);}

							switch (alt163) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:35: ( ( ws )? ( SEMI ( ws )? )+ )
									{
									dbg.location(688,35);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:35: ( ( ws )? ( SEMI ( ws )? )+ )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:36: ( ws )? ( SEMI ( ws )? )+
									{
									dbg.location(688,36);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:36: ( ws )?
									int alt160=2;
									try { dbg.enterSubRule(160);
									try { dbg.enterDecision(160, decisionCanBacktrack[160]);

									int LA160_0 = input.LA(1);
									if ( (LA160_0==COMMENT||LA160_0==NL||LA160_0==WS) ) {
										alt160=1;
									}
									} finally {dbg.exitDecision(160);}

									switch (alt160) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:36: ws
											{
											dbg.location(688,36);
											pushFollow(FOLLOW_ws_in_declarations3078);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(160);}
									dbg.location(688,40);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:40: ( SEMI ( ws )? )+
									int cnt162=0;
									try { dbg.enterSubRule(162);

									loop162:
									while (true) {
										int alt162=2;
										try { dbg.enterDecision(162, decisionCanBacktrack[162]);

										int LA162_0 = input.LA(1);
										if ( (LA162_0==SEMI) ) {
											alt162=1;
										}

										} finally {dbg.exitDecision(162);}

										switch (alt162) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:41: SEMI ( ws )?
											{
											dbg.location(688,41);
											match(input,SEMI,FOLLOW_SEMI_in_declarations3082); if (state.failed) return;dbg.location(688,46);
											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:46: ( ws )?
											int alt161=2;
											try { dbg.enterSubRule(161);
											try { dbg.enterDecision(161, decisionCanBacktrack[161]);

											int LA161_0 = input.LA(1);
											if ( (LA161_0==COMMENT||LA161_0==NL||LA161_0==WS) ) {
												alt161=1;
											}
											} finally {dbg.exitDecision(161);}

											switch (alt161) {
												case 1 :
													dbg.enterAlt(1);

													// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:46: ws
													{
													dbg.location(688,46);
													pushFollow(FOLLOW_ws_in_declarations3084);
													ws();
													state._fsp--;
													if (state.failed) return;
													}
													break;

											}
											} finally {dbg.exitSubRule(161);}

											}
											break;

										default :
											if ( cnt162 >= 1 ) break loop162;
											if (state.backtracking>0) {state.failed=true; return;}
											EarlyExitException eee = new EarlyExitException(162, input);
											dbg.recognitionException(eee);

											throw eee;
										}
										cnt162++;
									}
									} finally {dbg.exitSubRule(162);}

									}

									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:53: ws
									{
									dbg.location(688,53);
									pushFollow(FOLLOW_ws_in_declarations3090);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(163);}
							dbg.location(688,57);
							pushFollow(FOLLOW_declaration_in_declarations3093);
							declaration();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop164;
						}
					}
					} finally {dbg.exitSubRule(164);}
					dbg.location(688,71);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?
					int alt168=3;
					try { dbg.enterSubRule(168);
					try { dbg.enterDecision(168, decisionCanBacktrack[168]);

					try {
						isCyclicDecision = true;
						alt168 = dfa168.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(168);}

					switch (alt168) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:72: ( ( ws )? ( SEMI ( ws )? )+ )
							{
							dbg.location(688,72);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:72: ( ( ws )? ( SEMI ( ws )? )+ )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:73: ( ws )? ( SEMI ( ws )? )+
							{
							dbg.location(688,73);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:73: ( ws )?
							int alt165=2;
							try { dbg.enterSubRule(165);
							try { dbg.enterDecision(165, decisionCanBacktrack[165]);

							int LA165_0 = input.LA(1);
							if ( (LA165_0==COMMENT||LA165_0==NL||LA165_0==WS) ) {
								alt165=1;
							}
							} finally {dbg.exitDecision(165);}

							switch (alt165) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:73: ws
									{
									dbg.location(688,73);
									pushFollow(FOLLOW_ws_in_declarations3099);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(165);}
							dbg.location(688,77);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:77: ( SEMI ( ws )? )+
							int cnt167=0;
							try { dbg.enterSubRule(167);

							loop167:
							while (true) {
								int alt167=2;
								try { dbg.enterDecision(167, decisionCanBacktrack[167]);

								int LA167_0 = input.LA(1);
								if ( (LA167_0==SEMI) ) {
									alt167=1;
								}

								} finally {dbg.exitDecision(167);}

								switch (alt167) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:78: SEMI ( ws )?
									{
									dbg.location(688,78);
									match(input,SEMI,FOLLOW_SEMI_in_declarations3103); if (state.failed) return;dbg.location(688,83);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:83: ( ws )?
									int alt166=2;
									try { dbg.enterSubRule(166);
									try { dbg.enterDecision(166, decisionCanBacktrack[166]);

									int LA166_0 = input.LA(1);
									if ( (LA166_0==COMMENT||LA166_0==NL||LA166_0==WS) ) {
										alt166=1;
									}
									} finally {dbg.exitDecision(166);}

									switch (alt166) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:83: ws
											{
											dbg.location(688,83);
											pushFollow(FOLLOW_ws_in_declarations3105);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(166);}

									}
									break;

								default :
									if ( cnt167 >= 1 ) break loop167;
									if (state.backtracking>0) {state.failed=true; return;}
									EarlyExitException eee = new EarlyExitException(167, input);
									dbg.recognitionException(eee);

									throw eee;
								}
								cnt167++;
							}
							} finally {dbg.exitSubRule(167);}

							}

							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:688:90: ws
							{
							dbg.location(688,90);
							pushFollow(FOLLOW_ws_in_declarations3111);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(168);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:689:8: ( SEMI ( ws )? )+
					{
					dbg.location(689,8);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:689:8: ( SEMI ( ws )? )+
					int cnt170=0;
					try { dbg.enterSubRule(170);

					loop170:
					while (true) {
						int alt170=2;
						try { dbg.enterDecision(170, decisionCanBacktrack[170]);

						int LA170_0 = input.LA(1);
						if ( (LA170_0==SEMI) ) {
							alt170=1;
						}

						} finally {dbg.exitDecision(170);}

						switch (alt170) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:689:9: SEMI ( ws )?
							{
							dbg.location(689,9);
							match(input,SEMI,FOLLOW_SEMI_in_declarations3123); if (state.failed) return;dbg.location(689,14);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:689:14: ( ws )?
							int alt169=2;
							try { dbg.enterSubRule(169);
							try { dbg.enterDecision(169, decisionCanBacktrack[169]);

							int LA169_0 = input.LA(1);
							if ( (LA169_0==COMMENT||LA169_0==NL||LA169_0==WS) ) {
								alt169=1;
							}
							} finally {dbg.exitDecision(169);}

							switch (alt169) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:689:14: ws
									{
									dbg.location(689,14);
									pushFollow(FOLLOW_ws_in_declarations3125);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(169);}

							}
							break;

						default :
							if ( cnt170 >= 1 ) break loop170;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(170, input);
							dbg.recognitionException(eee);

							throw eee;
						}
						cnt170++;
					}
					} finally {dbg.exitSubRule(170);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(690, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "declarations");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "declarations"



	// $ANTLR start "declaration"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:692:1: declaration : ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN );
	public final void declaration() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "declaration");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(692, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:693:5: ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN )
			int alt176=18;
			try { dbg.enterDecision(176, decisionCanBacktrack[176]);

			int LA176_0 = input.LA(1);
			if ( (LA176_0==SASS_AT_ROOT) ) {
				int LA176_1 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_VAR) ) {
				int LA176_2 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred25_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred27_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 2, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==IDENT) ) {
				int LA176_3 = input.LA(2);
				if ( (synpred25_Css3()) ) {
					alt176=3;
				}
				else if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( (synpred27_Css3()) ) {
					alt176=5;
				}
				else if ( (synpred28_Css3()) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 3, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==HASH_SYMBOL) ) {
				int LA176_4 = input.LA(2);
				if ( ((synpred25_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=3;
				}
				else if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( ((synpred27_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=5;
				}
				else if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred28_Css3())) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==AT_SIGN) ) {
				int LA176_5 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( ((synpred26_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=4;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred28_Css3())) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 5, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==MINUS) ) {
				int LA176_6 = input.LA(2);
				if ( (((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( ((synpred26_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) {
					alt176=4;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 6, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==GEN) ) {
				int LA176_7 = input.LA(2);
				if ( (synpred25_Css3()) ) {
					alt176=3;
				}
				else if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( (synpred27_Css3()) ) {
					alt176=5;
				}
				else if ( (synpred28_Css3()) ) {
					alt176=6;
				}
				else if ( (true) ) {
					alt176=18;
				}

			}
			else if ( (LA176_0==SASS_MIXIN) ) {
				int LA176_8 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( ((synpred29_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=7;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 8, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==GREATER||LA176_0==PLUS||LA176_0==TILDE) && (synpred26_Css3())) {
				alt176=4;
			}
			else if ( (LA176_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred26_Css3())) {
				alt176=4;
			}
			else if ( (LA176_0==LESS_AND) ) {
				int LA176_11 = input.LA(2);
				if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred29_Css3())) ) {
					alt176=7;
				}
				else if ( ((synpred30_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=8;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred31_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=9;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 11, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==HASH) ) {
				int LA176_12 = input.LA(2);
				if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred29_Css3())) ) {
					alt176=7;
				}
				else if ( ((synpred30_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=8;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred31_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=9;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 12, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==DOT) ) {
				int LA176_13 = input.LA(2);
				if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred29_Css3())) ) {
					alt176=7;
				}
				else if ( ((synpred30_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=8;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred31_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=9;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 13, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==DIMENSION) && (synpred26_Css3())) {
				alt176=4;
			}
			else if ( (LA176_0==LBRACKET) && (synpred26_Css3())) {
				alt176=4;
			}
			else if ( (LA176_0==COLON||LA176_0==DCOLON) && (synpred26_Css3())) {
				alt176=4;
			}
			else if ( (LA176_0==STAR) ) {
				int LA176_17 = input.LA(2);
				if ( (synpred26_Css3()) ) {
					alt176=4;
				}
				else if ( (synpred27_Css3()) ) {
					alt176=5;
				}
				else if ( (synpred28_Css3()) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 17, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==PIPE) && (synpred26_Css3())) {
				alt176=4;
			}
			else if ( (LA176_0==AT_IDENT) ) {
				int LA176_19 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( ((synpred30_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=8;
				}
				else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred31_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=9;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 19, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_INCLUDE) ) {
				int LA176_20 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( ((synpred30_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=8;
				}
				else if ( ((synpred31_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt176=9;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 20, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==MEDIA_SYM) ) {
				int LA176_21 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 21, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==PAGE_SYM) ) {
				int LA176_22 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 22, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==COUNTER_STYLE_SYM) ) {
				int LA176_23 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 23, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==FONT_FACE_SYM) ) {
				int LA176_24 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 24, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==MOZ_DOCUMENT_SYM) ) {
				int LA176_25 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 25, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==WEBKIT_KEYFRAMES_SYM) ) {
				int LA176_26 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt176=10;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 26, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_IF) ) {
				int LA176_27 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=11;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 27, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_FOR) ) {
				int LA176_28 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=11;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 28, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_EACH) ) {
				int LA176_29 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=11;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 29, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_WHILE) ) {
				int LA176_30 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=11;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 30, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_EXTEND) ) {
				int LA176_31 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=12;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 31, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_DEBUG||LA176_0==SASS_WARN) ) {
				int LA176_32 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=13;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 32, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_CONTENT) ) {
				int LA176_33 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=14;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 33, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_RETURN) ) {
				int LA176_34 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=15;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 34, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==IMPORT_SYM) ) {
				int LA176_35 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt176=17;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 35, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA176_0==SASS_ERROR) ) {
				alt176=16;
			}
			else if ( ((LA176_0 >= BOTTOMCENTER_SYM && LA176_0 <= BOTTOMRIGHT_SYM)||LA176_0==CHARSET_SYM||(LA176_0 >= LEFTBOTTOM_SYM && LA176_0 <= LEFTTOP_SYM)||LA176_0==NAMESPACE_SYM||(LA176_0 >= RIGHTBOTTOM_SYM && LA176_0 <= RIGHTTOP_SYM)||LA176_0==SASS_ELSE||LA176_0==SASS_FUNCTION||(LA176_0 >= TOPCENTER_SYM && LA176_0 <= TOPRIGHT_SYM)) ) {
				int LA176_37 = input.LA(2);
				if ( ((synpred23_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt176=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred24_Css3())) ) {
					alt176=2;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred25_Css3())) ) {
					alt176=3;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred27_Css3())) ) {
					alt176=5;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred28_Css3())) ) {
					alt176=6;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 176, 37, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 176, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(176);}

			switch (alt176) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:694:5: ( cp_variable_declaration )=> cp_variable_declaration
					{
					dbg.location(694,32);
					pushFollow(FOLLOW_cp_variable_declaration_in_declaration3154);
					cp_variable_declaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:695:7: ( sass_map )=> sass_map
					{
					dbg.location(695,20);
					pushFollow(FOLLOW_sass_map_in_declaration3167);
					sass_map();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:696:7: ( sass_nested_properties )=> sass_nested_properties
					{
					dbg.location(696,33);
					pushFollow(FOLLOW_sass_nested_properties_in_declaration3179);
					sass_nested_properties();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule
					{
					dbg.location(697,145);
					pushFollow(FOLLOW_rule_in_declaration3242);
					rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:698:7: ( propertyDeclaration )=> propertyDeclaration
					{
					dbg.location(698,30);
					pushFollow(FOLLOW_propertyDeclaration_in_declaration3254);
					propertyDeclaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:700:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration
					{
					dbg.location(700,67);
					pushFollow(FOLLOW_propertyDeclaration_in_declaration3293);
					propertyDeclaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:701:7: ( cp_mixin_declaration )=> cp_mixin_declaration
					{
					dbg.location(701,31);
					pushFollow(FOLLOW_cp_mixin_declaration_in_declaration3305);
					cp_mixin_declaration();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 8 :
					dbg.enterAlt(8);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:7: ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
					{
					dbg.location(702,25);
					pushFollow(FOLLOW_cp_mixin_call_in_declaration3318);
					cp_mixin_call();
					state._fsp--;
					if (state.failed) return;dbg.location(702,39);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:39: ( ( ws )? IMPORTANT_SYM )?
					int alt173=2;
					try { dbg.enterSubRule(173);
					try { dbg.enterDecision(173, decisionCanBacktrack[173]);

					try {
						isCyclicDecision = true;
						alt173 = dfa173.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(173);}

					switch (alt173) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:40: ( ws )? IMPORTANT_SYM
							{
							dbg.location(702,40);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:40: ( ws )?
							int alt172=2;
							try { dbg.enterSubRule(172);
							try { dbg.enterDecision(172, decisionCanBacktrack[172]);

							int LA172_0 = input.LA(1);
							if ( (LA172_0==COMMENT||LA172_0==NL||LA172_0==WS) ) {
								alt172=1;
							}
							} finally {dbg.exitDecision(172);}

							switch (alt172) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:40: ws
									{
									dbg.location(702,40);
									pushFollow(FOLLOW_ws_in_declaration3321);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(172);}
							dbg.location(702,44);
							match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration3324); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(173);}

					}
					break;
				case 9 :
					dbg.enterAlt(9);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )?
					{
					dbg.location(703,25);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(703,43);
					pushFollow(FOLLOW_cp_mixin_call_in_declaration3341);
					cp_mixin_call();
					state._fsp--;
					if (state.failed) return;dbg.location(703,57);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:57: ( ( ws )? IMPORTANT_SYM )?
					int alt175=2;
					try { dbg.enterSubRule(175);
					try { dbg.enterDecision(175, decisionCanBacktrack[175]);

					try {
						isCyclicDecision = true;
						alt175 = dfa175.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(175);}

					switch (alt175) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:58: ( ws )? IMPORTANT_SYM
							{
							dbg.location(703,58);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:58: ( ws )?
							int alt174=2;
							try { dbg.enterSubRule(174);
							try { dbg.enterDecision(174, decisionCanBacktrack[174]);

							int LA174_0 = input.LA(1);
							if ( (LA174_0==COMMENT||LA174_0==NL||LA174_0==WS) ) {
								alt174=1;
							}
							} finally {dbg.exitDecision(174);}

							switch (alt174) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:58: ws
									{
									dbg.location(703,58);
									pushFollow(FOLLOW_ws_in_declaration3344);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(174);}
							dbg.location(703,62);
							match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration3347); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(175);}

					}
					break;
				case 10 :
					dbg.enterAlt(10);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:704:7: {...}? at_rule
					{
					dbg.location(704,7);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isCssPreprocessorSource()");
					}dbg.location(704,36);
					pushFollow(FOLLOW_at_rule_in_declaration3363);
					at_rule();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 11 :
					dbg.enterAlt(11);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:705:7: {...}? sass_control
					{
					dbg.location(705,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(705,25);
					pushFollow(FOLLOW_sass_control_in_declaration3373);
					sass_control();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 12 :
					dbg.enterAlt(12);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:706:7: {...}? sass_extend
					{
					dbg.location(706,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(706,25);
					pushFollow(FOLLOW_sass_extend_in_declaration3383);
					sass_extend();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 13 :
					dbg.enterAlt(13);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:707:7: {...}? sass_debug
					{
					dbg.location(707,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(707,25);
					pushFollow(FOLLOW_sass_debug_in_declaration3393);
					sass_debug();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 14 :
					dbg.enterAlt(14);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:708:7: {...}? sass_content
					{
					dbg.location(708,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(708,25);
					pushFollow(FOLLOW_sass_content_in_declaration3403);
					sass_content();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 15 :
					dbg.enterAlt(15);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:709:7: {...}? sass_function_return
					{
					dbg.location(709,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(709,25);
					pushFollow(FOLLOW_sass_function_return_in_declaration3413);
					sass_function_return();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 16 :
					dbg.enterAlt(16);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:710:7: {...}? sass_error
					{
					dbg.location(710,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(710,25);
					pushFollow(FOLLOW_sass_error_in_declaration3423);
					sass_error();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 17 :
					dbg.enterAlt(17);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:711:7: {...}? importItem
					{
					dbg.location(711,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "declaration", "isScssSource()");
					}dbg.location(711,25);
					pushFollow(FOLLOW_importItem_in_declaration3433);
					importItem();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 18 :
					dbg.enterAlt(18);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:712:7: GEN
					{
					dbg.location(712,7);
					match(input,GEN,FOLLOW_GEN_in_declaration3441); if (state.failed) return;
					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(SEMI));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(713, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "declaration");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "declaration"



	// $ANTLR start "selectorsGroup"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:1: selectorsGroup : selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ;
	public final void selectorsGroup() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "selectorsGroup");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(719, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:5: ( selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:9: selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )?
			{
			dbg.location(721,9);
			pushFollow(FOLLOW_selector_in_selectorsGroup3475);
			selector();
			state._fsp--;
			if (state.failed) return;dbg.location(721,18);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:18: ( ( ws )? COMMA ( ws )? selector )*
			try { dbg.enterSubRule(179);

			loop179:
			while (true) {
				int alt179=2;
				try { dbg.enterDecision(179, decisionCanBacktrack[179]);

				try {
					isCyclicDecision = true;
					alt179 = dfa179.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(179);}

				switch (alt179) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:19: ( ws )? COMMA ( ws )? selector
					{
					dbg.location(721,19);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:19: ( ws )?
					int alt177=2;
					try { dbg.enterSubRule(177);
					try { dbg.enterDecision(177, decisionCanBacktrack[177]);

					int LA177_0 = input.LA(1);
					if ( (LA177_0==COMMENT||LA177_0==NL||LA177_0==WS) ) {
						alt177=1;
					}
					} finally {dbg.exitDecision(177);}

					switch (alt177) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:19: ws
							{
							dbg.location(721,19);
							pushFollow(FOLLOW_ws_in_selectorsGroup3478);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(177);}
					dbg.location(721,23);
					match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup3481); if (state.failed) return;dbg.location(721,29);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:29: ( ws )?
					int alt178=2;
					try { dbg.enterSubRule(178);
					try { dbg.enterDecision(178, decisionCanBacktrack[178]);

					int LA178_0 = input.LA(1);
					if ( (LA178_0==COMMENT||LA178_0==NL||LA178_0==WS) ) {
						alt178=1;
					}
					} finally {dbg.exitDecision(178);}

					switch (alt178) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:29: ws
							{
							dbg.location(721,29);
							pushFollow(FOLLOW_ws_in_selectorsGroup3483);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(178);}
					dbg.location(721,33);
					pushFollow(FOLLOW_selector_in_selectorsGroup3486);
					selector();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop179;
				}
			}
			} finally {dbg.exitSubRule(179);}
			dbg.location(721,44);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:44: ({...}? COMMA )?
			int alt180=2;
			try { dbg.enterSubRule(180);
			try { dbg.enterDecision(180, decisionCanBacktrack[180]);

			int LA180_0 = input.LA(1);
			if ( (LA180_0==COMMA) ) {
				alt180=1;
			}
			} finally {dbg.exitDecision(180);}

			switch (alt180) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:45: {...}? COMMA
					{
					dbg.location(721,45);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "selectorsGroup", "isCssPreprocessorSource()");
					}dbg.location(721,74);
					match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup3493); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(180);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(722, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "selectorsGroup");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "selectorsGroup"



	// $ANTLR start "selector"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );
	public final void selector() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "selector");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(724, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:5: ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator )
			int alt187=2;
			try { dbg.enterDecision(187, decisionCanBacktrack[187]);

			try {
				isCyclicDecision = true;
				alt187 = dfa187.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(187);}

			switch (alt187) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:8: ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*
					{
					dbg.location(725,8);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:8: ( combinator ( ws )? )?
					int alt182=2;
					try { dbg.enterSubRule(182);
					try { dbg.enterDecision(182, decisionCanBacktrack[182]);

					int LA182_0 = input.LA(1);
					if ( (LA182_0==GREATER||LA182_0==PLUS||LA182_0==TILDE) ) {
						alt182=1;
					}
					} finally {dbg.exitDecision(182);}

					switch (alt182) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:9: combinator ( ws )?
							{
							dbg.location(725,9);
							pushFollow(FOLLOW_combinator_in_selector3514);
							combinator();
							state._fsp--;
							if (state.failed) return;dbg.location(725,20);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:20: ( ws )?
							int alt181=2;
							try { dbg.enterSubRule(181);
							try { dbg.enterDecision(181, decisionCanBacktrack[181]);

							int LA181_0 = input.LA(1);
							if ( (LA181_0==COMMENT||LA181_0==NL||LA181_0==WS) ) {
								alt181=1;
							}
							} finally {dbg.exitDecision(181);}

							switch (alt181) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:20: ws
									{
									dbg.location(725,20);
									pushFollow(FOLLOW_ws_in_selector3516);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(181);}

							}
							break;

					}
					} finally {dbg.exitSubRule(182);}
					dbg.location(725,26);
					pushFollow(FOLLOW_simpleSelectorSequence_in_selector3521);
					simpleSelectorSequence();
					state._fsp--;
					if (state.failed) return;dbg.location(725,49);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*
					try { dbg.enterSubRule(186);

					loop186:
					while (true) {
						int alt186=2;
						try { dbg.enterDecision(186, decisionCanBacktrack[186]);

						try {
							isCyclicDecision = true;
							alt186 = dfa186.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(186);}

						switch (alt186) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:51: ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence
							{
							dbg.location(725,51);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:51: ( ( ( ws )? combinator ( ws )? ) | ws )
							int alt185=2;
							try { dbg.enterSubRule(185);
							try { dbg.enterDecision(185, decisionCanBacktrack[185]);

							try {
								isCyclicDecision = true;
								alt185 = dfa185.predict(input);
							}
							catch (NoViableAltException nvae) {
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(185);}

							switch (alt185) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:52: ( ( ws )? combinator ( ws )? )
									{
									dbg.location(725,52);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:52: ( ( ws )? combinator ( ws )? )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:53: ( ws )? combinator ( ws )?
									{
									dbg.location(725,53);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:53: ( ws )?
									int alt183=2;
									try { dbg.enterSubRule(183);
									try { dbg.enterDecision(183, decisionCanBacktrack[183]);

									int LA183_0 = input.LA(1);
									if ( (LA183_0==COMMENT||LA183_0==NL||LA183_0==WS) ) {
										alt183=1;
									}
									} finally {dbg.exitDecision(183);}

									switch (alt183) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:53: ws
											{
											dbg.location(725,53);
											pushFollow(FOLLOW_ws_in_selector3527);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(183);}
									dbg.location(725,57);
									pushFollow(FOLLOW_combinator_in_selector3530);
									combinator();
									state._fsp--;
									if (state.failed) return;dbg.location(725,68);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:68: ( ws )?
									int alt184=2;
									try { dbg.enterSubRule(184);
									try { dbg.enterDecision(184, decisionCanBacktrack[184]);

									int LA184_0 = input.LA(1);
									if ( (LA184_0==COMMENT||LA184_0==NL||LA184_0==WS) ) {
										alt184=1;
									}
									} finally {dbg.exitDecision(184);}

									switch (alt184) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:68: ws
											{
											dbg.location(725,68);
											pushFollow(FOLLOW_ws_in_selector3532);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(184);}

									}

									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:73: ws
									{
									dbg.location(725,73);
									pushFollow(FOLLOW_ws_in_selector3536);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(185);}
							dbg.location(725,77);
							pushFollow(FOLLOW_simpleSelectorSequence_in_selector3539);
							simpleSelectorSequence();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop186;
						}
					}
					} finally {dbg.exitSubRule(186);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:726:10: {...}? combinator
					{
					dbg.location(726,10);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "selector", "isScssSource()");
					}dbg.location(726,28);
					pushFollow(FOLLOW_combinator_in_selector3554);
					combinator();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(727, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "selector");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "selector"



	// $ANTLR start "combinator"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:729:1: combinator : ( PLUS | GREATER | TILDE );
	public final void combinator() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "combinator");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(729, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:730:5: ( PLUS | GREATER | TILDE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(730,5);
			if ( input.LA(1)==GREATER||input.LA(1)==PLUS||input.LA(1)==TILDE ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(732, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "combinator");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "combinator"



	// $ANTLR start "simpleSelectorSequence"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:1: simpleSelectorSequence : ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* );
	public final void simpleSelectorSequence() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "simpleSelectorSequence");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(734, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:2: ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* )
			int alt196=2;
			try { dbg.enterDecision(196, decisionCanBacktrack[196]);

			int LA196_0 = input.LA(1);
			if ( (LA196_0==AT_SIGN||LA196_0==COLON||(LA196_0 >= DCOLON && LA196_0 <= DOT)||(LA196_0 >= HASH && LA196_0 <= HASH_SYMBOL)||LA196_0==LBRACKET||LA196_0==MINUS||LA196_0==SASS_EXTEND_ONLY_SELECTOR) ) {
				alt196=1;
			}
			else if ( (LA196_0==LESS_AND) ) {
				int LA196_2 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt196=1;
				}
				else if ( (synpred33_Css3()) ) {
					alt196=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 196, 2, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA196_0==IDENT) ) {
				int LA196_3 = input.LA(2);
				if ( (LA196_3==HASH_SYMBOL) ) {
					int LA196_7 = input.LA(3);
					if ( (LA196_7==LBRACE) ) {
						alt196=1;
					}
					else if ( (LA196_7==NAME) && (synpred33_Css3())) {
						alt196=2;
					}
					else if ( (LA196_7==IDENT||LA196_7==MINUS) && (synpred33_Css3())) {
						alt196=2;
					}
					else if ( (LA196_7==AT_SIGN) && (synpred33_Css3())) {
						alt196=2;
					}

				}
				else if ( (LA196_3==AT_SIGN) ) {
					alt196=1;
				}
				else if ( (LA196_3==PIPE) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==COMMENT||LA196_3==NL||LA196_3==WS) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==SASS_EXTEND_ONLY_SELECTOR) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==LESS_AND) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==HASH) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==DOT) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==DIMENSION) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==LBRACKET) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==COLON||LA196_3==DCOLON) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==GREATER||LA196_3==PLUS||LA196_3==TILDE) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==COMMA) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==LBRACE) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==RPAREN) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==SEMI) && (synpred33_Css3())) {
					alt196=2;
				}
				else if ( (LA196_3==RBRACE) && (synpred33_Css3())) {
					alt196=2;
				}

			}
			else if ( (LA196_0==STAR) && (synpred33_Css3())) {
				alt196=2;
			}
			else if ( (LA196_0==PIPE) && (synpred33_Css3())) {
				alt196=2;
			}
			else if ( (LA196_0==GEN) && (synpred33_Css3())) {
				alt196=2;
			}

			} finally {dbg.exitDecision(196);}

			switch (alt196) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )*
					{
					dbg.location(736,9);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
					int alt188=3;
					try { dbg.enterSubRule(188);
					try { dbg.enterDecision(188, decisionCanBacktrack[188]);

					switch ( input.LA(1) ) {
					case COLON:
					case DCOLON:
					case DIMENSION:
					case DOT:
					case HASH:
					case LBRACKET:
					case LESS_AND:
					case SASS_EXTEND_ONLY_SELECTOR:
						{
						alt188=1;
						}
						break;
					case HASH_SYMBOL:
						{
						int LA188_2 = input.LA(2);
						if ( (LA188_2==LBRACE) ) {
							alt188=2;
						}
						else if ( (LA188_2==AT_SIGN||LA188_2==IDENT||LA188_2==MINUS||LA188_2==NAME) ) {
							alt188=1;
						}

						else {
							if (state.backtracking>0) {state.failed=true; return;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 188, 2, input);
								dbg.recognitionException(nvae);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}

						}
						break;
					case IDENT:
					case MINUS:
						{
						int LA188_3 = input.LA(2);
						if ( (LA188_3==HASH_SYMBOL) ) {
							alt188=2;
						}
						else if ( (LA188_3==AT_SIGN) ) {
							alt188=3;
						}

						else {
							if (state.backtracking>0) {state.failed=true; return;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 188, 3, input);
								dbg.recognitionException(nvae);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}

						}
						break;
					case AT_SIGN:
						{
						alt188=3;
						}
						break;
					default:
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 188, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(188);}

					switch (alt188) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:10: elementSubsequent
							{
							dbg.location(736,10);
							pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence3606);
							elementSubsequent();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:30: {...}? sass_selector_interpolation_exp
							{
							dbg.location(736,30);
							if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()");
							}dbg.location(736,48);
							pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3612);
							sass_selector_interpolation_exp();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 3 :
							dbg.enterAlt(3);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:11: {...}? less_selector_interpolation_exp
							{
							dbg.location(737,11);
							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "simpleSelectorSequence", "isLessSource()");
							}dbg.location(737,29);
							pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3626);
							less_selector_interpolation_exp();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(188);}
					dbg.location(737,64);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:64: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )*
					try { dbg.enterSubRule(192);

					loop192:
					while (true) {
						int alt192=2;
						try { dbg.enterDecision(192, decisionCanBacktrack[192]);

						int LA192_0 = input.LA(1);
						if ( (LA192_0==COMMENT||LA192_0==NL||LA192_0==WS) ) {
							int LA192_1 = input.LA(2);
							if ( (synpred32_Css3()) ) {
								alt192=1;
							}

						}
						else if ( (LA192_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==LESS_AND) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==HASH) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==HASH_SYMBOL) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==DOT) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==DIMENSION) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==LBRACKET) && (synpred32_Css3())) {
							alt192=1;
						}
						else if ( (LA192_0==COLON||LA192_0==DCOLON) && (synpred32_Css3())) {
							alt192=1;
						}

						} finally {dbg.exitDecision(192);}

						switch (alt192) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:65: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )
							{
							dbg.location(737,79);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )
							int alt191=2;
							try { dbg.enterSubRule(191);
							try { dbg.enterDecision(191, decisionCanBacktrack[191]);

							try {
								isCyclicDecision = true;
								alt191 = dfa191.predict(input);
							}
							catch (NoViableAltException nvae) {
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(191);}

							switch (alt191) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:80: ( ( ws )? elementSubsequent )
									{
									dbg.location(737,80);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:80: ( ( ws )? elementSubsequent )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:81: ( ws )? elementSubsequent
									{
									dbg.location(737,81);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:81: ( ws )?
									int alt189=2;
									try { dbg.enterSubRule(189);
									try { dbg.enterDecision(189, decisionCanBacktrack[189]);

									int LA189_0 = input.LA(1);
									if ( (LA189_0==COMMENT||LA189_0==NL||LA189_0==WS) ) {
										alt189=1;
									}
									} finally {dbg.exitDecision(189);}

									switch (alt189) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:81: ws
											{
											dbg.location(737,81);
											pushFollow(FOLLOW_ws_in_simpleSelectorSequence3641);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(189);}
									dbg.location(737,85);
									pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence3644);
									elementSubsequent();
									state._fsp--;
									if (state.failed) return;
									}

									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) )
									{
									dbg.location(737,105);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:106: ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
									{
									dbg.location(737,106);
									pushFollow(FOLLOW_ws_in_simpleSelectorSequence3649);
									ws();
									state._fsp--;
									if (state.failed) return;dbg.location(737,109);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:109: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp )
									int alt190=2;
									try { dbg.enterSubRule(190);
									try { dbg.enterDecision(190, decisionCanBacktrack[190]);

									switch ( input.LA(1) ) {
									case IDENT:
									case MINUS:
										{
										int LA190_1 = input.LA(2);
										if ( (LA190_1==HASH_SYMBOL) ) {
											alt190=1;
										}
										else if ( (LA190_1==AT_SIGN) ) {
											alt190=2;
										}

										else {
											if (state.backtracking>0) {state.failed=true; return;}
											int nvaeMark = input.mark();
											try {
												input.consume();
												NoViableAltException nvae =
													new NoViableAltException("", 190, 1, input);
												dbg.recognitionException(nvae);
												throw nvae;
											} finally {
												input.rewind(nvaeMark);
											}
										}

										}
										break;
									case HASH_SYMBOL:
										{
										alt190=1;
										}
										break;
									case AT_SIGN:
										{
										alt190=2;
										}
										break;
									default:
										if (state.backtracking>0) {state.failed=true; return;}
										NoViableAltException nvae =
											new NoViableAltException("", 190, 0, input);
										dbg.recognitionException(nvae);
										throw nvae;
									}
									} finally {dbg.exitDecision(190);}

									switch (alt190) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:110: {...}? sass_selector_interpolation_exp
											{
											dbg.location(737,110);
											if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
												if (state.backtracking>0) {state.failed=true; return;}
												throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()");
											}dbg.location(737,128);
											pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3654);
											sass_selector_interpolation_exp();
											state._fsp--;
											if (state.failed) return;
											}
											break;
										case 2 :
											dbg.enterAlt(2);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:162: {...}? less_selector_interpolation_exp
											{
											dbg.location(737,162);
											if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
												if (state.backtracking>0) {state.failed=true; return;}
												throw new FailedPredicateException(input, "simpleSelectorSequence", "isLessSource()");
											}dbg.location(737,180);
											pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3660);
											less_selector_interpolation_exp();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(190);}

									}

									}
									break;

							}
							} finally {dbg.exitSubRule(191);}

							}
							break;

						default :
							break loop192;
						}
					}
					} finally {dbg.exitSubRule(192);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:4: ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )*
					{
					dbg.location(738,20);
					pushFollow(FOLLOW_typeSelector_in_simpleSelectorSequence3674);
					typeSelector();
					state._fsp--;
					if (state.failed) return;dbg.location(738,33);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:33: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )*
					try { dbg.enterSubRule(195);

					loop195:
					while (true) {
						int alt195=2;
						try { dbg.enterDecision(195, decisionCanBacktrack[195]);

						int LA195_0 = input.LA(1);
						if ( (LA195_0==COMMENT||LA195_0==NL||LA195_0==WS) ) {
							int LA195_1 = input.LA(2);
							if ( (synpred34_Css3()) ) {
								alt195=1;
							}

						}
						else if ( (LA195_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==LESS_AND) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==HASH) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==HASH_SYMBOL) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==DOT) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==DIMENSION) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==LBRACKET) && (synpred34_Css3())) {
							alt195=1;
						}
						else if ( (LA195_0==COLON||LA195_0==DCOLON) && (synpred34_Css3())) {
							alt195=1;
						}

						} finally {dbg.exitDecision(195);}

						switch (alt195) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:34: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )
							{
							dbg.location(738,48);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )
							int alt194=2;
							try { dbg.enterSubRule(194);
							try { dbg.enterDecision(194, decisionCanBacktrack[194]);

							try {
								isCyclicDecision = true;
								alt194 = dfa194.predict(input);
							}
							catch (NoViableAltException nvae) {
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(194);}

							switch (alt194) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:49: ( ( ws )? elementSubsequent )
									{
									dbg.location(738,49);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:49: ( ( ws )? elementSubsequent )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:50: ( ws )? elementSubsequent
									{
									dbg.location(738,50);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:50: ( ws )?
									int alt193=2;
									try { dbg.enterSubRule(193);
									try { dbg.enterDecision(193, decisionCanBacktrack[193]);

									int LA193_0 = input.LA(1);
									if ( (LA193_0==COMMENT||LA193_0==NL||LA193_0==WS) ) {
										alt193=1;
									}
									} finally {dbg.exitDecision(193);}

									switch (alt193) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:50: ws
											{
											dbg.location(738,50);
											pushFollow(FOLLOW_ws_in_simpleSelectorSequence3686);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(193);}
									dbg.location(738,54);
									pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence3689);
									elementSubsequent();
									state._fsp--;
									if (state.failed) return;
									}

									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:75: {...}? ws sass_selector_interpolation_exp
									{
									dbg.location(738,75);
									if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
										if (state.backtracking>0) {state.failed=true; return;}
										throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()");
									}dbg.location(738,93);
									pushFollow(FOLLOW_ws_in_simpleSelectorSequence3696);
									ws();
									state._fsp--;
									if (state.failed) return;dbg.location(738,96);
									pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3698);
									sass_selector_interpolation_exp();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(194);}

							}
							break;

						default :
							break loop195;
						}
					}
					} finally {dbg.exitSubRule(195);}

					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			            reportError(rce);
			            consumeUntil(input, BitSet.of(LBRACE));
			        
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(739, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "simpleSelectorSequence");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "simpleSelectorSequence"



	// $ANTLR start "esPred"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:1: esPred : ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND );
	public final void esPred() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "esPred");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(746, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:5: ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND )
			int alt197=8;
			try { dbg.enterDecision(197, decisionCanBacktrack[197]);

			switch ( input.LA(1) ) {
			case HASH_SYMBOL:
				{
				alt197=1;
				}
				break;
			case HASH:
				{
				alt197=2;
				}
				break;
			case DOT:
				{
				alt197=3;
				}
				break;
			case LBRACKET:
				{
				alt197=4;
				}
				break;
			case COLON:
				{
				alt197=5;
				}
				break;
			case DCOLON:
				{
				alt197=6;
				}
				break;
			case SASS_EXTEND_ONLY_SELECTOR:
				{
				alt197=7;
				}
				break;
			case LESS_AND:
				{
				alt197=8;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 197, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(197);}

			switch (alt197) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:7: HASH_SYMBOL
					{
					dbg.location(747,7);
					match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_esPred3723); if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:21: HASH
					{
					dbg.location(747,21);
					match(input,HASH,FOLLOW_HASH_in_esPred3727); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:28: DOT
					{
					dbg.location(747,28);
					match(input,DOT,FOLLOW_DOT_in_esPred3731); if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:34: LBRACKET
					{
					dbg.location(747,34);
					match(input,LBRACKET,FOLLOW_LBRACKET_in_esPred3735); if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:45: COLON
					{
					dbg.location(747,45);
					match(input,COLON,FOLLOW_COLON_in_esPred3739); if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:53: DCOLON
					{
					dbg.location(747,53);
					match(input,DCOLON,FOLLOW_DCOLON_in_esPred3743); if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:62: SASS_EXTEND_ONLY_SELECTOR
					{
					dbg.location(747,62);
					match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred3747); if (state.failed) return;
					}
					break;
				case 8 :
					dbg.enterAlt(8);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:90: {...}? LESS_AND
					{
					dbg.location(747,90);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "esPred", "isCssPreprocessorSource()");
					}dbg.location(747,119);
					match(input,LESS_AND,FOLLOW_LESS_AND_in_esPred3753); if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(748, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "esPred");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "esPred"



	// $ANTLR start "typeSelector"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:750:1: typeSelector options {k=2; } : ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ;
	public final void typeSelector() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "typeSelector");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(750, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:3: ( ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName
			{
			dbg.location(752,6);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )?
			int alt198=2;
			try { dbg.enterSubRule(198);
			try { dbg.enterDecision(198, decisionCanBacktrack[198]);

			int LA198_0 = input.LA(1);
			if ( (LA198_0==IDENT) ) {
				int LA198_1 = input.LA(2);
				if ( (LA198_1==PIPE) && (synpred35_Css3())) {
					alt198=1;
				}
			}
			else if ( (LA198_0==STAR) ) {
				int LA198_2 = input.LA(2);
				if ( (LA198_2==PIPE) && (synpred35_Css3())) {
					alt198=1;
				}
			}
			else if ( (LA198_0==PIPE) && (synpred35_Css3())) {
				alt198=1;
			}
			} finally {dbg.exitDecision(198);}

			switch (alt198) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:7: ( ( IDENT | STAR )? PIPE )=> namespacePrefix
					{
					dbg.location(752,31);
					pushFollow(FOLLOW_namespacePrefix_in_typeSelector3795);
					namespacePrefix();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(198);}
			dbg.location(752,49);
			pushFollow(FOLLOW_elementName_in_typeSelector3799);
			elementName();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(753, 2);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "typeSelector");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "typeSelector"



	// $ANTLR start "namespacePrefix"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:755:1: namespacePrefix : ( namespacePrefixName | STAR )? PIPE ;
	public final void namespacePrefix() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "namespacePrefix");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(755, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:756:3: ( ( namespacePrefixName | STAR )? PIPE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:756:5: ( namespacePrefixName | STAR )? PIPE
			{
			dbg.location(756,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:756:5: ( namespacePrefixName | STAR )?
			int alt199=3;
			try { dbg.enterSubRule(199);
			try { dbg.enterDecision(199, decisionCanBacktrack[199]);

			int LA199_0 = input.LA(1);
			if ( (LA199_0==IDENT) ) {
				alt199=1;
			}
			else if ( (LA199_0==STAR) ) {
				alt199=2;
			}
			} finally {dbg.exitDecision(199);}

			switch (alt199) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:756:7: namespacePrefixName
					{
					dbg.location(756,7);
					pushFollow(FOLLOW_namespacePrefixName_in_namespacePrefix3814);
					namespacePrefixName();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:756:29: STAR
					{
					dbg.location(756,29);
					match(input,STAR,FOLLOW_STAR_in_namespacePrefix3818); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(199);}
			dbg.location(756,36);
			match(input,PIPE,FOLLOW_PIPE_in_namespacePrefix3822); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(757, 2);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "namespacePrefix");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "namespacePrefix"



	// $ANTLR start "elementSubsequent"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:760:1: elementSubsequent : ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ;
	public final void elementSubsequent() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "elementSubsequent");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(760, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:5: ( ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo )
			{
			dbg.location(762,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo )
			int alt201=7;
			try { dbg.enterSubRule(201);
			try { dbg.enterDecision(201, decisionCanBacktrack[201]);

			switch ( input.LA(1) ) {
			case SASS_EXTEND_ONLY_SELECTOR:
				{
				alt201=1;
				}
				break;
			case LESS_AND:
				{
				switch ( input.LA(2) ) {
				case IDENT:
					{
					int LA201_7 = input.LA(3);
					if ( ((LA201_7 >= COLON && LA201_7 <= COMMENT)||(LA201_7 >= DCOLON && LA201_7 <= DOT)||LA201_7==GREATER||(LA201_7 >= HASH && LA201_7 <= HASH_SYMBOL)||LA201_7==IDENT||(LA201_7 >= LBRACE && LA201_7 <= LBRACKET)||LA201_7==LESS_AND||LA201_7==NL||LA201_7==NUMBER||LA201_7==PLUS||LA201_7==RBRACE||LA201_7==RPAREN||LA201_7==SASS_EXTEND_ONLY_SELECTOR||LA201_7==SEMI||LA201_7==TILDE||LA201_7==WS) ) {
						alt201=2;
					}
					else if ( (LA201_7==AT_SIGN) ) {
						alt201=3;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						int nvaeMark = input.mark();
						try {
							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
								input.consume();
							}
							NoViableAltException nvae =
								new NoViableAltException("", 201, 7, input);
							dbg.recognitionException(nvae);
							throw nvae;
						} finally {
							input.rewind(nvaeMark);
						}
					}

					}
					break;
				case COLON:
				case COMMA:
				case COMMENT:
				case DCOLON:
				case DIMENSION:
				case DOT:
				case GREATER:
				case HASH:
				case HASH_SYMBOL:
				case LBRACE:
				case LBRACKET:
				case LESS_AND:
				case NL:
				case NUMBER:
				case PLUS:
				case RBRACE:
				case RPAREN:
				case SASS_EXTEND_ONLY_SELECTOR:
				case SEMI:
				case TILDE:
				case WS:
					{
					alt201=2;
					}
					break;
				case AT_SIGN:
				case MINUS:
					{
					alt201=3;
					}
					break;
				default:
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 201, 2, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}
				}
				break;
			case HASH:
			case HASH_SYMBOL:
				{
				alt201=4;
				}
				break;
			case DIMENSION:
			case DOT:
				{
				alt201=5;
				}
				break;
			case LBRACKET:
				{
				alt201=6;
				}
				break;
			case COLON:
			case DCOLON:
				{
				alt201=7;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 201, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(201);}

			switch (alt201) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:763:9: {...}? sass_extend_only_selector
					{
					dbg.location(763,9);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "elementSubsequent", "isScssSource()");
					}dbg.location(763,27);
					pushFollow(FOLLOW_sass_extend_only_selector_in_elementSubsequent3854);
					sass_extend_only_selector();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:11: {...}? LESS_AND ( IDENT | NUMBER )*
					{
					dbg.location(764,11);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "elementSubsequent", "isCssPreprocessorSource()");
					}dbg.location(764,40);
					match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent3868); if (state.failed) return;dbg.location(764,49);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:49: ( IDENT | NUMBER )*
					try { dbg.enterSubRule(200);

					loop200:
					while (true) {
						int alt200=2;
						try { dbg.enterDecision(200, decisionCanBacktrack[200]);

						int LA200_0 = input.LA(1);
						if ( (LA200_0==IDENT||LA200_0==NUMBER) ) {
							alt200=1;
						}

						} finally {dbg.exitDecision(200);}

						switch (alt200) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
							{
							dbg.location(764,49);
							if ( input.LA(1)==IDENT||input.LA(1)==NUMBER ) {
								input.consume();
								state.errorRecovery=false;
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								dbg.recognitionException(mse);
								throw mse;
							}
							}
							break;

						default :
							break loop200;
						}
					}
					} finally {dbg.exitSubRule(200);}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:11: {...}? LESS_AND less_selector_interpolation_exp
					{
					dbg.location(765,11);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "elementSubsequent", "isLessSource()");
					}dbg.location(765,29);
					match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent3891); if (state.failed) return;dbg.location(765,38);
					pushFollow(FOLLOW_less_selector_interpolation_exp_in_elementSubsequent3893);
					less_selector_interpolation_exp();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:766:8: cssId
					{
					dbg.location(766,8);
					pushFollow(FOLLOW_cssId_in_elementSubsequent3902);
					cssId();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:767:8: cssClass
					{
					dbg.location(767,8);
					pushFollow(FOLLOW_cssClass_in_elementSubsequent3911);
					cssClass();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:768:11: slAttribute
					{
					dbg.location(768,11);
					pushFollow(FOLLOW_slAttribute_in_elementSubsequent3923);
					slAttribute();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:11: pseudo
					{
					dbg.location(769,11);
					pushFollow(FOLLOW_pseudo_in_elementSubsequent3935);
					pseudo();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(201);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(771, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "elementSubsequent");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "elementSubsequent"



	// $ANTLR start "cssId"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:774:1: cssId : ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) );
	public final void cssId() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cssId");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(774, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:775:5: ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) )
			int alt204=2;
			try { dbg.enterDecision(204, decisionCanBacktrack[204]);

			int LA204_0 = input.LA(1);
			if ( (LA204_0==HASH) ) {
				alt204=1;
			}
			else if ( (LA204_0==HASH_SYMBOL) ) {
				alt204=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 204, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(204);}

			switch (alt204) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:775:7: HASH ({...}? sass_selector_interpolation_exp )?
					{
					dbg.location(775,7);
					match(input,HASH,FOLLOW_HASH_in_cssId3959); if (state.failed) return;dbg.location(775,12);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:775:12: ({...}? sass_selector_interpolation_exp )?
					int alt202=2;
					try { dbg.enterSubRule(202);
					try { dbg.enterDecision(202, decisionCanBacktrack[202]);

					int LA202_0 = input.LA(1);
					if ( (LA202_0==IDENT||LA202_0==MINUS) ) {
						alt202=1;
					}
					else if ( (LA202_0==HASH_SYMBOL) ) {
						int LA202_2 = input.LA(2);
						if ( (LA202_2==LBRACE) ) {
							alt202=1;
						}
					}
					} finally {dbg.exitDecision(202);}

					switch (alt202) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:775:13: {...}? sass_selector_interpolation_exp
							{
							dbg.location(775,13);
							if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "cssId", "isScssSource()");
							}dbg.location(775,31);
							pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssId3964);
							sass_selector_interpolation_exp();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(202);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) )
					{
					dbg.location(777,9);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:11: HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp )
					{
					dbg.location(777,11);
					match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_cssId3986); if (state.failed) return;dbg.location(778,13);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:13: ( NAME |{...}? less_selector_interpolation_exp )
					int alt203=2;
					try { dbg.enterSubRule(203);
					try { dbg.enterDecision(203, decisionCanBacktrack[203]);

					int LA203_0 = input.LA(1);
					if ( (LA203_0==NAME) ) {
						alt203=1;
					}
					else if ( (LA203_0==AT_SIGN||LA203_0==IDENT||LA203_0==MINUS) ) {
						alt203=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 203, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(203);}

					switch (alt203) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:15: NAME
							{
							dbg.location(778,15);
							match(input,NAME,FOLLOW_NAME_in_cssId4002); if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:779:17: {...}? less_selector_interpolation_exp
							{
							dbg.location(779,17);
							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "cssId", "isLessSource()");
							}dbg.location(779,35);
							pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssId4022);
							less_selector_interpolation_exp();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(203);}

					}

					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(WS, IDENT, LBRACE));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(782, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cssId");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cssId"



	// $ANTLR start "cssClass"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:788:1: cssClass : ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION );
	public final void cssClass() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cssClass");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(788, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:789:5: ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION )
			int alt206=2;
			try { dbg.enterDecision(206, decisionCanBacktrack[206]);

			int LA206_0 = input.LA(1);
			if ( (LA206_0==DOT) ) {
				alt206=1;
			}
			else if ( (LA206_0==DIMENSION) ) {
				alt206=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 206, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(206);}

			switch (alt206) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:789:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) )
					{
					dbg.location(789,7);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:789:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:789:8: DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN )
					{
					dbg.location(789,8);
					match(input,DOT,FOLLOW_DOT_in_cssClass4074); if (state.failed) return;dbg.location(790,9);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:790:9: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN )
					int alt205=5;
					try { dbg.enterSubRule(205);
					try { dbg.enterDecision(205, decisionCanBacktrack[205]);

					switch ( input.LA(1) ) {
					case IDENT:
						{
						switch ( input.LA(2) ) {
						case HASH_SYMBOL:
							{
							int LA205_7 = input.LA(3);
							if ( (LA205_7==LBRACE) ) {
								alt205=1;
							}
							else if ( (LA205_7==AT_SIGN||LA205_7==IDENT||LA205_7==MINUS||LA205_7==NAME) ) {
								alt205=3;
							}

							else {
								if (state.backtracking>0) {state.failed=true; return;}
								int nvaeMark = input.mark();
								try {
									for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
										input.consume();
									}
									NoViableAltException nvae =
										new NoViableAltException("", 205, 7, input);
									dbg.recognitionException(nvae);
									throw nvae;
								} finally {
									input.rewind(nvaeMark);
								}
							}

							}
							break;
						case AT_SIGN:
							{
							alt205=2;
							}
							break;
						case COLON:
						case COMMA:
						case COMMENT:
						case DCOLON:
						case DIMENSION:
						case DOT:
						case GREATER:
						case HASH:
						case LBRACE:
						case LBRACKET:
						case LESS_AND:
						case NL:
						case PLUS:
						case RBRACE:
						case RPAREN:
						case SASS_EXTEND_ONLY_SELECTOR:
						case SEMI:
						case TILDE:
						case WS:
							{
							alt205=3;
							}
							break;
						default:
							if (state.backtracking>0) {state.failed=true; return;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 205, 1, input);
								dbg.recognitionException(nvae);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}
						}
						break;
					case HASH_SYMBOL:
						{
						alt205=1;
						}
						break;
					case AT_SIGN:
						{
						alt205=2;
						}
						break;
					case MINUS:
						{
						int LA205_4 = input.LA(2);
						if ( (LA205_4==HASH_SYMBOL) ) {
							alt205=1;
						}
						else if ( (LA205_4==AT_SIGN) ) {
							alt205=2;
						}

						else {
							if (state.backtracking>0) {state.failed=true; return;}
							int nvaeMark = input.mark();
							try {
								input.consume();
								NoViableAltException nvae =
									new NoViableAltException("", 205, 4, input);
								dbg.recognitionException(nvae);
								throw nvae;
							} finally {
								input.rewind(nvaeMark);
							}
						}

						}
						break;
					case NOT:
						{
						alt205=4;
						}
						break;
					case GEN:
						{
						alt205=5;
						}
						break;
					default:
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 205, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(205);}

					switch (alt205) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:791:14: {...}? sass_selector_interpolation_exp
							{
							dbg.location(791,14);
							if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "cssClass", "isScssSource()");
							}dbg.location(791,33);
							pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssClass4102);
							sass_selector_interpolation_exp();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:792:15: {...}? less_selector_interpolation_exp
							{
							dbg.location(792,15);
							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "cssClass", "isLessSource()");
							}dbg.location(792,33);
							pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssClass4120);
							less_selector_interpolation_exp();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 3 :
							dbg.enterAlt(3);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:793:15: IDENT
							{
							dbg.location(793,15);
							match(input,IDENT,FOLLOW_IDENT_in_cssClass4136); if (state.failed) return;
							}
							break;
						case 4 :
							dbg.enterAlt(4);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:794:15: NOT
							{
							dbg.location(794,15);
							match(input,NOT,FOLLOW_NOT_in_cssClass4152); if (state.failed) return;
							}
							break;
						case 5 :
							dbg.enterAlt(5);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:795:15: GEN
							{
							dbg.location(795,15);
							match(input,GEN,FOLLOW_GEN_in_cssClass4168); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(205);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:797:10: {...}? DIMENSION
					{
					dbg.location(797,10);
					if ( !(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cssClass", "tokenNameStartsWith(\".\")");
					}dbg.location(797,38);
					match(input,DIMENSION,FOLLOW_DIMENSION_in_cssClass4191); if (state.failed) return;
					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(WS, IDENT, LBRACE));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(798, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cssClass");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cssClass"



	// $ANTLR start "elementName"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:805:1: elementName : ( IDENT | GEN | LESS_AND | STAR );
	public final void elementName() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "elementName");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(805, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:806:5: ( IDENT | GEN | LESS_AND | STAR )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(806,5);
			if ( input.LA(1)==GEN||input.LA(1)==IDENT||input.LA(1)==LESS_AND||input.LA(1)==STAR ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(807, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "elementName");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "elementName"



	// $ANTLR start "slAttribute"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:809:1: slAttribute : LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ;
	public final void slAttribute() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "slAttribute");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(809, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:810:5: ( LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:810:7: LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET
			{
			dbg.location(810,7);
			match(input,LBRACKET,FOLLOW_LBRACKET_in_slAttribute4247); if (state.failed) return;dbg.location(811,6);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:811:6: ( namespacePrefix )?
			int alt207=2;
			try { dbg.enterSubRule(207);
			try { dbg.enterDecision(207, decisionCanBacktrack[207]);

			int LA207_0 = input.LA(1);
			if ( (LA207_0==IDENT) ) {
				int LA207_1 = input.LA(2);
				if ( (LA207_1==PIPE) ) {
					alt207=1;
				}
			}
			else if ( (LA207_0==PIPE||LA207_0==STAR) ) {
				alt207=1;
			}
			} finally {dbg.exitDecision(207);}

			switch (alt207) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:811:6: namespacePrefix
					{
					dbg.location(811,6);
					pushFollow(FOLLOW_namespacePrefix_in_slAttribute4254);
					namespacePrefix();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(207);}
			dbg.location(811,23);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:811:23: ( ws )?
			int alt208=2;
			try { dbg.enterSubRule(208);
			try { dbg.enterDecision(208, decisionCanBacktrack[208]);

			int LA208_0 = input.LA(1);
			if ( (LA208_0==COMMENT||LA208_0==NL||LA208_0==WS) ) {
				alt208=1;
			}
			} finally {dbg.exitDecision(208);}

			switch (alt208) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:811:23: ws
					{
					dbg.location(811,23);
					pushFollow(FOLLOW_ws_in_slAttribute4257);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(208);}
			dbg.location(812,9);
			pushFollow(FOLLOW_slAttributeName_in_slAttribute4268);
			slAttributeName();
			state._fsp--;
			if (state.failed) return;dbg.location(812,25);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:812:25: ( ws )?
			int alt209=2;
			try { dbg.enterSubRule(209);
			try { dbg.enterDecision(209, decisionCanBacktrack[209]);

			int LA209_0 = input.LA(1);
			if ( (LA209_0==COMMENT||LA209_0==NL||LA209_0==WS) ) {
				alt209=1;
			}
			} finally {dbg.exitDecision(209);}

			switch (alt209) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:812:25: ws
					{
					dbg.location(812,25);
					pushFollow(FOLLOW_ws_in_slAttribute4270);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(209);}
			dbg.location(814,13);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:814:13: ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )?
			int alt212=2;
			try { dbg.enterSubRule(212);
			try { dbg.enterDecision(212, decisionCanBacktrack[212]);

			int LA212_0 = input.LA(1);
			if ( (LA212_0==BEGINS||LA212_0==CONTAINS||LA212_0==DASHMATCH||LA212_0==ENDS||LA212_0==INCLUDES||LA212_0==OPEQ) ) {
				alt212=1;
			}
			} finally {dbg.exitDecision(212);}

			switch (alt212) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:815:17: ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )?
					{
					dbg.location(815,17);
					if ( input.LA(1)==BEGINS||input.LA(1)==CONTAINS||input.LA(1)==DASHMATCH||input.LA(1)==ENDS||input.LA(1)==INCLUDES||input.LA(1)==OPEQ ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}dbg.location(823,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:823:17: ( ws )?
					int alt210=2;
					try { dbg.enterSubRule(210);
					try { dbg.enterDecision(210, decisionCanBacktrack[210]);

					int LA210_0 = input.LA(1);
					if ( (LA210_0==COMMENT||LA210_0==NL||LA210_0==WS) ) {
						alt210=1;
					}
					} finally {dbg.exitDecision(210);}

					switch (alt210) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:823:17: ws
							{
							dbg.location(823,17);
							pushFollow(FOLLOW_ws_in_slAttribute4484);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(210);}
					dbg.location(824,17);
					pushFollow(FOLLOW_slAttributeValue_in_slAttribute4503);
					slAttributeValue();
					state._fsp--;
					if (state.failed) return;dbg.location(825,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:825:17: ( ws )?
					int alt211=2;
					try { dbg.enterSubRule(211);
					try { dbg.enterDecision(211, decisionCanBacktrack[211]);

					int LA211_0 = input.LA(1);
					if ( (LA211_0==COMMENT||LA211_0==NL||LA211_0==WS) ) {
						alt211=1;
					}
					} finally {dbg.exitDecision(211);}

					switch (alt211) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:825:17: ws
							{
							dbg.location(825,17);
							pushFollow(FOLLOW_ws_in_slAttribute4521);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(211);}

					}
					break;

			}
			} finally {dbg.exitSubRule(212);}
			dbg.location(828,7);
			match(input,RBRACKET,FOLLOW_RBRACKET_in_slAttribute4546); if (state.failed) return;
			}

		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(IDENT, LBRACE));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(829, 0);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "slAttribute");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "slAttribute"



	// $ANTLR start "slAttributeName"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:836:1: slAttributeName : IDENT ;
	public final void slAttributeName() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "slAttributeName");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(836, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:837:2: ( IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:837:4: IDENT
			{
			dbg.location(837,4);
			match(input,IDENT,FOLLOW_IDENT_in_slAttributeName4562); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(838, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "slAttributeName");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "slAttributeName"



	// $ANTLR start "slAttributeValue"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:1: slAttributeValue : ( IDENT | STRING ) ;
	public final void slAttributeValue() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "slAttributeValue");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(840, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:841:2: ( ( IDENT | STRING ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(841,2);
			if ( input.LA(1)==IDENT||input.LA(1)==STRING ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(846, 8);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "slAttributeValue");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "slAttributeValue"



	// $ANTLR start "pseudo"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:848:1: pseudo : ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ;
	public final void pseudo() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "pseudo");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(848, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:849:5: ( ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:849:7: ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) )
			{
			dbg.location(849,7);
			if ( input.LA(1)==COLON||input.LA(1)==DCOLON ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}dbg.location(850,14);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:850:14: ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) )
			int alt225=4;
			try { dbg.enterSubRule(225);
			try { dbg.enterDecision(225, decisionCanBacktrack[225]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				int LA225_1 = input.LA(2);
				if ( (!(evalPredicate((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\")")&&evalPredicate(isLessSource(),"isLessSource()")),""))) ) {
					alt225=1;
				}
				else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\")")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt225=4;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 225, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case HASH_SYMBOL:
				{
				alt225=2;
				}
				break;
			case NOT:
				{
				alt225=3;
				}
				break;
			case GEN:
				{
				alt225=1;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 225, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(225);}

			switch (alt225) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:851:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? )
					{
					dbg.location(851,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:851:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:852:21: ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?
					{
					dbg.location(852,21);
					if ( input.LA(1)==GEN||input.LA(1)==IDENT ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}dbg.location(853,21);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?
					int alt217=2;
					try { dbg.enterSubRule(217);
					try { dbg.enterDecision(217, decisionCanBacktrack[217]);

					try {
						isCyclicDecision = true;
						alt217 = dfa217.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(217);}

					switch (alt217) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:25: ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN
							{
							dbg.location(854,25);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:25: ( ws )?
							int alt213=2;
							try { dbg.enterSubRule(213);
							try { dbg.enterDecision(213, decisionCanBacktrack[213]);

							int LA213_0 = input.LA(1);
							if ( (LA213_0==COMMENT||LA213_0==NL||LA213_0==WS) ) {
								alt213=1;
							}
							} finally {dbg.exitDecision(213);}

							switch (alt213) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:25: ws
									{
									dbg.location(854,25);
									pushFollow(FOLLOW_ws_in_pseudo4754);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(213);}
							dbg.location(854,29);
							match(input,LPAREN,FOLLOW_LPAREN_in_pseudo4757); if (state.failed) return;dbg.location(854,36);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:36: ( ws )?
							int alt214=2;
							try { dbg.enterSubRule(214);
							try { dbg.enterDecision(214, decisionCanBacktrack[214]);

							int LA214_0 = input.LA(1);
							if ( (LA214_0==COMMENT||LA214_0==NL||LA214_0==WS) ) {
								alt214=1;
							}
							} finally {dbg.exitDecision(214);}

							switch (alt214) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:36: ws
									{
									dbg.location(854,36);
									pushFollow(FOLLOW_ws_in_pseudo4759);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(214);}
							dbg.location(854,40);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:40: ( ( expression ( ws )? ) | STAR )?
							int alt216=3;
							try { dbg.enterSubRule(216);
							try { dbg.enterDecision(216, decisionCanBacktrack[216]);

							int LA216_0 = input.LA(1);
							if ( ((LA216_0 >= ANGLE && LA216_0 <= AT_SIGN)||(LA216_0 >= BOTTOMCENTER_SYM && LA216_0 <= BOTTOMRIGHT_SYM)||LA216_0==CHARSET_SYM||LA216_0==COUNTER_STYLE_SYM||LA216_0==DIMENSION||LA216_0==EMS||LA216_0==EXS||(LA216_0 >= FONT_FACE_SYM && LA216_0 <= FREQ)||LA216_0==GEN||(LA216_0 >= HASH && LA216_0 <= HASH_SYMBOL)||LA216_0==IDENT||LA216_0==IMPORT_SYM||(LA216_0 >= LEFTBOTTOM_SYM && LA216_0 <= LENGTH)||(LA216_0 >= LESS_AND && LA216_0 <= LESS_JS_STRING)||(LA216_0 >= MEDIA_SYM && LA216_0 <= MOZ_DOCUMENT_SYM)||LA216_0==NAMESPACE_SYM||LA216_0==NUMBER||(LA216_0 >= PAGE_SYM && LA216_0 <= PERCENTAGE_SYMBOL)||LA216_0==PLUS||(LA216_0 >= REM && LA216_0 <= RIGHTTOP_SYM)||(LA216_0 >= SASS_AT_ROOT && LA216_0 <= SASS_DEBUG)||(LA216_0 >= SASS_EACH && LA216_0 <= SASS_ELSE)||LA216_0==SASS_EXTEND||(LA216_0 >= SASS_FOR && LA216_0 <= SASS_FUNCTION)||(LA216_0 >= SASS_IF && LA216_0 <= SASS_MIXIN)||(LA216_0 >= SASS_RETURN && LA216_0 <= SASS_WHILE)||LA216_0==STRING||(LA216_0 >= TILDE && LA216_0 <= TOPRIGHT_SYM)||LA216_0==URI||LA216_0==WEBKIT_KEYFRAMES_SYM) ) {
								alt216=1;
							}
							else if ( (LA216_0==STAR) ) {
								alt216=2;
							}
							} finally {dbg.exitDecision(216);}

							switch (alt216) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:42: ( expression ( ws )? )
									{
									dbg.location(854,42);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:42: ( expression ( ws )? )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:43: expression ( ws )?
									{
									dbg.location(854,43);
									pushFollow(FOLLOW_expression_in_pseudo4765);
									expression();
									state._fsp--;
									if (state.failed) return;dbg.location(854,54);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:54: ( ws )?
									int alt215=2;
									try { dbg.enterSubRule(215);
									try { dbg.enterDecision(215, decisionCanBacktrack[215]);

									int LA215_0 = input.LA(1);
									if ( (LA215_0==COMMENT||LA215_0==NL||LA215_0==WS) ) {
										alt215=1;
									}
									} finally {dbg.exitDecision(215);}

									switch (alt215) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:54: ws
											{
											dbg.location(854,54);
											pushFollow(FOLLOW_ws_in_pseudo4767);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(215);}

									}

									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:61: STAR
									{
									dbg.location(854,61);
									match(input,STAR,FOLLOW_STAR_in_pseudo4773); if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(216);}
							dbg.location(854,69);
							match(input,RPAREN,FOLLOW_RPAREN_in_pseudo4778); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(217);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:857:19: {...}? sass_interpolation_expression_var
					{
					dbg.location(857,19);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "pseudo", "isScssSource()");
					}dbg.location(857,37);
					pushFollow(FOLLOW_sass_interpolation_expression_var_in_pseudo4841);
					sass_interpolation_expression_var();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:17: ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN )
					{
					dbg.location(859,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:17: ( NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:19: NOT ( ws )? LPAREN ( ws )? ( simpleSelectorSequence ( ws )? )? RPAREN
					{
					dbg.location(859,19);
					match(input,NOT,FOLLOW_NOT_in_pseudo4879); if (state.failed) return;dbg.location(859,23);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:23: ( ws )?
					int alt218=2;
					try { dbg.enterSubRule(218);
					try { dbg.enterDecision(218, decisionCanBacktrack[218]);

					int LA218_0 = input.LA(1);
					if ( (LA218_0==COMMENT||LA218_0==NL||LA218_0==WS) ) {
						alt218=1;
					}
					} finally {dbg.exitDecision(218);}

					switch (alt218) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:23: ws
							{
							dbg.location(859,23);
							pushFollow(FOLLOW_ws_in_pseudo4881);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(218);}
					dbg.location(859,27);
					match(input,LPAREN,FOLLOW_LPAREN_in_pseudo4884); if (state.failed) return;dbg.location(859,34);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:34: ( ws )?
					int alt219=2;
					try { dbg.enterSubRule(219);
					try { dbg.enterDecision(219, decisionCanBacktrack[219]);

					int LA219_0 = input.LA(1);
					if ( (LA219_0==COMMENT||LA219_0==NL||LA219_0==WS) ) {
						alt219=1;
					}
					} finally {dbg.exitDecision(219);}

					switch (alt219) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:34: ws
							{
							dbg.location(859,34);
							pushFollow(FOLLOW_ws_in_pseudo4886);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(219);}
					dbg.location(859,38);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:38: ( simpleSelectorSequence ( ws )? )?
					int alt221=2;
					try { dbg.enterSubRule(221);
					try { dbg.enterDecision(221, decisionCanBacktrack[221]);

					int LA221_0 = input.LA(1);
					if ( (LA221_0==AT_SIGN||LA221_0==COLON||(LA221_0 >= DCOLON && LA221_0 <= DOT)||LA221_0==GEN||(LA221_0 >= HASH && LA221_0 <= HASH_SYMBOL)||LA221_0==IDENT||LA221_0==LBRACKET||LA221_0==LESS_AND||LA221_0==MINUS||LA221_0==PIPE||LA221_0==SASS_EXTEND_ONLY_SELECTOR||LA221_0==STAR) ) {
						alt221=1;
					}
					} finally {dbg.exitDecision(221);}

					switch (alt221) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:39: simpleSelectorSequence ( ws )?
							{
							dbg.location(859,39);
							pushFollow(FOLLOW_simpleSelectorSequence_in_pseudo4890);
							simpleSelectorSequence();
							state._fsp--;
							if (state.failed) return;dbg.location(859,62);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:62: ( ws )?
							int alt220=2;
							try { dbg.enterSubRule(220);
							try { dbg.enterDecision(220, decisionCanBacktrack[220]);

							int LA220_0 = input.LA(1);
							if ( (LA220_0==COMMENT||LA220_0==NL||LA220_0==WS) ) {
								alt220=1;
							}
							} finally {dbg.exitDecision(220);}

							switch (alt220) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:62: ws
									{
									dbg.location(859,62);
									pushFollow(FOLLOW_ws_in_pseudo4892);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(220);}

							}
							break;

					}
					} finally {dbg.exitSubRule(221);}
					dbg.location(859,68);
					match(input,RPAREN,FOLLOW_RPAREN_in_pseudo4897); if (state.failed) return;
					}

					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:17: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN )
					{
					dbg.location(861,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:17: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:18: {...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN
					{
					dbg.location(861,18);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "pseudo", "isLessSource()");
					}dbg.location(861,36);
					if ( !(evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\")")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "pseudo", "tokenNameEquals(\"extend\")");
					}dbg.location(861,65);
					match(input,IDENT,FOLLOW_IDENT_in_pseudo4941); if (state.failed) return;dbg.location(861,71);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:71: ( ws )?
					int alt222=2;
					try { dbg.enterSubRule(222);
					try { dbg.enterDecision(222, decisionCanBacktrack[222]);

					int LA222_0 = input.LA(1);
					if ( (LA222_0==COMMENT||LA222_0==NL||LA222_0==WS) ) {
						alt222=1;
					}
					} finally {dbg.exitDecision(222);}

					switch (alt222) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:71: ws
							{
							dbg.location(861,71);
							pushFollow(FOLLOW_ws_in_pseudo4943);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(222);}
					dbg.location(861,75);
					match(input,LPAREN,FOLLOW_LPAREN_in_pseudo4946); if (state.failed) return;dbg.location(861,82);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:82: ( ws )?
					int alt223=2;
					try { dbg.enterSubRule(223);
					try { dbg.enterDecision(223, decisionCanBacktrack[223]);

					int LA223_0 = input.LA(1);
					if ( (LA223_0==COMMENT||LA223_0==NL||LA223_0==WS) ) {
						alt223=1;
					}
					} finally {dbg.exitDecision(223);}

					switch (alt223) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:82: ws
							{
							dbg.location(861,82);
							pushFollow(FOLLOW_ws_in_pseudo4948);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(223);}
					dbg.location(861,86);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:86: ( selectorsGroup )?
					int alt224=2;
					try { dbg.enterSubRule(224);
					try { dbg.enterDecision(224, decisionCanBacktrack[224]);

					int LA224_0 = input.LA(1);
					if ( (LA224_0==AT_SIGN||LA224_0==COLON||(LA224_0 >= DCOLON && LA224_0 <= DOT)||(LA224_0 >= GEN && LA224_0 <= GREATER)||(LA224_0 >= HASH && LA224_0 <= HASH_SYMBOL)||LA224_0==IDENT||LA224_0==LBRACKET||LA224_0==LESS_AND||LA224_0==MINUS||(LA224_0 >= PIPE && LA224_0 <= PLUS)||LA224_0==SASS_EXTEND_ONLY_SELECTOR||LA224_0==STAR||LA224_0==TILDE) ) {
						alt224=1;
					}
					} finally {dbg.exitDecision(224);}

					switch (alt224) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:86: selectorsGroup
							{
							dbg.location(861,86);
							pushFollow(FOLLOW_selectorsGroup_in_pseudo4951);
							selectorsGroup();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(224);}
					dbg.location(861,102);
					match(input,RPAREN,FOLLOW_RPAREN_in_pseudo4954); if (state.failed) return;
					}

					}
					break;

			}
			} finally {dbg.exitSubRule(225);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(863, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "pseudo");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "pseudo"



	// $ANTLR start "propertyDeclaration"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:865:1: propertyDeclaration : ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? );
	public final void propertyDeclaration() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "propertyDeclaration");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(865, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:866:5: ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? )
			int alt234=2;
			try { dbg.enterDecision(234, decisionCanBacktrack[234]);

			switch ( input.LA(1) ) {
			case STAR:
				{
				int LA234_1 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt234=1;
				}
				else if ( (true) ) {
					alt234=2;
				}

				}
				break;
			case IDENT:
				{
				int LA234_2 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt234=1;
				}
				else if ( (true) ) {
					alt234=2;
				}

				}
				break;
			case HASH_SYMBOL:
				{
				int LA234_3 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt234=1;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt234=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 234, 3, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_SIGN:
				{
				int LA234_4 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt234=1;
				}
				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt234=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 234, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case MINUS:
				{
				int LA234_5 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) {
					alt234=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt234=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 234, 5, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case GEN:
				{
				int LA234_6 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt234=1;
				}
				else if ( (true) ) {
					alt234=2;
				}

				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				int LA234_7 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt234=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt234=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 234, 7, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_VAR:
				{
				int LA234_8 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt234=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt234=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 234, 8, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 234, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(234);}

			switch (alt234) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:1: {...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue
					{
					dbg.location(867,1);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "propertyDeclaration", "isCssPreprocessorSource()");
					}dbg.location(867,30);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:30: ( STAR )?
					int alt226=2;
					try { dbg.enterSubRule(226);
					try { dbg.enterDecision(226, decisionCanBacktrack[226]);

					int LA226_0 = input.LA(1);
					if ( (LA226_0==STAR) ) {
						alt226=1;
					}
					} finally {dbg.exitDecision(226);}

					switch (alt226) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:30: STAR
							{
							dbg.location(867,30);
							match(input,STAR,FOLLOW_STAR_in_propertyDeclaration4990); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(226);}
					dbg.location(867,36);
					pushFollow(FOLLOW_property_in_propertyDeclaration4993);
					property();
					state._fsp--;
					if (state.failed) return;dbg.location(867,45);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:45: ( ws )?
					int alt227=2;
					try { dbg.enterSubRule(227);
					try { dbg.enterDecision(227, decisionCanBacktrack[227]);

					int LA227_0 = input.LA(1);
					if ( (LA227_0==COMMENT||LA227_0==NL||LA227_0==WS) ) {
						alt227=1;
					}
					} finally {dbg.exitDecision(227);}

					switch (alt227) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:45: ws
							{
							dbg.location(867,45);
							pushFollow(FOLLOW_ws_in_propertyDeclaration4995);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(227);}
					dbg.location(867,49);
					match(input,COLON,FOLLOW_COLON_in_propertyDeclaration4998); if (state.failed) return;dbg.location(867,55);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:55: ( ws )?
					int alt228=2;
					try { dbg.enterSubRule(228);
					try { dbg.enterDecision(228, decisionCanBacktrack[228]);

					int LA228_0 = input.LA(1);
					if ( (LA228_0==COMMENT||LA228_0==NL||LA228_0==WS) ) {
						alt228=1;
					}
					} finally {dbg.exitDecision(228);}

					switch (alt228) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:55: ws
							{
							dbg.location(867,55);
							pushFollow(FOLLOW_ws_in_propertyDeclaration5000);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(228);}
					dbg.location(867,59);
					pushFollow(FOLLOW_cp_propertyValue_in_propertyDeclaration5003);
					cp_propertyValue();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:7: ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )?
					{
					dbg.location(868,7);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:7: ( STAR )?
					int alt229=2;
					try { dbg.enterSubRule(229);
					try { dbg.enterDecision(229, decisionCanBacktrack[229]);

					int LA229_0 = input.LA(1);
					if ( (LA229_0==STAR) ) {
						alt229=1;
					}
					} finally {dbg.exitDecision(229);}

					switch (alt229) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:7: STAR
							{
							dbg.location(868,7);
							match(input,STAR,FOLLOW_STAR_in_propertyDeclaration5012); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(229);}
					dbg.location(868,13);
					pushFollow(FOLLOW_property_in_propertyDeclaration5015);
					property();
					state._fsp--;
					if (state.failed) return;dbg.location(868,22);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:22: ( ws )?
					int alt230=2;
					try { dbg.enterSubRule(230);
					try { dbg.enterDecision(230, decisionCanBacktrack[230]);

					int LA230_0 = input.LA(1);
					if ( (LA230_0==COMMENT||LA230_0==NL||LA230_0==WS) ) {
						alt230=1;
					}
					} finally {dbg.exitDecision(230);}

					switch (alt230) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:22: ws
							{
							dbg.location(868,22);
							pushFollow(FOLLOW_ws_in_propertyDeclaration5017);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(230);}
					dbg.location(868,26);
					match(input,COLON,FOLLOW_COLON_in_propertyDeclaration5020); if (state.failed) return;dbg.location(868,32);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:32: ( ws )?
					int alt231=2;
					try { dbg.enterSubRule(231);
					try { dbg.enterDecision(231, decisionCanBacktrack[231]);

					int LA231_0 = input.LA(1);
					if ( (LA231_0==COMMENT||LA231_0==NL||LA231_0==WS) ) {
						alt231=1;
					}
					} finally {dbg.exitDecision(231);}

					switch (alt231) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:32: ws
							{
							dbg.location(868,32);
							pushFollow(FOLLOW_ws_in_propertyDeclaration5022);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(231);}
					dbg.location(868,36);
					pushFollow(FOLLOW_propertyValue_in_propertyDeclaration5025);
					propertyValue();
					state._fsp--;
					if (state.failed) return;dbg.location(868,50);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:50: ( ( ws )? prio )?
					int alt233=2;
					try { dbg.enterSubRule(233);
					try { dbg.enterDecision(233, decisionCanBacktrack[233]);

					try {
						isCyclicDecision = true;
						alt233 = dfa233.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(233);}

					switch (alt233) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:51: ( ws )? prio
							{
							dbg.location(868,51);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:51: ( ws )?
							int alt232=2;
							try { dbg.enterSubRule(232);
							try { dbg.enterDecision(232, decisionCanBacktrack[232]);

							int LA232_0 = input.LA(1);
							if ( (LA232_0==COMMENT||LA232_0==NL||LA232_0==WS) ) {
								alt232=1;
							}
							} finally {dbg.exitDecision(232);}

							switch (alt232) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:51: ws
									{
									dbg.location(868,51);
									pushFollow(FOLLOW_ws_in_propertyDeclaration5028);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(232);}
							dbg.location(868,55);
							pushFollow(FOLLOW_prio_in_propertyDeclaration5031);
							prio();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(233);}

					}
					break;

			}
		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        //recovery: if an mismatched token occures inside a declaration is found,
			        //then skip all tokens until an end of the rule is found represented by right curly brace
			        consumeUntil(input, BitSet.of(SEMI, RBRACE));
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(870, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "propertyDeclaration");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "propertyDeclaration"



	// $ANTLR start "cp_propertyValue"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:879:1: cp_propertyValue : ({...}? cp_expression_list | propertyValue );
	public final void cp_propertyValue() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_propertyValue");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(879, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:880:5: ({...}? cp_expression_list | propertyValue )
			int alt235=2;
			try { dbg.enterDecision(235, decisionCanBacktrack[235]);

			switch ( input.LA(1) ) {
			case IMPORTANT_SYM:
			case LBRACE:
			case LPAREN:
			case NOT:
				{
				alt235=1;
				}
				break;
			case MINUS:
			case PLUS:
				{
				int LA235_3 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case IDENT:
				{
				int LA235_4 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case NUMBER:
				{
				int LA235_5 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case PERCENTAGE:
				{
				int LA235_6 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case LENGTH:
				{
				int LA235_7 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case EMS:
				{
				int LA235_8 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case REM:
				{
				int LA235_9 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case EXS:
				{
				int LA235_10 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case ANGLE:
				{
				int LA235_11 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case TIME:
				{
				int LA235_12 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case FREQ:
				{
				int LA235_13 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case RESOLUTION:
				{
				int LA235_14 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case DIMENSION:
				{
				int LA235_15 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case STRING:
				{
				int LA235_16 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case TILDE:
				{
				int LA235_17 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case LESS_JS_STRING:
				{
				int LA235_18 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case GEN:
				{
				int LA235_19 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case URI:
				{
				int LA235_20 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case HASH:
				{
				int LA235_21 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (true) ) {
					alt235=2;
				}

				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				int LA235_22 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt235=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt235=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 235, 22, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_VAR:
				{
				int LA235_23 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt235=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt235=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 235, 23, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case LESS_AND:
				{
				int LA235_24 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt235=1;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt235=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 235, 24, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case HASH_SYMBOL:
				{
				int LA235_25 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt235=1;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt235=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 235, 25, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_SIGN:
				{
				int LA235_26 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt235=1;
				}
				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt235=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 235, 26, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case PERCENTAGE_SYMBOL:
				{
				int LA235_27 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt235=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 235, 27, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 235, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(235);}

			switch (alt235) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:881:5: {...}? cp_expression_list
					{
					dbg.location(881,5);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_propertyValue", "isCssPreprocessorSource()");
					}dbg.location(881,34);
					pushFollow(FOLLOW_cp_expression_list_in_cp_propertyValue5071);
					cp_expression_list();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:882:7: propertyValue
					{
					dbg.location(882,7);
					pushFollow(FOLLOW_propertyValue_in_cp_propertyValue5079);
					propertyValue();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(883, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_propertyValue");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_propertyValue"



	// $ANTLR start "propertyValue"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:885:1: propertyValue : expression ;
	public final void propertyValue() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "propertyValue");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(885, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:2: ( expression )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:9: expression
			{
			dbg.location(887,9);
			pushFollow(FOLLOW_expression_in_propertyValue5101);
			expression();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(888, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "propertyValue");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "propertyValue"



	// $ANTLR start "expressionPredicate"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:1: expressionPredicate options {k=1; } : (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ;
	public final void expressionPredicate() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "expressionPredicate");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(891, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:5: ( (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:894:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE )
			{
			dbg.location(894,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:894:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+
			int cnt236=0;
			try { dbg.enterSubRule(236);

			loop236:
			while (true) {
				int alt236=2;
				try { dbg.enterDecision(236, decisionCanBacktrack[236]);

				int LA236_0 = input.LA(1);
				if ( ((LA236_0 >= A && LA236_0 <= ANGLE)||(LA236_0 >= AT_SIGN && LA236_0 <= L)||(LA236_0 >= LBRACKET && LA236_0 <= R)||(LA236_0 >= RBRACKET && LA236_0 <= SASS_RETURN)||(LA236_0 >= SASS_WARN && LA236_0 <= SASS_WHILE)||(LA236_0 >= STRING && LA236_0 <= Z)) ) {
					alt236=1;
				}

				} finally {dbg.exitDecision(236);}

				switch (alt236) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
					{
					dbg.location(894,5);
					if ( (input.LA(1) >= A && input.LA(1) <= ANGLE)||(input.LA(1) >= AT_SIGN && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_RETURN)||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= STRING && input.LA(1) <= Z) ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}
					}
					break;

				default :
					if ( cnt236 >= 1 ) break loop236;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(236, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt236++;
			}
			} finally {dbg.exitSubRule(236);}
			dbg.location(894,76);
			if ( input.LA(1)==RBRACE||input.LA(1)==SEMI ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(895, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "expressionPredicate");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "expressionPredicate"



	// $ANTLR start "syncToDeclarationsRule"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:1: syncToDeclarationsRule :;
	public final void syncToDeclarationsRule() throws RecognitionException {

		        //why sync to DOT? - LESS allows class rules nested
		        syncToSet(BitSet.of(IDENT, RBRACE, STAR, DOT));
		    
		try { dbg.enterRule(getGrammarFileName(), "syncToDeclarationsRule");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(899, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:904:6: ()
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:905:6: 
			{
			}

		}
		finally {
			// do for sure before leaving
		}
		dbg.location(905, 5);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "syncToDeclarationsRule");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "syncToDeclarationsRule"



	// $ANTLR start "syncTo_RBRACE"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:1: syncTo_RBRACE :;
	public final void syncTo_RBRACE() throws RecognitionException {

		        syncToRBRACE(1); //initial nest == 1
		    
		try { dbg.enterRule(getGrammarFileName(), "syncTo_RBRACE");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(907, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:911:6: ()
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:912:6: 
			{
			}

		}
		finally {
			// do for sure before leaving
		}
		dbg.location(912, 5);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "syncTo_RBRACE");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "syncTo_RBRACE"



	// $ANTLR start "syncTo_SEMI"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:1: syncTo_SEMI : SEMI ;
	public final void syncTo_SEMI() throws RecognitionException {

		        syncToSet(BitSet.of(SEMI));
		    
		try { dbg.enterRule(getGrammarFileName(), "syncTo_SEMI");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(914, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:918:6: ( SEMI )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:13: SEMI
			{
			dbg.location(919,13);
			match(input,SEMI,FOLLOW_SEMI_in_syncTo_SEMI5271); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(920, 5);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "syncTo_SEMI");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "syncTo_SEMI"



	// $ANTLR start "syncToFollow"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:1: syncToFollow :;
	public final void syncToFollow() throws RecognitionException {

		        syncToSet();
		    
		try { dbg.enterRule(getGrammarFileName(), "syncToFollow");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(923, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:927:6: ()
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:928:6: 
			{
			}

		}
		finally {
			// do for sure before leaving
		}
		dbg.location(928, 5);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "syncToFollow");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "syncToFollow"



	// $ANTLR start "prio"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:930:1: prio : IMPORTANT_SYM ;
	public final void prio() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "prio");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(930, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:5: ( IMPORTANT_SYM )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:7: IMPORTANT_SYM
			{
			dbg.location(931,7);
			match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_prio5316); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(932, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "prio");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "prio"



	// $ANTLR start "expression"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:934:1: expression : term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ;
	public final void expression() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "expression");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(934, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:5: ( term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:7: term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*
			{
			dbg.location(935,7);
			pushFollow(FOLLOW_term_in_expression5333);
			term();
			state._fsp--;
			if (state.failed) return;dbg.location(935,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*
			try { dbg.enterSubRule(240);

			loop240:
			while (true) {
				int alt240=2;
				try { dbg.enterDecision(240, decisionCanBacktrack[240]);

				try {
					isCyclicDecision = true;
					alt240 = dfa240.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(240);}

				switch (alt240) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term
					{
					dbg.location(935,66);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:66: ( ws | ( ( ws )? operator ( ws )? ) |)
					int alt239=3;
					try { dbg.enterSubRule(239);
					try { dbg.enterDecision(239, decisionCanBacktrack[239]);

					try {
						isCyclicDecision = true;
						alt239 = dfa239.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(239);}

					switch (alt239) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:68: ws
							{
							dbg.location(935,68);
							pushFollow(FOLLOW_ws_in_expression5365);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:73: ( ( ws )? operator ( ws )? )
							{
							dbg.location(935,73);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:73: ( ( ws )? operator ( ws )? )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:74: ( ws )? operator ( ws )?
							{
							dbg.location(935,74);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:74: ( ws )?
							int alt237=2;
							try { dbg.enterSubRule(237);
							try { dbg.enterDecision(237, decisionCanBacktrack[237]);

							int LA237_0 = input.LA(1);
							if ( (LA237_0==COMMENT||LA237_0==NL||LA237_0==WS) ) {
								alt237=1;
							}
							} finally {dbg.exitDecision(237);}

							switch (alt237) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:74: ws
									{
									dbg.location(935,74);
									pushFollow(FOLLOW_ws_in_expression5370);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(237);}
							dbg.location(935,78);
							pushFollow(FOLLOW_operator_in_expression5373);
							operator();
							state._fsp--;
							if (state.failed) return;dbg.location(935,87);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:87: ( ws )?
							int alt238=2;
							try { dbg.enterSubRule(238);
							try { dbg.enterDecision(238, decisionCanBacktrack[238]);

							int LA238_0 = input.LA(1);
							if ( (LA238_0==COMMENT||LA238_0==NL||LA238_0==WS) ) {
								alt238=1;
							}
							} finally {dbg.exitDecision(238);}

							switch (alt238) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:87: ws
									{
									dbg.location(935,87);
									pushFollow(FOLLOW_ws_in_expression5375);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(238);}

							}

							}
							break;
						case 3 :
							dbg.enterAlt(3);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:107: 
							{
							}
							break;

					}
					} finally {dbg.exitSubRule(239);}
					dbg.location(935,109);
					pushFollow(FOLLOW_term_in_expression5384);
					term();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop240;
				}
			}
			} finally {dbg.exitSubRule(240);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(936, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "expression");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "expression"



	// $ANTLR start "term"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:938:1: term : ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ;
	public final void term() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "term");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(938, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:939:5: ( ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:940:5: ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol )
			{
			dbg.location(940,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:940:5: ( unaryOperator ( ws )? )?
			int alt242=2;
			try { dbg.enterSubRule(242);
			try { dbg.enterDecision(242, decisionCanBacktrack[242]);

			int LA242_0 = input.LA(1);
			if ( (LA242_0==MINUS||LA242_0==PLUS) ) {
				alt242=1;
			}
			} finally {dbg.exitDecision(242);}

			switch (alt242) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:940:7: unaryOperator ( ws )?
					{
					dbg.location(940,7);
					pushFollow(FOLLOW_unaryOperator_in_term5409);
					unaryOperator();
					state._fsp--;
					if (state.failed) return;dbg.location(940,21);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:940:21: ( ws )?
					int alt241=2;
					try { dbg.enterSubRule(241);
					try { dbg.enterDecision(241, decisionCanBacktrack[241]);

					int LA241_0 = input.LA(1);
					if ( (LA241_0==COMMENT||LA241_0==NL||LA241_0==WS) ) {
						alt241=1;
					}
					} finally {dbg.exitDecision(241);}

					switch (alt241) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:940:21: ws
							{
							dbg.location(940,21);
							pushFollow(FOLLOW_ws_in_term5411);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(241);}

					}
					break;

			}
			} finally {dbg.exitSubRule(242);}
			dbg.location(941,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:941:5: ( ( functionName ( ws )? LPAREN )=> function | IDENT | NUMBER | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol )
			int alt243=24;
			try { dbg.enterSubRule(243);
			try { dbg.enterDecision(243, decisionCanBacktrack[243]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				int LA243_1 = input.LA(2);
				if ( (synpred37_Css3()) ) {
					alt243=1;
				}
				else if ( (true) ) {
					alt243=2;
				}

				}
				break;
			case NUMBER:
				{
				alt243=3;
				}
				break;
			case PERCENTAGE:
				{
				alt243=4;
				}
				break;
			case LENGTH:
				{
				alt243=5;
				}
				break;
			case EMS:
				{
				alt243=6;
				}
				break;
			case REM:
				{
				alt243=7;
				}
				break;
			case EXS:
				{
				alt243=8;
				}
				break;
			case ANGLE:
				{
				alt243=9;
				}
				break;
			case TIME:
				{
				alt243=10;
				}
				break;
			case FREQ:
				{
				alt243=11;
				}
				break;
			case RESOLUTION:
				{
				alt243=12;
				}
				break;
			case DIMENSION:
				{
				alt243=13;
				}
				break;
			case STRING:
				{
				alt243=14;
				}
				break;
			case TILDE:
				{
				alt243=15;
				}
				break;
			case LESS_JS_STRING:
				{
				alt243=16;
				}
				break;
			case GEN:
				{
				alt243=17;
				}
				break;
			case URI:
				{
				alt243=18;
				}
				break;
			case HASH:
				{
				alt243=19;
				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_VAR:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				alt243=20;
				}
				break;
			case LESS_AND:
				{
				alt243=21;
				}
				break;
			case HASH_SYMBOL:
				{
				alt243=22;
				}
				break;
			case AT_SIGN:
				{
				alt243=23;
				}
				break;
			case PERCENTAGE_SYMBOL:
				{
				alt243=24;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 243, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(243);}

			switch (alt243) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:9: ( functionName ( ws )? LPAREN )=> function
					{
					dbg.location(942,36);
					pushFollow(FOLLOW_function_in_term5440);
					function();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:943:11: IDENT
					{
					dbg.location(943,11);
					match(input,IDENT,FOLLOW_IDENT_in_term5453); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:944:11: NUMBER
					{
					dbg.location(944,11);
					match(input,NUMBER,FOLLOW_NUMBER_in_term5465); if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:11: PERCENTAGE
					{
					dbg.location(945,11);
					match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term5477); if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:946:11: LENGTH
					{
					dbg.location(946,11);
					match(input,LENGTH,FOLLOW_LENGTH_in_term5489); if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:11: EMS
					{
					dbg.location(947,11);
					match(input,EMS,FOLLOW_EMS_in_term5501); if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:948:11: REM
					{
					dbg.location(948,11);
					match(input,REM,FOLLOW_REM_in_term5513); if (state.failed) return;
					}
					break;
				case 8 :
					dbg.enterAlt(8);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:949:11: EXS
					{
					dbg.location(949,11);
					match(input,EXS,FOLLOW_EXS_in_term5525); if (state.failed) return;
					}
					break;
				case 9 :
					dbg.enterAlt(9);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:11: ANGLE
					{
					dbg.location(950,11);
					match(input,ANGLE,FOLLOW_ANGLE_in_term5537); if (state.failed) return;
					}
					break;
				case 10 :
					dbg.enterAlt(10);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:11: TIME
					{
					dbg.location(951,11);
					match(input,TIME,FOLLOW_TIME_in_term5549); if (state.failed) return;
					}
					break;
				case 11 :
					dbg.enterAlt(11);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:952:11: FREQ
					{
					dbg.location(952,11);
					match(input,FREQ,FOLLOW_FREQ_in_term5561); if (state.failed) return;
					}
					break;
				case 12 :
					dbg.enterAlt(12);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:953:11: RESOLUTION
					{
					dbg.location(953,11);
					match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term5573); if (state.failed) return;
					}
					break;
				case 13 :
					dbg.enterAlt(13);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:11: DIMENSION
					{
					dbg.location(954,11);
					match(input,DIMENSION,FOLLOW_DIMENSION_in_term5585); if (state.failed) return;
					}
					break;
				case 14 :
					dbg.enterAlt(14);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:955:11: STRING
					{
					dbg.location(955,11);
					match(input,STRING,FOLLOW_STRING_in_term5602); if (state.failed) return;
					}
					break;
				case 15 :
					dbg.enterAlt(15);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:956:11: TILDE ( STRING | LESS_JS_STRING )
					{
					dbg.location(956,11);
					match(input,TILDE,FOLLOW_TILDE_in_term5614); if (state.failed) return;dbg.location(956,17);
					if ( input.LA(1)==LESS_JS_STRING||input.LA(1)==STRING ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}
					}
					break;
				case 16 :
					dbg.enterAlt(16);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:957:11: LESS_JS_STRING
					{
					dbg.location(957,11);
					match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term5637); if (state.failed) return;
					}
					break;
				case 17 :
					dbg.enterAlt(17);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:958:11: GEN
					{
					dbg.location(958,11);
					match(input,GEN,FOLLOW_GEN_in_term5652); if (state.failed) return;
					}
					break;
				case 18 :
					dbg.enterAlt(18);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:11: URI
					{
					dbg.location(959,11);
					match(input,URI,FOLLOW_URI_in_term5664); if (state.failed) return;
					}
					break;
				case 19 :
					dbg.enterAlt(19);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:960:11: hexColor
					{
					dbg.location(960,11);
					pushFollow(FOLLOW_hexColor_in_term5676);
					hexColor();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 20 :
					dbg.enterAlt(20);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:961:11: {...}? cp_variable
					{
					dbg.location(961,11);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()");
					}dbg.location(961,40);
					pushFollow(FOLLOW_cp_variable_in_term5690);
					cp_variable();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 21 :
					dbg.enterAlt(21);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:11: {...}? LESS_AND
					{
					dbg.location(962,11);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "term", "isScssSource()");
					}dbg.location(962,29);
					match(input,LESS_AND,FOLLOW_LESS_AND_in_term5704); if (state.failed) return;
					}
					break;
				case 22 :
					dbg.enterAlt(22);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:963:11: {...}? sass_interpolation_expression_var
					{
					dbg.location(963,11);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "term", "isScssSource()");
					}dbg.location(963,29);
					pushFollow(FOLLOW_sass_interpolation_expression_var_in_term5718);
					sass_interpolation_expression_var();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 23 :
					dbg.enterAlt(23);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:964:11: {...}? less_selector_interpolation
					{
					dbg.location(964,11);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "term", "isLessSource()");
					}dbg.location(964,29);
					pushFollow(FOLLOW_less_selector_interpolation_in_term5732);
					less_selector_interpolation();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 24 :
					dbg.enterAlt(24);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:965:11: {...}? cp_term_symbol
					{
					dbg.location(965,11);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()");
					}dbg.location(965,40);
					pushFollow(FOLLOW_cp_term_symbol_in_term5746);
					cp_term_symbol();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(243);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(967, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "term");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "term"



	// $ANTLR start "cp_term_symbol"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:1: cp_term_symbol : PERCENTAGE_SYMBOL ;
	public final void cp_term_symbol() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_term_symbol");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(972, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:5: ( PERCENTAGE_SYMBOL )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:7: PERCENTAGE_SYMBOL
			{
			dbg.location(973,7);
			match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol5773); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(974, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_term_symbol");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_term_symbol"



	// $ANTLR start "function"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:976:1: function : functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN ;
	public final void function() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "function");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(976, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:977:2: ( functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:977:5: functionName ( ws )? LPAREN ( ws )? ( fnAttributes |) RPAREN
			{
			dbg.location(977,5);
			pushFollow(FOLLOW_functionName_in_function5789);
			functionName();
			state._fsp--;
			if (state.failed) return;dbg.location(977,18);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:977:18: ( ws )?
			int alt244=2;
			try { dbg.enterSubRule(244);
			try { dbg.enterDecision(244, decisionCanBacktrack[244]);

			int LA244_0 = input.LA(1);
			if ( (LA244_0==COMMENT||LA244_0==NL||LA244_0==WS) ) {
				alt244=1;
			}
			} finally {dbg.exitDecision(244);}

			switch (alt244) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:977:18: ws
					{
					dbg.location(977,18);
					pushFollow(FOLLOW_ws_in_function5791);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(244);}
			dbg.location(978,3);
			match(input,LPAREN,FOLLOW_LPAREN_in_function5796); if (state.failed) return;dbg.location(978,10);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:978:10: ( ws )?
			int alt245=2;
			try { dbg.enterSubRule(245);
			try { dbg.enterDecision(245, decisionCanBacktrack[245]);

			int LA245_0 = input.LA(1);
			if ( (LA245_0==COMMENT||LA245_0==NL||LA245_0==WS) ) {
				alt245=1;
			}
			} finally {dbg.exitDecision(245);}

			switch (alt245) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:978:10: ws
					{
					dbg.location(978,10);
					pushFollow(FOLLOW_ws_in_function5798);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(245);}
			dbg.location(979,3);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:979:3: ( fnAttributes |)
			int alt246=2;
			try { dbg.enterSubRule(246);
			try { dbg.enterDecision(246, decisionCanBacktrack[246]);

			int LA246_0 = input.LA(1);
			if ( ((LA246_0 >= ANGLE && LA246_0 <= AT_SIGN)||(LA246_0 >= BOTTOMCENTER_SYM && LA246_0 <= BOTTOMRIGHT_SYM)||LA246_0==CHARSET_SYM||LA246_0==COUNTER_STYLE_SYM||LA246_0==DIMENSION||LA246_0==EMS||LA246_0==EXS||(LA246_0 >= FONT_FACE_SYM && LA246_0 <= FREQ)||LA246_0==GEN||(LA246_0 >= HASH && LA246_0 <= HASH_SYMBOL)||(LA246_0 >= IDENT && LA246_0 <= IMPORT_SYM)||LA246_0==LBRACE||(LA246_0 >= LEFTBOTTOM_SYM && LA246_0 <= LENGTH)||(LA246_0 >= LESS_AND && LA246_0 <= LESS_JS_STRING)||LA246_0==LPAREN||(LA246_0 >= MEDIA_SYM && LA246_0 <= MOZ_DOCUMENT_SYM)||LA246_0==NAMESPACE_SYM||(LA246_0 >= NOT && LA246_0 <= NUMBER)||(LA246_0 >= PAGE_SYM && LA246_0 <= PERCENTAGE_SYMBOL)||LA246_0==PLUS||(LA246_0 >= REM && LA246_0 <= RIGHTTOP_SYM)||(LA246_0 >= SASS_AT_ROOT && LA246_0 <= SASS_DEBUG)||(LA246_0 >= SASS_EACH && LA246_0 <= SASS_ELSE)||LA246_0==SASS_EXTEND||(LA246_0 >= SASS_FOR && LA246_0 <= SASS_FUNCTION)||(LA246_0 >= SASS_IF && LA246_0 <= SASS_MIXIN)||(LA246_0 >= SASS_RETURN && LA246_0 <= SASS_WHILE)||LA246_0==STRING||(LA246_0 >= TILDE && LA246_0 <= TOPRIGHT_SYM)||LA246_0==URI||LA246_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt246=1;
			}
			else if ( (LA246_0==RPAREN) ) {
				alt246=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 246, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(246);}

			switch (alt246) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:980:21: fnAttributes
					{
					dbg.location(980,21);
					pushFollow(FOLLOW_fnAttributes_in_function5825);
					fnAttributes();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:982:3: 
					{
					}
					break;

			}
			} finally {dbg.exitSubRule(246);}
			dbg.location(983,3);
			match(input,RPAREN,FOLLOW_RPAREN_in_function5856); if (state.failed) return;
			}

		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        consumeUntil(input, BitSet.of(RPAREN, SEMI, RBRACE));

		}

		finally {
			// do for sure before leaving
		}
		dbg.location(984, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "function");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "function"



	// $ANTLR start "functionName"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:990:1: functionName : ( IDENT COLON )? IDENT ( DOT IDENT )* ;
	public final void functionName() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "functionName");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(990, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:994:2: ( ( IDENT COLON )? IDENT ( DOT IDENT )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:995:9: ( IDENT COLON )? IDENT ( DOT IDENT )*
			{
			dbg.location(995,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:995:9: ( IDENT COLON )?
			int alt247=2;
			try { dbg.enterSubRule(247);
			try { dbg.enterDecision(247, decisionCanBacktrack[247]);

			int LA247_0 = input.LA(1);
			if ( (LA247_0==IDENT) ) {
				int LA247_1 = input.LA(2);
				if ( (LA247_1==COLON) ) {
					alt247=1;
				}
			}
			} finally {dbg.exitDecision(247);}

			switch (alt247) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:995:10: IDENT COLON
					{
					dbg.location(995,10);
					match(input,IDENT,FOLLOW_IDENT_in_functionName5908); if (state.failed) return;dbg.location(995,16);
					match(input,COLON,FOLLOW_COLON_in_functionName5910); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(247);}
			dbg.location(995,24);
			match(input,IDENT,FOLLOW_IDENT_in_functionName5914); if (state.failed) return;dbg.location(995,30);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:995:30: ( DOT IDENT )*
			try { dbg.enterSubRule(248);

			loop248:
			while (true) {
				int alt248=2;
				try { dbg.enterDecision(248, decisionCanBacktrack[248]);

				int LA248_0 = input.LA(1);
				if ( (LA248_0==DOT) ) {
					alt248=1;
				}

				} finally {dbg.exitDecision(248);}

				switch (alt248) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:995:31: DOT IDENT
					{
					dbg.location(995,31);
					match(input,DOT,FOLLOW_DOT_in_functionName5917); if (state.failed) return;dbg.location(995,35);
					match(input,IDENT,FOLLOW_IDENT_in_functionName5919); if (state.failed) return;
					}
					break;

				default :
					break loop248;
				}
			}
			} finally {dbg.exitSubRule(248);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(996, 5);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "functionName");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "functionName"



	// $ANTLR start "fnAttributes"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:998:1: fnAttributes : fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ;
	public final void fnAttributes() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "fnAttributes");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(998, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:999:5: ( fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:5: fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )?
			{
			dbg.location(1000,5);
			pushFollow(FOLLOW_fnAttribute_in_fnAttributes5943);
			fnAttribute();
			state._fsp--;
			if (state.failed) return;dbg.location(1000,17);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )*
			try { dbg.enterSubRule(252);

			loop252:
			while (true) {
				int alt252=2;
				try { dbg.enterDecision(252, decisionCanBacktrack[252]);

				try {
					isCyclicDecision = true;
					alt252 = dfa252.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(252);}

				switch (alt252) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:18: ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute
					{
					dbg.location(1000,18);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:18: ( ws )?
					int alt249=2;
					try { dbg.enterSubRule(249);
					try { dbg.enterDecision(249, decisionCanBacktrack[249]);

					int LA249_0 = input.LA(1);
					if ( (LA249_0==COMMENT||LA249_0==NL||LA249_0==WS) ) {
						alt249=1;
					}
					} finally {dbg.exitDecision(249);}

					switch (alt249) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:18: ws
							{
							dbg.location(1000,18);
							pushFollow(FOLLOW_ws_in_fnAttributes5946);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(249);}
					dbg.location(1000,22);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:22: ( COMMA |{...}? SEMI )
					int alt250=2;
					try { dbg.enterSubRule(250);
					try { dbg.enterDecision(250, decisionCanBacktrack[250]);

					int LA250_0 = input.LA(1);
					if ( (LA250_0==COMMA) ) {
						alt250=1;
					}
					else if ( (LA250_0==SEMI) ) {
						alt250=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 250, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(250);}

					switch (alt250) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:23: COMMA
							{
							dbg.location(1000,23);
							match(input,COMMA,FOLLOW_COMMA_in_fnAttributes5950); if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:31: {...}? SEMI
							{
							dbg.location(1000,31);
							if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "fnAttributes", "isLessSource()");
							}dbg.location(1000,49);
							match(input,SEMI,FOLLOW_SEMI_in_fnAttributes5956); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(250);}
					dbg.location(1000,55);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:55: ( ws )?
					int alt251=2;
					try { dbg.enterSubRule(251);
					try { dbg.enterDecision(251, decisionCanBacktrack[251]);

					int LA251_0 = input.LA(1);
					if ( (LA251_0==COMMENT||LA251_0==NL||LA251_0==WS) ) {
						alt251=1;
					}
					} finally {dbg.exitDecision(251);}

					switch (alt251) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:55: ws
							{
							dbg.location(1000,55);
							pushFollow(FOLLOW_ws_in_fnAttributes5959);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(251);}
					dbg.location(1000,59);
					pushFollow(FOLLOW_fnAttribute_in_fnAttributes5962);
					fnAttribute();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop252;
				}
			}
			} finally {dbg.exitSubRule(252);}
			dbg.location(1000,73);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:73: ( ws )?
			int alt253=2;
			try { dbg.enterSubRule(253);
			try { dbg.enterDecision(253, decisionCanBacktrack[253]);

			int LA253_0 = input.LA(1);
			if ( (LA253_0==COMMENT||LA253_0==NL||LA253_0==WS) ) {
				alt253=1;
			}
			} finally {dbg.exitDecision(253);}

			switch (alt253) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:73: ws
					{
					dbg.location(1000,73);
					pushFollow(FOLLOW_ws_in_fnAttributes5966);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(253);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1001, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "fnAttributes");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "fnAttributes"



	// $ANTLR start "fnAttribute"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1003:1: fnAttribute : ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression );
	public final void fnAttribute() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "fnAttribute");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1003, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1004:2: ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression )
			int alt256=3;
			try { dbg.enterDecision(256, decisionCanBacktrack[256]);

			int LA256_0 = input.LA(1);
			if ( (LA256_0==IDENT) ) {
				int LA256_1 = input.LA(2);
				if ( (synpred38_Css3()) ) {
					alt256=1;
				}
				else if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==AT_IDENT||(LA256_0 >= BOTTOMCENTER_SYM && LA256_0 <= BOTTOMRIGHT_SYM)||LA256_0==CHARSET_SYM||LA256_0==COUNTER_STYLE_SYM||LA256_0==FONT_FACE_SYM||LA256_0==IMPORT_SYM||(LA256_0 >= LEFTBOTTOM_SYM && LA256_0 <= LEFTTOP_SYM)||LA256_0==MEDIA_SYM||LA256_0==MOZ_DOCUMENT_SYM||LA256_0==NAMESPACE_SYM||LA256_0==PAGE_SYM||(LA256_0 >= RIGHTBOTTOM_SYM && LA256_0 <= RIGHTTOP_SYM)||(LA256_0 >= SASS_AT_ROOT && LA256_0 <= SASS_DEBUG)||(LA256_0 >= SASS_EACH && LA256_0 <= SASS_ELSE)||LA256_0==SASS_EXTEND||(LA256_0 >= SASS_FOR && LA256_0 <= SASS_FUNCTION)||(LA256_0 >= SASS_IF && LA256_0 <= SASS_MIXIN)||LA256_0==SASS_RETURN||(LA256_0 >= SASS_WARN && LA256_0 <= SASS_WHILE)||(LA256_0 >= TOPCENTER_SYM && LA256_0 <= TOPRIGHT_SYM)||LA256_0==WEBKIT_KEYFRAMES_SYM) ) {
				int LA256_2 = input.LA(2);
				if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt256=1;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) {
					alt256=2;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt256=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 256, 2, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA256_0==SASS_VAR) ) {
				int LA256_3 = input.LA(2);
				if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt256=1;
				}
				else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred39_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt256=2;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt256=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 256, 3, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA256_0==LBRACE) && (synpred39_Css3())) {
				alt256=2;
			}
			else if ( (LA256_0==NOT) && (synpred39_Css3())) {
				alt256=2;
			}
			else if ( (LA256_0==MINUS||LA256_0==PLUS) ) {
				int LA256_6 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==NUMBER) ) {
				int LA256_7 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==PERCENTAGE) ) {
				int LA256_8 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==LENGTH) ) {
				int LA256_9 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==EMS) ) {
				int LA256_10 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==REM) ) {
				int LA256_11 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==EXS) ) {
				int LA256_12 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==ANGLE) ) {
				int LA256_13 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==TIME) ) {
				int LA256_14 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==FREQ) ) {
				int LA256_15 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==RESOLUTION) ) {
				int LA256_16 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==DIMENSION) ) {
				int LA256_17 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==STRING) ) {
				int LA256_18 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==TILDE) ) {
				int LA256_19 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==LESS_JS_STRING) ) {
				int LA256_20 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==GEN) ) {
				int LA256_21 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==URI) ) {
				int LA256_22 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==HASH) ) {
				int LA256_23 = input.LA(2);
				if ( (synpred39_Css3()) ) {
					alt256=2;
				}
				else if ( (true) ) {
					alt256=3;
				}

			}
			else if ( (LA256_0==LESS_AND) ) {
				int LA256_24 = input.LA(2);
				if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt256=2;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt256=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 256, 24, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA256_0==HASH_SYMBOL) ) {
				int LA256_25 = input.LA(2);
				if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt256=2;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt256=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 256, 25, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA256_0==AT_SIGN) ) {
				int LA256_26 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred39_Css3())) ) {
					alt256=2;
				}
				else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt256=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 256, 26, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA256_0==PERCENTAGE_SYMBOL) ) {
				int LA256_27 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred39_Css3())) ) {
					alt256=2;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt256=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 256, 27, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA256_0==IMPORTANT_SYM) && (synpred39_Css3())) {
				alt256=2;
			}
			else if ( (LA256_0==LPAREN) && (synpred39_Css3())) {
				alt256=2;
			}

			} finally {dbg.exitDecision(256);}

			switch (alt256) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue
					{
					dbg.location(1005,46);
					pushFollow(FOLLOW_fnAttributeName_in_fnAttribute6003);
					fnAttributeName();
					state._fsp--;
					if (state.failed) return;dbg.location(1005,62);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:62: ( ws )?
					int alt254=2;
					try { dbg.enterSubRule(254);
					try { dbg.enterDecision(254, decisionCanBacktrack[254]);

					int LA254_0 = input.LA(1);
					if ( (LA254_0==COMMENT||LA254_0==NL||LA254_0==WS) ) {
						alt254=1;
					}
					} finally {dbg.exitDecision(254);}

					switch (alt254) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:62: ws
							{
							dbg.location(1005,62);
							pushFollow(FOLLOW_ws_in_fnAttribute6005);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(254);}
					dbg.location(1005,66);
					if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}dbg.location(1005,79);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:79: ( ws )?
					int alt255=2;
					try { dbg.enterSubRule(255);
					try { dbg.enterDecision(255, decisionCanBacktrack[255]);

					int LA255_0 = input.LA(1);
					if ( (LA255_0==COMMENT||LA255_0==NL||LA255_0==WS) ) {
						alt255=1;
					}
					} finally {dbg.exitDecision(255);}

					switch (alt255) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:79: ws
							{
							dbg.location(1005,79);
							pushFollow(FOLLOW_ws_in_fnAttribute6014);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(255);}
					dbg.location(1005,83);
					pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute6017);
					fnAttributeValue();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:11: ( cp_expression )=> cp_expression
					{
					dbg.location(1006,29);
					pushFollow(FOLLOW_cp_expression_in_fnAttribute6034);
					cp_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:11: expression
					{
					dbg.location(1007,11);
					pushFollow(FOLLOW_expression_in_fnAttribute6046);
					expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1008, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "fnAttribute");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "fnAttribute"



	// $ANTLR start "fnAttributeName"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1010:1: fnAttributeName : ( IDENT ( DOT IDENT )* |{...}? cp_variable );
	public final void fnAttributeName() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "fnAttributeName");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1010, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1011:2: ( IDENT ( DOT IDENT )* |{...}? cp_variable )
			int alt258=2;
			try { dbg.enterDecision(258, decisionCanBacktrack[258]);

			int LA258_0 = input.LA(1);
			if ( (LA258_0==IDENT) ) {
				alt258=1;
			}
			else if ( (LA258_0==AT_IDENT||(LA258_0 >= BOTTOMCENTER_SYM && LA258_0 <= BOTTOMRIGHT_SYM)||LA258_0==CHARSET_SYM||LA258_0==COUNTER_STYLE_SYM||LA258_0==FONT_FACE_SYM||LA258_0==IMPORT_SYM||(LA258_0 >= LEFTBOTTOM_SYM && LA258_0 <= LEFTTOP_SYM)||LA258_0==MEDIA_SYM||LA258_0==MOZ_DOCUMENT_SYM||LA258_0==NAMESPACE_SYM||LA258_0==PAGE_SYM||(LA258_0 >= RIGHTBOTTOM_SYM && LA258_0 <= RIGHTTOP_SYM)||(LA258_0 >= SASS_AT_ROOT && LA258_0 <= SASS_DEBUG)||(LA258_0 >= SASS_EACH && LA258_0 <= SASS_ELSE)||LA258_0==SASS_EXTEND||(LA258_0 >= SASS_FOR && LA258_0 <= SASS_FUNCTION)||(LA258_0 >= SASS_IF && LA258_0 <= SASS_MIXIN)||(LA258_0 >= SASS_RETURN && LA258_0 <= SASS_WHILE)||(LA258_0 >= TOPCENTER_SYM && LA258_0 <= TOPRIGHT_SYM)||LA258_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt258=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 258, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(258);}

			switch (alt258) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1012:13: IDENT ( DOT IDENT )*
					{
					dbg.location(1012,13);
					match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName6069); if (state.failed) return;dbg.location(1012,19);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1012:19: ( DOT IDENT )*
					try { dbg.enterSubRule(257);

					loop257:
					while (true) {
						int alt257=2;
						try { dbg.enterDecision(257, decisionCanBacktrack[257]);

						int LA257_0 = input.LA(1);
						if ( (LA257_0==DOT) ) {
							alt257=1;
						}

						} finally {dbg.exitDecision(257);}

						switch (alt257) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1012:20: DOT IDENT
							{
							dbg.location(1012,20);
							match(input,DOT,FOLLOW_DOT_in_fnAttributeName6072); if (state.failed) return;dbg.location(1012,24);
							match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName6074); if (state.failed) return;
							}
							break;

						default :
							break loop257;
						}
					}
					} finally {dbg.exitSubRule(257);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1013:15: {...}? cp_variable
					{
					dbg.location(1013,15);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "fnAttributeName", "isCssPreprocessorSource()");
					}dbg.location(1013,44);
					pushFollow(FOLLOW_cp_variable_in_fnAttributeName6094);
					cp_variable();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1014, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "fnAttributeName");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "fnAttributeName"



	// $ANTLR start "fnAttributeValue"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1016:1: fnAttributeValue : ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression );
	public final void fnAttributeValue() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "fnAttributeValue");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1016, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1017:2: ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression )
			int alt263=2;
			try { dbg.enterDecision(263, decisionCanBacktrack[263]);

			switch ( input.LA(1) ) {
			case MINUS:
			case PLUS:
				{
				int LA263_1 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case IDENT:
				{
				int LA263_2 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 2, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case NUMBER:
				{
				int LA263_3 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 3, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case PERCENTAGE:
				{
				int LA263_4 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 4, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case LENGTH:
				{
				int LA263_5 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 5, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case EMS:
				{
				int LA263_6 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 6, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case REM:
				{
				int LA263_7 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 7, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case EXS:
				{
				int LA263_8 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 8, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case ANGLE:
				{
				int LA263_9 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 9, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case TIME:
				{
				int LA263_10 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 10, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case FREQ:
				{
				int LA263_11 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 11, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case RESOLUTION:
				{
				int LA263_12 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 12, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case DIMENSION:
				{
				int LA263_13 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 13, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case STRING:
				{
				int LA263_14 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 14, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case TILDE:
				{
				int LA263_15 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 15, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case LESS_JS_STRING:
				{
				int LA263_16 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 16, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case GEN:
				{
				int LA263_17 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 17, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case URI:
				{
				int LA263_18 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 18, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case HASH:
				{
				int LA263_19 = input.LA(2);
				if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 19, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_IDENT:
			case BOTTOMCENTER_SYM:
			case BOTTOMLEFTCORNER_SYM:
			case BOTTOMLEFT_SYM:
			case BOTTOMRIGHTCORNER_SYM:
			case BOTTOMRIGHT_SYM:
			case CHARSET_SYM:
			case COUNTER_STYLE_SYM:
			case FONT_FACE_SYM:
			case IMPORT_SYM:
			case LEFTBOTTOM_SYM:
			case LEFTMIDDLE_SYM:
			case LEFTTOP_SYM:
			case MEDIA_SYM:
			case MOZ_DOCUMENT_SYM:
			case NAMESPACE_SYM:
			case PAGE_SYM:
			case RIGHTBOTTOM_SYM:
			case RIGHTMIDDLE_SYM:
			case RIGHTTOP_SYM:
			case SASS_AT_ROOT:
			case SASS_CONTENT:
			case SASS_DEBUG:
			case SASS_EACH:
			case SASS_ELSE:
			case SASS_EXTEND:
			case SASS_FOR:
			case SASS_FUNCTION:
			case SASS_IF:
			case SASS_INCLUDE:
			case SASS_MIXIN:
			case SASS_RETURN:
			case SASS_WARN:
			case SASS_WHILE:
			case TOPCENTER_SYM:
			case TOPLEFTCORNER_SYM:
			case TOPLEFT_SYM:
			case TOPRIGHTCORNER_SYM:
			case TOPRIGHT_SYM:
			case WEBKIT_KEYFRAMES_SYM:
				{
				int LA263_20 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt263=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 20, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case SASS_VAR:
				{
				int LA263_21 = input.LA(2);
				if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt263=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 21, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case LESS_AND:
				{
				int LA263_22 = input.LA(2);
				if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt263=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 22, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case HASH_SYMBOL:
				{
				int LA263_23 = input.LA(2);
				if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt263=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 23, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case AT_SIGN:
				{
				int LA263_24 = input.LA(2);
				if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt263=1;
				}
				else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 24, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case PERCENTAGE_SYMBOL:
				{
				int LA263_25 = input.LA(2);
				if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=1;
				}
				else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
					alt263=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 263, 25, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case IMPORTANT_SYM:
			case LPAREN:
				{
				alt263=2;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 263, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(263);}

			switch (alt263) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:13: term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*
					{
					dbg.location(1018,13);
					pushFollow(FOLLOW_term_in_fnAttributeValue6117);
					term();
					state._fsp--;
					if (state.failed) return;dbg.location(1018,18);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*
					try { dbg.enterSubRule(262);

					loop262:
					while (true) {
						int alt262=2;
						try { dbg.enterDecision(262, decisionCanBacktrack[262]);

						try {
							isCyclicDecision = true;
							alt262 = dfa262.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(262);}

						switch (alt262) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term
							{
							dbg.location(1018,71);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)
							int alt261=3;
							try { dbg.enterSubRule(261);
							try { dbg.enterDecision(261, decisionCanBacktrack[261]);

							try {
								isCyclicDecision = true;
								alt261 = dfa261.predict(input);
							}
							catch (NoViableAltException nvae) {
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(261);}

							switch (alt261) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:73: ws
									{
									dbg.location(1018,73);
									pushFollow(FOLLOW_ws_in_fnAttributeValue6149);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:78: ( ( ws )? SOLIDUS ( ws )? )
									{
									dbg.location(1018,78);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:78: ( ( ws )? SOLIDUS ( ws )? )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:79: ( ws )? SOLIDUS ( ws )?
									{
									dbg.location(1018,79);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:79: ( ws )?
									int alt259=2;
									try { dbg.enterSubRule(259);
									try { dbg.enterDecision(259, decisionCanBacktrack[259]);

									int LA259_0 = input.LA(1);
									if ( (LA259_0==COMMENT||LA259_0==NL||LA259_0==WS) ) {
										alt259=1;
									}
									} finally {dbg.exitDecision(259);}

									switch (alt259) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:79: ws
											{
											dbg.location(1018,79);
											pushFollow(FOLLOW_ws_in_fnAttributeValue6154);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(259);}
									dbg.location(1018,83);
									match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue6157); if (state.failed) return;dbg.location(1018,91);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:91: ( ws )?
									int alt260=2;
									try { dbg.enterSubRule(260);
									try { dbg.enterDecision(260, decisionCanBacktrack[260]);

									int LA260_0 = input.LA(1);
									if ( (LA260_0==COMMENT||LA260_0==NL||LA260_0==WS) ) {
										alt260=1;
									}
									} finally {dbg.exitDecision(260);}

									switch (alt260) {
										case 1 :
											dbg.enterAlt(1);

											// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:91: ws
											{
											dbg.location(1018,91);
											pushFollow(FOLLOW_ws_in_fnAttributeValue6159);
											ws();
											state._fsp--;
											if (state.failed) return;
											}
											break;

									}
									} finally {dbg.exitSubRule(260);}

									}

									}
									break;
								case 3 :
									dbg.enterAlt(3);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:111: 
									{
									}
									break;

							}
							} finally {dbg.exitSubRule(261);}
							dbg.location(1018,113);
							pushFollow(FOLLOW_term_in_fnAttributeValue6168);
							term();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop262;
						}
					}
					} finally {dbg.exitSubRule(262);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1019:15: {...}? cp_math_expression
					{
					dbg.location(1019,15);
					if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "fnAttributeValue", "isCssPreprocessorSource()");
					}dbg.location(1019,44);
					pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue6189);
					cp_math_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1020, 1);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "fnAttributeValue");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "fnAttributeValue"



	// $ANTLR start "hexColor"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1022:1: hexColor : HASH ;
	public final void hexColor() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "hexColor");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1022, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1023:5: ( HASH )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1023:7: HASH
			{
			dbg.location(1023,7);
			match(input,HASH,FOLLOW_HASH_in_hexColor6203); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1024, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "hexColor");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "hexColor"



	// $ANTLR start "ws"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1026:1: ws : ( WS | NL | COMMENT )+ ;
	public final void ws() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "ws");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1026, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:5: ( ( WS | NL | COMMENT )+ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:7: ( WS | NL | COMMENT )+
			{
			dbg.location(1027,7);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1027:7: ( WS | NL | COMMENT )+
			int cnt264=0;
			try { dbg.enterSubRule(264);

			loop264:
			while (true) {
				int alt264=2;
				try { dbg.enterDecision(264, decisionCanBacktrack[264]);

				int LA264_0 = input.LA(1);
				if ( (LA264_0==COMMENT||LA264_0==NL||LA264_0==WS) ) {
					alt264=1;
				}

				} finally {dbg.exitDecision(264);}

				switch (alt264) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
					{
					dbg.location(1027,7);
					if ( input.LA(1)==COMMENT||input.LA(1)==NL||input.LA(1)==WS ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}
					}
					break;

				default :
					if ( cnt264 >= 1 ) break loop264;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(264, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt264++;
			}
			} finally {dbg.exitSubRule(264);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1028, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "ws");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "ws"



	// $ANTLR start "cp_variable_declaration"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1033:1: cp_variable_declaration : ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* );
	public final void cp_variable_declaration() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_variable_declaration");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1033, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1034:5: ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* )
			int alt272=2;
			try { dbg.enterDecision(272, decisionCanBacktrack[272]);

			int LA272_0 = input.LA(1);
			if ( (LA272_0==AT_IDENT||(LA272_0 >= BOTTOMCENTER_SYM && LA272_0 <= BOTTOMRIGHT_SYM)||LA272_0==CHARSET_SYM||LA272_0==COUNTER_STYLE_SYM||LA272_0==FONT_FACE_SYM||LA272_0==IMPORT_SYM||(LA272_0 >= LEFTBOTTOM_SYM && LA272_0 <= LEFTTOP_SYM)||LA272_0==MEDIA_SYM||LA272_0==MOZ_DOCUMENT_SYM||LA272_0==NAMESPACE_SYM||LA272_0==PAGE_SYM||(LA272_0 >= RIGHTBOTTOM_SYM && LA272_0 <= RIGHTTOP_SYM)||(LA272_0 >= SASS_AT_ROOT && LA272_0 <= SASS_DEBUG)||(LA272_0 >= SASS_EACH && LA272_0 <= SASS_ELSE)||LA272_0==SASS_EXTEND||(LA272_0 >= SASS_FOR && LA272_0 <= SASS_FUNCTION)||(LA272_0 >= SASS_IF && LA272_0 <= SASS_MIXIN)||LA272_0==SASS_RETURN||(LA272_0 >= SASS_WARN && LA272_0 <= SASS_WHILE)||(LA272_0 >= TOPCENTER_SYM && LA272_0 <= TOPRIGHT_SYM)||LA272_0==WEBKIT_KEYFRAMES_SYM) ) {
				int LA272_1 = input.LA(2);
				if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
					alt272=1;
				}
				else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt272=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 272, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}
			else if ( (LA272_0==SASS_VAR) ) {
				int LA272_2 = input.LA(2);
				if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt272=1;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt272=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 272, 2, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 272, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(272);}

			switch (alt272) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list
					{
					dbg.location(1035,9);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_variable_declaration", "isLessSource()");
					}dbg.location(1035,27);
					pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration6263);
					cp_variable();
					state._fsp--;
					if (state.failed) return;dbg.location(1035,39);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:39: ( ws )?
					int alt265=2;
					try { dbg.enterSubRule(265);
					try { dbg.enterDecision(265, decisionCanBacktrack[265]);

					int LA265_0 = input.LA(1);
					if ( (LA265_0==COMMENT||LA265_0==NL||LA265_0==WS) ) {
						alt265=1;
					}
					} finally {dbg.exitDecision(265);}

					switch (alt265) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:39: ws
							{
							dbg.location(1035,39);
							pushFollow(FOLLOW_ws_in_cp_variable_declaration6265);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(265);}
					dbg.location(1035,43);
					match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration6268); if (state.failed) return;dbg.location(1035,49);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:49: ( ws )?
					int alt266=2;
					try { dbg.enterSubRule(266);
					try { dbg.enterDecision(266, decisionCanBacktrack[266]);

					int LA266_0 = input.LA(1);
					if ( (LA266_0==COMMENT||LA266_0==NL||LA266_0==WS) ) {
						alt266=1;
					}
					} finally {dbg.exitDecision(266);}

					switch (alt266) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:49: ws
							{
							dbg.location(1035,49);
							pushFollow(FOLLOW_ws_in_cp_variable_declaration6270);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(266);}
					dbg.location(1035,53);
					pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration6273);
					cp_expression_list();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
					{
					dbg.location(1037,9);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_variable_declaration", "isScssSource()");
					}dbg.location(1037,27);
					pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration6295);
					cp_variable();
					state._fsp--;
					if (state.failed) return;dbg.location(1037,39);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:39: ( ws )?
					int alt267=2;
					try { dbg.enterSubRule(267);
					try { dbg.enterDecision(267, decisionCanBacktrack[267]);

					int LA267_0 = input.LA(1);
					if ( (LA267_0==COMMENT||LA267_0==NL||LA267_0==WS) ) {
						alt267=1;
					}
					} finally {dbg.exitDecision(267);}

					switch (alt267) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:39: ws
							{
							dbg.location(1037,39);
							pushFollow(FOLLOW_ws_in_cp_variable_declaration6297);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(267);}
					dbg.location(1037,43);
					match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration6300); if (state.failed) return;dbg.location(1037,49);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:49: ( ws )?
					int alt268=2;
					try { dbg.enterSubRule(268);
					try { dbg.enterDecision(268, decisionCanBacktrack[268]);

					int LA268_0 = input.LA(1);
					if ( (LA268_0==COMMENT||LA268_0==NL||LA268_0==WS) ) {
						alt268=1;
					}
					} finally {dbg.exitDecision(268);}

					switch (alt268) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:49: ws
							{
							dbg.location(1037,49);
							pushFollow(FOLLOW_ws_in_cp_variable_declaration6302);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(268);}
					dbg.location(1037,53);
					pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration6305);
					cp_expression_list();
					state._fsp--;
					if (state.failed) return;dbg.location(1037,72);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*
					try { dbg.enterSubRule(271);

					loop271:
					while (true) {
						int alt271=3;
						try { dbg.enterDecision(271, decisionCanBacktrack[271]);

						try {
							isCyclicDecision = true;
							alt271 = dfa271.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(271);}

						switch (alt271) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:73: ( ( ws )? SASS_DEFAULT )
							{
							dbg.location(1037,73);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:73: ( ( ws )? SASS_DEFAULT )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:74: ( ws )? SASS_DEFAULT
							{
							dbg.location(1037,74);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:74: ( ws )?
							int alt269=2;
							try { dbg.enterSubRule(269);
							try { dbg.enterDecision(269, decisionCanBacktrack[269]);

							int LA269_0 = input.LA(1);
							if ( (LA269_0==COMMENT||LA269_0==NL||LA269_0==WS) ) {
								alt269=1;
							}
							} finally {dbg.exitDecision(269);}

							switch (alt269) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:74: ws
									{
									dbg.location(1037,74);
									pushFollow(FOLLOW_ws_in_cp_variable_declaration6309);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(269);}
							dbg.location(1037,78);
							match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration6312); if (state.failed) return;
							}

							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:94: ( ( ws )? SASS_GLOBAL )
							{
							dbg.location(1037,94);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:94: ( ( ws )? SASS_GLOBAL )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:95: ( ws )? SASS_GLOBAL
							{
							dbg.location(1037,95);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:95: ( ws )?
							int alt270=2;
							try { dbg.enterSubRule(270);
							try { dbg.enterDecision(270, decisionCanBacktrack[270]);

							int LA270_0 = input.LA(1);
							if ( (LA270_0==COMMENT||LA270_0==NL||LA270_0==WS) ) {
								alt270=1;
							}
							} finally {dbg.exitDecision(270);}

							switch (alt270) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1037:95: ws
									{
									dbg.location(1037,95);
									pushFollow(FOLLOW_ws_in_cp_variable_declaration6318);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(270);}
							dbg.location(1037,99);
							match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration6321); if (state.failed) return;
							}

							}
							break;

						default :
							break loop271;
						}
					}
					} finally {dbg.exitSubRule(271);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1038, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_variable_declaration");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_variable_declaration"



	// $ANTLR start "cp_variable"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1041:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT ) |{...}? ( SASS_VAR ) );
	public final void cp_variable() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_variable");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1041, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1042:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT ) |{...}? ( SASS_VAR ) )
			int alt273=2;
			try { dbg.enterDecision(273, decisionCanBacktrack[273]);

			int LA273_0 = input.LA(1);
			if ( (LA273_0==AT_IDENT||(LA273_0 >= BOTTOMCENTER_SYM && LA273_0 <= BOTTOMRIGHT_SYM)||LA273_0==CHARSET_SYM||LA273_0==COUNTER_STYLE_SYM||LA273_0==FONT_FACE_SYM||LA273_0==IMPORT_SYM||(LA273_0 >= LEFTBOTTOM_SYM && LA273_0 <= LEFTTOP_SYM)||LA273_0==MEDIA_SYM||LA273_0==MOZ_DOCUMENT_SYM||LA273_0==NAMESPACE_SYM||LA273_0==PAGE_SYM||(LA273_0 >= RIGHTBOTTOM_SYM && LA273_0 <= RIGHTTOP_SYM)||(LA273_0 >= SASS_AT_ROOT && LA273_0 <= SASS_DEBUG)||(LA273_0 >= SASS_EACH && LA273_0 <= SASS_ELSE)||LA273_0==SASS_EXTEND||(LA273_0 >= SASS_FOR && LA273_0 <= SASS_FUNCTION)||(LA273_0 >= SASS_IF && LA273_0 <= SASS_MIXIN)||LA273_0==SASS_RETURN||(LA273_0 >= SASS_WARN && LA273_0 <= SASS_WHILE)||(LA273_0 >= TOPCENTER_SYM && LA273_0 <= TOPRIGHT_SYM)||LA273_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt273=1;
			}
			else if ( (LA273_0==SASS_VAR) ) {
				alt273=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 273, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(273);}

			switch (alt273) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1044:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT )
					{
					dbg.location(1044,9);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_variable", "isLessSource()");
					}dbg.location(1044,27);
					if ( input.LA(1)==AT_IDENT||(input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||input.LA(1)==CHARSET_SYM||input.LA(1)==COUNTER_STYLE_SYM||input.LA(1)==FONT_FACE_SYM||input.LA(1)==IMPORT_SYM||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||input.LA(1)==MEDIA_SYM||input.LA(1)==MOZ_DOCUMENT_SYM||input.LA(1)==NAMESPACE_SYM||input.LA(1)==PAGE_SYM||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= SASS_AT_ROOT && input.LA(1) <= SASS_DEBUG)||(input.LA(1) >= SASS_EACH && input.LA(1) <= SASS_ELSE)||input.LA(1)==SASS_EXTEND||(input.LA(1) >= SASS_FOR && input.LA(1) <= SASS_FUNCTION)||(input.LA(1) >= SASS_IF && input.LA(1) <= SASS_MIXIN)||input.LA(1)==SASS_RETURN||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM)||input.LA(1)==WEBKIT_KEYFRAMES_SYM ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:9: {...}? ( SASS_VAR )
					{
					dbg.location(1046,9);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_variable", "isScssSource()");
					}dbg.location(1046,27);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:27: ( SASS_VAR )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:29: SASS_VAR
					{
					dbg.location(1046,29);
					match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable6545); if (state.failed) return;
					}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1047, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_variable");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_variable"



	// $ANTLR start "cp_expression_list"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1050:1: cp_expression_list : ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ;
	public final void cp_expression_list() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_expression_list");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1050, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1051:5: ( ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:5: ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*
			{
			dbg.location(1052,24);
			pushFollow(FOLLOW_cp_expression_in_cp_expression_list6575);
			cp_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1053,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*
			try { dbg.enterSubRule(276);

			loop276:
			while (true) {
				int alt276=2;
				try { dbg.enterDecision(276, decisionCanBacktrack[276]);

				try {
					isCyclicDecision = true;
					alt276 = dfa276.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(276);}

				switch (alt276) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:6: ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression
					{
					dbg.location(1053,37);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:37: ( ws )?
					int alt274=2;
					try { dbg.enterSubRule(274);
					try { dbg.enterDecision(274, decisionCanBacktrack[274]);

					int LA274_0 = input.LA(1);
					if ( (LA274_0==COMMENT||LA274_0==NL||LA274_0==WS) ) {
						alt274=1;
					}
					} finally {dbg.exitDecision(274);}

					switch (alt274) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:37: ws
							{
							dbg.location(1053,37);
							pushFollow(FOLLOW_ws_in_cp_expression_list6594);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(274);}
					dbg.location(1053,41);
					match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list6597); if (state.failed) return;dbg.location(1053,47);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:47: ( ws )?
					int alt275=2;
					try { dbg.enterSubRule(275);
					try { dbg.enterDecision(275, decisionCanBacktrack[275]);

					int LA275_0 = input.LA(1);
					if ( (LA275_0==COMMENT||LA275_0==NL||LA275_0==WS) ) {
						alt275=1;
					}
					} finally {dbg.exitDecision(275);}

					switch (alt275) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:47: ws
							{
							dbg.location(1053,47);
							pushFollow(FOLLOW_ws_in_cp_expression_list6599);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(275);}
					dbg.location(1053,51);
					pushFollow(FOLLOW_cp_expression_in_cp_expression_list6602);
					cp_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop276;
				}
			}
			} finally {dbg.exitSubRule(276);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1054, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_expression_list");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_expression_list"



	// $ANTLR start "cp_expression"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:1: cp_expression : ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN );
	public final void cp_expression() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_expression");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1066, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1067:5: ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN )
			int alt285=3;
			try { dbg.enterDecision(285, decisionCanBacktrack[285]);

			int LA285_0 = input.LA(1);
			if ( (LA285_0==LBRACE) ) {
				alt285=1;
			}
			else if ( (LA285_0==NOT) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==MINUS||LA285_0==PLUS) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==IDENT) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==NUMBER) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==PERCENTAGE) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==LENGTH) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==EMS) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==REM) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==EXS) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==ANGLE) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==TIME) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==FREQ) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==RESOLUTION) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==DIMENSION) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==STRING) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==TILDE) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==LESS_JS_STRING) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==GEN) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==URI) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==HASH) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==AT_IDENT||(LA285_0 >= BOTTOMCENTER_SYM && LA285_0 <= BOTTOMRIGHT_SYM)||LA285_0==CHARSET_SYM||LA285_0==COUNTER_STYLE_SYM||LA285_0==FONT_FACE_SYM||LA285_0==IMPORT_SYM||(LA285_0 >= LEFTBOTTOM_SYM && LA285_0 <= LEFTTOP_SYM)||LA285_0==MEDIA_SYM||LA285_0==MOZ_DOCUMENT_SYM||LA285_0==NAMESPACE_SYM||LA285_0==PAGE_SYM||(LA285_0 >= RIGHTBOTTOM_SYM && LA285_0 <= RIGHTTOP_SYM)||(LA285_0 >= SASS_AT_ROOT && LA285_0 <= SASS_DEBUG)||(LA285_0 >= SASS_EACH && LA285_0 <= SASS_ELSE)||LA285_0==SASS_EXTEND||(LA285_0 >= SASS_FOR && LA285_0 <= SASS_FUNCTION)||(LA285_0 >= SASS_IF && LA285_0 <= SASS_MIXIN)||LA285_0==SASS_RETURN||(LA285_0 >= SASS_WARN && LA285_0 <= SASS_WHILE)||(LA285_0 >= TOPCENTER_SYM && LA285_0 <= TOPRIGHT_SYM)||LA285_0==WEBKIT_KEYFRAMES_SYM) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==SASS_VAR) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==LESS_AND) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==HASH_SYMBOL) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==AT_SIGN) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==PERCENTAGE_SYMBOL) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==IMPORTANT_SYM) && (synpred43_Css3())) {
				alt285=2;
			}
			else if ( (LA285_0==LPAREN) ) {
				int LA285_29 = input.LA(2);
				if ( (synpred43_Css3()) ) {
					alt285=2;
				}
				else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {
					alt285=3;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 285, 29, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 285, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(285);}

			switch (alt285) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:5: {...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
					{
					dbg.location(1068,5);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_expression", "isLessSource()");
					}dbg.location(1068,23);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:23: ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:24: LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
					{
					dbg.location(1068,24);
					match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression6638); if (state.failed) return;dbg.location(1068,31);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:31: ( ws )?
					int alt277=2;
					try { dbg.enterSubRule(277);
					try { dbg.enterDecision(277, decisionCanBacktrack[277]);

					int LA277_0 = input.LA(1);
					if ( (LA277_0==COMMENT||LA277_0==NL||LA277_0==WS) ) {
						alt277=1;
					}
					} finally {dbg.exitDecision(277);}

					switch (alt277) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:31: ws
							{
							dbg.location(1068,31);
							pushFollow(FOLLOW_ws_in_cp_expression6640);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(277);}
					dbg.location(1068,35);
					pushFollow(FOLLOW_syncToFollow_in_cp_expression6643);
					syncToFollow();
					state._fsp--;
					if (state.failed) return;dbg.location(1068,48);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:48: ( declarations )?
					int alt278=2;
					try { dbg.enterSubRule(278);
					try { dbg.enterDecision(278, decisionCanBacktrack[278]);

					int LA278_0 = input.LA(1);
					if ( ((LA278_0 >= AT_IDENT && LA278_0 <= AT_SIGN)||(LA278_0 >= BOTTOMCENTER_SYM && LA278_0 <= BOTTOMRIGHT_SYM)||(LA278_0 >= CHARSET_SYM && LA278_0 <= COLON)||LA278_0==COUNTER_STYLE_SYM||(LA278_0 >= DCOLON && LA278_0 <= DOT)||LA278_0==FONT_FACE_SYM||(LA278_0 >= GEN && LA278_0 <= GREATER)||(LA278_0 >= HASH && LA278_0 <= HASH_SYMBOL)||LA278_0==IDENT||LA278_0==IMPORT_SYM||(LA278_0 >= LBRACKET && LA278_0 <= LEFTTOP_SYM)||LA278_0==LESS_AND||(LA278_0 >= MEDIA_SYM && LA278_0 <= MOZ_DOCUMENT_SYM)||LA278_0==NAMESPACE_SYM||LA278_0==PAGE_SYM||(LA278_0 >= PIPE && LA278_0 <= PLUS)||(LA278_0 >= RIGHTBOTTOM_SYM && LA278_0 <= RIGHTTOP_SYM)||(LA278_0 >= SASS_AT_ROOT && LA278_0 <= SASS_DEBUG)||(LA278_0 >= SASS_EACH && LA278_0 <= SASS_ELSE)||(LA278_0 >= SASS_ERROR && LA278_0 <= SASS_FUNCTION)||(LA278_0 >= SASS_IF && LA278_0 <= SASS_MIXIN)||(LA278_0 >= SASS_RETURN && LA278_0 <= SEMI)||LA278_0==STAR||LA278_0==TILDE||(LA278_0 >= TOPCENTER_SYM && LA278_0 <= TOPRIGHT_SYM)||LA278_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt278=1;
					}
					} finally {dbg.exitDecision(278);}

					switch (alt278) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1068:48: declarations
							{
							dbg.location(1068,48);
							pushFollow(FOLLOW_declarations_in_cp_expression6645);
							declarations();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(278);}
					dbg.location(1068,62);
					match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression6648); if (state.failed) return;
					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:7: ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* )
					{
					dbg.location(1069,31);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:31: ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:32: cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*
					{
					dbg.location(1069,32);
					pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6664);
					cp_expression_atom();
					state._fsp--;
					if (state.failed) return;dbg.location(1070,5);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1070:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*
					try { dbg.enterSubRule(282);

					loop282:
					while (true) {
						int alt282=3;
						try { dbg.enterDecision(282, decisionCanBacktrack[282]);

						try {
							isCyclicDecision = true;
							alt282 = dfa282.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(282);}

						switch (alt282) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:9: ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom
							{
							dbg.location(1071,39);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:39: ( ( ws )? cp_expression_operator ( ws )? )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:40: ( ws )? cp_expression_operator ( ws )?
							{
							dbg.location(1071,40);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:40: ( ws )?
							int alt279=2;
							try { dbg.enterSubRule(279);
							try { dbg.enterDecision(279, decisionCanBacktrack[279]);

							int LA279_0 = input.LA(1);
							if ( (LA279_0==COMMENT||LA279_0==NL||LA279_0==WS) ) {
								alt279=1;
							}
							} finally {dbg.exitDecision(279);}

							switch (alt279) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:40: ws
									{
									dbg.location(1071,40);
									pushFollow(FOLLOW_ws_in_cp_expression6688);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(279);}
							dbg.location(1071,44);
							pushFollow(FOLLOW_cp_expression_operator_in_cp_expression6691);
							cp_expression_operator();
							state._fsp--;
							if (state.failed) return;dbg.location(1071,67);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:67: ( ws )?
							int alt280=2;
							try { dbg.enterSubRule(280);
							try { dbg.enterDecision(280, decisionCanBacktrack[280]);

							int LA280_0 = input.LA(1);
							if ( (LA280_0==COMMENT||LA280_0==NL||LA280_0==WS) ) {
								alt280=1;
							}
							} finally {dbg.exitDecision(280);}

							switch (alt280) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:67: ws
									{
									dbg.location(1071,67);
									pushFollow(FOLLOW_ws_in_cp_expression6693);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(280);}

							}
							dbg.location(1071,72);
							pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6697);
							cp_expression_atom();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:11: ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom
							{
							dbg.location(1072,37);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:37: ( ws )?
							int alt281=2;
							try { dbg.enterSubRule(281);
							try { dbg.enterDecision(281, decisionCanBacktrack[281]);

							int LA281_0 = input.LA(1);
							if ( (LA281_0==COMMENT||LA281_0==NL||LA281_0==WS) ) {
								alt281=1;
							}
							} finally {dbg.exitDecision(281);}

							switch (alt281) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:37: ws
									{
									dbg.location(1072,37);
									pushFollow(FOLLOW_ws_in_cp_expression6716);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(281);}
							dbg.location(1072,41);
							pushFollow(FOLLOW_cp_expression_atom_in_cp_expression6719);
							cp_expression_atom();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop282;
						}
					}
					} finally {dbg.exitSubRule(282);}

					}

					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1074:7: {...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN
					{
					dbg.location(1074,7);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_expression", "isScssSource()");
					}dbg.location(1074,25);
					match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression6737); if (state.failed) return;dbg.location(1074,32);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1074:32: ( ws )?
					int alt283=2;
					try { dbg.enterSubRule(283);
					try { dbg.enterDecision(283, decisionCanBacktrack[283]);

					int LA283_0 = input.LA(1);
					if ( (LA283_0==COMMENT||LA283_0==NL||LA283_0==WS) ) {
						alt283=1;
					}
					} finally {dbg.exitDecision(283);}

					switch (alt283) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1074:32: ws
							{
							dbg.location(1074,32);
							pushFollow(FOLLOW_ws_in_cp_expression6739);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(283);}
					dbg.location(1074,36);
					pushFollow(FOLLOW_syncToFollow_in_cp_expression6742);
					syncToFollow();
					state._fsp--;
					if (state.failed) return;dbg.location(1074,49);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1074:49: ( sass_map_pairs )?
					int alt284=2;
					try { dbg.enterSubRule(284);
					try { dbg.enterDecision(284, decisionCanBacktrack[284]);

					int LA284_0 = input.LA(1);
					if ( ((LA284_0 >= AT_IDENT && LA284_0 <= AT_SIGN)||(LA284_0 >= BOTTOMCENTER_SYM && LA284_0 <= BOTTOMRIGHT_SYM)||LA284_0==CHARSET_SYM||LA284_0==COMMA||LA284_0==COUNTER_STYLE_SYM||LA284_0==FONT_FACE_SYM||LA284_0==GEN||LA284_0==HASH_SYMBOL||LA284_0==IDENT||LA284_0==IMPORT_SYM||(LA284_0 >= LEFTBOTTOM_SYM && LA284_0 <= LEFTTOP_SYM)||(LA284_0 >= MEDIA_SYM && LA284_0 <= MOZ_DOCUMENT_SYM)||LA284_0==NAMESPACE_SYM||LA284_0==NUMBER||LA284_0==PAGE_SYM||(LA284_0 >= RIGHTBOTTOM_SYM && LA284_0 <= RIGHTTOP_SYM)||(LA284_0 >= SASS_AT_ROOT && LA284_0 <= SASS_DEBUG)||(LA284_0 >= SASS_EACH && LA284_0 <= SASS_ELSE)||LA284_0==SASS_EXTEND||(LA284_0 >= SASS_FOR && LA284_0 <= SASS_FUNCTION)||(LA284_0 >= SASS_IF && LA284_0 <= SASS_MIXIN)||(LA284_0 >= SASS_RETURN && LA284_0 <= SASS_WHILE)||LA284_0==STRING||(LA284_0 >= TOPCENTER_SYM && LA284_0 <= TOPRIGHT_SYM)||LA284_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt284=1;
					}
					} finally {dbg.exitDecision(284);}

					switch (alt284) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1074:49: sass_map_pairs
							{
							dbg.location(1074,49);
							pushFollow(FOLLOW_sass_map_pairs_in_cp_expression6744);
							sass_map_pairs();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(284);}
					dbg.location(1074,65);
					match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression6747); if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1075, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_expression");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_expression"



	// $ANTLR start "cp_expression_operator"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1077:1: cp_expression_operator : ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ );
	public final void cp_expression_operator() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_expression_operator");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1077, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1078:5: ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ )
			int alt286=8;
			try { dbg.enterDecision(286, decisionCanBacktrack[286]);

			switch ( input.LA(1) ) {
			case IDENT:
				{
				int LA286_1 = input.LA(2);
				if ( (evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")) ) {
					alt286=1;
				}
				else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) {
					alt286=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 286, 1, input);
						dbg.recognitionException(nvae);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

				}
				break;
			case CP_EQ:
				{
				alt286=3;
				}
				break;
			case CP_NOT_EQ:
				{
				alt286=4;
				}
				break;
			case LESS:
				{
				alt286=5;
				}
				break;
			case LESS_OR_EQ:
				{
				alt286=6;
				}
				break;
			case GREATER:
				{
				alt286=7;
				}
				break;
			case GREATER_OR_EQ:
				{
				alt286=8;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 286, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(286);}

			switch (alt286) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:5: key_or
					{
					dbg.location(1079,5);
					pushFollow(FOLLOW_key_or_in_cp_expression_operator6768);
					key_or();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:14: key_and
					{
					dbg.location(1079,14);
					pushFollow(FOLLOW_key_and_in_cp_expression_operator6772);
					key_and();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:25: CP_EQ
					{
					dbg.location(1079,25);
					match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator6777); if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:33: CP_NOT_EQ
					{
					dbg.location(1079,33);
					match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator6781); if (state.failed) return;
					}
					break;
				case 5 :
					dbg.enterAlt(5);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:45: LESS
					{
					dbg.location(1079,45);
					match(input,LESS,FOLLOW_LESS_in_cp_expression_operator6785); if (state.failed) return;
					}
					break;
				case 6 :
					dbg.enterAlt(6);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:52: LESS_OR_EQ
					{
					dbg.location(1079,52);
					match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator6789); if (state.failed) return;
					}
					break;
				case 7 :
					dbg.enterAlt(7);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:65: GREATER
					{
					dbg.location(1079,65);
					match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator6793); if (state.failed) return;
					}
					break;
				case 8 :
					dbg.enterAlt(8);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:75: GREATER_OR_EQ
					{
					dbg.location(1079,75);
					match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator6797); if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1080, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_expression_operator");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_expression_operator"



	// $ANTLR start "cp_expression_atom"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1082:1: cp_expression_atom : ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ;
	public final void cp_expression_atom() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_expression_atom");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1082, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1083:5: ( ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:9: ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN )
			{
			dbg.location(1084,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:9: ( NOT ( ws )? )?
			int alt288=2;
			try { dbg.enterSubRule(288);
			try { dbg.enterDecision(288, decisionCanBacktrack[288]);

			int LA288_0 = input.LA(1);
			if ( (LA288_0==NOT) ) {
				alt288=1;
			}
			} finally {dbg.exitDecision(288);}

			switch (alt288) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:10: NOT ( ws )?
					{
					dbg.location(1084,10);
					match(input,NOT,FOLLOW_NOT_in_cp_expression_atom6823); if (state.failed) return;dbg.location(1084,14);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:14: ( ws )?
					int alt287=2;
					try { dbg.enterSubRule(287);
					try { dbg.enterDecision(287, decisionCanBacktrack[287]);

					int LA287_0 = input.LA(1);
					if ( (LA287_0==COMMENT||LA287_0==NL||LA287_0==WS) ) {
						alt287=1;
					}
					} finally {dbg.exitDecision(287);}

					switch (alt287) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:14: ws
							{
							dbg.location(1084,14);
							pushFollow(FOLLOW_ws_in_cp_expression_atom6825);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(287);}

					}
					break;

			}
			} finally {dbg.exitSubRule(288);}
			dbg.location(1085,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1085:9: ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN )
			int alt292=2;
			try { dbg.enterSubRule(292);
			try { dbg.enterDecision(292, decisionCanBacktrack[292]);

			int LA292_0 = input.LA(1);
			if ( (LA292_0==MINUS||LA292_0==PLUS) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==IDENT) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==NUMBER) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==PERCENTAGE) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==LENGTH) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==EMS) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==REM) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==EXS) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==ANGLE) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==TIME) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==FREQ) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==RESOLUTION) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==DIMENSION) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==STRING) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==TILDE) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==LESS_JS_STRING) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==GEN) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==URI) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==HASH) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==AT_IDENT||(LA292_0 >= BOTTOMCENTER_SYM && LA292_0 <= BOTTOMRIGHT_SYM)||LA292_0==CHARSET_SYM||LA292_0==COUNTER_STYLE_SYM||LA292_0==FONT_FACE_SYM||LA292_0==IMPORT_SYM||(LA292_0 >= LEFTBOTTOM_SYM && LA292_0 <= LEFTTOP_SYM)||LA292_0==MEDIA_SYM||LA292_0==MOZ_DOCUMENT_SYM||LA292_0==NAMESPACE_SYM||LA292_0==PAGE_SYM||(LA292_0 >= RIGHTBOTTOM_SYM && LA292_0 <= RIGHTTOP_SYM)||(LA292_0 >= SASS_AT_ROOT && LA292_0 <= SASS_DEBUG)||(LA292_0 >= SASS_EACH && LA292_0 <= SASS_ELSE)||LA292_0==SASS_EXTEND||(LA292_0 >= SASS_FOR && LA292_0 <= SASS_FUNCTION)||(LA292_0 >= SASS_IF && LA292_0 <= SASS_MIXIN)||LA292_0==SASS_RETURN||(LA292_0 >= SASS_WARN && LA292_0 <= SASS_WHILE)||(LA292_0 >= TOPCENTER_SYM && LA292_0 <= TOPRIGHT_SYM)||LA292_0==WEBKIT_KEYFRAMES_SYM) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==SASS_VAR) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==LESS_AND) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==HASH_SYMBOL) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==AT_SIGN) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==PERCENTAGE_SYMBOL) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==IMPORTANT_SYM) && (synpred46_Css3())) {
				alt292=1;
			}
			else if ( (LA292_0==LPAREN) ) {
				int LA292_27 = input.LA(2);
				if ( (synpred46_Css3()) ) {
					alt292=1;
				}
				else if ( (true) ) {
					alt292=2;
				}

			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 292, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(292);}

			switch (alt292) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1086:13: ( cp_math_expression )=> cp_math_expression
					{
					dbg.location(1086,35);
					pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom6856);
					cp_math_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:15: LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN
					{
					dbg.location(1087,15);
					match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom6872); if (state.failed) return;dbg.location(1087,22);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:22: ( ws )?
					int alt289=2;
					try { dbg.enterSubRule(289);
					try { dbg.enterDecision(289, decisionCanBacktrack[289]);

					int LA289_0 = input.LA(1);
					if ( (LA289_0==COMMENT||LA289_0==NL||LA289_0==WS) ) {
						alt289=1;
					}
					} finally {dbg.exitDecision(289);}

					switch (alt289) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:22: ws
							{
							dbg.location(1087,22);
							pushFollow(FOLLOW_ws_in_cp_expression_atom6874);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(289);}
					dbg.location(1087,26);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:26: ( cp_expression_list ( ws )? )?
					int alt291=2;
					try { dbg.enterSubRule(291);
					try { dbg.enterDecision(291, decisionCanBacktrack[291]);

					int LA291_0 = input.LA(1);
					if ( ((LA291_0 >= ANGLE && LA291_0 <= AT_SIGN)||(LA291_0 >= BOTTOMCENTER_SYM && LA291_0 <= BOTTOMRIGHT_SYM)||LA291_0==CHARSET_SYM||LA291_0==COUNTER_STYLE_SYM||LA291_0==DIMENSION||LA291_0==EMS||LA291_0==EXS||(LA291_0 >= FONT_FACE_SYM && LA291_0 <= FREQ)||LA291_0==GEN||(LA291_0 >= HASH && LA291_0 <= HASH_SYMBOL)||(LA291_0 >= IDENT && LA291_0 <= IMPORT_SYM)||LA291_0==LBRACE||(LA291_0 >= LEFTBOTTOM_SYM && LA291_0 <= LENGTH)||(LA291_0 >= LESS_AND && LA291_0 <= LESS_JS_STRING)||LA291_0==LPAREN||(LA291_0 >= MEDIA_SYM && LA291_0 <= MOZ_DOCUMENT_SYM)||LA291_0==NAMESPACE_SYM||(LA291_0 >= NOT && LA291_0 <= NUMBER)||(LA291_0 >= PAGE_SYM && LA291_0 <= PERCENTAGE_SYMBOL)||LA291_0==PLUS||(LA291_0 >= REM && LA291_0 <= RIGHTTOP_SYM)||(LA291_0 >= SASS_AT_ROOT && LA291_0 <= SASS_DEBUG)||(LA291_0 >= SASS_EACH && LA291_0 <= SASS_ELSE)||LA291_0==SASS_EXTEND||(LA291_0 >= SASS_FOR && LA291_0 <= SASS_FUNCTION)||(LA291_0 >= SASS_IF && LA291_0 <= SASS_MIXIN)||(LA291_0 >= SASS_RETURN && LA291_0 <= SASS_WHILE)||LA291_0==STRING||(LA291_0 >= TILDE && LA291_0 <= TOPRIGHT_SYM)||LA291_0==URI||LA291_0==WEBKIT_KEYFRAMES_SYM) ) {
						alt291=1;
					}
					} finally {dbg.exitDecision(291);}

					switch (alt291) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:27: cp_expression_list ( ws )?
							{
							dbg.location(1087,27);
							pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom6878);
							cp_expression_list();
							state._fsp--;
							if (state.failed) return;dbg.location(1087,46);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:46: ( ws )?
							int alt290=2;
							try { dbg.enterSubRule(290);
							try { dbg.enterDecision(290, decisionCanBacktrack[290]);

							int LA290_0 = input.LA(1);
							if ( (LA290_0==COMMENT||LA290_0==NL||LA290_0==WS) ) {
								alt290=1;
							}
							} finally {dbg.exitDecision(290);}

							switch (alt290) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1087:46: ws
									{
									dbg.location(1087,46);
									pushFollow(FOLLOW_ws_in_cp_expression_atom6880);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(290);}

							}
							break;

					}
					} finally {dbg.exitSubRule(291);}
					dbg.location(1087,52);
					match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom6885); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(292);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1089, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_expression_atom");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_expression_atom"



	// $ANTLR start "cp_math_expressions"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1092:1: cp_math_expressions : cp_math_expression ( ws cp_math_expression )* ;
	public final void cp_math_expressions() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_math_expressions");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1092, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1093:5: ( cp_math_expression ( ws cp_math_expression )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1094:5: cp_math_expression ( ws cp_math_expression )*
			{
			dbg.location(1094,5);
			pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions6917);
			cp_math_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1095,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:5: ( ws cp_math_expression )*
			try { dbg.enterSubRule(293);

			loop293:
			while (true) {
				int alt293=2;
				try { dbg.enterDecision(293, decisionCanBacktrack[293]);

				int LA293_0 = input.LA(1);
				if ( (LA293_0==COMMENT||LA293_0==NL||LA293_0==WS) ) {
					alt293=1;
				}

				} finally {dbg.exitDecision(293);}

				switch (alt293) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:6: ws cp_math_expression
					{
					dbg.location(1095,6);
					pushFollow(FOLLOW_ws_in_cp_math_expressions6924);
					ws();
					state._fsp--;
					if (state.failed) return;dbg.location(1095,9);
					pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions6926);
					cp_math_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop293;
				}
			}
			} finally {dbg.exitSubRule(293);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1096, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_math_expressions");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_math_expressions"



	// $ANTLR start "cp_math_expression"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:1: cp_math_expression : cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ;
	public final void cp_math_expression() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_math_expression");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1110, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1111:5: ( cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1111:10: cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*
			{
			dbg.location(1111,10);
			pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression6960);
			cp_math_expression_atom();
			state._fsp--;
			if (state.failed) return;dbg.location(1112,10);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*
			try { dbg.enterSubRule(296);

			loop296:
			while (true) {
				int alt296=2;
				try { dbg.enterDecision(296, decisionCanBacktrack[296]);

				try {
					isCyclicDecision = true;
					alt296 = dfa296.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(296);}

				switch (alt296) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom
					{
					dbg.location(1113,48);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:48: ( ws )?
					int alt294=2;
					try { dbg.enterSubRule(294);
					try { dbg.enterDecision(294, decisionCanBacktrack[294]);

					int LA294_0 = input.LA(1);
					if ( (LA294_0==COMMENT||LA294_0==NL||LA294_0==WS) ) {
						alt294=1;
					}
					} finally {dbg.exitDecision(294);}

					switch (alt294) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:48: ws
							{
							dbg.location(1113,48);
							pushFollow(FOLLOW_ws_in_cp_math_expression7002);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(294);}
					dbg.location(1113,52);
					if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}dbg.location(1113,78);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:78: ( ws )?
					int alt295=2;
					try { dbg.enterSubRule(295);
					try { dbg.enterDecision(295, decisionCanBacktrack[295]);

					int LA295_0 = input.LA(1);
					if ( (LA295_0==COMMENT||LA295_0==NL||LA295_0==WS) ) {
						alt295=1;
					}
					} finally {dbg.exitDecision(295);}

					switch (alt295) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:78: ws
							{
							dbg.location(1113,78);
							pushFollow(FOLLOW_ws_in_cp_math_expression7015);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(295);}
					dbg.location(1113,82);
					pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression7018);
					cp_math_expression_atom();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop296;
				}
			}
			} finally {dbg.exitSubRule(296);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1115, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_math_expression");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_math_expression"



	// $ANTLR start "cp_math_expression_atom"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1117:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN );
	public final void cp_math_expression_atom() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_math_expression_atom");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1117, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1118:5: ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN )
			int alt301=3;
			try { dbg.enterDecision(301, decisionCanBacktrack[301]);

			try {
				isCyclicDecision = true;
				alt301 = dfa301.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(301);}

			switch (alt301) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:5: term
					{
					dbg.location(1119,5);
					pushFollow(FOLLOW_term_in_cp_math_expression_atom7051);
					term();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1120:7: IMPORTANT_SYM
					{
					dbg.location(1120,7);
					match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom7059); if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:7: ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN
					{
					dbg.location(1121,7);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:7: ( unaryOperator ( ws )? )?
					int alt298=2;
					try { dbg.enterSubRule(298);
					try { dbg.enterDecision(298, decisionCanBacktrack[298]);

					int LA298_0 = input.LA(1);
					if ( (LA298_0==MINUS||LA298_0==PLUS) ) {
						alt298=1;
					}
					} finally {dbg.exitDecision(298);}

					switch (alt298) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:9: unaryOperator ( ws )?
							{
							dbg.location(1121,9);
							pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom7070);
							unaryOperator();
							state._fsp--;
							if (state.failed) return;dbg.location(1121,23);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:23: ( ws )?
							int alt297=2;
							try { dbg.enterSubRule(297);
							try { dbg.enterDecision(297, decisionCanBacktrack[297]);

							int LA297_0 = input.LA(1);
							if ( (LA297_0==COMMENT||LA297_0==NL||LA297_0==WS) ) {
								alt297=1;
							}
							} finally {dbg.exitDecision(297);}

							switch (alt297) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:23: ws
									{
									dbg.location(1121,23);
									pushFollow(FOLLOW_ws_in_cp_math_expression_atom7072);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(297);}

							}
							break;

					}
					} finally {dbg.exitSubRule(298);}
					dbg.location(1121,30);
					match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom7078); if (state.failed) return;dbg.location(1121,37);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:37: ( ws )?
					int alt299=2;
					try { dbg.enterSubRule(299);
					try { dbg.enterDecision(299, decisionCanBacktrack[299]);

					int LA299_0 = input.LA(1);
					if ( (LA299_0==COMMENT||LA299_0==NL||LA299_0==WS) ) {
						alt299=1;
					}
					} finally {dbg.exitDecision(299);}

					switch (alt299) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:37: ws
							{
							dbg.location(1121,37);
							pushFollow(FOLLOW_ws_in_cp_math_expression_atom7080);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(299);}
					dbg.location(1121,41);
					pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom7083);
					cp_math_expression();
					state._fsp--;
					if (state.failed) return;dbg.location(1121,60);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:60: ( ws )?
					int alt300=2;
					try { dbg.enterSubRule(300);
					try { dbg.enterDecision(300, decisionCanBacktrack[300]);

					int LA300_0 = input.LA(1);
					if ( (LA300_0==COMMENT||LA300_0==NL||LA300_0==WS) ) {
						alt300=1;
					}
					} finally {dbg.exitDecision(300);}

					switch (alt300) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:60: ws
							{
							dbg.location(1121,60);
							pushFollow(FOLLOW_ws_in_cp_math_expression_atom7085);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(300);}
					dbg.location(1121,64);
					match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom7088); if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1122, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_math_expression_atom");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_math_expression_atom"



	// $ANTLR start "cp_mixin_declaration"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1130:1: cp_mixin_declaration : ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ;
	public final void cp_mixin_declaration() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_declaration");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1130, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1131:5: ( ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1132:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block
			{
			dbg.location(1132,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1132:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? )
			int alt313=2;
			try { dbg.enterSubRule(313);
			try { dbg.enterDecision(313, decisionCanBacktrack[313]);

			int LA313_0 = input.LA(1);
			if ( (LA313_0==DOT||LA313_0==HASH||LA313_0==LESS_AND) ) {
				alt313=1;
			}
			else if ( (LA313_0==SASS_MIXIN) ) {
				alt313=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 313, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(313);}

			switch (alt313) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:9: {...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )?
					{
					dbg.location(1133,9);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_mixin_declaration", "isLessSource()");
					}dbg.location(1133,27);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:27: ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) )
					int alt306=2;
					try { dbg.enterSubRule(306);
					try { dbg.enterDecision(306, decisionCanBacktrack[306]);

					int LA306_0 = input.LA(1);
					if ( (LA306_0==LESS_AND) ) {
						alt306=1;
					}
					else if ( (LA306_0==DOT||LA306_0==HASH) ) {
						alt306=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 306, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(306);}

					switch (alt306) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:28: LESS_AND
							{
							dbg.location(1133,28);
							match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration7128); if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )
							{
							dbg.location(1133,39);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:40: ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN
							{
							dbg.location(1133,40);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:40: ( ( DOT cp_mixin_name ) | HASH )
							int alt302=2;
							try { dbg.enterSubRule(302);
							try { dbg.enterDecision(302, decisionCanBacktrack[302]);

							int LA302_0 = input.LA(1);
							if ( (LA302_0==DOT) ) {
								alt302=1;
							}
							else if ( (LA302_0==HASH) ) {
								alt302=2;
							}

							else {
								if (state.backtracking>0) {state.failed=true; return;}
								NoViableAltException nvae =
									new NoViableAltException("", 302, 0, input);
								dbg.recognitionException(nvae);
								throw nvae;
							}

							} finally {dbg.exitDecision(302);}

							switch (alt302) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:41: ( DOT cp_mixin_name )
									{
									dbg.location(1133,41);
									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:41: ( DOT cp_mixin_name )
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:42: DOT cp_mixin_name
									{
									dbg.location(1133,42);
									match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration7135); if (state.failed) return;dbg.location(1133,46);
									pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration7137);
									cp_mixin_name();
									state._fsp--;
									if (state.failed) return;
									}

									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:63: HASH
									{
									dbg.location(1133,63);
									match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration7142); if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(302);}
							dbg.location(1133,69);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:69: ( ws )?
							int alt303=2;
							try { dbg.enterSubRule(303);
							try { dbg.enterDecision(303, decisionCanBacktrack[303]);

							int LA303_0 = input.LA(1);
							if ( (LA303_0==COMMENT||LA303_0==NL||LA303_0==WS) ) {
								alt303=1;
							}
							} finally {dbg.exitDecision(303);}

							switch (alt303) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:69: ws
									{
									dbg.location(1133,69);
									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7145);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(303);}
							dbg.location(1133,73);
							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration7148); if (state.failed) return;dbg.location(1133,80);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:80: ( ws )?
							int alt304=2;
							try { dbg.enterSubRule(304);
							try { dbg.enterDecision(304, decisionCanBacktrack[304]);

							int LA304_0 = input.LA(1);
							if ( (LA304_0==COMMENT||LA304_0==NL||LA304_0==WS) ) {
								alt304=1;
							}
							} finally {dbg.exitDecision(304);}

							switch (alt304) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:80: ws
									{
									dbg.location(1133,80);
									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7150);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(304);}
							dbg.location(1133,84);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:84: ( cp_args_list )?
							int alt305=2;
							try { dbg.enterSubRule(305);
							try { dbg.enterDecision(305, decisionCanBacktrack[305]);

							int LA305_0 = input.LA(1);
							if ( (LA305_0==AT_IDENT||(LA305_0 >= BOTTOMCENTER_SYM && LA305_0 <= BOTTOMRIGHT_SYM)||LA305_0==CHARSET_SYM||(LA305_0 >= COUNTER_STYLE_SYM && LA305_0 <= CP_DOTS)||LA305_0==FONT_FACE_SYM||LA305_0==IDENT||LA305_0==IMPORT_SYM||(LA305_0 >= LEFTBOTTOM_SYM && LA305_0 <= LEFTTOP_SYM)||LA305_0==LESS_REST||LA305_0==MEDIA_SYM||LA305_0==MOZ_DOCUMENT_SYM||LA305_0==NAMESPACE_SYM||LA305_0==PAGE_SYM||(LA305_0 >= RIGHTBOTTOM_SYM && LA305_0 <= RIGHTTOP_SYM)||(LA305_0 >= SASS_AT_ROOT && LA305_0 <= SASS_DEBUG)||(LA305_0 >= SASS_EACH && LA305_0 <= SASS_ELSE)||LA305_0==SASS_EXTEND||(LA305_0 >= SASS_FOR && LA305_0 <= SASS_FUNCTION)||(LA305_0 >= SASS_IF && LA305_0 <= SASS_MIXIN)||(LA305_0 >= SASS_RETURN && LA305_0 <= SASS_WHILE)||(LA305_0 >= TOPCENTER_SYM && LA305_0 <= TOPRIGHT_SYM)||LA305_0==WEBKIT_KEYFRAMES_SYM) ) {
								alt305=1;
							}
							} finally {dbg.exitDecision(305);}

							switch (alt305) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:84: cp_args_list
									{
									dbg.location(1133,84);
									pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration7153);
									cp_args_list();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(305);}
							dbg.location(1133,98);
							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration7156); if (state.failed) return;
							}

							}
							break;

					}
					} finally {dbg.exitSubRule(306);}
					dbg.location(1133,107);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:107: ( ( ws )? less_mixin_guarded )?
					int alt308=2;
					try { dbg.enterSubRule(308);
					try { dbg.enterDecision(308, decisionCanBacktrack[308]);

					try {
						isCyclicDecision = true;
						alt308 = dfa308.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(308);}

					switch (alt308) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:108: ( ws )? less_mixin_guarded
							{
							dbg.location(1133,108);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:108: ( ws )?
							int alt307=2;
							try { dbg.enterSubRule(307);
							try { dbg.enterDecision(307, decisionCanBacktrack[307]);

							int LA307_0 = input.LA(1);
							if ( (LA307_0==COMMENT||LA307_0==NL||LA307_0==WS) ) {
								alt307=1;
							}
							} finally {dbg.exitDecision(307);}

							switch (alt307) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1133:108: ws
									{
									dbg.location(1133,108);
									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7161);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(307);}
							dbg.location(1133,112);
							pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration7164);
							less_mixin_guarded();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(308);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:9: {...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?
					{
					dbg.location(1135,9);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_mixin_declaration", "isScssSource()");
					}dbg.location(1135,27);
					match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration7188); if (state.failed) return;dbg.location(1135,38);
					pushFollow(FOLLOW_ws_in_cp_mixin_declaration7190);
					ws();
					state._fsp--;
					if (state.failed) return;dbg.location(1135,41);
					pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration7192);
					cp_mixin_name();
					state._fsp--;
					if (state.failed) return;dbg.location(1135,55);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?
					int alt312=2;
					try { dbg.enterSubRule(312);
					try { dbg.enterDecision(312, decisionCanBacktrack[312]);

					try {
						isCyclicDecision = true;
						alt312 = dfa312.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(312);}

					switch (alt312) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:56: ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN
							{
							dbg.location(1135,56);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:56: ( ws )?
							int alt309=2;
							try { dbg.enterSubRule(309);
							try { dbg.enterDecision(309, decisionCanBacktrack[309]);

							int LA309_0 = input.LA(1);
							if ( (LA309_0==COMMENT||LA309_0==NL||LA309_0==WS) ) {
								alt309=1;
							}
							} finally {dbg.exitDecision(309);}

							switch (alt309) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:56: ws
									{
									dbg.location(1135,56);
									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7195);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(309);}
							dbg.location(1135,60);
							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration7198); if (state.failed) return;dbg.location(1135,67);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:67: ( ws )?
							int alt310=2;
							try { dbg.enterSubRule(310);
							try { dbg.enterDecision(310, decisionCanBacktrack[310]);

							int LA310_0 = input.LA(1);
							if ( (LA310_0==COMMENT||LA310_0==NL||LA310_0==WS) ) {
								alt310=1;
							}
							} finally {dbg.exitDecision(310);}

							switch (alt310) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:67: ws
									{
									dbg.location(1135,67);
									pushFollow(FOLLOW_ws_in_cp_mixin_declaration7200);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(310);}
							dbg.location(1135,71);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:71: ( cp_args_list )?
							int alt311=2;
							try { dbg.enterSubRule(311);
							try { dbg.enterDecision(311, decisionCanBacktrack[311]);

							int LA311_0 = input.LA(1);
							if ( (LA311_0==AT_IDENT||(LA311_0 >= BOTTOMCENTER_SYM && LA311_0 <= BOTTOMRIGHT_SYM)||LA311_0==CHARSET_SYM||(LA311_0 >= COUNTER_STYLE_SYM && LA311_0 <= CP_DOTS)||LA311_0==FONT_FACE_SYM||LA311_0==IDENT||LA311_0==IMPORT_SYM||(LA311_0 >= LEFTBOTTOM_SYM && LA311_0 <= LEFTTOP_SYM)||LA311_0==LESS_REST||LA311_0==MEDIA_SYM||LA311_0==MOZ_DOCUMENT_SYM||LA311_0==NAMESPACE_SYM||LA311_0==PAGE_SYM||(LA311_0 >= RIGHTBOTTOM_SYM && LA311_0 <= RIGHTTOP_SYM)||(LA311_0 >= SASS_AT_ROOT && LA311_0 <= SASS_DEBUG)||(LA311_0 >= SASS_EACH && LA311_0 <= SASS_ELSE)||LA311_0==SASS_EXTEND||(LA311_0 >= SASS_FOR && LA311_0 <= SASS_FUNCTION)||(LA311_0 >= SASS_IF && LA311_0 <= SASS_MIXIN)||(LA311_0 >= SASS_RETURN && LA311_0 <= SASS_WHILE)||(LA311_0 >= TOPCENTER_SYM && LA311_0 <= TOPRIGHT_SYM)||LA311_0==WEBKIT_KEYFRAMES_SYM) ) {
								alt311=1;
							}
							} finally {dbg.exitDecision(311);}

							switch (alt311) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:71: cp_args_list
									{
									dbg.location(1135,71);
									pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration7203);
									cp_args_list();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(311);}
							dbg.location(1135,85);
							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration7206); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(312);}

					}
					break;

			}
			} finally {dbg.exitSubRule(313);}
			dbg.location(1137,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1137:5: ( ws )?
			int alt314=2;
			try { dbg.enterSubRule(314);
			try { dbg.enterDecision(314, decisionCanBacktrack[314]);

			int LA314_0 = input.LA(1);
			if ( (LA314_0==COMMENT||LA314_0==NL||LA314_0==WS) ) {
				alt314=1;
			}
			} finally {dbg.exitDecision(314);}

			switch (alt314) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1137:5: ws
					{
					dbg.location(1137,5);
					pushFollow(FOLLOW_ws_in_cp_mixin_declaration7220);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(314);}
			dbg.location(1137,9);
			pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration7223);
			cp_mixin_block();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1138, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_mixin_declaration");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_mixin_declaration"



	// $ANTLR start "cp_mixin_call"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:1: cp_mixin_call : ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ;
	public final void cp_mixin_call() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1142, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1143:5: ( ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1144:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? )
			{
			dbg.location(1144,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1144:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? )
			int alt330=2;
			try { dbg.enterSubRule(330);
			try { dbg.enterDecision(330, decisionCanBacktrack[330]);

			int LA330_0 = input.LA(1);
			if ( (LA330_0==AT_IDENT||LA330_0==DOT||LA330_0==HASH||LA330_0==LESS_AND) ) {
				alt330=1;
			}
			else if ( (LA330_0==SASS_INCLUDE) ) {
				alt330=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 330, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(330);}

			switch (alt330) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:9: {...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )?
					{
					dbg.location(1145,9);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_mixin_call", "isLessSource()");
					}dbg.location(1145,27);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:27: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
					int alt315=4;
					try { dbg.enterSubRule(315);
					try { dbg.enterDecision(315, decisionCanBacktrack[315]);

					switch ( input.LA(1) ) {
					case DOT:
						{
						alt315=1;
						}
						break;
					case HASH:
						{
						alt315=2;
						}
						break;
					case AT_IDENT:
						{
						alt315=3;
						}
						break;
					case LESS_AND:
						{
						alt315=4;
						}
						break;
					default:
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 315, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(315);}

					switch (alt315) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:28: DOT cp_mixin_name
							{
							dbg.location(1145,28);
							match(input,DOT,FOLLOW_DOT_in_cp_mixin_call7259); if (state.failed) return;dbg.location(1145,32);
							pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7261);
							cp_mixin_name();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:48: HASH
							{
							dbg.location(1145,48);
							match(input,HASH,FOLLOW_HASH_in_cp_mixin_call7265); if (state.failed) return;
							}
							break;
						case 3 :
							dbg.enterAlt(3);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:55: AT_IDENT
							{
							dbg.location(1145,55);
							match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call7269); if (state.failed) return;
							}
							break;
						case 4 :
							dbg.enterAlt(4);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:66: LESS_AND
							{
							dbg.location(1145,66);
							match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call7273); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(315);}
					dbg.location(1145,76);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:76: ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )*
					try { dbg.enterSubRule(319);

					loop319:
					while (true) {
						int alt319=2;
						try { dbg.enterDecision(319, decisionCanBacktrack[319]);

						int LA319_0 = input.LA(1);
						if ( (LA319_0==COMMENT||LA319_0==NL||LA319_0==WS) ) {
							int LA319_2 = input.LA(2);
							if ( (synpred48_Css3()) ) {
								alt319=1;
							}

						}
						else if ( (LA319_0==GREATER||LA319_0==PLUS||LA319_0==TILDE) ) {
							int LA319_14 = input.LA(2);
							if ( (synpred48_Css3()) ) {
								alt319=1;
							}

						}

						} finally {dbg.exitDecision(319);}

						switch (alt319) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:77: ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
							{
							dbg.location(1145,101);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:101: ( ws )?
							int alt316=2;
							try { dbg.enterSubRule(316);
							try { dbg.enterDecision(316, decisionCanBacktrack[316]);

							int LA316_0 = input.LA(1);
							if ( (LA316_0==COMMENT||LA316_0==NL||LA316_0==WS) ) {
								alt316=1;
							}
							} finally {dbg.exitDecision(316);}

							switch (alt316) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:101: ws
									{
									dbg.location(1145,101);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7289);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(316);}
							dbg.location(1145,105);
							pushFollow(FOLLOW_combinator_in_cp_mixin_call7292);
							combinator();
							state._fsp--;
							if (state.failed) return;dbg.location(1145,116);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:116: ( ws )?
							int alt317=2;
							try { dbg.enterSubRule(317);
							try { dbg.enterDecision(317, decisionCanBacktrack[317]);

							int LA317_0 = input.LA(1);
							if ( (LA317_0==COMMENT||LA317_0==NL||LA317_0==WS) ) {
								alt317=1;
							}
							} finally {dbg.exitDecision(317);}

							switch (alt317) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:116: ws
									{
									dbg.location(1145,116);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7294);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(317);}
							dbg.location(1145,120);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:120: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND )
							int alt318=4;
							try { dbg.enterSubRule(318);
							try { dbg.enterDecision(318, decisionCanBacktrack[318]);

							switch ( input.LA(1) ) {
							case DOT:
								{
								alt318=1;
								}
								break;
							case HASH:
								{
								alt318=2;
								}
								break;
							case AT_IDENT:
								{
								alt318=3;
								}
								break;
							case LESS_AND:
								{
								alt318=4;
								}
								break;
							default:
								if (state.backtracking>0) {state.failed=true; return;}
								NoViableAltException nvae =
									new NoViableAltException("", 318, 0, input);
								dbg.recognitionException(nvae);
								throw nvae;
							}
							} finally {dbg.exitDecision(318);}

							switch (alt318) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:121: DOT cp_mixin_name
									{
									dbg.location(1145,121);
									match(input,DOT,FOLLOW_DOT_in_cp_mixin_call7298); if (state.failed) return;dbg.location(1145,125);
									pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7300);
									cp_mixin_name();
									state._fsp--;
									if (state.failed) return;
									}
									break;
								case 2 :
									dbg.enterAlt(2);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:141: HASH
									{
									dbg.location(1145,141);
									match(input,HASH,FOLLOW_HASH_in_cp_mixin_call7304); if (state.failed) return;
									}
									break;
								case 3 :
									dbg.enterAlt(3);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:148: AT_IDENT
									{
									dbg.location(1145,148);
									match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call7308); if (state.failed) return;
									}
									break;
								case 4 :
									dbg.enterAlt(4);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:159: LESS_AND
									{
									dbg.location(1145,159);
									match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call7312); if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(318);}

							}
							break;

						default :
							break loop319;
						}
					}
					} finally {dbg.exitSubRule(319);}
					dbg.location(1145,171);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:171: ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )?
					int alt323=3;
					try { dbg.enterSubRule(323);
					try { dbg.enterDecision(323, decisionCanBacktrack[323]);

					int LA323_0 = input.LA(1);
					if ( (LA323_0==COLON||LA323_0==DCOLON) ) {
						int LA323_1 = input.LA(2);
						if ( (synpred49_Css3()) ) {
							alt323=1;
						}
					}
					else if ( (LA323_0==COMMENT||LA323_0==NL||LA323_0==WS) ) {
						int LA323_2 = input.LA(2);
						if ( (synpred50_Css3()) ) {
							alt323=2;
						}
					}
					else if ( (LA323_0==LPAREN) && (synpred50_Css3())) {
						alt323=2;
					}
					} finally {dbg.exitDecision(323);}

					switch (alt323) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:172: ( pseudo )=> pseudo
							{
							dbg.location(1145,182);
							pushFollow(FOLLOW_pseudo_in_cp_mixin_call7322);
							pseudo();
							state._fsp--;
							if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:191: ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )
							{
							dbg.location(1145,205);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:205: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:206: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN
							{
							dbg.location(1145,206);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:206: ( ws )?
							int alt320=2;
							try { dbg.enterSubRule(320);
							try { dbg.enterDecision(320, decisionCanBacktrack[320]);

							int LA320_0 = input.LA(1);
							if ( (LA320_0==COMMENT||LA320_0==NL||LA320_0==WS) ) {
								alt320=1;
							}
							} finally {dbg.exitDecision(320);}

							switch (alt320) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:206: ws
									{
									dbg.location(1145,206);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7334);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(320);}
							dbg.location(1145,210);
							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call7337); if (state.failed) return;dbg.location(1145,217);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:217: ( ws )?
							int alt321=2;
							try { dbg.enterSubRule(321);
							try { dbg.enterDecision(321, decisionCanBacktrack[321]);

							int LA321_0 = input.LA(1);
							if ( (LA321_0==COMMENT||LA321_0==NL||LA321_0==WS) ) {
								alt321=1;
							}
							} finally {dbg.exitDecision(321);}

							switch (alt321) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:217: ws
									{
									dbg.location(1145,217);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7339);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(321);}
							dbg.location(1145,221);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:221: ( cp_mixin_call_args )?
							int alt322=2;
							try { dbg.enterSubRule(322);
							try { dbg.enterDecision(322, decisionCanBacktrack[322]);

							int LA322_0 = input.LA(1);
							if ( ((LA322_0 >= ANGLE && LA322_0 <= AT_SIGN)||(LA322_0 >= BOTTOMCENTER_SYM && LA322_0 <= BOTTOMRIGHT_SYM)||LA322_0==CHARSET_SYM||LA322_0==COUNTER_STYLE_SYM||LA322_0==DIMENSION||LA322_0==EMS||LA322_0==EXS||(LA322_0 >= FONT_FACE_SYM && LA322_0 <= FREQ)||LA322_0==GEN||(LA322_0 >= HASH && LA322_0 <= HASH_SYMBOL)||(LA322_0 >= IDENT && LA322_0 <= IMPORT_SYM)||LA322_0==LBRACE||(LA322_0 >= LEFTBOTTOM_SYM && LA322_0 <= LENGTH)||(LA322_0 >= LESS_AND && LA322_0 <= LESS_JS_STRING)||LA322_0==LPAREN||(LA322_0 >= MEDIA_SYM && LA322_0 <= MOZ_DOCUMENT_SYM)||LA322_0==NAMESPACE_SYM||(LA322_0 >= NOT && LA322_0 <= NUMBER)||(LA322_0 >= PAGE_SYM && LA322_0 <= PERCENTAGE_SYMBOL)||LA322_0==PLUS||(LA322_0 >= REM && LA322_0 <= RIGHTTOP_SYM)||(LA322_0 >= SASS_AT_ROOT && LA322_0 <= SASS_DEBUG)||(LA322_0 >= SASS_EACH && LA322_0 <= SASS_ELSE)||LA322_0==SASS_EXTEND||(LA322_0 >= SASS_FOR && LA322_0 <= SASS_FUNCTION)||(LA322_0 >= SASS_IF && LA322_0 <= SASS_MIXIN)||(LA322_0 >= SASS_RETURN && LA322_0 <= SASS_WHILE)||LA322_0==STRING||(LA322_0 >= TILDE && LA322_0 <= TOPRIGHT_SYM)||LA322_0==URI||LA322_0==WEBKIT_KEYFRAMES_SYM) ) {
								alt322=1;
							}
							} finally {dbg.exitDecision(322);}

							switch (alt322) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:221: cp_mixin_call_args
									{
									dbg.location(1145,221);
									pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call7342);
									cp_mixin_call_args();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(322);}
							dbg.location(1145,241);
							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call7345); if (state.failed) return;
							}

							}
							break;

					}
					} finally {dbg.exitSubRule(323);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:9: {...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )?
					{
					dbg.location(1147,9);
					if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_mixin_call", "isScssSource()");
					}dbg.location(1147,27);
					match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call7370); if (state.failed) return;dbg.location(1147,40);
					pushFollow(FOLLOW_ws_in_cp_mixin_call7372);
					ws();
					state._fsp--;
					if (state.failed) return;dbg.location(1147,43);
					pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call7374);
					cp_mixin_name();
					state._fsp--;
					if (state.failed) return;dbg.location(1147,57);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )?
					int alt327=2;
					try { dbg.enterSubRule(327);
					try { dbg.enterDecision(327, decisionCanBacktrack[327]);

					try {
						isCyclicDecision = true;
						alt327 = dfa327.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(327);}

					switch (alt327) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:58: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN
							{
							dbg.location(1147,58);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:58: ( ws )?
							int alt324=2;
							try { dbg.enterSubRule(324);
							try { dbg.enterDecision(324, decisionCanBacktrack[324]);

							int LA324_0 = input.LA(1);
							if ( (LA324_0==COMMENT||LA324_0==NL||LA324_0==WS) ) {
								alt324=1;
							}
							} finally {dbg.exitDecision(324);}

							switch (alt324) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:58: ws
									{
									dbg.location(1147,58);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7377);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(324);}
							dbg.location(1147,62);
							match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call7380); if (state.failed) return;dbg.location(1147,69);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:69: ( ws )?
							int alt325=2;
							try { dbg.enterSubRule(325);
							try { dbg.enterDecision(325, decisionCanBacktrack[325]);

							int LA325_0 = input.LA(1);
							if ( (LA325_0==COMMENT||LA325_0==NL||LA325_0==WS) ) {
								alt325=1;
							}
							} finally {dbg.exitDecision(325);}

							switch (alt325) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:69: ws
									{
									dbg.location(1147,69);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7382);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(325);}
							dbg.location(1147,73);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:73: ( cp_mixin_call_args )?
							int alt326=2;
							try { dbg.enterSubRule(326);
							try { dbg.enterDecision(326, decisionCanBacktrack[326]);

							int LA326_0 = input.LA(1);
							if ( ((LA326_0 >= ANGLE && LA326_0 <= AT_SIGN)||(LA326_0 >= BOTTOMCENTER_SYM && LA326_0 <= BOTTOMRIGHT_SYM)||LA326_0==CHARSET_SYM||LA326_0==COUNTER_STYLE_SYM||LA326_0==DIMENSION||LA326_0==EMS||LA326_0==EXS||(LA326_0 >= FONT_FACE_SYM && LA326_0 <= FREQ)||LA326_0==GEN||(LA326_0 >= HASH && LA326_0 <= HASH_SYMBOL)||(LA326_0 >= IDENT && LA326_0 <= IMPORT_SYM)||LA326_0==LBRACE||(LA326_0 >= LEFTBOTTOM_SYM && LA326_0 <= LENGTH)||(LA326_0 >= LESS_AND && LA326_0 <= LESS_JS_STRING)||LA326_0==LPAREN||(LA326_0 >= MEDIA_SYM && LA326_0 <= MOZ_DOCUMENT_SYM)||LA326_0==NAMESPACE_SYM||(LA326_0 >= NOT && LA326_0 <= NUMBER)||(LA326_0 >= PAGE_SYM && LA326_0 <= PERCENTAGE_SYMBOL)||LA326_0==PLUS||(LA326_0 >= REM && LA326_0 <= RIGHTTOP_SYM)||(LA326_0 >= SASS_AT_ROOT && LA326_0 <= SASS_DEBUG)||(LA326_0 >= SASS_EACH && LA326_0 <= SASS_ELSE)||LA326_0==SASS_EXTEND||(LA326_0 >= SASS_FOR && LA326_0 <= SASS_FUNCTION)||(LA326_0 >= SASS_IF && LA326_0 <= SASS_MIXIN)||(LA326_0 >= SASS_RETURN && LA326_0 <= SASS_WHILE)||LA326_0==STRING||(LA326_0 >= TILDE && LA326_0 <= TOPRIGHT_SYM)||LA326_0==URI||LA326_0==WEBKIT_KEYFRAMES_SYM) ) {
								alt326=1;
							}
							} finally {dbg.exitDecision(326);}

							switch (alt326) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:73: cp_mixin_call_args
									{
									dbg.location(1147,73);
									pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call7385);
									cp_mixin_call_args();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(326);}
							dbg.location(1147,93);
							match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call7388); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(327);}
					dbg.location(1147,102);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:102: ( ( ws )? cp_mixin_block )?
					int alt329=2;
					try { dbg.enterSubRule(329);
					try { dbg.enterDecision(329, decisionCanBacktrack[329]);

					try {
						isCyclicDecision = true;
						alt329 = dfa329.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(329);}

					switch (alt329) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:103: ( ws )? cp_mixin_block
							{
							dbg.location(1147,103);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:103: ( ws )?
							int alt328=2;
							try { dbg.enterSubRule(328);
							try { dbg.enterDecision(328, decisionCanBacktrack[328]);

							int LA328_0 = input.LA(1);
							if ( (LA328_0==COMMENT||LA328_0==NL||LA328_0==WS) ) {
								alt328=1;
							}
							} finally {dbg.exitDecision(328);}

							switch (alt328) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:103: ws
									{
									dbg.location(1147,103);
									pushFollow(FOLLOW_ws_in_cp_mixin_call7393);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(328);}
							dbg.location(1147,107);
							pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call7396);
							cp_mixin_block();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(329);}

					}
					break;

			}
			} finally {dbg.exitSubRule(330);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1149, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_mixin_call");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_mixin_call"



	// $ANTLR start "cp_mixin_block"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1151:1: cp_mixin_block : LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ;
	public final void cp_mixin_block() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_block");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1151, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:5: ( LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1153:5: LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE
			{
			dbg.location(1153,5);
			match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block7425); if (state.failed) return;dbg.location(1153,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1153:12: ( ws )?
			int alt331=2;
			try { dbg.enterSubRule(331);
			try { dbg.enterDecision(331, decisionCanBacktrack[331]);

			int LA331_0 = input.LA(1);
			if ( (LA331_0==COMMENT||LA331_0==NL||LA331_0==WS) ) {
				alt331=1;
			}
			} finally {dbg.exitDecision(331);}

			switch (alt331) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1153:12: ws
					{
					dbg.location(1153,12);
					pushFollow(FOLLOW_ws_in_cp_mixin_block7427);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(331);}
			dbg.location(1153,16);
			pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block7430);
			syncToFollow();
			state._fsp--;
			if (state.failed) return;dbg.location(1154,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:9: ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )?
			int alt334=3;
			try { dbg.enterSubRule(334);
			try { dbg.enterDecision(334, decisionCanBacktrack[334]);

			int LA334_0 = input.LA(1);
			if ( ((LA334_0 >= AT_IDENT && LA334_0 <= AT_SIGN)||(LA334_0 >= BOTTOMCENTER_SYM && LA334_0 <= BOTTOMRIGHT_SYM)||(LA334_0 >= CHARSET_SYM && LA334_0 <= COLON)||LA334_0==COUNTER_STYLE_SYM||(LA334_0 >= DCOLON && LA334_0 <= DOT)||LA334_0==FONT_FACE_SYM||(LA334_0 >= GEN && LA334_0 <= GREATER)||(LA334_0 >= HASH && LA334_0 <= HASH_SYMBOL)||LA334_0==IMPORT_SYM||(LA334_0 >= LBRACKET && LA334_0 <= LEFTTOP_SYM)||LA334_0==LESS_AND||(LA334_0 >= MEDIA_SYM && LA334_0 <= MOZ_DOCUMENT_SYM)||LA334_0==NAMESPACE_SYM||LA334_0==PAGE_SYM||(LA334_0 >= PIPE && LA334_0 <= PLUS)||(LA334_0 >= RIGHTBOTTOM_SYM && LA334_0 <= RIGHTTOP_SYM)||LA334_0==SASS_AT_ROOT||LA334_0==SASS_DEBUG||(LA334_0 >= SASS_EACH && LA334_0 <= SASS_ELSE)||(LA334_0 >= SASS_ERROR && LA334_0 <= SASS_FUNCTION)||(LA334_0 >= SASS_IF && LA334_0 <= SASS_MIXIN)||(LA334_0 >= SASS_RETURN && LA334_0 <= SEMI)||LA334_0==STAR||LA334_0==TILDE||(LA334_0 >= TOPCENTER_SYM && LA334_0 <= TOPRIGHT_SYM)||LA334_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt334=1;
			}
			else if ( (LA334_0==IDENT) ) {
				int LA334_4 = input.LA(2);
				if ( (true) ) {
					alt334=1;
				}
				else if ( (((evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")||evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")"))&&synpred51_Css3())) ) {
					alt334=2;
				}
			}
			else if ( (LA334_0==SASS_CONTENT) ) {
				int LA334_34 = input.LA(2);
				if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt334=1;
				}
				else if ( ((synpred51_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {
					alt334=2;
				}
			}
			else if ( (LA334_0==PERCENTAGE) && (synpred51_Css3())) {
				alt334=2;
			}
			else if ( (LA334_0==RBRACE) ) {
				int LA334_40 = input.LA(2);
				if ( (synpred51_Css3()) ) {
					alt334=2;
				}
			}
			} finally {dbg.exitDecision(334);}

			switch (alt334) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:10: declarations
					{
					dbg.location(1154,10);
					pushFollow(FOLLOW_declarations_in_cp_mixin_block7441);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:25: ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )*
					{
					dbg.location(1155,3);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:3: ( webkitKeyframesBlock ( ws )? )*
					try { dbg.enterSubRule(333);

					loop333:
					while (true) {
						int alt333=2;
						try { dbg.enterDecision(333, decisionCanBacktrack[333]);

						int LA333_0 = input.LA(1);
						if ( (LA333_0==IDENT||LA333_0==PERCENTAGE||LA333_0==SASS_CONTENT) ) {
							alt333=1;
						}

						} finally {dbg.exitDecision(333);}

						switch (alt333) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:5: webkitKeyframesBlock ( ws )?
							{
							dbg.location(1155,5);
							pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block7456);
							webkitKeyframesBlock();
							state._fsp--;
							if (state.failed) return;dbg.location(1155,26);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:26: ( ws )?
							int alt332=2;
							try { dbg.enterSubRule(332);
							try { dbg.enterDecision(332, decisionCanBacktrack[332]);

							int LA332_0 = input.LA(1);
							if ( (LA332_0==COMMENT||LA332_0==NL||LA332_0==WS) ) {
								alt332=1;
							}
							} finally {dbg.exitDecision(332);}

							switch (alt332) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:26: ws
									{
									dbg.location(1155,26);
									pushFollow(FOLLOW_ws_in_cp_mixin_block7458);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(332);}

							}
							break;

						default :
							break loop333;
						}
					}
					} finally {dbg.exitSubRule(333);}

					}
					break;

			}
			} finally {dbg.exitSubRule(334);}
			dbg.location(1156,5);
			match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block7470); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1157, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_mixin_block");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_mixin_block"



	// $ANTLR start "cp_mixin_name"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:1: cp_mixin_name : IDENT ;
	public final void cp_mixin_name() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_name");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1159, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1160:5: ( IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1161:5: IDENT
			{
			dbg.location(1161,5);
			match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name7491); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1162, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_mixin_name");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_mixin_name"



	// $ANTLR start "cp_mixin_call_args"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:1: cp_mixin_call_args : cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ;
	public final void cp_mixin_call_args() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call_args");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1164, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1165:5: ( cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:5: cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )?
			{
			dbg.location(1168,5);
			pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7522);
			cp_mixin_call_arg();
			state._fsp--;
			if (state.failed) return;dbg.location(1168,23);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:23: ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )*
			try { dbg.enterSubRule(336);

			loop336:
			while (true) {
				int alt336=2;
				try { dbg.enterDecision(336, decisionCanBacktrack[336]);

				int LA336_0 = input.LA(1);
				if ( (LA336_0==SEMI) ) {
					int LA336_2 = input.LA(2);
					if ( ((LA336_2 >= ANGLE && LA336_2 <= AT_SIGN)||(LA336_2 >= BOTTOMCENTER_SYM && LA336_2 <= BOTTOMRIGHT_SYM)||LA336_2==CHARSET_SYM||LA336_2==COMMENT||LA336_2==COUNTER_STYLE_SYM||LA336_2==DIMENSION||LA336_2==EMS||LA336_2==EXS||(LA336_2 >= FONT_FACE_SYM && LA336_2 <= FREQ)||LA336_2==GEN||(LA336_2 >= HASH && LA336_2 <= HASH_SYMBOL)||(LA336_2 >= IDENT && LA336_2 <= IMPORT_SYM)||LA336_2==LBRACE||(LA336_2 >= LEFTBOTTOM_SYM && LA336_2 <= LENGTH)||(LA336_2 >= LESS_AND && LA336_2 <= LESS_JS_STRING)||LA336_2==LPAREN||(LA336_2 >= MEDIA_SYM && LA336_2 <= MOZ_DOCUMENT_SYM)||(LA336_2 >= NAMESPACE_SYM && LA336_2 <= NL)||(LA336_2 >= NOT && LA336_2 <= NUMBER)||(LA336_2 >= PAGE_SYM && LA336_2 <= PERCENTAGE_SYMBOL)||LA336_2==PLUS||(LA336_2 >= REM && LA336_2 <= RIGHTTOP_SYM)||(LA336_2 >= SASS_AT_ROOT && LA336_2 <= SASS_DEBUG)||(LA336_2 >= SASS_EACH && LA336_2 <= SASS_ELSE)||LA336_2==SASS_EXTEND||(LA336_2 >= SASS_FOR && LA336_2 <= SASS_FUNCTION)||(LA336_2 >= SASS_IF && LA336_2 <= SASS_MIXIN)||(LA336_2 >= SASS_RETURN && LA336_2 <= SASS_WHILE)||LA336_2==STRING||(LA336_2 >= TILDE && LA336_2 <= TOPRIGHT_SYM)||LA336_2==URI||(LA336_2 >= WEBKIT_KEYFRAMES_SYM && LA336_2 <= WS)) ) {
						alt336=1;
					}

				}
				else if ( (LA336_0==COMMA) ) {
					alt336=1;
				}

				} finally {dbg.exitDecision(336);}

				switch (alt336) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:25: ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg
					{
					dbg.location(1168,25);
					if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}dbg.location(1168,40);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:40: ( ws )?
					int alt335=2;
					try { dbg.enterSubRule(335);
					try { dbg.enterDecision(335, decisionCanBacktrack[335]);

					int LA335_0 = input.LA(1);
					if ( (LA335_0==COMMENT||LA335_0==NL||LA335_0==WS) ) {
						alt335=1;
					}
					} finally {dbg.exitDecision(335);}

					switch (alt335) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:40: ws
							{
							dbg.location(1168,40);
							pushFollow(FOLLOW_ws_in_cp_mixin_call_args7534);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(335);}
					dbg.location(1168,44);
					pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7537);
					cp_mixin_call_arg();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop336;
				}
			}
			} finally {dbg.exitSubRule(336);}
			dbg.location(1168,65);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:65: ( CP_DOTS ( ws )? )?
			int alt338=2;
			try { dbg.enterSubRule(338);
			try { dbg.enterDecision(338, decisionCanBacktrack[338]);

			int LA338_0 = input.LA(1);
			if ( (LA338_0==CP_DOTS) ) {
				alt338=1;
			}
			} finally {dbg.exitDecision(338);}

			switch (alt338) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:66: CP_DOTS ( ws )?
					{
					dbg.location(1168,66);
					match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args7543); if (state.failed) return;dbg.location(1168,74);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:74: ( ws )?
					int alt337=2;
					try { dbg.enterSubRule(337);
					try { dbg.enterDecision(337, decisionCanBacktrack[337]);

					int LA337_0 = input.LA(1);
					if ( (LA337_0==COMMENT||LA337_0==NL||LA337_0==WS) ) {
						alt337=1;
					}
					} finally {dbg.exitDecision(337);}

					switch (alt337) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:74: ws
							{
							dbg.location(1168,74);
							pushFollow(FOLLOW_ws_in_cp_mixin_call_args7545);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(337);}

					}
					break;

			}
			} finally {dbg.exitSubRule(338);}
			dbg.location(1168,80);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:80: ( SEMI )?
			int alt339=2;
			try { dbg.enterSubRule(339);
			try { dbg.enterDecision(339, decisionCanBacktrack[339]);

			int LA339_0 = input.LA(1);
			if ( (LA339_0==SEMI) ) {
				alt339=1;
			}
			} finally {dbg.exitDecision(339);}

			switch (alt339) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:80: SEMI
					{
					dbg.location(1168,80);
					match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args7550); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(339);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1169, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_mixin_call_args");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_mixin_call_args"



	// $ANTLR start "cp_mixin_call_arg"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1171:1: cp_mixin_call_arg : ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ;
	public final void cp_mixin_call_arg() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call_arg");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1171, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1172:5: ( ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1173:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )?
			{
			dbg.location(1173,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1173:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression )
			int alt342=2;
			try { dbg.enterSubRule(342);
			try { dbg.enterDecision(342, decisionCanBacktrack[342]);

			try {
				isCyclicDecision = true;
				alt342 = dfa342.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(342);}

			switch (alt342) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:9: cp_variable ( ws )? COLON ( ws )? cp_expression
					{
					dbg.location(1174,9);
					pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg7582);
					cp_variable();
					state._fsp--;
					if (state.failed) return;dbg.location(1174,21);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:21: ( ws )?
					int alt340=2;
					try { dbg.enterSubRule(340);
					try { dbg.enterDecision(340, decisionCanBacktrack[340]);

					int LA340_0 = input.LA(1);
					if ( (LA340_0==COMMENT||LA340_0==NL||LA340_0==WS) ) {
						alt340=1;
					}
					} finally {dbg.exitDecision(340);}

					switch (alt340) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:21: ws
							{
							dbg.location(1174,21);
							pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7584);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(340);}
					dbg.location(1174,25);
					match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg7587); if (state.failed) return;dbg.location(1174,31);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:31: ( ws )?
					int alt341=2;
					try { dbg.enterSubRule(341);
					try { dbg.enterDecision(341, decisionCanBacktrack[341]);

					int LA341_0 = input.LA(1);
					if ( (LA341_0==COMMENT||LA341_0==NL||LA341_0==WS) ) {
						alt341=1;
					}
					} finally {dbg.exitDecision(341);}

					switch (alt341) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:31: ws
							{
							dbg.location(1174,31);
							pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7589);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(341);}
					dbg.location(1174,35);
					pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg7592);
					cp_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1175:11: cp_expression
					{
					dbg.location(1175,11);
					pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg7604);
					cp_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(342);}
			dbg.location(1176,7);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1176:7: ( ws )?
			int alt343=2;
			try { dbg.enterSubRule(343);
			try { dbg.enterDecision(343, decisionCanBacktrack[343]);

			int LA343_0 = input.LA(1);
			if ( (LA343_0==COMMENT||LA343_0==NL||LA343_0==WS) ) {
				alt343=1;
			}
			} finally {dbg.exitDecision(343);}

			switch (alt343) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1176:7: ws
					{
					dbg.location(1176,7);
					pushFollow(FOLLOW_ws_in_cp_mixin_call_arg7612);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(343);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1177, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_mixin_call_arg");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_mixin_call_arg"



	// $ANTLR start "cp_args_list"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1180:1: cp_args_list : ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? );
	public final void cp_args_list() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_args_list");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1180, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1181:5: ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? )
			int alt351=2;
			try { dbg.enterDecision(351, decisionCanBacktrack[351]);

			int LA351_0 = input.LA(1);
			if ( (LA351_0==AT_IDENT||(LA351_0 >= BOTTOMCENTER_SYM && LA351_0 <= BOTTOMRIGHT_SYM)||LA351_0==CHARSET_SYM||LA351_0==COUNTER_STYLE_SYM||LA351_0==FONT_FACE_SYM||LA351_0==IDENT||LA351_0==IMPORT_SYM||(LA351_0 >= LEFTBOTTOM_SYM && LA351_0 <= LEFTTOP_SYM)||LA351_0==MEDIA_SYM||LA351_0==MOZ_DOCUMENT_SYM||LA351_0==NAMESPACE_SYM||LA351_0==PAGE_SYM||(LA351_0 >= RIGHTBOTTOM_SYM && LA351_0 <= RIGHTTOP_SYM)||(LA351_0 >= SASS_AT_ROOT && LA351_0 <= SASS_DEBUG)||(LA351_0 >= SASS_EACH && LA351_0 <= SASS_ELSE)||LA351_0==SASS_EXTEND||(LA351_0 >= SASS_FOR && LA351_0 <= SASS_FUNCTION)||(LA351_0 >= SASS_IF && LA351_0 <= SASS_MIXIN)||(LA351_0 >= SASS_RETURN && LA351_0 <= SASS_WHILE)||(LA351_0 >= TOPCENTER_SYM && LA351_0 <= TOPRIGHT_SYM)||LA351_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt351=1;
			}
			else if ( (LA351_0==CP_DOTS||LA351_0==LESS_REST) ) {
				alt351=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 351, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(351);}

			switch (alt351) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? )
					{
					dbg.location(1188,5);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? )
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:7: cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )?
					{
					dbg.location(1188,7);
					pushFollow(FOLLOW_cp_arg_in_cp_args_list7659);
					cp_arg();
					state._fsp--;
					if (state.failed) return;dbg.location(1188,14);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )*
					try { dbg.enterSubRule(345);

					loop345:
					while (true) {
						int alt345=2;
						try { dbg.enterDecision(345, decisionCanBacktrack[345]);

						try {
							isCyclicDecision = true;
							alt345 = dfa345.predict(input);
						}
						catch (NoViableAltException nvae) {
							dbg.recognitionException(nvae);
							throw nvae;
						}
						} finally {dbg.exitDecision(345);}

						switch (alt345) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:16: ( COMMA | SEMI ) ( ws )? cp_arg
							{
							dbg.location(1188,16);
							if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) {
								input.consume();
								state.errorRecovery=false;
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								dbg.recognitionException(mse);
								throw mse;
							}dbg.location(1188,33);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:33: ( ws )?
							int alt344=2;
							try { dbg.enterSubRule(344);
							try { dbg.enterDecision(344, decisionCanBacktrack[344]);

							int LA344_0 = input.LA(1);
							if ( (LA344_0==COMMENT||LA344_0==NL||LA344_0==WS) ) {
								alt344=1;
							}
							} finally {dbg.exitDecision(344);}

							switch (alt344) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:33: ws
									{
									dbg.location(1188,33);
									pushFollow(FOLLOW_ws_in_cp_args_list7673);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(344);}
							dbg.location(1188,37);
							pushFollow(FOLLOW_cp_arg_in_cp_args_list7676);
							cp_arg();
							state._fsp--;
							if (state.failed) return;
							}
							break;

						default :
							break loop345;
						}
					}
					} finally {dbg.exitSubRule(345);}
					dbg.location(1188,47);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:47: ( ( COMMA | SEMI ) ( ws )? )?
					int alt347=2;
					try { dbg.enterSubRule(347);
					try { dbg.enterDecision(347, decisionCanBacktrack[347]);

					int LA347_0 = input.LA(1);
					if ( (LA347_0==COMMA||LA347_0==SEMI) ) {
						alt347=1;
					}
					} finally {dbg.exitDecision(347);}

					switch (alt347) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:49: ( COMMA | SEMI ) ( ws )?
							{
							dbg.location(1188,49);
							if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) {
								input.consume();
								state.errorRecovery=false;
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								dbg.recognitionException(mse);
								throw mse;
							}dbg.location(1188,64);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:64: ( ws )?
							int alt346=2;
							try { dbg.enterSubRule(346);
							try { dbg.enterDecision(346, decisionCanBacktrack[346]);

							int LA346_0 = input.LA(1);
							if ( (LA346_0==COMMENT||LA346_0==NL||LA346_0==WS) ) {
								alt346=1;
							}
							} finally {dbg.exitDecision(346);}

							switch (alt346) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:64: ws
									{
									dbg.location(1188,64);
									pushFollow(FOLLOW_ws_in_cp_args_list7691);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(346);}

							}
							break;

					}
					} finally {dbg.exitSubRule(347);}
					dbg.location(1188,71);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:71: ( ( CP_DOTS | LESS_REST ) ( ws )? )?
					int alt349=2;
					try { dbg.enterSubRule(349);
					try { dbg.enterDecision(349, decisionCanBacktrack[349]);

					int LA349_0 = input.LA(1);
					if ( (LA349_0==CP_DOTS||LA349_0==LESS_REST) ) {
						alt349=1;
					}
					} finally {dbg.exitDecision(349);}

					switch (alt349) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:73: ( CP_DOTS | LESS_REST ) ( ws )?
							{
							dbg.location(1188,73);
							if ( input.LA(1)==CP_DOTS||input.LA(1)==LESS_REST ) {
								input.consume();
								state.errorRecovery=false;
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								dbg.recognitionException(mse);
								throw mse;
							}dbg.location(1188,95);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:95: ( ws )?
							int alt348=2;
							try { dbg.enterSubRule(348);
							try { dbg.enterDecision(348, decisionCanBacktrack[348]);

							int LA348_0 = input.LA(1);
							if ( (LA348_0==COMMENT||LA348_0==NL||LA348_0==WS) ) {
								alt348=1;
							}
							} finally {dbg.exitDecision(348);}

							switch (alt348) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:95: ws
									{
									dbg.location(1188,95);
									pushFollow(FOLLOW_ws_in_cp_args_list7707);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(348);}

							}
							break;

					}
					} finally {dbg.exitSubRule(349);}

					}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1190:5: ( CP_DOTS | LESS_REST ) ( ws )?
					{
					dbg.location(1190,5);
					if ( input.LA(1)==CP_DOTS||input.LA(1)==LESS_REST ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}dbg.location(1190,27);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1190:27: ( ws )?
					int alt350=2;
					try { dbg.enterSubRule(350);
					try { dbg.enterDecision(350, decisionCanBacktrack[350]);

					int LA350_0 = input.LA(1);
					if ( (LA350_0==COMMENT||LA350_0==NL||LA350_0==WS) ) {
						alt350=1;
					}
					} finally {dbg.exitDecision(350);}

					switch (alt350) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1190:27: ws
							{
							dbg.location(1190,27);
							pushFollow(FOLLOW_ws_in_cp_args_list7732);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(350);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1191, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_args_list");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_args_list"



	// $ANTLR start "cp_arg"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1194:1: cp_arg : ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT );
	public final void cp_arg() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "cp_arg");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1194, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1195:5: ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT )
			int alt356=2;
			try { dbg.enterDecision(356, decisionCanBacktrack[356]);

			int LA356_0 = input.LA(1);
			if ( (LA356_0==AT_IDENT||(LA356_0 >= BOTTOMCENTER_SYM && LA356_0 <= BOTTOMRIGHT_SYM)||LA356_0==CHARSET_SYM||LA356_0==COUNTER_STYLE_SYM||LA356_0==FONT_FACE_SYM||LA356_0==IMPORT_SYM||(LA356_0 >= LEFTBOTTOM_SYM && LA356_0 <= LEFTTOP_SYM)||LA356_0==MEDIA_SYM||LA356_0==MOZ_DOCUMENT_SYM||LA356_0==NAMESPACE_SYM||LA356_0==PAGE_SYM||(LA356_0 >= RIGHTBOTTOM_SYM && LA356_0 <= RIGHTTOP_SYM)||(LA356_0 >= SASS_AT_ROOT && LA356_0 <= SASS_DEBUG)||(LA356_0 >= SASS_EACH && LA356_0 <= SASS_ELSE)||LA356_0==SASS_EXTEND||(LA356_0 >= SASS_FOR && LA356_0 <= SASS_FUNCTION)||(LA356_0 >= SASS_IF && LA356_0 <= SASS_MIXIN)||(LA356_0 >= SASS_RETURN && LA356_0 <= SASS_WHILE)||(LA356_0 >= TOPCENTER_SYM && LA356_0 <= TOPRIGHT_SYM)||LA356_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt356=1;
			}
			else if ( (LA356_0==IDENT) ) {
				alt356=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 356, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(356);}

			switch (alt356) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:5: cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )?
					{
					dbg.location(1196,5);
					pushFollow(FOLLOW_cp_variable_in_cp_arg7755);
					cp_variable();
					state._fsp--;
					if (state.failed) return;dbg.location(1196,17);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:17: ( ws )?
					int alt352=2;
					try { dbg.enterSubRule(352);
					try { dbg.enterDecision(352, decisionCanBacktrack[352]);

					int LA352_0 = input.LA(1);
					if ( (LA352_0==COMMENT||LA352_0==NL||LA352_0==WS) ) {
						alt352=1;
					}
					} finally {dbg.exitDecision(352);}

					switch (alt352) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:17: ws
							{
							dbg.location(1196,17);
							pushFollow(FOLLOW_ws_in_cp_arg7757);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(352);}
					dbg.location(1196,21);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:21: ( COLON ( ws )? cp_expression ( ws )? )?
					int alt355=2;
					try { dbg.enterSubRule(355);
					try { dbg.enterDecision(355, decisionCanBacktrack[355]);

					int LA355_0 = input.LA(1);
					if ( (LA355_0==COLON) ) {
						alt355=1;
					}
					} finally {dbg.exitDecision(355);}

					switch (alt355) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:23: COLON ( ws )? cp_expression ( ws )?
							{
							dbg.location(1196,23);
							match(input,COLON,FOLLOW_COLON_in_cp_arg7762); if (state.failed) return;dbg.location(1196,29);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:29: ( ws )?
							int alt353=2;
							try { dbg.enterSubRule(353);
							try { dbg.enterDecision(353, decisionCanBacktrack[353]);

							int LA353_0 = input.LA(1);
							if ( (LA353_0==COMMENT||LA353_0==NL||LA353_0==WS) ) {
								alt353=1;
							}
							} finally {dbg.exitDecision(353);}

							switch (alt353) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:29: ws
									{
									dbg.location(1196,29);
									pushFollow(FOLLOW_ws_in_cp_arg7764);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(353);}
							dbg.location(1196,33);
							pushFollow(FOLLOW_cp_expression_in_cp_arg7767);
							cp_expression();
							state._fsp--;
							if (state.failed) return;dbg.location(1196,47);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:47: ( ws )?
							int alt354=2;
							try { dbg.enterSubRule(354);
							try { dbg.enterDecision(354, decisionCanBacktrack[354]);

							int LA354_0 = input.LA(1);
							if ( (LA354_0==COMMENT||LA354_0==NL||LA354_0==WS) ) {
								alt354=1;
							}
							} finally {dbg.exitDecision(354);}

							switch (alt354) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:47: ws
									{
									dbg.location(1196,47);
									pushFollow(FOLLOW_ws_in_cp_arg7769);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(354);}

							}
							break;

					}
					} finally {dbg.exitSubRule(355);}

					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1197:7: {...}? IDENT
					{
					dbg.location(1197,7);
					if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) {
						if (state.backtracking>0) {state.failed=true; return;}
						throw new FailedPredicateException(input, "cp_arg", "isLessSource()");
					}dbg.location(1197,25);
					match(input,IDENT,FOLLOW_IDENT_in_cp_arg7782); if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1198, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "cp_arg");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "cp_arg"



	// $ANTLR start "less_mixin_guarded"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1202:1: less_mixin_guarded : less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ;
	public final void less_mixin_guarded() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_mixin_guarded");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1202, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1203:5: ( less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:5: less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*
			{
			dbg.location(1204,5);
			pushFollow(FOLLOW_less_when_in_less_mixin_guarded7805);
			less_when();
			state._fsp--;
			if (state.failed) return;dbg.location(1204,15);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:15: ( ws )?
			int alt357=2;
			try { dbg.enterSubRule(357);
			try { dbg.enterDecision(357, decisionCanBacktrack[357]);

			int LA357_0 = input.LA(1);
			if ( (LA357_0==COMMENT||LA357_0==NL||LA357_0==WS) ) {
				alt357=1;
			}
			} finally {dbg.exitDecision(357);}

			switch (alt357) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:15: ws
					{
					dbg.location(1204,15);
					pushFollow(FOLLOW_ws_in_less_mixin_guarded7807);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(357);}
			dbg.location(1204,19);
			pushFollow(FOLLOW_less_condition_in_less_mixin_guarded7810);
			less_condition();
			state._fsp--;
			if (state.failed) return;dbg.location(1204,34);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*
			try { dbg.enterSubRule(361);

			loop361:
			while (true) {
				int alt361=2;
				try { dbg.enterDecision(361, decisionCanBacktrack[361]);

				try {
					isCyclicDecision = true;
					alt361 = dfa361.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(361);}

				switch (alt361) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:35: ( ws )? ( COMMA | key_and ) ( ws )? less_condition
					{
					dbg.location(1204,35);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:35: ( ws )?
					int alt358=2;
					try { dbg.enterSubRule(358);
					try { dbg.enterDecision(358, decisionCanBacktrack[358]);

					int LA358_0 = input.LA(1);
					if ( (LA358_0==COMMENT||LA358_0==NL||LA358_0==WS) ) {
						alt358=1;
					}
					} finally {dbg.exitDecision(358);}

					switch (alt358) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:35: ws
							{
							dbg.location(1204,35);
							pushFollow(FOLLOW_ws_in_less_mixin_guarded7813);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(358);}
					dbg.location(1204,39);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:39: ( COMMA | key_and )
					int alt359=2;
					try { dbg.enterSubRule(359);
					try { dbg.enterDecision(359, decisionCanBacktrack[359]);

					int LA359_0 = input.LA(1);
					if ( (LA359_0==COMMA) ) {
						alt359=1;
					}
					else if ( (LA359_0==IDENT) ) {
						alt359=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 359, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(359);}

					switch (alt359) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:40: COMMA
							{
							dbg.location(1204,40);
							match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded7817); if (state.failed) return;
							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:48: key_and
							{
							dbg.location(1204,48);
							pushFollow(FOLLOW_key_and_in_less_mixin_guarded7821);
							key_and();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(359);}
					dbg.location(1204,57);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:57: ( ws )?
					int alt360=2;
					try { dbg.enterSubRule(360);
					try { dbg.enterDecision(360, decisionCanBacktrack[360]);

					int LA360_0 = input.LA(1);
					if ( (LA360_0==COMMENT||LA360_0==NL||LA360_0==WS) ) {
						alt360=1;
					}
					} finally {dbg.exitDecision(360);}

					switch (alt360) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1204:57: ws
							{
							dbg.location(1204,57);
							pushFollow(FOLLOW_ws_in_less_mixin_guarded7824);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(360);}
					dbg.location(1204,61);
					pushFollow(FOLLOW_less_condition_in_less_mixin_guarded7827);
					less_condition();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop361;
				}
			}
			} finally {dbg.exitSubRule(361);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1205, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_mixin_guarded");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_mixin_guarded"



	// $ANTLR start "less_condition"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1209:1: less_condition : ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ;
	public final void less_condition() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_condition");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1209, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:5: ( ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:5: ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN
			{
			dbg.location(1211,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:5: ( NOT ( ws )? )?
			int alt363=2;
			try { dbg.enterSubRule(363);
			try { dbg.enterDecision(363, decisionCanBacktrack[363]);

			int LA363_0 = input.LA(1);
			if ( (LA363_0==NOT) ) {
				alt363=1;
			}
			} finally {dbg.exitDecision(363);}

			switch (alt363) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:6: NOT ( ws )?
					{
					dbg.location(1211,6);
					match(input,NOT,FOLLOW_NOT_in_less_condition7853); if (state.failed) return;dbg.location(1211,10);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:10: ( ws )?
					int alt362=2;
					try { dbg.enterSubRule(362);
					try { dbg.enterDecision(362, decisionCanBacktrack[362]);

					int LA362_0 = input.LA(1);
					if ( (LA362_0==COMMENT||LA362_0==NL||LA362_0==WS) ) {
						alt362=1;
					}
					} finally {dbg.exitDecision(362);}

					switch (alt362) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1211:10: ws
							{
							dbg.location(1211,10);
							pushFollow(FOLLOW_ws_in_less_condition7855);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(362);}

					}
					break;

			}
			} finally {dbg.exitSubRule(363);}
			dbg.location(1212,5);
			match(input,LPAREN,FOLLOW_LPAREN_in_less_condition7864); if (state.failed) return;dbg.location(1212,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1212:12: ( ws )?
			int alt364=2;
			try { dbg.enterSubRule(364);
			try { dbg.enterDecision(364, decisionCanBacktrack[364]);

			int LA364_0 = input.LA(1);
			if ( (LA364_0==COMMENT||LA364_0==NL||LA364_0==WS) ) {
				alt364=1;
			}
			} finally {dbg.exitDecision(364);}

			switch (alt364) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1212:12: ws
					{
					dbg.location(1212,12);
					pushFollow(FOLLOW_ws_in_less_condition7866);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(364);}
			dbg.location(1213,9);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1213:9: ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:14: ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )?
			{
			dbg.location(1214,14);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:14: ( cp_variable | less_function_in_condition )
			int alt365=2;
			try { dbg.enterSubRule(365);
			try { dbg.enterDecision(365, decisionCanBacktrack[365]);

			int LA365_0 = input.LA(1);
			if ( (LA365_0==AT_IDENT||(LA365_0 >= BOTTOMCENTER_SYM && LA365_0 <= BOTTOMRIGHT_SYM)||LA365_0==CHARSET_SYM||LA365_0==COUNTER_STYLE_SYM||LA365_0==FONT_FACE_SYM||LA365_0==IMPORT_SYM||(LA365_0 >= LEFTBOTTOM_SYM && LA365_0 <= LEFTTOP_SYM)||LA365_0==MEDIA_SYM||LA365_0==MOZ_DOCUMENT_SYM||LA365_0==NAMESPACE_SYM||LA365_0==PAGE_SYM||(LA365_0 >= RIGHTBOTTOM_SYM && LA365_0 <= RIGHTTOP_SYM)||(LA365_0 >= SASS_AT_ROOT && LA365_0 <= SASS_DEBUG)||(LA365_0 >= SASS_EACH && LA365_0 <= SASS_ELSE)||LA365_0==SASS_EXTEND||(LA365_0 >= SASS_FOR && LA365_0 <= SASS_FUNCTION)||(LA365_0 >= SASS_IF && LA365_0 <= SASS_MIXIN)||(LA365_0 >= SASS_RETURN && LA365_0 <= SASS_WHILE)||(LA365_0 >= TOPCENTER_SYM && LA365_0 <= TOPRIGHT_SYM)||LA365_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt365=1;
			}
			else if ( (LA365_0==IDENT) ) {
				alt365=2;
			}

			else {
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 365, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}

			} finally {dbg.exitDecision(365);}

			switch (alt365) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:15: cp_variable
					{
					dbg.location(1214,15);
					pushFollow(FOLLOW_cp_variable_in_less_condition7893);
					cp_variable();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:29: less_function_in_condition
					{
					dbg.location(1214,29);
					pushFollow(FOLLOW_less_function_in_condition_in_less_condition7897);
					less_function_in_condition();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(365);}
			dbg.location(1214,57);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:57: ( ws )?
			int alt366=2;
			try { dbg.enterSubRule(366);
			try { dbg.enterDecision(366, decisionCanBacktrack[366]);

			int LA366_0 = input.LA(1);
			if ( (LA366_0==COMMENT||LA366_0==NL||LA366_0==WS) ) {
				alt366=1;
			}
			} finally {dbg.exitDecision(366);}

			switch (alt366) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:57: ws
					{
					dbg.location(1214,57);
					pushFollow(FOLLOW_ws_in_less_condition7900);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(366);}
			dbg.location(1214,61);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:61: ( less_condition_operator ( ws )? cp_math_expression )?
			int alt368=2;
			try { dbg.enterSubRule(368);
			try { dbg.enterDecision(368, decisionCanBacktrack[368]);

			int LA368_0 = input.LA(1);
			if ( ((LA368_0 >= GREATER && LA368_0 <= GREATER_OR_EQ)||LA368_0==LESS||LA368_0==LESS_OR_EQ||LA368_0==OPEQ) ) {
				alt368=1;
			}
			} finally {dbg.exitDecision(368);}

			switch (alt368) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:62: less_condition_operator ( ws )? cp_math_expression
					{
					dbg.location(1214,62);
					pushFollow(FOLLOW_less_condition_operator_in_less_condition7904);
					less_condition_operator();
					state._fsp--;
					if (state.failed) return;dbg.location(1214,86);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:86: ( ws )?
					int alt367=2;
					try { dbg.enterSubRule(367);
					try { dbg.enterDecision(367, decisionCanBacktrack[367]);

					int LA367_0 = input.LA(1);
					if ( (LA367_0==COMMENT||LA367_0==NL||LA367_0==WS) ) {
						alt367=1;
					}
					} finally {dbg.exitDecision(367);}

					switch (alt367) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:86: ws
							{
							dbg.location(1214,86);
							pushFollow(FOLLOW_ws_in_less_condition7906);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(367);}
					dbg.location(1214,90);
					pushFollow(FOLLOW_cp_math_expression_in_less_condition7909);
					cp_math_expression();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(368);}

			}
			dbg.location(1216,5);
			match(input,RPAREN,FOLLOW_RPAREN_in_less_condition7927); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1217, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_condition");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_condition"



	// $ANTLR start "less_function_in_condition"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:1: less_function_in_condition : less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ;
	public final void less_function_in_condition() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_function_in_condition");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1220, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:5: ( less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:5: less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN
			{
			dbg.location(1222,5);
			pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition7949);
			less_fn_name();
			state._fsp--;
			if (state.failed) return;dbg.location(1222,18);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:18: ( ws )?
			int alt369=2;
			try { dbg.enterSubRule(369);
			try { dbg.enterDecision(369, decisionCanBacktrack[369]);

			int LA369_0 = input.LA(1);
			if ( (LA369_0==COMMENT||LA369_0==NL||LA369_0==WS) ) {
				alt369=1;
			}
			} finally {dbg.exitDecision(369);}

			switch (alt369) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:18: ws
					{
					dbg.location(1222,18);
					pushFollow(FOLLOW_ws_in_less_function_in_condition7951);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(369);}
			dbg.location(1222,22);
			match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition7954); if (state.failed) return;dbg.location(1222,29);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:29: ( ws )?
			int alt370=2;
			try { dbg.enterSubRule(370);
			try { dbg.enterDecision(370, decisionCanBacktrack[370]);

			int LA370_0 = input.LA(1);
			if ( (LA370_0==COMMENT||LA370_0==NL||LA370_0==WS) ) {
				alt370=1;
			}
			} finally {dbg.exitDecision(370);}

			switch (alt370) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:29: ws
					{
					dbg.location(1222,29);
					pushFollow(FOLLOW_ws_in_less_function_in_condition7956);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(370);}
			dbg.location(1222,33);
			pushFollow(FOLLOW_cp_variable_in_less_function_in_condition7959);
			cp_variable();
			state._fsp--;
			if (state.failed) return;dbg.location(1222,45);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:45: ( ws )?
			int alt371=2;
			try { dbg.enterSubRule(371);
			try { dbg.enterDecision(371, decisionCanBacktrack[371]);

			int LA371_0 = input.LA(1);
			if ( (LA371_0==COMMENT||LA371_0==NL||LA371_0==WS) ) {
				alt371=1;
			}
			} finally {dbg.exitDecision(371);}

			switch (alt371) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:45: ws
					{
					dbg.location(1222,45);
					pushFollow(FOLLOW_ws_in_less_function_in_condition7961);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(371);}
			dbg.location(1222,49);
			match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition7964); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1223, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_function_in_condition");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_function_in_condition"



	// $ANTLR start "less_fn_name"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:1: less_fn_name : IDENT ;
	public final void less_fn_name() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_fn_name");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1226, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1227:5: ( IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1228:5: IDENT
			{
			dbg.location(1228,5);
			match(input,IDENT,FOLLOW_IDENT_in_less_fn_name7986); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1229, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_fn_name");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_fn_name"



	// $ANTLR start "less_condition_operator"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1231:1: less_condition_operator : ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ );
	public final void less_condition_operator() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_condition_operator");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1231, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:5: ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
			{
			dbg.location(1232,5);
			if ( (input.LA(1) >= GREATER && input.LA(1) <= GREATER_OR_EQ)||input.LA(1)==LESS||input.LA(1)==LESS_OR_EQ||input.LA(1)==OPEQ ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1234, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_condition_operator");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_condition_operator"



	// $ANTLR start "less_selector_interpolation_exp"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1236:1: less_selector_interpolation_exp : ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ;
	public final void less_selector_interpolation_exp() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_selector_interpolation_exp");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1236, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1236:33: ( ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:5: ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
			{
			dbg.location(1237,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:5: ( IDENT | MINUS )?
			int alt372=2;
			try { dbg.enterSubRule(372);
			try { dbg.enterDecision(372, decisionCanBacktrack[372]);

			int LA372_0 = input.LA(1);
			if ( (LA372_0==IDENT||LA372_0==MINUS) ) {
				alt372=1;
			}
			} finally {dbg.exitDecision(372);}

			switch (alt372) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
					{
					dbg.location(1237,5);
					if ( input.LA(1)==IDENT||input.LA(1)==MINUS ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}
					}
					break;

			}
			} finally {dbg.exitSubRule(372);}
			dbg.location(1237,22);
			pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp8049);
			less_selector_interpolation();
			state._fsp--;
			if (state.failed) return;dbg.location(1237,50);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:50: ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
			int alt374=3;
			try { dbg.enterSubRule(374);
			try { dbg.enterDecision(374, decisionCanBacktrack[374]);

			switch ( input.LA(1) ) {
				case IDENT:
				case MINUS:
					{
					int LA374_1 = input.LA(2);
					if ( (LA374_1==AT_SIGN) ) {
						alt374=1;
					}
					else if ( ((LA374_1 >= COLON && LA374_1 <= COMMENT)||(LA374_1 >= DCOLON && LA374_1 <= DOT)||LA374_1==GREATER||(LA374_1 >= HASH && LA374_1 <= HASH_SYMBOL)||LA374_1==IDENT||(LA374_1 >= LBRACE && LA374_1 <= LBRACKET)||LA374_1==LENGTH||LA374_1==LESS_AND||LA374_1==MINUS||LA374_1==NL||LA374_1==PLUS||LA374_1==RBRACE||LA374_1==RPAREN||LA374_1==SASS_EXTEND_ONLY_SELECTOR||LA374_1==SEMI||LA374_1==TILDE||LA374_1==WS) ) {
						alt374=2;
					}
					}
					break;
				case AT_SIGN:
					{
					alt374=1;
					}
					break;
				case DIMENSION:
					{
					int LA374_3 = input.LA(2);
					if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) {
						alt374=2;
					}
					}
					break;
				case LENGTH:
					{
					alt374=2;
					}
					break;
			}
			} finally {dbg.exitDecision(374);}

			switch (alt374) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:51: less_selector_interpolation_exp
					{
					dbg.location(1237,51);
					pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp8052);
					less_selector_interpolation_exp();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:85: ( IDENT | MINUS | DIMENSION | LENGTH )+
					{
					dbg.location(1237,85);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:85: ( IDENT | MINUS | DIMENSION | LENGTH )+
					int cnt373=0;
					try { dbg.enterSubRule(373);

					loop373:
					while (true) {
						int alt373=2;
						try { dbg.enterDecision(373, decisionCanBacktrack[373]);

						int LA373_0 = input.LA(1);
						if ( (LA373_0==DIMENSION) ) {
							int LA373_2 = input.LA(2);
							if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) {
								alt373=1;
							}

						}
						else if ( (LA373_0==IDENT||LA373_0==LENGTH||LA373_0==MINUS) ) {
							alt373=1;
						}

						} finally {dbg.exitDecision(373);}

						switch (alt373) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
							{
							dbg.location(1237,85);
							if ( input.LA(1)==DIMENSION||input.LA(1)==IDENT||input.LA(1)==LENGTH||input.LA(1)==MINUS ) {
								input.consume();
								state.errorRecovery=false;
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								dbg.recognitionException(mse);
								throw mse;
							}
							}
							break;

						default :
							if ( cnt373 >= 1 ) break loop373;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(373, input);
							dbg.recognitionException(eee);

							throw eee;
						}
						cnt373++;
					}
					} finally {dbg.exitSubRule(373);}

					}
					break;

			}
			} finally {dbg.exitSubRule(374);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1238, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_selector_interpolation_exp");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_selector_interpolation_exp"



	// $ANTLR start "less_selector_interpolation"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1240:1: less_selector_interpolation : AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ;
	public final void less_selector_interpolation() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_selector_interpolation");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1240, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1241:5: ( AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:5: AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE
			{
			dbg.location(1242,5);
			match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation8095); if (state.failed) return;dbg.location(1242,13);
			match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation8097); if (state.failed) return;dbg.location(1242,20);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:20: ( ws )?
			int alt375=2;
			try { dbg.enterSubRule(375);
			try { dbg.enterDecision(375, decisionCanBacktrack[375]);

			int LA375_0 = input.LA(1);
			if ( (LA375_0==COMMENT||LA375_0==NL||LA375_0==WS) ) {
				alt375=1;
			}
			} finally {dbg.exitDecision(375);}

			switch (alt375) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:20: ws
					{
					dbg.location(1242,20);
					pushFollow(FOLLOW_ws_in_less_selector_interpolation8099);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(375);}
			dbg.location(1242,24);
			match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation8102); if (state.failed) return;dbg.location(1242,30);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:30: ( ws )?
			int alt376=2;
			try { dbg.enterSubRule(376);
			try { dbg.enterDecision(376, decisionCanBacktrack[376]);

			int LA376_0 = input.LA(1);
			if ( (LA376_0==COMMENT||LA376_0==NL||LA376_0==WS) ) {
				alt376=1;
			}
			} finally {dbg.exitDecision(376);}

			switch (alt376) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:30: ws
					{
					dbg.location(1242,30);
					pushFollow(FOLLOW_ws_in_less_selector_interpolation8104);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(376);}
			dbg.location(1242,34);
			match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation8107); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1243, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_selector_interpolation");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_selector_interpolation"



	// $ANTLR start "sass_selector_interpolation_exp"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1246:1: sass_selector_interpolation_exp : ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ;
	public final void sass_selector_interpolation_exp() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_selector_interpolation_exp");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1246, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1246:33: ( ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:5: ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
			{
			dbg.location(1247,5);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:5: ( IDENT | MINUS )?
			int alt377=2;
			try { dbg.enterSubRule(377);
			try { dbg.enterDecision(377, decisionCanBacktrack[377]);

			int LA377_0 = input.LA(1);
			if ( (LA377_0==IDENT||LA377_0==MINUS) ) {
				alt377=1;
			}
			} finally {dbg.exitDecision(377);}

			switch (alt377) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
					{
					dbg.location(1247,5);
					if ( input.LA(1)==IDENT||input.LA(1)==MINUS ) {
						input.consume();
						state.errorRecovery=false;
						state.failed=false;
					}
					else {
						if (state.backtracking>0) {state.failed=true; return;}
						MismatchedSetException mse = new MismatchedSetException(null,input);
						dbg.recognitionException(mse);
						throw mse;
					}
					}
					break;

			}
			} finally {dbg.exitSubRule(377);}
			dbg.location(1247,22);
			pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp8134);
			sass_interpolation_expression_var();
			state._fsp--;
			if (state.failed) return;dbg.location(1247,56);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:56: ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )?
			int alt379=3;
			try { dbg.enterSubRule(379);
			try { dbg.enterDecision(379, decisionCanBacktrack[379]);

			switch ( input.LA(1) ) {
				case IDENT:
				case MINUS:
					{
					int LA379_1 = input.LA(2);
					if ( (LA379_1==HASH_SYMBOL) ) {
						int LA379_6 = input.LA(3);
						if ( (LA379_6==LBRACE) ) {
							alt379=1;
						}
						else if ( (LA379_6==AT_SIGN||LA379_6==IDENT||LA379_6==MINUS||LA379_6==NAME) ) {
							alt379=2;
						}
					}
					else if ( ((LA379_1 >= COLON && LA379_1 <= COMMENT)||(LA379_1 >= DCOLON && LA379_1 <= DOT)||LA379_1==GREATER||LA379_1==HASH||LA379_1==IDENT||(LA379_1 >= LBRACE && LA379_1 <= LBRACKET)||LA379_1==LENGTH||LA379_1==LESS_AND||LA379_1==MINUS||LA379_1==NL||LA379_1==PLUS||LA379_1==RBRACE||LA379_1==RPAREN||LA379_1==SASS_EXTEND_ONLY_SELECTOR||LA379_1==SEMI||LA379_1==TILDE||LA379_1==WS) ) {
						alt379=2;
					}
					}
					break;
				case HASH_SYMBOL:
					{
					int LA379_2 = input.LA(2);
					if ( (LA379_2==LBRACE) ) {
						alt379=1;
					}
					}
					break;
				case DIMENSION:
					{
					int LA379_3 = input.LA(2);
					if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) {
						alt379=2;
					}
					}
					break;
				case LENGTH:
					{
					alt379=2;
					}
					break;
			}
			} finally {dbg.exitDecision(379);}

			switch (alt379) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:57: sass_selector_interpolation_exp
					{
					dbg.location(1247,57);
					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp8137);
					sass_selector_interpolation_exp();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:91: ( IDENT | MINUS | DIMENSION | LENGTH )+
					{
					dbg.location(1247,91);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:91: ( IDENT | MINUS | DIMENSION | LENGTH )+
					int cnt378=0;
					try { dbg.enterSubRule(378);

					loop378:
					while (true) {
						int alt378=2;
						try { dbg.enterDecision(378, decisionCanBacktrack[378]);

						int LA378_0 = input.LA(1);
						if ( (LA378_0==DIMENSION) ) {
							int LA378_2 = input.LA(2);
							if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) {
								alt378=1;
							}

						}
						else if ( (LA378_0==IDENT||LA378_0==LENGTH||LA378_0==MINUS) ) {
							alt378=1;
						}

						} finally {dbg.exitDecision(378);}

						switch (alt378) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
							{
							dbg.location(1247,91);
							if ( input.LA(1)==DIMENSION||input.LA(1)==IDENT||input.LA(1)==LENGTH||input.LA(1)==MINUS ) {
								input.consume();
								state.errorRecovery=false;
								state.failed=false;
							}
							else {
								if (state.backtracking>0) {state.failed=true; return;}
								MismatchedSetException mse = new MismatchedSetException(null,input);
								dbg.recognitionException(mse);
								throw mse;
							}
							}
							break;

						default :
							if ( cnt378 >= 1 ) break loop378;
							if (state.backtracking>0) {state.failed=true; return;}
							EarlyExitException eee = new EarlyExitException(378, input);
							dbg.recognitionException(eee);

							throw eee;
						}
						cnt378++;
					}
					} finally {dbg.exitSubRule(378);}

					}
					break;

			}
			} finally {dbg.exitSubRule(379);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1248, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_selector_interpolation_exp");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_selector_interpolation_exp"



	// $ANTLR start "sass_interpolation_expression_var"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1250:1: sass_interpolation_expression_var : HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ;
	public final void sass_interpolation_expression_var() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_interpolation_expression_var");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1250, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1251:5: ( HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:9: HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE
			{
			dbg.location(1252,9);
			match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var8184); if (state.failed) return;dbg.location(1252,21);
			match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var8186); if (state.failed) return;dbg.location(1252,28);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:28: ( WS )?
			int alt380=2;
			try { dbg.enterSubRule(380);
			try { dbg.enterDecision(380, decisionCanBacktrack[380]);

			int LA380_0 = input.LA(1);
			if ( (LA380_0==WS) ) {
				alt380=1;
			}
			} finally {dbg.exitDecision(380);}

			switch (alt380) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:28: WS
					{
					dbg.location(1252,28);
					match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var8188); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(380);}
			dbg.location(1252,32);
			pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var8191);
			cp_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1252,46);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:46: ( WS )?
			int alt381=2;
			try { dbg.enterSubRule(381);
			try { dbg.enterDecision(381, decisionCanBacktrack[381]);

			int LA381_0 = input.LA(1);
			if ( (LA381_0==WS) ) {
				alt381=1;
			}
			} finally {dbg.exitDecision(381);}

			switch (alt381) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:46: WS
					{
					dbg.location(1252,46);
					match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var8193); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(381);}
			dbg.location(1252,50);
			match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var8196); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1253, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_interpolation_expression_var");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_interpolation_expression_var"



	// $ANTLR start "sass_nested_properties"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:1: sass_nested_properties : property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ;
	public final void sass_nested_properties() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_nested_properties");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1273, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1274:5: ( property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:5: property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE
			{
			dbg.location(1275,5);
			pushFollow(FOLLOW_property_in_sass_nested_properties8236);
			property();
			state._fsp--;
			if (state.failed) return;dbg.location(1275,14);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:14: ( ws )?
			int alt382=2;
			try { dbg.enterSubRule(382);
			try { dbg.enterDecision(382, decisionCanBacktrack[382]);

			int LA382_0 = input.LA(1);
			if ( (LA382_0==COMMENT||LA382_0==NL||LA382_0==WS) ) {
				alt382=1;
			}
			} finally {dbg.exitDecision(382);}

			switch (alt382) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:14: ws
					{
					dbg.location(1275,14);
					pushFollow(FOLLOW_ws_in_sass_nested_properties8238);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(382);}
			dbg.location(1275,18);
			match(input,COLON,FOLLOW_COLON_in_sass_nested_properties8241); if (state.failed) return;dbg.location(1275,24);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:24: ( ws )?
			int alt383=2;
			try { dbg.enterSubRule(383);
			try { dbg.enterDecision(383, decisionCanBacktrack[383]);

			int LA383_0 = input.LA(1);
			if ( (LA383_0==COMMENT||LA383_0==NL||LA383_0==WS) ) {
				alt383=1;
			}
			} finally {dbg.exitDecision(383);}

			switch (alt383) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:24: ws
					{
					dbg.location(1275,24);
					pushFollow(FOLLOW_ws_in_sass_nested_properties8243);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(383);}
			dbg.location(1275,28);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:28: ( propertyValue ( ws )? )?
			int alt385=2;
			try { dbg.enterSubRule(385);
			try { dbg.enterDecision(385, decisionCanBacktrack[385]);

			int LA385_0 = input.LA(1);
			if ( ((LA385_0 >= ANGLE && LA385_0 <= AT_SIGN)||(LA385_0 >= BOTTOMCENTER_SYM && LA385_0 <= BOTTOMRIGHT_SYM)||LA385_0==CHARSET_SYM||LA385_0==COUNTER_STYLE_SYM||LA385_0==DIMENSION||LA385_0==EMS||LA385_0==EXS||(LA385_0 >= FONT_FACE_SYM && LA385_0 <= FREQ)||LA385_0==GEN||(LA385_0 >= HASH && LA385_0 <= HASH_SYMBOL)||LA385_0==IDENT||LA385_0==IMPORT_SYM||(LA385_0 >= LEFTBOTTOM_SYM && LA385_0 <= LENGTH)||(LA385_0 >= LESS_AND && LA385_0 <= LESS_JS_STRING)||(LA385_0 >= MEDIA_SYM && LA385_0 <= MOZ_DOCUMENT_SYM)||LA385_0==NAMESPACE_SYM||LA385_0==NUMBER||(LA385_0 >= PAGE_SYM && LA385_0 <= PERCENTAGE_SYMBOL)||LA385_0==PLUS||(LA385_0 >= REM && LA385_0 <= RIGHTTOP_SYM)||(LA385_0 >= SASS_AT_ROOT && LA385_0 <= SASS_DEBUG)||(LA385_0 >= SASS_EACH && LA385_0 <= SASS_ELSE)||LA385_0==SASS_EXTEND||(LA385_0 >= SASS_FOR && LA385_0 <= SASS_FUNCTION)||(LA385_0 >= SASS_IF && LA385_0 <= SASS_MIXIN)||(LA385_0 >= SASS_RETURN && LA385_0 <= SASS_WHILE)||LA385_0==STRING||(LA385_0 >= TILDE && LA385_0 <= TOPRIGHT_SYM)||LA385_0==URI||LA385_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt385=1;
			}
			} finally {dbg.exitDecision(385);}

			switch (alt385) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:29: propertyValue ( ws )?
					{
					dbg.location(1275,29);
					pushFollow(FOLLOW_propertyValue_in_sass_nested_properties8247);
					propertyValue();
					state._fsp--;
					if (state.failed) return;dbg.location(1275,43);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:43: ( ws )?
					int alt384=2;
					try { dbg.enterSubRule(384);
					try { dbg.enterDecision(384, decisionCanBacktrack[384]);

					int LA384_0 = input.LA(1);
					if ( (LA384_0==COMMENT||LA384_0==NL||LA384_0==WS) ) {
						alt384=1;
					}
					} finally {dbg.exitDecision(384);}

					switch (alt384) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:43: ws
							{
							dbg.location(1275,43);
							pushFollow(FOLLOW_ws_in_sass_nested_properties8249);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(384);}

					}
					break;

			}
			} finally {dbg.exitSubRule(385);}
			dbg.location(1275,49);
			match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties8254); if (state.failed) return;dbg.location(1275,56);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:56: ( ws )?
			int alt386=2;
			try { dbg.enterSubRule(386);
			try { dbg.enterDecision(386, decisionCanBacktrack[386]);

			int LA386_0 = input.LA(1);
			if ( (LA386_0==COMMENT||LA386_0==NL||LA386_0==WS) ) {
				alt386=1;
			}
			} finally {dbg.exitDecision(386);}

			switch (alt386) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:56: ws
					{
					dbg.location(1275,56);
					pushFollow(FOLLOW_ws_in_sass_nested_properties8256);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(386);}
			dbg.location(1275,60);
			pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties8259);
			syncToFollow();
			state._fsp--;
			if (state.failed) return;dbg.location(1275,73);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:73: ( declarations )?
			int alt387=2;
			try { dbg.enterSubRule(387);
			try { dbg.enterDecision(387, decisionCanBacktrack[387]);

			int LA387_0 = input.LA(1);
			if ( ((LA387_0 >= AT_IDENT && LA387_0 <= AT_SIGN)||(LA387_0 >= BOTTOMCENTER_SYM && LA387_0 <= BOTTOMRIGHT_SYM)||(LA387_0 >= CHARSET_SYM && LA387_0 <= COLON)||LA387_0==COUNTER_STYLE_SYM||(LA387_0 >= DCOLON && LA387_0 <= DOT)||LA387_0==FONT_FACE_SYM||(LA387_0 >= GEN && LA387_0 <= GREATER)||(LA387_0 >= HASH && LA387_0 <= HASH_SYMBOL)||LA387_0==IDENT||LA387_0==IMPORT_SYM||(LA387_0 >= LBRACKET && LA387_0 <= LEFTTOP_SYM)||LA387_0==LESS_AND||(LA387_0 >= MEDIA_SYM && LA387_0 <= MOZ_DOCUMENT_SYM)||LA387_0==NAMESPACE_SYM||LA387_0==PAGE_SYM||(LA387_0 >= PIPE && LA387_0 <= PLUS)||(LA387_0 >= RIGHTBOTTOM_SYM && LA387_0 <= RIGHTTOP_SYM)||(LA387_0 >= SASS_AT_ROOT && LA387_0 <= SASS_DEBUG)||(LA387_0 >= SASS_EACH && LA387_0 <= SASS_ELSE)||(LA387_0 >= SASS_ERROR && LA387_0 <= SASS_FUNCTION)||(LA387_0 >= SASS_IF && LA387_0 <= SASS_MIXIN)||(LA387_0 >= SASS_RETURN && LA387_0 <= SEMI)||LA387_0==STAR||LA387_0==TILDE||(LA387_0 >= TOPCENTER_SYM && LA387_0 <= TOPRIGHT_SYM)||LA387_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt387=1;
			}
			} finally {dbg.exitDecision(387);}

			switch (alt387) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1275:73: declarations
					{
					dbg.location(1275,73);
					pushFollow(FOLLOW_declarations_in_sass_nested_properties8261);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(387);}
			dbg.location(1275,87);
			match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties8264); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1276, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_nested_properties");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_nested_properties"



	// $ANTLR start "sass_extend"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1278:1: sass_extend : SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )? ;
	public final void sass_extend() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_extend");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1278, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1279:5: ( SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1280:5: SASS_EXTEND ws simpleSelectorSequence ( ws SASS_OPTIONAL )?
			{
			dbg.location(1280,5);
			match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend8285); if (state.failed) return;dbg.location(1280,17);
			pushFollow(FOLLOW_ws_in_sass_extend8287);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1280,20);
			pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend8289);
			simpleSelectorSequence();
			state._fsp--;
			if (state.failed) return;dbg.location(1280,43);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1280:43: ( ws SASS_OPTIONAL )?
			int alt388=2;
			try { dbg.enterSubRule(388);
			try { dbg.enterDecision(388, decisionCanBacktrack[388]);

			try {
				isCyclicDecision = true;
				alt388 = dfa388.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(388);}

			switch (alt388) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1280:44: ws SASS_OPTIONAL
					{
					dbg.location(1280,44);
					pushFollow(FOLLOW_ws_in_sass_extend8292);
					ws();
					state._fsp--;
					if (state.failed) return;dbg.location(1280,47);
					match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend8294); if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(388);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1281, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_extend");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_extend"



	// $ANTLR start "sass_extend_only_selector"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:1: sass_extend_only_selector : SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ;
	public final void sass_extend_only_selector() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_extend_only_selector");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1283, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:5: ( SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1285:5: SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )?
			{
			dbg.location(1285,5);
			match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector8317); if (state.failed) return;dbg.location(1285,31);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1285:31: ( sass_selector_interpolation_exp )?
			int alt389=2;
			try { dbg.enterSubRule(389);
			try { dbg.enterDecision(389, decisionCanBacktrack[389]);

			int LA389_0 = input.LA(1);
			if ( (LA389_0==IDENT||LA389_0==MINUS) ) {
				alt389=1;
			}
			else if ( (LA389_0==HASH_SYMBOL) ) {
				int LA389_2 = input.LA(2);
				if ( (LA389_2==LBRACE) ) {
					alt389=1;
				}
			}
			} finally {dbg.exitDecision(389);}

			switch (alt389) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1285:31: sass_selector_interpolation_exp
					{
					dbg.location(1285,31);
					pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector8319);
					sass_selector_interpolation_exp();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(389);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1286, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_extend_only_selector");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_extend_only_selector"



	// $ANTLR start "sass_debug"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:1: sass_debug : ( SASS_DEBUG | SASS_WARN ) ws cp_expression ;
	public final void sass_debug() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_debug");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1288, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:5: ( ( SASS_DEBUG | SASS_WARN ) ws cp_expression )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1290:5: ( SASS_DEBUG | SASS_WARN ) ws cp_expression
			{
			dbg.location(1290,5);
			if ( input.LA(1)==SASS_DEBUG||input.LA(1)==SASS_WARN ) {
				input.consume();
				state.errorRecovery=false;
				state.failed=false;
			}
			else {
				if (state.backtracking>0) {state.failed=true; return;}
				MismatchedSetException mse = new MismatchedSetException(null,input);
				dbg.recognitionException(mse);
				throw mse;
			}dbg.location(1290,32);
			pushFollow(FOLLOW_ws_in_sass_debug8351);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1290,35);
			pushFollow(FOLLOW_cp_expression_in_sass_debug8353);
			cp_expression();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1291, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_debug");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_debug"



	// $ANTLR start "sass_error"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1293:1: sass_error : SASS_ERROR ws STRING ;
	public final void sass_error() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_error");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1293, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:5: ( SASS_ERROR ws STRING )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1295:5: SASS_ERROR ws STRING
			{
			dbg.location(1295,5);
			match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error8374); if (state.failed) return;dbg.location(1295,16);
			pushFollow(FOLLOW_ws_in_sass_error8376);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1295,19);
			match(input,STRING,FOLLOW_STRING_in_sass_error8378); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1296, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_error");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_error"



	// $ANTLR start "sass_control"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1298:1: sass_control : ( sass_if | sass_for | sass_each | sass_while );
	public final void sass_control() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_control");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1298, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:5: ( sass_if | sass_for | sass_each | sass_while )
			int alt390=4;
			try { dbg.enterDecision(390, decisionCanBacktrack[390]);

			switch ( input.LA(1) ) {
			case SASS_IF:
				{
				alt390=1;
				}
				break;
			case SASS_FOR:
				{
				alt390=2;
				}
				break;
			case SASS_EACH:
				{
				alt390=3;
				}
				break;
			case SASS_WHILE:
				{
				alt390=4;
				}
				break;
			default:
				if (state.backtracking>0) {state.failed=true; return;}
				NoViableAltException nvae =
					new NoViableAltException("", 390, 0, input);
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(390);}

			switch (alt390) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1300:5: sass_if
					{
					dbg.location(1300,5);
					pushFollow(FOLLOW_sass_if_in_sass_control8399);
					sass_if();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1300:15: sass_for
					{
					dbg.location(1300,15);
					pushFollow(FOLLOW_sass_for_in_sass_control8403);
					sass_for();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 3 :
					dbg.enterAlt(3);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1300:26: sass_each
					{
					dbg.location(1300,26);
					pushFollow(FOLLOW_sass_each_in_sass_control8407);
					sass_each();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 4 :
					dbg.enterAlt(4);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1300:38: sass_while
					{
					dbg.location(1300,38);
					pushFollow(FOLLOW_sass_while_in_sass_control8411);
					sass_while();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1301, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_control");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_control"



	// $ANTLR start "sass_if"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1303:1: sass_if : SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ;
	public final void sass_if() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_if");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1303, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:5: ( SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:5: SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )?
			{
			dbg.location(1305,5);
			match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if8432); if (state.failed) return;dbg.location(1305,13);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:13: ( ws )?
			int alt391=2;
			try { dbg.enterSubRule(391);
			try { dbg.enterDecision(391, decisionCanBacktrack[391]);

			int LA391_0 = input.LA(1);
			if ( (LA391_0==COMMENT||LA391_0==NL||LA391_0==WS) ) {
				alt391=1;
			}
			} finally {dbg.exitDecision(391);}

			switch (alt391) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:13: ws
					{
					dbg.location(1305,13);
					pushFollow(FOLLOW_ws_in_sass_if8434);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(391);}
			dbg.location(1305,17);
			pushFollow(FOLLOW_sass_control_expression_in_sass_if8437);
			sass_control_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1305,41);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:41: ( ws )?
			int alt392=2;
			try { dbg.enterSubRule(392);
			try { dbg.enterDecision(392, decisionCanBacktrack[392]);

			int LA392_0 = input.LA(1);
			if ( (LA392_0==COMMENT||LA392_0==NL||LA392_0==WS) ) {
				alt392=1;
			}
			} finally {dbg.exitDecision(392);}

			switch (alt392) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:41: ws
					{
					dbg.location(1305,41);
					pushFollow(FOLLOW_ws_in_sass_if8439);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(392);}
			dbg.location(1305,45);
			pushFollow(FOLLOW_sass_control_block_in_sass_if8442);
			sass_control_block();
			state._fsp--;
			if (state.failed) return;dbg.location(1305,64);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:64: ( ( ws )? sass_else )?
			int alt394=2;
			try { dbg.enterSubRule(394);
			try { dbg.enterDecision(394, decisionCanBacktrack[394]);

			try {
				isCyclicDecision = true;
				alt394 = dfa394.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(394);}

			switch (alt394) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:65: ( ws )? sass_else
					{
					dbg.location(1305,65);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:65: ( ws )?
					int alt393=2;
					try { dbg.enterSubRule(393);
					try { dbg.enterDecision(393, decisionCanBacktrack[393]);

					int LA393_0 = input.LA(1);
					if ( (LA393_0==COMMENT||LA393_0==NL||LA393_0==WS) ) {
						alt393=1;
					}
					} finally {dbg.exitDecision(393);}

					switch (alt393) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:65: ws
							{
							dbg.location(1305,65);
							pushFollow(FOLLOW_ws_in_sass_if8445);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(393);}
					dbg.location(1305,69);
					pushFollow(FOLLOW_sass_else_in_sass_if8448);
					sass_else();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(394);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1306, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_if");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_if"



	// $ANTLR start "sass_else"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1308:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? );
	public final void sass_else() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_else");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1308, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1309:5: ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? )
			int alt402=2;
			try { dbg.enterDecision(402, decisionCanBacktrack[402]);

			try {
				isCyclicDecision = true;
				alt402 = dfa402.predict(input);
			}
			catch (NoViableAltException nvae) {
				dbg.recognitionException(nvae);
				throw nvae;
			}
			} finally {dbg.exitDecision(402);}

			switch (alt402) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1310:5: SASS_ELSE ( ws )? sass_control_block
					{
					dbg.location(1310,5);
					match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else8471); if (state.failed) return;dbg.location(1310,15);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1310:15: ( ws )?
					int alt395=2;
					try { dbg.enterSubRule(395);
					try { dbg.enterDecision(395, decisionCanBacktrack[395]);

					int LA395_0 = input.LA(1);
					if ( (LA395_0==COMMENT||LA395_0==NL||LA395_0==WS) ) {
						alt395=1;
					}
					} finally {dbg.exitDecision(395);}

					switch (alt395) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1310:15: ws
							{
							dbg.location(1310,15);
							pushFollow(FOLLOW_ws_in_sass_else8473);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(395);}
					dbg.location(1310,19);
					pushFollow(FOLLOW_sass_control_block_in_sass_else8476);
					sass_control_block();
					state._fsp--;
					if (state.failed) return;
					}
					break;
				case 2 :
					dbg.enterAlt(2);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )?
					{
					dbg.location(1312,5);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF )
					int alt397=2;
					try { dbg.enterSubRule(397);
					try { dbg.enterDecision(397, decisionCanBacktrack[397]);

					int LA397_0 = input.LA(1);
					if ( (LA397_0==SASS_ELSE) ) {
						alt397=1;
					}
					else if ( (LA397_0==SASS_ELSEIF) ) {
						alt397=2;
					}

					else {
						if (state.backtracking>0) {state.failed=true; return;}
						NoViableAltException nvae =
							new NoViableAltException("", 397, 0, input);
						dbg.recognitionException(nvae);
						throw nvae;
					}

					} finally {dbg.exitDecision(397);}

					switch (alt397) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:6: ( SASS_ELSE ( ws )? {...}? IDENT )
							{
							dbg.location(1312,6);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:6: ( SASS_ELSE ( ws )? {...}? IDENT )
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:7: SASS_ELSE ( ws )? {...}? IDENT
							{
							dbg.location(1312,7);
							match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else8490); if (state.failed) return;dbg.location(1312,17);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:17: ( ws )?
							int alt396=2;
							try { dbg.enterSubRule(396);
							try { dbg.enterDecision(396, decisionCanBacktrack[396]);

							int LA396_0 = input.LA(1);
							if ( (LA396_0==COMMENT||LA396_0==NL||LA396_0==WS) ) {
								alt396=1;
							}
							} finally {dbg.exitDecision(396);}

							switch (alt396) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:17: ws
									{
									dbg.location(1312,17);
									pushFollow(FOLLOW_ws_in_sass_else8492);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(396);}
							dbg.location(1312,21);
							if ( !(evalPredicate(tokenNameEquals("if"),"tokenNameEquals(\"if\")")) ) {
								if (state.backtracking>0) {state.failed=true; return;}
								throw new FailedPredicateException(input, "sass_else", "tokenNameEquals(\"if\")");
							}dbg.location(1312,46);
							match(input,IDENT,FOLLOW_IDENT_in_sass_else8497); if (state.failed) return;
							}

							}
							break;
						case 2 :
							dbg.enterAlt(2);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:64: SASS_ELSEIF
							{
							dbg.location(1312,64);
							match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else8504); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(397);}
					dbg.location(1312,77);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:77: ( ws )?
					int alt398=2;
					try { dbg.enterSubRule(398);
					try { dbg.enterDecision(398, decisionCanBacktrack[398]);

					int LA398_0 = input.LA(1);
					if ( (LA398_0==COMMENT||LA398_0==NL||LA398_0==WS) ) {
						alt398=1;
					}
					} finally {dbg.exitDecision(398);}

					switch (alt398) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:77: ws
							{
							dbg.location(1312,77);
							pushFollow(FOLLOW_ws_in_sass_else8507);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(398);}
					dbg.location(1312,81);
					pushFollow(FOLLOW_sass_control_expression_in_sass_else8510);
					sass_control_expression();
					state._fsp--;
					if (state.failed) return;dbg.location(1312,105);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:105: ( ws )?
					int alt399=2;
					try { dbg.enterSubRule(399);
					try { dbg.enterDecision(399, decisionCanBacktrack[399]);

					int LA399_0 = input.LA(1);
					if ( (LA399_0==COMMENT||LA399_0==NL||LA399_0==WS) ) {
						alt399=1;
					}
					} finally {dbg.exitDecision(399);}

					switch (alt399) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:105: ws
							{
							dbg.location(1312,105);
							pushFollow(FOLLOW_ws_in_sass_else8512);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(399);}
					dbg.location(1312,109);
					pushFollow(FOLLOW_sass_control_block_in_sass_else8515);
					sass_control_block();
					state._fsp--;
					if (state.failed) return;dbg.location(1312,128);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:128: ( ( ws )? sass_else )?
					int alt401=2;
					try { dbg.enterSubRule(401);
					try { dbg.enterDecision(401, decisionCanBacktrack[401]);

					try {
						isCyclicDecision = true;
						alt401 = dfa401.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(401);}

					switch (alt401) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:129: ( ws )? sass_else
							{
							dbg.location(1312,129);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:129: ( ws )?
							int alt400=2;
							try { dbg.enterSubRule(400);
							try { dbg.enterDecision(400, decisionCanBacktrack[400]);

							int LA400_0 = input.LA(1);
							if ( (LA400_0==COMMENT||LA400_0==NL||LA400_0==WS) ) {
								alt400=1;
							}
							} finally {dbg.exitDecision(400);}

							switch (alt400) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:129: ws
									{
									dbg.location(1312,129);
									pushFollow(FOLLOW_ws_in_sass_else8518);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(400);}
							dbg.location(1312,133);
							pushFollow(FOLLOW_sass_else_in_sass_else8521);
							sass_else();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(401);}

					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1313, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_else");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_else"



	// $ANTLR start "sass_control_expression"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1315:1: sass_control_expression : cp_expression ;
	public final void sass_control_expression() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_control_expression");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1315, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1316:5: ( cp_expression )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1317:5: cp_expression
			{
			dbg.location(1317,5);
			pushFollow(FOLLOW_cp_expression_in_sass_control_expression8544);
			cp_expression();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1318, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_control_expression");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_control_expression"



	// $ANTLR start "sass_for"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1320:1: sass_for : SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ;
	public final void sass_for() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_for");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1320, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1321:5: ( SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1322:5: SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block
			{
			dbg.location(1322,5);
			match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for8565); if (state.failed) return;dbg.location(1322,14);
			pushFollow(FOLLOW_ws_in_sass_for8567);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,17);
			pushFollow(FOLLOW_cp_variable_in_sass_for8569);
			cp_variable();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,29);
			pushFollow(FOLLOW_ws_in_sass_for8571);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,32);
			if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"from\")");
			}dbg.location(1322,59);
			match(input,IDENT,FOLLOW_IDENT_in_sass_for8575); if (state.failed) return;dbg.location(1322,74);
			pushFollow(FOLLOW_ws_in_sass_for8579);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,77);
			pushFollow(FOLLOW_cp_math_expression_in_sass_for8581);
			cp_math_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,96);
			pushFollow(FOLLOW_ws_in_sass_for8583);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,99);
			if ( !(evalPredicate(tokenNameEquals("to")|tokenNameEquals("through"),"tokenNameEquals(\"to\")|tokenNameEquals(\"through\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"to\")|tokenNameEquals(\"through\")");
			}dbg.location(1322,151);
			match(input,IDENT,FOLLOW_IDENT_in_sass_for8587); if (state.failed) return;dbg.location(1322,173);
			pushFollow(FOLLOW_ws_in_sass_for8591);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,176);
			pushFollow(FOLLOW_cp_math_expression_in_sass_for8593);
			cp_math_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1322,195);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1322:195: ( ws )?
			int alt403=2;
			try { dbg.enterSubRule(403);
			try { dbg.enterDecision(403, decisionCanBacktrack[403]);

			int LA403_0 = input.LA(1);
			if ( (LA403_0==COMMENT||LA403_0==NL||LA403_0==WS) ) {
				alt403=1;
			}
			} finally {dbg.exitDecision(403);}

			switch (alt403) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1322:195: ws
					{
					dbg.location(1322,195);
					pushFollow(FOLLOW_ws_in_sass_for8595);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(403);}
			dbg.location(1322,199);
			pushFollow(FOLLOW_sass_control_block_in_sass_for8598);
			sass_control_block();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1323, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_for");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_for"



	// $ANTLR start "sass_each"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:1: sass_each : SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ;
	public final void sass_each() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_each");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1325, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1326:5: ( SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:5: SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block
			{
			dbg.location(1327,5);
			match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each8619); if (state.failed) return;dbg.location(1327,15);
			pushFollow(FOLLOW_ws_in_sass_each8621);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1327,18);
			pushFollow(FOLLOW_sass_each_variables_in_sass_each8623);
			sass_each_variables();
			state._fsp--;
			if (state.failed) return;dbg.location(1327,38);
			pushFollow(FOLLOW_ws_in_sass_each8625);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1327,41);
			if ( !(evalPredicate(tokenNameEquals("in"),"tokenNameEquals(\"in\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "sass_each", "tokenNameEquals(\"in\")");
			}dbg.location(1327,66);
			match(input,IDENT,FOLLOW_IDENT_in_sass_each8629); if (state.failed) return;dbg.location(1327,79);
			pushFollow(FOLLOW_ws_in_sass_each8633);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1327,82);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:82: ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+
			int cnt407=0;
			try { dbg.enterSubRule(407);

			loop407:
			while (true) {
				int alt407=2;
				try { dbg.enterDecision(407, decisionCanBacktrack[407]);

				int LA407_0 = input.LA(1);
				if ( (LA407_0==LBRACE) ) {
					int LA407_1 = input.LA(2);
					if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {
						alt407=1;
					}

				}
				else if ( ((LA407_0 >= ANGLE && LA407_0 <= AT_SIGN)||(LA407_0 >= BOTTOMCENTER_SYM && LA407_0 <= BOTTOMRIGHT_SYM)||LA407_0==CHARSET_SYM||LA407_0==COUNTER_STYLE_SYM||LA407_0==DIMENSION||LA407_0==EMS||LA407_0==EXS||(LA407_0 >= FONT_FACE_SYM && LA407_0 <= FREQ)||LA407_0==GEN||(LA407_0 >= HASH && LA407_0 <= HASH_SYMBOL)||(LA407_0 >= IDENT && LA407_0 <= IMPORT_SYM)||(LA407_0 >= LEFTBOTTOM_SYM && LA407_0 <= LENGTH)||(LA407_0 >= LESS_AND && LA407_0 <= LESS_JS_STRING)||LA407_0==LPAREN||(LA407_0 >= MEDIA_SYM && LA407_0 <= MOZ_DOCUMENT_SYM)||LA407_0==NAMESPACE_SYM||(LA407_0 >= NOT && LA407_0 <= NUMBER)||(LA407_0 >= PAGE_SYM && LA407_0 <= PERCENTAGE_SYMBOL)||LA407_0==PLUS||(LA407_0 >= REM && LA407_0 <= RIGHTTOP_SYM)||(LA407_0 >= SASS_AT_ROOT && LA407_0 <= SASS_DEBUG)||(LA407_0 >= SASS_EACH && LA407_0 <= SASS_ELSE)||LA407_0==SASS_EXTEND||(LA407_0 >= SASS_FOR && LA407_0 <= SASS_FUNCTION)||(LA407_0 >= SASS_IF && LA407_0 <= SASS_MIXIN)||(LA407_0 >= SASS_RETURN && LA407_0 <= SASS_WHILE)||LA407_0==STRING||(LA407_0 >= TILDE && LA407_0 <= TOPRIGHT_SYM)||LA407_0==URI||LA407_0==WEBKIT_KEYFRAMES_SYM) ) {
					alt407=1;
				}

				} finally {dbg.exitDecision(407);}

				switch (alt407) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:83: cp_expression_list ( ( ws )? COMMA )? ( ws )?
					{
					dbg.location(1327,83);
					pushFollow(FOLLOW_cp_expression_list_in_sass_each8636);
					cp_expression_list();
					state._fsp--;
					if (state.failed) return;dbg.location(1327,102);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:102: ( ( ws )? COMMA )?
					int alt405=2;
					try { dbg.enterSubRule(405);
					try { dbg.enterDecision(405, decisionCanBacktrack[405]);

					try {
						isCyclicDecision = true;
						alt405 = dfa405.predict(input);
					}
					catch (NoViableAltException nvae) {
						dbg.recognitionException(nvae);
						throw nvae;
					}
					} finally {dbg.exitDecision(405);}

					switch (alt405) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:103: ( ws )? COMMA
							{
							dbg.location(1327,103);
							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:103: ( ws )?
							int alt404=2;
							try { dbg.enterSubRule(404);
							try { dbg.enterDecision(404, decisionCanBacktrack[404]);

							int LA404_0 = input.LA(1);
							if ( (LA404_0==COMMENT||LA404_0==NL||LA404_0==WS) ) {
								alt404=1;
							}
							} finally {dbg.exitDecision(404);}

							switch (alt404) {
								case 1 :
									dbg.enterAlt(1);

									// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:103: ws
									{
									dbg.location(1327,103);
									pushFollow(FOLLOW_ws_in_sass_each8639);
									ws();
									state._fsp--;
									if (state.failed) return;
									}
									break;

							}
							} finally {dbg.exitSubRule(404);}
							dbg.location(1327,107);
							match(input,COMMA,FOLLOW_COMMA_in_sass_each8642); if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(405);}
					dbg.location(1327,115);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:115: ( ws )?
					int alt406=2;
					try { dbg.enterSubRule(406);
					try { dbg.enterDecision(406, decisionCanBacktrack[406]);

					int LA406_0 = input.LA(1);
					if ( (LA406_0==COMMENT||LA406_0==NL||LA406_0==WS) ) {
						alt406=1;
					}
					} finally {dbg.exitDecision(406);}

					switch (alt406) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:115: ws
							{
							dbg.location(1327,115);
							pushFollow(FOLLOW_ws_in_sass_each8646);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(406);}

					}
					break;

				default :
					if ( cnt407 >= 1 ) break loop407;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(407, input);
					dbg.recognitionException(eee);

					throw eee;
				}
				cnt407++;
			}
			} finally {dbg.exitSubRule(407);}
			dbg.location(1327,122);
			pushFollow(FOLLOW_sass_control_block_in_sass_each8652);
			sass_control_block();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1328, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_each");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_each"



	// $ANTLR start "sass_each_variables"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1330:1: sass_each_variables : cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ;
	public final void sass_each_variables() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_each_variables");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1330, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1331:5: ( cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:5: cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*
			{
			dbg.location(1332,5);
			pushFollow(FOLLOW_cp_variable_in_sass_each_variables8673);
			cp_variable();
			state._fsp--;
			if (state.failed) return;dbg.location(1332,17);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*
			try { dbg.enterSubRule(410);

			loop410:
			while (true) {
				int alt410=2;
				try { dbg.enterDecision(410, decisionCanBacktrack[410]);

				try {
					isCyclicDecision = true;
					alt410 = dfa410.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(410);}

				switch (alt410) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:19: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable
					{
					dbg.location(1332,33);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:33: ( ws )?
					int alt408=2;
					try { dbg.enterSubRule(408);
					try { dbg.enterDecision(408, decisionCanBacktrack[408]);

					int LA408_0 = input.LA(1);
					if ( (LA408_0==COMMENT||LA408_0==NL||LA408_0==WS) ) {
						alt408=1;
					}
					} finally {dbg.exitDecision(408);}

					switch (alt408) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:33: ws
							{
							dbg.location(1332,33);
							pushFollow(FOLLOW_ws_in_sass_each_variables8685);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(408);}
					dbg.location(1332,37);
					match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables8688); if (state.failed) return;dbg.location(1332,43);
					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:43: ( ws )?
					int alt409=2;
					try { dbg.enterSubRule(409);
					try { dbg.enterDecision(409, decisionCanBacktrack[409]);

					int LA409_0 = input.LA(1);
					if ( (LA409_0==COMMENT||LA409_0==NL||LA409_0==WS) ) {
						alt409=1;
					}
					} finally {dbg.exitDecision(409);}

					switch (alt409) {
						case 1 :
							dbg.enterAlt(1);

							// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:43: ws
							{
							dbg.location(1332,43);
							pushFollow(FOLLOW_ws_in_sass_each_variables8690);
							ws();
							state._fsp--;
							if (state.failed) return;
							}
							break;

					}
					} finally {dbg.exitSubRule(409);}
					dbg.location(1332,47);
					pushFollow(FOLLOW_cp_variable_in_sass_each_variables8693);
					cp_variable();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop410;
				}
			}
			} finally {dbg.exitSubRule(410);}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1333, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_each_variables");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_each_variables"



	// $ANTLR start "sass_while"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1335:1: sass_while : SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ;
	public final void sass_while() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_while");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1335, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:5: ( SASS_WHILE ws sass_control_expression ( ws )? sass_control_block )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1337:5: SASS_WHILE ws sass_control_expression ( ws )? sass_control_block
			{
			dbg.location(1337,5);
			match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while8718); if (state.failed) return;dbg.location(1337,16);
			pushFollow(FOLLOW_ws_in_sass_while8720);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1337,19);
			pushFollow(FOLLOW_sass_control_expression_in_sass_while8722);
			sass_control_expression();
			state._fsp--;
			if (state.failed) return;dbg.location(1337,43);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1337:43: ( ws )?
			int alt411=2;
			try { dbg.enterSubRule(411);
			try { dbg.enterDecision(411, decisionCanBacktrack[411]);

			int LA411_0 = input.LA(1);
			if ( (LA411_0==COMMENT||LA411_0==NL||LA411_0==WS) ) {
				alt411=1;
			}
			} finally {dbg.exitDecision(411);}

			switch (alt411) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1337:43: ws
					{
					dbg.location(1337,43);
					pushFollow(FOLLOW_ws_in_sass_while8724);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(411);}
			dbg.location(1337,47);
			pushFollow(FOLLOW_sass_control_block_in_sass_while8727);
			sass_control_block();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1338, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_while");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_while"



	// $ANTLR start "sass_control_block"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1340:1: sass_control_block : LBRACE ( ws )? ( declarations )? RBRACE ;
	public final void sass_control_block() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_control_block");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1340, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:5: ( LBRACE ( ws )? ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1342:5: LBRACE ( ws )? ( declarations )? RBRACE
			{
			dbg.location(1342,5);
			match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block8748); if (state.failed) return;dbg.location(1342,12);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1342:12: ( ws )?
			int alt412=2;
			try { dbg.enterSubRule(412);
			try { dbg.enterDecision(412, decisionCanBacktrack[412]);

			int LA412_0 = input.LA(1);
			if ( (LA412_0==COMMENT||LA412_0==NL||LA412_0==WS) ) {
				alt412=1;
			}
			} finally {dbg.exitDecision(412);}

			switch (alt412) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1342:12: ws
					{
					dbg.location(1342,12);
					pushFollow(FOLLOW_ws_in_sass_control_block8750);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(412);}
			dbg.location(1342,16);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1342:16: ( declarations )?
			int alt413=2;
			try { dbg.enterSubRule(413);
			try { dbg.enterDecision(413, decisionCanBacktrack[413]);

			int LA413_0 = input.LA(1);
			if ( ((LA413_0 >= AT_IDENT && LA413_0 <= AT_SIGN)||(LA413_0 >= BOTTOMCENTER_SYM && LA413_0 <= BOTTOMRIGHT_SYM)||(LA413_0 >= CHARSET_SYM && LA413_0 <= COLON)||LA413_0==COUNTER_STYLE_SYM||(LA413_0 >= DCOLON && LA413_0 <= DOT)||LA413_0==FONT_FACE_SYM||(LA413_0 >= GEN && LA413_0 <= GREATER)||(LA413_0 >= HASH && LA413_0 <= HASH_SYMBOL)||LA413_0==IDENT||LA413_0==IMPORT_SYM||(LA413_0 >= LBRACKET && LA413_0 <= LEFTTOP_SYM)||LA413_0==LESS_AND||(LA413_0 >= MEDIA_SYM && LA413_0 <= MOZ_DOCUMENT_SYM)||LA413_0==NAMESPACE_SYM||LA413_0==PAGE_SYM||(LA413_0 >= PIPE && LA413_0 <= PLUS)||(LA413_0 >= RIGHTBOTTOM_SYM && LA413_0 <= RIGHTTOP_SYM)||(LA413_0 >= SASS_AT_ROOT && LA413_0 <= SASS_DEBUG)||(LA413_0 >= SASS_EACH && LA413_0 <= SASS_ELSE)||(LA413_0 >= SASS_ERROR && LA413_0 <= SASS_FUNCTION)||(LA413_0 >= SASS_IF && LA413_0 <= SASS_MIXIN)||(LA413_0 >= SASS_RETURN && LA413_0 <= SEMI)||LA413_0==STAR||LA413_0==TILDE||(LA413_0 >= TOPCENTER_SYM && LA413_0 <= TOPRIGHT_SYM)||LA413_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt413=1;
			}
			} finally {dbg.exitDecision(413);}

			switch (alt413) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1342:16: declarations
					{
					dbg.location(1342,16);
					pushFollow(FOLLOW_declarations_in_sass_control_block8753);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(413);}
			dbg.location(1342,30);
			match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block8756); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1343, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_control_block");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_control_block"



	// $ANTLR start "sass_function_declaration"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1345:1: sass_function_declaration : SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ;
	public final void sass_function_declaration() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_function_declaration");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1345, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1346:5: ( SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:5: SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE
			{
			dbg.location(1351,5);
			match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration8798); if (state.failed) return;dbg.location(1351,19);
			pushFollow(FOLLOW_ws_in_sass_function_declaration8800);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1351,22);
			pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration8802);
			sass_function_name();
			state._fsp--;
			if (state.failed) return;dbg.location(1351,41);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:41: ( ws )?
			int alt414=2;
			try { dbg.enterSubRule(414);
			try { dbg.enterDecision(414, decisionCanBacktrack[414]);

			int LA414_0 = input.LA(1);
			if ( (LA414_0==COMMENT||LA414_0==NL||LA414_0==WS) ) {
				alt414=1;
			}
			} finally {dbg.exitDecision(414);}

			switch (alt414) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:41: ws
					{
					dbg.location(1351,41);
					pushFollow(FOLLOW_ws_in_sass_function_declaration8804);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(414);}
			dbg.location(1351,45);
			match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration8807); if (state.failed) return;dbg.location(1351,52);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:52: ( ws )?
			int alt415=2;
			try { dbg.enterSubRule(415);
			try { dbg.enterDecision(415, decisionCanBacktrack[415]);

			int LA415_0 = input.LA(1);
			if ( (LA415_0==COMMENT||LA415_0==NL||LA415_0==WS) ) {
				alt415=1;
			}
			} finally {dbg.exitDecision(415);}

			switch (alt415) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:52: ws
					{
					dbg.location(1351,52);
					pushFollow(FOLLOW_ws_in_sass_function_declaration8809);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(415);}
			dbg.location(1351,56);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:56: ( cp_args_list )?
			int alt416=2;
			try { dbg.enterSubRule(416);
			try { dbg.enterDecision(416, decisionCanBacktrack[416]);

			int LA416_0 = input.LA(1);
			if ( (LA416_0==AT_IDENT||(LA416_0 >= BOTTOMCENTER_SYM && LA416_0 <= BOTTOMRIGHT_SYM)||LA416_0==CHARSET_SYM||(LA416_0 >= COUNTER_STYLE_SYM && LA416_0 <= CP_DOTS)||LA416_0==FONT_FACE_SYM||LA416_0==IDENT||LA416_0==IMPORT_SYM||(LA416_0 >= LEFTBOTTOM_SYM && LA416_0 <= LEFTTOP_SYM)||LA416_0==LESS_REST||LA416_0==MEDIA_SYM||LA416_0==MOZ_DOCUMENT_SYM||LA416_0==NAMESPACE_SYM||LA416_0==PAGE_SYM||(LA416_0 >= RIGHTBOTTOM_SYM && LA416_0 <= RIGHTTOP_SYM)||(LA416_0 >= SASS_AT_ROOT && LA416_0 <= SASS_DEBUG)||(LA416_0 >= SASS_EACH && LA416_0 <= SASS_ELSE)||LA416_0==SASS_EXTEND||(LA416_0 >= SASS_FOR && LA416_0 <= SASS_FUNCTION)||(LA416_0 >= SASS_IF && LA416_0 <= SASS_MIXIN)||(LA416_0 >= SASS_RETURN && LA416_0 <= SASS_WHILE)||(LA416_0 >= TOPCENTER_SYM && LA416_0 <= TOPRIGHT_SYM)||LA416_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt416=1;
			}
			} finally {dbg.exitDecision(416);}

			switch (alt416) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:56: cp_args_list
					{
					dbg.location(1351,56);
					pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration8812);
					cp_args_list();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(416);}
			dbg.location(1351,70);
			match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration8815); if (state.failed) return;dbg.location(1351,77);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:77: ( ws )?
			int alt417=2;
			try { dbg.enterSubRule(417);
			try { dbg.enterDecision(417, decisionCanBacktrack[417]);

			int LA417_0 = input.LA(1);
			if ( (LA417_0==COMMENT||LA417_0==NL||LA417_0==WS) ) {
				alt417=1;
			}
			} finally {dbg.exitDecision(417);}

			switch (alt417) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:77: ws
					{
					dbg.location(1351,77);
					pushFollow(FOLLOW_ws_in_sass_function_declaration8817);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(417);}
			dbg.location(1351,81);
			match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration8820); if (state.failed) return;dbg.location(1351,88);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:88: ( ws )?
			int alt418=2;
			try { dbg.enterSubRule(418);
			try { dbg.enterDecision(418, decisionCanBacktrack[418]);

			int LA418_0 = input.LA(1);
			if ( (LA418_0==COMMENT||LA418_0==NL||LA418_0==WS) ) {
				alt418=1;
			}
			} finally {dbg.exitDecision(418);}

			switch (alt418) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:88: ws
					{
					dbg.location(1351,88);
					pushFollow(FOLLOW_ws_in_sass_function_declaration8822);
					ws();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(418);}
			dbg.location(1351,92);
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:92: ( declarations )?
			int alt419=2;
			try { dbg.enterSubRule(419);
			try { dbg.enterDecision(419, decisionCanBacktrack[419]);

			int LA419_0 = input.LA(1);
			if ( ((LA419_0 >= AT_IDENT && LA419_0 <= AT_SIGN)||(LA419_0 >= BOTTOMCENTER_SYM && LA419_0 <= BOTTOMRIGHT_SYM)||(LA419_0 >= CHARSET_SYM && LA419_0 <= COLON)||LA419_0==COUNTER_STYLE_SYM||(LA419_0 >= DCOLON && LA419_0 <= DOT)||LA419_0==FONT_FACE_SYM||(LA419_0 >= GEN && LA419_0 <= GREATER)||(LA419_0 >= HASH && LA419_0 <= HASH_SYMBOL)||LA419_0==IDENT||LA419_0==IMPORT_SYM||(LA419_0 >= LBRACKET && LA419_0 <= LEFTTOP_SYM)||LA419_0==LESS_AND||(LA419_0 >= MEDIA_SYM && LA419_0 <= MOZ_DOCUMENT_SYM)||LA419_0==NAMESPACE_SYM||LA419_0==PAGE_SYM||(LA419_0 >= PIPE && LA419_0 <= PLUS)||(LA419_0 >= RIGHTBOTTOM_SYM && LA419_0 <= RIGHTTOP_SYM)||(LA419_0 >= SASS_AT_ROOT && LA419_0 <= SASS_DEBUG)||(LA419_0 >= SASS_EACH && LA419_0 <= SASS_ELSE)||(LA419_0 >= SASS_ERROR && LA419_0 <= SASS_FUNCTION)||(LA419_0 >= SASS_IF && LA419_0 <= SASS_MIXIN)||(LA419_0 >= SASS_RETURN && LA419_0 <= SEMI)||LA419_0==STAR||LA419_0==TILDE||(LA419_0 >= TOPCENTER_SYM && LA419_0 <= TOPRIGHT_SYM)||LA419_0==WEBKIT_KEYFRAMES_SYM) ) {
				alt419=1;
			}
			} finally {dbg.exitDecision(419);}

			switch (alt419) {
				case 1 :
					dbg.enterAlt(1);

					// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:92: declarations
					{
					dbg.location(1351,92);
					pushFollow(FOLLOW_declarations_in_sass_function_declaration8825);
					declarations();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}
			} finally {dbg.exitSubRule(419);}
			dbg.location(1351,106);
			match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration8828); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1352, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_function_declaration");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_function_declaration"



	// $ANTLR start "sass_function_name"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1354:1: sass_function_name : IDENT ;
	public final void sass_function_name() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_function_name");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1354, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:5: ( IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1356:5: IDENT
			{
			dbg.location(1356,5);
			match(input,IDENT,FOLLOW_IDENT_in_sass_function_name8849); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1357, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_function_name");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_function_name"



	// $ANTLR start "sass_function_return"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1359:1: sass_function_return : SASS_RETURN ws cp_expression ;
	public final void sass_function_return() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_function_return");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1359, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:5: ( SASS_RETURN ws cp_expression )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1361:5: SASS_RETURN ws cp_expression
			{
			dbg.location(1361,5);
			match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return8870); if (state.failed) return;dbg.location(1361,17);
			pushFollow(FOLLOW_ws_in_sass_function_return8872);
			ws();
			state._fsp--;
			if (state.failed) return;dbg.location(1361,20);
			pushFollow(FOLLOW_cp_expression_in_sass_function_return8874);
			cp_expression();
			state._fsp--;
			if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1362, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_function_return");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_function_return"



	// $ANTLR start "sass_content"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1364:1: sass_content : SASS_CONTENT ;
	public final void sass_content() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "sass_content");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1364, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:5: ( SASS_CONTENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1366:5: SASS_CONTENT
			{
			dbg.location(1366,5);
			match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content8895); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1367, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "sass_content");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "sass_content"



	// $ANTLR start "less_import_types"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:1: less_import_types :{...}? IDENT ;
	public final void less_import_types() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_import_types");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1369, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:18: ({...}? IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:5: {...}? IDENT
			{
			dbg.location(1370,5);
			if ( !(evalPredicate(tokenNameIs(new String[]{"LESS", "CSS", "REFERENCE", "INLINE", "ONCE", "MULTIPLE"}),"tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\"})")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "less_import_types", "tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\"})");
			}dbg.location(1370,92);
			match(input,IDENT,FOLLOW_IDENT_in_less_import_types8914); if (state.failed) return;
			}

		}
		catch ( RecognitionException rce) {

			        reportError(rce);
			        input.consume();
			    
		}

		finally {
			// do for sure before leaving
		}
		dbg.location(1371, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_import_types");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_import_types"



	// $ANTLR start "less_when"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:1: less_when :{...}? IDENT ;
	public final void less_when() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "less_when");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1376, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:10: ({...}? IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1377:5: {...}? IDENT
			{
			dbg.location(1377,5);
			if ( !(evalPredicate(tokenNameEquals("when"),"tokenNameEquals(\"when\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "less_when", "tokenNameEquals(\"when\")");
			}dbg.location(1377,32);
			match(input,IDENT,FOLLOW_IDENT_in_less_when8937); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1378, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "less_when");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "less_when"



	// $ANTLR start "key_and"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:1: key_and :{...}? IDENT ;
	public final void key_and() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "key_and");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1380, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:8: ({...}? IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1381:5: {...}? IDENT
			{
			dbg.location(1381,5);
			if ( !(evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "key_and", "tokenNameEquals(\"and\")");
			}dbg.location(1381,31);
			match(input,IDENT,FOLLOW_IDENT_in_key_and8956); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1382, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "key_and");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "key_and"



	// $ANTLR start "key_or"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:1: key_or :{...}? IDENT ;
	public final void key_or() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "key_or");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1384, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:7: ({...}? IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1385:5: {...}? IDENT
			{
			dbg.location(1385,5);
			if ( !(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "key_or", "tokenNameEquals(\"or\")");
			}dbg.location(1385,30);
			match(input,IDENT,FOLLOW_IDENT_in_key_or8974); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1386, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "key_or");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "key_or"



	// $ANTLR start "key_only"
	// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:1: key_only :{...}? IDENT ;
	public final void key_only() throws RecognitionException {
		try { dbg.enterRule(getGrammarFileName(), "key_only");
		if ( getRuleLevel()==0 ) {dbg.commence();}
		incRuleLevel();
		dbg.location(1388, 0);

		try {
			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:9: ({...}? IDENT )
			dbg.enterAlt(1);

			// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:5: {...}? IDENT
			{
			dbg.location(1389,5);
			if ( !(evalPredicate(tokenNameEquals("only"),"tokenNameEquals(\"only\")")) ) {
				if (state.backtracking>0) {state.failed=true; return;}
				throw new FailedPredicateException(input, "key_only", "tokenNameEquals(\"only\")");
			}dbg.location(1389,32);
			match(input,IDENT,FOLLOW_IDENT_in_key_only8992); if (state.failed) return;
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		dbg.location(1390, 4);

		}
		finally {
			dbg.exitRule(getGrammarFileName(), "key_only");
			decRuleLevel();
			if ( getRuleLevel()==0 ) {dbg.terminate();}
		}

	}
	// $ANTLR end "key_only"

	// $ANTLR start synpred1_Css3
	public final void synpred1_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:44: ( ( ws )? mediaQueryList )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:45: ( ws )? mediaQueryList
		{
		dbg.location(391,45);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:45: ( ws )?
		int alt420=2;
		try { dbg.enterSubRule(420);
		try { dbg.enterDecision(420, decisionCanBacktrack[420]);

		int LA420_0 = input.LA(1);
		if ( (LA420_0==COMMENT||LA420_0==NL||LA420_0==WS) ) {
			alt420=1;
		}
		} finally {dbg.exitDecision(420);}

		switch (alt420) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:391:45: ws
				{
				dbg.location(391,45);
				pushFollow(FOLLOW_ws_in_synpred1_Css3365);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(420);}
		dbg.location(391,49);
		pushFollow(FOLLOW_mediaQueryList_in_synpred1_Css3368);
		mediaQueryList();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred1_Css3

	// $ANTLR start synpred2_Css3
	public final void synpred2_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:98: ( ( ws )? mediaQueryList )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:99: ( ws )? mediaQueryList
		{
		dbg.location(394,99);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:99: ( ws )?
		int alt421=2;
		try { dbg.enterSubRule(421);
		try { dbg.enterDecision(421, decisionCanBacktrack[421]);

		int LA421_0 = input.LA(1);
		if ( (LA421_0==COMMENT||LA421_0==NL||LA421_0==WS) ) {
			alt421=1;
		}
		} finally {dbg.exitDecision(421);}

		switch (alt421) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:394:99: ws
				{
				dbg.location(394,99);
				pushFollow(FOLLOW_ws_in_synpred2_Css3429);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(421);}
		dbg.location(394,103);
		pushFollow(FOLLOW_mediaQueryList_in_synpred2_Css3432);
		mediaQueryList();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred2_Css3

	// $ANTLR start synpred3_Css3
	public final void synpred3_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:101: ( ( ws )? mediaQueryList )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:102: ( ws )? mediaQueryList
		{
		dbg.location(396,102);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:102: ( ws )?
		int alt422=2;
		try { dbg.enterSubRule(422);
		try { dbg.enterDecision(422, decisionCanBacktrack[422]);

		int LA422_0 = input.LA(1);
		if ( (LA422_0==COMMENT||LA422_0==NL||LA422_0==WS) ) {
			alt422=1;
		}
		} finally {dbg.exitDecision(422);}

		switch (alt422) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:396:102: ws
				{
				dbg.location(396,102);
				pushFollow(FOLLOW_ws_in_synpred3_Css3483);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(422);}
		dbg.location(396,106);
		pushFollow(FOLLOW_mediaQueryList_in_synpred3_Css3486);
		mediaQueryList();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred3_Css3

	// $ANTLR start synpred4_Css3
	public final void synpred4_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:27: ( ( ws )? SEMI )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:28: ( ws )? SEMI
		{
		dbg.location(411,28);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:28: ( ws )?
		int alt423=2;
		try { dbg.enterSubRule(423);
		try { dbg.enterDecision(423, decisionCanBacktrack[423]);

		int LA423_0 = input.LA(1);
		if ( (LA423_0==COMMENT||LA423_0==NL||LA423_0==WS) ) {
			alt423=1;
		}
		} finally {dbg.exitDecision(423);}

		switch (alt423) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:411:28: ws
				{
				dbg.location(411,28);
				pushFollow(FOLLOW_ws_in_synpred4_Css3605);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(423);}
		dbg.location(411,32);
		match(input,SEMI,FOLLOW_SEMI_in_synpred4_Css3608); if (state.failed) return;
		}

	}
	// $ANTLR end synpred4_Css3

	// $ANTLR start synpred5_Css3
	public final void synpred5_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) )
		int alt428=2;
		try { dbg.enterDecision(428, decisionCanBacktrack[428]);

		int LA428_0 = input.LA(1);
		if ( (LA428_0==SASS_MIXIN) ) {
			alt428=1;
		}
		else if ( (LA428_0==DOT||LA428_0==HASH) ) {
			alt428=2;
		}

		else {
			if (state.backtracking>0) {state.failed=true; return;}
			NoViableAltException nvae =
				new NoViableAltException("", 428, 0, input);
			dbg.recognitionException(nvae);
			throw nvae;
		}

		} finally {dbg.exitDecision(428);}

		switch (alt428) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:6: SASS_MIXIN
				{
				dbg.location(420,6);
				match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_synpred5_Css3706); if (state.failed) return;
				}
				break;
			case 2 :
				dbg.enterAlt(2);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:19: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE )
				{
				dbg.location(420,19);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:19: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:20: ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE
				{
				dbg.location(420,20);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:20: ( ( DOT IDENT ) | HASH )
				int alt424=2;
				try { dbg.enterSubRule(424);
				try { dbg.enterDecision(424, decisionCanBacktrack[424]);

				int LA424_0 = input.LA(1);
				if ( (LA424_0==DOT) ) {
					alt424=1;
				}
				else if ( (LA424_0==HASH) ) {
					alt424=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					NoViableAltException nvae =
						new NoViableAltException("", 424, 0, input);
					dbg.recognitionException(nvae);
					throw nvae;
				}

				} finally {dbg.exitDecision(424);}

				switch (alt424) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:21: ( DOT IDENT )
						{
						dbg.location(420,21);
						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:21: ( DOT IDENT )
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:22: DOT IDENT
						{
						dbg.location(420,22);
						match(input,DOT,FOLLOW_DOT_in_synpred5_Css3713); if (state.failed) return;dbg.location(420,26);
						match(input,IDENT,FOLLOW_IDENT_in_synpred5_Css3715); if (state.failed) return;
						}

						}
						break;
					case 2 :
						dbg.enterAlt(2);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:35: HASH
						{
						dbg.location(420,35);
						match(input,HASH,FOLLOW_HASH_in_synpred5_Css3720); if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(424);}
				dbg.location(420,41);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:41: ( ws )?
				int alt425=2;
				try { dbg.enterSubRule(425);
				try { dbg.enterDecision(425, decisionCanBacktrack[425]);

				int LA425_0 = input.LA(1);
				if ( (LA425_0==COMMENT||LA425_0==NL||LA425_0==WS) ) {
					alt425=1;
				}
				} finally {dbg.exitDecision(425);}

				switch (alt425) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:41: ws
						{
						dbg.location(420,41);
						pushFollow(FOLLOW_ws_in_synpred5_Css3723);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(425);}
				dbg.location(420,45);
				match(input,LPAREN,FOLLOW_LPAREN_in_synpred5_Css3726); if (state.failed) return;dbg.location(420,52);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:52: (~ RPAREN )*
				try { dbg.enterSubRule(426);

				loop426:
				while (true) {
					int alt426=2;
					try { dbg.enterDecision(426, decisionCanBacktrack[426]);

					int LA426_0 = input.LA(1);
					if ( ((LA426_0 >= A && LA426_0 <= RIGHTTOP_SYM)||(LA426_0 >= S && LA426_0 <= Z)) ) {
						alt426=1;
					}

					} finally {dbg.exitDecision(426);}

					switch (alt426) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
						{
						dbg.location(420,52);
						if ( (input.LA(1) >= A && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= S && input.LA(1) <= Z) ) {
							input.consume();
							state.errorRecovery=false;
							state.failed=false;
						}
						else {
							if (state.backtracking>0) {state.failed=true; return;}
							MismatchedSetException mse = new MismatchedSetException(null,input);
							dbg.recognitionException(mse);
							throw mse;
						}
						}
						break;

					default :
						break loop426;
					}
				}
				} finally {dbg.exitSubRule(426);}
				dbg.location(420,63);
				match(input,RPAREN,FOLLOW_RPAREN_in_synpred5_Css3734); if (state.failed) return;dbg.location(420,70);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:420:70: (~ ( LBRACE | SEMI ) )*
				try { dbg.enterSubRule(427);

				loop427:
				while (true) {
					int alt427=2;
					try { dbg.enterDecision(427, decisionCanBacktrack[427]);

					int LA427_0 = input.LA(1);
					if ( ((LA427_0 >= A && LA427_0 <= L)||(LA427_0 >= LBRACKET && LA427_0 <= SASS_WHILE)||(LA427_0 >= SOLIDUS && LA427_0 <= Z)) ) {
						alt427=1;
					}

					} finally {dbg.exitDecision(427);}

					switch (alt427) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
						{
						dbg.location(420,70);
						if ( (input.LA(1) >= A && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) {
							input.consume();
							state.errorRecovery=false;
							state.failed=false;
						}
						else {
							if (state.backtracking>0) {state.failed=true; return;}
							MismatchedSetException mse = new MismatchedSetException(null,input);
							dbg.recognitionException(mse);
							throw mse;
						}
						}
						break;

					default :
						break loop427;
					}
				}
				} finally {dbg.exitSubRule(427);}
				dbg.location(420,86);
				match(input,LBRACE,FOLLOW_LBRACE_in_synpred5_Css3744); if (state.failed) return;
				}

				}
				break;

		}
	}
	// $ANTLR end synpred5_Css3

	// $ANTLR start synpred6_Css3
	public final void synpred6_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:7: ( cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:8: cp_mixin_call ( ( ws )? IMPORTANT_SYM )? ( ws )? SEMI
		{
		dbg.location(422,8);
		pushFollow(FOLLOW_cp_mixin_call_in_synpred6_Css3762);
		cp_mixin_call();
		state._fsp--;
		if (state.failed) return;dbg.location(422,22);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:22: ( ( ws )? IMPORTANT_SYM )?
		int alt430=2;
		try { dbg.enterSubRule(430);
		try { dbg.enterDecision(430, decisionCanBacktrack[430]);

		try {
			isCyclicDecision = true;
			alt430 = dfa430.predict(input);
		}
		catch (NoViableAltException nvae) {
			dbg.recognitionException(nvae);
			throw nvae;
		}
		} finally {dbg.exitDecision(430);}

		switch (alt430) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:23: ( ws )? IMPORTANT_SYM
				{
				dbg.location(422,23);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:23: ( ws )?
				int alt429=2;
				try { dbg.enterSubRule(429);
				try { dbg.enterDecision(429, decisionCanBacktrack[429]);

				int LA429_0 = input.LA(1);
				if ( (LA429_0==COMMENT||LA429_0==NL||LA429_0==WS) ) {
					alt429=1;
				}
				} finally {dbg.exitDecision(429);}

				switch (alt429) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:23: ws
						{
						dbg.location(422,23);
						pushFollow(FOLLOW_ws_in_synpred6_Css3765);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(429);}
				dbg.location(422,27);
				match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_synpred6_Css3768); if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(430);}
		dbg.location(422,43);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:43: ( ws )?
		int alt431=2;
		try { dbg.enterSubRule(431);
		try { dbg.enterDecision(431, decisionCanBacktrack[431]);

		int LA431_0 = input.LA(1);
		if ( (LA431_0==COMMENT||LA431_0==NL||LA431_0==WS) ) {
			alt431=1;
		}
		} finally {dbg.exitDecision(431);}

		switch (alt431) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:422:43: ws
				{
				dbg.location(422,43);
				pushFollow(FOLLOW_ws_in_synpred6_Css3772);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(431);}
		dbg.location(422,47);
		match(input,SEMI,FOLLOW_SEMI_in_synpred6_Css3775); if (state.failed) return;
		}

	}
	// $ANTLR end synpred6_Css3

	// $ANTLR start synpred7_Css3
	public final void synpred7_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:7: ( cp_mixin_call )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:8: cp_mixin_call
		{
		dbg.location(423,8);
		pushFollow(FOLLOW_cp_mixin_call_in_synpred7_Css3798);
		cp_mixin_call();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred7_Css3

	// $ANTLR start synpred8_Css3
	public final void synpred8_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE
		{
		dbg.location(424,8);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
		int alt437=3;
		try { dbg.enterSubRule(437);
		try { dbg.enterDecision(437, decisionCanBacktrack[437]);

		try {
			isCyclicDecision = true;
			alt437 = dfa437.predict(input);
		}
		catch (NoViableAltException nvae) {
			dbg.recognitionException(nvae);
			throw nvae;
		}
		} finally {dbg.exitDecision(437);}

		switch (alt437) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
				{
				dbg.location(424,9);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:10: SASS_AT_ROOT ( ws selectorsGroup )?
				{
				dbg.location(424,10);
				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred8_Css3823); if (state.failed) return;dbg.location(424,23);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:23: ( ws selectorsGroup )?
				int alt432=2;
				try { dbg.enterSubRule(432);
				try { dbg.enterDecision(432, decisionCanBacktrack[432]);

				try {
					isCyclicDecision = true;
					alt432 = dfa432.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(432);}

				switch (alt432) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:24: ws selectorsGroup
						{
						dbg.location(424,24);
						pushFollow(FOLLOW_ws_in_synpred8_Css3826);
						ws();
						state._fsp--;
						if (state.failed) return;dbg.location(424,27);
						pushFollow(FOLLOW_selectorsGroup_in_synpred8_Css3828);
						selectorsGroup();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(432);}

				}

				}
				break;
			case 2 :
				dbg.enterAlt(2);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
				{
				dbg.location(424,48);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
				{
				dbg.location(424,49);
				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred8_Css3837); if (state.failed) return;dbg.location(424,62);
				pushFollow(FOLLOW_ws_in_synpred8_Css3839);
				ws();
				state._fsp--;
				if (state.failed) return;dbg.location(424,65);
				match(input,LPAREN,FOLLOW_LPAREN_in_synpred8_Css3841); if (state.failed) return;dbg.location(424,72);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:72: ( ws )?
				int alt433=2;
				try { dbg.enterSubRule(433);
				try { dbg.enterDecision(433, decisionCanBacktrack[433]);

				int LA433_0 = input.LA(1);
				if ( (LA433_0==COMMENT||LA433_0==NL||LA433_0==WS) ) {
					alt433=1;
				}
				} finally {dbg.exitDecision(433);}

				switch (alt433) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:72: ws
						{
						dbg.location(424,72);
						pushFollow(FOLLOW_ws_in_synpred8_Css3843);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(433);}
				dbg.location(424,76);
				match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css3846); if (state.failed) return;dbg.location(424,82);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:82: ( ws )?
				int alt434=2;
				try { dbg.enterSubRule(434);
				try { dbg.enterDecision(434, decisionCanBacktrack[434]);

				int LA434_0 = input.LA(1);
				if ( (LA434_0==COMMENT||LA434_0==NL||LA434_0==WS) ) {
					alt434=1;
				}
				} finally {dbg.exitDecision(434);}

				switch (alt434) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:82: ws
						{
						dbg.location(424,82);
						pushFollow(FOLLOW_ws_in_synpred8_Css3848);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(434);}
				dbg.location(424,86);
				match(input,COLON,FOLLOW_COLON_in_synpred8_Css3851); if (state.failed) return;dbg.location(424,92);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:92: ( ws )?
				int alt435=2;
				try { dbg.enterSubRule(435);
				try { dbg.enterDecision(435, decisionCanBacktrack[435]);

				int LA435_0 = input.LA(1);
				if ( (LA435_0==COMMENT||LA435_0==NL||LA435_0==WS) ) {
					alt435=1;
				}
				} finally {dbg.exitDecision(435);}

				switch (alt435) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:92: ws
						{
						dbg.location(424,92);
						pushFollow(FOLLOW_ws_in_synpred8_Css3853);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(435);}
				dbg.location(424,96);
				match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css3856); if (state.failed) return;dbg.location(424,102);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:102: ( ws )?
				int alt436=2;
				try { dbg.enterSubRule(436);
				try { dbg.enterDecision(436, decisionCanBacktrack[436]);

				int LA436_0 = input.LA(1);
				if ( (LA436_0==COMMENT||LA436_0==NL||LA436_0==WS) ) {
					alt436=1;
				}
				} finally {dbg.exitDecision(436);}

				switch (alt436) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:102: ws
						{
						dbg.location(424,102);
						pushFollow(FOLLOW_ws_in_synpred8_Css3858);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(436);}
				dbg.location(424,106);
				match(input,RPAREN,FOLLOW_RPAREN_in_synpred8_Css3861); if (state.failed) return;
				}

				}
				break;
			case 3 :
				dbg.enterAlt(3);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:116: selectorsGroup
				{
				dbg.location(424,116);
				pushFollow(FOLLOW_selectorsGroup_in_synpred8_Css3866);
				selectorsGroup();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(437);}
		dbg.location(424,132);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:132: ( ws )?
		int alt438=2;
		try { dbg.enterSubRule(438);
		try { dbg.enterDecision(438, decisionCanBacktrack[438]);

		int LA438_0 = input.LA(1);
		if ( (LA438_0==COMMENT||LA438_0==NL||LA438_0==WS) ) {
			alt438=1;
		}
		} finally {dbg.exitDecision(438);}

		switch (alt438) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:424:132: ws
				{
				dbg.location(424,132);
				pushFollow(FOLLOW_ws_in_synpred8_Css3869);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(438);}
		dbg.location(424,136);
		match(input,LBRACE,FOLLOW_LBRACE_in_synpred8_Css3872); if (state.failed) return;
		}

	}
	// $ANTLR end synpred8_Css3

	// $ANTLR start synpred9_Css3
	public final void synpred9_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:425:7: ( propertyDeclaration )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:425:8: propertyDeclaration
		{
		dbg.location(425,8);
		pushFollow(FOLLOW_propertyDeclaration_in_synpred9_Css3884);
		propertyDeclaration();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred9_Css3

	// $ANTLR start synpred10_Css3
	public final void synpred10_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:17: ( ( ws )? COMMA )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:18: ( ws )? COMMA
		{
		dbg.location(439,18);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:18: ( ws )?
		int alt439=2;
		try { dbg.enterSubRule(439);
		try { dbg.enterDecision(439, decisionCanBacktrack[439]);

		int LA439_0 = input.LA(1);
		if ( (LA439_0==COMMENT||LA439_0==NL||LA439_0==WS) ) {
			alt439=1;
		}
		} finally {dbg.exitDecision(439);}

		switch (alt439) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:18: ws
				{
				dbg.location(439,18);
				pushFollow(FOLLOW_ws_in_synpred10_Css3991);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(439);}
		dbg.location(439,22);
		match(input,COMMA,FOLLOW_COMMA_in_synpred10_Css3994); if (state.failed) return;
		}

	}
	// $ANTLR end synpred10_Css3

	// $ANTLR start synpred11_Css3
	public final void synpred11_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:44: ( ( ws )? key_and )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:45: ( ws )? key_and
		{
		dbg.location(444,45);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:45: ( ws )?
		int alt440=2;
		try { dbg.enterSubRule(440);
		try { dbg.enterDecision(440, decisionCanBacktrack[440]);

		int LA440_0 = input.LA(1);
		if ( (LA440_0==COMMENT||LA440_0==NL||LA440_0==WS) ) {
			alt440=1;
		}
		} finally {dbg.exitDecision(440);}

		switch (alt440) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:45: ws
				{
				dbg.location(444,45);
				pushFollow(FOLLOW_ws_in_synpred11_Css31038);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(440);}
		dbg.location(444,49);
		pushFollow(FOLLOW_key_and_in_synpred11_Css31041);
		key_and();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred11_Css3

	// $ANTLR start synpred12_Css3
	public final void synpred12_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:24: ( ( ws )? key_and )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:25: ( ws )? key_and
		{
		dbg.location(445,25);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:25: ( ws )?
		int alt441=2;
		try { dbg.enterSubRule(441);
		try { dbg.enterDecision(441, decisionCanBacktrack[441]);

		int LA441_0 = input.LA(1);
		if ( (LA441_0==COMMENT||LA441_0==NL||LA441_0==WS) ) {
			alt441=1;
		}
		} finally {dbg.exitDecision(441);}

		switch (alt441) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:25: ws
				{
				dbg.location(445,25);
				pushFollow(FOLLOW_ws_in_synpred12_Css31068);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(441);}
		dbg.location(445,29);
		pushFollow(FOLLOW_key_and_in_synpred12_Css31071);
		key_and();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred12_Css3

	// $ANTLR start synpred13_Css3
	public final void synpred13_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:5: ( LPAREN )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:459:6: LPAREN
		{
		dbg.location(459,6);
		match(input,LPAREN,FOLLOW_LPAREN_in_synpred13_Css31153); if (state.failed) return;
		}

	}
	// $ANTLR end synpred13_Css3

	// $ANTLR start synpred14_Css3
	public final void synpred14_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:460:7: ( HASH )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:460:8: HASH
		{
		dbg.location(460,8);
		match(input,HASH,FOLLOW_HASH_in_synpred14_Css31182); if (state.failed) return;
		}

	}
	// $ANTLR end synpred14_Css3

	// $ANTLR start synpred15_Css3
	public final void synpred15_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:22: ( ( ws )? SEMI )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:23: ( ws )? SEMI
		{
		dbg.location(480,23);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:23: ( ws )?
		int alt442=2;
		try { dbg.enterSubRule(442);
		try { dbg.enterDecision(442, decisionCanBacktrack[442]);

		int LA442_0 = input.LA(1);
		if ( (LA442_0==COMMENT||LA442_0==NL||LA442_0==WS) ) {
			alt442=1;
		}
		} finally {dbg.exitDecision(442);}

		switch (alt442) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:23: ws
				{
				dbg.location(480,23);
				pushFollow(FOLLOW_ws_in_synpred15_Css31328);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(442);}
		dbg.location(480,27);
		match(input,SEMI,FOLLOW_SEMI_in_synpred15_Css31331); if (state.failed) return;
		}

	}
	// $ANTLR end synpred15_Css3

	// $ANTLR start synpred16_Css3
	public final void synpred16_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) )
		int alt447=2;
		try { dbg.enterDecision(447, decisionCanBacktrack[447]);

		int LA447_0 = input.LA(1);
		if ( (LA447_0==SASS_MIXIN) ) {
			alt447=1;
		}
		else if ( (LA447_0==DOT||LA447_0==HASH) ) {
			alt447=2;
		}

		else {
			if (state.backtracking>0) {state.failed=true; return;}
			NoViableAltException nvae =
				new NoViableAltException("", 447, 0, input);
			dbg.recognitionException(nvae);
			throw nvae;
		}

		} finally {dbg.exitDecision(447);}

		switch (alt447) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:10: SASS_MIXIN
				{
				dbg.location(488,10);
				match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_synpred16_Css31406); if (state.failed) return;
				}
				break;
			case 2 :
				dbg.enterAlt(2);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:23: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE )
				{
				dbg.location(488,23);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:23: ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:24: ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE
				{
				dbg.location(488,24);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:24: ( ( DOT IDENT ) | HASH )
				int alt443=2;
				try { dbg.enterSubRule(443);
				try { dbg.enterDecision(443, decisionCanBacktrack[443]);

				int LA443_0 = input.LA(1);
				if ( (LA443_0==DOT) ) {
					alt443=1;
				}
				else if ( (LA443_0==HASH) ) {
					alt443=2;
				}

				else {
					if (state.backtracking>0) {state.failed=true; return;}
					NoViableAltException nvae =
						new NoViableAltException("", 443, 0, input);
					dbg.recognitionException(nvae);
					throw nvae;
				}

				} finally {dbg.exitDecision(443);}

				switch (alt443) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:25: ( DOT IDENT )
						{
						dbg.location(488,25);
						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:25: ( DOT IDENT )
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:26: DOT IDENT
						{
						dbg.location(488,26);
						match(input,DOT,FOLLOW_DOT_in_synpred16_Css31413); if (state.failed) return;dbg.location(488,30);
						match(input,IDENT,FOLLOW_IDENT_in_synpred16_Css31415); if (state.failed) return;
						}

						}
						break;
					case 2 :
						dbg.enterAlt(2);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:39: HASH
						{
						dbg.location(488,39);
						match(input,HASH,FOLLOW_HASH_in_synpred16_Css31420); if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(443);}
				dbg.location(488,45);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:45: ( ws )?
				int alt444=2;
				try { dbg.enterSubRule(444);
				try { dbg.enterDecision(444, decisionCanBacktrack[444]);

				int LA444_0 = input.LA(1);
				if ( (LA444_0==COMMENT||LA444_0==NL||LA444_0==WS) ) {
					alt444=1;
				}
				} finally {dbg.exitDecision(444);}

				switch (alt444) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:45: ws
						{
						dbg.location(488,45);
						pushFollow(FOLLOW_ws_in_synpred16_Css31423);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(444);}
				dbg.location(488,49);
				match(input,LPAREN,FOLLOW_LPAREN_in_synpred16_Css31426); if (state.failed) return;dbg.location(488,56);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:56: (~ RPAREN )*
				try { dbg.enterSubRule(445);

				loop445:
				while (true) {
					int alt445=2;
					try { dbg.enterDecision(445, decisionCanBacktrack[445]);

					int LA445_0 = input.LA(1);
					if ( ((LA445_0 >= A && LA445_0 <= RIGHTTOP_SYM)||(LA445_0 >= S && LA445_0 <= Z)) ) {
						alt445=1;
					}

					} finally {dbg.exitDecision(445);}

					switch (alt445) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
						{
						dbg.location(488,56);
						if ( (input.LA(1) >= A && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= S && input.LA(1) <= Z) ) {
							input.consume();
							state.errorRecovery=false;
							state.failed=false;
						}
						else {
							if (state.backtracking>0) {state.failed=true; return;}
							MismatchedSetException mse = new MismatchedSetException(null,input);
							dbg.recognitionException(mse);
							throw mse;
						}
						}
						break;

					default :
						break loop445;
					}
				}
				} finally {dbg.exitSubRule(445);}
				dbg.location(488,67);
				match(input,RPAREN,FOLLOW_RPAREN_in_synpred16_Css31434); if (state.failed) return;dbg.location(488,74);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:74: (~ ( LBRACE | RBRACE | SEMI ) )*
				try { dbg.enterSubRule(446);

				loop446:
				while (true) {
					int alt446=2;
					try { dbg.enterDecision(446, decisionCanBacktrack[446]);

					int LA446_0 = input.LA(1);
					if ( ((LA446_0 >= A && LA446_0 <= L)||(LA446_0 >= LBRACKET && LA446_0 <= R)||(LA446_0 >= RBRACKET && LA446_0 <= SASS_WHILE)||(LA446_0 >= SOLIDUS && LA446_0 <= Z)) ) {
						alt446=1;
					}

					} finally {dbg.exitDecision(446);}

					switch (alt446) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
						{
						dbg.location(488,74);
						if ( (input.LA(1) >= A && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) {
							input.consume();
							state.errorRecovery=false;
							state.failed=false;
						}
						else {
							if (state.backtracking>0) {state.failed=true; return;}
							MismatchedSetException mse = new MismatchedSetException(null,input);
							dbg.recognitionException(mse);
							throw mse;
						}
						}
						break;

					default :
						break loop446;
					}
				}
				} finally {dbg.exitSubRule(446);}
				dbg.location(488,97);
				match(input,LBRACE,FOLLOW_LBRACE_in_synpred16_Css31446); if (state.failed) return;
				}

				}
				break;

		}
	}
	// $ANTLR end synpred16_Css3

	// $ANTLR start synpred17_Css3
	public final void synpred17_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:11: ( cp_mixin_call ( ws )? SEMI )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:12: cp_mixin_call ( ws )? SEMI
		{
		dbg.location(490,12);
		pushFollow(FOLLOW_cp_mixin_call_in_synpred17_Css31472);
		cp_mixin_call();
		state._fsp--;
		if (state.failed) return;dbg.location(490,26);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:26: ( ws )?
		int alt448=2;
		try { dbg.enterSubRule(448);
		try { dbg.enterDecision(448, decisionCanBacktrack[448]);

		int LA448_0 = input.LA(1);
		if ( (LA448_0==COMMENT||LA448_0==NL||LA448_0==WS) ) {
			alt448=1;
		}
		} finally {dbg.exitDecision(448);}

		switch (alt448) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:26: ws
				{
				dbg.location(490,26);
				pushFollow(FOLLOW_ws_in_synpred17_Css31474);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(448);}
		dbg.location(490,30);
		match(input,SEMI,FOLLOW_SEMI_in_synpred17_Css31477); if (state.failed) return;
		}

	}
	// $ANTLR end synpred17_Css3

	// $ANTLR start synpred18_Css3
	public final void synpred18_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:11: ( cp_mixin_call )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:491:12: cp_mixin_call
		{
		dbg.location(491,12);
		pushFollow(FOLLOW_cp_mixin_call_in_synpred18_Css31496);
		cp_mixin_call();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred18_Css3

	// $ANTLR start synpred19_Css3
	public final void synpred19_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:11: ( cp_variable ( ws )? COLON )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:12: cp_variable ( ws )? COLON
		{
		dbg.location(493,12);
		pushFollow(FOLLOW_cp_variable_in_synpred19_Css31524);
		cp_variable();
		state._fsp--;
		if (state.failed) return;dbg.location(493,24);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:24: ( ws )?
		int alt449=2;
		try { dbg.enterSubRule(449);
		try { dbg.enterDecision(449, decisionCanBacktrack[449]);

		int LA449_0 = input.LA(1);
		if ( (LA449_0==COMMENT||LA449_0==NL||LA449_0==WS) ) {
			alt449=1;
		}
		} finally {dbg.exitDecision(449);}

		switch (alt449) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:24: ws
				{
				dbg.location(493,24);
				pushFollow(FOLLOW_ws_in_synpred19_Css31526);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(449);}
		dbg.location(493,28);
		match(input,COLON,FOLLOW_COLON_in_synpred19_Css31529); if (state.failed) return;
		}

	}
	// $ANTLR end synpred19_Css3

	// $ANTLR start synpred20_Css3
	public final void synpred20_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:494:11: ( sass_map )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:494:12: sass_map
		{
		dbg.location(494,12);
		pushFollow(FOLLOW_sass_map_in_synpred20_Css31546);
		sass_map();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred20_Css3

	// $ANTLR start synpred21_Css3
	public final void synpred21_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:27: ( ( ws )? COMMA )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:28: ( ws )? COMMA
		{
		dbg.location(658,28);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:28: ( ws )?
		int alt450=2;
		try { dbg.enterSubRule(450);
		try { dbg.enterDecision(450, decisionCanBacktrack[450]);

		int LA450_0 = input.LA(1);
		if ( (LA450_0==COMMENT||LA450_0==NL||LA450_0==WS) ) {
			alt450=1;
		}
		} finally {dbg.exitDecision(450);}

		switch (alt450) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:658:28: ws
				{
				dbg.location(658,28);
				pushFollow(FOLLOW_ws_in_synpred21_Css32757);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(450);}
		dbg.location(658,32);
		match(input,COMMA,FOLLOW_COMMA_in_synpred21_Css32760); if (state.failed) return;
		}

	}
	// $ANTLR end synpred21_Css3

	// $ANTLR start synpred22_Css3
	public final void synpred22_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:41: ( function )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:666:42: function
		{
		dbg.location(666,42);
		pushFollow(FOLLOW_function_in_synpred22_Css32851);
		function();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred22_Css3

	// $ANTLR start synpred23_Css3
	public final void synpred23_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:694:5: ( cp_variable_declaration )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:694:6: cp_variable_declaration
		{
		dbg.location(694,6);
		pushFollow(FOLLOW_cp_variable_declaration_in_synpred23_Css33151);
		cp_variable_declaration();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred23_Css3

	// $ANTLR start synpred24_Css3
	public final void synpred24_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:695:7: ( sass_map )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:695:8: sass_map
		{
		dbg.location(695,8);
		pushFollow(FOLLOW_sass_map_in_synpred24_Css33163);
		sass_map();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred24_Css3

	// $ANTLR start synpred25_Css3
	public final void synpred25_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:696:7: ( sass_nested_properties )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:696:8: sass_nested_properties
		{
		dbg.location(696,8);
		pushFollow(FOLLOW_sass_nested_properties_in_synpred25_Css33176);
		sass_nested_properties();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred25_Css3

	// $ANTLR start synpred26_Css3
	public final void synpred26_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE
		{
		dbg.location(697,8);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )
		int alt456=3;
		try { dbg.enterSubRule(456);
		try { dbg.enterDecision(456, decisionCanBacktrack[456]);

		try {
			isCyclicDecision = true;
			alt456 = dfa456.predict(input);
		}
		catch (NoViableAltException nvae) {
			dbg.recognitionException(nvae);
			throw nvae;
		}
		} finally {dbg.exitDecision(456);}

		switch (alt456) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
				{
				dbg.location(697,9);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:9: ( SASS_AT_ROOT ( ws selectorsGroup )? )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:10: SASS_AT_ROOT ( ws selectorsGroup )?
				{
				dbg.location(697,10);
				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred26_Css33190); if (state.failed) return;dbg.location(697,23);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:23: ( ws selectorsGroup )?
				int alt451=2;
				try { dbg.enterSubRule(451);
				try { dbg.enterDecision(451, decisionCanBacktrack[451]);

				try {
					isCyclicDecision = true;
					alt451 = dfa451.predict(input);
				}
				catch (NoViableAltException nvae) {
					dbg.recognitionException(nvae);
					throw nvae;
				}
				} finally {dbg.exitDecision(451);}

				switch (alt451) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:24: ws selectorsGroup
						{
						dbg.location(697,24);
						pushFollow(FOLLOW_ws_in_synpred26_Css33193);
						ws();
						state._fsp--;
						if (state.failed) return;dbg.location(697,27);
						pushFollow(FOLLOW_selectorsGroup_in_synpred26_Css33195);
						selectorsGroup();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(451);}

				}

				}
				break;
			case 2 :
				dbg.enterAlt(2);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
				{
				dbg.location(697,48);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN
				{
				dbg.location(697,49);
				match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred26_Css33204); if (state.failed) return;dbg.location(697,62);
				pushFollow(FOLLOW_ws_in_synpred26_Css33206);
				ws();
				state._fsp--;
				if (state.failed) return;dbg.location(697,65);
				match(input,LPAREN,FOLLOW_LPAREN_in_synpred26_Css33208); if (state.failed) return;dbg.location(697,72);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:72: ( ws )?
				int alt452=2;
				try { dbg.enterSubRule(452);
				try { dbg.enterDecision(452, decisionCanBacktrack[452]);

				int LA452_0 = input.LA(1);
				if ( (LA452_0==COMMENT||LA452_0==NL||LA452_0==WS) ) {
					alt452=1;
				}
				} finally {dbg.exitDecision(452);}

				switch (alt452) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:72: ws
						{
						dbg.location(697,72);
						pushFollow(FOLLOW_ws_in_synpred26_Css33210);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(452);}
				dbg.location(697,76);
				match(input,IDENT,FOLLOW_IDENT_in_synpred26_Css33213); if (state.failed) return;dbg.location(697,82);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:82: ( ws )?
				int alt453=2;
				try { dbg.enterSubRule(453);
				try { dbg.enterDecision(453, decisionCanBacktrack[453]);

				int LA453_0 = input.LA(1);
				if ( (LA453_0==COMMENT||LA453_0==NL||LA453_0==WS) ) {
					alt453=1;
				}
				} finally {dbg.exitDecision(453);}

				switch (alt453) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:82: ws
						{
						dbg.location(697,82);
						pushFollow(FOLLOW_ws_in_synpred26_Css33215);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(453);}
				dbg.location(697,86);
				match(input,COLON,FOLLOW_COLON_in_synpred26_Css33218); if (state.failed) return;dbg.location(697,92);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:92: ( ws )?
				int alt454=2;
				try { dbg.enterSubRule(454);
				try { dbg.enterDecision(454, decisionCanBacktrack[454]);

				int LA454_0 = input.LA(1);
				if ( (LA454_0==COMMENT||LA454_0==NL||LA454_0==WS) ) {
					alt454=1;
				}
				} finally {dbg.exitDecision(454);}

				switch (alt454) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:92: ws
						{
						dbg.location(697,92);
						pushFollow(FOLLOW_ws_in_synpred26_Css33220);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(454);}
				dbg.location(697,96);
				match(input,IDENT,FOLLOW_IDENT_in_synpred26_Css33223); if (state.failed) return;dbg.location(697,102);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:102: ( ws )?
				int alt455=2;
				try { dbg.enterSubRule(455);
				try { dbg.enterDecision(455, decisionCanBacktrack[455]);

				int LA455_0 = input.LA(1);
				if ( (LA455_0==COMMENT||LA455_0==NL||LA455_0==WS) ) {
					alt455=1;
				}
				} finally {dbg.exitDecision(455);}

				switch (alt455) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:102: ws
						{
						dbg.location(697,102);
						pushFollow(FOLLOW_ws_in_synpred26_Css33225);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(455);}
				dbg.location(697,106);
				match(input,RPAREN,FOLLOW_RPAREN_in_synpred26_Css33228); if (state.failed) return;
				}

				}
				break;
			case 3 :
				dbg.enterAlt(3);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:116: selectorsGroup
				{
				dbg.location(697,116);
				pushFollow(FOLLOW_selectorsGroup_in_synpred26_Css33233);
				selectorsGroup();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(456);}
		dbg.location(697,132);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:132: ( ws )?
		int alt457=2;
		try { dbg.enterSubRule(457);
		try { dbg.enterDecision(457, decisionCanBacktrack[457]);

		int LA457_0 = input.LA(1);
		if ( (LA457_0==COMMENT||LA457_0==NL||LA457_0==WS) ) {
			alt457=1;
		}
		} finally {dbg.exitDecision(457);}

		switch (alt457) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:697:132: ws
				{
				dbg.location(697,132);
				pushFollow(FOLLOW_ws_in_synpred26_Css33236);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(457);}
		dbg.location(697,136);
		match(input,LBRACE,FOLLOW_LBRACE_in_synpred26_Css33239); if (state.failed) return;
		}

	}
	// $ANTLR end synpred26_Css3

	// $ANTLR start synpred27_Css3
	public final void synpred27_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:698:7: ( propertyDeclaration )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:698:8: propertyDeclaration
		{
		dbg.location(698,8);
		pushFollow(FOLLOW_propertyDeclaration_in_synpred27_Css33251);
		propertyDeclaration();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred27_Css3

	// $ANTLR start synpred28_Css3
	public final void synpred28_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:700:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:700:8: property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI )
		{
		dbg.location(700,8);
		pushFollow(FOLLOW_property_in_synpred28_Css33268);
		property();
		state._fsp--;
		if (state.failed) return;dbg.location(700,17);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:700:17: ( ws )?
		int alt458=2;
		try { dbg.enterSubRule(458);
		try { dbg.enterDecision(458, decisionCanBacktrack[458]);

		int LA458_0 = input.LA(1);
		if ( (LA458_0==COMMENT||LA458_0==NL||LA458_0==WS) ) {
			alt458=1;
		}
		} finally {dbg.exitDecision(458);}

		switch (alt458) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:700:17: ws
				{
				dbg.location(700,17);
				pushFollow(FOLLOW_ws_in_synpred28_Css33270);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(458);}
		dbg.location(700,21);
		match(input,COLON,FOLLOW_COLON_in_synpred28_Css33273); if (state.failed) return;dbg.location(700,27);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:700:27: (~ ( LBRACE | SEMI | RBRACE ) )*
		try { dbg.enterSubRule(459);

		loop459:
		while (true) {
			int alt459=2;
			try { dbg.enterDecision(459, decisionCanBacktrack[459]);

			int LA459_0 = input.LA(1);
			if ( ((LA459_0 >= A && LA459_0 <= L)||(LA459_0 >= LBRACKET && LA459_0 <= R)||(LA459_0 >= RBRACKET && LA459_0 <= SASS_WHILE)||(LA459_0 >= SOLIDUS && LA459_0 <= Z)) ) {
				alt459=1;
			}

			} finally {dbg.exitDecision(459);}

			switch (alt459) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
				{
				dbg.location(700,27);
				if ( (input.LA(1) >= A && input.LA(1) <= L)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) {
					input.consume();
					state.errorRecovery=false;
					state.failed=false;
				}
				else {
					if (state.backtracking>0) {state.failed=true; return;}
					MismatchedSetException mse = new MismatchedSetException(null,input);
					dbg.recognitionException(mse);
					throw mse;
				}
				}
				break;

			default :
				break loop459;
			}
		}
		} finally {dbg.exitSubRule(459);}
		dbg.location(700,50);
		if ( input.LA(1)==RBRACE||input.LA(1)==SEMI ) {
			input.consume();
			state.errorRecovery=false;
			state.failed=false;
		}
		else {
			if (state.backtracking>0) {state.failed=true; return;}
			MismatchedSetException mse = new MismatchedSetException(null,input);
			dbg.recognitionException(mse);
			throw mse;
		}
		}

	}
	// $ANTLR end synpred28_Css3

	// $ANTLR start synpred29_Css3
	public final void synpred29_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:701:7: ( cp_mixin_declaration )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:701:8: cp_mixin_declaration
		{
		dbg.location(701,8);
		pushFollow(FOLLOW_cp_mixin_declaration_in_synpred29_Css33302);
		cp_mixin_declaration();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred29_Css3

	// $ANTLR start synpred30_Css3
	public final void synpred30_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:7: ( cp_mixin_call )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:702:8: cp_mixin_call
		{
		dbg.location(702,8);
		pushFollow(FOLLOW_cp_mixin_call_in_synpred30_Css33314);
		cp_mixin_call();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred30_Css3

	// $ANTLR start synpred31_Css3
	public final void synpred31_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:7: ( cp_mixin_call )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:703:8: cp_mixin_call
		{
		dbg.location(703,8);
		pushFollow(FOLLOW_cp_mixin_call_in_synpred31_Css33335);
		cp_mixin_call();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred31_Css3

	// $ANTLR start synpred32_Css3
	public final void synpred32_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:65: ( ( ws )? esPred )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:66: ( ws )? esPred
		{
		dbg.location(737,66);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:66: ( ws )?
		int alt460=2;
		try { dbg.enterSubRule(460);
		try { dbg.enterDecision(460, decisionCanBacktrack[460]);

		int LA460_0 = input.LA(1);
		if ( (LA460_0==COMMENT||LA460_0==NL||LA460_0==WS) ) {
			alt460=1;
		}
		} finally {dbg.exitDecision(460);}

		switch (alt460) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:66: ws
				{
				dbg.location(737,66);
				pushFollow(FOLLOW_ws_in_synpred32_Css33633);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(460);}
		dbg.location(737,70);
		pushFollow(FOLLOW_esPred_in_synpred32_Css33636);
		esPred();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred32_Css3

	// $ANTLR start synpred33_Css3
	public final void synpred33_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:4: ( typeSelector )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:5: typeSelector
		{
		dbg.location(738,5);
		pushFollow(FOLLOW_typeSelector_in_synpred33_Css33671);
		typeSelector();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred33_Css3

	// $ANTLR start synpred34_Css3
	public final void synpred34_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:34: ( ( ws )? esPred )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:35: ( ws )? esPred
		{
		dbg.location(738,35);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:35: ( ws )?
		int alt461=2;
		try { dbg.enterSubRule(461);
		try { dbg.enterDecision(461, decisionCanBacktrack[461]);

		int LA461_0 = input.LA(1);
		if ( (LA461_0==COMMENT||LA461_0==NL||LA461_0==WS) ) {
			alt461=1;
		}
		} finally {dbg.exitDecision(461);}

		switch (alt461) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:35: ws
				{
				dbg.location(738,35);
				pushFollow(FOLLOW_ws_in_synpred34_Css33678);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(461);}
		dbg.location(738,39);
		pushFollow(FOLLOW_esPred_in_synpred34_Css33681);
		esPred();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred34_Css3

	// $ANTLR start synpred35_Css3
	public final void synpred35_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:7: ( ( IDENT | STAR )? PIPE )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:8: ( IDENT | STAR )? PIPE
		{
		dbg.location(752,8);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:8: ( IDENT | STAR )?
		int alt462=2;
		try { dbg.enterSubRule(462);
		try { dbg.enterDecision(462, decisionCanBacktrack[462]);

		int LA462_0 = input.LA(1);
		if ( (LA462_0==IDENT||LA462_0==STAR) ) {
			alt462=1;
		}
		} finally {dbg.exitDecision(462);}

		switch (alt462) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:
				{
				dbg.location(752,8);
				if ( input.LA(1)==IDENT||input.LA(1)==STAR ) {
					input.consume();
					state.errorRecovery=false;
					state.failed=false;
				}
				else {
					if (state.backtracking>0) {state.failed=true; return;}
					MismatchedSetException mse = new MismatchedSetException(null,input);
					dbg.recognitionException(mse);
					throw mse;
				}
				}
				break;

		}
		} finally {dbg.exitSubRule(462);}
		dbg.location(752,24);
		match(input,PIPE,FOLLOW_PIPE_in_synpred35_Css33792); if (state.failed) return;
		}

	}
	// $ANTLR end synpred35_Css3

	// $ANTLR start synpred36_Css3
	public final void synpred36_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:15: ( ws | ( ( ws )? operator ( ws )? ) |) term
		{
		dbg.location(935,15);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:15: ( ws | ( ( ws )? operator ( ws )? ) |)
		int alt465=3;
		try { dbg.enterSubRule(465);
		try { dbg.enterDecision(465, decisionCanBacktrack[465]);

		try {
			isCyclicDecision = true;
			alt465 = dfa465.predict(input);
		}
		catch (NoViableAltException nvae) {
			dbg.recognitionException(nvae);
			throw nvae;
		}
		} finally {dbg.exitDecision(465);}

		switch (alt465) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:17: ws
				{
				dbg.location(935,17);
				pushFollow(FOLLOW_ws_in_synpred36_Css35340);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;
			case 2 :
				dbg.enterAlt(2);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:22: ( ( ws )? operator ( ws )? )
				{
				dbg.location(935,22);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:22: ( ( ws )? operator ( ws )? )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:23: ( ws )? operator ( ws )?
				{
				dbg.location(935,23);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:23: ( ws )?
				int alt463=2;
				try { dbg.enterSubRule(463);
				try { dbg.enterDecision(463, decisionCanBacktrack[463]);

				int LA463_0 = input.LA(1);
				if ( (LA463_0==COMMENT||LA463_0==NL||LA463_0==WS) ) {
					alt463=1;
				}
				} finally {dbg.exitDecision(463);}

				switch (alt463) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:23: ws
						{
						dbg.location(935,23);
						pushFollow(FOLLOW_ws_in_synpred36_Css35345);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(463);}
				dbg.location(935,27);
				pushFollow(FOLLOW_operator_in_synpred36_Css35348);
				operator();
				state._fsp--;
				if (state.failed) return;dbg.location(935,36);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:36: ( ws )?
				int alt464=2;
				try { dbg.enterSubRule(464);
				try { dbg.enterDecision(464, decisionCanBacktrack[464]);

				int LA464_0 = input.LA(1);
				if ( (LA464_0==COMMENT||LA464_0==NL||LA464_0==WS) ) {
					alt464=1;
				}
				} finally {dbg.exitDecision(464);}

				switch (alt464) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:36: ws
						{
						dbg.location(935,36);
						pushFollow(FOLLOW_ws_in_synpred36_Css35350);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(464);}

				}

				}
				break;
			case 3 :
				dbg.enterAlt(3);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:56: 
				{
				}
				break;

		}
		} finally {dbg.exitSubRule(465);}
		dbg.location(935,58);
		pushFollow(FOLLOW_term_in_synpred36_Css35359);
		term();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred36_Css3

	// $ANTLR start synpred37_Css3
	public final void synpred37_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:9: ( functionName ( ws )? LPAREN )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:10: functionName ( ws )? LPAREN
		{
		dbg.location(942,10);
		pushFollow(FOLLOW_functionName_in_synpred37_Css35432);
		functionName();
		state._fsp--;
		if (state.failed) return;dbg.location(942,23);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:23: ( ws )?
		int alt466=2;
		try { dbg.enterSubRule(466);
		try { dbg.enterDecision(466, decisionCanBacktrack[466]);

		int LA466_0 = input.LA(1);
		if ( (LA466_0==COMMENT||LA466_0==NL||LA466_0==WS) ) {
			alt466=1;
		}
		} finally {dbg.exitDecision(466);}

		switch (alt466) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:23: ws
				{
				dbg.location(942,23);
				pushFollow(FOLLOW_ws_in_synpred37_Css35434);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(466);}
		dbg.location(942,27);
		match(input,LPAREN,FOLLOW_LPAREN_in_synpred37_Css35437); if (state.failed) return;
		}

	}
	// $ANTLR end synpred37_Css3

	// $ANTLR start synpred38_Css3
	public final void synpred38_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:10: fnAttributeName ( ws )? ( OPEQ | COLON )
		{
		dbg.location(1005,10);
		pushFollow(FOLLOW_fnAttributeName_in_synpred38_Css35990);
		fnAttributeName();
		state._fsp--;
		if (state.failed) return;dbg.location(1005,26);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:26: ( ws )?
		int alt467=2;
		try { dbg.enterSubRule(467);
		try { dbg.enterDecision(467, decisionCanBacktrack[467]);

		int LA467_0 = input.LA(1);
		if ( (LA467_0==COMMENT||LA467_0==NL||LA467_0==WS) ) {
			alt467=1;
		}
		} finally {dbg.exitDecision(467);}

		switch (alt467) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:26: ws
				{
				dbg.location(1005,26);
				pushFollow(FOLLOW_ws_in_synpred38_Css35992);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(467);}
		dbg.location(1005,30);
		if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) {
			input.consume();
			state.errorRecovery=false;
			state.failed=false;
		}
		else {
			if (state.backtracking>0) {state.failed=true; return;}
			MismatchedSetException mse = new MismatchedSetException(null,input);
			dbg.recognitionException(mse);
			throw mse;
		}
		}

	}
	// $ANTLR end synpred38_Css3

	// $ANTLR start synpred39_Css3
	public final void synpred39_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:11: ( cp_expression )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:12: cp_expression
		{
		dbg.location(1006,12);
		pushFollow(FOLLOW_cp_expression_in_synpred39_Css36030);
		cp_expression();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred39_Css3

	// $ANTLR start synpred40_Css3
	public final void synpred40_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term
		{
		dbg.location(1018,21);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)
		int alt470=3;
		try { dbg.enterSubRule(470);
		try { dbg.enterDecision(470, decisionCanBacktrack[470]);

		try {
			isCyclicDecision = true;
			alt470 = dfa470.predict(input);
		}
		catch (NoViableAltException nvae) {
			dbg.recognitionException(nvae);
			throw nvae;
		}
		} finally {dbg.exitDecision(470);}

		switch (alt470) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:23: ws
				{
				dbg.location(1018,23);
				pushFollow(FOLLOW_ws_in_synpred40_Css36124);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;
			case 2 :
				dbg.enterAlt(2);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:28: ( ( ws )? SOLIDUS ( ws )? )
				{
				dbg.location(1018,28);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:28: ( ( ws )? SOLIDUS ( ws )? )
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:29: ( ws )? SOLIDUS ( ws )?
				{
				dbg.location(1018,29);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:29: ( ws )?
				int alt468=2;
				try { dbg.enterSubRule(468);
				try { dbg.enterDecision(468, decisionCanBacktrack[468]);

				int LA468_0 = input.LA(1);
				if ( (LA468_0==COMMENT||LA468_0==NL||LA468_0==WS) ) {
					alt468=1;
				}
				} finally {dbg.exitDecision(468);}

				switch (alt468) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:29: ws
						{
						dbg.location(1018,29);
						pushFollow(FOLLOW_ws_in_synpred40_Css36129);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(468);}
				dbg.location(1018,33);
				match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred40_Css36132); if (state.failed) return;dbg.location(1018,41);
				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:41: ( ws )?
				int alt469=2;
				try { dbg.enterSubRule(469);
				try { dbg.enterDecision(469, decisionCanBacktrack[469]);

				int LA469_0 = input.LA(1);
				if ( (LA469_0==COMMENT||LA469_0==NL||LA469_0==WS) ) {
					alt469=1;
				}
				} finally {dbg.exitDecision(469);}

				switch (alt469) {
					case 1 :
						dbg.enterAlt(1);

						// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:41: ws
						{
						dbg.location(1018,41);
						pushFollow(FOLLOW_ws_in_synpred40_Css36134);
						ws();
						state._fsp--;
						if (state.failed) return;
						}
						break;

				}
				} finally {dbg.exitSubRule(469);}

				}

				}
				break;
			case 3 :
				dbg.enterAlt(3);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:61: 
				{
				}
				break;

		}
		} finally {dbg.exitSubRule(470);}
		dbg.location(1018,63);
		pushFollow(FOLLOW_term_in_synpred40_Css36143);
		term();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred40_Css3

	// $ANTLR start synpred42_Css3
	public final void synpred42_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:6: ( ( ws )? COMMA ( ws )? cp_expression )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:7: ( ws )? COMMA ( ws )? cp_expression
		{
		dbg.location(1053,7);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:7: ( ws )?
		int alt471=2;
		try { dbg.enterSubRule(471);
		try { dbg.enterDecision(471, decisionCanBacktrack[471]);

		int LA471_0 = input.LA(1);
		if ( (LA471_0==COMMENT||LA471_0==NL||LA471_0==WS) ) {
			alt471=1;
		}
		} finally {dbg.exitDecision(471);}

		switch (alt471) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:7: ws
				{
				dbg.location(1053,7);
				pushFollow(FOLLOW_ws_in_synpred42_Css36583);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(471);}
		dbg.location(1053,11);
		match(input,COMMA,FOLLOW_COMMA_in_synpred42_Css36586); if (state.failed) return;dbg.location(1053,17);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:17: ( ws )?
		int alt472=2;
		try { dbg.enterSubRule(472);
		try { dbg.enterDecision(472, decisionCanBacktrack[472]);

		int LA472_0 = input.LA(1);
		if ( (LA472_0==COMMENT||LA472_0==NL||LA472_0==WS) ) {
			alt472=1;
		}
		} finally {dbg.exitDecision(472);}

		switch (alt472) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:17: ws
				{
				dbg.location(1053,17);
				pushFollow(FOLLOW_ws_in_synpred42_Css36588);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(472);}
		dbg.location(1053,21);
		pushFollow(FOLLOW_cp_expression_in_synpred42_Css36591);
		cp_expression();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred42_Css3

	// $ANTLR start synpred43_Css3
	public final void synpred43_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:7: ( cp_expression_atom )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1069:8: cp_expression_atom
		{
		dbg.location(1069,8);
		pushFollow(FOLLOW_cp_expression_atom_in_synpred43_Css36658);
		cp_expression_atom();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred43_Css3

	// $ANTLR start synpred44_Css3
	public final void synpred44_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:9: ( ( ws )? cp_expression_operator )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:10: ( ws )? cp_expression_operator
		{
		dbg.location(1071,10);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:10: ( ws )?
		int alt473=2;
		try { dbg.enterSubRule(473);
		try { dbg.enterDecision(473, decisionCanBacktrack[473]);

		int LA473_0 = input.LA(1);
		if ( (LA473_0==COMMENT||LA473_0==NL||LA473_0==WS) ) {
			alt473=1;
		}
		} finally {dbg.exitDecision(473);}

		switch (alt473) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1071:10: ws
				{
				dbg.location(1071,10);
				pushFollow(FOLLOW_ws_in_synpred44_Css36681);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(473);}
		dbg.location(1071,14);
		pushFollow(FOLLOW_cp_expression_operator_in_synpred44_Css36684);
		cp_expression_operator();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred44_Css3

	// $ANTLR start synpred45_Css3
	public final void synpred45_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:11: ( ( ws )? cp_expression_atom )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:12: ( ws )? cp_expression_atom
		{
		dbg.location(1072,12);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:12: ( ws )?
		int alt474=2;
		try { dbg.enterSubRule(474);
		try { dbg.enterDecision(474, decisionCanBacktrack[474]);

		int LA474_0 = input.LA(1);
		if ( (LA474_0==COMMENT||LA474_0==NL||LA474_0==WS) ) {
			alt474=1;
		}
		} finally {dbg.exitDecision(474);}

		switch (alt474) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1072:12: ws
				{
				dbg.location(1072,12);
				pushFollow(FOLLOW_ws_in_synpred45_Css36710);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(474);}
		dbg.location(1072,16);
		pushFollow(FOLLOW_cp_expression_atom_in_synpred45_Css36713);
		cp_expression_atom();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred45_Css3

	// $ANTLR start synpred46_Css3
	public final void synpred46_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1086:13: ( cp_math_expression )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1086:14: cp_math_expression
		{
		dbg.location(1086,14);
		pushFollow(FOLLOW_cp_math_expression_in_synpred46_Css36853);
		cp_math_expression();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred46_Css3

	// $ANTLR start synpred47_Css3
	public final void synpred47_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:14: ( ws )? ( PLUS | MINUS | STAR | SOLIDUS )
		{
		dbg.location(1113,14);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:14: ( ws )?
		int alt475=2;
		try { dbg.enterSubRule(475);
		try { dbg.enterDecision(475, decisionCanBacktrack[475]);

		int LA475_0 = input.LA(1);
		if ( (LA475_0==COMMENT||LA475_0==NL||LA475_0==WS) ) {
			alt475=1;
		}
		} finally {dbg.exitDecision(475);}

		switch (alt475) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1113:14: ws
				{
				dbg.location(1113,14);
				pushFollow(FOLLOW_ws_in_synpred47_Css36986);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(475);}
		dbg.location(1113,18);
		if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) {
			input.consume();
			state.errorRecovery=false;
			state.failed=false;
		}
		else {
			if (state.backtracking>0) {state.failed=true; return;}
			MismatchedSetException mse = new MismatchedSetException(null,input);
			dbg.recognitionException(mse);
			throw mse;
		}
		}

	}
	// $ANTLR end synpred47_Css3

	// $ANTLR start synpred48_Css3
	public final void synpred48_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:77: ( ( ws )? combinator ( ws )? )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:78: ( ws )? combinator ( ws )?
		{
		dbg.location(1145,78);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:78: ( ws )?
		int alt476=2;
		try { dbg.enterSubRule(476);
		try { dbg.enterDecision(476, decisionCanBacktrack[476]);

		int LA476_0 = input.LA(1);
		if ( (LA476_0==COMMENT||LA476_0==NL||LA476_0==WS) ) {
			alt476=1;
		}
		} finally {dbg.exitDecision(476);}

		switch (alt476) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:78: ws
				{
				dbg.location(1145,78);
				pushFollow(FOLLOW_ws_in_synpred48_Css37278);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(476);}
		dbg.location(1145,82);
		pushFollow(FOLLOW_combinator_in_synpred48_Css37281);
		combinator();
		state._fsp--;
		if (state.failed) return;dbg.location(1145,93);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:93: ( ws )?
		int alt477=2;
		try { dbg.enterSubRule(477);
		try { dbg.enterDecision(477, decisionCanBacktrack[477]);

		int LA477_0 = input.LA(1);
		if ( (LA477_0==COMMENT||LA477_0==NL||LA477_0==WS) ) {
			alt477=1;
		}
		} finally {dbg.exitDecision(477);}

		switch (alt477) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:93: ws
				{
				dbg.location(1145,93);
				pushFollow(FOLLOW_ws_in_synpred48_Css37283);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(477);}

		}

	}
	// $ANTLR end synpred48_Css3

	// $ANTLR start synpred49_Css3
	public final void synpred49_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:172: ( pseudo )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:173: pseudo
		{
		dbg.location(1145,173);
		pushFollow(FOLLOW_pseudo_in_synpred49_Css37319);
		pseudo();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred49_Css3

	// $ANTLR start synpred50_Css3
	public final void synpred50_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:191: ( ( ws )? LPAREN )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:192: ( ws )? LPAREN
		{
		dbg.location(1145,192);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:192: ( ws )?
		int alt478=2;
		try { dbg.enterSubRule(478);
		try { dbg.enterDecision(478, decisionCanBacktrack[478]);

		int LA478_0 = input.LA(1);
		if ( (LA478_0==COMMENT||LA478_0==NL||LA478_0==WS) ) {
			alt478=1;
		}
		} finally {dbg.exitDecision(478);}

		switch (alt478) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:192: ws
				{
				dbg.location(1145,192);
				pushFollow(FOLLOW_ws_in_synpred50_Css37327);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(478);}
		dbg.location(1145,196);
		match(input,LPAREN,FOLLOW_LPAREN_in_synpred50_Css37330); if (state.failed) return;
		}

	}
	// $ANTLR end synpred50_Css3

	// $ANTLR start synpred51_Css3
	public final void synpred51_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:25: ( webkitKeyframeSelectors )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:26: webkitKeyframeSelectors
		{
		dbg.location(1154,26);
		pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred51_Css37446);
		webkitKeyframeSelectors();
		state._fsp--;
		if (state.failed) return;
		}

	}
	// $ANTLR end synpred51_Css3

	// $ANTLR start synpred52_Css3
	public final void synpred52_Css3_fragment() throws RecognitionException {
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:19: ( ( ws )? COMMA )
		dbg.enterAlt(1);

		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:20: ( ws )? COMMA
		{
		dbg.location(1332,20);
		// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:20: ( ws )?
		int alt479=2;
		try { dbg.enterSubRule(479);
		try { dbg.enterDecision(479, decisionCanBacktrack[479]);

		int LA479_0 = input.LA(1);
		if ( (LA479_0==COMMENT||LA479_0==NL||LA479_0==WS) ) {
			alt479=1;
		}
		} finally {dbg.exitDecision(479);}

		switch (alt479) {
			case 1 :
				dbg.enterAlt(1);

				// /home/mito/nb/web-main/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:20: ws
				{
				dbg.location(1332,20);
				pushFollow(FOLLOW_ws_in_synpred52_Css38678);
				ws();
				state._fsp--;
				if (state.failed) return;
				}
				break;

		}
		} finally {dbg.exitSubRule(479);}
		dbg.location(1332,24);
		match(input,COMMA,FOLLOW_COMMA_in_synpred52_Css38681); if (state.failed) return;
		}

	}
	// $ANTLR end synpred52_Css3

	// Delegated rules

	public final boolean synpred14_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred14_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred22_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred22_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred9_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred9_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred45_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred45_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred4_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred4_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred37_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred37_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred19_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred19_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred23_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred23_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred31_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred31_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred15_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred15_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred32_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred32_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred35_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred35_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred38_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred38_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred43_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred43_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred46_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred46_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred18_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred18_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred27_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred27_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred21_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred21_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred29_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred29_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred40_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred40_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred16_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred16_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred24_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred24_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred13_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred13_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred10_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred10_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred6_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred6_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred3_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred3_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred11_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred11_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred50_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred50_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred17_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred17_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred42_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred42_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred48_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred48_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred7_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred7_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred34_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred34_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred51_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred51_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred1_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred1_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred26_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred26_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred12_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred12_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred49_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred49_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred20_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred20_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred8_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred8_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred2_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred2_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred5_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred5_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred44_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred44_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred30_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred30_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred47_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred47_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred36_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred36_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred39_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred39_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred33_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred33_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred25_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred25_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred52_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred52_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}
	public final boolean synpred28_Css3() {
		state.backtracking++;
		dbg.beginBacktrack(state.backtracking);
		int start = input.mark();
		try {
			synpred28_Css3_fragment(); // can never throw exception
		} catch (RecognitionException re) {
			System.err.println("impossible: "+re);
		}
		boolean success = !state.failed;
		input.rewind(start);
		dbg.endBacktrack(state.backtracking, success);
		state.backtracking--;
		state.failed=false;
		return success;
	}


	protected DFA3 dfa3 = new DFA3(this);
	protected DFA5 dfa5 = new DFA5(this);
	protected DFA8 dfa8 = new DFA8(this);
	protected DFA32 dfa32 = new DFA32(this);
	protected DFA24 dfa24 = new DFA24(this);
	protected DFA38 dfa38 = new DFA38(this);
	protected DFA44 dfa44 = new DFA44(this);
	protected DFA46 dfa46 = new DFA46(this);
	protected DFA50 dfa50 = new DFA50(this);
	protected DFA63 dfa63 = new DFA63(this);
	protected DFA72 dfa72 = new DFA72(this);
	protected DFA105 dfa105 = new DFA105(this);
	protected DFA112 dfa112 = new DFA112(this);
	protected DFA116 dfa116 = new DFA116(this);
	protected DFA136 dfa136 = new DFA136(this);
	protected DFA138 dfa138 = new DFA138(this);
	protected DFA143 dfa143 = new DFA143(this);
	protected DFA148 dfa148 = new DFA148(this);
	protected DFA154 dfa154 = new DFA154(this);
	protected DFA149 dfa149 = new DFA149(this);
	protected DFA171 dfa171 = new DFA171(this);
	protected DFA164 dfa164 = new DFA164(this);
	protected DFA163 dfa163 = new DFA163(this);
	protected DFA168 dfa168 = new DFA168(this);
	protected DFA173 dfa173 = new DFA173(this);
	protected DFA175 dfa175 = new DFA175(this);
	protected DFA179 dfa179 = new DFA179(this);
	protected DFA187 dfa187 = new DFA187(this);
	protected DFA186 dfa186 = new DFA186(this);
	protected DFA185 dfa185 = new DFA185(this);
	protected DFA191 dfa191 = new DFA191(this);
	protected DFA194 dfa194 = new DFA194(this);
	protected DFA217 dfa217 = new DFA217(this);
	protected DFA233 dfa233 = new DFA233(this);
	protected DFA240 dfa240 = new DFA240(this);
	protected DFA239 dfa239 = new DFA239(this);
	protected DFA252 dfa252 = new DFA252(this);
	protected DFA262 dfa262 = new DFA262(this);
	protected DFA261 dfa261 = new DFA261(this);
	protected DFA271 dfa271 = new DFA271(this);
	protected DFA276 dfa276 = new DFA276(this);
	protected DFA282 dfa282 = new DFA282(this);
	protected DFA296 dfa296 = new DFA296(this);
	protected DFA301 dfa301 = new DFA301(this);
	protected DFA308 dfa308 = new DFA308(this);
	protected DFA312 dfa312 = new DFA312(this);
	protected DFA327 dfa327 = new DFA327(this);
	protected DFA329 dfa329 = new DFA329(this);
	protected DFA342 dfa342 = new DFA342(this);
	protected DFA345 dfa345 = new DFA345(this);
	protected DFA361 dfa361 = new DFA361(this);
	protected DFA388 dfa388 = new DFA388(this);
	protected DFA394 dfa394 = new DFA394(this);
	protected DFA402 dfa402 = new DFA402(this);
	protected DFA401 dfa401 = new DFA401(this);
	protected DFA405 dfa405 = new DFA405(this);
	protected DFA410 dfa410 = new DFA410(this);
	protected DFA430 dfa430 = new DFA430(this);
	protected DFA437 dfa437 = new DFA437(this);
	protected DFA432 dfa432 = new DFA432(this);
	protected DFA456 dfa456 = new DFA456(this);
	protected DFA451 dfa451 = new DFA451(this);
	protected DFA465 dfa465 = new DFA465(this);
	protected DFA470 dfa470 = new DFA470(this);
	static final String DFA3_eotS =
		"\5\uffff";
	static final String DFA3_eofS =
		"\1\2\4\uffff";
	static final String DFA3_minS =
		"\1\6\1\23\1\uffff\1\23\1\uffff";
	static final String DFA3_maxS =
		"\1\u0091\1\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA3_acceptS =
		"\2\uffff\1\2\1\uffff\1\1";
	static final String DFA3_specialS =
		"\5\uffff}>";
	static final String[] DFA3_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\1\1\1\2\3\uffff\1\2\5\uffff\3\2\7\uffff\1\2"+
			"\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff"+
			"\3\2\1\uffff\2\2\2\uffff\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\2\uffff"+
			"\1\2\1\uffff\5\2\6\uffff\1\2",
			"\1\2\1\uffff\1\3\73\uffff\1\3\60\uffff\1\4\17\uffff\1\3",
			"",
			"\1\2\1\uffff\1\3\73\uffff\1\3\60\uffff\1\4\17\uffff\1\3",
			""
	};

	static final short[] DFA3_eot = DFA.unpackEncodedString(DFA3_eotS);
	static final short[] DFA3_eof = DFA.unpackEncodedString(DFA3_eofS);
	static final char[] DFA3_min = DFA.unpackEncodedStringToUnsignedChars(DFA3_minS);
	static final char[] DFA3_max = DFA.unpackEncodedStringToUnsignedChars(DFA3_maxS);
	static final short[] DFA3_accept = DFA.unpackEncodedString(DFA3_acceptS);
	static final short[] DFA3_special = DFA.unpackEncodedString(DFA3_specialS);
	static final short[][] DFA3_transition;

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

	protected class DFA3 extends DFA {

		public DFA3(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 3;
			this.eot = DFA3_eot;
			this.eof = DFA3_eof;
			this.min = DFA3_min;
			this.max = DFA3_max;
			this.accept = DFA3_accept;
			this.special = DFA3_special;
			this.transition = DFA3_transition;
		}
		@Override
		public String getDescription() {
			return "352:6: ( charSet ( ws )? )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA5_eotS =
		"\5\uffff";
	static final String DFA5_eofS =
		"\1\2\4\uffff";
	static final String DFA5_minS =
		"\1\6\1\23\1\uffff\1\23\1\uffff";
	static final String DFA5_maxS =
		"\1\u0091\1\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA5_acceptS =
		"\2\uffff\1\2\1\uffff\1\1";
	static final String DFA5_specialS =
		"\5\uffff}>";
	static final String[] DFA5_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\2\2\3\uffff\1\2\5\uffff\3\2\7\uffff\1\2\2\uffff"+
			"\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff\1\2\6\uffff"+
			"\3\2\5\uffff\1\1\11\uffff\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff"+
			"\2\2\2\uffff\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\2\uffff\1\2\1\uffff"+
			"\5\2\6\uffff\1\2",
			"\1\2\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\12\uffff\1\4"+
			"\4\uffff\1\3",
			"",
			"\1\2\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\12\uffff\1\4"+
			"\4\uffff\1\3",
			""
	};

	static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS);
	static final short[] DFA5_eof = DFA.unpackEncodedString(DFA5_eofS);
	static final char[] DFA5_min = DFA.unpackEncodedStringToUnsignedChars(DFA5_minS);
	static final char[] DFA5_max = DFA.unpackEncodedStringToUnsignedChars(DFA5_maxS);
	static final short[] DFA5_accept = DFA.unpackEncodedString(DFA5_acceptS);
	static final short[] DFA5_special = DFA.unpackEncodedString(DFA5_specialS);
	static final short[][] DFA5_transition;

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

	protected class DFA5 extends DFA {

		public DFA5(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 5;
			this.eot = DFA5_eot;
			this.eof = DFA5_eof;
			this.min = DFA5_min;
			this.max = DFA5_max;
			this.accept = DFA5_accept;
			this.special = DFA5_special;
			this.transition = DFA5_transition;
		}
		@Override
		public String getDescription() {
			return "354:9: ( namespaces )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA8_eotS =
		"\5\uffff";
	static final String DFA8_eofS =
		"\1\1\4\uffff";
	static final String DFA8_minS =
		"\1\6\1\uffff\2\23\1\uffff";
	static final String DFA8_maxS =
		"\1\u0091\1\uffff\2\u0092\1\uffff";
	static final String DFA8_acceptS =
		"\1\uffff\1\2\2\uffff\1\1";
	static final String DFA8_specialS =
		"\5\uffff}>";
	static final String[] DFA8_transitionS = {
			"\2\1\2\uffff\5\1\3\uffff\2\1\3\uffff\1\1\5\uffff\3\1\7\uffff\1\1\2\uffff"+
			"\2\1\2\uffff\2\1\2\uffff\1\1\1\uffff\1\1\6\uffff\4\1\2\uffff\1\1\6\uffff"+
			"\3\1\5\uffff\1\2\11\uffff\1\1\2\uffff\2\1\6\uffff\3\1\2\uffff\3\1\1\uffff"+
			"\2\1\2\uffff\4\1\1\uffff\3\1\1\uffff\5\1\1\uffff\1\1\2\uffff\1\1\1\uffff"+
			"\5\1\6\uffff\1\1",
			"",
			"\1\1\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\12\uffff\1\4"+
			"\4\uffff\1\3",
			"\1\1\1\uffff\1\3\34\uffff\1\4\36\uffff\1\3\60\uffff\1\4\12\uffff\1\4"+
			"\4\uffff\1\3",
			""
	};

	static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
	static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
	static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);
	static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);
	static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);
	static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);
	static final short[][] DFA8_transition;

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

	protected class DFA8 extends DFA {

		public DFA8(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 8;
			this.eot = DFA8_eot;
			this.eof = DFA8_eof;
			this.min = DFA8_min;
			this.max = DFA8_max;
			this.accept = DFA8_accept;
			this.special = DFA8_special;
			this.transition = DFA8_transition;
		}
		@Override
		public String getDescription() {
			return "()+ loopback of 361:2: ( namespace ( ws )? )+";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA32_eotS =
		"\10\uffff";
	static final String DFA32_eofS =
		"\10\uffff";
	static final String DFA32_minS =
		"\1\64\2\25\1\0\1\uffff\1\0\2\uffff";
	static final String DFA32_maxS =
		"\1\64\2\u0092\1\0\1\uffff\1\0\2\uffff";
	static final String DFA32_acceptS =
		"\4\uffff\1\3\1\uffff\1\1\1\2";
	static final String DFA32_specialS =
		"\3\uffff\1\0\1\uffff\1\1\2\uffff}>";
	static final String[] DFA32_transitionS = {
			"\1\1",
			"\1\2\60\uffff\1\4\12\uffff\1\2\60\uffff\1\3\12\uffff\1\3\4\uffff\1\2",
			"\1\2\60\uffff\1\4\12\uffff\1\2\60\uffff\1\5\12\uffff\1\5\4\uffff\1\2",
			"\1\uffff",
			"",
			"\1\uffff",
			"",
			""
	};

	static final short[] DFA32_eot = DFA.unpackEncodedString(DFA32_eotS);
	static final short[] DFA32_eof = DFA.unpackEncodedString(DFA32_eofS);
	static final char[] DFA32_min = DFA.unpackEncodedStringToUnsignedChars(DFA32_minS);
	static final char[] DFA32_max = DFA.unpackEncodedStringToUnsignedChars(DFA32_maxS);
	static final short[] DFA32_accept = DFA.unpackEncodedString(DFA32_acceptS);
	static final short[] DFA32_special = DFA.unpackEncodedString(DFA32_specialS);
	static final short[][] DFA32_transition;

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

	protected class DFA32 extends DFA {

		public DFA32(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 32;
			this.eot = DFA32_eot;
			this.eof = DFA32_eof;
			this.min = DFA32_min;
			this.max = DFA32_max;
			this.accept = DFA32_accept;
			this.special = DFA32_special;
			this.transition = DFA32_transition;
		}
		@Override
		public String getDescription() {
			return "389:1: importItem : ( IMPORT_SYM ( ws )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? resourceIdentifier ( ( ws )? COMMA ( ws )? resourceIdentifier )* ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? |{...}? IMPORT_SYM ( ws )? ( LPAREN less_import_types RPAREN ( ws )? )? resourceIdentifier ( ( ( ws )? mediaQueryList )=> ( ws )? mediaQueryList )? );";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA32_3 = input.LA(1);
						 
						int index32_3 = input.index();
						input.rewind();
						s = -1;
						if ( (!(evalPredicate((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")),""))) ) {s = 6;}
						else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {s = 7;}
						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 4;}
						 
						input.seek(index32_3);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA32_5 = input.LA(1);
						 
						int index32_5 = input.index();
						input.rewind();
						s = -1;
						if ( (!(evalPredicate((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")),""))) ) {s = 6;}
						else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {s = 7;}
						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 4;}
						 
						input.seek(index32_5);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 32, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA24_eotS =
		"\4\uffff";
	static final String DFA24_eofS =
		"\2\2\2\uffff";
	static final String DFA24_minS =
		"\2\6\2\uffff";
	static final String DFA24_maxS =
		"\2\u0092\2\uffff";
	static final String DFA24_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA24_specialS =
		"\4\uffff}>";
	static final String[] DFA24_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\1\2\4\uffff\1\2"+
			"\2\uffff\2\2\2\uffff\1\2\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff"+
			"\4\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff"+
			"\1\2\1\1",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\1\2\4\uffff\1\2"+
			"\2\uffff\2\2\2\uffff\1\2\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff"+
			"\5\2\1\uffff\3\2\1\uffff\5\2\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff"+
			"\1\2\1\1",
			"",
			""
	};

	static final short[] DFA24_eot = DFA.unpackEncodedString(DFA24_eotS);
	static final short[] DFA24_eof = DFA.unpackEncodedString(DFA24_eofS);
	static final char[] DFA24_min = DFA.unpackEncodedStringToUnsignedChars(DFA24_minS);
	static final char[] DFA24_max = DFA.unpackEncodedStringToUnsignedChars(DFA24_maxS);
	static final short[] DFA24_accept = DFA.unpackEncodedString(DFA24_acceptS);
	static final short[] DFA24_special = DFA.unpackEncodedString(DFA24_specialS);
	static final short[][] DFA24_transition;

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

	protected class DFA24 extends DFA {

		public DFA24(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 24;
			this.eot = DFA24_eot;
			this.eof = DFA24_eof;
			this.min = DFA24_min;
			this.max = DFA24_max;
			this.accept = DFA24_accept;
			this.special = DFA24_special;
			this.transition = DFA24_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 394:61: ( ( ws )? COMMA ( ws )? resourceIdentifier )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA38_eotS =
		"\6\uffff";
	static final String DFA38_eofS =
		"\6\uffff";
	static final String DFA38_minS =
		"\2\6\1\0\1\uffff\1\0\1\uffff";
	static final String DFA38_maxS =
		"\2\u0092\1\0\1\uffff\1\0\1\uffff";
	static final String DFA38_acceptS =
		"\3\uffff\1\2\1\uffff\1\1";
	static final String DFA38_specialS =
		"\2\uffff\1\0\1\uffff\1\1\1\uffff}>";
	static final String[] DFA38_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\4\3\1\2\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\4\3\1\4\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\1\uffff",
			"",
			"\1\uffff",
			""
	};

	static final short[] DFA38_eot = DFA.unpackEncodedString(DFA38_eotS);
	static final short[] DFA38_eof = DFA.unpackEncodedString(DFA38_eofS);
	static final char[] DFA38_min = DFA.unpackEncodedStringToUnsignedChars(DFA38_minS);
	static final char[] DFA38_max = DFA.unpackEncodedStringToUnsignedChars(DFA38_maxS);
	static final short[] DFA38_accept = DFA.unpackEncodedString(DFA38_acceptS);
	static final short[] DFA38_special = DFA.unpackEncodedString(DFA38_specialS);
	static final short[][] DFA38_transition;

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

	protected class DFA38 extends DFA {

		public DFA38(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 38;
			this.eot = DFA38_eot;
			this.eof = DFA38_eof;
			this.min = DFA38_min;
			this.max = DFA38_max;
			this.accept = DFA38_accept;
			this.special = DFA38_special;
			this.transition = DFA38_transition;
		}
		@Override
		public String getDescription() {
			return "411:26: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA38_2 = input.LA(1);
						 
						int index38_2 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred4_Css3()) ) {s = 5;}
						else if ( (true) ) {s = 3;}
						 
						input.seek(index38_2);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA38_4 = input.LA(1);
						 
						int index38_4 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred4_Css3()) ) {s = 5;}
						else if ( (true) ) {s = 3;}
						 
						input.seek(index38_4);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 38, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA44_eotS =
		"\4\uffff";
	static final String DFA44_eofS =
		"\4\uffff";
	static final String DFA44_minS =
		"\2\6\2\uffff";
	static final String DFA44_maxS =
		"\2\u0092\2\uffff";
	static final String DFA44_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA44_specialS =
		"\4\uffff}>";
	static final String[] DFA44_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA44_eot = DFA.unpackEncodedString(DFA44_eotS);
	static final short[] DFA44_eof = DFA.unpackEncodedString(DFA44_eofS);
	static final char[] DFA44_min = DFA.unpackEncodedStringToUnsignedChars(DFA44_minS);
	static final char[] DFA44_max = DFA.unpackEncodedStringToUnsignedChars(DFA44_maxS);
	static final short[] DFA44_accept = DFA.unpackEncodedString(DFA44_acceptS);
	static final short[] DFA44_special = DFA.unpackEncodedString(DFA44_specialS);
	static final short[][] DFA44_transition;

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

	protected class DFA44 extends DFA {

		public DFA44(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 44;
			this.eot = DFA44_eot;
			this.eof = DFA44_eof;
			this.min = DFA44_min;
			this.max = DFA44_max;
			this.accept = DFA44_accept;
			this.special = DFA44_special;
			this.transition = DFA44_transition;
		}
		@Override
		public String getDescription() {
			return "422:87: ( ( ws )? IMPORTANT_SYM )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA46_eotS =
		"\4\uffff";
	static final String DFA46_eofS =
		"\4\uffff";
	static final String DFA46_minS =
		"\2\6\2\uffff";
	static final String DFA46_maxS =
		"\2\u0092\2\uffff";
	static final String DFA46_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA46_specialS =
		"\4\uffff}>";
	static final String[] DFA46_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA46_eot = DFA.unpackEncodedString(DFA46_eotS);
	static final short[] DFA46_eof = DFA.unpackEncodedString(DFA46_eofS);
	static final char[] DFA46_min = DFA.unpackEncodedStringToUnsignedChars(DFA46_minS);
	static final char[] DFA46_max = DFA.unpackEncodedStringToUnsignedChars(DFA46_maxS);
	static final short[] DFA46_accept = DFA.unpackEncodedString(DFA46_acceptS);
	static final short[] DFA46_special = DFA.unpackEncodedString(DFA46_specialS);
	static final short[][] DFA46_transition;

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

	protected class DFA46 extends DFA {

		public DFA46(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 46;
			this.eot = DFA46_eot;
			this.eof = DFA46_eof;
			this.min = DFA46_min;
			this.max = DFA46_max;
			this.accept = DFA46_accept;
			this.special = DFA46_special;
			this.transition = DFA46_transition;
		}
		@Override
		public String getDescription() {
			return "423:57: ( ( ws )? IMPORTANT_SYM )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA50_eotS =
		"\4\uffff";
	static final String DFA50_eofS =
		"\2\2\2\uffff";
	static final String DFA50_minS =
		"\2\6\2\uffff";
	static final String DFA50_maxS =
		"\2\u0092\2\uffff";
	static final String DFA50_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA50_specialS =
		"\1\0\1\1\2\uffff}>";
	static final String[] DFA50_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\5\uffff\5\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\4\2\1\uffff\3\2\1\uffff"+
			"\5\2\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\5\uffff\5\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff"+
			"\5\2\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"",
			""
	};

	static final short[] DFA50_eot = DFA.unpackEncodedString(DFA50_eotS);
	static final short[] DFA50_eof = DFA.unpackEncodedString(DFA50_eofS);
	static final char[] DFA50_min = DFA.unpackEncodedStringToUnsignedChars(DFA50_minS);
	static final char[] DFA50_max = DFA.unpackEncodedStringToUnsignedChars(DFA50_maxS);
	static final short[] DFA50_accept = DFA.unpackEncodedString(DFA50_acceptS);
	static final short[] DFA50_special = DFA.unpackEncodedString(DFA50_specialS);
	static final short[][] DFA50_transition;

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

	protected class DFA50 extends DFA {

		public DFA50(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 50;
			this.eot = DFA50_eot;
			this.eof = DFA50_eof;
			this.min = DFA50_min;
			this.max = DFA50_max;
			this.accept = DFA50_accept;
			this.special = DFA50_special;
			this.transition = DFA50_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 439:15: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? mediaQuery )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA50_0 = input.LA(1);
						 
						int index50_0 = input.index();
						input.rewind();
						s = -1;
						if ( (LA50_0==COMMENT||LA50_0==NL||LA50_0==WS) ) {s = 1;}
						else if ( (LA50_0==EOF||(LA50_0 >= AT_IDENT && LA50_0 <= AT_SIGN)||(LA50_0 >= BOTTOMCENTER_SYM && LA50_0 <= BOTTOMRIGHT_SYM)||(LA50_0 >= CHARSET_SYM && LA50_0 <= COLON)||LA50_0==COUNTER_STYLE_SYM||(LA50_0 >= DCOLON && LA50_0 <= DOT)||LA50_0==FONT_FACE_SYM||(LA50_0 >= GEN && LA50_0 <= GREATER)||(LA50_0 >= HASH && LA50_0 <= HASH_SYMBOL)||LA50_0==IDENT||LA50_0==IMPORT_SYM||(LA50_0 >= LBRACE && LA50_0 <= LEFTTOP_SYM)||LA50_0==LESS_AND||(LA50_0 >= MEDIA_SYM && LA50_0 <= MOZ_DOCUMENT_SYM)||LA50_0==NAMESPACE_SYM||LA50_0==PAGE_SYM||(LA50_0 >= PIPE && LA50_0 <= PLUS)||LA50_0==RBRACE||(LA50_0 >= RIGHTBOTTOM_SYM && LA50_0 <= RIGHTTOP_SYM)||(LA50_0 >= SASS_AT_ROOT && LA50_0 <= SASS_DEBUG)||(LA50_0 >= SASS_EACH && LA50_0 <= SASS_ELSE)||(LA50_0 >= SASS_EXTEND && LA50_0 <= SASS_FUNCTION)||(LA50_0 >= SASS_IF && LA50_0 <= SASS_MIXIN)||(LA50_0 >= SASS_RETURN && LA50_0 <= SEMI)||LA50_0==STAR||LA50_0==TILDE||(LA50_0 >= TOPCENTER_SYM && LA50_0 <= TOPRIGHT_SYM)||LA50_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
						else if ( (LA50_0==COMMA) && (synpred10_Css3())) {s = 3;}
						 
						input.seek(index50_0);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA50_1 = input.LA(1);
						 
						int index50_1 = input.index();
						input.rewind();
						s = -1;
						if ( (LA50_1==EOF||(LA50_1 >= AT_IDENT && LA50_1 <= AT_SIGN)||(LA50_1 >= BOTTOMCENTER_SYM && LA50_1 <= BOTTOMRIGHT_SYM)||(LA50_1 >= CHARSET_SYM && LA50_1 <= COLON)||LA50_1==COUNTER_STYLE_SYM||(LA50_1 >= DCOLON && LA50_1 <= DOT)||LA50_1==FONT_FACE_SYM||(LA50_1 >= GEN && LA50_1 <= GREATER)||(LA50_1 >= HASH && LA50_1 <= HASH_SYMBOL)||LA50_1==IDENT||LA50_1==IMPORT_SYM||(LA50_1 >= LBRACE && LA50_1 <= LEFTTOP_SYM)||LA50_1==LESS_AND||(LA50_1 >= MEDIA_SYM && LA50_1 <= MOZ_DOCUMENT_SYM)||LA50_1==NAMESPACE_SYM||LA50_1==PAGE_SYM||(LA50_1 >= PIPE && LA50_1 <= PLUS)||LA50_1==RBRACE||(LA50_1 >= RIGHTBOTTOM_SYM && LA50_1 <= RIGHTTOP_SYM)||(LA50_1 >= SASS_AT_ROOT && LA50_1 <= SASS_DEBUG)||(LA50_1 >= SASS_EACH && LA50_1 <= SASS_ELSE)||(LA50_1 >= SASS_ERROR && LA50_1 <= SASS_FUNCTION)||(LA50_1 >= SASS_IF && LA50_1 <= SASS_MIXIN)||(LA50_1 >= SASS_RETURN && LA50_1 <= SEMI)||LA50_1==STAR||LA50_1==TILDE||(LA50_1 >= TOPCENTER_SYM && LA50_1 <= TOPRIGHT_SYM)||LA50_1==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
						else if ( (LA50_1==COMMENT||LA50_1==NL||LA50_1==WS) ) {s = 1;}
						else if ( (LA50_1==COMMA) && (synpred10_Css3())) {s = 3;}
						 
						input.seek(index50_1);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 50, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA63_eotS =
		"\4\uffff";
	static final String DFA63_eofS =
		"\4\uffff";
	static final String DFA63_minS =
		"\2\23\2\uffff";
	static final String DFA63_maxS =
		"\2\u0092\2\uffff";
	static final String DFA63_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA63_specialS =
		"\4\uffff}>";
	static final String[] DFA63_transitionS = {
			"\1\2\1\uffff\1\1\73\uffff\1\1\26\uffff\1\3\51\uffff\1\1",
			"\1\2\1\uffff\1\1\73\uffff\1\1\26\uffff\1\3\51\uffff\1\1",
			"",
			""
	};

	static final short[] DFA63_eot = DFA.unpackEncodedString(DFA63_eotS);
	static final short[] DFA63_eof = DFA.unpackEncodedString(DFA63_eofS);
	static final char[] DFA63_min = DFA.unpackEncodedStringToUnsignedChars(DFA63_minS);
	static final char[] DFA63_max = DFA.unpackEncodedStringToUnsignedChars(DFA63_maxS);
	static final short[] DFA63_accept = DFA.unpackEncodedString(DFA63_acceptS);
	static final short[] DFA63_special = DFA.unpackEncodedString(DFA63_specialS);
	static final short[][] DFA63_transition;

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

	protected class DFA63 extends DFA {

		public DFA63(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 63;
			this.eot = DFA63_eot;
			this.eof = DFA63_eof;
			this.min = DFA63_min;
			this.max = DFA63_max;
			this.accept = DFA63_accept;
			this.special = DFA63_special;
			this.transition = DFA63_transition;
		}
		@Override
		public String getDescription() {
			return "459:42: ( mediaFeatureValue )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA72_eotS =
		"\6\uffff";
	static final String DFA72_eofS =
		"\2\3\4\uffff";
	static final String DFA72_minS =
		"\2\6\1\0\1\uffff\1\0\1\uffff";
	static final String DFA72_maxS =
		"\2\u0092\1\0\1\uffff\1\0\1\uffff";
	static final String DFA72_acceptS =
		"\3\uffff\1\2\1\uffff\1\1";
	static final String DFA72_specialS =
		"\2\uffff\1\0\1\uffff\1\1\1\uffff}>";
	static final String[] DFA72_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\4\3\1\2\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\4\3\1\4\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\1\uffff",
			"",
			"\1\uffff",
			""
	};

	static final short[] DFA72_eot = DFA.unpackEncodedString(DFA72_eotS);
	static final short[] DFA72_eof = DFA.unpackEncodedString(DFA72_eofS);
	static final char[] DFA72_min = DFA.unpackEncodedStringToUnsignedChars(DFA72_minS);
	static final char[] DFA72_max = DFA.unpackEncodedStringToUnsignedChars(DFA72_maxS);
	static final short[] DFA72_accept = DFA.unpackEncodedString(DFA72_acceptS);
	static final short[] DFA72_special = DFA.unpackEncodedString(DFA72_specialS);
	static final short[][] DFA72_transition;

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

	protected class DFA72 extends DFA {

		public DFA72(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 72;
			this.eot = DFA72_eot;
			this.eof = DFA72_eof;
			this.min = DFA72_min;
			this.max = DFA72_max;
			this.accept = DFA72_accept;
			this.special = DFA72_special;
			this.transition = DFA72_transition;
		}
		@Override
		public String getDescription() {
			return "480:21: ( ( ( ws )? SEMI )=> ( ws )? SEMI )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA72_2 = input.LA(1);
						 
						int index72_2 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred15_Css3()) ) {s = 5;}
						else if ( (true) ) {s = 3;}
						 
						input.seek(index72_2);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA72_4 = input.LA(1);
						 
						int index72_4 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred15_Css3()) ) {s = 5;}
						else if ( (true) ) {s = 3;}
						 
						input.seek(index72_4);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 72, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA105_eotS =
		"\4\uffff";
	static final String DFA105_eofS =
		"\1\2\3\uffff";
	static final String DFA105_minS =
		"\2\24\2\uffff";
	static final String DFA105_maxS =
		"\2\u0092\2\uffff";
	static final String DFA105_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA105_specialS =
		"\4\uffff}>";
	static final String[] DFA105_transitionS = {
			"\1\3\1\1\44\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"\1\3\1\1\44\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"",
			""
	};

	static final short[] DFA105_eot = DFA.unpackEncodedString(DFA105_eotS);
	static final short[] DFA105_eof = DFA.unpackEncodedString(DFA105_eofS);
	static final char[] DFA105_min = DFA.unpackEncodedStringToUnsignedChars(DFA105_minS);
	static final char[] DFA105_max = DFA.unpackEncodedStringToUnsignedChars(DFA105_maxS);
	static final short[] DFA105_accept = DFA.unpackEncodedString(DFA105_acceptS);
	static final short[] DFA105_special = DFA.unpackEncodedString(DFA105_specialS);
	static final short[][] DFA105_transition;

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

	protected class DFA105 extends DFA {

		public DFA105(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 105;
			this.eot = DFA105_eot;
			this.eof = DFA105_eof;
			this.min = DFA105_min;
			this.max = DFA105_max;
			this.accept = DFA105_accept;
			this.special = DFA105_special;
			this.transition = DFA105_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 562:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA112_eotS =
		"\5\uffff";
	static final String DFA112_eofS =
		"\5\uffff";
	static final String DFA112_minS =
		"\1\6\1\uffff\2\23\1\uffff";
	static final String DFA112_maxS =
		"\1\u0091\1\uffff\2\u0092\1\uffff";
	static final String DFA112_acceptS =
		"\1\uffff\1\1\2\uffff\1\2";
	static final String DFA112_specialS =
		"\5\uffff}>";
	static final String[] DFA112_transitionS = {
			"\2\1\2\uffff\5\2\3\uffff\1\1\4\uffff\1\1\17\uffff\1\1\2\uffff\1\1\4\uffff"+
			"\1\1\2\uffff\1\1\1\uffff\1\1\7\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+
			"\uffff\1\1\12\uffff\3\2\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\2"+
			"\1\1\uffff\3\1\1\uffff\4\1\2\uffff\1\1\4\uffff\5\2\6\uffff\1\1",
			"",
			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			""
	};

	static final short[] DFA112_eot = DFA.unpackEncodedString(DFA112_eotS);
	static final short[] DFA112_eof = DFA.unpackEncodedString(DFA112_eofS);
	static final char[] DFA112_min = DFA.unpackEncodedStringToUnsignedChars(DFA112_minS);
	static final char[] DFA112_max = DFA.unpackEncodedStringToUnsignedChars(DFA112_maxS);
	static final short[] DFA112_accept = DFA.unpackEncodedString(DFA112_acceptS);
	static final short[] DFA112_special = DFA.unpackEncodedString(DFA112_specialS);
	static final short[][] DFA112_transition;

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

	protected class DFA112 extends DFA {

		public DFA112(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 112;
			this.eot = DFA112_eot;
			this.eof = DFA112_eof;
			this.min = DFA112_min;
			this.max = DFA112_max;
			this.accept = DFA112_accept;
			this.special = DFA112_special;
			this.transition = DFA112_transition;
		}
		@Override
		public String getDescription() {
			return "570:14: ( propertyDeclaration | margin )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA116_eotS =
		"\5\uffff";
	static final String DFA116_eofS =
		"\5\uffff";
	static final String DFA116_minS =
		"\1\6\1\uffff\2\23\1\uffff";
	static final String DFA116_maxS =
		"\1\u0091\1\uffff\2\u0092\1\uffff";
	static final String DFA116_acceptS =
		"\1\uffff\1\1\2\uffff\1\2";
	static final String DFA116_specialS =
		"\5\uffff}>";
	static final String[] DFA116_transitionS = {
			"\2\1\2\uffff\5\2\3\uffff\1\1\4\uffff\1\1\17\uffff\1\1\2\uffff\1\1\4\uffff"+
			"\1\1\2\uffff\1\1\1\uffff\1\1\7\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+
			"\uffff\1\1\12\uffff\3\2\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\2"+
			"\1\1\uffff\3\1\1\uffff\4\1\2\uffff\1\1\4\uffff\5\2\6\uffff\1\1",
			"",
			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			"\1\1\1\uffff\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			""
	};

	static final short[] DFA116_eot = DFA.unpackEncodedString(DFA116_eotS);
	static final short[] DFA116_eof = DFA.unpackEncodedString(DFA116_eofS);
	static final char[] DFA116_min = DFA.unpackEncodedStringToUnsignedChars(DFA116_minS);
	static final char[] DFA116_max = DFA.unpackEncodedStringToUnsignedChars(DFA116_maxS);
	static final short[] DFA116_accept = DFA.unpackEncodedString(DFA116_acceptS);
	static final short[] DFA116_special = DFA.unpackEncodedString(DFA116_specialS);
	static final short[][] DFA116_transition;

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

	protected class DFA116 extends DFA {

		public DFA116(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 116;
			this.eot = DFA116_eot;
			this.eof = DFA116_eof;
			this.min = DFA116_min;
			this.max = DFA116_max;
			this.accept = DFA116_accept;
			this.special = DFA116_special;
			this.transition = DFA116_transition;
		}
		@Override
		public String getDescription() {
			return "570:60: ( propertyDeclaration | margin )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA136_eotS =
		"\5\uffff";
	static final String DFA136_eofS =
		"\2\2\3\uffff";
	static final String DFA136_minS =
		"\2\6\3\uffff";
	static final String DFA136_maxS =
		"\2\u0092\3\uffff";
	static final String DFA136_acceptS =
		"\2\uffff\1\3\1\1\1\2";
	static final String DFA136_specialS =
		"\5\uffff}>";
	static final String[] DFA136_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\3\2\2\2\uffff\4\2\1\4\3\2\1\uffff\5\2\1\uffff"+
			"\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\3\2\2\1\uffff\5\2\1\4\3\2\1\uffff\5\2\1\uffff"+
			"\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"",
			"",
			""
	};

	static final short[] DFA136_eot = DFA.unpackEncodedString(DFA136_eotS);
	static final short[] DFA136_eof = DFA.unpackEncodedString(DFA136_eofS);
	static final char[] DFA136_min = DFA.unpackEncodedStringToUnsignedChars(DFA136_minS);
	static final char[] DFA136_max = DFA.unpackEncodedStringToUnsignedChars(DFA136_maxS);
	static final short[] DFA136_accept = DFA.unpackEncodedString(DFA136_acceptS);
	static final short[] DFA136_special = DFA.unpackEncodedString(DFA136_specialS);
	static final short[][] DFA136_transition;

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

	protected class DFA136 extends DFA {

		public DFA136(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 136;
			this.eot = DFA136_eot;
			this.eof = DFA136_eof;
			this.min = DFA136_min;
			this.max = DFA136_max;
			this.accept = DFA136_accept;
			this.special = DFA136_special;
			this.transition = DFA136_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 647:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA138_eotS =
		"\6\uffff";
	static final String DFA138_eofS =
		"\6\uffff";
	static final String DFA138_minS =
		"\2\6\1\0\1\uffff\1\0\1\uffff";
	static final String DFA138_maxS =
		"\2\u0092\1\0\1\uffff\1\0\1\uffff";
	static final String DFA138_acceptS =
		"\3\uffff\1\2\1\uffff\1\1";
	static final String DFA138_specialS =
		"\2\uffff\1\0\1\uffff\1\1\1\uffff}>";
	static final String[] DFA138_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\17\uffff\1\3"+
			"\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\uffff\1\3\7\uffff\3\3\11\uffff"+
			"\3\3\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3"+
			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
			"\1\3\3\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\4\1\1\1\uffff\1\3\17\uffff\1"+
			"\3\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\uffff\1\3\7\uffff\3\3\11\uffff"+
			"\3\3\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3"+
			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
			"\1\3\3\uffff\5\3\6\uffff\1\3\1\1",
			"\1\uffff",
			"",
			"\1\uffff",
			""
	};

	static final short[] DFA138_eot = DFA.unpackEncodedString(DFA138_eotS);
	static final short[] DFA138_eof = DFA.unpackEncodedString(DFA138_eofS);
	static final char[] DFA138_min = DFA.unpackEncodedStringToUnsignedChars(DFA138_minS);
	static final char[] DFA138_max = DFA.unpackEncodedStringToUnsignedChars(DFA138_maxS);
	static final short[] DFA138_accept = DFA.unpackEncodedString(DFA138_acceptS);
	static final short[] DFA138_special = DFA.unpackEncodedString(DFA138_specialS);
	static final short[][] DFA138_transition;

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

	protected class DFA138 extends DFA {

		public DFA138(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 138;
			this.eot = DFA138_eot;
			this.eof = DFA138_eof;
			this.min = DFA138_min;
			this.max = DFA138_max;
			this.accept = DFA138_accept;
			this.special = DFA138_special;
			this.transition = DFA138_transition;
		}
		@Override
		public String getDescription() {
			return "658:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA138_2 = input.LA(1);
						 
						int index138_2 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred21_Css3()) ) {s = 5;}
						else if ( (true) ) {s = 3;}
						 
						input.seek(index138_2);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA138_4 = input.LA(1);
						 
						int index138_4 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred21_Css3()) ) {s = 5;}
						else if ( (true) ) {s = 3;}
						 
						input.seek(index138_4);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 138, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA143_eotS =
		"\4\uffff";
	static final String DFA143_eofS =
		"\4\uffff";
	static final String DFA143_minS =
		"\2\23\2\uffff";
	static final String DFA143_maxS =
		"\2\u0092\2\uffff";
	static final String DFA143_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA143_specialS =
		"\4\uffff}>";
	static final String[] DFA143_transitionS = {
			"\1\2\1\uffff\1\1\73\uffff\1\1\60\uffff\1\3\17\uffff\1\1",
			"\1\2\1\uffff\1\1\73\uffff\1\1\60\uffff\1\3\17\uffff\1\1",
			"",
			""
	};

	static final short[] DFA143_eot = DFA.unpackEncodedString(DFA143_eotS);
	static final short[] DFA143_eof = DFA.unpackEncodedString(DFA143_eofS);
	static final char[] DFA143_min = DFA.unpackEncodedStringToUnsignedChars(DFA143_minS);
	static final char[] DFA143_max = DFA.unpackEncodedStringToUnsignedChars(DFA143_maxS);
	static final short[] DFA143_accept = DFA.unpackEncodedString(DFA143_acceptS);
	static final short[] DFA143_special = DFA.unpackEncodedString(DFA143_specialS);
	static final short[][] DFA143_transition;

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

	protected class DFA143 extends DFA {

		public DFA143(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 143;
			this.eot = DFA143_eot;
			this.eof = DFA143_eof;
			this.min = DFA143_min;
			this.max = DFA143_max;
			this.accept = DFA143_accept;
			this.special = DFA143_special;
			this.transition = DFA143_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 666:25: ( ( ws )? STRING )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA148_eotS =
		"\4\uffff";
	static final String DFA148_eofS =
		"\4\uffff";
	static final String DFA148_minS =
		"\2\6\2\uffff";
	static final String DFA148_maxS =
		"\2\u0092\2\uffff";
	static final String DFA148_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA148_specialS =
		"\4\uffff}>";
	static final String[] DFA148_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\3\1\1\1\uffff\1\3\17\uffff\1\3"+
			"\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\2\1\3\7\uffff\3\3\11\uffff\3\3"+
			"\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff\1\3\3\uffff"+
			"\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\3\1\1\1\uffff\1\3\17\uffff\1"+
			"\3\2\uffff\1\3\4\uffff\1\3\2\uffff\1\3\1\2\1\3\7\uffff\3\3\11\uffff\3"+
			"\3\5\uffff\1\3\1\1\4\uffff\1\3\3\uffff\1\3\12\uffff\4\3\1\uffff\3\3\1"+
			"\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff\1"+
			"\3\3\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA148_eot = DFA.unpackEncodedString(DFA148_eotS);
	static final short[] DFA148_eof = DFA.unpackEncodedString(DFA148_eofS);
	static final char[] DFA148_min = DFA.unpackEncodedStringToUnsignedChars(DFA148_minS);
	static final char[] DFA148_max = DFA.unpackEncodedStringToUnsignedChars(DFA148_maxS);
	static final short[] DFA148_accept = DFA.unpackEncodedString(DFA148_acceptS);
	static final short[] DFA148_special = DFA.unpackEncodedString(DFA148_specialS);
	static final short[][] DFA148_transition;

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

	protected class DFA148 extends DFA {

		public DFA148(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 148;
			this.eot = DFA148_eot;
			this.eof = DFA148_eof;
			this.min = DFA148_min;
			this.max = DFA148_max;
			this.accept = DFA148_accept;
			this.special = DFA148_special;
			this.transition = DFA148_transition;
		}
		@Override
		public String getDescription() {
			return "666:110: ( ( ws )? prio )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA154_eotS =
		"\6\uffff";
	static final String DFA154_eofS =
		"\6\uffff";
	static final String DFA154_minS =
		"\1\7\1\25\1\uffff\1\7\2\uffff";
	static final String DFA154_maxS =
		"\1\u0084\1\u0092\1\uffff\1\u0092\2\uffff";
	static final String DFA154_acceptS =
		"\2\uffff\1\3\1\uffff\1\1\1\2";
	static final String DFA154_specialS =
		"\6\uffff}>";
	static final String[] DFA154_transitionS = {
			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\2\uffff\1\2\10"+
			"\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\2\2\13\uffff\1\1\10\uffff"+
			"\1\2\15\uffff\1\2\2\uffff\1\2",
			"\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			"",
			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\2"+
			"\uffff\1\4\7\uffff\2\4\5\uffff\1\4\4\uffff\1\5\2\uffff\1\4\7\uffff\1"+
			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\2\uffff\1\4\15\uffff\1\3",
			"",
			""
	};

	static final short[] DFA154_eot = DFA.unpackEncodedString(DFA154_eotS);
	static final short[] DFA154_eof = DFA.unpackEncodedString(DFA154_eofS);
	static final char[] DFA154_min = DFA.unpackEncodedStringToUnsignedChars(DFA154_minS);
	static final char[] DFA154_max = DFA.unpackEncodedStringToUnsignedChars(DFA154_maxS);
	static final short[] DFA154_accept = DFA.unpackEncodedString(DFA154_acceptS);
	static final short[] DFA154_special = DFA.unpackEncodedString(DFA154_specialS);
	static final short[][] DFA154_transition;

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

	protected class DFA154 extends DFA {

		public DFA154(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 154;
			this.eot = DFA154_eot;
			this.eof = DFA154_eof;
			this.min = DFA154_min;
			this.max = DFA154_max;
			this.accept = DFA154_accept;
			this.special = DFA154_special;
			this.transition = DFA154_transition;
		}
		@Override
		public String getDescription() {
			return "671:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA149_eotS =
		"\4\uffff";
	static final String DFA149_eofS =
		"\4\uffff";
	static final String DFA149_minS =
		"\1\25\1\7\2\uffff";
	static final String DFA149_maxS =
		"\2\u0092\2\uffff";
	static final String DFA149_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA149_specialS =
		"\4\uffff}>";
	static final String[] DFA149_transitionS = {
			"\1\1\44\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2"+
			"\uffff\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
			"\2\3\24\uffff\1\3\15\uffff\1\3\2\uffff\1\3\15\uffff\1\1",
			"",
			""
	};

	static final short[] DFA149_eot = DFA.unpackEncodedString(DFA149_eotS);
	static final short[] DFA149_eof = DFA.unpackEncodedString(DFA149_eofS);
	static final char[] DFA149_min = DFA.unpackEncodedStringToUnsignedChars(DFA149_minS);
	static final char[] DFA149_max = DFA.unpackEncodedStringToUnsignedChars(DFA149_maxS);
	static final short[] DFA149_accept = DFA.unpackEncodedString(DFA149_acceptS);
	static final short[] DFA149_special = DFA.unpackEncodedString(DFA149_specialS);
	static final short[][] DFA149_transition;

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

	protected class DFA149 extends DFA {

		public DFA149(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 149;
			this.eot = DFA149_eot;
			this.eof = DFA149_eof;
			this.min = DFA149_min;
			this.max = DFA149_max;
			this.accept = DFA149_accept;
			this.special = DFA149_special;
			this.transition = DFA149_transition;
		}
		@Override
		public String getDescription() {
			return "672:27: ( ws selectorsGroup )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA171_eotS =
		"\5\uffff";
	static final String DFA171_eofS =
		"\5\uffff";
	static final String DFA171_minS =
		"\2\6\1\uffff\1\6\1\uffff";
	static final String DFA171_maxS =
		"\1\u0091\1\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA171_acceptS =
		"\2\uffff\1\1\1\uffff\1\2";
	static final String DFA171_specialS =
		"\5\uffff}>";
	static final String[] DFA171_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\2\2\3\uffff\1\2\5\uffff\3\2\7\uffff\1\2\2\uffff"+
			"\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff\1\2\6\uffff"+
			"\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff"+
			"\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff\4\2\1\1\1\uffff\1\2\2\uffff\1\2"+
			"\1\uffff\5\2\6\uffff\1\2",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\3\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\3\10\uffff\1\2\2\uffff\2\2\2\uffff\1\4"+
			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff"+
			"\4\2\1\1\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\3",
			"",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\3\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\3\10\uffff\1\2\2\uffff\2\2\2\uffff\1\4"+
			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\uffff"+
			"\4\2\1\1\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\3",
			""
	};

	static final short[] DFA171_eot = DFA.unpackEncodedString(DFA171_eotS);
	static final short[] DFA171_eof = DFA.unpackEncodedString(DFA171_eofS);
	static final char[] DFA171_min = DFA.unpackEncodedStringToUnsignedChars(DFA171_minS);
	static final char[] DFA171_max = DFA.unpackEncodedStringToUnsignedChars(DFA171_maxS);
	static final short[] DFA171_accept = DFA.unpackEncodedString(DFA171_acceptS);
	static final short[] DFA171_special = DFA.unpackEncodedString(DFA171_specialS);
	static final short[][] DFA171_transition;

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

	protected class DFA171 extends DFA {

		public DFA171(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 171;
			this.eot = DFA171_eot;
			this.eof = DFA171_eof;
			this.min = DFA171_min;
			this.max = DFA171_max;
			this.accept = DFA171_accept;
			this.special = DFA171_special;
			this.transition = DFA171_transition;
		}
		@Override
		public String getDescription() {
			return "686:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ );";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA164_eotS =
		"\6\uffff";
	static final String DFA164_eofS =
		"\6\uffff";
	static final String DFA164_minS =
		"\1\25\2\6\2\uffff\1\6";
	static final String DFA164_maxS =
		"\3\u0092\2\uffff\1\u0092";
	static final String DFA164_acceptS =
		"\3\uffff\1\2\1\1\1\uffff";
	static final String DFA164_specialS =
		"\6\uffff}>";
	static final String[] DFA164_transitionS = {
			"\1\1\73\uffff\1\1\17\uffff\1\3\35\uffff\1\2\22\uffff\1\1",
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\3"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\2\4\1\uffff\5\4\1\uffff\3\4\1\uffff"+
			"\4\4\1\2\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\1",
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\5\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\5\10\uffff\1\4\2\uffff\2\4\2\uffff\1\3"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\2\4\1\uffff\5\4\1\uffff\3\4\1\uffff"+
			"\4\4\1\2\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\5",
			"",
			"",
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\5\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\5\10\uffff\1\4\2\uffff\2\4\2\uffff\1\3"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\2\4\1\uffff\5\4\1\uffff\3\4\1\uffff"+
			"\4\4\1\2\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\5"
	};

	static final short[] DFA164_eot = DFA.unpackEncodedString(DFA164_eotS);
	static final short[] DFA164_eof = DFA.unpackEncodedString(DFA164_eofS);
	static final char[] DFA164_min = DFA.unpackEncodedStringToUnsignedChars(DFA164_minS);
	static final char[] DFA164_max = DFA.unpackEncodedStringToUnsignedChars(DFA164_maxS);
	static final short[] DFA164_accept = DFA.unpackEncodedString(DFA164_acceptS);
	static final short[] DFA164_special = DFA.unpackEncodedString(DFA164_specialS);
	static final short[][] DFA164_transition;

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

	protected class DFA164 extends DFA {

		public DFA164(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 164;
			this.eot = DFA164_eot;
			this.eof = DFA164_eof;
			this.min = DFA164_min;
			this.max = DFA164_max;
			this.accept = DFA164_accept;
			this.special = DFA164_special;
			this.transition = DFA164_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 688:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA163_eotS =
		"\4\uffff";
	static final String DFA163_eofS =
		"\4\uffff";
	static final String DFA163_minS =
		"\1\25\1\6\2\uffff";
	static final String DFA163_maxS =
		"\2\u0092\2\uffff";
	static final String DFA163_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA163_specialS =
		"\4\uffff}>";
	static final String[] DFA163_transitionS = {
			"\1\1\73\uffff\1\1\55\uffff\1\2\22\uffff\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\6\uffff\3\3"+
			"\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff\4\3\1\2\1\uffff"+
			"\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA163_eot = DFA.unpackEncodedString(DFA163_eotS);
	static final short[] DFA163_eof = DFA.unpackEncodedString(DFA163_eofS);
	static final char[] DFA163_min = DFA.unpackEncodedStringToUnsignedChars(DFA163_minS);
	static final char[] DFA163_max = DFA.unpackEncodedStringToUnsignedChars(DFA163_maxS);
	static final short[] DFA163_accept = DFA.unpackEncodedString(DFA163_acceptS);
	static final short[] DFA163_special = DFA.unpackEncodedString(DFA163_specialS);
	static final short[][] DFA163_transition;

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

	protected class DFA163 extends DFA {

		public DFA163(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 163;
			this.eot = DFA163_eot;
			this.eof = DFA163_eof;
			this.min = DFA163_min;
			this.max = DFA163_max;
			this.accept = DFA163_accept;
			this.special = DFA163_special;
			this.transition = DFA163_transition;
		}
		@Override
		public String getDescription() {
			return "688:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA168_eotS =
		"\5\uffff";
	static final String DFA168_eofS =
		"\5\uffff";
	static final String DFA168_minS =
		"\2\25\3\uffff";
	static final String DFA168_maxS =
		"\2\u0092\3\uffff";
	static final String DFA168_acceptS =
		"\2\uffff\1\1\1\3\1\2";
	static final String DFA168_specialS =
		"\5\uffff}>";
	static final String[] DFA168_transitionS = {
			"\1\1\73\uffff\1\1\17\uffff\1\3\35\uffff\1\2\22\uffff\1\1",
			"\1\1\73\uffff\1\1\17\uffff\1\4\35\uffff\1\2\22\uffff\1\1",
			"",
			"",
			""
	};

	static final short[] DFA168_eot = DFA.unpackEncodedString(DFA168_eotS);
	static final short[] DFA168_eof = DFA.unpackEncodedString(DFA168_eofS);
	static final char[] DFA168_min = DFA.unpackEncodedStringToUnsignedChars(DFA168_minS);
	static final char[] DFA168_max = DFA.unpackEncodedStringToUnsignedChars(DFA168_maxS);
	static final short[] DFA168_accept = DFA.unpackEncodedString(DFA168_acceptS);
	static final short[] DFA168_special = DFA.unpackEncodedString(DFA168_specialS);
	static final short[][] DFA168_transition;

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

	protected class DFA168 extends DFA {

		public DFA168(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 168;
			this.eot = DFA168_eot;
			this.eof = DFA168_eof;
			this.min = DFA168_min;
			this.max = DFA168_max;
			this.accept = DFA168_accept;
			this.special = DFA168_special;
			this.transition = DFA168_transition;
		}
		@Override
		public String getDescription() {
			return "688:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA173_eotS =
		"\4\uffff";
	static final String DFA173_eofS =
		"\4\uffff";
	static final String DFA173_minS =
		"\1\25\1\6\2\uffff";
	static final String DFA173_maxS =
		"\2\u0092\2\uffff";
	static final String DFA173_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA173_specialS =
		"\4\uffff}>";
	static final String[] DFA173_transitionS = {
			"\1\1\35\uffff\1\2\35\uffff\1\1\17\uffff\1\3\35\uffff\1\3\22\uffff\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA173_eot = DFA.unpackEncodedString(DFA173_eotS);
	static final short[] DFA173_eof = DFA.unpackEncodedString(DFA173_eofS);
	static final char[] DFA173_min = DFA.unpackEncodedStringToUnsignedChars(DFA173_minS);
	static final char[] DFA173_max = DFA.unpackEncodedStringToUnsignedChars(DFA173_maxS);
	static final short[] DFA173_accept = DFA.unpackEncodedString(DFA173_acceptS);
	static final short[] DFA173_special = DFA.unpackEncodedString(DFA173_specialS);
	static final short[][] DFA173_transition;

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

	protected class DFA173 extends DFA {

		public DFA173(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 173;
			this.eot = DFA173_eot;
			this.eof = DFA173_eof;
			this.min = DFA173_min;
			this.max = DFA173_max;
			this.accept = DFA173_accept;
			this.special = DFA173_special;
			this.transition = DFA173_transition;
		}
		@Override
		public String getDescription() {
			return "702:39: ( ( ws )? IMPORTANT_SYM )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA175_eotS =
		"\4\uffff";
	static final String DFA175_eofS =
		"\4\uffff";
	static final String DFA175_minS =
		"\1\25\1\6\2\uffff";
	static final String DFA175_maxS =
		"\2\u0092\2\uffff";
	static final String DFA175_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA175_specialS =
		"\4\uffff}>";
	static final String[] DFA175_transitionS = {
			"\1\1\35\uffff\1\2\35\uffff\1\1\17\uffff\1\3\35\uffff\1\3\22\uffff\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA175_eot = DFA.unpackEncodedString(DFA175_eotS);
	static final short[] DFA175_eof = DFA.unpackEncodedString(DFA175_eofS);
	static final char[] DFA175_min = DFA.unpackEncodedStringToUnsignedChars(DFA175_minS);
	static final char[] DFA175_max = DFA.unpackEncodedStringToUnsignedChars(DFA175_maxS);
	static final short[] DFA175_accept = DFA.unpackEncodedString(DFA175_acceptS);
	static final short[] DFA175_special = DFA.unpackEncodedString(DFA175_specialS);
	static final short[][] DFA175_transition;

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

	protected class DFA175 extends DFA {

		public DFA175(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 175;
			this.eot = DFA175_eot;
			this.eof = DFA175_eof;
			this.min = DFA175_min;
			this.max = DFA175_max;
			this.accept = DFA175_accept;
			this.special = DFA175_special;
			this.transition = DFA175_transition;
		}
		@Override
		public String getDescription() {
			return "703:57: ( ( ws )? IMPORTANT_SYM )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA179_eotS =
		"\6\uffff";
	static final String DFA179_eofS =
		"\6\uffff";
	static final String DFA179_minS =
		"\1\24\1\7\1\24\1\uffff\1\7\1\uffff";
	static final String DFA179_maxS =
		"\3\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA179_acceptS =
		"\3\uffff\1\2\1\uffff\1\1";
	static final String DFA179_specialS =
		"\6\uffff}>";
	static final String[] DFA179_transitionS = {
			"\1\1\1\2\44\uffff\1\3\26\uffff\1\2\26\uffff\1\3\51\uffff\1\2",
			"\1\5\13\uffff\1\5\1\uffff\1\4\7\uffff\3\5\12\uffff\2\5\2\uffff\2\5\2"+
			"\uffff\1\5\7\uffff\1\3\1\5\5\uffff\1\5\7\uffff\1\5\7\uffff\1\4\13\uffff"+
			"\2\5\11\uffff\1\3\12\uffff\1\5\15\uffff\1\5\2\uffff\1\5\15\uffff\1\4",
			"\1\5\1\2\44\uffff\1\3\26\uffff\1\2\100\uffff\1\2",
			"",
			"\1\5\13\uffff\1\5\1\uffff\1\4\7\uffff\3\5\12\uffff\2\5\2\uffff\2\5\2"+
			"\uffff\1\5\7\uffff\1\3\1\5\5\uffff\1\5\7\uffff\1\5\7\uffff\1\4\13\uffff"+
			"\2\5\24\uffff\1\5\15\uffff\1\5\2\uffff\1\5\15\uffff\1\4",
			""
	};

	static final short[] DFA179_eot = DFA.unpackEncodedString(DFA179_eotS);
	static final short[] DFA179_eof = DFA.unpackEncodedString(DFA179_eofS);
	static final char[] DFA179_min = DFA.unpackEncodedStringToUnsignedChars(DFA179_minS);
	static final char[] DFA179_max = DFA.unpackEncodedStringToUnsignedChars(DFA179_maxS);
	static final short[] DFA179_accept = DFA.unpackEncodedString(DFA179_acceptS);
	static final short[] DFA179_special = DFA.unpackEncodedString(DFA179_specialS);
	static final short[][] DFA179_transition;

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

	protected class DFA179 extends DFA {

		public DFA179(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 179;
			this.eot = DFA179_eot;
			this.eof = DFA179_eof;
			this.min = DFA179_min;
			this.max = DFA179_max;
			this.accept = DFA179_accept;
			this.special = DFA179_special;
			this.transition = DFA179_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 721:18: ( ( ws )? COMMA ( ws )? selector )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA187_eotS =
		"\5\uffff";
	static final String DFA187_eofS =
		"\5\uffff";
	static final String DFA187_minS =
		"\2\7\1\uffff\1\7\1\uffff";
	static final String DFA187_maxS =
		"\1\u0084\1\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA187_acceptS =
		"\2\uffff\1\1\1\uffff\1\2";
	static final String DFA187_specialS =
		"\5\uffff}>";
	static final String[] DFA187_transitionS = {
			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\1\2\1\1\2\uffff\2\2\2\uffff\1"+
			"\2\10\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\1\2\1\1\24\uffff\1\2"+
			"\15\uffff\1\2\2\uffff\1\1",
			"\1\2\13\uffff\1\2\1\4\1\3\7\uffff\3\2\12\uffff\1\2\3\uffff\2\2\2\uffff"+
			"\1\2\7\uffff\1\4\1\2\5\uffff\1\2\7\uffff\1\2\7\uffff\1\3\13\uffff\1\2"+
			"\12\uffff\1\4\12\uffff\1\2\15\uffff\1\2\20\uffff\1\3",
			"",
			"\1\2\13\uffff\1\2\1\4\1\3\7\uffff\3\2\12\uffff\1\2\3\uffff\2\2\2\uffff"+
			"\1\2\7\uffff\1\4\1\2\5\uffff\1\2\7\uffff\1\2\7\uffff\1\3\13\uffff\1\2"+
			"\25\uffff\1\2\15\uffff\1\2\20\uffff\1\3",
			""
	};

	static final short[] DFA187_eot = DFA.unpackEncodedString(DFA187_eotS);
	static final short[] DFA187_eof = DFA.unpackEncodedString(DFA187_eofS);
	static final char[] DFA187_min = DFA.unpackEncodedStringToUnsignedChars(DFA187_minS);
	static final char[] DFA187_max = DFA.unpackEncodedStringToUnsignedChars(DFA187_maxS);
	static final short[] DFA187_accept = DFA.unpackEncodedString(DFA187_acceptS);
	static final short[] DFA187_special = DFA.unpackEncodedString(DFA187_specialS);
	static final short[][] DFA187_transition;

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

	protected class DFA187 extends DFA {

		public DFA187(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 187;
			this.eot = DFA187_eot;
			this.eof = DFA187_eof;
			this.min = DFA187_min;
			this.max = DFA187_max;
			this.accept = DFA187_accept;
			this.special = DFA187_special;
			this.transition = DFA187_transition;
		}
		@Override
		public String getDescription() {
			return "724:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA186_eotS =
		"\4\uffff";
	static final String DFA186_eofS =
		"\4\uffff";
	static final String DFA186_minS =
		"\1\24\1\7\2\uffff";
	static final String DFA186_maxS =
		"\2\u0092\2\uffff";
	static final String DFA186_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA186_specialS =
		"\4\uffff}>";
	static final String[] DFA186_transitionS = {
			"\1\2\1\1\25\uffff\1\3\16\uffff\1\2\26\uffff\1\1\14\uffff\1\3\11\uffff"+
			"\1\2\33\uffff\1\3\15\uffff\1\1",
			"\1\3\13\uffff\1\3\1\2\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2\uffff"+
			"\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff\2\3"+
			"\24\uffff\1\3\15\uffff\1\3\2\uffff\1\3\15\uffff\1\1",
			"",
			""
	};

	static final short[] DFA186_eot = DFA.unpackEncodedString(DFA186_eotS);
	static final short[] DFA186_eof = DFA.unpackEncodedString(DFA186_eofS);
	static final char[] DFA186_min = DFA.unpackEncodedStringToUnsignedChars(DFA186_minS);
	static final char[] DFA186_max = DFA.unpackEncodedStringToUnsignedChars(DFA186_maxS);
	static final short[] DFA186_accept = DFA.unpackEncodedString(DFA186_acceptS);
	static final short[] DFA186_special = DFA.unpackEncodedString(DFA186_specialS);
	static final short[][] DFA186_transition;

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

	protected class DFA186 extends DFA {

		public DFA186(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 186;
			this.eot = DFA186_eot;
			this.eof = DFA186_eof;
			this.min = DFA186_min;
			this.max = DFA186_max;
			this.accept = DFA186_accept;
			this.special = DFA186_special;
			this.transition = DFA186_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 725:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA185_eotS =
		"\4\uffff";
	static final String DFA185_eofS =
		"\4\uffff";
	static final String DFA185_minS =
		"\1\25\1\7\2\uffff";
	static final String DFA185_maxS =
		"\2\u0092\2\uffff";
	static final String DFA185_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA185_specialS =
		"\4\uffff}>";
	static final String[] DFA185_transitionS = {
			"\1\1\25\uffff\1\2\45\uffff\1\1\14\uffff\1\2\45\uffff\1\2\15\uffff\1\1",
			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\1\3\1\2\2\uffff\2"+
			"\3\2\uffff\1\3\10\uffff\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
			"\1\3\1\2\24\uffff\1\3\15\uffff\1\3\2\uffff\1\2\15\uffff\1\1",
			"",
			""
	};

	static final short[] DFA185_eot = DFA.unpackEncodedString(DFA185_eotS);
	static final short[] DFA185_eof = DFA.unpackEncodedString(DFA185_eofS);
	static final char[] DFA185_min = DFA.unpackEncodedStringToUnsignedChars(DFA185_minS);
	static final char[] DFA185_max = DFA.unpackEncodedStringToUnsignedChars(DFA185_maxS);
	static final short[] DFA185_accept = DFA.unpackEncodedString(DFA185_acceptS);
	static final short[] DFA185_special = DFA.unpackEncodedString(DFA185_specialS);
	static final short[][] DFA185_transition;

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

	protected class DFA185 extends DFA {

		public DFA185(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 185;
			this.eot = DFA185_eot;
			this.eof = DFA185_eof;
			this.min = DFA185_min;
			this.max = DFA185_max;
			this.accept = DFA185_accept;
			this.special = DFA185_special;
			this.transition = DFA185_transition;
		}
		@Override
		public String getDescription() {
			return "725:51: ( ( ( ws )? combinator ( ws )? ) | ws )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA191_eotS =
		"\5\uffff";
	static final String DFA191_eofS =
		"\5\uffff";
	static final String DFA191_minS =
		"\1\23\1\7\1\uffff\1\7\1\uffff";
	static final String DFA191_maxS =
		"\2\u0092\1\uffff\1\117\1\uffff";
	static final String DFA191_acceptS =
		"\2\uffff\1\1\1\uffff\1\2";
	static final String DFA191_specialS =
		"\5\uffff}>";
	static final String[] DFA191_transitionS = {
			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\2\2\13\uffff\1\2\5\uffff\1\2\17"+
			"\uffff\1\1\41\uffff\1\2\36\uffff\1\1",
			"\1\4\13\uffff\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\1\2\1\3\2\uffff\1"+
			"\4\10\uffff\1\2\5\uffff\1\2\7\uffff\1\4\7\uffff\1\1\41\uffff\1\2\36\uffff"+
			"\1\1",
			"",
			"\1\2\52\uffff\1\2\7\uffff\1\4\16\uffff\1\2\5\uffff\1\2",
			""
	};

	static final short[] DFA191_eot = DFA.unpackEncodedString(DFA191_eotS);
	static final short[] DFA191_eof = DFA.unpackEncodedString(DFA191_eofS);
	static final char[] DFA191_min = DFA.unpackEncodedStringToUnsignedChars(DFA191_minS);
	static final char[] DFA191_max = DFA.unpackEncodedStringToUnsignedChars(DFA191_maxS);
	static final short[] DFA191_accept = DFA.unpackEncodedString(DFA191_acceptS);
	static final short[] DFA191_special = DFA.unpackEncodedString(DFA191_specialS);
	static final short[][] DFA191_transition;

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

	protected class DFA191 extends DFA {

		public DFA191(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 191;
			this.eot = DFA191_eot;
			this.eof = DFA191_eof;
			this.min = DFA191_min;
			this.max = DFA191_max;
			this.accept = DFA191_accept;
			this.special = DFA191_special;
			this.transition = DFA191_transition;
		}
		@Override
		public String getDescription() {
			return "737:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA194_eotS =
		"\5\uffff";
	static final String DFA194_eofS =
		"\5\uffff";
	static final String DFA194_minS =
		"\2\23\1\uffff\1\7\1\uffff";
	static final String DFA194_maxS =
		"\2\u0092\1\uffff\1\117\1\uffff";
	static final String DFA194_acceptS =
		"\2\uffff\1\1\1\uffff\1\2";
	static final String DFA194_specialS =
		"\5\uffff}>";
	static final String[] DFA194_transitionS = {
			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\2\2\13\uffff\1\2\5\uffff\1\2\17"+
			"\uffff\1\1\41\uffff\1\2\36\uffff\1\1",
			"\1\2\1\uffff\1\1\7\uffff\3\2\16\uffff\1\2\1\3\2\uffff\1\4\10\uffff\1"+
			"\2\5\uffff\1\2\7\uffff\1\4\7\uffff\1\1\41\uffff\1\2\36\uffff\1\1",
			"",
			"\1\2\52\uffff\1\2\7\uffff\1\4\16\uffff\1\2\5\uffff\1\2",
			""
	};

	static final short[] DFA194_eot = DFA.unpackEncodedString(DFA194_eotS);
	static final short[] DFA194_eof = DFA.unpackEncodedString(DFA194_eofS);
	static final char[] DFA194_min = DFA.unpackEncodedStringToUnsignedChars(DFA194_minS);
	static final char[] DFA194_max = DFA.unpackEncodedStringToUnsignedChars(DFA194_maxS);
	static final short[] DFA194_accept = DFA.unpackEncodedString(DFA194_acceptS);
	static final short[] DFA194_special = DFA.unpackEncodedString(DFA194_specialS);
	static final short[][] DFA194_transition;

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

	protected class DFA194 extends DFA {

		public DFA194(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 194;
			this.eot = DFA194_eot;
			this.eof = DFA194_eof;
			this.min = DFA194_min;
			this.max = DFA194_max;
			this.accept = DFA194_accept;
			this.special = DFA194_special;
			this.transition = DFA194_transition;
		}
		@Override
		public String getDescription() {
			return "738:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA217_eotS =
		"\4\uffff";
	static final String DFA217_eofS =
		"\2\3\2\uffff";
	static final String DFA217_minS =
		"\2\6\2\uffff";
	static final String DFA217_maxS =
		"\2\u0092\2\uffff";
	static final String DFA217_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA217_specialS =
		"\4\uffff}>";
	static final String[] DFA217_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\3\3\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff\1\3"+
			"\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\3\3\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff\1\3"+
			"\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\4\3\1\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\11\3\1\uffff"+
			"\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA217_eot = DFA.unpackEncodedString(DFA217_eotS);
	static final short[] DFA217_eof = DFA.unpackEncodedString(DFA217_eofS);
	static final char[] DFA217_min = DFA.unpackEncodedStringToUnsignedChars(DFA217_minS);
	static final char[] DFA217_max = DFA.unpackEncodedStringToUnsignedChars(DFA217_maxS);
	static final short[] DFA217_accept = DFA.unpackEncodedString(DFA217_acceptS);
	static final short[] DFA217_special = DFA.unpackEncodedString(DFA217_specialS);
	static final short[][] DFA217_transition;

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

	protected class DFA217 extends DFA {

		public DFA217(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 217;
			this.eot = DFA217_eot;
			this.eof = DFA217_eof;
			this.min = DFA217_min;
			this.max = DFA217_max;
			this.accept = DFA217_accept;
			this.special = DFA217_special;
			this.transition = DFA217_transition;
		}
		@Override
		public String getDescription() {
			return "853:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA233_eotS =
		"\4\uffff";
	static final String DFA233_eofS =
		"\1\3\3\uffff";
	static final String DFA233_minS =
		"\2\6\2\uffff";
	static final String DFA233_maxS =
		"\2\u0092\2\uffff";
	static final String DFA233_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA233_specialS =
		"\4\uffff}>";
	static final String[] DFA233_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\1\3\1\2\1\3\6\uffff\4\3\2\uffff"+
			"\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA233_eot = DFA.unpackEncodedString(DFA233_eotS);
	static final short[] DFA233_eof = DFA.unpackEncodedString(DFA233_eofS);
	static final char[] DFA233_min = DFA.unpackEncodedStringToUnsignedChars(DFA233_minS);
	static final char[] DFA233_max = DFA.unpackEncodedStringToUnsignedChars(DFA233_maxS);
	static final short[] DFA233_accept = DFA.unpackEncodedString(DFA233_acceptS);
	static final short[] DFA233_special = DFA.unpackEncodedString(DFA233_specialS);
	static final short[][] DFA233_transition;

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

	protected class DFA233 extends DFA {

		public DFA233(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 233;
			this.eot = DFA233_eot;
			this.eof = DFA233_eof;
			this.min = DFA233_min;
			this.max = DFA233_max;
			this.accept = DFA233_accept;
			this.special = DFA233_special;
			this.transition = DFA233_transition;
		}
		@Override
		public String getDescription() {
			return "868:50: ( ( ws )? prio )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA240_eotS =
		"\74\uffff";
	static final String DFA240_eofS =
		"\1\2\73\uffff";
	static final String DFA240_minS =
		"\1\5\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\2\0\2\uffff\3\0\2\uffff\20\0"+
		"\2\uffff\1\0\1\uffff\1\0\17\uffff";
	static final String DFA240_maxS =
		"\1\u0092\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\2\0\2\uffff\3\0\2\uffff\20"+
		"\0\2\uffff\1\0\1\uffff\1\0\17\uffff";
	static final String DFA240_acceptS =
		"\2\uffff\1\2\50\uffff\1\1\1\uffff\13\1\1\uffff\3\1";
	static final String DFA240_specialS =
		"\1\0\1\1\4\uffff\1\2\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\uffff\1\11\1\12"+
		"\2\uffff\1\13\1\14\1\15\2\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
		"\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\2\uffff\1\36\1\uffff\1\37\17"+
		"\uffff}>";
	static final String[] DFA240_transitionS = {
			"\1\63\1\12\1\24\2\uffff\5\47\3\uffff\1\47\1\2\1\52\1\1\1\uffff\1\47\5"+
			"\uffff\1\2\1\20\1\2\1\uffff\1\60\3\uffff\1\62\1\uffff\1\42\1\65\1\uffff"+
			"\1\30\1\2\2\uffff\1\10\1\17\2\uffff\1\23\1\2\1\40\5\uffff\2\2\3\47\1"+
			"\57\1\uffff\1\6\1\71\5\uffff\1\45\1\25\1\43\5\uffff\1\47\1\1\4\uffff"+
			"\1\55\3\uffff\1\41\1\56\1\73\1\2\1\15\2\uffff\1\2\1\uffff\1\61\1\66\3"+
			"\47\1\2\1\uffff\1\14\1\37\1\31\1\uffff\1\35\1\47\2\uffff\1\46\1\2\1\34"+
			"\1\47\1\uffff\1\33\1\13\1\11\1\uffff\1\47\1\32\1\31\1\36\1\2\1\53\1\2"+
			"\1\67\1\uffff\1\54\1\64\5\47\2\uffff\1\72\3\uffff\1\44\1\1",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"\1\uffff",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"\1\uffff",
			"\1\uffff",
			"",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"",
			"\1\uffff",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA240_eot = DFA.unpackEncodedString(DFA240_eotS);
	static final short[] DFA240_eof = DFA.unpackEncodedString(DFA240_eofS);
	static final char[] DFA240_min = DFA.unpackEncodedStringToUnsignedChars(DFA240_minS);
	static final char[] DFA240_max = DFA.unpackEncodedStringToUnsignedChars(DFA240_maxS);
	static final short[] DFA240_accept = DFA.unpackEncodedString(DFA240_acceptS);
	static final short[] DFA240_special = DFA.unpackEncodedString(DFA240_specialS);
	static final short[][] DFA240_transition;

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

	protected class DFA240 extends DFA {

		public DFA240(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 240;
			this.eot = DFA240_eot;
			this.eof = DFA240_eof;
			this.min = DFA240_min;
			this.max = DFA240_max;
			this.accept = DFA240_accept;
			this.special = DFA240_special;
			this.transition = DFA240_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 935:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA240_0 = input.LA(1);
						 
						int index240_0 = input.index();
						input.rewind();
						s = -1;
						if ( (LA240_0==COMMENT||LA240_0==NL||LA240_0==WS) ) {s = 1;}
						else if ( (LA240_0==EOF||LA240_0==COLON||LA240_0==DCOLON||LA240_0==DOT||LA240_0==GREATER||LA240_0==IMPORTANT_SYM||(LA240_0 >= LBRACE && LA240_0 <= LBRACKET)||LA240_0==PIPE||LA240_0==RBRACE||LA240_0==RPAREN||LA240_0==SASS_EXTEND_ONLY_SELECTOR||LA240_0==SEMI||LA240_0==STAR) ) {s = 2;}
						else if ( (LA240_0==LESS_AND) ) {s = 6;}
						else if ( (LA240_0==HASH) ) {s = 8;}
						else if ( (LA240_0==SASS_MIXIN) ) {s = 9;}
						else if ( (LA240_0==AT_IDENT) ) {s = 10;}
						else if ( (LA240_0==SASS_INCLUDE) ) {s = 11;}
						else if ( (LA240_0==SASS_AT_ROOT) ) {s = 12;}
						else if ( (LA240_0==PLUS) ) {s = 13;}
						else if ( (LA240_0==HASH_SYMBOL) ) {s = 15;}
						else if ( (LA240_0==DIMENSION) ) {s = 16;}
						else if ( (LA240_0==IDENT) ) {s = 19;}
						else if ( (LA240_0==AT_SIGN) ) {s = 20;}
						else if ( (LA240_0==MINUS) ) {s = 21;}
						else if ( (LA240_0==GEN) ) {s = 24;}
						else if ( (LA240_0==SASS_DEBUG||LA240_0==SASS_WARN) ) {s = 25;}
						else if ( (LA240_0==SASS_VAR) ) {s = 26;}
						else if ( (LA240_0==SASS_IF) ) {s = 27;}
						else if ( (LA240_0==SASS_FOR) ) {s = 28;}
						else if ( (LA240_0==SASS_EACH) ) {s = 29;}
						else if ( (LA240_0==SASS_WHILE) ) {s = 30;}
						else if ( (LA240_0==SASS_CONTENT) ) {s = 31;}
						else if ( (LA240_0==IMPORT_SYM) ) {s = 32;}
						else if ( (LA240_0==PAGE_SYM) ) {s = 33;}
						else if ( (LA240_0==FONT_FACE_SYM) ) {s = 34;}
						else if ( (LA240_0==MOZ_DOCUMENT_SYM) ) {s = 35;}
						else if ( (LA240_0==WEBKIT_KEYFRAMES_SYM) ) {s = 36;}
						else if ( (LA240_0==MEDIA_SYM) ) {s = 37;}
						else if ( (LA240_0==SASS_EXTEND) ) {s = 38;}
						else if ( ((LA240_0 >= BOTTOMCENTER_SYM && LA240_0 <= BOTTOMRIGHT_SYM)||LA240_0==CHARSET_SYM||LA240_0==COUNTER_STYLE_SYM||(LA240_0 >= LEFTBOTTOM_SYM && LA240_0 <= LEFTTOP_SYM)||LA240_0==NAMESPACE_SYM||(LA240_0 >= RIGHTBOTTOM_SYM && LA240_0 <= RIGHTTOP_SYM)||LA240_0==SASS_ELSE||LA240_0==SASS_FUNCTION||LA240_0==SASS_RETURN||(LA240_0 >= TOPCENTER_SYM && LA240_0 <= TOPRIGHT_SYM)) ) {s = 39;}
						else if ( (LA240_0==COMMA) ) {s = 42;}
						else if ( (LA240_0==SOLIDUS) && (synpred36_Css3())) {s = 43;}
						else if ( (LA240_0==TILDE) ) {s = 44;}
						else if ( (LA240_0==NUMBER) && (synpred36_Css3())) {s = 45;}
						else if ( (LA240_0==PERCENTAGE) && (synpred36_Css3())) {s = 46;}
						else if ( (LA240_0==LENGTH) && (synpred36_Css3())) {s = 47;}
						else if ( (LA240_0==EMS) && (synpred36_Css3())) {s = 48;}
						else if ( (LA240_0==REM) && (synpred36_Css3())) {s = 49;}
						else if ( (LA240_0==EXS) && (synpred36_Css3())) {s = 50;}
						else if ( (LA240_0==ANGLE) && (synpred36_Css3())) {s = 51;}
						else if ( (LA240_0==TIME) && (synpred36_Css3())) {s = 52;}
						else if ( (LA240_0==FREQ) && (synpred36_Css3())) {s = 53;}
						else if ( (LA240_0==RESOLUTION) && (synpred36_Css3())) {s = 54;}
						else if ( (LA240_0==STRING) && (synpred36_Css3())) {s = 55;}
						else if ( (LA240_0==LESS_JS_STRING) && (synpred36_Css3())) {s = 57;}
						else if ( (LA240_0==URI) && (synpred36_Css3())) {s = 58;}
						else if ( (LA240_0==PERCENTAGE_SYMBOL) && (synpred36_Css3())) {s = 59;}
						 
						input.seek(index240_0);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA240_1 = input.LA(1);
						 
						int index240_1 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_1);
						if ( s>=0 ) return s;
						break;

					case 2 : 
						int LA240_6 = input.LA(1);
						 
						int index240_6 = input.index();
						input.rewind();
						s = -1;
						if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_6);
						if ( s>=0 ) return s;
						break;

					case 3 : 
						int LA240_8 = input.LA(1);
						 
						int index240_8 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_8);
						if ( s>=0 ) return s;
						break;

					case 4 : 
						int LA240_9 = input.LA(1);
						 
						int index240_9 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_9);
						if ( s>=0 ) return s;
						break;

					case 5 : 
						int LA240_10 = input.LA(1);
						 
						int index240_10 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_10);
						if ( s>=0 ) return s;
						break;

					case 6 : 
						int LA240_11 = input.LA(1);
						 
						int index240_11 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_11);
						if ( s>=0 ) return s;
						break;

					case 7 : 
						int LA240_12 = input.LA(1);
						 
						int index240_12 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_12);
						if ( s>=0 ) return s;
						break;

					case 8 : 
						int LA240_13 = input.LA(1);
						 
						int index240_13 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_13);
						if ( s>=0 ) return s;
						break;

					case 9 : 
						int LA240_15 = input.LA(1);
						 
						int index240_15 = input.index();
						input.rewind();
						s = -1;
						if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_15);
						if ( s>=0 ) return s;
						break;

					case 10 : 
						int LA240_16 = input.LA(1);
						 
						int index240_16 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {s = 2;}
						 
						input.seek(index240_16);
						if ( s>=0 ) return s;
						break;

					case 11 : 
						int LA240_19 = input.LA(1);
						 
						int index240_19 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_19);
						if ( s>=0 ) return s;
						break;

					case 12 : 
						int LA240_20 = input.LA(1);
						 
						int index240_20 = input.index();
						input.rewind();
						s = -1;
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred36_Css3())) ) {s = 59;}
						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 2;}
						 
						input.seek(index240_20);
						if ( s>=0 ) return s;
						break;

					case 13 : 
						int LA240_21 = input.LA(1);
						 
						int index240_21 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_21);
						if ( s>=0 ) return s;
						break;

					case 14 : 
						int LA240_24 = input.LA(1);
						 
						int index240_24 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_24);
						if ( s>=0 ) return s;
						break;

					case 15 : 
						int LA240_25 = input.LA(1);
						 
						int index240_25 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_25);
						if ( s>=0 ) return s;
						break;

					case 16 : 
						int LA240_26 = input.LA(1);
						 
						int index240_26 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred36_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 59;}
						else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_26);
						if ( s>=0 ) return s;
						break;

					case 17 : 
						int LA240_27 = input.LA(1);
						 
						int index240_27 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_27);
						if ( s>=0 ) return s;
						break;

					case 18 : 
						int LA240_28 = input.LA(1);
						 
						int index240_28 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_28);
						if ( s>=0 ) return s;
						break;

					case 19 : 
						int LA240_29 = input.LA(1);
						 
						int index240_29 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_29);
						if ( s>=0 ) return s;
						break;

					case 20 : 
						int LA240_30 = input.LA(1);
						 
						int index240_30 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_30);
						if ( s>=0 ) return s;
						break;

					case 21 : 
						int LA240_31 = input.LA(1);
						 
						int index240_31 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_31);
						if ( s>=0 ) return s;
						break;

					case 22 : 
						int LA240_32 = input.LA(1);
						 
						int index240_32 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;}
						 
						input.seek(index240_32);
						if ( s>=0 ) return s;
						break;

					case 23 : 
						int LA240_33 = input.LA(1);
						 
						int index240_33 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_33);
						if ( s>=0 ) return s;
						break;

					case 24 : 
						int LA240_34 = input.LA(1);
						 
						int index240_34 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_34);
						if ( s>=0 ) return s;
						break;

					case 25 : 
						int LA240_35 = input.LA(1);
						 
						int index240_35 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_35);
						if ( s>=0 ) return s;
						break;

					case 26 : 
						int LA240_36 = input.LA(1);
						 
						int index240_36 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_36);
						if ( s>=0 ) return s;
						break;

					case 27 : 
						int LA240_37 = input.LA(1);
						 
						int index240_37 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_37);
						if ( s>=0 ) return s;
						break;

					case 28 : 
						int LA240_38 = input.LA(1);
						 
						int index240_38 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index240_38);
						if ( s>=0 ) return s;
						break;

					case 29 : 
						int LA240_39 = input.LA(1);
						 
						int index240_39 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) {s = 59;}
						else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 2;}
						 
						input.seek(index240_39);
						if ( s>=0 ) return s;
						break;

					case 30 : 
						int LA240_42 = input.LA(1);
						 
						int index240_42 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_42);
						if ( s>=0 ) return s;
						break;

					case 31 : 
						int LA240_44 = input.LA(1);
						 
						int index240_44 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred36_Css3()) ) {s = 59;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index240_44);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 240, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA239_eotS =
		"\5\uffff";
	static final String DFA239_eofS =
		"\5\uffff";
	static final String DFA239_minS =
		"\2\5\3\uffff";
	static final String DFA239_maxS =
		"\2\u0092\3\uffff";
	static final String DFA239_acceptS =
		"\2\uffff\1\2\1\3\1\1";
	static final String DFA239_specialS =
		"\5\uffff}>";
	static final String[] DFA239_transitionS = {
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
			"\1\3\1\uffff\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+
			"\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff"+
			"\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff"+
			"\1\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\1",
			"\3\4\2\uffff\5\4\3\uffff\1\4\1\uffff\1\2\1\1\1\uffff\1\4\6\uffff\1\4"+
			"\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff"+
			"\1\4\1\uffff\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1"+
			"\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff"+
			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff"+
			"\1\4\1\uffff\7\4\2\uffff\1\4\3\uffff\1\4\1\1",
			"",
			"",
			""
	};

	static final short[] DFA239_eot = DFA.unpackEncodedString(DFA239_eotS);
	static final short[] DFA239_eof = DFA.unpackEncodedString(DFA239_eofS);
	static final char[] DFA239_min = DFA.unpackEncodedStringToUnsignedChars(DFA239_minS);
	static final char[] DFA239_max = DFA.unpackEncodedStringToUnsignedChars(DFA239_maxS);
	static final short[] DFA239_accept = DFA.unpackEncodedString(DFA239_acceptS);
	static final short[] DFA239_special = DFA.unpackEncodedString(DFA239_specialS);
	static final short[][] DFA239_transition;

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

	protected class DFA239 extends DFA {

		public DFA239(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 239;
			this.eot = DFA239_eot;
			this.eof = DFA239_eof;
			this.min = DFA239_min;
			this.max = DFA239_max;
			this.accept = DFA239_accept;
			this.special = DFA239_special;
			this.transition = DFA239_transition;
		}
		@Override
		public String getDescription() {
			return "935:66: ( ws | ( ( ws )? operator ( ws )? ) |)";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA252_eotS =
		"\4\uffff";
	static final String DFA252_eofS =
		"\4\uffff";
	static final String DFA252_minS =
		"\2\24\2\uffff";
	static final String DFA252_maxS =
		"\2\u0092\2\uffff";
	static final String DFA252_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA252_specialS =
		"\4\uffff}>";
	static final String[] DFA252_transitionS = {
			"\1\3\1\1\73\uffff\1\1\26\uffff\1\2\26\uffff\1\3\22\uffff\1\1",
			"\1\3\1\1\73\uffff\1\1\26\uffff\1\2\26\uffff\1\3\22\uffff\1\1",
			"",
			""
	};

	static final short[] DFA252_eot = DFA.unpackEncodedString(DFA252_eotS);
	static final short[] DFA252_eof = DFA.unpackEncodedString(DFA252_eofS);
	static final char[] DFA252_min = DFA.unpackEncodedStringToUnsignedChars(DFA252_minS);
	static final char[] DFA252_max = DFA.unpackEncodedStringToUnsignedChars(DFA252_maxS);
	static final short[] DFA252_accept = DFA.unpackEncodedString(DFA252_acceptS);
	static final short[] DFA252_special = DFA.unpackEncodedString(DFA252_specialS);
	static final short[][] DFA252_transition;

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

	protected class DFA252 extends DFA {

		public DFA252(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 252;
			this.eot = DFA252_eot;
			this.eof = DFA252_eof;
			this.min = DFA252_min;
			this.max = DFA252_max;
			this.accept = DFA252_accept;
			this.special = DFA252_special;
			this.transition = DFA252_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1000:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA262_eotS =
		"\43\uffff";
	static final String DFA262_eofS =
		"\43\uffff";
	static final String DFA262_minS =
		"\2\5\41\uffff";
	static final String DFA262_maxS =
		"\2\u0092\41\uffff";
	static final String DFA262_acceptS =
		"\2\uffff\1\2\40\1";
	static final String DFA262_specialS =
		"\1\1\1\0\41\uffff}>";
	static final String[] DFA262_transitionS = {
			"\1\14\1\27\1\33\2\uffff\5\27\3\uffff\1\27\1\uffff\1\2\1\1\1\uffff\1\27"+
			"\6\uffff\1\20\2\uffff\1\11\3\uffff\1\13\1\uffff\1\27\1\16\1\uffff\1\24"+
			"\3\uffff\1\26\1\32\2\uffff\1\5\1\uffff\1\27\7\uffff\3\27\1\10\1\uffff"+
			"\1\31\1\23\5\uffff\1\27\1\4\1\27\5\uffff\1\27\1\1\4\uffff\1\6\3\uffff"+
			"\1\27\1\7\1\34\1\uffff\1\4\4\uffff\1\12\1\17\3\27\1\2\1\uffff\3\27\1"+
			"\uffff\2\27\2\uffff\1\27\1\uffff\2\27\1\uffff\3\27\1\uffff\1\27\1\30"+
			"\2\27\1\2\1\3\1\uffff\1\21\1\uffff\1\22\1\15\5\27\2\uffff\1\25\3\uffff"+
			"\1\27\1\1",
			"\1\14\1\35\1\41\2\uffff\5\35\3\uffff\1\35\1\uffff\1\2\1\1\1\uffff\1"+
			"\35\6\uffff\1\20\2\uffff\1\11\3\uffff\1\13\1\uffff\1\35\1\16\1\uffff"+
			"\1\24\3\uffff\1\26\1\40\2\uffff\1\5\1\uffff\1\35\7\uffff\3\35\1\10\1"+
			"\uffff\1\37\1\23\5\uffff\1\35\1\4\1\35\5\uffff\1\35\1\1\4\uffff\1\6\3"+
			"\uffff\1\35\1\7\1\42\1\uffff\1\4\4\uffff\1\12\1\17\3\35\1\2\1\uffff\3"+
			"\35\1\uffff\2\35\2\uffff\1\35\1\uffff\2\35\1\uffff\3\35\1\uffff\1\35"+
			"\1\36\2\35\1\2\1\3\1\uffff\1\21\1\uffff\1\22\1\15\5\35\2\uffff\1\25\3"+
			"\uffff\1\35\1\1",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA262_eot = DFA.unpackEncodedString(DFA262_eotS);
	static final short[] DFA262_eof = DFA.unpackEncodedString(DFA262_eofS);
	static final char[] DFA262_min = DFA.unpackEncodedStringToUnsignedChars(DFA262_minS);
	static final char[] DFA262_max = DFA.unpackEncodedStringToUnsignedChars(DFA262_maxS);
	static final short[] DFA262_accept = DFA.unpackEncodedString(DFA262_acceptS);
	static final short[] DFA262_special = DFA.unpackEncodedString(DFA262_specialS);
	static final short[][] DFA262_transition;

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

	protected class DFA262 extends DFA {

		public DFA262(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 262;
			this.eot = DFA262_eot;
			this.eof = DFA262_eof;
			this.min = DFA262_min;
			this.max = DFA262_max;
			this.accept = DFA262_accept;
			this.special = DFA262_special;
			this.transition = DFA262_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1018:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA262_1 = input.LA(1);
						 
						int index262_1 = input.index();
						input.rewind();
						s = -1;
						if ( (LA262_1==COMMA||LA262_1==RPAREN||LA262_1==SEMI) ) {s = 2;}
						else if ( (LA262_1==COMMENT||LA262_1==NL||LA262_1==WS) ) {s = 1;}
						else if ( (LA262_1==MINUS||LA262_1==PLUS) && (synpred40_Css3())) {s = 4;}
						else if ( (LA262_1==IDENT) && (synpred40_Css3())) {s = 5;}
						else if ( (LA262_1==NUMBER) && (synpred40_Css3())) {s = 6;}
						else if ( (LA262_1==PERCENTAGE) && (synpred40_Css3())) {s = 7;}
						else if ( (LA262_1==LENGTH) && (synpred40_Css3())) {s = 8;}
						else if ( (LA262_1==EMS) && (synpred40_Css3())) {s = 9;}
						else if ( (LA262_1==REM) && (synpred40_Css3())) {s = 10;}
						else if ( (LA262_1==EXS) && (synpred40_Css3())) {s = 11;}
						else if ( (LA262_1==ANGLE) && (synpred40_Css3())) {s = 12;}
						else if ( (LA262_1==TIME) && (synpred40_Css3())) {s = 13;}
						else if ( (LA262_1==FREQ) && (synpred40_Css3())) {s = 14;}
						else if ( (LA262_1==RESOLUTION) && (synpred40_Css3())) {s = 15;}
						else if ( (LA262_1==DIMENSION) && (synpred40_Css3())) {s = 16;}
						else if ( (LA262_1==STRING) && (synpred40_Css3())) {s = 17;}
						else if ( (LA262_1==TILDE) && (synpred40_Css3())) {s = 18;}
						else if ( (LA262_1==LESS_JS_STRING) && (synpred40_Css3())) {s = 19;}
						else if ( (LA262_1==GEN) && (synpred40_Css3())) {s = 20;}
						else if ( (LA262_1==URI) && (synpred40_Css3())) {s = 21;}
						else if ( (LA262_1==HASH) && (synpred40_Css3())) {s = 22;}
						else if ( (LA262_1==AT_IDENT||(LA262_1 >= BOTTOMCENTER_SYM && LA262_1 <= BOTTOMRIGHT_SYM)||LA262_1==CHARSET_SYM||LA262_1==COUNTER_STYLE_SYM||LA262_1==FONT_FACE_SYM||LA262_1==IMPORT_SYM||(LA262_1 >= LEFTBOTTOM_SYM && LA262_1 <= LEFTTOP_SYM)||LA262_1==MEDIA_SYM||LA262_1==MOZ_DOCUMENT_SYM||LA262_1==NAMESPACE_SYM||LA262_1==PAGE_SYM||(LA262_1 >= RIGHTBOTTOM_SYM && LA262_1 <= RIGHTTOP_SYM)||(LA262_1 >= SASS_AT_ROOT && LA262_1 <= SASS_DEBUG)||(LA262_1 >= SASS_EACH && LA262_1 <= SASS_ELSE)||LA262_1==SASS_EXTEND||(LA262_1 >= SASS_FOR && LA262_1 <= SASS_FUNCTION)||(LA262_1 >= SASS_IF && LA262_1 <= SASS_MIXIN)||LA262_1==SASS_RETURN||(LA262_1 >= SASS_WARN && LA262_1 <= SASS_WHILE)||(LA262_1 >= TOPCENTER_SYM && LA262_1 <= TOPRIGHT_SYM)||LA262_1==WEBKIT_KEYFRAMES_SYM) && (synpred40_Css3())) {s = 29;}
						else if ( (LA262_1==SASS_VAR) && (synpred40_Css3())) {s = 30;}
						else if ( (LA262_1==LESS_AND) && (synpred40_Css3())) {s = 31;}
						else if ( (LA262_1==HASH_SYMBOL) && (synpred40_Css3())) {s = 32;}
						else if ( (LA262_1==AT_SIGN) && (synpred40_Css3())) {s = 33;}
						else if ( (LA262_1==PERCENTAGE_SYMBOL) && (synpred40_Css3())) {s = 34;}
						else if ( (LA262_1==SOLIDUS) && (synpred40_Css3())) {s = 3;}
						 
						input.seek(index262_1);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA262_0 = input.LA(1);
						 
						int index262_0 = input.index();
						input.rewind();
						s = -1;
						if ( (LA262_0==COMMENT||LA262_0==NL||LA262_0==WS) ) {s = 1;}
						else if ( (LA262_0==COMMA||LA262_0==RPAREN||LA262_0==SEMI) ) {s = 2;}
						else if ( (LA262_0==SOLIDUS) && (synpred40_Css3())) {s = 3;}
						else if ( (LA262_0==MINUS||LA262_0==PLUS) && (synpred40_Css3())) {s = 4;}
						else if ( (LA262_0==IDENT) && (synpred40_Css3())) {s = 5;}
						else if ( (LA262_0==NUMBER) && (synpred40_Css3())) {s = 6;}
						else if ( (LA262_0==PERCENTAGE) && (synpred40_Css3())) {s = 7;}
						else if ( (LA262_0==LENGTH) && (synpred40_Css3())) {s = 8;}
						else if ( (LA262_0==EMS) && (synpred40_Css3())) {s = 9;}
						else if ( (LA262_0==REM) && (synpred40_Css3())) {s = 10;}
						else if ( (LA262_0==EXS) && (synpred40_Css3())) {s = 11;}
						else if ( (LA262_0==ANGLE) && (synpred40_Css3())) {s = 12;}
						else if ( (LA262_0==TIME) && (synpred40_Css3())) {s = 13;}
						else if ( (LA262_0==FREQ) && (synpred40_Css3())) {s = 14;}
						else if ( (LA262_0==RESOLUTION) && (synpred40_Css3())) {s = 15;}
						else if ( (LA262_0==DIMENSION) && (synpred40_Css3())) {s = 16;}
						else if ( (LA262_0==STRING) && (synpred40_Css3())) {s = 17;}
						else if ( (LA262_0==TILDE) && (synpred40_Css3())) {s = 18;}
						else if ( (LA262_0==LESS_JS_STRING) && (synpred40_Css3())) {s = 19;}
						else if ( (LA262_0==GEN) && (synpred40_Css3())) {s = 20;}
						else if ( (LA262_0==URI) && (synpred40_Css3())) {s = 21;}
						else if ( (LA262_0==HASH) && (synpred40_Css3())) {s = 22;}
						else if ( (LA262_0==AT_IDENT||(LA262_0 >= BOTTOMCENTER_SYM && LA262_0 <= BOTTOMRIGHT_SYM)||LA262_0==CHARSET_SYM||LA262_0==COUNTER_STYLE_SYM||LA262_0==FONT_FACE_SYM||LA262_0==IMPORT_SYM||(LA262_0 >= LEFTBOTTOM_SYM && LA262_0 <= LEFTTOP_SYM)||LA262_0==MEDIA_SYM||LA262_0==MOZ_DOCUMENT_SYM||LA262_0==NAMESPACE_SYM||LA262_0==PAGE_SYM||(LA262_0 >= RIGHTBOTTOM_SYM && LA262_0 <= RIGHTTOP_SYM)||(LA262_0 >= SASS_AT_ROOT && LA262_0 <= SASS_DEBUG)||(LA262_0 >= SASS_EACH && LA262_0 <= SASS_ELSE)||LA262_0==SASS_EXTEND||(LA262_0 >= SASS_FOR && LA262_0 <= SASS_FUNCTION)||(LA262_0 >= SASS_IF && LA262_0 <= SASS_MIXIN)||LA262_0==SASS_RETURN||(LA262_0 >= SASS_WARN && LA262_0 <= SASS_WHILE)||(LA262_0 >= TOPCENTER_SYM && LA262_0 <= TOPRIGHT_SYM)||LA262_0==WEBKIT_KEYFRAMES_SYM) && (synpred40_Css3())) {s = 23;}
						else if ( (LA262_0==SASS_VAR) && (synpred40_Css3())) {s = 24;}
						else if ( (LA262_0==LESS_AND) && (synpred40_Css3())) {s = 25;}
						else if ( (LA262_0==HASH_SYMBOL) && (synpred40_Css3())) {s = 26;}
						else if ( (LA262_0==AT_SIGN) && (synpred40_Css3())) {s = 27;}
						else if ( (LA262_0==PERCENTAGE_SYMBOL) && (synpred40_Css3())) {s = 28;}
						 
						input.seek(index262_0);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 262, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA261_eotS =
		"\5\uffff";
	static final String DFA261_eofS =
		"\5\uffff";
	static final String DFA261_minS =
		"\2\5\3\uffff";
	static final String DFA261_maxS =
		"\2\u0092\3\uffff";
	static final String DFA261_acceptS =
		"\2\uffff\1\2\1\3\1\1";
	static final String DFA261_specialS =
		"\5\uffff}>";
	static final String[] DFA261_transitionS = {
			"\3\3\2\uffff\5\3\3\uffff\1\3\2\uffff\1\1\1\uffff\1\3\6\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff\1\3\1\uffff"+
			"\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1\4\uffff\1\3"+
			"\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+
			"\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff\1\3\1\uffff"+
			"\7\3\2\uffff\1\3\3\uffff\1\3\1\1",
			"\3\4\2\uffff\5\4\3\uffff\1\4\2\uffff\1\1\1\uffff\1\4\6\uffff\1\4\2\uffff"+
			"\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff\1\4\1\uffff"+
			"\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1\4\uffff\1\4"+
			"\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff\2\4\2\uffff"+
			"\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff\1\4\1\uffff"+
			"\7\4\2\uffff\1\4\3\uffff\1\4\1\1",
			"",
			"",
			""
	};

	static final short[] DFA261_eot = DFA.unpackEncodedString(DFA261_eotS);
	static final short[] DFA261_eof = DFA.unpackEncodedString(DFA261_eofS);
	static final char[] DFA261_min = DFA.unpackEncodedStringToUnsignedChars(DFA261_minS);
	static final char[] DFA261_max = DFA.unpackEncodedStringToUnsignedChars(DFA261_maxS);
	static final short[] DFA261_accept = DFA.unpackEncodedString(DFA261_acceptS);
	static final short[] DFA261_special = DFA.unpackEncodedString(DFA261_specialS);
	static final short[][] DFA261_transition;

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

	protected class DFA261 extends DFA {

		public DFA261(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 261;
			this.eot = DFA261_eot;
			this.eof = DFA261_eof;
			this.min = DFA261_min;
			this.max = DFA261_max;
			this.accept = DFA261_accept;
			this.special = DFA261_special;
			this.transition = DFA261_transition;
		}
		@Override
		public String getDescription() {
			return "1018:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA271_eotS =
		"\5\uffff";
	static final String DFA271_eofS =
		"\2\2\3\uffff";
	static final String DFA271_minS =
		"\2\6\3\uffff";
	static final String DFA271_maxS =
		"\2\u0092\3\uffff";
	static final String DFA271_acceptS =
		"\2\uffff\1\3\1\1\1\2";
	static final String DFA271_specialS =
		"\5\uffff}>";
	static final String[] DFA271_transitionS = {
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\3\2\2\2\uffff\4\2\1\4\3\2\1\uffff\5\2\1\uffff"+
			"\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\3\2\2\1\uffff\5\2\1\4\3\2\1\uffff\5\2\1\uffff"+
			"\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"",
			"",
			""
	};

	static final short[] DFA271_eot = DFA.unpackEncodedString(DFA271_eotS);
	static final short[] DFA271_eof = DFA.unpackEncodedString(DFA271_eofS);
	static final char[] DFA271_min = DFA.unpackEncodedStringToUnsignedChars(DFA271_minS);
	static final char[] DFA271_max = DFA.unpackEncodedStringToUnsignedChars(DFA271_maxS);
	static final short[] DFA271_accept = DFA.unpackEncodedString(DFA271_acceptS);
	static final short[] DFA271_special = DFA.unpackEncodedString(DFA271_specialS);
	static final short[][] DFA271_transition;

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

	protected class DFA271 extends DFA {

		public DFA271(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 271;
			this.eot = DFA271_eot;
			this.eof = DFA271_eof;
			this.min = DFA271_min;
			this.max = DFA271_max;
			this.accept = DFA271_accept;
			this.special = DFA271_special;
			this.transition = DFA271_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1037:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA276_eotS =
		"\102\uffff";
	static final String DFA276_eofS =
		"\1\2\101\uffff";
	static final String DFA276_minS =
		"\1\5\1\0\52\uffff\1\0\25\uffff";
	static final String DFA276_maxS =
		"\1\u0092\1\0\52\uffff\1\0\25\uffff";
	static final String DFA276_acceptS =
		"\2\uffff\1\2\76\uffff\1\1";
	static final String DFA276_specialS =
		"\1\uffff\1\0\52\uffff\1\1\25\uffff}>";
	static final String[] DFA276_transitionS = {
			"\3\2\2\uffff\5\2\3\uffff\2\2\1\54\1\1\1\uffff\1\2\5\uffff\3\2\1\uffff"+
			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\2\2\2\uffff\2\2\2\uffff\3\2\5\uffff"+
			"\6\2\1\uffff\2\2\3\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\2\2"+
			"\3\uffff\5\2\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\10\2\1\uffff"+
			"\5\2\1\uffff\2\2\1\uffff\7\2\2\uffff\1\2\3\uffff\1\2\1\1",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA276_eot = DFA.unpackEncodedString(DFA276_eotS);
	static final short[] DFA276_eof = DFA.unpackEncodedString(DFA276_eofS);
	static final char[] DFA276_min = DFA.unpackEncodedStringToUnsignedChars(DFA276_minS);
	static final char[] DFA276_max = DFA.unpackEncodedStringToUnsignedChars(DFA276_maxS);
	static final short[] DFA276_accept = DFA.unpackEncodedString(DFA276_acceptS);
	static final short[] DFA276_special = DFA.unpackEncodedString(DFA276_specialS);
	static final short[][] DFA276_transition;

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

	protected class DFA276 extends DFA {

		public DFA276(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 276;
			this.eot = DFA276_eot;
			this.eof = DFA276_eof;
			this.min = DFA276_min;
			this.max = DFA276_max;
			this.accept = DFA276_accept;
			this.special = DFA276_special;
			this.transition = DFA276_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1053:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA276_1 = input.LA(1);
						 
						int index276_1 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred42_Css3()) ) {s = 65;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index276_1);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA276_44 = input.LA(1);
						 
						int index276_44 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred42_Css3()) ) {s = 65;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index276_44);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 276, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA282_eotS =
		"\112\uffff";
	static final String DFA282_eofS =
		"\1\2\111\uffff";
	static final String DFA282_minS =
		"\1\5\1\0\1\uffff\1\0\1\uffff\11\0\2\uffff\1\0\1\uffff\6\0\1\uffff\1\0"+
		"\4\uffff\15\0\1\uffff\2\0\3\uffff\20\0\2\uffff\1\0\6\uffff";
	static final String DFA282_maxS =
		"\1\u0092\1\0\1\uffff\1\0\1\uffff\11\0\2\uffff\1\0\1\uffff\6\0\1\uffff"+
		"\1\0\4\uffff\15\0\1\uffff\2\0\3\uffff\20\0\2\uffff\1\0\6\uffff";
	static final String DFA282_acceptS =
		"\2\uffff\1\3\101\uffff\5\1\1\2";
	static final String DFA282_specialS =
		"\1\0\1\1\1\uffff\1\2\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\2"+
		"\uffff\1\14\1\uffff\1\15\1\16\1\17\1\20\1\21\1\22\1\uffff\1\23\4\uffff"+
		"\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\uffff"+
		"\1\41\1\42\3\uffff\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1"+
		"\55\1\56\1\57\1\60\1\61\1\62\2\uffff\1\63\6\uffff}>";
	static final String[] DFA282_transitionS = {
			"\1\70\1\23\1\12\2\uffff\5\55\3\uffff\1\55\2\2\1\103\1\uffff\1\52\1\2"+
			"\1\104\1\105\2\uffff\1\2\1\31\1\2\1\uffff\1\65\3\uffff\1\67\1\uffff\1"+
			"\45\1\72\1\uffff\1\13\1\74\1\110\1\uffff\1\22\1\11\2\uffff\1\7\1\3\1"+
			"\43\5\uffff\2\2\3\55\1\64\1\106\1\20\1\75\1\107\1\2\1\uffff\1\100\1\uffff"+
			"\1\50\1\10\1\46\5\uffff\1\55\1\103\3\uffff\1\61\1\5\3\uffff\1\44\1\63"+
			"\1\77\1\2\1\27\2\uffff\1\2\1\uffff\1\66\1\73\3\55\1\2\1\uffff\1\25\1"+
			"\42\1\26\1\2\1\40\1\55\2\uffff\1\51\1\2\1\37\1\54\1\2\1\36\1\24\1\14"+
			"\1\uffff\1\55\1\15\1\26\1\41\1\2\1\uffff\1\2\1\6\1\uffff\1\62\1\71\5"+
			"\55\2\uffff\1\76\3\uffff\1\47\1\1",
			"\1\uffff",
			"",
			"\1\uffff",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"",
			"\1\uffff",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"\1\uffff",
			"\1\uffff",
			"",
			"",
			"",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"\1\uffff",
			"",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			""
	};

	static final short[] DFA282_eot = DFA.unpackEncodedString(DFA282_eotS);
	static final short[] DFA282_eof = DFA.unpackEncodedString(DFA282_eofS);
	static final char[] DFA282_min = DFA.unpackEncodedStringToUnsignedChars(DFA282_minS);
	static final char[] DFA282_max = DFA.unpackEncodedStringToUnsignedChars(DFA282_maxS);
	static final short[] DFA282_accept = DFA.unpackEncodedString(DFA282_acceptS);
	static final short[] DFA282_special = DFA.unpackEncodedString(DFA282_specialS);
	static final short[][] DFA282_transition;

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

	protected class DFA282 extends DFA {

		public DFA282(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 282;
			this.eot = DFA282_eot;
			this.eof = DFA282_eof;
			this.min = DFA282_min;
			this.max = DFA282_max;
			this.accept = DFA282_accept;
			this.special = DFA282_special;
			this.transition = DFA282_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1070:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA282_0 = input.LA(1);
						 
						int index282_0 = input.index();
						input.rewind();
						s = -1;
						if ( (LA282_0==WS) ) {s = 1;}
						else if ( (LA282_0==EOF||(LA282_0 >= COLON && LA282_0 <= COMMA)||LA282_0==CP_DOTS||LA282_0==DCOLON||LA282_0==DOT||(LA282_0 >= LBRACE && LA282_0 <= LBRACKET)||LA282_0==LESS_REST||LA282_0==PIPE||LA282_0==RBRACE||LA282_0==RPAREN||LA282_0==SASS_DEFAULT||LA282_0==SASS_EXTEND_ONLY_SELECTOR||LA282_0==SASS_GLOBAL||LA282_0==SEMI||LA282_0==STAR) ) {s = 2;}
						else if ( (LA282_0==IMPORTANT_SYM) ) {s = 3;}
						else if ( (LA282_0==NUMBER) ) {s = 5;}
						else if ( (LA282_0==STRING) ) {s = 6;}
						else if ( (LA282_0==IDENT) ) {s = 7;}
						else if ( (LA282_0==MINUS) ) {s = 8;}
						else if ( (LA282_0==HASH_SYMBOL) ) {s = 9;}
						else if ( (LA282_0==AT_SIGN) ) {s = 10;}
						else if ( (LA282_0==GEN) ) {s = 11;}
						else if ( (LA282_0==SASS_MIXIN) ) {s = 12;}
						else if ( (LA282_0==SASS_VAR) ) {s = 13;}
						else if ( (LA282_0==LESS_AND) ) {s = 16;}
						else if ( (LA282_0==HASH) ) {s = 18;}
						else if ( (LA282_0==AT_IDENT) ) {s = 19;}
						else if ( (LA282_0==SASS_INCLUDE) ) {s = 20;}
						else if ( (LA282_0==SASS_AT_ROOT) ) {s = 21;}
						else if ( (LA282_0==SASS_DEBUG||LA282_0==SASS_WARN) ) {s = 22;}
						else if ( (LA282_0==PLUS) ) {s = 23;}
						else if ( (LA282_0==DIMENSION) ) {s = 25;}
						else if ( (LA282_0==SASS_IF) ) {s = 30;}
						else if ( (LA282_0==SASS_FOR) ) {s = 31;}
						else if ( (LA282_0==SASS_EACH) ) {s = 32;}
						else if ( (LA282_0==SASS_WHILE) ) {s = 33;}
						else if ( (LA282_0==SASS_CONTENT) ) {s = 34;}
						else if ( (LA282_0==IMPORT_SYM) ) {s = 35;}
						else if ( (LA282_0==PAGE_SYM) ) {s = 36;}
						else if ( (LA282_0==FONT_FACE_SYM) ) {s = 37;}
						else if ( (LA282_0==MOZ_DOCUMENT_SYM) ) {s = 38;}
						else if ( (LA282_0==WEBKIT_KEYFRAMES_SYM) ) {s = 39;}
						else if ( (LA282_0==MEDIA_SYM) ) {s = 40;}
						else if ( (LA282_0==SASS_EXTEND) ) {s = 41;}
						else if ( (LA282_0==COUNTER_STYLE_SYM) ) {s = 42;}
						else if ( (LA282_0==SASS_FUNCTION) ) {s = 44;}
						else if ( ((LA282_0 >= BOTTOMCENTER_SYM && LA282_0 <= BOTTOMRIGHT_SYM)||LA282_0==CHARSET_SYM||(LA282_0 >= LEFTBOTTOM_SYM && LA282_0 <= LEFTTOP_SYM)||LA282_0==NAMESPACE_SYM||(LA282_0 >= RIGHTBOTTOM_SYM && LA282_0 <= RIGHTTOP_SYM)||LA282_0==SASS_ELSE||LA282_0==SASS_RETURN||(LA282_0 >= TOPCENTER_SYM && LA282_0 <= TOPRIGHT_SYM)) ) {s = 45;}
						else if ( (LA282_0==NOT) ) {s = 49;}
						else if ( (LA282_0==TILDE) ) {s = 50;}
						else if ( (LA282_0==PERCENTAGE) ) {s = 51;}
						else if ( (LA282_0==LENGTH) ) {s = 52;}
						else if ( (LA282_0==EMS) ) {s = 53;}
						else if ( (LA282_0==REM) ) {s = 54;}
						else if ( (LA282_0==EXS) ) {s = 55;}
						else if ( (LA282_0==ANGLE) ) {s = 56;}
						else if ( (LA282_0==TIME) ) {s = 57;}
						else if ( (LA282_0==FREQ) ) {s = 58;}
						else if ( (LA282_0==RESOLUTION) ) {s = 59;}
						else if ( (LA282_0==GREATER) ) {s = 60;}
						else if ( (LA282_0==LESS_JS_STRING) ) {s = 61;}
						else if ( (LA282_0==URI) ) {s = 62;}
						else if ( (LA282_0==PERCENTAGE_SYMBOL) ) {s = 63;}
						else if ( (LA282_0==LPAREN) ) {s = 64;}
						else if ( (LA282_0==COMMENT||LA282_0==NL) ) {s = 67;}
						else if ( (LA282_0==CP_EQ) && (synpred44_Css3())) {s = 68;}
						else if ( (LA282_0==CP_NOT_EQ) && (synpred44_Css3())) {s = 69;}
						else if ( (LA282_0==LESS) && (synpred44_Css3())) {s = 70;}
						else if ( (LA282_0==LESS_OR_EQ) && (synpred44_Css3())) {s = 71;}
						else if ( (LA282_0==GREATER_OR_EQ) && (synpred44_Css3())) {s = 72;}
						 
						input.seek(index282_0);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA282_1 = input.LA(1);
						 
						int index282_1 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred44_Css3()) ) {s = 72;}
						else if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_1);
						if ( s>=0 ) return s;
						break;

					case 2 : 
						int LA282_3 = input.LA(1);
						 
						int index282_3 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_3);
						if ( s>=0 ) return s;
						break;

					case 3 : 
						int LA282_5 = input.LA(1);
						 
						int index282_5 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_5);
						if ( s>=0 ) return s;
						break;

					case 4 : 
						int LA282_6 = input.LA(1);
						 
						int index282_6 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_6);
						if ( s>=0 ) return s;
						break;

					case 5 : 
						int LA282_7 = input.LA(1);
						 
						int index282_7 = input.index();
						input.rewind();
						s = -1;
						if ( ((synpred44_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 72;}
						else if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_7);
						if ( s>=0 ) return s;
						break;

					case 6 : 
						int LA282_8 = input.LA(1);
						 
						int index282_8 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_8);
						if ( s>=0 ) return s;
						break;

					case 7 : 
						int LA282_9 = input.LA(1);
						 
						int index282_9 = input.index();
						input.rewind();
						s = -1;
						if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_9);
						if ( s>=0 ) return s;
						break;

					case 8 : 
						int LA282_10 = input.LA(1);
						 
						int index282_10 = input.index();
						input.rewind();
						s = -1;
						if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) {s = 73;}
						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 2;}
						 
						input.seek(index282_10);
						if ( s>=0 ) return s;
						break;

					case 9 : 
						int LA282_11 = input.LA(1);
						 
						int index282_11 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_11);
						if ( s>=0 ) return s;
						break;

					case 10 : 
						int LA282_12 = input.LA(1);
						 
						int index282_12 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_12);
						if ( s>=0 ) return s;
						break;

					case 11 : 
						int LA282_13 = input.LA(1);
						 
						int index282_13 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 73;}
						else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) {s = 2;}
						 
						input.seek(index282_13);
						if ( s>=0 ) return s;
						break;

					case 12 : 
						int LA282_16 = input.LA(1);
						 
						int index282_16 = input.index();
						input.rewind();
						s = -1;
						if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_16);
						if ( s>=0 ) return s;
						break;

					case 13 : 
						int LA282_18 = input.LA(1);
						 
						int index282_18 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_18);
						if ( s>=0 ) return s;
						break;

					case 14 : 
						int LA282_19 = input.LA(1);
						 
						int index282_19 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_19);
						if ( s>=0 ) return s;
						break;

					case 15 : 
						int LA282_20 = input.LA(1);
						 
						int index282_20 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_20);
						if ( s>=0 ) return s;
						break;

					case 16 : 
						int LA282_21 = input.LA(1);
						 
						int index282_21 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_21);
						if ( s>=0 ) return s;
						break;

					case 17 : 
						int LA282_22 = input.LA(1);
						 
						int index282_22 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_22);
						if ( s>=0 ) return s;
						break;

					case 18 : 
						int LA282_23 = input.LA(1);
						 
						int index282_23 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_23);
						if ( s>=0 ) return s;
						break;

					case 19 : 
						int LA282_25 = input.LA(1);
						 
						int index282_25 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_25);
						if ( s>=0 ) return s;
						break;

					case 20 : 
						int LA282_30 = input.LA(1);
						 
						int index282_30 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_30);
						if ( s>=0 ) return s;
						break;

					case 21 : 
						int LA282_31 = input.LA(1);
						 
						int index282_31 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_31);
						if ( s>=0 ) return s;
						break;

					case 22 : 
						int LA282_32 = input.LA(1);
						 
						int index282_32 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_32);
						if ( s>=0 ) return s;
						break;

					case 23 : 
						int LA282_33 = input.LA(1);
						 
						int index282_33 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_33);
						if ( s>=0 ) return s;
						break;

					case 24 : 
						int LA282_34 = input.LA(1);
						 
						int index282_34 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_34);
						if ( s>=0 ) return s;
						break;

					case 25 : 
						int LA282_35 = input.LA(1);
						 
						int index282_35 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()")))) ) {s = 2;}
						 
						input.seek(index282_35);
						if ( s>=0 ) return s;
						break;

					case 26 : 
						int LA282_36 = input.LA(1);
						 
						int index282_36 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_36);
						if ( s>=0 ) return s;
						break;

					case 27 : 
						int LA282_37 = input.LA(1);
						 
						int index282_37 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_37);
						if ( s>=0 ) return s;
						break;

					case 28 : 
						int LA282_38 = input.LA(1);
						 
						int index282_38 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_38);
						if ( s>=0 ) return s;
						break;

					case 29 : 
						int LA282_39 = input.LA(1);
						 
						int index282_39 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_39);
						if ( s>=0 ) return s;
						break;

					case 30 : 
						int LA282_40 = input.LA(1);
						 
						int index282_40 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_40);
						if ( s>=0 ) return s;
						break;

					case 31 : 
						int LA282_41 = input.LA(1);
						 
						int index282_41 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_41);
						if ( s>=0 ) return s;
						break;

					case 32 : 
						int LA282_42 = input.LA(1);
						 
						int index282_42 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_42);
						if ( s>=0 ) return s;
						break;

					case 33 : 
						int LA282_44 = input.LA(1);
						 
						int index282_44 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 2;}
						 
						input.seek(index282_44);
						if ( s>=0 ) return s;
						break;

					case 34 : 
						int LA282_45 = input.LA(1);
						 
						int index282_45 = input.index();
						input.rewind();
						s = -1;
						if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) {s = 73;}
						else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) {s = 2;}
						 
						input.seek(index282_45);
						if ( s>=0 ) return s;
						break;

					case 35 : 
						int LA282_49 = input.LA(1);
						 
						int index282_49 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_49);
						if ( s>=0 ) return s;
						break;

					case 36 : 
						int LA282_50 = input.LA(1);
						 
						int index282_50 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_50);
						if ( s>=0 ) return s;
						break;

					case 37 : 
						int LA282_51 = input.LA(1);
						 
						int index282_51 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_51);
						if ( s>=0 ) return s;
						break;

					case 38 : 
						int LA282_52 = input.LA(1);
						 
						int index282_52 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_52);
						if ( s>=0 ) return s;
						break;

					case 39 : 
						int LA282_53 = input.LA(1);
						 
						int index282_53 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_53);
						if ( s>=0 ) return s;
						break;

					case 40 : 
						int LA282_54 = input.LA(1);
						 
						int index282_54 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_54);
						if ( s>=0 ) return s;
						break;

					case 41 : 
						int LA282_55 = input.LA(1);
						 
						int index282_55 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_55);
						if ( s>=0 ) return s;
						break;

					case 42 : 
						int LA282_56 = input.LA(1);
						 
						int index282_56 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_56);
						if ( s>=0 ) return s;
						break;

					case 43 : 
						int LA282_57 = input.LA(1);
						 
						int index282_57 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_57);
						if ( s>=0 ) return s;
						break;

					case 44 : 
						int LA282_58 = input.LA(1);
						 
						int index282_58 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_58);
						if ( s>=0 ) return s;
						break;

					case 45 : 
						int LA282_59 = input.LA(1);
						 
						int index282_59 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_59);
						if ( s>=0 ) return s;
						break;

					case 46 : 
						int LA282_60 = input.LA(1);
						 
						int index282_60 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred44_Css3()) ) {s = 72;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_60);
						if ( s>=0 ) return s;
						break;

					case 47 : 
						int LA282_61 = input.LA(1);
						 
						int index282_61 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_61);
						if ( s>=0 ) return s;
						break;

					case 48 : 
						int LA282_62 = input.LA(1);
						 
						int index282_62 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_62);
						if ( s>=0 ) return s;
						break;

					case 49 : 
						int LA282_63 = input.LA(1);
						 
						int index282_63 = input.index();
						input.rewind();
						s = -1;
						if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())) ) {s = 73;}
						else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;}
						 
						input.seek(index282_63);
						if ( s>=0 ) return s;
						break;

					case 50 : 
						int LA282_64 = input.LA(1);
						 
						int index282_64 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_64);
						if ( s>=0 ) return s;
						break;

					case 51 : 
						int LA282_67 = input.LA(1);
						 
						int index282_67 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred44_Css3()) ) {s = 72;}
						else if ( (synpred45_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index282_67);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 282, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA296_eotS =
		"\112\uffff";
	static final String DFA296_eofS =
		"\1\2\111\uffff";
	static final String DFA296_minS =
		"\1\5\1\0\13\uffff\1\0\31\uffff\1\0\11\uffff\1\0\26\uffff\1\0\1\uffff";
	static final String DFA296_maxS =
		"\1\u0092\1\0\13\uffff\1\0\31\uffff\1\0\11\uffff\1\0\26\uffff\1\0\1\uffff";
	static final String DFA296_acceptS =
		"\2\uffff\1\2\106\uffff\1\1";
	static final String DFA296_specialS =
		"\1\0\1\1\13\uffff\1\2\31\uffff\1\3\11\uffff\1\4\26\uffff\1\5\1\uffff}>";
	static final String[] DFA296_transitionS = {
			"\3\2\2\uffff\5\2\3\uffff\3\2\1\110\1\uffff\4\2\2\uffff\3\2\1\uffff\1"+
			"\2\3\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\2\2\2\uffff\3\2\5\uffff"+
			"\13\2\1\uffff\1\2\1\uffff\1\2\1\15\1\2\5\uffff\1\2\1\110\3\uffff\2\2"+
			"\3\uffff\4\2\1\47\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\10\2\1"+
			"\uffff\5\2\1\111\1\61\1\2\1\uffff\7\2\2\uffff\1\2\3\uffff\1\2\1\1",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\uffff",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"",
			"\1\uffff",
			""
	};

	static final short[] DFA296_eot = DFA.unpackEncodedString(DFA296_eotS);
	static final short[] DFA296_eof = DFA.unpackEncodedString(DFA296_eofS);
	static final char[] DFA296_min = DFA.unpackEncodedStringToUnsignedChars(DFA296_minS);
	static final char[] DFA296_max = DFA.unpackEncodedStringToUnsignedChars(DFA296_maxS);
	static final short[] DFA296_accept = DFA.unpackEncodedString(DFA296_acceptS);
	static final short[] DFA296_special = DFA.unpackEncodedString(DFA296_specialS);
	static final short[][] DFA296_transition;

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

	protected class DFA296 extends DFA {

		public DFA296(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 296;
			this.eot = DFA296_eot;
			this.eof = DFA296_eof;
			this.min = DFA296_min;
			this.max = DFA296_max;
			this.accept = DFA296_accept;
			this.special = DFA296_special;
			this.transition = DFA296_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1112:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA296_0 = input.LA(1);
						 
						int index296_0 = input.index();
						input.rewind();
						s = -1;
						if ( (LA296_0==WS) ) {s = 1;}
						else if ( (LA296_0==EOF||(LA296_0 >= ANGLE && LA296_0 <= AT_SIGN)||(LA296_0 >= BOTTOMCENTER_SYM && LA296_0 <= BOTTOMRIGHT_SYM)||(LA296_0 >= CHARSET_SYM && LA296_0 <= COMMA)||(LA296_0 >= COUNTER_STYLE_SYM && LA296_0 <= CP_NOT_EQ)||(LA296_0 >= DCOLON && LA296_0 <= DOT)||LA296_0==EMS||LA296_0==EXS||(LA296_0 >= FONT_FACE_SYM && LA296_0 <= FREQ)||(LA296_0 >= GEN && LA296_0 <= GREATER_OR_EQ)||(LA296_0 >= HASH && LA296_0 <= HASH_SYMBOL)||(LA296_0 >= IDENT && LA296_0 <= IMPORT_SYM)||(LA296_0 >= LBRACE && LA296_0 <= LESS_REST)||LA296_0==LPAREN||LA296_0==MEDIA_SYM||LA296_0==MOZ_DOCUMENT_SYM||LA296_0==NAMESPACE_SYM||(LA296_0 >= NOT && LA296_0 <= NUMBER)||(LA296_0 >= PAGE_SYM && LA296_0 <= PIPE)||LA296_0==RBRACE||(LA296_0 >= REM && LA296_0 <= RPAREN)||(LA296_0 >= SASS_AT_ROOT && LA296_0 <= SASS_ELSE)||(LA296_0 >= SASS_EXTEND && LA296_0 <= SASS_MIXIN)||(LA296_0 >= SASS_RETURN && LA296_0 <= SEMI)||LA296_0==STRING||(LA296_0 >= TILDE && LA296_0 <= TOPRIGHT_SYM)||LA296_0==URI||LA296_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;}
						else if ( (LA296_0==MINUS) ) {s = 13;}
						else if ( (LA296_0==PLUS) ) {s = 39;}
						else if ( (LA296_0==STAR) ) {s = 49;}
						else if ( (LA296_0==COMMENT||LA296_0==NL) ) {s = 72;}
						else if ( (LA296_0==SOLIDUS) && (synpred47_Css3())) {s = 73;}
						 
						input.seek(index296_0);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA296_1 = input.LA(1);
						 
						int index296_1 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred47_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index296_1);
						if ( s>=0 ) return s;
						break;

					case 2 : 
						int LA296_13 = input.LA(1);
						 
						int index296_13 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred47_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index296_13);
						if ( s>=0 ) return s;
						break;

					case 3 : 
						int LA296_39 = input.LA(1);
						 
						int index296_39 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred47_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index296_39);
						if ( s>=0 ) return s;
						break;

					case 4 : 
						int LA296_49 = input.LA(1);
						 
						int index296_49 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred47_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index296_49);
						if ( s>=0 ) return s;
						break;

					case 5 : 
						int LA296_72 = input.LA(1);
						 
						int index296_72 = input.index();
						input.rewind();
						s = -1;
						if ( (synpred47_Css3()) ) {s = 73;}
						else if ( (true) ) {s = 2;}
						 
						input.seek(index296_72);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 296, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA301_eotS =
		"\6\uffff";
	static final String DFA301_eofS =
		"\6\uffff";
	static final String DFA301_minS =
		"\2\5\3\uffff\1\5";
	static final String DFA301_maxS =
		"\1\u0091\1\u0092\3\uffff\1\u0092";
	static final String DFA301_acceptS =
		"\2\uffff\1\1\1\2\1\3\1\uffff";
	static final String DFA301_specialS =
		"\6\uffff}>";
	static final String[] DFA301_transitionS = {
			"\3\2\2\uffff\5\2\3\uffff\1\2\4\uffff\1\2\6\uffff\1\2\2\uffff\1\2\3\uffff"+
			"\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\2\uffff\1\2\1\3\1\2\7\uffff"+
			"\4\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\1\1\2\5\uffff\1\2\5\uffff"+
			"\1\2\3\uffff\3\2\1\uffff\1\1\4\uffff\5\2\2\uffff\3\2\1\uffff\2\2\2\uffff"+
			"\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\4\2\3\uffff\1\2\1\uffff\7\2\2\uffff"+
			"\1\2\3\uffff\1\2",
			"\3\2\2\uffff\5\2\3\uffff\1\2\2\uffff\1\5\1\uffff\1\2\6\uffff\1\2\2\uffff"+
			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\2\uffff\1\2\1\uffff"+
			"\1\2\7\uffff\4\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff\1\2\5\uffff"+
			"\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2\1\uffff\2\2"+
			"\2\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\4\2\3\uffff\1\2\1\uffff"+
			"\7\2\2\uffff\1\2\3\uffff\1\2\1\5",
			"",
			"",
			"",
			"\3\2\2\uffff\5\2\3\uffff\1\2\2\uffff\1\5\1\uffff\1\2\6\uffff\1\2\2\uffff"+
			"\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\2\uffff\1\2\1\uffff"+
			"\1\2\7\uffff\4\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff\1\2\5\uffff"+
			"\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2\1\uffff\2\2"+
			"\2\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\4\2\3\uffff\1\2\1\uffff"+
			"\7\2\2\uffff\1\2\3\uffff\1\2\1\5"
	};

	static final short[] DFA301_eot = DFA.unpackEncodedString(DFA301_eotS);
	static final short[] DFA301_eof = DFA.unpackEncodedString(DFA301_eofS);
	static final char[] DFA301_min = DFA.unpackEncodedStringToUnsignedChars(DFA301_minS);
	static final char[] DFA301_max = DFA.unpackEncodedStringToUnsignedChars(DFA301_maxS);
	static final short[] DFA301_accept = DFA.unpackEncodedString(DFA301_acceptS);
	static final short[] DFA301_special = DFA.unpackEncodedString(DFA301_specialS);
	static final short[][] DFA301_transition;

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

	protected class DFA301 extends DFA {

		public DFA301(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 301;
			this.eot = DFA301_eot;
			this.eof = DFA301_eof;
			this.min = DFA301_min;
			this.max = DFA301_max;
			this.accept = DFA301_accept;
			this.special = DFA301_special;
			this.transition = DFA301_transition;
		}
		@Override
		public String getDescription() {
			return "1117:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN );";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA308_eotS =
		"\4\uffff";
	static final String DFA308_eofS =
		"\4\uffff";
	static final String DFA308_minS =
		"\2\25\2\uffff";
	static final String DFA308_maxS =
		"\2\u0092\2\uffff";
	static final String DFA308_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA308_specialS =
		"\4\uffff}>";
	static final String[] DFA308_transitionS = {
			"\1\1\34\uffff\1\2\7\uffff\1\3\26\uffff\1\1\100\uffff\1\1",
			"\1\1\34\uffff\1\2\7\uffff\1\3\26\uffff\1\1\100\uffff\1\1",
			"",
			""
	};

	static final short[] DFA308_eot = DFA.unpackEncodedString(DFA308_eotS);
	static final short[] DFA308_eof = DFA.unpackEncodedString(DFA308_eofS);
	static final char[] DFA308_min = DFA.unpackEncodedStringToUnsignedChars(DFA308_minS);
	static final char[] DFA308_max = DFA.unpackEncodedStringToUnsignedChars(DFA308_maxS);
	static final short[] DFA308_accept = DFA.unpackEncodedString(DFA308_acceptS);
	static final short[] DFA308_special = DFA.unpackEncodedString(DFA308_specialS);
	static final short[][] DFA308_transition;

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

	protected class DFA308 extends DFA {

		public DFA308(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 308;
			this.eot = DFA308_eot;
			this.eof = DFA308_eof;
			this.min = DFA308_min;
			this.max = DFA308_max;
			this.accept = DFA308_accept;
			this.special = DFA308_special;
			this.transition = DFA308_transition;
		}
		@Override
		public String getDescription() {
			return "1133:107: ( ( ws )? less_mixin_guarded )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA312_eotS =
		"\4\uffff";
	static final String DFA312_eofS =
		"\4\uffff";
	static final String DFA312_minS =
		"\2\25\2\uffff";
	static final String DFA312_maxS =
		"\2\u0092\2\uffff";
	static final String DFA312_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA312_specialS =
		"\4\uffff}>";
	static final String[] DFA312_transitionS = {
			"\1\1\44\uffff\1\3\13\uffff\1\2\12\uffff\1\1\100\uffff\1\1",
			"\1\1\44\uffff\1\3\13\uffff\1\2\12\uffff\1\1\100\uffff\1\1",
			"",
			""
	};

	static final short[] DFA312_eot = DFA.unpackEncodedString(DFA312_eotS);
	static final short[] DFA312_eof = DFA.unpackEncodedString(DFA312_eofS);
	static final char[] DFA312_min = DFA.unpackEncodedStringToUnsignedChars(DFA312_minS);
	static final char[] DFA312_max = DFA.unpackEncodedStringToUnsignedChars(DFA312_maxS);
	static final short[] DFA312_accept = DFA.unpackEncodedString(DFA312_acceptS);
	static final short[] DFA312_special = DFA.unpackEncodedString(DFA312_specialS);
	static final short[][] DFA312_transition;

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

	protected class DFA312 extends DFA {

		public DFA312(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 312;
			this.eot = DFA312_eot;
			this.eof = DFA312_eof;
			this.min = DFA312_min;
			this.max = DFA312_max;
			this.accept = DFA312_accept;
			this.special = DFA312_special;
			this.transition = DFA312_transition;
		}
		@Override
		public String getDescription() {
			return "1135:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA327_eotS =
		"\4\uffff";
	static final String DFA327_eofS =
		"\2\3\2\uffff";
	static final String DFA327_minS =
		"\2\6\2\uffff";
	static final String DFA327_maxS =
		"\2\u0092\2\uffff";
	static final String DFA327_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA327_specialS =
		"\4\uffff}>";
	static final String[] DFA327_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\5\3\2\uffff\1\3\4\uffff"+
			"\1\2\1\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+
			"\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff"+
			"\5\3\1\uffff\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA327_eot = DFA.unpackEncodedString(DFA327_eotS);
	static final short[] DFA327_eof = DFA.unpackEncodedString(DFA327_eofS);
	static final char[] DFA327_min = DFA.unpackEncodedStringToUnsignedChars(DFA327_minS);
	static final char[] DFA327_max = DFA.unpackEncodedStringToUnsignedChars(DFA327_maxS);
	static final short[] DFA327_accept = DFA.unpackEncodedString(DFA327_acceptS);
	static final short[] DFA327_special = DFA.unpackEncodedString(DFA327_specialS);
	static final short[][] DFA327_transition;

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

	protected class DFA327 extends DFA {

		public DFA327(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 327;
			this.eot = DFA327_eot;
			this.eof = DFA327_eof;
			this.min = DFA327_min;
			this.max = DFA327_max;
			this.accept = DFA327_accept;
			this.special = DFA327_special;
			this.transition = DFA327_transition;
		}
		@Override
		public String getDescription() {
			return "1147:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA329_eotS =
		"\4\uffff";
	static final String DFA329_eofS =
		"\2\3\2\uffff";
	static final String DFA329_minS =
		"\2\6\2\uffff";
	static final String DFA329_maxS =
		"\2\u0092\2\uffff";
	static final String DFA329_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA329_specialS =
		"\4\uffff}>";
	static final String[] DFA329_transitionS = {
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\1\2\4\3\2\uffff\1\3"+
			"\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3\3\uffff"+
			"\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\4\3\1\uffff\3\3\1\uffff\5\3\1\uffff"+
			"\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\uffff\1\3\5\uffff\3\3\7\uffff"+
			"\1\3\2\uffff\2\3\2\uffff\2\3\2\uffff\3\3\5\uffff\1\2\4\3\2\uffff\1\3"+
			"\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3\3\uffff"+
			"\3\3\2\uffff\3\3\1\uffff\2\3\1\uffff\5\3\1\uffff\3\3\1\uffff\5\3\1\uffff"+
			"\1\3\2\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA329_eot = DFA.unpackEncodedString(DFA329_eotS);
	static final short[] DFA329_eof = DFA.unpackEncodedString(DFA329_eofS);
	static final char[] DFA329_min = DFA.unpackEncodedStringToUnsignedChars(DFA329_minS);
	static final char[] DFA329_max = DFA.unpackEncodedStringToUnsignedChars(DFA329_maxS);
	static final short[] DFA329_accept = DFA.unpackEncodedString(DFA329_acceptS);
	static final short[] DFA329_special = DFA.unpackEncodedString(DFA329_specialS);
	static final short[][] DFA329_transition;

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

	protected class DFA329 extends DFA {

		public DFA329(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 329;
			this.eot = DFA329_eot;
			this.eof = DFA329_eof;
			this.min = DFA329_min;
			this.max = DFA329_max;
			this.accept = DFA329_accept;
			this.special = DFA329_special;
			this.transition = DFA329_transition;
		}
		@Override
		public String getDescription() {
			return "1147:102: ( ( ws )? cp_mixin_block )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA342_eotS =
		"\7\uffff";
	static final String DFA342_eofS =
		"\7\uffff";
	static final String DFA342_minS =
		"\3\5\1\uffff\1\5\1\uffff\1\5";
	static final String DFA342_maxS =
		"\1\u0091\2\u0092\1\uffff\1\u0092\1\uffff\1\u0092";
	static final String DFA342_acceptS =
		"\3\uffff\1\2\1\uffff\1\1\1\uffff";
	static final String DFA342_specialS =
		"\7\uffff}>";
	static final String[] DFA342_transitionS = {
			"\1\3\1\1\1\3\2\uffff\5\1\3\uffff\1\1\4\uffff\1\1\6\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\1\1\1\3\1\uffff\1\3\3\uffff\2\3\2\uffff\2\3"+
			"\1\1\5\uffff\1\3\1\uffff\3\1\1\3\1\uffff\2\3\3\uffff\1\3\1\uffff\1\1"+
			"\1\3\1\1\5\uffff\1\1\4\uffff\2\3\3\uffff\1\1\2\3\1\uffff\1\3\4\uffff"+
			"\2\3\3\1\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\2\1\1\uffff\3\1"+
			"\1\uffff\1\1\1\2\2\1\3\uffff\1\3\1\uffff\2\3\5\1\2\uffff\1\3\3\uffff"+
			"\1\1",
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\4\1\uffff\4\3\3\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\4\3\uffff\2\3\3\uffff\3\3"+
			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
			"\2\3\1\uffff\3\3\1\uffff\10\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\4",
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\6\1\uffff\4\3\3\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\6\3\uffff\2\3\3\uffff\3\3"+
			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
			"\2\3\1\uffff\3\3\1\uffff\10\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\6",
			"",
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\4\1\uffff\4\3\3\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\4\3\uffff\2\3\3\uffff\3\3"+
			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
			"\2\3\1\uffff\3\3\1\uffff\10\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\4",
			"",
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\5\1\3\1\6\1\uffff\4\3\3\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\2\3\2\uffff\3\3\7\uffff"+
			"\10\3\2\uffff\1\3\1\uffff\3\3\5\uffff\1\3\1\6\3\uffff\2\3\3\uffff\3\3"+
			"\1\uffff\1\3\4\uffff\6\3\1\uffff\3\3\1\uffff\2\3\2\uffff\1\3\1\uffff"+
			"\2\3\1\uffff\3\3\1\uffff\10\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\6"
	};

	static final short[] DFA342_eot = DFA.unpackEncodedString(DFA342_eotS);
	static final short[] DFA342_eof = DFA.unpackEncodedString(DFA342_eofS);
	static final char[] DFA342_min = DFA.unpackEncodedStringToUnsignedChars(DFA342_minS);
	static final char[] DFA342_max = DFA.unpackEncodedStringToUnsignedChars(DFA342_maxS);
	static final short[] DFA342_accept = DFA.unpackEncodedString(DFA342_acceptS);
	static final short[] DFA342_special = DFA.unpackEncodedString(DFA342_specialS);
	static final short[][] DFA342_transition;

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

	protected class DFA342 extends DFA {

		public DFA342(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 342;
			this.eot = DFA342_eot;
			this.eof = DFA342_eof;
			this.min = DFA342_min;
			this.max = DFA342_max;
			this.accept = DFA342_accept;
			this.special = DFA342_special;
			this.transition = DFA342_transition;
		}
		@Override
		public String getDescription() {
			return "1173:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA345_eotS =
		"\5\uffff";
	static final String DFA345_eofS =
		"\5\uffff";
	static final String DFA345_minS =
		"\1\24\1\6\1\uffff\1\6\1\uffff";
	static final String DFA345_maxS =
		"\1\177\1\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA345_acceptS =
		"\2\uffff\1\2\1\uffff\1\1";
	static final String DFA345_specialS =
		"\5\uffff}>";
	static final String[] DFA345_transitionS = {
			"\1\1\3\uffff\1\2\53\uffff\1\2\43\uffff\1\2\26\uffff\1\1",
			"\1\4\3\uffff\5\4\3\uffff\1\4\2\uffff\1\3\1\uffff\1\4\1\2\16\uffff\1"+
			"\4\12\uffff\1\4\1\uffff\1\4\7\uffff\3\4\5\uffff\1\2\3\uffff\1\4\1\uffff"+
			"\1\4\5\uffff\1\4\1\3\10\uffff\1\4\12\uffff\3\4\1\2\1\uffff\3\4\1\uffff"+
			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\7\uffff\5\4\6\uffff"+
			"\1\4\1\3",
			"",
			"\1\4\3\uffff\5\4\3\uffff\1\4\2\uffff\1\3\1\uffff\1\4\1\2\16\uffff\1"+
			"\4\12\uffff\1\4\1\uffff\1\4\7\uffff\3\4\5\uffff\1\2\3\uffff\1\4\1\uffff"+
			"\1\4\5\uffff\1\4\1\3\10\uffff\1\4\12\uffff\3\4\1\2\1\uffff\3\4\1\uffff"+
			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\7\uffff\5\4\6\uffff"+
			"\1\4\1\3",
			""
	};

	static final short[] DFA345_eot = DFA.unpackEncodedString(DFA345_eotS);
	static final short[] DFA345_eof = DFA.unpackEncodedString(DFA345_eofS);
	static final char[] DFA345_min = DFA.unpackEncodedStringToUnsignedChars(DFA345_minS);
	static final char[] DFA345_max = DFA.unpackEncodedStringToUnsignedChars(DFA345_maxS);
	static final short[] DFA345_accept = DFA.unpackEncodedString(DFA345_acceptS);
	static final short[] DFA345_special = DFA.unpackEncodedString(DFA345_specialS);
	static final short[][] DFA345_transition;

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

	protected class DFA345 extends DFA {

		public DFA345(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 345;
			this.eot = DFA345_eot;
			this.eof = DFA345_eof;
			this.min = DFA345_min;
			this.max = DFA345_max;
			this.accept = DFA345_accept;
			this.special = DFA345_special;
			this.transition = DFA345_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1188:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA361_eotS =
		"\4\uffff";
	static final String DFA361_eofS =
		"\4\uffff";
	static final String DFA361_minS =
		"\2\24\2\uffff";
	static final String DFA361_maxS =
		"\2\u0092\2\uffff";
	static final String DFA361_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA361_specialS =
		"\4\uffff}>";
	static final String[] DFA361_transitionS = {
			"\1\3\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"\1\3\1\1\34\uffff\1\3\7\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"",
			""
	};

	static final short[] DFA361_eot = DFA.unpackEncodedString(DFA361_eotS);
	static final short[] DFA361_eof = DFA.unpackEncodedString(DFA361_eofS);
	static final char[] DFA361_min = DFA.unpackEncodedStringToUnsignedChars(DFA361_minS);
	static final char[] DFA361_max = DFA.unpackEncodedStringToUnsignedChars(DFA361_maxS);
	static final short[] DFA361_accept = DFA.unpackEncodedString(DFA361_acceptS);
	static final short[] DFA361_special = DFA.unpackEncodedString(DFA361_specialS);
	static final short[][] DFA361_transition;

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

	protected class DFA361 extends DFA {

		public DFA361(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 361;
			this.eot = DFA361_eot;
			this.eof = DFA361_eof;
			this.min = DFA361_min;
			this.max = DFA361_max;
			this.accept = DFA361_accept;
			this.special = DFA361_special;
			this.transition = DFA361_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1204:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA388_eotS =
		"\4\uffff";
	static final String DFA388_eofS =
		"\4\uffff";
	static final String DFA388_minS =
		"\1\25\1\6\2\uffff";
	static final String DFA388_maxS =
		"\2\u0092\2\uffff";
	static final String DFA388_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA388_specialS =
		"\4\uffff}>";
	static final String[] DFA388_transitionS = {
			"\1\1\73\uffff\1\1\17\uffff\1\2\35\uffff\1\2\22\uffff\1\1",
			"\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\1\1\1\uffff\1\2\5\uffff\3\2\7\uffff"+
			"\1\2\2\uffff\2\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\6\uffff\4\2\2\uffff"+
			"\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+
			"\3\uffff\3\2\2\uffff\3\2\1\uffff\2\2\1\uffff\5\2\1\uffff\3\2\1\3\5\2"+
			"\1\uffff\1\2\2\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\1",
			"",
			""
	};

	static final short[] DFA388_eot = DFA.unpackEncodedString(DFA388_eotS);
	static final short[] DFA388_eof = DFA.unpackEncodedString(DFA388_eofS);
	static final char[] DFA388_min = DFA.unpackEncodedStringToUnsignedChars(DFA388_minS);
	static final char[] DFA388_max = DFA.unpackEncodedStringToUnsignedChars(DFA388_maxS);
	static final short[] DFA388_accept = DFA.unpackEncodedString(DFA388_acceptS);
	static final short[] DFA388_special = DFA.unpackEncodedString(DFA388_specialS);
	static final short[][] DFA388_transition;

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

	protected class DFA388 extends DFA {

		public DFA388(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 388;
			this.eot = DFA388_eot;
			this.eof = DFA388_eof;
			this.min = DFA388_min;
			this.max = DFA388_max;
			this.accept = DFA388_accept;
			this.special = DFA388_special;
			this.transition = DFA388_transition;
		}
		@Override
		public String getDescription() {
			return "1280:43: ( ws SASS_OPTIONAL )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA394_eotS =
		"\10\uffff";
	static final String DFA394_eofS =
		"\2\4\6\uffff";
	static final String DFA394_minS =
		"\2\6\1\23\2\uffff\3\23";
	static final String DFA394_maxS =
		"\3\u0092\2\uffff\3\u0092";
	static final String DFA394_acceptS =
		"\3\uffff\1\1\1\2\3\uffff";
	static final String DFA394_specialS =
		"\10\uffff}>";
	static final String[] DFA394_transitionS = {
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\1\4\1\2\1\3\1\uffff\4\4\1\uffff\3\4"+
			"\1\uffff\5\4\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\1",
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\1\4\1\5\1\3\5\4\1\uffff\3\4\1\uffff"+
			"\5\4\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\1",
			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\100\uffff\1\6",
			"",
			"",
			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\100\uffff\1\7",
			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\100\uffff\1\6",
			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\100\uffff\1\7"
	};

	static final short[] DFA394_eot = DFA.unpackEncodedString(DFA394_eotS);
	static final short[] DFA394_eof = DFA.unpackEncodedString(DFA394_eofS);
	static final char[] DFA394_min = DFA.unpackEncodedStringToUnsignedChars(DFA394_minS);
	static final char[] DFA394_max = DFA.unpackEncodedStringToUnsignedChars(DFA394_maxS);
	static final short[] DFA394_accept = DFA.unpackEncodedString(DFA394_acceptS);
	static final short[] DFA394_special = DFA.unpackEncodedString(DFA394_specialS);
	static final short[][] DFA394_transition;

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

	protected class DFA394 extends DFA {

		public DFA394(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 394;
			this.eot = DFA394_eot;
			this.eof = DFA394_eof;
			this.min = DFA394_min;
			this.max = DFA394_max;
			this.accept = DFA394_accept;
			this.special = DFA394_special;
			this.transition = DFA394_transition;
		}
		@Override
		public String getDescription() {
			return "1305:64: ( ( ws )? sass_else )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA402_eotS =
		"\5\uffff";
	static final String DFA402_eofS =
		"\5\uffff";
	static final String DFA402_minS =
		"\1\157\1\25\1\uffff\1\25\1\uffff";
	static final String DFA402_maxS =
		"\1\160\1\u0092\1\uffff\1\u0092\1\uffff";
	static final String DFA402_acceptS =
		"\2\uffff\1\2\1\uffff\1\1";
	static final String DFA402_specialS =
		"\5\uffff}>";
	static final String[] DFA402_transitionS = {
			"\1\1\1\2",
			"\1\3\34\uffff\1\2\7\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			"",
			"\1\3\34\uffff\1\2\7\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			""
	};

	static final short[] DFA402_eot = DFA.unpackEncodedString(DFA402_eotS);
	static final short[] DFA402_eof = DFA.unpackEncodedString(DFA402_eofS);
	static final char[] DFA402_min = DFA.unpackEncodedStringToUnsignedChars(DFA402_minS);
	static final char[] DFA402_max = DFA.unpackEncodedStringToUnsignedChars(DFA402_maxS);
	static final short[] DFA402_accept = DFA.unpackEncodedString(DFA402_acceptS);
	static final short[] DFA402_special = DFA.unpackEncodedString(DFA402_specialS);
	static final short[][] DFA402_transition;

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

	protected class DFA402 extends DFA {

		public DFA402(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 402;
			this.eot = DFA402_eot;
			this.eof = DFA402_eof;
			this.min = DFA402_min;
			this.max = DFA402_max;
			this.accept = DFA402_accept;
			this.special = DFA402_special;
			this.transition = DFA402_transition;
		}
		@Override
		public String getDescription() {
			return "1308:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? );";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA401_eotS =
		"\10\uffff";
	static final String DFA401_eofS =
		"\2\4\6\uffff";
	static final String DFA401_minS =
		"\2\6\1\23\2\uffff\3\23";
	static final String DFA401_maxS =
		"\3\u0092\2\uffff\3\u0092";
	static final String DFA401_acceptS =
		"\3\uffff\1\1\1\2\3\uffff";
	static final String DFA401_specialS =
		"\10\uffff}>";
	static final String[] DFA401_transitionS = {
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\1\4\1\2\1\3\1\uffff\4\4\1\uffff\3\4"+
			"\1\uffff\5\4\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\1",
			"\2\4\2\uffff\5\4\3\uffff\2\4\1\uffff\1\1\1\uffff\1\4\5\uffff\3\4\7\uffff"+
			"\1\4\2\uffff\2\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\6\uffff\4\4\2\uffff"+
			"\1\4\6\uffff\3\4\5\uffff\1\4\1\1\10\uffff\1\4\2\uffff\2\4\2\uffff\1\4"+
			"\3\uffff\3\4\2\uffff\3\4\1\uffff\1\4\1\5\1\3\5\4\1\uffff\3\4\1\uffff"+
			"\5\4\1\uffff\1\4\2\uffff\1\4\1\uffff\5\4\6\uffff\1\4\1\1",
			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\100\uffff\1\6",
			"",
			"",
			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\100\uffff\1\7",
			"\1\4\1\uffff\1\6\34\uffff\1\3\7\uffff\1\3\26\uffff\1\6\100\uffff\1\6",
			"\1\4\1\uffff\1\7\34\uffff\1\3\7\uffff\1\3\26\uffff\1\7\100\uffff\1\7"
	};

	static final short[] DFA401_eot = DFA.unpackEncodedString(DFA401_eotS);
	static final short[] DFA401_eof = DFA.unpackEncodedString(DFA401_eofS);
	static final char[] DFA401_min = DFA.unpackEncodedStringToUnsignedChars(DFA401_minS);
	static final char[] DFA401_max = DFA.unpackEncodedStringToUnsignedChars(DFA401_maxS);
	static final short[] DFA401_accept = DFA.unpackEncodedString(DFA401_acceptS);
	static final short[] DFA401_special = DFA.unpackEncodedString(DFA401_specialS);
	static final short[][] DFA401_transition;

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

	protected class DFA401 extends DFA {

		public DFA401(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 401;
			this.eot = DFA401_eot;
			this.eof = DFA401_eof;
			this.min = DFA401_min;
			this.max = DFA401_max;
			this.accept = DFA401_accept;
			this.special = DFA401_special;
			this.transition = DFA401_transition;
		}
		@Override
		public String getDescription() {
			return "1312:128: ( ( ws )? sass_else )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA405_eotS =
		"\4\uffff";
	static final String DFA405_eofS =
		"\4\uffff";
	static final String DFA405_minS =
		"\2\5\2\uffff";
	static final String DFA405_maxS =
		"\2\u0092\2\uffff";
	static final String DFA405_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA405_specialS =
		"\4\uffff}>";
	static final String[] DFA405_transitionS = {
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
			"\3\3\5\uffff\1\3\1\uffff\4\3\1\uffff\2\3\3\uffff\1\3\1\uffff\3\3\5\uffff"+
			"\1\3\1\1\3\uffff\2\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3"+
			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
			"\1\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\1",
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
			"\3\3\5\uffff\1\3\1\uffff\4\3\1\uffff\2\3\3\uffff\1\3\1\uffff\3\3\5\uffff"+
			"\1\3\1\1\3\uffff\2\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3"+
			"\1\uffff\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\3\uffff"+
			"\1\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\1",
			"",
			""
	};

	static final short[] DFA405_eot = DFA.unpackEncodedString(DFA405_eotS);
	static final short[] DFA405_eof = DFA.unpackEncodedString(DFA405_eofS);
	static final char[] DFA405_min = DFA.unpackEncodedStringToUnsignedChars(DFA405_minS);
	static final char[] DFA405_max = DFA.unpackEncodedStringToUnsignedChars(DFA405_maxS);
	static final short[] DFA405_accept = DFA.unpackEncodedString(DFA405_acceptS);
	static final short[] DFA405_special = DFA.unpackEncodedString(DFA405_specialS);
	static final short[][] DFA405_transition;

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

	protected class DFA405 extends DFA {

		public DFA405(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 405;
			this.eot = DFA405_eot;
			this.eof = DFA405_eof;
			this.min = DFA405_min;
			this.max = DFA405_max;
			this.accept = DFA405_accept;
			this.special = DFA405_special;
			this.transition = DFA405_transition;
		}
		@Override
		public String getDescription() {
			return "1327:102: ( ( ws )? COMMA )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA410_eotS =
		"\4\uffff";
	static final String DFA410_eofS =
		"\4\uffff";
	static final String DFA410_minS =
		"\2\24\2\uffff";
	static final String DFA410_maxS =
		"\2\u0092\2\uffff";
	static final String DFA410_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA410_specialS =
		"\1\1\1\0\2\uffff}>";
	static final String[] DFA410_transitionS = {
			"\1\2\1\1\73\uffff\1\1\100\uffff\1\1",
			"\1\2\1\1\34\uffff\1\3\36\uffff\1\1\100\uffff\1\1",
			"",
			""
	};

	static final short[] DFA410_eot = DFA.unpackEncodedString(DFA410_eotS);
	static final short[] DFA410_eof = DFA.unpackEncodedString(DFA410_eofS);
	static final char[] DFA410_min = DFA.unpackEncodedStringToUnsignedChars(DFA410_minS);
	static final char[] DFA410_max = DFA.unpackEncodedStringToUnsignedChars(DFA410_maxS);
	static final short[] DFA410_accept = DFA.unpackEncodedString(DFA410_acceptS);
	static final short[] DFA410_special = DFA.unpackEncodedString(DFA410_specialS);
	static final short[][] DFA410_transition;

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

	protected class DFA410 extends DFA {

		public DFA410(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 410;
			this.eot = DFA410_eot;
			this.eof = DFA410_eof;
			this.min = DFA410_min;
			this.max = DFA410_max;
			this.accept = DFA410_accept;
			this.special = DFA410_special;
			this.transition = DFA410_transition;
		}
		@Override
		public String getDescription() {
			return "()* loopback of 1332:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
		@Override
		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
			TokenStream input = (TokenStream)_input;
			int _s = s;
			switch ( s ) {
					case 0 : 
						int LA410_1 = input.LA(1);
						 
						int index410_1 = input.index();
						input.rewind();
						s = -1;
						if ( (LA410_1==IDENT) ) {s = 3;}
						else if ( (LA410_1==COMMENT||LA410_1==NL||LA410_1==WS) ) {s = 1;}
						else if ( (LA410_1==COMMA) && (synpred52_Css3())) {s = 2;}
						 
						input.seek(index410_1);
						if ( s>=0 ) return s;
						break;

					case 1 : 
						int LA410_0 = input.LA(1);
						 
						int index410_0 = input.index();
						input.rewind();
						s = -1;
						if ( (LA410_0==COMMENT||LA410_0==NL||LA410_0==WS) ) {s = 1;}
						else if ( (LA410_0==COMMA) && (synpred52_Css3())) {s = 2;}
						 
						input.seek(index410_0);
						if ( s>=0 ) return s;
						break;
			}
			if (state.backtracking>0) {state.failed=true; return -1;}
			NoViableAltException nvae =
				new NoViableAltException(getDescription(), 410, _s, input);
			error(nvae);
			throw nvae;
		}
	}

	static final String DFA430_eotS =
		"\4\uffff";
	static final String DFA430_eofS =
		"\4\uffff";
	static final String DFA430_minS =
		"\2\25\2\uffff";
	static final String DFA430_maxS =
		"\2\u0092\2\uffff";
	static final String DFA430_acceptS =
		"\2\uffff\1\1\1\2";
	static final String DFA430_specialS =
		"\4\uffff}>";
	static final String[] DFA430_transitionS = {
			"\1\1\35\uffff\1\2\35\uffff\1\1\55\uffff\1\3\22\uffff\1\1",
			"\1\1\35\uffff\1\2\35\uffff\1\1\55\uffff\1\3\22\uffff\1\1",
			"",
			""
	};

	static final short[] DFA430_eot = DFA.unpackEncodedString(DFA430_eotS);
	static final short[] DFA430_eof = DFA.unpackEncodedString(DFA430_eofS);
	static final char[] DFA430_min = DFA.unpackEncodedStringToUnsignedChars(DFA430_minS);
	static final char[] DFA430_max = DFA.unpackEncodedStringToUnsignedChars(DFA430_maxS);
	static final short[] DFA430_accept = DFA.unpackEncodedString(DFA430_acceptS);
	static final short[] DFA430_special = DFA.unpackEncodedString(DFA430_specialS);
	static final short[][] DFA430_transition;

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

	protected class DFA430 extends DFA {

		public DFA430(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 430;
			this.eot = DFA430_eot;
			this.eof = DFA430_eof;
			this.min = DFA430_min;
			this.max = DFA430_max;
			this.accept = DFA430_accept;
			this.special = DFA430_special;
			this.transition = DFA430_transition;
		}
		@Override
		public String getDescription() {
			return "422:22: ( ( ws )? IMPORTANT_SYM )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA437_eotS =
		"\6\uffff";
	static final String DFA437_eofS =
		"\6\uffff";
	static final String DFA437_minS =
		"\1\7\1\25\1\uffff\1\7\2\uffff";
	static final String DFA437_maxS =
		"\1\u0084\1\u0092\1\uffff\1\u0092\2\uffff";
	static final String DFA437_acceptS =
		"\2\uffff\1\3\1\uffff\1\1\1\2";
	static final String DFA437_specialS =
		"\6\uffff}>";
	static final String[] DFA437_transitionS = {
			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\2\uffff\1\2\10"+
			"\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\2\2\13\uffff\1\1\10\uffff"+
			"\1\2\15\uffff\1\2\2\uffff\1\2",
			"\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			"",
			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\2"+
			"\uffff\1\4\7\uffff\2\4\5\uffff\1\4\4\uffff\1\5\2\uffff\1\4\7\uffff\1"+
			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\2\uffff\1\4\15\uffff\1\3",
			"",
			""
	};

	static final short[] DFA437_eot = DFA.unpackEncodedString(DFA437_eotS);
	static final short[] DFA437_eof = DFA.unpackEncodedString(DFA437_eofS);
	static final char[] DFA437_min = DFA.unpackEncodedStringToUnsignedChars(DFA437_minS);
	static final char[] DFA437_max = DFA.unpackEncodedStringToUnsignedChars(DFA437_maxS);
	static final short[] DFA437_accept = DFA.unpackEncodedString(DFA437_acceptS);
	static final short[] DFA437_special = DFA.unpackEncodedString(DFA437_specialS);
	static final short[][] DFA437_transition;

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

	protected class DFA437 extends DFA {

		public DFA437(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 437;
			this.eot = DFA437_eot;
			this.eof = DFA437_eof;
			this.min = DFA437_min;
			this.max = DFA437_max;
			this.accept = DFA437_accept;
			this.special = DFA437_special;
			this.transition = DFA437_transition;
		}
		@Override
		public String getDescription() {
			return "424:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA432_eotS =
		"\4\uffff";
	static final String DFA432_eofS =
		"\4\uffff";
	static final String DFA432_minS =
		"\1\25\1\7\2\uffff";
	static final String DFA432_maxS =
		"\2\u0092\2\uffff";
	static final String DFA432_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA432_specialS =
		"\4\uffff}>";
	static final String[] DFA432_transitionS = {
			"\1\1\44\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2"+
			"\uffff\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
			"\2\3\24\uffff\1\3\15\uffff\1\3\2\uffff\1\3\15\uffff\1\1",
			"",
			""
	};

	static final short[] DFA432_eot = DFA.unpackEncodedString(DFA432_eotS);
	static final short[] DFA432_eof = DFA.unpackEncodedString(DFA432_eofS);
	static final char[] DFA432_min = DFA.unpackEncodedStringToUnsignedChars(DFA432_minS);
	static final char[] DFA432_max = DFA.unpackEncodedStringToUnsignedChars(DFA432_maxS);
	static final short[] DFA432_accept = DFA.unpackEncodedString(DFA432_acceptS);
	static final short[] DFA432_special = DFA.unpackEncodedString(DFA432_specialS);
	static final short[][] DFA432_transition;

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

	protected class DFA432 extends DFA {

		public DFA432(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 432;
			this.eot = DFA432_eot;
			this.eof = DFA432_eof;
			this.min = DFA432_min;
			this.max = DFA432_max;
			this.accept = DFA432_accept;
			this.special = DFA432_special;
			this.transition = DFA432_transition;
		}
		@Override
		public String getDescription() {
			return "424:23: ( ws selectorsGroup )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA456_eotS =
		"\6\uffff";
	static final String DFA456_eofS =
		"\6\uffff";
	static final String DFA456_minS =
		"\1\7\1\25\1\uffff\1\7\2\uffff";
	static final String DFA456_maxS =
		"\1\u0084\1\u0092\1\uffff\1\u0092\2\uffff";
	static final String DFA456_acceptS =
		"\2\uffff\1\3\1\uffff\1\1\1\2";
	static final String DFA456_specialS =
		"\6\uffff}>";
	static final String[] DFA456_transitionS = {
			"\1\2\13\uffff\1\2\11\uffff\3\2\12\uffff\2\2\2\uffff\2\2\2\uffff\1\2\10"+
			"\uffff\1\2\5\uffff\1\2\7\uffff\1\2\23\uffff\2\2\13\uffff\1\1\10\uffff"+
			"\1\2\15\uffff\1\2\2\uffff\1\2",
			"\1\3\44\uffff\1\4\26\uffff\1\3\100\uffff\1\3",
			"",
			"\1\4\13\uffff\1\4\1\uffff\1\3\7\uffff\3\4\12\uffff\2\4\2\uffff\2\4\2"+
			"\uffff\1\4\7\uffff\2\4\5\uffff\1\4\4\uffff\1\5\2\uffff\1\4\7\uffff\1"+
			"\3\13\uffff\2\4\24\uffff\1\4\15\uffff\1\4\2\uffff\1\4\15\uffff\1\3",
			"",
			""
	};

	static final short[] DFA456_eot = DFA.unpackEncodedString(DFA456_eotS);
	static final short[] DFA456_eof = DFA.unpackEncodedString(DFA456_eofS);
	static final char[] DFA456_min = DFA.unpackEncodedStringToUnsignedChars(DFA456_minS);
	static final char[] DFA456_max = DFA.unpackEncodedStringToUnsignedChars(DFA456_maxS);
	static final short[] DFA456_accept = DFA.unpackEncodedString(DFA456_acceptS);
	static final short[] DFA456_special = DFA.unpackEncodedString(DFA456_specialS);
	static final short[][] DFA456_transition;

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

	protected class DFA456 extends DFA {

		public DFA456(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 456;
			this.eot = DFA456_eot;
			this.eof = DFA456_eof;
			this.min = DFA456_min;
			this.max = DFA456_max;
			this.accept = DFA456_accept;
			this.special = DFA456_special;
			this.transition = DFA456_transition;
		}
		@Override
		public String getDescription() {
			return "697:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA451_eotS =
		"\4\uffff";
	static final String DFA451_eofS =
		"\4\uffff";
	static final String DFA451_minS =
		"\1\25\1\7\2\uffff";
	static final String DFA451_maxS =
		"\2\u0092\2\uffff";
	static final String DFA451_acceptS =
		"\2\uffff\1\2\1\1";
	static final String DFA451_specialS =
		"\4\uffff}>";
	static final String[] DFA451_transitionS = {
			"\1\1\44\uffff\1\2\26\uffff\1\1\100\uffff\1\1",
			"\1\3\13\uffff\1\3\1\uffff\1\1\7\uffff\3\3\12\uffff\2\3\2\uffff\2\3\2"+
			"\uffff\1\3\7\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff"+
			"\2\3\24\uffff\1\3\15\uffff\1\3\2\uffff\1\3\15\uffff\1\1",
			"",
			""
	};

	static final short[] DFA451_eot = DFA.unpackEncodedString(DFA451_eotS);
	static final short[] DFA451_eof = DFA.unpackEncodedString(DFA451_eofS);
	static final char[] DFA451_min = DFA.unpackEncodedStringToUnsignedChars(DFA451_minS);
	static final char[] DFA451_max = DFA.unpackEncodedStringToUnsignedChars(DFA451_maxS);
	static final short[] DFA451_accept = DFA.unpackEncodedString(DFA451_acceptS);
	static final short[] DFA451_special = DFA.unpackEncodedString(DFA451_specialS);
	static final short[][] DFA451_transition;

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

	protected class DFA451 extends DFA {

		public DFA451(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 451;
			this.eot = DFA451_eot;
			this.eof = DFA451_eof;
			this.min = DFA451_min;
			this.max = DFA451_max;
			this.accept = DFA451_accept;
			this.special = DFA451_special;
			this.transition = DFA451_transition;
		}
		@Override
		public String getDescription() {
			return "697:23: ( ws selectorsGroup )?";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA465_eotS =
		"\5\uffff";
	static final String DFA465_eofS =
		"\5\uffff";
	static final String DFA465_minS =
		"\2\5\3\uffff";
	static final String DFA465_maxS =
		"\2\u0092\3\uffff";
	static final String DFA465_acceptS =
		"\2\uffff\1\2\1\3\1\1";
	static final String DFA465_specialS =
		"\5\uffff}>";
	static final String[] DFA465_transitionS = {
			"\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\1\uffff\1\3\6\uffff\1\3"+
			"\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff"+
			"\1\3\1\uffff\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+
			"\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff"+
			"\2\3\2\uffff\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff"+
			"\1\3\1\uffff\7\3\2\uffff\1\3\3\uffff\1\3\1\1",
			"\3\4\2\uffff\5\4\3\uffff\1\4\1\uffff\1\2\1\1\1\uffff\1\4\6\uffff\1\4"+
			"\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff"+
			"\1\4\1\uffff\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1"+
			"\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff"+
			"\2\4\2\uffff\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff"+
			"\1\4\1\uffff\7\4\2\uffff\1\4\3\uffff\1\4\1\1",
			"",
			"",
			""
	};

	static final short[] DFA465_eot = DFA.unpackEncodedString(DFA465_eotS);
	static final short[] DFA465_eof = DFA.unpackEncodedString(DFA465_eofS);
	static final char[] DFA465_min = DFA.unpackEncodedStringToUnsignedChars(DFA465_minS);
	static final char[] DFA465_max = DFA.unpackEncodedStringToUnsignedChars(DFA465_maxS);
	static final short[] DFA465_accept = DFA.unpackEncodedString(DFA465_acceptS);
	static final short[] DFA465_special = DFA.unpackEncodedString(DFA465_specialS);
	static final short[][] DFA465_transition;

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

	protected class DFA465 extends DFA {

		public DFA465(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 465;
			this.eot = DFA465_eot;
			this.eof = DFA465_eof;
			this.min = DFA465_min;
			this.max = DFA465_max;
			this.accept = DFA465_accept;
			this.special = DFA465_special;
			this.transition = DFA465_transition;
		}
		@Override
		public String getDescription() {
			return "935:15: ( ws | ( ( ws )? operator ( ws )? ) |)";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	static final String DFA470_eotS =
		"\5\uffff";
	static final String DFA470_eofS =
		"\5\uffff";
	static final String DFA470_minS =
		"\2\5\3\uffff";
	static final String DFA470_maxS =
		"\2\u0092\3\uffff";
	static final String DFA470_acceptS =
		"\2\uffff\1\2\1\3\1\1";
	static final String DFA470_specialS =
		"\5\uffff}>";
	static final String[] DFA470_transitionS = {
			"\3\3\2\uffff\5\3\3\uffff\1\3\2\uffff\1\1\1\uffff\1\3\6\uffff\1\3\2\uffff"+
			"\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\2\uffff\1\3\1\uffff"+
			"\1\3\7\uffff\4\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1\4\uffff\1\3"+
			"\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+
			"\1\3\1\uffff\2\3\1\uffff\3\3\1\uffff\4\3\1\uffff\1\2\1\uffff\1\3\1\uffff"+
			"\7\3\2\uffff\1\3\3\uffff\1\3\1\1",
			"\3\4\2\uffff\5\4\3\uffff\1\4\2\uffff\1\1\1\uffff\1\4\6\uffff\1\4\2\uffff"+
			"\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\2\uffff\1\4\1\uffff"+
			"\1\4\7\uffff\4\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1\4\uffff\1\4"+
			"\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff\2\4\2\uffff"+
			"\1\4\1\uffff\2\4\1\uffff\3\4\1\uffff\4\4\1\uffff\1\2\1\uffff\1\4\1\uffff"+
			"\7\4\2\uffff\1\4\3\uffff\1\4\1\1",
			"",
			"",
			""
	};

	static final short[] DFA470_eot = DFA.unpackEncodedString(DFA470_eotS);
	static final short[] DFA470_eof = DFA.unpackEncodedString(DFA470_eofS);
	static final char[] DFA470_min = DFA.unpackEncodedStringToUnsignedChars(DFA470_minS);
	static final char[] DFA470_max = DFA.unpackEncodedStringToUnsignedChars(DFA470_maxS);
	static final short[] DFA470_accept = DFA.unpackEncodedString(DFA470_acceptS);
	static final short[] DFA470_special = DFA.unpackEncodedString(DFA470_specialS);
	static final short[][] DFA470_transition;

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

	protected class DFA470 extends DFA {

		public DFA470(BaseRecognizer recognizer) {
			this.recognizer = recognizer;
			this.decisionNumber = 470;
			this.eot = DFA470_eot;
			this.eof = DFA470_eof;
			this.min = DFA470_min;
			this.max = DFA470_max;
			this.accept = DFA470_accept;
			this.special = DFA470_special;
			this.transition = DFA470_transition;
		}
		@Override
		public String getDescription() {
			return "1018:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |)";
		}
		public void error(NoViableAltException nvae) {
			dbg.recognitionException(nvae);
		}
	}

	public static final BitSet FOLLOW_ws_in_styleSheet129 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_charSet_in_styleSheet139 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_styleSheet141 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_imports_in_styleSheet155 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_namespaces_in_styleSheet166 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_body_in_styleSheet177 = new BitSet(new long[]{0x0000000000000000L});
	public static final BitSet FOLLOW_EOF_in_styleSheet185 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_namespace_in_namespaces202 = new BitSet(new long[]{0x0000000000200002L,0x0000000000030000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_namespaces204 = new BitSet(new long[]{0x0000000000000002L,0x0000000000010000L});
	public static final BitSet FOLLOW_NAMESPACE_SYM_in_namespace220 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_namespace222 = new BitSet(new long[]{0x0004000000000000L,0x0000000000000000L,0x0000000000002004L});
	public static final BitSet FOLLOW_namespacePrefixName_in_namespace226 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_namespace228 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002004L});
	public static final BitSet FOLLOW_resourceIdentifier_in_namespace233 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_namespace235 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_namespace238 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_namespacePrefixName251 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CHARSET_SYM_in_charSet285 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040004L});
	public static final BitSet FOLLOW_ws_in_charSet287 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
	public static final BitSet FOLLOW_charSetValue_in_charSet290 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_charSet292 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_charSet295 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_STRING_in_charSetValue309 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_importItem_in_imports323 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_imports325 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_imports328 = new BitSet(new long[]{0x0010000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_imports330 = new BitSet(new long[]{0x0010000000000002L});
	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem356 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_importItem358 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002004L});
	public static final BitSet FOLLOW_resourceIdentifier_in_importItem361 = new BitSet(new long[]{0x7014848000A47C42L,0x7BB4DCE004230540L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_importItem371 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_importItem374 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem407 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_importItem409 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002004L});
	public static final BitSet FOLLOW_resourceIdentifier_in_importItem412 = new BitSet(new long[]{0x7014848000B47C42L,0x7BB4DCE004230540L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_importItem415 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_importItem418 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_importItem420 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002004L});
	public static final BitSet FOLLOW_resourceIdentifier_in_importItem423 = new BitSet(new long[]{0x7014848000B47C42L,0x7BB4DCE004230540L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_importItem435 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_importItem438 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IMPORT_SYM_in_importItem462 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_importItem464 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L,0x0000000000002004L});
	public static final BitSet FOLLOW_LPAREN_in_importItem468 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_less_import_types_in_importItem470 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_importItem472 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000042004L});
	public static final BitSet FOLLOW_ws_in_importItem474 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002004L});
	public static final BitSet FOLLOW_resourceIdentifier_in_importItem479 = new BitSet(new long[]{0x7014848000A47C42L,0x7BB4DCE004230540L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_importItem489 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_importItem492 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_MEDIA_SYM_in_media510 = new BitSet(new long[]{0x7014848000A47C40L,0x7BB4DCE004230540L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_media512 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_media530 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_media538 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_media545 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_media547 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToFollow_in_media550 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_mediaBody_in_media560 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_media567 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_mediaBodyItem_in_mediaBody601 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_mediaBody611 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_mediaBody614 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_mediaBody618 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_SEMI_in_mediaBody645 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_mediaBody647 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_sass_extend_in_mediaBody666 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaBody669 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_SEMI_in_mediaBody674 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_cp_mixin_declaration_in_mediaBodyItem748 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_mediaBodyItem781 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaBodyItem784 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_mediaBodyItem787 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_mediaBodyItem804 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaBodyItem807 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_mediaBodyItem810 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_rule_in_mediaBodyItem875 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyDeclaration_in_mediaBodyItem887 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_debug_in_mediaBodyItem897 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_control_in_mediaBodyItem907 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_content_in_mediaBodyItem917 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_importItem_in_mediaBodyItem927 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_rule_in_mediaBodyItem935 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_page_in_mediaBodyItem943 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_fontFace_in_mediaBodyItem951 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_vendorAtRule_in_mediaBodyItem959 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_media_in_mediaBodyItem972 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_mediaQuery_in_mediaQueryList986 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaQueryList998 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_mediaQueryList1001 = new BitSet(new long[]{0x7014848000A47C40L,0x7BB4DCE004230540L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_mediaQueryList1003 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQuery_in_mediaQueryList1006 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_mediaQueryOperator_in_mediaQuery1025 = new BitSet(new long[]{0x0004840000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaQuery1027 = new BitSet(new long[]{0x0004840000000000L});
	public static final BitSet FOLLOW_mediaType_in_mediaQuery1034 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaQuery1045 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_key_and_in_mediaQuery1048 = new BitSet(new long[]{0x0000800000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaQuery1050 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1053 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1064 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaQuery1075 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_key_and_in_mediaQuery1078 = new BitSet(new long[]{0x0000800000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaQuery1080 = new BitSet(new long[]{0x0000800000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_mediaExpression_in_mediaQuery1083 = new BitSet(new long[]{0x0004000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_cp_variable_in_mediaQuery1096 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_key_only_in_mediaQueryOperator1108 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NOT_in_mediaQueryOperator1112 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_mediaType1124 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GEN_in_mediaType1128 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_mediaType1134 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LPAREN_in_mediaExpression1159 = new BitSet(new long[]{0x7014848000A47C40L,0x7BB4DCE004030500L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_mediaExpression1161 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaFeature_in_mediaExpression1164 = new BitSet(new long[]{0x0000000000280000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_mediaFeatureValue_in_mediaExpression1166 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_mediaExpression1169 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_mediaExpression1172 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_mediaExpression1189 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_mediaFeatureValue1210 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_mediaFeatureValue1213 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_mediaFeatureValue1215 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_mediaFeatureValue1234 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_expression_in_mediaFeatureValue1254 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_mediaFeature1274 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GEN_in_mediaFeature1278 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_mediaFeature1286 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_mediaFeature1290 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_bodyItem_in_body1324 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_body1334 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_body1337 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_body1341 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_SEMI_in_body1368 = new BitSet(new long[]{0x7814CC80E0AC7CC2L,0xFBBCDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_body1370 = new BitSet(new long[]{0x7814CC80E08C7CC2L,0xFBBCDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_cp_mixin_declaration_in_bodyItem1450 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_bodyItem1483 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_bodyItem1502 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_rule_in_bodyItem1511 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_declaration_in_bodyItem1533 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_map_in_bodyItem1550 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_at_rule_in_bodyItem1562 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_importItem_in_bodyItem1585 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_debug_in_bodyItem1599 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_control_in_bodyItem1613 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_function_declaration_in_bodyItem1627 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_media_in_at_rule1653 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_page_in_at_rule1661 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_counterStyle_in_at_rule1669 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_fontFace_in_at_rule1677 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_vendorAtRule_in_at_rule1685 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_moz_document_in_vendorAtRule1698 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_webkitKeyframes_in_vendorAtRule1702 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_generic_at_rule_in_vendorAtRule1706 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_atRuleId1716 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_STRING_in_atRuleId1720 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_atRuleId1728 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_atRuleId1732 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_AT_IDENT_in_generic_at_rule1748 = new BitSet(new long[]{0x7414808000A47C40L,0x7BB4DCE004030500L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_generic_at_rule1750 = new BitSet(new long[]{0x7414808000847C40L,0x7BB4DCE004010500L,0x00000000000207C4L});
	public static final BitSet FOLLOW_atRuleId_in_generic_at_rule1755 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_generic_at_rule1757 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_generic_at_rule1771 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_syncTo_RBRACE_in_generic_at_rule1782 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_generic_at_rule1792 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document1803 = new BitSet(new long[]{0x0000000000200000L,0x0000000000023800L,0x0000000000042000L});
	public static final BitSet FOLLOW_ws_in_moz_document1805 = new BitSet(new long[]{0x0000000000000000L,0x0000000000003800L,0x0000000000002000L});
	public static final BitSet FOLLOW_moz_document_function_in_moz_document1810 = new BitSet(new long[]{0x0400000000300000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_moz_document1812 = new BitSet(new long[]{0x0400000000100000L});
	public static final BitSet FOLLOW_COMMA_in_moz_document1818 = new BitSet(new long[]{0x0000000000200000L,0x0000000000023800L,0x0000000000042000L});
	public static final BitSet FOLLOW_ws_in_moz_document1820 = new BitSet(new long[]{0x0000000000000000L,0x0000000000003800L,0x0000000000002000L});
	public static final BitSet FOLLOW_moz_document_function_in_moz_document1823 = new BitSet(new long[]{0x0400000000300000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_moz_document1825 = new BitSet(new long[]{0x0400000000100000L});
	public static final BitSet FOLLOW_LBRACE_in_moz_document1832 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBCDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_moz_document1834 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBCDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_body_in_moz_document1839 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_moz_document1844 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes1881 = new BitSet(new long[]{0x7014808000A47C40L,0x7BB4DCE004030500L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframes1883 = new BitSet(new long[]{0x7014808000847C40L,0x7BB4DCE004010500L,0x00000000000207C4L});
	public static final BitSet FOLLOW_atRuleId_in_webkitKeyframes1886 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframes1888 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_webkitKeyframes1892 = new BitSet(new long[]{0x0004000000200000L,0x0000080208020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframes1894 = new BitSet(new long[]{0x0004000000000000L,0x0000080208000000L});
	public static final BitSet FOLLOW_webkitKeyframesBlock_in_webkitKeyframes1901 = new BitSet(new long[]{0x0004000000200000L,0x0000080208020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframes1903 = new BitSet(new long[]{0x0004000000000000L,0x0000080208000000L});
	public static final BitSet FOLLOW_RBRACE_in_webkitKeyframes1910 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock1922 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframesBlock1924 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_webkitKeyframesBlock1928 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframesBlock1931 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToFollow_in_webkitKeyframesBlock1934 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_webkitKeyframesBlock1938 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_webkitKeyframesBlock1942 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_content_in_webkitKeyframesBlock1959 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_webkitKeyframesBlock1961 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors1978 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors1984 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors1988 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframeSelectors1994 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_webkitKeyframeSelectors1997 = new BitSet(new long[]{0x0004000000200000L,0x0000000008020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_webkitKeyframeSelectors1999 = new BitSet(new long[]{0x0004000000000000L,0x0000000008000000L});
	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2006 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_IDENT_in_webkitKeyframeSelectors2012 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors2016 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_PAGE_SYM_in_page2035 = new BitSet(new long[]{0x0404000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_page2037 = new BitSet(new long[]{0x0404000000080000L});
	public static final BitSet FOLLOW_IDENT_in_page2042 = new BitSet(new long[]{0x0400000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_page2044 = new BitSet(new long[]{0x0400000000080000L});
	public static final BitSet FOLLOW_pseudoPage_in_page2051 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_page2053 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_page2066 = new BitSet(new long[]{0x7014848000A47CC0L,0xFBB4DCE204030700L,0x00000000000607C2L});
	public static final BitSet FOLLOW_ws_in_page2068 = new BitSet(new long[]{0x7014848000847CC0L,0xFBB4DCE204010700L,0x00000000000207C2L});
	public static final BitSet FOLLOW_propertyDeclaration_in_page2111 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_margin_in_page2113 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_page2116 = new BitSet(new long[]{0x0000000000000000L,0x8000000200000000L});
	public static final BitSet FOLLOW_SEMI_in_page2122 = new BitSet(new long[]{0x7014848000A47CC0L,0xFBB4DCE204030700L,0x00000000000607C2L});
	public static final BitSet FOLLOW_ws_in_page2124 = new BitSet(new long[]{0x7014848000847CC0L,0xFBB4DCE204010700L,0x00000000000207C2L});
	public static final BitSet FOLLOW_propertyDeclaration_in_page2129 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_margin_in_page2131 = new BitSet(new long[]{0x0000000000200000L,0x8000000200020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_page2134 = new BitSet(new long[]{0x0000000000000000L,0x8000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_page2149 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_COUNTER_STYLE_SYM_in_counterStyle2166 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_counterStyle2168 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_counterStyle2171 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_counterStyle2173 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_counterStyle2184 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_counterStyle2186 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToDeclarationsRule_in_counterStyle2189 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_counterStyle2193 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_counterStyle2204 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_FONT_FACE_SYM_in_fontFace2221 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_fontFace2223 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_fontFace2234 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_fontFace2236 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToDeclarationsRule_in_fontFace2239 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_fontFace2243 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_fontFace2254 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_margin_sym_in_margin2268 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_margin2270 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_margin2273 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_margin2275 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToDeclarationsRule_in_margin2278 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_margin2280 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_margin2283 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_COLON_in_pseudoPage2492 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_pseudoPage2494 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_property2578 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_property2588 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_property2596 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GEN_in_property2604 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_property2614 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_map_name_in_sass_map2641 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_sass_map2643 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_map2645 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_sass_map2648 = new BitSet(new long[]{0x7014848000B47CC0L,0x7BB4DDE004430700L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_sass_map2650 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000207C4L});
	public static final BitSet FOLLOW_syncToFollow_in_sass_map2653 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000207C4L});
	public static final BitSet FOLLOW_sass_map_pairs_in_sass_map2672 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_sass_map2679 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_map2683 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
	public static final BitSet FOLLOW_SASS_DEFAULT_in_sass_map2686 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_map2692 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
	public static final BitSet FOLLOW_SASS_GLOBAL_in_sass_map2695 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_cp_variable_in_sass_map_name2719 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_map_pair_in_sass_map_pairs2753 = new BitSet(new long[]{0x7014848000B47CC2L,0x7BB4DCE004430700L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_sass_map_pairs2763 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_sass_map_pairs2766 = new BitSet(new long[]{0x7014848000B47CC2L,0x7BB4DCE004430700L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_sass_map_pairs2770 = new BitSet(new long[]{0x7014848000947CC2L,0x7BB4DCE004410700L,0x00000000000207C4L});
	public static final BitSet FOLLOW_COMMA_in_sass_map_pairs2797 = new BitSet(new long[]{0x7014848000B47CC2L,0x7BB4DCE004430700L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_sass_map_pairs2799 = new BitSet(new long[]{0x7014848000947CC2L,0x7BB4DCE004410700L,0x00000000000207C4L});
	public static final BitSet FOLLOW_NUMBER_in_sass_map_pair2835 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_STRING_in_sass_map_pair2838 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040004L});
	public static final BitSet FOLLOW_ws_in_sass_map_pair2841 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
	public static final BitSet FOLLOW_STRING_in_sass_map_pair2844 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040004L});
	public static final BitSet FOLLOW_function_in_sass_map_pair2854 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_property_in_sass_map_pair2857 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_sass_map_in_sass_map_pair2859 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_map_pair2862 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_sass_map_pair2865 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_sass_map_pair2867 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_sass_map_pair2870 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_map_pair2873 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_prio_in_sass_map_pair2876 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_AT_ROOT_in_rule2918 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule2921 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000012L});
	public static final BitSet FOLLOW_selectorsGroup_in_rule2923 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_SASS_AT_ROOT_in_rule2944 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule2946 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_rule2948 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule2950 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_rule2955 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule2959 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_rule2962 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule2964 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_rule2967 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule2969 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_rule2972 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_selectorsGroup_in_rule2990 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_rule3002 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_rule3009 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_rule3011 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToFollow_in_rule3014 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_rule3024 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_rule3031 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SEMI_in_declarations3065 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_declarations3067 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declaration_in_declarations3073 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_declarations3078 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_declarations3082 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE064030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_declarations3084 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_ws_in_declarations3090 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0x7BBEDCE064010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declaration_in_declarations3093 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_declarations3099 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_declarations3103 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_declarations3105 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
	public static final BitSet FOLLOW_ws_in_declarations3111 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SEMI_in_declarations3123 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_declarations3125 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
	public static final BitSet FOLLOW_cp_variable_declaration_in_declaration3154 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_map_in_declaration3167 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_nested_properties_in_declaration3179 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_rule_in_declaration3242 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyDeclaration_in_declaration3254 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyDeclaration_in_declaration3293 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_declaration_in_declaration3305 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_declaration3318 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_declaration3321 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_declaration3324 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_declaration3341 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_declaration3344 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_declaration3347 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_at_rule_in_declaration3363 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_control_in_declaration3373 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_extend_in_declaration3383 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_debug_in_declaration3393 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_content_in_declaration3403 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_function_return_in_declaration3413 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_error_in_declaration3423 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_importItem_in_declaration3433 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GEN_in_declaration3441 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_selector_in_selectorsGroup3475 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_selectorsGroup3478 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_selectorsGroup3481 = new BitSet(new long[]{0x0804CC00E0280080L,0x0008000060020202L,0x0000000000040012L});
	public static final BitSet FOLLOW_ws_in_selectorsGroup3483 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000012L});
	public static final BitSet FOLLOW_selector_in_selectorsGroup3486 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_COMMA_in_selectorsGroup3493 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_combinator_in_selector3514 = new BitSet(new long[]{0x0804C400E0280080L,0x0008000020020202L,0x0000000000040002L});
	public static final BitSet FOLLOW_ws_in_selector3516 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
	public static final BitSet FOLLOW_simpleSelectorSequence_in_selector3521 = new BitSet(new long[]{0x0000080000200002L,0x0000000040020000L,0x0000000000040010L});
	public static final BitSet FOLLOW_ws_in_selector3527 = new BitSet(new long[]{0x0000080000000000L,0x0000000040000000L,0x0000000000000010L});
	public static final BitSet FOLLOW_combinator_in_selector3530 = new BitSet(new long[]{0x0804C400E0280080L,0x0008000020020202L,0x0000000000040002L});
	public static final BitSet FOLLOW_ws_in_selector3532 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_selector3536 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
	public static final BitSet FOLLOW_simpleSelectorSequence_in_selector3539 = new BitSet(new long[]{0x0000080000200002L,0x0000000040020000L,0x0000000000040010L});
	public static final BitSet FOLLOW_combinator_in_selector3554 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3606 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3612 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3626 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3641 = new BitSet(new long[]{0x0800C000E0080000L,0x0008000000000002L});
	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3644 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3649 = new BitSet(new long[]{0x0004800000000080L,0x0000000000000200L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3654 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence3660 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_typeSelector_in_simpleSelectorSequence3674 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3686 = new BitSet(new long[]{0x0800C000E0080000L,0x0008000000000002L});
	public static final BitSet FOLLOW_elementSubsequent_in_simpleSelectorSequence3689 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_simpleSelectorSequence3696 = new BitSet(new long[]{0x0004800000000000L,0x0000000000000200L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence3698 = new BitSet(new long[]{0x0800C000E0280002L,0x0008000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_HASH_SYMBOL_in_esPred3723 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_HASH_in_esPred3727 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DOT_in_esPred3731 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LBRACKET_in_esPred3735 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_COLON_in_esPred3739 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DCOLON_in_esPred3743 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred3747 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_AND_in_esPred3753 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_namespacePrefix_in_typeSelector3795 = new BitSet(new long[]{0x0004040000000000L,0x0000000000000002L,0x0000000000000002L});
	public static final BitSet FOLLOW_elementName_in_typeSelector3799 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_namespacePrefixName_in_namespacePrefix3814 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
	public static final BitSet FOLLOW_STAR_in_namespacePrefix3818 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
	public static final BitSet FOLLOW_PIPE_in_namespacePrefix3822 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_extend_only_selector_in_elementSubsequent3854 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_AND_in_elementSubsequent3868 = new BitSet(new long[]{0x0004000000000002L,0x0000000000400000L});
	public static final BitSet FOLLOW_LESS_AND_in_elementSubsequent3891 = new BitSet(new long[]{0x0004000000000080L,0x0000000000000200L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_elementSubsequent3893 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cssId_in_elementSubsequent3902 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cssClass_in_elementSubsequent3911 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_slAttribute_in_elementSubsequent3923 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_pseudo_in_elementSubsequent3935 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_HASH_in_cssId3959 = new BitSet(new long[]{0x0004800000000002L,0x0000000000000200L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_cssId3964 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_HASH_SYMBOL_in_cssId3986 = new BitSet(new long[]{0x0004000000000080L,0x0000000000008200L});
	public static final BitSet FOLLOW_NAME_in_cssId4002 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_cssId4022 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DOT_in_cssClass4074 = new BitSet(new long[]{0x0004840000000080L,0x0000000000200200L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_cssClass4102 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_cssClass4120 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_cssClass4136 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NOT_in_cssClass4152 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GEN_in_cssClass4168 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DIMENSION_in_cssClass4191 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LBRACKET_in_slAttribute4247 = new BitSet(new long[]{0x0004000000200000L,0x0000000020020000L,0x0000000000040002L});
	public static final BitSet FOLLOW_namespacePrefix_in_slAttribute4254 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_slAttribute4257 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_slAttributeName_in_slAttribute4268 = new BitSet(new long[]{0x0020000410600200L,0x0000000401020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_slAttribute4270 = new BitSet(new long[]{0x0020000410400200L,0x0000000401000000L});
	public static final BitSet FOLLOW_set_in_slAttribute4304 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040004L});
	public static final BitSet FOLLOW_ws_in_slAttribute4484 = new BitSet(new long[]{0x0004000000000000L,0x0000000000000000L,0x0000000000000004L});
	public static final BitSet FOLLOW_slAttributeValue_in_slAttribute4503 = new BitSet(new long[]{0x0000000000200000L,0x0000000400020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_slAttribute4521 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L});
	public static final BitSet FOLLOW_RBRACKET_in_slAttribute4546 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_slAttributeName4562 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_set_in_pseudo4634 = new BitSet(new long[]{0x0004840000000000L,0x0000000000200000L});
	public static final BitSet FOLLOW_set_in_pseudo4697 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_pseudo4754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_pseudo4757 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DDF85C430706L,0x00000000000627F6L});
	public static final BitSet FOLLOW_ws_in_pseudo4759 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DDF85C410706L,0x00000000000227F6L});
	public static final BitSet FOLLOW_expression_in_pseudo4765 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_pseudo4767 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_STAR_in_pseudo4773 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_pseudo4778 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_pseudo4841 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NOT_in_pseudo4879 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_pseudo4881 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_pseudo4884 = new BitSet(new long[]{0x0804C400E0280080L,0x0008010020020202L,0x0000000000040002L});
	public static final BitSet FOLLOW_ws_in_pseudo4886 = new BitSet(new long[]{0x0804C400E0080080L,0x0008010020000202L,0x0000000000000002L});
	public static final BitSet FOLLOW_simpleSelectorSequence_in_pseudo4890 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_pseudo4892 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_pseudo4897 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_pseudo4941 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_pseudo4943 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_pseudo4946 = new BitSet(new long[]{0x0804CC00E0280080L,0x0008010060020202L,0x0000000000040012L});
	public static final BitSet FOLLOW_ws_in_pseudo4948 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008010060000202L,0x0000000000000012L});
	public static final BitSet FOLLOW_selectorsGroup_in_pseudo4951 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_pseudo4954 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_STAR_in_propertyDeclaration4990 = new BitSet(new long[]{0x7014848000847CC0L,0x7BB4DCE004010700L,0x00000000000207C0L});
	public static final BitSet FOLLOW_property_in_propertyDeclaration4993 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_propertyDeclaration4995 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_propertyDeclaration4998 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_propertyDeclaration5000 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_propertyValue_in_propertyDeclaration5003 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_STAR_in_propertyDeclaration5012 = new BitSet(new long[]{0x7014848000847CC0L,0x7BB4DCE004010700L,0x00000000000207C0L});
	public static final BitSet FOLLOW_property_in_propertyDeclaration5015 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_propertyDeclaration5017 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_propertyDeclaration5020 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_propertyDeclaration5022 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_propertyValue_in_propertyDeclaration5025 = new BitSet(new long[]{0x0008000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_propertyDeclaration5028 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_prio_in_propertyDeclaration5031 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_list_in_cp_propertyValue5071 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyValue_in_cp_propertyValue5079 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_expression_in_propertyValue5101 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_set_in_expressionPredicate5170 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SEMI_in_syncTo_SEMI5271 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_prio5316 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_term_in_expression5333 = new BitSet(new long[]{0xF014C5A240B47CE2L,0x7BB4DCF85C430706L,0x00000000000627F5L});
	public static final BitSet FOLLOW_ws_in_expression5365 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_ws_in_expression5370 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000001L});
	public static final BitSet FOLLOW_operator_in_expression5373 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_expression5375 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_term_in_expression5384 = new BitSet(new long[]{0xF014C5A240B47CE2L,0x7BB4DCF85C430706L,0x00000000000627F5L});
	public static final BitSet FOLLOW_unaryOperator_in_term5409 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF81C430506L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_term5411 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF81C410506L,0x00000000000227F4L});
	public static final BitSet FOLLOW_function_in_term5440 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_term5453 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NUMBER_in_term5465 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_PERCENTAGE_in_term5477 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LENGTH_in_term5489 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_EMS_in_term5501 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_REM_in_term5513 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_EXS_in_term5525 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ANGLE_in_term5537 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_TIME_in_term5549 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_FREQ_in_term5561 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_RESOLUTION_in_term5573 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DIMENSION_in_term5585 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_STRING_in_term5602 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_TILDE_in_term5614 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L,0x0000000000000004L});
	public static final BitSet FOLLOW_set_in_term5616 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_JS_STRING_in_term5637 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GEN_in_term5652 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_URI_in_term5664 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_hexColor_in_term5676 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_term5690 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_AND_in_term5704 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_term5718 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_selector_interpolation_in_term5732 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_term_symbol_in_term5746 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol5773 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_functionName_in_function5789 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_function5791 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_function5796 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_function5798 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_fnAttributes_in_function5825 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_function5856 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_functionName5908 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_functionName5910 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_functionName5914 = new BitSet(new long[]{0x0000000080000002L});
	public static final BitSet FOLLOW_DOT_in_functionName5917 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_functionName5919 = new BitSet(new long[]{0x0000000080000002L});
	public static final BitSet FOLLOW_fnAttribute_in_fnAttributes5943 = new BitSet(new long[]{0x0000000000300002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_fnAttributes5946 = new BitSet(new long[]{0x0000000000100000L,0x8000000000000000L});
	public static final BitSet FOLLOW_COMMA_in_fnAttributes5950 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_SEMI_in_fnAttributes5956 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_fnAttributes5959 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_fnAttribute_in_fnAttributes5962 = new BitSet(new long[]{0x0000000000300002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_fnAttributes5966 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_fnAttributeName_in_fnAttribute6003 = new BitSet(new long[]{0x0000000000280000L,0x0000000001020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_fnAttribute6005 = new BitSet(new long[]{0x0000000000080000L,0x0000000001000000L});
	public static final BitSet FOLLOW_set_in_fnAttribute6008 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_fnAttribute6014 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_fnAttributeValue_in_fnAttribute6017 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_in_fnAttribute6034 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_expression_in_fnAttribute6046 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_fnAttributeName6069 = new BitSet(new long[]{0x0000000080000002L});
	public static final BitSet FOLLOW_DOT_in_fnAttributeName6072 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_fnAttributeName6074 = new BitSet(new long[]{0x0000000080000002L});
	public static final BitSet FOLLOW_cp_variable_in_fnAttributeName6094 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_term_in_fnAttributeValue6117 = new BitSet(new long[]{0xF014C5A240A47CE2L,0x7BB4DCF85C430706L,0x00000000000627F5L});
	public static final BitSet FOLLOW_ws_in_fnAttributeValue6149 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_ws_in_fnAttributeValue6154 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
	public static final BitSet FOLLOW_SOLIDUS_in_fnAttributeValue6157 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_fnAttributeValue6159 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_term_in_fnAttributeValue6168 = new BitSet(new long[]{0xF014C5A240A47CE2L,0x7BB4DCF85C430706L,0x00000000000627F5L});
	public static final BitSet FOLLOW_cp_math_expression_in_fnAttributeValue6189 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_HASH_in_hexColor6203 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_cp_variable_declaration6263 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6265 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_cp_variable_declaration6268 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6270 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_list_in_cp_variable_declaration6273 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_cp_variable_declaration6295 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6297 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_cp_variable_declaration6300 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6302 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_list_in_cp_variable_declaration6305 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6309 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
	public static final BitSet FOLLOW_SASS_DEFAULT_in_cp_variable_declaration6312 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_variable_declaration6318 = new BitSet(new long[]{0x0000000000000000L,0x0040000000000000L});
	public static final BitSet FOLLOW_SASS_GLOBAL_in_cp_variable_declaration6321 = new BitSet(new long[]{0x0000000000200002L,0x0040200000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_set_in_cp_variable6361 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_VAR_in_cp_variable6545 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_in_cp_expression_list6575 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_expression_list6594 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_cp_expression_list6597 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_expression_list6599 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_cp_expression_list6602 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_LBRACE_in_cp_expression6638 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_cp_expression6640 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToFollow_in_cp_expression6643 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_cp_expression6645 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_cp_expression6648 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6664 = new BitSet(new long[]{0xF01CDDA246A47CE2L,0x7BB4DCF85C63074FL,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_expression6688 = new BitSet(new long[]{0x0004180006000000L,0x0000000000000009L});
	public static final BitSet FOLLOW_cp_expression_operator_in_cp_expression6691 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_expression6693 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6697 = new BitSet(new long[]{0xF01CDDA246A47CE2L,0x7BB4DCF85C63074FL,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_expression6716 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_atom_in_cp_expression6719 = new BitSet(new long[]{0xF01CDDA246A47CE2L,0x7BB4DCF85C63074FL,0x00000000000627F4L});
	public static final BitSet FOLLOW_LPAREN_in_cp_expression6737 = new BitSet(new long[]{0x7014848000B47CC0L,0x7BB4DDE004430700L,0x00000000000607C4L});
	public static final BitSet FOLLOW_ws_in_cp_expression6739 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000207C4L});
	public static final BitSet FOLLOW_syncToFollow_in_cp_expression6742 = new BitSet(new long[]{0x7014848000947CC0L,0x7BB4DDE004410700L,0x00000000000207C4L});
	public static final BitSet FOLLOW_sass_map_pairs_in_cp_expression6744 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_expression6747 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_key_or_in_cp_expression_operator6768 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_key_and_in_cp_expression_operator6772 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CP_EQ_in_cp_expression_operator6777 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_CP_NOT_EQ_in_cp_expression_operator6781 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_in_cp_expression_operator6785 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_OR_EQ_in_cp_expression_operator6789 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GREATER_in_cp_expression_operator6793 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_GREATER_OR_EQ_in_cp_expression_operator6797 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_NOT_in_cp_expression_atom6823 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_expression_atom6825 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_in_cp_expression_atom6856 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LPAREN_in_cp_expression_atom6872 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_expression_atom6874 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_list_in_cp_expression_atom6878 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_expression_atom6880 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_expression_atom6885 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expressions6917 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_math_expressions6924 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expressions6926 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_cp_math_expression_atom_in_cp_math_expression6960 = new BitSet(new long[]{0x0000000000200002L,0x0000000040020200L,0x0000000000040003L});
	public static final BitSet FOLLOW_ws_in_cp_math_expression7002 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000200L,0x0000000000000003L});
	public static final BitSet FOLLOW_set_in_cp_math_expression7005 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_math_expression7015 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_atom_in_cp_math_expression7018 = new BitSet(new long[]{0x0000000000200002L,0x0000000040020200L,0x0000000000040003L});
	public static final BitSet FOLLOW_term_in_cp_math_expression_atom7051 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom7059 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_unaryOperator_in_cp_math_expression_atom7070 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7072 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_cp_math_expression_atom7078 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7080 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_in_cp_math_expression_atom7083 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_math_expression_atom7085 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_math_expression_atom7088 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_declaration7128 = new BitSet(new long[]{0x0404000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_DOT_in_cp_mixin_declaration7135 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_declaration7137 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_HASH_in_cp_mixin_declaration7142 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7145 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_declaration7148 = new BitSet(new long[]{0x7014008001A47C40L,0x7BB4DDE004030510L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7150 = new BitSet(new long[]{0x7014008001847C40L,0x7BB4DDE004010510L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_args_list_in_cp_mixin_declaration7153 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_declaration7156 = new BitSet(new long[]{0x0404000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7161 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_less_mixin_guarded_in_cp_mixin_declaration7164 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_SASS_MIXIN_in_cp_mixin_declaration7188 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7190 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_declaration7192 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7195 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_declaration7198 = new BitSet(new long[]{0x7014008001A47C40L,0x7BB4DDE004030510L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7200 = new BitSet(new long[]{0x7014008001847C40L,0x7BB4DDE004010510L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_args_list_in_cp_mixin_declaration7203 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_declaration7206 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_declaration7220 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_cp_mixin_block_in_cp_mixin_declaration7223 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DOT_in_cp_mixin_call7259 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7261 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_HASH_in_cp_mixin_call7265 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_AT_IDENT_in_cp_mixin_call7269 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_call7273 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7289 = new BitSet(new long[]{0x0000080000000000L,0x0000000040000000L,0x0000000000000010L});
	public static final BitSet FOLLOW_combinator_in_cp_mixin_call7292 = new BitSet(new long[]{0x0000400080200040L,0x0000000000020002L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7294 = new BitSet(new long[]{0x0000400080000040L,0x0000000000000002L});
	public static final BitSet FOLLOW_DOT_in_cp_mixin_call7298 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7300 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_HASH_in_cp_mixin_call7304 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_AT_IDENT_in_cp_mixin_call7308 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_LESS_AND_in_cp_mixin_call7312 = new BitSet(new long[]{0x0000080020280002L,0x0000000040020040L,0x0000000000040010L});
	public static final BitSet FOLLOW_pseudo_in_cp_mixin_call7322 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7334 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_call7337 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7339 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_mixin_call_args_in_cp_mixin_call7342 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_call7345 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_INCLUDE_in_cp_mixin_call7370 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7372 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_cp_mixin_name_in_cp_mixin_call7374 = new BitSet(new long[]{0x0400000000200002L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7377 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_cp_mixin_call7380 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DDF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7382 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DDF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_mixin_call_args_in_cp_mixin_call7385 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_cp_mixin_call7388 = new BitSet(new long[]{0x0400000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call7393 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_cp_mixin_block_in_cp_mixin_call7396 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LBRACE_in_cp_mixin_block7425 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE26C030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_block7427 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE26C010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToFollow_in_cp_mixin_block7430 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE26C010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_cp_mixin_block7441 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_webkitKeyframesBlock_in_cp_mixin_block7456 = new BitSet(new long[]{0x0004000000200000L,0x0000080208020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_block7458 = new BitSet(new long[]{0x0004000000000000L,0x0000080208000000L});
	public static final BitSet FOLLOW_RBRACE_in_cp_mixin_block7470 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_cp_mixin_name7491 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7522 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000000L});
	public static final BitSet FOLLOW_set_in_cp_mixin_call_args7526 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call_args7534 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args7537 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000000L});
	public static final BitSet FOLLOW_CP_DOTS_in_cp_mixin_call_args7543 = new BitSet(new long[]{0x0000000000200002L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call_args7545 = new BitSet(new long[]{0x0000000000000002L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_cp_mixin_call_args7550 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_cp_mixin_call_arg7582 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7584 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_cp_mixin_call_arg7587 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7589 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_cp_mixin_call_arg7592 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_cp_expression_in_cp_mixin_call_arg7604 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_mixin_call_arg7612 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_arg_in_cp_args_list7659 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000010L});
	public static final BitSet FOLLOW_set_in_cp_args_list7663 = new BitSet(new long[]{0x7014008000A47C40L,0x7BB4DCE004030500L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_cp_args_list7673 = new BitSet(new long[]{0x7014008000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_arg_in_cp_args_list7676 = new BitSet(new long[]{0x0000000001100002L,0x8000000000000010L});
	public static final BitSet FOLLOW_set_in_cp_args_list7683 = new BitSet(new long[]{0x0000000001200002L,0x0000000000020010L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_args_list7691 = new BitSet(new long[]{0x0000000001000002L,0x0000000000000010L});
	public static final BitSet FOLLOW_set_in_cp_args_list7699 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_args_list7707 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_set_in_cp_args_list7724 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_args_list7732 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_cp_arg7755 = new BitSet(new long[]{0x0000000000280002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_arg7757 = new BitSet(new long[]{0x0000000000080002L});
	public static final BitSet FOLLOW_COLON_in_cp_arg7762 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_cp_arg7764 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_cp_arg7767 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_cp_arg7769 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_cp_arg7782 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_when_in_less_mixin_guarded7805 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_mixin_guarded7807 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200040L});
	public static final BitSet FOLLOW_less_condition_in_less_mixin_guarded7810 = new BitSet(new long[]{0x0004000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_mixin_guarded7813 = new BitSet(new long[]{0x0004000000100000L});
	public static final BitSet FOLLOW_COMMA_in_less_mixin_guarded7817 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000040000L});
	public static final BitSet FOLLOW_key_and_in_less_mixin_guarded7821 = new BitSet(new long[]{0x0000000000200000L,0x0000000000220040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_mixin_guarded7824 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200040L});
	public static final BitSet FOLLOW_less_condition_in_less_mixin_guarded7827 = new BitSet(new long[]{0x0004000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_NOT_in_less_condition7853 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_condition7855 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_less_condition7864 = new BitSet(new long[]{0x7014008000A47C40L,0x7BB4DCE004030500L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_less_condition7866 = new BitSet(new long[]{0x7014008000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_variable_in_less_condition7893 = new BitSet(new long[]{0x0000180000200000L,0x0000010001020009L,0x0000000000040000L});
	public static final BitSet FOLLOW_less_function_in_condition_in_less_condition7897 = new BitSet(new long[]{0x0000180000200000L,0x0000010001020009L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_condition7900 = new BitSet(new long[]{0x0000180000000000L,0x0000010001000009L});
	public static final BitSet FOLLOW_less_condition_operator_in_less_condition7904 = new BitSet(new long[]{0xF01CC5A240A47CE0L,0x7BB4DCF85C430746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_less_condition7906 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_in_less_condition7909 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_less_condition7927 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_fn_name_in_less_function_in_condition7949 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_function_in_condition7951 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_less_function_in_condition7954 = new BitSet(new long[]{0x7010008000A47C40L,0x7BB4DCE004030500L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_less_function_in_condition7956 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_variable_in_less_function_in_condition7959 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_function_in_condition7961 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_less_function_in_condition7964 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_less_fn_name7986 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp8049 = new BitSet(new long[]{0x8004000040000082L,0x0000000000000200L});
	public static final BitSet FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp8052 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_AT_SIGN_in_less_selector_interpolation8095 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_less_selector_interpolation8097 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_selector_interpolation8099 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_less_selector_interpolation8102 = new BitSet(new long[]{0x0000000000200000L,0x0000000200020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_less_selector_interpolation8104 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_less_selector_interpolation8107 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp8134 = new BitSet(new long[]{0x8004800040000002L,0x0000000000000200L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp8137 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var8184 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_sass_interpolation_expression_var8186 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_WS_in_sass_interpolation_expression_var8188 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_sass_interpolation_expression_var8191 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L,0x0000000000040000L});
	public static final BitSet FOLLOW_WS_in_sass_interpolation_expression_var8193 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_sass_interpolation_expression_var8196 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_property_in_sass_nested_properties8236 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_nested_properties8238 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_sass_nested_properties8241 = new BitSet(new long[]{0xF414C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_sass_nested_properties8243 = new BitSet(new long[]{0xF414C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_propertyValue_in_sass_nested_properties8247 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_nested_properties8249 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_sass_nested_properties8254 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_sass_nested_properties8256 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_syncToFollow_in_sass_nested_properties8259 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_sass_nested_properties8261 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_sass_nested_properties8264 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_EXTEND_in_sass_extend8285 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_extend8287 = new BitSet(new long[]{0x0804C400E0080080L,0x0008000020000202L,0x0000000000000002L});
	public static final BitSet FOLLOW_simpleSelectorSequence_in_sass_extend8289 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_extend8292 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L});
	public static final BitSet FOLLOW_SASS_OPTIONAL_in_sass_extend8294 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector8317 = new BitSet(new long[]{0x0004800000000002L,0x0000000000000200L});
	public static final BitSet FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector8319 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_set_in_sass_debug8341 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_debug8351 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_sass_debug8353 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_ERROR_in_sass_error8374 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_error8376 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L});
	public static final BitSet FOLLOW_STRING_in_sass_error8378 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_if_in_sass_control8399 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_for_in_sass_control8403 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_each_in_sass_control8407 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_while_in_sass_control8411 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_IF_in_sass_if8432 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_sass_if8434 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_sass_control_expression_in_sass_if8437 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_if8439 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_sass_control_block_in_sass_if8442 = new BitSet(new long[]{0x0000000000200002L,0x0001800000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_if8445 = new BitSet(new long[]{0x0000000000000000L,0x0001800000000000L});
	public static final BitSet FOLLOW_sass_else_in_sass_if8448 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_ELSE_in_sass_else8471 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_else8473 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_sass_control_block_in_sass_else8476 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_ELSE_in_sass_else8490 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_else8492 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_sass_else8497 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_SASS_ELSEIF_in_sass_else8504 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_sass_else8507 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_sass_control_expression_in_sass_else8510 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_else8512 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_sass_control_block_in_sass_else8515 = new BitSet(new long[]{0x0000000000200002L,0x0001800000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_else8518 = new BitSet(new long[]{0x0000000000000000L,0x0001800000000000L});
	public static final BitSet FOLLOW_sass_else_in_sass_else8521 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_in_sass_control_expression8544 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_FOR_in_sass_for8565 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_for8567 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_variable_in_sass_for8569 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_for8571 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_sass_for8575 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_for8579 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_in_sass_for8581 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_for8583 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_sass_for8587 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_for8591 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C410746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_math_expression_in_sass_for8593 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_for8595 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_sass_control_block_in_sass_for8598 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_EACH_in_sass_each8619 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_each8621 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_sass_each_variables_in_sass_each8623 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_each8625 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_sass_each8629 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_each8633 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_list_in_sass_each8636 = new BitSet(new long[]{0xF41CC5A240B47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_sass_each8639 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_sass_each8642 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_sass_each8646 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_sass_control_block_in_sass_each8652 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_sass_each_variables8673 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_each_variables8685 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_sass_each_variables8688 = new BitSet(new long[]{0x7010008000A47C40L,0x7BB4DCE004030500L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_sass_each_variables8690 = new BitSet(new long[]{0x7010008000847C40L,0x7BB4DCE004010500L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_variable_in_sass_each_variables8693 = new BitSet(new long[]{0x0000000000300002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_SASS_WHILE_in_sass_while8718 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_while8720 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_sass_control_expression_in_sass_while8722 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_while8724 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_sass_control_block_in_sass_while8727 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LBRACE_in_sass_control_block8748 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_sass_control_block8750 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_sass_control_block8753 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_sass_control_block8756 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_FUNCTION_in_sass_function_declaration8798 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_function_declaration8800 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_sass_function_name_in_sass_function_declaration8802 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_function_declaration8804 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_sass_function_declaration8807 = new BitSet(new long[]{0x7014008001A47C40L,0x7BB4DDE004030510L,0x00000000000607C0L});
	public static final BitSet FOLLOW_ws_in_sass_function_declaration8809 = new BitSet(new long[]{0x7014008001847C40L,0x7BB4DDE004010510L,0x00000000000207C0L});
	public static final BitSet FOLLOW_cp_args_list_in_sass_function_declaration8812 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_sass_function_declaration8815 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_function_declaration8817 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_sass_function_declaration8820 = new BitSet(new long[]{0x7814CC80E0AC7CC0L,0xFBBEDCE264030702L,0x00000000000607D2L});
	public static final BitSet FOLLOW_ws_in_sass_function_declaration8822 = new BitSet(new long[]{0x7814CC80E08C7CC0L,0xFBBEDCE264010702L,0x00000000000207D2L});
	public static final BitSet FOLLOW_declarations_in_sass_function_declaration8825 = new BitSet(new long[]{0x0000000000000000L,0x0000000200000000L});
	public static final BitSet FOLLOW_RBRACE_in_sass_function_declaration8828 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_sass_function_name8849 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_RETURN_in_sass_function_return8870 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_sass_function_return8872 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_sass_function_return8874 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_CONTENT_in_sass_content8895 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_less_import_types8914 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_less_when8937 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_key_and8956 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_key_or8974 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_IDENT_in_key_only8992 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred1_Css3365 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_synpred1_Css3368 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred2_Css3429 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_synpred2_Css3432 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred3_Css3483 = new BitSet(new long[]{0x7014848000847C40L,0x7BB4DCE004210540L,0x00000000000207C0L});
	public static final BitSet FOLLOW_mediaQueryList_in_synpred3_Css3486 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred4_Css3605 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_synpred4_Css3608 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_MIXIN_in_synpred5_Css3706 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DOT_in_synpred5_Css3713 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_synpred5_Css3715 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_HASH_in_synpred5_Css3720 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred5_Css3723 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_synpred5_Css3726 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x00000000003FFFFFL});
	public static final BitSet FOLLOW_RPAREN_in_synpred5_Css3734 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFFFFFFFFFFL,0x00000000003FFFFFL});
	public static final BitSet FOLLOW_LBRACE_in_synpred5_Css3744 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_synpred6_Css3762 = new BitSet(new long[]{0x0008000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred6_Css3765 = new BitSet(new long[]{0x0008000000000000L});
	public static final BitSet FOLLOW_IMPORTANT_SYM_in_synpred6_Css3768 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred6_Css3772 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_synpred6_Css3775 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_synpred7_Css3798 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred8_Css3823 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3826 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000012L});
	public static final BitSet FOLLOW_selectorsGroup_in_synpred8_Css3828 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred8_Css3837 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3839 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_synpred8_Css3841 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3843 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_synpred8_Css3846 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3848 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_synpred8_Css3851 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3853 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_synpred8_Css3856 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3858 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_synpred8_Css3861 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_selectorsGroup_in_synpred8_Css3866 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred8_Css3869 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_synpred8_Css3872 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyDeclaration_in_synpred9_Css3884 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred10_Css3991 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_synpred10_Css3994 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred11_Css31038 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_key_and_in_synpred11_Css31041 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred12_Css31068 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_key_and_in_synpred12_Css31071 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_LPAREN_in_synpred13_Css31153 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_HASH_in_synpred14_Css31182 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred15_Css31328 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_synpred15_Css31331 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_MIXIN_in_synpred16_Css31406 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DOT_in_synpred16_Css31413 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_synpred16_Css31415 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_HASH_in_synpred16_Css31420 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred16_Css31423 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_synpred16_Css31426 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x00000000003FFFFFL});
	public static final BitSet FOLLOW_RPAREN_in_synpred16_Css31434 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x7FFFFFFDFFFFFFFFL,0x00000000003FFFFFL});
	public static final BitSet FOLLOW_LBRACE_in_synpred16_Css31446 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_synpred17_Css31472 = new BitSet(new long[]{0x0000000000200000L,0x8000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred17_Css31474 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L});
	public static final BitSet FOLLOW_SEMI_in_synpred17_Css31477 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_synpred18_Css31496 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_in_synpred19_Css31524 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred19_Css31526 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_synpred19_Css31529 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_map_in_synpred20_Css31546 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred21_Css32757 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_synpred21_Css32760 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_function_in_synpred22_Css32851 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_variable_declaration_in_synpred23_Css33151 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_map_in_synpred24_Css33163 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_sass_nested_properties_in_synpred25_Css33176 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred26_Css33190 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33193 = new BitSet(new long[]{0x0804CC00E0080080L,0x0008000060000202L,0x0000000000000012L});
	public static final BitSet FOLLOW_selectorsGroup_in_synpred26_Css33195 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_SASS_AT_ROOT_in_synpred26_Css33204 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33206 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_synpred26_Css33208 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33210 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_synpred26_Css33213 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33215 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_synpred26_Css33218 = new BitSet(new long[]{0x0004000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33220 = new BitSet(new long[]{0x0004000000000000L});
	public static final BitSet FOLLOW_IDENT_in_synpred26_Css33223 = new BitSet(new long[]{0x0000000000200000L,0x0000010000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33225 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L});
	public static final BitSet FOLLOW_RPAREN_in_synpred26_Css33228 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_selectorsGroup_in_synpred26_Css33233 = new BitSet(new long[]{0x0400000000200000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred26_Css33236 = new BitSet(new long[]{0x0400000000000000L});
	public static final BitSet FOLLOW_LBRACE_in_synpred26_Css33239 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_propertyDeclaration_in_synpred27_Css33251 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_property_in_synpred28_Css33268 = new BitSet(new long[]{0x0000000000280000L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred28_Css33270 = new BitSet(new long[]{0x0000000000080000L});
	public static final BitSet FOLLOW_COLON_in_synpred28_Css33273 = new BitSet(new long[]{0xFBFFFFFFFFFFFFF0L,0xFFFFFFFFFFFFFFFFL,0x00000000003FFFFFL});
	public static final BitSet FOLLOW_set_in_synpred28_Css33285 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_declaration_in_synpred29_Css33302 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_synpred30_Css33314 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_mixin_call_in_synpred31_Css33335 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred32_Css33633 = new BitSet(new long[]{0x0800C000A0080000L,0x0008000000000002L});
	public static final BitSet FOLLOW_esPred_in_synpred32_Css33636 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_typeSelector_in_synpred33_Css33671 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred34_Css33678 = new BitSet(new long[]{0x0800C000A0080000L,0x0008000000000002L});
	public static final BitSet FOLLOW_esPred_in_synpred34_Css33681 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_PIPE_in_synpred35_Css33792 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred36_Css35340 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_ws_in_synpred36_Css35345 = new BitSet(new long[]{0x0000000000100000L,0x0000000000000000L,0x0000000000000001L});
	public static final BitSet FOLLOW_operator_in_synpred36_Css35348 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_synpred36_Css35350 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_term_in_synpred36_Css35359 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_functionName_in_synpred37_Css35432 = new BitSet(new long[]{0x0000000000200000L,0x0000000000020040L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred37_Css35434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_synpred37_Css35437 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_fnAttributeName_in_synpred38_Css35990 = new BitSet(new long[]{0x0000000000280000L,0x0000000001020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred38_Css35992 = new BitSet(new long[]{0x0000000000080000L,0x0000000001000000L});
	public static final BitSet FOLLOW_set_in_synpred38_Css35995 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_in_synpred39_Css36030 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred40_Css36124 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_ws_in_synpred40_Css36129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L});
	public static final BitSet FOLLOW_SOLIDUS_in_synpred40_Css36132 = new BitSet(new long[]{0xF014C5A240A47CE0L,0x7BB4DCF85C430706L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_synpred40_Css36134 = new BitSet(new long[]{0xF014C5A240847CE0L,0x7BB4DCF85C410706L,0x00000000000227F4L});
	public static final BitSet FOLLOW_term_in_synpred40_Css36143 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred42_Css36583 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_synpred42_Css36586 = new BitSet(new long[]{0xF41CC5A240A47CE0L,0x7BB4DCF85C630746L,0x00000000000627F4L});
	public static final BitSet FOLLOW_ws_in_synpred42_Css36588 = new BitSet(new long[]{0xF41CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_in_synpred42_Css36591 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_expression_atom_in_synpred43_Css36658 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred44_Css36681 = new BitSet(new long[]{0x0004180006000000L,0x0000000000000009L});
	public static final BitSet FOLLOW_cp_expression_operator_in_synpred44_Css36684 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred45_Css36710 = new BitSet(new long[]{0xF01CC5A240847CE0L,0x7BB4DCF85C610746L,0x00000000000227F4L});
	public static final BitSet FOLLOW_cp_expression_atom_in_synpred45_Css36713 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_cp_math_expression_in_synpred46_Css36853 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred47_Css36986 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000200L,0x0000000000000003L});
	public static final BitSet FOLLOW_set_in_synpred47_Css36989 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred48_Css37278 = new BitSet(new long[]{0x0000080000000000L,0x0000000040000000L,0x0000000000000010L});
	public static final BitSet FOLLOW_combinator_in_synpred48_Css37281 = new BitSet(new long[]{0x0000000000200002L,0x0000000000020000L,0x0000000000040000L});
	public static final BitSet FOLLOW_ws_in_synpred48_Css37283 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_pseudo_in_synpred49_Css37319 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred50_Css37327 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
	public static final BitSet FOLLOW_LPAREN_in_synpred50_Css37330 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_webkitKeyframeSelectors_in_synpred51_Css37446 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_ws_in_synpred52_Css38678 = new BitSet(new long[]{0x0000000000100000L});
	public static final BitSet FOLLOW_COMMA_in_synpred52_Css38681 = new BitSet(new long[]{0x0000000000000002L});
}
