VTK
vtkTableBasedClipCases.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTableBasedClipCases.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 #ifndef vtkTableBasedClipCases_h
17 #define vtkTableBasedClipCases_h
18 
19 
20 /*****************************************************************************
21 *
22 * Copyright (c) 2000 - 2009, Lawrence Livermore National Security, LLC
23 * Produced at the Lawrence Livermore National Laboratory
24 * LLNL-CODE-400124
25 * All rights reserved.
26 *
27 * This file is a combination of several VisIt files containing the triangulation
28 * and clipping tables used in VisIt cutter and clipper / slicer. For details,
29 * see https://visit.llnl.gov/. The full copyright notice is contained in the
30 * file COPYRIGHT located at the root of the VisIt distribution or at
31 * http://www.llnl.gov/visit/copyright.html.
32 *
33 *****************************************************************************/
34 
35 
36 // ============================================================================
37 // ====================== vtkTriangulationTables (begin) ======================
38 // ============================================================================
39 
41 {
42 
43 static const int TetTriangulationTable[16][7] = {
44  {-1, -1, -1, -1, -1, -1, -1},
45  { 0, 3, 2, -1, -1, -1, -1},
46  { 0, 1, 4, -1, -1, -1, -1},
47  { 3, 2, 4, 4, 2, 1, -1},
48  { 1, 2, 5, -1, -1, -1, -1},
49  { 3, 5, 1, 3, 1, 0, -1},
50  { 0, 2, 5, 0, 5, 4, -1},
51  { 3, 5, 4, -1, -1, -1, -1},
52  { 3, 4, 5, -1, -1, -1, -1},
53  { 0, 4, 5, 0, 5, 2, -1},
54  { 0, 5, 3, 0, 1, 5, -1},
55  { 5, 2, 1, -1, -1, -1, -1},
56  { 3, 4, 1, 3, 1, 2, -1},
57  { 0, 4, 1, -1, -1, -1, -1},
58  { 0, 2, 3, -1, -1, -1, -1},
59  {-1, -1, -1, -1, -1, -1, -1}
60 };
61 
62 static const int TetVerticesFromEdges[6][2] =
63 {
64  { 0, 1 }, /* Edge 0 */
65  { 1, 2 }, /* Edge 1 */
66  { 2, 0 }, /* Edge 2 */
67  { 0, 3 }, /* Edge 3 */
68  { 1, 3 }, /* Edge 4 */
69  { 2, 3 } /* Edge 5 */
70 };
71 
72 static const int TetTriangleFaces[4][3] =
73 {
74  { 0, 1, 3 },
75  { 1, 2, 3 },
76  { 2, 0, 3 },
77  { 0, 2, 1 }
78 };
79 
80 static const int PyramidTriangulationTable[32][13] = {
81  {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //0
82  { 0, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //1
83  { 0, 1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //2
84  { 4, 1, 5, 4, 3, 1, -1, -1, -1, -1, -1, -1, -1}, //3
85  { 1, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //4
86  { 0, 4, 3, 1, 2, 6, -1, -1, -1, -1, -1, -1, -1}, //5
87  { 0, 2, 5, 5, 2, 6, -1, -1, -1, -1, -1, -1, -1}, //6
88  { 4, 3, 2, 5, 4, 2, 6, 5, 2, -1, -1, -1, -1}, //7
89  { 3, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //8
90  { 4, 7, 2, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1}, //9
91  { 0, 1, 5, 3, 7, 2, -1, -1, -1, -1, -1, -1, -1}, //10
92  { 1, 5, 2, 2, 5, 4, 2, 4, 7, -1, -1, -1, -1}, //11
93  { 1, 3, 6, 6, 3, 7, -1, -1, -1, -1, -1, -1, -1}, //12
94  { 1, 7, 6, 1, 4, 7, 1, 0, 4, -1, -1, -1, -1}, //13
95  { 0, 3, 5, 5, 3, 6, 6, 3, 7, -1, -1, -1, -1}, //14
96  { 5, 4, 7, 6, 5, 7, -1, -1, -1, -1, -1, -1, -1}, //15
97  { 5, 7, 4, 6, 7, 5, -1, -1, -1, -1, -1, -1, -1}, //16 *
98  { 0, 5, 3, 5, 6, 3, 6, 7, 3, -1, -1, -1, -1}, //17 *
99  { 0, 1, 4, 1, 7, 4, 1, 6, 7, -1, -1, -1, -1}, //18 *
100  { 1, 6, 3, 6, 7, 3, -1, -1, -1, -1, -1, -1, -1}, //19 *
101  { 1, 2, 5, 2, 4, 5, 2, 7, 4, -1, -1, -1, -1}, //20
102  { 0, 7, 3, 0, 5, 7, 5, 2, 7, 5, 1, 2, -1}, //21
103  { 0, 2, 4, 4, 2, 7, -1, -1, -1, -1, -1, -1, -1}, //22
104  { 3, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //23
105  { 3, 4, 2, 2, 4, 5, 2, 5, 6, -1, -1, -1, -1}, //24
106  { 0, 5, 2, 5, 6, 2, -1, -1, -1, -1, -1, -1, -1}, //25
107  { 0, 1, 6, 0, 6, 4, 4, 6, 3, 6, 2, 3, -1}, //26
108  { 1, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //27
109  { 3, 4, 1, 4, 5, 1, -1, -1, -1, -1, -1, -1, -1}, //28
110  { 0, 5, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //29
111  { 0, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //30
112  {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1} //31
113 };
114 
115 static const int PyramidVerticesFromEdges[8][2] =
116 {
117  { 0, 1 }, /* Edge 0 */
118  { 1, 2 }, /* Edge 1 */
119  { 2, 3 }, /* Edge 2 */
120  { 3, 0 }, /* Edge 3 */
121  { 0, 4 }, /* Edge 4 */
122  { 1, 4 }, /* Edge 5 */
123  { 2, 4 }, /* Edge 6 */
124  { 3, 4 } /* Edge 7 */
125 };
126 
127 static const int PyramidTriangleFaces[4][3] =
128 {
129  { 0, 1, 4 },
130  { 1, 2, 4 },
131  { 2, 3, 4 },
132  { 3, 0, 4 }
133 };
134 
135 static const int PyramidQuadFaces[1][4] =
136 {
137  { 0, 3, 2, 1 }
138 };
139 
140 static const int WedgeTriangulationTable[64][13] = {
141  {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //0
142  { 0, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //1
143  { 0, 1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //2
144  { 6, 1, 7, 6, 2, 1, -1, -1, -1, -1, -1, -1, -1}, //3
145  { 1, 2, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //4
146  { 6, 1, 0, 6, 8, 1, -1, -1, -1, -1, -1, -1, -1}, //5
147  { 0, 2, 8, 7, 0, 8, -1, -1, -1, -1, -1, -1, -1}, //6
148  { 7, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //7
149  { 3, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //8
150  { 3, 5, 0, 5, 2, 0, -1, -1, -1, -1, -1, -1, -1}, //9
151  { 0, 1, 7, 6, 3, 5, -1, -1, -1, -1, -1, -1, -1}, //10
152  { 1, 7, 3, 1, 3, 5, 1, 5, 2, -1, -1, -1, -1}, //11
153  { 2, 8, 1, 6, 3, 5, -1, -1, -1, -1, -1, -1, -1}, //12
154  { 0, 3, 1, 1, 3, 5, 1, 5, 8, -1, -1, -1, -1}, //13
155  { 6, 3, 5, 0, 8, 7, 0, 2, 8, -1, -1, -1, -1}, //14
156  { 7, 3, 5, 7, 5, 8, -1, -1, -1, -1, -1, -1, -1}, //15
157  { 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //16
158  { 7, 4, 3, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1}, //17
159  { 0, 1, 3, 1, 4, 3, -1, -1, -1, -1, -1, -1, -1}, //18
160  { 1, 4, 3, 1, 3, 6, 1, 6, 2, -1, -1, -1, -1}, //19
161  { 7, 4, 3, 2, 8, 1, -1, -1, -1, -1, -1, -1, -1}, //20
162  { 7, 4, 3, 6, 1, 0, 6, 8, 1, -1, -1, -1, -1}, //21
163  { 0, 4, 3, 0, 8, 4, 0, 2, 8, -1, -1, -1, -1}, //22
164  { 6, 8, 3, 3, 8, 4, -1, -1, -1, -1, -1, -1, -1}, //23
165  { 6, 7, 4, 6, 4, 5, -1, -1, -1, -1, -1, -1, -1}, //24
166  { 0, 7, 5, 7, 4, 5, 2, 0, 5, -1, -1, -1, -1}, //25
167  { 1, 6, 0, 1, 5, 6, 1, 4, 5, -1, -1, -1, -1}, //26 *
168  { 2, 1, 5, 5, 1, 4, -1, -1, -1, -1, -1, -1, -1}, //27
169  { 2, 8, 1, 6, 7, 5, 7, 4, 5, -1, -1, -1, -1}, //28
170  { 0, 7, 5, 7, 4, 5, 0, 5, 1, 1, 5, 8, -1}, //29
171  { 0, 2, 8, 0, 8, 4, 0, 4, 5, 0, 5, 6, -1}, //30
172  { 8, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //31
173  { 4, 8, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //32
174  { 4, 8, 5, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1}, //33
175  { 4, 8, 5, 0, 1, 7, -1, -1, -1, -1, -1, -1, -1}, //34
176  { 4, 8, 5, 6, 1, 7, 6, 2, 1, -1, -1, -1, -1}, //35
177  { 1, 5, 4, 2, 5, 1, -1, -1, -1, -1, -1, -1, -1}, //36
178  { 1, 5, 4, 1, 6, 5, 1, 0, 6, -1, -1, -1, -1}, //37
179  { 5, 4, 7, 5, 7, 0, 5, 0, 2, -1, -1, -1, -1}, //38 *
180  { 6, 4, 7, 6, 5, 4, -1, -1, -1, -1, -1, -1, -1}, //39 *
181  { 6, 3, 8, 3, 4, 8, -1, -1, -1, -1, -1, -1, -1}, //40 *
182  { 0, 3, 4, 0, 4, 8, 0, 8, 2, -1, -1, -1, -1}, //41 *
183  { 7, 0, 1, 6, 3, 4, 6, 4, 8, -1, -1, -1, -1}, //42
184  { 1, 7, 3, 1, 3, 2, 2, 3, 8, 8, 3, 4, -1}, //43 *
185  { 2, 6, 1, 6, 3, 1, 3, 4, 1, -1, -1, -1, -1}, //44 *
186  { 0, 3, 1, 1, 3, 4, -1, -1, -1, -1, -1, -1, -1}, //45 *
187  { 7, 0, 4, 4, 0, 2, 4, 2, 3, 3, 2, 6, -1}, //46 *
188  { 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //47 *
189  { 7, 8, 5, 7, 5, 3, -1, -1, -1, -1, -1, -1, -1}, //48
190  { 0, 6, 2, 7, 8, 5, 7, 5, 3, -1, -1, -1, -1}, //49
191  { 0, 1, 3, 1, 5, 3, 1, 8, 5, -1, -1, -1, -1}, //50
192  { 2, 1, 6, 6, 1, 3, 5, 1, 8, 3, 1, 5, -1}, //51
193  { 1, 3, 7, 1, 5, 3, 1, 2, 5, -1, -1, -1, -1}, //52
194  { 1, 0, 6, 1, 6, 5, 1, 5, 7, 7, 5, 3, -1}, //53
195  { 0, 2, 5, 0, 5, 3, -1, -1, -1, -1, -1, -1, -1}, //54
196  { 3, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //55
197  { 7, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //56
198  { 0, 7, 8, 0, 8, 2, -1, -1, -1, -1, -1, -1, -1}, //57
199  { 0, 1, 6, 1, 8, 6, -1, -1, -1, -1, -1, -1, -1}, //58
200  { 2, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //59
201  { 6, 7, 1, 6, 1, 2, -1, -1, -1, -1, -1, -1, -1}, //60 *
202  { 0, 7, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //61 *
203  { 0, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, //62 *
204  {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1} //63
205 };
206 
207 static const int WedgeVerticesFromEdges[9][2] =
208 {
209  { 0, 1 }, /* Edge 0 */
210  { 1, 2 }, /* Edge 1 */
211  { 2, 0 }, /* Edge 2 */
212  { 3, 4 }, /* Edge 3 */
213  { 4, 5 }, /* Edge 4 */
214  { 5, 3 }, /* Edge 5 */
215  { 0, 3 }, /* Edge 6 */
216  { 1, 4 }, /* Edge 7 */
217  { 2, 5 }, /* Edge 8 */
218 };
219 
220 static const int WedgeTriangleFaces[2][3] =
221 {
222  { 0, 1, 2 },
223  { 3, 5, 4 }
224 };
225 
226 static const int WedgeQuadFaces[3][4] =
227 {
228  { 0, 3, 4, 1 },
229  { 1, 4, 5, 2 },
230  { 2, 5, 3, 0 }
231 };
232 
233 static const int HexTriangulationTable[256][16] = {
234 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 0 */
235 { 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 1 */
236 { 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 2 */
237 { 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 3 */
238 { 1, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 4 */
239 { 0, 3, 8, 1, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 5 */
240 { 9, 11, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 6 */
241 { 2, 3, 8, 2, 8, 11, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1}, /* 7 */
242 { 3, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 8 */
243 { 0, 2, 10, 8, 0, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 9 */
244 { 1, 0, 9, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 10 */
245 { 1, 2, 10, 1, 10, 9, 9, 10, 8, -1, -1, -1, -1, -1, -1, -1}, /* 11 */
246 { 3, 1, 11, 10, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 12 */
247 { 0, 1, 11, 0, 11, 8, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1}, /* 13 */
248 { 3, 0, 9, 3, 9, 10, 10, 9, 11, -1, -1, -1, -1, -1, -1, -1}, /* 14 */
249 { 9, 11, 8, 11, 10, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 15 */
250 { 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 16 */
251 { 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 17 */
252 { 0, 9, 1, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 18 */
253 { 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1}, /* 19 */
254 { 1, 11, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 20 */
255 { 3, 7, 4, 3, 4, 0, 1, 11, 2, -1, -1, -1, -1, -1, -1, -1}, /* 21 */
256 { 9, 11, 2, 9, 2, 0, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1}, /* 22 */
257 { 2, 9, 11, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1}, /* 23 */
258 { 8, 7, 4, 3, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 24 */
259 {10, 7, 4, 10, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1}, /* 25 */
260 { 9, 1, 0, 8, 7, 4, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1}, /* 26 */
261 { 4, 10, 7, 9, 10, 4, 9, 2, 10, 9, 1, 2, -1, -1, -1, -1}, /* 27 */
262 { 3, 1, 11, 3, 11, 10, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1}, /* 28 */
263 { 1, 11, 10, 1, 10, 4, 1, 4, 0, 7, 4, 10, -1, -1, -1, -1}, /* 29 */
264 { 4, 8, 7, 9, 10, 0, 9, 11, 10, 10, 3, 0, -1, -1, -1, -1}, /* 30 */
265 { 4, 10, 7, 4, 9, 10, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1}, /* 31 */
266 { 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 32 */
267 { 9, 4, 5, 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 33 */
268 { 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 34 */
269 { 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1}, /* 35 */
270 { 1, 11, 2, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 36 */
271 { 3, 8, 0, 1, 11, 2, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1}, /* 37 */
272 { 5, 11, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1}, /* 38 */
273 { 2, 5, 11, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1}, /* 39 */
274 { 9, 4, 5, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 40 */
275 { 0, 2, 10, 0, 10, 8, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1}, /* 41 */
276 { 0, 4, 5, 0, 5, 1, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1}, /* 42 */
277 { 2, 5, 1, 2, 8, 5, 2, 10, 8, 4, 5, 8, -1, -1, -1, -1}, /* 43 */
278 {11, 10, 3, 11, 3, 1, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1}, /* 44 */
279 { 4, 5, 9, 0, 1, 8, 8, 1, 11, 8, 11, 10, -1, -1, -1, -1}, /* 45 */
280 { 5, 0, 4, 5, 10, 0, 5, 11, 10, 10, 3, 0, -1, -1, -1, -1}, /* 46 */
281 { 5, 8, 4, 5, 11, 8, 11, 10, 8, -1, -1, -1, -1, -1, -1, -1}, /* 47 */
282 { 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 48 */
283 { 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1}, /* 49 */
284 { 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1}, /* 50 */
285 { 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 51 */
286 { 9, 8, 7, 9, 7, 5, 11, 2, 1, -1, -1, -1, -1, -1, -1, -1}, /* 52 */
287 {11, 2, 1, 9, 0, 5, 5, 0, 3, 5, 3, 7, -1, -1, -1, -1}, /* 53 */
288 { 8, 2, 0, 8, 5, 2, 8, 7, 5, 11, 2, 5, -1, -1, -1, -1}, /* 54 */
289 { 2, 5, 11, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1}, /* 55 */
290 { 7, 5, 9, 7, 9, 8, 3, 2, 10, -1, -1, -1, -1, -1, -1, -1}, /* 56 */
291 { 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 10, 7, -1, -1, -1, -1}, /* 57 */
292 { 2, 10, 3, 0, 8, 1, 1, 8, 7, 1, 7, 5, -1, -1, -1, -1}, /* 58 */
293 {10, 1, 2, 10, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1}, /* 59 */
294 { 9, 8, 5, 8, 7, 5, 11, 3, 1, 11, 10, 3, -1, -1, -1, -1}, /* 60 */
295 { 5, 0, 7, 5, 9, 0, 7, 0, 10, 1, 11, 0, 10, 0, 11, -1}, /* 61 */
296 {10, 0, 11, 10, 3, 0, 11, 0, 5, 8, 7, 0, 5, 0, 7, -1}, /* 62 */
297 {10, 5, 11, 7, 5, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 63 */
298 {11, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 64 */
299 { 0, 3, 8, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 65 */
300 { 9, 1, 0, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 66 */
301 { 1, 3, 8, 1, 8, 9, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1}, /* 67 */
302 { 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 68 */
303 { 1, 5, 6, 1, 6, 2, 3, 8, 0, -1, -1, -1, -1, -1, -1, -1}, /* 69 */
304 { 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1}, /* 70 */
305 { 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1}, /* 71 */
306 { 2, 10, 3, 11, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 72 */
307 {10, 8, 0, 10, 0, 2, 11, 5, 6, -1, -1, -1, -1, -1, -1, -1}, /* 73 */
308 { 0, 9, 1, 2, 10, 3, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1}, /* 74 */
309 { 5, 6, 11, 1, 2, 9, 9, 2, 10, 9, 10, 8, -1, -1, -1, -1}, /* 75 */
310 { 6, 10, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1}, /* 76 */
311 { 0, 10, 8, 0, 5, 10, 0, 1, 5, 5, 6, 10, -1, -1, -1, -1}, /* 77 */
312 { 3, 6, 10, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1}, /* 78 */
313 { 6, 9, 5, 6, 10, 9, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1}, /* 79 */
314 { 5, 6, 11, 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 80 */
315 { 4, 0, 3, 4, 3, 7, 6, 11, 5, -1, -1, -1, -1, -1, -1, -1}, /* 81 */
316 { 1, 0, 9, 5, 6, 11, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1}, /* 82 */
317 {11, 5, 6, 1, 7, 9, 1, 3, 7, 7, 4, 9, -1, -1, -1, -1}, /* 83 */
318 { 6, 2, 1, 6, 1, 5, 4, 8, 7, -1, -1, -1, -1, -1, -1, -1}, /* 84 */
319 { 1, 5, 2, 5, 6, 2, 3, 4, 0, 3, 7, 4, -1, -1, -1, -1}, /* 85 */
320 { 8, 7, 4, 9, 5, 0, 0, 5, 6, 0, 6, 2, -1, -1, -1, -1}, /* 86 */
321 { 7, 9, 3, 7, 4, 9, 3, 9, 2, 5, 6, 9, 2, 9, 6, -1}, /* 87 */
322 { 3, 2, 10, 7, 4, 8, 11, 5, 6, -1, -1, -1, -1, -1, -1, -1}, /* 88 */
323 { 5, 6, 11, 4, 2, 7, 4, 0, 2, 2, 10, 7, -1, -1, -1, -1}, /* 89 */
324 { 0, 9, 1, 4, 8, 7, 2, 10, 3, 5, 6, 11, -1, -1, -1, -1}, /* 90 */
325 { 9, 1, 2, 9, 2, 10, 9, 10, 4, 7, 4, 10, 5, 6, 11, -1}, /* 91 */
326 { 8, 7, 4, 3, 5, 10, 3, 1, 5, 5, 6, 10, -1, -1, -1, -1}, /* 92 */
327 { 5, 10, 1, 5, 6, 10, 1, 10, 0, 7, 4, 10, 0, 10, 4, -1}, /* 93 */
328 { 0, 9, 5, 0, 5, 6, 0, 6, 3, 10, 3, 6, 8, 7, 4, -1}, /* 94 */
329 { 6, 9, 5, 6, 10, 9, 4, 9, 7, 7, 9, 10, -1, -1, -1, -1}, /* 95 */
330 {11, 9, 4, 6, 11, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 96 */
331 { 4, 6, 11, 4, 11, 9, 0, 3, 8, -1, -1, -1, -1, -1, -1, -1}, /* 97 */
332 {11, 1, 0, 11, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1}, /* 98 */
333 { 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 11, 1, -1, -1, -1, -1}, /* 99 */
334 { 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1}, /* 100 */
335 { 3, 8, 0, 1, 9, 2, 2, 9, 4, 2, 4, 6, -1, -1, -1, -1}, /* 101 */
336 { 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 102 */
337 { 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1}, /* 103 */
338 {11, 9, 4, 11, 4, 6, 10, 3, 2, -1, -1, -1, -1, -1, -1, -1}, /* 104 */
339 { 0, 2, 8, 2, 10, 8, 4, 11, 9, 4, 6, 11, -1, -1, -1, -1}, /* 105 */
340 { 3, 2, 10, 0, 6, 1, 0, 4, 6, 6, 11, 1, -1, -1, -1, -1}, /* 106 */
341 { 6, 1, 4, 6, 11, 1, 4, 1, 8, 2, 10, 1, 8, 1, 10, -1}, /* 107 */
342 { 9, 4, 6, 9, 6, 3, 9, 3, 1, 10, 3, 6, -1, -1, -1, -1}, /* 108 */
343 { 8, 1, 10, 8, 0, 1, 10, 1, 6, 9, 4, 1, 6, 1, 4, -1}, /* 109 */
344 { 3, 6, 10, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1}, /* 110 */
345 { 6, 8, 4, 10, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 111 */
346 { 7, 6, 11, 7, 11, 8, 8, 11, 9, -1, -1, -1, -1, -1, -1, -1}, /* 112 */
347 { 0, 3, 7, 0, 7, 11, 0, 11, 9, 6, 11, 7, -1, -1, -1, -1}, /* 113 */
348 {11, 7, 6, 1, 7, 11, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1}, /* 114 */
349 {11, 7, 6, 11, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1}, /* 115 */
350 { 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1}, /* 116 */
351 { 2, 9, 6, 2, 1, 9, 6, 9, 7, 0, 3, 9, 7, 9, 3, -1}, /* 117 */
352 { 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1}, /* 118 */
353 { 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 119 */
354 { 2, 10, 3, 11, 8, 6, 11, 9, 8, 8, 7, 6, -1, -1, -1, -1}, /* 120 */
355 { 2, 7, 0, 2, 10, 7, 0, 7, 9, 6, 11, 7, 9, 7, 11, -1}, /* 121 */
356 { 1, 0, 8, 1, 8, 7, 1, 7, 11, 6, 11, 7, 2, 10, 3, -1}, /* 122 */
357 {10, 1, 2, 10, 7, 1, 11, 1, 6, 6, 1, 7, -1, -1, -1, -1}, /* 123 */
358 { 8, 6, 9, 8, 7, 6, 9, 6, 1, 10, 3, 6, 1, 6, 3, -1}, /* 124 */
359 { 0, 1, 9, 10, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 125 */
360 { 7, 0, 8, 7, 6, 0, 3, 0, 10, 10, 0, 6, -1, -1, -1, -1}, /* 126 */
361 { 7, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 127 */
362 { 7, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 128 */
363 { 3, 8, 0, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 129 */
364 { 0, 9, 1, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 130 */
365 { 8, 9, 1, 8, 1, 3, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1}, /* 131 */
366 {11, 2, 1, 6, 7, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 132 */
367 { 1, 11, 2, 3, 8, 0, 6, 7, 10, -1, -1, -1, -1, -1, -1, -1}, /* 133 */
368 { 2, 0, 9, 2, 9, 11, 6, 7, 10, -1, -1, -1, -1, -1, -1, -1}, /* 134 */
369 { 6, 7, 10, 2, 3, 11, 11, 3, 8, 11, 8, 9, -1, -1, -1, -1}, /* 135 */
370 { 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 136 */
371 { 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1}, /* 137 */
372 { 2, 6, 7, 2, 7, 3, 0, 9, 1, -1, -1, -1, -1, -1, -1, -1}, /* 138 */
373 { 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1}, /* 139 */
374 {11, 6, 7, 11, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1}, /* 140 */
375 {11, 6, 7, 1, 11, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1}, /* 141 */
376 { 0, 7, 3, 0, 11, 7, 0, 9, 11, 6, 7, 11, -1, -1, -1, -1}, /* 142 */
377 { 7, 11, 6, 7, 8, 11, 8, 9, 11, -1, -1, -1, -1, -1, -1, -1}, /* 143 */
378 { 6, 4, 8, 10, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 144 */
379 { 3, 10, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1}, /* 145 */
380 { 8, 10, 6, 8, 6, 4, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1}, /* 146 */
381 { 9, 6, 4, 9, 3, 6, 9, 1, 3, 10, 6, 3, -1, -1, -1, -1}, /* 147 */
382 { 6, 4, 8, 6, 8, 10, 2, 1, 11, -1, -1, -1, -1, -1, -1, -1}, /* 148 */
383 { 1, 11, 2, 3, 10, 0, 0, 10, 6, 0, 6, 4, -1, -1, -1, -1}, /* 149 */
384 { 4, 8, 10, 4, 10, 6, 0, 9, 2, 2, 9, 11, -1, -1, -1, -1}, /* 150 */
385 {11, 3, 9, 11, 2, 3, 9, 3, 4, 10, 6, 3, 4, 3, 6, -1}, /* 151 */
386 { 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1}, /* 152 */
387 { 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 153 */
388 { 1, 0, 9, 2, 4, 3, 2, 6, 4, 4, 8, 3, -1, -1, -1, -1}, /* 154 */
389 { 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1}, /* 155 */
390 { 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 11, -1, -1, -1, -1}, /* 156 */
391 {11, 0, 1, 11, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1}, /* 157 */
392 { 4, 3, 6, 4, 8, 3, 6, 3, 11, 0, 9, 3, 11, 3, 9, -1}, /* 158 */
393 {11, 4, 9, 6, 4, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 159 */
394 { 4, 5, 9, 7, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 160 */
395 { 0, 3, 8, 4, 5, 9, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1}, /* 161 */
396 { 5, 1, 0, 5, 0, 4, 7, 10, 6, -1, -1, -1, -1, -1, -1, -1}, /* 162 */
397 {10, 6, 7, 8, 4, 3, 3, 4, 5, 3, 5, 1, -1, -1, -1, -1}, /* 163 */
398 { 9, 4, 5, 11, 2, 1, 7, 10, 6, -1, -1, -1, -1, -1, -1, -1}, /* 164 */
399 { 6, 7, 10, 1, 11, 2, 0, 3, 8, 4, 5, 9, -1, -1, -1, -1}, /* 165 */
400 { 7, 10, 6, 5, 11, 4, 4, 11, 2, 4, 2, 0, -1, -1, -1, -1}, /* 166 */
401 { 3, 8, 4, 3, 4, 5, 3, 5, 2, 11, 2, 5, 10, 6, 7, -1}, /* 167 */
402 { 7, 3, 2, 7, 2, 6, 5, 9, 4, -1, -1, -1, -1, -1, -1, -1}, /* 168 */
403 { 9, 4, 5, 0, 6, 8, 0, 2, 6, 6, 7, 8, -1, -1, -1, -1}, /* 169 */
404 { 3, 2, 6, 3, 6, 7, 1, 0, 5, 5, 0, 4, -1, -1, -1, -1}, /* 170 */
405 { 6, 8, 2, 6, 7, 8, 2, 8, 1, 4, 5, 8, 1, 8, 5, -1}, /* 171 */
406 { 9, 4, 5, 11, 6, 1, 1, 6, 7, 1, 7, 3, -1, -1, -1, -1}, /* 172 */
407 { 1, 11, 6, 1, 6, 7, 1, 7, 0, 8, 0, 7, 9, 4, 5, -1}, /* 173 */
408 { 4, 11, 0, 4, 5, 11, 0, 11, 3, 6, 7, 11, 3, 11, 7, -1}, /* 174 */
409 { 7, 11, 6, 7, 8, 11, 5, 11, 4, 4, 11, 8, -1, -1, -1, -1}, /* 175 */
410 { 6, 5, 9, 6, 9, 10, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1}, /* 176 */
411 { 3, 10, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1}, /* 177 */
412 { 0, 8, 10, 0, 10, 5, 0, 5, 1, 5, 10, 6, -1, -1, -1, -1}, /* 178 */
413 { 6, 3, 10, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1}, /* 179 */
414 { 1, 11, 2, 9, 10, 5, 9, 8, 10, 10, 6, 5, -1, -1, -1, -1}, /* 180 */
415 { 0, 3, 10, 0, 10, 6, 0, 6, 9, 5, 9, 6, 1, 11, 2, -1}, /* 181 */
416 {10, 5, 8, 10, 6, 5, 8, 5, 0, 11, 2, 5, 0, 5, 2, -1}, /* 182 */
417 { 6, 3, 10, 6, 5, 3, 2, 3, 11, 11, 3, 5, -1, -1, -1, -1}, /* 183 */
418 { 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1}, /* 184 */
419 { 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1}, /* 185 */
420 { 1, 8, 5, 1, 0, 8, 5, 8, 6, 3, 2, 8, 6, 8, 2, -1}, /* 186 */
421 { 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 187 */
422 { 1, 6, 3, 1, 11, 6, 3, 6, 8, 5, 9, 6, 8, 6, 9, -1}, /* 188 */
423 {11, 0, 1, 11, 6, 0, 9, 0, 5, 5, 0, 6, -1, -1, -1, -1}, /* 189 */
424 { 0, 8, 3, 5, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 190 */
425 {11, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 191 */
426 {10, 11, 5, 7, 10, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 192 */
427 {10, 11, 5, 10, 5, 7, 8, 0, 3, -1, -1, -1, -1, -1, -1, -1}, /* 193 */
428 { 5, 7, 10, 5, 10, 11, 1, 0, 9, -1, -1, -1, -1, -1, -1, -1}, /* 194 */
429 {11, 5, 7, 11, 7, 10, 9, 1, 8, 8, 1, 3, -1, -1, -1, -1}, /* 195 */
430 {10, 2, 1, 10, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1}, /* 196 */
431 { 0, 3, 8, 1, 7, 2, 1, 5, 7, 7, 10, 2, -1, -1, -1, -1}, /* 197 */
432 { 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 10, -1, -1, -1, -1}, /* 198 */
433 { 7, 2, 5, 7, 10, 2, 5, 2, 9, 3, 8, 2, 9, 2, 8, -1}, /* 199 */
434 { 2, 11, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1}, /* 200 */
435 { 8, 0, 2, 8, 2, 5, 8, 5, 7, 11, 5, 2, -1, -1, -1, -1}, /* 201 */
436 { 9, 1, 0, 5, 3, 11, 5, 7, 3, 3, 2, 11, -1, -1, -1, -1}, /* 202 */
437 { 9, 2, 8, 9, 1, 2, 8, 2, 7, 11, 5, 2, 7, 2, 5, -1}, /* 203 */
438 { 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 204 */
439 { 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1}, /* 205 */
440 { 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1}, /* 206 */
441 { 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 207 */
442 { 5, 4, 8, 5, 8, 11, 11, 8, 10, -1, -1, -1, -1, -1, -1, -1}, /* 208 */
443 { 5, 4, 0, 5, 0, 10, 5, 10, 11, 10, 0, 3, -1, -1, -1, -1}, /* 209 */
444 { 0, 9, 1, 8, 11, 4, 8, 10, 11, 11, 5, 4, -1, -1, -1, -1}, /* 210 */
445 {11, 4, 10, 11, 5, 4, 10, 4, 3, 9, 1, 4, 3, 4, 1, -1}, /* 211 */
446 { 2, 1, 5, 2, 5, 8, 2, 8, 10, 4, 8, 5, -1, -1, -1, -1}, /* 212 */
447 { 0, 10, 4, 0, 3, 10, 4, 10, 5, 2, 1, 10, 5, 10, 1, -1}, /* 213 */
448 { 0, 5, 2, 0, 9, 5, 2, 5, 10, 4, 8, 5, 10, 5, 8, -1}, /* 214 */
449 { 9, 5, 4, 2, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 215 */
450 { 2, 11, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1}, /* 216 */
451 { 5, 2, 11, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1}, /* 217 */
452 { 3, 2, 11, 3, 11, 5, 3, 5, 8, 4, 8, 5, 0, 9, 1, -1}, /* 218 */
453 { 5, 2, 11, 5, 4, 2, 1, 2, 9, 9, 2, 4, -1, -1, -1, -1}, /* 219 */
454 { 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1}, /* 220 */
455 { 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 221 */
456 { 8, 5, 4, 8, 3, 5, 9, 5, 0, 0, 5, 3, -1, -1, -1, -1}, /* 222 */
457 { 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 223 */
458 { 4, 7, 10, 4, 10, 9, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1}, /* 224 */
459 { 0, 3, 8, 4, 7, 9, 9, 7, 10, 9, 10, 11, -1, -1, -1, -1}, /* 225 */
460 { 1, 10, 11, 1, 4, 10, 1, 0, 4, 7, 10, 4, -1, -1, -1, -1}, /* 226 */
461 { 3, 4, 1, 3, 8, 4, 1, 4, 11, 7, 10, 4, 11, 4, 10, -1}, /* 227 */
462 { 4, 7, 10, 9, 4, 10, 9, 10, 2, 9, 2, 1, -1, -1, -1, -1}, /* 228 */
463 { 9, 4, 7, 9, 7, 10, 9, 10, 1, 2, 1, 10, 0, 3, 8, -1}, /* 229 */
464 {10, 4, 7, 10, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1}, /* 230 */
465 {10, 4, 7, 10, 2, 4, 8, 4, 3, 3, 4, 2, -1, -1, -1, -1}, /* 231 */
466 { 2, 11, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1}, /* 232 */
467 { 9, 7, 11, 9, 4, 7, 11, 7, 2, 8, 0, 7, 2, 7, 0, -1}, /* 233 */
468 { 3, 11, 7, 3, 2, 11, 7, 11, 4, 1, 0, 11, 4, 11, 0, -1}, /* 234 */
469 { 1, 2, 11, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 235 */
470 { 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1}, /* 236 */
471 { 4, 1, 9, 4, 7, 1, 0, 1, 8, 8, 1, 7, -1, -1, -1, -1}, /* 237 */
472 { 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 238 */
473 { 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 239 */
474 { 9, 8, 11, 11, 8, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 240 */
475 { 3, 9, 0, 3, 10, 9, 10, 11, 9, -1, -1, -1, -1, -1, -1, -1}, /* 241 */
476 { 0, 11, 1, 0, 8, 11, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1}, /* 242 */
477 { 3, 11, 1, 10, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 243 */
478 { 1, 10, 2, 1, 9, 10, 9, 8, 10, -1, -1, -1, -1, -1, -1, -1}, /* 244 */
479 { 3, 9, 0, 3, 10, 9, 1, 9, 2, 2, 9, 10, -1, -1, -1, -1}, /* 245 */
480 { 0, 10, 2, 8, 10, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 246 */
481 { 3, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 247 */
482 { 2, 8, 3, 2, 11, 8, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1}, /* 248 */
483 { 9, 2, 11, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 249 */
484 { 2, 8, 3, 2, 11, 8, 0, 8, 1, 1, 8, 11, -1, -1, -1, -1}, /* 250 */
485 { 1, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 251 */
486 { 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 252 */
487 { 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 253 */
488 { 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 254 */
489 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1} /* 255 */
490 };
491 
492 static const int HexVerticesFromEdges[12][2] =
493 {
494  { 0, 1 }, /* Edge 0 */
495  { 1, 2 }, /* Edge 1 */
496  { 2, 3 }, /* Edge 2 */
497  { 3, 0 }, /* Edge 3 */
498  { 4, 5 }, /* Edge 4 */
499  { 5, 6 }, /* Edge 5 */
500  { 6, 7 }, /* Edge 6 */
501  { 7, 4 }, /* Edge 7 */
502  { 0, 4 }, /* Edge 8 */
503  { 1, 5 }, /* Edge 9 */
504  { 3, 7 }, /* Edge 10 */
505  { 2, 6 } /* Edge 11 */
506 };
507 
508 static const int HexQuadFaces[6][4] =
509 {
510  { 0, 4, 7, 3 },
511  { 1, 2, 6, 5 },
512  { 0, 1, 5, 4 },
513  { 3, 7, 6, 2 },
514  { 0, 3, 2, 1 },
515  { 4, 5, 6, 7 }
516 };
517 
518 static const int VoxTriangulationTable[256][16] = {
519 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 0 */
520 { 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 1 */
521 { 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 2 */
522 { 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 3 */
523 { 1, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 4 */
524 { 0, 3, 8, 1, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 5 */
525 { 9, 11, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 6 */
526 { 2, 3, 8, 2, 8, 11, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1}, /* 7 */
527 { 3, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 8 */
528 { 0, 2, 10, 8, 0, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 9 */
529 { 1, 0, 9, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 10 */
530 { 1, 2, 10, 1, 10, 9, 9, 10, 8, -1, -1, -1, -1, -1, -1, -1}, /* 11 */
531 { 3, 1, 11, 10, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 12 */
532 { 0, 1, 11, 0, 11, 8, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1}, /* 13 */
533 { 3, 0, 9, 3, 9, 10, 10, 9, 11, -1, -1, -1, -1, -1, -1, -1}, /* 14 */
534 { 9, 11, 8, 11, 10, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 15 */
535 { 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 16 */
536 { 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 17 */
537 { 0, 9, 1, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 18 */
538 { 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1}, /* 19 */
539 { 1, 11, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 20 */
540 { 3, 7, 4, 3, 4, 0, 1, 11, 2, -1, -1, -1, -1, -1, -1, -1}, /* 21 */
541 { 9, 11, 2, 9, 2, 0, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1}, /* 22 */
542 { 2, 9, 11, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1}, /* 23 */
543 { 8, 7, 4, 3, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 24 */
544 {10, 7, 4, 10, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1}, /* 25 */
545 { 9, 1, 0, 8, 7, 4, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1}, /* 26 */
546 { 4, 10, 7, 9, 10, 4, 9, 2, 10, 9, 1, 2, -1, -1, -1, -1}, /* 27 */
547 { 3, 1, 11, 3, 11, 10, 7, 4, 8, -1, -1, -1, -1, -1, -1, -1}, /* 28 */
548 { 1, 11, 10, 1, 10, 4, 1, 4, 0, 7, 4, 10, -1, -1, -1, -1}, /* 29 */
549 { 4, 8, 7, 9, 10, 0, 9, 11, 10, 10, 3, 0, -1, -1, -1, -1}, /* 30 */
550 { 4, 10, 7, 4, 9, 10, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1}, /* 31 */
551 { 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 32 */
552 { 9, 4, 5, 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 33 */
553 { 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 34 */
554 { 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1}, /* 35 */
555 { 1, 11, 2, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 36 */
556 { 3, 8, 0, 1, 11, 2, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1}, /* 37 */
557 { 5, 11, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1}, /* 38 */
558 { 2, 5, 11, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1}, /* 39 */
559 { 9, 4, 5, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 40 */
560 { 0, 2, 10, 0, 10, 8, 4, 5, 9, -1, -1, -1, -1, -1, -1, -1}, /* 41 */
561 { 0, 4, 5, 0, 5, 1, 2, 10, 3, -1, -1, -1, -1, -1, -1, -1}, /* 42 */
562 { 2, 5, 1, 2, 8, 5, 2, 10, 8, 4, 5, 8, -1, -1, -1, -1}, /* 43 */
563 {11, 10, 3, 11, 3, 1, 9, 4, 5, -1, -1, -1, -1, -1, -1, -1}, /* 44 */
564 { 4, 5, 9, 0, 1, 8, 8, 1, 11, 8, 11, 10, -1, -1, -1, -1}, /* 45 */
565 { 5, 0, 4, 5, 10, 0, 5, 11, 10, 10, 3, 0, -1, -1, -1, -1}, /* 46 */
566 { 5, 8, 4, 5, 11, 8, 11, 10, 8, -1, -1, -1, -1, -1, -1, -1}, /* 47 */
567 { 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 48 */
568 { 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1}, /* 49 */
569 { 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1}, /* 50 */
570 { 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 51 */
571 { 9, 8, 7, 9, 7, 5, 11, 2, 1, -1, -1, -1, -1, -1, -1, -1}, /* 52 */
572 {11, 2, 1, 9, 0, 5, 5, 0, 3, 5, 3, 7, -1, -1, -1, -1}, /* 53 */
573 { 8, 2, 0, 8, 5, 2, 8, 7, 5, 11, 2, 5, -1, -1, -1, -1}, /* 54 */
574 { 2, 5, 11, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1}, /* 55 */
575 { 7, 5, 9, 7, 9, 8, 3, 2, 10, -1, -1, -1, -1, -1, -1, -1}, /* 56 */
576 { 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 10, 7, -1, -1, -1, -1}, /* 57 */
577 { 2, 10, 3, 0, 8, 1, 1, 8, 7, 1, 7, 5, -1, -1, -1, -1}, /* 58 */
578 {10, 1, 2, 10, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1}, /* 59 */
579 { 9, 8, 5, 8, 7, 5, 11, 3, 1, 11, 10, 3, -1, -1, -1, -1}, /* 60 */
580 { 5, 0, 7, 5, 9, 0, 7, 0, 10, 1, 11, 0, 10, 0, 11, -1}, /* 61 */
581 {10, 0, 11, 10, 3, 0, 11, 0, 5, 8, 7, 0, 5, 0, 7, -1}, /* 62 */
582 {10, 5, 11, 7, 5, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 63 */
583 {11, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 64 */
584 { 0, 3, 8, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 65 */
585 { 9, 1, 0, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 66 */
586 { 1, 3, 8, 1, 8, 9, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1}, /* 67 */
587 { 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 68 */
588 { 1, 5, 6, 1, 6, 2, 3, 8, 0, -1, -1, -1, -1, -1, -1, -1}, /* 69 */
589 { 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1}, /* 70 */
590 { 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1}, /* 71 */
591 { 2, 10, 3, 11, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 72 */
592 {10, 8, 0, 10, 0, 2, 11, 5, 6, -1, -1, -1, -1, -1, -1, -1}, /* 73 */
593 { 0, 9, 1, 2, 10, 3, 5, 6, 11, -1, -1, -1, -1, -1, -1, -1}, /* 74 */
594 { 5, 6, 11, 1, 2, 9, 9, 2, 10, 9, 10, 8, -1, -1, -1, -1}, /* 75 */
595 { 6, 10, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1}, /* 76 */
596 { 0, 10, 8, 0, 5, 10, 0, 1, 5, 5, 6, 10, -1, -1, -1, -1}, /* 77 */
597 { 3, 6, 10, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1}, /* 78 */
598 { 6, 9, 5, 6, 10, 9, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1}, /* 79 */
599 { 5, 6, 11, 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 80 */
600 { 4, 0, 3, 4, 3, 7, 6, 11, 5, -1, -1, -1, -1, -1, -1, -1}, /* 81 */
601 { 1, 0, 9, 5, 6, 11, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1}, /* 82 */
602 {11, 5, 6, 1, 7, 9, 1, 3, 7, 7, 4, 9, -1, -1, -1, -1}, /* 83 */
603 { 6, 2, 1, 6, 1, 5, 4, 8, 7, -1, -1, -1, -1, -1, -1, -1}, /* 84 */
604 { 1, 5, 2, 5, 6, 2, 3, 4, 0, 3, 7, 4, -1, -1, -1, -1}, /* 85 */
605 { 8, 7, 4, 9, 5, 0, 0, 5, 6, 0, 6, 2, -1, -1, -1, -1}, /* 86 */
606 { 7, 9, 3, 7, 4, 9, 3, 9, 2, 5, 6, 9, 2, 9, 6, -1}, /* 87 */
607 { 3, 2, 10, 7, 4, 8, 11, 5, 6, -1, -1, -1, -1, -1, -1, -1}, /* 88 */
608 { 5, 6, 11, 4, 2, 7, 4, 0, 2, 2, 10, 7, -1, -1, -1, -1}, /* 89 */
609 { 0, 9, 1, 4, 8, 7, 2, 10, 3, 5, 6, 11, -1, -1, -1, -1}, /* 90 */
610 { 9, 1, 2, 9, 2, 10, 9, 10, 4, 7, 4, 10, 5, 6, 11, -1}, /* 91 */
611 { 8, 7, 4, 3, 5, 10, 3, 1, 5, 5, 6, 10, -1, -1, -1, -1}, /* 92 */
612 { 5, 10, 1, 5, 6, 10, 1, 10, 0, 7, 4, 10, 0, 10, 4, -1}, /* 93 */
613 { 0, 9, 5, 0, 5, 6, 0, 6, 3, 10, 3, 6, 8, 7, 4, -1}, /* 94 */
614 { 6, 9, 5, 6, 10, 9, 4, 9, 7, 7, 9, 10, -1, -1, -1, -1}, /* 95 */
615 {11, 9, 4, 6, 11, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 96 */
616 { 4, 6, 11, 4, 11, 9, 0, 3, 8, -1, -1, -1, -1, -1, -1, -1}, /* 97 */
617 {11, 1, 0, 11, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1}, /* 98 */
618 { 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 11, 1, -1, -1, -1, -1}, /* 99 */
619 { 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1}, /* 100 */
620 { 3, 8, 0, 1, 9, 2, 2, 9, 4, 2, 4, 6, -1, -1, -1, -1}, /* 101 */
621 { 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 102 */
622 { 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1}, /* 103 */
623 {11, 9, 4, 11, 4, 6, 10, 3, 2, -1, -1, -1, -1, -1, -1, -1}, /* 104 */
624 { 0, 2, 8, 2, 10, 8, 4, 11, 9, 4, 6, 11, -1, -1, -1, -1}, /* 105 */
625 { 3, 2, 10, 0, 6, 1, 0, 4, 6, 6, 11, 1, -1, -1, -1, -1}, /* 106 */
626 { 6, 1, 4, 6, 11, 1, 4, 1, 8, 2, 10, 1, 8, 1, 10, -1}, /* 107 */
627 { 9, 4, 6, 9, 6, 3, 9, 3, 1, 10, 3, 6, -1, -1, -1, -1}, /* 108 */
628 { 8, 1, 10, 8, 0, 1, 10, 1, 6, 9, 4, 1, 6, 1, 4, -1}, /* 109 */
629 { 3, 6, 10, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1}, /* 110 */
630 { 6, 8, 4, 10, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 111 */
631 { 7, 6, 11, 7, 11, 8, 8, 11, 9, -1, -1, -1, -1, -1, -1, -1}, /* 112 */
632 { 0, 3, 7, 0, 7, 11, 0, 11, 9, 6, 11, 7, -1, -1, -1, -1}, /* 113 */
633 {11, 7, 6, 1, 7, 11, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1}, /* 114 */
634 {11, 7, 6, 11, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1}, /* 115 */
635 { 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1}, /* 116 */
636 { 2, 9, 6, 2, 1, 9, 6, 9, 7, 0, 3, 9, 7, 9, 3, -1}, /* 117 */
637 { 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1}, /* 118 */
638 { 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 119 */
639 { 2, 10, 3, 11, 8, 6, 11, 9, 8, 8, 7, 6, -1, -1, -1, -1}, /* 120 */
640 { 2, 7, 0, 2, 10, 7, 0, 7, 9, 6, 11, 7, 9, 7, 11, -1}, /* 121 */
641 { 1, 0, 8, 1, 8, 7, 1, 7, 11, 6, 11, 7, 2, 10, 3, -1}, /* 122 */
642 {10, 1, 2, 10, 7, 1, 11, 1, 6, 6, 1, 7, -1, -1, -1, -1}, /* 123 */
643 { 8, 6, 9, 8, 7, 6, 9, 6, 1, 10, 3, 6, 1, 6, 3, -1}, /* 124 */
644 { 0, 1, 9, 10, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 125 */
645 { 7, 0, 8, 7, 6, 0, 3, 0, 10, 10, 0, 6, -1, -1, -1, -1}, /* 126 */
646 { 7, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 127 */
647 { 7, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 128 */
648 { 3, 8, 0, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 129 */
649 { 0, 9, 1, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 130 */
650 { 8, 9, 1, 8, 1, 3, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1}, /* 131 */
651 {11, 2, 1, 6, 7, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 132 */
652 { 1, 11, 2, 3, 8, 0, 6, 7, 10, -1, -1, -1, -1, -1, -1, -1}, /* 133 */
653 { 2, 0, 9, 2, 9, 11, 6, 7, 10, -1, -1, -1, -1, -1, -1, -1}, /* 134 */
654 { 6, 7, 10, 2, 3, 11, 11, 3, 8, 11, 8, 9, -1, -1, -1, -1}, /* 135 */
655 { 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 136 */
656 { 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1}, /* 137 */
657 { 2, 6, 7, 2, 7, 3, 0, 9, 1, -1, -1, -1, -1, -1, -1, -1}, /* 138 */
658 { 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1}, /* 139 */
659 {11, 6, 7, 11, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1}, /* 140 */
660 {11, 6, 7, 1, 11, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1}, /* 141 */
661 { 0, 7, 3, 0, 11, 7, 0, 9, 11, 6, 7, 11, -1, -1, -1, -1}, /* 142 */
662 { 7, 11, 6, 7, 8, 11, 8, 9, 11, -1, -1, -1, -1, -1, -1, -1}, /* 143 */
663 { 6, 4, 8, 10, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 144 */
664 { 3, 10, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1}, /* 145 */
665 { 8, 10, 6, 8, 6, 4, 9, 1, 0, -1, -1, -1, -1, -1, -1, -1}, /* 146 */
666 { 9, 6, 4, 9, 3, 6, 9, 1, 3, 10, 6, 3, -1, -1, -1, -1}, /* 147 */
667 { 6, 4, 8, 6, 8, 10, 2, 1, 11, -1, -1, -1, -1, -1, -1, -1}, /* 148 */
668 { 1, 11, 2, 3, 10, 0, 0, 10, 6, 0, 6, 4, -1, -1, -1, -1}, /* 149 */
669 { 4, 8, 10, 4, 10, 6, 0, 9, 2, 2, 9, 11, -1, -1, -1, -1}, /* 150 */
670 {11, 3, 9, 11, 2, 3, 9, 3, 4, 10, 6, 3, 4, 3, 6, -1}, /* 151 */
671 { 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1}, /* 152 */
672 { 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 153 */
673 { 1, 0, 9, 2, 4, 3, 2, 6, 4, 4, 8, 3, -1, -1, -1, -1}, /* 154 */
674 { 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1}, /* 155 */
675 { 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 11, -1, -1, -1, -1}, /* 156 */
676 {11, 0, 1, 11, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1}, /* 157 */
677 { 4, 3, 6, 4, 8, 3, 6, 3, 11, 0, 9, 3, 11, 3, 9, -1}, /* 158 */
678 {11, 4, 9, 6, 4, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 159 */
679 { 4, 5, 9, 7, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 160 */
680 { 0, 3, 8, 4, 5, 9, 10, 6, 7, -1, -1, -1, -1, -1, -1, -1}, /* 161 */
681 { 5, 1, 0, 5, 0, 4, 7, 10, 6, -1, -1, -1, -1, -1, -1, -1}, /* 162 */
682 {10, 6, 7, 8, 4, 3, 3, 4, 5, 3, 5, 1, -1, -1, -1, -1}, /* 163 */
683 { 9, 4, 5, 11, 2, 1, 7, 10, 6, -1, -1, -1, -1, -1, -1, -1}, /* 164 */
684 { 6, 7, 10, 1, 11, 2, 0, 3, 8, 4, 5, 9, -1, -1, -1, -1}, /* 165 */
685 { 7, 10, 6, 5, 11, 4, 4, 11, 2, 4, 2, 0, -1, -1, -1, -1}, /* 166 */
686 { 3, 8, 4, 3, 4, 5, 3, 5, 2, 11, 2, 5, 10, 6, 7, -1}, /* 167 */
687 { 7, 3, 2, 7, 2, 6, 5, 9, 4, -1, -1, -1, -1, -1, -1, -1}, /* 168 */
688 { 9, 4, 5, 0, 6, 8, 0, 2, 6, 6, 7, 8, -1, -1, -1, -1}, /* 169 */
689 { 3, 2, 6, 3, 6, 7, 1, 0, 5, 5, 0, 4, -1, -1, -1, -1}, /* 170 */
690 { 6, 8, 2, 6, 7, 8, 2, 8, 1, 4, 5, 8, 1, 8, 5, -1}, /* 171 */
691 { 9, 4, 5, 11, 6, 1, 1, 6, 7, 1, 7, 3, -1, -1, -1, -1}, /* 172 */
692 { 1, 11, 6, 1, 6, 7, 1, 7, 0, 8, 0, 7, 9, 4, 5, -1}, /* 173 */
693 { 4, 11, 0, 4, 5, 11, 0, 11, 3, 6, 7, 11, 3, 11, 7, -1}, /* 174 */
694 { 7, 11, 6, 7, 8, 11, 5, 11, 4, 4, 11, 8, -1, -1, -1, -1}, /* 175 */
695 { 6, 5, 9, 6, 9, 10, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1}, /* 176 */
696 { 3, 10, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1}, /* 177 */
697 { 0, 8, 10, 0, 10, 5, 0, 5, 1, 5, 10, 6, -1, -1, -1, -1}, /* 178 */
698 { 6, 3, 10, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1}, /* 179 */
699 { 1, 11, 2, 9, 10, 5, 9, 8, 10, 10, 6, 5, -1, -1, -1, -1}, /* 180 */
700 { 0, 3, 10, 0, 10, 6, 0, 6, 9, 5, 9, 6, 1, 11, 2, -1}, /* 181 */
701 {10, 5, 8, 10, 6, 5, 8, 5, 0, 11, 2, 5, 0, 5, 2, -1}, /* 182 */
702 { 6, 3, 10, 6, 5, 3, 2, 3, 11, 11, 3, 5, -1, -1, -1, -1}, /* 183 */
703 { 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1}, /* 184 */
704 { 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1}, /* 185 */
705 { 1, 8, 5, 1, 0, 8, 5, 8, 6, 3, 2, 8, 6, 8, 2, -1}, /* 186 */
706 { 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 187 */
707 { 1, 6, 3, 1, 11, 6, 3, 6, 8, 5, 9, 6, 8, 6, 9, -1}, /* 188 */
708 {11, 0, 1, 11, 6, 0, 9, 0, 5, 5, 0, 6, -1, -1, -1, -1}, /* 189 */
709 { 0, 8, 3, 5, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 190 */
710 {11, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 191 */
711 {10, 11, 5, 7, 10, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 192 */
712 {10, 11, 5, 10, 5, 7, 8, 0, 3, -1, -1, -1, -1, -1, -1, -1}, /* 193 */
713 { 5, 7, 10, 5, 10, 11, 1, 0, 9, -1, -1, -1, -1, -1, -1, -1}, /* 194 */
714 {11, 5, 7, 11, 7, 10, 9, 1, 8, 8, 1, 3, -1, -1, -1, -1}, /* 195 */
715 {10, 2, 1, 10, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1}, /* 196 */
716 { 0, 3, 8, 1, 7, 2, 1, 5, 7, 7, 10, 2, -1, -1, -1, -1}, /* 197 */
717 { 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 10, -1, -1, -1, -1}, /* 198 */
718 { 7, 2, 5, 7, 10, 2, 5, 2, 9, 3, 8, 2, 9, 2, 8, -1}, /* 199 */
719 { 2, 11, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1}, /* 200 */
720 { 8, 0, 2, 8, 2, 5, 8, 5, 7, 11, 5, 2, -1, -1, -1, -1}, /* 201 */
721 { 9, 1, 0, 5, 3, 11, 5, 7, 3, 3, 2, 11, -1, -1, -1, -1}, /* 202 */
722 { 9, 2, 8, 9, 1, 2, 8, 2, 7, 11, 5, 2, 7, 2, 5, -1}, /* 203 */
723 { 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 204 */
724 { 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1}, /* 205 */
725 { 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1}, /* 206 */
726 { 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 207 */
727 { 5, 4, 8, 5, 8, 11, 11, 8, 10, -1, -1, -1, -1, -1, -1, -1}, /* 208 */
728 { 5, 4, 0, 5, 0, 10, 5, 10, 11, 10, 0, 3, -1, -1, -1, -1}, /* 209 */
729 { 0, 9, 1, 8, 11, 4, 8, 10, 11, 11, 5, 4, -1, -1, -1, -1}, /* 210 */
730 {11, 4, 10, 11, 5, 4, 10, 4, 3, 9, 1, 4, 3, 4, 1, -1}, /* 211 */
731 { 2, 1, 5, 2, 5, 8, 2, 8, 10, 4, 8, 5, -1, -1, -1, -1}, /* 212 */
732 { 0, 10, 4, 0, 3, 10, 4, 10, 5, 2, 1, 10, 5, 10, 1, -1}, /* 213 */
733 { 0, 5, 2, 0, 9, 5, 2, 5, 10, 4, 8, 5, 10, 5, 8, -1}, /* 214 */
734 { 9, 5, 4, 2, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 215 */
735 { 2, 11, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1}, /* 216 */
736 { 5, 2, 11, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1}, /* 217 */
737 { 3, 2, 11, 3, 11, 5, 3, 5, 8, 4, 8, 5, 0, 9, 1, -1}, /* 218 */
738 { 5, 2, 11, 5, 4, 2, 1, 2, 9, 9, 2, 4, -1, -1, -1, -1}, /* 219 */
739 { 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1}, /* 220 */
740 { 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 221 */
741 { 8, 5, 4, 8, 3, 5, 9, 5, 0, 0, 5, 3, -1, -1, -1, -1}, /* 222 */
742 { 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 223 */
743 { 4, 7, 10, 4, 10, 9, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1}, /* 224 */
744 { 0, 3, 8, 4, 7, 9, 9, 7, 10, 9, 10, 11, -1, -1, -1, -1}, /* 225 */
745 { 1, 10, 11, 1, 4, 10, 1, 0, 4, 7, 10, 4, -1, -1, -1, -1}, /* 226 */
746 { 3, 4, 1, 3, 8, 4, 1, 4, 11, 7, 10, 4, 11, 4, 10, -1}, /* 227 */
747 { 4, 7, 10, 9, 4, 10, 9, 10, 2, 9, 2, 1, -1, -1, -1, -1}, /* 228 */
748 { 9, 4, 7, 9, 7, 10, 9, 10, 1, 2, 1, 10, 0, 3, 8, -1}, /* 229 */
749 {10, 4, 7, 10, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1}, /* 230 */
750 {10, 4, 7, 10, 2, 4, 8, 4, 3, 3, 4, 2, -1, -1, -1, -1}, /* 231 */
751 { 2, 11, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1}, /* 232 */
752 { 9, 7, 11, 9, 4, 7, 11, 7, 2, 8, 0, 7, 2, 7, 0, -1}, /* 233 */
753 { 3, 11, 7, 3, 2, 11, 7, 11, 4, 1, 0, 11, 4, 11, 0, -1}, /* 234 */
754 { 1, 2, 11, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 235 */
755 { 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1}, /* 236 */
756 { 4, 1, 9, 4, 7, 1, 0, 1, 8, 8, 1, 7, -1, -1, -1, -1}, /* 237 */
757 { 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 238 */
758 { 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 239 */
759 { 9, 8, 11, 11, 8, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 240 */
760 { 3, 9, 0, 3, 10, 9, 10, 11, 9, -1, -1, -1, -1, -1, -1, -1}, /* 241 */
761 { 0, 11, 1, 0, 8, 11, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1}, /* 242 */
762 { 3, 11, 1, 10, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 243 */
763 { 1, 10, 2, 1, 9, 10, 9, 8, 10, -1, -1, -1, -1, -1, -1, -1}, /* 244 */
764 { 3, 9, 0, 3, 10, 9, 1, 9, 2, 2, 9, 10, -1, -1, -1, -1}, /* 245 */
765 { 0, 10, 2, 8, 10, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 246 */
766 { 3, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 247 */
767 { 2, 8, 3, 2, 11, 8, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1}, /* 248 */
768 { 9, 2, 11, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 249 */
769 { 2, 8, 3, 2, 11, 8, 0, 8, 1, 1, 8, 11, -1, -1, -1, -1}, /* 250 */
770 { 1, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 251 */
771 { 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 252 */
772 { 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 253 */
773 { 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, /* 254 */
774 {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1} /* 255 */
775 };
776 
777 static const int VoxVerticesFromEdges[12][2] =
778 {
779  { 0, 1 }, /* Edge 0 */
780  { 1, 3 }, /* Edge 1 */
781  { 2, 3 }, /* Edge 2 */
782  { 0, 2 }, /* Edge 3 */
783  { 4, 5 }, /* Edge 4 */
784  { 5, 7 }, /* Edge 5 */
785  { 6, 7 }, /* Edge 6 */
786  { 4, 6 }, /* Edge 7 */
787  { 0, 4 }, /* Edge 8 */
788  { 1, 5 }, /* Edge 9 */
789  { 2, 6 }, /* Edge 10 */
790  { 3, 7 } /* Edge 11 */
791 };
792 
793 static const int VoxQuadFaces[6][4] =
794 {
795  { 2, 0, 6, 4 },
796  { 1, 3, 5, 7 },
797  { 0, 1, 4, 5 },
798  { 3, 2, 7, 6 },
799  { 1, 0, 3, 2 },
800  { 4, 5, 6, 7 }
801 };
802 
803 static const int TriVerticesFromEdges[3][2] =
804 {
805  {0,1},
806  {1,2},
807  {2,0}
808 };
809 
810 static const int QuadVerticesFromEdges[4][2] =
811 {
812  {0,1},
813  {1,2},
814  {2,3},
815  {3,0}
816 };
817 
818 static const int PixelVerticesFromEdges[4][2] =
819 {
820  {0,1},
821  {1,3},
822  {2,3},
823  {0,2}
824 };
825 
826 static const int LineVerticesFromEdges[1][2] =
827 {
828  {0,1}
829 };
830 
831 };
832 
833 // ============================================================================
834 // ====================== vtkTriangulationTables ( end ) ======================
835 // ============================================================================
836 
837 
838 // ============================================================================
839 // ============================= ClipCases (begin) ============================
840 // ============================================================================
841 
843 {
844 
845 // ----------------------------------------------------------------------------
846 // ---- ClipCases.h (begin)
847 
848 // Points of original cell (up to 8, for the hex)
849 // Note: we assume P0 is zero in several places.
850 // Note: we assume these values are contiguous and monotonic.
851 #define P0 0
852 #define P1 1
853 #define P2 2
854 #define P3 3
855 #define P4 4
856 #define P5 5
857 #define P6 6
858 #define P7 7
859 
860 // Edges of original cell (up to 12, for the hex)
861 // Note: we assume these values are contiguous and monotonic.
862 #define EA 20
863 #define EB 21
864 #define EC 22
865 #define ED 23
866 #define EE 24
867 #define EF 25
868 #define EG 26
869 #define EH 27
870 #define EI 28
871 #define EJ 29
872 #define EK 30
873 #define EL 31
874 
875 // New interpolated points (ST_PNT outputs)
876 // Note: we assume these values are contiguous and monotonic.
877 #define N0 40
878 #define N1 41
879 #define N2 42
880 #define N3 43
881 
882 // Shapes
883 #define ST_TET 100
884 #define ST_PYR 101
885 #define ST_WDG 102
886 #define ST_HEX 103
887 #define ST_TRI 104
888 #define ST_QUA 105
889 #define ST_VTX 106
890 #define ST_LIN 107
891 #define ST_PNT 108
892 
893 // Colors
894 #define COLOR0 120
895 #define COLOR1 121
896 #define NOCOLOR 122
897 
898 // ---- ClipCases.h ( end )
899 // ----------------------------------------------------------------------------
900 
901 
902 // ----------------------------------------------------------------------------
903 // ---- ClipCasesHex.C (begin)
904 
905 const int NumClipCasesHex = 256;
906 
907 const int NumClipShapesHex[256] = {
908  1, 10, 10, 3, 10, 18, 3, 15, // cases 0 - 7
909  10, 3, 18, 15, 3, 15, 15, 2, // cases 8 - 15
910  10, 3, 18, 15, 8, 18, 18, 17, // cases 16 - 23
911  18, 15, 11, 10, 18, 17, 16, 15, // cases 24 - 31
912  10, 18, 3, 15, 18, 11, 15, 10, // cases 32 - 39
913  8, 18, 18, 17, 18, 16, 17, 15, // cases 40 - 47
914  3, 15, 15, 2, 18, 16, 17, 15, // cases 48 - 55
915  18, 17, 16, 15, 4, 13, 13, 3, // cases 56 - 63
916  10, 8, 18, 18, 3, 18, 15, 17, // cases 64 - 71
917  18, 18, 11, 16, 15, 17, 10, 15, // cases 72 - 79
918  18, 18, 11, 16, 18, 4, 16, 13, // cases 80 - 87
919  11, 16, 9, 8, 16, 13, 8, 7, // cases 88 - 95
920  3, 18, 15, 17, 15, 16, 2, 15, // cases 96 - 103
921  18, 4, 16, 13, 17, 13, 15, 3, // cases 104 - 111
922  15, 17, 10, 15, 17, 13, 15, 3, // cases 112 - 119
923  16, 13, 8, 7, 13, 8, 7, 10, // cases 120 - 127
924  10, 18, 8, 18, 18, 11, 18, 16, // cases 128 - 135
925  3, 15, 18, 17, 15, 10, 17, 15, // cases 136 - 143
926  3, 15, 18, 17, 18, 16, 4, 13, // cases 144 - 151
927  15, 2, 16, 15, 17, 15, 13, 3, // cases 152 - 159
928  18, 11, 18, 16, 11, 9, 16, 8, // cases 160 - 167
929  18, 16, 4, 13, 16, 8, 13, 7, // cases 168 - 175
930  15, 10, 17, 15, 16, 8, 13, 7, // cases 176 - 183
931  17, 15, 13, 3, 13, 7, 8, 10, // cases 184 - 191
932  3, 18, 18, 4, 15, 16, 17, 13, // cases 192 - 199
933  15, 17, 16, 13, 2, 15, 15, 3, // cases 200 - 207
934  15, 17, 16, 13, 17, 13, 13, 8, // cases 208 - 215
935  10, 15, 8, 7, 15, 3, 7, 10, // cases 216 - 223
936  15, 16, 17, 13, 10, 8, 15, 7, // cases 224 - 231
937  17, 13, 13, 8, 15, 7, 3, 10, // cases 232 - 239
938  2, 15, 15, 3, 15, 7, 3, 10, // cases 240 - 247
939  15, 3, 7, 10, 3, 10, 10, 1 // cases 248 - 255
940 };
941 
942 const int StartClipShapesHex[256] = {
943  0, 10, 80, 150, 176, 246, 361, 387, // cases 0 - 7
944  488, 558, 584, 699, 800, 826, 927, 1028, // cases 8 - 15
945  1048, 1118, 1144, 1259, 1360, 1412, 1531, 1650, // cases 16 - 23
946  1764, 1879, 1980, 2056, 2124, 2243, 2357, 2465, // cases 24 - 31
947  2566, 2636, 2751, 2777, 2878, 2993, 3069, 3170, // cases 32 - 39
948  3238, 3290, 3409, 3528, 3642, 3761, 3869, 3983, // cases 40 - 47
949  4084, 4110, 4211, 4312, 4332, 4451, 4559, 4673, // cases 48 - 55
950  4774, 4893, 5007, 5115, 5216, 5252, 5343, 5434, // cases 56 - 63
951  5460, 5530, 5582, 5697, 5816, 5842, 5961, 6062, // cases 64 - 71
952  6176, 6291, 6410, 6486, 6594, 6695, 6809, 6877, // cases 72 - 79
953  6978, 7093, 7212, 7288, 7396, 7515, 7551, 7659, // cases 80 - 87
954  7750, 7826, 7934, 7996, 8050, 8158, 8249, 8303, // cases 88 - 95
955  8350, 8376, 8495, 8596, 8710, 8811, 8919, 8939, // cases 96 - 103
956  9040, 9159, 9195, 9303, 9394, 9508, 9599, 9700, // cases 104 - 111
957  9726, 9827, 9941, 10009, 10110, 10224, 10315, 10416, // cases 112 - 119
958  10442, 10550, 10641, 10695, 10742, 10833, 10885, 10932, // cases 120 - 127
959  11002, 11072, 11187, 11239, 11358, 11473, 11549, 11668, // cases 128 - 135
960  11776, 11802, 11903, 12022, 12136, 12237, 12305, 12419, // cases 136 - 143
961  12520, 12546, 12647, 12766, 12880, 12999, 13107, 13143, // cases 144 - 151
962  13234, 13335, 13355, 13463, 13564, 13678, 13779, 13870, // cases 152 - 159
963  13896, 14011, 14087, 14206, 14314, 14390, 14452, 14560, // cases 160 - 167
964  14614, 14733, 14841, 14877, 14968, 15076, 15130, 15221, // cases 168 - 175
965  15268, 15369, 15437, 15551, 15652, 15760, 15814, 15905, // cases 176 - 183
966  15952, 16066, 16167, 16258, 16284, 16375, 16422, 16474, // cases 184 - 191
967  16544, 16570, 16689, 16808, 16844, 16945, 17053, 17167, // cases 192 - 199
968  17258, 17359, 17473, 17581, 17672, 17692, 17793, 17894, // cases 200 - 207
969  17920, 18021, 18135, 18243, 18334, 18448, 18539, 18630, // cases 208 - 215
970  18682, 18750, 18851, 18905, 18952, 19053, 19079, 19126, // cases 216 - 223
971  19196, 19297, 19405, 19519, 19610, 19678, 19732, 19833, // cases 224 - 231
972  19880, 19994, 20085, 20176, 20228, 20329, 20376, 20402, // cases 232 - 239
973  20472, 20492, 20593, 20694, 20720, 20821, 20868, 20894, // cases 240 - 247
974  20964, 21065, 21091, 21138, 21208, 21234, 21304, 21374 // cases 248 - 255
975 };
976 
977 static unsigned char ClipShapesHex[] = {
978  // Case #0: Unique case #1
979  ST_HEX, COLOR0, P0, P1, P2, P3, P4, P5, P6, P7,
980  // Case #1: Unique case #2
981  ST_PNT, 0, COLOR0, 7, P1, P2, P3, P4, P5, P6, P7,
982  ST_WDG, COLOR0, P1, P3, P4, EA, ED, EI,
983  ST_TET, COLOR0, P1, P3, P4, N0,
984  ST_TET, COLOR0, P1, P2, P3, N0,
985  ST_PYR, COLOR0, P6, P7, P3, P2, N0,
986  ST_PYR, COLOR0, P5, P6, P2, P1, N0,
987  ST_PYR, COLOR0, P4, P7, P6, P5, N0,
988  ST_TET, COLOR0, P3, P7, P4, N0,
989  ST_TET, COLOR0, P4, P5, P1, N0,
990  ST_TET, COLOR1, P0, EA, ED, EI,
991  // Case #2: (cloned #1)
992  ST_PNT, 0, COLOR0, 7, P5, P4, P0, P2, P6, P7, P3,
993  ST_WDG, COLOR0, EJ, EA, EB, P5, P0, P2,
994  ST_TET, COLOR0, P5, P2, P0, N0,
995  ST_TET, COLOR0, P5, P0, P4, N0,
996  ST_PYR, COLOR0, P7, P4, P0, P3, N0,
997  ST_PYR, COLOR0, P6, P5, P4, P7, N0,
998  ST_PYR, COLOR0, P2, P6, P7, P3, N0,
999  ST_TET, COLOR0, P0, P2, P3, N0,
1000  ST_TET, COLOR0, P2, P5, P6, N0,
1001  ST_TET, COLOR1, P1, EA, EJ, EB,
1002  // Case #3: Unique case #3
1003  ST_HEX, COLOR0, EB, P2, P3, ED, EJ, P5, P4, EI,
1004  ST_WDG, COLOR0, P2, P6, P5, P3, P7, P4,
1005  ST_WDG, COLOR1, P1, EB, EJ, P0, ED, EI,
1006  // Case #4: (cloned #1)
1007  ST_PNT, 0, COLOR0, 7, P6, P5, P1, P3, P7, P4, P0,
1008  ST_WDG, COLOR0, EL, EB, EC, P6, P1, P3,
1009  ST_TET, COLOR0, P6, P3, P1, N0,
1010  ST_TET, COLOR0, P6, P1, P5, N0,
1011  ST_PYR, COLOR0, P4, P5, P1, P0, N0,
1012  ST_PYR, COLOR0, P7, P6, P5, P4, N0,
1013  ST_PYR, COLOR0, P3, P7, P4, P0, N0,
1014  ST_TET, COLOR0, P1, P3, P0, N0,
1015  ST_TET, COLOR0, P3, P6, P7, N0,
1016  ST_TET, COLOR1, P2, EB, EL, EC,
1017  // Case #5: Unique case #4
1018  ST_PNT, 0, NOCOLOR, 2, EI, EL,
1019  ST_PYR, COLOR0, P4, P7, P6, P5, N0,
1020  ST_TET, COLOR0, P5, P6, P1, N0,
1021  ST_TET, COLOR0, P4, P5, P1, N0,
1022  ST_TET, COLOR0, P3, P7, P4, N0,
1023  ST_TET, COLOR0, P6, P7, P3, N0,
1024  ST_PYR, COLOR0, P6, P3, EC, EL, N0,
1025  ST_PYR, COLOR0, P1, P6, EL, EB, N0,
1026  ST_TET, COLOR0, P1, EB, EA, N0,
1027  ST_PYR, COLOR0, P4, P1, EA, EI, N0,
1028  ST_PYR, COLOR0, P4, EI, ED, P3, N0,
1029  ST_TET, COLOR0, P3, ED, EC, N0,
1030  ST_PYR, COLOR1, P0, P2, EC, ED, N0,
1031  ST_PYR, COLOR1, EA, EB, P2, P0, N0,
1032  ST_TET, COLOR1, EB, EL, P2, N0,
1033  ST_TET, COLOR1, P2, EL, EC, N0,
1034  ST_TET, COLOR1, EA, N0, P0, EI,
1035  ST_TET, COLOR1, ED, EI, P0, N0,
1036  // Case #6: (cloned #3)
1037  ST_HEX, COLOR0, EC, P3, P0, EA, EL, P6, P5, EJ,
1038  ST_WDG, COLOR0, P3, P7, P6, P0, P4, P5,
1039  ST_WDG, COLOR1, P2, EC, EL, P1, EA, EJ,
1040  // Case #7: Unique case #5
1041  ST_PNT, 0, NOCOLOR, 5, EI, EJ, ED, EC, EL,
1042  ST_PYR, COLOR0, P4, P7, P6, P5, N0,
1043  ST_TET, COLOR0, P6, P3, N0, P7,
1044  ST_PYR, COLOR0, P5, P6, EL, EJ, N0,
1045  ST_PYR, COLOR0, EI, P4, P5, EJ, N0,
1046  ST_TET, COLOR0, P3, P7, P4, N0,
1047  ST_PYR, COLOR0, P3, P4, EI, ED, N0,
1048  ST_TET, COLOR0, P3, ED, EC, N0,
1049  ST_PYR, COLOR0, EL, P6, P3, EC, N0,
1050  ST_PYR, COLOR1, EJ, EL, P2, P1, N0,
1051  ST_PYR, COLOR1, EI, EJ, P1, P0, N0,
1052  ST_TET, COLOR1, ED, EI, P0, N0,
1053  ST_TET, COLOR1, P0, P1, P2, N0,
1054  ST_PYR, COLOR1, ED, P0, P2, EC, N0,
1055  ST_TET, COLOR1, P2, EL, EC, N0,
1056  // Case #8: (cloned #1)
1057  ST_PNT, 0, COLOR0, 7, P2, P1, P0, P7, P6, P5, P4,
1058  ST_WDG, COLOR0, EC, ED, EK, P2, P0, P7,
1059  ST_TET, COLOR0, P2, P7, P0, N0,
1060  ST_TET, COLOR0, P2, P0, P1, N0,
1061  ST_PYR, COLOR0, P5, P1, P0, P4, N0,
1062  ST_PYR, COLOR0, P6, P2, P1, P5, N0,
1063  ST_PYR, COLOR0, P7, P6, P5, P4, N0,
1064  ST_TET, COLOR0, P0, P7, P4, N0,
1065  ST_TET, COLOR0, P7, P2, P6, N0,
1066  ST_TET, COLOR1, P3, ED, EC, EK,
1067  // Case #9: (cloned #3)
1068  ST_HEX, COLOR0, EK, P7, P4, EI, EC, P2, P1, EA,
1069  ST_WDG, COLOR0, P7, P6, P2, P4, P5, P1,
1070  ST_WDG, COLOR1, P3, EK, EC, P0, EI, EA,
1071  // Case #10: (cloned #5)
1072  ST_PNT, 0, NOCOLOR, 2, EK, EJ,
1073  ST_PYR, COLOR0, P7, P6, P5, P4, N0,
1074  ST_TET, COLOR0, P6, P2, P5, N0,
1075  ST_TET, COLOR0, P7, P2, P6, N0,
1076  ST_TET, COLOR0, P0, P7, P4, N0,
1077  ST_TET, COLOR0, P5, P0, P4, N0,
1078  ST_PYR, COLOR0, P5, EJ, EA, P0, N0,
1079  ST_PYR, COLOR0, P2, EB, EJ, P5, N0,
1080  ST_TET, COLOR0, P2, EC, EB, N0,
1081  ST_PYR, COLOR0, P7, EK, EC, P2, N0,
1082  ST_PYR, COLOR0, P7, P0, ED, EK, N0,
1083  ST_TET, COLOR0, P0, EA, ED, N0,
1084  ST_PYR, COLOR1, P3, ED, EA, P1, N0,
1085  ST_PYR, COLOR1, EC, P3, P1, EB, N0,
1086  ST_TET, COLOR1, EB, P1, EJ, N0,
1087  ST_TET, COLOR1, P1, EA, EJ, N0,
1088  ST_TET, COLOR1, EC, P3, N0, EK,
1089  ST_TET, COLOR1, ED, P3, EK, N0,
1090  // Case #11: (cloned #7)
1091  ST_PNT, 0, NOCOLOR, 5, EJ, EI, EB, EC, EK,
1092  ST_PYR, COLOR0, P5, P4, P7, P6, N0,
1093  ST_TET, COLOR0, P7, N0, P2, P6,
1094  ST_PYR, COLOR0, P4, EI, EK, P7, N0,
1095  ST_PYR, COLOR0, EJ, EI, P4, P5, N0,
1096  ST_TET, COLOR0, P2, P5, P6, N0,
1097  ST_PYR, COLOR0, P2, EB, EJ, P5, N0,
1098  ST_TET, COLOR0, P2, EC, EB, N0,
1099  ST_PYR, COLOR0, EK, EC, P2, P7, N0,
1100  ST_PYR, COLOR1, EI, P0, P3, EK, N0,
1101  ST_PYR, COLOR1, EJ, P1, P0, EI, N0,
1102  ST_TET, COLOR1, EB, P1, EJ, N0,
1103  ST_TET, COLOR1, P1, P3, P0, N0,
1104  ST_PYR, COLOR1, EB, EC, P3, P1, N0,
1105  ST_TET, COLOR1, P3, EC, EK, N0,
1106  // Case #12: (cloned #3)
1107  ST_HEX, COLOR0, EL, P6, P7, EK, EB, P1, P0, ED,
1108  ST_WDG, COLOR0, P0, P4, P7, P1, P5, P6,
1109  ST_WDG, COLOR1, P3, ED, EK, P2, EB, EL,
1110  // Case #13: (cloned #7)
1111  ST_PNT, 0, NOCOLOR, 5, EI, EK, EA, EB, EL,
1112  ST_PYR, COLOR0, P4, P7, P6, P5, N0,
1113  ST_TET, COLOR0, P6, N0, P1, P5,
1114  ST_PYR, COLOR0, P7, EK, EL, P6, N0,
1115  ST_PYR, COLOR0, EI, EK, P7, P4, N0,
1116  ST_TET, COLOR0, P1, P4, P5, N0,
1117  ST_PYR, COLOR0, P1, EA, EI, P4, N0,
1118  ST_TET, COLOR0, P1, EB, EA, N0,
1119  ST_PYR, COLOR0, EL, EB, P1, P6, N0,
1120  ST_PYR, COLOR1, EK, P3, P2, EL, N0,
1121  ST_PYR, COLOR1, EI, P0, P3, EK, N0,
1122  ST_TET, COLOR1, EA, P0, EI, N0,
1123  ST_TET, COLOR1, P0, P2, P3, N0,
1124  ST_PYR, COLOR1, EA, EB, P2, P0, N0,
1125  ST_TET, COLOR1, P2, EB, EL, N0,
1126  // Case #14: (cloned #7)
1127  ST_PNT, 0, NOCOLOR, 5, EK, EL, ED, EA, EJ,
1128  ST_PYR, COLOR0, P7, P6, P5, P4, N0,
1129  ST_TET, COLOR0, P5, N0, P0, P4,
1130  ST_PYR, COLOR0, P6, EL, EJ, P5, N0,
1131  ST_PYR, COLOR0, EK, EL, P6, P7, N0,
1132  ST_TET, COLOR0, P0, P7, P4, N0,
1133  ST_PYR, COLOR0, P0, ED, EK, P7, N0,
1134  ST_TET, COLOR0, P0, EA, ED, N0,
1135  ST_PYR, COLOR0, EJ, EA, P0, P5, N0,
1136  ST_PYR, COLOR1, EL, P2, P1, EJ, N0,
1137  ST_PYR, COLOR1, EK, P3, P2, EL, N0,
1138  ST_TET, COLOR1, ED, P3, EK, N0,
1139  ST_TET, COLOR1, P3, P1, P2, N0,
1140  ST_PYR, COLOR1, ED, EA, P1, P3, N0,
1141  ST_TET, COLOR1, P1, EA, EJ, N0,
1142  // Case #15: Unique case #6
1143  ST_HEX, COLOR0, EI, EJ, EL, EK, P4, P5, P6, P7,
1144  ST_HEX, COLOR1, P0, P1, P2, P3, EI, EJ, EL, EK,
1145  // Case #16: (cloned #1)
1146  ST_PNT, 0, COLOR0, 7, P5, P1, P0, P7, P6, P2, P3,
1147  ST_WDG, COLOR0, P5, P0, P7, EE, EI, EH,
1148  ST_TET, COLOR0, P5, P0, P7, N0,
1149  ST_TET, COLOR0, P5, P1, P0, N0,
1150  ST_PYR, COLOR0, P2, P3, P0, P1, N0,
1151  ST_PYR, COLOR0, P6, P2, P1, P5, N0,
1152  ST_PYR, COLOR0, P7, P3, P2, P6, N0,
1153  ST_TET, COLOR0, P0, P3, P7, N0,
1154  ST_TET, COLOR0, P7, P6, P5, N0,
1155  ST_TET, COLOR1, P4, EE, EI, EH,
1156  // Case #17: (cloned #3)
1157  ST_HEX, COLOR0, EE, P5, P1, EA, EH, P7, P3, ED,
1158  ST_WDG, COLOR0, P3, P2, P1, P7, P6, P5,
1159  ST_WDG, COLOR1, P0, ED, EA, P4, EH, EE,
1160  // Case #18: (cloned #5)
1161  ST_PNT, 0, NOCOLOR, 2, EH, EB,
1162  ST_PYR, COLOR0, P7, P3, P2, P6, N0,
1163  ST_TET, COLOR0, P6, P2, P5, N0,
1164  ST_TET, COLOR0, P7, P6, P5, N0,
1165  ST_TET, COLOR0, P0, P3, P7, N0,
1166  ST_TET, COLOR0, P2, P3, P0, N0,
1167  ST_PYR, COLOR0, P2, P0, EA, EB, N0,
1168  ST_PYR, COLOR0, P5, P2, EB, EJ, N0,
1169  ST_TET, COLOR0, P5, EJ, EE, N0,
1170  ST_PYR, COLOR0, P7, P5, EE, EH, N0,
1171  ST_PYR, COLOR0, P7, EH, EI, P0, N0,
1172  ST_TET, COLOR0, P0, EI, EA, N0,
1173  ST_PYR, COLOR1, P4, P1, EA, EI, N0,
1174  ST_PYR, COLOR1, EE, EJ, P1, P4, N0,
1175  ST_TET, COLOR1, EJ, EB, P1, N0,
1176  ST_TET, COLOR1, P1, EB, EA, N0,
1177  ST_TET, COLOR1, EE, N0, P4, EH,
1178  ST_TET, COLOR1, EI, EH, P4, N0,
1179  // Case #19: (cloned #7)
1180  ST_PNT, 0, NOCOLOR, 5, EB, ED, EJ, EE, EH,
1181  ST_PYR, COLOR0, P2, P6, P7, P3, N0,
1182  ST_TET, COLOR0, P7, P5, N0, P6,
1183  ST_PYR, COLOR0, P3, P7, EH, ED, N0,
1184  ST_PYR, COLOR0, EB, P2, P3, ED, N0,
1185  ST_TET, COLOR0, P5, P6, P2, N0,
1186  ST_PYR, COLOR0, P5, P2, EB, EJ, N0,
1187  ST_TET, COLOR0, P5, EJ, EE, N0,
1188  ST_PYR, COLOR0, EH, P7, P5, EE, N0,
1189  ST_PYR, COLOR1, ED, EH, P4, P0, N0,
1190  ST_PYR, COLOR1, EB, ED, P0, P1, N0,
1191  ST_TET, COLOR1, EJ, EB, P1, N0,
1192  ST_TET, COLOR1, P1, P0, P4, N0,
1193  ST_PYR, COLOR1, EJ, P1, P4, EE, N0,
1194  ST_TET, COLOR1, P4, EH, EE, N0,
1195  // Case #20: Unique case #7
1196  ST_WDG, COLOR0, EB, EC, EL, P1, P3, P6,
1197  ST_WDG, COLOR0, P0, P7, P5, EI, EH, EE,
1198  ST_TET, COLOR0, P3, P1, P6, P7,
1199  ST_TET, COLOR0, P5, P7, P6, P1,
1200  ST_TET, COLOR0, P0, P5, P1, P7,
1201  ST_TET, COLOR0, P3, P7, P0, P1,
1202  ST_TET, COLOR1, P4, EE, EI, EH,
1203  ST_TET, COLOR1, P2, EC, EB, EL,
1204  // Case #21: Unique case #8
1205  ST_PNT, 0, NOCOLOR, 4, EE, EH, EL, EL,
1206  ST_PYR, COLOR0, P6, P3, EC, EL, N0,
1207  ST_TET, COLOR0, EC, P3, ED, N0,
1208  ST_PYR, COLOR0, P7, EH, ED, P3, N0,
1209  ST_TET, COLOR0, P6, P7, P3, N0,
1210  ST_TET, COLOR0, P1, EB, EA, N0,
1211  ST_TET, COLOR0, P5, P6, P1, N0,
1212  ST_PYR, COLOR0, P1, P6, EL, EB, N0,
1213  ST_TET, COLOR0, P5, P7, P6, N0,
1214  ST_PYR, COLOR0, P5, EE, EH, P7, N0,
1215  ST_PYR, COLOR0, P5, P1, EA, EE, N0,
1216  ST_PYR, COLOR1, P2, EC, ED, P0, N0,
1217  ST_PYR, COLOR1, EA, EB, P2, P0, N0,
1218  ST_TET, COLOR1, P2, EL, EC, N0,
1219  ST_TET, COLOR1, EB, EL, P2, N0,
1220  ST_PYR, COLOR1, ED, EH, P4, P0, N0,
1221  ST_PYR, COLOR1, P0, P4, EE, EA, N0,
1222  ST_TET, COLOR1, EE, P4, EH, N0,
1223  // Case #22: (cloned #21)
1224  ST_PNT, 0, NOCOLOR, 4, EL, EC, EH, EH,
1225  ST_PYR, COLOR0, P7, EH, EI, P0, N0,
1226  ST_TET, COLOR0, EI, EA, P0, N0,
1227  ST_PYR, COLOR0, P3, P0, EA, EC, N0,
1228  ST_TET, COLOR0, P7, P0, P3, N0,
1229  ST_TET, COLOR0, P5, EJ, EE, N0,
1230  ST_TET, COLOR0, P6, P5, P7, N0,
1231  ST_PYR, COLOR0, P5, EE, EH, P7, N0,
1232  ST_TET, COLOR0, P6, P7, P3, N0,
1233  ST_PYR, COLOR0, P6, P3, EC, EL, N0,
1234  ST_PYR, COLOR0, P6, EL, EJ, P5, N0,
1235  ST_PYR, COLOR1, P4, P1, EA, EI, N0,
1236  ST_PYR, COLOR1, EJ, P1, P4, EE, N0,
1237  ST_TET, COLOR1, P4, EI, EH, N0,
1238  ST_TET, COLOR1, EE, P4, EH, N0,
1239  ST_PYR, COLOR1, EA, P1, P2, EC, N0,
1240  ST_PYR, COLOR1, P1, EJ, EL, P2, N0,
1241  ST_TET, COLOR1, EL, EC, P2, N0,
1242  // Case #23: Unique case #9
1243  ST_PNT, 0, NOCOLOR, 6, ED, EC, EL, EJ, EE, EH,
1244  ST_TET, COLOR0, P6, P5, P7, N0,
1245  ST_PYR, COLOR0, P6, EL, EJ, P5, N0,
1246  ST_TET, COLOR0, P3, P6, P7, N0,
1247  ST_PYR, COLOR0, P3, EC, EL, P6, N0,
1248  ST_TET, COLOR0, ED, EC, P3, N0,
1249  ST_PYR, COLOR0, P3, P7, EH, ED, N0,
1250  ST_PYR, COLOR0, EH, P7, P5, EE, N0,
1251  ST_TET, COLOR0, P5, EJ, EE, N0,
1252  ST_TET, COLOR1, P0, P1, P2, N0,
1253  ST_PYR, COLOR1, ED, P0, P2, EC, N0,
1254  ST_PYR, COLOR1, ED, EH, P4, P0, N0,
1255  ST_TET, COLOR1, P4, P1, P0, N0,
1256  ST_TET, COLOR1, P4, EH, EE, N0,
1257  ST_PYR, COLOR1, P4, EE, EJ, P1, N0,
1258  ST_PYR, COLOR1, EJ, EL, P2, P1, N0,
1259  ST_TET, COLOR1, EL, EC, P2, N0,
1260  // Case #24: (cloned #5)
1261  ST_PNT, 0, NOCOLOR, 2, EC, EE,
1262  ST_PYR, COLOR0, P2, P1, P5, P6, N0,
1263  ST_TET, COLOR0, P6, P5, P7, N0,
1264  ST_TET, COLOR0, P2, P6, P7, N0,
1265  ST_TET, COLOR0, P0, P1, P2, N0,
1266  ST_TET, COLOR0, P5, P1, P0, N0,
1267  ST_PYR, COLOR0, P5, P0, EI, EE, N0,
1268  ST_PYR, COLOR0, P7, P5, EE, EH, N0,
1269  ST_TET, COLOR0, P7, EH, EK, N0,
1270  ST_PYR, COLOR0, P2, P7, EK, EC, N0,
1271  ST_PYR, COLOR0, P2, EC, ED, P0, N0,
1272  ST_TET, COLOR0, P0, ED, EI, N0,
1273  ST_PYR, COLOR1, P3, P4, EI, ED, N0,
1274  ST_PYR, COLOR1, EK, EH, P4, P3, N0,
1275  ST_TET, COLOR1, EH, EE, P4, N0,
1276  ST_TET, COLOR1, P4, EE, EI, N0,
1277  ST_TET, COLOR1, EK, N0, P3, EC,
1278  ST_TET, COLOR1, ED, EC, P3, N0,
1279  // Case #25: (cloned #7)
1280  ST_PNT, 0, NOCOLOR, 5, EE, EA, EH, EK, EC,
1281  ST_PYR, COLOR0, P5, P6, P2, P1, N0,
1282  ST_TET, COLOR0, P2, P7, N0, P6,
1283  ST_PYR, COLOR0, P1, P2, EC, EA, N0,
1284  ST_PYR, COLOR0, EE, P5, P1, EA, N0,
1285  ST_TET, COLOR0, P7, P6, P5, N0,
1286  ST_PYR, COLOR0, P7, P5, EE, EH, N0,
1287  ST_TET, COLOR0, P7, EH, EK, N0,
1288  ST_PYR, COLOR0, EC, P2, P7, EK, N0,
1289  ST_PYR, COLOR1, EA, EC, P3, P0, N0,
1290  ST_PYR, COLOR1, EE, EA, P0, P4, N0,
1291  ST_TET, COLOR1, EH, EE, P4, N0,
1292  ST_TET, COLOR1, P4, P0, P3, N0,
1293  ST_PYR, COLOR1, EH, P4, P3, EK, N0,
1294  ST_TET, COLOR1, P3, EC, EK, N0,
1295  // Case #26: Unique case #10
1296  ST_TET, COLOR0, P0, EA, ED, EI,
1297  ST_TET, COLOR0, P5, P7, P6, P2,
1298  ST_PYR, COLOR0, EC, P2, P7, EK, EH,
1299  ST_PYR, COLOR0, EB, EJ, P5, P2, EE,
1300  ST_PYR, COLOR0, P7, P5, EE, EH, P2,
1301  ST_PYR, COLOR0, EH, EE, EB, EC, P2,
1302  ST_WDG, COLOR1, ED, EA, EI, P3, P1, P4,
1303  ST_PYR, COLOR1, P3, EK, EH, P4, EC,
1304  ST_PYR, COLOR1, EE, EJ, P1, P4, EB,
1305  ST_PYR, COLOR1, EC, P3, P1, EB, P4,
1306  ST_PYR, COLOR1, EC, EB, EE, EH, P4,
1307  // Case #27: Unique case #11
1308  ST_TET, COLOR0, P5, P7, P6, P2,
1309  ST_PYR, COLOR0, EC, P2, P7, EK, EH,
1310  ST_PYR, COLOR0, EB, EJ, P5, P2, EE,
1311  ST_PYR, COLOR0, P7, P5, EE, EH, P2,
1312  ST_PYR, COLOR0, EH, EE, EB, EC, P2,
1313  ST_TET, COLOR1, P0, P1, P3, P4,
1314  ST_PYR, COLOR1, EH, P4, P3, EK, EC,
1315  ST_PYR, COLOR1, EE, EJ, P1, P4, EB,
1316  ST_PYR, COLOR1, P3, P1, EB, EC, P4,
1317  ST_PYR, COLOR1, EH, EC, EB, EE, P4,
1318  // Case #28: (cloned #21)
1319  ST_PNT, 0, NOCOLOR, 4, EL, EB, EE, EE,
1320  ST_PYR, COLOR0, P5, P0, EI, EE, N0,
1321  ST_TET, COLOR0, EI, P0, ED, N0,
1322  ST_PYR, COLOR0, P1, EB, ED, P0, N0,
1323  ST_TET, COLOR0, P5, P1, P0, N0,
1324  ST_TET, COLOR0, P7, EH, EK, N0,
1325  ST_TET, COLOR0, P6, P5, P7, N0,
1326  ST_PYR, COLOR0, P7, P5, EE, EH, N0,
1327  ST_TET, COLOR0, P6, P1, P5, N0,
1328  ST_PYR, COLOR0, P6, EL, EB, P1, N0,
1329  ST_PYR, COLOR0, P6, P7, EK, EL, N0,
1330  ST_PYR, COLOR1, P4, EI, ED, P3, N0,
1331  ST_PYR, COLOR1, EK, EH, P4, P3, N0,
1332  ST_TET, COLOR1, P4, EE, EI, N0,
1333  ST_TET, COLOR1, EH, EE, P4, N0,
1334  ST_PYR, COLOR1, ED, EB, P2, P3, N0,
1335  ST_PYR, COLOR1, P3, P2, EL, EK, N0,
1336  ST_TET, COLOR1, EL, P2, EB, N0,
1337  // Case #29: (cloned #23)
1338  ST_PNT, 0, NOCOLOR, 6, EA, EB, EL, EK, EH, EE,
1339  ST_TET, COLOR0, P6, P5, P7, N0,
1340  ST_PYR, COLOR0, P6, P7, EK, EL, N0,
1341  ST_TET, COLOR0, P1, P5, P6, N0,
1342  ST_PYR, COLOR0, P1, P6, EL, EB, N0,
1343  ST_TET, COLOR0, EA, P1, EB, N0,
1344  ST_PYR, COLOR0, P1, EA, EE, P5, N0,
1345  ST_PYR, COLOR0, EE, EH, P7, P5, N0,
1346  ST_TET, COLOR0, P7, EH, EK, N0,
1347  ST_TET, COLOR1, P0, P2, P3, N0,
1348  ST_PYR, COLOR1, EA, EB, P2, P0, N0,
1349  ST_PYR, COLOR1, EA, P0, P4, EE, N0,
1350  ST_TET, COLOR1, P4, P0, P3, N0,
1351  ST_TET, COLOR1, P4, EH, EE, N0,
1352  ST_PYR, COLOR1, P4, P3, EK, EH, N0,
1353  ST_PYR, COLOR1, EK, P3, P2, EL, N0,
1354  ST_TET, COLOR1, EL, P2, EB, N0,
1355  // Case #30: Unique case #12
1356  ST_PNT, 0, NOCOLOR, 5, EL, EJ, EK, EH, EE,
1357  ST_TET, COLOR0, P0, EA, ED, EI,
1358  ST_PYR, COLOR0, P5, P6, EL, EJ, N0,
1359  ST_PYR, COLOR0, P6, P7, EK, EL, N0,
1360  ST_TET, COLOR0, P7, EH, EK, N0,
1361  ST_TET, COLOR0, P6, P5, P7, N0,
1362  ST_PYR, COLOR0, P7, P5, EE, EH, N0,
1363  ST_TET, COLOR0, P5, EJ, EE, N0,
1364  ST_WDG, COLOR1, ED, EA, EI, P3, P1, P4,
1365  ST_TET, COLOR1, P1, P3, P4, N0,
1366  ST_PYR, COLOR1, P3, EK, EH, P4, N0,
1367  ST_TET, COLOR1, P2, P3, P1, N0,
1368  ST_PYR, COLOR1, EJ, EL, P2, P1, N0,
1369  ST_PYR, COLOR1, EL, EK, P3, P2, N0,
1370  ST_PYR, COLOR1, P4, EE, EJ, P1, N0,
1371  ST_TET, COLOR1, EH, EE, P4, N0,
1372  // Case #31: Unique case #13
1373  ST_PNT, 0, NOCOLOR, 5, EJ, EL, EK, EE, EH,
1374  ST_PYR, COLOR0, P6, P7, EK, EL, N0,
1375  ST_TET, COLOR0, P7, EH, EK, N0,
1376  ST_PYR, COLOR0, P5, P6, EL, EJ, N0,
1377  ST_TET, COLOR0, EE, P5, EJ, N0,
1378  ST_PYR, COLOR0, EH, P7, P5, EE, N0,
1379  ST_TET, COLOR0, P7, P6, P5, N0,
1380  ST_PYR, COLOR1, P0, P1, P2, P3, N0,
1381  ST_TET, COLOR1, P3, P4, P0, N0,
1382  ST_TET, COLOR1, P4, P1, P0, N0,
1383  ST_PYR, COLOR1, P4, EE, EJ, P1, N0,
1384  ST_PYR, COLOR1, EJ, EL, P2, P1, N0,
1385  ST_PYR, COLOR1, EL, EK, P3, P2, N0,
1386  ST_PYR, COLOR1, EK, EH, P4, P3, N0,
1387  ST_TET, COLOR1, EE, P4, EH, N0,
1388  // Case #32: (cloned #1)
1389  ST_PNT, 0, COLOR0, 7, P6, P2, P1, P4, P7, P3, P0,
1390  ST_WDG, COLOR0, P6, P1, P4, EF, EJ, EE,
1391  ST_TET, COLOR0, P6, P1, P4, N0,
1392  ST_TET, COLOR0, P6, P2, P1, N0,
1393  ST_PYR, COLOR0, P3, P0, P1, P2, N0,
1394  ST_PYR, COLOR0, P7, P3, P2, P6, N0,
1395  ST_PYR, COLOR0, P4, P0, P3, P7, N0,
1396  ST_TET, COLOR0, P1, P0, P4, N0,
1397  ST_TET, COLOR0, P4, P7, P6, N0,
1398  ST_TET, COLOR1, P5, EF, EJ, EE,
1399  // Case #33: (cloned #5)
1400  ST_PNT, 0, NOCOLOR, 2, ED, EF,
1401  ST_PYR, COLOR0, P3, P2, P6, P7, N0,
1402  ST_TET, COLOR0, P2, P1, P6, N0,
1403  ST_TET, COLOR0, P3, P1, P2, N0,
1404  ST_TET, COLOR0, P4, P3, P7, N0,
1405  ST_TET, COLOR0, P6, P4, P7, N0,
1406  ST_PYR, COLOR0, P6, EF, EE, P4, N0,
1407  ST_PYR, COLOR0, P1, EJ, EF, P6, N0,
1408  ST_TET, COLOR0, P1, EA, EJ, N0,
1409  ST_PYR, COLOR0, P3, ED, EA, P1, N0,
1410  ST_PYR, COLOR0, P3, P4, EI, ED, N0,
1411  ST_TET, COLOR0, P4, EE, EI, N0,
1412  ST_PYR, COLOR1, P0, EI, EE, P5, N0,
1413  ST_PYR, COLOR1, EA, P0, P5, EJ, N0,
1414  ST_TET, COLOR1, EJ, P5, EF, N0,
1415  ST_TET, COLOR1, P5, EE, EF, N0,
1416  ST_TET, COLOR1, EA, P0, N0, ED,
1417  ST_TET, COLOR1, EI, P0, ED, N0,
1418  // Case #34: (cloned #3)
1419  ST_HEX, COLOR0, EF, P6, P2, EB, EE, P4, P0, EA,
1420  ST_WDG, COLOR0, P0, P3, P2, P4, P7, P6,
1421  ST_WDG, COLOR1, P1, EA, EB, P5, EE, EF,
1422  // Case #35: (cloned #7)
1423  ST_PNT, 0, NOCOLOR, 5, ED, EB, EI, EE, EF,
1424  ST_PYR, COLOR0, P3, P2, P6, P7, N0,
1425  ST_TET, COLOR0, P6, N0, P4, P7,
1426  ST_PYR, COLOR0, P2, EB, EF, P6, N0,
1427  ST_PYR, COLOR0, ED, EB, P2, P3, N0,
1428  ST_TET, COLOR0, P4, P3, P7, N0,
1429  ST_PYR, COLOR0, P4, EI, ED, P3, N0,
1430  ST_TET, COLOR0, P4, EE, EI, N0,
1431  ST_PYR, COLOR0, EF, EE, P4, P6, N0,
1432  ST_PYR, COLOR1, EB, P1, P5, EF, N0,
1433  ST_PYR, COLOR1, ED, P0, P1, EB, N0,
1434  ST_TET, COLOR1, EI, P0, ED, N0,
1435  ST_TET, COLOR1, P0, P5, P1, N0,
1436  ST_PYR, COLOR1, EI, EE, P5, P0, N0,
1437  ST_TET, COLOR1, P5, EE, EF, N0,
1438  // Case #36: (cloned #5)
1439  ST_PNT, 0, NOCOLOR, 2, EC, EE,
1440  ST_PYR, COLOR0, P3, P7, P4, P0, N0,
1441  ST_TET, COLOR0, P7, P6, P4, N0,
1442  ST_TET, COLOR0, P3, P6, P7, N0,
1443  ST_TET, COLOR0, P1, P3, P0, N0,
1444  ST_TET, COLOR0, P4, P1, P0, N0,
1445  ST_PYR, COLOR0, P4, EE, EJ, P1, N0,
1446  ST_PYR, COLOR0, P6, EF, EE, P4, N0,
1447  ST_TET, COLOR0, P6, EL, EF, N0,
1448  ST_PYR, COLOR0, P3, EC, EL, P6, N0,
1449  ST_PYR, COLOR0, P3, P1, EB, EC, N0,
1450  ST_TET, COLOR0, P1, EJ, EB, N0,
1451  ST_PYR, COLOR1, P2, EB, EJ, P5, N0,
1452  ST_PYR, COLOR1, EL, P2, P5, EF, N0,
1453  ST_TET, COLOR1, EF, P5, EE, N0,
1454  ST_TET, COLOR1, P5, EJ, EE, N0,
1455  ST_TET, COLOR1, EL, P2, N0, EC,
1456  ST_TET, COLOR1, EB, P2, EC, N0,
1457  // Case #37: (cloned #26)
1458  ST_TET, COLOR0, P1, EA, EJ, EB,
1459  ST_TET, COLOR0, P6, P7, P3, P4,
1460  ST_PYR, COLOR0, EI, ED, P3, P4, EC,
1461  ST_PYR, COLOR0, EE, P4, P6, EF, EL,
1462  ST_PYR, COLOR0, P3, EC, EL, P6, P4,
1463  ST_PYR, COLOR0, EC, EI, EE, EL, P4,
1464  ST_WDG, COLOR1, P0, P5, P2, EA, EJ, EB,
1465  ST_PYR, COLOR1, P0, P2, EC, ED, EI,
1466  ST_PYR, COLOR1, EL, P2, P5, EF, EE,
1467  ST_PYR, COLOR1, EI, EE, P5, P0, P2,
1468  ST_PYR, COLOR1, EI, EC, EL, EE, P2,
1469  // Case #38: (cloned #7)
1470  ST_PNT, 0, NOCOLOR, 5, EE, EA, EF, EL, EC,
1471  ST_PYR, COLOR0, P4, P0, P3, P7, N0,
1472  ST_TET, COLOR0, P3, N0, P6, P7,
1473  ST_PYR, COLOR0, P0, EA, EC, P3, N0,
1474  ST_PYR, COLOR0, EE, EA, P0, P4, N0,
1475  ST_TET, COLOR0, P6, P4, P7, N0,
1476  ST_PYR, COLOR0, P6, EF, EE, P4, N0,
1477  ST_TET, COLOR0, P6, EL, EF, N0,
1478  ST_PYR, COLOR0, EC, EL, P6, P3, N0,
1479  ST_PYR, COLOR1, EA, P1, P2, EC, N0,
1480  ST_PYR, COLOR1, EE, P5, P1, EA, N0,
1481  ST_TET, COLOR1, EF, P5, EE, N0,
1482  ST_TET, COLOR1, P5, P2, P1, N0,
1483  ST_PYR, COLOR1, EF, EL, P2, P5, N0,
1484  ST_TET, COLOR1, P2, EL, EC, N0,
1485  // Case #39: (cloned #27)
1486  ST_TET, COLOR0, P6, P7, P3, P4,
1487  ST_PYR, COLOR0, EI, ED, P3, P4, EC,
1488  ST_PYR, COLOR0, EE, P4, P6, EF, EL,
1489  ST_PYR, COLOR0, P3, EC, EL, P6, P4,
1490  ST_PYR, COLOR0, EC, EI, EE, EL, P4,
1491  ST_TET, COLOR1, P1, P0, P5, P2,
1492  ST_PYR, COLOR1, EC, ED, P0, P2, EI,
1493  ST_PYR, COLOR1, EL, P2, P5, EF, EE,
1494  ST_PYR, COLOR1, P0, EI, EE, P5, P2,
1495  ST_PYR, COLOR1, EC, EL, EE, EI, P2,
1496  // Case #40: (cloned #20)
1497  ST_WDG, COLOR0, P1, P4, P6, EJ, EE, EF,
1498  ST_WDG, COLOR0, ED, EK, EC, P0, P7, P2,
1499  ST_TET, COLOR0, P4, P6, P1, P7,
1500  ST_TET, COLOR0, P2, P6, P7, P1,
1501  ST_TET, COLOR0, P0, P1, P2, P7,
1502  ST_TET, COLOR0, P4, P0, P7, P1,
1503  ST_TET, COLOR1, P3, ED, EC, EK,
1504  ST_TET, COLOR1, P5, EJ, EE, EF,
1505  // Case #41: (cloned #21)
1506  ST_PNT, 0, NOCOLOR, 4, EC, EK, EF, EF,
1507  ST_PYR, COLOR0, P6, EF, EE, P4, N0,
1508  ST_TET, COLOR0, EE, EI, P4, N0,
1509  ST_PYR, COLOR0, P7, P4, EI, EK, N0,
1510  ST_TET, COLOR0, P6, P4, P7, N0,
1511  ST_TET, COLOR0, P1, EA, EJ, N0,
1512  ST_TET, COLOR0, P2, P1, P6, N0,
1513  ST_PYR, COLOR0, P1, EJ, EF, P6, N0,
1514  ST_TET, COLOR0, P2, P6, P7, N0,
1515  ST_PYR, COLOR0, P2, P7, EK, EC, N0,
1516  ST_PYR, COLOR0, P2, EC, EA, P1, N0,
1517  ST_PYR, COLOR1, P5, P0, EI, EE, N0,
1518  ST_PYR, COLOR1, EA, P0, P5, EJ, N0,
1519  ST_TET, COLOR1, P5, EE, EF, N0,
1520  ST_TET, COLOR1, EJ, P5, EF, N0,
1521  ST_PYR, COLOR1, EI, P0, P3, EK, N0,
1522  ST_PYR, COLOR1, P0, EA, EC, P3, N0,
1523  ST_TET, COLOR1, EC, EK, P3, N0,
1524  // Case #42: (cloned #21)
1525  ST_PNT, 0, NOCOLOR, 4, EF, EE, EK, EK,
1526  ST_PYR, COLOR0, P7, P0, ED, EK, N0,
1527  ST_TET, COLOR0, ED, P0, EA, N0,
1528  ST_PYR, COLOR0, P4, EE, EA, P0, N0,
1529  ST_TET, COLOR0, P7, P4, P0, N0,
1530  ST_TET, COLOR0, P2, EC, EB, N0,
1531  ST_TET, COLOR0, P6, P7, P2, N0,
1532  ST_PYR, COLOR0, P2, P7, EK, EC, N0,
1533  ST_TET, COLOR0, P6, P4, P7, N0,
1534  ST_PYR, COLOR0, P6, EF, EE, P4, N0,
1535  ST_PYR, COLOR0, P6, P2, EB, EF, N0,
1536  ST_PYR, COLOR1, P3, ED, EA, P1, N0,
1537  ST_PYR, COLOR1, EB, EC, P3, P1, N0,
1538  ST_TET, COLOR1, P3, EK, ED, N0,
1539  ST_TET, COLOR1, EC, EK, P3, N0,
1540  ST_PYR, COLOR1, EA, EE, P5, P1, N0,
1541  ST_PYR, COLOR1, P1, P5, EF, EB, N0,
1542  ST_TET, COLOR1, EF, P5, EE, N0,
1543  // Case #43: (cloned #23)
1544  ST_PNT, 0, NOCOLOR, 6, EI, EE, EF, EB, EC, EK,
1545  ST_TET, COLOR0, P6, P7, P2, N0,
1546  ST_PYR, COLOR0, P6, P2, EB, EF, N0,
1547  ST_TET, COLOR0, P4, P7, P6, N0,
1548  ST_PYR, COLOR0, P4, P6, EF, EE, N0,
1549  ST_TET, COLOR0, EI, P4, EE, N0,
1550  ST_PYR, COLOR0, P4, EI, EK, P7, N0,
1551  ST_PYR, COLOR0, EK, EC, P2, P7, N0,
1552  ST_TET, COLOR0, P2, EC, EB, N0,
1553  ST_TET, COLOR1, P0, P5, P1, N0,
1554  ST_PYR, COLOR1, EI, EE, P5, P0, N0,
1555  ST_PYR, COLOR1, EI, P0, P3, EK, N0,
1556  ST_TET, COLOR1, P3, P0, P1, N0,
1557  ST_TET, COLOR1, P3, EC, EK, N0,
1558  ST_PYR, COLOR1, P3, P1, EB, EC, N0,
1559  ST_PYR, COLOR1, EB, P1, P5, EF, N0,
1560  ST_TET, COLOR1, EF, P5, EE, N0,
1561  // Case #44: (cloned #21)
1562  ST_PNT, 0, NOCOLOR, 4, EK, ED, EE, EE,
1563  ST_PYR, COLOR0, P4, EE, EJ, P1, N0,
1564  ST_TET, COLOR0, EJ, EB, P1, N0,
1565  ST_PYR, COLOR0, P0, P1, EB, ED, N0,
1566  ST_TET, COLOR0, P4, P1, P0, N0,
1567  ST_TET, COLOR0, P6, EL, EF, N0,
1568  ST_TET, COLOR0, P7, P6, P4, N0,
1569  ST_PYR, COLOR0, P6, EF, EE, P4, N0,
1570  ST_TET, COLOR0, P7, P4, P0, N0,
1571  ST_PYR, COLOR0, P7, P0, ED, EK, N0,
1572  ST_PYR, COLOR0, P7, EK, EL, P6, N0,
1573  ST_PYR, COLOR1, P5, P2, EB, EJ, N0,
1574  ST_PYR, COLOR1, EL, P2, P5, EF, N0,
1575  ST_TET, COLOR1, P5, EJ, EE, N0,
1576  ST_TET, COLOR1, EF, P5, EE, N0,
1577  ST_PYR, COLOR1, EB, P2, P3, ED, N0,
1578  ST_PYR, COLOR1, P2, EL, EK, P3, N0,
1579  ST_TET, COLOR1, EK, ED, P3, N0,
1580  // Case #45: (cloned #30)
1581  ST_PNT, 0, NOCOLOR, 5, EK, EL, EI, EE, EF,
1582  ST_TET, COLOR0, P1, EB, EA, EJ,
1583  ST_PYR, COLOR0, P6, P7, EK, EL, N0,
1584  ST_PYR, COLOR0, P7, P4, EI, EK, N0,
1585  ST_TET, COLOR0, P4, EE, EI, N0,
1586  ST_TET, COLOR0, P7, P6, P4, N0,
1587  ST_PYR, COLOR0, P4, P6, EF, EE, N0,
1588  ST_TET, COLOR0, P6, EL, EF, N0,
1589  ST_WDG, COLOR1, EA, EB, EJ, P0, P2, P5,
1590  ST_TET, COLOR1, P2, P0, P5, N0,
1591  ST_PYR, COLOR1, P0, EI, EE, P5, N0,
1592  ST_TET, COLOR1, P3, P0, P2, N0,
1593  ST_PYR, COLOR1, EL, EK, P3, P2, N0,
1594  ST_PYR, COLOR1, EK, EI, P0, P3, N0,
1595  ST_PYR, COLOR1, P5, EF, EL, P2, N0,
1596  ST_TET, COLOR1, EE, EF, P5, N0,
1597  // Case #46: (cloned #23)
1598  ST_PNT, 0, NOCOLOR, 6, EA, ED, EK, EL, EF, EE,
1599  ST_TET, COLOR0, P7, P6, P4, N0,
1600  ST_PYR, COLOR0, P7, EK, EL, P6, N0,
1601  ST_TET, COLOR0, P0, P7, P4, N0,
1602  ST_PYR, COLOR0, P0, ED, EK, P7, N0,
1603  ST_TET, COLOR0, EA, ED, P0, N0,
1604  ST_PYR, COLOR0, P0, P4, EE, EA, N0,
1605  ST_PYR, COLOR0, EE, P4, P6, EF, N0,
1606  ST_TET, COLOR0, P6, EL, EF, N0,
1607  ST_TET, COLOR1, P1, P2, P3, N0,
1608  ST_PYR, COLOR1, EA, P1, P3, ED, N0,
1609  ST_PYR, COLOR1, EA, EE, P5, P1, N0,
1610  ST_TET, COLOR1, P5, P2, P1, N0,
1611  ST_TET, COLOR1, P5, EE, EF, N0,
1612  ST_PYR, COLOR1, P5, EF, EL, P2, N0,
1613  ST_PYR, COLOR1, EL, EK, P3, P2, N0,
1614  ST_TET, COLOR1, EK, ED, P3, N0,
1615  // Case #47: (cloned #31)
1616  ST_PNT, 0, NOCOLOR, 5, EL, EK, EI, EF, EE,
1617  ST_PYR, COLOR0, P7, P4, EI, EK, N0,
1618  ST_TET, COLOR0, P4, EE, EI, N0,
1619  ST_PYR, COLOR0, P6, P7, EK, EL, N0,
1620  ST_TET, COLOR0, EF, P6, EL, N0,
1621  ST_PYR, COLOR0, EE, P4, P6, EF, N0,
1622  ST_TET, COLOR0, P4, P7, P6, N0,
1623  ST_PYR, COLOR1, P1, P2, P3, P0, N0,
1624  ST_TET, COLOR1, P0, P5, P1, N0,
1625  ST_TET, COLOR1, P5, P2, P1, N0,
1626  ST_PYR, COLOR1, P5, EF, EL, P2, N0,
1627  ST_PYR, COLOR1, EL, EK, P3, P2, N0,
1628  ST_PYR, COLOR1, EK, EI, P0, P3, N0,
1629  ST_PYR, COLOR1, EI, EE, P5, P0, N0,
1630  ST_TET, COLOR1, EF, P5, EE, N0,
1631  // Case #48: (cloned #3)
1632  ST_HEX, COLOR0, EJ, P1, P0, EI, EF, P6, P7, EH,
1633  ST_WDG, COLOR0, P1, P2, P6, P0, P3, P7,
1634  ST_WDG, COLOR1, P5, EJ, EF, P4, EI, EH,
1635  // Case #49: (cloned #7)
1636  ST_PNT, 0, NOCOLOR, 5, ED, EH, EA, EJ, EF,
1637  ST_PYR, COLOR0, P3, P2, P6, P7, N0,
1638  ST_TET, COLOR0, P6, P1, N0, P2,
1639  ST_PYR, COLOR0, P7, P6, EF, EH, N0,
1640  ST_PYR, COLOR0, ED, P3, P7, EH, N0,
1641  ST_TET, COLOR0, P1, P2, P3, N0,
1642  ST_PYR, COLOR0, P1, P3, ED, EA, N0,
1643  ST_TET, COLOR0, P1, EA, EJ, N0,
1644  ST_PYR, COLOR0, EF, P6, P1, EJ, N0,
1645  ST_PYR, COLOR1, EH, EF, P5, P4, N0,
1646  ST_PYR, COLOR1, ED, EH, P4, P0, N0,
1647  ST_TET, COLOR1, EA, ED, P0, N0,
1648  ST_TET, COLOR1, P0, P4, P5, N0,
1649  ST_PYR, COLOR1, EA, P0, P5, EJ, N0,
1650  ST_TET, COLOR1, P5, EF, EJ, N0,
1651  // Case #50: (cloned #7)
1652  ST_PNT, 0, NOCOLOR, 5, EH, EF, EI, EA, EB,
1653  ST_PYR, COLOR0, P7, P3, P2, P6, N0,
1654  ST_TET, COLOR0, P2, P0, N0, P3,
1655  ST_PYR, COLOR0, P6, P2, EB, EF, N0,
1656  ST_PYR, COLOR0, EH, P7, P6, EF, N0,
1657  ST_TET, COLOR0, P0, P3, P7, N0,
1658  ST_PYR, COLOR0, P0, P7, EH, EI, N0,
1659  ST_TET, COLOR0, P0, EI, EA, N0,
1660  ST_PYR, COLOR0, EB, P2, P0, EA, N0,
1661  ST_PYR, COLOR1, EF, EB, P1, P5, N0,
1662  ST_PYR, COLOR1, EH, EF, P5, P4, N0,
1663  ST_TET, COLOR1, EI, EH, P4, N0,
1664  ST_TET, COLOR1, P4, P5, P1, N0,
1665  ST_PYR, COLOR1, EI, P4, P1, EA, N0,
1666  ST_TET, COLOR1, P1, EB, EA, N0,
1667  // Case #51: (cloned #15)
1668  ST_HEX, COLOR0, P3, P2, P6, P7, ED, EB, EF, EH,
1669  ST_HEX, COLOR1, ED, EB, EF, EH, P0, P1, P5, P4,
1670  // Case #52: (cloned #21)
1671  ST_PNT, 0, NOCOLOR, 4, EH, EI, EC, EC,
1672  ST_PYR, COLOR0, P3, P1, EB, EC, N0,
1673  ST_TET, COLOR0, EB, P1, EJ, N0,
1674  ST_PYR, COLOR0, P0, EI, EJ, P1, N0,
1675  ST_TET, COLOR0, P3, P0, P1, N0,
1676  ST_TET, COLOR0, P6, EL, EF, N0,
1677  ST_TET, COLOR0, P7, P3, P6, N0,
1678  ST_PYR, COLOR0, P6, P3, EC, EL, N0,
1679  ST_TET, COLOR0, P7, P0, P3, N0,
1680  ST_PYR, COLOR0, P7, EH, EI, P0, N0,
1681  ST_PYR, COLOR0, P7, P6, EF, EH, N0,
1682  ST_PYR, COLOR1, P2, EB, EJ, P5, N0,
1683  ST_PYR, COLOR1, EF, EL, P2, P5, N0,
1684  ST_TET, COLOR1, P2, EC, EB, N0,
1685  ST_TET, COLOR1, EL, EC, P2, N0,
1686  ST_PYR, COLOR1, EJ, EI, P4, P5, N0,
1687  ST_PYR, COLOR1, P5, P4, EH, EF, N0,
1688  ST_TET, COLOR1, EH, P4, EI, N0,
1689  // Case #53: (cloned #30)
1690  ST_PNT, 0, NOCOLOR, 5, EH, EF, ED, EC, EL,
1691  ST_TET, COLOR0, P1, EA, EJ, EB,
1692  ST_PYR, COLOR0, P6, EF, EH, P7, N0,
1693  ST_PYR, COLOR0, P7, EH, ED, P3, N0,
1694  ST_TET, COLOR0, P3, ED, EC, N0,
1695  ST_TET, COLOR0, P7, P3, P6, N0,
1696  ST_PYR, COLOR0, P3, EC, EL, P6, N0,
1697  ST_TET, COLOR0, P6, EL, EF, N0,
1698  ST_WDG, COLOR1, P0, P5, P2, EA, EJ, EB,
1699  ST_TET, COLOR1, P5, P2, P0, N0,
1700  ST_PYR, COLOR1, P0, P2, EC, ED, N0,
1701  ST_TET, COLOR1, P4, P5, P0, N0,
1702  ST_PYR, COLOR1, EF, P5, P4, EH, N0,
1703  ST_PYR, COLOR1, EH, P4, P0, ED, N0,
1704  ST_PYR, COLOR1, P2, P5, EF, EL, N0,
1705  ST_TET, COLOR1, EC, P2, EL, N0,
1706  // Case #54: (cloned #23)
1707  ST_PNT, 0, NOCOLOR, 6, EA, EI, EH, EF, EL, EC,
1708  ST_TET, COLOR0, P7, P3, P6, N0,
1709  ST_PYR, COLOR0, P7, P6, EF, EH, N0,
1710  ST_TET, COLOR0, P0, P3, P7, N0,
1711  ST_PYR, COLOR0, P0, P7, EH, EI, N0,
1712  ST_TET, COLOR0, EA, P0, EI, N0,
1713  ST_PYR, COLOR0, P0, EA, EC, P3, N0,
1714  ST_PYR, COLOR0, EC, EL, P6, P3, N0,
1715  ST_TET, COLOR0, P6, EL, EF, N0,
1716  ST_TET, COLOR1, P1, P4, P5, N0,
1717  ST_PYR, COLOR1, EA, EI, P4, P1, N0,
1718  ST_PYR, COLOR1, EA, P1, P2, EC, N0,
1719  ST_TET, COLOR1, P2, P1, P5, N0,
1720  ST_TET, COLOR1, P2, EL, EC, N0,
1721  ST_PYR, COLOR1, P2, P5, EF, EL, N0,
1722  ST_PYR, COLOR1, EF, P5, P4, EH, N0,
1723  ST_TET, COLOR1, EH, P4, EI, N0,
1724  // Case #55: (cloned #31)
1725  ST_PNT, 0, NOCOLOR, 5, EF, EH, ED, EL, EC,
1726  ST_PYR, COLOR0, P7, EH, ED, P3, N0,
1727  ST_TET, COLOR0, P3, ED, EC, N0,
1728  ST_PYR, COLOR0, P6, EF, EH, P7, N0,
1729  ST_TET, COLOR0, EL, EF, P6, N0,
1730  ST_PYR, COLOR0, EC, EL, P6, P3, N0,
1731  ST_TET, COLOR0, P3, P6, P7, N0,
1732  ST_PYR, COLOR1, P1, P0, P4, P5, N0,
1733  ST_TET, COLOR1, P0, P1, P2, N0,
1734  ST_TET, COLOR1, P2, P1, P5, N0,
1735  ST_PYR, COLOR1, P2, P5, EF, EL, N0,
1736  ST_PYR, COLOR1, EF, P5, P4, EH, N0,
1737  ST_PYR, COLOR1, EH, P4, P0, ED, N0,
1738  ST_PYR, COLOR1, ED, P0, P2, EC, N0,
1739  ST_TET, COLOR1, EL, EC, P2, N0,
1740  // Case #56: (cloned #21)
1741  ST_PNT, 0, NOCOLOR, 4, EF, EJ, EC, EC,
1742  ST_PYR, COLOR0, P2, EC, ED, P0, N0,
1743  ST_TET, COLOR0, ED, EI, P0, N0,
1744  ST_PYR, COLOR0, P1, P0, EI, EJ, N0,
1745  ST_TET, COLOR0, P2, P0, P1, N0,
1746  ST_TET, COLOR0, P7, EH, EK, N0,
1747  ST_TET, COLOR0, P6, P7, P2, N0,
1748  ST_PYR, COLOR0, P7, EK, EC, P2, N0,
1749  ST_TET, COLOR0, P6, P2, P1, N0,
1750  ST_PYR, COLOR0, P6, P1, EJ, EF, N0,
1751  ST_PYR, COLOR0, P6, EF, EH, P7, N0,
1752  ST_PYR, COLOR1, P3, P4, EI, ED, N0,
1753  ST_PYR, COLOR1, EH, P4, P3, EK, N0,
1754  ST_TET, COLOR1, P3, ED, EC, N0,
1755  ST_TET, COLOR1, EK, P3, EC, N0,
1756  ST_PYR, COLOR1, EI, P4, P5, EJ, N0,
1757  ST_PYR, COLOR1, P4, EH, EF, P5, N0,
1758  ST_TET, COLOR1, EF, EJ, P5, N0,
1759  // Case #57: (cloned #23)
1760  ST_PNT, 0, NOCOLOR, 6, EA, EJ, EF, EH, EK, EC,
1761  ST_TET, COLOR0, P6, P7, P2, N0,
1762  ST_PYR, COLOR0, P6, EF, EH, P7, N0,
1763  ST_TET, COLOR0, P1, P6, P2, N0,
1764  ST_PYR, COLOR0, P1, EJ, EF, P6, N0,
1765  ST_TET, COLOR0, EA, EJ, P1, N0,
1766  ST_PYR, COLOR0, P1, P2, EC, EA, N0,
1767  ST_PYR, COLOR0, EC, P2, P7, EK, N0,
1768  ST_TET, COLOR0, P7, EH, EK, N0,
1769  ST_TET, COLOR1, P0, P4, P5, N0,
1770  ST_PYR, COLOR1, EA, P0, P5, EJ, N0,
1771  ST_PYR, COLOR1, EA, EC, P3, P0, N0,
1772  ST_TET, COLOR1, P3, P4, P0, N0,
1773  ST_TET, COLOR1, P3, EC, EK, N0,
1774  ST_PYR, COLOR1, P3, EK, EH, P4, N0,
1775  ST_PYR, COLOR1, EH, EF, P5, P4, N0,
1776  ST_TET, COLOR1, EF, EJ, P5, N0,
1777  // Case #58: (cloned #30)
1778  ST_PNT, 0, NOCOLOR, 5, EF, EB, EH, EK, EC,
1779  ST_TET, COLOR0, P0, EI, EA, ED,
1780  ST_PYR, COLOR0, P2, EB, EF, P6, N0,
1781  ST_PYR, COLOR0, P6, EF, EH, P7, N0,
1782  ST_TET, COLOR0, P7, EH, EK, N0,
1783  ST_TET, COLOR0, P6, P7, P2, N0,
1784  ST_PYR, COLOR0, P7, EK, EC, P2, N0,
1785  ST_TET, COLOR0, P2, EC, EB, N0,
1786  ST_WDG, COLOR1, P4, P1, P3, EI, EA, ED,
1787  ST_TET, COLOR1, P1, P3, P4, N0,
1788  ST_PYR, COLOR1, P4, P3, EK, EH, N0,
1789  ST_TET, COLOR1, P5, P1, P4, N0,
1790  ST_PYR, COLOR1, EB, P1, P5, EF, N0,
1791  ST_PYR, COLOR1, EF, P5, P4, EH, N0,
1792  ST_PYR, COLOR1, P3, P1, EB, EC, N0,
1793  ST_TET, COLOR1, EK, P3, EC, N0,
1794  // Case #59: (cloned #31)
1795  ST_PNT, 0, NOCOLOR, 5, EB, EF, EH, EC, EK,
1796  ST_PYR, COLOR0, P6, EF, EH, P7, N0,
1797  ST_TET, COLOR0, P7, EH, EK, N0,
1798  ST_PYR, COLOR0, P2, EB, EF, P6, N0,
1799  ST_TET, COLOR0, EC, EB, P2, N0,
1800  ST_PYR, COLOR0, EK, EC, P2, P7, N0,
1801  ST_TET, COLOR0, P7, P2, P6, N0,
1802  ST_PYR, COLOR1, P0, P4, P5, P1, N0,
1803  ST_TET, COLOR1, P4, P0, P3, N0,
1804  ST_TET, COLOR1, P3, P0, P1, N0,
1805  ST_PYR, COLOR1, P3, P1, EB, EC, N0,
1806  ST_PYR, COLOR1, EB, P1, P5, EF, N0,
1807  ST_PYR, COLOR1, EF, P5, P4, EH, N0,
1808  ST_PYR, COLOR1, EH, P4, P3, EK, N0,
1809  ST_TET, COLOR1, EC, EK, P3, N0,
1810  // Case #60: Unique case #14
1811  ST_WDG, COLOR0, P1, EB, EJ, P0, ED, EI,
1812  ST_WDG, COLOR0, P6, EF, EL, P7, EH, EK,
1813  ST_HEX, COLOR1, P3, P4, P5, P2, EK, EH, EF, EL,
1814  ST_HEX, COLOR1, ED, EI, EJ, EB, P3, P4, P5, P2,
1815  // Case #61: Unique case #15
1816  ST_PNT, 0, COLOR1, 6, P0, P2, P3, P4, EF, EH,
1817  ST_WDG, COLOR0, EH, P7, EK, EF, P6, EL,
1818  ST_TET, COLOR0, EA, P1, EB, EJ,
1819  ST_WDG, COLOR1, P0, P5, P2, EA, EJ, EB,
1820  ST_PYR, COLOR1, EH, EF, P5, P4, N0,
1821  ST_TET, COLOR1, P4, P5, P0, N0,
1822  ST_TET, COLOR1, P4, P0, P3, N0,
1823  ST_PYR, COLOR1, EK, EH, P4, P3, N0,
1824  ST_PYR, COLOR1, EL, EK, P3, P2, N0,
1825  ST_TET, COLOR1, P3, P0, P2, N0,
1826  ST_PYR, COLOR1, EF, EH, EK, EL, N0,
1827  ST_TET, COLOR1, P2, P0, P5, N0,
1828  ST_PYR, COLOR1, EF, EL, P2, P5, N0,
1829  // Case #62: (cloned #61)
1830  ST_PNT, 0, COLOR1, 6, P1, P3, P2, P5, EH, EF,
1831  ST_WDG, COLOR0, EH, P7, EK, EF, P6, EL,
1832  ST_TET, COLOR0, EA, ED, P0, EI,
1833  ST_WDG, COLOR1, EA, EI, ED, P1, P4, P3,
1834  ST_PYR, COLOR1, EF, P5, P4, EH, N0,
1835  ST_TET, COLOR1, P5, P1, P4, N0,
1836  ST_TET, COLOR1, P5, P2, P1, N0,
1837  ST_PYR, COLOR1, EL, P2, P5, EF, N0,
1838  ST_PYR, COLOR1, EK, P3, P2, EL, N0,
1839  ST_TET, COLOR1, P2, P3, P1, N0,
1840  ST_PYR, COLOR1, EH, EK, EL, EF, N0,
1841  ST_TET, COLOR1, P3, P4, P1, N0,
1842  ST_PYR, COLOR1, EH, P4, P3, EK, N0,
1843  // Case #63: Unique case #16
1844  ST_WDG, COLOR0, P7, EK, EH, P6, EL, EF,
1845  ST_HEX, COLOR1, P3, P4, P5, P2, EK, EH, EF, EL,
1846  ST_WDG, COLOR1, P1, P2, P5, P0, P3, P4,
1847  // Case #64: (cloned #1)
1848  ST_PNT, 0, COLOR0, 7, P7, P4, P5, P2, P3, P0, P1,
1849  ST_WDG, COLOR0, EG, EF, EL, P7, P5, P2,
1850  ST_TET, COLOR0, P7, P2, P5, N0,
1851  ST_TET, COLOR0, P7, P5, P4, N0,
1852  ST_PYR, COLOR0, P0, P4, P5, P1, N0,
1853  ST_PYR, COLOR0, P3, P7, P4, P0, N0,
1854  ST_PYR, COLOR0, P2, P3, P0, P1, N0,
1855  ST_TET, COLOR0, P5, P2, P1, N0,
1856  ST_TET, COLOR0, P2, P7, P3, N0,
1857  ST_TET, COLOR1, P6, EF, EG, EL,
1858  // Case #65: (cloned #20)
1859  ST_WDG, COLOR0, P5, P7, P2, EF, EG, EL,
1860  ST_WDG, COLOR0, EI, ED, EA, P4, P3, P1,
1861  ST_TET, COLOR0, P7, P2, P5, P3,
1862  ST_TET, COLOR0, P1, P2, P3, P5,
1863  ST_TET, COLOR0, P4, P5, P1, P3,
1864  ST_TET, COLOR0, P7, P4, P3, P5,
1865  ST_TET, COLOR1, P0, EI, EA, ED,
1866  ST_TET, COLOR1, P6, EF, EG, EL,
1867  // Case #66: (cloned #5)
1868  ST_PNT, 0, NOCOLOR, 2, EA, EG,
1869  ST_PYR, COLOR0, P0, P3, P7, P4, N0,
1870  ST_TET, COLOR0, P4, P7, P5, N0,
1871  ST_TET, COLOR0, P0, P4, P5, N0,
1872  ST_TET, COLOR0, P2, P3, P0, N0,
1873  ST_TET, COLOR0, P7, P3, P2, N0,
1874  ST_PYR, COLOR0, P7, P2, EL, EG, N0,
1875  ST_PYR, COLOR0, P5, P7, EG, EF, N0,
1876  ST_TET, COLOR0, P5, EF, EJ, N0,
1877  ST_PYR, COLOR0, P0, P5, EJ, EA, N0,
1878  ST_PYR, COLOR0, P0, EA, EB, P2, N0,
1879  ST_TET, COLOR0, P2, EB, EL, N0,
1880  ST_PYR, COLOR1, P1, P6, EL, EB, N0,
1881  ST_PYR, COLOR1, EJ, EF, P6, P1, N0,
1882  ST_TET, COLOR1, EF, EG, P6, N0,
1883  ST_TET, COLOR1, P6, EG, EL, N0,
1884  ST_TET, COLOR1, EJ, N0, P1, EA,
1885  ST_TET, COLOR1, EB, EA, P1, N0,
1886  // Case #67: (cloned #21)
1887  ST_PNT, 0, NOCOLOR, 4, EI, ED, EG, EG,
1888  ST_PYR, COLOR0, P7, P2, EL, EG, N0,
1889  ST_TET, COLOR0, EL, P2, EB, N0,
1890  ST_PYR, COLOR0, P3, ED, EB, P2, N0,
1891  ST_TET, COLOR0, P7, P3, P2, N0,
1892  ST_TET, COLOR0, P5, EF, EJ, N0,
1893  ST_TET, COLOR0, P4, P7, P5, N0,
1894  ST_PYR, COLOR0, P5, P7, EG, EF, N0,
1895  ST_TET, COLOR0, P4, P3, P7, N0,
1896  ST_PYR, COLOR0, P4, EI, ED, P3, N0,
1897  ST_PYR, COLOR0, P4, P5, EJ, EI, N0,
1898  ST_PYR, COLOR1, P6, EL, EB, P1, N0,
1899  ST_PYR, COLOR1, EJ, EF, P6, P1, N0,
1900  ST_TET, COLOR1, P6, EG, EL, N0,
1901  ST_TET, COLOR1, EF, EG, P6, N0,
1902  ST_PYR, COLOR1, EB, ED, P0, P1, N0,
1903  ST_PYR, COLOR1, P1, P0, EI, EJ, N0,
1904  ST_TET, COLOR1, EI, P0, ED, N0,
1905  // Case #68: (cloned #3)
1906  ST_HEX, COLOR0, EG, P7, P3, EC, EF, P5, P1, EB,
1907  ST_WDG, COLOR0, P1, P0, P3, P5, P4, P7,
1908  ST_WDG, COLOR1, P2, EB, EC, P6, EF, EG,
1909  // Case #69: (cloned #21)
1910  ST_PNT, 0, NOCOLOR, 4, EG, EF, EI, EI,
1911  ST_PYR, COLOR0, P4, P1, EA, EI, N0,
1912  ST_TET, COLOR0, EA, P1, EB, N0,
1913  ST_PYR, COLOR0, P5, EF, EB, P1, N0,
1914  ST_TET, COLOR0, P4, P5, P1, N0,
1915  ST_TET, COLOR0, P3, ED, EC, N0,
1916  ST_TET, COLOR0, P7, P4, P3, N0,
1917  ST_PYR, COLOR0, P3, P4, EI, ED, N0,
1918  ST_TET, COLOR0, P7, P5, P4, N0,
1919  ST_PYR, COLOR0, P7, EG, EF, P5, N0,
1920  ST_PYR, COLOR0, P7, P3, EC, EG, N0,
1921  ST_PYR, COLOR1, P0, EA, EB, P2, N0,
1922  ST_PYR, COLOR1, EC, ED, P0, P2, N0,
1923  ST_TET, COLOR1, P0, EI, EA, N0,
1924  ST_TET, COLOR1, ED, EI, P0, N0,
1925  ST_PYR, COLOR1, EB, EF, P6, P2, N0,
1926  ST_PYR, COLOR1, P2, P6, EG, EC, N0,
1927  ST_TET, COLOR1, EG, P6, EF, N0,
1928  // Case #70: (cloned #7)
1929  ST_PNT, 0, NOCOLOR, 5, EA, EC, EJ, EF, EG,
1930  ST_PYR, COLOR0, P0, P3, P7, P4, N0,
1931  ST_TET, COLOR0, P7, N0, P5, P4,
1932  ST_PYR, COLOR0, P3, EC, EG, P7, N0,
1933  ST_PYR, COLOR0, EA, EC, P3, P0, N0,
1934  ST_TET, COLOR0, P5, P0, P4, N0,
1935  ST_PYR, COLOR0, P5, EJ, EA, P0, N0,
1936  ST_TET, COLOR0, P5, EF, EJ, N0,
1937  ST_PYR, COLOR0, EG, EF, P5, P7, N0,
1938  ST_PYR, COLOR1, EC, P2, P6, EG, N0,
1939  ST_PYR, COLOR1, EA, P1, P2, EC, N0,
1940  ST_TET, COLOR1, EJ, P1, EA, N0,
1941  ST_TET, COLOR1, P1, P6, P2, N0,
1942  ST_PYR, COLOR1, EJ, EF, P6, P1, N0,
1943  ST_TET, COLOR1, P6, EF, EG, N0,
1944  // Case #71: (cloned #23)
1945  ST_PNT, 0, NOCOLOR, 6, EJ, EF, EG, EC, ED, EI,
1946  ST_TET, COLOR0, P7, P4, P3, N0,
1947  ST_PYR, COLOR0, P7, P3, EC, EG, N0,
1948  ST_TET, COLOR0, P5, P4, P7, N0,
1949  ST_PYR, COLOR0, P5, P7, EG, EF, N0,
1950  ST_TET, COLOR0, EJ, P5, EF, N0,
1951  ST_PYR, COLOR0, P5, EJ, EI, P4, N0,
1952  ST_PYR, COLOR0, EI, ED, P3, P4, N0,
1953  ST_TET, COLOR0, P3, ED, EC, N0,
1954  ST_TET, COLOR1, P1, P6, P2, N0,
1955  ST_PYR, COLOR1, EJ, EF, P6, P1, N0,
1956  ST_PYR, COLOR1, EJ, P1, P0, EI, N0,
1957  ST_TET, COLOR1, P0, P1, P2, N0,
1958  ST_TET, COLOR1, P0, ED, EI, N0,
1959  ST_PYR, COLOR1, P0, P2, EC, ED, N0,
1960  ST_PYR, COLOR1, EC, P2, P6, EG, N0,
1961  ST_TET, COLOR1, EG, P6, EF, N0,
1962  // Case #72: (cloned #5)
1963  ST_PNT, 0, NOCOLOR, 2, ED, EF,
1964  ST_PYR, COLOR0, P0, P4, P5, P1, N0,
1965  ST_TET, COLOR0, P1, P5, P2, N0,
1966  ST_TET, COLOR0, P0, P1, P2, N0,
1967  ST_TET, COLOR0, P7, P4, P0, N0,
1968  ST_TET, COLOR0, P5, P4, P7, N0,
1969  ST_PYR, COLOR0, P5, P7, EG, EF, N0,
1970  ST_PYR, COLOR0, P2, P5, EF, EL, N0,
1971  ST_TET, COLOR0, P2, EL, EC, N0,
1972  ST_PYR, COLOR0, P0, P2, EC, ED, N0,
1973  ST_PYR, COLOR0, P0, ED, EK, P7, N0,
1974  ST_TET, COLOR0, P7, EK, EG, N0,
1975  ST_PYR, COLOR1, P3, P6, EG, EK, N0,
1976  ST_PYR, COLOR1, EC, EL, P6, P3, N0,
1977  ST_TET, COLOR1, EL, EF, P6, N0,
1978  ST_TET, COLOR1, P6, EF, EG, N0,
1979  ST_TET, COLOR1, EC, N0, P3, ED,
1980  ST_TET, COLOR1, EK, ED, P3, N0,
1981  // Case #73: (cloned #21)
1982  ST_PNT, 0, NOCOLOR, 4, EA, EI, EF, EF,
1983  ST_PYR, COLOR0, P5, P7, EG, EF, N0,
1984  ST_TET, COLOR0, EG, P7, EK, N0,
1985  ST_PYR, COLOR0, P4, EI, EK, P7, N0,
1986  ST_TET, COLOR0, P5, P4, P7, N0,
1987  ST_TET, COLOR0, P2, EL, EC, N0,
1988  ST_TET, COLOR0, P1, P5, P2, N0,
1989  ST_PYR, COLOR0, P2, P5, EF, EL, N0,
1990  ST_TET, COLOR0, P1, P4, P5, N0,
1991  ST_PYR, COLOR0, P1, EA, EI, P4, N0,
1992  ST_PYR, COLOR0, P1, P2, EC, EA, N0,
1993  ST_PYR, COLOR1, P6, EG, EK, P3, N0,
1994  ST_PYR, COLOR1, EC, EL, P6, P3, N0,
1995  ST_TET, COLOR1, P6, EF, EG, N0,
1996  ST_TET, COLOR1, EL, EF, P6, N0,
1997  ST_PYR, COLOR1, EK, EI, P0, P3, N0,
1998  ST_PYR, COLOR1, P3, P0, EA, EC, N0,
1999  ST_TET, COLOR1, EA, P0, EI, N0,
2000  // Case #74: (cloned #26)
2001  ST_TET, COLOR0, P2, EB, EL, EC,
2002  ST_TET, COLOR0, P7, P4, P0, P5,
2003  ST_PYR, COLOR0, EJ, EA, P0, P5, ED,
2004  ST_PYR, COLOR0, EF, P5, P7, EG, EK,
2005  ST_PYR, COLOR0, P0, ED, EK, P7, P5,
2006  ST_PYR, COLOR0, ED, EJ, EF, EK, P5,
2007  ST_WDG, COLOR1, P1, P6, P3, EB, EL, EC,
2008  ST_PYR, COLOR1, P1, P3, ED, EA, EJ,
2009  ST_PYR, COLOR1, EK, P3, P6, EG, EF,
2010  ST_PYR, COLOR1, EJ, EF, P6, P1, P3,
2011  ST_PYR, COLOR1, EJ, ED, EK, EF, P3,
2012  // Case #75: (cloned #30)
2013  ST_PNT, 0, NOCOLOR, 5, EI, EK, EJ, EF, EG,
2014  ST_TET, COLOR0, P2, EC, EB, EL,
2015  ST_PYR, COLOR0, P7, P4, EI, EK, N0,
2016  ST_PYR, COLOR0, P4, P5, EJ, EI, N0,
2017  ST_TET, COLOR0, P5, EF, EJ, N0,
2018  ST_TET, COLOR0, P4, P7, P5, N0,
2019  ST_PYR, COLOR0, P5, P7, EG, EF, N0,
2020  ST_TET, COLOR0, P7, EK, EG, N0,
2021  ST_WDG, COLOR1, EB, EC, EL, P1, P3, P6,
2022  ST_TET, COLOR1, P3, P1, P6, N0,
2023  ST_PYR, COLOR1, P1, EJ, EF, P6, N0,
2024  ST_TET, COLOR1, P0, P1, P3, N0,
2025  ST_PYR, COLOR1, EK, EI, P0, P3, N0,
2026  ST_PYR, COLOR1, EI, EJ, P1, P0, N0,
2027  ST_PYR, COLOR1, P6, EG, EK, P3, N0,
2028  ST_TET, COLOR1, EF, EG, P6, N0,
2029  // Case #76: (cloned #7)
2030  ST_PNT, 0, NOCOLOR, 5, ED, EB, EK, EG, EF,
2031  ST_PYR, COLOR0, P0, P4, P5, P1, N0,
2032  ST_TET, COLOR0, P5, P7, N0, P4,
2033  ST_PYR, COLOR0, P1, P5, EF, EB, N0,
2034  ST_PYR, COLOR0, ED, P0, P1, EB, N0,
2035  ST_TET, COLOR0, P7, P4, P0, N0,
2036  ST_PYR, COLOR0, P7, P0, ED, EK, N0,
2037  ST_TET, COLOR0, P7, EK, EG, N0,
2038  ST_PYR, COLOR0, EF, P5, P7, EG, N0,
2039  ST_PYR, COLOR1, EB, EF, P6, P2, N0,
2040  ST_PYR, COLOR1, ED, EB, P2, P3, N0,
2041  ST_TET, COLOR1, EK, ED, P3, N0,
2042  ST_TET, COLOR1, P3, P2, P6, N0,
2043  ST_PYR, COLOR1, EK, P3, P6, EG, N0,
2044  ST_TET, COLOR1, P6, EF, EG, N0,
2045  // Case #77: (cloned #23)
2046  ST_PNT, 0, NOCOLOR, 6, EK, EG, EF, EB, EA, EI,
2047  ST_TET, COLOR0, P5, P1, P4, N0,
2048  ST_PYR, COLOR0, P5, EF, EB, P1, N0,
2049  ST_TET, COLOR0, P7, P5, P4, N0,
2050  ST_PYR, COLOR0, P7, EG, EF, P5, N0,
2051  ST_TET, COLOR0, EK, EG, P7, N0,
2052  ST_PYR, COLOR0, P7, P4, EI, EK, N0,
2053  ST_PYR, COLOR0, EI, P4, P1, EA, N0,
2054  ST_TET, COLOR0, P1, EB, EA, N0,
2055  ST_TET, COLOR1, P3, P2, P6, N0,
2056  ST_PYR, COLOR1, EK, P3, P6, EG, N0,
2057  ST_PYR, COLOR1, EK, EI, P0, P3, N0,
2058  ST_TET, COLOR1, P0, P2, P3, N0,
2059  ST_TET, COLOR1, P0, EI, EA, N0,
2060  ST_PYR, COLOR1, P0, EA, EB, P2, N0,
2061  ST_PYR, COLOR1, EB, EF, P6, P2, N0,
2062  ST_TET, COLOR1, EF, EG, P6, N0,
2063  // Case #78: (cloned #27)
2064  ST_TET, COLOR0, P7, P4, P0, P5,
2065  ST_PYR, COLOR0, EJ, EA, P0, P5, ED,
2066  ST_PYR, COLOR0, EF, P5, P7, EG, EK,
2067  ST_PYR, COLOR0, P0, ED, EK, P7, P5,
2068  ST_PYR, COLOR0, ED, EJ, EF, EK, P5,
2069  ST_TET, COLOR1, P2, P1, P6, P3,
2070  ST_PYR, COLOR1, ED, EA, P1, P3, EJ,
2071  ST_PYR, COLOR1, EK, P3, P6, EG, EF,
2072  ST_PYR, COLOR1, P1, EJ, EF, P6, P3,
2073  ST_PYR, COLOR1, ED, EK, EF, EJ, P3,
2074  // Case #79: (cloned #31)
2075  ST_PNT, 0, NOCOLOR, 5, EK, EI, EJ, EG, EF,
2076  ST_PYR, COLOR0, P4, P5, EJ, EI, N0,
2077  ST_TET, COLOR0, P5, EF, EJ, N0,
2078  ST_PYR, COLOR0, P7, P4, EI, EK, N0,
2079  ST_TET, COLOR0, EG, P7, EK, N0,
2080  ST_PYR, COLOR0, EF, P5, P7, EG, N0,
2081  ST_TET, COLOR0, P5, P4, P7, N0,
2082  ST_PYR, COLOR1, P2, P3, P0, P1, N0,
2083  ST_TET, COLOR1, P1, P6, P2, N0,
2084  ST_TET, COLOR1, P6, P3, P2, N0,
2085  ST_PYR, COLOR1, P6, EG, EK, P3, N0,
2086  ST_PYR, COLOR1, EK, EI, P0, P3, N0,
2087  ST_PYR, COLOR1, EI, EJ, P1, P0, N0,
2088  ST_PYR, COLOR1, EJ, EF, P6, P1, N0,
2089  ST_TET, COLOR1, EG, P6, EF, N0,
2090  // Case #80: (cloned #5)
2091  ST_PNT, 0, NOCOLOR, 2, EI, EL,
2092  ST_PYR, COLOR0, P0, P1, P2, P3, N0,
2093  ST_TET, COLOR0, P1, P5, P2, N0,
2094  ST_TET, COLOR0, P0, P5, P1, N0,
2095  ST_TET, COLOR0, P7, P0, P3, N0,
2096  ST_TET, COLOR0, P2, P7, P3, N0,
2097  ST_PYR, COLOR0, P2, EL, EG, P7, N0,
2098  ST_PYR, COLOR0, P5, EF, EL, P2, N0,
2099  ST_TET, COLOR0, P5, EE, EF, N0,
2100  ST_PYR, COLOR0, P0, EI, EE, P5, N0,
2101  ST_PYR, COLOR0, P0, P7, EH, EI, N0,
2102  ST_TET, COLOR0, P7, EG, EH, N0,
2103  ST_PYR, COLOR1, P4, EH, EG, P6, N0,
2104  ST_PYR, COLOR1, EE, P4, P6, EF, N0,
2105  ST_TET, COLOR1, EF, P6, EL, N0,
2106  ST_TET, COLOR1, P6, EG, EL, N0,
2107  ST_TET, COLOR1, EE, P4, N0, EI,
2108  ST_TET, COLOR1, EH, P4, EI, N0,
2109  // Case #81: (cloned #21)
2110  ST_PNT, 0, NOCOLOR, 4, EA, ED, EL, EL,
2111  ST_PYR, COLOR0, P2, EL, EG, P7, N0,
2112  ST_TET, COLOR0, EG, EH, P7, N0,
2113  ST_PYR, COLOR0, P3, P7, EH, ED, N0,
2114  ST_TET, COLOR0, P2, P7, P3, N0,
2115  ST_TET, COLOR0, P5, EE, EF, N0,
2116  ST_TET, COLOR0, P1, P5, P2, N0,
2117  ST_PYR, COLOR0, P5, EF, EL, P2, N0,
2118  ST_TET, COLOR0, P1, P2, P3, N0,
2119  ST_PYR, COLOR0, P1, P3, ED, EA, N0,
2120  ST_PYR, COLOR0, P1, EA, EE, P5, N0,
2121  ST_PYR, COLOR1, P6, P4, EH, EG, N0,
2122  ST_PYR, COLOR1, EE, P4, P6, EF, N0,
2123  ST_TET, COLOR1, P6, EG, EL, N0,
2124  ST_TET, COLOR1, EF, P6, EL, N0,
2125  ST_PYR, COLOR1, EH, P4, P0, ED, N0,
2126  ST_PYR, COLOR1, P4, EE, EA, P0, N0,
2127  ST_TET, COLOR1, EA, ED, P0, N0,
2128  // Case #82: (cloned #26)
2129  ST_TET, COLOR0, P5, EF, EJ, EE,
2130  ST_TET, COLOR0, P7, P0, P3, P2,
2131  ST_PYR, COLOR0, EB, P2, P0, EA, EI,
2132  ST_PYR, COLOR0, EL, EG, P7, P2, EH,
2133  ST_PYR, COLOR0, P0, P7, EH, EI, P2,
2134  ST_PYR, COLOR0, EI, EH, EL, EB, P2,
2135  ST_WDG, COLOR1, EJ, EF, EE, P1, P6, P4,
2136  ST_PYR, COLOR1, P1, EA, EI, P4, EB,
2137  ST_PYR, COLOR1, EH, EG, P6, P4, EL,
2138  ST_PYR, COLOR1, EB, P1, P6, EL, P4,
2139  ST_PYR, COLOR1, EB, EL, EH, EI, P4,
2140  // Case #83: (cloned #30)
2141  ST_PNT, 0, NOCOLOR, 5, ED, EH, EB, EL, EG,
2142  ST_TET, COLOR0, P5, EJ, EE, EF,
2143  ST_PYR, COLOR0, P7, EH, ED, P3, N0,
2144  ST_PYR, COLOR0, P3, ED, EB, P2, N0,
2145  ST_TET, COLOR0, P2, EB, EL, N0,
2146  ST_TET, COLOR0, P3, P2, P7, N0,
2147  ST_PYR, COLOR0, P2, EL, EG, P7, N0,
2148  ST_TET, COLOR0, P7, EG, EH, N0,
2149  ST_WDG, COLOR1, P1, P4, P6, EJ, EE, EF,
2150  ST_TET, COLOR1, P4, P6, P1, N0,
2151  ST_PYR, COLOR1, P1, P6, EL, EB, N0,
2152  ST_TET, COLOR1, P0, P4, P1, N0,
2153  ST_PYR, COLOR1, EH, P4, P0, ED, N0,
2154  ST_PYR, COLOR1, ED, P0, P1, EB, N0,
2155  ST_PYR, COLOR1, P6, P4, EH, EG, N0,
2156  ST_TET, COLOR1, EL, P6, EG, N0,
2157  // Case #84: (cloned #21)
2158  ST_PNT, 0, NOCOLOR, 4, EC, EB, EI, EI,
2159  ST_PYR, COLOR0, P0, EI, EE, P5, N0,
2160  ST_TET, COLOR0, EE, EF, P5, N0,
2161  ST_PYR, COLOR0, P1, P5, EF, EB, N0,
2162  ST_TET, COLOR0, P0, P5, P1, N0,
2163  ST_TET, COLOR0, P7, EG, EH, N0,
2164  ST_TET, COLOR0, P3, P7, P0, N0,
2165  ST_PYR, COLOR0, P7, EH, EI, P0, N0,
2166  ST_TET, COLOR0, P3, P0, P1, N0,
2167  ST_PYR, COLOR0, P3, P1, EB, EC, N0,
2168  ST_PYR, COLOR0, P3, EC, EG, P7, N0,
2169  ST_PYR, COLOR1, P4, P6, EF, EE, N0,
2170  ST_PYR, COLOR1, EG, P6, P4, EH, N0,
2171  ST_TET, COLOR1, P4, EE, EI, N0,
2172  ST_TET, COLOR1, EH, P4, EI, N0,
2173  ST_PYR, COLOR1, EF, P6, P2, EB, N0,
2174  ST_PYR, COLOR1, P6, EG, EC, P2, N0,
2175  ST_TET, COLOR1, EC, EB, P2, N0,
2176  // Case #85: (cloned #60)
2177  ST_WDG, COLOR0, P7, EH, EG, P3, ED, EC,
2178  ST_WDG, COLOR0, P5, EF, EE, P1, EB, EA,
2179  ST_HEX, COLOR1, P0, P2, P6, P4, EA, EB, EF, EE,
2180  ST_HEX, COLOR1, ED, EC, EG, EH, P0, P2, P6, P4,
2181  // Case #86: (cloned #30)
2182  ST_PNT, 0, NOCOLOR, 5, EC, EG, EA, EI, EH,
2183  ST_TET, COLOR0, P5, EF, EJ, EE,
2184  ST_PYR, COLOR0, P7, P3, EC, EG, N0,
2185  ST_PYR, COLOR0, P3, P0, EA, EC, N0,
2186  ST_TET, COLOR0, P0, EI, EA, N0,
2187  ST_TET, COLOR0, P3, P7, P0, N0,
2188  ST_PYR, COLOR0, P0, P7, EH, EI, N0,
2189  ST_TET, COLOR0, P7, EG, EH, N0,
2190  ST_WDG, COLOR1, EJ, EF, EE, P1, P6, P4,
2191  ST_TET, COLOR1, P6, P1, P4, N0,
2192  ST_PYR, COLOR1, P1, EA, EI, P4, N0,
2193  ST_TET, COLOR1, P2, P1, P6, N0,
2194  ST_PYR, COLOR1, EG, EC, P2, P6, N0,
2195  ST_PYR, COLOR1, EC, EA, P1, P2, N0,
2196  ST_PYR, COLOR1, P4, EH, EG, P6, N0,
2197  ST_TET, COLOR1, EI, EH, P4, N0,
2198  // Case #87: (cloned #61)
2199  ST_PNT, 0, COLOR1, 6, P1, P4, P0, P2, EG, EC,
2200  ST_WDG, COLOR0, EG, P7, EH, EC, P3, ED,
2201  ST_TET, COLOR0, EJ, EE, P5, EF,
2202  ST_WDG, COLOR1, EJ, EF, EE, P1, P6, P4,
2203  ST_PYR, COLOR1, EC, P2, P6, EG, N0,
2204  ST_TET, COLOR1, P2, P1, P6, N0,
2205  ST_TET, COLOR1, P2, P0, P1, N0,
2206  ST_PYR, COLOR1, ED, P0, P2, EC, N0,
2207  ST_PYR, COLOR1, EH, P4, P0, ED, N0,
2208  ST_TET, COLOR1, P0, P4, P1, N0,
2209  ST_PYR, COLOR1, EG, EH, ED, EC, N0,
2210  ST_TET, COLOR1, P4, P6, P1, N0,
2211  ST_PYR, COLOR1, EG, P6, P4, EH, N0,
2212  // Case #88: (cloned #26)
2213  ST_TET, COLOR0, P7, EG, EH, EK,
2214  ST_TET, COLOR0, P2, P0, P1, P5,
2215  ST_PYR, COLOR0, EE, P5, P0, EI, ED,
2216  ST_PYR, COLOR0, EF, EL, P2, P5, EC,
2217  ST_PYR, COLOR0, P0, P2, EC, ED, P5,
2218  ST_PYR, COLOR0, ED, EC, EF, EE, P5,
2219  ST_WDG, COLOR1, EH, EG, EK, P4, P6, P3,
2220  ST_PYR, COLOR1, P4, EI, ED, P3, EE,
2221  ST_PYR, COLOR1, EC, EL, P6, P3, EF,
2222  ST_PYR, COLOR1, EE, P4, P6, EF, P3,
2223  ST_PYR, COLOR1, EE, EF, EC, ED, P3,
2224  // Case #89: (cloned #30)
2225  ST_PNT, 0, NOCOLOR, 5, EA, EC, EE, EF, EL,
2226  ST_TET, COLOR0, P7, EH, EK, EG,
2227  ST_PYR, COLOR0, P2, EC, EA, P1, N0,
2228  ST_PYR, COLOR0, P1, EA, EE, P5, N0,
2229  ST_TET, COLOR0, P5, EE, EF, N0,
2230  ST_TET, COLOR0, P1, P5, P2, N0,
2231  ST_PYR, COLOR0, P5, EF, EL, P2, N0,
2232  ST_TET, COLOR0, P2, EL, EC, N0,
2233  ST_WDG, COLOR1, P4, P3, P6, EH, EK, EG,
2234  ST_TET, COLOR1, P3, P6, P4, N0,
2235  ST_PYR, COLOR1, P4, P6, EF, EE, N0,
2236  ST_TET, COLOR1, P0, P3, P4, N0,
2237  ST_PYR, COLOR1, EC, P3, P0, EA, N0,
2238  ST_PYR, COLOR1, EA, P0, P4, EE, N0,
2239  ST_PYR, COLOR1, P6, P3, EC, EL, N0,
2240  ST_TET, COLOR1, EF, P6, EL, N0,
2241  // Case #90: Unique case #17
2242  ST_TET, COLOR0,