All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.geolatte.common.cql.lexer.Lexer Maven / Gradle / Ivy

Go to download

This GeoLatte-common library contains the transformer framework and other common classes used by other GeoLatte modules.

There is a newer version: 0.8
Show newest version
/* This file was generated by SableCC (http://www.sablecc.org/). */

package org.geolatte.common.cql.lexer;

import java.io.*;
import org.geolatte.common.cql.node.*;

@SuppressWarnings("nls")
public class Lexer
{
    protected Token token;
    protected State state = State.NORMAL;

    private PushbackReader in;
    private int line;
    private int pos;
    private boolean cr;
    private boolean eof;
    private final StringBuffer text = new StringBuffer();

    @SuppressWarnings("unused")
    protected void filter() throws LexerException, IOException
    {
        // Do nothing
    }

    public Lexer(@SuppressWarnings("hiding") PushbackReader in)
    {
        this.in = in;
    }
 
    public Token peek() throws LexerException, IOException
    {
        while(this.token == null)
        {
            this.token = getToken();
            filter();
        }

        return this.token;
    }

    public Token next() throws LexerException, IOException
    {
        while(this.token == null)
        {
            this.token = getToken();
            filter();
        }

        Token result = this.token;
        this.token = null;
        return result;
    }

    protected Token getToken() throws IOException, LexerException
    {
        int dfa_state = 0;

        int start_pos = this.pos;
        int start_line = this.line;

        int accept_state = -1;
        int accept_token = -1;
        int accept_length = -1;
        int accept_pos = -1;
        int accept_line = -1;

        @SuppressWarnings("hiding") int[][][] gotoTable = Lexer.gotoTable[this.state.id()];
        @SuppressWarnings("hiding") int[] accept = Lexer.accept[this.state.id()];
        this.text.setLength(0);

        while(true)
        {
            int c = getChar();

            if(c != -1)
            {
                switch(c)
                {
                case 10:
                    if(this.cr)
                    {
                        this.cr = false;
                    }
                    else
                    {
                        this.line++;
                        this.pos = 0;
                    }
                    break;
                case 13:
                    this.line++;
                    this.pos = 0;
                    this.cr = true;
                    break;
                default:
                    this.pos++;
                    this.cr = false;
                    break;
                }

                this.text.append((char) c);

                do
                {
                    int oldState = (dfa_state < -1) ? (-2 -dfa_state) : dfa_state;

                    dfa_state = -1;

                    int[][] tmp1 =  gotoTable[oldState];
                    int low = 0;
                    int high = tmp1.length - 1;

                    while(low <= high)
                    {
                        int middle = (low + high) / 2;
                        int[] tmp2 = tmp1[middle];

                        if(c < tmp2[0])
                        {
                            high = middle - 1;
                        }
                        else if(c > tmp2[1])
                        {
                            low = middle + 1;
                        }
                        else
                        {
                            dfa_state = tmp2[2];
                            break;
                        }
                    }
                }while(dfa_state < -1);
            }
            else
            {
                dfa_state = -1;
            }

            if(dfa_state >= 0)
            {
                if(accept[dfa_state] != -1)
                {
                    accept_state = dfa_state;
                    accept_token = accept[dfa_state];
                    accept_length = this.text.length();
                    accept_pos = this.pos;
                    accept_line = this.line;
                }
            }
            else
            {
                if(accept_state != -1)
                {
                    switch(accept_token)
                    {
                    case 0:
                        {
                            @SuppressWarnings("hiding") Token token = new0(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 1:
                        {
                            @SuppressWarnings("hiding") Token token = new1(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 2:
                        {
                            @SuppressWarnings("hiding") Token token = new2(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 3:
                        {
                            @SuppressWarnings("hiding") Token token = new3(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 4:
                        {
                            @SuppressWarnings("hiding") Token token = new4(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 5:
                        {
                            @SuppressWarnings("hiding") Token token = new5(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 6:
                        {
                            @SuppressWarnings("hiding") Token token = new6(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 7:
                        {
                            @SuppressWarnings("hiding") Token token = new7(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.WKT; break;
                                case 1: state = State.WKT; break;
                            }
                            return token;
                        }
                    case 8:
                        {
                            @SuppressWarnings("hiding") Token token = new8(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 9:
                        {
                            @SuppressWarnings("hiding") Token token = new9(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 10:
                        {
                            @SuppressWarnings("hiding") Token token = new10(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 11:
                        {
                            @SuppressWarnings("hiding") Token token = new11(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 12:
                        {
                            @SuppressWarnings("hiding") Token token = new12(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 13:
                        {
                            @SuppressWarnings("hiding") Token token = new13(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 14:
                        {
                            @SuppressWarnings("hiding") Token token = new14(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 15:
                        {
                            @SuppressWarnings("hiding") Token token = new15(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 16:
                        {
                            @SuppressWarnings("hiding") Token token = new16(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 17:
                        {
                            @SuppressWarnings("hiding") Token token = new17(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 18:
                        {
                            @SuppressWarnings("hiding") Token token = new18(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 19:
                        {
                            @SuppressWarnings("hiding") Token token = new19(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 20:
                        {
                            @SuppressWarnings("hiding") Token token = new20(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 21:
                        {
                            @SuppressWarnings("hiding") Token token = new21(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 22:
                        {
                            @SuppressWarnings("hiding") Token token = new22(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 23:
                        {
                            @SuppressWarnings("hiding") Token token = new23(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 24:
                        {
                            @SuppressWarnings("hiding") Token token = new24(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 25:
                        {
                            @SuppressWarnings("hiding") Token token = new25(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 26:
                        {
                            @SuppressWarnings("hiding") Token token = new26(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 27:
                        {
                            @SuppressWarnings("hiding") Token token = new27(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 28:
                        {
                            @SuppressWarnings("hiding") Token token = new28(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 29:
                        {
                            @SuppressWarnings("hiding") Token token = new29(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 30:
                        {
                            @SuppressWarnings("hiding") Token token = new30(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 31:
                        {
                            @SuppressWarnings("hiding") Token token = new31(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 32:
                        {
                            @SuppressWarnings("hiding") Token token = new32(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 33:
                        {
                            @SuppressWarnings("hiding") Token token = new33(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 34:
                        {
                            @SuppressWarnings("hiding") Token token = new34(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 35:
                        {
                            @SuppressWarnings("hiding") Token token = new35(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 36:
                        {
                            @SuppressWarnings("hiding") Token token = new36(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 37:
                        {
                            @SuppressWarnings("hiding") Token token = new37(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 38:
                        {
                            @SuppressWarnings("hiding") Token token = new38(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 39:
                        {
                            @SuppressWarnings("hiding") Token token = new39(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 40:
                        {
                            @SuppressWarnings("hiding") Token token = new40(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 41:
                        {
                            @SuppressWarnings("hiding") Token token = new41(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 42:
                        {
                            @SuppressWarnings("hiding") Token token = new42(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 43:
                        {
                            @SuppressWarnings("hiding") Token token = new43(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 44:
                        {
                            @SuppressWarnings("hiding") Token token = new44(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 45:
                        {
                            @SuppressWarnings("hiding") Token token = new45(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 46:
                        {
                            @SuppressWarnings("hiding") Token token = new46(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 47:
                        {
                            @SuppressWarnings("hiding") Token token = new47(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 48:
                        {
                            @SuppressWarnings("hiding") Token token = new48(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 49:
                        {
                            @SuppressWarnings("hiding") Token token = new49(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 50:
                        {
                            @SuppressWarnings("hiding") Token token = new50(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 51:
                        {
                            @SuppressWarnings("hiding") Token token = new51(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 52:
                        {
                            @SuppressWarnings("hiding") Token token = new52(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 53:
                        {
                            @SuppressWarnings("hiding") Token token = new53(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            return token;
                        }
                    case 54:
                        {
                            @SuppressWarnings("hiding") Token token = new54(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 55:
                        {
                            @SuppressWarnings("hiding") Token token = new55(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 56:
                        {
                            @SuppressWarnings("hiding") Token token = new56(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 57:
                        {
                            @SuppressWarnings("hiding") Token token = new57(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 58:
                        {
                            @SuppressWarnings("hiding") Token token = new58(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 59:
                        {
                            @SuppressWarnings("hiding") Token token = new59(
                                getText(accept_length),
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 60:
                        {
                            @SuppressWarnings("hiding") Token token = new60(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 61:
                        {
                            @SuppressWarnings("hiding") Token token = new61(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 62:
                        {
                            @SuppressWarnings("hiding") Token token = new62(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 63:
                        {
                            @SuppressWarnings("hiding") Token token = new63(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 64:
                        {
                            @SuppressWarnings("hiding") Token token = new64(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    case 65:
                        {
                            @SuppressWarnings("hiding") Token token = new65(
                                start_line + 1,
                                start_pos + 1);
                            pushBack(accept_length);
                            this.pos = accept_pos;
                            this.line = accept_line;
                            switch(state.id())
                            {
                                case 0: state = State.NORMAL; break;
                            }
                            return token;
                        }
                    }
                }
                else
                {
                    if(this.text.length() > 0)
                    {
                        throw new LexerException(
                            "[" + (start_line + 1) + "," + (start_pos + 1) + "]" +
                            " Unknown token: " + this.text);
                    }

                    @SuppressWarnings("hiding") EOF token = new EOF(
                        start_line + 1,
                        start_pos + 1);
                    return token;
                }
            }
        }
    }

    Token new0(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktPointLiteral(text, line, pos); }
    Token new1(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktLineStringLiteral(text, line, pos); }
    Token new2(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktPolygonLiteral(text, line, pos); }
    Token new3(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktMultiPointLiteral(text, line, pos); }
    Token new4(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktMultiLineStringLiteral(text, line, pos); }
    Token new5(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktMultiPolygonLiteral(text, line, pos); }
    Token new6(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktGeometryCollectionLiteral(text, line, pos); }
    Token new7(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TWktEmptySetLiteral(text, line, pos); }
    Token new8(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBlank(text, line, pos); }
    Token new9(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSpace(text, line, pos); }
    Token new10(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNewline(text, line, pos); }
    Token new11(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSign(text, line, pos); }
    Token new12(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLeftParen(line, pos); }
    Token new13(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TRightParen(line, pos); }
    Token new14(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TPeriod(line, pos); }
    Token new15(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TColon(text, line, pos); }
    Token new16(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TComma(text, line, pos); }
    Token new17(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLessThanOperator(line, pos); }
    Token new18(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TEqualsOperator(line, pos); }
    Token new19(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGreaterThanOperator(line, pos); }
    Token new20(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNotEqualsOperator(line, pos); }
    Token new21(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGreaterThanOrEqualsOperator(line, pos); }
    Token new22(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TLessThanOrEqualsOperator(line, pos); }
    Token new23(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBooleanNotOperator(text, line, pos); }
    Token new24(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBooleanAndOperator(text, line, pos); }
    Token new25(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBooleanOrOperator(text, line, pos); }
    Token new26(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTextLikeOperator(text, line, pos); }
    Token new27(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTextIlikeOperator(text, line, pos); }
    Token new28(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TExistsOperator(text, line, pos); }
    Token new29(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDoesnotexistOperator(text, line, pos); }
    Token new30(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTemporalBeforeOperator(text, line, pos); }
    Token new31(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTemporalBeforeorduringOperator(text, line, pos); }
    Token new32(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTemporalDuringOperator(text, line, pos); }
    Token new33(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTemporalDuringorafterOperator(text, line, pos); }
    Token new34(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTemporalAfterOperator(text, line, pos); }
    Token new35(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNullIsOperator(text, line, pos); }
    Token new36(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNullNotOperator(text, line, pos); }
    Token new37(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoEqualsOperator(text, line, pos); }
    Token new38(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoDisjointOperator(text, line, pos); }
    Token new39(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoIntersectsOperator(text, line, pos); }
    Token new40(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoTouchesOperator(text, line, pos); }
    Token new41(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoCrossesOperator(text, line, pos); }
    Token new42(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoWithinOperator(text, line, pos); }
    Token new43(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoContainsOperator(text, line, pos); }
    Token new44(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoOverlapsOperator(text, line, pos); }
    Token new45(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TGeoRelateOperator(text, line, pos); }
    Token new46(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TRelgeoDwithinOperator(text, line, pos); }
    Token new47(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TRelgeoBeyondOperator(text, line, pos); }
    Token new48(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBooleanTrue(text, line, pos); }
    Token new49(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBooleanFalse(text, line, pos); }
    Token new50(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TBooleanUnknown(text, line, pos); }
    Token new51(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TNullConstant(text, line, pos); }
    Token new52(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TSignedNumericLiteral(text, line, pos); }
    Token new53(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TUnsignedInteger(text, line, pos); }
    Token new54(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TCharacterStringLiteral(text, line, pos); }
    Token new55(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TIdentifier(text, line, pos); }
    Token new56(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurationDateTimeSeparator(text, line, pos); }
    Token new57(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurationSymbol(text, line, pos); }
    Token new58(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TTimeSpanSeparator(text, line, pos); }
    Token new59(@SuppressWarnings("hiding") String text, @SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDatetime(text, line, pos); }
    Token new60(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurDaySymbol(line, pos); }
    Token new61(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurMonthSymbol(line, pos); }
    Token new62(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurYearSymbol(line, pos); }
    Token new63(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurSecondSymbol(line, pos); }
    Token new64(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurMinuteSymbol(line, pos); }
    Token new65(@SuppressWarnings("hiding") int line, @SuppressWarnings("hiding") int pos) { return new TDurHourSymbol(line, pos); }

    private int getChar() throws IOException
    {
        if(this.eof)
        {
            return -1;
        }

        int result = this.in.read();

        if(result == -1)
        {
            this.eof = true;
        }

        return result;
    }

    private void pushBack(int acceptLength) throws IOException
    {
        int length = this.text.length();
        for(int i = length - 1; i >= acceptLength; i--)
        {
            this.eof = false;

            this.in.unread(this.text.charAt(i));
        }
    }

    protected void unread(@SuppressWarnings("hiding") Token token) throws IOException
    {
        @SuppressWarnings("hiding") String text = token.getText();
        int length = text.length();

        for(int i = length - 1; i >= 0; i--)
        {
            this.eof = false;

            this.in.unread(text.charAt(i));
        }

        this.pos = token.getPos() - 1;
        this.line = token.getLine() - 1;
    }

    private String getText(int acceptLength)
    {
        StringBuffer s = new StringBuffer(acceptLength);
        for(int i = 0; i < acceptLength; i++)
        {
            s.append(this.text.charAt(i));
        }

        return s.toString();
    }

    private static int[][][][] gotoTable;
/*  {
        { // NORMAL
            {{9, 9, 1}, {10, 10, 2}, {13, 13, 3}, {32, 32, 4}, {39, 39, 5}, {40, 40, 6}, {41, 41, 7}, {43, 43, 8}, {44, 44, 9}, {45, 45, 10}, {46, 46, 11}, {47, 47, 12}, {48, 48, 13}, {49, 49, 14}, {50, 50, 15}, {51, 51, 16}, {52, 52, 17}, {53, 53, 18}, {54, 54, 19}, {55, 55, 20}, {56, 56, 21}, {57, 57, 22}, {58, 58, 23}, {60, 60, 24}, {61, 61, 25}, {62, 62, 26}, {65, 65, 27}, {66, 66, 28}, {67, 67, 29}, {68, 68, 30}, {69, 69, 31}, {70, 70, 32}, {71, 71, 33}, {72, 72, 34}, {73, 73, 35}, {74, 74, 36}, {75, 75, 37}, {76, 76, 38}, {77, 77, 39}, {78, 78, 40}, {79, 79, 41}, {80, 80, 42}, {81, 81, 43}, {82, 82, 44}, {83, 83, 45}, {84, 84, 46}, {85, 85, 47}, {86, 86, 48}, {87, 87, 49}, {88, 88, 50}, {89, 89, 51}, {90, 90, 52}, {97, 97, 53}, {98, 98, 54}, {99, 99, 55}, {100, 100, 56}, {101, 101, 57}, {102, 102, 58}, {103, 103, 59}, {104, 104, 60}, {105, 105, 61}, {106, 106, 62}, {107, 107, 63}, {108, 108, 64}, {109, 109, 65}, {110, 110, 66}, {111, 111, 67}, {112, 112, 68}, {113, 113, 69}, {114, 114, 70}, {115, 115, 71}, {116, 116, 72}, {117, 117, 73}, {118, 118, 74}, {119, 119, 75}, {120, 120, 76}, {121, 121, 77}, {122, 122, 78}, },
            {{9, 9, 1}, {10, 10, 79}, {13, 13, 80}, {32, 32, 81}, },
            {{9, 32, -3}, },
            {{9, 9, 1}, {10, 10, 82}, {13, 32, -3}, },
            {{9, 32, -3}, },
            {{0, 38, 83}, {39, 39, 84}, {40, 65535, 83}, },
            {},
            {},
            {{46, 46, 85}, {48, 48, 86}, {49, 49, 87}, {50, 50, 88}, {51, 51, 89}, {52, 52, 90}, {53, 53, 91}, {54, 54, 92}, {55, 55, 93}, {56, 56, 94}, {57, 57, 95}, },
            {},
            {{46, 57, -10}, },
            {{48, 48, 96}, {49, 49, 97}, {50, 50, 98}, {51, 51, 99}, {52, 52, 100}, {53, 53, 101}, {54, 54, 102}, {55, 55, 103}, {56, 56, 104}, {57, 57, 105}, },
            {},
            {{46, 46, 85}, {48, 48, 106}, {49, 49, 107}, {50, 50, 108}, {51, 51, 109}, {52, 52, 110}, {53, 53, 111}, {54, 54, 112}, {55, 55, 113}, {56, 56, 114}, {57, 57, 115}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {{46, 57, -15}, },
            {},
            {{61, 61, 116}, {62, 62, 117}, },
            {},
            {{61, 61, 118}, },
            {{48, 48, 119}, {49, 49, 120}, {50, 50, 121}, {51, 51, 122}, {52, 52, 123}, {53, 53, 124}, {54, 54, 125}, {55, 55, 126}, {56, 56, 127}, {57, 57, 128}, {65, 65, 129}, {66, 66, 130}, {67, 67, 131}, {68, 68, 132}, {69, 69, 133}, {70, 70, 134}, {71, 71, 135}, {72, 72, 136}, {73, 73, 137}, {74, 74, 138}, {75, 75, 139}, {76, 76, 140}, {77, 77, 141}, {78, 78, 142}, {79, 79, 143}, {80, 80, 144}, {81, 81, 145}, {82, 82, 146}, {83, 83, 147}, {84, 84, 148}, {85, 85, 149}, {86, 86, 150}, {87, 87, 151}, {88, 88, 152}, {89, 89, 153}, {90, 90, 154}, {95, 95, 155}, {97, 97, 156}, {98, 98, 157}, {99, 99, 158}, {100, 100, 159}, {101, 101, 160}, {102, 102, 161}, {103, 103, 162}, {104, 104, 163}, {105, 105, 164}, {106, 106, 165}, {107, 107, 166}, {108, 108, 167}, {109, 109, 168}, {110, 110, 169}, {111, 111, 170}, {112, 112, 171}, {113, 113, 172}, {114, 114, 173}, {115, 115, 174}, {116, 116, 175}, {117, 117, 176}, {118, 118, 177}, {119, 119, 178}, {120, 120, 179}, {121, 121, 180}, {122, 122, 181}, },
            {{48, 68, -29}, {69, 69, 182}, {70, 70, 183}, {71, 77, -29}, {78, 78, 184}, {79, 100, -29}, {101, 101, 185}, {102, 102, 186}, {103, 109, -29}, {110, 110, 187}, {111, 122, -29}, },
            {{48, 69, -29}, {70, 78, -30}, {79, 79, 188}, {80, 81, -29}, {82, 82, 189}, {83, 101, -29}, {102, 110, -30}, {111, 111, 190}, {112, 113, -29}, {114, 114, 191}, {115, 122, -29}, },
            {{48, 72, -31}, {73, 73, 192}, {74, 78, -30}, {79, 79, 193}, {80, 84, -29}, {85, 85, 194}, {86, 86, 150}, {87, 87, 195}, {88, 104, -31}, {105, 105, 196}, {106, 110, -30}, {111, 111, 197}, {112, 116, -29}, {117, 117, 198}, {118, 118, 177}, {119, 119, 199}, {120, 122, -29}, },
            {{48, 76, -31}, {77, 77, 200}, {78, 80, -30}, {81, 81, 201}, {82, 87, -29}, {88, 88, 202}, {89, 108, -31}, {109, 109, 203}, {110, 112, -30}, {113, 113, 204}, {114, 119, -29}, {120, 120, 205}, {121, 122, -29}, },
            {{48, 57, -29}, {65, 65, 206}, {66, 78, -31}, {79, 95, -29}, {97, 97, 207}, {98, 110, -31}, {111, 122, -29}, },
            {{48, 68, -29}, {69, 69, 208}, {70, 100, -30}, {101, 101, 209}, {102, 122, -30}, },
            {{48, 78, -31}, {79, 101, -29}, {102, 122, -30}, },
            {{48, 75, -31}, {76, 76, 210}, {77, 77, 141}, {78, 78, 211}, {79, 82, -29}, {83, 83, 212}, {84, 107, -31}, {108, 108, 213}, {109, 109, 168}, {110, 110, 214}, {111, 114, -29}, {115, 115, 215}, {116, 122, -29}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 72, -31}, {73, 73, 216}, {74, 104, -36}, {105, 105, 217}, {106, 122, -30}, },
            {{48, 84, -36}, {85, 85, 218}, {86, 116, -36}, {117, 117, 219}, {118, 122, -29}, },
            {{48, 78, -31}, {79, 79, 220}, {80, 84, -29}, {85, 85, 221}, {86, 110, -31}, {111, 111, 222}, {112, 116, -29}, {117, 117, 223}, {118, 122, -29}, },
            {{48, 81, -36}, {82, 82, 224}, {83, 85, -29}, {86, 86, 225}, {87, 113, -36}, {114, 114, 226}, {115, 117, -29}, {118, 118, 227}, {119, 122, -29}, },
            {{48, 78, -31}, {79, 79, 228}, {80, 110, -36}, {111, 111, 229}, {112, 122, -29}, },
            {{48, 122, -36}, },
            {{48, 68, -29}, {69, 69, 230}, {70, 100, -30}, {101, 101, 231}, {102, 122, -30}, },
            {{48, 122, -36}, },
            {{48, 78, -31}, {79, 79, 232}, {80, 81, -29}, {82, 82, 233}, {83, 110, -31}, {111, 111, 234}, {112, 113, -29}, {114, 114, 235}, {115, 122, -29}, },
            {{48, 77, -31}, {78, 78, 236}, {79, 109, -36}, {110, 110, 237}, {111, 122, -29}, },
            {{48, 122, -36}, },
            {{48, 72, -31}, {73, 73, 238}, {74, 104, -36}, {105, 105, 239}, {106, 122, -30}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -29}, },
            {{48, 122, -30}, },
            {{48, 122, -31}, },
            {{48, 122, -32}, },
            {{48, 122, -33}, },
            {{48, 122, -34}, },
            {{48, 122, -35}, },
            {{48, 122, -36}, },
            {{48, 122, -37}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -40}, },
            {{48, 122, -41}, },
            {{48, 122, -42}, },
            {{48, 122, -43}, },
            {{48, 122, -44}, },
            {{48, 122, -36}, },
            {{48, 122, -46}, },
            {{48, 122, -36}, },
            {{48, 122, -48}, },
            {{48, 122, -49}, },
            {{48, 122, -36}, },
            {{48, 122, -51}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{9, 32, -3}, },
            {{9, 9, 1}, {10, 10, 240}, {13, 32, -3}, },
            {{9, 32, -3}, },
            {{9, 32, -3}, },
            {{0, 38, 83}, {39, 39, 241}, {40, 65535, 83}, },
            {{39, 39, 242}, },
            {{48, 57, -13}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{46, 57, -10}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{48, 57, -13}, },
            {{46, 46, 85}, {48, 48, 243}, {49, 49, 244}, {50, 50, 245}, {51, 51, 246}, {52, 52, 247}, {53, 53, 248}, {54, 54, 249}, {55, 55, 250}, {56, 56, 251}, {57, 57, 252}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {{46, 57, -108}, },
            {},
            {},
            {},
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 83, -36}, {84, 84, 253}, {85, 115, -36}, {116, 116, 254}, {117, 122, -29}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 67, -29}, {68, 68, 255}, {69, 99, -36}, {100, 100, 256}, {101, 122, -34}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -136}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -144}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 69, -29}, {70, 70, 257}, {71, 88, -30}, {89, 89, 258}, {90, 101, -29}, {102, 102, 259}, {103, 120, -30}, {121, 121, 260}, {122, 122, 181}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -184}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 77, -31}, {78, 78, 261}, {79, 109, -36}, {110, 110, 262}, {111, 122, -29}, },
            {{48, 78, -31}, {79, 79, 263}, {80, 110, -36}, {111, 111, 264}, {112, 122, -29}, },
            {{48, 122, -190}, },
            {{48, 122, -191}, },
            {{48, 82, -36}, {83, 83, 265}, {84, 114, -36}, {115, 115, 266}, {116, 122, -29}, },
            {{48, 68, -29}, {69, 69, 267}, {70, 100, -30}, {101, 101, 268}, {102, 122, -30}, },
            {{48, 81, -36}, {82, 82, 269}, {83, 113, -36}, {114, 114, 270}, {115, 122, -29}, },
            {{48, 72, -31}, {73, 73, 271}, {74, 104, -36}, {105, 105, 272}, {106, 122, -30}, },
            {{48, 122, -194}, },
            {{48, 122, -195}, },
            {{48, 122, -196}, },
            {{48, 122, -197}, },
            {{48, 79, -36}, {80, 80, 273}, {81, 111, -36}, {112, 112, 274}, {113, 122, -29}, },
            {{48, 84, -36}, {85, 85, 275}, {86, 116, -36}, {117, 117, 276}, {118, 122, -29}, },
            {{48, 72, -31}, {73, 73, 277}, {74, 104, -36}, {105, 105, 278}, {106, 122, -30}, },
            {{48, 122, -202}, },
            {{48, 122, -203}, },
            {{48, 122, -204}, },
            {{48, 75, -31}, {76, 76, 279}, {77, 107, -36}, {108, 108, 280}, {109, 122, -30}, },
            {{48, 122, -208}, },
            {{48, 78, -31}, {79, 79, 281}, {80, 110, -36}, {111, 111, 282}, {112, 122, -29}, },
            {{48, 122, -210}, },
            {{48, 72, -31}, {73, 73, 283}, {74, 104, -36}, {105, 105, 284}, {106, 122, -30}, },
            {{48, 83, -36}, {84, 84, 285}, {85, 115, -36}, {116, 116, 286}, {117, 122, -29}, },
            {{48, 122, -36}, },
            {{48, 122, -212}, },
            {{48, 122, -213}, },
            {{48, 122, -36}, },
            {{48, 74, -31}, {75, 75, 287}, {76, 77, -29}, {78, 78, 288}, {79, 106, -36}, {107, 107, 289}, {108, 109, -29}, {110, 110, 290}, {111, 122, -29}, },
            {{48, 122, -218}, },
            {{48, 75, -31}, {76, 76, 291}, {77, 107, -36}, {108, 108, 292}, {109, 122, -30}, },
            {{48, 122, -220}, },
            {{48, 83, -36}, {84, 84, 293}, {85, 115, -36}, {116, 116, 294}, {117, 122, -29}, },
            {{48, 75, -31}, {76, 76, 295}, {77, 107, -36}, {108, 108, 296}, {109, 122, -30}, },
            {{48, 122, -222}, },
            {{48, 122, -223}, },
            {{48, 122, -36}, },
            {{48, 68, -29}, {69, 69, 297}, {70, 100, -30}, {101, 101, 298}, {102, 122, -30}, },
            {{48, 122, -36}, },
            {{48, 122, -227}, },
            {{48, 72, -31}, {73, 73, 299}, {74, 75, -29}, {76, 76, 300}, {77, 104, -36}, {105, 105, 301}, {106, 107, -29}, {108, 108, 302}, {109, 122, -30}, },
            {{48, 122, -230}, },
            {{48, 75, -31}, {76, 76, 303}, {77, 107, -36}, {108, 108, 304}, {109, 122, -30}, },
            {{48, 122, -232}, },
            {{48, 84, -36}, {85, 85, 305}, {86, 116, -36}, {117, 117, 306}, {118, 122, -29}, },
            {{48, 84, -36}, {85, 85, 307}, {86, 116, -36}, {117, 117, 308}, {118, 122, -29}, },
            {{48, 122, -234}, },
            {{48, 122, -235}, },
            {{48, 74, -31}, {75, 75, 309}, {76, 106, -36}, {107, 107, 310}, {108, 122, -30}, },
            {{48, 122, -238}, },
            {{48, 83, -36}, {84, 84, 311}, {85, 115, -36}, {116, 116, 312}, {117, 122, -29}, },
            {{48, 122, -240}, },
            {{9, 32, -3}, },
            {{39, 39, 242}, },
            {{0, 65535, -85}, },
            {{46, 46, 85}, {48, 48, 313}, {49, 49, 314}, {50, 50, 315}, {51, 51, 316}, {52, 52, 317}, {53, 53, 318}, {54, 54, 319}, {55, 55, 320}, {56, 56, 321}, {57, 57, 322}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{46, 57, -245}, },
            {{48, 68, -29}, {69, 69, 323}, {70, 100, -30}, {101, 101, 324}, {102, 122, -30}, },
            {{48, 122, -255}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 78, -31}, {79, 79, 325}, {80, 110, -36}, {111, 111, 326}, {112, 122, -29}, },
            {{48, 78, -31}, {79, 79, 327}, {80, 110, -36}, {111, 111, 328}, {112, 122, -29}, },
            {{48, 122, -259}, },
            {{48, 122, -260}, },
            {{48, 83, -36}, {84, 84, 329}, {85, 115, -36}, {116, 116, 330}, {117, 122, -29}, },
            {{48, 122, -263}, },
            {{48, 82, -36}, {83, 83, 331}, {84, 114, -36}, {115, 115, 332}, {116, 122, -29}, },
            {{48, 122, -265}, },
            {{48, 73, -31}, {74, 74, 333}, {75, 105, -36}, {106, 106, 334}, {107, 122, -30}, },
            {{48, 122, -267}, },
            {{48, 82, -36}, {83, 83, 335}, {84, 114, -36}, {115, 115, 336}, {116, 122, -29}, },
            {{48, 122, -269}, },
            {{48, 72, -31}, {73, 73, 337}, {74, 104, -36}, {105, 105, 338}, {106, 122, -30}, },
            {{48, 122, -271}, },
            {{48, 83, -36}, {84, 84, 339}, {85, 115, -36}, {116, 116, 340}, {117, 122, -29}, },
            {{48, 122, -273}, },
            {{48, 83, -36}, {84, 84, 341}, {85, 115, -36}, {116, 116, 342}, {117, 122, -29}, },
            {{48, 122, -275}, },
            {{48, 57, -29}, {65, 65, 343}, {66, 95, -34}, {97, 97, 344}, {98, 122, -34}, },
            {{48, 122, -277}, },
            {{48, 82, -36}, {83, 83, 345}, {84, 114, -36}, {115, 115, 346}, {116, 122, -29}, },
            {{48, 122, -279}, },
            {{48, 82, -36}, {83, 83, 347}, {84, 114, -36}, {115, 115, 348}, {116, 122, -29}, },
            {{48, 122, -281}, },
            {{48, 76, -31}, {77, 77, 349}, {78, 108, -36}, {109, 109, 350}, {110, 122, -30}, },
            {{48, 122, -283}, },
            {{48, 74, -31}, {75, 75, 351}, {76, 106, -36}, {107, 107, 352}, {108, 122, -30}, },
            {{48, 122, -285}, },
            {{48, 68, -29}, {69, 69, 353}, {70, 100, -30}, {101, 101, 354}, {102, 122, -30}, },
            {{48, 122, -287}, },
            {{48, 68, -29}, {69, 69, 355}, {70, 100, -30}, {101, 101, 356}, {102, 122, -30}, },
            {{48, 68, -29}, {69, 69, 357}, {70, 100, -30}, {101, 101, 358}, {102, 122, -30}, },
            {{48, 122, -289}, },
            {{48, 122, -290}, },
            {{48, 83, -36}, {84, 84, 359}, {85, 115, -36}, {116, 116, 360}, {117, 122, -29}, },
            {{48, 122, -293}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 75, -31}, {76, 76, 361}, {77, 107, -36}, {108, 108, 362}, {109, 122, -30}, },
            {{48, 122, -297}, },
            {{48, 81, -36}, {82, 82, 363}, {83, 113, -36}, {114, 114, 364}, {115, 122, -29}, },
            {{48, 122, -299}, },
            {{48, 77, -31}, {78, 78, 365}, {79, 109, -36}, {110, 110, 366}, {111, 122, -29}, },
            {{48, 88, -36}, {89, 89, 367}, {90, 120, -36}, {121, 121, 368}, {122, 122, 181}, },
            {{48, 122, -301}, },
            {{48, 122, -302}, },
            {{48, 57, -29}, {65, 65, 369}, {66, 95, -34}, {97, 97, 370}, {98, 122, -34}, },
            {{48, 122, -305}, },
            {{48, 66, -29}, {67, 67, 371}, {68, 98, -36}, {99, 99, 372}, {100, 122, -34}, },
            {{48, 122, -307}, },
            {{48, 68, -29}, {69, 69, 373}, {70, 100, -30}, {101, 101, 374}, {102, 122, -30}, },
            {{48, 122, -309}, },
            {{48, 77, -31}, {78, 78, 375}, {79, 109, -36}, {110, 110, 376}, {111, 122, -29}, },
            {{48, 122, -311}, },
            {{48, 71, -31}, {72, 72, 377}, {73, 103, -36}, {104, 104, 378}, {105, 122, -30}, },
            {{48, 122, -313}, },
            {{45, 45, 379}, {46, 46, 85}, {48, 48, 380}, {49, 49, 381}, {50, 50, 382}, {51, 51, 383}, {52, 52, 384}, {53, 53, 385}, {54, 54, 386}, {55, 55, 387}, {56, 56, 388}, {57, 57, 389}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{45, 57, -315}, },
            {{48, 81, -36}, {82, 82, 390}, {83, 113, -36}, {114, 114, 391}, {115, 122, -29}, },
            {{48, 122, -325}, },
            {{48, 81, -36}, {82, 82, 392}, {83, 113, -36}, {114, 114, 393}, {115, 122, -29}, },
            {{48, 122, -327}, },
            {{48, 77, -31}, {78, 78, 394}, {79, 109, -36}, {110, 110, 395}, {111, 122, -29}, },
            {{48, 122, -329}, },
            {{48, 57, -29}, {65, 65, 396}, {66, 95, -34}, {97, 97, 397}, {98, 122, -34}, },
            {{48, 122, -331}, },
            {{48, 82, -36}, {83, 83, 398}, {84, 114, -36}, {115, 115, 399}, {116, 122, -29}, },
            {{48, 122, -333}, },
            {{48, 78, -31}, {79, 79, 400}, {80, 110, -36}, {111, 111, 401}, {112, 122, -29}, },
            {{48, 122, -335}, },
            {{45, 45, 402}, {48, 122, -36}, },
            {{45, 122, -337}, },
            {{48, 77, -31}, {78, 78, 403}, {79, 109, -36}, {110, 110, 404}, {111, 122, -29}, },
            {{48, 122, -339}, },
            {{48, 71, -31}, {72, 72, 405}, {73, 103, -36}, {104, 104, 406}, {105, 122, -30}, },
            {{48, 122, -341}, },
            {{48, 88, -36}, {89, 89, 407}, {90, 120, -36}, {121, 121, 408}, {122, 122, 181}, },
            {{48, 122, -343}, },
            {{48, 75, -31}, {76, 76, 409}, {77, 107, -36}, {108, 108, 410}, {109, 122, -30}, },
            {{48, 122, -345}, },
            {{48, 83, -36}, {84, 84, 411}, {85, 115, -36}, {116, 116, 412}, {117, 122, -29}, },
            {{48, 122, -347}, },
            {{48, 68, -29}, {69, 69, 413}, {70, 100, -30}, {101, 101, 414}, {102, 122, -30}, },
            {{48, 122, -349}, },
            {{48, 68, -29}, {69, 69, 415}, {70, 100, -30}, {101, 101, 416}, {102, 122, -30}, },
            {{48, 122, -351}, },
            {{48, 68, -29}, {69, 69, 417}, {70, 100, -30}, {101, 101, 418}, {102, 122, -30}, },
            {{48, 122, -353}, },
            {{48, 81, -36}, {82, 82, 419}, {83, 113, -36}, {114, 114, 420}, {115, 122, -29}, },
            {{48, 122, -355}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 82, -36}, {83, 83, 421}, {84, 114, -36}, {115, 115, 422}, {116, 122, -29}, },
            {{48, 122, -359}, },
            {{48, 72, -31}, {73, 73, 423}, {74, 104, -36}, {105, 105, 424}, {106, 122, -30}, },
            {{48, 122, -361}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 75, -31}, {76, 76, 425}, {77, 107, -36}, {108, 108, 426}, {109, 122, -30}, },
            {{48, 122, -365}, },
            {{48, 83, -36}, {84, 84, 427}, {85, 115, -36}, {116, 116, 428}, {117, 122, -29}, },
            {{48, 122, -367}, },
            {{48, 70, -31}, {71, 71, 429}, {72, 102, -36}, {103, 103, 430}, {104, 122, -30}, },
            {{48, 122, -369}, },
            {{48, 83, -36}, {84, 84, 431}, {85, 115, -36}, {116, 116, 432}, {117, 122, -29}, },
            {{48, 122, -371}, },
            {{48, 71, -31}, {72, 72, 433}, {73, 103, -36}, {104, 104, 434}, {105, 122, -30}, },
            {{48, 122, -373}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 78, -31}, {79, 79, 435}, {80, 110, -36}, {111, 111, 436}, {112, 122, -29}, },
            {{48, 122, -377}, },
            {{48, 72, -31}, {73, 73, 437}, {74, 104, -36}, {105, 105, 438}, {106, 122, -30}, },
            {{48, 122, -379}, },
            {{48, 48, 439}, {49, 49, 440}, {50, 50, 441}, {51, 51, 442}, {52, 52, 443}, {53, 53, 444}, {54, 54, 445}, {55, 55, 446}, {56, 56, 447}, {57, 57, 448}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{46, 57, -315}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 68, -29}, {69, 69, 449}, {70, 100, -30}, {101, 101, 450}, {102, 122, -30}, },
            {{48, 122, -394}, },
            {{48, 67, -29}, {68, 68, 451}, {69, 99, -36}, {100, 100, 452}, {101, 122, -34}, },
            {{48, 122, -396}, },
            {{48, 72, -31}, {73, 73, 453}, {74, 104, -36}, {105, 105, 454}, {106, 122, -30}, },
            {{48, 122, -398}, },
            {{48, 68, -29}, {69, 69, 455}, {70, 100, -30}, {101, 101, 456}, {102, 122, -30}, },
            {{48, 122, -400}, },
            {{48, 72, -31}, {73, 73, 457}, {74, 104, -36}, {105, 105, 458}, {106, 122, -30}, },
            {{48, 122, -402}, },
            {{78, 78, 459}, {110, 110, 460}, },
            {{48, 70, -31}, {71, 71, 461}, {72, 102, -36}, {103, 103, 462}, {104, 122, -30}, },
            {{48, 122, -405}, },
            {{48, 72, -31}, {73, 73, 463}, {74, 104, -36}, {105, 105, 464}, {106, 122, -30}, },
            {{48, 122, -407}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 82, -36}, {83, 83, 465}, {84, 114, -36}, {115, 115, 466}, {116, 122, -29}, },
            {{48, 122, -411}, },
            {{48, 82, -36}, {83, 83, 467}, {84, 114, -36}, {115, 115, 468}, {116, 122, -29}, },
            {{48, 122, -413}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 83, -36}, {84, 84, 469}, {85, 115, -36}, {116, 116, 470}, {117, 122, -29}, },
            {{48, 122, -417}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 82, -36}, {83, 83, 471}, {84, 114, -36}, {115, 115, 472}, {116, 122, -29}, },
            {{48, 122, -421}, },
            {{48, 83, -36}, {84, 84, 473}, {85, 115, -36}, {116, 116, 474}, {117, 122, -29}, },
            {{48, 122, -423}, },
            {{48, 75, -31}, {76, 76, 475}, {77, 79, -30}, {80, 80, 476}, {81, 107, -36}, {108, 108, 477}, {109, 111, -30}, {112, 112, 478}, {113, 122, -29}, },
            {{48, 122, -425}, },
            {{48, 57, -29}, {65, 65, 479}, {66, 95, -34}, {97, 97, 480}, {98, 122, -34}, },
            {{48, 122, -427}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 78, -31}, {79, 79, 481}, {80, 110, -36}, {111, 111, 482}, {112, 122, -29}, },
            {{48, 122, -431}, },
            {{48, 68, -29}, {69, 69, 483}, {70, 100, -30}, {101, 101, 484}, {102, 122, -30}, },
            {{48, 122, -433}, },
            {{48, 68, -29}, {69, 69, 485}, {70, 100, -30}, {101, 101, 486}, {102, 122, -30}, },
            {{48, 122, -435}, },
            {{48, 86, -36}, {87, 87, 487}, {88, 118, -36}, {119, 119, 488}, {120, 122, -29}, },
            {{48, 122, -437}, },
            {{48, 77, -31}, {78, 78, 489}, {79, 109, -36}, {110, 110, 490}, {111, 122, -29}, },
            {{48, 122, -439}, },
            {{48, 48, 491}, {49, 49, 492}, {50, 50, 493}, {51, 51, 494}, {52, 52, 495}, {53, 53, 496}, {54, 54, 497}, {55, 55, 498}, {56, 56, 499}, {57, 57, 500}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{48, 57, -441}, },
            {{32, 32, 501}, {48, 122, -36}, },
            {{32, 122, -451}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 77, -31}, {78, 78, 502}, {79, 109, -36}, {110, 110, 503}, {111, 122, -29}, },
            {{48, 122, -455}, },
            {{48, 82, -36}, {83, 83, 504}, {84, 114, -36}, {115, 115, 505}, {116, 122, -29}, },
            {{48, 122, -457}, },
            {{48, 77, -31}, {78, 78, 506}, {79, 109, -36}, {110, 110, 507}, {111, 122, -29}, },
            {{48, 122, -459}, },
            {{79, 79, 508}, {111, 111, 509}, },
            {{79, 111, -461}, },
            {{32, 32, 510}, {48, 122, -36}, },
            {{32, 122, -463}, },
            {{48, 77, -31}, {78, 78, 511}, {79, 109, -36}, {110, 110, 512}, {111, 122, -29}, },
            {{48, 122, -465}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 81, -36}, {82, 82, 513}, {83, 113, -36}, {114, 114, 514}, {115, 122, -29}, },
            {{48, 122, -471}, },
            {{48, 68, -29}, {69, 69, 515}, {70, 100, -30}, {101, 101, 516}, {102, 122, -30}, },
            {{48, 122, -473}, },
            {{48, 81, -36}, {82, 82, 517}, {83, 113, -36}, {114, 114, 518}, {115, 122, -29}, },
            {{48, 122, -475}, },
            {{48, 72, -31}, {73, 73, 519}, {74, 104, -36}, {105, 105, 520}, {106, 122, -30}, },
            {{48, 78, -31}, {79, 79, 521}, {80, 110, -36}, {111, 111, 522}, {112, 122, -29}, },
            {{48, 122, -477}, },
            {{48, 122, -478}, },
            {{48, 79, -36}, {80, 80, 523}, {81, 111, -36}, {112, 112, 524}, {113, 122, -29}, },
            {{48, 122, -481}, },
            {{48, 77, -31}, {78, 78, 525}, {79, 109, -36}, {110, 110, 526}, {111, 122, -29}, },
            {{48, 122, -483}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 82, -36}, {83, 83, 527}, {84, 114, -36}, {115, 115, 528}, {116, 122, -29}, },
            {{48, 122, -487}, },
            {{48, 77, -31}, {78, 78, 529}, {79, 109, -36}, {110, 110, 530}, {111, 122, -29}, },
            {{48, 122, -489}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{45, 45, 531}, },
            {{79, 79, 532}, {111, 111, 533}, },
            {{48, 82, -36}, {83, 83, 534}, {84, 114, -36}, {115, 115, 535}, {116, 122, -29}, },
            {{48, 122, -504}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 83, -36}, {84, 84, 536}, {85, 115, -36}, {116, 116, 537}, {117, 122, -29}, },
            {{48, 122, -508}, },
            {{84, 84, 538}, {116, 116, 539}, },
            {{84, 116, -510}, },
            {{79, 79, 540}, {111, 111, 541}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 88, -36}, {89, 89, 542}, {90, 120, -36}, {121, 121, 543}, {122, 122, 181}, },
            {{48, 122, -515}, },
            {{48, 66, -29}, {67, 67, 544}, {68, 98, -36}, {99, 99, 545}, {100, 122, -34}, },
            {{48, 122, -517}, },
            {{48, 72, -31}, {73, 73, 546}, {74, 104, -36}, {105, 105, 547}, {106, 122, -30}, },
            {{48, 122, -519}, },
            {{48, 77, -31}, {78, 78, 548}, {79, 109, -36}, {110, 110, 549}, {111, 122, -29}, },
            {{48, 122, -521}, },
            {{48, 72, -31}, {73, 73, 550}, {74, 75, -29}, {76, 76, 551}, {77, 104, -36}, {105, 105, 552}, {106, 107, -29}, {108, 108, 553}, {109, 122, -30}, },
            {{48, 122, -523}, },
            {{48, 82, -36}, {83, 83, 554}, {84, 114, -36}, {115, 115, 555}, {116, 122, -29}, },
            {{48, 122, -525}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 48, 556}, {49, 49, 557}, {50, 50, 558}, {51, 51, 559}, {52, 52, 560}, {53, 53, 561}, {54, 54, 562}, {55, 55, 563}, {56, 56, 564}, {57, 57, 565}, },
            {{82, 82, 566}, {114, 114, 567}, },
            {{82, 114, -534}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{45, 45, 568}, },
            {{45, 45, 568}, },
            {{82, 82, 569}, {114, 114, 570}, },
            {{82, 114, -542}, },
            {{48, 66, -29}, {67, 67, 571}, {68, 98, -36}, {99, 99, 572}, {100, 122, -34}, },
            {{48, 122, -544}, },
            {{48, 83, -36}, {84, 84, 573}, {85, 115, -36}, {116, 116, 574}, {117, 122, -29}, },
            {{48, 122, -546}, },
            {{48, 77, -31}, {78, 78, 575}, {79, 109, -36}, {110, 110, 576}, {111, 122, -29}, },
            {{48, 122, -548}, },
            {{48, 68, -29}, {69, 69, 577}, {70, 100, -30}, {101, 101, 578}, {102, 122, -30}, },
            {{48, 122, -550}, },
            {{48, 77, -31}, {78, 78, 579}, {79, 109, -36}, {110, 110, 580}, {111, 122, -29}, },
            {{48, 88, -36}, {89, 89, 581}, {90, 120, -36}, {121, 121, 582}, {122, 122, 181}, },
            {{48, 122, -552}, },
            {{48, 122, -553}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 48, 583}, {49, 49, 584}, {50, 50, 585}, {51, 51, 586}, {52, 52, 587}, {53, 53, 588}, {54, 54, 589}, {55, 55, 590}, {56, 56, 591}, {57, 57, 592}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{48, 57, -558}, },
            {{32, 32, 593}, },
            {{32, 32, 593}, },
            {{69, 69, 594}, {101, 101, 595}, },
            {{32, 32, 596}, },
            {{32, 32, 596}, },
            {{48, 78, -31}, {79, 79, 597}, {80, 110, -36}, {111, 111, 598}, {112, 122, -29}, },
            {{48, 122, -573}, },
            {{48, 82, -36}, {83, 83, 599}, {84, 114, -36}, {115, 115, 600}, {116, 122, -29}, },
            {{48, 122, -575}, },
            {{48, 70, -31}, {71, 71, 601}, {72, 102, -36}, {103, 103, 602}, {104, 122, -30}, },
            {{48, 122, -577}, },
            {{48, 82, -36}, {83, 83, 603}, {84, 114, -36}, {115, 115, 604}, {116, 122, -29}, },
            {{48, 122, -579}, },
            {{48, 83, -36}, {84, 84, 605}, {85, 115, -36}, {116, 116, 606}, {117, 122, -29}, },
            {{48, 122, -581}, },
            {{48, 70, -31}, {71, 71, 607}, {72, 102, -36}, {103, 103, 608}, {104, 122, -30}, },
            {{48, 122, -583}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{84, 84, 609}, },
            {{68, 68, 610}, {100, 100, 611}, },
            {{88, 88, 612}, {120, 120, 613}, },
            {{88, 120, -596}, },
            {{65, 65, 614}, {97, 97, 615}, },
            {{48, 75, -31}, {76, 76, 616}, {77, 107, -36}, {108, 108, 617}, {109, 122, -30}, },
            {{48, 122, -599}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 83, -36}, {84, 84, 618}, {85, 115, -36}, {116, 116, 619}, {117, 122, -29}, },
            {{48, 122, -605}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{48, 78, -31}, {79, 79, 620}, {80, 110, -36}, {111, 111, 621}, {112, 122, -29}, },
            {{48, 122, -609}, },
            {{48, 48, 622}, {49, 49, 623}, {50, 50, 624}, {51, 51, 625}, {52, 52, 626}, {53, 53, 627}, {54, 54, 628}, {55, 55, 629}, {56, 56, 630}, {57, 57, 631}, },
            {{85, 85, 632}, {117, 117, 633}, },
            {{85, 117, -612}, },
            {{73, 73, 634}, {105, 105, 635}, },
            {{73, 105, -614}, },
            {{70, 70, 636}, {102, 102, 637}, },
            {{70, 102, -616}, },
            {{48, 75, -31}, {76, 76, 638}, {77, 107, -36}, {108, 108, 639}, {109, 122, -30}, },
            {{48, 122, -618}, },
            {{48, 81, -36}, {82, 82, 640}, {83, 113, -36}, {114, 114, 641}, {115, 122, -29}, },
            {{48, 122, -620}, },
            {{48, 77, -31}, {78, 78, 642}, {79, 109, -36}, {110, 110, 643}, {111, 122, -29}, },
            {{48, 122, -622}, },
            {{48, 48, 644}, {49, 49, 645}, {50, 50, 646}, {51, 51, 647}, {52, 52, 648}, {53, 53, 649}, {54, 54, 650}, {55, 55, 651}, {56, 56, 652}, {57, 57, 653}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{48, 57, -624}, },
            {{82, 82, 654}, {114, 114, 655}, },
            {{82, 114, -634}, },
            {{83, 83, 656}, {115, 115, 657}, },
            {{83, 115, -636}, },
            {{84, 84, 658}, {116, 116, 659}, },
            {{84, 116, -638}, },
            {{48, 68, -29}, {69, 69, 660}, {70, 100, -30}, {101, 101, 661}, {102, 122, -30}, },
            {{48, 122, -640}, },
            {{48, 72, -31}, {73, 73, 662}, {74, 104, -36}, {105, 105, 663}, {106, 122, -30}, },
            {{48, 122, -642}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{58, 58, 664}, },
            {{73, 73, 665}, {105, 105, 666}, },
            {{73, 105, -656}, },
            {{84, 84, 667}, {116, 116, 668}, },
            {{84, 116, -658}, },
            {{69, 69, 669}, {101, 101, 670}, },
            {{69, 101, -660}, },
            {{48, 66, -29}, {67, 67, 671}, {68, 98, -36}, {99, 99, 672}, {100, 122, -34}, },
            {{48, 122, -662}, },
            {{48, 77, -31}, {78, 78, 673}, {79, 109, -36}, {110, 110, 674}, {111, 122, -29}, },
            {{48, 122, -664}, },
            {{48, 48, 675}, {49, 49, 676}, {50, 50, 677}, {51, 51, 678}, {52, 52, 679}, {53, 53, 680}, {54, 54, 681}, {55, 55, 682}, {56, 56, 683}, {57, 57, 684}, },
            {{78, 78, 685}, {110, 110, 686}, },
            {{78, 110, -667}, },
            {},
            {},
            {{82, 82, 687}, {114, 114, 688}, },
            {{82, 114, -671}, },
            {{48, 83, -36}, {84, 84, 689}, {85, 115, -36}, {116, 116, 690}, {117, 122, -29}, },
            {{48, 122, -673}, },
            {{48, 70, -31}, {71, 71, 691}, {72, 102, -36}, {103, 103, 692}, {104, 122, -30}, },
            {{48, 122, -675}, },
            {{48, 48, 693}, {49, 49, 694}, {50, 50, 695}, {51, 51, 696}, {52, 52, 697}, {53, 53, 698}, {54, 54, 699}, {55, 55, 700}, {56, 56, 701}, {57, 57, 702}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{48, 57, -677}, },
            {{71, 71, 703}, {103, 103, 704}, },
            {{71, 103, -687}, },
            {},
            {},
            {{48, 72, -31}, {73, 73, 705}, {74, 104, -36}, {105, 105, 706}, {106, 122, -30}, },
            {{48, 122, -691}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {{58, 58, 707}, },
            {},
            {},
            {{48, 78, -31}, {79, 79, 708}, {80, 110, -36}, {111, 111, 709}, {112, 122, -29}, },
            {{48, 122, -707}, },
            {{48, 48, 710}, {49, 49, 711}, {50, 50, 712}, {51, 51, 713}, {52, 52, 714}, {53, 53, 715}, {54, 54, 716}, {55, 55, 717}, {56, 56, 718}, {57, 57, 719}, },
            {{48, 77, -31}, {78, 78, 720}, {79, 109, -36}, {110, 110, 721}, {111, 122, -29}, },
            {{48, 122, -710}, },
            {{48, 48, 722}, {49, 49, 723}, {50, 50, 724}, {51, 51, 725}, {52, 52, 726}, {53, 53, 727}, {54, 54, 728}, {55, 55, 729}, {56, 56, 730}, {57, 57, 731}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 57, -712}, },
            {{48, 122, -36}, },
            {{48, 122, -36}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{46, 46, 732}, },
            {{48, 48, 733}, {49, 49, 734}, {50, 50, 735}, {51, 51, 736}, {52, 52, 737}, {53, 53, 738}, {54, 54, 739}, {55, 55, 740}, {56, 56, 741}, {57, 57, 742}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
            {{48, 57, -734}, },
        }
        { // WKT
            {{9, 9, 1}, {10, 10, 2}, {13, 13, 3}, {32, 32, 4}, {40, 40, 5}, {41, 41, 6}, {43, 43, 7}, {44, 44, 8}, {45, 45, 9}, {46, 46, 10}, {48, 48, 11}, {49, 49, 12}, {50, 50, 13}, {51, 51, 14}, {52, 52, 15}, {53, 53, 16}, {54, 54, 17}, {55, 55, 18}, {56, 56, 19}, {57, 57, 20}, {58, 58, 21}, {69, 69, 22}, {71, 71, 23}, {76, 76, 24}, {77, 77, 25}, {80, 80, 26}, {101, 101, 27}, {103, 103, 28}, {108, 108, 29}, {109, 109, 30}, {112, 112, 31}, },
            {{9, 9, 1}, {10, 10, 32}, {13, 13, 33}, {32, 32, 34}, },
            {{9, 32, -3}, },
            {{9, 9, 1}, {10, 10, 35}, {13, 32, -3}, },
            {{9, 32, -3}, },
            {},
            {},
            {{46, 46, 36}, {48, 48, 37}, {49, 49, 38}, {50, 50, 39}, {51, 51, 40}, {52, 52, 41}, {53, 53, 42}, {54, 54, 43}, {55, 55, 44}, {56, 56, 45}, {57, 57, 46}, },
            {},
            {{46, 57, -9}, },
            {{48, 48, 47}, {49, 49, 48}, {50, 50, 49}, {51, 51, 50}, {52, 52, 51}, {53, 53, 52}, {54, 54, 53}, {55, 55, 54}, {56, 56, 55}, {57, 57, 56}, },
            {{46, 46, 36}, {48, 57, -2}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {{46, 57, -13}, },
            {},
            {{77, 77, 57}, {109, 109, 58}, },
            {{69, 69, 59}, {101, 101, 60}, },
            {{73, 73, 61}, {105, 105, 62}, },
            {{85, 85, 63}, {117, 117, 64}, },
            {{79, 79, 65}, {111, 111, 66}, },
            {{77, 109, -24}, },
            {{69, 101, -25}, },
            {{73, 105, -26}, },
            {{85, 117, -27}, },
            {{79, 111, -28}, },
            {{9, 32, -3}, },
            {{9, 9, 1}, {10, 10, 67}, {13, 32, -3}, },
            {{9, 32, -3}, },
            {{9, 32, -3}, },
            {{48, 57, -12}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{46, 57, -9}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{48, 57, -12}, },
            {{80, 80, 68}, {112, 112, 69}, },
            {{80, 112, -59}, },
            {{79, 79, 70}, {111, 111, 71}, },
            {{79, 111, -61}, },
            {{78, 78, 72}, {110, 110, 73}, },
            {{78, 110, -63}, },
            {{76, 76, 74}, {108, 108, 75}, },
            {{76, 108, -65}, },
            {{73, 73, 76}, {76, 76, 77}, {105, 105, 78}, {108, 108, 79}, },
            {{73, 108, -67}, },
            {{9, 32, -3}, },
            {{84, 84, 80}, {116, 116, 81}, },
            {{84, 116, -70}, },
            {{77, 77, 82}, {109, 109, 83}, },
            {{77, 109, -72}, },
            {{69, 69, 84}, {101, 101, 85}, },
            {{69, 101, -74}, },
            {{84, 84, 86}, {116, 116, 87}, },
            {{84, 116, -76}, },
            {{78, 78, 88}, {110, 110, 89}, },
            {{89, 89, 90}, {121, 121, 91}, },
            {{78, 110, -78}, },
            {{89, 121, -79}, },
            {{89, 89, 92}, {121, 121, 93}, },
            {{89, 121, -82}, },
            {{69, 69, 94}, {101, 101, 95}, },
            {{69, 101, -84}, },
            {{83, 83, 96}, {115, 115, 97}, },
            {{83, 115, -86}, },
            {{73, 73, 98}, {105, 105, 99}, },
            {{73, 105, -88}, },
            {{84, 84, 100}, {116, 116, 101}, },
            {{84, 116, -90}, },
            {{71, 71, 102}, {103, 103, 103}, },
            {{71, 103, -92}, },
            {},
            {},
            {{84, 84, 104}, {116, 116, 105}, },
            {{84, 116, -96}, },
            {{84, 84, 106}, {116, 116, 107}, },
            {{84, 116, -98}, },
            {{76, 76, 108}, {80, 80, 109}, {108, 108, 110}, {112, 112, 111}, },
            {{76, 112, -100}, },
            {},
            {},
            {{79, 79, 112}, {111, 111, 113}, },
            {{79, 111, -104}, },
            {{82, 82, 114}, {114, 114, 115}, },
            {{82, 114, -106}, },
            {{82, 82, 116}, {114, 114, 117}, },
            {{82, 114, -108}, },
            {{73, 73, 118}, {105, 105, 119}, },
            {{79, 79, 120}, {111, 111, 121}, },
            {{73, 105, -110}, },
            {{79, 111, -111}, },
            {{78, 78, 122}, {110, 110, 123}, },
            {{78, 110, -114}, },
            {{89, 89, 124}, {121, 121, 125}, },
            {{89, 121, -116}, },
            {{73, 73, 126}, {105, 105, 127}, },
            {{73, 105, -118}, },
            {{78, 78, 128}, {110, 110, 129}, },
            {{78, 110, -120}, },
            {{73, 73, 130}, {76, 76, 131}, {105, 105, 132}, {108, 108, 133}, },
            {{73, 108, -122}, },
            {},
            {},
            {{67, 67, 134}, {99, 99, 135}, },
            {{67, 99, -126}, },
            {{78, 78, 136}, {110, 110, 137}, },
            {{78, 110, -128}, },
            {{69, 69, 138}, {101, 101, 139}, },
            {{69, 101, -130}, },
            {{78, 78, 140}, {110, 110, 141}, },
            {{89, 89, 142}, {121, 121, 143}, },
            {{78, 110, -132}, },
            {{89, 121, -133}, },
            {{79, 79, 144}, {111, 111, 145}, },
            {{79, 111, -136}, },
            {{71, 71, 146}, {103, 103, 147}, },
            {{71, 103, -138}, },
            {{83, 83, 148}, {115, 115, 149}, },
            {{83, 115, -140}, },
            {{84, 84, 150}, {116, 116, 151}, },
            {{84, 116, -142}, },
            {{71, 71, 152}, {103, 103, 153}, },
            {{71, 103, -144}, },
            {{76, 76, 154}, {108, 108, 155}, },
            {{76, 108, -146}, },
            {},
            {},
            {{84, 84, 156}, {116, 116, 157}, },
            {{84, 116, -150}, },
            {},
            {},
            {{79, 79, 158}, {111, 111, 159}, },
            {{79, 111, -154}, },
            {{76, 76, 160}, {108, 108, 161}, },
            {{76, 108, -156}, },
            {{82, 82, 162}, {114, 114, 163}, },
            {{82, 114, -158}, },
            {{78, 78, 164}, {110, 110, 165}, },
            {{78, 110, -160}, },
            {{69, 69, 166}, {101, 101, 167}, },
            {{69, 101, -162}, },
            {{73, 73, 168}, {105, 105, 169}, },
            {{73, 105, -164}, },
            {},
            {},
            {{67, 67, 170}, {99, 99, 171}, },
            {{67, 99, -168}, },
            {{78, 78, 172}, {110, 110, 173}, },
            {{78, 110, -170}, },
            {{84, 84, 174}, {116, 116, 175}, },
            {{84, 116, -172}, },
            {{71, 71, 176}, {103, 103, 177}, },
            {{71, 103, -174}, },
            {{73, 73, 178}, {105, 105, 179}, },
            {{73, 105, -176}, },
            {},
            {},
            {{79, 79, 180}, {111, 111, 181}, },
            {{79, 111, -180}, },
            {{78, 78, 182}, {110, 110, 183}, },
            {{78, 110, -182}, },
            {},
            {},
        }
    };*/

    private static int[][] accept;
/*  {
        // NORMAL
        {-1, 8, 8, 8, 8, -1, 12, 13, 11, 16, 11, 14, 58, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 15, 17, 18, 19, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 8, 8, 8, 8, -1, -1, -1, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 22, 20, 21, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 35, 55, 55, 35, 55, 55, 55, 55, 55, 55, 55, 55, 25, 55, 25, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 8, 54, -1, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 55, 55, 24, 24, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 23, 23, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 26, 26, 55, 55, 55, 55, 51, 51, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 48, 48, 55, 55, 55, 55, -1, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 34, 34, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, -1, 55, 55, 55, 55, 7, 7, 55, 55, 55, 55, 49, 49, 55, 55, 27, 27, 55, 55, 55, 55, 55, 55, 55, 55, 0, 0, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 30, 47, 47, 55, 55, 55, 55, 55, 55, -1, -1, 32, 32, 55, 55, 37, 37, 28, 28, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 45, 45, 55, 55, 55, 55, 42, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 55, 41, 41, 55, 55, -1, -1, -1, 46, 46, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 2, 2, 40, 40, 50, 50, -1, -1, -1, 43, 43, 38, 38, -1, -1, -1, -1, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 44, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 55, 39, 39, 1, 1, 55, 55, 3, 3, 55, 55, -1, -1, -1, -1, -1, -1, -1, 55, 55, 55, 55, 55, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 55, 55, 55, 5, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, 55, 55, 55, -1, -1, -1, 29, 29, -1, -1, 55, 55, 55, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 33, 55, 55, 4, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 31, 55, 55, -1, 55, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 6, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, -1, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, },
        // WKT
        {-1, 8, 8, 8, 8, 12, 13, 11, 16, 11, 14, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, 8, 8, 8, -1, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, 7, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, -1, -1, 3, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 4, -1, -1, -1, -1, 6, 6, },

    };*/

    public static class State
    {
        public final static State NORMAL = new State(0);
        public final static State WKT = new State(1);

        private int id;

        private State(@SuppressWarnings("hiding") int id)
        {
            this.id = id;
        }

        public int id()
        {
            return this.id;
        }
    }

    static 
    {
        try
        {
            DataInputStream s = new DataInputStream(
                new BufferedInputStream(
                Lexer.class.getResourceAsStream("lexer.dat")));

            // read gotoTable
            int length = s.readInt();
            gotoTable = new int[length][][][];
            for(int i = 0; i < gotoTable.length; i++)
            {
                length = s.readInt();
                gotoTable[i] = new int[length][][];
                for(int j = 0; j < gotoTable[i].length; j++)
                {
                    length = s.readInt();
                    gotoTable[i][j] = new int[length][3];
                    for(int k = 0; k < gotoTable[i][j].length; k++)
                    {
                        for(int l = 0; l < 3; l++)
                        {
                            gotoTable[i][j][k][l] = s.readInt();
                        }
                    }
                }
            }

            // read accept
            length = s.readInt();
            accept = new int[length][];
            for(int i = 0; i < accept.length; i++)
            {
                length = s.readInt();
                accept[i] = new int[length];
                for(int j = 0; j < accept[i].length; j++)
                {
                    accept[i][j] = s.readInt();
                }
            }

            s.close();
        }
        catch(Exception e)
        {
            throw new RuntimeException("The file \"lexer.dat\" is either missing or corrupted.");
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy