VTK-m  2.0
ClipTables.h
Go to the documentation of this file.
1 //============================================================================
2 // Copyright (c) Kitware, Inc.
3 // All rights reserved.
4 // See LICENSE.txt for details.
5 //
6 // This software is distributed WITHOUT ANY WARRANTY; without even
7 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8 // PURPOSE. See the above copyright notice for more information.
9 //============================================================================
10 #ifndef vtk_m_ClipTables_h
11 #define vtk_m_ClipTables_h
12 
13 #include <vtkm/CellShape.h>
14 #include <vtkm/Types.h>
15 
16 #include <vtkm/cont/ArrayHandle.h>
18 
19 namespace vtkm
20 {
21 namespace worklet
22 {
23 namespace internal
24 {
25 // clang-format off
26 // table format:
27 // ncells, {{celltype, nverts, {edge/verts(>=100), ...}}, ...}, \n
28 // values < 100 represent edges where the corresponding vertex lies
29 // values >= 100 reresent existing vertices of the input cell (vertex = value - 100)
30 VTKM_STATIC_CONSTEXPR_ARRAY vtkm::UInt8 ClipTablesData[] = {
31 // Vtx
32 1, // Case : 0
33 1, 1, 100,
34 0, // Case : 1
35 // Lin
36 1, // Case : 0
37 3, 2, 100, 101,
38 1, // Case : 1
39 3, 2, 0, 101,
40 1, // Case : 2
41 3, 2, 0, 100,
42 0, // Case : 3
43 // Tri
44 1, // Case : 0
45 5, 3, 100, 101, 102,
46 1, // Case : 1
47 9, 4, 101, 102, 2, 0,
48 1, // Case : 2
49 9, 4, 102, 100, 0, 1,
50 1, // Case : 3
51 5, 3, 2, 1, 102,
52 1, // Case : 4
53 9, 4, 100, 101, 1, 2,
54 1, // Case : 5
55 5, 3, 1, 0, 101,
56 1, // Case : 6
57 5, 3, 0, 2, 100,
58 0, // Case : 7
59 // Qua
60 1, // Case : 0
61 9, 4, 100, 101, 102, 103,
62 2, // Case : 1
63 9, 4, 3, 0, 101, 103,
64 5, 3, 103, 101, 102,
65 2, // Case : 2
66 9, 4, 0, 1, 102, 100,
67 5, 3, 100, 102, 103,
68 1, // Case : 3
69 9, 4, 3, 1, 102, 103,
70 2, // Case : 4
71 9, 4, 1, 2, 103, 101,
72 5, 3, 101, 103, 100,
73 2, // Case : 5
74 5, 3, 3, 2, 103,
75 5, 3, 1, 0, 101,
76 1, // Case : 6
77 9, 4, 0, 2, 103, 100,
78 1, // Case : 7
79 5, 3, 3, 2, 103,
80 2, // Case : 8
81 9, 4, 2, 3, 100, 102,
82 5, 3, 102, 100, 101,
83 1, // Case : 9
84 9, 4, 2, 0, 101, 102,
85 2, // Case : 10
86 5, 3, 0, 3, 100,
87 5, 3, 2, 1, 102,
88 1, // Case : 11
89 5, 3, 2, 1, 102,
90 1, // Case : 12
91 9, 4, 1, 3, 100, 101,
92 1, // Case : 13
93 5, 3, 1, 0, 101,
94 1, // Case : 14
95 5, 3, 0, 3, 100,
96 0, // Case : 15
97 // Tet
98 1, // Case : 0
99 10, 4, 100, 101, 102, 103,
100 1, // Case : 1
101 13, 6, 0, 3, 2, 101, 103, 102,
102 1, // Case : 2
103 13, 6, 100, 103, 102, 0, 4, 1,
104 1, // Case : 3
105 13, 6, 103, 3, 4, 102, 2, 1,
106 1, // Case : 4
107 13, 6, 2, 5, 1, 100, 103, 101,
108 1, // Case : 5
109 13, 6, 101, 0, 1, 103, 3, 5,
110 1, // Case : 6
111 13, 6, 103, 4, 5, 100, 0, 2,
112 1, // Case : 7
113 10, 4, 3, 4, 5, 103,
114 1, // Case : 8
115 13, 6, 100, 102, 101, 3, 5, 4,
116 1, // Case : 9
117 13, 6, 102, 2, 5, 101, 0, 4,
118 1, // Case : 10
119 13, 6, 100, 0, 3, 102, 1, 5,
120 1, // Case : 11
121 10, 4, 2, 5, 1, 102,
122 1, // Case : 12
123 13, 6, 101, 1, 4, 100, 2, 3,
124 1, // Case : 13
125 10, 4, 0, 1, 4, 101,
126 1, // Case : 14
127 10, 4, 0, 3, 2, 100,
128 0, // Case : 15
129 // Hex
130 1, // Case : 0
131 12, 8, 100, 101, 102, 103, 104, 105, 106, 107,
132 9, // Case : 1
133 0, 7, 101, 102, 103, 104, 105, 106, 107,
134 13, 6, 101, 103, 104, 0, 3, 8,
135 10, 4, 101, 103, 104, 255,
136 10, 4, 101, 102, 103, 255,
137 14, 5, 106, 107, 103, 102, 255,
138 14, 5, 105, 106, 102, 101, 255,
139 14, 5, 104, 107, 106, 105, 255,
140 10, 4, 103, 107, 104, 255,
141 10, 4, 104, 105, 101, 255,
142 9, // Case : 2
143 0, 7, 105, 104, 100, 102, 106, 107, 103,
144 13, 6, 9, 0, 1, 105, 100, 102,
145 10, 4, 105, 102, 100, 255,
146 10, 4, 105, 100, 104, 255,
147 14, 5, 107, 104, 100, 103, 255,
148 14, 5, 106, 105, 104, 107, 255,
149 14, 5, 102, 106, 107, 103, 255,
150 10, 4, 100, 102, 103, 255,
151 10, 4, 102, 105, 106, 255,
152 2, // Case : 3
153 12, 8, 1, 102, 103, 3, 9, 105, 104, 8,
154 13, 6, 102, 106, 105, 103, 107, 104,
155 9, // Case : 4
156 0, 7, 106, 105, 101, 103, 107, 104, 100,
157 13, 6, 11, 1, 2, 106, 101, 103,
158 10, 4, 106, 103, 101, 255,
159 10, 4, 106, 101, 105, 255,
160 14, 5, 104, 105, 101, 100, 255,
161 14, 5, 107, 106, 105, 104, 255,
162 14, 5, 103, 107, 104, 100, 255,
163 10, 4, 101, 103, 100, 255,
164 10, 4, 103, 106, 107, 255,
165 12, // Case : 5
166 0, 2, 8, 11,
167 14, 5, 104, 107, 106, 105, 255,
168 10, 4, 105, 106, 101, 255,
169 10, 4, 104, 105, 101, 255,
170 10, 4, 103, 107, 104, 255,
171 10, 4, 106, 107, 103, 255,
172 14, 5, 106, 103, 2, 11, 255,
173 14, 5, 101, 106, 11, 1, 255,
174 10, 4, 101, 1, 0, 255,
175 14, 5, 104, 101, 0, 8, 255,
176 14, 5, 104, 8, 3, 103, 255,
177 10, 4, 103, 3, 2, 255,
178 2, // Case : 6
179 12, 8, 2, 103, 100, 0, 11, 106, 105, 9,
180 13, 6, 103, 107, 106, 100, 104, 105,
181 9, // Case : 7
182 0, 5, 8, 9, 3, 2, 11,
183 14, 5, 104, 107, 106, 105, 255,
184 10, 4, 106, 103, 255, 107,
185 14, 5, 105, 106, 11, 9, 255,
186 14, 5, 8, 104, 105, 9, 255,
187 10, 4, 103, 107, 104, 255,
188 14, 5, 103, 104, 8, 3, 255,
189 10, 4, 103, 3, 2, 255,
190 14, 5, 11, 106, 103, 2, 255,
191 9, // Case : 8
192 0, 7, 102, 101, 100, 107, 106, 105, 104,
193 13, 6, 2, 3, 10, 102, 100, 107,
194 10, 4, 102, 107, 100, 255,
195 10, 4, 102, 100, 101, 255,
196 14, 5, 105, 101, 100, 104, 255,
197 14, 5, 106, 102, 101, 105, 255,
198 14, 5, 107, 106, 105, 104, 255,
199 10, 4, 100, 107, 104, 255,
200 10, 4, 107, 102, 106, 255,
201 2, // Case : 9
202 12, 8, 10, 107, 104, 8, 2, 102, 101, 0,
203 13, 6, 107, 106, 102, 104, 105, 101,
204 12, // Case : 10
205 0, 2, 10, 9,
206 14, 5, 107, 106, 105, 104, 255,
207 10, 4, 106, 102, 105, 255,
208 10, 4, 107, 102, 106, 255,
209 10, 4, 100, 107, 104, 255,
210 10, 4, 105, 100, 104, 255,
211 14, 5, 105, 9, 0, 100, 255,
212 14, 5, 102, 1, 9, 105, 255,
213 10, 4, 102, 2, 1, 255,
214 14, 5, 107, 10, 2, 102, 255,
215 14, 5, 107, 100, 3, 10, 255,
216 10, 4, 100, 0, 3, 255,
217 9, // Case : 11
218 0, 5, 9, 8, 1, 2, 10,
219 14, 5, 105, 104, 107, 106, 255,
220 10, 4, 107, 255, 102, 106,
221 14, 5, 104, 8, 10, 107, 255,
222 14, 5, 9, 8, 104, 105, 255,
223 10, 4, 102, 105, 106, 255,
224 14, 5, 102, 1, 9, 105, 255,
225 10, 4, 102, 2, 1, 255,
226 14, 5, 10, 2, 102, 107, 255,
227 2, // Case : 12
228 12, 8, 11, 106, 107, 10, 1, 101, 100, 3,
229 13, 6, 100, 104, 107, 101, 105, 106,
230 9, // Case : 13
231 0, 5, 8, 10, 0, 1, 11,
232 14, 5, 104, 107, 106, 105, 255,
233 10, 4, 106, 255, 101, 105,
234 14, 5, 107, 10, 11, 106, 255,
235 14, 5, 8, 10, 107, 104, 255,
236 10, 4, 101, 104, 105, 255,
237 14, 5, 101, 0, 8, 104, 255,
238 10, 4, 101, 1, 0, 255,
239 14, 5, 11, 1, 101, 106, 255,
240 9, // Case : 14
241 0, 5, 10, 11, 3, 0, 9,
242 14, 5, 107, 106, 105, 104, 255,
243 10, 4, 105, 255, 100, 104,
244 14, 5, 106, 11, 9, 105, 255,
245 14, 5, 10, 11, 106, 107, 255,
246 10, 4, 100, 107, 104, 255,
247 14, 5, 100, 3, 10, 107, 255,
248 10, 4, 100, 0, 3, 255,
249 14, 5, 9, 0, 100, 105, 255,
250 1, // Case : 15
251 12, 8, 8, 9, 11, 10, 104, 105, 106, 107,
252 9, // Case : 16
253 0, 7, 105, 101, 100, 107, 106, 102, 103,
254 13, 6, 105, 100, 107, 4, 8, 7,
255 10, 4, 105, 100, 107, 255,
256 10, 4, 105, 101, 100, 255,
257 14, 5, 102, 103, 100, 101, 255,
258 14, 5, 106, 102, 101, 105, 255,
259 14, 5, 107, 103, 102, 106, 255,
260 10, 4, 100, 103, 107, 255,
261 10, 4, 107, 106, 105, 255,
262 2, // Case : 17
263 12, 8, 4, 105, 101, 0, 7, 107, 103, 3,
264 13, 6, 103, 102, 101, 107, 106, 105,
265 12, // Case : 18
266 0, 2, 7, 1,
267 14, 5, 107, 103, 102, 106, 255,
268 10, 4, 106, 102, 105, 255,
269 10, 4, 107, 106, 105, 255,
270 10, 4, 100, 103, 107, 255,
271 10, 4, 102, 103, 100, 255,
272 14, 5, 102, 100, 0, 1, 255,
273 14, 5, 105, 102, 1, 9, 255,
274 10, 4, 105, 9, 4, 255,
275 14, 5, 107, 105, 4, 7, 255,
276 14, 5, 107, 7, 8, 100, 255,
277 10, 4, 100, 8, 0, 255,
278 9, // Case : 19
279 0, 5, 1, 3, 9, 4, 7,
280 14, 5, 102, 106, 107, 103, 255,
281 10, 4, 107, 105, 255, 106,
282 14, 5, 103, 107, 7, 3, 255,
283 14, 5, 1, 102, 103, 3, 255,
284 10, 4, 105, 106, 102, 255,
285 14, 5, 105, 102, 1, 9, 255,
286 10, 4, 105, 9, 4, 255,
287 14, 5, 7, 107, 105, 4, 255,
288 6, // Case : 20
289 13, 6, 1, 2, 11, 101, 103, 106,
290 13, 6, 100, 107, 105, 8, 7, 4,
291 10, 4, 103, 101, 106, 107,
292 10, 4, 105, 107, 106, 101,
293 10, 4, 100, 105, 101, 107,
294 10, 4, 103, 107, 100, 101,
295 11, // Case : 21
296 0, 4, 4, 7, 11, 11,
297 14, 5, 106, 103, 2, 11, 255,
298 10, 4, 2, 103, 3, 255,
299 14, 5, 107, 7, 3, 103, 255,
300 10, 4, 106, 107, 103, 255,
301 10, 4, 101, 1, 0, 255,
302 10, 4, 105, 106, 101, 255,
303 14, 5, 101, 106, 11, 1, 255,
304 10, 4, 105, 107, 106, 255,
305 14, 5, 105, 4, 7, 107, 255,
306 14, 5, 105, 101, 0, 4, 255,
307 11, // Case : 22
308 0, 4, 11, 2, 7, 7,
309 14, 5, 107, 7, 8, 100, 255,
310 10, 4, 8, 0, 100, 255,
311 14, 5, 103, 100, 0, 2, 255,
312 10, 4, 107, 100, 103, 255,
313 10, 4, 105, 9, 4, 255,
314 10, 4, 106, 105, 107, 255,
315 14, 5, 105, 4, 7, 107, 255,
316 10, 4, 106, 107, 103, 255,
317 14, 5, 106, 103, 2, 11, 255,
318 14, 5, 106, 11, 9, 105, 255,
319 9, // Case : 23
320 0, 6, 3, 2, 11, 9, 4, 7,
321 10, 4, 106, 105, 107, 255,
322 14, 5, 106, 11, 9, 105, 255,
323 10, 4, 103, 106, 107, 255,
324 14, 5, 103, 2, 11, 106, 255,
325 10, 4, 3, 2, 103, 255,
326 14, 5, 103, 107, 7, 3, 255,
327 14, 5, 7, 107, 105, 4, 255,
328 10, 4, 105, 9, 4, 255,
329 12, // Case : 24
330 0, 2, 2, 4,
331 14, 5, 102, 101, 105, 106, 255,
332 10, 4, 106, 105, 107, 255,
333 10, 4, 102, 106, 107, 255,
334 10, 4, 100, 101, 102, 255,
335 10, 4, 105, 101, 100, 255,
336 14, 5, 105, 100, 8, 4, 255,
337 14, 5, 107, 105, 4, 7, 255,
338 10, 4, 107, 7, 10, 255,
339 14, 5, 102, 107, 10, 2, 255,
340 14, 5, 102, 2, 3, 100, 255,
341 10, 4, 100, 3, 8, 255,
342 9, // Case : 25
343 0, 5, 4, 0, 7, 10, 2,
344 14, 5, 105, 106, 102, 101, 255,
345 10, 4, 102, 107, 255, 106,
346 14, 5, 101, 102, 2, 0, 255,
347 14, 5, 4, 105, 101, 0, 255,
348 10, 4, 107, 106, 105, 255,
349 14, 5, 107, 105, 4, 7, 255,
350 10, 4, 107, 7, 10, 255,
351 14, 5, 2, 102, 107, 10, 255,
352 6, // Case : 26
353 10, 4, 100, 0, 3, 8,
354 10, 4, 105, 107, 106, 102,
355 14, 5, 2, 102, 107, 10, 7,
356 14, 5, 1, 9, 105, 102, 4,
357 14, 5, 107, 105, 4, 7, 102,
358 14, 5, 7, 4, 1, 2, 102,
359 5, // Case : 27
360 10, 4, 105, 107, 106, 102,
361 14, 5, 2, 102, 107, 10, 7,
362 14, 5, 1, 9, 105, 102, 4,
363 14, 5, 107, 105, 4, 7, 102,
364 14, 5, 7, 4, 1, 2, 102,
365 11, // Case : 28
366 0, 4, 11, 1, 4, 4,
367 14, 5, 105, 100, 8, 4, 255,
368 10, 4, 8, 100, 3, 255,
369 14, 5, 101, 1, 3, 100, 255,
370 10, 4, 105, 101, 100, 255,
371 10, 4, 107, 7, 10, 255,
372 10, 4, 106, 105, 107, 255,
373 14, 5, 107, 105, 4, 7, 255,
374 10, 4, 106, 101, 105, 255,
375 14, 5, 106, 11, 1, 101, 255,
376 14, 5, 106, 107, 10, 11, 255,
377 9, // Case : 29
378 0, 6, 0, 1, 11, 10, 7, 4,
379 10, 4, 106, 105, 107, 255,
380 14, 5, 106, 107, 10, 11, 255,
381 10, 4, 101, 105, 106, 255,
382 14, 5, 101, 106, 11, 1, 255,
383 10, 4, 0, 101, 1, 255,
384 14, 5, 101, 0, 4, 105, 255,
385 14, 5, 4, 7, 107, 105, 255,
386 10, 4, 107, 7, 10, 255,
387 8, // Case : 30
388 0, 5, 11, 9, 10, 7, 4,
389 10, 4, 100, 0, 3, 8,
390 14, 5, 105, 106, 11, 9, 255,
391 14, 5, 106, 107, 10, 11, 255,
392 10, 4, 107, 7, 10, 255,
393 10, 4, 106, 105, 107, 255,
394 14, 5, 107, 105, 4, 7, 255,
395 10, 4, 105, 9, 4, 255,
396 7, // Case : 31
397 0, 5, 9, 11, 10, 4, 7,
398 14, 5, 106, 107, 10, 11, 255,
399 10, 4, 107, 7, 10, 255,
400 14, 5, 105, 106, 11, 9, 255,
401 10, 4, 4, 105, 9, 255,
402 14, 5, 7, 107, 105, 4, 255,
403 10, 4, 107, 106, 105, 255,
404 9, // Case : 32
405 0, 7, 106, 102, 101, 104, 107, 103, 100,
406 13, 6, 106, 101, 104, 5, 9, 4,
407 10, 4, 106, 101, 104, 255,
408 10, 4, 106, 102, 101, 255,
409 14, 5, 103, 100, 101, 102, 255,
410 14, 5, 107, 103, 102, 106, 255,
411 14, 5, 104, 100, 103, 107, 255,
412 10, 4, 101, 100, 104, 255,
413 10, 4, 104, 107, 106, 255,
414 12, // Case : 33
415 0, 2, 3, 5,
416 14, 5, 103, 102, 106, 107, 255,
417 10, 4, 102, 101, 106, 255,
418 10, 4, 103, 101, 102, 255,
419 10, 4, 104, 103, 107, 255,
420 10, 4, 106, 104, 107, 255,
421 14, 5, 106, 5, 4, 104, 255,
422 14, 5, 101, 9, 5, 106, 255,
423 10, 4, 101, 0, 9, 255,
424 14, 5, 103, 3, 0, 101, 255,
425 14, 5, 103, 104, 8, 3, 255,
426 10, 4, 104, 4, 8, 255,
427 2, // Case : 34
428 12, 8, 5, 106, 102, 1, 4, 104, 100, 0,
429 13, 6, 100, 103, 102, 104, 107, 106,
430 9, // Case : 35
431 0, 5, 3, 1, 8, 4, 5,
432 14, 5, 103, 102, 106, 107, 255,
433 10, 4, 106, 255, 104, 107,
434 14, 5, 102, 1, 5, 106, 255,
435 14, 5, 3, 1, 102, 103, 255,
436 10, 4, 104, 103, 107, 255,
437 14, 5, 104, 8, 3, 103, 255,
438 10, 4, 104, 4, 8, 255,
439 14, 5, 5, 4, 104, 106, 255,
440 12, // Case : 36
441 0, 2, 2, 4,
442 14, 5, 103, 107, 104, 100, 255,
443 10, 4, 107, 106, 104, 255,
444 10, 4, 103, 106, 107, 255,
445 10, 4, 101, 103, 100, 255,
446 10, 4, 104, 101, 100, 255,
447 14, 5, 104, 4, 9, 101, 255,
448 14, 5, 106, 5, 4, 104, 255,
449 10, 4, 106, 11, 5, 255,
450 14, 5, 103, 2, 11, 106, 255,
451 14, 5, 103, 101, 1, 2, 255,
452 10, 4, 101, 9, 1, 255,
453 6, // Case : 37
454 10, 4, 101, 0, 9, 1,
455 10, 4, 106, 107, 103, 104,
456 14, 5, 8, 3, 103, 104, 2,
457 14, 5, 4, 104, 106, 5, 11,
458 14, 5, 103, 2, 11, 106, 104,
459 14, 5, 2, 8, 4, 11, 104,
460 9, // Case : 38
461 0, 5, 4, 0, 5, 11, 2,
462 14, 5, 104, 100, 103, 107, 255,
463 10, 4, 103, 255, 106, 107,
464 14, 5, 100, 0, 2, 103, 255,
465 14, 5, 4, 0, 100, 104, 255,
466 10, 4, 106, 104, 107, 255,
467 14, 5, 106, 5, 4, 104, 255,
468 10, 4, 106, 11, 5, 255,
469 14, 5, 2, 11, 106, 103, 255,
470 5, // Case : 39
471 10, 4, 106, 107, 103, 104,
472 14, 5, 8, 3, 103, 104, 2,
473 14, 5, 4, 104, 106, 5, 11,
474 14, 5, 103, 2, 11, 106, 104,
475 14, 5, 2, 8, 4, 11, 104,
476 6, // Case : 40
477 13, 6, 101, 104, 106, 9, 4, 5,
478 13, 6, 3, 10, 2, 100, 107, 102,
479 10, 4, 104, 106, 101, 107,
480 10, 4, 102, 106, 107, 101,
481 10, 4, 100, 101, 102, 107,
482 10, 4, 104, 100, 107, 101,
483 11, // Case : 41
484 0, 4, 2, 10, 5, 5,
485 14, 5, 106, 5, 4, 104, 255,
486 10, 4, 4, 8, 104, 255,
487 14, 5, 107, 104, 8, 10, 255,
488 10, 4, 106, 104, 107, 255,
489 10, 4, 101, 0, 9, 255,
490 10, 4, 102, 101, 106, 255,
491 14, 5, 101, 9, 5, 106, 255,
492 10, 4, 102, 106, 107, 255,
493 14, 5, 102, 107, 10, 2, 255,
494 14, 5, 102, 2, 0, 101, 255,
495 11, // Case : 42
496 0, 4, 5, 4, 10, 10,
497 14, 5, 107, 100, 3, 10, 255,
498 10, 4, 3, 100, 0, 255,
499 14, 5, 104, 4, 0, 100, 255,
500 10, 4, 107, 104, 100, 255,
501 10, 4, 102, 2, 1, 255,
502 10, 4, 106, 107, 102, 255,
503 14, 5, 102, 107, 10, 2, 255,
504 10, 4, 106, 104, 107, 255,
505 14, 5, 106, 5, 4, 104, 255,
506 14, 5, 106, 102, 1, 5, 255,
507 9, // Case : 43
508 0, 6, 8, 4, 5, 1, 2, 10,
509 10, 4, 106, 107, 102, 255,
510 14, 5, 106, 102, 1, 5, 255,
511 10, 4, 104, 107, 106, 255,
512 14, 5, 104, 106, 5, 4, 255,
513 10, 4, 8, 104, 4, 255,
514 14, 5, 104, 8, 10, 107, 255,
515 14, 5, 10, 2, 102, 107, 255,
516 10, 4, 102, 2, 1, 255,
517 11, // Case : 44
518 0, 4, 10, 3, 4, 4,
519 14, 5, 104, 4, 9, 101, 255,
520 10, 4, 9, 1, 101, 255,
521 14, 5, 100, 101, 1, 3, 255,
522 10, 4, 104, 101, 100, 255,
523 10, 4, 106, 11, 5, 255,
524 10, 4, 107, 106, 104, 255,
525 14, 5, 106, 5, 4, 104, 255,
526 10, 4, 107, 104, 100, 255,
527 14, 5, 107, 100, 3, 10, 255,
528 14, 5, 107, 10, 11, 106, 255,
529 8, // Case : 45
530 0, 5, 10, 11, 8, 4, 5,
531 10, 4, 101, 1, 0, 9,
532 14, 5, 106, 107, 10, 11, 255,
533 14, 5, 107, 104, 8, 10, 255,
534 10, 4, 104, 4, 8, 255,
535 10, 4, 107, 106, 104, 255,
536 14, 5, 104, 106, 5, 4, 255,
537 10, 4, 106, 11, 5, 255,
538 9, // Case : 46
539 0, 6, 0, 3, 10, 11, 5, 4,
540 10, 4, 107, 106, 104, 255,
541 14, 5, 107, 10, 11, 106, 255,
542 10, 4, 100, 107, 104, 255,
543 14, 5, 100, 3, 10, 107, 255,
544 10, 4, 0, 3, 100, 255,
545 14, 5, 100, 104, 4, 0, 255,
546 14, 5, 4, 104, 106, 5, 255,
547 10, 4, 106, 11, 5, 255,
548 7, // Case : 47
549 0, 5, 11, 10, 8, 5, 4,
550 14, 5, 107, 104, 8, 10, 255,
551 10, 4, 104, 4, 8, 255,
552 14, 5, 106, 107, 10, 11, 255,
553 10, 4, 5, 106, 11, 255,
554 14, 5, 4, 104, 106, 5, 255,
555 10, 4, 104, 107, 106, 255,
556 2, // Case : 48
557 12, 8, 9, 101, 100, 8, 5, 106, 107, 7,
558 13, 6, 101, 102, 106, 100, 103, 107,
559 9, // Case : 49
560 0, 5, 3, 7, 0, 9, 5,
561 14, 5, 103, 102, 106, 107, 255,
562 10, 4, 106, 101, 255, 102,
563 14, 5, 107, 106, 5, 7, 255,
564 14, 5, 3, 103, 107, 7, 255,
565 10, 4, 101, 102, 103, 255,
566 14, 5, 101, 103, 3, 0, 255,
567 10, 4, 101, 0, 9, 255,
568 14, 5, 5, 106, 101, 9, 255,
569 9, // Case : 50
570 0, 5, 7, 5, 8, 0, 1,
571 14, 5, 107, 103, 102, 106, 255,
572 10, 4, 102, 100, 255, 103,
573 14, 5, 106, 102, 1, 5, 255,
574 14, 5, 7, 107, 106, 5, 255,
575 10, 4, 100, 103, 107, 255,
576 14, 5, 100, 107, 7, 8, 255,
577 10, 4, 100, 8, 0, 255,
578 14, 5, 1, 102, 100, 0, 255,
579 1, // Case : 51
580 12, 8, 103, 102, 106, 107, 3, 1, 5, 7,
581 11, // Case : 52
582 0, 4, 7, 8, 2, 2,
583 14, 5, 103, 101, 1, 2, 255,
584 10, 4, 1, 101, 9, 255,
585 14, 5, 100, 8, 9, 101, 255,
586 10, 4, 103, 100, 101, 255,
587 10, 4, 106, 11, 5, 255,
588 10, 4, 107, 103, 106, 255,
589 14, 5, 106, 103, 2, 11, 255,
590 10, 4, 107, 100, 103, 255,
591 14, 5, 107, 7, 8, 100, 255,
592 14, 5, 107, 106, 5, 7, 255,
593 8, // Case : 53
594 0, 5, 7, 5, 3, 2, 11,
595 10, 4, 101, 0, 9, 1,
596 14, 5, 106, 5, 7, 107, 255,
597 14, 5, 107, 7, 3, 103, 255,
598 10, 4, 103, 3, 2, 255,
599 10, 4, 107, 103, 106, 255,
600 14, 5, 103, 2, 11, 106, 255,
601 10, 4, 106, 11, 5, 255,
602 9, // Case : 54
603 0, 6, 0, 8, 7, 5, 11, 2,
604 10, 4, 107, 103, 106, 255,
605 14, 5, 107, 106, 5, 7, 255,
606 10, 4, 100, 103, 107, 255,
607 14, 5, 100, 107, 7, 8, 255,
608 10, 4, 0, 100, 8, 255,
609 14, 5, 100, 0, 2, 103, 255,
610 14, 5, 2, 11, 106, 103, 255,
611 10, 4, 106, 11, 5, 255,
612 7, // Case : 55
613 0, 5, 5, 7, 3, 11, 2,
614 14, 5, 107, 7, 3, 103, 255,
615 10, 4, 103, 3, 2, 255,
616 14, 5, 106, 5, 7, 107, 255,
617 10, 4, 11, 5, 106, 255,
618 14, 5, 2, 11, 106, 103, 255,
619 10, 4, 103, 106, 107, 255,
620 11, // Case : 56
621 0, 4, 5, 9, 2, 2,
622 14, 5, 102, 2, 3, 100, 255,
623 10, 4, 3, 8, 100, 255,
624 14, 5, 101, 100, 8, 9, 255,
625 10, 4, 102, 100, 101, 255,
626 10, 4, 107, 7, 10, 255,
627 10, 4, 106, 107, 102, 255,
628 14, 5, 107, 10, 2, 102, 255,
629 10, 4, 106, 102, 101, 255,
630 14, 5, 106, 101, 9, 5, 255,
631 14, 5, 106, 5, 7, 107, 255,
632 9, // Case : 57
633 0, 6, 0, 9, 5, 7, 10, 2,
634 10, 4, 106, 107, 102, 255,
635 14, 5, 106, 5, 7, 107, 255,
636 10, 4, 101, 106, 102, 255,
637 14, 5, 101, 9, 5, 106, 255,
638 10, 4, 0, 9, 101, 255,
639 14, 5, 101, 102, 2, 0, 255,
640 14, 5, 2, 102, 107, 10, 255,
641 10, 4, 107, 7, 10, 255,
642 8, // Case : 58
643 0, 5, 5, 1, 7, 10, 2,
644 10, 4, 100, 8, 0, 3,
645 14, 5, 102, 1, 5, 106, 255,
646 14, 5, 106, 5, 7, 107, 255,
647 10, 4, 107, 7, 10, 255,
648 10, 4, 106, 107, 102, 255,
649 14, 5, 107, 10, 2, 102, 255,
650 10, 4, 102, 2, 1, 255,
651 7, // Case : 59
652 0, 5, 1, 5, 7, 2, 10,
653 14, 5, 106, 5, 7, 107, 255,
654 10, 4, 107, 7, 10, 255,
655 14, 5, 102, 1, 5, 106, 255,
656 10, 4, 2, 1, 102, 255,
657 14, 5, 10, 2, 102, 107, 255,
658 10, 4, 107, 102, 106, 255,
659 2, // Case : 60
660 13, 6, 101, 1, 9, 100, 3, 8,
661 13, 6, 106, 5, 11, 107, 7, 10,
662 2, // Case : 61
663 13, 6, 7, 107, 10, 5, 106, 11,
664 10, 4, 0, 101, 1, 9,
665 2, // Case : 62
666 13, 6, 7, 107, 10, 5, 106, 11,
667 10, 4, 0, 3, 100, 8,
668 1, // Case : 63
669 13, 6, 107, 10, 7, 106, 11, 5,
670 9, // Case : 64
671 0, 7, 107, 104, 105, 102, 103, 100, 101,
672 13, 6, 6, 5, 11, 107, 105, 102,
673 10, 4, 107, 102, 105, 255,
674 10, 4, 107, 105, 104, 255,
675 14, 5, 100, 104, 105, 101, 255,
676 14, 5, 103, 107, 104, 100, 255,
677 14, 5, 102, 103, 100, 101, 255,
678 10, 4, 105, 102, 101, 255,
679 10, 4, 102, 107, 103, 255,
680 6, // Case : 65
681 13, 6, 105, 107, 102, 5, 6, 11,
682 13, 6, 8, 3, 0, 104, 103, 101,
683 10, 4, 107, 102, 105, 103,
684 10, 4, 101, 102, 103, 105,
685 10, 4, 104, 105, 101, 103,
686 10, 4, 107, 104, 103, 105,
687 12, // Case : 66
688 0, 2, 0, 6,
689 14, 5, 100, 103, 107, 104, 255,
690 10, 4, 104, 107, 105, 255,
691 10, 4, 100, 104, 105, 255,
692 10, 4, 102, 103, 100, 255,
693 10, 4, 107, 103, 102, 255,
694 14, 5, 107, 102, 11, 6, 255,
695 14, 5, 105, 107, 6, 5, 255,
696 10, 4, 105, 5, 9, 255,
697 14, 5, 100, 105, 9, 0, 255,
698 14, 5, 100, 0, 1, 102, 255,
699 10, 4, 102, 1, 11, 255,
700 11, // Case : 67
701 0, 4, 8, 3, 6, 6,
702 14, 5, 107, 102, 11, 6, 255,
703 10, 4, 11, 102, 1, 255,
704 14, 5, 103, 3, 1, 102, 255,
705 10, 4, 107, 103, 102, 255,
706 10, 4, 105, 5, 9, 255,
707 10, 4, 104, 107, 105, 255,
708 14, 5, 105, 107, 6, 5, 255,
709 10, 4, 104, 103, 107, 255,
710 14, 5, 104, 8, 3, 103, 255,
711 14, 5, 104, 105, 9, 8, 255,
712 2, // Case : 68
713 12, 8, 6, 107, 103, 2, 5, 105, 101, 1,
714 13, 6, 101, 100, 103, 105, 104, 107,
715 11, // Case : 69
716 0, 4, 6, 5, 8, 8,
717 14, 5, 104, 101, 0, 8, 255,
718 10, 4, 0, 101, 1, 255,
719 14, 5, 105, 5, 1, 101, 255,
720 10, 4, 104, 105, 101, 255,
721 10, 4, 103, 3, 2, 255,
722 10, 4, 107, 104, 103, 255,
723 14, 5, 103, 104, 8, 3, 255,
724 10, 4, 107, 105, 104, 255,
725 14, 5, 107, 6, 5, 105, 255,
726 14, 5, 107, 103, 2, 6, 255,
727 9, // Case : 70
728 0, 5, 0, 2, 9, 5, 6,
729 14, 5, 100, 103, 107, 104, 255,
730 10, 4, 107, 255, 105, 104,
731 14, 5, 103, 2, 6, 107, 255,
732 14, 5, 0, 2, 103, 100, 255,
733 10, 4, 105, 100, 104, 255,
734 14, 5, 105, 9, 0, 100, 255,
735 10, 4, 105, 5, 9, 255,
736 14, 5, 6, 5, 105, 107, 255,
737 9, // Case : 71
738 0, 6, 9, 5, 6, 2, 3, 8,
739 10, 4, 107, 104, 103, 255,
740 14, 5, 107, 103, 2, 6, 255,
741 10, 4, 105, 104, 107, 255,
742 14, 5, 105, 107, 6, 5, 255,
743 10, 4, 9, 105, 5, 255,
744 14, 5, 105, 9, 8, 104, 255,
745 14, 5, 8, 3, 103, 104, 255,
746 10, 4, 103, 3, 2, 255,
747 12, // Case : 72
748 0, 2, 3, 5,
749 14, 5, 100, 104, 105, 101, 255,
750 10, 4, 101, 105, 102, 255,
751 10, 4, 100, 101, 102, 255,
752 10, 4, 107, 104, 100, 255,
753 10, 4, 105, 104, 107, 255,
754 14, 5, 105, 107, 6, 5, 255,
755 14, 5, 102, 105, 5, 11, 255,
756 10, 4, 102, 11, 2, 255,
757 14, 5, 100, 102, 2, 3, 255,
758 14, 5, 100, 3, 10, 107, 255,
759 10, 4, 107, 10, 6, 255,
760 11, // Case : 73
761 0, 4, 0, 8, 5, 5,
762 14, 5, 105, 107, 6, 5, 255,
763 10, 4, 6, 107, 10, 255,
764 14, 5, 104, 8, 10, 107, 255,
765 10, 4, 105, 104, 107, 255,
766 10, 4, 102, 11, 2, 255,
767 10, 4, 101, 105, 102, 255,
768 14, 5, 102, 105, 5, 11, 255,
769 10, 4, 101, 104, 105, 255,
770 14, 5, 101, 0, 8, 104, 255,
771 14, 5, 101, 102, 2, 0, 255,
772 6, // Case : 74
773 10, 4, 102, 1, 11, 2,
774 10, 4, 107, 104, 100, 105,
775 14, 5, 9, 0, 100, 105, 3,
776 14, 5, 5, 105, 107, 6, 10,
777 14, 5, 100, 3, 10, 107, 105,
778 14, 5, 3, 9, 5, 10, 105,
779 8, // Case : 75
780 0, 5, 8, 10, 9, 5, 6,
781 10, 4, 102, 2, 1, 11,
782 14, 5, 107, 104, 8, 10, 255,
783 14, 5, 104, 105, 9, 8, 255,
784 10, 4, 105, 5, 9, 255,
785 10, 4, 104, 107, 105, 255,
786 14, 5, 105, 107, 6, 5, 255,
787 10, 4, 107, 10, 6, 255,
788 9, // Case : 76
789 0, 5, 3, 1, 10, 6, 5,
790 14, 5, 100, 104, 105, 101, 255,
791 10, 4, 105, 107, 255, 104,
792 14, 5, 101, 105, 5, 1, 255,
793 14, 5, 3, 100, 101, 1, 255,
794 10, 4, 107, 104, 100, 255,
795 14, 5, 107, 100, 3, 10, 255,
796 10, 4, 107, 10, 6, 255,
797 14, 5, 5, 105, 107, 6, 255,
798 9, // Case : 77
799 0, 6, 10, 6, 5, 1, 0, 8,
800 10, 4, 105, 101, 104, 255,
801 14, 5, 105, 5, 1, 101, 255,
802 10, 4, 107, 105, 104, 255,
803 14, 5, 107, 6, 5, 105, 255,
804 10, 4, 10, 6, 107, 255,
805 14, 5, 107, 104, 8, 10, 255,
806 14, 5, 8, 104, 101, 0, 255,
807 10, 4, 101, 1, 0, 255,
808 5, // Case : 78
809 10, 4, 107, 104, 100, 105,
810 14, 5, 9, 0, 100, 105, 3,
811 14, 5, 5, 105, 107, 6, 10,
812 14, 5, 100, 3, 10, 107, 105,
813 14, 5, 3, 9, 5, 10, 105,
814 7, // Case : 79
815 0, 5, 10, 8, 9, 6, 5,
816 14, 5, 104, 105, 9, 8, 255,
817 10, 4, 105, 5, 9, 255,
818 14, 5, 107, 104, 8, 10, 255,
819 10, 4, 6, 107, 10, 255,
820 14, 5, 5, 105, 107, 6, 255,
821 10, 4, 105, 104, 107, 255,
822 12, // Case : 80
823 0, 2, 8, 11,
824 14, 5, 100, 101, 102, 103, 255,
825 10, 4, 101, 105, 102, 255,
826 10, 4, 100, 105, 101, 255,
827 10, 4, 107, 100, 103, 255,
828 10, 4, 102, 107, 103, 255,
829 14, 5, 102, 11, 6, 107, 255,
830 14, 5, 105, 5, 11, 102, 255,
831 10, 4, 105, 4, 5, 255,
832 14, 5, 100, 8, 4, 105, 255,
833 14, 5, 100, 107, 7, 8, 255,
834 10, 4, 107, 6, 7, 255,
835 11, // Case : 81
836 0, 4, 0, 3, 11, 11,
837 14, 5, 102, 11, 6, 107, 255,
838 10, 4, 6, 7, 107, 255,
839 14, 5, 103, 107, 7, 3, 255,
840 10, 4, 102, 107, 103, 255,
841 10, 4, 105, 4, 5, 255,
842 10, 4, 101, 105, 102, 255,
843 14, 5, 105, 5, 11, 102, 255,
844 10, 4, 101, 102, 103, 255,
845 14, 5, 101, 103, 3, 0, 255,
846 14, 5, 101, 0, 4, 105, 255,
847 6, // Case : 82
848 10, 4, 105, 5, 9, 4,
849 10, 4, 107, 100, 103, 102,
850 14, 5, 1, 102, 100, 0, 8,
851 14, 5, 11, 6, 107, 102, 7,
852 14, 5, 100, 107, 7, 8, 102,
853 14, 5, 8, 7, 11, 1, 102,
854 8, // Case : 83
855 0, 5, 3, 7, 1, 11, 6,
856 10, 4, 105, 9, 4, 5,
857 14, 5, 107, 7, 3, 103, 255,
858 14, 5, 103, 3, 1, 102, 255,
859 10, 4, 102, 1, 11, 255,
860 10, 4, 103, 102, 107, 255,
861 14, 5, 102, 11, 6, 107, 255,
862 10, 4, 107, 6, 7, 255,
863 11, // Case : 84
864 0, 4, 2, 1, 8, 8,
865 14, 5, 100, 8, 4, 105, 255,
866 10, 4, 4, 5, 105, 255,
867 14, 5, 101, 105, 5, 1, 255,
868 10, 4, 100, 105, 101, 255,
869 10, 4, 107, 6, 7, 255,
870 10, 4, 103, 107, 100, 255,
871 14, 5, 107, 7, 8, 100, 255,
872 10, 4, 103, 100, 101, 255,
873 14, 5, 103, 101, 1, 2, 255,
874 14, 5, 103, 2, 6, 107, 255,
875 2, // Case : 85
876 13, 6, 107, 7, 6, 103, 3, 2,
877 13, 6, 105, 5, 4, 101, 1, 0,
878 8, // Case : 86
879 0, 5, 2, 6, 0, 8, 7,
880 10, 4, 105, 5, 9, 4,
881 14, 5, 107, 103, 2, 6, 255,
882 14, 5, 103, 100, 0, 2, 255,
883 10, 4, 100, 8, 0, 255,
884 10, 4, 103, 107, 100, 255,
885 14, 5, 100, 107, 7, 8, 255,
886 10, 4, 107, 6, 7, 255,
887 2, // Case : 87
888 13, 6, 6, 107, 7, 2, 103, 3,
889 10, 4, 9, 4, 105, 5,
890 6, // Case : 88
891 10, 4, 107, 6, 7, 10,
892 10, 4, 102, 100, 101, 105,
893 14, 5, 4, 105, 100, 8, 3,
894 14, 5, 5, 11, 102, 105, 2,
895 14, 5, 100, 102, 2, 3, 105,
896 14, 5, 3, 2, 5, 4, 105,
897 8, // Case : 89
898 0, 5, 0, 2, 4, 5, 11,
899 10, 4, 107, 7, 10, 6,
900 14, 5, 102, 2, 0, 101, 255,
901 14, 5, 101, 0, 4, 105, 255,
902 10, 4, 105, 4, 5, 255,
903 10, 4, 101, 105, 102, 255,
904 14, 5, 105, 5, 11, 102, 255,
905 10, 4, 102, 11, 2, 255,
906 4, // Case : 90
907 10, 4, 7, 6, 10, 107,
908 10, 4, 8, 3, 0, 100,
909 10, 4, 4, 9, 5, 105,
910 10, 4, 1, 2, 11, 102,
911 3, // Case : 91
912 10, 4, 4, 9, 5, 105,
913 10, 4, 7, 10, 107, 6,
914 10, 4, 1, 102, 2, 11,
915 8, // Case : 92
916 0, 5, 1, 5, 3, 8, 4,
917 10, 4, 107, 10, 6, 7,
918 14, 5, 105, 5, 1, 101, 255,
919 14, 5, 101, 1, 3, 100, 255,
920 10, 4, 100, 3, 8, 255,
921 10, 4, 101, 100, 105, 255,
922 14, 5, 100, 8, 4, 105, 255,
923 10, 4, 105, 4, 5, 255,
924 2, // Case : 93
925 13, 6, 1, 101, 0, 5, 105, 4,
926 10, 4, 10, 107, 7, 6,
927 3, // Case : 94
928 10, 4, 10, 7, 6, 107,
929 10, 4, 3, 100, 0, 8,
930 10, 4, 5, 9, 105, 4,
931 2, // Case : 95
932 10, 4, 6, 10, 7, 107,
933 10, 4, 5, 4, 9, 105,
934 2, // Case : 96
935 12, 8, 11, 102, 101, 9, 6, 107, 104, 4,
936 13, 6, 102, 103, 107, 101, 100, 104,
937 11, // Case : 97
938 0, 4, 6, 11, 3, 3,
939 14, 5, 103, 3, 0, 101, 255,
940 10, 4, 0, 9, 101, 255,
941 14, 5, 102, 101, 9, 11, 255,
942 10, 4, 103, 101, 102, 255,
943 10, 4, 104, 4, 8, 255,
944 10, 4, 107, 104, 103, 255,
945 14, 5, 104, 8, 3, 103, 255,
946 10, 4, 107, 103, 102, 255,
947 14, 5, 107, 102, 11, 6, 255,
948 14, 5, 107, 6, 4, 104, 255,
949 9, // Case : 98
950 0, 5, 0, 4, 1, 11, 6,
951 14, 5, 100, 103, 107, 104, 255,
952 10, 4, 107, 102, 255, 103,
953 14, 5, 104, 107, 6, 4, 255,
954 14, 5, 0, 100, 104, 4, 255,
955 10, 4, 102, 103, 100, 255,
956 14, 5, 102, 100, 0, 1, 255,
957 10, 4, 102, 1, 11, 255,
958 14, 5, 6, 107, 102, 11, 255,
959 9, // Case : 99
960 0, 6, 1, 11, 6, 4, 8, 3,
961 10, 4, 107, 104, 103, 255,
962 14, 5, 107, 6, 4, 104, 255,
963 10, 4, 102, 107, 103, 255,
964 14, 5, 102, 11, 6, 107, 255,
965 10, 4, 1, 11, 102, 255,
966 14, 5, 102, 103, 3, 1, 255,
967 14, 5, 3, 103, 104, 8, 255,
968 10, 4, 104, 4, 8, 255,
969 9, // Case : 100
970 0, 5, 2, 6, 1, 9, 4,
971 14, 5, 103, 107, 104, 100, 255,
972 10, 4, 104, 255, 101, 100,
973 14, 5, 107, 6, 4, 104, 255,
974 14, 5, 2, 6, 107, 103, 255,
975 10, 4, 101, 103, 100, 255,
976 14, 5, 101, 1, 2, 103, 255,
977 10, 4, 101, 9, 1, 255,
978 14, 5, 4, 9, 101, 104, 255,
979 8, // Case : 101
980 0, 5, 6, 4, 2, 3, 8,
981 10, 4, 101, 9, 1, 0,
982 14, 5, 104, 107, 6, 4, 255,
983 14, 5, 107, 103, 2, 6, 255,
984 10, 4, 103, 3, 2, 255,
985 10, 4, 107, 104, 103, 255,
986 14, 5, 103, 104, 8, 3, 255,
987 10, 4, 104, 4, 8, 255,
988 1, // Case : 102
989 12, 8, 0, 4, 6, 2, 100, 104, 107, 103,
990 7, // Case : 103
991 0, 5, 4, 6, 2, 8, 3,
992 14, 5, 107, 103, 2, 6, 255,
993 10, 4, 103, 3, 2, 255,
994 14, 5, 104, 107, 6, 4, 255,
995 10, 4, 8, 104, 4, 255,
996 14, 5, 3, 103, 104, 8, 255,
997 10, 4, 103, 107, 104, 255,
998 11, // Case : 104
999 0, 4, 4, 9, 3, 3,
1000 14, 5, 100, 102, 2, 3, 255,
1001 10, 4, 2, 102, 11, 255,
1002 14, 5, 101, 9, 11, 102, 255,
1003 10, 4, 100, 101, 102, 255,
1004 10, 4, 107, 10, 6, 255,
1005 10, 4, 104, 100, 107, 255,
1006 14, 5, 107, 100, 3, 10, 255,
1007 10, 4, 104, 101, 100, 255,
1008 14, 5, 104, 4, 9, 101, 255,
1009 14, 5, 104, 107, 6, 4, 255,
1010 2, // Case : 105
1011 13, 6, 104, 8, 4, 107, 10, 6,
1012 13, 6, 101, 9, 0, 102, 11, 2,
1013 8, // Case : 106
1014 0, 5, 4, 6, 0, 3, 10,
1015 10, 4, 102, 1, 11, 2,
1016 14, 5, 107, 6, 4, 104, 255,
1017 14, 5, 104, 4, 0, 100, 255,
1018 10, 4, 100, 0, 3, 255,
1019 10, 4, 104, 100, 107, 255,
1020 14, 5, 100, 3, 10, 107, 255,
1021 10, 4, 107, 10, 6, 255,
1022 2, // Case : 107
1023 13, 6, 4, 104, 8, 6, 107, 10,
1024 10, 4, 1, 102, 2, 11,
1025 9, // Case : 108
1026 0, 6, 1, 9, 4, 6, 10, 3,
1027 10, 4, 104, 100, 107, 255,
1028 14, 5, 104, 107, 6, 4, 255,
1029 10, 4, 101, 100, 104, 255,
1030 14, 5, 101, 104, 4, 9, 255,
1031 10, 4, 1, 101, 9, 255,
1032 14, 5, 101, 1, 3, 100, 255,
1033 14, 5, 3, 10, 107, 100, 255,
1034 10, 4, 107, 10, 6, 255,
1035 2, // Case : 109
1036 13, 6, 4, 104, 8, 6, 107, 10,
1037 10, 4, 1, 0, 101, 9,
1038 7, // Case : 110
1039 0, 5, 6, 4, 0, 10, 3,
1040 14, 5, 104, 4, 0, 100, 255,
1041 10, 4, 100, 0, 3, 255,
1042 14, 5, 107, 6, 4, 104, 255,
1043 10, 4, 10, 6, 107, 255,
1044 14, 5, 3, 10, 107, 100, 255,
1045 10, 4, 100, 107, 104, 255,
1046 1, // Case : 111
1047 13, 6, 104, 8, 4, 107, 10, 6,
1048 9, // Case : 112
1049 0, 5, 8, 9, 7, 6, 11,
1050 14, 5, 100, 101, 102, 103, 255,
1051 10, 4, 102, 255, 107, 103,
1052 14, 5, 101, 9, 11, 102, 255,
1053 14, 5, 8, 9, 101, 100, 255,
1054 10, 4, 107, 100, 103, 255,
1055 14, 5, 107, 7, 8, 100, 255,
1056 10, 4, 107, 6, 7, 255,
1057 14, 5, 11, 6, 107, 102, 255,
1058 9, // Case : 113
1059 0, 6, 7, 6, 11, 9, 0, 3,
1060 10, 4, 102, 103, 101, 255,
1061 14, 5, 102, 101, 9, 11, 255,
1062 10, 4, 107, 103, 102, 255,
1063 14, 5, 107, 102, 11, 6, 255,
1064 10, 4, 7, 107, 6, 255,
1065 14, 5, 107, 7, 3, 103, 255,
1066 14, 5, 3, 0, 101, 103, 255,
1067 10, 4, 101, 0, 9, 255,
1068 5, // Case : 114
1069 10, 4, 107, 100, 103, 102,
1070 14, 5, 1, 102, 100, 0, 8,
1071 14, 5, 11, 6, 107, 102, 7,
1072 14, 5, 100, 107, 7, 8, 102,
1073 14, 5, 8, 7, 11, 1, 102,
1074 7, // Case : 115
1075 0, 5, 7, 3, 1, 6, 11,
1076 14, 5, 103, 3, 1, 102, 255,
1077 10, 4, 102, 1, 11, 255,
1078 14, 5, 107, 7, 3, 103, 255,
1079 10, 4, 6, 7, 107, 255,
1080 14, 5, 11, 6, 107, 102, 255,
1081 10, 4, 102, 107, 103, 255,
1082 9, // Case : 116
1083 0, 6, 9, 1, 2, 6, 7, 8,
1084 10, 4, 103, 107, 100, 255,
1085 14, 5, 103, 2, 6, 107, 255,
1086 10, 4, 101, 103, 100, 255,
1087 14, 5, 101, 1, 2, 103, 255,
1088 10, 4, 9, 1, 101, 255,
1089 14, 5, 101, 100, 8, 9, 255,
1090 14, 5, 8, 100, 107, 7, 255,
1091 10, 4, 107, 6, 7, 255,
1092 2, // Case : 117
1093 13, 6, 6, 107, 7, 2, 103, 3,
1094 10, 4, 9, 101, 0, 1,
1095 7, // Case : 118
1096 0, 5, 6, 2, 0, 7, 8,
1097 14, 5, 103, 100, 0, 2, 255,
1098 10, 4, 100, 8, 0, 255,
1099 14, 5, 107, 103, 2, 6, 255,
1100 10, 4, 7, 107, 6, 255,
1101 14, 5, 8, 100, 107, 7, 255,
1102 10, 4, 100, 103, 107, 255,
1103 1, // Case : 119
1104 13, 6, 107, 7, 6, 103, 3, 2,
1105 8, // Case : 120
1106 0, 5, 9, 11, 8, 3, 2,
1107 10, 4, 107, 6, 7, 10,
1108 14, 5, 102, 101, 9, 11, 255,
1109 14, 5, 101, 100, 8, 9, 255,
1110 10, 4, 100, 3, 8, 255,
1111 10, 4, 101, 102, 100, 255,
1112 14, 5, 100, 102, 2, 3, 255,
1113 10, 4, 102, 11, 2, 255,
1114 2, // Case : 121
1115 13, 6, 11, 102, 2, 9, 101, 0,
1116 10, 4, 7, 10, 107, 6,
1117 3, // Case : 122
1118 10, 4, 7, 6, 10, 107,
1119 10, 4, 8, 0, 100, 3,
1120 10, 4, 11, 102, 1, 2,
1121 2, // Case : 123
1122 10, 4, 6, 10, 7, 107,
1123 10, 4, 11, 1, 2, 102,
1124 2, // Case : 124
1125 13, 6, 3, 100, 8, 1, 101, 9,
1126 10, 4, 6, 7, 107, 10,
1127 2, // Case : 125
1128 10, 4, 6, 10, 7, 107,
1129 10, 4, 9, 0, 1, 101,
1130 2, // Case : 126
1131 10, 4, 8, 3, 0, 100,
1132 10, 4, 7, 6, 10, 107,
1133 1, // Case : 127
1134 10, 4, 7, 6, 10, 107,
1135 9, // Case : 128
1136 0, 7, 106, 105, 104, 103, 102, 101, 100,
1137 13, 6, 106, 104, 103, 6, 7, 10,
1138 10, 4, 106, 104, 103, 255,
1139 10, 4, 106, 105, 104, 255,
1140 14, 5, 101, 100, 104, 105, 255,
1141 14, 5, 102, 101, 105, 106, 255,
1142 14, 5, 103, 100, 101, 102, 255,
1143 10, 4, 104, 100, 103, 255,
1144 10, 4, 103, 102, 106, 255,
1145 12, // Case : 129
1146 0, 2, 0, 6,
1147 14, 5, 101, 105, 106, 102, 255,
1148 10, 4, 105, 104, 106, 255,
1149 10, 4, 101, 104, 105, 255,
1150 10, 4, 103, 101, 102, 255,
1151 10, 4, 106, 103, 102, 255,
1152 14, 5, 106, 6, 10, 103, 255,
1153 14, 5, 104, 7, 6, 106, 255,
1154 10, 4, 104, 8, 7, 255,
1155 14, 5, 101, 0, 8, 104, 255,
1156 14, 5, 101, 103, 3, 0, 255,
1157 10, 4, 103, 10, 3, 255,
1158 6, // Case : 130
1159 13, 6, 104, 103, 106, 7, 10, 6,
1160 13, 6, 0, 1, 9, 100, 102, 105,
1161 10, 4, 103, 106, 104, 102,
1162 10, 4, 105, 106, 102, 104,
1163 10, 4, 100, 104, 105, 102,
1164 10, 4, 103, 100, 102, 104,
1165 11, // Case : 131
1166 0, 4, 9, 1, 6, 6,
1167 14, 5, 106, 6, 10, 103, 255,
1168 10, 4, 10, 3, 103, 255,
1169 14, 5, 102, 103, 3, 1, 255,
1170 10, 4, 106, 103, 102, 255,
1171 10, 4, 104, 8, 7, 255,
1172 10, 4, 105, 104, 106, 255,
1173 14, 5, 104, 7, 6, 106, 255,
1174 10, 4, 105, 106, 102, 255,
1175 14, 5, 105, 102, 1, 9, 255,
1176 14, 5, 105, 9, 8, 104, 255,
1177 12, // Case : 132
1178 0, 2, 7, 1,
1179 14, 5, 104, 105, 101, 100, 255,
1180 10, 4, 105, 106, 101, 255,
1181 10, 4, 104, 106, 105, 255,
1182 10, 4, 103, 104, 100, 255,
1183 10, 4, 101, 103, 100, 255,
1184 14, 5, 101, 1, 2, 103, 255,
1185 14, 5, 106, 11, 1, 101, 255,
1186 10, 4, 106, 6, 11, 255,
1187 14, 5, 104, 7, 6, 106, 255,
1188 14, 5, 104, 103, 10, 7, 255,
1189 10, 4, 103, 2, 10, 255,
1190 6, // Case : 133
1191 10, 4, 103, 3, 2, 10,
1192 10, 4, 106, 105, 104, 101,
1193 14, 5, 0, 8, 104, 101, 7,
1194 14, 5, 1, 101, 106, 11, 6,
1195 14, 5, 104, 7, 6, 106, 101,
1196 14, 5, 7, 0, 1, 6, 101,
1197 11, // Case : 134
1198 0, 4, 9, 0, 7, 7,
1199 14, 5, 104, 103, 10, 7, 255,
1200 10, 4, 10, 103, 2, 255,
1201 14, 5, 100, 0, 2, 103, 255,
1202 10, 4, 104, 100, 103, 255,
1203 10, 4, 106, 6, 11, 255,
1204 10, 4, 105, 104, 106, 255,
1205 14, 5, 106, 104, 7, 6, 255,
1206 10, 4, 105, 100, 104, 255,
1207 14, 5, 105, 9, 0, 100, 255,
1208 14, 5, 105, 106, 11, 9, 255,
1209 8, // Case : 135
1210 0, 5, 9, 11, 8, 7, 6,
1211 10, 4, 103, 3, 2, 10,
1212 14, 5, 106, 11, 9, 105, 255,
1213 14, 5, 105, 9, 8, 104, 255,
1214 10, 4, 104, 8, 7, 255,
1215 10, 4, 105, 104, 106, 255,
1216 14, 5, 104, 7, 6, 106, 255,
1217 10, 4, 106, 6, 11, 255,
1218 2, // Case : 136
1219 12, 8, 7, 104, 100, 3, 6, 106, 102, 2,
1220 13, 6, 104, 105, 106, 100, 101, 102,
1221 9, // Case : 137
1222 0, 5, 0, 2, 8, 7, 6,
1223 14, 5, 101, 105, 106, 102, 255,
1224 10, 4, 106, 104, 255, 105,
1225 14, 5, 102, 106, 6, 2, 255,
1226 14, 5, 0, 101, 102, 2, 255,
1227 10, 4, 104, 105, 101, 255,
1228 14, 5, 104, 101, 0, 8, 255,
1229 10, 4, 104, 8, 7, 255,
1230 14, 5, 6, 106, 104, 7, 255,
1231 11, // Case : 138
1232 0, 4, 6, 7, 9, 9,
1233 14, 5, 105, 9, 0, 100, 255,
1234 10, 4, 0, 3, 100, 255,
1235 14, 5, 104, 100, 3, 7, 255,
1236 10, 4, 105, 100, 104, 255,
1237 10, 4, 102, 2, 1, 255,
1238 10, 4, 106, 102, 105, 255,
1239 14, 5, 102, 1, 9, 105, 255,
1240 10, 4, 106, 105, 104, 255,
1241 14, 5, 106, 104, 7, 6, 255,
1242 14, 5, 106, 6, 2, 102, 255,
1243 9, // Case : 139
1244 0, 6, 8, 7, 6, 2, 1, 9,
1245 10, 4, 106, 102, 105, 255,
1246 14, 5, 106, 6, 2, 102, 255,
1247 10, 4, 104, 106, 105, 255,
1248 14, 5, 104, 7, 6, 106, 255,
1249 10, 4, 8, 7, 104, 255,
1250 14, 5, 104, 105, 9, 8, 255,
1251 14, 5, 9, 105, 102, 1, 255,
1252 10, 4, 102, 2, 1, 255,
1253 9, // Case : 140
1254 0, 5, 1, 3, 11, 6, 7,
1255 14, 5, 101, 100, 104, 105, 255,
1256 10, 4, 104, 255, 106, 105,
1257 14, 5, 100, 3, 7, 104, 255,
1258 14, 5, 1, 3, 100, 101, 255,
1259 10, 4, 106, 101, 105, 255,
1260 14, 5, 106, 11, 1, 101, 255,
1261 10, 4, 106, 6, 11, 255,
1262 14, 5, 7, 6, 106, 104, 255,
1263 5, // Case : 141
1264 10, 4, 106, 105, 104, 101,
1265 14, 5, 0, 8, 104, 101, 7,
1266 14, 5, 1, 101, 106, 11, 6,
1267 14, 5, 104, 7, 6, 106, 101,
1268 14, 5, 7, 0, 1, 6, 101,
1269 9, // Case : 142
1270 0, 6, 3, 0, 9, 11, 6, 7,
1271 10, 4, 105, 104, 106, 255,
1272 14, 5, 105, 106, 11, 9, 255,
1273 10, 4, 100, 104, 105, 255,
1274 14, 5, 100, 105, 9, 0, 255,
1275 10, 4, 3, 100, 0, 255,
1276 14, 5, 100, 3, 7, 104, 255,
1277 14, 5, 7, 6, 106, 104, 255,
1278 10, 4, 106, 6, 11, 255,
1279 7, // Case : 143
1280 0, 5, 11, 9, 8, 6, 7,
1281 14, 5, 105, 9, 8, 104, 255,
1282 10, 4, 104, 8, 7, 255,
1283 14, 5, 106, 11, 9, 105, 255,
1284 10, 4, 6, 11, 106, 255,
1285 14, 5, 7, 6, 106, 104, 255,
1286 10, 4, 104, 106, 105, 255,
1287 2, // Case : 144
1288 12, 8, 6, 106, 105, 4, 10, 103, 100, 8,
1289 13, 6, 100, 101, 105, 103, 102, 106,
1290 9, // Case : 145
1291 0, 5, 0, 4, 3, 10, 6,
1292 14, 5, 101, 105, 106, 102, 255,
1293 10, 4, 106, 255, 103, 102,
1294 14, 5, 105, 4, 6, 106, 255,
1295 14, 5, 0, 4, 105, 101, 255,
1296 10, 4, 103, 101, 102, 255,
1297 14, 5, 103, 3, 0, 101, 255,
1298 10, 4, 103, 10, 3, 255,
1299 14, 5, 6, 10, 103, 106, 255,
1300 11, // Case : 146
1301 0, 4, 6, 10, 1, 1,
1302 14, 5, 102, 100, 0, 1, 255,
1303 10, 4, 0, 100, 8, 255,
1304 14, 5, 103, 10, 8, 100, 255,
1305 10, 4, 102, 103, 100, 255,
1306 10, 4, 105, 9, 4, 255,
1307 10, 4, 106, 102, 105, 255,
1308 14, 5, 105, 102, 1, 9, 255,
1309 10, 4, 106, 103, 102, 255,
1310 14, 5, 106, 6, 10, 103, 255,
1311 14, 5, 106, 105, 4, 6, 255,
1312 9, // Case : 147
1313 0, 6, 3, 10, 6, 4, 9, 1,
1314 10, 4, 106, 102, 105, 255,
1315 14, 5, 106, 105, 4, 6, 255,
1316 10, 4, 103, 102, 106, 255,
1317 14, 5, 103, 106, 6, 10, 255,
1318 10, 4, 3, 103, 10, 255,
1319 14, 5, 103, 3, 1, 102, 255,
1320 14, 5, 1, 9, 105, 102, 255,
1321 10, 4, 105, 9, 4, 255,
1322 11, // Case : 148
1323 0, 4, 4, 8, 1, 1,
1324 14, 5, 101, 1, 2, 103, 255,
1325 10, 4, 2, 10, 103, 255,
1326 14, 5, 100, 103, 10, 8, 255,
1327 10, 4, 101, 103, 100, 255,
1328 10, 4, 106, 6, 11, 255,
1329 10, 4, 105, 106, 101, 255,
1330 14, 5, 106, 11, 1, 101, 255,
1331 10, 4, 105, 101, 100, 255,
1332 14, 5, 105, 100, 8, 4, 255,
1333 14, 5, 105, 4, 6, 106, 255,
1334 8, // Case : 149
1335 0, 5, 4, 6, 0, 1, 11,
1336 10, 4, 103, 10, 3, 2,
1337 14, 5, 106, 105, 4, 6, 255,
1338 14, 5, 105, 101, 0, 4, 255,
1339 10, 4, 101, 1, 0, 255,
1340 10, 4, 105, 106, 101, 255,
1341 14, 5, 101, 106, 11, 1, 255,
1342 10, 4, 106, 6, 11, 255,
1343 2, // Case : 150
1344 13, 6, 103, 10, 2, 100, 8, 0,
1345 13, 6, 106, 11, 6, 105, 9, 4,
1346 2, // Case : 151
1347 13, 6, 9, 105, 4, 11, 106, 6,
1348 10, 4, 3, 103, 10, 2,
1349 9, // Case : 152
1350 0, 5, 2, 6, 3, 8, 4,
1351 14, 5, 102, 101, 105, 106, 255,
1352 10, 4, 105, 100, 255, 101,
1353 14, 5, 106, 105, 4, 6, 255,
1354 14, 5, 2, 102, 106, 6, 255,
1355 10, 4, 100, 101, 102, 255,
1356 14, 5, 100, 102, 2, 3, 255,
1357 10, 4, 100, 3, 8, 255,
1358 14, 5, 4, 105, 100, 8, 255,
1359 1, // Case : 153
1360 12, 8, 101, 105, 106, 102, 0, 4, 6, 2,
1361 8, // Case : 154
1362 0, 5, 6, 4, 2, 1, 9,
1363 10, 4, 100, 3, 8, 0,
1364 14, 5, 105, 4, 6, 106, 255,
1365 14, 5, 106, 6, 2, 102, 255,
1366 10, 4, 102, 2, 1, 255,
1367 10, 4, 106, 102, 105, 255,
1368 14, 5, 102, 1, 9, 105, 255,
1369 10, 4, 105, 9, 4, 255,
1370 7, // Case : 155
1371 0, 5, 4, 6, 2, 9, 1,
1372 14, 5, 106, 6, 2, 102, 255,
1373 10, 4, 102, 2, 1, 255,
1374 14, 5, 105, 4, 6, 106, 255,
1375 10, 4, 9, 4, 105, 255,
1376 14, 5, 1, 9, 105, 102, 255,
1377 10, 4, 102, 105, 106, 255,
1378 9, // Case : 156
1379 0, 6, 3, 8, 4, 6, 11, 1,
1380 10, 4, 105, 106, 101, 255,
1381 14, 5, 105, 4, 6, 106, 255,
1382 10, 4, 100, 105, 101, 255,
1383 14, 5, 100, 8, 4, 105, 255,
1384 10, 4, 3, 8, 100, 255,
1385 14, 5, 100, 101, 1, 3, 255,
1386 14, 5, 1, 101, 106, 11, 255,
1387 10, 4, 106, 6, 11, 255,
1388 7, // Case : 157
1389 0, 5, 6, 4, 0, 11, 1,
1390 14, 5, 105, 101, 0, 4, 255,
1391 10, 4, 101, 1, 0, 255,
1392 14, 5, 106, 105, 4, 6, 255,
1393 10, 4, 11, 106, 6, 255,
1394 14, 5, 1, 101, 106, 11, 255,
1395 10, 4, 101, 105, 106, 255,
1396 2, // Case : 158
1397 13, 6, 9, 105, 4, 11, 106, 6,
1398 10, 4, 3, 8, 100, 0,
1399 1, // Case : 159
1400 13, 6, 105, 4, 9, 106, 6, 11,
1401 12, // Case : 160
1402 0, 2, 10, 9,
1403 14, 5, 103, 100, 101, 102, 255,
1404 10, 4, 102, 101, 106, 255,
1405 10, 4, 103, 102, 106, 255,
1406 10, 4, 104, 100, 103, 255,
1407 10, 4, 101, 100, 104, 255,
1408 14, 5, 101, 104, 4, 9, 255,
1409 14, 5, 106, 101, 9, 5, 255,
1410 10, 4, 106, 5, 6, 255,
1411 14, 5, 103, 106, 6, 10, 255,
1412 14, 5, 103, 10, 7, 104, 255,
1413 10, 4, 104, 7, 4, 255,
1414 6, // Case : 161
1415 10, 4, 104, 4, 8, 7,
1416 10, 4, 106, 103, 102, 101,
1417 14, 5, 0, 101, 103, 3, 10,
1418 14, 5, 9, 5, 106, 101, 6,
1419 14, 5, 103, 106, 6, 10, 101,
1420 14, 5, 10, 6, 9, 0, 101,
1421 11, // Case : 162
1422 0, 4, 1, 0, 10, 10,
1423 14, 5, 103, 10, 7, 104, 255,
1424 10, 4, 7, 4, 104, 255,
1425 14, 5, 100, 104, 4, 0, 255,
1426 10, 4, 103, 104, 100, 255,
1427 10, 4, 106, 5, 6, 255,
1428 10, 4, 102, 106, 103, 255,
1429 14, 5, 106, 6, 10, 103, 255,
1430 10, 4, 102, 103, 100, 255,
1431 14, 5, 102, 100, 0, 1, 255,
1432 14, 5, 102, 1, 5, 106, 255,
1433 8, // Case : 163
1434 0, 5, 1, 5, 3, 10, 6,
1435 10, 4, 104, 4, 8, 7,
1436 14, 5, 106, 102, 1, 5, 255,
1437 14, 5, 102, 103, 3, 1, 255,
1438 10, 4, 103, 10, 3, 255,
1439 10, 4, 102, 106, 103, 255,
1440 14, 5, 103, 106, 6, 10, 255,
1441 10, 4, 106, 5, 6, 255,
1442 6, // Case : 164
1443 10, 4, 106, 5, 6, 11,
1444 10, 4, 103, 100, 101, 104,
1445 14, 5, 4, 9, 101, 104, 1,
1446 14, 5, 7, 104, 103, 10, 2,
1447 14, 5, 101, 1, 2, 103, 104,
1448 14, 5, 1, 4, 7, 2, 104,
1449 4, // Case : 165
1450 10, 4, 7, 8, 4, 104,
1451 10, 4, 10, 2, 3, 103,
1452 10, 4, 6, 5, 11, 106,
1453 10, 4, 1, 9, 0, 101,
1454 8, // Case : 166
1455 0, 5, 0, 2, 4, 7, 10,
1456 10, 4, 106, 11, 5, 6,
1457 14, 5, 103, 100, 0, 2, 255,
1458 14, 5, 100, 104, 4, 0, 255,
1459 10, 4, 104, 7, 4, 255,
1460 10, 4, 100, 103, 104, 255,
1461 14, 5, 104, 103, 10, 7, 255,
1462 10, 4, 103, 2, 10, 255,
1463 3, // Case : 167
1464 10, 4, 11, 6, 5, 106,
1465 10, 4, 2, 103, 3, 10,
1466 10, 4, 4, 8, 104, 7,
1467 11, // Case : 168
1468 0, 4, 2, 3, 9, 9,
1469 14, 5, 101, 104, 4, 9, 255,
1470 10, 4, 4, 104, 7, 255,
1471 14, 5, 100, 3, 7, 104, 255,
1472 10, 4, 101, 100, 104, 255,
1473 10, 4, 106, 5, 6, 255,
1474 10, 4, 102, 101, 106, 255,
1475 14, 5, 106, 101, 9, 5, 255,
1476 10, 4, 102, 100, 101, 255,
1477 14, 5, 102, 2, 3, 100, 255,
1478 14, 5, 102, 106, 6, 2, 255,
1479 8, // Case : 169
1480 0, 5, 2, 6, 0, 9, 5,
1481 10, 4, 104, 8, 7, 4,
1482 14, 5, 106, 6, 2, 102, 255,
1483 14, 5, 102, 2, 0, 101, 255,
1484 10, 4, 101, 0, 9, 255,
1485 10, 4, 102, 101, 106, 255,
1486 14, 5, 101, 9, 5, 106, 255,
1487 10, 4, 106, 5, 6, 255,
1488 2, // Case : 170
1489 13, 6, 100, 3, 0, 104, 7, 4,
1490 13, 6, 102, 1, 2, 106, 5, 6,
1491 2, // Case : 171
1492 13, 6, 5, 106, 6, 1, 102, 2,
1493 10, 4, 8, 7, 104, 4,
1494 8, // Case : 172
1495 0, 5, 3, 7, 1, 9, 4,
1496 10, 4, 106, 6, 11, 5,
1497 14, 5, 104, 100, 3, 7, 255,
1498 14, 5, 100, 101, 1, 3, 255,
1499 10, 4, 101, 9, 1, 255,
1500 10, 4, 100, 104, 101, 255,
1501 14, 5, 101, 104, 4, 9, 255,
1502 10, 4, 104, 7, 4, 255,
1503 3, // Case : 173
1504 10, 4, 6, 5, 11, 106,
1505 10, 4, 7, 104, 8, 4,
1506 10, 4, 1, 0, 101, 9,
1507 2, // Case : 174
1508 13, 6, 7, 104, 4, 3, 100, 0,
1509 10, 4, 11, 5, 106, 6,
1510 2, // Case : 175
1511 10, 4, 4, 7, 8, 104,
1512 10, 4, 5, 11, 6, 106,
1513 9, // Case : 176
1514 0, 5, 9, 8, 5, 6, 10,
1515 14, 5, 101, 102, 103, 100, 255,
1516 10, 4, 103, 106, 255, 102,
1517 14, 5, 100, 103, 10, 8, 255,
1518 14, 5, 9, 101, 100, 8, 255,
1519 10, 4, 106, 102, 101, 255,
1520 14, 5, 106, 101, 9, 5, 255,
1521 10, 4, 106, 5, 6, 255,
1522 14, 5, 10, 103, 106, 6, 255,
1523 5, // Case : 177
1524 10, 4, 106, 103, 102, 101,
1525 14, 5, 0, 101, 103, 3, 10,
1526 14, 5, 9, 5, 106, 101, 6,
1527 14, 5, 103, 106, 6, 10, 101,
1528 14, 5, 10, 6, 9, 0, 101,
1529 9, // Case : 178
1530 0, 6, 8, 0, 1, 5, 6, 10,
1531 10, 4, 102, 106, 103, 255,
1532 14, 5, 102, 1, 5, 106, 255,
1533 10, 4, 100, 102, 103, 255,
1534 14, 5, 100, 0, 1, 102, 255,
1535 10, 4, 8, 0, 100, 255,
1536 14, 5, 100, 103, 10, 8, 255,
1537 14, 5, 10, 103, 106, 6, 255,
1538 10, 4, 106, 5, 6, 255,
1539 7, // Case : 179
1540 0, 5, 5, 1, 3, 6, 10,
1541 14, 5, 102, 103, 3, 1, 255,
1542 10, 4, 103, 10, 3, 255,
1543 14, 5, 106, 102, 1, 5, 255,
1544 10, 4, 6, 106, 5, 255,
1545 14, 5, 10, 103, 106, 6, 255,
1546 10, 4, 103, 102, 106, 255,
1547 8, // Case : 180
1548 0, 5, 8, 10, 9, 1, 2,
1549 10, 4, 106, 5, 6, 11,
1550 14, 5, 103, 10, 8, 100, 255,
1551 14, 5, 100, 8, 9, 101, 255,
1552 10, 4, 101, 9, 1, 255,
1553 10, 4, 100, 101, 103, 255,
1554 14, 5, 101, 1, 2, 103, 255,
1555 10, 4, 103, 2, 10, 255,
1556 3, // Case : 181
1557 10, 4, 6, 5, 11, 106,
1558 10, 4, 10, 3, 103, 2,
1559 10, 4, 9, 101, 0, 1,
1560 2, // Case : 182
1561 13, 6, 8, 100, 0, 10, 103, 2,
1562 10, 4, 5, 106, 11, 6,
1563 2, // Case : 183
1564 10, 4, 2, 3, 10, 103,
1565 10, 4, 11, 6, 5, 106,
1566 9, // Case : 184
1567 0, 6, 8, 3, 2, 6, 5, 9,
1568 10, 4, 102, 101, 106, 255,
1569 14, 5, 102, 106, 6, 2, 255,
1570 10, 4, 100, 101, 102, 255,
1571 14, 5, 100, 102, 2, 3, 255,
1572 10, 4, 8, 100, 3, 255,
1573 14, 5, 100, 8, 9, 101, 255,
1574 14, 5, 9, 5, 106, 101, 255,
1575 10, 4, 106, 5, 6, 255,
1576 7, // Case : 185
1577 0, 5, 6, 2, 0, 5, 9,
1578 14, 5, 102, 2, 0, 101, 255,
1579 10, 4, 101, 0, 9, 255,
1580 14, 5, 106, 6, 2, 102, 255,
1581 10, 4, 5, 6, 106, 255,
1582 14, 5, 9, 5, 106, 101, 255,
1583 10, 4, 101, 106, 102, 255,
1584 2, // Case : 186
1585 13, 6, 5, 106, 6, 1, 102, 2,
1586 10, 4, 8, 100, 3, 0,
1587 1, // Case : 187
1588 13, 6, 106, 6, 5, 102, 2, 1,
1589 2, // Case : 188
1590 13, 6, 3, 100, 8, 1, 101, 9,
1591 10, 4, 6, 106, 5, 11,
1592 2, // Case : 189
1593 10, 4, 9, 0, 1, 101,
1594 10, 4, 5, 11, 6, 106,
1595 2, // Case : 190
1596 10, 4, 0, 8, 3, 100,
1597 10, 4, 11, 6, 5, 106,
1598 1, // Case : 191
1599 10, 4, 5, 11, 6, 106,
1600 2, // Case : 192
1601 12, 8, 5, 105, 104, 7, 11, 102, 103, 10,
1602 13, 6, 105, 101, 102, 104, 100, 103,
1603 11, // Case : 193
1604 0, 4, 11, 5, 0, 0,
1605 14, 5, 101, 0, 8, 104, 255,
1606 10, 4, 8, 7, 104, 255,
1607 14, 5, 105, 104, 7, 5, 255,
1608 10, 4, 101, 104, 105, 255,
1609 10, 4, 103, 10, 3, 255,
1610 10, 4, 102, 103, 101, 255,
1611 14, 5, 103, 3, 0, 101, 255,
1612 10, 4, 102, 101, 105, 255,
1613 14, 5, 102, 105, 5, 11, 255,
1614 14, 5, 102, 11, 10, 103, 255,
1615 11, // Case : 194
1616 0, 4, 10, 7, 0, 0,
1617 14, 5, 100, 105, 9, 0, 255,
1618 10, 4, 9, 105, 5, 255,
1619 14, 5, 104, 7, 5, 105, 255,
1620 10, 4, 100, 104, 105, 255,
1621 10, 4, 102, 1, 11, 255,
1622 10, 4, 103, 100, 102, 255,
1623 14, 5, 102, 100, 0, 1, 255,
1624 10, 4, 103, 104, 100, 255,
1625 14, 5, 103, 10, 7, 104, 255,
1626 14, 5, 103, 102, 11, 10, 255,
1627 2, // Case : 195
1628 13, 6, 103, 3, 10, 102, 1, 11,
1629 13, 6, 104, 7, 8, 105, 5, 9,
1630 9, // Case : 196
1631 0, 5, 7, 5, 10, 2, 1,
1632 14, 5, 104, 105, 101, 100, 255,
1633 10, 4, 101, 255, 103, 100,
1634 14, 5, 105, 5, 1, 101, 255,
1635 14, 5, 7, 5, 105, 104, 255,
1636 10, 4, 103, 104, 100, 255,
1637 14, 5, 103, 10, 7, 104, 255,
1638 10, 4, 103, 2, 10, 255,
1639 14, 5, 1, 2, 103, 101, 255,
1640 8, // Case : 197
1641 0, 5, 5, 1, 7, 8, 0,
1642 10, 4, 103, 2, 10, 3,
1643 14, 5, 101, 105, 5, 1, 255,
1644 14, 5, 105, 104, 7, 5, 255,
1645 10, 4, 104, 8, 7, 255,
1646 10, 4, 105, 101, 104, 255,
1647 14, 5, 104, 101, 0, 8, 255,
1648 10, 4, 101, 1, 0, 255,
1649 9, // Case : 198
1650 0, 6, 2, 10, 7, 5, 9, 0,
1651 10, 4, 104, 105, 100, 255,
1652 14, 5, 104, 7, 5, 105, 255,
1653 10, 4, 103, 104, 100, 255,
1654 14, 5, 103, 10, 7, 104, 255,
1655 10, 4, 2, 10, 103, 255,
1656 14, 5, 103, 100, 0, 2, 255,
1657 14, 5, 0, 100, 105, 9, 255,
1658 10, 4, 105, 5, 9, 255,
1659 2, // Case : 199
1660 13, 6, 5, 105, 9, 7, 104, 8,
1661 10, 4, 2, 103, 3, 10,
1662 9, // Case : 200
1663 0, 5, 3, 7, 2, 11, 5,
1664 14, 5, 100, 104, 105, 101, 255,
1665 10, 4, 105, 255, 102, 101,
1666 14, 5, 104, 7, 5, 105, 255,
1667 14, 5, 3, 7, 104, 100, 255,
1668 10, 4, 102, 100, 101, 255,
1669 14, 5, 102, 2, 3, 100, 255,
1670 10, 4, 102, 11, 2, 255,
1671 14, 5, 5, 11, 102, 105, 255,
1672 9, // Case : 201
1673 0, 6, 2, 11, 5, 7, 8, 0,
1674 10, 4, 105, 101, 104, 255,
1675 14, 5, 105, 104, 7, 5, 255,
1676 10, 4, 102, 101, 105, 255,
1677 14, 5, 102, 105, 5, 11, 255,
1678 10, 4, 2, 102, 11, 255,
1679 14, 5, 102, 2, 0, 101, 255,
1680 14, 5, 0, 8, 104, 101, 255,
1681 10, 4, 104, 8, 7, 255,
1682 8, // Case : 202
1683 0, 5, 7, 5, 3, 0, 9,
1684 10, 4, 102, 11, 2, 1,
1685 14, 5, 105, 104, 7, 5, 255,
1686 14, 5, 104, 100, 3, 7, 255,
1687 10, 4, 100, 0, 3, 255,
1688 10, 4, 104, 105, 100, 255,
1689 14, 5, 100, 105, 9, 0, 255,
1690 10, 4, 105, 5, 9, 255,
1691 2, // Case : 203
1692 13, 6, 5, 105, 9, 7, 104, 8,
1693 10, 4, 2, 1, 102, 11,
1694 1, // Case : 204
1695 12, 8, 3, 1, 5, 7, 100, 101, 105, 104,
1696 7, // Case : 205
1697 0, 5, 1, 5, 7, 0, 8,
1698 14, 5, 105, 104, 7, 5, 255,
1699 10, 4, 104, 8, 7, 255,
1700 14, 5, 101, 105, 5, 1, 255,
1701 10, 4, 0, 101, 1, 255,
1702 14, 5, 8, 104, 101, 0, 255,
1703 10, 4, 104, 105, 101, 255,
1704 7, // Case : 206
1705 0, 5, 5, 7, 3, 9, 0,
1706 14, 5, 104, 100, 3, 7, 255,
1707 10, 4, 100, 0, 3, 255,
1708 14, 5, 105, 104, 7, 5, 255,
1709 10, 4, 9, 105, 5, 255,
1710 14, 5, 0, 100, 105, 9, 255,
1711 10, 4, 100, 104, 105, 255,
1712 1, // Case : 207
1713 13, 6, 105, 9, 5, 104, 8, 7,
1714 9, // Case : 208
1715 0, 5, 8, 10, 4, 5, 11,
1716 14, 5, 100, 101, 102, 103, 255,
1717 10, 4, 102, 105, 255, 101,
1718 14, 5, 103, 102, 11, 10, 255,
1719 14, 5, 8, 100, 103, 10, 255,
1720 10, 4, 105, 101, 100, 255,
1721 14, 5, 105, 100, 8, 4, 255,
1722 10, 4, 105, 4, 5, 255,
1723 14, 5, 11, 102, 105, 5, 255,
1724 9, // Case : 209
1725 0, 6, 4, 5, 11, 10, 3, 0,
1726 10, 4, 102, 103, 101, 255,
1727 14, 5, 102, 11, 10, 103, 255,
1728 10, 4, 105, 102, 101, 255,
1729 14, 5, 105, 5, 11, 102, 255,
1730 10, 4, 4, 5, 105, 255,
1731 14, 5, 105, 101, 0, 4, 255,
1732 14, 5, 0, 101, 103, 3, 255,
1733 10, 4, 103, 10, 3, 255,
1734 8, // Case : 210
1735 0, 5, 10, 11, 8, 0, 1,
1736 10, 4, 105, 4, 5, 9,
1737 14, 5, 102, 11, 10, 103, 255,
1738 14, 5, 103, 10, 8, 100, 255,
1739 10, 4, 100, 8, 0, 255,
1740 10, 4, 103, 100, 102, 255,
1741 14, 5, 100, 0, 1, 102, 255,
1742 10, 4, 102, 1, 11, 255,
1743 2, // Case : 211
1744 13, 6, 10, 103, 3, 11, 102, 1,
1745 10, 4, 4, 105, 9, 5,
1746 9, // Case : 212
1747 0, 6, 10, 2, 1, 5, 4, 8,
1748 10, 4, 101, 100, 105, 255,
1749 14, 5, 101, 105, 5, 1, 255,
1750 10, 4, 103, 100, 101, 255,
1751 14, 5, 103, 101, 1, 2, 255,
1752 10, 4, 10, 103, 2, 255,
1753 14, 5, 103, 10, 8, 100, 255,
1754 14, 5, 8, 4, 105, 100, 255,
1755 10, 4, 105, 4, 5, 255,
1756 2, // Case : 213
1757 13, 6, 1, 101, 0, 5, 105, 4,
1758 10, 4, 10, 3, 103, 2,
1759 2, // Case : 214
1760 13, 6, 8, 100, 0, 10, 103, 2,
1761 10, 4, 5, 9, 105, 4,
1762 2, // Case : 215
1763 10, 4, 5, 4, 9, 105,
1764 10, 4, 2, 3, 10, 103,
1765 5, // Case : 216
1766 10, 4, 102, 100, 101, 105,
1767 14, 5, 4, 105, 100, 8, 3,
1768 14, 5, 5, 11, 102, 105, 2,
1769 14, 5, 100, 102, 2, 3, 105,
1770 14, 5, 3, 2, 5, 4, 105,
1771 7, // Case : 217
1772 0, 5, 2, 0, 4, 11, 5,
1773 14, 5, 101, 0, 4, 105, 255,
1774 10, 4, 105, 4, 5, 255,
1775 14, 5, 102, 2, 0, 101, 255,
1776 10, 4, 11, 2, 102, 255,
1777 14, 5, 5, 11, 102, 105, 255,
1778 10, 4, 105, 102, 101, 255,
1779 3, // Case : 218
1780 10, 4, 2, 11, 1, 102,
1781 10, 4, 3, 8, 100, 0,
1782 10, 4, 5, 105, 4, 9,
1783 2, // Case : 219
1784 10, 4, 11, 1, 2, 102,
1785 10, 4, 5, 4, 9, 105,
1786 7, // Case : 220
1787 0, 5, 5, 1, 3, 4, 8,
1788 14, 5, 101, 1, 3, 100, 255,
1789 10, 4, 100, 3, 8, 255,
1790 14, 5, 105, 5, 1, 101, 255,
1791 10, 4, 4, 5, 105, 255,
1792 14, 5, 8, 4, 105, 100, 255,
1793 10, 4, 100, 105, 101, 255,
1794 1, // Case : 221
1795 13, 6, 101, 0, 1, 105, 4, 5,
1796 2, // Case : 222
1797 10, 4, 0, 8, 3, 100,
1798 10, 4, 9, 5, 4, 105,
1799 1, // Case : 223
1800 10, 4, 9, 5, 4, 105,
1801 9, // Case : 224
1802 0, 5, 10, 11, 7, 4, 9,
1803 14, 5, 103, 100, 101, 102, 255,
1804 10, 4, 101, 104, 255, 100,
1805 14, 5, 102, 101, 9, 11, 255,
1806 14, 5, 10, 103, 102, 11, 255,
1807 10, 4, 104, 100, 103, 255,
1808 14, 5, 104, 103, 10, 7, 255,
1809 10, 4, 104, 7, 4, 255,
1810 14, 5, 9, 101, 104, 4, 255,
1811 8, // Case : 225
1812 0, 5, 11, 9, 10, 3, 0,
1813 10, 4, 104, 7, 4, 8,
1814 14, 5, 101, 9, 11, 102, 255,
1815 14, 5, 102, 11, 10, 103, 255,
1816 10, 4, 103, 10, 3, 255,
1817 10, 4, 102, 103, 101, 255,
1818 14, 5, 103, 3, 0, 101, 255,
1819 10, 4, 101, 0, 9, 255,
1820 9, // Case : 226
1821 0, 6, 4, 7, 10, 11, 1, 0,
1822 10, 4, 103, 100, 102, 255,
1823 14, 5, 103, 102, 11, 10, 255,
1824 10, 4, 104, 100, 103, 255,
1825 14, 5, 104, 103, 10, 7, 255,
1826 10, 4, 4, 104, 7, 255,
1827 14, 5, 104, 4, 0, 100, 255,
1828 14, 5, 0, 1, 102, 100, 255,
1829 10, 4, 102, 1, 11, 255,
1830 2, // Case : 227
1831 13, 6, 10, 103, 3, 11, 102, 1,
1832 10, 4, 4, 8, 104, 7,
1833 5, // Case : 228
1834 10, 4, 103, 100, 101, 104,
1835 14, 5, 4, 9, 101, 104, 1,
1836 14, 5, 7, 104, 103, 10, 2,
1837 14, 5, 101, 1, 2, 103, 104,
1838 14, 5, 1, 4, 7, 2, 104,
1839 3, // Case : 229
1840 10, 4, 2, 3, 10, 103,
1841 10, 4, 1, 101, 9, 0,
1842 10, 4, 7, 4, 104, 8,
1843 7, // Case : 230
1844 0, 5, 2, 0, 4, 10, 7,
1845 14, 5, 100, 104, 4, 0, 255,
1846 10, 4, 104, 7, 4, 255,
1847 14, 5, 103, 100, 0, 2, 255,
1848 10, 4, 10, 103, 2, 255,
1849 14, 5, 7, 104, 103, 10, 255,
1850 10, 4, 104, 100, 103, 255,
1851 2, // Case : 231
1852 10, 4, 10, 2, 3, 103,
1853 10, 4, 7, 8, 4, 104,
1854 9, // Case : 232
1855 0, 6, 7, 4, 9, 11, 2, 3,
1856 10, 4, 101, 102, 100, 255,
1857 14, 5, 101, 9, 11, 102, 255,
1858 10, 4, 104, 101, 100, 255,
1859 14, 5, 104, 4, 9, 101, 255,
1860 10, 4, 7, 4, 104, 255,
1861 14, 5, 104, 100, 3, 7, 255,
1862 14, 5, 3, 100, 102, 2, 255,
1863 10, 4, 102, 11, 2, 255,
1864 2, // Case : 233
1865 13, 6, 11, 102, 2, 9, 101, 0,
1866 10, 4, 7, 104, 8, 4,
1867 2, // Case : 234
1868 13, 6, 7, 104, 4, 3, 100, 0,
1869 10, 4, 11, 102, 1, 2,
1870 2, // Case : 235
1871 10, 4, 11, 1, 2, 102,
1872 10, 4, 4, 7, 8, 104,
1873 7, // Case : 236
1874 0, 5, 7, 3, 1, 4, 9,
1875 14, 5, 100, 101, 1, 3, 255,
1876 10, 4, 101, 9, 1, 255,
1877 14, 5, 104, 100, 3, 7, 255,
1878 10, 4, 4, 104, 7, 255,
1879 14, 5, 9, 101, 104, 4, 255,
1880 10, 4, 101, 100, 104, 255,
1881 2, // Case : 237
1882 10, 4, 4, 7, 8, 104,
1883 10, 4, 9, 0, 1, 101,
1884 1, // Case : 238
1885 13, 6, 104, 4, 7, 100, 0, 3,
1886 1, // Case : 239
1887 10, 4, 7, 8, 4, 104,
1888 1, // Case : 240
1889 12, 8, 100, 101, 102, 103, 8, 9, 11, 10,
1890 7, // Case : 241
1891 0, 5, 9, 11, 10, 0, 3,
1892 14, 5, 102, 11, 10, 103, 255,
1893 10, 4, 103, 10, 3, 255,
1894 14, 5, 101, 9, 11, 102, 255,
1895 10, 4, 0, 9, 101, 255,
1896 14, 5, 3, 0, 101, 103, 255,
1897 10, 4, 103, 101, 102, 255,
1898 7, // Case : 242
1899 0, 5, 11, 10, 8, 1, 0,
1900 14, 5, 103, 10, 8, 100, 255,
1901 10, 4, 100, 8, 0, 255,
1902 14, 5, 102, 11, 10, 103, 255,
1903 10, 4, 1, 11, 102, 255,
1904 14, 5, 0, 1, 102, 100, 255,
1905 10, 4, 100, 102, 103, 255,
1906 1, // Case : 243
1907 13, 6, 103, 3, 10, 102, 1, 11,
1908 7, // Case : 244
1909 0, 5, 10, 8, 9, 2, 1,
1910 14, 5, 100, 8, 9, 101, 255,
1911 10, 4, 101, 9, 1, 255,
1912 14, 5, 103, 10, 8, 100, 255,
1913 10, 4, 2, 10, 103, 255,
1914 14, 5, 1, 2, 103, 101, 255,
1915 10, 4, 101, 103, 100, 255,
1916 2, // Case : 245
1917 10, 4, 2, 3, 10, 103,
1918 10, 4, 1, 9, 0, 101,
1919 1, // Case : 246
1920 13, 6, 100, 0, 8, 103, 2, 10,
1921 1, // Case : 247
1922 10, 4, 10, 2, 3, 103,
1923 7, // Case : 248
1924 0, 5, 11, 9, 8, 2, 3,
1925 14, 5, 101, 100, 8, 9, 255,
1926 10, 4, 100, 3, 8, 255,
1927 14, 5, 102, 101, 9, 11, 255,
1928 10, 4, 2, 102, 11, 255,
1929 14, 5, 3, 100, 102, 2, 255,
1930 10, 4, 100, 101, 102, 255,
1931 1, // Case : 249
1932 13, 6, 102, 2, 11, 101, 0, 9,
1933 2, // Case : 250
1934 10, 4, 0, 8, 3, 100,
1935 10, 4, 1, 2, 11, 102,
1936 1, // Case : 251
1937 10, 4, 1, 2, 11, 102,
1938 1, // Case : 252
1939 13, 6, 100, 8, 3, 101, 9, 1,
1940 1, // Case : 253
1941 10, 4, 1, 9, 0, 101,
1942 1, // Case : 254
1943 10, 4, 3, 0, 8, 100,
1944 0, // Case : 255
1945 // Wdg
1946 1, // Case : 0
1947 13, 6, 100, 101, 102, 103, 104, 105,
1948 2, // Case : 1
1949 13, 6, 0, 2, 6, 101, 102, 103,
1950 14, 5, 101, 102, 105, 104, 103,
1951 2, // Case : 2
1952 13, 6, 1, 0, 7, 102, 100, 104,
1953 14, 5, 102, 100, 103, 105, 104,
1954 8, // Case : 3
1955 0, 7, 102, 103, 104, 1, 2, 6, 7,
1956 10, 4, 104, 105, 103, 102,
1957 10, 4, 102, 103, 104, 255,
1958 14, 5, 6, 7, 104, 103, 255,
1959 14, 5, 1, 7, 6, 2, 255,
1960 10, 4, 102, 1, 2, 255,
1961 14, 5, 102, 2, 6, 103, 255,
1962 14, 5, 7, 1, 102, 104, 255,
1963 2, // Case : 4
1964 13, 6, 2, 1, 8, 100, 101, 105,
1965 14, 5, 100, 101, 104, 103, 105,
1966 8, // Case : 5
1967 0, 7, 101, 105, 103, 0, 1, 8, 6,
1968 10, 4, 103, 104, 105, 101,
1969 10, 4, 101, 105, 103, 255,
1970 14, 5, 8, 6, 103, 105, 255,
1971 14, 5, 0, 6, 8, 1, 255,
1972 10, 4, 101, 0, 1, 255,
1973 14, 5, 101, 1, 8, 105, 255,
1974 14, 5, 6, 0, 101, 103, 255,
1975 8, // Case : 6
1976 0, 7, 100, 104, 105, 2, 0, 7, 8,
1977 10, 4, 105, 103, 104, 100,
1978 10, 4, 100, 104, 105, 255,
1979 14, 5, 7, 8, 105, 104, 255,
1980 14, 5, 2, 8, 7, 0, 255,
1981 10, 4, 100, 2, 0, 255,
1982 14, 5, 100, 0, 7, 104, 255,
1983 14, 5, 8, 2, 100, 105, 255,
1984 1, // Case : 7
1985 13, 6, 6, 7, 8, 103, 104, 105,
1986 2, // Case : 8
1987 13, 6, 104, 105, 100, 3, 5, 6,
1988 14, 5, 104, 101, 102, 105, 100,
1989 1, // Case : 9
1990 12, 8, 101, 102, 105, 104, 0, 2, 5, 3,
1991 9, // Case : 10
1992 0, 6, 0, 1, 7, 3, 5, 6,
1993 14, 5, 105, 100, 6, 5, 255,
1994 10, 4, 100, 0, 6, 255,
1995 14, 5, 100, 102, 1, 0, 255,
1996 10, 4, 105, 102, 100, 255,
1997 14, 5, 104, 7, 1, 102, 255,
1998 10, 4, 105, 104, 102, 255,
1999 14, 5, 5, 3, 104, 105, 255,
2000 10, 4, 3, 7, 104, 255,
2001 7, // Case : 11
2002 0, 5, 1, 2, 5, 3, 7,
2003 14, 5, 104, 105, 5, 3, 255,
2004 10, 4, 3, 7, 104, 255,
2005 14, 5, 2, 5, 105, 102, 255,
2006 14, 5, 1, 102, 104, 7, 255,
2007 10, 4, 104, 102, 105, 255,
2008 10, 4, 102, 1, 2, 255,
2009 9, // Case : 12
2010 0, 6, 5, 3, 6, 2, 1, 8,
2011 14, 5, 101, 1, 8, 105, 255,
2012 10, 4, 105, 8, 5, 255,
2013 14, 5, 105, 5, 3, 104, 255,
2014 10, 4, 101, 105, 104, 255,
2015 14, 5, 100, 104, 3, 6, 255,
2016 10, 4, 101, 104, 100, 255,
2017 14, 5, 1, 101, 100, 2, 255,
2018 10, 4, 2, 100, 6, 255,
2019 7, // Case : 13
2020 0, 5, 1, 0, 3, 5, 8,
2021 14, 5, 105, 5, 3, 104, 255,
2022 10, 4, 5, 105, 8, 255,
2023 14, 5, 0, 101, 104, 3, 255,
2024 14, 5, 1, 8, 105, 101, 255,
2025 10, 4, 105, 104, 101, 255,
2026 10, 4, 101, 0, 1, 255,
2027 2, // Case : 14
2028 10, 4, 100, 2, 0, 6,
2029 13, 6, 5, 8, 105, 3, 7, 104,
2030 1, // Case : 15
2031 13, 6, 3, 104, 7, 5, 105, 8,
2032 2, // Case : 16
2033 13, 6, 105, 103, 101, 4, 3, 7,
2034 14, 5, 105, 102, 100, 103, 101,
2035 9, // Case : 17
2036 0, 6, 3, 4, 7, 0, 2, 6,
2037 14, 5, 102, 2, 6, 103, 255,
2038 10, 4, 103, 6, 3, 255,
2039 14, 5, 103, 3, 4, 105, 255,
2040 10, 4, 102, 103, 105, 255,
2041 14, 5, 101, 105, 4, 7, 255,
2042 10, 4, 102, 105, 101, 255,
2043 14, 5, 2, 102, 101, 0, 255,
2044 10, 4, 0, 101, 7, 255,
2045 1, // Case : 18
2046 12, 8, 102, 100, 103, 105, 1, 0, 3, 4,
2047 7, // Case : 19
2048 0, 5, 2, 1, 4, 3, 6,
2049 14, 5, 103, 3, 4, 105, 255,
2050 10, 4, 3, 103, 6, 255,
2051 14, 5, 1, 102, 105, 4, 255,
2052 14, 5, 2, 6, 103, 102, 255,
2053 10, 4, 103, 105, 102, 255,
2054 10, 4, 102, 1, 2, 255,
2055 9, // Case : 20
2056 0, 6, 1, 2, 8, 4, 3, 7,
2057 14, 5, 103, 101, 7, 3, 255,
2058 10, 4, 101, 1, 7, 255,
2059 14, 5, 101, 100, 2, 1, 255,
2060 10, 4, 103, 100, 101, 255,
2061 14, 5, 105, 8, 2, 100, 255,
2062 10, 4, 103, 105, 100, 255,
2063 14, 5, 3, 4, 105, 103, 255,
2064 10, 4, 4, 8, 105, 255,
2065 2, // Case : 21
2066 10, 4, 101, 0, 1, 7,
2067 13, 6, 3, 6, 103, 4, 8, 105,
2068 7, // Case : 22
2069 0, 5, 2, 0, 3, 4, 8,
2070 14, 5, 105, 103, 3, 4, 255,
2071 10, 4, 4, 8, 105, 255,
2072 14, 5, 0, 3, 103, 100, 255,
2073 14, 5, 2, 100, 105, 8, 255,
2074 10, 4, 105, 100, 103, 255,
2075 10, 4, 100, 2, 0, 255,
2076 1, // Case : 23
2077 13, 6, 4, 105, 8, 3, 103, 6,
2078 8, // Case : 24
2079 0, 7, 105, 100, 101, 4, 5, 6, 7,
2080 10, 4, 101, 100, 102, 105,
2081 10, 4, 105, 101, 100, 255,
2082 14, 5, 6, 100, 101, 7, 255,
2083 14, 5, 4, 5, 6, 7, 255,
2084 10, 4, 105, 5, 4, 255,
2085 14, 5, 105, 100, 6, 5, 255,
2086 14, 5, 7, 101, 105, 4, 255,
2087 7, // Case : 25
2088 0, 5, 4, 5, 2, 0, 7,
2089 14, 5, 101, 0, 2, 102, 255,
2090 10, 4, 0, 101, 7, 255,
2091 14, 5, 5, 105, 102, 2, 255,
2092 14, 5, 4, 7, 101, 105, 255,
2093 10, 4, 101, 102, 105, 255,
2094 10, 4, 105, 5, 4, 255,
2095 7, // Case : 26
2096 0, 5, 5, 4, 1, 0, 6,
2097 14, 5, 100, 102, 1, 0, 255,
2098 10, 4, 0, 6, 100, 255,
2099 14, 5, 4, 1, 102, 105, 255,
2100 14, 5, 5, 105, 100, 6, 255,
2101 10, 4, 100, 105, 102, 255,
2102 10, 4, 105, 5, 4, 255,
2103 1, // Case : 27
2104 13, 6, 5, 105, 4, 2, 102, 1,
2105 2, // Case : 28
2106 10, 4, 105, 5, 4, 8,
2107 13, 6, 2, 6, 100, 1, 7, 101,
2108 2, // Case : 29
2109 10, 4, 101, 0, 1, 7,
2110 10, 4, 5, 4, 105, 8,
2111 2, // Case : 30
2112 10, 4, 105, 5, 4, 8,
2113 10, 4, 0, 100, 2, 6,
2114 1, // Case : 31
2115 10, 4, 5, 8, 4, 105,
2116 2, // Case : 32
2117 13, 6, 103, 104, 102, 5, 4, 8,
2118 14, 5, 103, 100, 101, 104, 102,
2119 9, // Case : 33
2120 0, 6, 2, 0, 6, 5, 4, 8,
2121 14, 5, 104, 102, 8, 4, 255,
2122 10, 4, 102, 2, 8, 255,
2123 14, 5, 102, 101, 0, 2, 255,
2124 10, 4, 104, 101, 102, 255,
2125 14, 5, 103, 6, 0, 101, 255,
2126 10, 4, 104, 103, 101, 255,
2127 14, 5, 4, 5, 103, 104, 255,
2128 10, 4, 5, 6, 103, 255,
2129 9, // Case : 34
2130 0, 6, 4, 5, 8, 1, 0, 7,
2131 14, 5, 100, 0, 7, 104, 255,
2132 10, 4, 104, 7, 4, 255,
2133 14, 5, 104, 4, 5, 103, 255,
2134 10, 4, 100, 104, 103, 255,
2135 14, 5, 102, 103, 5, 8, 255,
2136 10, 4, 100, 103, 102, 255,
2137 14, 5, 0, 100, 102, 1, 255,
2138 10, 4, 1, 102, 8, 255,
2139 2, // Case : 35
2140 10, 4, 102, 1, 2, 8,
2141 13, 6, 4, 7, 104, 5, 6, 103,
2142 1, // Case : 36
2143 12, 8, 100, 101, 104, 103, 2, 1, 4, 5,
2144 7, // Case : 37
2145 0, 5, 0, 1, 4, 5, 6,
2146 14, 5, 103, 104, 4, 5, 255,
2147 10, 4, 5, 6, 103, 255,
2148 14, 5, 1, 4, 104, 101, 255,
2149 14, 5, 0, 101, 103, 6, 255,
2150 10, 4, 103, 101, 104, 255,
2151 10, 4, 101, 0, 1, 255,
2152 7, // Case : 38
2153 0, 5, 0, 2, 5, 4, 7,
2154 14, 5, 104, 4, 5, 103, 255,
2155 10, 4, 4, 104, 7, 255,
2156 14, 5, 2, 100, 103, 5, 255,
2157 14, 5, 0, 7, 104, 100, 255,
2158 10, 4, 104, 103, 100, 255,
2159 10, 4, 100, 2, 0, 255,
2160 1, // Case : 39
2161 13, 6, 5, 103, 6, 4, 104, 7,
2162 8, // Case : 40
2163 0, 7, 104, 102, 100, 3, 4, 8, 6,
2164 10, 4, 100, 102, 101, 104,
2165 10, 4, 104, 100, 102, 255,
2166 14, 5, 8, 102, 100, 6, 255,
2167 14, 5, 3, 4, 8, 6, 255,
2168 10, 4, 104, 4, 3, 255,
2169 14, 5, 104, 102, 8, 4, 255,
2170 14, 5, 6, 100, 104, 3, 255,
2171 7, // Case : 41
2172 0, 5, 4, 3, 0, 2, 8,
2173 14, 5, 102, 101, 0, 2, 255,
2174 10, 4, 2, 8, 102, 255,
2175 14, 5, 3, 0, 101, 104, 255,
2176 14, 5, 4, 104, 102, 8, 255,
2177 10, 4, 102, 104, 101, 255,
2178 10, 4, 104, 4, 3, 255,
2179 2, // Case : 42
2180 10, 4, 104, 4, 3, 7,
2181 13, 6, 1, 8, 102, 0, 6, 100,
2182 2, // Case : 43
2183 10, 4, 104, 4, 3, 7,
2184 10, 4, 2, 102, 1, 8,
2185 7, // Case : 44
2186 0, 5, 3, 4, 1, 2, 6,
2187 14, 5, 100, 2, 1, 101, 255,
2188 10, 4, 2, 100, 6, 255,
2189 14, 5, 4, 104, 101, 1, 255,
2190 14, 5, 3, 6, 100, 104, 255,
2191 10, 4, 100, 101, 104, 255,
2192 10, 4, 104, 4, 3, 255,
2193 1, // Case : 45
2194 13, 6, 4, 104, 3, 1, 101, 0,
2195 2, // Case : 46
2196 10, 4, 100, 2, 0, 6,
2197 10, 4, 4, 3, 104, 7,
2198 1, // Case : 47
2199 10, 4, 4, 7, 3, 104,
2200 8, // Case : 48
2201 0, 7, 103, 101, 102, 5, 3, 7, 8,
2202 10, 4, 102, 101, 100, 103,
2203 10, 4, 103, 102, 101, 255,
2204 14, 5, 7, 101, 102, 8, 255,
2205 14, 5, 5, 3, 7, 8, 255,
2206 10, 4, 103, 3, 5, 255,
2207 14, 5, 103, 101, 7, 3, 255,
2208 14, 5, 8, 102, 103, 5, 255,
2209 2, // Case : 49
2210 10, 4, 103, 3, 5, 6,
2211 13, 6, 0, 7, 101, 2, 8, 102,
2212 7, // Case : 50
2213 0, 5, 5, 3, 0, 1, 8,
2214 14, 5, 102, 1, 0, 100, 255,
2215 10, 4, 1, 102, 8, 255,
2216 14, 5, 3, 103, 100, 0, 255,
2217 14, 5, 5, 8, 102, 103, 255,
2218 10, 4, 102, 100, 103, 255,
2219 10, 4, 103, 3, 5, 255,
2220 2, // Case : 51
2221 10, 4, 102, 1, 2, 8,
2222 10, 4, 3, 5, 103, 6,
2223 7, // Case : 52
2224 0, 5, 3, 5, 2, 1, 7,
2225 14, 5, 101, 100, 2, 1, 255,
2226 10, 4, 1, 7, 101, 255,
2227 14, 5, 5, 2, 100, 103, 255,
2228 14, 5, 3, 103, 101, 7, 255,
2229 10, 4, 101, 103, 100, 255,
2230 10, 4, 103, 3, 5, 255,
2231 2, // Case : 53
2232 10, 4, 103, 3, 5, 6,
2233 10, 4, 1, 101, 0, 7,
2234 1, // Case : 54
2235 13, 6, 3, 103, 5, 0, 100, 2,
2236 1, // Case : 55
2237 10, 4, 3, 6, 5, 103,
2238 1, // Case : 56
2239 13, 6, 100, 101, 102, 6, 7, 8,
2240 1, // Case : 57
2241 13, 6, 2, 102, 8, 0, 101, 7,
2242 1, // Case : 58
2243 13, 6, 0, 100, 6, 1, 102, 8,
2244 1, // Case : 59
2245 10, 4, 2, 1, 8, 102,
2246 1, // Case : 60
2247 13, 6, 1, 101, 7, 2, 100, 6,
2248 1, // Case : 61
2249 10, 4, 1, 0, 7, 101,
2250 1, // Case : 62
2251 10, 4, 0, 2, 6, 100,
2252 0, // Case : 63
2253 // Pyr
2254 1, // Case : 0
2255 14, 5, 100, 101, 102, 103, 104,
2256 2, // Case : 1
2257 13, 6, 0, 4, 3, 101, 104, 103,
2258 10, 4, 101, 102, 103, 104,
2259 2, // Case : 2
2260 13, 6, 1, 5, 0, 102, 104, 100,
2261 10, 4, 102, 103, 100, 104,
2262 7, // Case : 3
2263 0, 7, 104, 5, 4, 1, 3, 102, 103,
2264 10, 4, 4, 104, 5, 255,
2265 14, 5, 1, 3, 4, 5, 255,
2266 14, 5, 1, 5, 104, 102, 255,
2267 10, 4, 102, 104, 103, 255,
2268 14, 5, 103, 104, 4, 3, 255,
2269 14, 5, 102, 103, 3, 1, 255,
2270 2, // Case : 4
2271 13, 6, 2, 6, 1, 103, 104, 101,
2272 10, 4, 103, 100, 101, 104,
2273 2, // Case : 5
2274 13, 6, 4, 104, 6, 0, 101, 1,
2275 13, 6, 104, 4, 6, 103, 3, 2,
2276 7, // Case : 6
2277 0, 7, 104, 6, 5, 2, 0, 103, 100,
2278 10, 4, 5, 104, 6, 255,
2279 14, 5, 2, 0, 5, 6, 255,
2280 14, 5, 2, 6, 104, 103, 255,
2281 10, 4, 103, 104, 100, 255,
2282 14, 5, 100, 104, 5, 0, 255,
2283 14, 5, 103, 100, 0, 2, 255,
2284 2, // Case : 7
2285 10, 4, 4, 5, 6, 104,
2286 13, 6, 2, 3, 103, 6, 4, 104,
2287 2, // Case : 8
2288 13, 6, 3, 7, 2, 100, 104, 102,
2289 10, 4, 100, 101, 102, 104,
2290 7, // Case : 9
2291 0, 7, 104, 4, 7, 0, 2, 101, 102,
2292 10, 4, 7, 104, 4, 255,
2293 14, 5, 0, 2, 7, 4, 255,
2294 14, 5, 0, 4, 104, 101, 255,
2295 10, 4, 101, 104, 102, 255,
2296 14, 5, 102, 104, 7, 2, 255,
2297 14, 5, 101, 102, 2, 0, 255,
2298 2, // Case : 10
2299 13, 6, 7, 104, 5, 3, 100, 0,
2300 13, 6, 104, 7, 5, 102, 2, 1,
2301 2, // Case : 11
2302 10, 4, 7, 4, 5, 104,
2303 13, 6, 1, 2, 102, 5, 7, 104,
2304 7, // Case : 12
2305 0, 7, 104, 7, 6, 3, 1, 100, 101,
2306 10, 4, 6, 104, 7, 255,
2307 14, 5, 3, 1, 6, 7, 255,
2308 14, 5, 3, 7, 104, 100, 255,
2309 10, 4, 100, 104, 101, 255,
2310 14, 5, 101, 104, 6, 1, 255,
2311 14, 5, 100, 101, 1, 3, 255,
2312 2, // Case : 13
2313 10, 4, 6, 7, 4, 104,
2314 13, 6, 0, 1, 101, 4, 6, 104,
2315 2, // Case : 14
2316 10, 4, 5, 6, 7, 104,
2317 13, 6, 3, 0, 100, 7, 5, 104,
2318 1, // Case : 15
2319 14, 5, 4, 5, 6, 7, 104,
2320 1, // Case : 16
2321 12, 8, 100, 101, 102, 103, 4, 5, 6, 7,
2322 2, // Case : 17
2323 13, 6, 3, 7, 103, 0, 5, 101,
2324 13, 6, 5, 6, 7, 101, 102, 103,
2325 2, // Case : 18
2326 13, 6, 0, 4, 100, 1, 6, 102,
2327 13, 6, 6, 7, 4, 102, 103, 100,
2328 1, // Case : 19
2329 13, 6, 3, 7, 103, 1, 6, 102,
2330 2, // Case : 20
2331 13, 6, 1, 5, 101, 2, 7, 103,
2332 13, 6, 7, 4, 5, 103, 100, 101,
2333 2, // Case : 21
2334 10, 4, 0, 101, 1, 5,
2335 10, 4, 103, 3, 2, 7,
2336 1, // Case : 22
2337 13, 6, 0, 4, 100, 2, 7, 103,
2338 1, // Case : 23
2339 10, 4, 103, 3, 2, 7,
2340 2, // Case : 24
2341 13, 6, 2, 6, 102, 3, 4, 100,
2342 13, 6, 4, 5, 6, 100, 101, 102,
2343 1, // Case : 25
2344 13, 6, 2, 6, 102, 0, 5, 101,
2345 2, // Case : 26
2346 10, 4, 3, 100, 0, 4,
2347 10, 4, 102, 2, 1, 6,
2348 1, // Case : 27
2349 10, 4, 102, 2, 1, 6,
2350 1, // Case : 28
2351 13, 6, 1, 5, 101, 3, 4, 100,
2352 1, // Case : 29
2353 10, 4, 101, 1, 0, 5,
2354 1, // Case : 30
2355 10, 4, 100, 0, 3, 4,
2356 0, // Case : 31
2357 };
2358 
2359 // Index into ClipTablesData for each shape and configuration
2360 VTKM_STATIC_CONSTEXPR_ARRAY vtkm::UInt16 ClipTablesIndices[] = {
2361 //Vtx
2362 0, 4, //cases 0 - 1
2363 //Lin
2364 5, 10, 15, 20, //cases 0 - 3
2365 //Tri
2366 21, 27, 34, 41, 47, 54, 60, 66, //cases 0 - 7
2367 //Qua
2368 67, 74, 86, 98, 105, 117, 128, 135, //cases 0 - 7
2369 141, 153, 160, 171, 177, 184, 190, 196, //cases 8 - 15
2370 //Tet
2371 197, 204, 213, 222, 231, 240, 249, 258, //cases 0 - 7
2372 265, 274, 283, 292, 299, 308, 315, 322, //cases 8 - 15
2373 //Hex
2374 323, 334, 397, 460, 479, 542, 618, 637, //cases 0 - 7
2375 698, 761, 780, 856, 917, 936, 997, 1058, //cases 8 - 15
2376 1069, 1132, 1151, 1227, 1288, 1329, 1401, 1473, //cases 16 - 23
2377 1534, 1610, 1671, 1712, 1747, 1819, 1880, 1933, //cases 24 - 31
2378 1980, 2043, 2119, 2138, 2199, 2275, 2316, 2377, //cases 32 - 39
2379 2412, 2453, 2525, 2597, 2658, 2730, 2783, 2844, //cases 40 - 47
2380 2891, 2910, 2971, 3032, 3043, 3115, 3168, 3229, //cases 48 - 55
2381 3276, 3348, 3409, 3462, 3509, 3526, 3541, 3556, //cases 56 - 63
2382 3565, 3628, 3669, 3745, 3817, 3836, 3908, 3969, //cases 64 - 71
2383 4030, 4106, 4178, 4219, 4272, 4333, 4394, 4429, //cases 72 - 79
2384 4476, 4552, 4624, 4665, 4718, 4790, 4807, 4860, //cases 80 - 87
2385 4875, 4916, 4969, 4994, 5013, 5066, 5081, 5100, //cases 88 - 95
2386 5113, 5132, 5204, 5265, 5326, 5387, 5440, 5451, //cases 96 - 103
2387 5498, 5570, 5587, 5640, 5655, 5716, 5731, 5778, //cases 104 - 111
2388 5787, 5848, 5909, 5944, 5991, 6052, 6067, 6114, //cases 112 - 119
2389 6123, 6176, 6191, 6210, 6223, 6238, 6251, 6264, //cases 120 - 127
2390 6271, 6334, 6410, 6451, 6523, 6599, 6640, 6712, //cases 128 - 135
2391 6765, 6784, 6845, 6917, 6978, 7039, 7074, 7135, //cases 136 - 143
2392 7182, 7201, 7262, 7334, 7395, 7467, 7520, 7537, //cases 144 - 151
2393 7552, 7613, 7624, 7677, 7724, 7785, 7832, 7847, //cases 152 - 159
2394 7856, 7932, 7973, 8045, 8098, 8139, 8164, 8217, //cases 160 - 167
2395 8236, 8308, 8361, 8378, 8393, 8446, 8465, 8480, //cases 168 - 175
2396 8493, 8554, 8589, 8650, 8697, 8750, 8769, 8784, //cases 176 - 183
2397 8797, 8858, 8905, 8920, 8929, 8944, 8957, 8970, //cases 184 - 191
2398 8977, 8996, 9068, 9140, 9157, 9218, 9271, 9332, //cases 192 - 199
2399 9347, 9408, 9469, 9522, 9537, 9548, 9595, 9642, //cases 200 - 207
2400 9651, 9712, 9773, 9826, 9841, 9902, 9917, 9932, //cases 208 - 215
2401 9945, 9980, 10027, 10046, 10059, 10106, 10115, 10128, //cases 216 - 223
2402 10135, 10196, 10249, 10310, 10325, 10360, 10379, 10426, //cases 224 - 231
2403 10439, 10500, 10515, 10530, 10543, 10590, 10603, 10612, //cases 232 - 239
2404 10619, 10630, 10677, 10724, 10733, 10780, 10793, 10802, //cases 240 - 247
2405 10809, 10856, 10865, 10878, 10885, 10894, 10901, 10908, //cases 248 - 255
2406 //Wdg
2407 10909, 10918, 10934, 10950, 11006, 11022, 11078, 11134, //cases 0 - 7
2408 11143, 11159, 11170, 11231, 11278, 11339, 11386, 11401, //cases 8 - 15
2409 11410, 11426, 11487, 11498, 11545, 11606, 11621, 11668, //cases 16 - 23
2410 11677, 11733, 11780, 11827, 11836, 11851, 11864, 11877, //cases 24 - 31
2411 11884, 11900, 11961, 12022, 12037, 12048, 12095, 12142, //cases 32 - 39
2412 12151, 12207, 12254, 12269, 12282, 12329, 12338, 12351, //cases 40 - 47
2413 12358, 12414, 12429, 12476, 12489, 12536, 12549, 12558, //cases 48 - 55
2414 12565, 12574, 12583, 12592, 12599, 12608, 12615, 12622, //cases 56 - 63
2415 //Pyr
2416 12623, 12631, 12646, 12661, 12711, 12726, 12743, 12793, //cases 0 - 7
2417 12808, 12823, 12873, 12890, 12905, 12955, 12970, 12985, //cases 8 - 15
2418 12993, 13004, 13021, 13038, 13047, 13064, 13077, 13086, //cases 16 - 23
2419 13093, 13110, 13119, 13132, 13139, 13148, 13155, 13162, //cases 24 - 31
2420 };
2421 
2422 enum
2423 {
2424  CLIP_TABLES_DATA_SIZE = sizeof(ClipTablesData) / sizeof(ClipTablesData[0]),
2425  CLIP_TABLES_INDICES_SIZE = sizeof(ClipTablesIndices) / sizeof(ClipTablesIndices[0]),
2426  MAX_CELL_EDGES = 12, // Hexahedron
2427  CELL_EDGES_SIZE = vtkm::NUMBER_OF_CELL_SHAPES * MAX_CELL_EDGES * 2
2428 };
2429 
2430 #define X 255
2431 VTKM_STATIC_CONSTEXPR_ARRAY vtkm::UInt8 CellEdges[CELL_EDGES_SIZE] = {
2432  X, X, X, X, X, X, X, X, X, X, X, X,
2433  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_EMPTY_CELL
2434  X, X, X, X, X, X, X, X, X, X, X, X,
2435  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_VERTEX
2436  X, X, X, X, X, X, X, X, X, X, X, X,
2437  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_POLY_VERTEX
2438  0, 1, X, X, X, X, X, X, X, X, X, X,
2439  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_LINE
2440  X, X, X, X, X, X, X, X, X, X, X, X,
2441  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_POLY_LINE
2442  0, 1, 1, 2, 2, 0, X, X, X, X, X, X,
2443  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_TRIANGLE
2444  X, X, X, X, X, X, X, X, X, X, X, X,
2445  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_TRIANGLE_STRIP
2446  X, X, X, X, X, X, X, X, X, X, X, X,
2447  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_POLYGON
2448  X, X, X, X, X, X, X, X, X, X, X, X,
2449  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_PIXEL
2450  0, 1, 1, 2, 3, 2, 0, 3, X, X, X, X,
2451  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_QUAD
2452  0, 1, 1, 2, 2, 0, 0, 3, 1, 3, 2, 3,
2453  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_TETRA
2454  X, X, X, X, X, X, X, X, X, X, X, X,
2455  X, X, X, X, X, X, X, X, X, X, X, X, // vtkm::CELL_SHAPE_VOXEL
2456  0, 1, 1, 2, 3, 2, 0, 3, 4, 5, 5, 6,
2457  7, 6, 4, 7, 0, 4, 1, 5, 3, 7, 2, 6, // vtkm::CELL_SHAPE_HEXAHEDRON
2458  0, 1, 1, 2, 2, 0, 3, 4, 4, 5, 5, 3,
2459  0, 3, 1, 4, 2, 5, X, X, X, X, X, X, // vtkm::CELL_SHAPE_WEDGE
2460  0, 1, 1, 2, 2, 3, 3, 0, 0, 4, 1, 4,
2461  2, 4, 3, 4, X, X, X, X, X, X, X, X // vtkm::CELL_SHAPE_PYRAMID
2462 };
2463 #undef X
2464 // clang-format on
2465 
2466 class ClipTables : public vtkm::cont::ExecutionObjectBase
2467 {
2468 public:
2469  using EdgeVec = vtkm::IdComponent2;
2470 
2471  template <typename DeviceAdapter>
2472  class DevicePortal
2473  {
2474  public:
2475  VTKM_EXEC
2476  vtkm::Id GetCaseIndex(vtkm::Id shape, vtkm::Id caseId) const
2477  {
2478  // index into ClipTablesIndices for each shape
2480  -1, // 0 = vtkm::CELL_SHAPE_EMPTY_CELL
2481  0, // 1 = vtkm::CELL_SHAPE_VERTEX
2482  -1, // 2 = vtkm::CELL_SHAPE_POLY_VERTEX
2483  2, // 3 = vtkm::CELL_SHAPE_LINE
2484  -1, // 4 = vtkm::CELL_SHAPE_POLY_LINE
2485  6, // 5 = vtkm::CELL_SHAPE_TRIANGLE
2486  -1, // 6 = vtkm::CELL_SHAPE_TRIANGLE_STRIP
2487  -1, // 7 = vtkm::CELL_SHAPE_POLYGON
2488  -1, // 8 = vtkm::CELL_SHAPE_PIXEL
2489  14, // 9 = vtkm::CELL_SHAPE_QUAD
2490  30, // 10 = vtkm::CELL_SHAPE_TETRA
2491  -1, // 11 = vtkm::CELL_SHAPE_VOXEL
2492  46, // 12 = vtkm::CELL_SHAPE_HEXAHEDRON
2493  302, // 13 = vtkm::CELL_SHAPE_WEDGE
2494  366 // 14 = vtkm::CELL_SHAPE_PYRAMID
2495  };
2496 
2497  vtkm::Id index = CellIndexLookup[shape];
2498  return this->ClipTablesIndicesPortal.Get(index + caseId);
2499  }
2500 
2501  VTKM_EXEC
2502  vtkm::UInt8 ValueAt(vtkm::Id idx) const { return this->ClipTablesDataPortal.Get(idx); }
2503 
2504  VTKM_EXEC
2505  EdgeVec GetEdge(vtkm::Id shape, vtkm::Id edgeId) const
2506  {
2507  vtkm::Id index = ((shape * MAX_CELL_EDGES) + edgeId) * 2;
2508  vtkm::IdComponent v1 = this->CellEdgesPortal.Get(index);
2509  vtkm::IdComponent v2 = this->CellEdgesPortal.Get(index + 1);
2510  return EdgeVec(v1, v2);
2511  }
2512 
2513  private:
2514  typename vtkm::cont::ArrayHandle<vtkm::UInt8>::ReadPortalType ClipTablesDataPortal;
2515  typename vtkm::cont::ArrayHandle<vtkm::UInt16>::ReadPortalType ClipTablesIndicesPortal;
2517 
2518  friend class ClipTables;
2519  };
2520 
2521  ClipTables()
2522  : ClipTablesDataArray(
2523  vtkm::cont::make_ArrayHandle(ClipTablesData, CLIP_TABLES_DATA_SIZE, vtkm::CopyFlag::Off))
2524  , ClipTablesIndicesArray(vtkm::cont::make_ArrayHandle(ClipTablesIndices,
2525  CLIP_TABLES_INDICES_SIZE,
2526  vtkm::CopyFlag::Off))
2527  , CellEdgesArray(vtkm::cont::make_ArrayHandle(CellEdges, CELL_EDGES_SIZE, vtkm::CopyFlag::Off))
2528  {
2529  }
2530 
2531  template <typename DeviceAdapter>
2532  DevicePortal<DeviceAdapter> PrepareForExecution(DeviceAdapter, vtkm::cont::Token& token)
2533  {
2534  DevicePortal<DeviceAdapter> portal;
2535  portal.ClipTablesDataPortal = this->ClipTablesDataArray.PrepareForInput(DeviceAdapter(), token);
2536  portal.ClipTablesIndicesPortal =
2537  this->ClipTablesIndicesArray.PrepareForInput(DeviceAdapter(), token);
2538  portal.CellEdgesPortal = this->CellEdgesArray.PrepareForInput(DeviceAdapter(), token);
2539  return portal;
2540  }
2541 
2542 private:
2543  vtkm::cont::ArrayHandle<vtkm::UInt8> ClipTablesDataArray;
2544  vtkm::cont::ArrayHandle<vtkm::UInt16> ClipTablesIndicesArray;
2545  vtkm::cont::ArrayHandle<vtkm::UInt8> CellEdgesArray;
2546 };
2547 }
2548 }
2549 } // namespace vtkm::worklet::internal
2550 
2551 #endif // vtk_m_ClipTables_h
vtkm::cont::make_ArrayHandle
VTKM_CONT vtkm::cont::ArrayHandleBasic< T > make_ArrayHandle(const T *array, vtkm::Id numberOfValues, vtkm::CopyFlag copy)
A convenience function for creating an ArrayHandle from a standard C array.
Definition: ArrayHandleBasic.h:217
vtkm::cont::ArrayHandle< vtkm::UInt8 >
ArrayHandle.h
vtkm::NUMBER_OF_CELL_SHAPES
@ NUMBER_OF_CELL_SHAPES
Definition: CellShape.h:52
VTKM_EXEC
#define VTKM_EXEC
Definition: ExportMacros.h:51
vtkm
Groups connected points that have the same field value.
Definition: Atomic.h:19
Types.h
vtkm::IdComponent
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
VTKM_STATIC_CONSTEXPR_ARRAY
#define VTKM_STATIC_CONSTEXPR_ARRAY
Definition: ExportMacros.h:107
CellShape.h
vtkm::cont::ArrayHandle::ReadPortalType
typename StorageType::ReadPortalType ReadPortalType
Definition: ArrayHandle.h:294
vtkm::Id
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
vtkm::cont::Token
A token to hold the scope of an ArrayHandle or other object.
Definition: Token.h:35
X
#define X
Definition: ClipTables.h:2430
vtkm::UInt8
uint8_t UInt8
Definition: Types.h:157
vtkm::cont::ExecutionObjectBase
Base ExecutionObjectBase for execution objects to inherit from so that you can use an arbitrary objec...
Definition: ExecutionObjectBase.h:31
vtkm::cont::LogLevel::Off
@ Off
Used with SetStderrLogLevel to silence the log.
vtkm::Int32
int32_t Int32
Definition: Types.h:160
vtkm::CopyFlag
CopyFlag
Definition: Flags.h:16
vtkm::UInt16
uint16_t UInt16
Definition: Types.h:159
vtkm::IdComponent2
vtkm::Vec< vtkm::IdComponent, 2 > IdComponent2
IdComponent2 corresponds to an index to a local (small) 2-d array or equivalent.
Definition: Types.h:889
ExecutionObjectBase.h