ahbeng/NUSMods

View on GitHub
scrapers/nus-v2/src/services/requisite-tree/antlr4/NusModsLexer.ts

Summary

Maintainability
F
3 days
Test Coverage
// Generated from src/services/requisite-tree/antlr4/NusMods.g4 by ANTLR 4.9.0-SNAPSHOT


import { ATN } from "antlr4ts/atn/ATN";
import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
import { CharStream } from "antlr4ts/CharStream";
import { Lexer } from "antlr4ts/Lexer";
import { LexerATNSimulator } from "antlr4ts/atn/LexerATNSimulator";
import { NotNull } from "antlr4ts/Decorators";
import { Override } from "antlr4ts/Decorators";
import { RuleContext } from "antlr4ts/RuleContext";
import { Vocabulary } from "antlr4ts/Vocabulary";
import { VocabularyImpl } from "antlr4ts/VocabularyImpl";

import * as Utils from "antlr4ts/misc/Utils";


export class NusModsLexer extends Lexer {
    public static readonly COMMA = 1;
    public static readonly LPAREN = 2;
    public static readonly RPAREN = 3;
    public static readonly IF_IN = 4;
    public static readonly MUST_BE_IN = 5;
    public static readonly IF_NOT_IN = 6;
    public static readonly MUST_NOT_BE_IN = 7;
    public static readonly THEN = 8;
    public static readonly AND = 9;
    public static readonly OR = 10;
    public static readonly PROGRAM_TYPES = 11;
    public static readonly PROGRAM_TYPES_VALUE = 12;
    public static readonly PROGRAMS = 13;
    public static readonly PLAN_TYPES = 14;
    public static readonly COHORT_YEARS = 15;
    public static readonly SUBJECT_YEARS = 16;
    public static readonly SPECIAL = 17;
    public static readonly SPECIAL_VALUE = 18;
    public static readonly COURSES = 19;
    public static readonly SUBJECTS = 20;
    public static readonly UNITS = 21;
    public static readonly GPA = 22;
    public static readonly COREQUISITE = 23;
    public static readonly QUOTE = 24;
    public static readonly NUMBER = 25;
    public static readonly YEARS = 26;
    public static readonly PROGRAMS_VALUE = 27;
    public static readonly WS = 28;

    // tslint:disable:no-trailing-whitespace
    public static readonly channelNames: string[] = [
        "DEFAULT_TOKEN_CHANNEL", "HIDDEN",
    ];

    // tslint:disable:no-trailing-whitespace
    public static readonly modeNames: string[] = [
        "DEFAULT_MODE",
    ];

    public static readonly ruleNames: string[] = [
        "COMMA", "LPAREN", "RPAREN", "IF_IN", "MUST_BE_IN", "IF_NOT_IN", "MUST_NOT_BE_IN", 
        "THEN", "AND", "OR", "PROGRAM_TYPES", "PROGRAM_TYPES_VALUE", "PROGRAMS", 
        "PLAN_TYPES", "COHORT_YEARS", "SUBJECT_YEARS", "SPECIAL", "SPECIAL_VALUE", 
        "COURSES", "SUBJECTS", "UNITS", "GPA", "COREQUISITE", "QUOTE", "NUMBER", 
        "YEARS", "PROGRAMS_VALUE", "ID", "WS",
    ];

    private static readonly _LITERAL_NAMES: Array<string | undefined> = [
        undefined, "','", "'('", "')'", "'IF_IN'", "'MUST_BE_IN'", "'IF_NOT_IN'", 
        "'MUST_NOT_BE_IN'", "'THEN'", "'AND'", "'OR'", undefined, undefined, undefined, 
        undefined, "'COHORT_YEARS'", "'SUBJECT_YEARS'", "'SPECIAL'", undefined, 
        undefined, "'SUBJECTS'", "'UNITS'", undefined, "'COREQUISITE'", "'\"'",
    ];
    private static readonly _SYMBOLIC_NAMES: Array<string | undefined> = [
        undefined, "COMMA", "LPAREN", "RPAREN", "IF_IN", "MUST_BE_IN", "IF_NOT_IN", 
        "MUST_NOT_BE_IN", "THEN", "AND", "OR", "PROGRAM_TYPES", "PROGRAM_TYPES_VALUE", 
        "PROGRAMS", "PLAN_TYPES", "COHORT_YEARS", "SUBJECT_YEARS", "SPECIAL", 
        "SPECIAL_VALUE", "COURSES", "SUBJECTS", "UNITS", "GPA", "COREQUISITE", 
        "QUOTE", "NUMBER", "YEARS", "PROGRAMS_VALUE", "WS",
    ];
    public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(NusModsLexer._LITERAL_NAMES, NusModsLexer._SYMBOLIC_NAMES, []);

    // @Override
    // @NotNull
    public get vocabulary(): Vocabulary {
        return NusModsLexer.VOCABULARY;
    }
    // tslint:enable:no-trailing-whitespace


    constructor(input: CharStream) {
        super(input);
        this._interp = new LexerATNSimulator(NusModsLexer._ATN, this);
    }

    // @Override
    public get grammarFileName(): string { return "NusMods.g4"; }

    // @Override
    public get ruleNames(): string[] { return NusModsLexer.ruleNames; }

    // @Override
    public get serializedATN(): string { return NusModsLexer._serializedATN; }

