cariboujs 2.0.7 → 2.0.8

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.
Files changed (46) hide show
  1. package/README.md +4 -3
  2. package/asm/asm8080/asm8080Lexer.js +253 -152
  3. package/asm/asm8080/asm8080Listener.js +72 -0
  4. package/asm/asm8080/asm8080Parser.js +1307 -289
  5. package/asm/asm8080/asm8080Visitor.js +48 -0
  6. package/asm/asmZ80/asmZ80Lexer.js +152 -128
  7. package/asm/asmZ80/asmZ80Listener.js +9 -0
  8. package/asm/asmZ80/asmZ80Parser.js +316 -170
  9. package/asm/asmZ80/asmZ80Visitor.js +6 -0
  10. package/c/CParser.js +1352 -1344
  11. package/cypher/CypherLexer.js +208 -205
  12. package/cypher/CypherParser.js +1180 -984
  13. package/cypher/CypherParserListener.js +18 -0
  14. package/cypher/CypherParserVisitor.js +12 -0
  15. package/package.json +1 -1
  16. package/python/python3_14/PythonLexer.js +1238 -0
  17. package/python/python3_14/PythonLexerBase.js +819 -0
  18. package/python/{python3_13 → python3_14}/PythonParser.js +4141 -3347
  19. package/python/{python3_13 → python3_14}/PythonParserListener.js +81 -0
  20. package/python/{python3_13 → python3_14}/PythonParserVisitor.js +54 -0
  21. package/sql/plsql/PlSqlLexer.js +4114 -4113
  22. package/sql/plsql/PlSqlParser.js +37074 -31651
  23. package/sql/plsql/PlSqlParserBase.js +31 -0
  24. package/sql/plsql/PlSqlParserListener.js +58 -4
  25. package/sql/plsql/PlSqlParserVisitor.js +38 -2
  26. package/sysml-v2/SysMLv2Lexer.js +617 -605
  27. package/sysml-v2/SysMLv2Parser.js +7135 -10083
  28. package/sysml-v2/SysMLv2ParserListener.js +45 -423
  29. package/sysml-v2/SysMLv2ParserVisitor.js +30 -282
  30. package/xpath/xpath4/XPath4Lexer.js +667 -0
  31. package/xpath/xpath4/XPath4Parser.js +17424 -0
  32. package/xpath/xpath4/XPath4ParserBase.js +34 -0
  33. package/xpath/xpath4/XPath4ParserListener.js +1521 -0
  34. package/xpath/xpath4/XPath4ParserVisitor.js +1018 -0
  35. package/xquery/xquery4/XQuery4Lexer.js +1396 -0
  36. package/xquery/xquery4/XQuery4LexerBase.js +42 -0
  37. package/xquery/xquery4/XQuery4Parser.js +27899 -0
  38. package/xquery/xquery4/XQuery4ParserBase.js +38 -0
  39. package/xquery/xquery4/XQuery4ParserListener.js +2322 -0
  40. package/xquery/xquery4/XQuery4ParserVisitor.js +1552 -0
  41. package/awk/awkLexer.js +0 -317
  42. package/awk/awkListener.js +0 -378
  43. package/awk/awkParser.js +0 -5859
  44. package/awk/awkVisitor.js +0 -256
  45. package/python/python3_13/PythonLexer.js +0 -974
  46. package/python/python3_13/PythonLexerBase.js +0 -676
@@ -4,7 +4,7 @@ import antlr4 from 'antlr4';
4
4
  import CypherParserListener from './CypherParserListener.js';
5
5
  import CypherParserVisitor from './CypherParserVisitor.js';
6
6
 
