1 /**************************************************************************
3 ** This file is part of Qt Creator
5 ** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
7 ** Contact: Nokia Corporation (info@qt.nokia.com)
9 ** GNU Lesser General Public License Usage
11 ** This file may be used under the terms of the GNU Lesser General Public
12 ** License version 2.1 as published by the Free Software Foundation and
13 ** appearing in the file LICENSE.LGPL included in the packaging of this file.
14 ** Please review the following information to ensure the GNU Lesser General
15 ** Public License version 2.1 requirements will be met:
16 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
18 ** In addition, as a special exception, Nokia gives you certain additional
19 ** rights. These rights are described in the Nokia Qt LGPL Exception
20 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
24 ** Alternatively, this file may be used in accordance with the terms and
25 ** conditions contained in a signed written agreement between you and Nokia.
27 ** If you have questions regarding the use of this file, please contact
28 ** Nokia at qt-info@nokia.com.
30 **************************************************************************/
33 // This file was generated by qlalr - DO NOT EDIT!
34 #include "glslparsertable_p.h"
38 const char *const GLSLParserTable::spell [] = {
39 "end of file", "feed GLSL", "feed expression", "+=", "&", "&=", "&&", "attribute", "!", "bool",
40 "break", "bvec2", "bvec3", "bvec4", "^", "case", "centroid", ":", ",", "const",
41 "continue", "-", "--", "default", "discard", "/=", "dmat2", "dmat2x2", "dmat2x3", "dmat2x4",
42 "dmat3", "dmat3x2", "dmat3x3", "dmat3x4", "dmat4", "dmat4x2", "dmat4x3", "dmat4x4", "do", ".",
43 "double", "dvec2", "dvec3", "dvec4", "else", "=", "==", "flat", "float", "for",
44 ">=", "highp", "identifier", "if", "in", "++", "inout", "int", "invariant", "isampler1D",
45 "isampler1DArray", "isampler2D", "isampler2DArray", "isampler2DMS", "isampler2DMSArray", "isampler2DRect", "isampler3D", "isamplerBuffer", "isamplerCube", "isamplerCubeArray",
46 "ivec2", "ivec3", "ivec4", "layout", "<", "<<=", "{", "[", "<<", "(",
47 "<=", "lowp", "mat2", "mat2x2", "mat2x3", "mat2x4", "mat3", "mat3x2", "mat3x3", "mat3x4",
48 "mat4", "mat4x2", "mat4x3", "mat4x4", "mediump", "%=", "*=", "!=", "noperspective", "number constant",
49 "|=", "||", "out", "patch", "%", "plus", "precision", "?", "return", ">",
50 ">>=", "}", "]", ">>", ")", "sample", "sampler1D", "sampler1DArray", "sampler1DArrayShadow", "sampler1DShadow",
51 "sampler2D", "sampler2DArray", "sampler2DArrayShadow", "sampler2DMS", "sampler2DMSArray", "sampler2DRect", "sampler2DRectShadow", "sampler2DShadow", "sampler3D", "samplerBuffer",
52 "samplerCube", "samplerCubeArray", "samplerCubeArrayShadow", "samplerCubeShadow", ";", "/", "smooth", "*", "struct", "subroutine",
53 "-=", "switch", "~", "type_name", "uint", "uniform", "usampler1D", "usampler1DArray", "usampler2D", "usampler2DArray",
54 "usampler2DMS", "usampler2DMSarray", "usampler2DRect", "usampler3D", "usamplerBuffer", "usamplerCube", "usamplerCubeArray", "uvec2", "uvec3", "uvec4",
55 "varying", "vec2", "vec3", "vec4", "|", "void", "while", "^=", "^^", "true",
56 "false", "preprocessor directive", "comment", "error", "reserved word"};
58 const short GLSLParserTable::lhs [] = {
59 176, 177, 177, 177, 177, 177, 179, 179, 179, 179,
60 179, 179, 180, 181, 182, 182, 183, 183, 185, 185,
61 184, 184, 186, 188, 188, 190, 190, 190, 190, 191,
62 191, 191, 191, 192, 192, 192, 192, 193, 193, 193,
63 194, 194, 194, 195, 195, 195, 195, 195, 196, 196,
64 196, 197, 197, 198, 198, 199, 199, 200, 200, 201,
65 201, 202, 202, 203, 203, 187, 187, 204, 204, 204,
66 204, 204, 204, 204, 204, 204, 204, 204, 178, 178,
67 205, 206, 206, 206, 206, 206, 206, 206, 206, 207,
68 213, 213, 215, 215, 214, 218, 218, 216, 216, 216,
69 216, 220, 220, 220, 220, 221, 208, 208, 208, 208,
70 208, 208, 208, 223, 223, 223, 223, 223, 223, 223,
71 223, 217, 217, 225, 226, 226, 226, 227, 228, 228,
72 229, 229, 219, 211, 211, 211, 211, 211, 211, 211,
73 211, 230, 230, 230, 230, 230, 230, 230, 230, 230,
74 230, 230, 230, 230, 189, 189, 210, 210, 210, 231,
75 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
76 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
77 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
78 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
79 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
80 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
81 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
82 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
83 231, 231, 231, 231, 231, 231, 209, 209, 209, 232,
84 232, 212, 212, 233, 233, 234, 234, 235, 235, 235,
85 224, 236, 237, 237, 239, 239, 239, 239, 239, 239,
86 239, 238, 238, 247, 247, 248, 248, 246, 246, 240,
87 240, 241, 249, 249, 250, 250, 242, 251, 251, 243,
88 243, 244, 244, 244, 252, 252, 254, 254, 253, 253,
89 245, 245, 245, 245, 245, 255, 256, 256, 257, 257,
90 257, 258, 222, 175, 175, 259};
92 const short GLSLParserTable::rhs [] = {
93 1, 1, 1, 1, 1, 3, 1, 4, 1, 3,
94 2, 2, 1, 1, 1, 3, 2, 2, 2, 1,
95 2, 3, 2, 1, 1, 1, 2, 2, 2, 1,
96 1, 1, 1, 1, 3, 3, 3, 1, 3, 3,
97 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
98 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
99 3, 1, 3, 1, 5, 1, 3, 1, 1, 1,
100 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
101 1, 2, 2, 4, 6, 7, 9, 10, 2, 2,
102 1, 1, 2, 3, 3, 2, 5, 3, 2, 3,
103 2, 1, 1, 1, 1, 1, 1, 3, 5, 6,
104 7, 8, 5, 1, 2, 4, 5, 6, 7, 4,
105 2, 1, 2, 1, 1, 1, 1, 4, 1, 3,
106 1, 3, 1, 1, 1, 2, 2, 1, 2, 3,
107 1, 1, 1, 1, 2, 1, 1, 2, 2, 2,
108 2, 2, 2, 1, 1, 2, 1, 3, 4, 1,
109 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
110 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
111 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
112 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
113 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
114 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
115 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
116 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
117 1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
118 4, 1, 2, 3, 4, 1, 3, 1, 3, 4,
119 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
120 1, 2, 3, 1, 1, 2, 3, 1, 2, 1,
121 2, 5, 3, 1, 1, 4, 7, 1, 1, 3,
122 2, 5, 7, 6, 1, 1, 1, 1, 2, 3,
123 2, 2, 2, 3, 2, 1, 1, 2, 1, 1,
126 const short GLSLParserTable::action_default [] = {
127 0, 0, 0, 0, 32, 165, 172, 173, 174, 31,
128 0, 193, 196, 197, 198, 194, 199, 200, 201, 195,
129 202, 203, 204, 162, 169, 170, 171, 4, 161, 247,
130 1, 0, 163, 218, 222, 219, 223, 240, 243, 234,
131 220, 237, 221, 224, 175, 176, 177, 0, 249, 181,
132 184, 185, 186, 182, 187, 188, 189, 183, 190, 191,
133 192, 248, 2, 30, 205, 212, 214, 209, 206, 213,
134 215, 239, 242, 232, 233, 210, 207, 236, 208, 216,
135 217, 211, 0, 33, 3, 246, 164, 225, 229, 226,
136 230, 241, 244, 235, 227, 238, 228, 231, 178, 179,
137 180, 166, 167, 168, 160, 41, 54, 79, 66, 52,
138 56, 315, 9, 15, 20, 0, 0, 14, 0, 58,
139 60, 64, 62, 38, 26, 0, 7, 49, 44, 245,
140 24, 155, 157, 34, 0, 5, 28, 27, 0, 0,
141 6, 80, 0, 0, 0, 143, 0, 142, 126, 146,
142 141, 0, 127, 147, 0, 0, 125, 154, 144, 138,
143 0, 135, 134, 252, 0, 0, 0, 148, 149, 145,
144 0, 131, 129, 0, 0, 132, 0, 128, 130, 150,
145 151, 152, 153, 137, 0, 139, 140, 136, 250, 253,
146 0, 258, 256, 0, 0, 259, 81, 0, 34, 260,
147 0, 255, 257, 0, 254, 0, 251, 0, 0, 40,
148 0, 0, 0, 37, 36, 35, 39, 0, 53, 0,
149 0, 50, 0, 0, 0, 0, 48, 0, 0, 42,
150 43, 45, 47, 46, 51, 0, 55, 160, 21, 18,
151 0, 17, 22, 23, 0, 57, 0, 59, 0, 0,
152 63, 0, 61, 0, 0, 65, 12, 0, 11, 0,
153 10, 16, 13, 0, 8, 156, 0, 158, 0, 159,
154 72, 76, 70, 68, 74, 71, 69, 78, 75, 73,
155 77, 0, 67, 29, 141, 0, 311, 310, 307, 306,
156 114, 0, 309, 313, 92, 0, 0, 107, 314, 0,
157 122, 121, 0, 0, 84, 308, 115, 0, 0, 95,
158 261, 120, 116, 0, 0, 118, 117, 0, 119, 90,
159 133, 103, 105, 104, 102, 93, 0, 313, 99, 101,
160 106, 96, 0, 0, 97, 0, 98, 100, 106, 313,
161 94, 0, 82, 312, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 276, 280, 0, 0, 269, 263,
163 262, 265, 0, 266, 0, 270, 271, 267, 264, 278,
164 0, 268, 122, 302, 0, 290, 301, 291, 305, 0,
165 0, 0, 0, 0, 293, 0, 296, 295, 313, 122,
166 298, 0, 297, 285, 0, 0, 0, 299, 300, 0,
167 274, 275, 294, 0, 0, 286, 123, 0, 0, 0,
168 282, 284, 0, 283, 272, 0, 273, 279, 303, 0,
169 304, 0, 0, 0, 313, 288, 289, 0, 287, 0,
170 0, 0, 292, 281, 277, 0, 83, 108, 0, 0,
171 113, 109, 0, 0, 111, 110, 0, 112, 0, 89,
172 0, 0, 0, 0, 85, 0, 86, 0, 0, 87,
175 const short GLSLParserTable::goto_default [] = {
176 3, 135, 126, 362, 124, 263, 112, 117, 113, 116,
177 115, 114, 107, 118, 130, 133, 134, 123, 105, 128,
178 127, 109, 106, 110, 119, 120, 122, 121, 108, 281,
179 197, 360, 364, 296, 125, 131, 299, 205, 291, 293,
180 294, 325, 290, 328, 327, 326, 329, 324, 297, 311,
181 160, 159, 161, 173, 172, 162, 132, 129, 163, 203,
182 192, 361, 369, 359, 368, 363, 367, 371, 358, 365,
183 366, 370, 402, 400, 410, 390, 427, 388, 394, 391,
184 298, 289, 288, 292, 0};
186 const short GLSLParserTable::action_index [] = {
187 96, 1153, 3162, 24, -175, -175, -175, -175, -175, -175,
188 1153, -175, -175, -175, -175, -175, -175, -175, -175, -175,
189 -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
190 -12, 1153, -175, -175, -175, -175, -175, -175, -175, -175,
191 -175, -175, -175, -175, -175, -175, -175, 1153, -175, -175,
192 -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
193 -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
194 -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
195 -175, -175, 47, -175, -175, -175, -175, -175, -175, -175,
196 -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
197 -175, -175, -175, -175, -175, 85, 53, -175, -175, 65,
198 55, 52, -175, -175, 1320, -51, 66, -175, -52, -158,
199 154, -11, -157, 18, 94, 488, -175, 118, 31, -175,
200 -175, -175, -46, 183, 1153, -175, -175, -175, 71, 1153,
201 -175, -175, -58, 2490, 2490, -175, 77, -175, -175, -175,
202 198, -65, -175, -175, 39, 32, -175, -175, -175, 322,
203 200, 322, -175, -175, 2994, 654, -16, -175, -175, -175,
204 7, 15, -175, 83, -31, -175, 21, -175, -175, -175,
205 -175, -175, -175, -175, 322, -175, -175, -175, -175, -175,
206 -5, -23, -175, 84, 1988, -175, -175, -63, -175, -175,
207 4, -175, -175, 86, -175, 2826, -175, 1153, 1153, 28,
208 1153, 1153, 1153, -175, -175, -175, 13, 1153, 61, 1153,
209 1153, 93, 1153, 1153, 1153, 1153, 27, 1153, 1153, 64,
210 73, 5, 17, 22, 101, 1153, 35, -64, -175, -175,
211 1153, -175, -175, -175, 1153, 37, 1153, -116, 1153, 1153,
212 -115, 1153, 154, 74, 1153, -175, -175, 820, -175, 1153,
213 -39, -175, 19, -71, -175, -175, 1654, -175, -66, -175,
214 -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
215 -175, 1153, -175, -175, 210, 78, -175, -175, -175, 3162,
216 10, -53, -175, 147, 48, 11, 70, -175, -175, 986,
217 -175, -175, 488, -125, -175, -175, 75, 1153, 1487, -175,
218 -175, -175, -41, -110, 1153, -175, -17, 1153, -175, -175,
219 -175, -175, -175, -175, -175, -175, 654, 54, -175, -175,
220 -36, -57, 1153, -89, -175, 654, -175, -175, -33, 128,
221 -175, 4170, -175, -175, -117, 1153, -109, 12, -124, 3666,
222 -74, -67, 4506, 1821, -175, -175, -78, -15, -175, -175,
223 -175, -175, 62, -175, -90, -175, -175, -175, -175, -175,
224 4338, -175, -27, -175, 58, -175, -175, -175, -175, -121,
225 -37, 1153, 63, -62, -175, 3498, -175, -175, 3330, -14,
226 -175, -131, -175, 16, -79, -19, 654, 1153, 8, 3834,
227 -175, -175, -175, -24, 1153, -175, -175, 1153, 60, 3666,
228 -175, -1, 3666, -175, -175, 4002, -175, -175, -175, 59,
229 -175, 1153, 56, -68, 3666, -175, 3666, -111, -175, 3330,
230 -84, 3834, -175, -175, -175, 3, -175, 26, 1153, 2322,
231 -175, -13, -97, 1153, -175, -32, 1153, -175, -69, -175,
232 2490, 2658, 30, 2, -175, 2155, -175, -96, -54, -175,
235 -85, 68, 99, -85, -85, -85, -85, -85, -85, -85,
236 0, -85, -85, -85, -85, -85, -85, -85, -85, -85,
237 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
238 -85, -4, -85, -85, -85, -85, -85, -85, -85, -85,
239 -85, -85, -85, -85, -85, -85, -85, -2, -85, -85,
240 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
241 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
242 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
243 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
244 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
245 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
246 -85, -85, -85, -85, 22, -85, -85, -85, -85, -85,
247 -85, -85, -85, -85, -85, 3, -85, -85, -85, -85,
248 -85, -85, -85, -85, 6, -85, -85, -85, -85, 21,
249 -85, -85, -85, 60, 131, -85, -85, -85, -85, -85,
250 -85, -85, -85, -85, -85, -85, -85, -85, -85, -35,
251 37, -18, -85, -85, 86, -11, -85, -85, -85, -85,
252 -85, -85, -85, -85, -85, -85, -45, -85, -85, -85,
253 -85, -85, -85, -85, -51, -85, -85, -85, -85, -85,
254 -49, -85, -85, -85, 34, -85, -85, -85, -85, -85,
255 -48, -85, -85, -85, -85, 114, -85, 39, 36, -85,
256 -8, -1, -9, -85, -85, -85, -85, 24, -85, 26,
257 35, -85, 71, 78, 84, 72, -85, 45, 49, -85,
258 -85, -85, -85, -85, -85, 79, -85, -85, -85, -85,
259 -10, -85, -85, -85, 83, -85, 58, -85, 50, 33,
260 -85, 44, -85, -85, 16, -85, -85, 11, -85, 19,
261 -85, -85, -85, -85, -85, -85, 106, -85, -85, -85,
262 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
263 -85, 13, -85, -85, -85, -7, -85, -85, -85, 210,
264 -85, -85, -85, -85, -85, -38, -85, -85, -85, 17,
265 -85, -85, -3, -85, -85, -85, -85, 4, 87, -85,
266 -85, -85, -85, -85, 30, -85, -85, 31, -85, -85,
267 -85, -85, -85, -85, -85, -85, 15, -27, -85, -85,
268 -85, -85, 109, -85, -85, 115, -85, -85, -85, -17,
269 -85, 12, -85, -85, -85, 20, -85, -85, -85, 64,
270 -85, -85, 139, 14, -85, -85, -85, -85, -85, -85,
271 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
272 52, -85, -85, -85, -85, -85, -85, -85, -85, -85,
273 -85, 27, -85, -85, -85, 90, -85, -85, 135, -85,
274 -85, -85, -85, -85, -85, -85, -14, 2, -85, 56,
275 -85, -85, -85, -85, 46, -85, -85, 5, -85, 54,
276 -85, -85, 47, -85, -85, 61, -85, -85, -85, -85,
277 -85, 10, -85, -85, 105, -85, 43, -85, -85, 156,
278 -85, 93, -85, -85, -85, -85, -85, -85, 32, 118,
279 -85, -85, -85, 40, -85, -85, 28, -85, -85, -85,
280 104, 96, -85, -85, -85, 97, -85, -85, -85, -85,
283 const short GLSLParserTable::action_info [] = {
284 428, 421, 316, 397, 314, 385, 244, 450, 424, 304,
285 378, 251, 407, 446, 170, 445, 331, 373, 144, 331,
286 332, 404, 461, 334, 462, 376, 139, 243, 317, 377,
287 431, 266, 443, 403, 139, 399, 191, 139, 459, 217,
288 -25, 264, 381, 412, 342, 380, 269, 191, 244, 199,
289 -19, 235, -24, 251, 194, 437, 191, 217, 460, 171,
290 174, 319, 306, 239, 429, -24, 339, -25, 175, 235,
291 139, 438, 384, 171, 139, 375, 139, 139, 139, 455,
292 139, 139, 453, 227, 240, 207, 181, 341, 435, 139,
293 248, 254, 139, 179, 207, 227, 249, 2, 1, 142,
294 227, 176, 200, 439, 200, 227, 207, 219, 321, 227,
295 322, 219, 0, 0, 0, 0, 256, 210, 228, 0,
296 307, 0, 210, 143, 0, 0, 0, 0, 0, 29,
297 228, 167, 210, 257, 182, 228, 456, 0, 0, 0,
298 228, 180, 0, 222, 228, 342, 0, 320, 211, 258,
299 212, 222, 308, 211, 309, 212, 323, 0, 220, 48,
300 246, 0, 220, 211, 454, 212, 320, 223, 222, 208,
301 423, 259, 61, 224, 409, 223, 0, 383, 208, 168,
302 241, 224, 321, 0, 322, 140, 270, 0, 271, 0,
303 208, 0, 223, 420, 0, 0, 433, 177, 224, 0,
304 0, 321, 225, 322, 436, -124, 0, 145, 272, 0,
305 225, 0, 0, 0, -124, 0, 146, -124, 201, 147,
306 204, 0, 0, 0, 0, 0, -124, 225, 273, -124,
307 323, 0, 0, 0, 0, 0, 0, 169, 0, 0,
308 0, 0, 0, 0, 0, -124, 0, 148, 0, 323,
309 0, 0, -124, 0, 149, 0, 0, -124, 274, 0,
310 0, -91, 301, 0, -124, 0, 0, 0, 0, 0,
311 0, 0, 0, 0, 0, 0, 0, 0, 275, 276,
312 0, 0, 0, 277, 0, 0, 0, 0, 0, 0,
313 0, 0, 0, 278, 0, 0, -124, 0, 152, 0,
314 -124, -124, 153, 154, 0, 0, 0, 0, -124, 0,
315 0, 0, -124, -124, 0, 155, 0, 0, 0, 0,
316 0, 0, 0, 279, 0, -124, 0, 0, 0, 145,
317 0, 0, 0, 0, -124, 0, 156, 0, 146, 0,
318 0, 147, 0, -124, 0, 157, -124, 0, 0, 0,
319 280, 0, 0, 0, 0, -124, 0, 0, -124, 0,
320 158, 0, 0, 0, 0, 0, 0, 0, 0, 0,
321 -124, 0, 0, 0, 0, 0, 149, 0, 0, 0,
322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
326 0, 0, 0, 0, 153, 154, 0, 0, 0, 0,
327 0, 0, 0, 0, 0, 0, 0, 155, 0, 0,
328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
330 0, 0, 0, 0, 0, 0, 0, 157, 0, 0,
331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
332 0, 0, 158, 0, 0, 0, 0, 0, 0, 0,
333 0, 0, 0, 0, 0, 0, 0, 5, 0, 6,
334 7, 8, 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
336 17, 18, 19, 20, 21, 22, 0, 0, 23, 24,
337 25, 26, 0, 0, 0, 0, 28, 0, 0, 0,
338 0, 0, 0, 0, 0, 32, 0, 33, 34, 35,
339 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
340 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
341 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
342 59, 60, 0, 0, 0, 0, 0, 0, 0, 0,
343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
344 0, 0, 0, 0, 64, 65, 66, 67, 68, 69,
345 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
346 80, 81, 0, 0, 0, 0, 82, 0, 0, 0,
347 0, 85, 86, 0, 87, 88, 89, 90, 91, 92,
348 93, 94, 95, 96, 97, 98, 99, 100, 0, 101,
349 102, 103, 0, 104, 0, 0, 0, 0, 0, 0,
350 0, 0, 0, 5, 0, 6, 7, 8, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
353 21, 22, 0, 0, 23, 24, 25, 26, 0, 0,
354 0, 0, 28, 0, 0, 29, 0, 0, 0, 0,
355 0, 32, 0, 33, 34, 35, 36, 37, 38, 39,
356 40, 41, 42, 43, 44, 45, 46, 0, 0, 0,
357 0, 0, 0, 0, 0, 48, 49, 50, 51, 52,
358 53, 54, 55, 56, 57, 58, 59, 60, 61, 0,
359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
362 74, 75, 76, 77, 78, 79, 80, 81, 0, 0,
363 0, 0, 82, 0, 0, 0, 0, 85, 86, 0,
364 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
365 97, 98, 99, 100, 0, 101, 102, 103, 0, 104,
366 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
367 0, 6, 7, 8, 0, 0, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 0, 11, 12, 13, 14,
369 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
370 23, 24, 25, 26, 0, 0, 0, 0, 28, 0,
371 0, 29, 260, 0, 0, 0, 0, 32, 0, 33,
372 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
373 44, 45, 46, 0, 0, 0, 0, 0, 0, 0,
374 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
375 57, 58, 59, 60, 61, 0, 0, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
377 0, 0, 0, 0, 0, 0, 64, 65, 66, 67,
378 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
379 78, 79, 80, 81, 0, 0, 0, 0, 82, 0,
380 0, 0, 0, 85, 86, 0, 87, 88, 89, 90,
381 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
382 0, 101, 102, 103, 0, 104, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 5, 0, 6, 7, 8,
384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 0, 0, 11, 12, 13, 14, 15, 16, 17, 18,
386 19, 20, 21, 22, 0, 0, 23, 24, 25, 26,
387 0, 0, 0, 0, 28, 0, 0, 29, 448, 0,
388 0, 0, 0, 32, 0, 33, 34, 35, 36, 37,
389 38, 39, 40, 41, 42, 43, 44, 45, 46, 0,
390 0, 0, 0, 0, 0, 0, 0, 48, 49, 50,
391 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
392 61, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 64, 65, 66, 67, 68, 69, 70, 71,
395 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
396 449, 0, 0, 0, 82, 0, 0, 0, 0, 85,
397 86, 0, 87, 88, 89, 90, 91, 92, 93, 94,
398 95, 96, 97, 98, 99, 100, 0, 101, 102, 103,
399 0, 104, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 4, 5, 0, 6, 7, 8, 0, 0, 0,
401 0, 0, 0, 0, 9, 10, 0, 0, 0, 11,
402 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
403 22, 0, 0, 23, 24, 25, 26, 0, 0, 0,
404 0, 28, 0, 0, 29, 30, 0, 0, 31, 0,
405 32, 0, 33, 34, 35, 36, 37, 38, 39, 40,
406 41, 42, 43, 44, 45, 46, 0, 0, 0, 0,
407 0, 0, 47, 0, 48, 49, 50, 51, 52, 53,
408 54, 55, 56, 57, 58, 59, 60, 61, 0, 0,
409 0, 0, 62, 0, 0, 0, 0, 0, 63, 0,
410 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,
411 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
412 75, 76, 77, 78, 79, 80, 81, 0, 0, 0,
413 0, 82, 0, 0, 0, 83, 85, 86, 0, 87,
414 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
415 98, 99, 100, 0, 101, 102, 103, 0, 104, 0,
416 0, 0, 84, 27, 0, 0, 0, 0, 4, 5,
417 0, 6, 7, 8, 0, 0, 0, 0, 0, 0,
418 0, 9, 10, 0, 0, 0, 11, 12, 13, 14,
419 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
420 23, 24, 25, 26, 0, 0, 0, 0, 28, 0,
421 0, 29, 30, 0, 0, 31, 0, 32, 0, 33,
422 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
423 44, 45, 46, 0, 0, 0, 0, 0, 0, 47,
424 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
425 57, 58, 59, 60, 61, 0, 0, 0, 0, 62,
426 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
427 0, 0, 0, 0, 0, 0, 64, 65, 66, 67,
428 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
429 78, 79, 80, 81, 0, 0, 0, 0, 82, 0,
430 0, 0, 83, 85, 86, 0, 87, 88, 89, 90,
431 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
432 0, 101, 102, 103, 0, 237, 0, 0, 0, 84,
433 27, 0, 0, 0, 0, 4, 5, 0, 6, 7,
434 8, 0, 0, 0, 0, 0, 0, 0, 9, 10,
435 0, 0, 0, 11, 12, 13, 14, 15, 16, 17,
436 18, 19, 20, 21, 22, 0, 0, 23, 24, 25,
437 26, 0, 0, 0, 0, 28, 0, 0, 29, 30,
438 0, 0, 31, 0, 32, 0, 33, 34, 35, 36,
439 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
440 0, 0, 0, 0, 0, 0, 47, 0, 48, 49,
441 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
442 60, 61, 0, 0, 0, 0, 62, 0, 0, 0,
443 0, 0, 63, 0, 0, 0, 0, 0, 0, 312,
444 0, 0, 0, 64, 65, 66, 67, 68, 69, 70,
445 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
446 81, 0, 0, 0, 0, 82, 0, 0, 0, 83,
447 85, 86, 0, 87, 88, 89, 90, 91, 92, 93,
448 94, 95, 96, 97, 98, 99, 100, 0, 101, 102,
449 103, 0, 104, 0, 0, 0, 84, 27, 0, 0,
450 0, 0, 4, 5, 0, 6, 7, 8, 0, 0,
451 0, 0, 0, 0, 0, 9, 10, 0, 0, 0,
452 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
453 21, 22, 0, 0, 23, 24, 25, 26, 0, 0,
454 0, 0, 28, 0, 0, 29, 30, 0, 0, 31,
455 0, 32, 0, 33, 34, 35, 36, 37, 38, 39,
456 40, 41, 42, 43, 44, 45, 46, 0, 0, 0,
457 0, 0, 0, 47, 0, 48, 49, 50, 51, 52,
458 53, 54, 55, 56, 57, 58, 59, 60, 61, 0,
459 0, 0, 0, 62, 0, 0, 0, 0, 0, 63,
460 0, 0, 0, 0, 0, 0, 267, 0, 0, 0,
461 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
462 74, 75, 76, 77, 78, 79, 80, 81, 0, 0,
463 0, 0, 82, 0, 0, 0, 83, 85, 86, 0,
464 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
465 97, 98, 99, 100, 0, 101, 102, 103, 0, 104,
466 0, 0, 0, 84, 27, 0, 0, 0, 0, 4,
467 5, 0, 6, 7, 8, 0, 0, 0, 0, 0,
468 0, 0, 9, 10, 0, 0, 0, 11, 12, 13,
469 14, 15, 16, 17, 18, 19, 20, 21, 22, 0,
470 0, 23, 24, 25, 26, 0, 0, 0, 0, 28,
471 0, 0, 29, 30, 0, 0, 31, 0, 32, 0,
472 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
473 43, 44, 45, 46, 0, 0, 0, 0, 0, 0,
474 47, 0, 48, 49, 50, 51, 52, 53, 54, 55,
475 56, 57, 58, 59, 60, 61, 0, 0, 0, 0,
476 62, 0, 0, 0, 0, 0, 63, 0, 0, 0,
477 0, 0, 0, 0, 0, 0, 0, 64, 65, 66,
478 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
479 77, 78, 79, 80, 81, 418, 0, 0, 0, 82,
480 0, 0, 0, 83, 85, 86, 0, 87, 88, 89,
481 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
482 100, 0, 101, 102, 103, 0, 104, 0, 0, 0,
483 84, 27, 0, 0, 0, 0, 4, 5, 0, 6,
484 7, 8, 0, 0, 0, 0, 0, 0, 0, 9,
485 10, 0, 0, 0, 11, 12, 13, 14, 15, 16,
486 17, 18, 19, 20, 21, 22, 0, 0, 23, 24,
487 25, 26, 0, 0, 0, 0, 28, 0, 0, 29,
488 30, 0, 0, 31, 0, 32, 0, 33, 34, 35,
489 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
490 46, 0, 0, 0, 0, 0, 0, 47, 0, 48,
491 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
492 59, 60, 61, 0, 0, 0, 0, 62, 0, 0,
493 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
494 195, 0, 0, 0, 64, 65, 66, 67, 68, 69,
495 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
496 80, 81, 0, 0, 0, 0, 82, 0, 0, 0,
497 83, 85, 86, 0, 87, 88, 89, 90, 91, 92,
498 93, 94, 95, 96, 97, 98, 99, 100, 0, 101,
499 102, 103, 0, 104, 0, 0, 0, 84, 27, 0,
500 0, 0, 0, 4, 5, 0, 6, 7, 8, 0,
501 0, 0, 0, 0, 0, 0, 9, 10, 0, 0,
502 0, 11, 12, 13, 14, 15, 16, 17, 18, 19,
503 20, 21, 22, 0, 0, 23, 24, 25, 26, 0,
504 0, 0, 0, 28, 0, 0, 29, 30, 0, 0,
505 31, 0, 32, 0, 33, 34, 35, 36, 37, 38,
506 39, 40, 41, 42, 43, 44, 45, 46, 0, 0,
507 0, 0, 0, 0, 47, 0, 48, 49, 50, 51,
508 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
509 0, 0, 0, 0, 62, 0, 0, 0, 0, 0,
510 63, 0, 0, 0, 0, 0, 0, 457, 0, 0,
511 0, 64, 65, 66, 67, 68, 69, 70, 71, 72,
512 73, 74, 75, 76, 77, 78, 79, 80, 81, 0,
513 0, 0, 0, 82, 0, 0, 0, 83, 85, 86,
514 0, 87, 88, 89, 90, 91, 92, 93, 94, 95,
515 96, 97, 98, 99, 100, 0, 101, 102, 103, 0,
516 104, 0, 0, 0, 84, 27, 0, 0, 0, 0,
517 4, 5, 0, 6, 7, 8, 0, 0, 0, 0,
518 0, 0, 0, 9, 10, 0, 0, 0, 11, 12,
519 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
520 0, 0, 23, 24, 25, 26, 0, 0, 0, 0,
521 28, 0, 0, 29, 30, 0, 0, 31, 0, 32,
522 0, 33, 34, 35, 36, 37, 38, 39, 40, 41,
523 42, 43, 44, 45, 46, 0, 0, 0, 0, 0,
524 0, 47, 0, 48, 49, 50, 51, 52, 53, 54,
525 55, 56, 57, 58, 59, 60, 61, 0, 0, 0,
526 0, 62, 0, 0, 0, 0, 0, 63, 0, 0,
527 0, 0, 0, 0, 441, 0, 0, 0, 64, 65,
528 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
529 76, 77, 78, 79, 80, 81, 0, 0, 0, 0,
530 82, 0, 0, 0, 83, 85, 86, 0, 87, 88,
531 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
532 99, 100, 0, 101, 102, 103, 0, 104, 0, 0,
533 0, 84, 27, 0, 0, 0, 0, 145, 0, 5,
534 0, 6, 7, 8, 0, 0, 146, 0, 0, 147,
535 0, 0, 0, 0, 0, 0, 11, 12, 13, 14,
536 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
537 23, 24, 25, 26, 0, 0, 0, 148, 28, 0,
538 0, 29, 0, 0, 149, 0, 0, 32, 150, 33,
539 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
540 44, 45, 46, 151, 0, 0, 0, 0, 0, 0,
541 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
542 57, 58, 59, 60, 61, 0, 0, 0, 152, 0,
543 0, 0, 153, 154, 0, 0, 0, 0, 0, 0,
544 0, 0, 0, 0, 0, 155, 64, 65, 66, 67,
545 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
546 78, 79, 80, 81, 0, 0, 156, 0, 82, 0,
547 0, 0, 0, 85, 86, 157, 87, 88, 89, 90,
548 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
549 158, 101, 102, 103, 0, 104, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 145, 0, 5, 0, 6,
551 7, 8, 0, 0, 146, 0, 0, 147, 0, 0,
552 0, 0, 0, 0, 11, 12, 13, 14, 15, 16,
553 17, 18, 19, 20, 21, 22, 0, 0, 23, 24,
554 25, 26, 0, 0, 0, 148, 28, 0, 0, 29,
555 0, 0, 149, 0, 0, 32, 150, 33, 34, 35,
556 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
557 46, 151, 0, 0, 0, 0, 0, 0, 0, 48,
558 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
559 59, 60, 61, 0, 0, 0, 152, 0, 0, 0,
560 153, 154, 0, 0, 0, 0, 0, 0, 0, 452,
561 0, 0, 0, 155, 64, 65, 66, 67, 68, 69,
562 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
563 80, 81, 0, 0, 156, 0, 82, 0, 0, 0,
564 0, 85, 86, 157, 87, 88, 89, 90, 91, 92,
565 93, 94, 95, 96, 97, 98, 99, 100, 158, 101,
566 102, 103, 0, 104, 0, 0, 0, 0, 0, 0,
567 0, 0, 0, 145, 0, 5, 0, 6, 7, 8,
568 0, 0, 146, 0, 0, 147, 0, 0, 0, 0,
569 0, 0, 11, 12, 13, 14, 15, 16, 17, 18,
570 19, 20, 21, 22, 0, 0, 23, 24, 25, 26,
571 0, 0, 0, 148, 28, 0, 0, 29, 0, 0,
572 149, 0, 0, 32, 150, 33, 34, 35, 36, 37,
573 38, 39, 40, 41, 42, 43, 44, 45, 46, 151,
574 0, 0, 0, 0, 0, 0, 0, 48, 49, 50,
575 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
576 61, 0, 0, 0, 152, 0, 0, 0, 153, 154,
577 0, 0, 0, 0, 0, 0, 0, 206, 0, 0,
578 0, 155, 64, 65, 66, 67, 68, 69, 70, 71,
579 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
580 0, 0, 156, 0, 82, 0, 0, 0, 0, 85,
581 86, 157, 87, 88, 89, 90, 91, 92, 93, 94,
582 95, 96, 97, 98, 99, 100, 158, 101, 102, 103,
583 0, 104, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 145, 0, 5, 0, 6, 7, 8, 0, 0,
585 146, 0, 0, 147, 0, 0, 0, 0, 0, 0,
586 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
587 21, 22, 0, 0, 23, 24, 25, 26, 0, 0,
588 0, 148, 28, 0, 0, 29, 0, 0, 149, 0,
589 0, 32, 150, 33, 34, 35, 36, 37, 38, 39,
590 40, 41, 42, 43, 44, 45, 46, 151, 0, 0,
591 0, 0, 0, 0, 0, 48, 49, 50, 51, 52,
592 53, 54, 55, 56, 57, 58, 59, 60, 61, 0,
593 0, 0, 152, 0, 0, 0, 153, 154, 0, 0,
594 0, 0, 0, 0, 0, 188, 0, 0, 0, 155,
595 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
596 74, 75, 76, 77, 78, 79, 80, 81, 0, 0,
597 156, 0, 82, 0, 0, 0, 0, 85, 86, 157,
598 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
599 97, 98, 99, 100, 158, 101, 102, 103, 0, 104,
600 0, 0, 0, 0, 0, 0, 0, 0, 0, 145,
601 0, 5, 0, 6, 7, 8, 0, 0, 146, 0,
602 0, 147, 0, 0, 0, 0, 0, 0, 11, 12,
603 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
604 0, 0, 23, 24, 25, 26, 0, 0, 0, 148,
605 28, 0, 0, 29, 0, 0, 149, 0, 0, 32,
606 284, 33, 34, 35, 36, 37, 38, 39, 40, 41,
607 42, 43, 44, 45, 46, 151, 0, 0, 0, 0,
608 0, 0, 0, 48, 49, 50, 51, 52, 53, 54,
609 55, 56, 57, 58, 59, 60, 61, 0, 0, 0,
610 152, 0, 0, 0, 153, 154, 0, 0, 285, 0,
611 0, 0, 0, 0, 0, 0, 0, 155, 64, 65,
612 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
613 76, 77, 78, 79, 80, 81, 286, 0, 156, 0,
614 82, 0, 0, 0, 0, 85, 86, 157, 87, 88,
615 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
616 99, 100, 158, 101, 102, 103, 0, 104, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 145, 4, 5,
618 0, 6, 7, 8, 0, 0, 146, 0, 0, 147,
619 0, 9, 10, 0, 0, 0, 11, 12, 13, 14,
620 15, 16, 17, 18, 19, 20, 21, 22, 0, 0,
621 23, 24, 25, 26, 0, 0, 0, 148, 28, 0,
622 0, 29, 30, 0, 149, 31, 0, 32, 150, 33,
623 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
624 44, 45, 46, 151, 0, 0, 0, 0, 0, 47,
625 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
626 57, 58, 59, 60, 61, 0, 0, 0, 152, 62,
627 0, 0, 153, 154, 0, 63, 0, 0, 0, 0,
628 0, 0, 0, 0, 0, 155, 64, 65, 66, 67,
629 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
630 78, 79, 80, 81, 0, 0, 156, 0, 82, 0,
631 0, 0, 83, 85, 86, 157, 87, 88, 89, 90,
632 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
633 158, 101, 102, 103, 0, 104, 0, 0, 0, 84,
634 27, 0, 0, 0, 0, 145, 4, 5, 0, 6,
635 7, 8, 0, 0, 146, 0, 0, 147, 0, 9,
636 10, 0, 0, 0, 11, 12, 13, 14, 15, 16,
637 17, 18, 19, 20, 21, 22, 0, 0, 23, 24,
638 25, 26, 0, 0, 0, 148, 28, 0, 0, 29,
639 30, 0, 149, 31, 0, 32, 284, 33, 34, 35,
640 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
641 46, 151, 0, 0, 0, 0, 0, 47, 0, 48,
642 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
643 59, 60, 61, 0, 0, 0, 152, 62, 0, 0,
644 153, 154, 0, 63, 285, 0, 0, 0, 0, 0,
645 0, 0, 0, 155, 64, 65, 66, 67, 68, 69,
646 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
647 80, 81, 355, 0, 156, 0, 82, 0, 0, 0,
648 83, 85, 86, 157, 87, 88, 89, 90, 91, 92,
649 93, 94, 95, 96, 97, 98, 99, 100, 158, 101,
650 102, 103, 0, 104, 0, 0, 0, 84, 27, 0,
651 0, 0, 0, 145, 4, 5, 344, 6, 7, 8,
652 0, 345, 146, 0, 0, 147, 346, 9, 10, 347,
653 348, 0, 11, 12, 13, 14, 15, 16, 17, 18,
654 19, 20, 21, 22, 349, 0, 23, 24, 25, 26,
655 0, 0, 0, 148, 28, 350, 0, 29, 30, 351,
656 149, 31, 0, 32, 284, 33, 34, 35, 36, 37,
657 38, 39, 40, 41, 42, 43, 44, 45, 46, 151,
658 0, 0, 352, 0, 0, 47, 0, 48, 49, 50,
659 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
660 61, 0, 0, 0, 152, 62, 0, 0, 153, 154,
661 0, 63, 285, 0, 353, 0, 0, 0, 0, 0,
662 0, 155, 64, 65, 66, 67, 68, 69, 70, 71,
663 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
664 355, 0, 156, 0, 82, 0, 0, 356, 83, 85,
665 86, 157, 87, 88, 89, 90, 91, 92, 93, 94,
666 95, 96, 97, 98, 99, 100, 158, 101, 102, 103,
667 0, 104, 357, 0, 0, 84, 27, 0, 0, 0,
668 0, 145, 4, 5, 344, 6, 7, 8, 0, 345,
669 146, 0, 0, 147, 346, 9, 10, 347, 348, 0,
670 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
671 21, 22, 349, 0, 23, 24, 25, 26, 0, 0,
672 0, 148, 28, 350, 0, 29, 30, 351, 149, 31,
673 0, 32, 284, 33, 34, 35, 36, 37, 38, 39,
674 40, 41, 42, 43, 44, 45, 46, 151, 0, 0,
675 341, 0, 0, 47, 0, 48, 49, 50, 51, 52,
676 53, 54, 55, 56, 57, 58, 59, 60, 61, 0,
677 0, 0, 152, 62, 0, 0, 153, 154, 0, 63,
678 285, 0, 353, 0, 0, 0, 0, 0, 0, 155,
679 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
680 74, 75, 76, 77, 78, 79, 80, 81, 355, 0,
681 156, 0, 82, 0, 0, 356, 83, 85, 86, 157,
682 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
683 97, 98, 99, 100, 158, 101, 102, 103, 0, 104,
684 357, 0, 0, 84, 27, 0, 0, 0, 0, 145,
685 4, 5, 344, 6, 7, 8, 0, 345, 146, 0,
686 0, 147, 346, 9, 10, 347, 348, 0, 11, 12,
687 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
688 349, 0, 23, 24, 25, 26, 0, 0, 0, 148,
689 28, 350, 0, 29, 30, 351, 149, 31, 0, 32,
690 284, 33, 34, 35, 36, 37, 38, 39, 40, 41,
691 42, 43, 44, 45, 46, 151, 0, 0, 352, 0,
692 0, 47, 0, 48, 49, 50, 51, 52, 53, 54,
693 55, 56, 57, 58, 59, 60, 61, 0, 0, 0,
694 152, 62, 0, 0, 153, 154, 0, 63, 285, 0,
695 353, 0, 0, 416, 0, 0, 0, 155, 64, 65,
696 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
697 76, 77, 78, 79, 80, 81, 355, 0, 156, 0,
698 82, 0, 0, 356, 83, 85, 86, 157, 87, 88,
699 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
700 99, 100, 158, 101, 102, 103, 0, 104, 357, 0,
701 0, 84, 27, 0, 0, 0, 0, 145, 4, 5,
702 344, 6, 7, 8, 0, 345, 146, 0, 0, 147,
703 346, 9, 10, 347, 348, 0, 11, 12, 13, 14,
704 15, 16, 17, 18, 19, 20, 21, 22, 349, 0,
705 23, 24, 25, 26, 0, 0, 0, 148, 28, 350,
706 0, 29, 30, 351, 149, 31, 0, 32, 284, 33,
707 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
708 44, 45, 46, 151, 0, 0, 352, 0, 0, 47,
709 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
710 57, 58, 59, 60, 61, 0, 0, 0, 152, 62,
711 0, 0, 153, 154, 0, 63, 285, 0, 353, 0,
712 0, 354, 0, 0, 0, 155, 64, 65, 66, 67,
713 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
714 78, 79, 80, 81, 355, 0, 156, 0, 82, 0,
715 0, 356, 83, 85, 86, 157, 87, 88, 89, 90,
716 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
717 158, 101, 102, 103, 0, 104, 357, 0, 0, 84,
718 27, 0, 0, 0, 0, 145, 4, 5, 344, 6,
719 7, 8, 0, 345, 146, 0, 0, 147, 346, 9,
720 10, 347, 348, 0, 11, 12, 13, 14, 15, 16,
721 17, 18, 19, 20, 21, 22, 349, 0, 23, 24,
722 25, 26, 0, 0, 0, 148, 28, 350, 0, 29,
723 30, 351, 149, 31, 0, 32, 284, 33, 34, 35,
724 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
725 46, 151, 0, 0, 352, 0, 0, 47, 0, 48,
726 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
727 59, 60, 61, 0, 0, 0, 152, 62, 0, 0,
728 153, 154, 0, 63, 285, 0, 353, 0, 0, 434,
729 0, 0, 0, 155, 64, 65, 66, 67, 68, 69,
730 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
731 80, 81, 355, 0, 156, 0, 82, 0, 0, 356,
732 83, 85, 86, 157, 87, 88, 89, 90, 91, 92,
733 93, 94, 95, 96, 97, 98, 99, 100, 158, 101,
734 102, 103, 0, 104, 357, 0, 0, 84, 27, 0,
735 0, 0, 0, 145, 4, 5, 344, 6, 7, 8,
736 0, 345, 146, 0, 0, 147, 346, 9, 10, 347,
737 348, 0, 11, 12, 13, 14, 15, 16, 17, 18,
738 19, 20, 21, 22, 349, 0, 23, 24, 25, 26,
739 0, 0, 0, 148, 28, 350, 0, 29, 30, 351,
740 149, 31, 0, 32, 284, 33, 34, 35, 36, 37,
741 38, 39, 40, 41, 42, 43, 44, 45, 46, 151,
742 0, 0, 352, 0, 0, 47, 0, 48, 49, 50,
743 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
744 61, 0, 0, 0, 152, 62, 0, 0, 153, 154,
745 0, 63, 285, 0, 353, 0, 0, 414, 0, 0,
746 0, 155, 64, 65, 66, 67, 68, 69, 70, 71,
747 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
748 355, 0, 156, 0, 82, 0, 0, 356, 83, 85,
749 86, 157, 87, 88, 89, 90, 91, 92, 93, 94,
750 95, 96, 97, 98, 99, 100, 158, 101, 102, 103,
751 0, 104, 357, 0, 0, 84, 27, 0, 0, 0,
754 406, 138, 242, 190, 186, 398, 215, 213, 408, 178,
755 193, 137, 202, 422, 214, 136, 310, 419, 335, 261,
756 183, 283, 262, 374, 340, 282, 372, 302, 255, 330,
757 382, 406, 303, 141, 238, 343, 253, 187, 265, 198,
758 310, 198, 310, 310, 310, 218, 221, 0, 0, 198,
759 198, 198, 310, 216, 198, 234, 209, 372, 310, 198,
760 198, 372, 196, 229, 198, 198, 372, 230, 372, 252,
761 372, 111, 0, 198, 166, 372, 250, 447, 372, 315,
762 318, 440, 247, 0, 0, 0, 198, 198, 184, 444,
763 226, 233, 185, 198, 198, 405, 165, 231, 198, 198,
764 166, 236, 198, 232, 389, 417, 245, 372, 0, 413,
765 166, 0, 198, 300, 417, 196, 411, 313, 166, 372,
766 401, 198, 165, 417, 198, 196, 379, 458, 166, 338,
767 287, 295, 165, 198, 196, 0, 268, 196, 393, 333,
768 165, 451, 0, 0, 189, 166, 196, 0, 442, 389,
769 165, 386, 425, 372, 189, 387, 0, 401, 336, 393,
770 0, 337, 0, 0, 0, 432, 0, 165, 164, 0,
771 389, 396, 189, 0, 0, 0, 426, 395, 0, 0,
772 0, 0, 392, 0, 0, 0, 0, 0, 0, 0,
773 0, 0, 396, 0, 0, 0, 0, 0, 395, 0,
774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
775 415, 0, 0, 0, 0, 0, 0, 0, 0, 0,
776 0, 0, 0, 0, 300, 0, 0, 0, 0, 0,
777 0, 430, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 287, 295, 0, 0, 0, 0, 0, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
785 const short GLSLParserTable::action_check [] = {
786 111, 79, 112, 134, 45, 79, 164, 76, 76, 134,
787 134, 168, 79, 45, 79, 112, 52, 134, 76, 52,
788 77, 45, 134, 112, 0, 134, 18, 79, 45, 17,
789 114, 77, 45, 52, 18, 114, 52, 18, 134, 4,
790 79, 112, 79, 44, 134, 166, 112, 52, 164, 112,
791 114, 14, 79, 168, 77, 52, 52, 4, 112, 52,
792 45, 114, 52, 114, 79, 79, 18, 79, 99, 14,
793 18, 45, 134, 52, 18, 17, 18, 18, 18, 77,
794 18, 18, 52, 78, 18, 21, 54, 76, 18, 18,
795 101, 17, 18, 54, 21, 78, 107, 1, 2, 52,
796 78, 18, 18, 77, 18, 78, 21, 46, 54, 78,
797 56, 46, -1, -1, -1, -1, 22, 104, 113, -1,
798 45, -1, 104, 76, -1, -1, -1, -1, -1, 51,
799 113, 54, 104, 39, 102, 113, 134, -1, -1, -1,
800 113, 102, -1, 50, 113, 134, -1, 19, 135, 55,
801 137, 50, 77, 135, 79, 137, 102, -1, 97, 81,
802 6, -1, 97, 135, 134, 137, 19, 74, 50, 105,
803 114, 77, 94, 80, 114, 74, -1, 114, 105, 102,
804 114, 80, 54, -1, 56, 114, 3, -1, 5, -1,
805 105, -1, 74, 134, -1, -1, 134, 114, 80, -1,
806 -1, 54, 109, 56, 134, 7, -1, 7, 25, -1,
807 109, -1, -1, -1, 16, -1, 16, 7, 134, 19,
808 134, -1, -1, -1, -1, -1, 16, 109, 45, 19,
809 102, -1, -1, -1, -1, -1, -1, 160, -1, -1,
810 -1, -1, -1, -1, -1, 47, -1, 47, -1, 102,
811 -1, -1, 54, -1, 54, -1, -1, 47, 75, -1,
812 -1, 114, 52, -1, 54, -1, -1, -1, -1, -1,
813 -1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
814 -1, -1, -1, 100, -1, -1, -1, -1, -1, -1,
815 -1, -1, -1, 110, -1, -1, 98, -1, 98, -1,
816 102, 103, 102, 103, -1, -1, -1, -1, 98, -1,
817 -1, -1, 102, 103, -1, 115, -1, -1, -1, -1,
818 -1, -1, -1, 140, -1, 115, -1, -1, -1, 7,
819 -1, -1, -1, -1, 136, -1, 136, -1, 16, -1,
820 -1, 19, -1, 145, -1, 145, 136, -1, -1, -1,
821 167, -1, -1, -1, -1, 145, -1, -1, 160, -1,
822 160, -1, -1, -1, -1, -1, -1, -1, -1, -1,
823 160, -1, -1, -1, -1, -1, 54, -1, -1, -1,
824 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
825 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
827 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
828 -1, -1, -1, -1, 102, 103, -1, -1, -1, -1,
829 -1, -1, -1, -1, -1, -1, -1, 115, -1, -1,
830 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
831 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
832 -1, -1, -1, -1, -1, -1, -1, 145, -1, -1,
833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
834 -1, -1, 160, -1, -1, -1, -1, -1, -1, -1,
835 -1, -1, -1, -1, -1, -1, -1, 9, -1, 11,
836 12, 13, -1, -1, -1, -1, -1, -1, -1, -1,
837 -1, -1, -1, -1, 26, 27, 28, 29, 30, 31,
838 32, 33, 34, 35, 36, 37, -1, -1, 40, 41,
839 42, 43, -1, -1, -1, -1, 48, -1, -1, -1,
840 -1, -1, -1, -1, -1, 57, -1, 59, 60, 61,
841 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
842 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
843 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
844 92, 93, -1, -1, -1, -1, -1, -1, -1, -1,
845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
846 -1, -1, -1, -1, 116, 117, 118, 119, 120, 121,
847 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
848 132, 133, -1, -1, -1, -1, 138, -1, -1, -1,
849 -1, 143, 144, -1, 146, 147, 148, 149, 150, 151,
850 152, 153, 154, 155, 156, 157, 158, 159, -1, 161,
851 162, 163, -1, 165, -1, -1, -1, -1, -1, -1,
852 -1, -1, -1, 9, -1, 11, 12, 13, -1, -1,
853 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
854 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
855 36, 37, -1, -1, 40, 41, 42, 43, -1, -1,
856 -1, -1, 48, -1, -1, 51, -1, -1, -1, -1,
857 -1, 57, -1, 59, 60, 61, 62, 63, 64, 65,
858 66, 67, 68, 69, 70, 71, 72, -1, -1, -1,
859 -1, -1, -1, -1, -1, 81, 82, 83, 84, 85,
860 86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
861 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
862 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
863 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
864 126, 127, 128, 129, 130, 131, 132, 133, -1, -1,
865 -1, -1, 138, -1, -1, -1, -1, 143, 144, -1,
866 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
867 156, 157, 158, 159, -1, 161, 162, 163, -1, 165,
868 -1, -1, -1, -1, -1, -1, -1, -1, -1, 9,
869 -1, 11, 12, 13, -1, -1, -1, -1, -1, -1,
870 -1, -1, -1, -1, -1, -1, 26, 27, 28, 29,
871 30, 31, 32, 33, 34, 35, 36, 37, -1, -1,
872 40, 41, 42, 43, -1, -1, -1, -1, 48, -1,
873 -1, 51, 52, -1, -1, -1, -1, 57, -1, 59,
874 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
875 70, 71, 72, -1, -1, -1, -1, -1, -1, -1,
876 -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
877 90, 91, 92, 93, 94, -1, -1, -1, -1, -1,
878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
879 -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
880 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
881 130, 131, 132, 133, -1, -1, -1, -1, 138, -1,
882 -1, -1, -1, 143, 144, -1, 146, 147, 148, 149,
883 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
884 -1, 161, 162, 163, -1, 165, -1, -1, -1, -1,
885 -1, -1, -1, -1, -1, 9, -1, 11, 12, 13,
886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
887 -1, -1, 26, 27, 28, 29, 30, 31, 32, 33,
888 34, 35, 36, 37, -1, -1, 40, 41, 42, 43,
889 -1, -1, -1, -1, 48, -1, -1, 51, 52, -1,
890 -1, -1, -1, 57, -1, 59, 60, 61, 62, 63,
891 64, 65, 66, 67, 68, 69, 70, 71, 72, -1,
892 -1, -1, -1, -1, -1, -1, -1, 81, 82, 83,
893 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
894 94, -1, -1, -1, -1, -1, -1, -1, -1, -1,
895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
896 -1, -1, 116, 117, 118, 119, 120, 121, 122, 123,
897 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
898 134, -1, -1, -1, 138, -1, -1, -1, -1, 143,
899 144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
900 154, 155, 156, 157, 158, 159, -1, 161, 162, 163,
901 -1, 165, -1, -1, -1, -1, -1, -1, -1, -1,
902 -1, 8, 9, -1, 11, 12, 13, -1, -1, -1,
903 -1, -1, -1, -1, 21, 22, -1, -1, -1, 26,
904 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
905 37, -1, -1, 40, 41, 42, 43, -1, -1, -1,
906 -1, 48, -1, -1, 51, 52, -1, -1, 55, -1,
907 57, -1, 59, 60, 61, 62, 63, 64, 65, 66,
908 67, 68, 69, 70, 71, 72, -1, -1, -1, -1,
909 -1, -1, 79, -1, 81, 82, 83, 84, 85, 86,
910 87, 88, 89, 90, 91, 92, 93, 94, -1, -1,
911 -1, -1, 99, -1, -1, -1, -1, -1, 105, -1,
912 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
913 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
914 127, 128, 129, 130, 131, 132, 133, -1, -1, -1,
915 -1, 138, -1, -1, -1, 142, 143, 144, -1, 146,
916 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
917 157, 158, 159, -1, 161, 162, 163, -1, 165, -1,
918 -1, -1, 169, 170, -1, -1, -1, -1, 8, 9,
919 -1, 11, 12, 13, -1, -1, -1, -1, -1, -1,
920 -1, 21, 22, -1, -1, -1, 26, 27, 28, 29,
921 30, 31, 32, 33, 34, 35, 36, 37, -1, -1,
922 40, 41, 42, 43, -1, -1, -1, -1, 48, -1,
923 -1, 51, 52, -1, -1, 55, -1, 57, -1, 59,
924 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
925 70, 71, 72, -1, -1, -1, -1, -1, -1, 79,
926 -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
927 90, 91, 92, 93, 94, -1, -1, -1, -1, 99,
928 -1, -1, -1, -1, -1, 105, -1, -1, -1, -1,
929 -1, -1, -1, -1, -1, -1, 116, 117, 118, 119,
930 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
931 130, 131, 132, 133, -1, -1, -1, -1, 138, -1,
932 -1, -1, 142, 143, 144, -1, 146, 147, 148, 149,
933 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
934 -1, 161, 162, 163, -1, 165, -1, -1, -1, 169,
935 170, -1, -1, -1, -1, 8, 9, -1, 11, 12,
936 13, -1, -1, -1, -1, -1, -1, -1, 21, 22,
937 -1, -1, -1, 26, 27, 28, 29, 30, 31, 32,
938 33, 34, 35, 36, 37, -1, -1, 40, 41, 42,
939 43, -1, -1, -1, -1, 48, -1, -1, 51, 52,
940 -1, -1, 55, -1, 57, -1, 59, 60, 61, 62,
941 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
942 -1, -1, -1, -1, -1, -1, 79, -1, 81, 82,
943 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
944 93, 94, -1, -1, -1, -1, 99, -1, -1, -1,
945 -1, -1, 105, -1, -1, -1, -1, -1, -1, 112,
946 -1, -1, -1, 116, 117, 118, 119, 120, 121, 122,
947 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
948 133, -1, -1, -1, -1, 138, -1, -1, -1, 142,
949 143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
950 153, 154, 155, 156, 157, 158, 159, -1, 161, 162,
951 163, -1, 165, -1, -1, -1, 169, 170, -1, -1,
952 -1, -1, 8, 9, -1, 11, 12, 13, -1, -1,
953 -1, -1, -1, -1, -1, 21, 22, -1, -1, -1,
954 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
955 36, 37, -1, -1, 40, 41, 42, 43, -1, -1,
956 -1, -1, 48, -1, -1, 51, 52, -1, -1, 55,
957 -1, 57, -1, 59, 60, 61, 62, 63, 64, 65,
958 66, 67, 68, 69, 70, 71, 72, -1, -1, -1,
959 -1, -1, -1, 79, -1, 81, 82, 83, 84, 85,
960 86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
961 -1, -1, -1, 99, -1, -1, -1, -1, -1, 105,
962 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
963 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
964 126, 127, 128, 129, 130, 131, 132, 133, -1, -1,
965 -1, -1, 138, -1, -1, -1, 142, 143, 144, -1,
966 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
967 156, 157, 158, 159, -1, 161, 162, 163, -1, 165,
968 -1, -1, -1, 169, 170, -1, -1, -1, -1, 8,
969 9, -1, 11, 12, 13, -1, -1, -1, -1, -1,
970 -1, -1, 21, 22, -1, -1, -1, 26, 27, 28,
971 29, 30, 31, 32, 33, 34, 35, 36, 37, -1,
972 -1, 40, 41, 42, 43, -1, -1, -1, -1, 48,
973 -1, -1, 51, 52, -1, -1, 55, -1, 57, -1,
974 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
975 69, 70, 71, 72, -1, -1, -1, -1, -1, -1,
976 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
977 89, 90, 91, 92, 93, 94, -1, -1, -1, -1,
978 99, -1, -1, -1, -1, -1, 105, -1, -1, -1,
979 -1, -1, -1, -1, -1, -1, -1, 116, 117, 118,
980 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
981 129, 130, 131, 132, 133, 134, -1, -1, -1, 138,
982 -1, -1, -1, 142, 143, 144, -1, 146, 147, 148,
983 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
984 159, -1, 161, 162, 163, -1, 165, -1, -1, -1,
985 169, 170, -1, -1, -1, -1, 8, 9, -1, 11,
986 12, 13, -1, -1, -1, -1, -1, -1, -1, 21,
987 22, -1, -1, -1, 26, 27, 28, 29, 30, 31,
988 32, 33, 34, 35, 36, 37, -1, -1, 40, 41,
989 42, 43, -1, -1, -1, -1, 48, -1, -1, 51,
990 52, -1, -1, 55, -1, 57, -1, 59, 60, 61,
991 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
992 72, -1, -1, -1, -1, -1, -1, 79, -1, 81,
993 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
994 92, 93, 94, -1, -1, -1, -1, 99, -1, -1,
995 -1, -1, -1, 105, -1, -1, -1, -1, -1, -1,
996 112, -1, -1, -1, 116, 117, 118, 119, 120, 121,
997 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
998 132, 133, -1, -1, -1, -1, 138, -1, -1, -1,
999 142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
1000 152, 153, 154, 155, 156, 157, 158, 159, -1, 161,
1001 162, 163, -1, 165, -1, -1, -1, 169, 170, -1,
1002 -1, -1, -1, 8, 9, -1, 11, 12, 13, -1,
1003 -1, -1, -1, -1, -1, -1, 21, 22, -1, -1,
1004 -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1005 35, 36, 37, -1, -1, 40, 41, 42, 43, -1,
1006 -1, -1, -1, 48, -1, -1, 51, 52, -1, -1,
1007 55, -1, 57, -1, 59, 60, 61, 62, 63, 64,
1008 65, 66, 67, 68, 69, 70, 71, 72, -1, -1,
1009 -1, -1, -1, -1, 79, -1, 81, 82, 83, 84,
1010 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1011 -1, -1, -1, -1, 99, -1, -1, -1, -1, -1,
1012 105, -1, -1, -1, -1, -1, -1, 112, -1, -1,
1013 -1, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1014 125, 126, 127, 128, 129, 130, 131, 132, 133, -1,
1015 -1, -1, -1, 138, -1, -1, -1, 142, 143, 144,
1016 -1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1017 155, 156, 157, 158, 159, -1, 161, 162, 163, -1,
1018 165, -1, -1, -1, 169, 170, -1, -1, -1, -1,
1019 8, 9, -1, 11, 12, 13, -1, -1, -1, -1,
1020 -1, -1, -1, 21, 22, -1, -1, -1, 26, 27,
1021 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1022 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1023 48, -1, -1, 51, 52, -1, -1, 55, -1, 57,
1024 -1, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1025 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
1026 -1, 79, -1, 81, 82, 83, 84, 85, 86, 87,
1027 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
1028 -1, 99, -1, -1, -1, -1, -1, 105, -1, -1,
1029 -1, -1, -1, -1, 112, -1, -1, -1, 116, 117,
1030 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1031 128, 129, 130, 131, 132, 133, -1, -1, -1, -1,
1032 138, -1, -1, -1, 142, 143, 144, -1, 146, 147,
1033 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1034 158, 159, -1, 161, 162, 163, -1, 165, -1, -1,
1035 -1, 169, 170, -1, -1, -1, -1, 7, -1, 9,
1036 -1, 11, 12, 13, -1, -1, 16, -1, -1, 19,
1037 -1, -1, -1, -1, -1, -1, 26, 27, 28, 29,
1038 30, 31, 32, 33, 34, 35, 36, 37, -1, -1,
1039 40, 41, 42, 43, -1, -1, -1, 47, 48, -1,
1040 -1, 51, -1, -1, 54, -1, -1, 57, 58, 59,
1041 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1042 70, 71, 72, 73, -1, -1, -1, -1, -1, -1,
1043 -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1044 90, 91, 92, 93, 94, -1, -1, -1, 98, -1,
1045 -1, -1, 102, 103, -1, -1, -1, -1, -1, -1,
1046 -1, -1, -1, -1, -1, 115, 116, 117, 118, 119,
1047 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1048 130, 131, 132, 133, -1, -1, 136, -1, 138, -1,
1049 -1, -1, -1, 143, 144, 145, 146, 147, 148, 149,
1050 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1051 160, 161, 162, 163, -1, 165, -1, -1, -1, -1,
1052 -1, -1, -1, -1, -1, 7, -1, 9, -1, 11,
1053 12, 13, -1, -1, 16, -1, -1, 19, -1, -1,
1054 -1, -1, -1, -1, 26, 27, 28, 29, 30, 31,
1055 32, 33, 34, 35, 36, 37, -1, -1, 40, 41,
1056 42, 43, -1, -1, -1, 47, 48, -1, -1, 51,
1057 -1, -1, 54, -1, -1, 57, 58, 59, 60, 61,
1058 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1059 72, 73, -1, -1, -1, -1, -1, -1, -1, 81,
1060 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1061 92, 93, 94, -1, -1, -1, 98, -1, -1, -1,
1062 102, 103, -1, -1, -1, -1, -1, -1, -1, 111,
1063 -1, -1, -1, 115, 116, 117, 118, 119, 120, 121,
1064 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1065 132, 133, -1, -1, 136, -1, 138, -1, -1, -1,
1066 -1, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1067 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1068 162, 163, -1, 165, -1, -1, -1, -1, -1, -1,
1069 -1, -1, -1, 7, -1, 9, -1, 11, 12, 13,
1070 -1, -1, 16, -1, -1, 19, -1, -1, -1, -1,
1071 -1, -1, 26, 27, 28, 29, 30, 31, 32, 33,
1072 34, 35, 36, 37, -1, -1, 40, 41, 42, 43,
1073 -1, -1, -1, 47, 48, -1, -1, 51, -1, -1,
1074 54, -1, -1, 57, 58, 59, 60, 61, 62, 63,
1075 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1076 -1, -1, -1, -1, -1, -1, -1, 81, 82, 83,
1077 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1078 94, -1, -1, -1, 98, -1, -1, -1, 102, 103,
1079 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
1080 -1, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1081 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1082 -1, -1, 136, -1, 138, -1, -1, -1, -1, 143,
1083 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1084 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1085 -1, 165, -1, -1, -1, -1, -1, -1, -1, -1,
1086 -1, 7, -1, 9, -1, 11, 12, 13, -1, -1,
1087 16, -1, -1, 19, -1, -1, -1, -1, -1, -1,
1088 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1089 36, 37, -1, -1, 40, 41, 42, 43, -1, -1,
1090 -1, 47, 48, -1, -1, 51, -1, -1, 54, -1,
1091 -1, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1092 66, 67, 68, 69, 70, 71, 72, 73, -1, -1,
1093 -1, -1, -1, -1, -1, 81, 82, 83, 84, 85,
1094 86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
1095 -1, -1, 98, -1, -1, -1, 102, 103, -1, -1,
1096 -1, -1, -1, -1, -1, 111, -1, -1, -1, 115,
1097 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1098 126, 127, 128, 129, 130, 131, 132, 133, -1, -1,
1099 136, -1, 138, -1, -1, -1, -1, 143, 144, 145,
1100 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1101 156, 157, 158, 159, 160, 161, 162, 163, -1, 165,
1102 -1, -1, -1, -1, -1, -1, -1, -1, -1, 7,
1103 -1, 9, -1, 11, 12, 13, -1, -1, 16, -1,
1104 -1, 19, -1, -1, -1, -1, -1, -1, 26, 27,
1105 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1106 -1, -1, 40, 41, 42, 43, -1, -1, -1, 47,
1107 48, -1, -1, 51, -1, -1, 54, -1, -1, 57,
1108 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1109 68, 69, 70, 71, 72, 73, -1, -1, -1, -1,
1110 -1, -1, -1, 81, 82, 83, 84, 85, 86, 87,
1111 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
1112 98, -1, -1, -1, 102, 103, -1, -1, 106, -1,
1113 -1, -1, -1, -1, -1, -1, -1, 115, 116, 117,
1114 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1115 128, 129, 130, 131, 132, 133, 134, -1, 136, -1,
1116 138, -1, -1, -1, -1, 143, 144, 145, 146, 147,
1117 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1118 158, 159, 160, 161, 162, 163, -1, 165, -1, -1,
1119 -1, -1, -1, -1, -1, -1, -1, 7, 8, 9,
1120 -1, 11, 12, 13, -1, -1, 16, -1, -1, 19,
1121 -1, 21, 22, -1, -1, -1, 26, 27, 28, 29,
1122 30, 31, 32, 33, 34, 35, 36, 37, -1, -1,
1123 40, 41, 42, 43, -1, -1, -1, 47, 48, -1,
1124 -1, 51, 52, -1, 54, 55, -1, 57, 58, 59,
1125 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1126 70, 71, 72, 73, -1, -1, -1, -1, -1, 79,
1127 -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1128 90, 91, 92, 93, 94, -1, -1, -1, 98, 99,
1129 -1, -1, 102, 103, -1, 105, -1, -1, -1, -1,
1130 -1, -1, -1, -1, -1, 115, 116, 117, 118, 119,
1131 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1132 130, 131, 132, 133, -1, -1, 136, -1, 138, -1,
1133 -1, -1, 142, 143, 144, 145, 146, 147, 148, 149,
1134 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1135 160, 161, 162, 163, -1, 165, -1, -1, -1, 169,
1136 170, -1, -1, -1, -1, 7, 8, 9, -1, 11,
1137 12, 13, -1, -1, 16, -1, -1, 19, -1, 21,
1138 22, -1, -1, -1, 26, 27, 28, 29, 30, 31,
1139 32, 33, 34, 35, 36, 37, -1, -1, 40, 41,
1140 42, 43, -1, -1, -1, 47, 48, -1, -1, 51,
1141 52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
1142 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1143 72, 73, -1, -1, -1, -1, -1, 79, -1, 81,
1144 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1145 92, 93, 94, -1, -1, -1, 98, 99, -1, -1,
1146 102, 103, -1, 105, 106, -1, -1, -1, -1, -1,
1147 -1, -1, -1, 115, 116, 117, 118, 119, 120, 121,
1148 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1149 132, 133, 134, -1, 136, -1, 138, -1, -1, -1,
1150 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1151 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1152 162, 163, -1, 165, -1, -1, -1, 169, 170, -1,
1153 -1, -1, -1, 7, 8, 9, 10, 11, 12, 13,
1154 -1, 15, 16, -1, -1, 19, 20, 21, 22, 23,
1155 24, -1, 26, 27, 28, 29, 30, 31, 32, 33,
1156 34, 35, 36, 37, 38, -1, 40, 41, 42, 43,
1157 -1, -1, -1, 47, 48, 49, -1, 51, 52, 53,
1158 54, 55, -1, 57, 58, 59, 60, 61, 62, 63,
1159 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1160 -1, -1, 76, -1, -1, 79, -1, 81, 82, 83,
1161 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1162 94, -1, -1, -1, 98, 99, -1, -1, 102, 103,
1163 -1, 105, 106, -1, 108, -1, -1, -1, -1, -1,
1164 -1, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1165 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1166 134, -1, 136, -1, 138, -1, -1, 141, 142, 143,
1167 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1168 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1169 -1, 165, 166, -1, -1, 169, 170, -1, -1, -1,
1170 -1, 7, 8, 9, 10, 11, 12, 13, -1, 15,
1171 16, -1, -1, 19, 20, 21, 22, 23, 24, -1,
1172 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1173 36, 37, 38, -1, 40, 41, 42, 43, -1, -1,
1174 -1, 47, 48, 49, -1, 51, 52, 53, 54, 55,
1175 -1, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1176 66, 67, 68, 69, 70, 71, 72, 73, -1, -1,
1177 76, -1, -1, 79, -1, 81, 82, 83, 84, 85,
1178 86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
1179 -1, -1, 98, 99, -1, -1, 102, 103, -1, 105,
1180 106, -1, 108, -1, -1, -1, -1, -1, -1, 115,
1181 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1182 126, 127, 128, 129, 130, 131, 132, 133, 134, -1,
1183 136, -1, 138, -1, -1, 141, 142, 143, 144, 145,
1184 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1185 156, 157, 158, 159, 160, 161, 162, 163, -1, 165,
1186 166, -1, -1, 169, 170, -1, -1, -1, -1, 7,
1187 8, 9, 10, 11, 12, 13, -1, 15, 16, -1,
1188 -1, 19, 20, 21, 22, 23, 24, -1, 26, 27,
1189 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1190 38, -1, 40, 41, 42, 43, -1, -1, -1, 47,
1191 48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
1192 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1193 68, 69, 70, 71, 72, 73, -1, -1, 76, -1,
1194 -1, 79, -1, 81, 82, 83, 84, 85, 86, 87,
1195 88, 89, 90, 91, 92, 93, 94, -1, -1, -1,
1196 98, 99, -1, -1, 102, 103, -1, 105, 106, -1,
1197 108, -1, -1, 111, -1, -1, -1, 115, 116, 117,
1198 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1199 128, 129, 130, 131, 132, 133, 134, -1, 136, -1,
1200 138, -1, -1, 141, 142, 143, 144, 145, 146, 147,
1201 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1202 158, 159, 160, 161, 162, 163, -1, 165, 166, -1,
1203 -1, 169, 170, -1, -1, -1, -1, 7, 8, 9,
1204 10, 11, 12, 13, -1, 15, 16, -1, -1, 19,
1205 20, 21, 22, 23, 24, -1, 26, 27, 28, 29,
1206 30, 31, 32, 33, 34, 35, 36, 37, 38, -1,
1207 40, 41, 42, 43, -1, -1, -1, 47, 48, 49,
1208 -1, 51, 52, 53, 54, 55, -1, 57, 58, 59,
1209 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1210 70, 71, 72, 73, -1, -1, 76, -1, -1, 79,
1211 -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1212 90, 91, 92, 93, 94, -1, -1, -1, 98, 99,
1213 -1, -1, 102, 103, -1, 105, 106, -1, 108, -1,
1214 -1, 111, -1, -1, -1, 115, 116, 117, 118, 119,
1215 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1216 130, 131, 132, 133, 134, -1, 136, -1, 138, -1,
1217 -1, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1218 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1219 160, 161, 162, 163, -1, 165, 166, -1, -1, 169,
1220 170, -1, -1, -1, -1, 7, 8, 9, 10, 11,
1221 12, 13, -1, 15, 16, -1, -1, 19, 20, 21,
1222 22, 23, 24, -1, 26, 27, 28, 29, 30, 31,
1223 32, 33, 34, 35, 36, 37, 38, -1, 40, 41,
1224 42, 43, -1, -1, -1, 47, 48, 49, -1, 51,
1225 52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
1226 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1227 72, 73, -1, -1, 76, -1, -1, 79, -1, 81,
1228 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1229 92, 93, 94, -1, -1, -1, 98, 99, -1, -1,
1230 102, 103, -1, 105, 106, -1, 108, -1, -1, 111,
1231 -1, -1, -1, 115, 116, 117, 118, 119, 120, 121,
1232 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1233 132, 133, 134, -1, 136, -1, 138, -1, -1, 141,
1234 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1235 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1236 162, 163, -1, 165, 166, -1, -1, 169, 170, -1,
1237 -1, -1, -1, 7, 8, 9, 10, 11, 12, 13,
1238 -1, 15, 16, -1, -1, 19, 20, 21, 22, 23,
1239 24, -1, 26, 27, 28, 29, 30, 31, 32, 33,
1240 34, 35, 36, 37, 38, -1, 40, 41, 42, 43,
1241 -1, -1, -1, 47, 48, 49, -1, 51, 52, 53,
1242 54, 55, -1, 57, 58, 59, 60, 61, 62, 63,
1243 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1244 -1, -1, 76, -1, -1, 79, -1, 81, 82, 83,
1245 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1246 94, -1, -1, -1, 98, 99, -1, -1, 102, 103,
1247 -1, 105, 106, -1, 108, -1, -1, 111, -1, -1,
1248 -1, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1249 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1250 134, -1, 136, -1, 138, -1, -1, 141, 142, 143,
1251 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1252 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1253 -1, 165, 166, -1, -1, 169, 170, -1, -1, -1,
1256 14, 3, 12, 14, 55, 3, 15, 15, 3, 54,
1257 59, 15, 60, 3, 15, 15, 12, 3, 45, 8,
1258 55, 15, 3, 3, 41, 12, 14, 34, 12, 14,
1259 3, 14, 35, 12, 12, 73, 3, 55, 35, 15,
1260 12, 15, 12, 12, 12, 21, 20, -1, -1, 15,
1261 15, 15, 12, 17, 15, 20, 17, 14, 12, 15,
1262 15, 14, 28, 18, 15, 15, 14, 18, 14, 25,
1263 14, 3, -1, 15, 14, 14, 26, 49, 14, 49,
1264 49, 49, 24, -1, -1, -1, 15, 15, 51, 49,
1265 19, 19, 55, 15, 15, 49, 36, 19, 15, 15,
1266 14, 22, 15, 19, 14, 62, 23, 14, -1, 62,
1267 14, -1, 15, 14, 62, 28, 62, 30, 14, 14,
1268 64, 15, 36, 62, 15, 28, 62, 30, 14, 14,
1269 31, 32, 36, 15, 28, -1, 30, 28, 3, 30,
1270 36, 37, -1, -1, 58, 14, 28, -1, 30, 14,
1271 36, 61, 47, 14, 58, 65, -1, 64, 43, 3,
1272 -1, 46, -1, -1, -1, 72, -1, 36, 37, -1,
1273 14, 36, 58, -1, -1, -1, 71, 42, -1, -1,
1274 -1, -1, 47, -1, -1, -1, -1, -1, -1, -1,
1275 -1, -1, 36, -1, -1, -1, -1, -1, 42, -1,
1276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1277 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1278 -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
1279 -1, 75, -1, -1, -1, -1, -1, -1, -1, -1,
1280 -1, 31, 32, -1, -1, -1, -1, -1, -1, -1,
1281 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1283 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1284 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1285 -1, -1, 82, -1, -1};