    // @Override
    public get channelNames(): string[] { return NusModsLexer.channelNames; }

    // @Override
    public get modeNames(): string[] { return NusModsLexer.modeNames; }

    private static readonly _serializedATNSegments: number = 2;
    private static readonly _serializedATNSegment0: string =
        "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\x1E\u02AE\b\x01" +
        "\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06" +
        "\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r" +
        "\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t" +
        "\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t" +
        "\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t" +
        "\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04" +
        "\x03\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x06\x03\x06" +
        "\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06" +
        "\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07" +
        "\x03\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03\b\x03" +
        "\b\x03\b\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\n\x03\n\x03" +
        "\n\x03\n\x03\v\x03\v\x03\v\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03" +
        "\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03" +
        "\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x05\f\x96\n\f\x03\r" +
        "\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03\r\x03" +
        "\r\x05\r\u0135\n\r\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03" +
        "\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03" +
        "\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03\x0E\x03" +
        "\x0E\x05\x0E\u0150\n\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F\x03\x0F" +
        "\x05\x0F\u01A0\n\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03" +
        "\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03" +
        "\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03\x11\x03" +
        "\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12\x03" +
        "\x12\x03\x12\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03\x13\x03" +
        "\x13\x03\x13\x03\x13\x03\x13\x03\x13\x05\x13\u0261\n\x13\x03\x14\x03\x14" +
        "\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14\x03\x14" +
        "\x03\x14\x03\x14\x03\x14\x05\x14\u0271\n\x14\x03\x15\x03\x15\x03\x15\x03" +
        "\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03" +
        "\x16\x03\x16\x03\x16\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x05" +
        "\x17\u0288\n\x17\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18" +
        "\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x1A\x06\x1A" +
        "\u0299\n\x1A\r\x1A\x0E\x1A\u029A\x03\x1B\x03\x1B\x03\x1B\x03\x1B\x03\x1C" +
        "\x03\x1C\x03\x1D\x06\x1D\u02A4\n\x1D\r\x1D\x0E\x1D\u02A5\x03\x1E\x06\x1E" +
        "\u02A9\n\x1E\r\x1E\x0E\x1E\u02AA\x03\x1E\x03\x1E\x02\x02\x02\x1F\x03\x02" +
        "\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11" +
        "\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10" +
        "\x1F\x02\x11!\x02\x12#\x02\x13%\x02\x14\'\x02\x15)\x02\x16+\x02\x17-\x02" +
        "\x18/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x02;\x02\x1E\x03" +
        "\x02\x07\x04\x02002;\x04\x02GGUU\x03\x02<<\t\x02\'\'--//1<C\\aac|\x05" +
        "\x02\v\f\x0F\x0F\"\"\x02\u02CA\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02" +
        "\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02" +
        "\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02" +
        "\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02" +
        "\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02" +
        "\x02\x02\x1F\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02" +
        "\x02%\x03\x02\x02\x02\x02\'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+" +
        "\x03\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02" +
        "\x02\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02" +
        "\x02;\x03\x02\x02\x02\x03=\x03\x02\x02\x02\x05?\x03\x02\x02\x02\x07A\x03" +
        "\x02\x02\x02\tC\x03\x02\x02\x02\vI\x03\x02\x02\x02\rT\x03\x02\x02\x02" +
        "\x0F^\x03\x02\x02\x02\x11m\x03\x02\x02\x02\x13r\x03\x02\x02\x02\x15v\x03" +
        "\x02\x02\x02\x17\x95\x03\x02\x02\x02\x19\u0134\x03\x02\x02\x02\x1B\u014F" +
        "\x03\x02\x02\x02\x1D\u019F\x03\x02\x02\x02\x1F\u01A1\x03\x02\x02\x02!" +
        "\u01AE\x03\x02\x02\x02#\u01BC\x03\x02\x02\x02%\u0260\x03\x02\x02\x02\'" +
        "\u0270\x03\x02\x02\x02)\u0272\x03\x02\x02\x02+\u027B\x03\x02\x02\x02-" +
        "\u0287\x03\x02\x02\x02/\u0289\x03\x02\x02\x021\u0295\x03\x02\x02\x023" +
        "\u0298\x03\x02\x02\x025\u029C\x03\x02\x02\x027\u02A0\x03\x02\x02\x029" +
        "\u02A3\x03\x02\x02\x02;\u02A8\x03\x02\x02\x02=>\x07.\x02\x02>\x04\x03" +
        "\x02\x02\x02?@\x07*\x02\x02@\x06\x03\x02\x02\x02AB\x07+\x02\x02B\b\x03" +
        "\x02\x02\x02CD\x07K\x02\x02DE\x07H\x02\x02EF\x07a\x02\x02FG\x07K\x02\x02" +
        "GH\x07P\x02\x02H\n\x03\x02\x02\x02IJ\x07O\x02\x02JK\x07W\x02\x02KL\x07" +
        "U\x02\x02LM\x07V\x02\x02MN\x07a\x02\x02NO\x07D\x02\x02OP\x07G\x02\x02" +
        "PQ\x07a\x02\x02QR\x07K\x02\x02RS\x07P\x02\x02S\f\x03\x02\x02\x02TU\x07" +
        "K\x02\x02UV\x07H\x02\x02VW\x07a\x02\x02WX\x07P\x02\x02XY\x07Q\x02\x02" +
        "YZ\x07V\x02\x02Z[\x07a\x02\x02[\\\x07K\x02\x02\\]\x07P\x02\x02]\x0E\x03" +
        "\x02\x02\x02^_\x07O\x02\x02_`\x07W\x02\x02`a\x07U\x02\x02ab\x07V\x02\x02" +
        "bc\x07a\x02\x02cd\x07P\x02\x02de\x07Q\x02\x02ef\x07V\x02\x02fg\x07a\x02" +
        "\x02gh\x07D\x02\x02hi\x07G\x02\x02ij\x07a\x02\x02jk\x07K\x02\x02kl\x07" +
        "P\x02\x02l\x10\x03\x02\x02\x02mn\x07V\x02\x02no\x07J\x02\x02op\x07G\x02" +
        "\x02pq\x07P\x02\x02q\x12\x03\x02\x02\x02rs\x07C\x02\x02st\x07P\x02\x02" +
        "tu\x07F\x02\x02u\x14\x03\x02\x02\x02vw\x07Q\x02\x02wx\x07T\x02\x02x\x16" +
        "\x03\x02\x02\x02yz\x07R\x02\x02z{\x07T\x02\x02{|\x07Q\x02\x02|}\x07I\x02" +
        "\x02}~\x07T\x02\x02~\x7F\x07C\x02\x02\x7F\x80\x07O\x02\x02\x80\x81\x07" +
        "a\x02\x02\x81\x82\x07V\x02\x02\x82\x83\x07[\x02\x02\x83\x84\x07R\x02\x02" +
        "\x84\x85\x07G\x02\x02\x85\x96\x07U\x02\x02\x86\x87\x07R\x02\x02\x87\x88" +
        "\x07T\x02\x02\x88\x89\x07Q\x02\x02\x89\x8A\x07I\x02\x02\x8A\x8B\x07T\x02" +
        "\x02\x8B\x8C\x07C\x02\x02\x8C\x8D\x07O\x02\x02\x8D\x8E\x07O\x02\x02\x8E" +
        "\x8F\x07G\x02\x02\x8F\x90\x07a\x02\x02\x90\x91\x07V\x02\x02\x91\x92\x07" +
        "[\x02\x02\x92\x93\x07R\x02\x02\x93\x94\x07G\x02\x02\x94\x96\x07U\x02\x02" +
        "\x95y\x03\x02\x02\x02\x95\x86\x03\x02\x02\x02\x96\x18\x03\x02\x02\x02" +
        "\x97\x98\x07W\x02\x02\x98\x99\x07p\x02\x02\x99\x9A\x07f\x02\x02\x9A\x9B" +
        "\x07g\x02\x02\x9B\x9C\x07t\x02\x02\x9C\x9D\x07i\x02\x02\x9D\x9E\x07t\x02" +
        "\x02\x9E\x9F\x07c\x02\x02\x9F\xA0\x07f\x02\x02\xA0\xA1\x07w\x02\x02\xA1" +
        "\xA2\x07c\x02\x02\xA2\xA3\x07v\x02\x02\xA3\xA4\x07g\x02\x02\xA4\xA5\x07" +
        "\"\x02\x02\xA5\xA6\x07F\x02\x02\xA6\xA7\x07g\x02\x02\xA7\xA8\x07i\x02" +
        "\x02\xA8\xA9\x07t\x02\x02\xA9\xAA\x07g\x02\x02\xAA\u0135\x07g\x02\x02" +
        "\xAB\xAC\x07W\x02\x02\xAC\xAD\x07P\x02\x02\xAD\xAE\x07F\x02\x02\xAE\xAF" +
        "\x07G\x02\x02\xAF\xB0\x07T\x02\x02\xB0\xB1\x07I\x02\x02\xB1\xB2\x07T\x02" +
        "\x02\xB2\xB3\x07C\x02\x02\xB3\xB4\x07F\x02\x02\xB4\xB5\x07W\x02\x02\xB5" +
        "\xB6\x07C\x02\x02\xB6\xB7\x07V\x02\x02\xB7\xB8\x07G\x02\x02\xB8\xB9\x07" +
        "\"\x02\x02\xB9\xBA\x07F\x02\x02\xBA\xBB\x07G\x02\x02\xBB\xBC\x07I\x02" +
        "\x02\xBC\xBD\x07T\x02\x02\xBD\xBE\x07G\x02\x02\xBE\u0135\x07G\x02\x02" +
        "\xBF\xC0\x07I\x02\x02\xC0\xC1\x07t\x02\x02\xC1\xC2\x07c\x02\x02\xC2\xC3" +
        "\x07f\x02\x02\xC3\xC4\x07w\x02\x02\xC4\xC5\x07c\x02\x02\xC5\xC6\x07v\x02" +
        "\x02\xC6\xC7\x07g\x02\x02\xC7\xC8\x07\"\x02\x02\xC8\xC9\x07F\x02\x02\xC9" +
        "\xCA\x07g\x02\x02\xCA\xCB\x07i\x02\x02\xCB\xCC\x07t\x02\x02\xCC\xCD\x07" +
        "g\x02\x02\xCD\xCE\x07g\x02\x02\xCE\xCF\x07\"\x02\x02\xCF\xD0\x07E\x02" +
        "\x02\xD0\xD1\x07q\x02\x02\xD1\xD2\x07w\x02\x02\xD2\xD3\x07t\x02\x02\xD3" +
        "\xD4\x07u\x02\x02\xD4\xD5\x07g\x02\x02\xD5\xD6\x07y\x02\x02\xD6\xD7\x07" +
        "q\x02\x02\xD7\xD8\x07t\x02\x02\xD8\u0135\x07m\x02\x02\xD9\xDA\x07I\x02" +
        "\x02\xDA\xDB\x07T\x02\x02\xDB\xDC\x07C\x02\x02\xDC\xDD\x07F\x02\x02\xDD" +
        "\xDE\x07W\x02\x02\xDE\xDF\x07C\x02\x02\xDF\xE0\x07V\x02\x02\xE0\xE1\x07" +
        "G\x02\x02\xE1\xE2\x07\"\x02\x02\xE2\xE3\x07F\x02\x02\xE3\xE4\x07G\x02" +
        "\x02\xE4\xE5\x07I\x02\x02\xE5\xE6\x07T\x02\x02\xE6\xE7\x07G\x02\x02\xE7" +
        "\xE8\x07G\x02\x02\xE8\xE9\x07\"\x02\x02\xE9\xEA\x07E\x02\x02\xEA\xEB\x07" +
        "Q\x02\x02\xEB\xEC\x07W\x02\x02\xEC\xED\x07T\x02\x02\xED\xEE\x07U\x02\x02" +
        "\xEE\xEF\x07G\x02\x02\xEF\xF0\x07Y\x02\x02\xF0\xF1\x07Q\x02\x02\xF1\xF2" +
        "\x07T\x02\x02\xF2\u0135\x07M\x02\x02\xF3\xF4\x07I\x02\x02\xF4\xF5\x07" +
        "t\x02\x02\xF5\xF6\x07c\x02\x02\xF6\xF7\x07f\x02\x02\xF7\xF8\x07w\x02\x02" +
        "\xF8\xF9\x07c\x02\x02\xF9\xFA\x07v\x02\x02\xFA\xFB\x07g\x02\x02\xFB\xFC" +
        "\x07\"\x02\x02\xFC\xFD\x07F\x02\x02\xFD\xFE\x07g\x02\x02\xFE\xFF\x07i" +
        "\x02\x02\xFF\u0100\x07t\x02\x02\u0100\u0101\x07g\x02\x02\u0101\u0102\x07" +
        "g\x02\x02\u0102\u0103\x07\"\x02\x02\u0103\u0104\x07T\x02\x02\u0104\u0105" +
        "\x07g\x02\x02\u0105\u0106\x07u\x02\x02\u0106\u0107\x07g\x02\x02\u0107" +
        "\u0108\x07c\x02\x02\u0108\u0109\x07t\x02\x02\u0109\u010A\x07e\x02\x02" +
        "\u010A\u0135\x07j\x02\x02\u010B\u010C\x07I\x02\x02\u010C\u010D\x07T\x02" +
        "\x02\u010D\u010E\x07C\x02\x02\u010E\u010F\x07F\x02\x02\u010F\u0110\x07" +
        "W\x02\x02\u0110\u0111\x07C\x02\x02\u0111\u0112\x07V\x02\x02\u0112\u0113" +
        "\x07G\x02\x02\u0113\u0114\x07\"\x02\x02\u0114\u0115\x07F\x02\x02\u0115" +
        "\u0116\x07G\x02\x02\u0116\u0117\x07I\x02\x02\u0117\u0118\x07T\x02\x02" +
        "\u0118\u0119\x07G\x02\x02\u0119\u011A\x07G\x02\x02\u011A\u011B\x07\"\x02" +
        "\x02\u011B\u011C\x07T\x02\x02\u011C\u011D\x07G\x02\x02\u011D\u011E\x07" +
        "U\x02\x02\u011E\u011F\x07G\x02\x02\u011F\u0120\x07C\x02\x02\u0120\u0121" +
        "\x07T\x02\x02\u0121\u0122\x07E\x02\x02\u0122\u0135\x07J\x02\x02\u0123" +
        "\u0124\x07E\x02\x02\u0124\u0125\x07R\x02\x02\u0125\u0126\x07G\x02\x02" +
        "\u0126\u0127\x07\"\x02\x02\u0127\u0128\x07*\x02\x02\u0128\u0129\x07E\x02" +
        "\x02\u0129\u012A\x07g\x02\x02\u012A\u012B\x07t\x02\x02\u012B\u012C\x07" +
        "v\x02\x02\u012C\u012D\x07k\x02\x02\u012D\u012E\x07h\x02\x02\u012E\u012F" +
        "\x07k\x02\x02\u012F\u0130\x07e\x02\x02\u0130\u0131\x07c\x02\x02\u0131" +
        "\u0132\x07v\x02\x02\u0132\u0133\x07g\x02\x02\u0133\u0135\x07+\x02\x02" +
        "\u0134\x97\x03\x02\x02\x02\u0134\xAB\x03\x02\x02\x02\u0134\xBF\x03\x02" +
        "\x02\x02\u0134\xD9\x03\x02\x02\x02\u0134\xF3\x03\x02\x02\x02\u0134\u010B" +
        "\x03\x02\x02\x02\u0134\u0123\x03\x02\x02\x02\u0135\x1A\x03\x02\x02\x02" +
        "\u0136\u0137\x07R\x02\x02\u0137\u0138\x07T\x02\x02\u0138\u0139\x07Q\x02" +
        "\x02\u0139\u013A\x07I\x02\x02\u013A\u013B\x07T\x02\x02\u013B\u013C\x07" +
        "C\x02\x02\u013C\u013D\x07O\x02\x02\u013D\u0150\x07U\x02\x02\u013E\u013F" +
        "\x07U\x02\x02\u013F\u0140\x07R\x02\x02\u0140\u0141\x07G\x02\x02\u0141" +
        "\u0142\x07E\x02\x02\u0142\u0143\x07K\x02\x02\u0143\u0144\x07C\x02\x02" +
        "\u0144\u0145\x07N\x02\x02\u0145\u0146\x07a\x02\x02\u0146\u0147\x07R\x02" +
        "\x02\u0147\u0148\x07T\x02\x02\u0148\u0149\x07Q\x02\x02\u0149\u014A\x07" +
        "I\x02\x02\u014A\u014B\x07T\x02\x02\u014B\u014C\x07C\x02\x02\u014C\u014D" +
        "\x07O\x02\x02\u014D\u014E\x07O\x02\x02\u014E\u0150\x07G\x02\x02\u014F" +
        "\u0136\x03\x02\x02\x02\u014F\u013E\x03\x02\x02\x02\u0150\x1C\x03\x02\x02" +
        "\x02\u0151\u0152\x07O\x02\x02\u0152\u0153\x07k\x02\x02\u0153\u0154\x07" +
        "p\x02\x02\u0154\u0155\x07q\x02\x02\u0155\u01A0\x07t\x02\x02\u0156\u0157" +
        "\x07O\x02\x02\u0157\u0158\x07K\x02\x02\u0158\u0159\x07P\x02\x02\u0159" +
        "\u015A\x07Q\x02\x02\u015A\u01A0\x07T\x02\x02\u015B\u015C\x074\x02\x02" +
        "\u015C\u015D\x07p\x02\x02\u015D\u015E\x07f\x02\x02\u015E\u015F\x07\"\x02" +
        "\x02\u015F\u0160\x07O\x02\x02\u0160\u0161\x07c\x02\x02\u0161\u0162\x07" +
        "l\x02\x02\u0162\u0163\x07q\x02\x02\u0163\u01A0\x07t\x02\x02\u0164\u0165" +
        "\x074\x02\x02\u0165\u0166\x07P\x02\x02\u0166\u0167\x07F\x02\x02\u0167" +
        "\u0168\x07a\x02\x02\u0168\u0169\x07O\x02\x02\u0169\u016A\x07C\x02\x02" +
        "\u016A\u016B\x07L\x02\x02\u016B\u016C\x07Q\x02\x02\u016C\u01A0\x07T\x02" +
        "\x02\u016D\u016E\x07U\x02\x02\u016E\u016F\x07r\x02\x02\u016F\u0170\x07" +
        "g\x02\x02\u0170\u0171\x07e\x02\x02\u0171\u0172\x07k\x02\x02\u0172\u0173" +
        "\x07c\x02\x02\u0173\u0174\x07n\x02\x02\u0174\u0175\x07k\x02\x02\u0175" +
        "\u0176\x07u\x02\x02\u0176\u0177\x07c\x02\x02\u0177\u0178\x07v\x02\x02" +
        "\u0178\u0179\x07k\x02\x02\u0179\u017A\x07q\x02\x02\u017A\u01A0\x07p\x02" +
        "\x02\u017B\u017C\x07U\x02\x02\u017C\u017D\x07R\x02\x02\u017D\u017E\x07" +
        "G\x02\x02\u017E\u017F\x07E\x02\x02\u017F\u0180\x07K\x02\x02\u0180\u0181" +
        "\x07C\x02\x02\u0181\u0182\x07N\x02\x02\u0182\u0183\x07K\x02\x02\u0183" +
        "\u0184\x07U\x02\x02\u0184\u0185\x07C\x02\x02\u0185\u0186\x07V\x02\x02" +
        "\u0186\u0187\x07K\x02\x02\u0187\u0188\x07Q\x02\x02\u0188\u01A0\x07P\x02" +
        "\x02\u0189\u018A\x07U\x02\x02\u018A\u018B\x07r\x02\x02\u018B\u018C\x07" +
        "g\x02\x02\u018C\u018D\x07e\x02\x02\u018D\u018E\x07k\x02\x02\u018E\u018F" +
        "\x07c\x02\x02\u018F\u0190\x07n\x02\x02\u0190\u0191\x07\"\x02\x02\u0191" +
        "\u0192\x07R\x02\x02\u0192\u0193\x07t\x02\x02\u0193\u0194\x07q\x02\x02" +
        "\u0194\u0195\x07i\x02\x02\u0195\u0196\x07t\x02\x02\u0196\u0197\x07c\x02" +
        "\x02\u0197\u0198\x07o\x02\x02\u0198\u0199\x07o\x02\x02\u0199\u01A0\x07" +
        "g\x02\x02\u019A\u019B\x07V\x02\x02\u019B\u019C\x07t\x02\x02\u019C\u019D" +
        "\x07c\x02\x02\u019D\u019E\x07e\x02\x02\u019E\u01A0\x07m\x02\x02\u019F" +
        "\u0151\x03\x02\x02\x02\u019F\u0156\x03\x02\x02\x02\u019F\u015B\x03\x02" +
        "\x02\x02\u019F\u0164\x03\x02\x02\x02\u019F\u016D\x03\x02\x02\x02\u019F" +
        "\u017B\x03\x02\x02\x02\u019F\u0189\x03\x02\x02\x02\u019F\u019A\x03\x02" +
        "\x02\x02\u01A0\x1E\x03\x02\x02\x02\u01A1\u01A2\x07E\x02\x02\u01A2\u01A3" +
        "\x07Q\x02\x02\u01A3\u01A4\x07J\x02\x02\u01A4\u01A5\x07Q\x02\x02\u01A5" +
        "\u01A6\x07T\x02\x02\u01A6\u01A7\x07V\x02\x02\u01A7\u01A8\x07a\x02\x02" +
        "\u01A8\u01A9\x07[\x02\x02\u01A9\u01AA\x07G\x02\x02\u01AA\u01AB\x07C\x02" +
        "\x02\u01AB\u01AC\x07T\x02\x02\u01AC\u01AD\x07U\x02\x02\u01AD \x03\x02" +
        "\x02\x02\u01AE\u01AF\x07U\x02\x02\u01AF\u01B0\x07W\x02\x02\u01B0\u01B1" +
        "\x07D\x02\x02\u01B1\u01B2\x07L\x02\x02\u01B2\u01B3\x07G\x02\x02\u01B3" +
        "\u01B4\x07E\x02\x02\u01B4\u01B5\x07V\x02\x02\u01B5\u01B6\x07a\x02\x02" +
        "\u01B6\u01B7\x07[\x02\x02\u01B7\u01B8\x07G\x02\x02\u01B8\u01B9\x07C\x02" +
        "\x02\u01B9\u01BA\x07T\x02\x02\u01BA\u01BB\x07U\x02\x02\u01BB\"\x03\x02" +
        "\x02\x02\u01BC\u01BD\x07U\x02\x02\u01BD\u01BE\x07R\x02\x02\u01BE\u01BF" +
        "\x07G\x02\x02\u01BF\u01C0\x07E\x02\x02\u01C0\u01C1\x07K\x02\x02\u01C1" +
        "\u01C2\x07C\x02\x02\u01C2\u01C3\x07N\x02\x02\u01C3$\x03\x02\x02\x02\u01C4" +
        "\u01C5\x07C\x02\x02\u01C5\u01C6\x07E\x02\x02\u01C6\u01C7\x07C\x02\x02" +
        "\u01C7\u01C8\x07F\x02\x02\u01C8\u01C9\x07a\x02\x02\u01C9\u01CA\x07N\x02" +
        "\x02\u01CA\u01CB\x07G\x02\x02\u01CB\u01CC\x07X\x02\x02\u01CC\u01CD\x07" +
        "G\x02\x02\u01CD\u01CE\x07N\x02\x02\u01CE\u01CF\x07?\x02\x02\u01CF\u0261" +
        "\x073\x02\x02\u01D0\u01D1\x07C\x02\x02\u01D1\u01D2\x07E\x02\x02\u01D2" +
        "\u01D3\x07C\x02\x02\u01D3\u01D4\x07F\x02\x02\u01D4\u01D5\x07a\x02\x02" +
        "\u01D5\u01D6\x07N\x02\x02\u01D6\u01D7\x07G\x02\x02\u01D7\u01D8\x07X\x02" +
        "\x02\u01D8\u01D9\x07G\x02\x02\u01D9\u01DA\x07N\x02\x02\u01DA\u01DB\x07" +
        "?\x02\x02\u01DB\u01DC\x073\x02\x02\u01DC\u01DD\x07/\x02\x02\u01DD\u0261" +
        "\x074\x02\x02\u01DE\u01DF\x07C\x02\x02\u01DF\u01E0\x07E\x02\x02\u01E0" +
        "\u01E1\x07C\x02\x02\u01E1\u01E2\x07F\x02\x02\u01E2\u01E3\x07a\x02\x02" +
        "\u01E3\u01E4\x07N\x02\x02\u01E4\u01E5\x07G\x02\x02\u01E5\u01E6\x07X\x02" +
        "\x02\u01E6\u01E7\x07G\x02\x02\u01E7\u01E8\x07N\x02\x02\u01E8\u01E9\x07" +
        "?\x02\x02\u01E9\u01EA\x073\x02\x02\u01EA\u01EB\x07/\x02\x02\u01EB\u01EC" +
        "\x074\x02\x02\u01EC\u01ED\x07/\x02\x02\u01ED\u0261\x075\x02\x02\u01EE" +
        "\u01EF\x07C\x02\x02\u01EF\u01F0\x07E\x02\x02\u01F0\u01F1\x07C\x02\x02" +
        "\u01F1\u01F2\x07F\x02\x02\u01F2\u01F3\x07a\x02\x02\u01F3\u01F4\x07N\x02" +
        "\x02\u01F4\u01F5\x07G\x02\x02\u01F5\u01F6\x07X\x02\x02\u01F6\u01F7\x07" +
        "G\x02\x02\u01F7\u01F8\x07N\x02\x02\u01F8\u01F9\x07?\x02\x02\u01F9\u01FA" +
        "\x073\x02\x02\u01FA\u01FB\x07/\x02\x02\u01FB\u01FC\x074\x02\x02\u01FC" +
        "\u01FD\x07/\x02\x02\u01FD\u01FE\x075\x02\x02\u01FE\u01FF\x07/\x02\x02" +
        "\u01FF\u0261\x076\x02\x02\u0200\u0201\x07C\x02\x02\u0201\u0202\x07E\x02" +
        "\x02\u0202\u0203\x07C\x02\x02\u0203\u0204\x07F\x02\x02\u0204\u0205\x07" +
        "a\x02\x02\u0205\u0206\x07N\x02\x02\u0206\u0207\x07G\x02\x02\u0207\u0208" +
        "\x07X\x02\x02\u0208\u0209\x07G\x02\x02\u0209\u020A\x07N\x02\x02\u020A" +
        "\u020B\x07?\x02\x02\u020B\u0261\x074\x02\x02\u020C\u020D\x07C\x02\x02" +
        "\u020D\u020E\x07E\x02\x02\u020E\u020F\x07C\x02\x02\u020F\u0210\x07F\x02" +
        "\x02\u0210\u0211\x07a\x02\x02\u0211\u0212\x07N\x02\x02\u0212\u0213\x07" +
        "G\x02\x02\u0213\u0214\x07X\x02\x02\u0214\u0215\x07G\x02\x02\u0215\u0216" +
        "\x07N\x02\x02\u0216\u0217\x07?\x02\x02\u0217\u0218\x074\x02\x02\u0218" +
        "\u0219\x07/\x02\x02\u0219\u0261\x075\x02\x02\u021A\u021B\x07C\x02\x02" +
        "\u021B\u021C\x07E\x02\x02\u021C\u021D\x07C\x02\x02\u021D\u021E\x07F\x02" +
        "\x02\u021E\u021F\x07a\x02\x02\u021F\u0220\x07N\x02\x02\u0220\u0221\x07" +
        "G\x02\x02\u0221\u0222\x07X\x02\x02\u0222\u0223\x07G\x02\x02\u0223\u0224" +
        "\x07N\x02\x02\u0224\u0225\x07?\x02\x02\u0225\u0226\x074\x02\x02\u0226" +
        "\u0227\x07/\x02\x02\u0227\u0228\x075\x02\x02\u0228\u0229\x07/\x02\x02" +
        "\u0229\u0261\x076\x02\x02\u022A\u022B\x07C\x02\x02\u022B\u022C\x07E\x02" +
        "\x02\u022C\u022D\x07C\x02\x02\u022D\u022E\x07F\x02\x02\u022E\u022F\x07" +
        "a\x02\x02\u022F\u0230\x07N\x02\x02\u0230\u0231\x07G\x02\x02\u0231\u0232" +
        "\x07X\x02\x02\u0232\u0233\x07G\x02\x02\u0233\u0234\x07N\x02\x02\u0234" +
        "\u0235\x07?\x02\x02\u0235\u0261\x075\x02\x02\u0236\u0237\x07C\x02\x02" +
        "\u0237\u0238\x07";
    private static readonly _serializedATNSegment1: string =
        "E\x02\x02\u0238\u0239\x07C\x02\x02\u0239\u023A\x07F\x02\x02\u023A\u023B" +
        "\x07a\x02\x02\u023B\u023C\x07N\x02\x02\u023C\u023D\x07G\x02\x02\u023D" +
        "\u023E\x07X\x02\x02\u023E\u023F\x07G\x02\x02\u023F\u0240\x07N\x02\x02" +
        "\u0240\u0241\x07?\x02\x02\u0241\u0242\x075\x02\x02\u0242\u0243\x07/\x02" +
        "\x02\u0243\u0261\x076\x02\x02\u0244\u0245\x07C\x02\x02\u0245\u0246\x07" +
        "E\x02\x02\u0246\u0247\x07C\x02\x02\u0247\u0248\x07F\x02\x02\u0248\u0249" +
        "\x07a\x02\x02\u0249\u024A\x07N\x02\x02\u024A\u024B\x07G\x02\x02\u024B" +
        "\u024C\x07X\x02\x02\u024C\u024D\x07G\x02\x02\u024D\u024E\x07N\x02\x02" +
        "\u024E\u024F\x07?\x02\x02\u024F\u0261\x076\x02\x02\u0250\u0251\x07U\x02" +
        "\x02\u0251\u0252\x07W\x02\x02\u0252\u0253\x07D\x02\x02\u0253\u0254\x07" +
        "L\x02\x02\u0254\u0255\x07G\x02\x02\u0255\u0256\x07E\x02\x02\u0256\u0257" +
        "\x07V\x02\x02\u0257\u0258\x07a\x02\x02\u0258\u0259\x07N\x02\x02\u0259" +
        "\u025A\x07G\x02\x02\u025A\u025B\x07X\x02\x02\u025B\u025C\x07G\x02\x02" +
        "\u025C\u025D\x07N\x02\x02\u025D\u025E\x07?\x02\x02\u025E\u025F\x07J\x02" +
        "\x02\u025F\u0261\x074\x02\x02\u0260\u01C4\x03\x02\x02\x02\u0260\u01D0" +
        "\x03\x02\x02\x02\u0260\u01DE\x03\x02\x02\x02\u0260\u01EE\x03\x02\x02\x02" +
        "\u0260\u0200\x03\x02\x02\x02\u0260\u020C\x03\x02\x02\x02\u0260\u021A\x03" +
        "\x02\x02\x02\u0260\u022A\x03\x02\x02\x02\u0260\u0236\x03\x02\x02\x02\u0260" +
        "\u0244\x03\x02\x02\x02\u0260\u0250\x03\x02\x02\x02\u0261&\x03\x02\x02" +
        "\x02\u0262\u0263\x07E\x02\x02\u0263\u0264\x07Q\x02\x02\u0264\u0265\x07" +
        "W\x02\x02\u0265\u0266\x07T\x02\x02\u0266\u0267\x07U\x02\x02\u0267\u0268" +
        "\x07G\x02\x02\u0268\u0271\x07U\x02\x02\u0269\u026A\x07O\x02\x02\u026A" +
        "\u026B\x07Q\x02\x02\u026B\u026C\x07F\x02\x02\u026C\u026D\x07W\x02\x02" +
        "\u026D\u026E\x07N\x02\x02\u026E\u026F\x07G\x02\x02\u026F\u0271\x07U\x02" +
        "\x02\u0270\u0262\x03\x02\x02\x02\u0270\u0269\x03\x02\x02\x02\u0271(\x03" +
        "\x02\x02\x02\u0272\u0273\x07U\x02\x02\u0273\u0274\x07W\x02\x02\u0274\u0275" +
        "\x07D\x02\x02\u0275\u0276\x07L\x02\x02\u0276\u0277\x07G\x02\x02\u0277" +
        "\u0278\x07E\x02\x02\u0278\u0279\x07V\x02\x02\u0279\u027A\x07U\x02\x02" +
        "\u027A*\x03\x02\x02\x02\u027B\u027C\x07W\x02\x02\u027C\u027D\x07P\x02" +
        "\x02\u027D\u027E\x07K\x02\x02\u027E\u027F\x07V\x02\x02\u027F\u0280\x07" +
        "U\x02\x02\u0280,\x03\x02\x02\x02\u0281\u0282\x07I\x02\x02\u0282\u0283" +
        "\x07R\x02\x02\u0283\u0288\x07C\x02\x02\u0284\u0285\x07E\x02\x02\u0285" +
        "\u0286\x07C\x02\x02\u0286\u0288\x07R\x02\x02\u0287\u0281\x03\x02\x02\x02" +
        "\u0287\u0284\x03\x02\x02\x02\u0288.\x03\x02\x02\x02\u0289\u028A\x07E\x02" +
        "\x02\u028A\u028B\x07Q\x02\x02\u028B\u028C\x07T\x02\x02\u028C\u028D\x07" +
        "G\x02\x02\u028D\u028E\x07S\x02\x02\u028E\u028F\x07W\x02\x02\u028F\u0290" +
        "\x07K\x02\x02\u0290\u0291\x07U\x02\x02\u0291\u0292\x07K\x02\x02\u0292" +
        "\u0293\x07V\x02\x02\u0293\u0294\x07G\x02\x02\u02940\x03\x02\x02\x02\u0295" +
        "\u0296\x07$\x02\x02\u02962\x03\x02\x02\x02\u0297\u0299\t\x02\x02\x02\u0298" +
        "\u0297\x03\x02\x02\x02\u0299\u029A\x03\x02\x02\x02\u029A\u0298\x03\x02" +
        "\x02\x02\u029A\u029B\x03\x02\x02\x02\u029B4\x03\x02\x02\x02\u029C\u029D" +
        "\t\x03\x02\x02\u029D\u029E\t\x04\x02\x02\u029E\u029F\x059\x1D\x02\u029F" +
        "6\x03\x02\x02\x02\u02A0\u02A1\x059\x1D\x02\u02A18\x03\x02\x02\x02\u02A2" +
        "\u02A4\t\x05\x02\x02\u02A3\u02A2\x03\x02\x02\x02\u02A4\u02A5\x03\x02\x02" +
        "\x02\u02A5\u02A3\x03\x02\x02\x02\u02A5\u02A6\x03\x02\x02\x02\u02A6:\x03" +
        "\x02\x02\x02\u02A7\u02A9\t\x06\x02\x02\u02A8\u02A7\x03\x02\x02\x02\u02A9" +
        "\u02AA\x03\x02\x02\x02\u02AA\u02A8\x03\x02\x02\x02\u02AA\u02AB\x03\x02" +
        "\x02\x02\u02AB\u02AC\x03\x02\x02\x02\u02AC\u02AD\b\x1E\x02\x02\u02AD<" +
        "\x03\x02\x02\x02\r\x02\x95\u0134\u014F\u019F\u0260\u0270\u0287\u029A\u02A5" +
        "\u02AA\x03\b\x02\x02";
    public static readonly _serializedATN: string = Utils.join(
        [
            NusModsLexer._serializedATNSegment0,
            NusModsLexer._serializedATNSegment1,
        ],
        "",
    );
    public static __ATN: ATN;
    public static get _ATN(): ATN {
        if (!NusModsLexer.__ATN) {
            NusModsLexer.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(NusModsLexer._serializedATN));
        }

        return NusModsLexer.__ATN;
    }

}