7
- const serializedATN = [4,1,99,874,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
7
+ const serializedATN = [4,1,98,886,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
8
8
  4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,
9
9
  2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,
10
10
  20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,
@@ -16,281 +16,285 @@ const serializedATN = [4,1,99,874,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
16
16
  63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,
17
17
  2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,
18
18
  78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,
19
- 7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,1,0,1,0,
20
- 3,0,187,8,0,1,0,1,0,1,1,1,1,3,1,193,8,1,1,2,1,2,5,2,197,8,2,10,2,12,2,200,
21
- 9,2,1,3,1,3,3,3,204,8,3,1,4,1,4,1,4,3,4,209,8,4,1,4,1,4,1,4,3,4,214,8,4,
22
- 3,4,216,8,4,1,5,1,5,1,5,1,6,1,6,1,6,3,6,224,8,6,1,7,1,7,1,7,1,8,1,8,1,8,
23
- 1,9,3,9,233,8,9,1,9,1,9,3,9,237,8,9,1,9,3,9,240,8,9,1,9,3,9,243,8,9,1,10,
24
- 1,10,3,10,247,8,10,1,10,1,10,5,10,251,8,10,10,10,12,10,254,9,10,1,11,1,11,
25
- 1,11,3,11,259,8,11,1,12,1,12,3,12,263,8,12,1,13,1,13,1,13,1,13,1,13,5,13,
26
- 270,8,13,10,13,12,13,273,9,13,1,14,5,14,276,8,14,10,14,12,14,279,9,14,1,
27
- 14,1,14,4,14,283,8,14,11,14,12,14,284,1,14,3,14,288,8,14,3,14,290,8,14,1,
28
- 15,5,15,293,8,15,10,15,12,15,296,9,15,1,15,5,15,299,8,15,10,15,12,15,302,
29
- 9,15,1,15,4,15,305,8,15,11,15,12,15,306,1,15,1,15,1,16,3,16,312,8,16,1,16,
30
- 1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,3,18,325,8,18,1,19,1,19,
31
- 1,19,1,19,1,19,3,19,332,8,19,1,20,3,20,335,8,20,1,20,1,20,1,20,1,21,1,21,
32
- 1,21,1,21,5,21,344,8,21,10,21,12,21,347,9,21,1,22,1,22,1,22,1,22,3,22,353,
33
- 8,22,1,23,1,23,1,23,1,23,1,23,3,23,360,8,23,1,24,1,24,3,24,364,8,24,1,24,
34
- 1,24,1,25,1,25,1,25,5,25,371,8,25,10,25,12,25,374,9,25,1,25,3,25,377,8,25,
35
- 1,26,1,26,1,26,3,26,382,8,26,1,26,1,26,1,27,1,27,1,27,5,27,389,8,27,10,27,
36
- 12,27,392,9,27,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,5,29,402,8,29,10,
37
- 29,12,29,405,9,29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,
38
- 3,30,418,8,30,1,31,1,31,4,31,422,8,31,11,31,12,31,423,1,32,1,32,1,32,1,33,
39
- 1,33,3,33,431,8,33,1,34,1,34,1,34,1,35,1,35,1,35,5,35,439,8,35,10,35,12,
40
- 35,442,9,35,1,36,1,36,1,36,5,36,447,8,36,10,36,12,36,450,9,36,1,37,1,37,
41
- 1,37,5,37,455,8,37,10,37,12,37,458,9,37,1,38,1,38,1,38,5,38,463,8,38,10,
42
- 38,12,38,466,9,38,1,39,3,39,469,8,39,1,39,1,39,1,40,1,40,1,40,1,40,5,40,
43
- 477,8,40,10,40,12,40,480,9,40,1,41,1,41,1,42,1,42,1,42,5,42,487,8,42,10,
44
- 42,12,42,490,9,42,1,43,1,43,1,43,5,43,495,8,43,10,43,12,43,498,9,43,1,44,
45
- 1,44,1,44,5,44,503,8,44,10,44,12,44,506,9,44,1,45,3,45,509,8,45,1,45,1,45,
46
- 1,46,1,46,1,46,1,46,5,46,517,8,46,10,46,12,46,520,9,46,1,47,1,47,1,47,1,
47
- 47,3,47,526,8,47,1,47,1,47,3,47,530,8,47,1,47,3,47,533,8,47,1,47,3,47,536,
48
- 8,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,3,49,546,8,49,1,50,1,50,3,50,
49
- 550,8,50,1,50,1,50,1,51,1,51,3,51,556,8,51,1,52,1,52,1,52,5,52,561,8,52,
50
- 10,52,12,52,564,9,52,1,53,1,53,1,53,3,53,569,8,53,1,53,1,53,1,54,1,54,1,
51
- 54,5,54,576,8,54,10,54,12,54,579,9,54,1,54,1,54,1,54,1,54,3,54,585,8,54,
52
- 3,54,587,8,54,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,
53
- 1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,
54
- 57,1,57,1,57,1,57,1,57,1,57,1,57,1,57,3,57,623,8,57,1,58,1,58,1,59,1,59,
55
- 3,59,629,8,59,1,60,1,60,3,60,633,8,60,1,60,3,60,636,8,60,1,60,3,60,639,8,
56
- 60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,1,61,
57
- 3,61,655,8,61,1,62,1,62,1,62,1,63,1,63,1,63,3,63,663,8,63,1,63,1,63,3,63,
58
- 667,8,63,1,63,1,63,3,63,671,8,63,1,63,1,63,3,63,675,8,63,3,63,677,8,63,1,
59
- 64,1,64,3,64,681,8,64,1,64,3,64,684,8,64,1,64,3,64,687,8,64,1,64,3,64,690,
60
- 8,64,1,64,1,64,1,65,1,65,1,65,1,65,3,65,698,8,65,1,65,5,65,701,8,65,10,65,
61
- 12,65,704,9,65,1,66,1,66,3,66,708,8,66,1,66,1,66,1,67,1,67,1,67,1,67,3,67,
62
- 716,8,67,1,67,1,67,1,68,1,68,1,68,5,68,723,8,68,10,68,12,68,726,9,68,1,69,
63
- 1,69,1,69,3,69,731,8,69,1,69,3,69,734,8,69,1,69,1,69,1,70,1,70,1,70,1,70,
64
- 1,71,1,71,1,71,1,71,1,71,1,72,1,72,3,72,749,8,72,1,72,1,72,3,72,753,8,72,
65
- 1,72,1,72,1,72,1,72,1,73,1,73,4,73,761,8,73,11,73,12,73,762,1,74,1,74,1,
66
- 74,1,74,3,74,769,8,74,1,74,1,74,1,75,1,75,1,75,1,75,3,75,777,8,75,1,76,1,
67
- 76,1,76,1,76,1,76,1,77,1,77,1,77,5,77,787,8,77,10,77,12,77,790,9,77,1,78,
68
- 1,78,3,78,794,8,78,1,78,1,78,1,78,1,78,1,78,4,78,801,8,78,11,78,12,78,802,
69
- 1,78,1,78,3,78,807,8,78,1,78,1,78,1,79,1,79,1,79,3,79,814,8,79,1,80,1,80,
70
- 1,80,1,80,1,80,1,80,1,80,3,80,823,8,80,1,81,1,81,3,81,827,8,81,1,81,1,81,
71
- 3,81,831,8,81,3,81,833,8,81,1,82,1,82,1,83,1,83,1,84,1,84,1,85,1,85,1,86,
72
- 1,86,3,86,845,8,86,1,86,1,86,1,87,1,87,1,87,1,87,5,87,853,8,87,10,87,12,
73
- 87,856,9,87,3,87,858,8,87,1,87,1,87,1,88,1,88,1,88,1,88,1,89,1,89,3,89,868,
74
- 8,89,1,90,1,90,1,91,1,91,1,91,0,0,92,0,2,4,6,8,10,12,14,16,18,20,22,24,26,
75
- 28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,
76
- 76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,
77
- 118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,
78
- 154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,0,11,2,0,37,
79
- 38,42,43,2,0,40,40,47,47,1,0,1,2,2,0,1,1,3,7,1,0,18,19,2,0,20,21,23,23,2,
80
- 0,89,89,93,93,1,0,33,36,1,0,71,72,2,0,30,35,89,90,1,0,36,88,913,0,184,1,
81
- 0,0,0,2,192,1,0,0,0,4,194,1,0,0,0,6,203,1,0,0,0,8,205,1,0,0,0,10,217,1,0,
82
- 0,0,12,220,1,0,0,0,14,225,1,0,0,0,16,228,1,0,0,0,18,232,1,0,0,0,20,246,1,
83
- 0,0,0,22,255,1,0,0,0,24,260,1,0,0,0,26,264,1,0,0,0,28,277,1,0,0,0,30,294,
84
- 1,0,0,0,32,311,1,0,0,0,34,316,1,0,0,0,36,324,1,0,0,0,38,331,1,0,0,0,40,334,
85
- 1,0,0,0,42,339,1,0,0,0,44,352,1,0,0,0,46,354,1,0,0,0,48,361,1,0,0,0,50,367,
86
- 1,0,0,0,52,381,1,0,0,0,54,385,1,0,0,0,56,393,1,0,0,0,58,397,1,0,0,0,60,417,
87
- 1,0,0,0,62,421,1,0,0,0,64,425,1,0,0,0,66,428,1,0,0,0,68,432,1,0,0,0,70,435,
88
- 1,0,0,0,72,443,1,0,0,0,74,451,1,0,0,0,76,459,1,0,0,0,78,468,1,0,0,0,80,472,
89
- 1,0,0,0,82,481,1,0,0,0,84,483,1,0,0,0,86,491,1,0,0,0,88,499,1,0,0,0,90,508,
90
- 1,0,0,0,92,512,1,0,0,0,94,535,1,0,0,0,96,537,1,0,0,0,98,545,1,0,0,0,100,
91
- 547,1,0,0,0,102,553,1,0,0,0,104,557,1,0,0,0,106,568,1,0,0,0,108,586,1,0,
92
- 0,0,110,588,1,0,0,0,112,591,1,0,0,0,114,622,1,0,0,0,116,624,1,0,0,0,118,
93
- 628,1,0,0,0,120,630,1,0,0,0,122,654,1,0,0,0,124,656,1,0,0,0,126,676,1,0,
94
- 0,0,128,678,1,0,0,0,130,693,1,0,0,0,132,705,1,0,0,0,134,711,1,0,0,0,136,
95
- 719,1,0,0,0,138,727,1,0,0,0,140,737,1,0,0,0,142,741,1,0,0,0,144,746,1,0,
96
- 0,0,146,758,1,0,0,0,148,764,1,0,0,0,150,772,1,0,0,0,152,778,1,0,0,0,154,
97
- 783,1,0,0,0,156,791,1,0,0,0,158,810,1,0,0,0,160,822,1,0,0,0,162,824,1,0,
98
- 0,0,164,834,1,0,0,0,166,836,1,0,0,0,168,838,1,0,0,0,170,840,1,0,0,0,172,
99
- 842,1,0,0,0,174,848,1,0,0,0,176,861,1,0,0,0,178,867,1,0,0,0,180,869,1,0,
100
- 0,0,182,871,1,0,0,0,184,186,3,2,1,0,185,187,5,9,0,0,186,185,1,0,0,0,186,
101
- 187,1,0,0,0,187,188,1,0,0,0,188,189,5,0,0,1,189,1,1,0,0,0,190,193,3,4,2,
102
- 0,191,193,3,8,4,0,192,190,1,0,0,0,192,191,1,0,0,0,193,3,1,0,0,0,194,198,
103
- 3,6,3,0,195,197,3,132,66,0,196,195,1,0,0,0,197,200,1,0,0,0,198,196,1,0,0,
104
- 0,198,199,1,0,0,0,199,5,1,0,0,0,200,198,1,0,0,0,201,204,3,28,14,0,202,204,
105
- 3,30,15,0,203,201,1,0,0,0,203,202,1,0,0,0,204,7,1,0,0,0,205,206,5,28,0,0,
106
- 206,208,3,136,68,0,207,209,3,48,24,0,208,207,1,0,0,0,208,209,1,0,0,0,209,
107
- 215,1,0,0,0,210,213,5,29,0,0,211,214,5,23,0,0,212,214,3,50,25,0,213,211,
108
- 1,0,0,0,213,212,1,0,0,0,214,216,1,0,0,0,215,210,1,0,0,0,215,216,1,0,0,0,
109
- 216,9,1,0,0,0,217,218,5,53,0,0,218,219,3,18,9,0,219,11,1,0,0,0,220,221,5,
110
- 57,0,0,221,223,3,18,9,0,222,224,3,68,34,0,223,222,1,0,0,0,223,224,1,0,0,
111
- 0,224,13,1,0,0,0,225,226,5,55,0,0,226,227,3,72,36,0,227,15,1,0,0,0,228,229,
112
- 5,46,0,0,229,230,3,72,36,0,230,17,1,0,0,0,231,233,5,63,0,0,232,231,1,0,0,
113
- 0,232,233,1,0,0,0,233,234,1,0,0,0,234,236,3,20,10,0,235,237,3,26,13,0,236,
114
- 235,1,0,0,0,236,237,1,0,0,0,237,239,1,0,0,0,238,240,3,14,7,0,239,238,1,0,
115
- 0,0,239,240,1,0,0,0,240,242,1,0,0,0,241,243,3,16,8,0,242,241,1,0,0,0,242,
116
- 243,1,0,0,0,243,19,1,0,0,0,244,247,5,23,0,0,245,247,3,22,11,0,246,244,1,
117
- 0,0,0,246,245,1,0,0,0,247,252,1,0,0,0,248,249,5,11,0,0,249,251,3,22,11,0,
118
- 250,248,1,0,0,0,251,254,1,0,0,0,252,250,1,0,0,0,252,253,1,0,0,0,253,21,1,
119
- 0,0,0,254,252,1,0,0,0,255,258,3,72,36,0,256,257,5,61,0,0,257,259,3,180,90,
120
- 0,258,256,1,0,0,0,258,259,1,0,0,0,259,23,1,0,0,0,260,262,3,72,36,0,261,263,
121
- 7,0,0,0,262,261,1,0,0,0,262,263,1,0,0,0,263,25,1,0,0,0,264,265,5,51,0,0,
122
- 265,266,5,39,0,0,266,271,3,24,12,0,267,268,5,11,0,0,268,270,3,24,12,0,269,
123
- 267,1,0,0,0,270,273,1,0,0,0,271,269,1,0,0,0,271,272,1,0,0,0,272,27,1,0,0,
124
- 0,273,271,1,0,0,0,274,276,3,36,18,0,275,274,1,0,0,0,276,279,1,0,0,0,277,
125
- 275,1,0,0,0,277,278,1,0,0,0,278,289,1,0,0,0,279,277,1,0,0,0,280,290,3,10,
126
- 5,0,281,283,3,38,19,0,282,281,1,0,0,0,283,284,1,0,0,0,284,282,1,0,0,0,284,
127
- 285,1,0,0,0,285,287,1,0,0,0,286,288,3,10,5,0,287,286,1,0,0,0,287,288,1,0,
128
- 0,0,288,290,1,0,0,0,289,280,1,0,0,0,289,282,1,0,0,0,290,29,1,0,0,0,291,293,
129
- 3,36,18,0,292,291,1,0,0,0,293,296,1,0,0,0,294,292,1,0,0,0,294,295,1,0,0,
130
- 0,295,304,1,0,0,0,296,294,1,0,0,0,297,299,3,38,19,0,298,297,1,0,0,0,299,
131
- 302,1,0,0,0,300,298,1,0,0,0,300,301,1,0,0,0,301,303,1,0,0,0,302,300,1,0,
132
- 0,0,303,305,3,12,6,0,304,300,1,0,0,0,305,306,1,0,0,0,306,304,1,0,0,0,306,
133
- 307,1,0,0,0,307,308,1,0,0,0,308,309,3,28,14,0,309,31,1,0,0,0,310,312,5,50,
134
- 0,0,311,310,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,314,5,47,0,0,314,
135
- 315,3,66,33,0,315,33,1,0,0,0,316,317,5,59,0,0,317,318,3,72,36,0,318,319,
136
- 5,61,0,0,319,320,3,180,90,0,320,35,1,0,0,0,321,325,3,32,16,0,322,325,3,34,
137
- 17,0,323,325,3,46,23,0,324,321,1,0,0,0,324,322,1,0,0,0,324,323,1,0,0,0,325,
138
- 37,1,0,0,0,326,332,3,64,32,0,327,332,3,54,27,0,328,332,3,40,20,0,329,332,
139
- 3,58,29,0,330,332,3,42,21,0,331,326,1,0,0,0,331,327,1,0,0,0,331,328,1,0,
140
- 0,0,331,329,1,0,0,0,331,330,1,0,0,0,332,39,1,0,0,0,333,335,5,44,0,0,334,
141
- 333,1,0,0,0,334,335,1,0,0,0,335,336,1,0,0,0,336,337,5,41,0,0,337,338,3,154,
142
- 77,0,338,41,1,0,0,0,339,340,5,52,0,0,340,345,3,44,22,0,341,342,5,11,0,0,
143
- 342,344,3,44,22,0,343,341,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,345,346,
144
- 1,0,0,0,346,43,1,0,0,0,347,345,1,0,0,0,348,349,3,180,90,0,349,350,3,62,31,
145
- 0,350,353,1,0,0,0,351,353,3,104,52,0,352,348,1,0,0,0,352,351,1,0,0,0,353,
146
- 45,1,0,0,0,354,355,5,28,0,0,355,356,3,136,68,0,356,359,3,48,24,0,357,358,
147
- 5,29,0,0,358,360,3,50,25,0,359,357,1,0,0,0,359,360,1,0,0,0,360,47,1,0,0,
148
- 0,361,363,5,12,0,0,362,364,3,154,77,0,363,362,1,0,0,0,363,364,1,0,0,0,364,
149
- 365,1,0,0,0,365,366,5,13,0,0,366,49,1,0,0,0,367,372,3,52,26,0,368,369,5,
150
- 11,0,0,369,371,3,52,26,0,370,368,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,
151
- 372,373,1,0,0,0,373,376,1,0,0,0,374,372,1,0,0,0,375,377,3,68,34,0,376,375,
152
- 1,0,0,0,376,377,1,0,0,0,377,51,1,0,0,0,378,379,3,180,90,0,379,380,5,61,0,
153
- 0,380,382,1,0,0,0,381,378,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,
154
- 3,180,90,0,384,53,1,0,0,0,385,386,5,48,0,0,386,390,3,106,53,0,387,389,3,
155
- 56,28,0,388,387,1,0,0,0,389,392,1,0,0,0,390,388,1,0,0,0,390,391,1,0,0,0,
156
- 391,55,1,0,0,0,392,390,1,0,0,0,393,394,5,49,0,0,394,395,7,1,0,0,395,396,
157
- 3,58,29,0,396,57,1,0,0,0,397,398,5,54,0,0,398,403,3,60,30,0,399,400,5,11,
158
- 0,0,400,402,3,60,30,0,401,399,1,0,0,0,402,405,1,0,0,0,403,401,1,0,0,0,403,
159
- 404,1,0,0,0,404,59,1,0,0,0,405,403,1,0,0,0,406,407,3,104,52,0,407,408,5,
160
- 1,0,0,408,409,3,72,36,0,409,418,1,0,0,0,410,411,3,180,90,0,411,412,7,2,0,
161
- 0,412,413,3,72,36,0,413,418,1,0,0,0,414,415,3,180,90,0,415,416,3,62,31,0,
162
- 416,418,1,0,0,0,417,406,1,0,0,0,417,410,1,0,0,0,417,414,1,0,0,0,418,61,1,
163
- 0,0,0,419,420,5,25,0,0,420,422,3,178,89,0,421,419,1,0,0,0,422,423,1,0,0,
164
- 0,423,421,1,0,0,0,423,424,1,0,0,0,424,63,1,0,0,0,425,426,5,40,0,0,426,427,
165
- 3,70,35,0,427,65,1,0,0,0,428,430,3,70,35,0,429,431,3,68,34,0,430,429,1,0,
166
- 0,0,430,431,1,0,0,0,431,67,1,0,0,0,432,433,5,56,0,0,433,434,3,72,36,0,434,
167
- 69,1,0,0,0,435,440,3,106,53,0,436,437,5,11,0,0,437,439,3,106,53,0,438,436,
168
- 1,0,0,0,439,442,1,0,0,0,440,438,1,0,0,0,440,441,1,0,0,0,441,71,1,0,0,0,442,
169
- 440,1,0,0,0,443,448,3,74,37,0,444,445,5,68,0,0,445,447,3,74,37,0,446,444,
170
- 1,0,0,0,447,450,1,0,0,0,448,446,1,0,0,0,448,449,1,0,0,0,449,73,1,0,0,0,450,
171
- 448,1,0,0,0,451,456,3,76,38,0,452,453,5,70,0,0,453,455,3,76,38,0,454,452,
172
- 1,0,0,0,455,458,1,0,0,0,456,454,1,0,0,0,456,457,1,0,0,0,457,75,1,0,0,0,458,
173
- 456,1,0,0,0,459,464,3,78,39,0,460,461,5,60,0,0,461,463,3,78,39,0,462,460,
174
- 1,0,0,0,463,466,1,0,0,0,464,462,1,0,0,0,464,465,1,0,0,0,465,77,1,0,0,0,466,
175
- 464,1,0,0,0,467,469,5,67,0,0,468,467,1,0,0,0,468,469,1,0,0,0,469,470,1,0,
176
- 0,0,470,471,3,80,40,0,471,79,1,0,0,0,472,478,3,84,42,0,473,474,3,82,41,0,
177
- 474,475,3,84,42,0,475,477,1,0,0,0,476,473,1,0,0,0,477,480,1,0,0,0,478,476,
178
- 1,0,0,0,478,479,1,0,0,0,479,81,1,0,0,0,480,478,1,0,0,0,481,482,7,3,0,0,482,
179
- 83,1,0,0,0,483,488,3,86,43,0,484,485,7,4,0,0,485,487,3,86,43,0,486,484,1,
180
- 0,0,0,487,490,1,0,0,0,488,486,1,0,0,0,488,489,1,0,0,0,489,85,1,0,0,0,490,
181
- 488,1,0,0,0,491,496,3,88,44,0,492,493,7,5,0,0,493,495,3,88,44,0,494,492,
182
- 1,0,0,0,495,498,1,0,0,0,496,494,1,0,0,0,496,497,1,0,0,0,497,87,1,0,0,0,498,
183
- 496,1,0,0,0,499,504,3,90,45,0,500,501,5,22,0,0,501,503,3,90,45,0,502,500,
184
- 1,0,0,0,503,506,1,0,0,0,504,502,1,0,0,0,504,505,1,0,0,0,505,89,1,0,0,0,506,
185
- 504,1,0,0,0,507,509,7,4,0,0,508,507,1,0,0,0,508,509,1,0,0,0,509,510,1,0,
186
- 0,0,510,511,3,92,46,0,511,91,1,0,0,0,512,518,3,102,51,0,513,517,3,96,48,
187
- 0,514,517,3,94,47,0,515,517,3,100,50,0,516,513,1,0,0,0,516,514,1,0,0,0,516,
188
- 515,1,0,0,0,517,520,1,0,0,0,518,516,1,0,0,0,518,519,1,0,0,0,519,93,1,0,0,
189
- 0,520,518,1,0,0,0,521,522,5,65,0,0,522,536,3,102,51,0,523,532,5,16,0,0,524,
190
- 526,3,72,36,0,525,524,1,0,0,0,525,526,1,0,0,0,526,527,1,0,0,0,527,529,5,
191
- 8,0,0,528,530,3,72,36,0,529,528,1,0,0,0,529,530,1,0,0,0,530,533,1,0,0,0,
192
- 531,533,3,72,36,0,532,525,1,0,0,0,532,531,1,0,0,0,533,534,1,0,0,0,534,536,
193
- 5,17,0,0,535,521,1,0,0,0,535,523,1,0,0,0,536,95,1,0,0,0,537,538,3,98,49,
194
- 0,538,539,3,102,51,0,539,97,1,0,0,0,540,541,5,69,0,0,541,546,5,57,0,0,542,
195
- 543,5,64,0,0,543,546,5,57,0,0,544,546,5,62,0,0,545,540,1,0,0,0,545,542,1,
196
- 0,0,0,545,544,1,0,0,0,546,99,1,0,0,0,547,549,5,66,0,0,548,550,5,67,0,0,549,
197
- 548,1,0,0,0,549,550,1,0,0,0,550,551,1,0,0,0,551,552,5,73,0,0,552,101,1,0,
198
- 0,0,553,555,3,104,52,0,554,556,3,62,31,0,555,554,1,0,0,0,555,556,1,0,0,0,
199
- 556,103,1,0,0,0,557,562,3,122,61,0,558,559,5,10,0,0,559,561,3,178,89,0,560,
200
- 558,1,0,0,0,561,564,1,0,0,0,562,560,1,0,0,0,562,563,1,0,0,0,563,105,1,0,
201
- 0,0,564,562,1,0,0,0,565,566,3,180,90,0,566,567,5,1,0,0,567,569,1,0,0,0,568,
202
- 565,1,0,0,0,568,569,1,0,0,0,569,570,1,0,0,0,570,571,3,108,54,0,571,107,1,
203
- 0,0,0,572,577,3,120,60,0,573,576,3,110,55,0,574,576,3,112,56,0,575,573,1,
204
- 0,0,0,575,574,1,0,0,0,576,579,1,0,0,0,577,575,1,0,0,0,577,578,1,0,0,0,578,
205
- 587,1,0,0,0,579,577,1,0,0,0,580,581,5,12,0,0,581,582,3,108,54,0,582,584,
206
- 5,13,0,0,583,585,3,114,57,0,584,583,1,0,0,0,584,585,1,0,0,0,585,587,1,0,
207
- 0,0,586,572,1,0,0,0,586,580,1,0,0,0,587,109,1,0,0,0,588,589,3,126,63,0,589,
208
- 590,3,120,60,0,590,111,1,0,0,0,591,592,5,12,0,0,592,593,3,108,54,0,593,594,
209
- 5,13,0,0,594,595,3,114,57,0,595,596,3,120,60,0,596,113,1,0,0,0,597,598,5,
210
- 14,0,0,598,599,3,116,58,0,599,600,5,11,0,0,600,601,3,116,58,0,601,602,5,
211
- 15,0,0,602,623,1,0,0,0,603,604,5,14,0,0,604,605,3,116,58,0,605,606,5,15,
212
- 0,0,606,623,1,0,0,0,607,608,5,14,0,0,608,609,3,116,58,0,609,610,5,11,0,0,
213
- 610,611,5,15,0,0,611,623,1,0,0,0,612,613,5,14,0,0,613,614,5,11,0,0,614,615,
214
- 3,116,58,0,615,616,5,15,0,0,616,623,1,0,0,0,617,618,5,14,0,0,618,619,5,11,
215
- 0,0,619,623,5,15,0,0,620,623,5,19,0,0,621,623,5,23,0,0,622,597,1,0,0,0,622,
216
- 603,1,0,0,0,622,607,1,0,0,0,622,612,1,0,0,0,622,617,1,0,0,0,622,620,1,0,
217
- 0,0,622,621,1,0,0,0,623,115,1,0,0,0,624,625,7,6,0,0,625,117,1,0,0,0,626,
218
- 629,3,174,87,0,627,629,3,158,79,0,628,626,1,0,0,0,628,627,1,0,0,0,629,119,
219
- 1,0,0,0,630,632,5,12,0,0,631,633,3,180,90,0,632,631,1,0,0,0,632,633,1,0,
220
- 0,0,633,635,1,0,0,0,634,636,3,62,31,0,635,634,1,0,0,0,635,636,1,0,0,0,636,
221
- 638,1,0,0,0,637,639,3,118,59,0,638,637,1,0,0,0,638,639,1,0,0,0,639,640,1,
222
- 0,0,0,640,641,5,13,0,0,641,121,1,0,0,0,642,655,3,160,80,0,643,655,3,158,
223
- 79,0,644,655,3,156,78,0,645,655,3,152,76,0,646,655,3,148,74,0,647,655,3,
224
- 144,72,0,648,655,3,142,71,0,649,655,3,146,73,0,650,655,3,140,70,0,651,655,
225
- 3,138,69,0,652,655,3,180,90,0,653,655,3,134,67,0,654,642,1,0,0,0,654,643,
226
- 1,0,0,0,654,644,1,0,0,0,654,645,1,0,0,0,654,646,1,0,0,0,654,647,1,0,0,0,
227
- 654,648,1,0,0,0,654,649,1,0,0,0,654,650,1,0,0,0,654,651,1,0,0,0,654,652,
228
- 1,0,0,0,654,653,1,0,0,0,655,123,1,0,0,0,656,657,3,180,90,0,657,658,5,1,0,
229
- 0,658,125,1,0,0,0,659,660,5,6,0,0,660,662,5,18,0,0,661,663,3,128,64,0,662,
230
- 661,1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,666,5,18,0,0,665,667,5,5,
231
- 0,0,666,665,1,0,0,0,666,667,1,0,0,0,667,677,1,0,0,0,668,670,5,18,0,0,669,
232
- 671,3,128,64,0,670,669,1,0,0,0,670,671,1,0,0,0,671,672,1,0,0,0,672,674,5,
233
- 18,0,0,673,675,5,5,0,0,674,673,1,0,0,0,674,675,1,0,0,0,675,677,1,0,0,0,676,
234
- 659,1,0,0,0,676,668,1,0,0,0,677,127,1,0,0,0,678,680,5,16,0,0,679,681,3,180,
235
- 90,0,680,679,1,0,0,0,680,681,1,0,0,0,681,683,1,0,0,0,682,684,3,130,65,0,
236
- 683,682,1,0,0,0,683,684,1,0,0,0,684,686,1,0,0,0,685,687,3,162,81,0,686,685,
237
- 1,0,0,0,686,687,1,0,0,0,687,689,1,0,0,0,688,690,3,118,59,0,689,688,1,0,0,
238
- 0,689,690,1,0,0,0,690,691,1,0,0,0,691,692,5,17,0,0,692,129,1,0,0,0,693,694,
239
- 5,25,0,0,694,702,3,178,89,0,695,697,5,26,0,0,696,698,5,25,0,0,697,696,1,
240
- 0,0,0,697,698,1,0,0,0,698,699,1,0,0,0,699,701,3,178,89,0,700,695,1,0,0,0,
241
- 701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,131,1,0,0,0,704,702,
242
- 1,0,0,0,705,707,5,58,0,0,706,708,5,36,0,0,707,706,1,0,0,0,707,708,1,0,0,
243
- 0,708,709,1,0,0,0,709,710,3,6,3,0,710,133,1,0,0,0,711,712,5,45,0,0,712,715,
244
- 5,14,0,0,713,716,3,4,2,0,714,716,3,66,33,0,715,713,1,0,0,0,715,714,1,0,0,
245
- 0,716,717,1,0,0,0,717,718,5,15,0,0,718,135,1,0,0,0,719,724,3,180,90,0,720,
246
- 721,5,10,0,0,721,723,3,180,90,0,722,720,1,0,0,0,723,726,1,0,0,0,724,722,
247
- 1,0,0,0,724,725,1,0,0,0,725,137,1,0,0,0,726,724,1,0,0,0,727,728,3,136,68,
248
- 0,728,730,5,12,0,0,729,731,5,63,0,0,730,729,1,0,0,0,730,731,1,0,0,0,731,
249
- 733,1,0,0,0,732,734,3,154,77,0,733,732,1,0,0,0,733,734,1,0,0,0,734,735,1,
250
- 0,0,0,735,736,5,13,0,0,736,139,1,0,0,0,737,738,5,12,0,0,738,739,3,72,36,
251
- 0,739,740,5,13,0,0,740,141,1,0,0,0,741,742,7,7,0,0,742,743,5,12,0,0,743,
252
- 744,3,150,75,0,744,745,5,13,0,0,745,143,1,0,0,0,746,748,5,16,0,0,747,749,
253
- 3,124,62,0,748,747,1,0,0,0,748,749,1,0,0,0,749,750,1,0,0,0,750,752,3,146,
254
- 73,0,751,753,3,68,34,0,752,751,1,0,0,0,752,753,1,0,0,0,753,754,1,0,0,0,754,
255
- 755,5,26,0,0,755,756,3,72,36,0,756,757,5,17,0,0,757,145,1,0,0,0,758,760,
256
- 3,120,60,0,759,761,3,110,55,0,760,759,1,0,0,0,761,762,1,0,0,0,762,760,1,
257
- 0,0,0,762,763,1,0,0,0,763,147,1,0,0,0,764,765,5,16,0,0,765,768,3,150,75,
258
- 0,766,767,5,26,0,0,767,769,3,72,36,0,768,766,1,0,0,0,768,769,1,0,0,0,769,
259
- 770,1,0,0,0,770,771,5,17,0,0,771,149,1,0,0,0,772,773,3,180,90,0,773,774,
260
- 5,65,0,0,774,776,3,72,36,0,775,777,3,68,34,0,776,775,1,0,0,0,776,777,1,0,
261
- 0,0,777,151,1,0,0,0,778,779,5,32,0,0,779,780,5,12,0,0,780,781,5,23,0,0,781,
262
- 782,5,13,0,0,782,153,1,0,0,0,783,788,3,72,36,0,784,785,5,11,0,0,785,787,
263
- 3,72,36,0,786,784,1,0,0,0,787,790,1,0,0,0,788,786,1,0,0,0,788,789,1,0,0,
264
- 0,789,155,1,0,0,0,790,788,1,0,0,0,791,793,5,79,0,0,792,794,3,72,36,0,793,
265
- 792,1,0,0,0,793,794,1,0,0,0,794,800,1,0,0,0,795,796,5,80,0,0,796,797,3,72,
266
- 36,0,797,798,5,81,0,0,798,799,3,72,36,0,799,801,1,0,0,0,800,795,1,0,0,0,
267
- 801,802,1,0,0,0,802,800,1,0,0,0,802,803,1,0,0,0,803,806,1,0,0,0,804,805,
268
- 5,82,0,0,805,807,3,72,36,0,806,804,1,0,0,0,806,807,1,0,0,0,807,808,1,0,0,
269
- 0,808,809,5,83,0,0,809,157,1,0,0,0,810,813,5,27,0,0,811,814,3,180,90,0,812,
270
- 814,3,166,83,0,813,811,1,0,0,0,813,812,1,0,0,0,814,159,1,0,0,0,815,823,3,
271
- 164,82,0,816,823,3,166,83,0,817,823,5,73,0,0,818,823,3,168,84,0,819,823,
272
- 3,170,85,0,820,823,3,172,86,0,821,823,3,174,87,0,822,815,1,0,0,0,822,816,
273
- 1,0,0,0,822,817,1,0,0,0,822,818,1,0,0,0,822,819,1,0,0,0,822,820,1,0,0,0,
274
- 822,821,1,0,0,0,823,161,1,0,0,0,824,826,5,23,0,0,825,827,3,166,83,0,826,
275
- 825,1,0,0,0,826,827,1,0,0,0,827,832,1,0,0,0,828,830,5,8,0,0,829,831,3,166,
276
- 83,0,830,829,1,0,0,0,830,831,1,0,0,0,831,833,1,0,0,0,832,828,1,0,0,0,832,
277
- 833,1,0,0,0,833,163,1,0,0,0,834,835,7,8,0,0,835,165,1,0,0,0,836,837,5,93,
278
- 0,0,837,167,1,0,0,0,838,839,5,92,0,0,839,169,1,0,0,0,840,841,5,91,0,0,841,
279
- 171,1,0,0,0,842,844,5,16,0,0,843,845,3,154,77,0,844,843,1,0,0,0,844,845,
280
- 1,0,0,0,845,846,1,0,0,0,846,847,5,17,0,0,847,173,1,0,0,0,848,857,5,14,0,
281
- 0,849,854,3,176,88,0,850,851,5,11,0,0,851,853,3,176,88,0,852,850,1,0,0,0,
282
- 853,856,1,0,0,0,854,852,1,0,0,0,854,855,1,0,0,0,855,858,1,0,0,0,856,854,
283
- 1,0,0,0,857,849,1,0,0,0,857,858,1,0,0,0,858,859,1,0,0,0,859,860,5,15,0,0,
284
- 860,175,1,0,0,0,861,862,3,178,89,0,862,863,5,25,0,0,863,864,3,72,36,0,864,
285
- 177,1,0,0,0,865,868,3,180,90,0,866,868,3,182,91,0,867,865,1,0,0,0,867,866,
286
- 1,0,0,0,868,179,1,0,0,0,869,870,7,9,0,0,870,181,1,0,0,0,871,872,7,10,0,0,
287
- 872,183,1,0,0,0,105,186,192,198,203,208,213,215,223,232,236,239,242,246,
288
- 252,258,262,271,277,284,287,289,294,300,306,311,324,331,334,345,352,359,
289
- 363,372,376,381,390,403,417,423,430,440,448,456,464,468,478,488,496,504,
290
- 508,516,518,525,529,532,535,545,549,555,562,568,575,577,584,586,622,628,
291
- 632,635,638,654,662,666,670,674,676,680,683,686,689,697,702,707,715,724,
292
- 730,733,748,752,762,768,776,788,793,802,806,813,822,826,830,832,844,854,
293
- 857,867];
19
+ 7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,
20
+ 92,2,93,7,93,1,0,1,0,3,0,191,8,0,1,0,1,0,1,1,1,1,3,1,197,8,1,1,2,1,2,5,2,
21
+ 201,8,2,10,2,12,2,204,9,2,1,3,1,3,3,3,208,8,3,1,4,1,4,1,4,3,4,213,8,4,1,
22
+ 4,1,4,1,4,3,4,218,8,4,3,4,220,8,4,1,5,1,5,1,5,1,6,1,6,1,6,3,6,228,8,6,1,
23
+ 7,1,7,1,7,1,8,1,8,1,8,1,9,3,9,237,8,9,1,9,1,9,3,9,241,8,9,1,9,3,9,244,8,
24
+ 9,1,9,3,9,247,8,9,1,10,1,10,3,10,251,8,10,1,10,1,10,5,10,255,8,10,10,10,
25
+ 12,10,258,9,10,1,11,1,11,1,11,3,11,263,8,11,1,12,1,12,3,12,267,8,12,1,13,
26
+ 1,13,1,13,1,13,1,13,5,13,274,8,13,10,13,12,13,277,9,13,1,14,5,14,280,8,14,
27
+ 10,14,12,14,283,9,14,1,14,1,14,4,14,287,8,14,11,14,12,14,288,1,14,3,14,292,
28
+ 8,14,3,14,294,8,14,1,15,5,15,297,8,15,10,15,12,15,300,9,15,1,15,1,15,5,15,
29
+ 304,8,15,10,15,12,15,307,9,15,1,15,4,15,310,8,15,11,15,12,15,311,1,15,1,
30
+ 15,1,16,3,16,317,8,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,
31
+ 1,18,3,18,330,8,18,1,19,1,19,1,19,1,19,1,19,3,19,337,8,19,1,20,3,20,340,
32
+ 8,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,5,21,349,8,21,10,21,12,21,352,9,
33
+ 21,1,22,1,22,1,22,1,22,3,22,358,8,22,1,23,1,23,1,23,1,23,1,23,3,23,365,8,
34
+ 23,1,24,1,24,3,24,369,8,24,1,24,1,24,1,25,1,25,1,25,5,25,376,8,25,10,25,
35
+ 12,25,379,9,25,1,25,3,25,382,8,25,1,26,1,26,1,26,3,26,387,8,26,1,26,1,26,
36
+ 1,27,1,27,1,27,5,27,394,8,27,10,27,12,27,397,9,27,1,28,1,28,1,28,1,28,1,
37
+ 29,1,29,1,29,1,29,5,29,407,8,29,10,29,12,29,410,9,29,1,30,1,30,1,30,1,30,
38
+ 1,30,1,30,1,30,1,30,1,30,1,30,1,30,3,30,423,8,30,1,31,1,31,4,31,427,8,31,
39
+ 11,31,12,31,428,1,32,1,32,1,32,1,33,1,33,3,33,436,8,33,1,34,1,34,1,34,1,
40
+ 35,1,35,1,35,5,35,444,8,35,10,35,12,35,447,9,35,1,36,1,36,1,36,5,36,452,
41
+ 8,36,10,36,12,36,455,9,36,1,37,1,37,1,37,5,37,460,8,37,10,37,12,37,463,9,
42
+ 37,1,38,1,38,1,38,5,38,468,8,38,10,38,12,38,471,9,38,1,39,5,39,474,8,39,
43
+ 10,39,12,39,477,9,39,1,39,1,39,1,40,1,40,1,40,1,40,5,40,485,8,40,10,40,12,
44
+ 40,488,9,40,1,41,1,41,1,42,1,42,1,42,1,42,3,42,496,8,42,1,43,1,43,1,43,1,
45
+ 44,1,44,1,44,5,44,504,8,44,10,44,12,44,507,9,44,1,45,1,45,1,45,5,45,512,
46
+ 8,45,10,45,12,45,515,9,45,1,46,1,46,1,46,5,46,520,8,46,10,46,12,46,523,9,
47
+ 46,1,47,3,47,526,8,47,1,47,1,47,1,48,1,48,5,48,532,8,48,10,48,12,48,535,
48
+ 9,48,1,49,1,49,3,49,539,8,49,1,49,1,49,3,49,543,8,49,1,49,3,49,546,8,49,
49
+ 1,49,1,49,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,3,51,558,8,51,1,52,1,52,
50
+ 3,52,562,8,52,1,52,1,52,1,53,1,53,3,53,568,8,53,1,54,1,54,1,54,5,54,573,
51
+ 8,54,10,54,12,54,576,9,54,1,55,1,55,1,55,3,55,581,8,55,1,55,1,55,1,56,1,
52
+ 56,1,56,5,56,588,8,56,10,56,12,56,591,9,56,1,56,1,56,1,56,1,56,3,56,597,
53
+ 8,56,3,56,599,8,56,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,
54
+ 1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,
55
+ 59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,1,59,3,59,635,8,59,1,60,1,60,1,61,
56
+ 1,61,3,61,641,8,61,1,62,1,62,3,62,645,8,62,1,62,3,62,648,8,62,1,62,3,62,
57
+ 651,8,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,63,
58
+ 1,63,3,63,667,8,63,1,64,1,64,1,64,1,65,1,65,1,65,3,65,675,8,65,1,65,1,65,
59
+ 3,65,679,8,65,1,65,1,65,3,65,683,8,65,1,65,1,65,3,65,687,8,65,3,65,689,8,
60
+ 65,1,66,1,66,3,66,693,8,66,1,66,3,66,696,8,66,1,66,3,66,699,8,66,1,66,3,
61
+ 66,702,8,66,1,66,1,66,1,67,1,67,1,67,1,67,3,67,710,8,67,1,67,5,67,713,8,
62
+ 67,10,67,12,67,716,9,67,1,68,1,68,3,68,720,8,68,1,68,1,68,1,69,1,69,1,69,
63
+ 1,69,3,69,728,8,69,1,69,1,69,1,70,1,70,1,70,5,70,735,8,70,10,70,12,70,738,
64
+ 9,70,1,71,1,71,1,71,3,71,743,8,71,1,71,3,71,746,8,71,1,71,1,71,1,72,1,72,
65
+ 1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,74,1,74,3,74,761,8,74,1,74,1,74,3,74,
66
+ 765,8,74,1,74,1,74,1,74,1,74,1,75,1,75,4,75,773,8,75,11,75,12,75,774,1,76,
67
+ 1,76,1,76,1,76,3,76,781,8,76,1,76,1,76,1,77,1,77,1,77,1,77,3,77,789,8,77,
68
+ 1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,5,79,799,8,79,10,79,12,79,802,9,
69
+ 79,1,80,1,80,3,80,806,8,80,1,80,1,80,1,80,1,80,1,80,4,80,813,8,80,11,80,
70
+ 12,80,814,1,80,1,80,3,80,819,8,80,1,80,1,80,1,81,1,81,1,81,3,81,826,8,81,
71
+ 1,82,1,82,1,82,1,82,1,82,1,82,1,82,3,82,835,8,82,1,83,1,83,3,83,839,8,83,
72
+ 1,83,1,83,3,83,843,8,83,3,83,845,8,83,1,84,1,84,1,85,1,85,1,86,1,86,1,87,
73
+ 1,87,1,88,1,88,3,88,857,8,88,1,88,1,88,1,89,1,89,1,89,1,89,5,89,865,8,89,
74
+ 10,89,12,89,868,9,89,3,89,870,8,89,1,89,1,89,1,90,1,90,1,90,1,90,1,91,1,
75
+ 91,3,91,880,8,91,1,92,1,92,1,93,1,93,1,93,0,0,94,0,2,4,6,8,10,12,14,16,18,
76
+ 20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,
77
+ 68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,
78
+ 112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,
79
+ 148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,
80
+ 184,186,0,11,2,0,37,38,42,43,2,0,40,40,47,47,1,0,1,2,2,0,1,1,3,7,1,0,18,
81
+ 19,2,0,20,21,23,23,2,0,89,89,93,93,1,0,33,36,1,0,71,72,3,0,30,35,83,83,89,
82
+ 90,2,0,36,82,84,88,924,0,188,1,0,0,0,2,196,1,0,0,0,4,198,1,0,0,0,6,207,1,
83
+ 0,0,0,8,209,1,0,0,0,10,221,1,0,0,0,12,224,1,0,0,0,14,229,1,0,0,0,16,232,
84
+ 1,0,0,0,18,236,1,0,0,0,20,250,1,0,0,0,22,259,1,0,0,0,24,264,1,0,0,0,26,268,
85
+ 1,0,0,0,28,281,1,0,0,0,30,298,1,0,0,0,32,316,1,0,0,0,34,321,1,0,0,0,36,329,
86
+ 1,0,0,0,38,336,1,0,0,0,40,339,1,0,0,0,42,344,1,0,0,0,44,357,1,0,0,0,46,359,
87
+ 1,0,0,0,48,366,1,0,0,0,50,372,1,0,0,0,52,386,1,0,0,0,54,390,1,0,0,0,56,398,
88
+ 1,0,0,0,58,402,1,0,0,0,60,422,1,0,0,0,62,426,1,0,0,0,64,430,1,0,0,0,66,433,
89
+ 1,0,0,0,68,437,1,0,0,0,70,440,1,0,0,0,72,448,1,0,0,0,74,456,1,0,0,0,76,464,
90
+ 1,0,0,0,78,475,1,0,0,0,80,480,1,0,0,0,82,489,1,0,0,0,84,491,1,0,0,0,86,497,
91
+ 1,0,0,0,88,500,1,0,0,0,90,508,1,0,0,0,92,516,1,0,0,0,94,525,1,0,0,0,96,529,
92
+ 1,0,0,0,98,536,1,0,0,0,100,549,1,0,0,0,102,557,1,0,0,0,104,559,1,0,0,0,106,
93
+ 565,1,0,0,0,108,569,1,0,0,0,110,580,1,0,0,0,112,598,1,0,0,0,114,600,1,0,
94
+ 0,0,116,603,1,0,0,0,118,634,1,0,0,0,120,636,1,0,0,0,122,640,1,0,0,0,124,
95
+ 642,1,0,0,0,126,666,1,0,0,0,128,668,1,0,0,0,130,688,1,0,0,0,132,690,1,0,
96
+ 0,0,134,705,1,0,0,0,136,717,1,0,0,0,138,723,1,0,0,0,140,731,1,0,0,0,142,
97
+ 739,1,0,0,0,144,749,1,0,0,0,146,753,1,0,0,0,148,758,1,0,0,0,150,770,1,0,
98
+ 0,0,152,776,1,0,0,0,154,784,1,0,0,0,156,790,1,0,0,0,158,795,1,0,0,0,160,
99
+ 803,1,0,0,0,162,822,1,0,0,0,164,834,1,0,0,0,166,836,1,0,0,0,168,846,1,0,
100
+ 0,0,170,848,1,0,0,0,172,850,1,0,0,0,174,852,1,0,0,0,176,854,1,0,0,0,178,
101
+ 860,1,0,0,0,180,873,1,0,0,0,182,879,1,0,0,0,184,881,1,0,0,0,186,883,1,0,
102
+ 0,0,188,190,3,2,1,0,189,191,5,9,0,0,190,189,1,0,0,0,190,191,1,0,0,0,191,
103
+ 192,1,0,0,0,192,193,5,0,0,1,193,1,1,0,0,0,194,197,3,4,2,0,195,197,3,8,4,
104
+ 0,196,194,1,0,0,0,196,195,1,0,0,0,197,3,1,0,0,0,198,202,3,6,3,0,199,201,
105
+ 3,136,68,0,200,199,1,0,0,0,201,204,1,0,0,0,202,200,1,0,0,0,202,203,1,0,0,
106
+ 0,203,5,1,0,0,0,204,202,1,0,0,0,205,208,3,28,14,0,206,208,3,30,15,0,207,
107
+ 205,1,0,0,0,207,206,1,0,0,0,208,7,1,0,0,0,209,210,5,28,0,0,210,212,3,140,
108
+ 70,0,211,213,3,48,24,0,212,211,1,0,0,0,212,213,1,0,0,0,213,219,1,0,0,0,214,
109
+ 217,5,29,0,0,215,218,5,23,0,0,216,218,3,50,25,0,217,215,1,0,0,0,217,216,
110
+ 1,0,0,0,218,220,1,0,0,0,219,214,1,0,0,0,219,220,1,0,0,0,220,9,1,0,0,0,221,
111
+ 222,5,53,0,0,222,223,3,18,9,0,223,11,1,0,0,0,224,225,5,57,0,0,225,227,3,
112
+ 18,9,0,226,228,3,68,34,0,227,226,1,0,0,0,227,228,1,0,0,0,228,13,1,0,0,0,
113
+ 229,230,5,55,0,0,230,231,3,72,36,0,231,15,1,0,0,0,232,233,5,46,0,0,233,234,
114
+ 3,72,36,0,234,17,1,0,0,0,235,237,5,63,0,0,236,235,1,0,0,0,236,237,1,0,0,
115
+ 0,237,238,1,0,0,0,238,240,3,20,10,0,239,241,3,26,13,0,240,239,1,0,0,0,240,
116
+ 241,1,0,0,0,241,243,1,0,0,0,242,244,3,14,7,0,243,242,1,0,0,0,243,244,1,0,
117
+ 0,0,244,246,1,0,0,0,245,247,3,16,8,0,246,245,1,0,0,0,246,247,1,0,0,0,247,
118
+ 19,1,0,0,0,248,251,5,23,0,0,249,251,3,22,11,0,250,248,1,0,0,0,250,249,1,
119
+ 0,0,0,251,256,1,0,0,0,252,253,5,11,0,0,253,255,3,22,11,0,254,252,1,0,0,0,
120
+ 255,258,1,0,0,0,256,254,1,0,0,0,256,257,1,0,0,0,257,21,1,0,0,0,258,256,1,
121
+ 0,0,0,259,262,3,72,36,0,260,261,5,61,0,0,261,263,3,184,92,0,262,260,1,0,
122
+ 0,0,262,263,1,0,0,0,263,23,1,0,0,0,264,266,3,72,36,0,265,267,7,0,0,0,266,
123
+ 265,1,0,0,0,266,267,1,0,0,0,267,25,1,0,0,0,268,269,5,51,0,0,269,270,5,39,
124
+ 0,0,270,275,3,24,12,0,271,272,5,11,0,0,272,274,3,24,12,0,273,271,1,0,0,0,
125
+ 274,277,1,0,0,0,275,273,1,0,0,0,275,276,1,0,0,0,276,27,1,0,0,0,277,275,1,
126
+ 0,0,0,278,280,3,36,18,0,279,278,1,0,0,0,280,283,1,0,0,0,281,279,1,0,0,0,
127
+ 281,282,1,0,0,0,282,293,1,0,0,0,283,281,1,0,0,0,284,294,3,10,5,0,285,287,
128
+ 3,38,19,0,286,285,1,0,0,0,287,288,1,0,0,0,288,286,1,0,0,0,288,289,1,0,0,
129
+ 0,289,291,1,0,0,0,290,292,3,10,5,0,291,290,1,0,0,0,291,292,1,0,0,0,292,294,
130
+ 1,0,0,0,293,284,1,0,0,0,293,286,1,0,0,0,294,29,1,0,0,0,295,297,3,36,18,0,
131
+ 296,295,1,0,0,0,297,300,1,0,0,0,298,296,1,0,0,0,298,299,1,0,0,0,299,309,
132
+ 1,0,0,0,300,298,1,0,0,0,301,304,3,36,18,0,302,304,3,38,19,0,303,301,1,0,
133
+ 0,0,303,302,1,0,0,0,304,307,1,0,0,0,305,303,1,0,0,0,305,306,1,0,0,0,306,
134
+ 308,1,0,0,0,307,305,1,0,0,0,308,310,3,12,6,0,309,305,1,0,0,0,310,311,1,0,
135
+ 0,0,311,309,1,0,0,0,311,312,1,0,0,0,312,313,1,0,0,0,313,314,3,28,14,0,314,
136
+ 31,1,0,0,0,315,317,5,50,0,0,316,315,1,0,0,0,316,317,1,0,0,0,317,318,1,0,
137
+ 0,0,318,319,5,47,0,0,319,320,3,66,33,0,320,33,1,0,0,0,321,322,5,59,0,0,322,
138
+ 323,3,72,36,0,323,324,5,61,0,0,324,325,3,184,92,0,325,35,1,0,0,0,326,330,
139
+ 3,32,16,0,327,330,3,34,17,0,328,330,3,46,23,0,329,326,1,0,0,0,329,327,1,
140
+ 0,0,0,329,328,1,0,0,0,330,37,1,0,0,0,331,337,3,64,32,0,332,337,3,54,27,0,
141
+ 333,337,3,40,20,0,334,337,3,58,29,0,335,337,3,42,21,0,336,331,1,0,0,0,336,
142
+ 332,1,0,0,0,336,333,1,0,0,0,336,334,1,0,0,0,336,335,1,0,0,0,337,39,1,0,0,
143
+ 0,338,340,5,44,0,0,339,338,1,0,0,0,339,340,1,0,0,0,340,341,1,0,0,0,341,342,
144
+ 5,41,0,0,342,343,3,158,79,0,343,41,1,0,0,0,344,345,5,52,0,0,345,350,3,44,
145
+ 22,0,346,347,5,11,0,0,347,349,3,44,22,0,348,346,1,0,0,0,349,352,1,0,0,0,
146
+ 350,348,1,0,0,0,350,351,1,0,0,0,351,43,1,0,0,0,352,350,1,0,0,0,353,354,3,
147
+ 184,92,0,354,355,3,62,31,0,355,358,1,0,0,0,356,358,3,108,54,0,357,353,1,
148
+ 0,0,0,357,356,1,0,0,0,358,45,1,0,0,0,359,360,5,28,0,0,360,361,3,140,70,0,
149
+ 361,364,3,48,24,0,362,363,5,29,0,0,363,365,3,50,25,0,364,362,1,0,0,0,364,
150
+ 365,1,0,0,0,365,47,1,0,0,0,366,368,5,12,0,0,367,369,3,158,79,0,368,367,1,
151
+ 0,0,0,368,369,1,0,0,0,369,370,1,0,0,0,370,371,5,13,0,0,371,49,1,0,0,0,372,
152
+ 377,3,52,26,0,373,374,5,11,0,0,374,376,3,52,26,0,375,373,1,0,0,0,376,379,
153
+ 1,0,0,0,377,375,1,0,0,0,377,378,1,0,0,0,378,381,1,0,0,0,379,377,1,0,0,0,
154
+ 380,382,3,68,34,0,381,380,1,0,0,0,381,382,1,0,0,0,382,51,1,0,0,0,383,384,
155
+ 3,184,92,0,384,385,5,61,0,0,385,387,1,0,0,0,386,383,1,0,0,0,386,387,1,0,
156
+ 0,0,387,388,1,0,0,0,388,389,3,184,92,0,389,53,1,0,0,0,390,391,5,48,0,0,391,
157
+ 395,3,110,55,0,392,394,3,56,28,0,393,392,1,0,0,0,394,397,1,0,0,0,395,393,
158
+ 1,0,0,0,395,396,1,0,0,0,396,55,1,0,0,0,397,395,1,0,0,0,398,399,5,49,0,0,
159
+ 399,400,7,1,0,0,400,401,3,58,29,0,401,57,1,0,0,0,402,403,5,54,0,0,403,408,
160
+ 3,60,30,0,404,405,5,11,0,0,405,407,3,60,30,0,406,404,1,0,0,0,407,410,1,0,
161
+ 0,0,408,406,1,0,0,0,408,409,1,0,0,0,409,59,1,0,0,0,410,408,1,0,0,0,411,412,
162
+ 3,108,54,0,412,413,5,1,0,0,413,414,3,72,36,0,414,423,1,0,0,0,415,416,3,184,
163
+ 92,0,416,417,7,2,0,0,417,418,3,72,36,0,418,423,1,0,0,0,419,420,3,184,92,
164
+ 0,420,421,3,62,31,0,421,423,1,0,0,0,422,411,1,0,0,0,422,415,1,0,0,0,422,
165
+ 419,1,0,0,0,423,61,1,0,0,0,424,425,5,25,0,0,425,427,3,182,91,0,426,424,1,
166
+ 0,0,0,427,428,1,0,0,0,428,426,1,0,0,0,428,429,1,0,0,0,429,63,1,0,0,0,430,
167
+ 431,5,40,0,0,431,432,3,70,35,0,432,65,1,0,0,0,433,435,3,70,35,0,434,436,
168
+ 3,68,34,0,435,434,1,0,0,0,435,436,1,0,0,0,436,67,1,0,0,0,437,438,5,56,0,
169
+ 0,438,439,3,72,36,0,439,69,1,0,0,0,440,445,3,110,55,0,441,442,5,11,0,0,442,
170
+ 444,3,110,55,0,443,441,1,0,0,0,444,447,1,0,0,0,445,443,1,0,0,0,445,446,1,
171
+ 0,0,0,446,71,1,0,0,0,447,445,1,0,0,0,448,453,3,74,37,0,449,450,5,68,0,0,
172
+ 450,452,3,74,37,0,451,449,1,0,0,0,452,455,1,0,0,0,453,451,1,0,0,0,453,454,
173
+ 1,0,0,0,454,73,1,0,0,0,455,453,1,0,0,0,456,461,3,76,38,0,457,458,5,70,0,
174
+ 0,458,460,3,76,38,0,459,457,1,0,0,0,460,463,1,0,0,0,461,459,1,0,0,0,461,
175
+ 462,1,0,0,0,462,75,1,0,0,0,463,461,1,0,0,0,464,469,3,78,39,0,465,466,5,60,
176
+ 0,0,466,468,3,78,39,0,467,465,1,0,0,0,468,471,1,0,0,0,469,467,1,0,0,0,469,
177
+ 470,1,0,0,0,470,77,1,0,0,0,471,469,1,0,0,0,472,474,5,67,0,0,473,472,1,0,
178
+ 0,0,474,477,1,0,0,0,475,473,1,0,0,0,475,476,1,0,0,0,476,478,1,0,0,0,477,
179
+ 475,1,0,0,0,478,479,3,80,40,0,479,79,1,0,0,0,480,486,3,84,42,0,481,482,3,
180
+ 82,41,0,482,483,3,84,42,0,483,485,1,0,0,0,484,481,1,0,0,0,485,488,1,0,0,
181
+ 0,486,484,1,0,0,0,486,487,1,0,0,0,487,81,1,0,0,0,488,486,1,0,0,0,489,490,
182
+ 7,3,0,0,490,83,1,0,0,0,491,495,3,88,44,0,492,496,3,100,50,0,493,496,3,86,
183
+ 43,0,494,496,3,104,52,0,495,492,1,0,0,0,495,493,1,0,0,0,495,494,1,0,0,0,
184
+ 495,496,1,0,0,0,496,85,1,0,0,0,497,498,5,65,0,0,498,499,3,88,44,0,499,87,
185
+ 1,0,0,0,500,505,3,90,45,0,501,502,7,4,0,0,502,504,3,90,45,0,503,501,1,0,
186
+ 0,0,504,507,1,0,0,0,505,503,1,0,0,0,505,506,1,0,0,0,506,89,1,0,0,0,507,505,
187
+ 1,0,0,0,508,513,3,92,46,0,509,510,7,5,0,0,510,512,3,92,46,0,511,509,1,0,
188
+ 0,0,512,515,1,0,0,0,513,511,1,0,0,0,513,514,1,0,0,0,514,91,1,0,0,0,515,513,
189
+ 1,0,0,0,516,521,3,94,47,0,517,518,5,22,0,0,518,520,3,94,47,0,519,517,1,0,
190
+ 0,0,520,523,1,0,0,0,521,519,1,0,0,0,521,522,1,0,0,0,522,93,1,0,0,0,523,521,
191
+ 1,0,0,0,524,526,7,4,0,0,525,524,1,0,0,0,525,526,1,0,0,0,526,527,1,0,0,0,
192
+ 527,528,3,96,48,0,528,95,1,0,0,0,529,533,3,106,53,0,530,532,3,98,49,0,531,
193
+ 530,1,0,0,0,532,535,1,0,0,0,533,531,1,0,0,0,533,534,1,0,0,0,534,97,1,0,0,
194
+ 0,535,533,1,0,0,0,536,545,5,16,0,0,537,539,3,72,36,0,538,537,1,0,0,0,538,
195
+ 539,1,0,0,0,539,540,1,0,0,0,540,542,5,8,0,0,541,543,3,72,36,0,542,541,1,
196
+ 0,0,0,542,543,1,0,0,0,543,546,1,0,0,0,544,546,3,72,36,0,545,538,1,0,0,0,
197
+ 545,544,1,0,0,0,546,547,1,0,0,0,547,548,5,17,0,0,548,99,1,0,0,0,549,550,
198
+ 3,102,51,0,550,551,3,88,44,0,551,101,1,0,0,0,552,553,5,69,0,0,553,558,5,
199
+ 57,0,0,554,555,5,64,0,0,555,558,5,57,0,0,556,558,5,62,0,0,557,552,1,0,0,
200
+ 0,557,554,1,0,0,0,557,556,1,0,0,0,558,103,1,0,0,0,559,561,5,66,0,0,560,562,
201
+ 5,67,0,0,561,560,1,0,0,0,561,562,1,0,0,0,562,563,1,0,0,0,563,564,5,73,0,
202
+ 0,564,105,1,0,0,0,565,567,3,108,54,0,566,568,3,62,31,0,567,566,1,0,0,0,567,
203
+ 568,1,0,0,0,568,107,1,0,0,0,569,574,3,126,63,0,570,571,5,10,0,0,571,573,
204
+ 3,182,91,0,572,570,1,0,0,0,573,576,1,0,0,0,574,572,1,0,0,0,574,575,1,0,0,
205
+ 0,575,109,1,0,0,0,576,574,1,0,0,0,577,578,3,184,92,0,578,579,5,1,0,0,579,
206
+ 581,1,0,0,0,580,577,1,0,0,0,580,581,1,0,0,0,581,582,1,0,0,0,582,583,3,112,
207
+ 56,0,583,111,1,0,0,0,584,589,3,124,62,0,585,588,3,114,57,0,586,588,3,116,
208
+ 58,0,587,585,1,0,0,0,587,586,1,0,0,0,588,591,1,0,0,0,589,587,1,0,0,0,589,
209
+ 590,1,0,0,0,590,599,1,0,0,0,591,589,1,0,0,0,592,593,5,12,0,0,593,594,3,112,
210
+ 56,0,594,596,5,13,0,0,595,597,3,118,59,0,596,595,1,0,0,0,596,597,1,0,0,0,
211
+ 597,599,1,0,0,0,598,584,1,0,0,0,598,592,1,0,0,0,599,113,1,0,0,0,600,601,
212
+ 3,130,65,0,601,602,3,124,62,0,602,115,1,0,0,0,603,604,5,12,0,0,604,605,3,
213
+ 112,56,0,605,606,5,13,0,0,606,607,3,118,59,0,607,608,3,124,62,0,608,117,
214
+ 1,0,0,0,609,610,5,14,0,0,610,611,3,120,60,0,611,612,5,11,0,0,612,613,3,120,
215
+ 60,0,613,614,5,15,0,0,614,635,1,0,0,0,615,616,5,14,0,0,616,617,3,120,60,
216
+ 0,617,618,5,15,0,0,618,635,1,0,0,0,619,620,5,14,0,0,620,621,3,120,60,0,621,
217
+ 622,5,11,0,0,622,623,5,15,0,0,623,635,1,0,0,0,624,625,5,14,0,0,625,626,5,
218
+ 11,0,0,626,627,3,120,60,0,627,628,5,15,0,0,628,635,1,0,0,0,629,630,5,14,
219
+ 0,0,630,631,5,11,0,0,631,635,5,15,0,0,632,635,5,19,0,0,633,635,5,23,0,0,
220
+ 634,609,1,0,0,0,634,615,1,0,0,0,634,619,1,0,0,0,634,624,1,0,0,0,634,629,
221
+ 1,0,0,0,634,632,1,0,0,0,634,633,1,0,0,0,635,119,1,0,0,0,636,637,7,6,0,0,
222
+ 637,121,1,0,0,0,638,641,3,178,89,0,639,641,3,162,81,0,640,638,1,0,0,0,640,
223
+ 639,1,0,0,0,641,123,1,0,0,0,642,644,5,12,0,0,643,645,3,184,92,0,644,643,
224
+ 1,0,0,0,644,645,1,0,0,0,645,647,1,0,0,0,646,648,3,62,31,0,647,646,1,0,0,
225
+ 0,647,648,1,0,0,0,648,650,1,0,0,0,649,651,3,122,61,0,650,649,1,0,0,0,650,
226
+ 651,1,0,0,0,651,652,1,0,0,0,652,653,5,13,0,0,653,125,1,0,0,0,654,667,3,152,
227
+ 76,0,655,667,3,164,82,0,656,667,3,162,81,0,657,667,3,160,80,0,658,667,3,
228
+ 156,78,0,659,667,3,148,74,0,660,667,3,146,73,0,661,667,3,150,75,0,662,667,
229
+ 3,144,72,0,663,667,3,142,71,0,664,667,3,184,92,0,665,667,3,138,69,0,666,
230
+ 654,1,0,0,0,666,655,1,0,0,0,666,656,1,0,0,0,666,657,1,0,0,0,666,658,1,0,
231
+ 0,0,666,659,1,0,0,0,666,660,1,0,0,0,666,661,1,0,0,0,666,662,1,0,0,0,666,
232
+ 663,1,0,0,0,666,664,1,0,0,0,666,665,1,0,0,0,667,127,1,0,0,0,668,669,3,184,
233
+ 92,0,669,670,5,1,0,0,670,129,1,0,0,0,671,672,5,6,0,0,672,674,5,18,0,0,673,
234
+ 675,3,132,66,0,674,673,1,0,0,0,674,675,1,0,0,0,675,676,1,0,0,0,676,678,5,
235
+ 18,0,0,677,679,5,5,0,0,678,677,1,0,0,0,678,679,1,0,0,0,679,689,1,0,0,0,680,
236
+ 682,5,18,0,0,681,683,3,132,66,0,682,681,1,0,0,0,682,683,1,0,0,0,683,684,
237
+ 1,0,0,0,684,686,5,18,0,0,685,687,5,5,0,0,686,685,1,0,0,0,686,687,1,0,0,0,
238
+ 687,689,1,0,0,0,688,671,1,0,0,0,688,680,1,0,0,0,689,131,1,0,0,0,690,692,
239
+ 5,16,0,0,691,693,3,184,92,0,692,691,1,0,0,0,692,693,1,0,0,0,693,695,1,0,
240
+ 0,0,694,696,3,134,67,0,695,694,1,0,0,0,695,696,1,0,0,0,696,698,1,0,0,0,697,
241
+ 699,3,166,83,0,698,697,1,0,0,0,698,699,1,0,0,0,699,701,1,0,0,0,700,702,3,
242
+ 122,61,0,701,700,1,0,0,0,701,702,1,0,0,0,702,703,1,0,0,0,703,704,5,17,0,
243
+ 0,704,133,1,0,0,0,705,706,5,25,0,0,706,714,3,182,91,0,707,709,5,26,0,0,708,
244
+ 710,5,25,0,0,709,708,1,0,0,0,709,710,1,0,0,0,710,711,1,0,0,0,711,713,3,182,
245
+ 91,0,712,707,1,0,0,0,713,716,1,0,0,0,714,712,1,0,0,0,714,715,1,0,0,0,715,
246
+ 135,1,0,0,0,716,714,1,0,0,0,717,719,5,58,0,0,718,720,5,36,0,0,719,718,1,
247
+ 0,0,0,719,720,1,0,0,0,720,721,1,0,0,0,721,722,3,6,3,0,722,137,1,0,0,0,723,
248
+ 724,5,45,0,0,724,727,5,14,0,0,725,728,3,4,2,0,726,728,3,66,33,0,727,725,
249
+ 1,0,0,0,727,726,1,0,0,0,728,729,1,0,0,0,729,730,5,15,0,0,730,139,1,0,0,0,
250
+ 731,736,3,184,92,0,732,733,5,10,0,0,733,735,3,184,92,0,734,732,1,0,0,0,735,
251
+ 738,1,0,0,0,736,734,1,0,0,0,736,737,1,0,0,0,737,141,1,0,0,0,738,736,1,0,
252
+ 0,0,739,740,3,140,70,0,740,742,5,12,0,0,741,743,5,63,0,0,742,741,1,0,0,0,
253
+ 742,743,1,0,0,0,743,745,1,0,0,0,744,746,3,158,79,0,745,744,1,0,0,0,745,746,
254
+ 1,0,0,0,746,747,1,0,0,0,747,748,5,13,0,0,748,143,1,0,0,0,749,750,5,12,0,
255
+ 0,750,751,3,72,36,0,751,752,5,13,0,0,752,145,1,0,0,0,753,754,7,7,0,0,754,
256
+ 755,5,12,0,0,755,756,3,154,77,0,756,757,5,13,0,0,757,147,1,0,0,0,758,760,
257
+ 5,16,0,0,759,761,3,128,64,0,760,759,1,0,0,0,760,761,1,0,0,0,761,762,1,0,
258
+ 0,0,762,764,3,150,75,0,763,765,3,68,34,0,764,763,1,0,0,0,764,765,1,0,0,0,
259
+ 765,766,1,0,0,0,766,767,5,26,0,0,767,768,3,72,36,0,768,769,5,17,0,0,769,
260
+ 149,1,0,0,0,770,772,3,124,62,0,771,773,3,114,57,0,772,771,1,0,0,0,773,774,
261
+ 1,0,0,0,774,772,1,0,0,0,774,775,1,0,0,0,775,151,1,0,0,0,776,777,5,16,0,0,
262
+ 777,780,3,154,77,0,778,779,5,26,0,0,779,781,3,72,36,0,780,778,1,0,0,0,780,
263
+ 781,1,0,0,0,781,782,1,0,0,0,782,783,5,17,0,0,783,153,1,0,0,0,784,785,3,184,
264
+ 92,0,785,786,5,65,0,0,786,788,3,72,36,0,787,789,3,68,34,0,788,787,1,0,0,
265
+ 0,788,789,1,0,0,0,789,155,1,0,0,0,790,791,5,32,0,0,791,792,5,12,0,0,792,
266
+ 793,5,23,0,0,793,794,5,13,0,0,794,157,1,0,0,0,795,800,3,72,36,0,796,797,
267
+ 5,11,0,0,797,799,3,72,36,0,798,796,1,0,0,0,799,802,1,0,0,0,800,798,1,0,0,
268
+ 0,800,801,1,0,0,0,801,159,1,0,0,0,802,800,1,0,0,0,803,805,5,79,0,0,804,806,
269
+ 3,72,36,0,805,804,1,0,0,0,805,806,1,0,0,0,806,812,1,0,0,0,807,808,5,80,0,
270
+ 0,808,809,3,72,36,0,809,810,5,81,0,0,810,811,3,72,36,0,811,813,1,0,0,0,812,
271
+ 807,1,0,0,0,813,814,1,0,0,0,814,812,1,0,0,0,814,815,1,0,0,0,815,818,1,0,
272
+ 0,0,816,817,5,82,0,0,817,819,3,72,36,0,818,816,1,0,0,0,818,819,1,0,0,0,819,
273
+ 820,1,0,0,0,820,821,5,83,0,0,821,161,1,0,0,0,822,825,5,27,0,0,823,826,3,
274
+ 184,92,0,824,826,3,170,85,0,825,823,1,0,0,0,825,824,1,0,0,0,826,163,1,0,
275
+ 0,0,827,835,3,168,84,0,828,835,3,170,85,0,829,835,5,73,0,0,830,835,3,172,
276
+ 86,0,831,835,3,174,87,0,832,835,3,176,88,0,833,835,3,178,89,0,834,827,1,
277
+ 0,0,0,834,828,1,0,0,0,834,829,1,0,0,0,834,830,1,0,0,0,834,831,1,0,0,0,834,
278
+ 832,1,0,0,0,834,833,1,0,0,0,835,165,1,0,0,0,836,838,5,23,0,0,837,839,3,170,
279
+ 85,0,838,837,1,0,0,0,838,839,1,0,0,0,839,844,1,0,0,0,840,842,5,8,0,0,841,
280
+ 843,3,170,85,0,842,841,1,0,0,0,842,843,1,0,0,0,843,845,1,0,0,0,844,840,1,
281
+ 0,0,0,844,845,1,0,0,0,845,167,1,0,0,0,846,847,7,8,0,0,847,169,1,0,0,0,848,
282
+ 849,5,93,0,0,849,171,1,0,0,0,850,851,5,92,0,0,851,173,1,0,0,0,852,853,5,
283
+ 91,0,0,853,175,1,0,0,0,854,856,5,16,0,0,855,857,3,158,79,0,856,855,1,0,0,
284
+ 0,856,857,1,0,0,0,857,858,1,0,0,0,858,859,5,17,0,0,859,177,1,0,0,0,860,869,
285
+ 5,14,0,0,861,866,3,180,90,0,862,863,5,11,0,0,863,865,3,180,90,0,864,862,
286
+ 1,0,0,0,865,868,1,0,0,0,866,864,1,0,0,0,866,867,1,0,0,0,867,870,1,0,0,0,
287
+ 868,866,1,0,0,0,869,861,1,0,0,0,869,870,1,0,0,0,870,871,1,0,0,0,871,872,
288
+ 5,15,0,0,872,179,1,0,0,0,873,874,3,182,91,0,874,875,5,25,0,0,875,876,3,72,
289
+ 36,0,876,181,1,0,0,0,877,880,3,184,92,0,878,880,3,186,93,0,879,877,1,0,0,
290
+ 0,879,878,1,0,0,0,880,183,1,0,0,0,881,882,7,9,0,0,882,185,1,0,0,0,883,884,
291
+ 7,10,0,0,884,187,1,0,0,0,105,190,196,202,207,212,217,219,227,236,240,243,
292
+ 246,250,256,262,266,275,281,288,291,293,298,303,305,311,316,329,336,339,
293
+ 350,357,364,368,377,381,386,395,408,422,428,435,445,453,461,469,475,486,
294
+ 495,505,513,521,525,533,538,542,545,557,561,567,574,580,587,589,596,598,
295
+ 634,640,644,647,650,666,674,678,682,686,688,692,695,698,701,709,714,719,
296
+ 727,736,742,745,760,764,774,780,788,800,805,814,818,825,834,838,842,844,
297
+ 856,866,869,879];
294
298
 
295
299
 
296
300
  const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
@@ -338,7 +342,7 @@ export default class CypherParser extends antlr4.Parser {
338
342
  "THEN", "ELSE", "END", "MANDATORY", "SCALAR",
339
343
  "OF", "ADD", "DROP", "ID", "ESC_LITERAL", "CHAR_LITERAL",
340
344
  "STRING_LITERAL", "DIGIT", "FLOAT", "WS", "COMMENT",
341
- "LINE_COMMENT", "ERRCHAR", "Letter" ];
345
+ "LINE_COMMENT", "Letter" ];
342
346
  static ruleNames = [ "script", "query", "regularQuery", "singleQuery",
343
347
  "standaloneCall", "returnSt", "withSt", "skipSt",
344
348
  "limitSt", "projectionBody", "projectionItems",
@@ -350,7 +354,8 @@ export default class CypherParser extends antlr4.Parser {
350
354
  "setItem", "nodeLabels", "createSt", "patternWhere",
351
355
  "where", "pattern", "expression", "xorExpression",
352
356
  "andExpression", "notExpression", "comparisonExpression",
353
- "comparisonSigns", "addSubExpression", "multDivExpression",
357
+ "comparisonSigns", "stringListNullExpression",
358
+ "inExpression", "addSubExpression", "multDivExpression",
354
359
  "powerExpression", "unaryAddSubExpression", "atomicExpression",
355
360
  "listExpression", "stringExpression", "stringExpPrefix",
356
361
  "nullExpression", "propertyOrLabelExpression",
@@ -383,17 +388,17 @@ export default class CypherParser extends antlr4.Parser {
383
388
  var _la = 0;
384
389
  try {
385
390
  this.enterOuterAlt(localctx, 1);
386
- this.state = 184;
391
+ this.state = 188;
387
392
  this.query();
388
- this.state = 186;
393
+ this.state = 190;
389
394
  this._errHandler.sync(this);
390
395
  _la = this._input.LA(1);
391
396
  if(_la===9) {
392
- this.state = 185;
397
+ this.state = 189;
393
398
  this.match(CypherParser.SEMI);
394
399
  }
395
400
 
396
- this.state = 188;
401
+ this.state = 192;
397
402
  this.match(CypherParser.EOF);
398
403
  } catch (re) {
399
404
  if(re instanceof antlr4.error.RecognitionException) {
@@ -415,19 +420,19 @@ export default class CypherParser extends antlr4.Parser {
415
420
  let localctx = new QueryContext(this, this._ctx, this.state);
416
421
  this.enterRule(localctx, 2, CypherParser.RULE_query);
417
422
  try {
418
- this.state = 192;
423
+ this.state = 196;
419
424
  this._errHandler.sync(this);
420
425
  var la_ = this._interp.adaptivePredict(this._input,1,this._ctx);
421
426
  switch(la_) {
422
427
  case 1:
423
428
  this.enterOuterAlt(localctx, 1);
424
- this.state = 190;
429
+ this.state = 194;
425
430
  this.regularQuery();
426
431
  break;
427
432
 
428
433
  case 2:
429
434
  this.enterOuterAlt(localctx, 2);
430
- this.state = 191;
435
+ this.state = 195;
431
436
  this.standaloneCall();
432
437
  break;
433
438
 
@@ -454,15 +459,15 @@ export default class CypherParser extends antlr4.Parser {
454
459
  var _la = 0;
455
460
  try {
456
461
  this.enterOuterAlt(localctx, 1);
457
- this.state = 194;
458
- this.singleQuery();
459
462
  this.state = 198;
463
+ this.singleQuery();
464
+ this.state = 202;
460
465
  this._errHandler.sync(this);
461
466
  _la = this._input.LA(1);
462
467
  while(_la===58) {
463
- this.state = 195;
468
+ this.state = 199;
464
469
  this.unionSt();
465
- this.state = 200;
470
+ this.state = 204;
466
471
  this._errHandler.sync(this);
467
472
  _la = this._input.LA(1);
468
473
  }
@@ -486,19 +491,19 @@ export default class CypherParser extends antlr4.Parser {
486
491
  let localctx = new SingleQueryContext(this, this._ctx, this.state);
487
492
  this.enterRule(localctx, 6, CypherParser.RULE_singleQuery);
488
493
  try {
489
- this.state = 203;
494
+ this.state = 207;
490
495
  this._errHandler.sync(this);
491
496
  var la_ = this._interp.adaptivePredict(this._input,3,this._ctx);
492
497
  switch(la_) {
493
498
  case 1:
494
499
  this.enterOuterAlt(localctx, 1);
495
- this.state = 201;
500
+ this.state = 205;
496
501
  this.singlePartQ();
497
502
  break;
498
503
 
499
504
  case 2:
500
505
  this.enterOuterAlt(localctx, 2);
501
- this.state = 202;
506
+ this.state = 206;
502
507
  this.multiPartQ();
503
508
  break;
504
509
 
@@ -525,29 +530,29 @@ export default class CypherParser extends antlr4.Parser {
525
530
  var _la = 0;
526
531
  try {
527
532
  this.enterOuterAlt(localctx, 1);
528
- this.state = 205;
533
+ this.state = 209;
529
534
  this.match(CypherParser.CALL);
530
- this.state = 206;
535
+ this.state = 210;
531
536
  this.invocationName();
532
- this.state = 208;
537
+ this.state = 212;
533
538
  this._errHandler.sync(this);
534
539
  _la = this._input.LA(1);
535
540
  if(_la===12) {
536
- this.state = 207;
541
+ this.state = 211;
537
542
  this.parenExpressionChain();
538
543
  }
539
544
 
540
- this.state = 215;
545
+ this.state = 219;
541
546
  this._errHandler.sync(this);
542
547
  _la = this._input.LA(1);
543
548
  if(_la===29) {
544
- this.state = 210;
549
+ this.state = 214;
545
550
  this.match(CypherParser.YIELD);
546
- this.state = 213;
551
+ this.state = 217;
547
552
  this._errHandler.sync(this);
548
553
  switch(this._input.LA(1)) {
549
554
  case 23:
550
- this.state = 211;
555
+ this.state = 215;
551
556
  this.match(CypherParser.MULT);
552
557
  break;
553
558
  case 30:
@@ -556,9 +561,10 @@ export default class CypherParser extends antlr4.Parser {
556
561
  case 33:
557
562
  case 34:
558
563
  case 35:
564
+ case 83:
559
565
  case 89:
560
566
  case 90:
561
- this.state = 212;
567
+ this.state = 216;
562
568
  this.yieldItems();
563
569
  break;
564
570
  default:
@@ -587,9 +593,9 @@ export default class CypherParser extends antlr4.Parser {
587
593
  this.enterRule(localctx, 10, CypherParser.RULE_returnSt);
588
594
  try {
589
595
  this.enterOuterAlt(localctx, 1);
590
- this.state = 217;
596
+ this.state = 221;
591
597
  this.match(CypherParser.RETURN);
592
- this.state = 218;
598
+ this.state = 222;
593
599
  this.projectionBody();
594
600
  } catch (re) {
595
601
  if(re instanceof antlr4.error.RecognitionException) {
@@ -613,15 +619,15 @@ export default class CypherParser extends antlr4.Parser {
613
619
  var _la = 0;
614
620
  try {
615
621
  this.enterOuterAlt(localctx, 1);
616
- this.state = 220;
622
+ this.state = 224;
617
623
  this.match(CypherParser.WITH);
618
- this.state = 221;
624
+ this.state = 225;
619
625
  this.projectionBody();
620
- this.state = 223;
626
+ this.state = 227;
621
627
  this._errHandler.sync(this);
622
628
  _la = this._input.LA(1);
623
629
  if(_la===56) {
624
- this.state = 222;
630
+ this.state = 226;
625
631
  this.where();
626
632
  }
627
633
 
@@ -646,9 +652,9 @@ export default class CypherParser extends antlr4.Parser {
646
652
  this.enterRule(localctx, 14, CypherParser.RULE_skipSt);
647
653
  try {
648
654
  this.enterOuterAlt(localctx, 1);
649
- this.state = 225;
655
+ this.state = 229;
650
656
  this.match(CypherParser.SKIP_W);
651
- this.state = 226;
657
+ this.state = 230;
652
658
  this.expression();
653
659
  } catch (re) {
654
660
  if(re instanceof antlr4.error.RecognitionException) {
@@ -671,9 +677,9 @@ export default class CypherParser extends antlr4.Parser {
671
677
  this.enterRule(localctx, 16, CypherParser.RULE_limitSt);
672
678
  try {
673
679
  this.enterOuterAlt(localctx, 1);
674
- this.state = 228;
680
+ this.state = 232;
675
681
  this.match(CypherParser.LIMIT);
676
- this.state = 229;
682
+ this.state = 233;
677
683
  this.expression();
678
684
  } catch (re) {
679
685
  if(re instanceof antlr4.error.RecognitionException) {
@@ -697,37 +703,37 @@ export default class CypherParser extends antlr4.Parser {
697
703
  var _la = 0;
698
704
  try {
699
705
  this.enterOuterAlt(localctx, 1);
700
- this.state = 232;
706
+ this.state = 236;
701
707
  this._errHandler.sync(this);
702
708
  _la = this._input.LA(1);
703
709
  if(_la===63) {
704
- this.state = 231;
710
+ this.state = 235;
705
711
  this.match(CypherParser.DISTINCT);
706
712
  }
707
713
 
708
- this.state = 234;
714
+ this.state = 238;
709
715
  this.projectionItems();
710
- this.state = 236;
716
+ this.state = 240;
711
717
  this._errHandler.sync(this);
712
718
  _la = this._input.LA(1);
713
719
  if(_la===51) {
714
- this.state = 235;
720
+ this.state = 239;
715
721
  this.orderSt();
716
722
  }
717
723
 
718
- this.state = 239;
724
+ this.state = 243;
719
725
  this._errHandler.sync(this);
720
726
  _la = this._input.LA(1);
721
727
  if(_la===55) {
722
- this.state = 238;
728
+ this.state = 242;
723
729
  this.skipSt();
724
730
  }
725
731
 
726
- this.state = 242;
732
+ this.state = 246;
727
733
  this._errHandler.sync(this);
728
734
  _la = this._input.LA(1);
729
735
  if(_la===46) {
730
- this.state = 241;
736
+ this.state = 245;
731
737
  this.limitSt();
732
738
  }
733
739
 
@@ -753,11 +759,11 @@ export default class CypherParser extends antlr4.Parser {
753
759
  var _la = 0;
754
760
  try {
755
761
  this.enterOuterAlt(localctx, 1);
756
- this.state = 246;
762
+ this.state = 250;
757
763
  this._errHandler.sync(this);
758
764
  switch(this._input.LA(1)) {
759
765
  case 23:
760
- this.state = 244;
766
+ this.state = 248;
761
767
  this.match(CypherParser.MULT);
762
768
  break;
763
769
  case 12:
@@ -779,26 +785,27 @@ export default class CypherParser extends antlr4.Parser {
779
785
  case 72:
780
786
  case 73:
781
787
  case 79:
788
+ case 83:
782
789
  case 89:
783
790
  case 90:
784
791
  case 91:
785
792
  case 92:
786
793
  case 93:
787
- this.state = 245;
794
+ this.state = 249;
788
795
  this.projectionItem();
789
796
  break;
790
797
  default:
791
798
  throw new antlr4.error.NoViableAltException(this);
792
799
  }
793
- this.state = 252;
800
+ this.state = 256;
794
801
  this._errHandler.sync(this);
795
802
  _la = this._input.LA(1);
796
803
  while(_la===11) {
797
- this.state = 248;
804
+ this.state = 252;
798
805
  this.match(CypherParser.COMMA);
799
- this.state = 249;
806
+ this.state = 253;
800
807
  this.projectionItem();
801
- this.state = 254;
808
+ this.state = 258;
802
809
  this._errHandler.sync(this);
803
810
  _la = this._input.LA(1);
804
811
  }
@@ -824,15 +831,15 @@ export default class CypherParser extends antlr4.Parser {
824
831
  var _la = 0;
825
832
  try {
826
833
  this.enterOuterAlt(localctx, 1);
827
- this.state = 255;
834
+ this.state = 259;
828
835
  this.expression();
829
- this.state = 258;
836
+ this.state = 262;
830
837
  this._errHandler.sync(this);
831
838
  _la = this._input.LA(1);
832
839
  if(_la===61) {
833
- this.state = 256;
840
+ this.state = 260;
834
841
  this.match(CypherParser.AS);
835
- this.state = 257;
842
+ this.state = 261;
836
843
  this.symbol();
837
844
  }
838
845
 
@@ -858,13 +865,13 @@ export default class CypherParser extends antlr4.Parser {
858
865
  var _la = 0;
859
866
  try {
860
867
  this.enterOuterAlt(localctx, 1);
861
- this.state = 260;
868
+ this.state = 264;
862
869
  this.expression();
863
- this.state = 262;
870
+ this.state = 266;
864
871
  this._errHandler.sync(this);
865
872
  _la = this._input.LA(1);
866
873
  if(((((_la - 37)) & ~0x1f) === 0 && ((1 << (_la - 37)) & 99) !== 0)) {
867
- this.state = 261;
874
+ this.state = 265;
868
875
  _la = this._input.LA(1);
869
876
  if(!(((((_la - 37)) & ~0x1f) === 0 && ((1 << (_la - 37)) & 99) !== 0))) {
870
877
  this._errHandler.recoverInline(this);
@@ -897,21 +904,21 @@ export default class CypherParser extends antlr4.Parser {
897
904
  var _la = 0;
898
905
  try {
899
906
  this.enterOuterAlt(localctx, 1);
900
- this.state = 264;
907
+ this.state = 268;
901
908
  this.match(CypherParser.ORDER);
902
- this.state = 265;
909
+ this.state = 269;
903
910
  this.match(CypherParser.BY);
904
- this.state = 266;
911
+ this.state = 270;
905
912
  this.orderItem();
906
- this.state = 271;
913
+ this.state = 275;
907
914
  this._errHandler.sync(this);
908
915
  _la = this._input.LA(1);
909
916
  while(_la===11) {
910
- this.state = 267;
917
+ this.state = 271;
911
918
  this.match(CypherParser.COMMA);
912
- this.state = 268;
919
+ this.state = 272;
913
920
  this.orderItem();
914
- this.state = 273;
921
+ this.state = 277;
915
922
  this._errHandler.sync(this);
916
923
  _la = this._input.LA(1);
917
924
  }
@@ -937,21 +944,21 @@ export default class CypherParser extends antlr4.Parser {
937
944
  var _la = 0;
938
945
  try {
939
946
  this.enterOuterAlt(localctx, 1);
940
- this.state = 277;
947
+ this.state = 281;
941
948
  this._errHandler.sync(this);
942
949
  _la = this._input.LA(1);
943
950
  while(((((_la - 28)) & ~0x1f) === 0 && ((1 << (_la - 28)) & 2152202241) !== 0)) {
944
- this.state = 274;
951
+ this.state = 278;
945
952
  this.readingStatement();
946
- this.state = 279;
953
+ this.state = 283;
947
954
  this._errHandler.sync(this);
948
955
  _la = this._input.LA(1);
949
956
  }
950
- this.state = 289;
957
+ this.state = 293;
951
958
  this._errHandler.sync(this);
952
959
  switch(this._input.LA(1)) {
953
960
  case 53:
954
- this.state = 280;
961
+ this.state = 284;
955
962
  this.returnSt();
956
963
  break;
957
964
  case 40:
@@ -960,21 +967,21 @@ export default class CypherParser extends antlr4.Parser {
960
967
  case 48:
961
968
  case 52:
962
969
  case 54:
963
- this.state = 282;
970
+ this.state = 286;
964
971
  this._errHandler.sync(this);
965
972
  _la = this._input.LA(1);
966
973
  do {
967
- this.state = 281;
974
+ this.state = 285;
968
975
  this.updatingStatement();
969
- this.state = 284;
976
+ this.state = 288;
970
977
  this._errHandler.sync(this);
971
978
  _la = this._input.LA(1);
972
979
  } while(((((_la - 40)) & ~0x1f) === 0 && ((1 << (_la - 40)) & 20755) !== 0));
973
- this.state = 287;
980
+ this.state = 291;
974
981
  this._errHandler.sync(this);
975
982
  _la = this._input.LA(1);
976
983
  if(_la===53) {
977
- this.state = 286;
984
+ this.state = 290;
978
985
  this.returnSt();
979
986
  }
980
987
 
@@ -1004,43 +1011,66 @@ export default class CypherParser extends antlr4.Parser {
1004
1011
  var _la = 0;
1005
1012
  try {
1006
1013
  this.enterOuterAlt(localctx, 1);
1007
- this.state = 294;
1014
+ this.state = 298;
1008
1015
  this._errHandler.sync(this);
1009
- _la = this._input.LA(1);
1010
- while(((((_la - 28)) & ~0x1f) === 0 && ((1 << (_la - 28)) & 2152202241) !== 0)) {
1011
- this.state = 291;
1012
- this.readingStatement();
1013
- this.state = 296;
1016
+ var _alt = this._interp.adaptivePredict(this._input,21,this._ctx)
1017
+ while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
1018
+ if(_alt===1) {
1019
+ this.state = 295;
1020
+ this.readingStatement();
1021
+ }
1022
+ this.state = 300;
1014
1023
  this._errHandler.sync(this);
1015
- _la = this._input.LA(1);
1024
+ _alt = this._interp.adaptivePredict(this._input,21,this._ctx);
1016
1025
  }
1017
- this.state = 304;
1026
+
1027
+ this.state = 309;
1018
1028
  this._errHandler.sync(this);
1019
1029
  var _alt = 1;
1020
1030
  do {
1021
1031
  switch (_alt) {
1022
1032
  case 1:
1023
- this.state = 300;
1033
+ this.state = 305;
1024
1034
  this._errHandler.sync(this);
1025
1035
  _la = this._input.LA(1);
1026
- while(((((_la - 40)) & ~0x1f) === 0 && ((1 << (_la - 40)) & 20755) !== 0)) {
1027
- this.state = 297;
1028
- this.updatingStatement();
1029
- this.state = 302;
1036
+ while(((((_la - 28)) & ~0x1f) === 0 && ((1 << (_la - 28)) & 2237214721) !== 0)) {
1037
+ this.state = 303;
1038
+ this._errHandler.sync(this);
1039
+ switch(this._input.LA(1)) {
1040
+ case 28:
1041
+ case 47:
1042
+ case 50:
1043
+ case 59:
1044
+ this.state = 301;
1045
+ this.readingStatement();
1046
+ break;
1047
+ case 40:
1048
+ case 41:
1049
+ case 44:
1050
+ case 48:
1051
+ case 52:
1052
+ case 54:
1053
+ this.state = 302;
1054
+ this.updatingStatement();
1055
+ break;
1056
+ default:
1057
+ throw new antlr4.error.NoViableAltException(this);
1058
+ }
1059
+ this.state = 307;
1030
1060
  this._errHandler.sync(this);
1031
1061
  _la = this._input.LA(1);
1032
1062
  }
1033
- this.state = 303;
1063
+ this.state = 308;
1034
1064
  this.withSt();
1035
1065
  break;
1036
1066
  default:
1037
1067
  throw new antlr4.error.NoViableAltException(this);
1038
1068
  }
1039
- this.state = 306;
1069
+ this.state = 311;
1040
1070
  this._errHandler.sync(this);
1041
- _alt = this._interp.adaptivePredict(this._input,23, this._ctx);
1071
+ _alt = this._interp.adaptivePredict(this._input,24, this._ctx);
1042
1072
  } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER );
1043
- this.state = 308;
1073
+ this.state = 313;
1044
1074
  this.singlePartQ();
1045
1075
  } catch (re) {
1046
1076
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1064,17 +1094,17 @@ export default class CypherParser extends antlr4.Parser {
1064
1094
  var _la = 0;
1065
1095
  try {
1066
1096
  this.enterOuterAlt(localctx, 1);
1067
- this.state = 311;
1097
+ this.state = 316;
1068
1098
  this._errHandler.sync(this);
1069
1099
  _la = this._input.LA(1);
1070
1100
  if(_la===50) {
1071
- this.state = 310;
1101
+ this.state = 315;
1072
1102
  this.match(CypherParser.OPTIONAL);
1073
1103
  }
1074
1104
 
1075
- this.state = 313;
1105
+ this.state = 318;
1076
1106
  this.match(CypherParser.MATCH);
1077
- this.state = 314;
1107
+ this.state = 319;
1078
1108
  this.patternWhere();
1079
1109
  } catch (re) {
1080
1110
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1097,13 +1127,13 @@ export default class CypherParser extends antlr4.Parser {
1097
1127
  this.enterRule(localctx, 34, CypherParser.RULE_unwindSt);
1098
1128
  try {
1099
1129
  this.enterOuterAlt(localctx, 1);
1100
- this.state = 316;
1130
+ this.state = 321;
1101
1131
  this.match(CypherParser.UNWIND);
1102
- this.state = 317;
1132
+ this.state = 322;
1103
1133
  this.expression();
1104
- this.state = 318;
1134
+ this.state = 323;
1105
1135
  this.match(CypherParser.AS);
1106
- this.state = 319;
1136
+ this.state = 324;
1107
1137
  this.symbol();
1108
1138
  } catch (re) {
1109
1139
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1125,23 +1155,23 @@ export default class CypherParser extends antlr4.Parser {
1125
1155
  let localctx = new ReadingStatementContext(this, this._ctx, this.state);
1126
1156
  this.enterRule(localctx, 36, CypherParser.RULE_readingStatement);
1127
1157
  try {
1128
- this.state = 324;
1158
+ this.state = 329;
1129
1159
  this._errHandler.sync(this);
1130
1160
  switch(this._input.LA(1)) {
1131
1161
  case 47:
1132
1162
  case 50:
1133
1163
  this.enterOuterAlt(localctx, 1);
1134
- this.state = 321;
1164
+ this.state = 326;
1135
1165
  this.matchSt();
1136
1166
  break;
1137
1167
  case 59:
1138
1168
  this.enterOuterAlt(localctx, 2);
1139
- this.state = 322;
1169
+ this.state = 327;
1140
1170
  this.unwindSt();
1141
1171
  break;
1142
1172
  case 28:
1143
1173
  this.enterOuterAlt(localctx, 3);
1144
- this.state = 323;
1174
+ this.state = 328;
1145
1175
  this.queryCallSt();
1146
1176
  break;
1147
1177
  default:
@@ -1167,33 +1197,33 @@ export default class CypherParser extends antlr4.Parser {
1167
1197
  let localctx = new UpdatingStatementContext(this, this._ctx, this.state);
1168
1198
  this.enterRule(localctx, 38, CypherParser.RULE_updatingStatement);
1169
1199
  try {
1170
- this.state = 331;
1200
+ this.state = 336;
1171
1201
  this._errHandler.sync(this);
1172
1202
  switch(this._input.LA(1)) {
1173
1203
  case 40:
1174
1204
  this.enterOuterAlt(localctx, 1);
1175
- this.state = 326;
1205
+ this.state = 331;
1176
1206
  this.createSt();
1177
1207
  break;
1178
1208
  case 48:
1179
1209
  this.enterOuterAlt(localctx, 2);
1180
- this.state = 327;
1210
+ this.state = 332;
1181
1211
  this.mergeSt();
1182
1212
  break;
1183
1213
  case 41:
1184
1214
  case 44:
1185
1215
  this.enterOuterAlt(localctx, 3);
1186
- this.state = 328;
1216
+ this.state = 333;
1187
1217
  this.deleteSt();
1188
1218
  break;
1189
1219
  case 54:
1190
1220
  this.enterOuterAlt(localctx, 4);
1191
- this.state = 329;
1221
+ this.state = 334;
1192
1222
  this.setSt();
1193
1223
  break;
1194
1224
  case 52:
1195
1225
  this.enterOuterAlt(localctx, 5);
1196
- this.state = 330;
1226
+ this.state = 335;
1197
1227
  this.removeSt();
1198
1228
  break;
1199
1229
  default:
@@ -1221,17 +1251,17 @@ export default class CypherParser extends antlr4.Parser {
1221
1251
  var _la = 0;
1222
1252
  try {
1223
1253
  this.enterOuterAlt(localctx, 1);
1224
- this.state = 334;
1254
+ this.state = 339;
1225
1255
  this._errHandler.sync(this);
1226
1256
  _la = this._input.LA(1);
1227
1257
  if(_la===44) {
1228
- this.state = 333;
1258
+ this.state = 338;
1229
1259
  this.match(CypherParser.DETACH);
1230
1260
  }
1231
1261
 
1232
- this.state = 336;
1262
+ this.state = 341;
1233
1263
  this.match(CypherParser.DELETE);
1234
- this.state = 337;
1264
+ this.state = 342;
1235
1265
  this.expressionChain();
1236
1266
  } catch (re) {
1237
1267
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1255,19 +1285,19 @@ export default class CypherParser extends antlr4.Parser {
1255
1285
  var _la = 0;
1256
1286
  try {
1257
1287
  this.enterOuterAlt(localctx, 1);
1258
- this.state = 339;
1288
+ this.state = 344;
1259
1289
  this.match(CypherParser.REMOVE);
1260
- this.state = 340;
1261
- this.removeItem();
1262
1290
  this.state = 345;
1291
+ this.removeItem();
1292
+ this.state = 350;
1263
1293
  this._errHandler.sync(this);
1264
1294
  _la = this._input.LA(1);
1265
1295
  while(_la===11) {
1266
- this.state = 341;
1296
+ this.state = 346;
1267
1297
  this.match(CypherParser.COMMA);
1268
- this.state = 342;
1269
- this.removeItem();
1270
1298
  this.state = 347;
1299
+ this.removeItem();
1300
+ this.state = 352;
1271
1301
  this._errHandler.sync(this);
1272
1302
  _la = this._input.LA(1);
1273
1303
  }
@@ -1291,21 +1321,21 @@ export default class CypherParser extends antlr4.Parser {
1291
1321
  let localctx = new RemoveItemContext(this, this._ctx, this.state);
1292
1322
  this.enterRule(localctx, 44, CypherParser.RULE_removeItem);
1293
1323
  try {
1294
- this.state = 352;
1324
+ this.state = 357;
1295
1325
  this._errHandler.sync(this);
1296
- var la_ = this._interp.adaptivePredict(this._input,29,this._ctx);
1326
+ var la_ = this._interp.adaptivePredict(this._input,30,this._ctx);
1297
1327
  switch(la_) {
1298
1328
  case 1:
1299
1329
  this.enterOuterAlt(localctx, 1);
1300
- this.state = 348;
1330
+ this.state = 353;
1301
1331
  this.symbol();
1302
- this.state = 349;
1332
+ this.state = 354;
1303
1333
  this.nodeLabels();
1304
1334
  break;
1305
1335
 
1306
1336
  case 2:
1307
1337
  this.enterOuterAlt(localctx, 2);
1308
- this.state = 351;
1338
+ this.state = 356;
1309
1339
  this.propertyExpression();
1310
1340
  break;
1311
1341
 
@@ -1332,19 +1362,19 @@ export default class CypherParser extends antlr4.Parser {
1332
1362
  var _la = 0;
1333
1363
  try {
1334
1364
  this.enterOuterAlt(localctx, 1);
1335
- this.state = 354;
1365
+ this.state = 359;
1336
1366
  this.match(CypherParser.CALL);
1337
- this.state = 355;
1367
+ this.state = 360;
1338
1368
  this.invocationName();
1339
- this.state = 356;
1369
+ this.state = 361;
1340
1370
  this.parenExpressionChain();
1341
- this.state = 359;
1371
+ this.state = 364;
1342
1372
  this._errHandler.sync(this);
1343
1373
  _la = this._input.LA(1);
1344
1374
  if(_la===29) {
1345
- this.state = 357;
1375
+ this.state = 362;
1346
1376
  this.match(CypherParser.YIELD);
1347
- this.state = 358;
1377
+ this.state = 363;
1348
1378
  this.yieldItems();
1349
1379
  }
1350
1380
 
@@ -1370,17 +1400,17 @@ export default class CypherParser extends antlr4.Parser {
1370
1400
  var _la = 0;
1371
1401
  try {
1372
1402
  this.enterOuterAlt(localctx, 1);
1373
- this.state = 361;
1403
+ this.state = 366;
1374
1404
  this.match(CypherParser.LPAREN);
1375
- this.state = 363;
1405
+ this.state = 368;
1376
1406
  this._errHandler.sync(this);
1377
1407
  _la = this._input.LA(1);
1378
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
1379
- this.state = 362;
1408
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130093169) !== 0)) {
1409
+ this.state = 367;
1380
1410
  this.expressionChain();
1381
1411
  }
1382
1412
 
1383
- this.state = 365;
1413
+ this.state = 370;
1384
1414
  this.match(CypherParser.RPAREN);
1385
1415
  } catch (re) {
1386
1416
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1404,25 +1434,25 @@ export default class CypherParser extends antlr4.Parser {
1404
1434
  var _la = 0;
1405
1435
  try {
1406
1436
  this.enterOuterAlt(localctx, 1);
1407
- this.state = 367;
1408
- this.yieldItem();
1409
1437
  this.state = 372;
1438
+ this.yieldItem();
1439
+ this.state = 377;
1410
1440
  this._errHandler.sync(this);
1411
1441
  _la = this._input.LA(1);
1412
1442
  while(_la===11) {
1413
- this.state = 368;
1443
+ this.state = 373;
1414
1444
  this.match(CypherParser.COMMA);
1415
- this.state = 369;
1416
- this.yieldItem();
1417
1445
  this.state = 374;
1446
+ this.yieldItem();
1447
+ this.state = 379;
1418
1448
  this._errHandler.sync(this);
1419
1449
  _la = this._input.LA(1);
1420
1450
  }
1421
- this.state = 376;
1451
+ this.state = 381;
1422
1452
  this._errHandler.sync(this);
1423
1453
  _la = this._input.LA(1);
1424
1454
  if(_la===56) {
1425
- this.state = 375;
1455
+ this.state = 380;
1426
1456
  this.where();
1427
1457
  }
1428
1458
 
@@ -1447,17 +1477,17 @@ export default class CypherParser extends antlr4.Parser {
1447
1477
  this.enterRule(localctx, 52, CypherParser.RULE_yieldItem);
1448
1478
  try {
1449
1479
  this.enterOuterAlt(localctx, 1);
1450
- this.state = 381;
1480
+ this.state = 386;
1451
1481
  this._errHandler.sync(this);
1452
- var la_ = this._interp.adaptivePredict(this._input,34,this._ctx);
1482
+ var la_ = this._interp.adaptivePredict(this._input,35,this._ctx);
1453
1483
  if(la_===1) {
1454
- this.state = 378;
1484
+ this.state = 383;
1455
1485
  this.symbol();
1456
- this.state = 379;
1486
+ this.state = 384;
1457
1487
  this.match(CypherParser.AS);
1458
1488
 
1459
1489
  }
1460
- this.state = 383;
1490
+ this.state = 388;
1461
1491
  this.symbol();
1462
1492
  } catch (re) {
1463
1493
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1481,17 +1511,17 @@ export default class CypherParser extends antlr4.Parser {
1481
1511
  var _la = 0;
1482
1512
  try {
1483
1513
  this.enterOuterAlt(localctx, 1);
1484
- this.state = 385;
1514
+ this.state = 390;
1485
1515
  this.match(CypherParser.MERGE);
1486
- this.state = 386;
1516
+ this.state = 391;
1487
1517
  this.patternPart();
1488
- this.state = 390;
1518
+ this.state = 395;
1489
1519
  this._errHandler.sync(this);
1490
1520
  _la = this._input.LA(1);
1491
1521
  while(_la===49) {
1492
- this.state = 387;
1493
- this.mergeAction();
1494
1522
  this.state = 392;
1523
+ this.mergeAction();
1524
+ this.state = 397;
1495
1525
  this._errHandler.sync(this);
1496
1526
  _la = this._input.LA(1);
1497
1527
  }
@@ -1517,9 +1547,9 @@ export default class CypherParser extends antlr4.Parser {
1517
1547
  var _la = 0;
1518
1548
  try {
1519
1549
  this.enterOuterAlt(localctx, 1);
1520
- this.state = 393;
1550
+ this.state = 398;
1521
1551
  this.match(CypherParser.ON);
1522
- this.state = 394;
1552
+ this.state = 399;
1523
1553
  _la = this._input.LA(1);
1524
1554
  if(!(_la===40 || _la===47)) {
1525
1555
  this._errHandler.recoverInline(this);
@@ -1528,7 +1558,7 @@ export default class CypherParser extends antlr4.Parser {
1528
1558
  this._errHandler.reportMatch(this);
1529
1559
  this.consume();
1530
1560
  }
1531
- this.state = 395;
1561
+ this.state = 400;
1532
1562
  this.setSt();
1533
1563
  } catch (re) {
1534
1564
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1552,19 +1582,19 @@ export default class CypherParser extends antlr4.Parser {
1552
1582
  var _la = 0;
1553
1583
  try {
1554
1584
  this.enterOuterAlt(localctx, 1);
1555
- this.state = 397;
1585
+ this.state = 402;
1556
1586
  this.match(CypherParser.SET);
1557
- this.state = 398;
1558
- this.setItem();
1559
1587
  this.state = 403;
1588
+ this.setItem();
1589
+ this.state = 408;
1560
1590
  this._errHandler.sync(this);
1561
1591
  _la = this._input.LA(1);
1562
1592
  while(_la===11) {
1563
- this.state = 399;
1593
+ this.state = 404;
1564
1594
  this.match(CypherParser.COMMA);
1565
- this.state = 400;
1566
- this.setItem();
1567
1595
  this.state = 405;
1596
+ this.setItem();
1597
+ this.state = 410;
1568
1598
  this._errHandler.sync(this);
1569
1599
  _la = this._input.LA(1);
1570
1600
  }
@@ -1589,25 +1619,25 @@ export default class CypherParser extends antlr4.Parser {
1589
1619
  this.enterRule(localctx, 60, CypherParser.RULE_setItem);
1590
1620
  var _la = 0;
1591
1621
  try {
1592
- this.state = 417;
1622
+ this.state = 422;
1593
1623
  this._errHandler.sync(this);
1594
- var la_ = this._interp.adaptivePredict(this._input,37,this._ctx);
1624
+ var la_ = this._interp.adaptivePredict(this._input,38,this._ctx);
1595
1625
  switch(la_) {
1596
1626
  case 1:
1597
1627
  this.enterOuterAlt(localctx, 1);
1598
- this.state = 406;
1628
+ this.state = 411;
1599
1629
  this.propertyExpression();
1600
- this.state = 407;
1630
+ this.state = 412;
1601
1631
  this.match(CypherParser.ASSIGN);
1602
- this.state = 408;
1632
+ this.state = 413;
1603
1633
  this.expression();
1604
1634
  break;
1605
1635
 
1606
1636
  case 2:
1607
1637
  this.enterOuterAlt(localctx, 2);
1608
- this.state = 410;
1638
+ this.state = 415;
1609
1639
  this.symbol();
1610
- this.state = 411;
1640
+ this.state = 416;
1611
1641
  _la = this._input.LA(1);
1612
1642
  if(!(_la===1 || _la===2)) {
1613
1643
  this._errHandler.recoverInline(this);
@@ -1616,15 +1646,15 @@ export default class CypherParser extends antlr4.Parser {
1616
1646
  this._errHandler.reportMatch(this);
1617
1647
  this.consume();
1618
1648
  }
1619
- this.state = 412;
1649
+ this.state = 417;
1620
1650
  this.expression();
1621
1651
  break;
1622
1652
 
1623
1653
  case 3:
1624
1654
  this.enterOuterAlt(localctx, 3);
1625
- this.state = 414;
1655
+ this.state = 419;
1626
1656
  this.symbol();
1627
- this.state = 415;
1657
+ this.state = 420;
1628
1658
  this.nodeLabels();
1629
1659
  break;
1630
1660
 
@@ -1651,15 +1681,15 @@ export default class CypherParser extends antlr4.Parser {
1651
1681
  var _la = 0;
1652
1682
  try {
1653
1683
  this.enterOuterAlt(localctx, 1);
1654
- this.state = 421;
1684
+ this.state = 426;
1655
1685
  this._errHandler.sync(this);
1656
1686
  _la = this._input.LA(1);
1657
1687
  do {
1658
- this.state = 419;
1688
+ this.state = 424;
1659
1689
  this.match(CypherParser.COLON);
1660
- this.state = 420;
1690
+ this.state = 425;
1661
1691
  this.name();
1662
- this.state = 423;
1692
+ this.state = 428;
1663
1693
  this._errHandler.sync(this);
1664
1694
  _la = this._input.LA(1);
1665
1695
  } while(_la===25);
@@ -1684,9 +1714,9 @@ export default class CypherParser extends antlr4.Parser {
1684
1714
  this.enterRule(localctx, 64, CypherParser.RULE_createSt);
1685
1715
  try {
1686
1716
  this.enterOuterAlt(localctx, 1);
1687
- this.state = 425;
1717
+ this.state = 430;
1688
1718
  this.match(CypherParser.CREATE);
1689
- this.state = 426;
1719
+ this.state = 431;
1690
1720
  this.pattern();
1691
1721
  } catch (re) {
1692
1722
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1710,13 +1740,13 @@ export default class CypherParser extends antlr4.Parser {
1710
1740
  var _la = 0;
1711
1741
  try {
1712
1742
  this.enterOuterAlt(localctx, 1);
1713
- this.state = 428;
1743
+ this.state = 433;
1714
1744
  this.pattern();
1715
- this.state = 430;
1745
+ this.state = 435;
1716
1746
  this._errHandler.sync(this);
1717
1747
  _la = this._input.LA(1);
1718
1748
  if(_la===56) {
1719
- this.state = 429;
1749
+ this.state = 434;
1720
1750
  this.where();
1721
1751
  }
1722
1752
 
@@ -1741,9 +1771,9 @@ export default class CypherParser extends antlr4.Parser {
1741
1771
  this.enterRule(localctx, 68, CypherParser.RULE_where);
1742
1772
  try {
1743
1773
  this.enterOuterAlt(localctx, 1);
1744
- this.state = 432;
1774
+ this.state = 437;
1745
1775
  this.match(CypherParser.WHERE);
1746
- this.state = 433;
1776
+ this.state = 438;
1747
1777
  this.expression();
1748
1778
  } catch (re) {
1749
1779
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1767,17 +1797,17 @@ export default class CypherParser extends antlr4.Parser {
1767
1797
  var _la = 0;
1768
1798
  try {
1769
1799
  this.enterOuterAlt(localctx, 1);
1770
- this.state = 435;
1771
- this.patternPart();
1772
1800
  this.state = 440;
1801
+ this.patternPart();
1802
+ this.state = 445;
1773
1803
  this._errHandler.sync(this);
1774
1804
  _la = this._input.LA(1);
1775
1805
  while(_la===11) {
1776
- this.state = 436;
1806
+ this.state = 441;
1777
1807
  this.match(CypherParser.COMMA);
1778
- this.state = 437;
1779
- this.patternPart();
1780
1808
  this.state = 442;
1809
+ this.patternPart();
1810
+ this.state = 447;
1781
1811
  this._errHandler.sync(this);
1782
1812
  _la = this._input.LA(1);
1783
1813
  }
@@ -1803,17 +1833,17 @@ export default class CypherParser extends antlr4.Parser {
1803
1833
  var _la = 0;
1804
1834
  try {
1805
1835
  this.enterOuterAlt(localctx, 1);
1806
- this.state = 443;
1807
- this.xorExpression();
1808
1836
  this.state = 448;
1837
+ this.xorExpression();
1838
+ this.state = 453;
1809
1839
  this._errHandler.sync(this);
1810
1840
  _la = this._input.LA(1);
1811
1841
  while(_la===68) {
1812
- this.state = 444;
1842
+ this.state = 449;
1813
1843
  this.match(CypherParser.OR);
1814
- this.state = 445;
1815
- this.xorExpression();
1816
1844
  this.state = 450;
1845
+ this.xorExpression();
1846
+ this.state = 455;
1817
1847
  this._errHandler.sync(this);
1818
1848
  _la = this._input.LA(1);
1819
1849
  }
@@ -1839,17 +1869,17 @@ export default class CypherParser extends antlr4.Parser {
1839
1869
  var _la = 0;
1840
1870
  try {
1841
1871
  this.enterOuterAlt(localctx, 1);
1842
- this.state = 451;
1843
- this.andExpression();
1844
1872
  this.state = 456;
1873
+ this.andExpression();
1874
+ this.state = 461;
1845
1875
  this._errHandler.sync(this);
1846
1876
  _la = this._input.LA(1);
1847
1877
  while(_la===70) {
1848
- this.state = 452;
1878
+ this.state = 457;
1849
1879
  this.match(CypherParser.XOR);
1850
- this.state = 453;
1851
- this.andExpression();
1852
1880
  this.state = 458;
1881
+ this.andExpression();
1882
+ this.state = 463;
1853
1883
  this._errHandler.sync(this);
1854
1884
  _la = this._input.LA(1);
1855
1885
  }
@@ -1875,17 +1905,17 @@ export default class CypherParser extends antlr4.Parser {
1875
1905
  var _la = 0;
1876
1906
  try {
1877
1907
  this.enterOuterAlt(localctx, 1);
1878
- this.state = 459;
1879
- this.notExpression();
1880
1908
  this.state = 464;
1909
+ this.notExpression();
1910
+ this.state = 469;
1881
1911
  this._errHandler.sync(this);
1882
1912
  _la = this._input.LA(1);
1883
1913
  while(_la===60) {
1884
- this.state = 460;
1914
+ this.state = 465;
1885
1915
  this.match(CypherParser.AND);
1886
- this.state = 461;
1887
- this.notExpression();
1888
1916
  this.state = 466;
1917
+ this.notExpression();
1918
+ this.state = 471;
1889
1919
  this._errHandler.sync(this);
1890
1920
  _la = this._input.LA(1);
1891
1921
  }
@@ -1911,15 +1941,17 @@ export default class CypherParser extends antlr4.Parser {
1911
1941
  var _la = 0;
1912
1942
  try {
1913
1943
  this.enterOuterAlt(localctx, 1);
1914
- this.state = 468;
1944
+ this.state = 475;
1915
1945
  this._errHandler.sync(this);
1916
1946
  _la = this._input.LA(1);
1917
- if(_la===67) {
1918
- this.state = 467;
1947
+ while(_la===67) {
1948
+ this.state = 472;
1919
1949
  this.match(CypherParser.NOT);
1950
+ this.state = 477;
1951
+ this._errHandler.sync(this);
1952
+ _la = this._input.LA(1);
1920
1953
  }
1921
-
1922
- this.state = 470;
1954
+ this.state = 478;
1923
1955
  this.comparisonExpression();
1924
1956
  } catch (re) {
1925
1957
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1943,17 +1975,17 @@ export default class CypherParser extends antlr4.Parser {
1943
1975
  var _la = 0;
1944
1976
  try {
1945
1977
  this.enterOuterAlt(localctx, 1);
1946
- this.state = 472;
1947
- this.addSubExpression();
1948
- this.state = 478;
1978
+ this.state = 480;
1979
+ this.stringListNullExpression();
1980
+ this.state = 486;
1949
1981
  this._errHandler.sync(this);
1950
1982
  _la = this._input.LA(1);
1951
1983
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 250) !== 0)) {
1952
- this.state = 473;
1984
+ this.state = 481;
1953
1985
  this.comparisonSigns();
1954
- this.state = 474;
1955
- this.addSubExpression();
1956
- this.state = 480;
1986
+ this.state = 482;
1987
+ this.stringListNullExpression();
1988
+ this.state = 488;
1957
1989
  this._errHandler.sync(this);
1958
1990
  _la = this._input.LA(1);
1959
1991
  }
@@ -1979,7 +2011,7 @@ export default class CypherParser extends antlr4.Parser {
1979
2011
  var _la = 0;
1980
2012
  try {
1981
2013
  this.enterOuterAlt(localctx, 1);
1982
- this.state = 481;
2014
+ this.state = 489;
1983
2015
  _la = this._input.LA(1);
1984
2016
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 250) !== 0))) {
1985
2017
  this._errHandler.recoverInline(this);
@@ -2004,19 +2036,132 @@ export default class CypherParser extends antlr4.Parser {
2004
2036
 
2005
2037
 
2006
2038
 
2039
+ stringListNullExpression() {
2040
+ let localctx = new StringListNullExpressionContext(this, this._ctx, this.state);
2041
+ this.enterRule(localctx, 84, CypherParser.RULE_stringListNullExpression);
2042
+ try {
2043
+ this.enterOuterAlt(localctx, 1);
2044
+ this.state = 491;
2045
+ this.addSubExpression();
2046
+ this.state = 495;
2047
+ this._errHandler.sync(this);
2048
+ switch (this._input.LA(1)) {
2049
+ case 62:
2050
+ case 64:
2051
+ case 69:
2052
+ this.state = 492;
2053
+ this.stringExpression();
2054
+ break;
2055
+ case 65:
2056
+ this.state = 493;
2057
+ this.inExpression();
2058
+ break;
2059
+ case 66:
2060
+ this.state = 494;
2061
+ this.nullExpression();
2062
+ break;
2063
+ case -1:
2064
+ case 1:
2065
+ case 3:
2066
+ case 4:
2067
+ case 5:
2068
+ case 6:
2069
+ case 7:
2070
+ case 8:
2071
+ case 9:
2072
+ case 11:
2073
+ case 13:
2074
+ case 15:
2075
+ case 17:
2076
+ case 26:
2077
+ case 28:
2078
+ case 37:
2079
+ case 38:
2080
+ case 40:
2081
+ case 41:
2082
+ case 42:
2083
+ case 43:
2084
+ case 44:
2085
+ case 46:
2086
+ case 47:
2087
+ case 48:
2088
+ case 49:
2089
+ case 50:
2090
+ case 51:
2091
+ case 52:
2092
+ case 53:
2093
+ case 54:
2094
+ case 55:
2095
+ case 56:
2096
+ case 57:
2097
+ case 58:
2098
+ case 59:
2099
+ case 60:
2100
+ case 61:
2101
+ case 68:
2102
+ case 70:
2103
+ case 80:
2104
+ case 81:
2105
+ case 82:
2106
+ case 83:
2107
+ break;
2108
+ default:
2109
+ break;
2110
+ }
2111
+ } catch (re) {
2112
+ if(re instanceof antlr4.error.RecognitionException) {
2113
+ localctx.exception = re;
2114
+ this._errHandler.reportError(this, re);
2115
+ this._errHandler.recover(this, re);
2116
+ } else {
2117
+ throw re;
2118
+ }
2119
+ } finally {
2120
+ this.exitRule();
2121
+ }
2122
+ return localctx;
2123
+ }
2124
+
2125
+
2126
+
2127
+ inExpression() {
2128
+ let localctx = new InExpressionContext(this, this._ctx, this.state);
2129
+ this.enterRule(localctx, 86, CypherParser.RULE_inExpression);
2130
+ try {
2131
+ this.enterOuterAlt(localctx, 1);
2132
+ this.state = 497;
2133
+ this.match(CypherParser.IN);
2134
+ this.state = 498;
2135
+ this.addSubExpression();
2136
+ } catch (re) {
2137
+ if(re instanceof antlr4.error.RecognitionException) {
2138
+ localctx.exception = re;
2139
+ this._errHandler.reportError(this, re);
2140
+ this._errHandler.recover(this, re);
2141
+ } else {
2142
+ throw re;
2143
+ }
2144
+ } finally {
2145
+ this.exitRule();
2146
+ }
2147
+ return localctx;
2148
+ }
2149
+
2150
+
2151
+
2007
2152
  addSubExpression() {
2008
2153
  let localctx = new AddSubExpressionContext(this, this._ctx, this.state);
2009
- this.enterRule(localctx, 84, CypherParser.RULE_addSubExpression);
2154
+ this.enterRule(localctx, 88, CypherParser.RULE_addSubExpression);
2010
2155
  var _la = 0;
2011
2156
  try {
2012
2157
  this.enterOuterAlt(localctx, 1);
2013
- this.state = 483;
2158
+ this.state = 500;
2014
2159
  this.multDivExpression();
2015
- this.state = 488;
2160
+ this.state = 505;
2016
2161
  this._errHandler.sync(this);
2017
2162
  _la = this._input.LA(1);
2018
2163
  while(_la===18 || _la===19) {
2019
- this.state = 484;
2164
+ this.state = 501;
2020
2165
  _la = this._input.LA(1);
2021
2166
  if(!(_la===18 || _la===19)) {
2022
2167
  this._errHandler.recoverInline(this);
@@ -2025,9 +2170,9 @@ export default class CypherParser extends antlr4.Parser {
2025
2170
  this._errHandler.reportMatch(this);
2026
2171
  this.consume();
2027
2172
  }
2028
- this.state = 485;
2173
+ this.state = 502;
2029
2174
  this.multDivExpression();
2030
- this.state = 490;
2175
+ this.state = 507;
2031
2176
  this._errHandler.sync(this);
2032
2177
  _la = this._input.LA(1);
2033
2178
  }
@@ -2049,17 +2194,17 @@ export default class CypherParser extends antlr4.Parser {
2049
2194
 
2050
2195
  multDivExpression() {
2051
2196
  let localctx = new MultDivExpressionContext(this, this._ctx, this.state);
2052
- this.enterRule(localctx, 86, CypherParser.RULE_multDivExpression);
2197
+ this.enterRule(localctx, 90, CypherParser.RULE_multDivExpression);
2053
2198
  var _la = 0;
2054
2199
  try {
2055
2200
  this.enterOuterAlt(localctx, 1);
2056
- this.state = 491;
2201
+ this.state = 508;
2057
2202
  this.powerExpression();
2058
- this.state = 496;
2203
+ this.state = 513;
2059
2204
  this._errHandler.sync(this);
2060
2205
  _la = this._input.LA(1);
2061
2206
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 11534336) !== 0)) {
2062
- this.state = 492;
2207
+ this.state = 509;
2063
2208
  _la = this._input.LA(1);
2064
2209
  if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 11534336) !== 0))) {
2065
2210
  this._errHandler.recoverInline(this);
@@ -2068,9 +2213,9 @@ export default class CypherParser extends antlr4.Parser {
2068
2213
  this._errHandler.reportMatch(this);
2069
2214
  this.consume();
2070
2215
  }
2071
- this.state = 493;
2216
+ this.state = 510;
2072
2217
  this.powerExpression();
2073
- this.state = 498;
2218
+ this.state = 515;
2074
2219
  this._errHandler.sync(this);
2075
2220
  _la = this._input.LA(1);
2076
2221
  }
@@ -2092,21 +2237,21 @@ export default class CypherParser extends antlr4.Parser {
2092
2237
 
2093
2238
  powerExpression() {
2094
2239
  let localctx = new PowerExpressionContext(this, this._ctx, this.state);
2095
- this.enterRule(localctx, 88, CypherParser.RULE_powerExpression);
2240
+ this.enterRule(localctx, 92, CypherParser.RULE_powerExpression);
2096
2241
  var _la = 0;
2097
2242
  try {
2098
2243
  this.enterOuterAlt(localctx, 1);
2099
- this.state = 499;
2244
+ this.state = 516;
2100
2245
  this.unaryAddSubExpression();
2101
- this.state = 504;
2246
+ this.state = 521;
2102
2247
  this._errHandler.sync(this);
2103
2248
  _la = this._input.LA(1);
2104
2249
  while(_la===22) {
2105
- this.state = 500;
2250
+ this.state = 517;
2106
2251
  this.match(CypherParser.CARET);
2107
- this.state = 501;
2252
+ this.state = 518;
2108
2253
  this.unaryAddSubExpression();
2109
- this.state = 506;
2254
+ this.state = 523;
2110
2255
  this._errHandler.sync(this);
2111
2256
  _la = this._input.LA(1);
2112
2257
  }
@@ -2128,15 +2273,15 @@ export default class CypherParser extends antlr4.Parser {
2128
2273
 
2129
2274
  unaryAddSubExpression() {
2130
2275
  let localctx = new UnaryAddSubExpressionContext(this, this._ctx, this.state);
2131
- this.enterRule(localctx, 90, CypherParser.RULE_unaryAddSubExpression);
2276
+ this.enterRule(localctx, 94, CypherParser.RULE_unaryAddSubExpression);
2132
2277
  var _la = 0;
2133
2278
  try {
2134
2279
  this.enterOuterAlt(localctx, 1);
2135
- this.state = 508;
2280
+ this.state = 525;
2136
2281
  this._errHandler.sync(this);
2137
2282
  _la = this._input.LA(1);
2138
2283
  if(_la===18 || _la===19) {
2139
- this.state = 507;
2284
+ this.state = 524;
2140
2285
  _la = this._input.LA(1);
2141
2286
  if(!(_la===18 || _la===19)) {
2142
2287
  this._errHandler.recoverInline(this);
@@ -2147,7 +2292,7 @@ export default class CypherParser extends antlr4.Parser {
2147
2292
  }
2148
2293
  }
2149
2294
 
2150
- this.state = 510;
2295
+ this.state = 527;
2151
2296
  this.atomicExpression();
2152
2297
  } catch (re) {
2153
2298
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2167,38 +2312,19 @@ export default class CypherParser extends antlr4.Parser {
2167
2312
 
2168
2313
  atomicExpression() {
2169
2314
  let localctx = new AtomicExpressionContext(this, this._ctx, this.state);
2170
- this.enterRule(localctx, 92, CypherParser.RULE_atomicExpression);
2315
+ this.enterRule(localctx, 96, CypherParser.RULE_atomicExpression);
2171
2316
  var _la = 0;
2172
2317
  try {
2173
2318
  this.enterOuterAlt(localctx, 1);
2174
- this.state = 512;
2319
+ this.state = 529;
2175
2320
  this.propertyOrLabelExpression();
2176
- this.state = 518;
2321
+ this.state = 533;
2177
2322
  this._errHandler.sync(this);
2178
2323
  _la = this._input.LA(1);
2179
- while(_la===16 || ((((_la - 62)) & ~0x1f) === 0 && ((1 << (_la - 62)) & 157) !== 0)) {
2180
- this.state = 516;
2181
- this._errHandler.sync(this);
2182
- switch(this._input.LA(1)) {
2183
- case 62:
2184
- case 64:
2185
- case 69:
2186
- this.state = 513;
2187
- this.stringExpression();
2188
- break;
2189
- case 16:
2190
- case 65:
2191
- this.state = 514;
2192
- this.listExpression();
2193
- break;
2194
- case 66:
2195
- this.state = 515;
2196
- this.nullExpression();
2197
- break;
2198
- default:
2199
- throw new antlr4.error.NoViableAltException(this);
2200
- }
2201
- this.state = 520;
2324
+ while(_la===16) {
2325
+ this.state = 530;
2326
+ this.listExpression();
2327
+ this.state = 535;
2202
2328
  this._errHandler.sync(this);
2203
2329
  _la = this._input.LA(1);
2204
2330
  }
@@ -2220,60 +2346,45 @@ export default class CypherParser extends antlr4.Parser {
2220
2346
 
2221
2347
  listExpression() {
2222
2348
  let localctx = new ListExpressionContext(this, this._ctx, this.state);
2223
- this.enterRule(localctx, 94, CypherParser.RULE_listExpression);
2349
+ this.enterRule(localctx, 98, CypherParser.RULE_listExpression);
2224
2350
  var _la = 0;
2225
2351
  try {
2226
- this.state = 535;
2352
+ this.enterOuterAlt(localctx, 1);
2353
+ this.state = 536;
2354
+ this.match(CypherParser.LBRACK);
2355
+ this.state = 545;
2227
2356
  this._errHandler.sync(this);
2228
- switch(this._input.LA(1)) {
2229
- case 65:
2230
- this.enterOuterAlt(localctx, 1);
2231
- this.state = 521;
2232
- this.match(CypherParser.IN);
2233
- this.state = 522;
2234
- this.propertyOrLabelExpression();
2235
- break;
2236
- case 16:
2237
- this.enterOuterAlt(localctx, 2);
2238
- this.state = 523;
2239
- this.match(CypherParser.LBRACK);
2240
- this.state = 532;
2357
+ var la_ = this._interp.adaptivePredict(this._input,55,this._ctx);
2358
+ switch(la_) {
2359
+ case 1:
2360
+ this.state = 538;
2241
2361
  this._errHandler.sync(this);
2242
- var la_ = this._interp.adaptivePredict(this._input,54,this._ctx);
2243
- switch(la_) {
2244
- case 1:
2245
- this.state = 525;
2246
- this._errHandler.sync(this);
2247
- _la = this._input.LA(1);
2248
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
2249
- this.state = 524;
2250
- this.expression();
2251
- }
2252
-
2253
- this.state = 527;
2254
- this.match(CypherParser.RANGE);
2255
- this.state = 529;
2256
- this._errHandler.sync(this);
2257
- _la = this._input.LA(1);
2258
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
2259
- this.state = 528;
2260
- this.expression();
2261
- }
2262
-
2263
- break;
2264
-
2265
- case 2:
2266
- this.state = 531;
2362
+ _la = this._input.LA(1);
2363
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130093169) !== 0)) {
2364
+ this.state = 537;
2267
2365
  this.expression();
2268
- break;
2366
+ }
2269
2367
 
2368
+ this.state = 540;
2369
+ this.match(CypherParser.RANGE);
2370
+ this.state = 542;
2371
+ this._errHandler.sync(this);
2372
+ _la = this._input.LA(1);
2373
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130093169) !== 0)) {
2374
+ this.state = 541;
2375
+ this.expression();
2270
2376
  }
2271
- this.state = 534;
2272
- this.match(CypherParser.RBRACK);
2377
+
2273
2378
  break;
2274
- default:
2275
- throw new antlr4.error.NoViableAltException(this);
2379
+
2380
+ case 2:
2381
+ this.state = 544;
2382
+ this.expression();
2383
+ break;
2384
+
2276
2385
  }
2386
+ this.state = 547;
2387
+ this.match(CypherParser.RBRACK);
2277
2388
  } catch (re) {
2278
2389
  if(re instanceof antlr4.error.RecognitionException) {
2279
2390
  localctx.exception = re;
@@ -2292,13 +2403,13 @@ export default class CypherParser extends antlr4.Parser {
2292
2403
 
2293
2404
  stringExpression() {
2294
2405
  let localctx = new StringExpressionContext(this, this._ctx, this.state);
2295
- this.enterRule(localctx, 96, CypherParser.RULE_stringExpression);
2406
+ this.enterRule(localctx, 100, CypherParser.RULE_stringExpression);
2296
2407
  try {
2297
2408
  this.enterOuterAlt(localctx, 1);
2298
- this.state = 537;
2409
+ this.state = 549;
2299
2410
  this.stringExpPrefix();
2300
- this.state = 538;
2301
- this.propertyOrLabelExpression();
2411
+ this.state = 550;
2412
+ this.addSubExpression();
2302
2413
  } catch (re) {
2303
2414
  if(re instanceof antlr4.error.RecognitionException) {
2304
2415
  localctx.exception = re;
@@ -2317,28 +2428,28 @@ export default class CypherParser extends antlr4.Parser {
2317
2428
 
2318
2429
  stringExpPrefix() {
2319
2430
  let localctx = new StringExpPrefixContext(this, this._ctx, this.state);
2320
- this.enterRule(localctx, 98, CypherParser.RULE_stringExpPrefix);
2431
+ this.enterRule(localctx, 102, CypherParser.RULE_stringExpPrefix);
2321
2432
  try {
2322
- this.state = 545;
2433
+ this.state = 557;
2323
2434
  this._errHandler.sync(this);
2324
2435
  switch(this._input.LA(1)) {
2325
2436
  case 69:
2326
2437
  this.enterOuterAlt(localctx, 1);
2327
- this.state = 540;
2438
+ this.state = 552;
2328
2439
  this.match(CypherParser.STARTS);
2329
- this.state = 541;
2440
+ this.state = 553;
2330
2441
  this.match(CypherParser.WITH);
2331
2442
  break;
2332
2443
  case 64:
2333
2444
  this.enterOuterAlt(localctx, 2);
2334
- this.state = 542;
2445
+ this.state = 554;
2335
2446
  this.match(CypherParser.ENDS);
2336
- this.state = 543;
2447
+ this.state = 555;
2337
2448
  this.match(CypherParser.WITH);
2338
2449
  break;
2339
2450
  case 62:
2340
2451
  this.enterOuterAlt(localctx, 3);
2341
- this.state = 544;
2452
+ this.state = 556;
2342
2453
  this.match(CypherParser.CONTAINS);
2343
2454
  break;
2344
2455
  default:
@@ -2362,21 +2473,21 @@ export default class CypherParser extends antlr4.Parser {
2362
2473
 
2363
2474
  nullExpression() {
2364
2475
  let localctx = new NullExpressionContext(this, this._ctx, this.state);
2365
- this.enterRule(localctx, 100, CypherParser.RULE_nullExpression);
2476
+ this.enterRule(localctx, 104, CypherParser.RULE_nullExpression);
2366
2477
  var _la = 0;
2367
2478
  try {
2368
2479
  this.enterOuterAlt(localctx, 1);
2369
- this.state = 547;
2480
+ this.state = 559;
2370
2481
  this.match(CypherParser.IS);
2371
- this.state = 549;
2482
+ this.state = 561;
2372
2483
  this._errHandler.sync(this);
2373
2484
  _la = this._input.LA(1);
2374
2485
  if(_la===67) {
2375
- this.state = 548;
2486
+ this.state = 560;
2376
2487
  this.match(CypherParser.NOT);
2377
2488
  }
2378
2489
 
2379
- this.state = 551;
2490
+ this.state = 563;
2380
2491
  this.match(CypherParser.NULL_W);
2381
2492
  } catch (re) {
2382
2493
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2396,17 +2507,17 @@ export default class CypherParser extends antlr4.Parser {
2396
2507
 
2397
2508
  propertyOrLabelExpression() {
2398
2509
  let localctx = new PropertyOrLabelExpressionContext(this, this._ctx, this.state);
2399
- this.enterRule(localctx, 102, CypherParser.RULE_propertyOrLabelExpression);
2510
+ this.enterRule(localctx, 106, CypherParser.RULE_propertyOrLabelExpression);
2400
2511
  var _la = 0;
2401
2512
  try {
2402
2513
  this.enterOuterAlt(localctx, 1);
2403
- this.state = 553;
2514
+ this.state = 565;
2404
2515
  this.propertyExpression();
2405
- this.state = 555;
2516
+ this.state = 567;
2406
2517
  this._errHandler.sync(this);
2407
2518
  _la = this._input.LA(1);
2408
2519
  if(_la===25) {
2409
- this.state = 554;
2520
+ this.state = 566;
2410
2521
  this.nodeLabels();
2411
2522
  }
2412
2523
 
@@ -2428,21 +2539,21 @@ export default class CypherParser extends antlr4.Parser {
2428
2539
 
2429
2540
  propertyExpression() {
2430
2541
  let localctx = new PropertyExpressionContext(this, this._ctx, this.state);
2431
- this.enterRule(localctx, 104, CypherParser.RULE_propertyExpression);
2542
+ this.enterRule(localctx, 108, CypherParser.RULE_propertyExpression);
2432
2543
  var _la = 0;
2433
2544
  try {
2434
2545
  this.enterOuterAlt(localctx, 1);
2435
- this.state = 557;
2546
+ this.state = 569;
2436
2547
  this.atom();
2437
- this.state = 562;
2548
+ this.state = 574;
2438
2549
  this._errHandler.sync(this);
2439
2550
  _la = this._input.LA(1);
2440
2551
  while(_la===10) {
2441
- this.state = 558;
2552
+ this.state = 570;
2442
2553
  this.match(CypherParser.DOT);
2443
- this.state = 559;
2554
+ this.state = 571;
2444
2555
  this.name();
2445
- this.state = 564;
2556
+ this.state = 576;
2446
2557
  this._errHandler.sync(this);
2447
2558
  _la = this._input.LA(1);
2448
2559
  }
@@ -2464,21 +2575,21 @@ export default class CypherParser extends antlr4.Parser {
2464
2575
 
2465
2576
  patternPart() {
2466
2577
  let localctx = new PatternPartContext(this, this._ctx, this.state);
2467
- this.enterRule(localctx, 106, CypherParser.RULE_patternPart);
2578
+ this.enterRule(localctx, 110, CypherParser.RULE_patternPart);
2468
2579
  var _la = 0;
2469
2580
  try {
2470
2581
  this.enterOuterAlt(localctx, 1);
2471
- this.state = 568;
2582
+ this.state = 580;
2472
2583
  this._errHandler.sync(this);
2473
2584
  _la = this._input.LA(1);
2474
- if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
2475
- this.state = 565;
2585
+ if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || ((((_la - 83)) & ~0x1f) === 0 && ((1 << (_la - 83)) & 193) !== 0)) {
2586
+ this.state = 577;
2476
2587
  this.symbol();
2477
- this.state = 566;
2588
+ this.state = 578;
2478
2589
  this.match(CypherParser.ASSIGN);
2479
2590
  }
2480
2591
 
2481
- this.state = 570;
2592
+ this.state = 582;
2482
2593
  this.patternElem();
2483
2594
  } catch (re) {
2484
2595
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2498,37 +2609,37 @@ export default class CypherParser extends antlr4.Parser {
2498
2609
 
2499
2610
  patternElem() {
2500
2611
  let localctx = new PatternElemContext(this, this._ctx, this.state);
2501
- this.enterRule(localctx, 108, CypherParser.RULE_patternElem);
2612
+ this.enterRule(localctx, 112, CypherParser.RULE_patternElem);
2502
2613
  var _la = 0;
2503
2614
  try {
2504
- this.state = 586;
2615
+ this.state = 598;
2505
2616
  this._errHandler.sync(this);
2506
2617
  var la_ = this._interp.adaptivePredict(this._input,64,this._ctx);
2507
2618
  switch(la_) {
2508
2619
  case 1:
2509
2620
  this.enterOuterAlt(localctx, 1);
2510
- this.state = 572;
2621
+ this.state = 584;
2511
2622
  this.nodePattern();
2512
- this.state = 577;
2623
+ this.state = 589;
2513
2624
  this._errHandler.sync(this);
2514
2625
  _la = this._input.LA(1);
2515
2626
  while((((_la) & ~0x1f) === 0 && ((1 << _la) & 266304) !== 0)) {
2516
- this.state = 575;
2627
+ this.state = 587;
2517
2628
  this._errHandler.sync(this);
2518
2629
  switch(this._input.LA(1)) {
2519
2630
  case 6:
2520
2631
  case 18:
2521
- this.state = 573;
2632
+ this.state = 585;
2522
2633
  this.patternElemChain();
2523
2634
  break;
2524
2635
  case 12:
2525
- this.state = 574;
2636
+ this.state = 586;
2526
2637
  this.qppElemChain();
2527
2638
  break;
2528
2639
  default:
2529
2640
  throw new antlr4.error.NoViableAltException(this);
2530
2641
  }
2531
- this.state = 579;
2642
+ this.state = 591;
2532
2643
  this._errHandler.sync(this);
2533
2644
  _la = this._input.LA(1);
2534
2645
  }
@@ -2536,17 +2647,17 @@ export default class CypherParser extends antlr4.Parser {
2536
2647
 
2537
2648
  case 2:
2538
2649
  this.enterOuterAlt(localctx, 2);
2539
- this.state = 580;
2650
+ this.state = 592;
2540
2651
  this.match(CypherParser.LPAREN);
2541
- this.state = 581;
2652
+ this.state = 593;
2542
2653
  this.patternElem();
2543
- this.state = 582;
2654
+ this.state = 594;
2544
2655
  this.match(CypherParser.RPAREN);
2545
- this.state = 584;
2656
+ this.state = 596;
2546
2657
  this._errHandler.sync(this);
2547
2658
  _la = this._input.LA(1);
2548
2659
  if((((_la) & ~0x1f) === 0 && ((1 << _la) & 8929280) !== 0)) {
2549
- this.state = 583;
2660
+ this.state = 595;
2550
2661
  this.qppQuantifier();
2551
2662
  }
2552
2663
 
@@ -2571,12 +2682,12 @@ export default class CypherParser extends antlr4.Parser {
2571
2682
 
2572
2683
  patternElemChain() {
2573
2684
  let localctx = new PatternElemChainContext(this, this._ctx, this.state);
2574
- this.enterRule(localctx, 110, CypherParser.RULE_patternElemChain);
2685
+ this.enterRule(localctx, 114, CypherParser.RULE_patternElemChain);
2575
2686
  try {
2576
2687
  this.enterOuterAlt(localctx, 1);
2577
- this.state = 588;
2688
+ this.state = 600;
2578
2689
  this.relationshipPattern();
2579
- this.state = 589;
2690
+ this.state = 601;
2580
2691
  this.nodePattern();
2581
2692
  } catch (re) {
2582
2693
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2596,18 +2707,18 @@ export default class CypherParser extends antlr4.Parser {
2596
2707
 
2597
2708
  qppElemChain() {
2598
2709
  let localctx = new QppElemChainContext(this, this._ctx, this.state);
2599
- this.enterRule(localctx, 112, CypherParser.RULE_qppElemChain);
2710
+ this.enterRule(localctx, 116, CypherParser.RULE_qppElemChain);
2600
2711
  try {
2601
2712
  this.enterOuterAlt(localctx, 1);
2602
- this.state = 591;
2713
+ this.state = 603;
2603
2714
  this.match(CypherParser.LPAREN);
2604
- this.state = 592;
2715
+ this.state = 604;
2605
2716
  this.patternElem();
2606
- this.state = 593;
2717
+ this.state = 605;
2607
2718
  this.match(CypherParser.RPAREN);
2608
- this.state = 594;
2719
+ this.state = 606;
2609
2720
  this.qppQuantifier();
2610
- this.state = 595;
2721
+ this.state = 607;
2611
2722
  this.nodePattern();
2612
2723
  } catch (re) {
2613
2724
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2627,79 +2738,79 @@ export default class CypherParser extends antlr4.Parser {
2627
2738
 
2628
2739
  qppQuantifier() {
2629
2740
  let localctx = new QppQuantifierContext(this, this._ctx, this.state);
2630
- this.enterRule(localctx, 114, CypherParser.RULE_qppQuantifier);
2741
+ this.enterRule(localctx, 118, CypherParser.RULE_qppQuantifier);
2631
2742
  try {
2632
- this.state = 622;
2743
+ this.state = 634;
2633
2744
  this._errHandler.sync(this);
2634
2745
  var la_ = this._interp.adaptivePredict(this._input,65,this._ctx);
2635
2746
  switch(la_) {
2636
2747
  case 1:
2637
2748
  this.enterOuterAlt(localctx, 1);
2638
- this.state = 597;
2749
+ this.state = 609;
2639
2750
  this.match(CypherParser.LBRACE);
2640
- this.state = 598;
2751
+ this.state = 610;
2641
2752
  this.qppInt();
2642
- this.state = 599;
2753
+ this.state = 611;
2643
2754
  this.match(CypherParser.COMMA);
2644
- this.state = 600;
2755
+ this.state = 612;
2645
2756
  this.qppInt();
2646
- this.state = 601;
2757
+ this.state = 613;
2647
2758
  this.match(CypherParser.RBRACE);
2648
2759
  break;
2649
2760
 
2650
2761
  case 2:
2651
2762
  this.enterOuterAlt(localctx, 2);
2652
- this.state = 603;
2763
+ this.state = 615;
2653
2764
  this.match(CypherParser.LBRACE);
2654
- this.state = 604;
2765
+ this.state = 616;
2655
2766
  this.qppInt();
2656
- this.state = 605;
2767
+ this.state = 617;
2657
2768
  this.match(CypherParser.RBRACE);
2658
2769
  break;
2659
2770
 
2660
2771
  case 3:
2661
2772
  this.enterOuterAlt(localctx, 3);
2662
- this.state = 607;
2773
+ this.state = 619;
2663
2774
  this.match(CypherParser.LBRACE);
2664
- this.state = 608;
2775
+ this.state = 620;
2665
2776
  this.qppInt();
2666
- this.state = 609;
2777
+ this.state = 621;
2667
2778
  this.match(CypherParser.COMMA);
2668
- this.state = 610;
2779
+ this.state = 622;
2669
2780
  this.match(CypherParser.RBRACE);
2670
2781
  break;
2671
2782
 
2672
2783
  case 4:
2673
2784
  this.enterOuterAlt(localctx, 4);
2674
- this.state = 612;
2785
+ this.state = 624;
2675
2786
  this.match(CypherParser.LBRACE);
2676
- this.state = 613;
2787
+ this.state = 625;
2677
2788
  this.match(CypherParser.COMMA);
2678
- this.state = 614;
2789
+ this.state = 626;
2679
2790
  this.qppInt();
2680
- this.state = 615;
2791
+ this.state = 627;
2681
2792
  this.match(CypherParser.RBRACE);
2682
2793
  break;
2683
2794
 
2684
2795
  case 5:
2685
2796
  this.enterOuterAlt(localctx, 5);
2686
- this.state = 617;
2797
+ this.state = 629;
2687
2798
  this.match(CypherParser.LBRACE);
2688
- this.state = 618;
2799
+ this.state = 630;
2689
2800
  this.match(CypherParser.COMMA);
2690
- this.state = 619;
2801
+ this.state = 631;
2691
2802
  this.match(CypherParser.RBRACE);
2692
2803
  break;
2693
2804
 
2694
2805
  case 6:
2695
2806
  this.enterOuterAlt(localctx, 6);
2696
- this.state = 620;
2807
+ this.state = 632;
2697
2808
  this.match(CypherParser.PLUS);
2698
2809
  break;
2699
2810
 
2700
2811
  case 7:
2701
2812
  this.enterOuterAlt(localctx, 7);
2702
- this.state = 621;
2813
+ this.state = 633;
2703
2814
  this.match(CypherParser.MULT);
2704
2815
  break;
2705
2816
 
@@ -2722,11 +2833,11 @@ export default class CypherParser extends antlr4.Parser {
2722
2833
 
2723
2834
  qppInt() {
2724
2835
  let localctx = new QppIntContext(this, this._ctx, this.state);
2725
- this.enterRule(localctx, 116, CypherParser.RULE_qppInt);
2836
+ this.enterRule(localctx, 120, CypherParser.RULE_qppInt);
2726
2837
  var _la = 0;
2727
2838
  try {
2728
2839
  this.enterOuterAlt(localctx, 1);
2729
- this.state = 624;
2840
+ this.state = 636;
2730
2841
  _la = this._input.LA(1);
2731
2842
  if(!(_la===89 || _la===93)) {
2732
2843
  this._errHandler.recoverInline(this);
@@ -2753,19 +2864,19 @@ export default class CypherParser extends antlr4.Parser {
2753
2864
 
2754
2865
  properties() {
2755
2866
  let localctx = new PropertiesContext(this, this._ctx, this.state);
2756
- this.enterRule(localctx, 118, CypherParser.RULE_properties);
2867
+ this.enterRule(localctx, 122, CypherParser.RULE_properties);
2757
2868
  try {
2758
- this.state = 628;
2869
+ this.state = 640;
2759
2870
  this._errHandler.sync(this);
2760
2871
  switch(this._input.LA(1)) {
2761
2872
  case 14:
2762
2873
  this.enterOuterAlt(localctx, 1);
2763
- this.state = 626;
2874
+ this.state = 638;
2764
2875
  this.mapLit();
2765
2876
  break;
2766
2877
  case 27:
2767
2878
  this.enterOuterAlt(localctx, 2);
2768
- this.state = 627;
2879
+ this.state = 639;
2769
2880
  this.parameter();
2770
2881
  break;
2771
2882
  default:
@@ -2789,37 +2900,37 @@ export default class CypherParser extends antlr4.Parser {
2789
2900
 
2790
2901
  nodePattern() {
2791
2902
  let localctx = new NodePatternContext(this, this._ctx, this.state);
2792
- this.enterRule(localctx, 120, CypherParser.RULE_nodePattern);
2903
+ this.enterRule(localctx, 124, CypherParser.RULE_nodePattern);
2793
2904
  var _la = 0;
2794
2905
  try {
2795
2906
  this.enterOuterAlt(localctx, 1);
2796
- this.state = 630;
2907
+ this.state = 642;
2797
2908
  this.match(CypherParser.LPAREN);
2798
- this.state = 632;
2909
+ this.state = 644;
2799
2910
  this._errHandler.sync(this);
2800
2911
  _la = this._input.LA(1);
2801
- if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
2802
- this.state = 631;
2912
+ if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || ((((_la - 83)) & ~0x1f) === 0 && ((1 << (_la - 83)) & 193) !== 0)) {
2913
+ this.state = 643;
2803
2914
  this.symbol();
2804
2915
  }
2805
2916
 
2806
- this.state = 635;
2917
+ this.state = 647;
2807
2918
  this._errHandler.sync(this);
2808
2919
  _la = this._input.LA(1);
2809
2920
  if(_la===25) {
2810
- this.state = 634;
2921
+ this.state = 646;
2811
2922
  this.nodeLabels();
2812
2923
  }
2813
2924
 
2814
- this.state = 638;
2925
+ this.state = 650;
2815
2926
  this._errHandler.sync(this);
2816
2927
  _la = this._input.LA(1);
2817
2928
  if(_la===14 || _la===27) {
2818
- this.state = 637;
2929
+ this.state = 649;
2819
2930
  this.properties();
2820
2931
  }
2821
2932
 
2822
- this.state = 640;
2933
+ this.state = 652;
2823
2934
  this.match(CypherParser.RPAREN);
2824
2935
  } catch (re) {
2825
2936
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2839,81 +2950,81 @@ export default class CypherParser extends antlr4.Parser {
2839
2950
 
2840
2951
  atom() {
2841
2952
  let localctx = new AtomContext(this, this._ctx, this.state);
2842
- this.enterRule(localctx, 122, CypherParser.RULE_atom);
2953
+ this.enterRule(localctx, 126, CypherParser.RULE_atom);
2843
2954
  try {
2844
- this.state = 654;
2955
+ this.state = 666;
2845
2956
  this._errHandler.sync(this);
2846
2957
  var la_ = this._interp.adaptivePredict(this._input,70,this._ctx);
2847
2958
  switch(la_) {
2848
2959
  case 1:
2849
2960
  this.enterOuterAlt(localctx, 1);
2850
- this.state = 642;
2851
- this.literal();
2961
+ this.state = 654;
2962
+ this.listComprehension();
2852
2963
  break;
2853
2964
 
2854
2965
  case 2:
2855
2966
  this.enterOuterAlt(localctx, 2);
2856
- this.state = 643;
2857
- this.parameter();
2967
+ this.state = 655;
2968
+ this.literal();
2858
2969
  break;
2859
2970
 
2860
2971
  case 3:
2861
2972
  this.enterOuterAlt(localctx, 3);
2862
- this.state = 644;
2863
- this.caseExpression();
2973
+ this.state = 656;
2974
+ this.parameter();
2864
2975
  break;
2865
2976
 
2866
2977
  case 4:
2867
2978
  this.enterOuterAlt(localctx, 4);
2868
- this.state = 645;
2869
- this.countAll();
2979
+ this.state = 657;
2980
+ this.caseExpression();
2870
2981
  break;
2871
2982
 
2872
2983
  case 5:
2873
2984
  this.enterOuterAlt(localctx, 5);
2874
- this.state = 646;
2875
- this.listComprehension();
2985
+ this.state = 658;
2986
+ this.countAll();
2876
2987
  break;
2877
2988
 
2878
2989
  case 6:
2879
2990
  this.enterOuterAlt(localctx, 6);
2880
- this.state = 647;
2991
+ this.state = 659;
2881
2992
  this.patternComprehension();
2882
2993
  break;
2883
2994
 
2884
2995
  case 7:
2885
2996
  this.enterOuterAlt(localctx, 7);
2886
- this.state = 648;
2997
+ this.state = 660;
2887
2998
  this.filterWith();
2888
2999
  break;
2889
3000
 
2890
3001
  case 8:
2891
3002
  this.enterOuterAlt(localctx, 8);
2892
- this.state = 649;
3003
+ this.state = 661;
2893
3004
  this.relationshipsChainPattern();
2894
3005
  break;
2895
3006
 
2896
3007
  case 9:
2897
3008
  this.enterOuterAlt(localctx, 9);
2898
- this.state = 650;
3009
+ this.state = 662;
2899
3010
  this.parenthesizedExpression();
2900
3011
  break;
2901
3012
 
2902
3013
  case 10:
2903
3014
  this.enterOuterAlt(localctx, 10);
2904
- this.state = 651;
3015
+ this.state = 663;
2905
3016
  this.functionInvocation();
2906
3017
  break;
2907
3018
 
2908
3019
  case 11:
2909
3020
  this.enterOuterAlt(localctx, 11);
2910
- this.state = 652;
3021
+ this.state = 664;
2911
3022
  this.symbol();
2912
3023
  break;
2913
3024
 
2914
3025
  case 12:
2915
3026
  this.enterOuterAlt(localctx, 12);
2916
- this.state = 653;
3027
+ this.state = 665;
2917
3028
  this.subqueryExist();
2918
3029
  break;
2919
3030
 
@@ -2936,12 +3047,12 @@ export default class CypherParser extends antlr4.Parser {
2936
3047
 
2937
3048
  lhs() {
2938
3049
  let localctx = new LhsContext(this, this._ctx, this.state);
2939
- this.enterRule(localctx, 124, CypherParser.RULE_lhs);
3050
+ this.enterRule(localctx, 128, CypherParser.RULE_lhs);
2940
3051
  try {
2941
3052
  this.enterOuterAlt(localctx, 1);
2942
- this.state = 656;
3053
+ this.state = 668;
2943
3054
  this.symbol();
2944
- this.state = 657;
3055
+ this.state = 669;
2945
3056
  this.match(CypherParser.ASSIGN);
2946
3057
  } catch (re) {
2947
3058
  if(re instanceof antlr4.error.RecognitionException) {
@@ -2961,56 +3072,56 @@ export default class CypherParser extends antlr4.Parser {
2961
3072
 
2962
3073
  relationshipPattern() {
2963
3074
  let localctx = new RelationshipPatternContext(this, this._ctx, this.state);
2964
- this.enterRule(localctx, 126, CypherParser.RULE_relationshipPattern);
3075
+ this.enterRule(localctx, 130, CypherParser.RULE_relationshipPattern);
2965
3076
  var _la = 0;
2966
3077
  try {
2967
- this.state = 676;
3078
+ this.state = 688;
2968
3079
  this._errHandler.sync(this);
2969
3080
  switch(this._input.LA(1)) {
2970
3081
  case 6:
2971
3082
  this.enterOuterAlt(localctx, 1);
2972
- this.state = 659;
3083
+ this.state = 671;
2973
3084
  this.match(CypherParser.LT);
2974
- this.state = 660;
3085
+ this.state = 672;
2975
3086
  this.match(CypherParser.SUB);
2976
- this.state = 662;
3087
+ this.state = 674;
2977
3088
  this._errHandler.sync(this);
2978
3089
  _la = this._input.LA(1);
2979
3090
  if(_la===16) {
2980
- this.state = 661;
3091
+ this.state = 673;
2981
3092
  this.relationDetail();
2982
3093
  }
2983
3094
 
2984
- this.state = 664;
3095
+ this.state = 676;
2985
3096
  this.match(CypherParser.SUB);
2986
- this.state = 666;
3097
+ this.state = 678;
2987
3098
  this._errHandler.sync(this);
2988
3099
  _la = this._input.LA(1);
2989
3100
  if(_la===5) {
2990
- this.state = 665;
3101
+ this.state = 677;
2991
3102
  this.match(CypherParser.GT);
2992
3103
  }
2993
3104
 
2994
3105
  break;
2995
3106
  case 18:
2996
3107
  this.enterOuterAlt(localctx, 2);
2997
- this.state = 668;
3108
+ this.state = 680;
2998
3109
  this.match(CypherParser.SUB);
2999
- this.state = 670;
3110
+ this.state = 682;
3000
3111
  this._errHandler.sync(this);
3001
3112
  _la = this._input.LA(1);
3002
3113
  if(_la===16) {
3003
- this.state = 669;
3114
+ this.state = 681;
3004
3115
  this.relationDetail();
3005
3116
  }
3006
3117
 
3007
- this.state = 672;
3118
+ this.state = 684;
3008
3119
  this.match(CypherParser.SUB);
3009
- this.state = 674;
3120
+ this.state = 686;
3010
3121
  this._errHandler.sync(this);
3011
3122
  _la = this._input.LA(1);
3012
3123
  if(_la===5) {
3013
- this.state = 673;
3124
+ this.state = 685;
3014
3125
  this.match(CypherParser.GT);
3015
3126
  }
3016
3127
 
@@ -3036,45 +3147,45 @@ export default class CypherParser extends antlr4.Parser {
3036
3147
 
3037
3148
  relationDetail() {
3038
3149
  let localctx = new RelationDetailContext(this, this._ctx, this.state);
3039
- this.enterRule(localctx, 128, CypherParser.RULE_relationDetail);
3150
+ this.enterRule(localctx, 132, CypherParser.RULE_relationDetail);
3040
3151
  var _la = 0;
3041
3152
  try {
3042
3153
  this.enterOuterAlt(localctx, 1);
3043
- this.state = 678;
3154
+ this.state = 690;
3044
3155
  this.match(CypherParser.LBRACK);
3045
- this.state = 680;
3156
+ this.state = 692;
3046
3157
  this._errHandler.sync(this);
3047
3158
  _la = this._input.LA(1);
3048
- if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
3049
- this.state = 679;
3159
+ if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || ((((_la - 83)) & ~0x1f) === 0 && ((1 << (_la - 83)) & 193) !== 0)) {
3160
+ this.state = 691;
3050
3161
  this.symbol();
3051
3162
  }
3052
3163
 
3053
- this.state = 683;
3164
+ this.state = 695;
3054
3165
  this._errHandler.sync(this);
3055
3166
  _la = this._input.LA(1);
3056
3167
  if(_la===25) {
3057
- this.state = 682;
3168
+ this.state = 694;
3058
3169
  this.relationshipTypes();
3059
3170
  }
3060
3171
 
3061
- this.state = 686;
3172
+ this.state = 698;
3062
3173
  this._errHandler.sync(this);
3063
3174
  _la = this._input.LA(1);
3064
3175
  if(_la===23) {
3065
- this.state = 685;
3176
+ this.state = 697;
3066
3177
  this.rangeLit();
3067
3178
  }
3068
3179
 
3069
- this.state = 689;
3180
+ this.state = 701;
3070
3181
  this._errHandler.sync(this);
3071
3182
  _la = this._input.LA(1);
3072
3183
  if(_la===14 || _la===27) {
3073
- this.state = 688;
3184
+ this.state = 700;
3074
3185
  this.properties();
3075
3186
  }
3076
3187
 
3077
- this.state = 691;
3188
+ this.state = 703;
3078
3189
  this.match(CypherParser.RBRACK);
3079
3190
  } catch (re) {
3080
3191
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3094,31 +3205,31 @@ export default class CypherParser extends antlr4.Parser {
3094
3205
 
3095
3206
  relationshipTypes() {
3096
3207
  let localctx = new RelationshipTypesContext(this, this._ctx, this.state);
3097
- this.enterRule(localctx, 130, CypherParser.RULE_relationshipTypes);
3208
+ this.enterRule(localctx, 134, CypherParser.RULE_relationshipTypes);
3098
3209
  var _la = 0;
3099
3210
  try {
3100
3211
  this.enterOuterAlt(localctx, 1);
3101
- this.state = 693;
3212
+ this.state = 705;
3102
3213
  this.match(CypherParser.COLON);
3103
- this.state = 694;
3214
+ this.state = 706;
3104
3215
  this.name();
3105
- this.state = 702;
3216
+ this.state = 714;
3106
3217
  this._errHandler.sync(this);
3107
3218
  _la = this._input.LA(1);
3108
3219
  while(_la===26) {
3109
- this.state = 695;
3220
+ this.state = 707;
3110
3221
  this.match(CypherParser.STICK);
3111
- this.state = 697;
3222
+ this.state = 709;
3112
3223
  this._errHandler.sync(this);
3113
3224
  _la = this._input.LA(1);
3114
3225
  if(_la===25) {
3115
- this.state = 696;
3226
+ this.state = 708;
3116
3227
  this.match(CypherParser.COLON);
3117
3228
  }
3118
3229
 
3119
- this.state = 699;
3230
+ this.state = 711;
3120
3231
  this.name();
3121
- this.state = 704;
3232
+ this.state = 716;
3122
3233
  this._errHandler.sync(this);
3123
3234
  _la = this._input.LA(1);
3124
3235
  }
@@ -3140,21 +3251,21 @@ export default class CypherParser extends antlr4.Parser {
3140
3251
 
3141
3252
  unionSt() {
3142
3253
  let localctx = new UnionStContext(this, this._ctx, this.state);
3143
- this.enterRule(localctx, 132, CypherParser.RULE_unionSt);
3254
+ this.enterRule(localctx, 136, CypherParser.RULE_unionSt);
3144
3255
  var _la = 0;
3145
3256
  try {
3146
3257
  this.enterOuterAlt(localctx, 1);
3147
- this.state = 705;
3258
+ this.state = 717;
3148
3259
  this.match(CypherParser.UNION);
3149
- this.state = 707;
3260
+ this.state = 719;
3150
3261
  this._errHandler.sync(this);
3151
3262
  _la = this._input.LA(1);
3152
3263
  if(_la===36) {
3153
- this.state = 706;
3264
+ this.state = 718;
3154
3265
  this.match(CypherParser.ALL);
3155
3266
  }
3156
3267
 
3157
- this.state = 709;
3268
+ this.state = 721;
3158
3269
  this.singleQuery();
3159
3270
  } catch (re) {
3160
3271
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3174,14 +3285,14 @@ export default class CypherParser extends antlr4.Parser {
3174
3285
 
3175
3286
  subqueryExist() {
3176
3287
  let localctx = new SubqueryExistContext(this, this._ctx, this.state);
3177
- this.enterRule(localctx, 134, CypherParser.RULE_subqueryExist);
3288
+ this.enterRule(localctx, 138, CypherParser.RULE_subqueryExist);
3178
3289
  try {
3179
3290
  this.enterOuterAlt(localctx, 1);
3180
- this.state = 711;
3291
+ this.state = 723;
3181
3292
  this.match(CypherParser.EXISTS);
3182
- this.state = 712;
3293
+ this.state = 724;
3183
3294
  this.match(CypherParser.LBRACE);
3184
- this.state = 715;
3295
+ this.state = 727;
3185
3296
  this._errHandler.sync(this);
3186
3297
  switch(this._input.LA(1)) {
3187
3298
  case 28:
@@ -3196,7 +3307,7 @@ export default class CypherParser extends antlr4.Parser {
3196
3307
  case 54:
3197
3308
  case 57:
3198
3309
  case 59:
3199
- this.state = 713;
3310
+ this.state = 725;
3200
3311
  this.regularQuery();
3201
3312
  break;
3202
3313
  case 12:
@@ -3206,15 +3317,16 @@ export default class CypherParser extends antlr4.Parser {
3206
3317
  case 33:
3207
3318
  case 34:
3208
3319
  case 35:
3320
+ case 83:
3209
3321
  case 89:
3210
3322
  case 90:
3211
- this.state = 714;
3323
+ this.state = 726;
3212
3324
  this.patternWhere();
3213
3325
  break;
3214
3326
  default:
3215
3327
  throw new antlr4.error.NoViableAltException(this);
3216
3328
  }
3217
- this.state = 717;
3329
+ this.state = 729;
3218
3330
  this.match(CypherParser.RBRACE);
3219
3331
  } catch (re) {
3220
3332
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3234,21 +3346,21 @@ export default class CypherParser extends antlr4.Parser {
3234
3346
 
3235
3347
  invocationName() {
3236
3348
  let localctx = new InvocationNameContext(this, this._ctx, this.state);
3237
- this.enterRule(localctx, 136, CypherParser.RULE_invocationName);
3349
+ this.enterRule(localctx, 140, CypherParser.RULE_invocationName);
3238
3350
  var _la = 0;
3239
3351
  try {
3240
3352
  this.enterOuterAlt(localctx, 1);
3241
- this.state = 719;
3353
+ this.state = 731;
3242
3354
  this.symbol();
3243
- this.state = 724;
3355
+ this.state = 736;
3244
3356
  this._errHandler.sync(this);
3245
3357
  _la = this._input.LA(1);
3246
3358
  while(_la===10) {
3247
- this.state = 720;
3359
+ this.state = 732;
3248
3360
  this.match(CypherParser.DOT);
3249
- this.state = 721;
3361
+ this.state = 733;
3250
3362
  this.symbol();
3251
- this.state = 726;
3363
+ this.state = 738;
3252
3364
  this._errHandler.sync(this);
3253
3365
  _la = this._input.LA(1);
3254
3366
  }
@@ -3270,31 +3382,31 @@ export default class CypherParser extends antlr4.Parser {
3270
3382
 
3271
3383
  functionInvocation() {
3272
3384
  let localctx = new FunctionInvocationContext(this, this._ctx, this.state);
3273
- this.enterRule(localctx, 138, CypherParser.RULE_functionInvocation);
3385
+ this.enterRule(localctx, 142, CypherParser.RULE_functionInvocation);
3274
3386
  var _la = 0;
3275
3387
  try {
3276
3388
  this.enterOuterAlt(localctx, 1);
3277
- this.state = 727;
3389
+ this.state = 739;
3278
3390
  this.invocationName();
3279
- this.state = 728;
3391
+ this.state = 740;
3280
3392
  this.match(CypherParser.LPAREN);
3281
- this.state = 730;
3393
+ this.state = 742;
3282
3394
  this._errHandler.sync(this);
3283
3395
  _la = this._input.LA(1);
3284
3396
  if(_la===63) {
3285
- this.state = 729;
3397
+ this.state = 741;
3286
3398
  this.match(CypherParser.DISTINCT);
3287
3399
  }
3288
3400
 
3289
- this.state = 733;
3401
+ this.state = 745;
3290
3402
  this._errHandler.sync(this);
3291
3403
  _la = this._input.LA(1);
3292
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
3293
- this.state = 732;
3404
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130093169) !== 0)) {
3405
+ this.state = 744;
3294
3406
  this.expressionChain();
3295
3407
  }
3296
3408
 
3297
- this.state = 735;
3409
+ this.state = 747;
3298
3410
  this.match(CypherParser.RPAREN);
3299
3411
  } catch (re) {
3300
3412
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3314,14 +3426,14 @@ export default class CypherParser extends antlr4.Parser {
3314
3426
 
3315
3427
  parenthesizedExpression() {
3316
3428
  let localctx = new ParenthesizedExpressionContext(this, this._ctx, this.state);
3317
- this.enterRule(localctx, 140, CypherParser.RULE_parenthesizedExpression);
3429
+ this.enterRule(localctx, 144, CypherParser.RULE_parenthesizedExpression);
3318
3430
  try {
3319
3431
  this.enterOuterAlt(localctx, 1);
3320
- this.state = 737;
3432
+ this.state = 749;
3321
3433
  this.match(CypherParser.LPAREN);
3322
- this.state = 738;
3434
+ this.state = 750;
3323
3435
  this.expression();
3324
- this.state = 739;
3436
+ this.state = 751;
3325
3437
  this.match(CypherParser.RPAREN);
3326
3438
  } catch (re) {
3327
3439
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3341,11 +3453,11 @@ export default class CypherParser extends antlr4.Parser {
3341
3453
 
3342
3454
  filterWith() {
3343
3455
  let localctx = new FilterWithContext(this, this._ctx, this.state);
3344
- this.enterRule(localctx, 142, CypherParser.RULE_filterWith);
3456
+ this.enterRule(localctx, 146, CypherParser.RULE_filterWith);
3345
3457
  var _la = 0;
3346
3458
  try {
3347
3459
  this.enterOuterAlt(localctx, 1);
3348
- this.state = 741;
3460
+ this.state = 753;
3349
3461
  _la = this._input.LA(1);
3350
3462
  if(!(((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 15) !== 0))) {
3351
3463
  this._errHandler.recoverInline(this);
@@ -3354,11 +3466,11 @@ export default class CypherParser extends antlr4.Parser {
3354
3466
  this._errHandler.reportMatch(this);
3355
3467
  this.consume();
3356
3468
  }
3357
- this.state = 742;
3469
+ this.state = 754;
3358
3470
  this.match(CypherParser.LPAREN);
3359
- this.state = 743;
3471
+ this.state = 755;
3360
3472
  this.filterExpression();
3361
- this.state = 744;
3473
+ this.state = 756;
3362
3474
  this.match(CypherParser.RPAREN);
3363
3475
  } catch (re) {
3364
3476
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3378,35 +3490,35 @@ export default class CypherParser extends antlr4.Parser {
3378
3490
 
3379
3491
  patternComprehension() {
3380
3492
  let localctx = new PatternComprehensionContext(this, this._ctx, this.state);
3381
- this.enterRule(localctx, 144, CypherParser.RULE_patternComprehension);
3493
+ this.enterRule(localctx, 148, CypherParser.RULE_patternComprehension);
3382
3494
  var _la = 0;
3383
3495
  try {
3384
3496
  this.enterOuterAlt(localctx, 1);
3385
- this.state = 746;
3497
+ this.state = 758;
3386
3498
  this.match(CypherParser.LBRACK);
3387
- this.state = 748;
3499
+ this.state = 760;
3388
3500
  this._errHandler.sync(this);
3389
3501
  _la = this._input.LA(1);
3390
- if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90) {
3391
- this.state = 747;
3502
+ if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || ((((_la - 83)) & ~0x1f) === 0 && ((1 << (_la - 83)) & 193) !== 0)) {
3503
+ this.state = 759;
3392
3504
  this.lhs();
3393
3505
  }
3394
3506
 
3395
- this.state = 750;
3507
+ this.state = 762;
3396
3508
  this.relationshipsChainPattern();
3397
- this.state = 752;
3509
+ this.state = 764;
3398
3510
  this._errHandler.sync(this);
3399
3511
  _la = this._input.LA(1);
3400
3512
  if(_la===56) {
3401
- this.state = 751;
3513
+ this.state = 763;
3402
3514
  this.where();
3403
3515
  }
3404
3516
 
3405
- this.state = 754;
3517
+ this.state = 766;
3406
3518
  this.match(CypherParser.STICK);
3407
- this.state = 755;
3519
+ this.state = 767;
3408
3520
  this.expression();
3409
- this.state = 756;
3521
+ this.state = 768;
3410
3522
  this.match(CypherParser.RBRACK);
3411
3523
  } catch (re) {
3412
3524
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3426,24 +3538,24 @@ export default class CypherParser extends antlr4.Parser {
3426
3538
 
3427
3539
  relationshipsChainPattern() {
3428
3540
  let localctx = new RelationshipsChainPatternContext(this, this._ctx, this.state);
3429
- this.enterRule(localctx, 146, CypherParser.RULE_relationshipsChainPattern);
3541
+ this.enterRule(localctx, 150, CypherParser.RULE_relationshipsChainPattern);
3430
3542
  try {
3431
3543
  this.enterOuterAlt(localctx, 1);
3432
- this.state = 758;
3544
+ this.state = 770;
3433
3545
  this.nodePattern();
3434
- this.state = 760;
3546
+ this.state = 772;
3435
3547
  this._errHandler.sync(this);
3436
3548
  var _alt = 1;
3437
3549
  do {
3438
3550
  switch (_alt) {
3439
3551
  case 1:
3440
- this.state = 759;
3552
+ this.state = 771;
3441
3553
  this.patternElemChain();
3442
3554
  break;
3443
3555
  default:
3444
3556
  throw new antlr4.error.NoViableAltException(this);
3445
3557
  }
3446
- this.state = 762;
3558
+ this.state = 774;
3447
3559
  this._errHandler.sync(this);
3448
3560
  _alt = this._interp.adaptivePredict(this._input,89, this._ctx);
3449
3561
  } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER );
@@ -3465,25 +3577,25 @@ export default class CypherParser extends antlr4.Parser {
3465
3577
 
3466
3578
  listComprehension() {
3467
3579
  let localctx = new ListComprehensionContext(this, this._ctx, this.state);
3468
- this.enterRule(localctx, 148, CypherParser.RULE_listComprehension);
3580
+ this.enterRule(localctx, 152, CypherParser.RULE_listComprehension);
3469
3581
  var _la = 0;
3470
3582
  try {
3471
3583
  this.enterOuterAlt(localctx, 1);
3472
- this.state = 764;
3584
+ this.state = 776;
3473
3585
  this.match(CypherParser.LBRACK);
3474
- this.state = 765;
3586
+ this.state = 777;
3475
3587
  this.filterExpression();
3476
- this.state = 768;
3588
+ this.state = 780;
3477
3589
  this._errHandler.sync(this);
3478
3590
  _la = this._input.LA(1);
3479
3591
  if(_la===26) {
3480
- this.state = 766;
3592
+ this.state = 778;
3481
3593
  this.match(CypherParser.STICK);
3482
- this.state = 767;
3594
+ this.state = 779;
3483
3595
  this.expression();
3484
3596
  }
3485
3597
 
3486
- this.state = 770;
3598
+ this.state = 782;
3487
3599
  this.match(CypherParser.RBRACK);
3488
3600
  } catch (re) {
3489
3601
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3503,21 +3615,21 @@ export default class CypherParser extends antlr4.Parser {
3503
3615
 
3504
3616
  filterExpression() {
3505
3617
  let localctx = new FilterExpressionContext(this, this._ctx, this.state);
3506
- this.enterRule(localctx, 150, CypherParser.RULE_filterExpression);
3618
+ this.enterRule(localctx, 154, CypherParser.RULE_filterExpression);
3507
3619
  var _la = 0;
3508
3620
  try {
3509
3621
  this.enterOuterAlt(localctx, 1);
3510
- this.state = 772;
3622
+ this.state = 784;
3511
3623
  this.symbol();
3512
- this.state = 773;
3624
+ this.state = 785;
3513
3625
  this.match(CypherParser.IN);
3514
- this.state = 774;
3626
+ this.state = 786;
3515
3627
  this.expression();
3516
- this.state = 776;
3628
+ this.state = 788;
3517
3629
  this._errHandler.sync(this);
3518
3630
  _la = this._input.LA(1);
3519
3631
  if(_la===56) {
3520
- this.state = 775;
3632
+ this.state = 787;
3521
3633
  this.where();
3522
3634
  }
3523
3635
 
@@ -3539,16 +3651,16 @@ export default class CypherParser extends antlr4.Parser {
3539
3651
 
3540
3652
  countAll() {
3541
3653
  let localctx = new CountAllContext(this, this._ctx, this.state);
3542
- this.enterRule(localctx, 152, CypherParser.RULE_countAll);
3654
+ this.enterRule(localctx, 156, CypherParser.RULE_countAll);
3543
3655
  try {
3544
3656
  this.enterOuterAlt(localctx, 1);
3545
- this.state = 778;
3657
+ this.state = 790;
3546
3658
  this.match(CypherParser.COUNT);
3547
- this.state = 779;
3659
+ this.state = 791;
3548
3660
  this.match(CypherParser.LPAREN);
3549
- this.state = 780;
3661
+ this.state = 792;
3550
3662
  this.match(CypherParser.MULT);
3551
- this.state = 781;
3663
+ this.state = 793;
3552
3664
  this.match(CypherParser.RPAREN);
3553
3665
  } catch (re) {
3554
3666
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3568,21 +3680,21 @@ export default class CypherParser extends antlr4.Parser {
3568
3680
 
3569
3681
  expressionChain() {
3570
3682
  let localctx = new ExpressionChainContext(this, this._ctx, this.state);
3571
- this.enterRule(localctx, 154, CypherParser.RULE_expressionChain);
3683
+ this.enterRule(localctx, 158, CypherParser.RULE_expressionChain);
3572
3684
  var _la = 0;
3573
3685
  try {
3574
3686
  this.enterOuterAlt(localctx, 1);
3575
- this.state = 783;
3687
+ this.state = 795;
3576
3688
  this.expression();
3577
- this.state = 788;
3689
+ this.state = 800;
3578
3690
  this._errHandler.sync(this);
3579
3691
  _la = this._input.LA(1);
3580
3692
  while(_la===11) {
3581
- this.state = 784;
3693
+ this.state = 796;
3582
3694
  this.match(CypherParser.COMMA);
3583
- this.state = 785;
3695
+ this.state = 797;
3584
3696
  this.expression();
3585
- this.state = 790;
3697
+ this.state = 802;
3586
3698
  this._errHandler.sync(this);
3587
3699
  _la = this._input.LA(1);
3588
3700
  }
@@ -3604,47 +3716,47 @@ export default class CypherParser extends antlr4.Parser {
3604
3716
 
3605
3717
  caseExpression() {
3606
3718
  let localctx = new CaseExpressionContext(this, this._ctx, this.state);
3607
- this.enterRule(localctx, 156, CypherParser.RULE_caseExpression);
3719
+ this.enterRule(localctx, 160, CypherParser.RULE_caseExpression);
3608
3720
  var _la = 0;
3609
3721
  try {
3610
3722
  this.enterOuterAlt(localctx, 1);
3611
- this.state = 791;
3723
+ this.state = 803;
3612
3724
  this.match(CypherParser.CASE);
3613
- this.state = 793;
3725
+ this.state = 805;
3614
3726
  this._errHandler.sync(this);
3615
3727
  _la = this._input.LA(1);
3616
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
3617
- this.state = 792;
3728
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130093169) !== 0)) {
3729
+ this.state = 804;
3618
3730
  this.expression();
3619
3731
  }
3620
3732
 
3621
- this.state = 800;
3733
+ this.state = 812;
3622
3734
  this._errHandler.sync(this);
3623
3735
  _la = this._input.LA(1);
3624
3736
  do {
3625
- this.state = 795;
3737
+ this.state = 807;
3626
3738
  this.match(CypherParser.WHEN);
3627
- this.state = 796;
3739
+ this.state = 808;
3628
3740
  this.expression();
3629
- this.state = 797;
3741
+ this.state = 809;
3630
3742
  this.match(CypherParser.THEN);
3631
- this.state = 798;
3743
+ this.state = 810;
3632
3744
  this.expression();
3633
- this.state = 802;
3745
+ this.state = 814;
3634
3746
  this._errHandler.sync(this);
3635
3747
  _la = this._input.LA(1);
3636
3748
  } while(_la===80);
3637
- this.state = 806;
3749
+ this.state = 818;
3638
3750
  this._errHandler.sync(this);
3639
3751
  _la = this._input.LA(1);
3640
3752
  if(_la===82) {
3641
- this.state = 804;
3753
+ this.state = 816;
3642
3754
  this.match(CypherParser.ELSE);
3643
- this.state = 805;
3755
+ this.state = 817;
3644
3756
  this.expression();
3645
3757
  }
3646
3758
 
3647
- this.state = 808;
3759
+ this.state = 820;
3648
3760
  this.match(CypherParser.END);
3649
3761
  } catch (re) {
3650
3762
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3664,12 +3776,12 @@ export default class CypherParser extends antlr4.Parser {
3664
3776
 
3665
3777
  parameter() {
3666
3778
  let localctx = new ParameterContext(this, this._ctx, this.state);
3667
- this.enterRule(localctx, 158, CypherParser.RULE_parameter);
3779
+ this.enterRule(localctx, 162, CypherParser.RULE_parameter);
3668
3780
  try {
3669
3781
  this.enterOuterAlt(localctx, 1);
3670
- this.state = 810;
3782
+ this.state = 822;
3671
3783
  this.match(CypherParser.DOLLAR);
3672
- this.state = 813;
3784
+ this.state = 825;
3673
3785
  this._errHandler.sync(this);
3674
3786
  switch(this._input.LA(1)) {
3675
3787
  case 30:
@@ -3678,13 +3790,14 @@ export default class CypherParser extends antlr4.Parser {
3678
3790
  case 33:
3679
3791
  case 34:
3680
3792
  case 35:
3793
+ case 83:
3681
3794
  case 89:
3682
3795
  case 90:
3683
- this.state = 811;
3796
+ this.state = 823;
3684
3797
  this.symbol();
3685
3798
  break;
3686
3799
  case 93:
3687
- this.state = 812;
3800
+ this.state = 824;
3688
3801
  this.numLit();
3689
3802
  break;
3690
3803
  default:
@@ -3708,45 +3821,45 @@ export default class CypherParser extends antlr4.Parser {
3708
3821
 
3709
3822
  literal() {
3710
3823
  let localctx = new LiteralContext(this, this._ctx, this.state);
3711
- this.enterRule(localctx, 160, CypherParser.RULE_literal);
3824
+ this.enterRule(localctx, 164, CypherParser.RULE_literal);
3712
3825
  try {
3713
- this.state = 822;
3826
+ this.state = 834;
3714
3827
  this._errHandler.sync(this);
3715
3828
  switch(this._input.LA(1)) {
3716
3829
  case 71:
3717
3830
  case 72:
3718
3831
  this.enterOuterAlt(localctx, 1);
3719
- this.state = 815;
3832
+ this.state = 827;
3720
3833
  this.boolLit();
3721
3834
  break;
3722
3835
  case 93:
3723
3836
  this.enterOuterAlt(localctx, 2);
3724
- this.state = 816;
3837
+ this.state = 828;
3725
3838
  this.numLit();
3726
3839
  break;
3727
3840
  case 73:
3728
3841
  this.enterOuterAlt(localctx, 3);
3729
- this.state = 817;
3842
+ this.state = 829;
3730
3843
  this.match(CypherParser.NULL_W);
3731
3844
  break;
3732
3845
  case 92:
3733
3846
  this.enterOuterAlt(localctx, 4);
3734
- this.state = 818;
3847
+ this.state = 830;
3735
3848
  this.stringLit();
3736
3849
  break;
3737
3850
  case 91:
3738
3851
  this.enterOuterAlt(localctx, 5);
3739
- this.state = 819;
3852
+ this.state = 831;
3740
3853
  this.charLit();
3741
3854
  break;
3742
3855
  case 16:
3743
3856
  this.enterOuterAlt(localctx, 6);
3744
- this.state = 820;
3857
+ this.state = 832;
3745
3858
  this.listLit();
3746
3859
  break;
3747
3860
  case 14:
3748
3861
  this.enterOuterAlt(localctx, 7);
3749
- this.state = 821;
3862
+ this.state = 833;
3750
3863
  this.mapLit();
3751
3864
  break;
3752
3865
  default:
@@ -3770,31 +3883,31 @@ export default class CypherParser extends antlr4.Parser {
3770
3883
 
3771
3884
  rangeLit() {
3772
3885
  let localctx = new RangeLitContext(this, this._ctx, this.state);
3773
- this.enterRule(localctx, 162, CypherParser.RULE_rangeLit);
3886
+ this.enterRule(localctx, 166, CypherParser.RULE_rangeLit);
3774
3887
  var _la = 0;
3775
3888
  try {
3776
3889
  this.enterOuterAlt(localctx, 1);
3777
- this.state = 824;
3890
+ this.state = 836;
3778
3891
  this.match(CypherParser.MULT);
3779
- this.state = 826;
3892
+ this.state = 838;
3780
3893
  this._errHandler.sync(this);
3781
3894
  _la = this._input.LA(1);
3782
3895
  if(_la===93) {
3783
- this.state = 825;
3896
+ this.state = 837;
3784
3897
  this.numLit();
3785
3898
  }
3786
3899
 
3787
- this.state = 832;
3900
+ this.state = 844;
3788
3901
  this._errHandler.sync(this);
3789
3902
  _la = this._input.LA(1);
3790
3903
  if(_la===8) {
3791
- this.state = 828;
3904
+ this.state = 840;
3792
3905
  this.match(CypherParser.RANGE);
3793
- this.state = 830;
3906
+ this.state = 842;
3794
3907
  this._errHandler.sync(this);
3795
3908
  _la = this._input.LA(1);
3796
3909
  if(_la===93) {
3797
- this.state = 829;
3910
+ this.state = 841;
3798
3911
  this.numLit();
3799
3912
  }
3800
3913
 
@@ -3818,11 +3931,11 @@ export default class CypherParser extends antlr4.Parser {
3818
3931
 
3819
3932
  boolLit() {
3820
3933
  let localctx = new BoolLitContext(this, this._ctx, this.state);
3821
- this.enterRule(localctx, 164, CypherParser.RULE_boolLit);
3934
+ this.enterRule(localctx, 168, CypherParser.RULE_boolLit);
3822
3935
  var _la = 0;
3823
3936
  try {
3824
3937
  this.enterOuterAlt(localctx, 1);
3825
- this.state = 834;
3938
+ this.state = 846;
3826
3939
  _la = this._input.LA(1);
3827
3940
  if(!(_la===71 || _la===72)) {
3828
3941
  this._errHandler.recoverInline(this);
@@ -3849,10 +3962,10 @@ export default class CypherParser extends antlr4.Parser {
3849
3962
 
3850
3963
  numLit() {
3851
3964
  let localctx = new NumLitContext(this, this._ctx, this.state);
3852
- this.enterRule(localctx, 166, CypherParser.RULE_numLit);
3965
+ this.enterRule(localctx, 170, CypherParser.RULE_numLit);
3853
3966
  try {
3854
3967
  this.enterOuterAlt(localctx, 1);
3855
- this.state = 836;
3968
+ this.state = 848;
3856
3969
  this.match(CypherParser.DIGIT);
3857
3970
  } catch (re) {
3858
3971
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3872,10 +3985,10 @@ export default class CypherParser extends antlr4.Parser {
3872
3985
 
3873
3986
  stringLit() {
3874
3987
  let localctx = new StringLitContext(this, this._ctx, this.state);
3875
- this.enterRule(localctx, 168, CypherParser.RULE_stringLit);
3988
+ this.enterRule(localctx, 172, CypherParser.RULE_stringLit);
3876
3989
  try {
3877
3990
  this.enterOuterAlt(localctx, 1);
3878
- this.state = 838;
3991
+ this.state = 850;
3879
3992
  this.match(CypherParser.STRING_LITERAL);
3880
3993
  } catch (re) {
3881
3994
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3895,10 +4008,10 @@ export default class CypherParser extends antlr4.Parser {
3895
4008
 
3896
4009
  charLit() {
3897
4010
  let localctx = new CharLitContext(this, this._ctx, this.state);
3898
- this.enterRule(localctx, 170, CypherParser.RULE_charLit);
4011
+ this.enterRule(localctx, 174, CypherParser.RULE_charLit);
3899
4012
  try {
3900
4013
  this.enterOuterAlt(localctx, 1);
3901
- this.state = 840;
4014
+ this.state = 852;
3902
4015
  this.match(CypherParser.CHAR_LITERAL);
3903
4016
  } catch (re) {
3904
4017
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3918,21 +4031,21 @@ export default class CypherParser extends antlr4.Parser {
3918
4031
 
3919
4032
  listLit() {
3920
4033
  let localctx = new ListLitContext(this, this._ctx, this.state);
3921
- this.enterRule(localctx, 172, CypherParser.RULE_listLit);
4034
+ this.enterRule(localctx, 176, CypherParser.RULE_listLit);
3922
4035
  var _la = 0;
3923
4036
  try {
3924
4037
  this.enterOuterAlt(localctx, 1);
3925
- this.state = 842;
4038
+ this.state = 854;
3926
4039
  this.match(CypherParser.LBRACK);
3927
- this.state = 844;
4040
+ this.state = 856;
3928
4041
  this._errHandler.sync(this);
3929
4042
  _la = this._input.LA(1);
3930
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130027633) !== 0)) {
3931
- this.state = 843;
4043
+ if((((_la) & ~0x1f) === 0 && ((1 << _la) & 3356315648) !== 0) || ((((_la - 32)) & ~0x1f) === 0 && ((1 << (_la - 32)) & 8223) !== 0) || ((((_la - 67)) & ~0x1f) === 0 && ((1 << (_la - 67)) & 130093169) !== 0)) {
4044
+ this.state = 855;
3932
4045
  this.expressionChain();
3933
4046
  }
3934
4047
 
3935
- this.state = 846;
4048
+ this.state = 858;
3936
4049
  this.match(CypherParser.RBRACK);
3937
4050
  } catch (re) {
3938
4051
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3952,33 +4065,33 @@ export default class CypherParser extends antlr4.Parser {
3952
4065
 
3953
4066
  mapLit() {
3954
4067
  let localctx = new MapLitContext(this, this._ctx, this.state);
3955
- this.enterRule(localctx, 174, CypherParser.RULE_mapLit);
4068
+ this.enterRule(localctx, 178, CypherParser.RULE_mapLit);
3956
4069
  var _la = 0;
3957
4070
  try {
3958
4071
  this.enterOuterAlt(localctx, 1);
3959
- this.state = 848;
4072
+ this.state = 860;
3960
4073
  this.match(CypherParser.LBRACE);
3961
- this.state = 857;
4074
+ this.state = 869;
3962
4075
  this._errHandler.sync(this);
3963
4076
  _la = this._input.LA(1);
3964
4077
  if(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 4294967295) !== 0) || ((((_la - 62)) & ~0x1f) === 0 && ((1 << (_la - 62)) & 536870911) !== 0)) {
3965
- this.state = 849;
4078
+ this.state = 861;
3966
4079
  this.mapPair();
3967
- this.state = 854;
4080
+ this.state = 866;
3968
4081
  this._errHandler.sync(this);
3969
4082
  _la = this._input.LA(1);
3970
4083
  while(_la===11) {
3971
- this.state = 850;
4084
+ this.state = 862;
3972
4085
  this.match(CypherParser.COMMA);
3973
- this.state = 851;
4086
+ this.state = 863;
3974
4087
  this.mapPair();
3975
- this.state = 856;
4088
+ this.state = 868;
3976
4089
  this._errHandler.sync(this);
3977
4090
  _la = this._input.LA(1);
3978
4091
  }
3979
4092
  }
3980
4093
 
3981
- this.state = 859;
4094
+ this.state = 871;
3982
4095
  this.match(CypherParser.RBRACE);
3983
4096
  } catch (re) {
3984
4097
  if(re instanceof antlr4.error.RecognitionException) {
@@ -3998,14 +4111,14 @@ export default class CypherParser extends antlr4.Parser {
3998
4111
 
3999
4112
  mapPair() {
4000
4113
  let localctx = new MapPairContext(this, this._ctx, this.state);
4001
- this.enterRule(localctx, 176, CypherParser.RULE_mapPair);
4114
+ this.enterRule(localctx, 180, CypherParser.RULE_mapPair);
4002
4115
  try {
4003
4116
  this.enterOuterAlt(localctx, 1);
4004
- this.state = 861;
4117
+ this.state = 873;
4005
4118
  this.name();
4006
- this.state = 862;
4119
+ this.state = 874;
4007
4120
  this.match(CypherParser.COLON);
4008
- this.state = 863;
4121
+ this.state = 875;
4009
4122
  this.expression();
4010
4123
  } catch (re) {
4011
4124
  if(re instanceof antlr4.error.RecognitionException) {
@@ -4025,9 +4138,9 @@ export default class CypherParser extends antlr4.Parser {
4025
4138
 
4026
4139
  name() {
4027
4140
  let localctx = new NameContext(this, this._ctx, this.state);
4028
- this.enterRule(localctx, 178, CypherParser.RULE_name);
4141
+ this.enterRule(localctx, 182, CypherParser.RULE_name);
4029
4142
  try {
4030
- this.state = 867;
4143
+ this.state = 879;
4031
4144
  this._errHandler.sync(this);
4032
4145
  switch(this._input.LA(1)) {
4033
4146
  case 30:
@@ -4036,10 +4149,11 @@ export default class CypherParser extends antlr4.Parser {
4036
4149
  case 33:
4037
4150
  case 34:
4038
4151
  case 35:
4152
+ case 83:
4039
4153
  case 89:
4040
4154
  case 90:
4041
4155
  this.enterOuterAlt(localctx, 1);
4042
- this.state = 865;
4156
+ this.state = 877;
4043
4157
  this.symbol();
4044
4158
  break;
4045
4159
  case 36:
@@ -4089,14 +4203,13 @@ export default class CypherParser extends antlr4.Parser {
4089
4203
  case 80:
4090
4204
  case 81:
4091
4205
  case 82:
4092
- case 83:
4093
4206
  case 84:
4094
4207
  case 85:
4095
4208
  case 86:
4096
4209
  case 87:
4097
4210
  case 88:
4098
4211
  this.enterOuterAlt(localctx, 2);
4099
- this.state = 866;
4212
+ this.state = 878;
4100
4213
  this.reservedWord();
4101
4214
  break;
4102
4215
  default:
@@ -4120,13 +4233,13 @@ export default class CypherParser extends antlr4.Parser {
4120
4233
 
4121
4234
  symbol() {
4122
4235
  let localctx = new SymbolContext(this, this._ctx, this.state);
4123
- this.enterRule(localctx, 180, CypherParser.RULE_symbol);
4236
+ this.enterRule(localctx, 184, CypherParser.RULE_symbol);
4124
4237
  var _la = 0;
4125
4238
  try {
4126
4239
  this.enterOuterAlt(localctx, 1);
4127
- this.state = 869;
4240
+ this.state = 881;
4128
4241
  _la = this._input.LA(1);
4129
- if(!(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || _la===89 || _la===90)) {
4242
+ if(!(((((_la - 30)) & ~0x1f) === 0 && ((1 << (_la - 30)) & 63) !== 0) || ((((_la - 83)) & ~0x1f) === 0 && ((1 << (_la - 83)) & 193) !== 0))) {
4130
4243
  this._errHandler.recoverInline(this);
4131
4244
  }
4132
4245
  else {
@@ -4151,13 +4264,13 @@ export default class CypherParser extends antlr4.Parser {
4151
4264
 
4152
4265
  reservedWord() {
4153
4266
  let localctx = new ReservedWordContext(this, this._ctx, this.state);
4154
- this.enterRule(localctx, 182, CypherParser.RULE_reservedWord);
4267
+ this.enterRule(localctx, 186, CypherParser.RULE_reservedWord);
4155
4268
  var _la = 0;
4156
4269
  try {
4157
4270
  this.enterOuterAlt(localctx, 1);
4158
- this.state = 871;
4271
+ this.state = 883;
4159
4272
  _la = this._input.LA(1);
4160
- if(!(((((_la - 36)) & ~0x1f) === 0 && ((1 << (_la - 36)) & 4294967295) !== 0) || ((((_la - 68)) & ~0x1f) === 0 && ((1 << (_la - 68)) & 2097151) !== 0))) {
4273
+ if(!(((((_la - 36)) & ~0x1f) === 0 && ((1 << (_la - 36)) & 4294967295) !== 0) || ((((_la - 68)) & ~0x1f) === 0 && ((1 << (_la - 68)) & 2064383) !== 0))) {
4161
4274
  this._errHandler.recoverInline(this);
4162
4275
  }
4163
4276
  else {
@@ -4279,8 +4392,7 @@ CypherParser.FLOAT = 94;
4279
4392
  CypherParser.WS = 95;
4280
4393
  CypherParser.COMMENT = 96;
4281
4394
  CypherParser.LINE_COMMENT = 97;
4282
- CypherParser.ERRCHAR = 98;
4283
- CypherParser.Letter = 99;
4395
+ CypherParser.Letter = 98;
4284
4396
 
4285
4397
  CypherParser.RULE_script = 0;
4286
4398
  CypherParser.RULE_query = 1;
@@ -4324,56 +4436,58 @@ CypherParser.RULE_andExpression = 38;
4324
4436
  CypherParser.RULE_notExpression = 39;
4325
4437
  CypherParser.RULE_comparisonExpression = 40;
4326
4438
  CypherParser.RULE_comparisonSigns = 41;
4327
- CypherParser.RULE_addSubExpression = 42;
4328
- CypherParser.RULE_multDivExpression = 43;
4329
- CypherParser.RULE_powerExpression = 44;
4330
- CypherParser.RULE_unaryAddSubExpression = 45;
4331
- CypherParser.RULE_atomicExpression = 46;
4332
- CypherParser.RULE_listExpression = 47;
4333
- CypherParser.RULE_stringExpression = 48;
4334
- CypherParser.RULE_stringExpPrefix = 49;
4335
- CypherParser.RULE_nullExpression = 50;
4336
- CypherParser.RULE_propertyOrLabelExpression = 51;
4337
- CypherParser.RULE_propertyExpression = 52;
4338
- CypherParser.RULE_patternPart = 53;
4339
- CypherParser.RULE_patternElem = 54;
4340
- CypherParser.RULE_patternElemChain = 55;
4341
- CypherParser.RULE_qppElemChain = 56;
4342
- CypherParser.RULE_qppQuantifier = 57;
4343
- CypherParser.RULE_qppInt = 58;
4344
- CypherParser.RULE_properties = 59;
4345
- CypherParser.RULE_nodePattern = 60;
4346
- CypherParser.RULE_atom = 61;
4347
- CypherParser.RULE_lhs = 62;
4348
- CypherParser.RULE_relationshipPattern = 63;
4349
- CypherParser.RULE_relationDetail = 64;
4350
- CypherParser.RULE_relationshipTypes = 65;
4351
- CypherParser.RULE_unionSt = 66;
4352
- CypherParser.RULE_subqueryExist = 67;
4353
- CypherParser.RULE_invocationName = 68;
4354
- CypherParser.RULE_functionInvocation = 69;
4355
- CypherParser.RULE_parenthesizedExpression = 70;
4356
- CypherParser.RULE_filterWith = 71;
4357
- CypherParser.RULE_patternComprehension = 72;
4358
- CypherParser.RULE_relationshipsChainPattern = 73;
4359
- CypherParser.RULE_listComprehension = 74;
4360
- CypherParser.RULE_filterExpression = 75;
4361
- CypherParser.RULE_countAll = 76;
4362
- CypherParser.RULE_expressionChain = 77;
4363
- CypherParser.RULE_caseExpression = 78;
4364
- CypherParser.RULE_parameter = 79;
4365
- CypherParser.RULE_literal = 80;
4366
- CypherParser.RULE_rangeLit = 81;
4367
- CypherParser.RULE_boolLit = 82;
4368
- CypherParser.RULE_numLit = 83;
4369
- CypherParser.RULE_stringLit = 84;
4370
- CypherParser.RULE_charLit = 85;
4371
- CypherParser.RULE_listLit = 86;
4372
- CypherParser.RULE_mapLit = 87;
4373
- CypherParser.RULE_mapPair = 88;
4374
- CypherParser.RULE_name = 89;
4375
- CypherParser.RULE_symbol = 90;
4376
- CypherParser.RULE_reservedWord = 91;
4439
+ CypherParser.RULE_stringListNullExpression = 42;
4440
+ CypherParser.RULE_inExpression = 43;
4441
+ CypherParser.RULE_addSubExpression = 44;
4442
+ CypherParser.RULE_multDivExpression = 45;
4443
+ CypherParser.RULE_powerExpression = 46;
4444
+ CypherParser.RULE_unaryAddSubExpression = 47;
4445
+ CypherParser.RULE_atomicExpression = 48;
4446
+ CypherParser.RULE_listExpression = 49;
4447
+ CypherParser.RULE_stringExpression = 50;
4448
+ CypherParser.RULE_stringExpPrefix = 51;
4449
+ CypherParser.RULE_nullExpression = 52;
4450
+ CypherParser.RULE_propertyOrLabelExpression = 53;
4451
+ CypherParser.RULE_propertyExpression = 54;
4452
+ CypherParser.RULE_patternPart = 55;
4453
+ CypherParser.RULE_patternElem = 56;
4454
+ CypherParser.RULE_patternElemChain = 57;
4455
+ CypherParser.RULE_qppElemChain = 58;
4456
+ CypherParser.RULE_qppQuantifier = 59;
4457
+ CypherParser.RULE_qppInt = 60;
4458
+ CypherParser.RULE_properties = 61;
4459
+ CypherParser.RULE_nodePattern = 62;
4460
+ CypherParser.RULE_atom = 63;
4461
+ CypherParser.RULE_lhs = 64;
4462
+ CypherParser.RULE_relationshipPattern = 65;
4463
+ CypherParser.RULE_relationDetail = 66;
4464
+ CypherParser.RULE_relationshipTypes = 67;
4465
+ CypherParser.RULE_unionSt = 68;
4466
+ CypherParser.RULE_subqueryExist = 69;
4467
+ CypherParser.RULE_invocationName = 70;
4468
+ CypherParser.RULE_functionInvocation = 71;
4469
+ CypherParser.RULE_parenthesizedExpression = 72;
4470
+ CypherParser.RULE_filterWith = 73;
4471
+ CypherParser.RULE_patternComprehension = 74;
4472
+ CypherParser.RULE_relationshipsChainPattern = 75;
4473
+ CypherParser.RULE_listComprehension = 76;
4474
+ CypherParser.RULE_filterExpression = 77;
4475
+ CypherParser.RULE_countAll = 78;
4476
+ CypherParser.RULE_expressionChain = 79;
4477
+ CypherParser.RULE_caseExpression = 80;
4478
+ CypherParser.RULE_parameter = 81;
4479
+ CypherParser.RULE_literal = 82;
4480
+ CypherParser.RULE_rangeLit = 83;
4481
+ CypherParser.RULE_boolLit = 84;
4482
+ CypherParser.RULE_numLit = 85;
4483
+ CypherParser.RULE_stringLit = 86;
4484
+ CypherParser.RULE_charLit = 87;
4485
+ CypherParser.RULE_listLit = 88;
4486
+ CypherParser.RULE_mapLit = 89;
4487
+ CypherParser.RULE_mapPair = 90;
4488
+ CypherParser.RULE_name = 91;
4489
+ CypherParser.RULE_symbol = 92;
4490
+ CypherParser.RULE_reservedWord = 93;
4377
4491
 
4378
4492
  class ScriptContext extends antlr4.ParserRuleContext {
4379
4493
 
@@ -6600,10 +6714,18 @@ class NotExpressionContext extends antlr4.ParserRuleContext {
6600
6714
  return this.getTypedRuleContext(ComparisonExpressionContext,0);
6601
6715
  };
6602
6716
 
6603
- NOT() {
6604
- return this.getToken(CypherParser.NOT, 0);
6717
+ NOT = function(i) {
6718
+ if(i===undefined) {
6719
+ i = null;
6720
+ }
6721
+ if(i===null) {
6722
+ return this.getTokens(CypherParser.NOT);
6723
+ } else {
6724
+ return this.getToken(CypherParser.NOT, i);
6725
+ }
6605
6726
  };
6606
6727
 
6728
+
6607
6729
  enterRule(listener) {
6608
6730
  if(listener instanceof CypherParserListener ) {
6609
6731
  listener.enterNotExpression(this);
@@ -6643,14 +6765,14 @@ class ComparisonExpressionContext extends antlr4.ParserRuleContext {
6643
6765
  this.ruleIndex = CypherParser.RULE_comparisonExpression;
6644
6766
  }
6645
6767
 
6646
- addSubExpression = function(i) {
6768
+ stringListNullExpression = function(i) {
6647
6769
  if(i===undefined) {
6648
6770
  i = null;
6649
6771
  }
6650
6772
  if(i===null) {
6651
- return this.getTypedRuleContexts(AddSubExpressionContext);
6773
+ return this.getTypedRuleContexts(StringListNullExpressionContext);
6652
6774
  } else {
6653
- return this.getTypedRuleContext(AddSubExpressionContext,i);
6775
+ return this.getTypedRuleContext(StringListNullExpressionContext,i);
6654
6776
  }
6655
6777
  };
6656
6778
 
@@ -6753,6 +6875,108 @@ class ComparisonSignsContext extends antlr4.ParserRuleContext {
6753
6875
 
6754
6876
 
6755
6877
 
6878
+ class StringListNullExpressionContext extends antlr4.ParserRuleContext {
6879
+
6880
+ constructor(parser, parent, invokingState) {
6881
+ if(parent===undefined) {
6882
+ parent = null;
6883
+ }
6884
+ if(invokingState===undefined || invokingState===null) {
6885
+ invokingState = -1;
6886
+ }
6887
+ super(parent, invokingState);
6888
+ this.parser = parser;
6889
+ this.ruleIndex = CypherParser.RULE_stringListNullExpression;
6890
+ }
6891
+
6892
+ addSubExpression() {
6893
+ return this.getTypedRuleContext(AddSubExpressionContext,0);
6894
+ };
6895
+
6896
+ stringExpression() {
6897
+ return this.getTypedRuleContext(StringExpressionContext,0);
6898
+ };
6899
+
6900
+ inExpression() {
6901
+ return this.getTypedRuleContext(InExpressionContext,0);
6902
+ };
6903
+
6904
+ nullExpression() {
6905
+ return this.getTypedRuleContext(NullExpressionContext,0);
6906
+ };
6907
+
6908
+ enterRule(listener) {
6909
+ if(listener instanceof CypherParserListener ) {
6910
+ listener.enterStringListNullExpression(this);
6911
+ }
6912
+ }
6913
+
6914
+ exitRule(listener) {
6915
+ if(listener instanceof CypherParserListener ) {
6916
+ listener.exitStringListNullExpression(this);
6917
+ }
6918
+ }
6919
+
6920
+ accept(visitor) {
6921
+ if ( visitor instanceof CypherParserVisitor ) {
6922
+ return visitor.visitStringListNullExpression(this);
6923
+ } else {
6924
+ return visitor.visitChildren(this);
6925
+ }
6926
+ }
6927
+
6928
+
6929
+ }
6930
+
6931
+
6932
+
6933
+ class InExpressionContext extends antlr4.ParserRuleContext {
6934
+
6935
+ constructor(parser, parent, invokingState) {
6936
+ if(parent===undefined) {
6937
+ parent = null;
6938
+ }
6939
+ if(invokingState===undefined || invokingState===null) {
6940
+ invokingState = -1;
6941
+ }
6942
+ super(parent, invokingState);
6943
+ this.parser = parser;
6944
+ this.ruleIndex = CypherParser.RULE_inExpression;
6945
+ }
6946
+
6947
+ IN() {
6948
+ return this.getToken(CypherParser.IN, 0);
6949
+ };
6950
+
6951
+ addSubExpression() {
6952
+ return this.getTypedRuleContext(AddSubExpressionContext,0);
6953
+ };
6954
+
6955
+ enterRule(listener) {
6956
+ if(listener instanceof CypherParserListener ) {
6957
+ listener.enterInExpression(this);
6958
+ }
6959
+ }
6960
+
6961
+ exitRule(listener) {
6962
+ if(listener instanceof CypherParserListener ) {
6963
+ listener.exitInExpression(this);
6964
+ }
6965
+ }
6966
+
6967
+ accept(visitor) {
6968
+ if ( visitor instanceof CypherParserVisitor ) {
6969
+ return visitor.visitInExpression(this);
6970
+ } else {
6971
+ return visitor.visitChildren(this);
6972
+ }
6973
+ }
6974
+
6975
+
6976
+ }
6977
+
6978
+
6979
+
6756
6980
  class AddSubExpressionContext extends antlr4.ParserRuleContext {
6757
6981
 
6758
6982
  constructor(parser, parent, invokingState) {
@@ -7044,17 +7268,6 @@ class AtomicExpressionContext extends antlr4.ParserRuleContext {
7044
7268
  return this.getTypedRuleContext(PropertyOrLabelExpressionContext,0);
7045
7269
  };
7046
7270
 
7047
- stringExpression = function(i) {
7048
- if(i===undefined) {
7049
- i = null;
7050
- }
7051
- if(i===null) {
7052
- return this.getTypedRuleContexts(StringExpressionContext);
7053
- } else {
7054
- return this.getTypedRuleContext(StringExpressionContext,i);
7055
- }
7056
- };
7057
-
7058
7271
  listExpression = function(i) {
7059
7272
  if(i===undefined) {
7060
7273
  i = null;
@@ -7066,17 +7279,6 @@ class AtomicExpressionContext extends antlr4.ParserRuleContext {
7066
7279
  }
7067
7280
  };
7068
7281
 
7069
- nullExpression = function(i) {
7070
- if(i===undefined) {
7071
- i = null;
7072
- }
7073
- if(i===null) {
7074
- return this.getTypedRuleContexts(NullExpressionContext);
7075
- } else {
7076
- return this.getTypedRuleContext(NullExpressionContext,i);
7077
- }
7078
- };
7079
-
7080
7282
  enterRule(listener) {
7081
7283
  if(listener instanceof CypherParserListener ) {
7082
7284
  listener.enterAtomicExpression(this);
@@ -7116,14 +7318,6 @@ class ListExpressionContext extends antlr4.ParserRuleContext {
7116
7318
  this.ruleIndex = CypherParser.RULE_listExpression;
7117
7319
  }
7118
7320
 
7119
- IN() {
7120
- return this.getToken(CypherParser.IN, 0);
7121
- };
7122
-
7123
- propertyOrLabelExpression() {
7124
- return this.getTypedRuleContext(PropertyOrLabelExpressionContext,0);
7125
- };
7126
-
7127
7321
  LBRACK() {
7128
7322
  return this.getToken(CypherParser.LBRACK, 0);
7129
7323
  };
@@ -7190,8 +7384,8 @@ class StringExpressionContext extends antlr4.ParserRuleContext {
7190
7384
  return this.getTypedRuleContext(StringExpPrefixContext,0);
7191
7385
  };
7192
7386
 
7193
- propertyOrLabelExpression() {
7194
- return this.getTypedRuleContext(PropertyOrLabelExpressionContext,0);
7387
+ addSubExpression() {
7388
+ return this.getTypedRuleContext(AddSubExpressionContext,0);
7195
7389
  };
7196
7390
 
7197
7391
  enterRule(listener) {
@@ -7913,6 +8107,10 @@ class AtomContext extends antlr4.ParserRuleContext {
7913
8107
  this.ruleIndex = CypherParser.RULE_atom;
7914
8108
  }
7915
8109
 
8110
+ listComprehension() {
8111
+ return this.getTypedRuleContext(ListComprehensionContext,0);
8112
+ };
8113
+
7916
8114
  literal() {
7917
8115
  return this.getTypedRuleContext(LiteralContext,0);
7918
8116
  };
@@ -7929,10 +8127,6 @@ class AtomContext extends antlr4.ParserRuleContext {
7929
8127
  return this.getTypedRuleContext(CountAllContext,0);
7930
8128
  };
7931
8129
 
7932
- listComprehension() {
7933
- return this.getTypedRuleContext(ListComprehensionContext,0);
7934
- };
7935
-
7936
8130
  patternComprehension() {
7937
8131
  return this.getTypedRuleContext(PatternComprehensionContext,0);
7938
8132
  };
@@ -9637,6 +9831,10 @@ class SymbolContext extends antlr4.ParserRuleContext {
9637
9831
  return this.getToken(CypherParser.SINGLE, 0);
9638
9832
  };
9639
9833
 
9834
+ END() {
9835
+ return this.getToken(CypherParser.END, 0);
9836
+ };
9837
+
9640
9838
  enterRule(listener) {
9641
9839
  if(listener instanceof CypherParserListener ) {
9642
9840
  listener.enterSymbol(this);
@@ -9864,10 +10062,6 @@ class ReservedWordContext extends antlr4.ParserRuleContext {
9864
10062
  return this.getToken(CypherParser.ELSE, 0);
9865
10063
  };
9866
10064
 
9867
- END() {
9868
- return this.getToken(CypherParser.END, 0);
9869
- };
9870
-
9871
10065
  MANDATORY() {
9872
10066
  return this.getToken(CypherParser.MANDATORY, 0);
9873
10067
  };
@@ -9956,6 +10150,8 @@ CypherParser.AndExpressionContext = AndExpressionContext;
9956
10150
  CypherParser.NotExpressionContext = NotExpressionContext;
9957
10151
  CypherParser.ComparisonExpressionContext = ComparisonExpressionContext;
9958
10152
  CypherParser.ComparisonSignsContext = ComparisonSignsContext;
10153
+ CypherParser.StringListNullExpressionContext = StringListNullExpressionContext;
10154
+ CypherParser.InExpressionContext = InExpressionContext;
9959
10155
  CypherParser.AddSubExpressionContext = AddSubExpressionContext;
9960
10156
  CypherParser.MultDivExpressionContext = MultDivExpressionContext;
9961
10157
  CypherParser.PowerExpressionContext = PowerExpressionContext;