1   // $ANTLR 3.5.2 org/daisy/pipeline/css/sass/impl/SassPostProcess.g 2025-01-27 18:34:25
2    package org.daisy.pipeline.css.sass.impl; 
3   
4   import org.antlr.runtime.*;
5   import java.util.Stack;
6   import java.util.List;
7   import java.util.ArrayList;
8   import java.util.Map;
9   import java.util.HashMap;
10  
11  @SuppressWarnings("all")
12  public class SassPostProcessLexer extends Lexer {
13  	public static final int EOF=-1;
14  	public static final int ANY=4;
15  	public static final int APOS=5;
16  	public static final int ASTERISK=6;
17  	public static final int AT=7;
18  	public static final int BAR=8;
19  	public static final int COLON=9;
20  	public static final int COMMA=10;
21  	public static final int COMMENT=11;
22  	public static final int COMMENT_MACR=12;
23  	public static final int ESCAPE_CHAR=13;
24  	public static final int GREATER=14;
25  	public static final int HAS=15;
26  	public static final int HASH=16;
27  	public static final int IDENT=17;
28  	public static final int IDENT_START=18;
29  	public static final int LBRACE=19;
30  	public static final int LCURLY=20;
31  	public static final int LPAREN=21;
32  	public static final int MEDIA=22;
33  	public static final int NAME=23;
34  	public static final int NAME_CHAR=24;
35  	public static final int NEWLINE_CHAR=25;
36  	public static final int NON_ASCII=26;
37  	public static final int NOT=27;
38  	public static final int PERIOD=28;
39  	public static final int PLUS=29;
40  	public static final int QUOT=30;
41  	public static final int RBRACE=31;
42  	public static final int RCURLY=32;
43  	public static final int RPAREN=33;
44  	public static final int SEMICOLON=34;
45  	public static final int SPACE=35;
46  	public static final int SPACE_CHAR=36;
47  	public static final int STRING=37;
48  	public static final int STRING_CHAR=38;
49  	public static final int STRING_MACR=39;
50  	public static final int TILDE=40;
51  	public static final int XML_COMMENT_CLOSE=41;
52  	public static final int XML_COMMENT_OPEN=42;
53  
54  	// delegates
55  	// delegators
56  	public Lexer[] getDelegates() {
57  		return new Lexer[] {};
58  	}
59  
60  	public SassPostProcessLexer() {} 
61  	public SassPostProcessLexer(CharStream input) {
62  		this(input, new RecognizerSharedState());
63  	}
64  	public SassPostProcessLexer(CharStream input, RecognizerSharedState state) {
65  		super(input,state);
66  	}
67  	@Override public String getGrammarFileName() { return "org/daisy/pipeline/css/sass/impl/SassPostProcess.g"; }
68  
69  	// $ANTLR start "XML_COMMENT_OPEN"
70  	public final void mXML_COMMENT_OPEN() throws RecognitionException {
71  		try {
72  			int _type = XML_COMMENT_OPEN;
73  			int _channel = DEFAULT_TOKEN_CHANNEL;
74  			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:479:18: ( '<!--' )
75  			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:479:20: '<!--'
76  			{
77  			match("<!--"); if (state.failed) return;
78  
79  			}
80  
81  			state.type = _type;
82  			state.channel = _channel;
83  		}
84  		finally {
85  			// do for sure before leaving
86  		}
87  	}
88  	// $ANTLR end "XML_COMMENT_OPEN"
89  
90  	// $ANTLR start "XML_COMMENT_CLOSE"
91  	public final void mXML_COMMENT_CLOSE() throws RecognitionException {
92  		try {
93  			int _type = XML_COMMENT_CLOSE;
94  			int _channel = DEFAULT_TOKEN_CHANNEL;
95  			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:481:19: ( '-->' )
96  			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:481:21: '-->'
97  			{
98  			match("-->"); if (state.failed) return;
99  
100 			}
101 
102 			state.type = _type;
103 			state.channel = _channel;
104 		}
105 		finally {
106 			// do for sure before leaving
107 		}
108 	}
109 	// $ANTLR end "XML_COMMENT_CLOSE"
110 
111 	// $ANTLR start "COMMENT"
112 	public final void mCOMMENT() throws RecognitionException {
113 		try {
114 			int _type = COMMENT;
115 			int _channel = DEFAULT_TOKEN_CHANNEL;
116 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:484:5: ( COMMENT_MACR )
117 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:484:7: COMMENT_MACR
118 			{
119 			mCOMMENT_MACR(); if (state.failed) return;
120 
121 			}
122 
123 			state.type = _type;
124 			state.channel = _channel;
125 		}
126 		finally {
127 			// do for sure before leaving
128 		}
129 	}
130 	// $ANTLR end "COMMENT"
131 
132 	// $ANTLR start "SPACE"
133 	public final void mSPACE() throws RecognitionException {
134 		try {
135 			int _type = SPACE;
136 			int _channel = DEFAULT_TOKEN_CHANNEL;
137 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:488:5: ( ( SPACE_CHAR )+ )
138 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:488:7: ( SPACE_CHAR )+
139 			{
140 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:488:7: ( SPACE_CHAR )+
141 			int cnt1=0;
142 			loop1:
143 			while (true) {
144 				int alt1=2;
145 				int LA1_0 = input.LA(1);
146 				if ( ((LA1_0 >= '\t' && LA1_0 <= '\r')||LA1_0==' ') ) {
147 					alt1=1;
148 				}
149 
150 				switch (alt1) {
151 				case 1 :
152 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:
153 					{
154 					if ( (input.LA(1) >= '\t' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
155 						input.consume();
156 						state.failed=false;
157 					}
158 					else {
159 						if (state.backtracking>0) {state.failed=true; return;}
160 						MismatchedSetException mse = new MismatchedSetException(null,input);
161 						recover(mse);
162 						throw mse;
163 					}
164 					}
165 					break;
166 
167 				default :
168 					if ( cnt1 >= 1 ) break loop1;
169 					if (state.backtracking>0) {state.failed=true; return;}
170 					EarlyExitException eee = new EarlyExitException(1, input);
171 					throw eee;
172 				}
173 				cnt1++;
174 			}
175 
176 			}
177 
178 			state.type = _type;
179 			state.channel = _channel;
180 		}
181 		finally {
182 			// do for sure before leaving
183 		}
184 	}
185 	// $ANTLR end "SPACE"
186 
187 	// $ANTLR start "STRING"
188 	public final void mSTRING() throws RecognitionException {
189 		try {
190 			int _type = STRING;
191 			int _channel = DEFAULT_TOKEN_CHANNEL;
192 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:492:5: ( STRING_MACR )
193 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:492:7: STRING_MACR
194 			{
195 			mSTRING_MACR(); if (state.failed) return;
196 
197 			}
198 
199 			state.type = _type;
200 			state.channel = _channel;
201 		}
202 		finally {
203 			// do for sure before leaving
204 		}
205 	}
206 	// $ANTLR end "STRING"
207 
208 	// $ANTLR start "IDENT"
209 	public final void mIDENT() throws RecognitionException {
210 		try {
211 			int _type = IDENT;
212 			int _channel = DEFAULT_TOKEN_CHANNEL;
213 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:496:5: ( IDENT_START ( NAME_CHAR )* )
214 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:496:7: IDENT_START ( NAME_CHAR )*
215 			{
216 			mIDENT_START(); if (state.failed) return;
217 
218 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:496:19: ( NAME_CHAR )*
219 			loop2:
220 			while (true) {
221 				int alt2=2;
222 				int LA2_0 = input.LA(1);
223 				if ( (LA2_0=='-'||(LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'Z')||LA2_0=='\\'||LA2_0=='_'||(LA2_0 >= 'a' && LA2_0 <= 'z')||(LA2_0 >= '\u0080' && LA2_0 <= '\uD7FF')||(LA2_0 >= '\uE000' && LA2_0 <= '\uFFFD')) ) {
224 					alt2=1;
225 				}
226 
227 				switch (alt2) {
228 				case 1 :
229 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:496:19: NAME_CHAR
230 					{
231 					mNAME_CHAR(); if (state.failed) return;
232 
233 					}
234 					break;
235 
236 				default :
237 					break loop2;
238 				}
239 			}
240 
241 			}
242 
243 			state.type = _type;
244 			state.channel = _channel;
245 		}
246 		finally {
247 			// do for sure before leaving
248 		}
249 	}
250 	// $ANTLR end "IDENT"
251 
252 	// $ANTLR start "NAME"
253 	public final void mNAME() throws RecognitionException {
254 		try {
255 			int _type = NAME;
256 			int _channel = DEFAULT_TOKEN_CHANNEL;
257 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:500:5: ( ( NAME_CHAR )+ )
258 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:500:7: ( NAME_CHAR )+
259 			{
260 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:500:7: ( NAME_CHAR )+
261 			int cnt3=0;
262 			loop3:
263 			while (true) {
264 				int alt3=2;
265 				int LA3_0 = input.LA(1);
266 				if ( (LA3_0=='-'||(LA3_0 >= '0' && LA3_0 <= '9')||(LA3_0 >= 'A' && LA3_0 <= 'Z')||LA3_0=='\\'||LA3_0=='_'||(LA3_0 >= 'a' && LA3_0 <= 'z')||(LA3_0 >= '\u0080' && LA3_0 <= '\uD7FF')||(LA3_0 >= '\uE000' && LA3_0 <= '\uFFFD')) ) {
267 					alt3=1;
268 				}
269 
270 				switch (alt3) {
271 				case 1 :
272 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:500:7: NAME_CHAR
273 					{
274 					mNAME_CHAR(); if (state.failed) return;
275 
276 					}
277 					break;
278 
279 				default :
280 					if ( cnt3 >= 1 ) break loop3;
281 					if (state.backtracking>0) {state.failed=true; return;}
282 					EarlyExitException eee = new EarlyExitException(3, input);
283 					throw eee;
284 				}
285 				cnt3++;
286 			}
287 
288 			}
289 
290 			state.type = _type;
291 			state.channel = _channel;
292 		}
293 		finally {
294 			// do for sure before leaving
295 		}
296 	}
297 	// $ANTLR end "NAME"
298 
299 	// $ANTLR start "APOS"
300 	public final void mAPOS() throws RecognitionException {
301 		try {
302 			int _type = APOS;
303 			int _channel = DEFAULT_TOKEN_CHANNEL;
304 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:503:6: ( '\\'' )
305 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:503:8: '\\''
306 			{
307 			match('\''); if (state.failed) return;
308 			}
309 
310 			state.type = _type;
311 			state.channel = _channel;
312 		}
313 		finally {
314 			// do for sure before leaving
315 		}
316 	}
317 	// $ANTLR end "APOS"
318 
319 	// $ANTLR start "QUOT"
320 	public final void mQUOT() throws RecognitionException {
321 		try {
322 			int _type = QUOT;
323 			int _channel = DEFAULT_TOKEN_CHANNEL;
324 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:505:6: ( '\"' )
325 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:505:8: '\"'
326 			{
327 			match('\"'); if (state.failed) return;
328 			}
329 
330 			state.type = _type;
331 			state.channel = _channel;
332 		}
333 		finally {
334 			// do for sure before leaving
335 		}
336 	}
337 	// $ANTLR end "QUOT"
338 
339 	// $ANTLR start "LCURLY"
340 	public final void mLCURLY() throws RecognitionException {
341 		try {
342 			int _type = LCURLY;
343 			int _channel = DEFAULT_TOKEN_CHANNEL;
344 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:507:8: ( '{' )
345 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:507:10: '{'
346 			{
347 			match('{'); if (state.failed) return;
348 			}
349 
350 			state.type = _type;
351 			state.channel = _channel;
352 		}
353 		finally {
354 			// do for sure before leaving
355 		}
356 	}
357 	// $ANTLR end "LCURLY"
358 
359 	// $ANTLR start "RCURLY"
360 	public final void mRCURLY() throws RecognitionException {
361 		try {
362 			int _type = RCURLY;
363 			int _channel = DEFAULT_TOKEN_CHANNEL;
364 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:509:8: ( '}' )
365 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:509:10: '}'
366 			{
367 			match('}'); if (state.failed) return;
368 			}
369 
370 			state.type = _type;
371 			state.channel = _channel;
372 		}
373 		finally {
374 			// do for sure before leaving
375 		}
376 	}
377 	// $ANTLR end "RCURLY"
378 
379 	// $ANTLR start "LBRACE"
380 	public final void mLBRACE() throws RecognitionException {
381 		try {
382 			int _type = LBRACE;
383 			int _channel = DEFAULT_TOKEN_CHANNEL;
384 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:511:8: ( '[' )
385 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:511:10: '['
386 			{
387 			match('['); if (state.failed) return;
388 			}
389 
390 			state.type = _type;
391 			state.channel = _channel;
392 		}
393 		finally {
394 			// do for sure before leaving
395 		}
396 	}
397 	// $ANTLR end "LBRACE"
398 
399 	// $ANTLR start "RBRACE"
400 	public final void mRBRACE() throws RecognitionException {
401 		try {
402 			int _type = RBRACE;
403 			int _channel = DEFAULT_TOKEN_CHANNEL;
404 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:513:8: ( ']' )
405 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:513:10: ']'
406 			{
407 			match(']'); if (state.failed) return;
408 			}
409 
410 			state.type = _type;
411 			state.channel = _channel;
412 		}
413 		finally {
414 			// do for sure before leaving
415 		}
416 	}
417 	// $ANTLR end "RBRACE"
418 
419 	// $ANTLR start "LPAREN"
420 	public final void mLPAREN() throws RecognitionException {
421 		try {
422 			int _type = LPAREN;
423 			int _channel = DEFAULT_TOKEN_CHANNEL;
424 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:515:8: ( '(' )
425 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:515:10: '('
426 			{
427 			match('('); if (state.failed) return;
428 			}
429 
430 			state.type = _type;
431 			state.channel = _channel;
432 		}
433 		finally {
434 			// do for sure before leaving
435 		}
436 	}
437 	// $ANTLR end "LPAREN"
438 
439 	// $ANTLR start "RPAREN"
440 	public final void mRPAREN() throws RecognitionException {
441 		try {
442 			int _type = RPAREN;
443 			int _channel = DEFAULT_TOKEN_CHANNEL;
444 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:517:8: ( ')' )
445 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:517:10: ')'
446 			{
447 			match(')'); if (state.failed) return;
448 			}
449 
450 			state.type = _type;
451 			state.channel = _channel;
452 		}
453 		finally {
454 			// do for sure before leaving
455 		}
456 	}
457 	// $ANTLR end "RPAREN"
458 
459 	// $ANTLR start "MEDIA"
460 	public final void mMEDIA() throws RecognitionException {
461 		try {
462 			int _type = MEDIA;
463 			int _channel = DEFAULT_TOKEN_CHANNEL;
464 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:519:7: ( '@media' )
465 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:519:9: '@media'
466 			{
467 			match("@media"); if (state.failed) return;
468 
469 			}
470 
471 			state.type = _type;
472 			state.channel = _channel;
473 		}
474 		finally {
475 			// do for sure before leaving
476 		}
477 	}
478 	// $ANTLR end "MEDIA"
479 
480 	// $ANTLR start "AT"
481 	public final void mAT() throws RecognitionException {
482 		try {
483 			int _type = AT;
484 			int _channel = DEFAULT_TOKEN_CHANNEL;
485 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:521:4: ( '@' )
486 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:521:6: '@'
487 			{
488 			match('@'); if (state.failed) return;
489 			}
490 
491 			state.type = _type;
492 			state.channel = _channel;
493 		}
494 		finally {
495 			// do for sure before leaving
496 		}
497 	}
498 	// $ANTLR end "AT"
499 
500 	// $ANTLR start "PERIOD"
501 	public final void mPERIOD() throws RecognitionException {
502 		try {
503 			int _type = PERIOD;
504 			int _channel = DEFAULT_TOKEN_CHANNEL;
505 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:523:8: ( '.' )
506 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:523:10: '.'
507 			{
508 			match('.'); if (state.failed) return;
509 			}
510 
511 			state.type = _type;
512 			state.channel = _channel;
513 		}
514 		finally {
515 			// do for sure before leaving
516 		}
517 	}
518 	// $ANTLR end "PERIOD"
519 
520 	// $ANTLR start "HASH"
521 	public final void mHASH() throws RecognitionException {
522 		try {
523 			int _type = HASH;
524 			int _channel = DEFAULT_TOKEN_CHANNEL;
525 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:525:6: ( '#' )
526 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:525:8: '#'
527 			{
528 			match('#'); if (state.failed) return;
529 			}
530 
531 			state.type = _type;
532 			state.channel = _channel;
533 		}
534 		finally {
535 			// do for sure before leaving
536 		}
537 	}
538 	// $ANTLR end "HASH"
539 
540 	// $ANTLR start "BAR"
541 	public final void mBAR() throws RecognitionException {
542 		try {
543 			int _type = BAR;
544 			int _channel = DEFAULT_TOKEN_CHANNEL;
545 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:527:5: ( '|' )
546 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:527:7: '|'
547 			{
548 			match('|'); if (state.failed) return;
549 			}
550 
551 			state.type = _type;
552 			state.channel = _channel;
553 		}
554 		finally {
555 			// do for sure before leaving
556 		}
557 	}
558 	// $ANTLR end "BAR"
559 
560 	// $ANTLR start "ASTERISK"
561 	public final void mASTERISK() throws RecognitionException {
562 		try {
563 			int _type = ASTERISK;
564 			int _channel = DEFAULT_TOKEN_CHANNEL;
565 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:529:10: ( '*' )
566 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:529:12: '*'
567 			{
568 			match('*'); if (state.failed) return;
569 			}
570 
571 			state.type = _type;
572 			state.channel = _channel;
573 		}
574 		finally {
575 			// do for sure before leaving
576 		}
577 	}
578 	// $ANTLR end "ASTERISK"
579 
580 	// $ANTLR start "COLON"
581 	public final void mCOLON() throws RecognitionException {
582 		try {
583 			int _type = COLON;
584 			int _channel = DEFAULT_TOKEN_CHANNEL;
585 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:532:5: ( ':' ( ( ( 'not(' )=> 'not(' ) | ( ( 'has(' )=> 'has(' ) )? )
586 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:532:7: ':' ( ( ( 'not(' )=> 'not(' ) | ( ( 'has(' )=> 'has(' ) )?
587 			{
588 			match(':'); if (state.failed) return;
589 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:533:5: ( ( ( 'not(' )=> 'not(' ) | ( ( 'has(' )=> 'has(' ) )?
590 			int alt4=3;
591 			int LA4_0 = input.LA(1);
592 			if ( (LA4_0=='n') && (synpred1_SassPostProcess())) {
593 				alt4=1;
594 			}
595 			else if ( (LA4_0=='h') && (synpred2_SassPostProcess())) {
596 				alt4=2;
597 			}
598 			switch (alt4) {
599 				case 1 :
600 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:533:7: ( ( 'not(' )=> 'not(' )
601 					{
602 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:533:7: ( ( 'not(' )=> 'not(' )
603 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:533:8: ( 'not(' )=> 'not('
604 					{
605 					match("not("); if (state.failed) return;
606 
607 					if ( state.backtracking==0 ) { _type = NOT; }
608 					}
609 
610 					}
611 					break;
612 				case 2 :
613 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:534:7: ( ( 'has(' )=> 'has(' )
614 					{
615 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:534:7: ( ( 'has(' )=> 'has(' )
616 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:534:8: ( 'has(' )=> 'has('
617 					{
618 					match("has("); if (state.failed) return;
619 
620 					if ( state.backtracking==0 ) { _type = HAS; }
621 					}
622 
623 					}
624 					break;
625 
626 			}
627 
628 			}
629 
630 			state.type = _type;
631 			state.channel = _channel;
632 		}
633 		finally {
634 			// do for sure before leaving
635 		}
636 	}
637 	// $ANTLR end "COLON"
638 
639 	// $ANTLR start "NOT"
640 	public final void mNOT() throws RecognitionException {
641 		try {
642 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:538:14: ()
643 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:538:16: 
644 			{
645 			}
646 
647 		}
648 		finally {
649 			// do for sure before leaving
650 		}
651 	}
652 	// $ANTLR end "NOT"
653 
654 	// $ANTLR start "HAS"
655 	public final void mHAS() throws RecognitionException {
656 		try {
657 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:539:14: ()
658 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:539:16: 
659 			{
660 			}
661 
662 		}
663 		finally {
664 			// do for sure before leaving
665 		}
666 	}
667 	// $ANTLR end "HAS"
668 
669 	// $ANTLR start "SEMICOLON"
670 	public final void mSEMICOLON() throws RecognitionException {
671 		try {
672 			int _type = SEMICOLON;
673 			int _channel = DEFAULT_TOKEN_CHANNEL;
674 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:541:11: ( ';' )
675 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:541:13: ';'
676 			{
677 			match(';'); if (state.failed) return;
678 			}
679 
680 			state.type = _type;
681 			state.channel = _channel;
682 		}
683 		finally {
684 			// do for sure before leaving
685 		}
686 	}
687 	// $ANTLR end "SEMICOLON"
688 
689 	// $ANTLR start "GREATER"
690 	public final void mGREATER() throws RecognitionException {
691 		try {
692 			int _type = GREATER;
693 			int _channel = DEFAULT_TOKEN_CHANNEL;
694 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:543:9: ( '>' )
695 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:543:11: '>'
696 			{
697 			match('>'); if (state.failed) return;
698 			}
699 
700 			state.type = _type;
701 			state.channel = _channel;
702 		}
703 		finally {
704 			// do for sure before leaving
705 		}
706 	}
707 	// $ANTLR end "GREATER"
708 
709 	// $ANTLR start "PLUS"
710 	public final void mPLUS() throws RecognitionException {
711 		try {
712 			int _type = PLUS;
713 			int _channel = DEFAULT_TOKEN_CHANNEL;
714 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:545:6: ( '+' )
715 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:545:8: '+'
716 			{
717 			match('+'); if (state.failed) return;
718 			}
719 
720 			state.type = _type;
721 			state.channel = _channel;
722 		}
723 		finally {
724 			// do for sure before leaving
725 		}
726 	}
727 	// $ANTLR end "PLUS"
728 
729 	// $ANTLR start "TILDE"
730 	public final void mTILDE() throws RecognitionException {
731 		try {
732 			int _type = TILDE;
733 			int _channel = DEFAULT_TOKEN_CHANNEL;
734 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:547:7: ( '~' )
735 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:547:9: '~'
736 			{
737 			match('~'); if (state.failed) return;
738 			}
739 
740 			state.type = _type;
741 			state.channel = _channel;
742 		}
743 		finally {
744 			// do for sure before leaving
745 		}
746 	}
747 	// $ANTLR end "TILDE"
748 
749 	// $ANTLR start "COMMA"
750 	public final void mCOMMA() throws RecognitionException {
751 		try {
752 			int _type = COMMA;
753 			int _channel = DEFAULT_TOKEN_CHANNEL;
754 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:549:7: ( ',' )
755 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:549:9: ','
756 			{
757 			match(','); if (state.failed) return;
758 			}
759 
760 			state.type = _type;
761 			state.channel = _channel;
762 		}
763 		finally {
764 			// do for sure before leaving
765 		}
766 	}
767 	// $ANTLR end "COMMA"
768 
769 	// $ANTLR start "ANY"
770 	public final void mANY() throws RecognitionException {
771 		try {
772 			int _type = ANY;
773 			int _channel = DEFAULT_TOKEN_CHANNEL;
774 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:552:5: ( . )
775 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:552:7: .
776 			{
777 			matchAny(); if (state.failed) return;
778 			}
779 
780 			state.type = _type;
781 			state.channel = _channel;
782 		}
783 		finally {
784 			// do for sure before leaving
785 		}
786 	}
787 	// $ANTLR end "ANY"
788 
789 	// $ANTLR start "SPACE_CHAR"
790 	public final void mSPACE_CHAR() throws RecognitionException {
791 		try {
792 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:561:5: ( '\\u0009' | '\\u000A' | '\\u000B' | '\\u000C' | '\\u000D' | '\\u0020' )
793 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:
794 			{
795 			if ( (input.LA(1) >= '\t' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
796 				input.consume();
797 				state.failed=false;
798 			}
799 			else {
800 				if (state.backtracking>0) {state.failed=true; return;}
801 				MismatchedSetException mse = new MismatchedSetException(null,input);
802 				recover(mse);
803 				throw mse;
804 			}
805 			}
806 
807 		}
808 		finally {
809 			// do for sure before leaving
810 		}
811 	}
812 	// $ANTLR end "SPACE_CHAR"
813 
814 	// $ANTLR start "NEWLINE_CHAR"
815 	public final void mNEWLINE_CHAR() throws RecognitionException {
816 		try {
817 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:571:5: ( '\\u000A' | '\\u000D' '\\u000A' | '\\u000D' | '\\u000C' )
818 			int alt5=4;
819 			switch ( input.LA(1) ) {
820 			case '\n':
821 				{
822 				alt5=1;
823 				}
824 				break;
825 			case '\r':
826 				{
827 				int LA5_2 = input.LA(2);
828 				if ( (LA5_2=='\n') ) {
829 					alt5=2;
830 				}
831 
832 				else {
833 					alt5=3;
834 				}
835 
836 				}
837 				break;
838 			case '\f':
839 				{
840 				alt5=4;
841 				}
842 				break;
843 			default:
844 				if (state.backtracking>0) {state.failed=true; return;}
845 				NoViableAltException nvae =
846 					new NoViableAltException("", 5, 0, input);
847 				throw nvae;
848 			}
849 			switch (alt5) {
850 				case 1 :
851 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:571:7: '\\u000A'
852 					{
853 					match('\n'); if (state.failed) return;
854 					}
855 					break;
856 				case 2 :
857 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:572:7: '\\u000D' '\\u000A'
858 					{
859 					match('\r'); if (state.failed) return;
860 					match('\n'); if (state.failed) return;
861 					}
862 					break;
863 				case 3 :
864 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:573:7: '\\u000D'
865 					{
866 					match('\r'); if (state.failed) return;
867 					}
868 					break;
869 				case 4 :
870 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:574:7: '\\u000C'
871 					{
872 					match('\f'); if (state.failed) return;
873 					}
874 					break;
875 
876 			}
877 		}
878 		finally {
879 			// do for sure before leaving
880 		}
881 	}
882 	// $ANTLR end "NEWLINE_CHAR"
883 
884 	// $ANTLR start "COMMENT_MACR"
885 	public final void mCOMMENT_MACR() throws RecognitionException {
886 		try {
887 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:579:5: ( '/*' ( '*' ~ '/' |~ '*' )* '*/' )
888 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:579:7: '/*' ( '*' ~ '/' |~ '*' )* '*/'
889 			{
890 			match("/*"); if (state.failed) return;
891 
892 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:579:12: ( '*' ~ '/' |~ '*' )*
893 			loop6:
894 			while (true) {
895 				int alt6=3;
896 				int LA6_0 = input.LA(1);
897 				if ( (LA6_0=='*') ) {
898 					int LA6_1 = input.LA(2);
899 					if ( ((LA6_1 >= '\u0000' && LA6_1 <= '.')||(LA6_1 >= '0' && LA6_1 <= '\uFFFF')) ) {
900 						alt6=1;
901 					}
902 
903 				}
904 				else if ( ((LA6_0 >= '\u0000' && LA6_0 <= ')')||(LA6_0 >= '+' && LA6_0 <= '\uFFFF')) ) {
905 					alt6=2;
906 				}
907 
908 				switch (alt6) {
909 				case 1 :
910 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:579:13: '*' ~ '/'
911 					{
912 					match('*'); if (state.failed) return;
913 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '.')||(input.LA(1) >= '0' && input.LA(1) <= '\uFFFF') ) {
914 						input.consume();
915 						state.failed=false;
916 					}
917 					else {
918 						if (state.backtracking>0) {state.failed=true; return;}
919 						MismatchedSetException mse = new MismatchedSetException(null,input);
920 						recover(mse);
921 						throw mse;
922 					}
923 					}
924 					break;
925 				case 2 :
926 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:579:21: ~ '*'
927 					{
928 					if ( (input.LA(1) >= '\u0000' && input.LA(1) <= ')')||(input.LA(1) >= '+' && input.LA(1) <= '\uFFFF') ) {
929 						input.consume();
930 						state.failed=false;
931 					}
932 					else {
933 						if (state.backtracking>0) {state.failed=true; return;}
934 						MismatchedSetException mse = new MismatchedSetException(null,input);
935 						recover(mse);
936 						throw mse;
937 					}
938 					}
939 					break;
940 
941 				default :
942 					break loop6;
943 				}
944 			}
945 
946 			match("*/"); if (state.failed) return;
947 
948 			}
949 
950 		}
951 		finally {
952 			// do for sure before leaving
953 		}
954 	}
955 	// $ANTLR end "COMMENT_MACR"
956 
957 	// $ANTLR start "STRING_MACR"
958 	public final void mSTRING_MACR() throws RecognitionException {
959 		try {
960 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:584:5: ( QUOT ( STRING_CHAR | APOS )* QUOT | APOS ( STRING_CHAR | QUOT )* APOS )
961 			int alt9=2;
962 			int LA9_0 = input.LA(1);
963 			if ( (LA9_0=='\"') ) {
964 				alt9=1;
965 			}
966 			else if ( (LA9_0=='\'') ) {
967 				alt9=2;
968 			}
969 
970 			else {
971 				if (state.backtracking>0) {state.failed=true; return;}
972 				NoViableAltException nvae =
973 					new NoViableAltException("", 9, 0, input);
974 				throw nvae;
975 			}
976 
977 			switch (alt9) {
978 				case 1 :
979 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:584:7: QUOT ( STRING_CHAR | APOS )* QUOT
980 					{
981 					mQUOT(); if (state.failed) return;
982 
983 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:584:12: ( STRING_CHAR | APOS )*
984 					loop7:
985 					while (true) {
986 						int alt7=3;
987 						int LA7_0 = input.LA(1);
988 						if ( (LA7_0=='\t'||(LA7_0 >= ' ' && LA7_0 <= '!')||(LA7_0 >= '#' && LA7_0 <= '&')||(LA7_0 >= '(' && LA7_0 <= '~')||(LA7_0 >= '\u0080' && LA7_0 <= '\uD7FF')||(LA7_0 >= '\uE000' && LA7_0 <= '\uFFFD')) ) {
989 							alt7=1;
990 						}
991 						else if ( (LA7_0=='\'') ) {
992 							alt7=2;
993 						}
994 
995 						switch (alt7) {
996 						case 1 :
997 							// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:584:13: STRING_CHAR
998 							{
999 							mSTRING_CHAR(); if (state.failed) return;
1000 
1001 							}
1002 							break;
1003 						case 2 :
1004 							// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:584:25: APOS
1005 							{
1006 							mAPOS(); if (state.failed) return;
1007 
1008 							}
1009 							break;
1010 
1011 						default :
1012 							break loop7;
1013 						}
1014 					}
1015 
1016 					mQUOT(); if (state.failed) return;
1017 
1018 					}
1019 					break;
1020 				case 2 :
1021 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:585:7: APOS ( STRING_CHAR | QUOT )* APOS
1022 					{
1023 					mAPOS(); if (state.failed) return;
1024 
1025 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:585:12: ( STRING_CHAR | QUOT )*
1026 					loop8:
1027 					while (true) {
1028 						int alt8=3;
1029 						int LA8_0 = input.LA(1);
1030 						if ( (LA8_0=='\t'||(LA8_0 >= ' ' && LA8_0 <= '!')||(LA8_0 >= '#' && LA8_0 <= '&')||(LA8_0 >= '(' && LA8_0 <= '~')||(LA8_0 >= '\u0080' && LA8_0 <= '\uD7FF')||(LA8_0 >= '\uE000' && LA8_0 <= '\uFFFD')) ) {
1031 							alt8=1;
1032 						}
1033 						else if ( (LA8_0=='\"') ) {
1034 							alt8=2;
1035 						}
1036 
1037 						switch (alt8) {
1038 						case 1 :
1039 							// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:585:13: STRING_CHAR
1040 							{
1041 							mSTRING_CHAR(); if (state.failed) return;
1042 
1043 							}
1044 							break;
1045 						case 2 :
1046 							// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:585:25: QUOT
1047 							{
1048 							mQUOT(); if (state.failed) return;
1049 
1050 							}
1051 							break;
1052 
1053 						default :
1054 							break loop8;
1055 						}
1056 					}
1057 
1058 					mAPOS(); if (state.failed) return;
1059 
1060 					}
1061 					break;
1062 
1063 			}
1064 		}
1065 		finally {
1066 			// do for sure before leaving
1067 		}
1068 	}
1069 	// $ANTLR end "STRING_MACR"
1070 
1071 	// $ANTLR start "NAME_CHAR"
1072 	public final void mNAME_CHAR() throws RecognitionException {
1073 		try {
1074 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | '_' | NON_ASCII | ESCAPE_CHAR ) )
1075 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:7: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | '_' | NON_ASCII | ESCAPE_CHAR )
1076 			{
1077 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:7: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | '_' | NON_ASCII | ESCAPE_CHAR )
1078 			int alt10=7;
1079 			int LA10_0 = input.LA(1);
1080 			if ( ((LA10_0 >= 'a' && LA10_0 <= 'z')) ) {
1081 				alt10=1;
1082 			}
1083 			else if ( ((LA10_0 >= 'A' && LA10_0 <= 'Z')) ) {
1084 				alt10=2;
1085 			}
1086 			else if ( ((LA10_0 >= '0' && LA10_0 <= '9')) ) {
1087 				alt10=3;
1088 			}
1089 			else if ( (LA10_0=='-') ) {
1090 				alt10=4;
1091 			}
1092 			else if ( (LA10_0=='_') ) {
1093 				alt10=5;
1094 			}
1095 			else if ( ((LA10_0 >= '\u0080' && LA10_0 <= '\uD7FF')||(LA10_0 >= '\uE000' && LA10_0 <= '\uFFFD')) ) {
1096 				alt10=6;
1097 			}
1098 			else if ( (LA10_0=='\\') ) {
1099 				alt10=7;
1100 			}
1101 
1102 			else {
1103 				if (state.backtracking>0) {state.failed=true; return;}
1104 				NoViableAltException nvae =
1105 					new NoViableAltException("", 10, 0, input);
1106 				throw nvae;
1107 			}
1108 
1109 			switch (alt10) {
1110 				case 1 :
1111 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:8: 'a' .. 'z'
1112 					{
1113 					matchRange('a','z'); if (state.failed) return;
1114 					}
1115 					break;
1116 				case 2 :
1117 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:19: 'A' .. 'Z'
1118 					{
1119 					matchRange('A','Z'); if (state.failed) return;
1120 					}
1121 					break;
1122 				case 3 :
1123 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:30: '0' .. '9'
1124 					{
1125 					matchRange('0','9'); if (state.failed) return;
1126 					}
1127 					break;
1128 				case 4 :
1129 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:41: '-'
1130 					{
1131 					match('-'); if (state.failed) return;
1132 					}
1133 					break;
1134 				case 5 :
1135 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:47: '_'
1136 					{
1137 					match('_'); if (state.failed) return;
1138 					}
1139 					break;
1140 				case 6 :
1141 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:53: NON_ASCII
1142 					{
1143 					mNON_ASCII(); if (state.failed) return;
1144 
1145 					}
1146 					break;
1147 				case 7 :
1148 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:590:65: ESCAPE_CHAR
1149 					{
1150 					mESCAPE_CHAR(); if (state.failed) return;
1151 
1152 					}
1153 					break;
1154 
1155 			}
1156 
1157 			}
1158 
1159 		}
1160 		finally {
1161 			// do for sure before leaving
1162 		}
1163 	}
1164 	// $ANTLR end "NAME_CHAR"
1165 
1166 	// $ANTLR start "IDENT_START"
1167 	public final void mIDENT_START() throws RecognitionException {
1168 		try {
1169 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:5: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' | NON_ASCII | ESCAPE_CHAR ) )
1170 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | NON_ASCII | ESCAPE_CHAR )
1171 			{
1172 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:7: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | NON_ASCII | ESCAPE_CHAR )
1173 			int alt11=5;
1174 			int LA11_0 = input.LA(1);
1175 			if ( ((LA11_0 >= 'a' && LA11_0 <= 'z')) ) {
1176 				alt11=1;
1177 			}
1178 			else if ( ((LA11_0 >= 'A' && LA11_0 <= 'Z')) ) {
1179 				alt11=2;
1180 			}
1181 			else if ( (LA11_0=='_') ) {
1182 				alt11=3;
1183 			}
1184 			else if ( ((LA11_0 >= '\u0080' && LA11_0 <= '\uD7FF')||(LA11_0 >= '\uE000' && LA11_0 <= '\uFFFD')) ) {
1185 				alt11=4;
1186 			}
1187 			else if ( (LA11_0=='\\') ) {
1188 				alt11=5;
1189 			}
1190 
1191 			else {
1192 				if (state.backtracking>0) {state.failed=true; return;}
1193 				NoViableAltException nvae =
1194 					new NoViableAltException("", 11, 0, input);
1195 				throw nvae;
1196 			}
1197 
1198 			switch (alt11) {
1199 				case 1 :
1200 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:8: 'a' .. 'z'
1201 					{
1202 					matchRange('a','z'); if (state.failed) return;
1203 					}
1204 					break;
1205 				case 2 :
1206 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:19: 'A' .. 'Z'
1207 					{
1208 					matchRange('A','Z'); if (state.failed) return;
1209 					}
1210 					break;
1211 				case 3 :
1212 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:30: '_'
1213 					{
1214 					match('_'); if (state.failed) return;
1215 					}
1216 					break;
1217 				case 4 :
1218 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:36: NON_ASCII
1219 					{
1220 					mNON_ASCII(); if (state.failed) return;
1221 
1222 					}
1223 					break;
1224 				case 5 :
1225 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:595:48: ESCAPE_CHAR
1226 					{
1227 					mESCAPE_CHAR(); if (state.failed) return;
1228 
1229 					}
1230 					break;
1231 
1232 			}
1233 
1234 			}
1235 
1236 		}
1237 		finally {
1238 			// do for sure before leaving
1239 		}
1240 	}
1241 	// $ANTLR end "IDENT_START"
1242 
1243 	// $ANTLR start "NON_ASCII"
1244 	public final void mNON_ASCII() throws RecognitionException {
1245 		try {
1246 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:600:5: ( '\\u0080' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )
1247 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:
1248 			{
1249 			if ( (input.LA(1) >= '\u0080' && input.LA(1) <= '\uD7FF')||(input.LA(1) >= '\uE000' && input.LA(1) <= '\uFFFD') ) {
1250 				input.consume();
1251 				state.failed=false;
1252 			}
1253 			else {
1254 				if (state.backtracking>0) {state.failed=true; return;}
1255 				MismatchedSetException mse = new MismatchedSetException(null,input);
1256 				recover(mse);
1257 				throw mse;
1258 			}
1259 			}
1260 
1261 		}
1262 		finally {
1263 			// do for sure before leaving
1264 		}
1265 	}
1266 	// $ANTLR end "NON_ASCII"
1267 
1268 	// $ANTLR start "ESCAPE_CHAR"
1269 	public final void mESCAPE_CHAR() throws RecognitionException {
1270 		try {
1271 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:605:5: ( '\\\\' ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | '\\u0020' .. '\\u002F' | '\\u003A' .. '\\u0040' | '\\u0047' .. '\\u0060' | '\\u0067' .. '\\u007E' | '\\u0080' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' ) )
1272 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:605:7: '\\\\' ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | '\\u0020' .. '\\u002F' | '\\u003A' .. '\\u0040' | '\\u0047' .. '\\u0060' | '\\u0067' .. '\\u007E' | '\\u0080' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )
1273 			{
1274 			match('\\'); if (state.failed) return;
1275 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:605:12: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ | '\\u0020' .. '\\u002F' | '\\u003A' .. '\\u0040' | '\\u0047' .. '\\u0060' | '\\u0067' .. '\\u007E' | '\\u0080' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )
1276 			int alt13=7;
1277 			int LA13_0 = input.LA(1);
1278 			if ( ((LA13_0 >= '0' && LA13_0 <= '9')||(LA13_0 >= 'A' && LA13_0 <= 'F')||(LA13_0 >= 'a' && LA13_0 <= 'f')) ) {
1279 				alt13=1;
1280 			}
1281 			else if ( ((LA13_0 >= ' ' && LA13_0 <= '/')) ) {
1282 				alt13=2;
1283 			}
1284 			else if ( ((LA13_0 >= ':' && LA13_0 <= '@')) ) {
1285 				alt13=3;
1286 			}
1287 			else if ( ((LA13_0 >= 'G' && LA13_0 <= '`')) ) {
1288 				alt13=4;
1289 			}
1290 			else if ( ((LA13_0 >= 'g' && LA13_0 <= '~')) ) {
1291 				alt13=5;
1292 			}
1293 			else if ( ((LA13_0 >= '\u0080' && LA13_0 <= '\uD7FF')) ) {
1294 				alt13=6;
1295 			}
1296 			else if ( ((LA13_0 >= '\uE000' && LA13_0 <= '\uFFFD')) ) {
1297 				alt13=7;
1298 			}
1299 
1300 			else {
1301 				if (state.backtracking>0) {state.failed=true; return;}
1302 				NoViableAltException nvae =
1303 					new NoViableAltException("", 13, 0, input);
1304 				throw nvae;
1305 			}
1306 
1307 			switch (alt13) {
1308 				case 1 :
1309 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:606:9: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
1310 					{
1311 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:606:9: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
1312 					int cnt12=0;
1313 					loop12:
1314 					while (true) {
1315 						int alt12=2;
1316 						int LA12_0 = input.LA(1);
1317 						if ( ((LA12_0 >= '0' && LA12_0 <= '9')||(LA12_0 >= 'A' && LA12_0 <= 'F')||(LA12_0 >= 'a' && LA12_0 <= 'f')) ) {
1318 							alt12=1;
1319 						}
1320 
1321 						switch (alt12) {
1322 						case 1 :
1323 							// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:
1324 							{
1325 							if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
1326 								input.consume();
1327 								state.failed=false;
1328 							}
1329 							else {
1330 								if (state.backtracking>0) {state.failed=true; return;}
1331 								MismatchedSetException mse = new MismatchedSetException(null,input);
1332 								recover(mse);
1333 								throw mse;
1334 							}
1335 							}
1336 							break;
1337 
1338 						default :
1339 							if ( cnt12 >= 1 ) break loop12;
1340 							if (state.backtracking>0) {state.failed=true; return;}
1341 							EarlyExitException eee = new EarlyExitException(12, input);
1342 							throw eee;
1343 						}
1344 						cnt12++;
1345 					}
1346 
1347 					}
1348 					break;
1349 				case 2 :
1350 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:607:11: '\\u0020' .. '\\u002F'
1351 					{
1352 					matchRange(' ','/'); if (state.failed) return;
1353 					}
1354 					break;
1355 				case 3 :
1356 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:608:11: '\\u003A' .. '\\u0040'
1357 					{
1358 					matchRange(':','@'); if (state.failed) return;
1359 					}
1360 					break;
1361 				case 4 :
1362 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:609:11: '\\u0047' .. '\\u0060'
1363 					{
1364 					matchRange('G','`'); if (state.failed) return;
1365 					}
1366 					break;
1367 				case 5 :
1368 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:610:11: '\\u0067' .. '\\u007E'
1369 					{
1370 					matchRange('g','~'); if (state.failed) return;
1371 					}
1372 					break;
1373 				case 6 :
1374 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:611:11: '\\u0080' .. '\\uD7FF'
1375 					{
1376 					matchRange('\u0080','\uD7FF'); if (state.failed) return;
1377 					}
1378 					break;
1379 				case 7 :
1380 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:612:11: '\\uE000' .. '\\uFFFD'
1381 					{
1382 					matchRange('\uE000','\uFFFD'); if (state.failed) return;
1383 					}
1384 					break;
1385 
1386 			}
1387 
1388 			}
1389 
1390 		}
1391 		finally {
1392 			// do for sure before leaving
1393 		}
1394 	}
1395 	// $ANTLR end "ESCAPE_CHAR"
1396 
1397 	// $ANTLR start "STRING_CHAR"
1398 	public final void mSTRING_CHAR() throws RecognitionException {
1399 		try {
1400 			// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:618:5: ( ESCAPE_CHAR | '\\\\' NEWLINE_CHAR | '\\u0009' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0026' | '\\u0028' .. '\\u007E' | NON_ASCII )
1401 			int alt14=7;
1402 			int LA14_0 = input.LA(1);
1403 			if ( (LA14_0=='\\') ) {
1404 				int LA14_1 = input.LA(2);
1405 				if ( ((LA14_1 >= ' ' && LA14_1 <= '~')||(LA14_1 >= '\u0080' && LA14_1 <= '\uD7FF')||(LA14_1 >= '\uE000' && LA14_1 <= '\uFFFD')) ) {
1406 					alt14=1;
1407 				}
1408 				else if ( (LA14_1=='\n'||(LA14_1 >= '\f' && LA14_1 <= '\r')) ) {
1409 					alt14=2;
1410 				}
1411 
1412 				else {
1413 					alt14=6;
1414 				}
1415 
1416 			}
1417 			else if ( (LA14_0=='\t') ) {
1418 				alt14=3;
1419 			}
1420 			else if ( ((LA14_0 >= ' ' && LA14_0 <= '!')) ) {
1421 				alt14=4;
1422 			}
1423 			else if ( ((LA14_0 >= '#' && LA14_0 <= '&')) ) {
1424 				alt14=5;
1425 			}
1426 			else if ( ((LA14_0 >= '(' && LA14_0 <= '[')||(LA14_0 >= ']' && LA14_0 <= '~')) ) {
1427 				alt14=6;
1428 			}
1429 			else if ( ((LA14_0 >= '\u0080' && LA14_0 <= '\uD7FF')||(LA14_0 >= '\uE000' && LA14_0 <= '\uFFFD')) ) {
1430 				alt14=7;
1431 			}
1432 
1433 			else {
1434 				if (state.backtracking>0) {state.failed=true; return;}
1435 				NoViableAltException nvae =
1436 					new NoViableAltException("", 14, 0, input);
1437 				throw nvae;
1438 			}
1439 
1440 			switch (alt14) {
1441 				case 1 :
1442 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:618:7: ESCAPE_CHAR
1443 					{
1444 					mESCAPE_CHAR(); if (state.failed) return;
1445 
1446 					}
1447 					break;
1448 				case 2 :
1449 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:619:7: '\\\\' NEWLINE_CHAR
1450 					{
1451 					match('\\'); if (state.failed) return;
1452 					mNEWLINE_CHAR(); if (state.failed) return;
1453 
1454 					}
1455 					break;
1456 				case 3 :
1457 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:620:7: '\\u0009'
1458 					{
1459 					match('\t'); if (state.failed) return;
1460 					}
1461 					break;
1462 				case 4 :
1463 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:621:7: '\\u0020' .. '\\u0021'
1464 					{
1465 					matchRange(' ','!'); if (state.failed) return;
1466 					}
1467 					break;
1468 				case 5 :
1469 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:623:7: '\\u0023' .. '\\u0026'
1470 					{
1471 					matchRange('#','&'); if (state.failed) return;
1472 					}
1473 					break;
1474 				case 6 :
1475 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:625:7: '\\u0028' .. '\\u007E'
1476 					{
1477 					matchRange('(','~'); if (state.failed) return;
1478 					}
1479 					break;
1480 				case 7 :
1481 					// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:626:7: NON_ASCII
1482 					{
1483 					mNON_ASCII(); if (state.failed) return;
1484 
1485 					}
1486 					break;
1487 
1488 			}
1489 		}
1490 		finally {
1491 			// do for sure before leaving
1492 		}
1493 	}
1494 	// $ANTLR end "STRING_CHAR"
1495 
1496 	@Override
1497 	public void mTokens() throws RecognitionException {
1498 		// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:8: ( XML_COMMENT_OPEN | XML_COMMENT_CLOSE | COMMENT | SPACE | STRING | IDENT | NAME | APOS | QUOT | LCURLY | RCURLY | LBRACE | RBRACE | LPAREN | RPAREN | MEDIA | AT | PERIOD | HASH | BAR | ASTERISK | COLON | SEMICOLON | GREATER | PLUS | TILDE | COMMA | ANY )
1499 		int alt15=28;
1500 		alt15 = dfa15.predict(input);
1501 		switch (alt15) {
1502 			case 1 :
1503 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:10: XML_COMMENT_OPEN
1504 				{
1505 				mXML_COMMENT_OPEN(); if (state.failed) return;
1506 
1507 				}
1508 				break;
1509 			case 2 :
1510 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:27: XML_COMMENT_CLOSE
1511 				{
1512 				mXML_COMMENT_CLOSE(); if (state.failed) return;
1513 
1514 				}
1515 				break;
1516 			case 3 :
1517 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:45: COMMENT
1518 				{
1519 				mCOMMENT(); if (state.failed) return;
1520 
1521 				}
1522 				break;
1523 			case 4 :
1524 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:53: SPACE
1525 				{
1526 				mSPACE(); if (state.failed) return;
1527 
1528 				}
1529 				break;
1530 			case 5 :
1531 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:59: STRING
1532 				{
1533 				mSTRING(); if (state.failed) return;
1534 
1535 				}
1536 				break;
1537 			case 6 :
1538 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:66: IDENT
1539 				{
1540 				mIDENT(); if (state.failed) return;
1541 
1542 				}
1543 				break;
1544 			case 7 :
1545 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:72: NAME
1546 				{
1547 				mNAME(); if (state.failed) return;
1548 
1549 				}
1550 				break;
1551 			case 8 :
1552 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:77: APOS
1553 				{
1554 				mAPOS(); if (state.failed) return;
1555 
1556 				}
1557 				break;
1558 			case 9 :
1559 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:82: QUOT
1560 				{
1561 				mQUOT(); if (state.failed) return;
1562 
1563 				}
1564 				break;
1565 			case 10 :
1566 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:87: LCURLY
1567 				{
1568 				mLCURLY(); if (state.failed) return;
1569 
1570 				}
1571 				break;
1572 			case 11 :
1573 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:94: RCURLY
1574 				{
1575 				mRCURLY(); if (state.failed) return;
1576 
1577 				}
1578 				break;
1579 			case 12 :
1580 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:101: LBRACE
1581 				{
1582 				mLBRACE(); if (state.failed) return;
1583 
1584 				}
1585 				break;
1586 			case 13 :
1587 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:108: RBRACE
1588 				{
1589 				mRBRACE(); if (state.failed) return;
1590 
1591 				}
1592 				break;
1593 			case 14 :
1594 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:115: LPAREN
1595 				{
1596 				mLPAREN(); if (state.failed) return;
1597 
1598 				}
1599 				break;
1600 			case 15 :
1601 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:122: RPAREN
1602 				{
1603 				mRPAREN(); if (state.failed) return;
1604 
1605 				}
1606 				break;
1607 			case 16 :
1608 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:129: MEDIA
1609 				{
1610 				mMEDIA(); if (state.failed) return;
1611 
1612 				}
1613 				break;
1614 			case 17 :
1615 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:135: AT
1616 				{
1617 				mAT(); if (state.failed) return;
1618 
1619 				}
1620 				break;
1621 			case 18 :
1622 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:138: PERIOD
1623 				{
1624 				mPERIOD(); if (state.failed) return;
1625 
1626 				}
1627 				break;
1628 			case 19 :
1629 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:145: HASH
1630 				{
1631 				mHASH(); if (state.failed) return;
1632 
1633 				}
1634 				break;
1635 			case 20 :
1636 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:150: BAR
1637 				{
1638 				mBAR(); if (state.failed) return;
1639 
1640 				}
1641 				break;
1642 			case 21 :
1643 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:154: ASTERISK
1644 				{
1645 				mASTERISK(); if (state.failed) return;
1646 
1647 				}
1648 				break;
1649 			case 22 :
1650 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:163: COLON
1651 				{
1652 				mCOLON(); if (state.failed) return;
1653 
1654 				}
1655 				break;
1656 			case 23 :
1657 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:169: SEMICOLON
1658 				{
1659 				mSEMICOLON(); if (state.failed) return;
1660 
1661 				}
1662 				break;
1663 			case 24 :
1664 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:179: GREATER
1665 				{
1666 				mGREATER(); if (state.failed) return;
1667 
1668 				}
1669 				break;
1670 			case 25 :
1671 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:187: PLUS
1672 				{
1673 				mPLUS(); if (state.failed) return;
1674 
1675 				}
1676 				break;
1677 			case 26 :
1678 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:192: TILDE
1679 				{
1680 				mTILDE(); if (state.failed) return;
1681 
1682 				}
1683 				break;
1684 			case 27 :
1685 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:198: COMMA
1686 				{
1687 				mCOMMA(); if (state.failed) return;
1688 
1689 				}
1690 				break;
1691 			case 28 :
1692 				// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:1:204: ANY
1693 				{
1694 				mANY(); if (state.failed) return;
1695 
1696 				}
1697 				break;
1698 
1699 		}
1700 	}
1701 
1702 	// $ANTLR start synpred1_SassPostProcess
1703 	public final void synpred1_SassPostProcess_fragment() throws RecognitionException {
1704 		// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:533:8: ( 'not(' )
1705 		// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:533:9: 'not('
1706 		{
1707 		match("not("); if (state.failed) return;
1708 
1709 		}
1710 
1711 	}
1712 	// $ANTLR end synpred1_SassPostProcess
1713 
1714 	// $ANTLR start synpred2_SassPostProcess
1715 	public final void synpred2_SassPostProcess_fragment() throws RecognitionException {
1716 		// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:534:8: ( 'has(' )
1717 		// org/daisy/pipeline/css/sass/impl/SassPostProcess.g:534:9: 'has('
1718 		{
1719 		match("has("); if (state.failed) return;
1720 
1721 		}
1722 
1723 	}
1724 	// $ANTLR end synpred2_SassPostProcess
1725 
1726 	public final boolean synpred2_SassPostProcess() {
1727 		state.backtracking++;
1728 		int start = input.mark();
1729 		try {
1730 			synpred2_SassPostProcess_fragment(); // can never throw exception
1731 		} catch (RecognitionException re) {
1732 			System.err.println("impossible: "+re);
1733 		}
1734 		boolean success = !state.failed;
1735 		input.rewind(start);
1736 		state.backtracking--;
1737 		state.failed=false;
1738 		return success;
1739 	}
1740 	public final boolean synpred1_SassPostProcess() {
1741 		state.backtracking++;
1742 		int start = input.mark();
1743 		try {
1744 			synpred1_SassPostProcess_fragment(); // can never throw exception
1745 		} catch (RecognitionException re) {
1746 			System.err.println("impossible: "+re);
1747 		}
1748 		boolean success = !state.failed;
1749 		input.rewind(start);
1750 		state.backtracking--;
1751 		state.failed=false;
1752 		return success;
1753 	}
1754 
1755 
1756 	protected DFA15 dfa15 = new DFA15(this);
1757 	static final String DFA15_eotS =
1758 		"\1\uffff\1\36\1\41\1\36\1\uffff\1\44\1\46\4\47\1\36\7\uffff\1\75\14\uffff"+
1759 		"\1\41\7\uffff\6\47\1\uffff\7\47\23\uffff\15\47";
1760 	static final String DFA15_eofS =
1761 		"\126\uffff";
1762 	static final String DFA15_minS =
1763 		"\1\0\1\41\1\55\1\52\1\uffff\2\11\4\55\1\40\7\uffff\1\155\14\uffff\1\76"+
1764 		"\7\uffff\6\55\1\40\7\55\23\uffff\15\55";
1765 	static final String DFA15_maxS =
1766 		"\1\uffff\1\41\1\55\1\52\1\uffff\7\ufffd\7\uffff\1\155\14\uffff\1\76\7"+
1767 		"\uffff\16\ufffd\23\uffff\15\ufffd";
1768 	static final String DFA15_acceptS =
1769 		"\4\uffff\1\4\7\uffff\1\7\1\12\1\13\1\14\1\15\1\16\1\17\1\uffff\1\22\1"+
1770 		"\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\1\1\uffff\1\7\1\3\1"+
1771 		"\4\1\11\1\5\1\10\1\6\16\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+
1772 		"\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\2\15\uffff";
1773 	static final String DFA15_specialS =
1774 		"\1\0\125\uffff}>";
1775 	static final String[] DFA15_transitionS = {
1776 			"\11\36\5\4\22\36\1\4\1\36\1\5\1\25\3\36\1\6\1\21\1\22\1\27\1\33\1\35"+
1777 			"\1\2\1\24\1\3\12\14\1\30\1\31\1\1\1\36\1\32\1\36\1\23\32\10\1\17\1\13"+
1778 			"\1\20\1\36\1\11\1\36\32\7\1\15\1\26\1\16\1\34\1\36\ud780\12\u0800\36"+
1779 			"\u1ffe\12\2\36",
1780 			"\1\37",
1781 			"\1\40",
1782 			"\1\42",
1783 			"",
1784 			"\1\45\26\uffff\137\45\1\uffff\ud780\45\u0800\uffff\u1ffe\45",
1785 			"\1\45\26\uffff\137\45\1\uffff\ud780\45\u0800\uffff\u1ffe\45",
1786 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1787 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1788 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1789 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1790 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1791 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1792 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1793 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1794 			"\20\60\12\57\7\61\6\57\32\62\6\57\30\63\1\uffff\ud780\64\u0800\uffff"+
1795 			"\u1ffe\65",
1796 			"",
1797 			"",
1798 			"",
1799 			"",
1800 			"",
1801 			"",
1802 			"",
1803 			"\1\74",
1804 			"",
1805 			"",
1806 			"",
1807 			"",
1808 			"",
1809 			"",
1810 			"",
1811 			"",
1812 			"",
1813 			"",
1814 			"",
1815 			"",
1816 			"\1\110",
1817 			"",
1818 			"",
1819 			"",
1820 			"",
1821 			"",
1822 			"",
1823 			"",
1824 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1825 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1826 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1827 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1828 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1829 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1830 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1831 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1832 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1833 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1834 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1835 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1836 			"\20\112\12\111\7\113\6\111\32\114\6\111\30\115\1\uffff\ud780\116\u0800"+
1837 			"\uffff\u1ffe\117",
1838 			"\1\53\2\uffff\12\122\7\uffff\6\121\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1839 			"\uffff\6\120\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1840 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1841 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1842 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1843 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1844 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1845 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1846 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1847 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1848 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1849 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1850 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1851 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1852 			"",
1853 			"",
1854 			"",
1855 			"",
1856 			"",
1857 			"",
1858 			"",
1859 			"",
1860 			"",
1861 			"",
1862 			"",
1863 			"",
1864 			"",
1865 			"",
1866 			"",
1867 			"",
1868 			"",
1869 			"",
1870 			"",
1871 			"\1\53\2\uffff\12\125\7\uffff\6\124\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1872 			"\uffff\6\123\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1873 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1874 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1875 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1876 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1877 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1878 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1879 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1880 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1881 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1882 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1883 			"\1\53\2\uffff\12\52\7\uffff\32\51\1\uffff\1\56\2\uffff\1\54\1\uffff"+
1884 			"\32\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1885 			"\1\53\2\uffff\12\122\7\uffff\6\121\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1886 			"\uffff\6\120\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1887 			"\1\53\2\uffff\12\122\7\uffff\6\121\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1888 			"\uffff\6\120\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1889 			"\1\53\2\uffff\12\122\7\uffff\6\121\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1890 			"\uffff\6\120\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1891 			"\1\53\2\uffff\12\125\7\uffff\6\124\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1892 			"\uffff\6\123\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1893 			"\1\53\2\uffff\12\125\7\uffff\6\124\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1894 			"\uffff\6\123\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55",
1895 			"\1\53\2\uffff\12\125\7\uffff\6\124\24\51\1\uffff\1\56\2\uffff\1\54\1"+
1896 			"\uffff\6\123\24\50\5\uffff\ud780\55\u0800\uffff\u1ffe\55"
1897 	};
1898 
1899 	static final short[] DFA15_eot = DFA.unpackEncodedString(DFA15_eotS);
1900 	static final short[] DFA15_eof = DFA.unpackEncodedString(DFA15_eofS);
1901 	static final char[] DFA15_min = DFA.unpackEncodedStringToUnsignedChars(DFA15_minS);
1902 	static final char[] DFA15_max = DFA.unpackEncodedStringToUnsignedChars(DFA15_maxS);
1903 	static final short[] DFA15_accept = DFA.unpackEncodedString(DFA15_acceptS);
1904 	static final short[] DFA15_special = DFA.unpackEncodedString(DFA15_specialS);
1905 	static final short[][] DFA15_transition;
1906 
1907 	static {
1908 		int numStates = DFA15_transitionS.length;
1909 		DFA15_transition = new short[numStates][];
1910 		for (int i=0; i<numStates; i++) {
1911 			DFA15_transition[i] = DFA.unpackEncodedString(DFA15_transitionS[i]);
1912 		}
1913 	}
1914 
1915 	protected class DFA15 extends DFA {
1916 
1917 		public DFA15(BaseRecognizer recognizer) {
1918 			this.recognizer = recognizer;
1919 			this.decisionNumber = 15;
1920 			this.eot = DFA15_eot;
1921 			this.eof = DFA15_eof;
1922 			this.min = DFA15_min;
1923 			this.max = DFA15_max;
1924 			this.accept = DFA15_accept;
1925 			this.special = DFA15_special;
1926 			this.transition = DFA15_transition;
1927 		}
1928 		@Override
1929 		public String getDescription() {
1930 			return "1:1: Tokens : ( XML_COMMENT_OPEN | XML_COMMENT_CLOSE | COMMENT | SPACE | STRING | IDENT | NAME | APOS | QUOT | LCURLY | RCURLY | LBRACE | RBRACE | LPAREN | RPAREN | MEDIA | AT | PERIOD | HASH | BAR | ASTERISK | COLON | SEMICOLON | GREATER | PLUS | TILDE | COMMA | ANY );";
1931 		}
1932 		@Override
1933 		public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
1934 			IntStream input = _input;
1935 			int _s = s;
1936 			switch ( s ) {
1937 					case 0 : 
1938 						int LA15_0 = input.LA(1);
1939 						s = -1;
1940 						if ( (LA15_0=='<') ) {s = 1;}
1941 						else if ( (LA15_0=='-') ) {s = 2;}
1942 						else if ( (LA15_0=='/') ) {s = 3;}
1943 						else if ( ((LA15_0 >= '\t' && LA15_0 <= '\r')||LA15_0==' ') ) {s = 4;}
1944 						else if ( (LA15_0=='\"') ) {s = 5;}
1945 						else if ( (LA15_0=='\'') ) {s = 6;}
1946 						else if ( ((LA15_0 >= 'a' && LA15_0 <= 'z')) ) {s = 7;}
1947 						else if ( ((LA15_0 >= 'A' && LA15_0 <= 'Z')) ) {s = 8;}
1948 						else if ( (LA15_0=='_') ) {s = 9;}
1949 						else if ( ((LA15_0 >= '\u0080' && LA15_0 <= '\uD7FF')||(LA15_0 >= '\uE000' && LA15_0 <= '\uFFFD')) ) {s = 10;}
1950 						else if ( (LA15_0=='\\') ) {s = 11;}
1951 						else if ( ((LA15_0 >= '0' && LA15_0 <= '9')) ) {s = 12;}
1952 						else if ( (LA15_0=='{') ) {s = 13;}
1953 						else if ( (LA15_0=='}') ) {s = 14;}
1954 						else if ( (LA15_0=='[') ) {s = 15;}
1955 						else if ( (LA15_0==']') ) {s = 16;}
1956 						else if ( (LA15_0=='(') ) {s = 17;}
1957 						else if ( (LA15_0==')') ) {s = 18;}
1958 						else if ( (LA15_0=='@') ) {s = 19;}
1959 						else if ( (LA15_0=='.') ) {s = 20;}
1960 						else if ( (LA15_0=='#') ) {s = 21;}
1961 						else if ( (LA15_0=='|') ) {s = 22;}
1962 						else if ( (LA15_0=='*') ) {s = 23;}
1963 						else if ( (LA15_0==':') ) {s = 24;}
1964 						else if ( (LA15_0==';') ) {s = 25;}
1965 						else if ( (LA15_0=='>') ) {s = 26;}
1966 						else if ( (LA15_0=='+') ) {s = 27;}
1967 						else if ( (LA15_0=='~') ) {s = 28;}
1968 						else if ( (LA15_0==',') ) {s = 29;}
1969 						else if ( ((LA15_0 >= '\u0000' && LA15_0 <= '\b')||(LA15_0 >= '\u000E' && LA15_0 <= '\u001F')||LA15_0=='!'||(LA15_0 >= '$' && LA15_0 <= '&')||LA15_0=='='||LA15_0=='?'||LA15_0=='^'||LA15_0=='`'||LA15_0=='\u007F'||(LA15_0 >= '\uD800' && LA15_0 <= '\uDFFF')||(LA15_0 >= '\uFFFE' && LA15_0 <= '\uFFFF')) ) {s = 30;}
1970 						if ( s>=0 ) return s;
1971 						break;
1972 			}
1973 			if (state.backtracking>0) {state.failed=true; return -1;}
1974 			NoViableAltException nvae =
1975 				new NoViableAltException(getDescription(), 15, _s, input);
1976 			error(nvae);
1977 			throw nvae;
1978 		}
1979 	}
1980 
1981 }