@dseict/psc-interpreter 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/PSCLexerBase.d.ts +9 -0
- package/dist/PSCLexerBase.d.ts.map +1 -0
- package/dist/PSCLexerBase.js +92 -0
- package/dist/PSCLexerBase.js.map +1 -0
- package/dist/_antlr/PSCLexer.d.ts +71 -0
- package/dist/_antlr/PSCLexer.d.ts.map +1 -0
- package/dist/_antlr/PSCLexer.js +253 -0
- package/dist/_antlr/PSCLexer.js.map +1 -0
- package/dist/_antlr/PSCParser.d.ts +475 -0
- package/dist/_antlr/PSCParser.d.ts.map +1 -0
- package/dist/_antlr/PSCParser.js +3075 -0
- package/dist/_antlr/PSCParser.js.map +1 -0
- package/dist/_antlr/PSCParserVisitor.d.ts +256 -0
- package/dist/_antlr/PSCParserVisitor.d.ts.map +1 -0
- package/dist/_antlr/PSCParserVisitor.js +257 -0
- package/dist/_antlr/PSCParserVisitor.js.map +1 -0
- package/dist/error.d.ts +32 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +60 -0
- package/dist/error.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +692 -0
- package/dist/index.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CharStream, Lexer, Token } from "antlr4";
|
|
2
|
+
export default class PSCLexerBase extends Lexer {
|
|
3
|
+
#private;
|
|
4
|
+
indents: number[];
|
|
5
|
+
pendingTokens: Token[];
|
|
6
|
+
constructor(input: CharStream);
|
|
7
|
+
nextToken(): Token;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=PSCLexerBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PSCLexerBase.d.ts","sourceRoot":"","sources":["../src/PSCLexerBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,aAAa,EAAE,KAAK,EAAE,CAAM;gBAEhB,KAAK,EAAE,UAAU;IAIpB,SAAS,IAAI,KAAK;CA4E5B"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { CharStream, CommonToken, Lexer, Token } from "antlr4";
|
|
2
|
+
import PSCLexer from "./_antlr/PSCLexer";
|
|
3
|
+
import { PSCSyntaxError } from "./error";
|
|
4
|
+
export default class PSCLexerBase extends Lexer {
|
|
5
|
+
indents = [];
|
|
6
|
+
pendingTokens = [];
|
|
7
|
+
constructor(input) {
|
|
8
|
+
super(input);
|
|
9
|
+
}
|
|
10
|
+
nextToken() {
|
|
11
|
+
const t = this.pendingTokens.shift() ?? super.nextToken();
|
|
12
|
+
if (this.#onToken(t)) {
|
|
13
|
+
// console.log(`token: ${PSCLexer.symbolicNames[t.type]} '${t.text}'\n--`);
|
|
14
|
+
return t;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return this.nextToken();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
// Return true if the token should be emitted, false if it should be skipped
|
|
21
|
+
#onToken(token) {
|
|
22
|
+
switch (token.type) {
|
|
23
|
+
case PSCLexer.NEWLINE: {
|
|
24
|
+
// NEWLINE token is followed by indentation spacings
|
|
25
|
+
// Get the indentation level of the NEWLINE token
|
|
26
|
+
const indent = this.text.replace(/\r?\n/g, "");
|
|
27
|
+
const indentLevel = calculateIndentation(token.line, token.column, indent);
|
|
28
|
+
const lastIndentLevel = this.indents[this.indents.length - 1] ?? 0; // if stack is empty, indent level = 0
|
|
29
|
+
if (indentLevel > lastIndentLevel) {
|
|
30
|
+
// Only allow indenting by one level at a time
|
|
31
|
+
if (indentLevel - lastIndentLevel != 1) {
|
|
32
|
+
throw new PSCSyntaxError(token.line, token.column, `indentation level changed by more than one: ${lastIndentLevel} -> ${indentLevel}`);
|
|
33
|
+
}
|
|
34
|
+
// Emits an INDENT token and push the new indentation level onto the stack
|
|
35
|
+
this.indents.push(indentLevel);
|
|
36
|
+
this.pendingTokens.push(this.#makeToken(PSCLexer.INDENT));
|
|
37
|
+
}
|
|
38
|
+
else if (indentLevel < lastIndentLevel) {
|
|
39
|
+
// Dedent as many times as needed to return to the original indentation level
|
|
40
|
+
for (let i = 0; i < lastIndentLevel - indentLevel; i++) {
|
|
41
|
+
this.pendingTokens.push(this.#makeToken(PSCLexer.DEDENT));
|
|
42
|
+
this.indents.pop();
|
|
43
|
+
}
|
|
44
|
+
// Create a NEWLINE token to be emitted after the DEDENT tokens
|
|
45
|
+
this.pendingTokens.push(this.#makeToken(PSCLexer.NEWLINE));
|
|
46
|
+
// and skip the current NEWLINE token
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
case PSCLexer.EOF: {
|
|
52
|
+
// If no more dedent needed, EOF gracefully
|
|
53
|
+
if (this.indents.length == 0) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
// Otherwise, dedent as many times as needed
|
|
57
|
+
while (this.indents.pop() !== undefined) {
|
|
58
|
+
this.pendingTokens.push(this.#makeToken(PSCLexer.DEDENT));
|
|
59
|
+
}
|
|
60
|
+
this.pendingTokens.push(token); // Push the EOF token to the pending tokens
|
|
61
|
+
return false; // Skip the current EOF token
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
#makeToken(type) {
|
|
67
|
+
const text = `<${PSCLexer.symbolicNames[type] ?? "UNKNOWN"}>`;
|
|
68
|
+
const token = new CommonToken([this, this._input], type, Token.DEFAULT_CHANNEL, this._tokenStartCharIndex, this._tokenStartCharIndex + text.length - 1);
|
|
69
|
+
token.text = text;
|
|
70
|
+
return token;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
function calculateIndentation(line, column, whitespace) {
|
|
74
|
+
let level = 0;
|
|
75
|
+
for (let i = 0; i < whitespace.length; i++) {
|
|
76
|
+
switch (whitespace[i]) {
|
|
77
|
+
case " ":
|
|
78
|
+
if (whitespace[i + 1] === " ") {
|
|
79
|
+
i++;
|
|
80
|
+
level++;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
throw new PSCSyntaxError(line, column + i, `expected two consecutive spaces for indentation, but found one at index ${i}`);
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
throw new PSCSyntaxError(line, column, `indentation invalid`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return level;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=PSCLexerBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PSCLexerBase.js","sourceRoot":"","sources":["../src/PSCLexerBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ATN, CharStream, DFA } from "antlr4";
|
|
2
|
+
import PSCLexerBase from '../PSCLexerBase.js';
|
|
3
|
+
export default class PSCLexer extends PSCLexerBase {
|
|
4
|
+
static readonly INDENT = 1;
|
|
5
|
+
static readonly DEDENT = 2;
|
|
6
|
+
static readonly WHITESPACE = 3;
|
|
7
|
+
static readonly NEWLINE = 4;
|
|
8
|
+
static readonly COMMENT = 5;
|
|
9
|
+
static readonly COMMA = 6;
|
|
10
|
+
static readonly LPAREN = 7;
|
|
11
|
+
static readonly RPAREN = 8;
|
|
12
|
+
static readonly LSQUARE = 9;
|
|
13
|
+
static readonly RSQUARE = 10;
|
|
14
|
+
static readonly SQUOTE = 11;
|
|
15
|
+
static readonly DQUOTE = 12;
|
|
16
|
+
static readonly STRING = 13;
|
|
17
|
+
static readonly NULL = 14;
|
|
18
|
+
static readonly INTEGER = 15;
|
|
19
|
+
static readonly FLOAT = 16;
|
|
20
|
+
static readonly BOOLEAN = 17;
|
|
21
|
+
static readonly PLUS = 18;
|
|
22
|
+
static readonly MINUS = 19;
|
|
23
|
+
static readonly MULTIPLY = 20;
|
|
24
|
+
static readonly DIVIDE = 21;
|
|
25
|
+
static readonly MODULO = 22;
|
|
26
|
+
static readonly EXPONENT = 23;
|
|
27
|
+
static readonly AND = 24;
|
|
28
|
+
static readonly OR = 25;
|
|
29
|
+
static readonly NOT = 26;
|
|
30
|
+
static readonly EQUAL = 27;
|
|
31
|
+
static readonly NEQUAL = 28;
|
|
32
|
+
static readonly GT = 29;
|
|
33
|
+
static readonly LT = 30;
|
|
34
|
+
static readonly GTEQ = 31;
|
|
35
|
+
static readonly LTEQ = 32;
|
|
36
|
+
static readonly IF = 33;
|
|
37
|
+
static readonly ELSE = 34;
|
|
38
|
+
static readonly WHILE = 35;
|
|
39
|
+
static readonly DO = 36;
|
|
40
|
+
static readonly REPEAT = 37;
|
|
41
|
+
static readonly UNTIL = 38;
|
|
42
|
+
static readonly FOR = 39;
|
|
43
|
+
static readonly FROM = 40;
|
|
44
|
+
static readonly DOWN = 41;
|
|
45
|
+
static readonly TO = 42;
|
|
46
|
+
static readonly ASSIGN = 43;
|
|
47
|
+
static readonly INPUT = 44;
|
|
48
|
+
static readonly OUTPUT = 45;
|
|
49
|
+
static readonly SUBPROGRAM = 46;
|
|
50
|
+
static readonly RETURN = 47;
|
|
51
|
+
static readonly ID = 48;
|
|
52
|
+
static readonly EOF: number;
|
|
53
|
+
static readonly channelNames: string[];
|
|
54
|
+
static readonly literalNames: (string | null)[];
|
|
55
|
+
static readonly symbolicNames: (string | null)[];
|
|
56
|
+
static readonly modeNames: string[];
|
|
57
|
+
static readonly ruleNames: string[];
|
|
58
|
+
constructor(input: CharStream);
|
|
59
|
+
get grammarFileName(): string;
|
|
60
|
+
get literalNames(): (string | null)[];
|
|
61
|
+
get symbolicNames(): (string | null)[];
|
|
62
|
+
get ruleNames(): string[];
|
|
63
|
+
get serializedATN(): number[];
|
|
64
|
+
get channelNames(): string[];
|
|
65
|
+
get modeNames(): string[];
|
|
66
|
+
static readonly _serializedATN: number[];
|
|
67
|
+
private static __ATN;
|
|
68
|
+
static get _ATN(): ATN;
|
|
69
|
+
static DecisionsToDFA: DFA[];
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=PSCLexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PSCLexer.d.ts","sourceRoot":"","sources":["../../src/_antlr/PSCLexer.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,GAAG,EAEH,UAAU,EACK,GAAG,EAMlB,MAAM,QAAQ,CAAC;AAChB,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IACjD,gBAAuB,MAAM,KAAK;IAClC,gBAAuB,MAAM,KAAK;IAClC,gBAAuB,UAAU,KAAK;IACtC,gBAAuB,OAAO,KAAK;IACnC,gBAAuB,OAAO,KAAK;IACnC,gBAAuB,KAAK,KAAK;IACjC,gBAAuB,MAAM,KAAK;IAClC,gBAAuB,MAAM,KAAK;IAClC,gBAAuB,OAAO,KAAK;IACnC,gBAAuB,OAAO,MAAM;IACpC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,OAAO,MAAM;IACpC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,OAAO,MAAM;IACpC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,QAAQ,MAAM;IACrC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,QAAQ,MAAM;IACrC,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,UAAU,MAAM;IACvC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,EAAE,MAAM;IAC/B,gBAAuB,GAAG,SAAa;IAEvC,gBAAuB,YAAY,EAAE,MAAM,EAAE,CAAyC;IACtF,gBAAuB,YAAY,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAuBwB;IAC9E,gBAAuB,aAAa,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CA2BsB;IAC7E,gBAAuB,SAAS,EAAE,MAAM,EAAE,CAAuB;IAEjE,gBAAuB,SAAS,EAAE,MAAM,EAAE,CAOxC;gBAGU,KAAK,EAAE,UAAU;IAK7B,IAAW,eAAe,IAAI,MAAM,CAA0B;IAE9D,IAAW,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAkC;IAC9E,IAAW,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAmC;IAChF,IAAW,SAAS,IAAI,MAAM,EAAE,CAA+B;IAE/D,IAAW,aAAa,IAAI,MAAM,EAAE,CAAoC;IAExE,IAAW,YAAY,IAAI,MAAM,EAAE,CAAkC;IAErE,IAAW,SAAS,IAAI,MAAM,EAAE,CAA+B;IAE/D,gBAAuB,cAAc,EAAE,MAAM,EAAE,CAmHsB;IAErE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAM;IAC1B,WAAkB,IAAI,IAAI,GAAG,CAM5B;IAGD,MAAM,CAAC,cAAc,QAAiG;CACtH"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
// Generated from ./PSCLexer.g4 by ANTLR 4.13.2
|
|
2
|
+
// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
|
|
3
|
+
import { ATN, ATNDeserializer, CharStream, DecisionState, DFA, Lexer, LexerATNSimulator, RuleContext, PredictionContextCache, Token } from "antlr4";
|
|
4
|
+
import PSCLexerBase from '../PSCLexerBase.js';
|
|
5
|
+
export default class PSCLexer extends PSCLexerBase {
|
|
6
|
+
static INDENT = 1;
|
|
7
|
+
static DEDENT = 2;
|
|
8
|
+
static WHITESPACE = 3;
|
|
9
|
+
static NEWLINE = 4;
|
|
10
|
+
static COMMENT = 5;
|
|
11
|
+
static COMMA = 6;
|
|
12
|
+
static LPAREN = 7;
|
|
13
|
+
static RPAREN = 8;
|
|
14
|
+
static LSQUARE = 9;
|
|
15
|
+
static RSQUARE = 10;
|
|
16
|
+
static SQUOTE = 11;
|
|
17
|
+
static DQUOTE = 12;
|
|
18
|
+
static STRING = 13;
|
|
19
|
+
static NULL = 14;
|
|
20
|
+
static INTEGER = 15;
|
|
21
|
+
static FLOAT = 16;
|
|
22
|
+
static BOOLEAN = 17;
|
|
23
|
+
static PLUS = 18;
|
|
24
|
+
static MINUS = 19;
|
|
25
|
+
static MULTIPLY = 20;
|
|
26
|
+
static DIVIDE = 21;
|
|
27
|
+
static MODULO = 22;
|
|
28
|
+
static EXPONENT = 23;
|
|
29
|
+
static AND = 24;
|
|
30
|
+
static OR = 25;
|
|
31
|
+
static NOT = 26;
|
|
32
|
+
static EQUAL = 27;
|
|
33
|
+
static NEQUAL = 28;
|
|
34
|
+
static GT = 29;
|
|
35
|
+
static LT = 30;
|
|
36
|
+
static GTEQ = 31;
|
|
37
|
+
static LTEQ = 32;
|
|
38
|
+
static IF = 33;
|
|
39
|
+
static ELSE = 34;
|
|
40
|
+
static WHILE = 35;
|
|
41
|
+
static DO = 36;
|
|
42
|
+
static REPEAT = 37;
|
|
43
|
+
static UNTIL = 38;
|
|
44
|
+
static FOR = 39;
|
|
45
|
+
static FROM = 40;
|
|
46
|
+
static DOWN = 41;
|
|
47
|
+
static TO = 42;
|
|
48
|
+
static ASSIGN = 43;
|
|
49
|
+
static INPUT = 44;
|
|
50
|
+
static OUTPUT = 45;
|
|
51
|
+
static SUBPROGRAM = 46;
|
|
52
|
+
static RETURN = 47;
|
|
53
|
+
static ID = 48;
|
|
54
|
+
static EOF = Token.EOF;
|
|
55
|
+
static channelNames = ["DEFAULT_TOKEN_CHANNEL", "HIDDEN"];
|
|
56
|
+
static literalNames = [null, null,
|
|
57
|
+
null, null,
|
|
58
|
+
null, null,
|
|
59
|
+
"','", "'('",
|
|
60
|
+
"')'", "'['",
|
|
61
|
+
"']'", "'''",
|
|
62
|
+
"'\"'", null,
|
|
63
|
+
"'null'", null,
|
|
64
|
+
null, null,
|
|
65
|
+
"'+'", "'-'",
|
|
66
|
+
"'*'", "'/'",
|
|
67
|
+
null, null,
|
|
68
|
+
"'and'", "'or'",
|
|
69
|
+
"'not'", "'='",
|
|
70
|
+
"'<>'", "'>'",
|
|
71
|
+
"'<'", "'>='",
|
|
72
|
+
"'<='", "'if'",
|
|
73
|
+
"'else'", "'while'",
|
|
74
|
+
"'do'", "'repeat'",
|
|
75
|
+
"'until'", "'for'",
|
|
76
|
+
"'from'", "'down'",
|
|
77
|
+
"'to'", "'<-'",
|
|
78
|
+
"'input'", "'output'",
|
|
79
|
+
null, "'return'"];
|
|
80
|
+
static symbolicNames = [null, "INDENT",
|
|
81
|
+
"DEDENT", "WHITESPACE",
|
|
82
|
+
"NEWLINE",
|
|
83
|
+
"COMMENT",
|
|
84
|
+
"COMMA", "LPAREN",
|
|
85
|
+
"RPAREN", "LSQUARE",
|
|
86
|
+
"RSQUARE",
|
|
87
|
+
"SQUOTE", "DQUOTE",
|
|
88
|
+
"STRING", "NULL",
|
|
89
|
+
"INTEGER",
|
|
90
|
+
"FLOAT", "BOOLEAN",
|
|
91
|
+
"PLUS", "MINUS",
|
|
92
|
+
"MULTIPLY",
|
|
93
|
+
"DIVIDE", "MODULO",
|
|
94
|
+
"EXPONENT",
|
|
95
|
+
"AND", "OR",
|
|
96
|
+
"NOT", "EQUAL",
|
|
97
|
+
"NEQUAL", "GT",
|
|
98
|
+
"LT", "GTEQ",
|
|
99
|
+
"LTEQ", "IF",
|
|
100
|
+
"ELSE", "WHILE",
|
|
101
|
+
"DO", "REPEAT",
|
|
102
|
+
"UNTIL", "FOR",
|
|
103
|
+
"FROM", "DOWN",
|
|
104
|
+
"TO", "ASSIGN",
|
|
105
|
+
"INPUT", "OUTPUT",
|
|
106
|
+
"SUBPROGRAM",
|
|
107
|
+
"RETURN", "ID"];
|
|
108
|
+
static modeNames = ["DEFAULT_MODE",];
|
|
109
|
+
static ruleNames = [
|
|
110
|
+
"WHITESPACE", "NEWLINE", "COMMENT", "COMMA", "LPAREN", "RPAREN", "LSQUARE",
|
|
111
|
+
"RSQUARE", "SQUOTE", "DQUOTE", "STRING", "NULL", "DIGIT", "INTEGER", "FLOAT",
|
|
112
|
+
"BOOLEAN", "PLUS", "MINUS", "MULTIPLY", "DIVIDE", "MODULO", "EXPONENT",
|
|
113
|
+
"AND", "OR", "NOT", "EQUAL", "NEQUAL", "GT", "LT", "GTEQ", "LTEQ", "IF",
|
|
114
|
+
"ELSE", "WHILE", "DO", "REPEAT", "UNTIL", "FOR", "FROM", "DOWN", "TO",
|
|
115
|
+
"ASSIGN", "INPUT", "OUTPUT", "SUBPROGRAM", "RETURN", "ID",
|
|
116
|
+
];
|
|
117
|
+
constructor(input) {
|
|
118
|
+
super(input);
|
|
119
|
+
this._interp = new LexerATNSimulator(this, PSCLexer._ATN, PSCLexer.DecisionsToDFA, new PredictionContextCache());
|
|
120
|
+
}
|
|
121
|
+
get grammarFileName() { return "PSCLexer.g4"; }
|
|
122
|
+
get literalNames() { return PSCLexer.literalNames; }
|
|
123
|
+
get symbolicNames() { return PSCLexer.symbolicNames; }
|
|
124
|
+
get ruleNames() { return PSCLexer.ruleNames; }
|
|
125
|
+
get serializedATN() { return PSCLexer._serializedATN; }
|
|
126
|
+
get channelNames() { return PSCLexer.channelNames; }
|
|
127
|
+
get modeNames() { return PSCLexer.modeNames; }
|
|
128
|
+
static _serializedATN = [4, 0, 48, 348, 6, -1, 2, 0,
|
|
129
|
+
7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9,
|
|
130
|
+
7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7,
|
|
131
|
+
16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23,
|
|
132
|
+
2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2,
|
|
133
|
+
31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38,
|
|
134
|
+
7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7,
|
|
135
|
+
45, 2, 46, 7, 46, 1, 0, 4, 0, 97, 8, 0, 11, 0, 12, 0, 98, 1, 0, 1, 0, 1, 1, 3, 1, 104, 8, 1, 1, 1, 1,
|
|
136
|
+
1, 5, 1, 108, 8, 1, 10, 1, 12, 1, 111, 9, 1, 1, 2, 1, 2, 1, 2, 3, 2, 116, 8, 2, 1, 2, 5, 2, 119, 8, 2,
|
|
137
|
+
10, 2, 12, 2, 122, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1,
|
|
138
|
+
8, 1, 9, 1, 9, 1, 10, 1, 10, 5, 10, 142, 8, 10, 10, 10, 12, 10, 145, 9, 10, 1, 10, 1, 10, 1, 10, 1,
|
|
139
|
+
10, 5, 10, 151, 8, 10, 10, 10, 12, 10, 154, 9, 10, 1, 10, 1, 10, 3, 10, 158, 8, 10, 1, 11, 1, 11,
|
|
140
|
+
1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 4, 13, 168, 8, 13, 11, 13, 12, 13, 169, 1, 14, 4, 14, 173,
|
|
141
|
+
8, 14, 11, 14, 12, 14, 174, 1, 14, 1, 14, 5, 14, 179, 8, 14, 10, 14, 12, 14, 182, 9, 14, 1, 14,
|
|
142
|
+
5, 14, 185, 8, 14, 10, 14, 12, 14, 188, 9, 14, 1, 14, 1, 14, 4, 14, 192, 8, 14, 11, 14, 12, 14,
|
|
143
|
+
193, 3, 14, 196, 8, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 207,
|
|
144
|
+
8, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 3, 20, 221,
|
|
145
|
+
8, 20, 1, 21, 1, 21, 1, 21, 3, 21, 226, 8, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1,
|
|
146
|
+
24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29,
|
|
147
|
+
1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1,
|
|
148
|
+
33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36,
|
|
149
|
+
1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1,
|
|
150
|
+
39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42,
|
|
151
|
+
1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1,
|
|
152
|
+
44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 3, 44, 333, 8, 44, 1, 45,
|
|
153
|
+
1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 5, 46, 344, 8, 46, 10, 46, 12, 46, 347, 9,
|
|
154
|
+
46, 2, 143, 152, 0, 47, 1, 3, 3, 4, 5, 5, 7, 6, 9, 7, 11, 8, 13, 9, 15, 10, 17, 11, 19, 12, 21, 13,
|
|
155
|
+
23, 14, 25, 0, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24,
|
|
156
|
+
47, 25, 49, 26, 51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35, 69, 36,
|
|
157
|
+
71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44, 87, 45, 89, 46, 91, 47, 93, 48,
|
|
158
|
+
1, 0, 23, 2, 0, 9, 9, 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 78, 78, 110, 110, 2, 0, 85, 85, 117, 117,
|
|
159
|
+
2, 0, 76, 76, 108, 108, 1, 0, 48, 57, 2, 0, 84, 84, 116, 116, 2, 0, 82, 82, 114, 114, 2, 0, 69,
|
|
160
|
+
69, 101, 101, 2, 0, 70, 70, 102, 102, 2, 0, 65, 65, 97, 97, 2, 0, 83, 83, 115, 115, 2, 0, 77, 77,
|
|
161
|
+
109, 109, 2, 0, 79, 79, 111, 111, 2, 0, 68, 68, 100, 100, 2, 0, 73, 73, 105, 105, 2, 0, 87, 87,
|
|
162
|
+
119, 119, 2, 0, 72, 72, 104, 104, 2, 0, 80, 80, 112, 112, 2, 0, 66, 66, 98, 98, 2, 0, 71, 71, 103,
|
|
163
|
+
103, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 365, 0, 1, 1, 0, 0, 0,
|
|
164
|
+
0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0,
|
|
165
|
+
0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 27,
|
|
166
|
+
1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0,
|
|
167
|
+
0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49,
|
|
168
|
+
1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0,
|
|
169
|
+
0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71,
|
|
170
|
+
1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0,
|
|
171
|
+
0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93,
|
|
172
|
+
1, 0, 0, 0, 1, 96, 1, 0, 0, 0, 3, 103, 1, 0, 0, 0, 5, 115, 1, 0, 0, 0, 7, 125, 1, 0, 0, 0, 9, 127, 1,
|
|
173
|
+
0, 0, 0, 11, 129, 1, 0, 0, 0, 13, 131, 1, 0, 0, 0, 15, 133, 1, 0, 0, 0, 17, 135, 1, 0, 0, 0, 19, 137,
|
|
174
|
+
1, 0, 0, 0, 21, 157, 1, 0, 0, 0, 23, 159, 1, 0, 0, 0, 25, 164, 1, 0, 0, 0, 27, 167, 1, 0, 0, 0, 29,
|
|
175
|
+
195, 1, 0, 0, 0, 31, 206, 1, 0, 0, 0, 33, 208, 1, 0, 0, 0, 35, 210, 1, 0, 0, 0, 37, 212, 1, 0, 0, 0,
|
|
176
|
+
39, 214, 1, 0, 0, 0, 41, 220, 1, 0, 0, 0, 43, 225, 1, 0, 0, 0, 45, 227, 1, 0, 0, 0, 47, 231, 1, 0,
|
|
177
|
+
0, 0, 49, 234, 1, 0, 0, 0, 51, 238, 1, 0, 0, 0, 53, 240, 1, 0, 0, 0, 55, 243, 1, 0, 0, 0, 57, 245,
|
|
178
|
+
1, 0, 0, 0, 59, 247, 1, 0, 0, 0, 61, 250, 1, 0, 0, 0, 63, 253, 1, 0, 0, 0, 65, 256, 1, 0, 0, 0, 67,
|
|
179
|
+
261, 1, 0, 0, 0, 69, 267, 1, 0, 0, 0, 71, 270, 1, 0, 0, 0, 73, 277, 1, 0, 0, 0, 75, 283, 1, 0, 0, 0,
|
|
180
|
+
77, 287, 1, 0, 0, 0, 79, 292, 1, 0, 0, 0, 81, 297, 1, 0, 0, 0, 83, 300, 1, 0, 0, 0, 85, 303, 1, 0,
|
|
181
|
+
0, 0, 87, 309, 1, 0, 0, 0, 89, 332, 1, 0, 0, 0, 91, 334, 1, 0, 0, 0, 93, 341, 1, 0, 0, 0, 95, 97, 7,
|
|
182
|
+
0, 0, 0, 96, 95, 1, 0, 0, 0, 97, 98, 1, 0, 0, 0, 98, 96, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 100, 1,
|
|
183
|
+
0, 0, 0, 100, 101, 6, 0, 0, 0, 101, 2, 1, 0, 0, 0, 102, 104, 5, 13, 0, 0, 103, 102, 1, 0, 0, 0, 103,
|
|
184
|
+
104, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 109, 5, 10, 0, 0, 106, 108, 5, 32, 0, 0, 107, 106, 1,
|
|
185
|
+
0, 0, 0, 108, 111, 1, 0, 0, 0, 109, 107, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 4, 1, 0, 0, 0, 111,
|
|
186
|
+
109, 1, 0, 0, 0, 112, 116, 5, 35, 0, 0, 113, 114, 5, 47, 0, 0, 114, 116, 5, 47, 0, 0, 115, 112,
|
|
187
|
+
1, 0, 0, 0, 115, 113, 1, 0, 0, 0, 116, 120, 1, 0, 0, 0, 117, 119, 8, 1, 0, 0, 118, 117, 1, 0, 0, 0,
|
|
188
|
+
119, 122, 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 123, 1, 0, 0, 0, 122, 120,
|
|
189
|
+
1, 0, 0, 0, 123, 124, 6, 2, 0, 0, 124, 6, 1, 0, 0, 0, 125, 126, 5, 44, 0, 0, 126, 8, 1, 0, 0, 0, 127,
|
|
190
|
+
128, 5, 40, 0, 0, 128, 10, 1, 0, 0, 0, 129, 130, 5, 41, 0, 0, 130, 12, 1, 0, 0, 0, 131, 132, 5, 91,
|
|
191
|
+
0, 0, 132, 14, 1, 0, 0, 0, 133, 134, 5, 93, 0, 0, 134, 16, 1, 0, 0, 0, 135, 136, 5, 39, 0, 0, 136,
|
|
192
|
+
18, 1, 0, 0, 0, 137, 138, 5, 34, 0, 0, 138, 20, 1, 0, 0, 0, 139, 143, 3, 17, 8, 0, 140, 142, 9, 0,
|
|
193
|
+
0, 0, 141, 140, 1, 0, 0, 0, 142, 145, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 144,
|
|
194
|
+
146, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 146, 147, 3, 17, 8, 0, 147, 158, 1, 0, 0, 0, 148, 152, 3,
|
|
195
|
+
19, 9, 0, 149, 151, 9, 0, 0, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0,
|
|
196
|
+
152, 150, 1, 0, 0, 0, 153, 155, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155, 156, 3, 19, 9, 0, 156, 158,
|
|
197
|
+
1, 0, 0, 0, 157, 139, 1, 0, 0, 0, 157, 148, 1, 0, 0, 0, 158, 22, 1, 0, 0, 0, 159, 160, 7, 2, 0, 0,
|
|
198
|
+
160, 161, 7, 3, 0, 0, 161, 162, 7, 4, 0, 0, 162, 163, 7, 4, 0, 0, 163, 24, 1, 0, 0, 0, 164, 165,
|
|
199
|
+
7, 5, 0, 0, 165, 26, 1, 0, 0, 0, 166, 168, 3, 25, 12, 0, 167, 166, 1, 0, 0, 0, 168, 169, 1, 0, 0,
|
|
200
|
+
0, 169, 167, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 28, 1, 0, 0, 0, 171, 173, 3, 25, 12, 0, 172,
|
|
201
|
+
171, 1, 0, 0, 0, 173, 174, 1, 0, 0, 0, 174, 172, 1, 0, 0, 0, 174, 175, 1, 0, 0, 0, 175, 176, 1, 0,
|
|
202
|
+
0, 0, 176, 180, 5, 46, 0, 0, 177, 179, 3, 25, 12, 0, 178, 177, 1, 0, 0, 0, 179, 182, 1, 0, 0, 0,
|
|
203
|
+
180, 178, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 196, 1, 0, 0, 0, 182, 180, 1, 0, 0, 0, 183, 185,
|
|
204
|
+
3, 25, 12, 0, 184, 183, 1, 0, 0, 0, 185, 188, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187, 1, 0, 0,
|
|
205
|
+
0, 187, 189, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 189, 191, 5, 46, 0, 0, 190, 192, 3, 25, 12, 0, 191,
|
|
206
|
+
190, 1, 0, 0, 0, 192, 193, 1, 0, 0, 0, 193, 191, 1, 0, 0, 0, 193, 194, 1, 0, 0, 0, 194, 196, 1, 0,
|
|
207
|
+
0, 0, 195, 172, 1, 0, 0, 0, 195, 186, 1, 0, 0, 0, 196, 30, 1, 0, 0, 0, 197, 198, 7, 6, 0, 0, 198,
|
|
208
|
+
199, 7, 7, 0, 0, 199, 200, 7, 3, 0, 0, 200, 207, 7, 8, 0, 0, 201, 202, 7, 9, 0, 0, 202, 203, 7, 10,
|
|
209
|
+
0, 0, 203, 204, 7, 4, 0, 0, 204, 205, 7, 11, 0, 0, 205, 207, 7, 8, 0, 0, 206, 197, 1, 0, 0, 0, 206,
|
|
210
|
+
201, 1, 0, 0, 0, 207, 32, 1, 0, 0, 0, 208, 209, 5, 43, 0, 0, 209, 34, 1, 0, 0, 0, 210, 211, 5, 45,
|
|
211
|
+
0, 0, 211, 36, 1, 0, 0, 0, 212, 213, 5, 42, 0, 0, 213, 38, 1, 0, 0, 0, 214, 215, 5, 47, 0, 0, 215,
|
|
212
|
+
40, 1, 0, 0, 0, 216, 221, 5, 37, 0, 0, 217, 218, 7, 12, 0, 0, 218, 219, 7, 13, 0, 0, 219, 221, 7,
|
|
213
|
+
14, 0, 0, 220, 216, 1, 0, 0, 0, 220, 217, 1, 0, 0, 0, 221, 42, 1, 0, 0, 0, 222, 226, 5, 94, 0, 0,
|
|
214
|
+
223, 224, 5, 42, 0, 0, 224, 226, 5, 42, 0, 0, 225, 222, 1, 0, 0, 0, 225, 223, 1, 0, 0, 0, 226, 44,
|
|
215
|
+
1, 0, 0, 0, 227, 228, 7, 10, 0, 0, 228, 229, 7, 2, 0, 0, 229, 230, 7, 14, 0, 0, 230, 46, 1, 0, 0,
|
|
216
|
+
0, 231, 232, 7, 13, 0, 0, 232, 233, 7, 7, 0, 0, 233, 48, 1, 0, 0, 0, 234, 235, 7, 2, 0, 0, 235, 236,
|
|
217
|
+
7, 13, 0, 0, 236, 237, 7, 6, 0, 0, 237, 50, 1, 0, 0, 0, 238, 239, 5, 61, 0, 0, 239, 52, 1, 0, 0, 0,
|
|
218
|
+
240, 241, 5, 60, 0, 0, 241, 242, 5, 62, 0, 0, 242, 54, 1, 0, 0, 0, 243, 244, 5, 62, 0, 0, 244, 56,
|
|
219
|
+
1, 0, 0, 0, 245, 246, 5, 60, 0, 0, 246, 58, 1, 0, 0, 0, 247, 248, 5, 62, 0, 0, 248, 249, 5, 61, 0,
|
|
220
|
+
0, 249, 60, 1, 0, 0, 0, 250, 251, 5, 60, 0, 0, 251, 252, 5, 61, 0, 0, 252, 62, 1, 0, 0, 0, 253, 254,
|
|
221
|
+
7, 15, 0, 0, 254, 255, 7, 9, 0, 0, 255, 64, 1, 0, 0, 0, 256, 257, 7, 8, 0, 0, 257, 258, 7, 4, 0, 0,
|
|
222
|
+
258, 259, 7, 11, 0, 0, 259, 260, 7, 8, 0, 0, 260, 66, 1, 0, 0, 0, 261, 262, 7, 16, 0, 0, 262, 263,
|
|
223
|
+
7, 17, 0, 0, 263, 264, 7, 15, 0, 0, 264, 265, 7, 4, 0, 0, 265, 266, 7, 8, 0, 0, 266, 68, 1, 0, 0,
|
|
224
|
+
0, 267, 268, 7, 14, 0, 0, 268, 269, 7, 13, 0, 0, 269, 70, 1, 0, 0, 0, 270, 271, 7, 7, 0, 0, 271,
|
|
225
|
+
272, 7, 8, 0, 0, 272, 273, 7, 18, 0, 0, 273, 274, 7, 8, 0, 0, 274, 275, 7, 10, 0, 0, 275, 276, 7,
|
|
226
|
+
6, 0, 0, 276, 72, 1, 0, 0, 0, 277, 278, 7, 3, 0, 0, 278, 279, 7, 2, 0, 0, 279, 280, 7, 6, 0, 0, 280,
|
|
227
|
+
281, 7, 15, 0, 0, 281, 282, 7, 4, 0, 0, 282, 74, 1, 0, 0, 0, 283, 284, 7, 9, 0, 0, 284, 285, 7, 13,
|
|
228
|
+
0, 0, 285, 286, 7, 7, 0, 0, 286, 76, 1, 0, 0, 0, 287, 288, 7, 9, 0, 0, 288, 289, 7, 7, 0, 0, 289,
|
|
229
|
+
290, 7, 13, 0, 0, 290, 291, 7, 12, 0, 0, 291, 78, 1, 0, 0, 0, 292, 293, 7, 14, 0, 0, 293, 294, 7,
|
|
230
|
+
13, 0, 0, 294, 295, 7, 16, 0, 0, 295, 296, 7, 2, 0, 0, 296, 80, 1, 0, 0, 0, 297, 298, 7, 6, 0, 0,
|
|
231
|
+
298, 299, 7, 13, 0, 0, 299, 82, 1, 0, 0, 0, 300, 301, 5, 60, 0, 0, 301, 302, 5, 45, 0, 0, 302, 84,
|
|
232
|
+
1, 0, 0, 0, 303, 304, 7, 15, 0, 0, 304, 305, 7, 2, 0, 0, 305, 306, 7, 18, 0, 0, 306, 307, 7, 3, 0,
|
|
233
|
+
0, 307, 308, 7, 6, 0, 0, 308, 86, 1, 0, 0, 0, 309, 310, 7, 13, 0, 0, 310, 311, 7, 3, 0, 0, 311, 312,
|
|
234
|
+
7, 6, 0, 0, 312, 313, 7, 18, 0, 0, 313, 314, 7, 3, 0, 0, 314, 315, 7, 6, 0, 0, 315, 88, 1, 0, 0, 0,
|
|
235
|
+
316, 317, 7, 11, 0, 0, 317, 318, 7, 3, 0, 0, 318, 319, 7, 19, 0, 0, 319, 320, 7, 18, 0, 0, 320,
|
|
236
|
+
321, 7, 7, 0, 0, 321, 322, 7, 13, 0, 0, 322, 323, 7, 20, 0, 0, 323, 324, 7, 7, 0, 0, 324, 325, 7,
|
|
237
|
+
10, 0, 0, 325, 333, 7, 12, 0, 0, 326, 327, 7, 12, 0, 0, 327, 328, 7, 13, 0, 0, 328, 329, 7, 14,
|
|
238
|
+
0, 0, 329, 330, 7, 3, 0, 0, 330, 331, 7, 4, 0, 0, 331, 333, 7, 8, 0, 0, 332, 316, 1, 0, 0, 0, 332,
|
|
239
|
+
326, 1, 0, 0, 0, 333, 90, 1, 0, 0, 0, 334, 335, 7, 7, 0, 0, 335, 336, 7, 8, 0, 0, 336, 337, 7, 6,
|
|
240
|
+
0, 0, 337, 338, 7, 3, 0, 0, 338, 339, 7, 7, 0, 0, 339, 340, 7, 2, 0, 0, 340, 92, 1, 0, 0, 0, 341,
|
|
241
|
+
345, 7, 21, 0, 0, 342, 344, 7, 22, 0, 0, 343, 342, 1, 0, 0, 0, 344, 347, 1, 0, 0, 0, 345, 343, 1,
|
|
242
|
+
0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 94, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 20, 0, 98, 103, 109, 115,
|
|
243
|
+
120, 143, 152, 157, 169, 174, 180, 186, 193, 195, 206, 220, 225, 332, 345, 1, 6, 0, 0];
|
|
244
|
+
static __ATN;
|
|
245
|
+
static get _ATN() {
|
|
246
|
+
if (!PSCLexer.__ATN) {
|
|
247
|
+
PSCLexer.__ATN = new ATNDeserializer().deserialize(PSCLexer._serializedATN);
|
|
248
|
+
}
|
|
249
|
+
return PSCLexer.__ATN;
|
|
250
|
+
}
|
|
251
|
+
static DecisionsToDFA = PSCLexer._ATN.decisionToState.map((ds, index) => new DFA(ds, index));
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=PSCLexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PSCLexer.js","sourceRoot":"","sources":["../../src/_antlr/PSCLexer.ts"],"names":[],"mappings":"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AC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACtE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QACzE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACtE,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACtE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QACvE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QACzE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACtE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACvE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACtE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACvE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE;QACvE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG;QACxE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACtE,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;QACxE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE;QACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG;QACzE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG;QACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE;QACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACxE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACvE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACxE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACvE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACvE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACtE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACtE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG;QACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACvE,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG;QACxE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACxE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACvE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACvE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC;QACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE;QACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACzE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE;QACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC;QACvE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACzE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACxE,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACxE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACxE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACtE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACtE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE;QACxE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG;QACzE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;QACvE,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACtE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACvE,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE;QACtE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACvE,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC;QACtE,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG;QACtE,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC;QACvE,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG;QACxE,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAE7D,MAAM,CAAC,KAAK,CAAM;IACnB,MAAM,KAAK,IAAI;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACrB,QAAQ,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC;IACvB,CAAC;IAGD,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAE,CAAC,EAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAE,CAAC"}
|