1 /*-
2  * Copyright (c) 1991 by Patrick J. Naughton.
3  * Copyright (c) 1997 by David Bagley.
4  *
5  * Permission to use, copy, modify, and distribute this software and its
6  * documentation for any purpose and without fee is hereby granted,
7  * provided that the above copyright notice appear in all copies and that
8  * both that copyright notice and this permission notice appear in
9  * supporting documentation.
10  *
11  * This file is provided AS IS with no warranties of any kind.  The author
12  * shall have no liability with respect to the infringement of copyrights,
13  * trade secrets or any patents by this file or any part thereof.  In no
14  * event will the author be liable for any lost revenue or profits or
15  * other special, indirect and consequential damages.
16  *
17  * Revision History:
18  * 28-Jun-2004: LIFE_NAMES compile-time option.
19  * 14-Feb-2003: Added many more lifeforms from Stephen Silver's Life Lexicon
20  *	      http://www.argentum.freeserve.co.uk/lex_home.htm
21  * 25-Jan-2003: File spawned from life.c
22  *
23  */
24 
25 /*-
26  * neighbors of 0 does not randomize.  All inappropriate
27  * modes will be set at 8.  3, 5, 6, 7, 9, & 12 also available.
28  */
29 #define MAXNEIGHBORS 12
30 #define MAXGROUPS 7		/* Eventually this may be MAXNEIGHBORS - 3 */
31 #define FIRSTGROUP 1
32 #define MAXCOUNTNEIGHBORS 9	/* This restriction is because of base 10 */
33 #define NEIGHBORKINDS 8
34 #define NUMPTS 64
35 
36 typedef struct {
37 	int birth, survival;
38 	int birthGroup[MAXGROUPS];
39 	int survivalGroup[MAXGROUPS];
40 } paramstruct;
41 
42 static char plots[NEIGHBORKINDS] =
43 {
44 	3, 4, 5, 6, 7, 8, 9, 12	/* Neighborhoods */
45 };
46 
47 static char maxgroups[NEIGHBORKINDS] =
48 {0, 1, 0, 4, 0, 7, 0, 0};
49 static char groupnumber[NEIGHBORKINDS][MAXGROUPS] =
50 {
51 	{0, 0,  0,  0,  0, 0, 0},		/* Triangular, would not make sense to use */
52 	{0, 0,  0,  0,  0, 0, 0},		/* MAXGROUP 2 */
53 	{0, 0,  0,  0,  0, 0, 0},
54 	{0, 3,  3,  3,  0, 0, 0},		/* Hexagonal */
55 	{0, 0,  0,  0,  0, 0, 0},
56 	{2, 6, 10, 14, 10, 6, 2},		/* MAXGROUP may have to expand... */
57 	{0, 0,  0,  0,  0, 0, 0},		/* Future improvement */
58 	{3, 0,  0,  0,  0, 0, 0}		/* Future improvement */
59 };
60 
61 /* high numbers are dummys and are not used */
62 static char nontotalistic6[64] =
63         {'x', 'x', 'x', 'o', 'x', 'm', 'o', 'o',
64         'x', 'p', 'm', 'm', 'o', 'm', 'o', 'o',
65         'x', 'm', 'p', 'm', 'm', 'p', 'm', 'm',
66         'o', 'm', 'm', 'p', 'o', 'm', 'o', 'x',
67         'x', 'o', 'm', 'o', 'p', 'm', 'm', 'o',
68         'm', 'm', 'p', 'm', 'm', 'p', 'm', 'x',
69         'o', 'o', 'm', 'o', 'm', 'm', 'p', 'x',
70         'o', 'o', 'm', 'x', 'o', 'x', 'x', 'x'};
71 static char nontotalistic8[256] =
72 	{'x', 'c', 'e', 'a', 'c', 'c', 'a', 'i', 'e', 'k', 'e', 'k', 'a', 'n', 'a', 'a',
73         'c', 'n', 'k', 'q', 'c', 'c', 'n', 'n', 'a', 'q', 'k', 'w', 'i', 'n', 'a', 'a',
74         'e', 'k', 'i', 'r', 'k', 'y', 'r', 't', 'e', 'k', 'e', 'j', 'k', 'f', 'r', 'n',
75         'a', 'q', 'r', 'z', 'n', 'y', 'i', 'r', 'a', 'q', 'r', 'q', 'a', 'j', 'i', 'a',
76         'c', 'c', 'k', 'n', 'n', 'c', 'q', 'n', 'k', 'y', 'k', 'f', 'q', 'y', 'q', 'j',
77         'c', 'c', 'y', 'y', 'c', 'c', 'y', 'e', 'n', 'y', 'f', 'k', 'n', 'e', 'j', 'e',
78         'a', 'n', 'r', 'i', 'q', 'y', 'z', 'r', 'k', 'f', 'j', 'y', 'w', 'k', 'q', 'k',
79         'i', 'n', 't', 'r', 'n', 'e', 'r', 'i', 'a', 'j', 'n', 'k', 'a', 'e', 'a', 'e',
80         'e', 'a', 'e', 'a', 'k', 'n', 'k', 'a', 'i', 'r', 'e', 'r', 'r', 'i', 'r', 'i',
81         'k', 'q', 'k', 'q', 'y', 'y', 'f', 'j', 'r', 'z', 'j', 'q', 't', 'r', 'n', 'a',
82         'e', 'k', 'e', 'r', 'k', 'f', 'j', 'n', 'e', 'j', 'e', 'c', 'j', 'y', 'c', 'c',
83         'k', 'w', 'j', 'q', 'f', 'k', 'y', 'k', 'r', 'q', 'c', 'n', 'n', 'k', 'c', 'c',
84         'a', 'i', 'k', 'a', 'q', 'n', 'w', 'a', 'r', 't', 'j', 'n', 'z', 'r', 'q', 'a',
85         'n', 'n', 'f', 'j', 'y', 'e', 'k', 'e', 'i', 'r', 'y', 'k', 'r', 'i', 'k', 'e',
86         'a', 'a', 'r', 'i', 'q', 'j', 'q', 'a', 'r', 'n', 'c', 'c', 'q', 'k', 'n', 'c',
87         'a', 'a', 'n', 'a', 'j', 'e', 'k', 'e', 'i', 'a', 'c', 'c', 'a', 'e', 'c', 'x'};
88 
89 /*-
90  * Patterns have < NUMPTS pts (and should have a size of <= 32x32,
91  * the Glider Gun is an exception)
92  */
93 
94 /* https://www.sillycycle.com/life.html */
95 /* Below generated from java Life2DForms | dos2unix */
96 static char patterns_5B2S24[][2 * NUMPTS + 1] =
97 {
98 #ifdef LIFE_NAMES
99 	{"ripple (p4)"},
100 #endif
101 	{
102         2, -2, 3, -2,
103         2, -1,
104         -1, 0, 0, 0, 1, 0, 4, 0, 5, 0, 6, 0,
105         3, 1,
106         2, 2, 3, 2,
107         127
108 	},
109 #ifdef LIFE_NAMES
110 	{"bird (p4)"},
111 #endif
112 	{
113         -4, -1, 5, -1,
114         -6, 0, -1, 0, 2, 0, 7, 0,
115         -7, 1, -4, 1, -3, 1, 4, 1, 5, 1, 8, 1,
116         127
117 	},
118 #ifdef LIFE_NAMES
119 	{"owl (p4)"},
120 #endif
121 	{
122         -5, -1, 11, -1,
123         -5, 0, -4, 0, -1, 0, 2, 0, 3, 0, 6, 0, 8, 0, 10, 0,
124         1, 1, 4, 1,
125         127
126 	},
127 #ifdef LIFE_NAMES
128 	{"heart (p6)"},
129 #endif
130 	{
131         -3, -2, -2, -2, 1, -2, 3, -2, 5, -2,
132         -3, -1, -2, -1, 2, -1, 4, -1,
133         -2, 1, 2, 1,
134         0, 2,
135         127
136 	},
137 #ifdef LIFE_NAMES
138 	{"splitter (p6)"},
139 #endif
140 	{
141         -5, -2, 6, -2,
142         -7, -1, -3, -1, 4, -1, 8, -1,
143         -5, 0, 0, 0, 6, 0,
144         -2, 1, 2, 1,
145         0, 2,
146         127
147 	},
148 #ifdef LIFE_NAMES
149 	{"2 snakes (p8)"},
150 #endif
151 	{
152         -3, -2, 1, -2,
153         -2, -1, 2, -1,
154         -1, 1, 3, 1,
155         -4, 2, 0, 2,
156         127
157 	},
158 #ifdef LIFE_NAMES
159 	{"cyclone (p8)"},
160 #endif
161 	{
162         2, -3, 3, -3,
163         2, -2, 3, -2,
164         -4, -1, -3, -1, -2, -1, -1, -1,
165         4, 0, 5, 0, 6, 0, 7, 0,
166         0, 1, 1, 1,
167         0, 2, 1, 2,
168         127
169 	},
170 #ifdef LIFE_NAMES
171 	{"spiral (p10)"},
172 #endif
173 	{
174         -1, -1, 0, -1,
175         -1, 0, 0, 0,
176         127
177 	},
178 #ifdef LIFE_NAMES
179 	{"star (p26)"},
180 #endif
181 	{
182         -2, -6, -1, -6,
183         -2, -3,
184         -7, -1, -4, -1, 1, -1, 4, -1,
185         -12, 0, -11, 0, -4, 0, -3, 0, 0, 0, 1, 0, 8, 0, 9, 0,
186         -7, 1, -4, 1, 1, 1, 4, 1,
187         -1, 3,
188         -2, 6, -1, 6,
189         127
190 	},
191 #ifdef LIFE_NAMES
192 	{"clock (p36)"},
193 #endif
194 	{
195         1, -2,
196         2, -1, 3, -1, 4, -1,
197         0, 0, 5, 0,
198         -2, 1, 1, 1, 2, 1,
199         127
200 	},
201 };
202 
203 static char patterns_5B24S2[][2 * NUMPTS + 1] =
204 {
205 #ifdef LIFE_NAMES
206 	{"snake checker (p4)"},
207 #endif
208 	{
209         2, -2, 3, -2,
210         1, -1, 4, -1,
211         2, 0, 3, 0,
212         1, 1, 4, 1,
213         127
214 	},
215 #ifdef LIFE_NAMES
216 	{"small checker (p6)"},
217 #endif
218 	{
219         -2, 0, -1, 0, 2, 0, 3, 0,
220         127
221 	},
222 #ifdef LIFE_NAMES
223 	{"restricted checker (p6)"},
224 #endif
225 	{
226         1, -5, 4, -5,
227         2, -3, 3, -3,
228         -5, -1, -1, -1, 2, -1, 3, -1, 7, -1, 11, -1,
229         -6, 1, -2, 1, 2, 1, 3, 1, 6, 1, 10, 1,
230         2, 3, 3, 3,
231         1, 5, 4, 5,
232         127
233 	},
234 #ifdef LIFE_NAMES
235 	{"bug (p8)"},
236 #endif
237 	{
238         2, -3, 3, -3,
239         2, -1, 3, -1,
240         3, 1,
241         -1, 2, 0, 2, 1, 2, 4, 2, 5, 2, 6, 2,
242         1, 3, 4, 3,
243         127
244 	},
245 #ifdef LIFE_NAMES
246 	{"trampoline (p8)"},
247 #endif
248 	{
249         2, -2, 3, -2,
250         0, -1, 5, -1,
251         -2, 0, -1, 0, 6, 0, 7, 0,
252         -3, 1, 0, 1, 5, 1, 8, 1,
253         -1, 2, 2, 2, 3, 2, 6, 2,
254         127
255 	},
256 #ifdef LIFE_NAMES
257 	{"checker (p14)"},
258 #endif
259 	{
260         -2, -2, 3, -2,
261         -6, 0, -5, 0, -2, 0, -1, 0, 2, 0, 3, 0, 6, 0, 7, 0,
262         -2, 2, 3, 2,
263         127
264 	},
265 };
266 
267 static char patterns_6B2S34[][2 * NUMPTS + 1] =
268 {
269 #ifdef LIFE_NAMES
270 	{"12"},
271 #endif
272 	{
273         -1, -1,
274         -1, 1, 1, 1,
275         127
276 	},
277 #ifdef LIFE_NAMES
278 	{"spinning triangle"},
279 #endif
280 	{
281         0, -1,
282         -1, 0,
283         1, 1,
284         127
285 	},
286 #ifdef LIFE_NAMES
287 	{"hexagon (p3)"},
288 #endif
289 	{
290         -1, -1, 0, -1,
291         -1, 0, 1, 0,
292         0, 1, 1, 1,
293         127
294 	},
295 #ifdef LIFE_NAMES
296 	{"c (p4)"},
297 #endif
298 	{
299         -1, -1,
300         -1, 0,
301         0, 1, 1, 1,
302         127
303 	},
304 #ifdef LIFE_NAMES
305 	{"sad (p4)"},
306 #endif
307 	{
308         -2, -2, -1, -2,
309         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
310         -3, 1, 3, 1,
311         127
312 	},
313 #ifdef LIFE_NAMES
314 	{"clock (p4)"},
315 #endif
316 	{
317         -2, -2,
318         0, -1,
319         -1, 0, 0, 0,
320         -1, 1,
321         1, 2,
322         127
323 	},
324 #ifdef LIFE_NAMES
325 	{"111 (p4)"},
326 #endif
327 	{
328         -1, -2,
329         0, 0,
330         1, 2,
331         127
332 	},
333 #ifdef LIFE_NAMES
334 	{"1121 (p4)"},
335 #endif
336 	{
337         -2, -3,
338         -1, -1,
339         -1, 1, 1, 1,
340         1, 3,
341         127
342 	},
343 #ifdef LIFE_NAMES
344 	{"11211 (p4)"},
345 #endif
346 	{
347         -2, -4,
348         -1, -2,
349         -1, 0, 1, 0,
350         1, 2,
351         2, 4,
352         127
353 	},
354 #ifdef LIFE_NAMES
355 	{"tree (p5)"},
356 #endif
357 	{
358         -2, -6,
359         -1, -4,
360         -1, -3, 0, -3,
361         0, -2,
362         0, -1, 1, -1,
363         1, 0,
364         1, 1, 2, 1,
365         2, 2,
366         3, 4,
367         127
368 	},
369 #ifdef LIFE_NAMES
370 	{"hex (p5)"},
371 #endif
372 	{
373         -1, -5,
374         -1, -4,
375         -3, -3, -1, -3, 0, -3, 1, -3, 2, -3, 3, -3,
376         -2, -2, -1, -2, 2, -2,
377         -1, -1, 3, -1,
378         0, 0, 3, 0, 4, 0,
379         -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 5, 1,
380         3, 2,
381         3, 3,
382         127
383 	},
384 #ifdef LIFE_NAMES
385 	{"121121 (p8)"},
386 #endif
387 	{
388         -3, -5,
389         -3, -3, -1, -3,
390         -1, -1,
391         0, 1,
392         0, 3, 2, 3,
393         2, 5,
394         127
395 	},
396 #ifdef LIFE_NAMES
397 	{"1121121 (p8)"},
398 #endif
399 	{
400         -3, -6,
401         -2, -4,
402         -2, -2, 0, -2,
403         0, 0,
404         1, 2,
405         1, 4, 3, 4,
406         3, 6,
407         127
408 	},
409 #ifdef LIFE_NAMES
410 	{"11211211 (p8)"},
411 #endif
412 	{
413         -4, -7,
414         -3, -5,
415         -3, -3, -1, -3,
416         -1, -1,
417         0, 1,
418         0, 3, 2, 3,
419         2, 5,
420         3, 7,
421         127
422 	},
423 #ifdef LIFE_NAMES
424 	{"hexagon (p9)"},
425 #endif
426 	{
427         -5, -9, -4, -9,
428         -3, -6,
429         -9, -5, -3, -5, -2, -5, 4, -5,
430         -9, -4, -4, -4, -3, -4, -2, -4, -1, -4, 0, -4, 5, -4,
431         -6, -3, -5, -3, -4, -3, -3, -3, 0, -3, 1, -3, 2, -3, 3, -3,
432         -5, -2, -4, -2, 2, -2, 3, -2,
433         -4, -1, 3, -1,
434         -4, 0, -3, 0, 3, 0, 4, 0,
435         -3, 1, 4, 1,
436         -3, 2, -2, 2, 4, 2, 5, 2,
437         -3, 3, -2, 3, -1, 3, 0, 3, 3, 3, 4, 3, 5, 3, 6, 3,
438         -5, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4, 9, 4,
439         -4, 5, 2, 5, 3, 5, 9, 5,
440         3, 6,
441         4, 9, 5, 9,
442         127
443 	},
444 #ifdef LIFE_NAMES
445 	{"triangle (p12)"},
446 #endif
447 	{
448         -3, -2, 2, -2,
449         -1, -1, 1, -1,
450         1, 1,
451         2, 3,
452         127
453 	},
454 #ifdef LIFE_NAMES
455 	{"spinner (p12)"},
456 #endif
457 	{
458         -1, -2,
459         -2, -1,
460         -1, 1,
461         1, 2, 2, 2,
462         127
463 	},
464 #ifdef LIFE_NAMES
465 	{"chakar2 (p14)"},
466 #endif
467 	{
468         -6, -6, -3, -6, 0, -6,
469         -4, -5, -3, -5, -2, -5, -1, -5,
470         -5, -4, -4, -4, -3, -4, -1, -4, 0, -4, 1, -4,
471         -6, -3, -5, -3, -4, -3, 1, -3, 2, -3, 3, -3,
472         -5, -2, -2, -2, 3, -2,
473         -5, -1, -4, -1, 3, -1, 4, -1,
474         -6, 0, -4, 0, 4, 0, 6, 0,
475         -4, 1, -3, 1, 4, 1, 5, 1,
476         -3, 2, 0, 2, 5, 2,
477         -3, 3, -2, 3, -1, 3, 4, 3, 5, 3, 6, 3,
478         -1, 4, 0, 4, 1, 4, 3, 4, 4, 4, 5, 4,
479         1, 5, 2, 5, 3, 5, 4, 5,
480         0, 6, 3, 6, 6, 6,
481         127
482 	},
483 #ifdef LIFE_NAMES
484 	{"chakar (p18)"},
485 #endif
486 	{
487         -6, -6, -3, -6, 0, -6,
488         -4, -5, -3, -5, -2, -5, -1, -5,
489         -5, -4, -4, -4, -3, -4, -1, -4, 0, -4, 1, -4,
490         -6, -3, -5, -3, -4, -3, 1, -3, 2, -3, 3, -3,
491         -5, -2, 3, -2,
492         -5, -1, -4, -1, -2, -1, 1, -1, 3, -1, 4, -1,
493         -6, 0, -4, 0, 0, 0, 4, 0, 6, 0,
494         -4, 1, -3, 1, -1, 1, 2, 1, 4, 1, 5, 1,
495         -3, 2, 5, 2,
496         -3, 3, -2, 3, -1, 3, 4, 3, 5, 3, 6, 3,
497         -1, 4, 0, 4, 1, 4, 3, 4, 4, 4, 5, 4,
498         1, 5, 2, 5, 3, 5, 4, 5,
499         0, 6, 3, 6, 6, 6,
500         127
501 	},
502 #ifdef LIFE_NAMES
503 	{"ornament (p36)"},
504 #endif
505 	{
506         -5, -7, -4, -7,
507         -3, -4,
508         -3, -3, -2, -3,
509         -4, -2, -3, -2, -2, -2, -1, -2, 0, -2,
510         -5, -1, -4, -1, -3, -1, 0, -1, 1, -1, 2, -1,
511         -5, 0, -4, 0, 2, 0, 3, 0,
512         -4, 1, -1, 1, 0, 1, 3, 1,
513         -4, 2, -3, 2, -1, 2, 1, 2, 3, 2, 4, 2,
514         -3, 3, 0, 3, 1, 3, 4, 3,
515         -3, 4, -2, 4, 4, 4, 5, 4,
516         -2, 5, -1, 5, 0, 5, 3, 5, 4, 5, 5, 5,
517         0, 6, 1, 6, 2, 6, 3, 6, 4, 6,
518         2, 7, 3, 7,
519         127
520 	},
521 #ifdef LIFE_NAMES
522 	{"oscillator (p48)"},
523 #endif
524 	{
525         -2, -2, -1, -2, 0, -2,
526         -1, -1, 0, -1,
527         0, 0,
528         0, 1, 1, 1,
529         127
530 	},
531 #ifdef LIFE_NAMES
532 	{"triangle growth (remnant p10)"},
533 #endif
534 	{
535         -2, -1, -1, -1, 0, -1, 1, -1,
536         -1, 0, 0, 0, 1, 0,
537         0, 1, 1, 1,
538         1, 2,
539         127
540 	},
541 };
542 
543 static char patterns_6B2S35[][2 * NUMPTS + 1] =
544 {
545 #ifdef LIFE_NAMES
546 	{"neutron star (p3)"},
547 #endif
548 	{
549         -1, -1, 0, -1,
550         -1, 0, 1, 0,
551         0, 1, 1, 1,
552         127
553 	},
554 #ifdef LIFE_NAMES
555 	{"binary star (p3)"},
556 #endif
557 	{
558         -2, -3, -1, -3,
559         -2, -2, 0, -2,
560         -1, -1, 0, -1,
561         0, 1, 1, 1,
562         0, 2, 2, 2,
563         1, 3, 2, 3,
564         127
565 	},
566 #ifdef LIFE_NAMES
567 	{"c (p4)"},
568 #endif
569 	{
570         -1, -1, 0, -1,
571         -1, 0, 1, 0,
572         127
573 	},
574 #ifdef LIFE_NAMES
575 	{"s (p4)"},
576 #endif
577 	{
578         -1, -2,
579         -1, -1,
580         0, 0,
581         1, 1,
582         1, 2,
583         127
584 	},
585 #ifdef LIFE_NAMES
586 	{"v dot (p4)"},
587 #endif
588 	{
589         0, -2,
590         -1, -1,
591         -2, 0, 2, 0,
592         0, 1,
593         2, 2,
594         127
595 	},
596 #ifdef LIFE_NAMES
597 	{"drum (p4)"},
598 #endif
599 	{
600         -3, -3, -2, -3,
601         -2, -1, 0, -1,
602         -1, 1, 1, 1,
603         0, 3, 1, 3,
604         127
605 	},
606 #ifdef LIFE_NAMES
607 	{"broken umbrella (p4)"},
608 #endif
609 	{
610         -1, -1, 0, -1,
611         -3, 0, 3, 0,
612         -1, 1, 2, 1,
613         127
614 	},
615 #ifdef LIFE_NAMES
616 	{"siamese (p7)"},
617 #endif
618 	{
619         -4, -6, -3, -6,
620         -3, -3, -2, -3, -1, -3,
621         -1, 0, 0, 0,
622         0, 3, 1, 3, 2, 3,
623         2, 6, 3, 6,
624         127
625 	},
626 #ifdef LIFE_NAMES
627 	{"tie (p7)"},
628 #endif
629 	{
630         -7, -6, 5, -6,
631         -7, -5, -4, -5, 3, -5, 6, -5,
632         -4, -4, 4, -4,
633         -4, -3, -1, -3, 2, -3, 5, -3,
634         -1, -2, 1, -2, 3, -2,
635         1, -1, 2, -1,
636         2, 1, 3, 1,
637         3, 4, 4, 4, 5, 4,
638         5, 7, 6, 7,
639         127
640 	},
641 #ifdef LIFE_NAMES
642 	{"vortex (p8)"},
643 #endif
644 	{
645         -5, -5,
646         -4, -4,
647         -1, -1, 0, -1,
648         -3, 0,
649         -2, 1,
650         1, 2, 4, 2, 5, 2,
651         1, 3,
652         -2, 4,
653         -2, 5,
654         127
655 	},
656 #ifdef LIFE_NAMES
657 	{"snake hive (p8)"},
658 #endif
659 	{
660         -6, -9,
661         -7, -7, -5, -7, 0, -7,
662         -1, -6, 3, -6,
663         -6, -5, 2, -5,
664         -2, -4,
665         -9, -3,
666         -7, -2, -4, -2, -1, -2, 2, -2,
667         -2, -1, 1, -1, 5, -1,
668         -7, 0, 7, 0,
669         -5, 1, -1, 1, 2, 1,
670         -2, 2, 1, 2, 4, 2, 7, 2,
671         9, 3,
672         2, 4,
673         -2, 5, 6, 5,
674         -3, 6, 1, 6,
675         0, 7, 5, 7, 7, 7,
676         6, 9,
677         127
678 	},
679 #ifdef LIFE_NAMES
680 	{"snow flake (p8)"},
681 #endif
682 	{
683         -5, -9, -4, -9,
684         -6, -8, -2, -8,
685         -8, -6, 2, -6,
686         -9, -5, 4, -5,
687         -9, -4, -3, -4, -1, -4, 5, -4,
688         -4, -3, -3, -3, 0, -3, 1, -3,
689         -8, -2, 6, -2,
690         -4, -1, 3, -1,
691         -3, 0, 3, 0,
692         -3, 1, 4, 1,
693         -6, 2, 8, 2,
694         -1, 3, 0, 3, 3, 3, 4, 3,
695         -5, 4, 1, 4, 3, 4, 9, 4,
696         -4, 5, 9, 5,
697         -2, 6, 8, 6,
698         2, 8, 6, 8,
699         4, 9, 5, 9,
700         127
701 	},
702 #ifdef LIFE_NAMES
703 	{"spinner (p12)"},
704 #endif
705 	{
706         -1, -2,
707         -2, -1, 1, -1,
708         -2, 0,
709         2, 1,
710         127
711 	},
712 #ifdef LIFE_NAMES
713 	{"smiley (p12)"},
714 #endif
715 	{
716         0, -2,
717         -2, -1, 1, -1,
718         2, 0,
719         -1, 1, 2, 1,
720         2, 2,
721         127
722 	},
723 #ifdef LIFE_NAMES
724 	{"arrow (p12)"},
725 #endif
726 	{
727         -3, -4,
728         -1, -3,
729         0, -2,
730         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
731         2, 2,
732         2, 3,
733         1, 4,
734         127
735 	},
736 #ifdef LIFE_NAMES
737 	{"cephid (p15)"},
738 #endif
739 	{
740         -2, -3, -1, -3,
741         -3, -2, 1, -2,
742         -3, -1, 2, -1,
743         -2, 1, 3, 1,
744         -1, 2, 3, 2,
745         1, 3, 2, 3,
746         127
747 	},
748 #ifdef LIFE_NAMES
749 	{"flipping triangle (p16)"},
750 #endif
751 	{
752         -5, -5,
753         -5, -3, -3, -3,
754         -3, 0, -2, 0,
755         -3, 1, -1, 1,
756         -5, 2, -2, 2, -1, 2, 2, 2,
757         -5, 4, -3, 4, 2, 4, 4, 4,
758         127
759 	},
760 #ifdef LIFE_NAMES
761 	{"hungry (p16)"},
762 #endif
763 	{
764         -8, -5, -7, -5, 1, -5, 2, -5,
765         -4, -2, 1, -2,
766         -2, -1, -1, -1, 0, -1,
767         -3, 0, -2, 0, 1, 0, 2, 0,
768         -1, 1, 0, 1, 1, 1,
769         -2, 2, 3, 2,
770         -3, 5, -2, 5, 6, 5, 7, 5,
771         127
772 	},
773 #ifdef LIFE_NAMES
774 	{"kaleidoscope (p16)"},
775 #endif
776 	{
777         -6, -8,
778         -6, -7, -5, -7,
779         -8, -6, -7, -6, -4, -6,
780         -7, -5, -3, -5,
781         -6, -4, -1, -4,
782         -5, -3, 1, -3,
783         -2, -2, 0, -2, 3, -2, 4, -2, 5, -2, 6, -2,
784         -4, -1, 6, -1,
785         -2, 0, 2, 0,
786         -3, 1, 7, 1,
787         0, 2, 2, 2, 5, 2, 6, 2, 7, 2, 8, 2,
788         -2, 3, 4, 3,
789         -2, 4, 3, 4,
790         -2, 5, 2, 5,
791         -2, 6, -1, 6, 2, 6,
792         1, 7, 2, 7,
793         2, 8,
794         127
795 	},
796 #ifdef LIFE_NAMES
797 	{"triangle with stabilizers (p18)"},
798 #endif
799 	{
800         0, -8,
801         0, -7,
802         -4, -5,
803         -5, -4,
804         -1, -3,
805         -2, -2, 1, -2,
806         -3, -1, -1, -1, 4, -1,
807         -8, 0, -7, 0, 1, 0, 2, 0,
808         -2, 1, 0, 1, 5, 1,
809         0, 2, 3, 2,
810         2, 3,
811         -1, 4,
812         1, 5,
813         7, 7,
814         8, 8,
815         127
816 	},
817 #ifdef LIFE_NAMES
818 	{"buckyball (p19)"},
819 #endif
820 	{
821         -3, -7, -1, -7,
822         -7, -6, -5, -6,
823         -2, -5, 1, -5,
824         -7, -4, -4, -4, 0, -4,
825         -5, -3, 4, -3,
826         -1, -2, 3, -2,
827         -6, -1, -2, -1, 1, -1, 6, -1,
828         -4, 0, 4, 0,
829         -6, 1, -1, 1, 2, 1, 6, 1,
830         -3, 2, 1, 2,
831         -4, 3, 5, 3,
832         0, 4, 4, 4, 7, 4,
833         -1, 5, 2, 5,
834         5, 6, 7, 6,
835         1, 7, 3, 7,
836         127
837 	},
838 #ifdef LIFE_NAMES
839 	{"supernova (remnant p3)"},
840 #endif
841 	{
842         -3, -3, -2, -3, -1, -3, 0, -3,
843         -3, -2, 1, -2,
844         -3, -1, -1, -1, 0, -1, 2, -1,
845         -3, 0, -1, 0, 1, 0, 3, 0,
846         -2, 1, 0, 1, 1, 1, 3, 1,
847         -1, 2, 3, 2,
848         0, 3, 1, 3, 2, 3, 3, 3,
849         127
850 	},
851 };
852 
853 static char patterns_6B2oS2m34[][2 * NUMPTS + 1] =
854 {
855 #ifdef LIFE_NAMES
856 	{"ship (p15)"},
857 #endif
858 	{
859         -3, -5, -1, -5,
860         -2, -4, -1, -4, 0, -4,
861         -4, -3, -3, -3, -2, -3, 0, -3,
862         -2, -2, 0, -2,
863         -1, -1, 0, -1,
864         0, 1, 1, 1,
865         0, 2, 2, 2,
866         -1, 3, 0, 3, 1, 3, 3, 3,
867         2, 4, 3, 4, 4, 4,
868         2, 5, 4, 5,
869         127
870 	},
871 #ifdef LIFE_NAMES
872 	{"ship (p48)"},
873 #endif
874 	{
875         -3, -2, -2, -2, -1, -2, 0, -2,
876         -2, -1, 1, -1,
877         -1, 0, 0, 0, 1, 0,
878         1, 1, 2, 1,
879         127
880 	},
881 #ifdef LIFE_NAMES
882 	{"oscillator (p3)"},
883 #endif
884 	{
885         -1, -2, 0, -2,
886         -2, -1, -1, -1, 1, -1,
887         -2, 0, 1, 0,
888         -1, 1, 0, 1, 2, 1,
889         1, 2, 2, 2,
890         127
891 	},
892 #ifdef LIFE_NAMES
893 	{"greater than (p4)"},
894 #endif
895 	{
896         -1, -2,
897         0, -1,
898         1, 0,
899         1, 1,
900         1, 2,
901         127
902 	},
903 #ifdef LIFE_NAMES
904 	{"smashed scissor (p4)"},
905 #endif
906 	{
907         -3, -2,
908         -2, -1, -1, -1, 0, -1, 1, -1,
909         -1, 0,
910         -1, 1, 0, 1,
911         -1, 2,
912         127
913 	},
914 #ifdef LIFE_NAMES
915 	{"broken scissor (p4)"},
916 #endif
917 	{
918         -3, -2,
919         -2, -1, -1, -1, 0, -1, 1, -1,
920         -1, 0,
921         -1, 1, 0, 1, 1, 1,
922         -1, 2,
923         127
924 	},
925 #ifdef LIFE_NAMES
926 	{"scissor (p4)"},
927 #endif
928 	{
929         -3, -2,
930         -2, -1, -1, -1, 0, -1, 1, -1,
931         -1, 0,
932         -1, 1, 0, 1, 1, 1, 2, 1,
933         -1, 2,
934         127
935 	},
936 #ifdef LIFE_NAMES
937 	{"H (p5)"},
938 #endif
939 	{
940         -2, -1, -1, -1, 0, -1, 1, -1,
941         0, 0,
942         -1, 1, 0, 1, 1, 1, 2, 1,
943         127
944 	},
945 #ifdef LIFE_NAMES
946 	{"saint (p5)"},
947 #endif
948 	{
949         -2, -3,
950         -1, -1,
951         -1, 0, 0, 0,
952         0, 1,
953         0, 2, 1, 2,
954         0, 3, 2, 3,
955         127
956 	},
957 #ifdef LIFE_NAMES
958 	{"glasses (p5)"},
959 #endif
960 	{
961         -1, -2, 0, -2, 1, -2,
962         -2, -1, -1, -1, 1, -1,
963         -2, 0, 0, 0, 1, 0,
964         -2, 1, -1, 1, 0, 1,
965         127
966 	},
967 #ifdef LIFE_NAMES
968 	{"tree (p5)"},
969 #endif
970 	{
971         -2, -2, 0, -2, 1, -2, 2, -2,
972         -1, -1, 0, -1, 2, -1,
973         -1, 0, 1, 0, 2, 0,
974         0, 1, 1, 1,
975         2, 2,
976         127
977 	},
978 #ifdef LIFE_NAMES
979 	{"whirlygig (p5)"},
980 #endif
981 	{
982         -1, -3,
983         0, -2,
984         -2, -1, -1, -1, 0, -1, 1, -1,
985         -2, 0, 0, 0, 2, 0,
986         -1, 1, 0, 1,
987         0, 2,
988         -1, 3, 0, 3, 1, 3, 2, 3,
989         127
990 	},
991 #ifdef LIFE_NAMES
992 	{"hex (p5)"},
993 #endif
994 	{
995         -3, -3, -1, -3, 0, -3,
996         -3, -2, -2, -2, -1, -2, 0, -2,
997         -2, -1, 1, -1, 2, -1,
998         -3, 0, -2, 0, 2, 0, 3, 0,
999         -2, 1, -1, 1, 2, 1,
1000         0, 2, 1, 2, 2, 2, 3, 2,
1001         0, 3, 1, 3, 3, 3,
1002         127
1003 	},
1004 #ifdef LIFE_NAMES
1005 	{"hump (p6)"},
1006 #endif
1007 	{
1008         -2, -3,
1009         -1, -2,
1010         -2, -1, -1, -1,
1011         -2, 0,
1012         -1, 1, 0, 1,
1013         1, 2,
1014         1, 3,
1015         127
1016 	},
1017 #ifdef LIFE_NAMES
1018 	{"flask (p6)"},
1019 #endif
1020 	{
1021         -3, -3, -1, -3, 0, -3,
1022         -2, -2, -1, -2, 1, -2,
1023         1, -1,
1024         2, 0,
1025         2, 1,
1026         0, 2, 1, 2, 3, 2,
1027         0, 3, 2, 3, 3, 3,
1028         127
1029 	},
1030 #ifdef LIFE_NAMES
1031 	{"oscillator (p7)"},
1032 #endif
1033 	{
1034         -6, -7,
1035         -6, -6,
1036         -5, -5, -4, -5,
1037         -4, -4, -3, -4, -2, -4,
1038         -5, -3, -4, -3, -1, -3, 0, -3, 2, -3,
1039         -5, -2, 0, -2, 1, -2, 2, -2,
1040         -4, -1, 2, -1,
1041         3, 0,
1042         2, 1, 3, 1,
1043         2, 2,
1044         3, 3, 5, 3,
1045         2, 4, 3, 4, 4, 4, 5, 4,
1046         5, 5,
1047         6, 6,
1048         127
1049 	},
1050 #ifdef LIFE_NAMES
1051 	{"3 bulbs (p7)"},
1052 #endif
1053 	{
1054         -5, -5, -4, -5, -3, -5,
1055         -5, -4, -2, -4,
1056         -5, -3, -2, -3,
1057         -4, -2, -3, -2, -1, -2, 2, -2, 3, -2,
1058         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 4, -1,
1059         -1, 0, 1, 0, 5, 0,
1060         -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 5, 1,
1061         -2, 2, -1, 2, 1, 2, 4, 2, 5, 2,
1062         -2, 3, 1, 3,
1063         -1, 4, 2, 4,
1064         0, 5, 1, 5, 2, 5,
1065         127
1066 	},
1067 #ifdef LIFE_NAMES
1068 	{"3 bulbs2 (p7)"},
1069 #endif
1070 	{
1071         -6, -8,
1072         -6, -7,
1073         -8, -6, -7, -6, -6, -6,
1074         -3, -5,
1075         -2, -4,
1076         -5, -3, -2, -3,
1077         -4, -2, -3, -2, -2, -2, -1, -2, 0, -2, 2, -2, 3, -2, 6, -2,
1078         -2, -1, 1, -1, 2, -1, 6, -1,
1079         -2, 0, 2, 0, 6, 0,
1080         -1, 1, 2, 1, 3, 1, 7, 1,
1081         -2, 2, -1, 2, 0, 2, 1, 2, 2, 2, 4, 2, 5, 2, 8, 2,
1082         -2, 3, 1, 3,
1083         2, 4,
1084         2, 5,
1085         -2, 6, -1, 6, 0, 6,
1086         1, 7,
1087         2, 8,
1088         127
1089 	},
1090 #ifdef LIFE_NAMES
1091 	{"internal oscillator (p7)"},
1092 #endif
1093 	{
1094         -3, -6,
1095         -4, -5, -3, -5,
1096         -5, -4, -4, -4, -2, -4, -1, -4, 1, -4,
1097         -3, -3, -1, -3, 0, -3, 1, -3,
1098         -6, -2, -4, -2, -3, -2, -1, -2, 2, -2, 3, -2,
1099         -5, -1, -4, -1, -2, -1, 2, -1,
1100         -6, 0, -5, 0, -3, 0, -2, 0, -1, 0, 0, 0, 3, 0,
1101         -4, 1, -3, 1, 1, 1, 3, 1,
1102         -4, 2, -2, 2, 0, 2, 1, 2, 4, 2,
1103         -4, 3, -3, 3, -2, 3, 0, 3, 1, 3, 3, 3, 4, 3, 5, 3,
1104         -1, 4, 0, 4, 2, 4, 3, 4,
1105         1, 5, 2, 5,
1106         127
1107 	},
1108 #ifdef LIFE_NAMES
1109 	{"person (p8)"},
1110 #endif
1111 	{
1112         -1, -2,
1113         -1, -1, 0, -1,
1114         0, 0,
1115         0, 1, 1, 1,
1116         127
1117 	},
1118 #ifdef LIFE_NAMES
1119 	{"snowflake (p8)"},
1120 #endif
1121 	{
1122         -3, -4, -2, -4, -1, -4,
1123         -4, -3, -3, -3, 0, -3, 1, -3,
1124         -4, -2, -1, -2, 2, -2,
1125         -4, -1, -2, -1, -1, -1, 0, -1, 1, -1, 3, -1,
1126         -3, 0, -1, 0, 1, 0, 3, 0,
1127         -3, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1,
1128         -2, 2, 1, 2, 4, 2,
1129         -1, 3, 0, 3, 3, 3, 4, 3,
1130         1, 4, 2, 4, 3, 4,
1131         127
1132 	},
1133 #ifdef LIFE_NAMES
1134 	{"oscillator (p9)"},
1135 #endif
1136 	{
1137         -2, -6, -1, -6,
1138         -4, -5, -3, -5, -2, -5, 0, -5,
1139         -3, -4, -1, -4, 0, -4,
1140         -3, -3, -2, -3, -1, -3, 1, -3,
1141         0, -2, 1, -2,
1142         0, -1,
1143         -1, 0, 0, 0, 1, 0,
1144         -1, 1, 2, 1,
1145         -2, 2, -1, 2, 0, 2, 2, 2,
1146         -2, 3, 0, 3, 3, 3,
1147         -1, 4, 0, 4, 2, 4, 3, 4,
1148         1, 5, 2, 5,
1149         2, 6,
1150         127
1151 	},
1152 #ifdef LIFE_NAMES
1153 	{"Russian saint (p10)"},
1154 #endif
1155 	{
1156         -2, -2, -1, -2, 0, -2, 1, -2,
1157         0, -1,
1158         0, 0, 1, 0, 2, 0,
1159         0, 1,
1160         127
1161 	},
1162 #ifdef LIFE_NAMES
1163 	{"flower (p10)"},
1164 #endif
1165 	{
1166         -2, -2, -1, -2,
1167         -2, -1, 0, -1,
1168         -1, 0, 0, 0,
1169         0, 1,
1170         -1, 2, 0, 2, 1, 2, 2, 2,
1171         127
1172 	},
1173 #ifdef LIFE_NAMES
1174 	{"oscillator1 (p11)"},
1175 #endif
1176 	{
1177         -4, -5,
1178         -5, -4, -4, -4,
1179         -4, -3, -3, -3, -1, -3,
1180         -6, -2, -5, -2, -4, -2, -2, -2, 0, -2,
1181         -4, -1, -2, -1, 1, -1, 2, -1,
1182         -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0, 4, 0, 5, 0,
1183         -4, 1, 0, 1, 1, 1, 4, 1,
1184         2, 2, 3, 2, 4, 2,
1185         4, 3,
1186         5, 4,
1187         127
1188 	},
1189 #ifdef LIFE_NAMES
1190 	{"oscillator2 (p11)"},
1191 #endif
1192 	{
1193         -3, -3, -2, -3, 0, -3,
1194         -3, -2, 0, -2, 1, -2,
1195         -1, -1, 0, -1, 2, -1,
1196         -3, 0, -2, 0, -1, 0, 1, 0, 2, 0,
1197         -2, 1, 0, 1, 1, 1, 3, 1,
1198         -1, 2, 0, 2, 2, 2, 3, 2,
1199         1, 3, 2, 3,
1200         127
1201 	},
1202 #ifdef LIFE_NAMES
1203 	{"eat (p11)"},
1204 #endif
1205 	{
1206         -3, -4, -2, -4, -1, -4,
1207         -4, -3, 0, -3, 1, -3,
1208         -3, -2, -2, -2, 0, -2, 2, -2,
1209         -3, -1, -1, -1, 1, -1, 2, -1,
1210         -2, 0, -1, 0, 1, 0, 3, 0,
1211         -2, 1, 2, 1, 3, 1,
1212         0, 2, 1, 2, 2, 2,
1213         127
1214 	},
1215 #ifdef LIFE_NAMES
1216 	{"6 A's (p11)"},
1217 #endif
1218 	{
1219         -7, -10, -3, -10,
1220         -6, -9, -5, -9, -4, -9, -3, -9,
1221         -5, -8, -3, -8,
1222         -10, -7, -4, -7, -3, -7, 3, -7,
1223         -9, -6, 3, -6,
1224         -9, -5, -8, -5, 3, -5, 4, -5,
1225         -9, -4, -7, -4, 3, -4, 5, -4,
1226         -10, -3, -9, -3, -8, -3, -7, -3, 4, -3, 5, -3, 6, -3, 7, -3,
1227         -7, 3, -6, 3, -5, 3, -4, 3, 7, 3, 8, 3, 9, 3, 10, 3,
1228         -5, 4, -3, 4, 7, 4, 9, 4,
1229         -4, 5, -3, 5, 8, 5, 9, 5,
1230         -3, 6, 9, 6,
1231         -3, 7, 3, 7, 4, 7, 10, 7,
1232         3, 8, 5, 8,
1233         3, 9, 4, 9, 5, 9, 6, 9,
1234         3, 10, 7, 10,
1235         127
1236 	},
1237 #ifdef LIFE_NAMES
1238 	{"vanish (p12)"},
1239 #endif
1240 	{
1241         -3, -5,
1242         -3, -4, -2, -4,
1243         -3, -3, -1, -3,
1244         -2, -2, -1, -2,
1245         0, 2, 1, 2,
1246         0, 3, 2, 3,
1247         1, 4, 2, 4,
1248         2, 5,
1249         127
1250 	},
1251 #ifdef LIFE_NAMES
1252 	{"TIE fighter (p13)"},
1253 #endif
1254 	{
1255         -4, -3, -3, -3, -2, -3, -1, -3, 0, -3, 1, -3,
1256         -1, -2,
1257         -1, -1, 0, -1,
1258         -1, 0, 1, 0,
1259         0, 1, 1, 1,
1260         1, 2,
1261         -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
1262         127
1263 	},
1264 #ifdef LIFE_NAMES
1265 	{"oscillator (p14)"},
1266 #endif
1267 	{
1268         -3, -3,
1269         -4, -2, 1, -2,
1270         -3, -1, -2, -1, 1, -1,
1271         -3, 0, -1, 0, 1, 0,
1272         -2, 1, -1, 1, 2, 1,
1273         -2, 2, 3, 2,
1274         0, 3,
1275         127
1276 	},
1277 #ifdef LIFE_NAMES
1278 	{"bulbs (p14)"},
1279 #endif
1280 	{
1281         -4, -2, -3, -2, 0, -2, 1, -2,
1282         -4, -1, -2, -1, -1, -1, 0, -1, 2, -1,
1283         -3, 0, -1, 0, 3, 0,
1284         -3, 1, -1, 1, 0, 1, 1, 1, 3, 1,
1285         -2, 2, -1, 2, 2, 2, 3, 2,
1286         127
1287 	},
1288 #ifdef LIFE_NAMES
1289 	{"chain (p14)"},
1290 #endif
1291 	{
1292         -6, -1, -5, -1, -2, -1, -1, -1, 2, -1, 3, -1,
1293         -6, 0, -4, 0, -3, 0, -2, 0, 0, 0, 1, 0, 2, 0, 4, 0,
1294         -6, 1, -2, 1, 1, 1, 5, 1,
1295         -5, 2, -3, 2, -2, 2, -1, 2, 1, 2, 2, 2, 3, 2, 5, 2,
1296         -4, 3, -3, 3, 0, 3, 1, 3, 4, 3, 5, 3,
1297         127
1298 	},
1299 #ifdef LIFE_NAMES
1300 	{"6 flies (p14)"},
1301 #endif
1302 	{
1303         -6, -7, -1, -7,
1304         -7, -6, -6, -6, 0, -6, 1, -6,
1305         -3, -3, -2, -3, -1, -3, 0, -3,
1306         -3, -2, -1, -2, 1, -2,
1307         -7, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 6, -1,
1308         -6, 0, -3, 0, -1, 0, 1, 0, 3, 0, 6, 0,
1309         -6, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 7, 1,
1310         -1, 2, 1, 2, 3, 2,
1311         0, 3, 1, 3, 2, 3, 3, 3,
1312         -1, 6, 0, 6, 6, 6, 7, 6,
1313         1, 7, 6, 7,
1314         127
1315 	},
1316 #ifdef LIFE_NAMES
1317 	{"greater than c (p16)"},
1318 #endif
1319 	{
1320         -3, -5,
1321         -2, -4,
1322         -3, -3, -2, -3, -1, -3,
1323         2, -1,
1324         3, 0,
1325         3, 1,
1326         0, 3, 1, 3, 2, 3,
1327         2, 4,
1328         2, 5,
1329         127
1330 	},
1331 #ifdef LIFE_NAMES
1332 	{"flag waver (p16)"},
1333 #endif
1334 	{
1335         -5, -2, -1, -2,
1336         -4, -1, -3, -1, -2, -1, -1, -1, 3, -1, 4, -1,
1337         -3, 0, -1, 0, 4, 0,
1338         -3, 1, -2, 1, -1, 1, 0, 1, 3, 1, 4, 1,
1339         -3, 2, 1, 2, 4, 2,
1340         127
1341 	},
1342 #ifdef LIFE_NAMES
1343 	{"3v (p16)"},
1344 #endif
1345 	{
1346         -6, -6,
1347         -5, -5,
1348         -6, -4, -5, -4, -4, -4,
1349         4, -3,
1350         -1, -2, 4, -2,
1351         0, -1, 4, -1, 5, -1, 6, -1,
1352         0, 0, 1, 0, 2, 0,
1353         0, 1,
1354         1, 4,
1355         1, 5, 2, 5,
1356         1, 6, 3, 6,
1357         127
1358 	},
1359 #ifdef LIFE_NAMES
1360 	{"3 things (p16)"},
1361 #endif
1362 	{
1363         -8, -11,
1364         -8, -10, -7, -10, -6, -10,
1365         -10, -9, -9, -9, -8, -9, -6, -9,
1366         -9, -8, -6, -8,
1367         -9, -7, -8, -7, -7, -7, -5, -7,
1368         -6, -6, -5, -6, -4, -6,
1369         -5, -5, -3, -5,
1370         -4, -4, -3, -4, 6, -4,
1371         6, -3, 7, -3, 8, -3,
1372         3, -2, 4, -2, 5, -2, 6, -2, 8, -2,
1373         3, -1, 5, -1, 8, -1,
1374         4, 0, 5, 0, 6, 0, 7, 0, 9, 0,
1375         8, 1, 9, 1, 10, 1,
1376         -1, 2, 0, 2, 9, 2,
1377         -1, 3, 1, 3,
1378         -1, 4, 0, 4, 1, 4,
1379         -3, 5, -2, 5, -1, 5, 1, 5,
1380         -2, 6, 1, 6,
1381         -2, 7, -1, 7, 0, 7, 2, 7,
1382         1, 8, 2, 8, 3, 8,
1383         2, 9,
1384         127
1385 	},
1386 #ifdef LIFE_NAMES
1387 	{"oscillator (p17)"},
1388 #endif
1389 	{
1390         -3, -6,
1391         -3, -5,
1392         -5, -4, -4, -4, -3, -4, -2, -4, -1, -4, 0, -4,
1393         -3, -3, -1, -3, 0, -3,
1394         -2, -2, -1, -2,
1395         -2, 0, -1, 0, 2, 0,
1396         -3, 1, -2, 1, 0, 1, 1, 1,
1397         -3, 2, 0, 2, 2, 2,
1398         -2, 3, -1, 3, 1, 3, 2, 3,
1399         0, 4, 1, 4, 3, 4, 4, 4,
1400         2, 5, 3, 5,
1401         2, 6,
1402         127
1403 	},
1404 #ifdef LIFE_NAMES
1405 	{"2 portals (p18)"},
1406 #endif
1407 	{
1408         -7, -3, -4, -3, -3, -3, -1, -3, 0, -3, 3, -3,
1409         -8, -2, -7, -2, -3, -2, -2, -2, -1, -2, 0, -2, 4, -2, 5, -2,
1410         -6, 2, -5, 2, -1, 2, 0, 2, 1, 2, 2, 2, 6, 2, 7, 2,
1411         -4, 3, -1, 3, 0, 3, 2, 3, 3, 3, 6, 3,
1412         127
1413 	},
1414 #ifdef LIFE_NAMES
1415 	{"oscillator (p18)"},
1416 #endif
1417 	{
1418         -5, -4, -3, -4,
1419         -4, -3, -3, -3, -2, -3,
1420         -5, -2, -4, -2, -2, -2,
1421         -6, -1, -5, -1, -3, -1, -2, -1, 0, -1, 1, -1, 2, -1, 4, -1,
1422         -6, 0, -4, 0, -3, 0, -1, 0, 1, 0, 3, 0, 4, 0, 5, 0, 6, 0,
1423         -5, 1, -4, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1, 5, 1,
1424         -3, 2, -2, 2, 0, 2, 2, 2, 3, 2, 4, 2, 6, 2,
1425         -3, 3, -1, 3, 4, 3,
1426         127
1427 	},
1428 #ifdef LIFE_NAMES
1429 	{"oscillator (p19)"},
1430 #endif
1431 	{
1432         -6, -4, -2, -4,
1433         -7, -3, -6, -3, -3, -3, -2, -3, -1, -3, 1, -3,
1434         -7, -2, -5, -2, -4, -2, -2, -2, 0, -2, 1, -2, 2, -2,
1435         -6, -1, -5, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 3, -1,
1436         -6, 0, -4, 0, -3, 0, 0, 0, 2, 0, 3, 0,
1437         -4, 1, -2, 1, 0, 1, 1, 1, 2, 1, 4, 1, 5, 1,
1438         0, 2, 1, 2, 3, 2, 4, 2, 5, 2,
1439         1, 3, 2, 3, 3, 3, 6, 3,
1440         3, 4,
1441         127
1442 	},
1443 #ifdef LIFE_NAMES
1444 	{"6 crowns (p19)"},
1445 #endif
1446 	{
1447         -5, -10,
1448         -6, -9, -5, -9, -4, -9, -3, -9,
1449         -5, -8, -3, -8,
1450         -4, -7, -3, -7,
1451         -9, -6, 3, -6,
1452         -10, -5, -9, -5, -8, -5, 3, -5, 4, -5, 5, -5,
1453         -9, -4, -7, -4, 3, -4, 5, -4,
1454         -9, -3, -8, -3, -7, -3, 4, -3, 5, -3, 6, -3,
1455         -6, 3, -5, 3, -4, 3, 7, 3, 8, 3, 9, 3,
1456         -5, 4, -3, 4, 7, 4, 9, 4,
1457         -5, 5, -4, 5, -3, 5, 8, 5, 9, 5, 10, 5,
1458         -3, 6, 9, 6,
1459         3, 7, 4, 7,
1460         3, 8, 5, 8,
1461         3, 9, 4, 9, 5, 9, 6, 9,
1462         5, 10,
1463         127
1464 	},
1465 #ifdef LIFE_NAMES
1466 	{"sparky (p21)"},
1467 #endif
1468 	{
1469         -2, -3,
1470         -3, -2, -2, -2, -1, -2, 0, -2,
1471         -4, -1, -3, -1, -2, -1, 0, -1, 1, -1, 2, -1,
1472         -4, 0, -1, 0, 0, 0, 3, 0,
1473         -3, 1, -2, 1, -1, 1, 1, 1, 2, 1, 3, 1,
1474         -1, 2, 0, 2, 1, 2, 2, 2,
1475         1, 3,
1476         127
1477 	},
1478 #ifdef LIFE_NAMES
1479 	{"vase (p22)"},
1480 #endif
1481 	{
1482         -4, -4, -2, -4, -1, -4,
1483         -3, -3, -2, -3, 0, -3,
1484         0, -2, 3, -2,
1485         1, -1, 3, -1,
1486         1, 0, 4, 0,
1487         -1, 1, 0, 1, 2, 1,
1488         -1, 2, 1, 2, 2, 2,
1489         127
1490 	},
1491 #ifdef LIFE_NAMES
1492 	{"oscillator (p22)"},
1493 #endif
1494 	{
1495         -5, -5,
1496         -4, -4,
1497         -6, -3, -5, -3, -4, -3, -3, -3, -2, -3,
1498         -4, -2, -2, -2,
1499         -4, -1, -3, -1, -2, -1, -1, -1, 0, -1,
1500         -3, 0, -1, 0, 1, 0, 2, 0,
1501         0, 1, 1, 1, 2, 1, 3, 1,
1502         0, 2, 1, 2,
1503         4, 4,
1504         5, 5, 6, 5,
1505         127
1506 	},
1507 #ifdef LIFE_NAMES
1508 	{"broken glasses (p22)"},
1509 #endif
1510 	{
1511         -1, -6,
1512         -3, -5, -2, -5, -1, -5,
1513         -1, -4,
1514         -1, -3, 0, -3, 2, -3,
1515         -1, -2, 1, -2, 2, -2, 3, -2, 4, -2,
1516         0, -1, 1, -1, 2, -1,
1517         -3, 2, -2, 2, -1, 2,
1518         -5, 3, -4, 3, -3, 3, -2, 3, 0, 3,
1519         -3, 4, -1, 4, 0, 4,
1520         0, 5,
1521         0, 6, 1, 6, 2, 6,
1522         0, 7,
1523         127
1524 	},
1525 #ifdef LIFE_NAMES
1526 	{"2 glasses (p22)"},
1527 #endif
1528 	{
1529         -5, -6, -2, -6,
1530         -6, -5, -5, -5, -3, -5, -1, -5, 0, -5,
1531         -6, -4, -4, -4, -3, -4, -2, -4, -1, -4, 1, -4,
1532         -5, -3, -4, -3, 0, -3, 1, -3,
1533         -7, -2, -5, -2, -4, -2, 1, -2, 2, -2, 4, -2,
1534         -5, 2, -3, 2, -2, 2, 3, 2, 4, 2, 6, 2,
1535         -2, 3, -1, 3, 3, 3, 4, 3,
1536         -2, 4, 0, 4, 1, 4, 2, 4, 3, 4, 5, 4,
1537         -1, 5, 0, 5, 2, 5, 4, 5, 5, 5,
1538         1, 6, 4, 6,
1539         127
1540 	},
1541 #ifdef LIFE_NAMES
1542 	{"3 glasses (p22)"},
1543 #endif
1544 	{
1545         -6, -8, -3, -8,
1546         -8, -7, -7, -7, -6, -7, -2, -7, -1, -7, 0, -7,
1547         -8, -6, -6, -6, -1, -6, 1, -6,
1548         -7, -5, -6, -5, 0, -5, 1, -5,
1549         -7, -4, -5, -4, 0, -4, 2, -4,
1550         -7, -3, -6, -3, 2, -3, 3, -3,
1551         -8, -2, -7, -2, 4, -2, 5, -2,
1552         -8, -1, -6, -1, -5, -1, 3, -1, 4, -1, 6, -1,
1553         -7, 0, -6, 0, 5, 0, 6, 0,
1554         -6, 1, 6, 1,
1555         -6, 2, 7, 2,
1556         0, 4, 3, 4,
1557         -3, 5, -2, 5, -1, 5, 0, 5, 2, 5, 4, 5, 5, 5, 6, 5, 7, 5,
1558         -1, 6, 1, 6, 2, 6, 3, 6, 4, 6, 6, 6,
1559         0, 7, 1, 7, 5, 7, 6, 7,
1560         127
1561 	},
1562 #ifdef LIFE_NAMES
1563 	{"oscillator (p26)"},
1564 #endif
1565 	{
1566         -5, -7,
1567         -5, -6, -3, -6,
1568         -6, -5, -5, -5, -4, -5, -3, -5, -2, -5,
1569         -5, -4, -3, -4, -1, -4, 0, -4,
1570         -5, -3, -2, -3, -1, -3, 1, -3,
1571         -3, -2, -2, -2, 1, -2,
1572         -1, -1, 0, -1, 1, -1, 2, -1, 3, -1,
1573         1, 0, 3, 0,
1574         -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1,
1575         -4, 2, -3, 2, -1, 2, 1, 2, 3, 2, 5, 2,
1576         -2, 3, 0, 3, 1, 3, 3, 3,
1577         2, 4, 3, 4, 4, 4,
1578         2, 5, 5, 5,
1579         5, 6,
1580         127
1581 	},
1582 #ifdef LIFE_NAMES
1583 	{"3 erasers (p26)"},
1584 #endif
1585 	{
1586         -6, -6, -5, -6, -4, -6, -3, -6, -2, -6, -1, -6,
1587         -6, -5, -5, -5, -1, -5, 0, -5,
1588         -4, -4, -1, -4,
1589         -4, -3, -3, -3, -2, -3, -1, -3, 0, -3,
1590         -6, -1, -4, -1, 2, -1, 4, -1,
1591         -6, 0, -5, 0, -4, 0, -3, 0, 2, 0, 3, 0, 4, 0, 5, 0,
1592         -5, 1, -2, 1, 2, 1, 5, 1,
1593         -4, 2, -1, 2, 2, 2, 5, 2,
1594         -3, 3, -1, 3, 0, 3, 2, 3, 3, 3, 5, 3,
1595         -2, 4, -1, 4, 4, 4, 5, 4,
1596         -1, 5, 0, 5, 4, 5, 5, 5,
1597         127
1598 	},
1599 #ifdef LIFE_NAMES
1600 	{"A template (p28)"},
1601 #endif
1602 	{
1603         -2, -2, -1, -2,
1604         -8, -1, -2, -1, 0, -1, 6, -1,
1605         -8, 0, -2, 0, -1, 0, 0, 0, 1, 0, 7, 0,
1606         -7, 1, -2, 1, 2, 1, 7, 1,
1607         127
1608 	},
1609 #ifdef LIFE_NAMES
1610 	{"oscillator (p29)"},
1611 #endif
1612 	{
1613         -2, -6,
1614         -2, -5, -1, -5,
1615         -3, -4, -2, -4, 0, -4, 1, -4,
1616         -5, -3, -4, -3, -3, -3, 2, -3, 3, -3, 4, -3,
1617         -4, -2, -2, -2, 2, -2, 4, -2,
1618         -3, -1, -2, -1, -1, -1, 0, -1, 3, -1, 4, -1, 5, -1,
1619         -5, 0, -4, 0, -3, 0, -2, 0, 1, 0, 2, 0, 3, 0,
1620         -5, 1, -4, 1, -1, 1, 0, 1, 1, 1, 2, 1,
1621         -4, 2, -3, 2, -2, 2, 0, 2, 2, 2,
1622         -3, 3, 0, 3,
1623         1, 5,
1624         127
1625 	},
1626 #ifdef LIFE_NAMES
1627 	{"double A template (p39)"},
1628 #endif
1629 	{
1630         -3, -4, -2, -4,
1631         -3, -3, -1, -3,
1632         -7, -2, -3, -2, -2, -2, -1, -2, 0, -2, 4, -2,
1633         -7, -1, -3, -1, 1, -1, 5, -1,
1634         -7, 0, 6, 0,
1635         -6, 1, -2, 1, 2, 1, 6, 1,
1636         -5, 2, -1, 2, 0, 2, 1, 2, 2, 2, 6, 2,
1637         0, 3, 2, 3,
1638         1, 4, 2, 4,
1639         127
1640 	},
1641 #ifdef LIFE_NAMES
1642 	{"rotating oscillator (p42)"},
1643 #endif
1644 	{
1645         0, -2, 1, -2,
1646         -1, -1, 0, -1, 1, -1,
1647         1, 0,
1648         -2, 1, -1, 1, 0, 1, 1, 1,
1649         -2, 2, -1, 2,
1650         127
1651 	},
1652 #ifdef LIFE_NAMES
1653 	{"oscillator (p42)"},
1654 #endif
1655 	{
1656         -2, -3, -1, -3,
1657         -2, -2, 0, -2,
1658         -3, -1, -2, -1, -1, -1, 0, -1,
1659         -3, 0, 1, 0,
1660         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
1661         0, 2,
1662         0, 3,
1663         127
1664 	},
1665 #ifdef LIFE_NAMES
1666 	{"69 (p42)"},
1667 #endif
1668 	{
1669         -3, -8,
1670         -2, -7,
1671         -3, -6, -2, -6,
1672         -3, -5,
1673         -2, -4, -1, -4, 0, -4,
1674         -2, -3, 0, -3,
1675         -1, -2, 0, -2, 1, -2,
1676         -2, 1, -1, 1, 0, 1,
1677         -1, 2, 1, 2,
1678         -1, 3, 0, 3, 1, 3,
1679         2, 4,
1680         1, 5, 2, 5,
1681         1, 6,
1682         2, 7,
1683         127
1684 	},
1685 #ifdef LIFE_NAMES
1686 	{"6 A's (p44)"},
1687 #endif
1688 	{
1689         -8, -12, -4, -12,
1690         -7, -11, -6, -11, -5, -11, -4, -11,
1691         -6, -10, -4, -10,
1692         -5, -9, -4, -9,
1693         -12, -8, 4, -8,
1694         -11, -7, 4, -7,
1695         -11, -6, -10, -6, 4, -6, 5, -6,
1696         -11, -5, -9, -5, 4, -5, 6, -5,
1697         -12, -4, -11, -4, -10, -4, -9, -4, 5, -4, 6, -4, 7, -4, 8, -4,
1698         -8, 4, -7, 4, -6, 4, -5, 4, 9, 4, 10, 4, 11, 4, 12, 4,
1699         -6, 5, -4, 5, 9, 5, 11, 5,
1700         -5, 6, -4, 6, 10, 6, 11, 6,
1701         -4, 7, 11, 7,
1702         -4, 8, 12, 8,
1703         4, 9, 5, 9,
1704         4, 10, 6, 10,
1705         4, 11, 5, 11, 6, 11, 7, 11,
1706         4, 12, 8, 12,
1707         127
1708 	},
1709 #ifdef LIFE_NAMES
1710 	{"2 snowflakes (p44)"},
1711 #endif
1712 	{
1713         -6, -4, 1, -4,
1714         -6, -3, -5, -3, 1, -3, 2, -3,
1715         -7, -2, -6, -2, -4, -2, -3, -2, 0, -2, 1, -2, 3, -2, 4, -2,
1716         -7, -1, -2, -1, 0, -1, 5, -1,
1717         -6, 0, -2, 0, 1, 0, 5, 0,
1718         -6, 1, -1, 1, 1, 1, 6, 1,
1719         -5, 2, -4, 2, -2, 2, -1, 2, 2, 2, 3, 2, 5, 2, 6, 2,
1720         -3, 3, -2, 3, 4, 3, 5, 3,
1721         -2, 4, 5, 4,
1722         127
1723 	},
1724 #ifdef LIFE_NAMES
1725 	{"lightning (p45)"},
1726 #endif
1727 	{
1728         -5, -9,
1729         -5, -8, -4, -8,
1730         -5, -7, -3, -7,
1731         -4, -6, -3, -6,
1732         -4, -5, -2, -5,
1733         -3, -4, -2, -4, -1, -4,
1734         0, 1, 1, 1, 2, 1,
1735         1, 2, 3, 2,
1736         2, 3, 3, 3,
1737         2, 4, 4, 4,
1738         3, 5, 4, 5,
1739         4, 6,
1740         127
1741 	},
1742 #ifdef LIFE_NAMES
1743 	{"oscillator (p46)"},
1744 #endif
1745 	{
1746         -2, -4,
1747         -2, -3, -1, -3, 0, -3,
1748         -4, -2, -3, -2, -2, -2, 0, -2,
1749         -5, -1, -3, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1,
1750         -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 3, 0,
1751         -3, 1, -1, 1, 1, 1, 4, 1,
1752         -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
1753         -1, 3,
1754         -1, 4,
1755         127
1756 	},
1757 #ifdef LIFE_NAMES
1758 	{"tentacle (p66)"},
1759 #endif
1760 	{
1761         -3, -3, -2, -3,
1762         -5, -2, -4, -2, -3, -2, -1, -2,
1763         -5, -1, -3, -1, -1, -1,
1764         -4, 0, -3, 0, -1, 0, 0, 0,
1765         -4, 1, -2, 1, -1, 1, 1, 1, 3, 1,
1766         0, 2, 1, 2, 3, 2, 4, 2, 5, 2,
1767         2, 3, 3, 3,
1768         127
1769 	},
1770 #ifdef LIFE_NAMES
1771 	{"crinkle (p90)"},
1772 #endif
1773 	{
1774         -8, -3, -6, -3, -5, -3, -4, -3, 0, -3, 4, -3, 5, -3, 6, -3, 8, -3,
1775         -7, -2, -6, -2, -4, -2, 0, -2, 1, -2, 5, -2, 7, -2, 8, -2,
1776         -4, -1, -2, -1, -1, -1, 0, -1, 2, -1, 3, -1, 4, -1, 6, -1,
1777         -3, 0, -2, 0, 0, 0, 1, 0, 2, 0, 3, 0, 5, 0, 6, 0,
1778         2, 1,
1779         127
1780 	},
1781 #ifdef LIFE_NAMES
1782 	{"stalk (p8)"},
1783 #endif
1784 	{
1785         -2, -4,
1786         -3, -3, -2, -3,
1787         -3, -2, -1, -2, 0, -2,
1788         -3, -1, -2, -1, -1, -1, 1, -1,
1789         0, 0, 1, 0,
1790         0, 1, 2, 1,
1791         0, 2, 1, 2, 2, 2,
1792         2, 3, 3, 3, 4, 3,
1793         127
1794 	},
1795 #ifdef LIFE_NAMES
1796 	{"ship by a collision of 3 gliders (p15)"},
1797 #endif
1798 	{
1799         7, -4,
1800         8, -3,
1801         8, -2, 10, -2,
1802         -11, -1, -10, -1, 1, -1, 2, -1, 3, -1, 4, -1, 9, -1, 11, -1,
1803         -9, 0, 1, 0, 10, 0,
1804         -8, 1,
1805         -7, 2, 5, 2,
1806         -9, 3,
1807         127
1808 	},
1809 #ifdef LIFE_NAMES
1810 	{"stalk by a collision of 3 gliders"},
1811 #endif
1812 	{
1813         -8, -9,
1814         -5, -8,
1815         -5, -7,
1816         -5, -6,
1817         -6, -5, -5, -5,
1818         -3, 1,
1819         -4, 2, -2, 2,
1820         -3, 3, -1, 3,
1821         -1, 4,
1822         0, 5, 5, 5,
1823         5, 6,
1824         5, 7, 8, 7,
1825         5, 8,
1826         6, 9,
1827         127
1828 	},
1829 #ifdef LIFE_NAMES
1830 	{"stalk by a collision of 2 gilders and eater"},
1831 #endif
1832 	{
1833         3, -6,
1834         3, -5,
1835         -5, -4, 4, -4, 7, -4,
1836         -4, -3, -3, -3, 5, -3,
1837         6, -2,
1838         -7, 1, -6, 1,
1839         -5, 2,
1840         -4, 3,
1841         -3, 4,
1842         -5, 5,
1843         127
1844 	},
1845 #ifdef LIFE_NAMES
1846 	{"3 oscillator glider gun (p42)"},
1847 #endif
1848 	{
1849         5, -6, 6, -6,
1850         6, -5, 7, -5, 9, -5,
1851         6, -4, 8, -4, 9, -4,
1852         7, -3, 8, -3, 10, -3, 11, -3,
1853         8, -2, 10, -2,
1854         8, -1, 10, -1, 11, -1,
1855         8, 0, 9, 0, 10, 0, 12, 0,
1856         10, 1,
1857 
1858         -10, -5,
1859         -11, -4, -10, -4, -8, -4,
1860         -12, -3, -11, -3, -9, -3, -8, -3, -7, -3,
1861         -10, -2, -8, -2, -6, -2,
1862         -10, -1, -9, -1, -7, -1, -6, -1, -5, -1, -4, -1,
1863         -10, 0, -8, 0, -7, 0, -5, 0,
1864 
1865         0, -1, 1, -1,
1866         1, 0, 2, 0, 3, 0,
1867         1, 1, 3, 1,
1868         0, 2, 1, 2, 2, 2, 3, 2,
1869         0, 3, 4, 3,
1870         1, 4, 2, 4, 3, 4, 4, 4, 5, 4,
1871         3, 5,
1872         3, 6,
1873         127
1874 	},
1875 #ifdef LIFE_NAMES
1876 	{"another gun (p20)"},
1877 #endif
1878 	{
1879         -2, -7, -1, -7,
1880         -2, -6,
1881 
1882         -8, -2,
1883         -9, -1, -8, -1, -7, -1, -6, -1, -5, -1,
1884         -8, 0, -6, 0, -5, 0,
1885         -7, 1, -6, 1,
1886         -8, 2, -7, 2,
1887         -10, 3, -9, 3, -8, 3,
1888         -8, 4,
1889         -9, 5, -8, 5, -7, 5,
1890         -6, 6,
1891 
1892         4, 0,
1893         3, 1, 4, 1, 5, 1, 10, 1,
1894         3, 2, 4, 2, 6, 2, 7, 2, 10, 2,
1895         5, 3, 6, 3, 8, 3, 9, 3, 10, 3, 11, 3,
1896         7, 4, 10, 4, 12, 4,
1897         11, 5,
1898         127
1899 	},
1900 };
1901 
1902 static char patterns_6B2o3o4mS2om4o[][2 * NUMPTS + 1] =
1903 {
1904 #ifdef LIFE_NAMES
1905 	{"sym ship (p9)"},
1906 #endif
1907 	{
1908         -3, -3, -2, -3,
1909         -1, -2,
1910         -2, -1, -1, -1, 2, -1,
1911         -1, 1, 0, 1, 3, 1,
1912         1, 2,
1913         0, 3, 1, 3,
1914         127
1915 	},
1916 #ifdef LIFE_NAMES
1917 	{"diagonal puffer (p18)"},
1918 #endif
1919 	{
1920         -2, -4,
1921         -3, -3, -2, -3, -1, -3, 0, -3,
1922         -2, -2, 0, -2,
1923         -2, -1, 1, -1,
1924         -2, 0, 2, 0,
1925         -2, 2, 4, 2,
1926         -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
1927         0, 4, 1, 4, 3, 4, 4, 4,
1928         1, 5, 4, 5,
1929         127
1930 	},
1931 #ifdef LIFE_NAMES
1932 	{"half c (p4)"},
1933 #endif
1934 	{
1935         -2, -1, -1, -1, 1, -1,
1936         -1, 0, 1, 0,
1937         2, 1,
1938         127
1939 	},
1940 #ifdef LIFE_NAMES
1941 	{"2 halves (p4)"},
1942 #endif
1943 	{
1944         -2, -2, -1, -2, 0, -2,
1945         -1, -1, 0, -1,
1946         0, 1, 1, 1,
1947         0, 2, 1, 2, 2, 2,
1948         127
1949 	},
1950 #ifdef LIFE_NAMES
1951 	{"shard (p6)"},
1952 #endif
1953 	{
1954         -2, -3,
1955         -3, -2, -2, -2,
1956         -1, 0, 0, 0,
1957         -1, 1, 2, 1,
1958         -1, 2, 2, 2,
1959         3, 3,
1960         127
1961 	},
1962 #ifdef LIFE_NAMES
1963 	{"mirror image (p6)"},
1964 #endif
1965 	{
1966         -1, -4,
1967         -4, -3, -3, -3,
1968         -3, -2, -2, -2,
1969         -2, -1,
1970         -1, 1,
1971         -1, 2, 0, 2,
1972         -1, 3, 0, 3,
1973         3, 4,
1974         127
1975 	},
1976 #ifdef LIFE_NAMES
1977 	{"antisym image (p6)"},
1978 #endif
1979 	{
1980         -3, -3,
1981         -3, -2, -2, -2,
1982         -2, -1, -1, -1, 4, -1,
1983         -4, 0, 1, 0, 2, 0,
1984         2, 1, 3, 1,
1985         3, 2,
1986         127
1987 	},
1988 #ifdef LIFE_NAMES
1989 	{"broken kaleidoscope (p6)"},
1990 #endif
1991 	{
1992         -3, -4,
1993         -4, -3, -3, -3,
1994         -1, -2, 0, -2, 1, -2,
1995         -1, -1,
1996         0, 1,
1997         1, 2, 2, 2, 3, 2,
1998         -1, 3, 0, 3,
1999         1, 4,
2000         127
2001 	},
2002 #ifdef LIFE_NAMES
2003 	{"broken kaleidoscope2 (p6)"},
2004 #endif
2005 	{
2006         0, -3,
2007         -4, -2, 0, -2,
2008         -5, -1, -4, -1, -2, -1, 0, -1,
2009         -1, 0, 1, 0, 3, 0, 4, 0,
2010         -1, 1, 3, 1,
2011         -1, 2,
2012         127
2013 	},
2014 #ifdef LIFE_NAMES
2015 	{"asym spiral (p6)"},
2016 #endif
2017 	{
2018         -4, -4, -3, -4, 0, -4, 1, -4,
2019         1, -3, 3, -3,
2020         -3, -2, -2, -2, 3, -2,
2021         -2, -1,
2022         2, 1, 3, 1,
2023         1, 2, 3, 2,
2024         2, 3,
2025         127
2026 	},
2027 #ifdef LIFE_NAMES
2028 	{"mirror mirror (p6)"},
2029 #endif
2030 	{
2031         -3, -4, -2, -4,
2032         -4, -3, 0, -3,
2033         -4, -2, -3, -2, 0, -2, 1, -2,
2034         -2, 2, -1, 2, 2, 2, 3, 2,
2035         -1, 3, 3, 3,
2036         1, 4, 2, 4,
2037         127
2038 	},
2039 #ifdef LIFE_NAMES
2040 	{"almost kaleidoscope (p6)"},
2041 #endif
2042 	{
2043         -4, -5,
2044         -3, -4,
2045         -2, -3,
2046         -5, -2, -4, -2, -2, -2, 0, -2, 1, -2, 2, -2,
2047         -3, -1, 0, -1,
2048         -2, 1, 1, 1,
2049         -3, 2, -2, 2, 0, 2, 2, 2, 3, 2, 4, 2,
2050         1, 3,
2051         1, 4,
2052         1, 5,
2053         127
2054 	},
2055 #ifdef LIFE_NAMES
2056 	{"kaleidoscope (p6)"},
2057 #endif
2058 	{
2059         -3, -5,
2060         -2, -4,
2061         -5, -3, -1, -3,
2062         -4, -2, -1, -2, 1, -2, 2, -2, 3, -2,
2063         -3, -1, -2, -1, 1, -1,
2064         -2, 1, -1, 1, 2, 1,
2065         -2, 2, 1, 2, 3, 2, 4, 2, 5, 2,
2066         -2, 3, 2, 3,
2067         2, 4,
2068         2, 5,
2069         127
2070 	},
2071 #ifdef LIFE_NAMES
2072 	{"squashed kaleidoscope (p6)"},
2073 #endif
2074 	{
2075         -1, -5,
2076         -1, -4,
2077         -5, -3, -4, -3, -3, -3, -1, -3, 3, -3,
2078         -2, -2, 0, -2, 3, -2,
2079         2, -1, 3, -1,
2080         -1, 0,
2081         -3, 1, -2, 1, -1, 1, 2, 1, 3, 1,
2082         1, 2, 4, 2,
2083         1, 3, 5, 3,
2084         2, 4,
2085         3, 5,
2086         127
2087 	},
2088 #ifdef LIFE_NAMES
2089 	{"squashed kaleidoscope2 (p6)"},
2090 #endif
2091 	{
2092         -1, -4,
2093         -1, -3,
2094         -5, -2, -4, -2, -3, -2, -1, -2,
2095         -2, -1, 0, -1, 3, -1,
2096         3, 0,
2097         -2, 1, 2, 1, 3, 1,
2098         -4, 2, -3, 2, -2, 2,
2099         0, 3, 2, 3, 3, 3,
2100         0, 4, 4, 4,
2101         1, 5, 5, 5,
2102         2, 6,
2103         127
2104 	},
2105 #ifdef LIFE_NAMES
2106 	{"mirror image (p9)"},
2107 #endif
2108 	{
2109         -3, -3, -2, -3,
2110         -1, -2,
2111         -2, -1, -1, -1, 2, -1,
2112         -1, 1, 0, 1, 3, 1,
2113         1, 2,
2114         0, 3, 1, 3,
2115         127
2116 	},
2117 #ifdef LIFE_NAMES
2118 	{"quasar (p10)"},
2119 #endif
2120 	{
2121         -2, -1, -1, -1, 0, -1,
2122         -1, 0, 0, 0,
2123         0, 1,
2124         127
2125 	},
2126 #ifdef LIFE_NAMES
2127 	{"lily (p12)"},
2128 #endif
2129 	{
2130         -4, -7, -3, -7, -2, -7,
2131         -3, -6, -2, -6,
2132         -8, -5,
2133         -8, -4, -7, -4, -3, -4, -2, -4,
2134         -8, -3, -7, -3, -2, -3, 4, -3,
2135         -5, -2, 2, -2, 4, -2, 5, -2,
2136         -5, -1, -4, -1, -1, -1, 2, -1, 3, -1, 5, -1, 6, -1,
2137         -2, 0, 1, 0,
2138         -1, 2, 2, 2,
2139         -6, 3, -5, 3, -3, 3, -2, 3, 1, 3, 4, 3, 5, 3,
2140         -5, 4, -4, 4, -2, 4, 5, 4,
2141         -4, 5, 2, 5, 7, 5, 8, 5,
2142         2, 6, 3, 6, 7, 6, 8, 6,
2143         8, 7,
2144         2, 8, 3, 8,
2145         2, 9, 3, 9, 4, 9,
2146         127
2147 	},
2148 #ifdef LIFE_NAMES
2149 	{"lily2 (p12)"},
2150 #endif
2151 	{
2152         -7, -8, -6, -8, -5, -8,
2153         -6, -7, -5, -7, 1, -7,
2154         1, -6, 2, -6,
2155         -4, -5, -3, -5, 2, -5, 3, -5,
2156         -3, -4, 1, -4,
2157         -8, -3, 1, -3, 2, -3,
2158         -8, -2, -7, -2, -5, -2, -2, -2, 0, -2,
2159         -8, -1, -7, -1, -5, -1, -4, -1,
2160         -2, 0, 2, 0,
2161         4, 1, 5, 1, 7, 1, 8, 1,
2162         0, 2, 2, 2, 5, 2, 7, 2, 8, 2,
2163         -2, 3, -1, 3, 8, 3,
2164         -1, 4, 3, 4,
2165         -3, 5, -2, 5, 3, 5, 4, 5,
2166         -2, 6, -1, 6,
2167         -1, 7, 5, 7, 6, 7,
2168         5, 8, 6, 8, 7, 8,
2169         127
2170 	},
2171 #ifdef LIFE_NAMES
2172 	{"lily3 (p12)"},
2173 #endif
2174 	{
2175         -8, -9, -7, -9, -6, -9,
2176         -7, -8, -6, -8, 1, -8,
2177         1, -7, 2, -7,
2178         -5, -6, -4, -6, 2, -6, 3, -6,
2179         -5, -5, -4, -5, -3, -5, 0, -5, 1, -5,
2180         1, -4, 2, -4,
2181         -9, -3, 2, -3,
2182         -9, -2, -8, -2, -6, -2, -5, -2,
2183         -9, -1, -8, -1, -6, -1, -5, -1,
2184         -5, 0, 5, 0,
2185         5, 1, 6, 1, 8, 1, 9, 1,
2186         5, 2, 6, 2, 8, 2, 9, 2,
2187         -2, 3, 9, 3,
2188         -2, 4, -1, 4,
2189         -1, 5, 0, 5, 3, 5, 4, 5, 5, 5,
2190         -3, 6, -2, 6, 4, 6, 5, 6,
2191         -2, 7, -1, 7,
2192         -1, 8, 6, 8, 7, 8,
2193         6, 9, 7, 9, 8, 9,
2194         127
2195 	},
2196 #ifdef LIFE_NAMES
2197 	{"shuttle (p16)"},
2198 #endif
2199 	{
2200         -3, -4, -2, -4,
2201         -2, -1, -1, -1, 0, -1,
2202         -2, 0, 1, 0,
2203         -1, 2, 2, 2,
2204         0, 3, 1, 3, 2, 3,
2205         127
2206 	},
2207 #ifdef LIFE_NAMES
2208 	{"double shuttle (p16)"},
2209 #endif
2210 	{
2211         -5, -10, -4, -10,
2212         -6, -9, -5, -9, -3, -9, -2, -9,
2213         -4, -8, -3, -8,
2214         -3, -7,
2215         3, 5,
2216         3, 6, 4, 6,
2217         2, 7, 3, 7, 5, 7, 6, 7,
2218         4, 8, 5, 8,
2219         127
2220 	},
2221 #ifdef LIFE_NAMES
2222 	{"4 glider gunship (p28)"},
2223 #endif
2224 	{
2225         -2, -3, -1, -3, 0, -3,
2226         -3, -2, -2, -2, 3, -2,
2227         -2, -1, 0, -1, 1, -1,
2228         -2, 0, 0, 0, 2, 0, 3, 0,
2229         -1, 1,
2230         -1, 2,
2231         127
2232 	},
2233 #ifdef LIFE_NAMES
2234 	{"reflector"},
2235 #endif
2236 	{
2237         -8, -11,
2238         -8, -10, -7, -10,
2239         -8, -9, -7, -9, -6, -9,
2240         -2, 2, -1, 2,
2241         -3, 3, -2, 3, 0, 3, 1, 3,
2242         -3, 4, -1, 4, 0, 4, 2, 4,
2243         -3, 5, 0, 5, 3, 5,
2244         0, 6, 1, 6,
2245         0, 9, 4, 9,
2246         -1, 11, 2, 11, 4, 11, 7, 11,
2247         0, 12, 2, 12, 5, 12, 7, 12,
2248         2, 13, 3, 13, 4, 13, 5, 13, 6, 13,
2249         127
2250 	},
2251 };
2252 
2253 static char patterns_6B245S3[][2 * NUMPTS + 1] =
2254 {
2255 #ifdef LIFE_NAMES
2256 	{"medium triangle"},
2257 #endif
2258 	{
2259         -1, -2,
2260         -1, 0, 1, 0,
2261         -1, 2, 1, 2, 3, 2,
2262         127
2263 	},
2264 #ifdef LIFE_NAMES
2265 	{"static triangle"},
2266 #endif
2267 	{
2268         -1, -2,
2269         -1, -1, 0, -1,
2270         0, 0,
2271         -1, 1, 0, 1, 1, 1, 2, 1,
2272         -1, 2, 0, 2, 2, 2, 3, 2,
2273         127
2274 	},
2275 #ifdef LIFE_NAMES
2276 	{"half divvy (p4)"},
2277 #endif
2278 	{
2279         -2, -2, -1, -2, 0, -2, 1, -2,
2280         -1, 0, 2, 0,
2281         1, 1,
2282         127
2283 	},
2284 #ifdef LIFE_NAMES
2285 	{"big divvy (p4)"},
2286 #endif
2287 	{
2288         -2, -1, -1, -1, 0, -1, 1, -1,
2289         -1, 1, 0, 1, 1, 1, 2, 1,
2290         127
2291 	},
2292 #ifdef LIFE_NAMES
2293 	{"small triangle (p4)"},
2294 #endif
2295 	{
2296         -2, -1, -1, -1, 0, -1, 1, -1,
2297         -1, 0, 1, 0,
2298         0, 1, 1, 1,
2299         1, 2,
2300         127
2301 	},
2302 #ifdef LIFE_NAMES
2303 	{"snake (p4)"},
2304 #endif
2305 	{
2306         -2, -2,
2307         -2, -1,
2308         -1, 0, 0, 0,
2309         1, 1,
2310         1, 2,
2311         127
2312 	},
2313 #ifdef LIFE_NAMES
2314 	{"divvy (p6)"},
2315 #endif
2316 	{
2317         -2, 0, -1, 0, 0, 0, 1, 0,
2318         127
2319 	},
2320 #ifdef LIFE_NAMES
2321 	{"daisy (p8)"},
2322 #endif
2323 	{
2324         -2, -2,
2325         -3, -1, -2, -1,
2326         0, -1, 1, -1,
2327         0, 0,
2328         3, 1, 2, 1, 0, 1, -1, 1,
2329         2, 2,
2330         127
2331 	},
2332 #ifdef LIFE_NAMES
2333 	{"s (p13)"},
2334 #endif
2335 	{
2336         -2, -3, 0, -3,
2337         -3, -2,
2338         -3, -1, 0, -1, 1, -1,
2339         0, 0, 1, 0, 4, 0,
2340         4, 1,
2341         1, 2, 3, 2,
2342         127
2343 	},
2344 #ifdef LIFE_NAMES
2345 	{"blossom (p57)"},
2346 #endif
2347 	{
2348         -1, -3,
2349         -2, -2, 1, -2,
2350         -2, -1, 2, -1,
2351         -1, 1, 3, 1,
2352         1, 2, 2, 2,
2353         127
2354 	},
2355 };
2356 
2357 static char patterns_7B346S23[][2 * NUMPTS + 1] =
2358 {
2359 #ifdef LIFE_NAMES
2360 	{"clap hands"},
2361 #endif
2362 	{
2363         -1, -2, 2, -2,
2364         -2, -1, -1, -1, 2, -1, 3, -1,
2365         -1, 0, 1, 0, 2, 0,
2366         127
2367 	},
2368 #ifdef LIFE_NAMES
2369 	{"dragonfly"},
2370 #endif
2371 	{
2372         0, -1, 1, -1,
2373         -1, 0, 0, 0, 1, 0, 2, 0,
2374         0, 1, 1, 1,
2375         127
2376 	},
2377 #ifdef LIFE_NAMES
2378 	{"blink"},
2379 #endif
2380 	{
2381         -1, -1, 0, -1, 1, -1, 3, -1,
2382         -2, 0, 0, 0, 1, 0, 3, 0,
2383         -2, 1, 0, 1, 1, 1, 2, 1,
2384         127
2385 	},
2386 #ifdef LIFE_NAMES
2387 	{"antisym blink"},
2388 #endif
2389 	{
2390         -1, -1,
2391         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
2392         2, 1,
2393         127
2394 	},
2395 #ifdef LIFE_NAMES
2396 	{"spiral (p3)"},
2397 #endif
2398 	{
2399         -2, -2, -1, -2, 1, -2,
2400         -3, -1, 2, -1, 3, -1,
2401         -4, 0, -3, 0, 2, 0,
2402         -2, 1, 0, 1, 1, 1,
2403         127
2404 	},
2405 #ifdef LIFE_NAMES
2406 	{"hummingbird (p4)"},
2407 #endif
2408 	{
2409         1, -1,
2410         -1, 0, 0, 0, 2, 0,
2411         -2, 1, 0, 1, 1, 1, 2, 1,
2412         127
2413 	},
2414 #ifdef LIFE_NAMES
2415 	{"bird catch (p4)"},
2416 #endif
2417 	{
2418         -2, -1, 0, -1, 1, -1,
2419         -1, 0, 0, 0, 1, 0, 2, 0,
2420         0, 1, 1, 1,
2421         127
2422 	},
2423 #ifdef LIFE_NAMES
2424 	{"rotor (p4)"},
2425 #endif
2426 	{
2427         -1, -1,
2428         -2, 0, 0, 0, 1, 0, 2, 0, 3, 0,
2429         -2, 1, 2, 1,
2430         127
2431 	},
2432 #ifdef LIFE_NAMES
2433 	{"generator (p4)"},
2434 #endif
2435 	{
2436         -2, -2, -1, -2,
2437         -3, -1, -2, -1, 0, -1,
2438         -3, 1, -1, 1, 0, 1,
2439         -2, 2, -1, 2,
2440         127
2441 	},
2442 #ifdef LIFE_NAMES
2443 	{"bowl (p4)"},
2444 #endif
2445 	{
2446         -3, -1, 0, -1, 1, -1, 4, -1,
2447         -4, 0, -3, 0, 4, 0, 5, 0,
2448         -3, 1, -1, 1, 3, 1, 4, 1,
2449         0, 2,
2450         127
2451 	},
2452 #ifdef LIFE_NAMES
2453 	{"rose (p4)"},
2454 #endif
2455 	{
2456         -2, 0, -1, 0, 0, 0,
2457         -1, 1, 0, 1, 1, 1,
2458         127
2459 	},
2460 #ifdef LIFE_NAMES
2461 	{"exercise (p6)"},
2462 #endif
2463 	{
2464         -3, -1, -2, -1, 0, -1,
2465         -2, 0, -1, 0,
2466         -2, 1, -1, 1,
2467         127
2468 	},
2469 #ifdef LIFE_NAMES
2470 	{"galaxy (p8)"},
2471 #endif
2472 	{
2473         0, -3, 1, -3, 3, -3,
2474         3, -2,
2475         -3, -1, 2, -1, 4, -1,
2476         -3, 0, 4, 0,
2477         -3, 1, -1, 1, 4, 1,
2478         -2, 2,
2479         -2, 3, 0, 3, 1, 3,
2480         127
2481 	},
2482 #ifdef LIFE_NAMES
2483 	{"bears (p9)"},
2484 #endif
2485 	{
2486         1, -4,
2487         0, -3, 1, -3,
2488         -4, -1, -3, -1, -1, -1, 3, -1, 4, -1, 5, -1,
2489         -5, 0, -4, 0, 0, 0, 4, 0, 6, 0,
2490         -6, 1, -5, 1, 6, 1, 7, 1,
2491         -5, 2, -3, 2, 1, 2, 5, 2, 6, 2,
2492         -4, 3, -3, 3, -2, 3, 2, 3, 4, 3, 5, 3,
2493         0, 5, 1, 5,
2494         0, 6,
2495         127
2496 	},
2497 #ifdef LIFE_NAMES
2498 	{"clock (p40)"},
2499 #endif
2500 	{
2501         -3, -1, 0, -1,
2502         -4, 0, -2, 0, 0, 0, 1, 0, 3, 0, 4, 0, 5, 0,
2503         -2, 1, 1, 1,
2504         127
2505 	},
2506 };
2507 
2508 static char patterns_8B3S2ckan3[][2 * NUMPTS + 1] =
2509 {
2510 #ifdef LIFE_NAMES
2511 	{"relate (p3)"},
2512 #endif
2513 	{
2514         0, -2,
2515         0, -1, 1, -1,
2516         -2, 0, -1, 0,
2517         -1, 1,
2518         127
2519 	},
2520 #ifdef LIFE_NAMES
2521 	{"pregunta (p4)"},
2522 #endif
2523 	{
2524         1, -3, 2, -3,
2525         3, -2,
2526         -1, -1, 2, -1,
2527         -1, 0, 1, 0,
2528         -2, 1, 1, 1,
2529         -3, 2,
2530         -2, 3, -1, 3,
2531         127
2532 	},
2533 #ifdef LIFE_NAMES
2534 	{"exchanger (p4)"},
2535 #endif
2536 	{
2537         -2, -3, -1, -3, 0, -3, 1, -3,
2538         -4, -2, -2, -2, 1, -2, 3, -2,
2539         -4, -1, -1, -1, 0, -1, 3, -1,
2540         -4, 0, -1, 0, 0, 0, 3, 0,
2541         -4, 1, -2, 1, 1, 1, 3, 1,
2542         -2, 2, -1, 2, 0, 2, 1, 2,
2543         127
2544 	},
2545 #ifdef LIFE_NAMES
2546 	{"frame (p4)"},
2547 #endif
2548 	{
2549         -5, -6, -2, -6, -1, -6, 0, -6, 1, -6, 4, -6,
2550         -6, -5, -4, -5, -3, -5, -2, -5, -1, -5, 0, -5, 1, -5, 2, -5, 3, -5, 5, -5,
2551         -5, -4, 4, -4,
2552         -5, -3, 4, -3,
2553         -6, -2, -5, -2, 4, -2, 5, -2,
2554         -6, -1, -5, -1, 4, -1, 5, -1,
2555         -6, 0, -5, 0, 4, 0, 5, 0,
2556         -6, 1, -5, 1, 4, 1, 5, 1,
2557         -5, 2, 4, 2,
2558         -5, 3, 4, 3,
2559         -6, 4, -4, 4, -3, 4, -2, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 5, 4,
2560         -5, 5, -2, 5, -1, 5, 0, 5, 1, 5, 4, 5,
2561         127
2562 	},
2563 #ifdef LIFE_NAMES
2564 	{"pound (p5)"},
2565 #endif
2566 	{
2567         -2, -3, 1, -3,
2568         -3, -2, -1, -2, 0, -2, 2, -2,
2569         -2, -1, 1, -1,
2570         -2, 0, 1, 0,
2571         -3, 1, -1, 1, 0, 1, 2, 1,
2572         -2, 2, 1, 2,
2573         127
2574 	},
2575 #ifdef LIFE_NAMES
2576 	{"fence (p8)"},
2577 #endif
2578 	{
2579         -2, -3, -1, -3, 0, -3, 1, -3, 2, -3,
2580         -3, -2, 3, -2,
2581         -4, -1, 4, -1,
2582         -3, 0, 3, 0,
2583         -4, 1, 4, 1,
2584         -3, 2, 3, 2,
2585         -2, 3, -1, 3, 0, 3, 1, 3, 2, 3,
2586         127
2587 	},
2588 #ifdef LIFE_NAMES
2589 	{"4M (p9)"},
2590 #endif
2591 	{
2592         -3, -6, 3, -6,
2593         -2, -5, 2, -5,
2594         -2, -4, 0, -4, 2, -4,
2595         -6, -3, -1, -3, 1, -3, 6, -3,
2596         -5, -2, -4, -2, 4, -2, 5, -2,
2597         -3, -1, 0, -1, 3, -1,
2598         -4, 0, -1, 0, 1, 0, 4, 0,
2599         -3, 1, 0, 1, 3, 1,
2600         -5, 2, -4, 2, 4, 2, 5, 2,
2601         -6, 3, -1, 3, 1, 3, 6, 3,
2602         -2, 4, 0, 4, 2, 4,
2603         -2, 5, 2, 5,
2604         -3, 6, 3, 6,
2605         127
2606 	},
2607 #ifdef LIFE_NAMES
2608 	{"field (p11)"},
2609 #endif
2610 	{
2611         -2, -5, 1, -5,
2612         -1, -4, 0, -4,
2613         -4, -3, 3, -3,
2614         -5, -2, -2, -2, -1, -2, 0, -2, 1, -2, 4, -2,
2615         -2, -1, 1, -1,
2616         -2, 0, 1, 0,
2617         -2, 1, 1, 1,
2618         -2, 2, 1, 2,
2619         -5, 3, -2, 3, -1, 3, 0, 3, 1, 3, 4, 3,
2620         -4, 4, 3, 4,
2621         -1, 5, 0, 5,
2622         -2, 6, 1, 6,
2623         127
2624 	},
2625 #ifdef LIFE_NAMES
2626 	{"2 spinning pi (p28)"},
2627 #endif
2628 	{
2629         -3, -2, -1, -2,
2630         -4, -1, 2, -1,
2631         -3, 0, -1, 0, 1, 0, 3, 0,
2632         -2, 1, 4, 1,
2633         1, 2, 3, 2,
2634         127
2635 	},
2636 #ifdef LIFE_NAMES
2637 	{"4T (p38)"},
2638 #endif
2639 	{
2640         -2, -5,
2641         -2, -4, -1, -4,
2642         -2, -3,
2643         2, -2, 3, -2, 4, -2,
2644         3, -1,
2645         -4, 0,
2646         -5, 1, -4, 1, -3, 1,
2647         1, 2,
2648         0, 3, 1, 3,
2649         1, 4,
2650         127
2651 	},
2652 #ifdef LIFE_NAMES
2653 	{"collision"},
2654 #endif
2655 	{
2656         -4, -1, 1, -1, 2, -1,
2657         -4, 0, -3, 0, 0, 0, 3, 0,
2658         -4, 1, 1, 1, 2, 1,
2659         127
2660 	},
2661 };
2662 
2663 /* This group is for the overlap of both 8S23B3 and 8S23B36 */
2664 
2665 static char patterns_8B3_6S23[][2 * NUMPTS + 1] =
2666 {
2667 #ifdef LIFE_NAMES
2668 	{"almosymmetric, clock (flywheel), blinker"}, /* 0 */
2669 #endif
2670 	{
2671         -1, -4,
2672         -1, -3, 1, -3,
2673         -3, -2,
2674         2, -1, 3, -1,
2675         -4, 0, -3, 0,
2676         2, 1,
2677         -2, 2, 0, 2,
2678         0, 3,
2679 
2680         5, 3,
2681         3, 4, 4, 4,
2682         5, 5, 6, 5,
2683         4, 6,
2684 
2685         8, 0,
2686         8, 1,
2687         8, 2,
2688         127
2689 	},
2690 #ifdef LIFE_NAMES
2691 	{"baker (c p4 fuse)"}, /* 126 */
2692 #endif
2693 	{
2694         6, -7, 7, -7,
2695         5, -6, 7, -6,
2696         4, -5,
2697         3, -4,
2698         2, -3,
2699         1, -2,
2700         0, -1,
2701         -1, 0,
2702         -2, 1,
2703         -3, 2,
2704         -4, 3,
2705         -5, 4,
2706         -8, 5, -7, 5, -6, 5,
2707         -7, 6,
2708         127
2709 	},
2710 #ifdef LIFE_NAMES
2711 	{"barber's pole"}, /* 2 */
2712 #endif
2713 	{
2714         -6, -6, -5, -6,
2715         -6, -5, -4, -5,
2716         -4, -3, -2, -3,
2717         -2, -1, 0, -1,
2718         0, 1, 2, 1,
2719         2, 3, 4, 3,
2720         5, 4,
2721         4, 5, 5, 5,
2722         127
2723 	},
2724 #ifdef LIFE_NAMES
2725 	{"bent keys (p3)"}, /* 3 */
2726 #endif
2727 	{
2728         -5, -2, 4, -2,
2729         -6, -1, -4, -1, 3, -1, 5, -1,
2730         -5, 0, -3, 0, -2, 0, 1, 0, 2, 0, 4, 0,
2731         -2, 1, 1, 1,
2732         -2, 2, 1, 2,
2733         127
2734 	},
2735 #ifdef LIFE_NAMES
2736 	{"blinkers bit pole"}, /* 4 */
2737 #endif
2738 	{
2739         2, -3, 3, -3,
2740         -3, -2, -2, -2, -1, -2, 1, -2, 3, -2,
2741         -2, 0, 0, 0, 3, 0,
2742         -3, 1, 2, 1,
2743         -3, 2, -2, 2, 2, 2,
2744         127
2745 	},
2746 #ifdef LIFE_NAMES
2747 	{"boat maker (c p4 fuse)"}, /* 5 */
2748 #endif
2749 	{
2750         7, -8, 8, -8,
2751         6, -7, 8, -7,
2752         5, -6,
2753         4, -5,
2754         3, -4,
2755         2, -3,
2756         1, -2,
2757         0, -1,
2758         -1, 0,
2759         -2, 1,
2760         -3, 2,
2761         -4, 3,
2762         -9, 4, -8, 4, -7, 4, -6, 4, -5, 4,
2763         -5, 5,
2764         -5, 6,
2765         -5, 7,
2766         -5, 8,
2767         127
2768 	},
2769 #ifdef LIFE_NAMES
2770 	{"by flops"}, /* 6 */
2771 #endif
2772 	{
2773         0, -3,
2774         -2, -2, 0, -2,
2775         2, -1,
2776         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0,
2777         2, 1,
2778         -2, 2, 0, 2,
2779         0, 3,
2780         127
2781 	},
2782 #ifdef LIFE_NAMES
2783 	{"candlefrobra (p3)"}, /* 7 */
2784 #endif
2785 	{
2786         0, -2,
2787         -4, -1, -2, -1, -1, -1, 1, -1, 3, -1, 4, -1,
2788         -5, 0, -3, 0, 1, 0, 3, 0, 4, 0,
2789         -4, 1, 1, 1,
2790         0, 2, 1, 2,
2791         127
2792 	},
2793 #ifdef LIFE_NAMES
2794 	{"clock II (p4)"}, /* 8 */
2795 #endif
2796 	{
2797         -2, -6, -1, -6,
2798         -2, -5, -1, -5,
2799         -2, -3, -1, -3, 0, -3, 1, -3,
2800         -6, -2, -5, -2, -3, -2, 0, -2, 2, -2,
2801         -6, -1, -5, -1, -3, -1, -1, -1, 2, -1,
2802         -3, 0, -1, 0, 2, 0, 4, 0, 5, 0,
2803         -3, 1, 2, 1, 4, 1, 5, 1,
2804         -2, 2, -1, 2, 0, 2, 1, 2,
2805         0, 4, 1, 4,
2806         0, 5, 1, 5,
2807         127
2808 	},
2809 #ifdef LIFE_NAMES
2810 	{"Coe's p8"}, /* 9 */
2811 #endif
2812 	{
2813         -6, -3, -5, -3,
2814         -6, -2, -5, -2, -2, -2, -1, -2,
2815         -1, -1, 0, -1,
2816         -2, 0, 1, 0,
2817         1, 1, 4, 1, 5, 1,
2818         -1, 2, 1, 2, 4, 2, 5, 2,
2819         127
2820 	},
2821 #ifdef LIFE_NAMES
2822 	{"confused eaters (p4)"}, /* 10 */
2823 #endif
2824 	{
2825         -5, -5,
2826         -5, -4, -4, -4, -3, -4,
2827         -2, -3,
2828         -3, -2,
2829         -3, -1, 0, -1,
2830         0, 0,
2831         -2, 1, 0, 1,
2832         -2, 2, -1, 2, 2, 2, 3, 2,
2833         2, 3, 4, 3,
2834         4, 4,
2835         4, 5, 5, 5,
2836         127
2837 	},
2838 #ifdef LIFE_NAMES
2839 	{"cross (p3)"}, /* 11 */
2840 #endif
2841 	{
2842         -2, -4, -1, -4, 0, -4, 1, -4,
2843         -2, -3, 1, -3,
2844         -4, -2, -3, -2, -2, -2, 1, -2, 2, -2, 3, -2,
2845         -4, -1, 3, -1,
2846         -4, 0, 3, 0,
2847         -4, 1, -3, 1, -2, 1, 1, 1, 2, 1, 3, 1,
2848         -2, 2, 1, 2,
2849         -2, 3, -1, 3, 0, 3, 1, 3,
2850         127
2851 	},
2852 #ifdef LIFE_NAMES
2853 	{"cuphook (p3) (in compact form)"}, /* 12 */
2854 #endif
2855 	{
2856         1, -4, 2, -4,
2857         0, -3, 2, -3,
2858         0, -2,
2859         -3, -1, -2, -1, 0, -1,
2860         -3, 0, -2, 0, 0, 0, 3, 0,
2861         0, 1, 2, 1, 3, 1,
2862         0, 2,
2863         -1, 3, 0, 3,
2864         127
2865 	},
2866 #ifdef LIFE_NAMES
2867 	{"diehard (vanishes at 130, longest 7 cells)"}, /* 13 */
2868 #endif
2869 	{
2870         2, -1,
2871         -4, 0, -3, 0,
2872         -3, 1, 1, 1, 2, 1, 3, 1,
2873         127
2874 	},
2875 #ifdef LIFE_NAMES
2876 	{"eater/bound frob (p4)"}, /* 14 */
2877 #endif
2878 	{
2879         -4, -5, -3, -5,
2880         -3, -4,
2881         -3, -3, -1, -3,
2882         -2, -2, 0, -2,
2883         0, -1, 1, -1, 3, -1, 4, -1,
2884         3, 0, 4, 0,
2885         -3, 1, -2, 1,
2886         -2, 2,
2887         -5, 3, -4, 3, -3, 3,
2888         -5, 4,
2889         127
2890 	},
2891 #ifdef LIFE_NAMES
2892 	{"flotilla (school of fish, escort)"}, /* 15 */
2893 #endif
2894 	{
2895         -3, -8, -2, -8, -1, -8, 0, -8,
2896         -4, -7, -3, -7, -2, -7, -1, -7, 0, -7, 1, -7,
2897         -5, -6, -4, -6, -2, -6, -1, -6, 0, -6, 1, -6,
2898         -4, -5, -3, -5,
2899         4, -3, 5, -3,
2900         -6, -2, 7, -2,
2901         -7, -1,
2902         -7, 0, 7, 0,
2903         -7, 1, -6, 1, -5, 1, -4, 1, -3, 1, -2, 1, -1, 1, 0, 1, 1, 1,
2904         	2, 1, 3, 1, 4, 1, 5, 1, 6, 1,
2905         -3, 4, -2, 4, -1, 4, 0, 4,
2906         -4, 5, -3, 5, -2, 5, -1, 5, 0, 5, 1, 5,
2907         -5, 6, -4, 6, -2, 6, -1, 6, 0, 6, 1, 6,
2908         -4, 7, -3, 7,
2909         127
2910 	},
2911 #ifdef LIFE_NAMES
2912 	{"fore and back"}, /* 16 */
2913 #endif
2914 	{
2915         -3, -3, -2, -3, 0, -3, 1, -3,
2916         -3, -2, -2, -2, 0, -2, 2, -2,
2917         3, -1,
2918         -3, 0, -2, 0, -1, 0, 1, 0, 2, 0, 3, 0,
2919         -3, 1,
2920         -2, 2, 0, 2, 2, 2, 3, 2,
2921         -1, 3, 0, 3, 2, 3, 3, 3,
2922         127
2923 	},
2924 #ifdef LIFE_NAMES
2925 	{"fox"}, /* 17 */
2926 #endif
2927 	{
2928         1, -3,
2929         1, -2,
2930         -1, -1, 2, -1,
2931         -3, 0, -2, 0,
2932         1, 1, 3, 1,
2933         -1, 2, 1, 2, 3, 2,
2934         3, 3,
2935         127
2936 	},
2937 #ifdef LIFE_NAMES
2938 	{"French kiss (p3)"}, /* 18 */
2939 #endif
2940 	{
2941         -5, -4,
2942         -5, -3, -4, -3, -3, -3,
2943         -2, -2,
2944         -3, -1, 0, -1, 1, -1,
2945         -3, 0, 2, 0,
2946         -2, 1, -1, 1, 2, 1,
2947         1, 2,
2948         2, 3, 3, 3, 4, 3,
2949         4, 4,
2950         127
2951 	},
2952 #ifdef LIFE_NAMES
2953 	{"fumarole (p5)"}, /* 19 */
2954 #endif
2955 	{
2956         -1, -3, 0, -3,
2957         -3, -2, 2, -2,
2958         -3, -1, 2, -1,
2959         -3, 0, 2, 0,
2960         -2, 1, 1, 1,
2961         -4, 2, -2, 2, 1, 2, 3, 2,
2962         -4, 3, -3, 3, 2, 3, 3, 3,
2963         127
2964 	},
2965 #ifdef LIFE_NAMES
2966 	{"hammer (3 LWSS to 1 MWSS)"}, /* 20 */
2967 #endif
2968 	{
2969         -10, -3, -7, -3,
2970         -6, -2, -2, -2, -1, -2,
2971         -10, -1, -6, -1, -3, -1, -2, -1, -1, -1, 5, -1, 6, -1, 7, -1,
2972         	8, -1,
2973         -9, 0, -8, 0, -7, 0, -6, 0, -3, 0, -2, 0, 0, 0, 5, 0, 9, 0,
2974         -2, 1, -1, 1, 0, 1, 5, 1,
2975         -1, 2, 6, 2, 9, 2,
2976         127
2977 	},
2978 #ifdef LIFE_NAMES
2979 	{"harvester (c p4 fuse)"}, /* 21 */
2980 #endif
2981 	{
2982         7, -7, 8, -7,
2983         6, -6, 8, -6,
2984         5, -5,
2985         4, -4,
2986         3, -3,
2987         2, -2,
2988         1, -1,
2989         0, 0,
2990         -1, 1,
2991         -2, 2,
2992         -3, 3,
2993         -4, 4,
2994         -9, 5, -8, 5, -7, 5, -6, 5, -5, 5,
2995         -9, 6, -8, 6, -7, 6, -6, 6,
2996         -9, 7, -7, 7, -6, 7,
2997         127
2998 	},
2999 #ifdef LIFE_NAMES
3000 	{"hivenudger (c/2, p4)"}, /* 22 */
3001 #endif
3002 	{
3003         -6, -6, -5, -6, -4, -6, -3, -6, 3, -6, 6, -6,
3004         -6, -5, -2, -5, 2, -5,
3005         -6, -4, 2, -4, 6, -4,
3006         -5, -3, -2, -3, 2, -3, 3, -3, 4, -3, 5, -3,
3007         -1, -1, 0, -1,
3008         -1, 0, 0, 0,
3009         -1, 1, 0, 1,
3010         -5, 3, -2, 3, 2, 3, 3, 3, 4, 3, 5, 3,
3011         -6, 4, 2, 4, 6, 4,
3012         -6, 5, -2, 5, 2, 5,
3013         -6, 6, -5, 6, -4, 6, -3, 6, 3, 6, 6, 6,
3014         127
3015 	},
3016 #ifdef LIFE_NAMES
3017 	{"mazing (p4) (pulse1)"}, /* 23 */
3018 #endif
3019 	{
3020         0, -3, 1, -3,
3021         -2, -2, 0, -2,
3022         -3, -1, 3, -1,
3023         -2, 0, 2, 0, 3, 0,
3024         0, 2, 2, 2,
3025         1, 3,
3026         127
3027 	},
3028 #ifdef LIFE_NAMES
3029 	{"muttering moat (example)"}, /* 24 */
3030 #endif
3031 	{
3032         -3, -3, -2, -3,
3033         -3, -2, -1, -2, 1, -2, 2, -2,
3034         2, -1,
3035         -2, 0, 1, 0,
3036         -1, 1,
3037         -1, 2, 1, 2, 3, 2,
3038         2, 3, 3, 3,
3039         127
3040 	},
3041 #ifdef LIFE_NAMES
3042 	{"oscillator0 (p3), from HighLife"}, /* 25 */
3043 #endif
3044 	{
3045         0, -2,
3046         -4, -1, -2, -1, -1, -1, 1, -1, 3, -1, 4, -1,
3047         -5, 0, -3, 0, 1, 0, 3, 0, 4, 0,
3048         -4, 1, 1, 1,
3049         0, 2, 1, 2,
3050         127
3051 	},
3052 #ifdef LIFE_NAMES
3053 	{"oscillator1 (p3), from HighLife"}, /* 26 */
3054 #endif
3055 	{
3056         -3, -2,
3057         -3, -1, -2, -1, -1, -1, 3, -1, 5, -1, 6, -1, 7, -1,
3058         -4, 0, -2, 0, 2, 0, 4, 0,
3059         -7, 1, -6, 1, -5, 1, -3, 1, 1, 1, 2, 1, 3, 1,
3060         3, 2,
3061         127
3062 	},
3063 #ifdef LIFE_NAMES
3064 	{"oscillator4 (p4) (~HW emulator), from HighLife"}, /* 27 */
3065 #endif
3066 	{
3067         -9, -3, -8, -3, -6, -3, -5, -3, -2, -3, -1, -3, 0, -3, 1, -3,
3068         	4, -3, 5, -3, 7, -3, 8, -3,
3069         -11, -2, -8, -2, -6, -2, -3, -2, -2, -2, -1, -2, 0, -2, 1, -2,
3070         	2, -2, 5, -2, 7, -2, 10, -2,
3071         -11, -1, -10, -1, -5, -1, -4, -1, -3, -1, -2, -1, -1, -1,
3072         	0, -1, 1, -1, 2, -1, 3, -1, 4, -1, 9, -1, 10, -1,
3073         -7, 0, -6, 0, 5, 0, 6, 0,
3074         -8, 1, -5, 1, 4, 1, 7, 1,
3075         -7, 2, -6, 2, 5, 2, 6, 2,
3076         127
3077 	},
3078 #ifdef LIFE_NAMES
3079 	{"oscillator0 (p6), from HighLife"}, /* 28 */
3080 #endif
3081 	{
3082         -3, -8, 3, -8,
3083         -3, -7, -2, -7, 2, -7, 3, -7,
3084         -3, -6, -2, -6, 2, -6, 3, -6,
3085         -2, -5, 2, -5,
3086         -1, -3, 0, -3, 1, -3,
3087         -2, -2, 2, -2,
3088         -2, 1, 2, 1,
3089         -1, 2, 0, 2, 1, 2,
3090         -2, 4, 2, 4,
3091         -3, 5, -2, 5, 2, 5, 3, 5,
3092         -3, 6, -2, 6, 2, 6, 3, 6,
3093         -3, 7, 3, 7,
3094         127
3095 	},
3096 #ifdef LIFE_NAMES
3097 	{"phoenix (example)"}, /* 29 */
3098 #endif
3099 	{
3100         0, -4,
3101         -2, -3, 0, -3,
3102         2, -2,
3103         -4, -1, -3, -1,
3104         2, 0, 3, 0,
3105         -3, 1,
3106         -1, 2, 1, 2,
3107         -1, 3,
3108         127
3109 	},
3110 #ifdef LIFE_NAMES
3111 	{"pinwheel (p4)"}, /* 30 */
3112 #endif
3113 	{
3114         -2, -6, -1, -6,
3115         -2, -5, -1, -5,
3116         -2, -3, -1, -3, 0, -3, 1, -3,
3117         -3, -2, -1, -2, 2, -2, 4, -2, 5, -2,
3118         -3, -1, 1, -1, 2, -1, 4, -1, 5, -1,
3119         -6, 0, -5, 0, -3, 0, 0, 0, 2, 0,
3120         -6, 1, -5, 1, -3, 1, 2, 1,
3121         -2, 2, -1, 2, 0, 2, 1, 2,
3122         0, 4, 1, 4,
3123         0, 5, 1, 5,
3124         127
3125 	},
3126 #ifdef LIFE_NAMES
3127 	{"pulsar quadrant (p3)"}, /* 31 */
3128 #endif
3129 	{
3130         1, -4,
3131         -1, -3, 0, -3, 1, -3,
3132         -2, -2, 2, -2, 3, -2,
3133         -4, -1, -1, -1, 2, -1,
3134         -4, 0, 0, 0, 2, 0,
3135         -4, 1, 1, 1,
3136         -2, 3, -1, 3, 0, 3,
3137         127
3138 	},
3139 #ifdef LIFE_NAMES
3140 	{"quad"}, /* 32 */
3141 #endif
3142 	{
3143         -3, -3, -2, -3, 1, -3, 2, -3,
3144         -3, -2, 0, -2, 2, -2,
3145         -2, -1,
3146         1, 0,
3147         -3, 1, -1, 1, 2, 1,
3148         -3, 2, -2, 2, 1, 2, 2, 2,
3149         127
3150 	},
3151 #ifdef LIFE_NAMES
3152 	{"reverse fuse"}, /* 33 */
3153 #endif
3154 	{
3155         6, -6, 7, -6,
3156         5, -5, 7, -5,
3157         4, -4,
3158         3, -3,
3159         2, -2,
3160         1, -1,
3161         0, 0,
3162         -1, 1,
3163         -2, 2,
3164         -3, 3,
3165         -4, 4,
3166         -5, 5,
3167         -7, 6, -6, 6,
3168         127
3169 	},
3170 #ifdef LIFE_NAMES
3171 	{"revolver"}, /* 34 */
3172 #endif
3173 	{
3174         -7, -4, 6, -4,
3175         -7, -3, -6, -3, -5, -3, 0, -3, 4, -3, 5, -3, 6, -3,
3176         -4, -2, -2, -2, 0, -2, 3, -2,
3177         -5, -1, 2, -1, 4, -1,
3178         -5, 0, -3, 0, 4, 0,
3179         -4, 1, -1, 1, 1, 1, 3, 1,
3180         -7, 2, -6, 2, -5, 2, -1, 2, 4, 2, 5, 2, 6, 2,
3181         -7, 3, 6, 3,
3182         127
3183 	},
3184 #ifdef LIFE_NAMES
3185 	{"rotator (p8)"}, /* 35 */
3186 #endif
3187 	{
3188         -6, -7,
3189         -6, -6, -5, -6, -4, -6, 5, -6, 6, -6,
3190         -3, -5, 5, -5,
3191         -4, -4, -3, -4, 3, -4, 5, -4,
3192         3, -3, 4, -3,
3193         -2, -1, -1, -1, 0, -1,
3194         -2, 0, 1, 0,
3195         -2, 1,
3196         -5, 2, -4, 2, -1, 2, 3, 2,
3197         -6, 3, -4, 3, 3, 3,
3198         -6, 4, 2, 4,
3199         -7, 5, -6, 5, 3, 5, 4, 5, 5, 5,
3200         5, 6,
3201         127
3202 	},
3203 #ifdef LIFE_NAMES
3204 	{"second smallest diagonal ship (c/4, p4) (25-cell)"}, /* 36 */
3205 #endif
3206 	{
3207         2, -6, 3, -6,
3208         1, -5, 2, -5,
3209         3, -4,
3210         5, -3, 6, -3,
3211         4, -2,
3212         3, 0, 6, 0,
3213         -5, 1, -4, 1, 2, 1, 3, 1,
3214         -6, 2, -5, 2, 1, 2,
3215         -4, 3, 1, 3, 3, 3,
3216         -2, 4, -1, 4, 2, 4,
3217         -2, 5, -1, 5,
3218         127
3219 	},
3220 #ifdef LIFE_NAMES
3221 	{"sidecar"}, /* 37 */
3222 #endif
3223 	{
3224         -3, -5,
3225         -4, -4, 2, -4,
3226         -4, -3, 2, -3,
3227         -4, -2, -3, -2, -2, -2, -1, -2, 0, -2, 2, -2,
3228         0, 0, 1, 0,
3229         -2, 1, 3, 1,
3230         -3, 2,
3231         -3, 3, 3, 3,
3232         -3, 4, -2, 4, -1, 4, 0, 4, 1, 4, 2, 4,
3233         127
3234 	},
3235 #ifdef LIFE_NAMES
3236 	{"singular flip flop"}, /* 38 */
3237 #endif
3238 	{
3239         -1, -3,
3240         -1, -2, 1, -2,
3241         -3, -1, 2, -1,
3242         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
3243         -1, 2, 0, 2,
3244         -1, 3, 0, 3,
3245         127
3246 	},
3247 #ifdef LIFE_NAMES
3248 	{"skewed quad"}, /* 39 */
3249 #endif
3250 	{
3251         -2, -3, -1, -3,
3252         -2, -2, 2, -2, 3, -2,
3253         -1, -1, 1, -1, 3, -1,
3254         -3, 1, -1, 1, 1, 1,
3255         -3, 2, -2, 2, 2, 2,
3256         1, 3, 2, 3,
3257         127
3258 	},
3259 #ifdef LIFE_NAMES
3260 	{"snake pit II (p3)"}, /* 40 */
3261 #endif
3262 	{
3263         0, -5, 1, -5,
3264         -1, -4, 2, -4,
3265         -1, -3, 1, -3, 2, -3,
3266         -4, -2, -3, -2, -1, -2,
3267         -5, -1, -3, -1, -1, -1, 1, -1, 2, -1, 3, -1, 4, -1,
3268         -5, 0, 5, 0,
3269         -4, 1, -3, 1, -2, 1, -1, 1, 1, 1, 3, 1, 5, 1,
3270         1, 2, 3, 2, 4, 2,
3271         -2, 3, -1, 3, 1, 3,
3272         -2, 4, 1, 4,
3273         -1, 5, 0, 5,
3274         127
3275 	},
3276 #if 0
3277 #ifdef LIFE_NAMES
3278 	{"spark coil"}, /* -- */
3279 #endif
3280 	{
3281         -4, -2, -3, -2, 2, -2, 3, -2,
3282         -4, -1, -2, -1, 1, -1, 3, -1,
3283         -2, 0, 1, 0,
3284         -4, 1, -2, 1, 1, 1, 3, 1,
3285         -4, 2, -3, 2, 2, 2, 3, 2,
3286         127
3287 	},
3288 #endif
3289 #ifdef LIFE_NAMES
3290 	{"star (p3) (big cross)"}, /* 41 */
3291 #endif
3292 	{
3293         0, -5,
3294         -1, -4, 0, -4, 1, -4,
3295         -3, -3, -2, -3, -1, -3, 1, -3, 2, -3, 3, -3,
3296         -3, -2, 3, -2,
3297         -4, -1, -3, -1, 3, -1, 4, -1,
3298         -5, 0, -4, 0, 4, 0, 5, 0,
3299         -4, 1, -3, 1, 3, 1, 4, 1,
3300         -3, 2, 3, 2,
3301         -3, 3, -2, 3, -1, 3, 1, 3, 2, 3, 3, 3,
3302         -1, 4, 0, 4, 1, 4,
3303         0, 5,
3304         127
3305 	},
3306 #ifdef LIFE_NAMES
3307 	{"sym (p4)"}, /* 42 */
3308 #endif
3309 	{
3310         -6, -2, -5, -2, 4, -2, 5, -2,
3311         -6, -1, -5, -1, -3, -1, -2, -1, 1, -1, 2, -1, 4, -1, 5, -1,
3312         -5, 0, -2, 0, 1, 0, 4, 0,
3313         -5, 1, -4, 1, -2, 1, -1, 1, 0, 1, 1, 1, 3, 1, 4, 1,
3314         127
3315 	},
3316 #ifdef LIFE_NAMES
3317 	{"turtle (c/3, p3)"}, /* 43 */
3318 #endif
3319 	{
3320         -4, -5, -3, -5, -2, -5, 6, -5,
3321         -4, -4, -3, -4, 0, -4, 2, -4, 3, -4, 5, -4, 6, -4,
3322         -2, -3, -1, -3, 0, -3, 5, -3,
3323         -4, -2, -1, -2, 1, -2, 5, -2,
3324         -5, -1, 0, -1, 5, -1,
3325         -5, 0, 0, 0, 5, 0,
3326         -4, 1, -1, 1, 1, 1, 5, 1,
3327         -2, 2, -1, 2, 0, 2, 5, 2,
3328         -4, 3, -3, 3, 0, 3, 2, 3, 3, 3, 5, 3, 6, 3,
3329         -4, 4, -3, 4, -2, 4, 6, 4,
3330         127
3331 	},
3332 #ifdef LIFE_NAMES
3333 	{"two eaters (p3)"}, /* 44 */
3334 #endif
3335 	{
3336         -4, -4, -3, -4,
3337         -3, -3,
3338         -3, -2, -1, -2,
3339         -2, -1, -1, -1,
3340         1, 0, 2, 0,
3341         1, 1, 3, 1,
3342         3, 2,
3343         3, 3, 4, 3,
3344         127
3345 	},
3346 #ifdef LIFE_NAMES
3347 	{"two pulsar quadrants (p3) (pulsar 18-22-20)"}, /* 45 */
3348 #endif
3349 	{
3350         0, -4, 1, -4, 2, -4,
3351         -1, -2, 4, -2,
3352         -2, -1, 0, -1, 4, -1,
3353         -4, 0, -3, 0, -2, 0, 1, 0, 4, 0,
3354         2, 1,
3355         0, 2, 1, 2,
3356         0, 3,
3357         0, 4,
3358         127
3359 	},
3360 #ifdef LIFE_NAMES
3361 	{"why not"}, /* 46 */
3362 #endif
3363 	{
3364         0, -3,
3365         0, -2, 2, -2,
3366         -2, -1,
3367         -3, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
3368         -2, 1,
3369         0, 2, 2, 2,
3370         0, 3,
3371         127
3372 	},
3373 #ifdef LIFE_NAMES
3374 	{"windmill (p4)"}, /* 47 */
3375 #endif
3376 	{
3377         2, -9,
3378         0, -8, 1, -8, 3, -8,
3379         -2, -7, -1, -7,
3380         1, -6, 2, -6,
3381         -2, -5, -1, -5, 0, -5,
3382         -9, -3, -8, -3, -7, -3,
3383         -6, -2, -5, -2, -2, -2, -1, -2, 0, -2, 2, -2, 3, -2,
3384         1, -1, 2, -1, 3, -1, 4, -1, 5, -1, 6, -1, 7, -1,
3385         -8, 0, -7, 0, -6, 0, -5, 0, -4, 0, -3, 0, -2, 0,
3386         -4, 1, -3, 1, -1, 1, 0, 1, 1, 1, 4, 1, 5, 1,
3387         6, 2, 7, 2, 8, 2,
3388         -1, 4, 0, 4, 1, 4,
3389         -3, 5, -2, 5,
3390         0, 6, 1, 6,
3391         -4, 7, -2, 7, -1, 7,
3392         -3, 8,
3393         127
3394 	},
3395 #ifdef LIFE_NAMES
3396 	{"worker bee (p9)"}, /* 48 */
3397 #endif
3398 	{
3399         -8, -5, -7, -5, 6, -5, 7, -5,
3400         -7, -4, 6, -4,
3401         -7, -3, -5, -3, 4, -3, 6, -3,
3402         -6, -2, -5, -2, 4, -2, 5, -2,
3403         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
3404         -6, 2, -5, 2, 4, 2, 5, 2,
3405         -7, 3, -5, 3, 4, 3, 6, 3,
3406         -7, 4, 6, 4,
3407         -8, 5, -7, 5, 6, 5, 7, 5,
3408         127
3409 	},
3410 #ifdef LIFE_NAMES
3411 	{"25P3H1V0.2 (c/3, p3) (25 cell)"},
3412 #endif
3413 	{
3414         0, -8,
3415         -1, -7, 1, -7,
3416         -1, -6, 1, -6,
3417         -1, -5,
3418         -2, -3, -1, -3,
3419         -1, -2, 1, -2,
3420         -2, -1, 0, -1,
3421         -2, 0, -1, 0, 0, 0,
3422         -1, 2, 1, 2,
3423         -1, 3, 0, 3,
3424         0, 4,
3425         0, 5, 2, 5,
3426         0, 6, 2, 6,
3427         1, 7,
3428         127
3429 	},
3430 #ifdef LIFE_NAMES
3431 	{"30P5H2V0 (2c/5, p5) (30 cell)"},
3432 #endif
3433 	{
3434         -2, -5,
3435         -3, -4, -2, -4, -1, -4,
3436         -4, -3, -3, -3, -1, -3, 0, -3,
3437         -5, -1, -3, -1, -1, -1, 1, -1, 4, -1,
3438         -6, 0, -5, 0, -1, 0, 3, 0, 4, 0, 5, 0,
3439         -6, 1, -5, 1, -1, 1, 6, 1,
3440         4, 2, 6, 2,
3441         2, 3, 4, 3,
3442         3, 4, 6, 4,
3443         6, 5,
3444         127
3445 	},
3446 #ifdef LIFE_NAMES
3447 	{"37P4H1V0 (c/4, p4) (37 cell)"},
3448 #endif
3449 	{
3450         -8, -6,
3451         -8, -5, 1, -5,
3452         -9, -4, -7, -4, -1, -4, 3, -4,
3453         -1, -3, 3, -3, 4, -3,
3454         -4, -2, -2, -2, -1, -2, 5, -2, 6, -2,
3455         -8, -1, -7, -1, -6, -1, -5, -1, -4, -1, -3, -1, 0, -1, 7, -1,
3456         -7, 0, -6, 0, 1, 0, 5, 0, 6, 0, 7, 0,
3457         1, 1, 5, 1, 7, 1, 8, 1,
3458         4, 2,
3459         9, 3,
3460         8, 4,
3461         8, 5,
3462         127
3463 	},
3464 #ifdef LIFE_NAMES
3465 	{"56P6H1V0 (c/6, p6)"},
3466 #endif
3467 	{
3468         -8, -6, -7, -6, -6, -6, 5, -6, 6, -6, 7, -6,
3469         -13, -5, -12, -5, -11, -5, -9, -5, -1, -5, 0, -5, 8, -5, 10, -5,
3470         	11, -5, 12, -5,
3471         -9, -4, -5, -4, -2, -4, 1, -4, 4, -4, 8, -4,
3472         -9, -3, -3, -3, 2, -3, 8, -3,
3473         -3, -2, -2, -2, 1, -2, 2, -2,
3474         -6, -1, -2, -1, 1, -1, 5, -1,
3475         -6, 0, -4, 0, 3, 0, 5, 0,
3476         -5, 1, -4, 1, -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1,
3477         -3, 2, 2, 2,
3478         -5, 3, 4, 3,
3479         -6, 4, 5, 4,
3480         -5, 5, 4, 5,
3481         127
3482 	},
3483 #ifdef LIFE_NAMES
3484 	{"58P5H1V1 (c/5 diagonal, p5) (58 cell)"},
3485 #endif
3486 	{
3487         9, -11, 10, -11,
3488         9, -10, 10, -10,
3489         8, -9, 11, -9,
3490         5, -8, 6, -8, 8, -8, 11, -8,
3491         11, -7,
3492         3, -6, 4, -6, 8, -6, 11, -6,
3493         3, -5, 4, -5, 10, -5,
3494         4, -4, 6, -4, 7, -4, 8, -4, 9, -4, 10, -4,
3495         5, -3,
3496         2, 0, 3, 0, 4, 0,
3497         2, 1,
3498         0, 2, 1, 2,
3499         -6, 3, -5, 3, 0, 3,
3500         -6, 4, -5, 4, -4, 4, 0, 4,
3501         -8, 5, -3, 5,
3502         -8, 6, -4, 6,
3503         -4, 7,
3504         -9, 8, -8, 8, -6, 8, -4, 8,
3505         -11, 9, -10, 9, -4, 9,
3506         -11, 10, -10, 10, -5, 10, -4, 10,
3507         -9, 11, -8, 11, -7, 11, -6, 11,
3508         127
3509 	},
3510 };
3511 
3512 static char patterns_8B3S23[][2 * NUMPTS + 1] =
3513 {
3514 	/* Lexicon 22-2-02 http://www.argentum.freeserve.co.uk/lex_home.htm */
3515 #ifdef LIFE_NAMES
3516 	{"101 (p5)"}, /* 49 */
3517 #endif
3518 	{
3519         -5, -6, -4, -6, 3, -6, 4, -6,
3520         -6, -5, -4, -5, 3, -5, 5, -5,
3521         -6, -4, 5, -4,
3522         -9, -3, -8, -3, -6, -3, 5, -3, 7, -3, 8, -3,
3523         -9, -2, -8, -2, -6, -2, -4, -2, -1, -2, 0, -2, 3, -2, 5, -2,
3524         	7, -2, 8, -2,
3525         -6, -1, -4, -1, -2, -1, 1, -1, 3, -1, 5, -1,
3526         -6, 0, -4, 0, -2, 0, 1, 0, 3, 0, 5, 0,
3527         -9, 1, -8, 1, -6, 1, -4, 1, -1, 1, 0, 1, 3, 1, 5, 1, 7, 1,
3528         	8, 1,
3529         -9, 2, -8, 2, -6, 2, 5, 2, 7, 2, 8, 2,
3530         -6, 3, 5, 3,
3531         -6, 4, -4, 4, 3, 4, 5, 4,
3532         -5, 5, -4, 5, 3, 5, 4, 5,
3533         127
3534 	},
3535 #ifdef LIFE_NAMES
3536 	{"1-2-3 (p3)"}, /* 50 */
3537 #endif
3538 	{
3539         -3, -4, -2, -4,
3540         -5, -3, -2, -3,
3541         -5, -2, -4, -2, -2, -2, 0, -2, 1, -2,
3542         -4, -1, -2, -1, 1, -1,
3543         -4, 0, 1, 0, 3, 0, 4, 0,
3544         -3, 1, -2, 1, -1, 1, 1, 1, 3, 1, 4, 1,
3545         0, 2,
3546         -1, 3,
3547         -1, 4, 0, 4,
3548         127
3549 	},
3550 #ifdef LIFE_NAMES
3551 	{"1-2-3-4 (p4)"}, /* 51 */
3552 #endif
3553 	{
3554         0, -5,
3555         -1, -4, 1, -4,
3556         -2, -3, 0, -3, 2, -3,
3557         -2, -2, 2, -2,
3558         -5, -1, -4, -1, -2, -1, 0, -1, 2, -1, 4, -1, 5, -1,
3559         -5, 0, -3, 0, 3, 0, 5, 0,
3560         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
3561         0, 3,
3562         -1, 4, 1, 4,
3563         0, 5,
3564         127
3565 	},
3566 #ifdef LIFE_NAMES
3567 	{"Achim's p144"}, /* 52 */
3568 #endif
3569 	{
3570         -14, -9, -13, -9, 12, -9, 13, -9,
3571         -14, -8, -13, -8, 12, -8, 13, -8,
3572         4, -7, 5, -7,
3573         3, -6, 6, -6,
3574         4, -5, 5, -5,
3575         -1, -3, 0, -3, 1, -3,
3576         -1, -2, 1, -2,
3577         -1, -1, 0, -1, 1, -1,
3578         -1, 0, 0, 0,
3579         -2, 1, -1, 1, 0, 1,
3580         -2, 2, 0, 2,
3581         -2, 3, -1, 3, 0, 3,
3582         -6, 5, -5, 5,
3583         -7, 6, -4, 6,
3584         -6, 7, -5, 7,
3585         -14, 8, -13, 8, 12, 8, 13, 8,
3586         -14, 9, -13, 9, 12, 9, 13, 9,
3587         127
3588 	},
3589 #ifdef LIFE_NAMES
3590 	{"Achim's p16"}, /* 53 */
3591 #endif
3592 	{
3593         1, -6, 2, -6,
3594         1, -5, 3, -5,
3595         -4, -4, 1, -4, 3, -4, 4, -4,
3596         -5, -3, -4, -3, 2, -3,
3597         -6, -2, -3, -2,
3598         -6, -1, -5, -1, -4, -1,
3599         4, 1, 5, 1, 6, 1,
3600         3, 2, 6, 2,
3601         -2, 3, 4, 3, 5, 3,
3602         -4, 4, -3, 4, -1, 4, 4, 4,
3603         -3, 5, -1, 5,
3604         -2, 6, -1, 6,
3605         127
3606 	},
3607 #ifdef LIFE_NAMES
3608 	{"Achim (p4)"}, /* 54 */
3609 #endif
3610 	{
3611         -3, -4, -2, -4, 2, -4, 3, -4,
3612         -4, -3, -1, -3, 1, -3, 4, -3,
3613         -4, -2, -2, -2, -1, -2, 1, -2, 2, -2, 4, -2,
3614         -5, -1, -4, -1, 4, -1, 5, -1,
3615         -3, 0, -1, 0, 1, 0, 3, 0,
3616         -5, 1, -4, 1, 4, 1, 5, 1,
3617         -4, 2, -2, 2, -1, 2, 1, 2, 2, 2, 4, 2,
3618         -4, 3, -1, 3, 1, 3, 4, 3,
3619         -3, 4, -2, 4, 2, 4, 3, 4,
3620         127
3621 	},
3622 #ifdef LIFE_NAMES
3623 	{"Achim's p5 (pseudo-barberpole)"}, /* 55 */
3624 #endif
3625 	{
3626         -6, -6, -5, -6,
3627         -6, -5,
3628         -4, -4,
3629         -4, -3, -2, -3,
3630         -2, -1, 0, -1,
3631         0, 1, 2, 1,
3632         2, 3, 3, 3,
3633         5, 4,
3634         4, 5, 5, 5,
3635         127
3636 	},
3637 #ifdef LIFE_NAMES
3638 	{"Achim's p8 (antisym)"}, /* 56 */
3639 #endif
3640 	{
3641         -3, -4, -2, -4,
3642         -4, -3,
3643         -3, -2, 1, -2,
3644         -3, -1, 1, -1, 2, -1,
3645         -1, 0, 1, 0,
3646         -2, 1, -1, 1, 3, 1,
3647         -1, 2, 3, 2,
3648         4, 3,
3649         2, 4, 3, 4,
3650         127
3651 	},
3652 #ifdef LIFE_NAMES
3653 	{"acorn (stabilizes at 5206)"}, /* 58 */
3654 #endif
3655 	{
3656         -2, -1,
3657         0, 0,
3658         -3, 1, -2, 1, 1, 1, 2, 1, 3, 1,
3659         127
3660 	},
3661 #ifdef LIFE_NAMES
3662 	{"A for All (p6)"}, /* 58 */
3663 #endif
3664 	{
3665         -1, -5, 0, -5,
3666         -2, -4, 1, -4,
3667         -2, -3, -1, -3, 0, -3, 1, -3,
3668         -4, -2, -2, -2, 1, -2, 3, -2,
3669         -5, -1, 4, -1,
3670         -5, 0, 4, 0,
3671         -4, 1, -2, 1, 1, 1, 3, 1,
3672         -2, 2, -1, 2, 0, 2, 1, 2,
3673         -2, 3, 1, 3,
3674         -1, 4, 0, 4,
3675         127
3676 	},
3677 #ifdef LIFE_NAMES
3678 	{"airforce (p7)"}, /* 59 */
3679 #endif
3680 	{
3681         0, -7,
3682         -1, -6, 1, -6,
3683         0, -5,
3684         -2, -3, -1, -3, 0, -3, 1, -3, 2, -3,
3685         -3, -2, 3, -2, 5, -2, 6, -2,
3686         -4, -1, -2, -1, -1, -1, 3, -1, 5, -1, 6, -1,
3687         -4, 0, -2, 0, 1, 0, 3, 0,
3688         -7, 1, -6, 1, -4, 1, 0, 1, 1, 1, 3, 1,
3689         -7, 2, -6, 2, -4, 2, 2, 2,
3690         -3, 3, -2, 3, -1, 3, 0, 3, 1, 3,
3691         -1, 5,
3692         -2, 6, 0, 6,
3693         -1, 7,
3694         127
3695 	},
3696 #ifdef LIFE_NAMES
3697 	{"AK47 (almost a gun)"}, /* 60 */
3698 #endif
3699 	{
3700         -12, -6, -11, -6,
3701         -12, -5, -11, -5,
3702         11, -4, 12, -4,
3703         11, -3,
3704         3, -2, 4, -2, 5, -2, 9, -2, 11, -2,
3705         2, -1, 6, -1, 9, -1, 10, -1,
3706         -10, 0, -9, 0, 1, 0, 7, 0,
3707         -11, 1, -9, 1, 1, 1, 7, 1,
3708         -11, 2, 1, 2, 7, 2,
3709         -12, 3, -11, 3, 2, 3, 6, 3,
3710         3, 4, 4, 4, 5, 4, 11, 4, 12, 4,
3711         11, 5, 12, 5,
3712         127
3713 	},
3714 #ifdef LIFE_NAMES
3715 	{"antisym (p4)"}, /* 61 */
3716 #endif
3717 	{
3718         -4, -4, -2, -4,
3719         -4, -3, -1, -3,
3720         -1, -2,
3721         -2, -1, -1, -1, 0, -1, 3, -1, 4, -1, 5, -1,
3722         -5, 0, -4, 0, -3, 0, 0, 0, 1, 0, 2, 0,
3723         1, 1,
3724         1, 2, 4, 2,
3725         2, 3, 4, 3,
3726         127
3727 	},
3728 #ifdef LIFE_NAMES
3729 	{"antisym 2 (p4)"}, /* 62 */
3730 #endif
3731 	{
3732         -3, -3, -1, -3, 2, -3, 4, -3, 5, -3, 6, -3,
3733         -4, -2, -1, -2, 1, -2, 3, -2, 5, -2,
3734         -4, -1,
3735         3, 0,
3736         -6, 1, -4, 1, -2, 1, 0, 1, 3, 1,
3737         -7, 2, -6, 2, -5, 2, -3, 2, 0, 2, 2, 2,
3738         127
3739 	},
3740 #ifdef LIFE_NAMES
3741 	{"aVerage (p5)"}, /* 63 */
3742 #endif
3743 	{
3744         -3, -5, -2, -5,
3745         -2, -4, -1, -4, 0, -4,
3746         -4, -3, 1, -3,
3747         -5, -2, -3, -2, -2, -2, -1, -2, 0, -2, 2, -2,
3748         -5, -1, -3, -1, 2, -1, 5, -1,
3749         -6, 0, -5, 0, -3, 0, -2, 0, -1, 0, 2, 0, 4, 0, 6, 0,
3750         -5, 1, -3, 1, 2, 1, 5, 1,
3751         -5, 2, -3, 2, -2, 2, -1, 2, 0, 2, 2, 2,
3752         -4, 3, 1, 3,
3753         -2, 4, -1, 4, 0, 4,
3754         -3, 5, -2, 5,
3755         127
3756 	},
3757 #ifdef LIFE_NAMES
3758 	{"babbling brook (4 cell rotor)"}, /* 64 */
3759 #endif
3760 	{
3761         -1, -5,
3762         -3, -4, -2, -4, -1, -4, 4, -4, 5, -4,
3763         -4, -3, 0, -3, 1, -3, 4, -3,
3764         -7, -2, -4, -2, -2, -2, -1, -2, 2, -2, 4, -2,
3765         -8, -1, -6, -1, -4, -1, 1, -1, 2, -1, 5, -1, 6, -1,
3766         -7, 0, -6, 0, -3, 0, -2, 0, 3, 0, 5, 0, 7, 0,
3767         -5, 1, -3, 1, 0, 1, 1, 1, 3, 1, 6, 1,
3768         -5, 2, -2, 2, -1, 2, 3, 2,
3769         -6, 3, -5, 3, 0, 3, 1, 3, 2, 3,
3770         0, 4,
3771         127
3772 	},
3773 #ifdef LIFE_NAMES
3774 	{"baker's dozen (p12)"}, /* 65 */
3775 #endif
3776 	{
3777         -11, -5, -10, -5, 0, -5, 1, -5,
3778         -11, -4, -10, -4, -9, -4, -8, -4, -6, -4, 0, -4, 1, -4,
3779         -11, -3, -9, -3, -6, -3, -5, -3, -4, -3,
3780         0, -2,
3781         -7, -1, -6, -1, -1, -1, 1, -1,
3782         -7, 0, -1, 0, 2, 0, 7, 0,
3783         0, 1, 1, 1, 6, 1, 7, 1,
3784         4, 3, 5, 3, 6, 3, 9, 3, 11, 3,
3785         -1, 4, 0, 4, 6, 4, 8, 4, 9, 4, 10, 4, 11, 4,
3786         -1, 5, 0, 5, 10, 5, 11, 5,
3787         127
3788 	},
3789 #ifdef LIFE_NAMES
3790 	{"big glider 2 (c/4 diagonal, p4)"}, /* 66 */
3791 #endif
3792 	{
3793         0, -9, 1, -9,
3794         0, -8, 2, -8,
3795         0, -7,
3796         1, -6, 2, -6, 3, -6,
3797         1, -5, 3, -5, 4, -5, 5, -5,
3798         1, -4, 4, -4, 5, -4,
3799         3, -3, 5, -3, 7, -3, 8, -3,
3800         2, -2, 3, -2, 5, -2, 7, -2,
3801         1, -1, 2, -1, 7, -1,
3802         -9, 0, -8, 0, -7, 0,
3803         -9, 1, -6, 1, -5, 1, -4, 1, -1, 1, 3, 1, 4, 1,
3804         -8, 2, -6, 2, -2, 2, -1, 2,
3805         -6, 3, -5, 3, -3, 3, -2, 3, 1, 3,
3806         -5, 4, -4, 4, 1, 4,
3807         -5, 5, -4, 5, -3, 5, -2, 5,
3808         -3, 7, -2, 7, -1, 7,
3809         -3, 8,
3810         127
3811 	},
3812 #ifdef LIFE_NAMES
3813 	{"big glider 3 (c4 diagonal, p4)"}, /* 67 */
3814 #endif
3815 	{
3816         -1, -8,
3817         -2, -7, -1, -7,
3818         -2, -6, 0, -6,
3819         0, -4, 2, -4,
3820         -2, -3, 0, -3, 2, -3,
3821         -7, -2, -3, -2, -2, -2, 0, -2, 2, -2, 3, -2,
3822         -8, -1, -7, -1, -6, -1, -5, -1, -2, -1, 4, -1,
3823         -8, 0, -5, 0, -4, 0, -2, 0, -1, 0, 3, 0, 4, 0,
3824         -6, 1, -5, 1, 0, 1,
3825         -4, 2, -3, 2, 1, 2,
3826         -3, 3, -2, 3, -1, 3, 2, 3, 4, 3, 5, 3, 6, 3, 7, 3,
3827         -3, 4, 0, 4, 3, 4, 4, 4, 5, 4,
3828         -1, 5, 0, 5, 1, 5,
3829         1, 6, 2, 6, 3, 6,
3830         2, 7, 3, 7,
3831         127
3832 	},
3833 #ifdef LIFE_NAMES
3834 	{"blockers (p8) (oscillator 7)"}, /* 68 */
3835 #endif
3836 	{
3837         -4, -2, -3, -2, -2, -2, -1, -2, 4, -2, 5, -2, 6, -2, 7, -2,
3838         -9, -1, -8, -1, 0, -1, 8, -1,
3839         -9, 0, -8, 0, -5, 0, -4, 0, 0, 0, 3, 0, 4, 0, 8, 0,
3840         -5, 1, -4, 1, -1, 1, 3, 1, 4, 1, 7, 1,
3841         127
3842 	},
3843 #ifdef LIFE_NAMES
3844 	{"boss (p4)"}, /* 69 */
3845 #endif
3846 	{
3847         0, -7,
3848         -1, -6, 1, -6,
3849         -1, -5, 1, -5,
3850         -2, -4, -1, -4, 1, -4, 2, -4,
3851         -3, -3, 3, -3,
3852         -4, -2, -2, -2, 0, -2, 2, -2, 4, -2,
3853         -4, -1, -2, -1, 2, -1, 4, -1,
3854         -5, 0, -4, 0, -2, 0, 2, 0, 4, 0, 5, 0,
3855         -5, 1, -2, 1, 0, 1, 2, 1, 5, 1,
3856         -3, 2, 3, 2,
3857         -2, 3, -1, 3, 1, 3, 2, 3,
3858         -1, 4, 1, 4,
3859         -1, 5, 1, 5,
3860         0, 6,
3861         127
3862 	},
3863 #ifdef LIFE_NAMES
3864 	{"brain (c/3, p3)"}, /* 70 */
3865 #endif
3866 	{
3867         -3, -8, -2, -8, 4, -8,
3868         -5, -7, -4, -7, 4, -7,
3869         -5, -6, -4, -6, -2, -6, 1, -6, 2, -6, 4, -6,
3870         1, -5,
3871         -4, -4, -3, -4, -1, -4, 4, -4,
3872         -4, -3, -3, -3, 0, -3, 1, -3, 2, -3,
3873         -2, -2, 5, -2,
3874         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 5, -1,
3875         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 5, 1,
3876         -2, 2, 5, 2,
3877         -4, 3, -3, 3, 0, 3, 1, 3, 2, 3,
3878         -4, 4, -3, 4, -1, 4, 4, 4,
3879         1, 5,
3880         -5, 6, -4, 6, -2, 6, 1, 6, 2, 6, 4, 6,
3881         -5, 7, -4, 7, 4, 7,
3882         -3, 8, -2, 8, 4, 8,
3883         127
3884 	},
3885 #ifdef LIFE_NAMES
3886 	{"buckaroo (queen bee shuttle, piston) (p30)"}, /* 71 */
3887 #endif
3888 	{
3889         -10, -6,
3890         -12, -5, -10, -5,
3891         -11, -4, -10, -4,
3892         -1, -3,
3893         -3, -2, -1, -2,
3894         -4, -1, -2, -1,
3895         -5, 0, -2, 0, 10, 0, 11, 0,
3896         -4, 1, -2, 1, 10, 1, 11, 1,
3897         -9, 2, -8, 2, -3, 2, -1, 2,
3898         -10, 3, -8, 3, -1, 3,
3899         -10, 4,
3900         -11, 5, -10, 5,
3901         127
3902 	},
3903 #ifdef LIFE_NAMES
3904 	{"bunnies (parent of rabbits, stabilizes at 17332)"}, /* 72 */
3905 #endif
3906 	{
3907         -4, -2, 2, -2,
3908         -2, -1, 2, -1,
3909         -2, 0, 1, 0, 3, 0,
3910         -3, 1, -1, 1,
3911         127
3912 	},
3913 #ifdef LIFE_NAMES
3914 	{"burloaferimeter (p7)"}, /* 73 */
3915 #endif
3916 	{
3917         -1, -5, 0, -5,
3918         0, -4,
3919         -1, -3,
3920         -2, -2, 0, -2, 1, -2, 2, -2,
3921         -2, -1, 0, -1, 3, -1,
3922         -5, 0, -4, 0, -2, 0, 2, 0, 4, 0,
3923         -5, 1, -4, 1, -2, 1, 3, 1,
3924         -1, 2, 0, 2, 1, 2, 2, 2,
3925         -1, 4, 0, 4,
3926         -1, 5, 0, 5,
3927         127
3928 	},
3929 #ifdef LIFE_NAMES
3930 	{"Canada goose (c/4 diagonal, p4)"}, /* 74 */
3931 #endif
3932 	{
3933         -6, -6, -5, -6, -4, -6,
3934         -6, -5, 4, -5, 5, -5,
3935         -5, -4, 2, -4, 3, -4, 4, -4, 6, -4,
3936         -3, -3, -2, -3, 1, -3, 2, -3,
3937         -2, -2,
3938         2, -1,
3939         -2, 0, -1, 0, 3, 0,
3940         -3, 1, -1, 1, 1, 1, 2, 1,
3941         -3, 2, -1, 2, 2, 2, 4, 2, 5, 2,
3942         -4, 3, 1, 3, 2, 3,
3943         -4, 4, -3, 4,
3944         -4, 5, -3, 5,
3945         127
3946 	},
3947 #ifdef LIFE_NAMES
3948 	{"candelabra (p3)"}, /* 75 */
3949 #endif
3950 	{
3951         -4, -3, -3, -3, 2, -3, 3, -3,
3952         -7, -2, -4, -2, 3, -2, 6, -2,
3953         -8, -1, -6, -1, -4, -1, 3, -1, 5, -1, 7, -1,
3954         -7, 0, -4, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0, 6, 0,
3955         -4, 1, -2, 1, 1, 1, 3, 1,
3956         -3, 2, 2, 2,
3957         127
3958 	},
3959 #ifdef LIFE_NAMES
3960 	{"carnival shuttle (p12) (w/ monograms, fencepost)"}, /* 76 */
3961 #endif
3962 	{
3963         14, -3, 18, -3,
3964         -19, -2, -18, -2, -14, -2, -13, -2, 14, -2, 15, -2, 16, -2, 17, -2, 18, -2,
3965         -18, -1, -16, -1, -14, -1, -10, -1, -7, -1, 0, -1, 1, -1, 5, -1, 8, -1, 16, -1,
3966         -18, 0, -17, 0, -15, 0, -14, 0, -11, 0, -10, 0, -6, 0, -5, 0, 0, 0, 1, 0, 4, 0, 5, 0, 9, 0, 10, 0, 15, 0, 17, 0,
3967         -18, 1, -16, 1, -14, 1, -10, 1, -7, 1, 0, 1, 1, 1, 5, 1, 8, 1, 16, 1,
3968         -19, 2, -18, 2, -14, 2, -13, 2, 14, 2, 15, 2, 16, 2, 17, 2, 18, 2,
3969         14, 3, 18, 3,
3970         127
3971 	},
3972 #ifdef LIFE_NAMES
3973 	{"caterer (p3) (question)"}, /* 77 */
3974 #endif
3975 	{
3976         -2, -4, -1, -4, 0, -4,
3977         2, -3,
3978         -3, -2, 2, -2,
3979         1, -1,
3980         -2, 0, -1, 0,
3981         -2, 1,
3982         -2, 2,
3983         -2, 3,
3984         127
3985 	},
3986 #ifdef LIFE_NAMES
3987 	{"cauldron (p8)"}, /* 78 */
3988 #endif
3989 	{
3990         0, -6,
3991         -1, -5, 1, -5,
3992         0, -4,
3993         -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
3994         -5, -1, -3, -1, 3, -1, 5, -1,
3995         -5, 0, -4, 0, -2, 0, 2, 0, 4, 0, 5, 0,
3996         -2, 1, 2, 1,
3997         -2, 2, 2, 2,
3998         -1, 3, 0, 3, 1, 3,
3999         -1, 5, 0, 5, 2, 5,
4000         -1, 6, 1, 6, 2, 6,
4001         127
4002 	},
4003 #if 0
4004 #ifdef LIFE_NAMES
4005 	{"cavity"}, /* -- */
4006 #endif
4007 	{
4008         -4, -4, -3, -4,
4009         -3, -3,
4010         -3, -2, -1, -2, 0, -2,
4011         -2, -1, 1, -1,
4012         1, 0,
4013         0, 1,
4014         1, 2, 2, 2, 3, 2,
4015         3, 3,
4016         127
4017 	},
4018 #endif
4019 #ifdef LIFE_NAMES
4020 	{"chemist (p5)"}, /* 79 */
4021 #endif
4022 	{
4023         0, -6,
4024         0, -5, 1, -5, 2, -5,
4025         3, -4,
4026         -2, -3, -1, -3, 0, -3, 3, -3, 6, -3, 7, -3,
4027         -3, -2, -1, -2, 1, -2, 3, -2, 5, -2, 7, -2,
4028         -3, -1, 1, -1, 3, -1, 5, -1,
4029         -6, 0, -5, 0, -3, 0, 3, 0, 5, 0, 6, 0,
4030         -5, 1, -3, 1, -1, 1, 3, 1,
4031         -7, 2, -5, 2, -3, 2, -1, 2, 1, 2, 3, 2,
4032         -7, 3, -6, 3, -3, 3, 0, 3, 1, 3, 2, 3,
4033         -3, 4,
4034         -2, 5, -1, 5, 0, 5,
4035         0, 6,
4036         127
4037 	},
4038 #ifdef LIFE_NAMES
4039 	{"Coe ship (c/2, p16)"}, /* 80 */
4040 #endif
4041 	{
4042         -1, -4, 0, -4, 1, -4, 2, -4, 3, -4, 4, -4,
4043         -3, -3, -2, -3, 4, -3,
4044         -5, -2, -4, -2, -2, -2, 4, -2,
4045         -1, -1, 3, -1,
4046         1, 0,
4047         1, 1, 2, 1,
4048         0, 2, 1, 2, 2, 2, 3, 2,
4049         0, 3, 1, 3, 3, 3, 4, 3,
4050         2, 4, 3, 4,
4051         127
4052 	},
4053 #ifdef LIFE_NAMES
4054 	{"converter (using Kok's galaxy (p8) (turbine))"}, /* 81 */
4055 #endif
4056 	{
4057         -6, -6, -4, -6, -1, -6,
4058         -6, -5, -5, -5, -4, -5, -2, -5, 0, -5, 1, -5,
4059         -7, -4, 0, -4, 6, -4,
4060         -6, -3, 0, -3, 1, -3, 5, -3, 7, -3,
4061         6, -2, 7, -2,
4062         -7, -1, -6, -1, 0, -1,
4063         -6, 0, 1, 0,
4064         -7, 1, -6, 1, -4, 1, -2, 1, -1, 1, 0, 1,
4065         -5, 2, -2, 2, 0, 2,
4066         5, 3, 6, 3, 7, 3,
4067         5, 4, 7, 4,
4068         5, 5, 7, 5,
4069         127
4070 	},
4071 #ifdef LIFE_NAMES
4072 	{"copperhead (c/10, p10)"}, /* -- */
4073 #endif
4074 	{
4075         -2, -4, -1, -4, 0, -4, 2, -4, 3, -4,
4076         -5, -3, 0, -3, 1, -3, 4, -3, 5, -3,
4077         -6, -2, -5, -2, 1, -2, 6, -2,
4078         -6, -1, -5, -1, 1, -1, 6, -1,
4079         -5, 0, 0, 0, 1, 0, 4, 0, 5, 0,
4080         -2, 1, -1, 1, 0, 1, 2, 1, 3, 1,
4081         127
4082 	},
4083 #ifdef LIFE_NAMES
4084 	{"cousins (p3)"}, /* 82 */
4085 #endif
4086 	{
4087         -1, -3, 1, -3, 2, -3,
4088         -3, -2, -2, -2, -1, -2, 1, -2, 3, -2,
4089         -6, -1, -4, -1, 3, -1,
4090         -6, 0, -5, 0, -3, 0, -2, 0, 0, 0, 1, 0, 3, 0, 5, 0, 6, 0,
4091         -3, 1, -1, 1, 4, 1, 6, 1,
4092         -3, 2, -1, 2, 1, 2, 2, 2, 3, 2,
4093         -2, 3, -1, 3, 1, 3,
4094         127
4095 	},
4096 #ifdef LIFE_NAMES
4097 	{"cross II (p3)"}, /* 83 */
4098 #endif
4099 	{
4100         -4, -6, -3, -6, -2, -6, -1, -6, 1, -6, 2, -6, 3, -6, 4, -6,
4101         -4, -5, -1, -5, 1, -5, 4, -5,
4102         -6, -4, -5, -4, -4, -4, -1, -4, 0, -4, 1, -4, 4, -4, 5, -4,
4103         	6, -4,
4104         -6, -3, 6, -3,
4105         -6, -2, 6, -2,
4106         -6, -1, -5, -1, -4, -1, 4, -1, 5, -1, 6, -1,
4107         -4, 0, 4, 0,
4108         -6, 1, -5, 1, -4, 1, 4, 1, 5, 1, 6, 1,
4109         -6, 2, 6, 2,
4110         -6, 3, 6, 3,
4111         -6, 4, -5, 4, -4, 4, -1, 4, 0, 4, 1, 4, 4, 4, 5, 4, 6, 4,
4112         -4, 5, -1, 5, 1, 5, 4, 5,
4113         -4, 6, -3, 6, -2, 6, -1, 6, 1, 6, 2, 6, 3, 6, 4, 6,
4114         127
4115 	},
4116 #ifdef LIFE_NAMES
4117 	{"crowd (p3)"}, /* 84 */
4118 #endif
4119 	{
4120         4, -7,
4121         2, -6, 3, -6, 4, -6,
4122         -2, -5, -1, -5, 1, -5,
4123         -2, -4, 2, -4,
4124         0, -3, 1, -3, 3, -3,
4125         -4, -2, -3, -2, -2, -2, -1, -2, 3, -2,
4126         -7, -1, -5, -1, 1, -1, 3, -1, 5, -1, 6, -1,
4127         -7, 0, -6, 0, -4, 0, -2, 0, 4, 0, 6, 0,
4128         -4, 1, 0, 1, 1, 1, 2, 1, 3, 1,
4129         -4, 2, -2, 2, -1, 2,
4130         -3, 3, 1, 3,
4131         -2, 4, 0, 4, 1, 4,
4132         -5, 5, -4, 5, -3, 5,
4133         -5, 6,
4134         127
4135 	},
4136 #ifdef LIFE_NAMES
4137 	{"dart (c/3, p3)"}, /* 85 */
4138 #endif
4139 	{
4140         3, -7,
4141         2, -6, 4, -6,
4142         1, -5, 2, -5,
4143         4, -4,
4144         0, -3, 4, -3,
4145         -3, -2, 0, -2,
4146         -4, -1, -2, -1, 1, -1, 2, -1, 3, -1, 4, -1,
4147         -5, 0, -2, 0,
4148         -4, 1, -2, 1, 1, 1, 2, 1, 3, 1, 4, 1,
4149         -3, 2, 0, 2,
4150         0, 3, 4, 3,
4151         4, 4,
4152         1, 5, 2, 5,
4153         2, 6, 4, 6,
4154         3, 7,
4155         127
4156 	},
4157 #ifdef LIFE_NAMES
4158 	{"diag sym (p4)"}, /* 86 */
4159 #endif
4160 	{
4161         -2, -4, 0, -4,
4162         -2, -3, 0, -3, 2, -3, 3, -3,
4163         -4, -2, -3, -2, 2, -2,
4164         0, -1, 1, -1, 2, -1,
4165         -4, 0, -3, 0, -1, 0, 2, 0,
4166         -1, 1, 2, 1,
4167         -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
4168         -3, 3,
4169         127
4170 	},
4171 #ifdef LIFE_NAMES
4172 	{"diamond ring (p3) (stargate repeater)"}, /* 87 */
4173 #endif
4174 	{
4175         0, -6,
4176         -1, -5, 1, -5,
4177         -2, -4, 0, -4, 2, -4,
4178         -2, -3, 2, -3,
4179         -4, -2, -3, -2, 0, -2, 3, -2, 4, -2,
4180         -5, -1, 0, -1, 5, -1,
4181         -6, 0, -4, 0, -2, 0, -1, 0, 1, 0, 2, 0, 4, 0, 6, 0,
4182         -5, 1, 0, 1, 5, 1,
4183         -4, 2, -3, 2, 0, 2, 3, 2, 4, 2,
4184         -2, 3, 2, 3,
4185         -2, 4, 0, 4, 2, 4,
4186         -1, 5, 1, 5,
4187         0, 6,
4188         127
4189 	},
4190 #ifdef LIFE_NAMES
4191 	{"double ewe"}, /* 88 */
4192 #endif
4193 	{
4194         -4, -10, -3, -10,
4195         -3, -9,
4196         -4, -8,
4197         -4, -7, -3, -7,
4198         -1, -6, 0, -6,
4199         -4, -5, -3, -5, -2, -5, 0, -5,
4200         -10, -4, -8, -4, -7, -4, -5, -4,
4201         -10, -3, -9, -3, -7, -3, -5, -3,
4202         -5, -2, -1, -2,
4203         -6, -1, -2, -1, -1, -1, 4, -1, 5, -1,
4204         -6, 0, -5, 0, 0, 0, 1, 0, 5, 0,
4205         0, 1, 4, 1,
4206         4, 2, 6, 2, 8, 2, 9, 2,
4207         4, 3, 6, 3, 7, 3, 9, 3,
4208         -1, 4, 1, 4, 2, 4, 3, 4,
4209         -1, 5, 0, 5,
4210         2, 6, 3, 6,
4211         3, 7,
4212         2, 8,
4213         2, 9, 3, 9,
4214         127
4215 	},
4216 #ifdef LIFE_NAMES
4217 	{"dinner table (p12) (whirly thing)"}, /* 89 */
4218 #endif
4219 	{
4220         -5, -6,
4221         -5, -5, -4, -5, -3, -5, 5, -5, 6, -5,
4222         -2, -4, 5, -4,
4223         -3, -3, -2, -3, 3, -3, 5, -3,
4224         3, -2, 4, -2,
4225         0, -1, 1, -1,
4226         0, 0, 1, 0,
4227         0, 1, 1, 1,
4228         -4, 2, -3, 2,
4229         -5, 3, -3, 3, 2, 3, 3, 3,
4230         -5, 4, 2, 4,
4231         -6, 5, -5, 5, 3, 5, 4, 5, 5, 5,
4232         5, 6,
4233         127
4234 	},
4235 #ifdef LIFE_NAMES
4236 	{"eater-bound pond (p3)"}, /* 90 */
4237 #endif
4238 	{
4239         -6, -6,
4240         -6, -5, -5, -5, -4, -5,
4241         -3, -4,
4242         -4, -3, -3, -3,
4243         -3, -2, -2, -2,
4244         -2, -1, -1, -1,
4245         -3, 0, 0, 0,
4246         -3, 1, 0, 1, 1, 1,
4247         -2, 2, -1, 2, 1, 2, 2, 2, 3, 2,
4248         2, 3, 4, 3,
4249         4, 4,
4250         4, 5, 5, 5,
4251         127
4252 	},
4253 #if 0
4254 #ifdef LIFE_NAMES
4255 	{"eater plug"}, /* -- */
4256 #endif
4257 	{
4258         3, -4,
4259         1, -3, 2, -3, 3, -3,
4260         0, -2,
4261         1, -1,
4262         -2, 0, 1, 0,
4263         -3, 1, -1, 1, 0, 1,
4264         -3, 2,
4265         -4, 3, -3, 3,
4266         127
4267 	},
4268 #endif
4269 #ifdef LIFE_NAMES
4270 	{"edge-repair spaceship (and Hershel) (c/3, p3)"}, /* 91 */
4271 #endif
4272 	{
4273         4, -3,
4274         -12, -2, 3, -2, 4, -2, 5, -2, 6, -2,
4275         -12, -1, -10, -1, -2, -1, 2, -1, 6, -1, 7, -1, 9, -1, 10, -1,
4276         -12, 0, -11, 0, -10, 0, -3, 0, -2, 0, -1, 0, 0, 0, 6, 0,
4277         	9, 0, 10, 0,
4278         -10, 1, -4, 1, 0, 1, 8, 1, 11, 1,
4279         -3, 2, -1, 2, 2, 2,
4280         1, 3,
4281         127
4282 	},
4283 #ifdef LIFE_NAMES
4284 	{"Elkies' p5"}, /* 92 */
4285 #endif
4286 	{
4287         -3, -4,
4288         -4, -3, -1, -3, 0, -3, 1, -3,
4289         -2, -2,
4290         -1, -1, 1, -1, 4, -1,
4291         -2, 0, -1, 0, 1, 0, 2, 0, 3, 0, 4, 0,
4292         0, 1,
4293         0, 2, 2, 2,
4294         1, 3, 2, 3,
4295         127
4296 	},
4297 #ifdef LIFE_NAMES
4298 	{"en retard (p3)"}, /* 93 */
4299 #endif
4300 	{
4301         0, -5,
4302         -1, -4, 1, -4,
4303         -5, -3, -4, -3, -2, -3, 0, -3, 2, -3, 4, -3, 5, -3,
4304         -4, -2, -2, -2, 2, -2, 4, -2,
4305         -5, -1, -2, -1, 0, -1, 2, -1, 5, -1,
4306         -4, 0, -3, 0, 3, 0, 4, 0,
4307         -2, 1, -1, 1, 1, 1, 2, 1,
4308         -2, 2, 0, 2, 2, 2,
4309         -1, 3, 1, 3,
4310         -3, 4, -1, 4, 1, 4, 3, 4,
4311         -3, 5, -2, 5, 2, 5, 3, 5,
4312         127
4313 	},
4314 #ifdef LIFE_NAMES
4315 	{"Eureka (p30) (a pre-pulsar shuttle)"}, /* 94 */
4316 #endif
4317 	{
4318         -8, -5, 7, -5,
4319         -9, -4, -7, -4, 1, -4, 2, -4, 6, -4, 8, -4,
4320         -8, -3, 0, -3, 1, -3, 2, -3, 7, -3,
4321         1, -2, 2, -2,
4322         1, 2, 2, 2,
4323         -8, 3, 0, 3, 1, 3, 2, 3, 7, 3,
4324         -9, 4, -7, 4, 1, 4, 2, 4, 6, 4, 8, 4,
4325         -8, 5, 7, 5,
4326         127
4327 	},
4328 #ifdef LIFE_NAMES
4329 	{"extremely impressive (p6)"}, /* 95 */
4330 #endif
4331 	{
4332         -2, -5, -1, -5,
4333         -3, -4, -1, -4, 0, -4, 1, -4,
4334         -3, -3, 2, -3,
4335         -6, -2, -5, -2, -3, -2, 1, -2, 2, -2,
4336         -6, -1, -5, -1, -3, -1, 3, -1, 4, -1,
4337         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 5, 0,
4338         4, 1, 5, 1,
4339         0, 2,
4340         -1, 3, 1, 3,
4341         0, 4,
4342         127
4343 	},
4344 #ifdef LIFE_NAMES
4345 	{"Fast Forward Force Field with LWSS"}, /* 96 */
4346 #endif
4347 	{
4348         -1, -3, 6, -3,
4349         0, -2, 7, -2, 8, -2,
4350         -6, -1, -5, -1, -2, -1, -1, -1, 0, -1, 6, -1, 7, -1,
4351         -8, 0, -7, 0, -5, 0, -4, 0,
4352         -8, 1, -7, 1, -6, 1, -5, 1, 5, 1,
4353         -7, 2, -6, 2, 4, 2, 5, 2,
4354         4, 3, 6, 3,
4355         127
4356 	},
4357 #if 0
4358 #ifdef LIFE_NAMES
4359 	{"figure-8 (p8)"}, /* -- */
4360 #endif
4361 	{
4362         -3, -3, -2, -3, -1, -3,
4363         -3, -2, -2, -2, -1, -2,
4364         -3, -1, -2, -1, -1, -1,
4365         0, 0, 1, 0, 2, 0,
4366         0, 1, 1, 1, 2, 1,
4367         0, 2, 1, 2, 2, 2,
4368         127
4369 	},
4370 #endif
4371 #ifdef LIFE_NAMES
4372 	{"fireship (c/10, p10)"}, /* -- */
4373 #endif
4374 	{
4375         6, -6,
4376         -1, -5, 5, -5, 7, -5,
4377         -5, -4, -2, -4, 1, -4, 5, -4, 7, -4, 8, -4,
4378         -7, -3, -6, -3, -4, -3, -2, -3, 2, -3, 6, -3,
4379         -9, -2, -8, -2, -6, -2, -5, -2, 3, -2,
4380         -9, -1, -8, -1, -6, -1, -5, -1, 3, -1,
4381         -7, 0, -6, 0, -4, 0, -2, 0, 2, 0, 6, 0,
4382         -5, 1, -2, 1, 1, 1, 5, 1, 7, 1, 8, 1,
4383         -1, 2, 5, 2, 7, 2,
4384         6, 3,
4385         127
4386 	},
4387 #ifdef LIFE_NAMES
4388 	{"fountain (p4)"}, /* 97 */
4389 #endif
4390 	{
4391         0, -7,
4392         -6, -5, -5, -5, -3, -5, 3, -5, 5, -5, 6, -5,
4393         -6, -4, 0, -4, 6, -4,
4394         -5, -3, -4, -3, -2, -3, -1, -3, 1, -3, 2, -3, 4, -3, 5, -3,
4395         -3, -1, -2, -1, 2, -1, 3, -1,
4396         -9, 0, -8, 0, 8, 0, 9, 0,
4397         -9, 1, -6, 1, -2, 1, 0, 1, 2, 1, 6, 1, 9, 1,
4398         -8, 2, -7, 2, -6, 2, -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
4399         	2, 2, 3, 2, 4, 2, 6, 2, 7, 2, 8, 2,
4400         -5, 3, 0, 3, 5, 3,
4401         -6, 4, -5, 4, 5, 4, 6, 4,
4402         -6, 5, 6, 5,
4403         -4, 6, 4, 6,
4404         -5, 7, -4, 7, 4, 7, 5, 7,
4405         127
4406 	},
4407 #ifdef LIFE_NAMES
4408 	{"frog II (p3)"}, /* 98 */
4409 #endif
4410 	{
4411         -3, -6, -2, -6, 2, -6, 3, -6,
4412         -3, -5, -1, -5, 1, -5, 3, -5,
4413         -1, -4, 1, -4,
4414         -2, -3, 0, -3, 2, -3,
4415         -2, -2, -1, -2, 1, -2, 2, -2,
4416         -4, -1, -3, -1, 3, -1, 4, -1,
4417         -5, 0, -2, 0, 0, 0, 2, 0, 5, 0,
4418         -4, 1, -2, 1, 2, 1, 4, 1,
4419         -5, 2, -4, 2, -2, 2, 2, 2, 4, 2, 5, 2,
4420         -1, 3, 0, 3, 1, 3,
4421         -2, 5, 0, 5, 1, 5,
4422         -2, 6, -1, 6, 1, 6,
4423         127
4424 	},
4425 #if 0
4426 #ifdef LIFE_NAMES
4427 	{"garden of eden 12x11"},
4428 #endif
4429 	{
4430         -5, -5, -3, -5, -2, -5, 0, -5, 1, -5, 4, -5,
4431         -4, -4, -2, -4, -1, -4, 0, -4, 2, -4, 3, -4, 4, -4,
4432         -4, -3, -3, -3, -1, -3, 0, -3, 1, -3, 3, -3, 5, -3,
4433         -5, -2, -3, -2, -2, -2, -1, -2, 1, -2, 2, -2, 3, -2, 5, -2,
4434         -6, -1, -5, -1, -4, -1, -3, -1, -2, -1, 1, -1, 2, -1, 3, -1, 4, -1,
4435         -5, 0, -4, 0, -2, 0, -1, 0, 0, 0, 2, 0, 5, 0,
4436         -5, 1, -4, 1, -3, 1, -1, 1, 1, 1, 4, 1,
4437         -5, 2, -4, 2, -2, 2, -1, 2, 0, 2, 3, 2, 4, 2,
4438         -6, 3, -4, 3, -3, 3, -2, 3, 0, 3, 1, 3, 2, 3, 4, 3,
4439         -6, 4, -3, 4, -2, 4, 1, 4, 3, 4, 5, 4,
4440         4, 5
4441         127
4442 	},
4443 #endif
4444 #ifdef LIFE_NAMES
4445 	{"germ (p3)"}, /* 99 */
4446 #endif
4447 	{
4448         -1, -5, 0, -5,
4449         0, -4,
4450         -2, -3,
4451         -3, -2, -1, -2, 0, -2, 1, -2, 2, -2,
4452         -3, -1, 2, -1,
4453         -4, 0, -3, 0, -1, 0,
4454         -3, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
4455         -5, 2, -3, 2, -1, 2, 4, 2,
4456         -5, 3, -4, 3, 0, 3, 1, 3, 2, 3,
4457         2, 4, 3, 4,
4458         127
4459 	},
4460 #ifdef LIFE_NAMES
4461 	{"glasses"}, /* 100 */
4462 #endif
4463 	{
4464         -5, -5, 4, -5,
4465         -7, -4, -6, -4, -5, -4, 4, -4, 5, -4, 6, -4,
4466         -8, -3, 7, -3,
4467         -8, -2, -5, -2, -4, -2, -3, -2, 2, -2, 3, -2, 4, -2, 7, -2,
4468         -9, -1, -8, -1, -6, -1, -2, -1, 1, -1, 5, -1, 7, -1, 8, -1,
4469         -6, 0, -2, 0, -1, 0, 0, 0, 1, 0, 5, 0,
4470         -6, 1, -2, 1, 1, 1, 5, 1,
4471         -5, 2, -4, 2, -3, 2, 2, 2, 3, 2, 4, 2,
4472         -5, 4, -4, 4, -2, 4, 1, 4, 3, 4, 4, 4,
4473         -5, 5, -3, 5, -2, 5, 1, 5, 2, 5, 4, 5,
4474         127
4475 	},
4476 #if 0
4477 #ifdef LIFE_NAMES
4478 	{"glider-block cycle"}, /* -- */
4479 #endif
4480 	{
4481         -1, -3, 0, -3,
4482         -1, -2, 0, -2,
4483         -2, 1, 1, 1,
4484         -4, 2, -2, 2, 1, 2, 3, 2,
4485         -3, 3, -2, 3, 1, 3, 2, 3,
4486         127
4487 	},
4488 #endif
4489 #ifdef LIFE_NAMES
4490 	{"glider pusher"}, /* 101 */
4491 #endif
4492 	{
4493         -3, -10, -2, -10,
4494         -3, -9, -2, -9,
4495         -2, -7,
4496         -3, -6, -1, -6,
4497         -3, -5, -1, -5,
4498         -2, -4,
4499         -5, -1, -4, -1, -2, -1, 0, -1, 1, -1,
4500         -5, 0, 1, 0,
4501         -4, 1, 0, 1,
4502         -11, 2, -3, 2, -2, 2, -1, 2,
4503         -10, 3,
4504         -12, 4, -11, 4, -10, 4,
4505         5, 7, 10, 7,
4506         3, 8, 4, 8, 6, 8, 7, 8, 8, 8, 9, 8, 11, 8, 12, 8,
4507         5, 9, 10, 9,
4508         127
4509 	},
4510 #ifdef LIFE_NAMES
4511 	{"Gosper glider gun (p30)"}, /* 102 */
4512 #endif
4513 	{
4514         6, -4,
4515         5, -3, 6, -3,
4516         -6, -2, -5, -2, 8, -2, 9, -2, 16, -2,
4517         -7, -1, 8, -1, 9, -1, 10, -1, 16, -1, 17, -1,
4518         -18, 0, -17, 0, -8, 0, 8, 0, 9, 1,
4519         -17, 1, -8, 1, 5, 1, 6, 1,
4520         -8, 2, 6, 2,
4521         -7, 3,
4522         -6, 4, -5, 4,
4523         127
4524 	},
4525 #ifdef LIFE_NAMES
4526 	{"Gray counter (p4)"}, /* 103 */
4527 #endif
4528 	{
4529         0, -4,
4530         -1, -3, 1, -3,
4531         -2, -2, 0, -2, 2, -2,
4532         -5, -1, -2, -1, 2, -1, 5, -1,
4533         -6, 0, -4, 0, -2, 0, 2, 0, 4, 0, 6, 0,
4534         -5, 1, -2, 1, 2, 1, 5, 1,
4535         -2, 2, 0, 2, 2, 2,
4536         -1, 3, 1, 3,
4537         0, 4,
4538         127
4539 	},
4540 #if 0
4541 #ifdef LIFE_NAMES
4542 	{"great on-off"}, /* --- */
4543 #endif
4544 	{
4545         -2, -4, -1, -4,
4546         -3, -3, 0, -3,
4547         -3, -2, -1, -2,
4548         -4, -1, -3, -1, -1, -1, 2, -1,
4549         0, 0, 1, 0, 3, 0,
4550         3, 1,
4551         0, 2, 1, 2, 2, 2,
4552         0, 3,
4553         127
4554 	},
4555 #endif
4556 #ifdef LIFE_NAMES
4557 	{"harbor (p5)"}, /* 104 */
4558 #endif
4559 	{
4560         -3, -8, -2, -8, 2, -8, 3, -8,
4561         -3, -7, -1, -7, 1, -7, 3, -7,
4562         -2, -6, 2, -6,
4563         -3, -4, -2, -4, 2, -4, 3, -4,
4564         -8, -3, -7, -3, -4, -3, -2, -3, 2, -3, 4, -3, 7, -3, 8, -3,
4565         -8, -2, -6, -2, -4, -2, -3, -2, 3, -2, 4, -2, 6, -2, 8, -2,
4566         -7, -1, 7, -1,
4567         -7, 1, 7, 1,
4568         -8, 2, -6, 2, -4, 2, -3, 2, 3, 2, 4, 2, 6, 2, 8, 2,
4569         -8, 3, -7, 3, -4, 3, -2, 3, 2, 3, 4, 3, 7, 3, 8, 3,
4570         -3, 4, -2, 4, 2, 4, 3, 4,
4571         -2, 6, 2, 6,
4572         -3, 7, -1, 7, 1, 7, 3, 7,
4573         -3, 8, -2, 8, 2, 8, 3, 8,
4574         127
4575 	},
4576 #ifdef LIFE_NAMES
4577 	{"Hertz oscillator (p8)"}, /* 105 */
4578 #endif
4579 	{
4580         -2, -5, -1, -5,
4581         -2, -4, -1, -4,
4582         -7, -2, -6, -2, -2, -2, -1, -2, 0, -2, 1, -2, 5, -2, 6, -2,
4583         -7, -1, -5, -1, -3, -1, 2, -1, 4, -1, 6, -1,
4584         -5, 0, -3, 0, -2, 0, 2, 0, 4, 0,
4585         -6, 1, -5, 1, -3, 1, 2, 1, 4, 1, 5, 1,
4586         -2, 2, -1, 2, 0, 2, 1, 2,
4587         -2, 4, -1, 4,
4588         -2, 5, -1, 5,
4589         127
4590 	},
4591 #ifdef LIFE_NAMES
4592 	{"hustler (p3)"}, /* 106 */
4593 #endif
4594 	{
4595         0, -6, 1, -6,
4596         0, -5, 1, -5,
4597         -2, -3, -1, -3, 0, -3, 1, -3,
4598         -5, -2, -3, -2, 2, -2,
4599         -5, -1, -4, -1, -2, -1, 2, -1,
4600         -2, 0, 2, 0, 4, 0, 5, 0,
4601         -2, 1, 3, 1, 5, 1,
4602         -1, 2, 0, 2, 1, 2, 2, 2,
4603         -1, 4, 0, 4,
4604         -1, 5, 0, 5,
4605         127
4606 	},
4607 #ifdef LIFE_NAMES
4608 	{"hustler II (p4)"}, /* 107 */
4609 #endif
4610 	{
4611         -4, -6,
4612         -4, -5, -3, -5, -2, -5,
4613         -1, -4,
4614         -2, -3, 1, -3, 2, -3,
4615         -8, -2, -6, -2, -5, -2, -3, -2, -1, -2, 0, -2, 3, -2,
4616         -8, -1, -7, -1, -5, -1, -3, -1, 3, -1,
4617         -3, 0, 2, 0,
4618         -4, 1, 2, 1, 4, 1, 6, 1, 7, 1,
4619         -4, 2, -1, 2, 0, 2, 2, 2, 4, 2, 5, 2, 7, 2,
4620         -3, 3, -2, 3, 1, 3,
4621         0, 4,
4622         1, 5, 2, 5, 3, 5,
4623         3, 6,
4624         127
4625 	},
4626 #ifdef LIFE_NAMES
4627 	{"HW emulator (p4)"}, /* 108 */
4628 #endif
4629 	{
4630         -1, -3, 0, -3,
4631         -6, -2, -5, -2, -3, -2, 2, -2, 4, -2, 5, -2,
4632         -6, -1, 5, -1,
4633         -5, 0, -4, 0, 3, 0, 4, 0,
4634         -8, 1, -7, 1, -6, 1, -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
4635         	5, 1, 6, 1, 7, 1,
4636         -8, 2, -5, 2, 4, 2, 7, 2,
4637         -7, 3, -6, 3, 5, 3, 6, 3,
4638         127
4639 	},
4640 #ifdef LIFE_NAMES
4641 	{"infinite growth 1 (from smallest number)"}, /* 109 */
4642 #endif
4643 	{
4644         2, -3,
4645         0, -2, 2, -2, 3, -2,
4646         0, -1, 2, -1,
4647         0, 0,
4648         -2, 1,
4649         -4, 2, -2, 2,
4650         127
4651 	},
4652 #ifdef LIFE_NAMES
4653 	{"infinite growth 2 (from smallest area)"}, /* 110 */
4654 #endif
4655 	{
4656         -2, -2, -1, -2, 0, -2, 2, -2,
4657         -2, -1,
4658         1, 0, 2, 0,
4659         -1, 1, 0, 1, 2, 1,
4660         -2, 2, 0, 2, 2, 2,
4661         127
4662 	},
4663 #ifdef LIFE_NAMES
4664 	{"infinite growth 3 (from 1 dimension)"}, /* 111 */
4665 #endif
4666 	{
4667         -19, 0, -18, 0, -17, 0, -16, 0, -15, 0, -14, 0, -13, 0,
4668         	-12, 0, -10, 0, -9, 0, -8, 0, -7, 0, -6, 0, -2, 0,
4669         	 -1, 0, 0, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0,
4670         	 13, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
4671         127
4672 	},
4673 #ifdef LIFE_NAMES
4674 	{"jack (p4)"}, /* 112 */
4675 #endif
4676 	{
4677         -3, -4, 3, -4,
4678         -3, -3, -2, -3, 2, -3, 3, -3,
4679         -6, -2, -3, -2, -2, -2, 2, -2, 3, -2, 6, -2,
4680         -6, -1, -5, -1, -4, -1, -1, -1, 1, -1, 4, -1, 5, -1, 6, -1,
4681         -1, 0, 1, 0,
4682         -6, 1, -5, 1, -4, 1, -1, 1, 1, 1, 4, 1, 5, 1, 6, 1,
4683         -6, 2, -3, 2, -2, 2, 2, 2, 3, 2, 6, 2,
4684         -3, 3, -2, 3, 2, 3, 3, 3,
4685         -3, 4, 3, 4,
4686         127
4687 	},
4688 #ifdef LIFE_NAMES
4689 	{"jam (p3)"}, /* 113 */
4690 #endif
4691 	{
4692         0, -3, 1, -3,
4693         -1, -2, 2, -2,
4694         -3, -1, 0, -1, 2, -1,
4695         -3, 0, 1, 0,
4696         -3, 1,
4697         0, 2,
4698         -2, 3, -1, 3,
4699         127
4700 	},
4701 #if 0
4702 #ifdef LIFE_NAMES
4703 	{"Kok's galaxy (p8)"}, /* --- */
4704 #endif
4705 	{
4706         -4, -4, -3, -4, -2, -4, -1, -4, 0, -4, 1, -4, 3, -4, 4, -4,
4707         -4, -3, -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 3, -3, 4, -3,
4708         3, -2, 4, -2,
4709         -4, -1, -3, -1, 3, -1, 4, -1,
4710         -4, 0, -3, 0, 3, 0, 4, 0,
4711         -4, 1, -3, 1, 3, 1, 4, 1,
4712         -4, 2, -3, 2,
4713         -4, 3, -3, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
4714         -4, 4, -3, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4,
4715         127
4716 	},
4717 #endif
4718 #ifdef LIFE_NAMES
4719 	{"Laputa"}, /* 114 */
4720 #endif
4721 	{
4722         -3, -3, -2, -3, 0, -3, 1, -3,
4723         -3, -2, -2, -2, 0, -2, 4, -2, 5, -2,
4724         2, -1, 5, -1,
4725         -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 2, 0, 3, 0, 4, 0,
4726         -6, 1, -3, 1, -1, 1,
4727         -6, 2, -5, 2, -1, 2, 1, 2, 2, 2,
4728         -2, 3, -1, 3, 1, 3, 2, 3,
4729         127
4730 	},
4731 #ifdef LIFE_NAMES
4732 	{"light bulb"}, /* 115 */
4733 #endif
4734 	{
4735         -2, -4, -1, -4, 1, -4,
4736         -2, -3, 0, -3, 1, -3,
4737         -1, -1, 0, -1, 1, -1,
4738         -2, 0, 2, 0,
4739         -2, 1, 2, 1,
4740         -1, 2, 1, 2,
4741         -3, 3, -1, 3, 1, 3, 3, 3,
4742         -3, 4, -2, 4, 2, 4, 3, 4,
4743         127
4744 	},
4745 #ifdef LIFE_NAMES
4746 	{"light bulb II"}, /* 116 */
4747 #endif
4748 	{
4749         -1, -4,
4750         -3, -3, -2, -3, -1, -3,
4751         -4, -2,
4752         -4, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1,
4753         2, 0,
4754         -2, 1, 2, 1,
4755         -2, 2, -1, 2, 1, 2,
4756         2, 3, 3, 3, 4, 3,
4757         4, 4,
4758         127
4759 	},
4760 #ifdef LIFE_NAMES
4761 	{"loading dock (p3)"}, /* 117 */
4762 #endif
4763 	{
4764         0, -4,
4765         -2, -3, -1, -3, 0, -3,
4766         -3, -2, 1, -2, 2, -2,
4767         -4, -1, -2, -1, -1, -1, 3, -1,
4768         -3, 0, 1, 0, 2, 0, 4, 0,
4769         -2, 1, -1, 1, 3, 1,
4770         0, 2, 1, 2, 2, 2,
4771         0, 3,
4772         127
4773 	},
4774 #ifdef LIFE_NAMES
4775 	{"loafer (c/7, p7)"},
4776 #endif
4777 	{
4778         -3, -4, -2, -4, 1, -4, 3, -4, 4, -4,
4779         -4, -3, -1, -3, 2, -3, 3, -3,
4780         -3, -2, -1, -2,
4781         -2, -1,
4782         4, 0,
4783         2, 1, 3, 1, 4, 1,
4784         1, 2,
4785         2, 3,
4786         3, 4, 4, 4,
4787         127
4788 	},
4789 #ifdef LIFE_NAMES
4790 	{"LW emulator (p4)"}, /* 118 */
4791 #endif
4792 	{
4793         -5, -3, -4, -3, -2, -3, 1, -3, 3, -3, 4, -3,
4794         -5, -2, 4, -2,
4795         -4, -1, -3, -1, 2, -1, 3, -1,
4796         -7, 0, -6, 0, -5, 0, -2, 0, -1, 0, 0, 0, 1, 0, 4, 0, 5, 0,
4797         	6, 0,
4798         -7, 1, -4, 1, 3, 1, 6, 1,
4799         -6, 2, -5, 2, 4, 2, 5, 2,
4800         127
4801 	},
4802 #ifdef LIFE_NAMES
4803 	{"mathematician (p5)"}, /* 119 */
4804 #endif
4805 	{
4806         0, -5,
4807         -1, -4, 1, -4,
4808         -1, -3, 1, -3,
4809         -2, -2, -1, -2, 1, -2, 2, -2,
4810         -4, -1, 4, -1,
4811         -4, 0, -3, 0, -2, 0, 2, 0, 3, 0, 4, 0,
4812         -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
4813         -4, 3, 4, 3,
4814         -1, 4, 0, 4, 1, 4, 2, 4,
4815         -1, 5, 2, 5, 3, 5,
4816         127
4817 	},
4818 #ifdef LIFE_NAMES
4819 	{"metamorphosis"}, /* 120 */
4820 #endif
4821 	{
4822         5, -9,
4823         6, -8,
4824         4, -7, 5, -7, 6, -7,
4825         -2, -1, 2, -1, 8, -1, 10, -1, 11, -1,
4826         -14, 0, -13, 0, -3, 0, 3, 0, 8, 0, 10, 0, 12, 0,
4827         -14, 1, -13, 1, -3, 1, 7, 1, 12, 1,
4828         -3, 2, -2, 2, 2, 2, 8, 2, 10, 2, 12, 2,
4829         -1, 3, 0, 3, 1, 3, 8, 3, 10, 3, 11, 3,
4830         -1, 5, 0, 5, 1, 5,
4831         -3, 6, -2, 6, 2, 6,
4832         -14, 7, -13, 7, -3, 7, 13, 7, 14, 7,
4833         -14, 8, -13, 8, -3, 8, 3, 8, 13, 8, 14, 8,
4834         -2, 9, 2, 9,
4835         127
4836 	},
4837 #ifdef LIFE_NAMES
4838 	{"metamorphosis II"}, /* 121 */
4839 #endif
4840 	{
4841         10, -15,
4842         9, -14,
4843         9, -13, 10, -13, 11, -13,
4844         -3, -10, -1, -10,
4845         -3, -9, 0, -9,
4846         -12, -8, -11, -8, 0, -8, 1, -8,
4847         -12, -7, -11, -7, -2, -7, 2, -7, 3, -7,
4848         -7, -6, -6, -6, 0, -6, 1, -6,
4849         -8, -5, -3, -5, 0, -5,
4850         -3, -4, -1, -4,
4851         4, 1,
4852         3, 2, 4, 2, 5, 2,
4853         2, 3, 3, 3, 4, 3, 5, 3, 6, 3,
4854         1, 4, 3, 4, 5, 4, 7, 4,
4855         1, 5, 2, 5, 6, 5, 7, 5,
4856         4, 8,
4857         3, 9, 5, 9,
4858         3, 10, 5, 10,
4859         4, 11,
4860         3, 12, 4, 12,
4861         3, 13, 4, 13,
4862         3, 14, 4, 14,
4863         127
4864 	},
4865 #ifdef LIFE_NAMES
4866 	{"mini pressure cooker (p3)"}, /* 122 */
4867 #endif
4868 	{
4869         0, -5,
4870         -1, -4, 1, -4,
4871         -1, -3, 1, -3,
4872         -2, -2, -1, -2, 1, -2, 2, -2,
4873         -5, -1, -3, -1, 3, -1, 5, -1,
4874         -5, 0, -4, 0, -2, 0, 0, 0, 2, 0, 4, 0, 5, 0,
4875         -2, 1, 2, 1,
4876         -2, 2, 0, 2, 2, 2,
4877         -1, 3, 1, 3,
4878         0, 4,
4879         127
4880 	},
4881 #ifdef LIFE_NAMES
4882 	{"multum in parvo (stabilizes at 3933)"}, /* 123 */
4883 #endif
4884 	{
4885         0, -2, 1, -2, 2, -2,
4886         -1, -1, 2, -1,
4887         -2, 0,
4888         -3, 1,
4889         127
4890 	},
4891 #ifdef LIFE_NAMES
4892 	{"MW emulator (p4)"}, /* 124 */
4893 #endif
4894 	{
4895         -5, -3, -4, -3, -2, -3, 2, -3, 4, -3, 5, -3,
4896         -5, -2, 5, -2,
4897         -4, -1, -3, -1, 3, -1, 4, -1,
4898         -7, 0, -6, 0, -5, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 5, 0,
4899         	6, 0, 7, 0,
4900         -7, 1, -4, 1, 4, 1, 7, 1,
4901         -6, 2, -5, 2, 5, 2, 6, 2,
4902         127
4903 	},
4904 #ifdef LIFE_NAMES
4905 	{"MW volcano (p5)"}, /* 125 */
4906 #endif
4907 	{
4908         0, -6,
4909         -2, -5, 2, -5,
4910         -3, -3, 3, -3,
4911         -5, -2, -4, -2, -3, -2, -1, -2, 0, -2, 1, -2, 3, -2, 4, -2, 5, -2,
4912         -6, -1, -2, -1, -1, -1, 1, -1, 2, -1, 6, -1,
4913         -6, 0, -4, 0, -3, 0, -2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0,
4914         -5, 1,
4915         -3, 2, -1, 2, 1, 2, 3, 2, 4, 2, 6, 2,
4916         -4, 3, -3, 3, -1, 3, 0, 3, 1, 3, 3, 3, 5, 3, 6, 3,
4917         -3, 4, -1, 4, 2, 4,
4918         -3, 5, 0, 5, 1, 5,
4919         -4, 6, -3, 6,
4920         127
4921 	},
4922 #ifdef LIFE_NAMES
4923 	{"negentropy"}, /* 126 */
4924 #endif
4925 	{
4926         -2, -6, -1, -6, 1, -6,
4927         -2, -5, 0, -5, 1, -5,
4928         -1, -3, 0, -3, 1, -3,
4929         -2, -2, 0, -2, 2, -2, 4, -2, 5, -2,
4930         -2, -1, -1, -1, 2, -1, 4, -1, 5, -1,
4931         -5, 0, -4, 0, -2, 0, 2, 0,
4932         -5, 1, -4, 1, -2, 1, 2, 1,
4933         -1, 2, 0, 2, 1, 2,
4934         -1, 4, 0, 4, 2, 4,
4935         -1, 5, 1, 5, 2, 5,
4936         127
4937 	},
4938 #ifdef LIFE_NAMES
4939 	{"new five (p3)"}, /* 127 */
4940 #endif
4941 	{
4942         -2, -4, -1, -4,
4943         -3, -3, 0, -3,
4944         -3, -2, -1, -2, 2, -2,
4945         -4, -1, -3, -1, -1, -1, 1, -1, 2, -1,
4946         -4, 0,
4947         -3, 1, -2, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
4948         1, 2, 4, 2,
4949         -4, 3, -2, 3, -1, 3,
4950         -4, 4, -3, 4, -1, 4, 0, 4,
4951         127
4952 	},
4953 #ifdef LIFE_NAMES
4954 	{"Noah's ark (2 switch engines)"}, /* 128 */
4955 #endif
4956 	{
4957         3, -7, 5, -7,
4958         2, -6,
4959         3, -5, 6, -5,
4960         5, -4, 6, -4, 7, -4,
4961         -6, 2,
4962         -7, 3, -5, 3,
4963         -7, 5, -4, 5,
4964         -5, 6, -4, 6,
4965         -4, 7,
4966         127
4967 	},
4968 #ifdef LIFE_NAMES
4969 	{"octagon II (p5) (shining flower)"}, /* 129 */
4970 #endif
4971 	{
4972         -1, -4, 0, -4,
4973         -2, -3, 1, -3,
4974         -3, -2, 2, -2,
4975         -4, -1, 3, -1,
4976         -4, 0, 3, 0,
4977         -3, 1, 2, 1,
4978         -2, 2, 1, 2,
4979         -1, 3, 0, 3,
4980         127
4981 	},
4982 #ifdef LIFE_NAMES
4983 	{"octagon IV (p4)"}, /* 130 */
4984 #endif
4985 	{
4986         -1, -8, 0, -8,
4987         -1, -7, 0, -7,
4988         -2, -5, -1, -5, 0, -5, 1, -5,
4989         -3, -4, 2, -4,
4990         -4, -3, 3, -3,
4991         -5, -2, 4, -2,
4992         -8, -1, -7, -1, -5, -1, 4, -1, 6, -1, 7, -1,
4993         -8, 0, -7, 0, -5, 0, 4, 0, 6, 0, 7, 0,
4994         -5, 1, 4, 1,
4995         -4, 2, 3, 2,
4996         -3, 3, 2, 3,
4997         -2, 4, -1, 4, 0, 4, 1, 4,
4998         -1, 6, 0, 6,
4999         -1, 7, 0, 7,
5000         127
5001 	},
5002 #ifdef LIFE_NAMES
5003 	{"odd keys (p3), fom Lexicon"}, /* 131 */
5004 #endif
5005 	{
5006         4, -2,
5007         -5, -1, 3, -1, 5, -1,
5008         -6, 0, -4, 0, -3, 0, -2, 0, 1, 0, 2, 0, 4, 0,
5009         -5, 1, -2, 1, 1, 1,
5010         -2, 2, 1, 2,
5011         127
5012 	},
5013 #if 0
5014 #ifdef LIFE_NAMES
5015 	{"Orion (c/4 diagonal, p4) (big glider 1)"}, /* --- */
5016 #endif
5017 	{
5018         -4, -7, -3, -7,
5019         -4, -6, -2, -6,
5020         -4, -5,
5021         -7, -4, -6, -4, -4, -4,
5022         -7, -3, -2, -3,
5023         -7, -2, -5, -2, -4, -2, 3, -2, 4, -2, 5, -2,
5024         -2, -1, -1, -1, 0, -1, 5, -1, 6, -1,
5025         -1, 0, 0, 0, 1, 0, 3, 0, 5, 0,
5026         6, 1,
5027         -1, 2, 1, 2,
5028         -2, 3, -1, 3, 1, 3,
5029         -1, 4,
5030         -3, 5, -2, 5, 0, 5,
5031         0, 6,
5032         -2, 7, -1, 7,
5033         127
5034 	},
5035 #endif
5036 #ifdef LIFE_NAMES
5037 	{"Orion (c/4 diagonal, p4) (smaller variant)"},
5038 #endif
5039 	{
5040         -5, -6, -4, -6,
5041         -6, -5, -5, -5,
5042         -4, -4,
5043         -2, -3, 3, -3, 4, -3, 5, -3,
5044         -2, -2, -1, -2, 0, -2, 5, -2, 6, -2,
5045         -1, -1, 0, -1, 1, -1, 3, -1, 5, -1,
5046         6, 0,
5047         -1, 1, 1, 1,
5048         -2, 2, -1, 2, 1, 2,
5049         -1, 3,
5050         -3, 4, -2, 4, 0, 4,
5051         0, 5,
5052         -2, 6, -1, 6,
5053         127
5054 	},
5055 #ifdef LIFE_NAMES
5056 	{"p22 oscillator"},
5057 #endif
5058 	{
5059         -13, -5, -12, -5,
5060         -12, -4,
5061         -12, -3, -10, -3, 5, -3, 6, -3,
5062         -11, -2, -10, -2, 3, -2, 4, -2, 7, -2,
5063         -7, -1, -6, -1, -5, -1, 3, -1, 4, -1, 6, -1, 7, -1,
5064         -7, 0, -6, 0, -4, 0, -3, 0, 5, 0, 6, 0, 7, 0,
5065         -7, 1, -4, 1, -3, 1, 10, 1, 11, 1,
5066         -6, 2, -5, 2, 10, 2, 12, 2,
5067         12, 3,
5068         12, 4, 13, 4,
5069         127
5070 	},
5071 #ifdef LIFE_NAMES
5072 	{"p54 shuttle (piston3)"},
5073 #endif
5074 	{
5075         -14, -8, -13, -8, 13, -8, 14, -8,
5076         -13, -7, 13, -7,
5077         -13, -6, -11, -6, 11, -6, 13, -6,
5078         -12, -5, -11, -5, -1, -5, 11, -5, 12, -5,
5079         0, -4,
5080         -6, -3, -5, -3, 1, -3,
5081         -6, -2, -5, -2, -2, -2, 0, -2,
5082         -1, -1,
5083         -1, 1,
5084         -6, 2, -5, 2, -2, 2, 0, 2,
5085         -6, 3, -5, 3, 1, 3,
5086         0, 4,
5087         -12, 5, -11, 5, -1, 5, 11, 5, 12, 5,
5088         -13, 6, -11, 6, 11, 6, 13, 6,
5089         -13, 7, 13, 7,
5090         -14, 8, -13, 8, 13, 8, 14, 8,
5091         127
5092 	},
5093 #ifdef LIFE_NAMES
5094 	{"pedestle (p5)"},
5095 #endif
5096 	{
5097         0, -8,
5098         -1, -7, 1, -7,
5099         -4, -6, -1, -6, 0, -6,
5100         -4, -5, -3, -5, -2, -5,
5101         0, -4, 1, -4, 2, -4,
5102         -2, -3, -1, -3, 3, -3,
5103         -3, -2, 2, -2, 5, -2,
5104         -4, -1, -2, -1, 0, -1, 2, -1, 4, -1, 5, -1,
5105         -4, 0, -2, 0, 2, 0, 4, 0,
5106         -5, 1, -4, 1, -2, 1, 0, 1, 2, 1, 4, 1,
5107         -5, 2, -2, 2, 3, 2,
5108         -3, 3, 1, 3, 2, 3,
5109         -2, 4, -1, 4, 0, 4,
5110         2, 5, 3, 5, 4, 5,
5111         0, 6, 1, 6, 4, 6,
5112         -1, 7, 1, 7,
5113         0, 8,
5114         127
5115 	},
5116 #ifdef LIFE_NAMES
5117 	{"penny lane (p4)"},
5118 #endif
5119 	{
5120         -4, -5, -3, -5, 3, -5, 4, -5,
5121         -4, -4, 4, -4,
5122         -7, -3, -6, -3, -4, -3, 4, -3, 6, -3, 7, -3,
5123         -7, -2, -6, -2, -4, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
5124         	 4, -2, 6, -2, 7, -2,
5125         -3, -1, 0, -1, 3, -1,
5126         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
5127         0, 2,
5128         -1, 3, 1, 3,
5129         0, 4,
5130         127
5131 	},
5132 #ifdef LIFE_NAMES
5133 	{"pentadecathlon (p15)"},
5134 #endif
5135 	{
5136 	/* -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, */
5137         1, -4,
5138         1, -3, 3, -3,
5139         1, -2, 2, -2,
5140         -5, 0, -4, 0, -3, 0,
5141         -3, 1,
5142         -4, 2, 2, 2, 3, 2,
5143         3, 3, 4, 3,
5144         2, 4,
5145         127
5146 	},
5147 #ifdef LIFE_NAMES
5148 	{"pentant (p5)"},
5149 #endif
5150 	{
5151         -5, -6, -4, -6,
5152         -4, -5,
5153         -4, -4, -2, -4,
5154         -3, -3, -2, -3, 3, -3, 4, -3,
5155         4, -2,
5156         0, -1, 1, -1, 2, -1, 3, -1,
5157         0, 0,
5158         -3, 1, 1, 1, 2, 1, 3, 1,
5159         -3, 2, -2, 2, -1, 2, 0, 2, 3, 2,
5160         0, 3,
5161         -1, 4,
5162         -1, 5, 0, 5,
5163         127
5164 	},
5165 #ifdef LIFE_NAMES
5166 	{"pentoad (p5)"},
5167 #endif
5168 	{
5169         5, -6, 6, -6,
5170         5, -5,
5171         3, -4, 5, -4,
5172         3, -3, 4, -3,
5173         -1, -2, 0, -2,
5174         0, -1,
5175         0, 0,
5176         0, 1, 1, 1,
5177         -4, 2, -3, 2,
5178         -5, 3, -3, 3,
5179         -5, 4,
5180         -6, 5, -5, 5,
5181         127
5182 	},
5183 #ifdef LIFE_NAMES
5184 	{"pi oscillator (p88)"},
5185 #endif
5186 	{
5187         6, -12,
5188         4, -11, 5, -11, 6, -11,
5189         3, -10,
5190         3, -9, 4, -9,
5191         -13, -8, -12, -8, 8, -8, 9, -8,
5192         -12, -7, 8, -7,
5193         -12, -6, -10, -6, 6, -6, 8, -6,
5194         -11, -5, -10, -5, 6, -5, 7, -5,
5195         0, -3, 1, -3, 2, -3,
5196         0, -2, 2, -2,
5197         0, -1, 2, -1,
5198         -7, 5, -6, 5, 10, 5, 11, 5,
5199         -8, 6, -6, 6, 10, 6, 12, 6,
5200         -8, 7, 12, 7,
5201         -9, 8, -8, 8, 12, 8, 13, 8,
5202         -4, 9, -3, 9,
5203         -3, 10,
5204         -6, 11, -5, 11, -4, 11,
5205         -6, 12,
5206         127
5207 	},
5208 #ifdef LIFE_NAMES
5209 	{"pipsquirter (example) (p6)"},
5210 #endif
5211 	{
5212         -2, -7,
5213         -2, -6,
5214         -4, -4, 0, -4,
5215         -6, -3, -5, -3, -4, -3, -2, -3, 0, -3, 1, -3, 2, -3,
5216         -7, -2, -3, -2, -2, -2, 3, -2,
5217         -7, -1, -5, -1, -4, -1, -1, -1, 0, -1, 2, -1, 4, -1,
5218         -6, 0, -3, 0, -2, 0, 1, 0, 2, 0, 4, 0,
5219         -5, 1, -4, 1, -1, 1, 0, 1, 2, 1, 4, 1, 6, 1, 7, 1,
5220         -3, 2, 0, 2, 2, 2, 4, 2, 6, 2, 7, 2,
5221         -3, 3, -2, 3, -1, 3, 0, 3, 2, 3, 3, 3,
5222         1, 4,
5223         -1, 5, 1, 5,
5224         -1, 6, 0, 6,
5225         127
5226 	},
5227 #ifdef LIFE_NAMES
5228 	{"pi ship with fuse (], near ship)"},
5229 #endif
5230 	{
5231         0, -2,
5232         -1, -1, 1, -1,
5233         -12, 0, -11, 0, -2, 0, -1, 0, 1, 0, 2, 0, 11, 0, 12, 0,
5234         -12, 1, -11, 1, 11, 1, 12, 1,
5235         127
5236 	},
5237 #ifdef LIFE_NAMES
5238 	{"piston"},
5239 #endif
5240 	{
5241         -5, -2, -4, -2, 4, -2, 5, -2,
5242         -5, -1, -3, -1, 0, -1, 3, -1, 5, -1,
5243         -3, 0, -2, 0, -1, 0, 0, 0, 3, 0,
5244         -5, 1, -3, 1, 0, 1, 3, 1, 5, 1,
5245         -5, 2, -4, 2, 4, 2, 5, 2,
5246         127
5247 	},
5248 #ifdef LIFE_NAMES
5249 	{"pre-pulsar oscillator (p28) (4 molds, flutter)"},
5250 #endif
5251 	{
5252         -9, -7, -7, -7, 7, -7, 9, -7,
5253         -6, -6, 6, -6,
5254         -10, -5, -7, -5, 7, -5, 10, -5,
5255         -11, -4, -9, -4, -7, -4, 7, -4, 9, -4, 11, -4,
5256         -11, -3, -8, -3, 8, -3, 11, -3,
5257         -10, -2, -9, -2, -4, -2, -3, -2, -2, -2,
5258         2, -2, 3, -2, 4, -2, 9, -2, 10, -2,
5259         -3, -1, 3, -1,
5260         -10, 1, -9, 1, 9, 1, 10, 1,
5261         -11, 2, -8, 2, 8, 2, 11, 2,
5262         -11, 3, -9, 3, -6, 3, 6, 3, 9, 3, 11, 3,
5263         -10, 4, 10, 4,
5264         -9, 5, -8, 5, -6, 5, 6, 5, 8, 5, 9, 5,
5265         -7, 6, 7, 6,
5266         127
5267 	},
5268 #ifdef LIFE_NAMES
5269 	{"pressure cooker (p3)"},
5270 #endif
5271 	{
5272         0, -6,
5273         -1, -5, 1, -5,
5274         -1, -4, 1, -4,
5275         -2, -3, -1, -3, 1, -3, 2, -3,
5276         -5, -2, -3, -2, 3, -2, 5, -2,
5277         -5, -1, -4, -1, -2, -1, 0, -1, 2, -1, 4, -1, 5, -1,
5278         -2, 0, 2, 0,
5279         -2, 1, 2, 1,
5280         -1, 2, 0, 2, 1, 2,
5281         -2, 4, 0, 4, 1, 4,
5282         -2, 5, -1, 5, 1, 5,
5283         127
5284 	},
5285 #ifdef LIFE_NAMES
5286 	{"protein (p3)"},
5287 #endif
5288 	{
5289         -2, -6, -1, -6,
5290         -2, -5,
5291         0, -4,
5292         -4, -3, -3, -3, -2, -3, -1, -3, 1, -3, 3, -3, 4, -3,
5293         -5, -2, 1, -2, 3, -2, 6, -2,
5294         -5, -1, -2, -1, -1, -1, 1, -1, 3, -1, 5, -1, 6, -1,
5295         -6, 0, -5, 0, -3, 0, 3, 0,
5296         -3, 1, 0, 1, 1, 1, 3, 1,
5297         -3, 2, 2, 2,
5298         -2, 3, -1, 3, 0, 3, 1, 3,
5299         -2, 5, -1, 5,
5300         -2, 6, -1, 6,
5301         127
5302 	},
5303 #ifdef LIFE_NAMES
5304 	{"puffer (example)"},
5305 #endif
5306 	{
5307         -12, -3, -11, -3, -10, -3, -3, -3, 3, -3, 10, -3, 11, -3,
5308         	12, -3,
5309         -13, -2, -10, -2, -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4,
5310         	-2, 10, -2, 13, -2,
5311         -10, -1, -5, -1, -4, -1, -2, -1, 2, -1, 4, -1, 5, -1, 10, -1,
5312         -10, 0, 10, 0,
5313         -10, 1, -7, 1, 7, 1, 10, 1,
5314         -10, 2, -7, 2, -6, 2, 6, 2, 7, 2, 10, 2,
5315         -11, 3, -7, 3, -6, 3, 6, 3, 7, 3, 11, 3,
5316         127
5317 	},
5318 #ifdef LIFE_NAMES
5319 	{"puffer train"},
5320 #endif
5321 	{
5322         1, -9,
5323         2, -8,
5324         -2, -7, 2, -7,
5325         -1, -6, 0, -6, 1, -6, 2, -6,
5326         -2, -2,
5327         -1, -1, 0, -1,
5328         0, 0,
5329         0, 1,
5330         -1, 2,
5331         1, 5,
5332         2, 6,
5333         -2, 7, 2, 7,
5334         -1, 8, 0, 8, 1, 8, 2, 8,
5335         127
5336 	},
5337 #ifdef LIFE_NAMES
5338 	{"pulsar (p3) (pulsar CP 48-56-72)"},
5339 #endif
5340 	{
5341         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
5342         -2, 0, 2, 0,
5343         127
5344 	},
5345 #ifdef LIFE_NAMES
5346 	{"pushalong (example)"},
5347 #endif
5348 	{
5349         -4, -6, -3, -6, -2, -6, 0, -6,
5350         -5, -5, -4, -5, -3, -5, -2, -5, 0, -5,
5351         -6, -4, -5, -4,
5352         -5, -3, -3, -3,
5353         -4, -2, -3, -2, -2, -2, -1, -2, 1, -2,
5354         -3, -1, -2, -1, -1, -1,
5355         0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
5356         0, 3, 5, 3,
5357         0, 4,
5358         1, 5, 5, 5,
5359         3, 6,
5360         127
5361 	},
5362 #ifdef LIFE_NAMES
5363 	{"pyrotechnecium (p8)"},
5364 #endif
5365 	{
5366         -1, -5,
5367         -3, -4, -2, -4, -1, -4, 0, -4, 1, -4,
5368         -4, -3, 2, -3,
5369         -7, -2, -4, -2, -2, -2, 0, -2, 1, -2, 3, -2,
5370         -8, -1, -6, -1, -4, -1, -2, -1, 3, -1, 6, -1,
5371         -7, 0, -4, 0, 1, 0, 3, 0, 5, 0, 7, 0,
5372         -4, 1, -2, 1, -1, 1, 1, 1, 3, 1, 6, 1,
5373         -3, 2, 3, 2,
5374         -2, 3, -1, 3, 0, 3, 1, 3, 2, 3,
5375         0, 4,
5376         127
5377 	},
5378 #ifdef LIFE_NAMES
5379 	{"R2D2 (p8)"},
5380 #endif
5381 	{
5382         0, -5,
5383         -1, -4, 1, -4,
5384         -2, -3, 0, -3, 2, -3,
5385         -2, -2, 0, -2, 2, -2,
5386         -5, -1, -4, -1, -2, -1, 2, -1, 4, -1, 5, -1,
5387         -5, 0, -4, 0, -2, 0, 2, 0, 4, 0, 5, 0,
5388         -2, 1, 2, 1,
5389         -2, 2, 0, 2, 2, 2,
5390         -1, 3, 1, 3,
5391         0, 4,
5392         127
5393 	},
5394 #ifdef LIFE_NAMES
5395 	{"rake p20 backwards"},
5396 #endif
5397 	{
5398         0, -10, 1, -10, 10, -10,
5399         -1, -9, 0, -9, 1, -9, 2, -9, 11, -9,
5400         -1, -8, 0, -8, 2, -8, 3, -8, 7, -8, 11, -8,
5401         1, -7, 2, -7, 8, -7, 9, -7, 10, -7, 11, -7,
5402         6, -3, 7, -3,
5403         5, -2, 6, -2, 8, -2, 9, -2,
5404         6, -1, 9, -1,
5405         6, 0, 9, 0,
5406         7, 1, 8, 1,
5407         10, 4,
5408         11, 5,
5409         -8, 6, 7, 6, 11, 6,
5410         -7, 7, 8, 7, 9, 7, 10, 7, 11, 7,
5411         -11, 8, -7, 8,
5412         -10, 9, -9, 9, -8, 9, -7, 9,
5413         127
5414 	},
5415 #ifdef LIFE_NAMES
5416 	{"rake p20 forwards"},
5417 #endif
5418 	{
5419         0, -10, 1, -10, 10, -10,
5420         -1, -9, 0, -9, 1, -9, 2, -9, 11, -9,
5421         -1, -8, 0, -8, 2, -8, 3, -8, 7, -8, 11, -8,
5422         1, -7, 2, -7, 8, -7, 9, -7, 10, -7, 11, -7,
5423         6, -3, 7, -3,
5424         5, -2, 6, -2, 8, -2, 9, -2,
5425         6, -1, 9, -1,
5426         6, 0, 9, 0,
5427         7, 1, 8, 1,
5428         10, 4,
5429         11, 5,
5430         7, 6, 11, 6,
5431         -9, 7, -8, 7, -7, 7, -6, 7, 8, 7, 9, 7, 10, 7, 11, 7,
5432         -10, 8, -6, 8,
5433         -6, 9,
5434         -7, 10,
5435         127
5436 	},
5437 #ifdef LIFE_NAMES
5438 	{"rake p24 backwards"},
5439 #endif
5440 	{
5441         -5, -10,
5442         -4, -9,
5443         -10, -8, -4, -8,
5444         -9, -7, -8, -7, -7, -7, -6, -7, -5, -7, -4, -7,
5445         6, -6, 7, -6,
5446         5, -5, 6, -5, 7, -5, 8, -5,
5447         5, -4, 6, -4, 8, -4, 9, -4,
5448         7, -3, 8, -3,
5449         0, -2, 2, -2,
5450         -1, -1, 2, -1, 3, -1,
5451         0, 0, 2, 0,
5452         7, 1, 8, 1,
5453         5, 2, 6, 2, 8, 2, 9, 2,
5454         5, 3, 6, 3, 7, 3, 8, 3,
5455         6, 4, 7, 4,
5456         -5, 6, -4, 6,
5457         -9, 7, -8, 7, -7, 7, -6, 7, -4, 7, -3, 7,
5458         -9, 8, -8, 8, -7, 8, -6, 8, -5, 8, -4, 8,
5459         -8, 9, -7, 9, -6, 9, -5, 9,
5460         127
5461 	},
5462 #ifdef LIFE_NAMES
5463 	{"rats (p6)"},
5464 #endif
5465 	{
5466         -1, -5, 0, -5,
5467         0, -4,
5468         -2, -3,
5469         -6, -2, -5, -2, -3, -2, -1, -2, 0, -2, 1, -2, 2, -2,
5470         -6, -1, -5, -1, -3, -1, 3, -1, 5, -1,
5471         -3, 0, 0, 0, 1, 0, 2, 0, 4, 0, 5, 0,
5472         -3, 1, 2, 1,
5473         -2, 2, -1, 2, 0, 2, 2, 2,
5474         1, 3,
5475         0, 4,
5476         0, 5, 1, 5,
5477         127
5478 	},
5479 #ifdef LIFE_NAMES
5480 	{"reflector (figure-8 example)"},
5481 #endif
5482 	{
5483         -2, -7, -1, -7, 5, -7, 6, -7,
5484         -8, -6, -6, -6, -2, -6, -1, -6, 5, -6,
5485         -7, -5, -6, -5, 3, -5, 5, -5,
5486         -7, -4, 3, -4, 4, -4,
5487         -1, -3, 0, -3,
5488         -1, -2, 1, -2,
5489         0, -1,
5490         3, 1, 4, 1, 5, 1,
5491         3, 2, 4, 2, 5, 2,
5492         3, 3, 4, 3, 5, 3,
5493         6, 4, 7, 4, 8, 4,
5494         6, 5, 7, 5, 8, 5,
5495         6, 6, 7, 6, 8, 6,
5496         127
5497 	},
5498 #ifdef LIFE_NAMES
5499 	{"relay (p(60+120n))"},
5500 #endif
5501 	{
5502         10, -3, 15, -3,
5503         -1, -2, 0, -2, 8, -2, 9, -2, 11, -2, 12, -2, 13, -2, 14, -2,
5504         	16, -2, 17, -2,
5505         0, -1, 1, -1, 10, -1, 15, -1,
5506         -1, 0,
5507         -15, 1, -10, 1,
5508         -17, 2, -16, 2, -14, 2, -13, 2, -12, 2, -11, 2, -9, 2, -8, 2,
5509         -15, 3, -10, 3,
5510         127
5511 	},
5512 #if 0
5513 #ifdef LIFE_NAMES
5514 	{"rephaser"},
5515 #endif
5516 	{
5517         -2, -3, 1, -3,
5518         -4, -2, -2, -2, 1, -2, 3, -2,
5519         -3, -1, -2, -1, 1, -1, 2, -1,
5520         -1, 2, 0, 2,
5521         -1, 3, 0, 3,
5522         127
5523 	},
5524 #endif
5525 #ifdef LIFE_NAMES
5526 	{"R-pentomino (stabilizes at 1103)"},
5527 #endif
5528 	{
5529         0, -1, 1, -1,
5530         -1, 0, 0, 0,
5531         0, 1,
5532         127
5533 	},
5534 #ifdef LIFE_NAMES
5535 	{"Schick engine (c/2, p12) (sym puffer)"},
5536 #endif
5537 	{
5538         1, -4, 2, -4, 3, -4, 4, -4,
5539         0, -3, 4, -3,
5540         4, -2,
5541         -4, -1, -3, -1, 0, -1, 3, -1,
5542         -4, 0, -3, 0, -2, 0,
5543         -4, 1, -3, 1, 0, 1, 3, 1,
5544         4, 2,
5545         0, 3, 4, 3,
5546         1, 4, 2, 4, 3, 4, 4, 4,
5547         127
5548 	},
5549 #if 0
5550 #ifdef LIFE_NAMES
5551 	{"scrubber"},
5552 #endif
5553 	{
5554         -1, -5,
5555         -3, -4, -2, -4, -1, -4,
5556         -4, -3,
5557         -4, -2, -1, -2, 0, -2, 1, -2,
5558         -5, -1, -4, -1, -2, -1, 2, -1,
5559         -2, 0, 2, 0,
5560         -2, 1, 2, 1, 4, 1, 5, 1,
5561         -1, 2, 0, 2, 1, 2, 4, 2,
5562         4, 3,
5563         1, 4, 2, 4, 3, 4,
5564         1, 5,
5565         127
5566 	},
5567 #endif
5568 #ifdef LIFE_NAMES
5569 	{"ship2 (c/4, p4)"},
5570 #endif
5571 	{
5572         -4, -9, -3, -9, -2, -9,
5573         -5, -8, -1, -8, 0, -8,
5574         2, -7,
5575         -5, -6, -1, -6, 3, -6, 4, -6,
5576         -5, -5, -1, -5, 2, -5,
5577         -1, -4, 0, -4,
5578         -5, -3, -1, -3,
5579         -5, -2, -1, -2,
5580         -3, -1, -2, -1, -1, -1,
5581         -3, 1, -2, 1, -1, 1,
5582         -5, 2, -1, 2,
5583         -5, 3, -1, 3,
5584         -1, 4, 0, 4,
5585         -5, 5, -1, 5, 2, 5,
5586         -5, 6, -1, 6, 3, 6, 4, 6,
5587         2, 7,
5588         -5, 8, -1, 8, 0, 8,
5589         -4, 9, -3, 9, -2, 9,
5590         127
5591 	},
5592 #ifdef LIFE_NAMES
5593 	{"ship2 (2c/5, p5)"},
5594 #endif
5595 	{
5596         1, -7, 3, -7,
5597         -2, -6, 3, -6,
5598         -3, -5, -2, -5, -1, -5, 4, -5,
5599         -4, -4, -2, -4,
5600         -5, -3, -4, -3, -1, -3, 0, -3, 5, -3,
5601         -4, -2, -3, -2, 0, -2, 1, -2, 2, -2, 3, -2, 4, -2,
5602         -4, 2, -3, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
5603         -5, 3, -4, 3, -1, 3, 0, 3, 5, 3,
5604         -4, 4, -2, 4,
5605         -3, 5, -2, 5, -1, 5, 4, 5,
5606         -2, 6, 3, 6,
5607         1, 7, 3, 7,
5608         127
5609 	},
5610 #ifdef LIFE_NAMES
5611 	{"ship2 (c/4, p4)"},
5612 #endif
5613 	{
5614         -4, -9, -3, -9, -2, -9,
5615         -5, -8, -1, -8, 0, -8,
5616         2, -7,
5617         -5, -6, -1, -6, 3, -6, 4, -6,
5618         -5, -5, -1, -5, 2, -5,
5619         -1, -4, 0, -4,
5620         -5, -3, -1, -3,
5621         -5, -2, -1, -2,
5622         -3, -1, -2, -1, -1, -1,
5623         -3, 1, -2, 1, -1, 1,
5624         -5, 2, -1, 2,
5625         -5, 3, -1, 3,
5626         -1, 4, 0, 4,
5627         -5, 5, -1, 5, 2, 5,
5628         -5, 6, -1, 6, 3, 6, 4, 6,
5629         2, 7,
5630         -5, 8, -1, 8, 0, 8,
5631         -4, 9, -3, 9, -2, 9,
5632         127
5633 	},
5634 #ifdef LIFE_NAMES
5635 	{"ship2 (c/2, p4)"},
5636 #endif
5637 	{
5638         -4, -7, -3, -7, -1, -7, 0, -7, 1, -7, 2, -7, 3, -7, 4, -7,
5639         -5, -6, -4, -6, -3, -6, -2, -6, 5, -6,
5640         -6, -5, -5, -5,
5641         -5, -4, 5, -4,
5642         -4, -3, -3, -3, -2, -3, 0, -3,
5643         -2, -2,
5644         -2, -1,
5645         -1, 0,
5646         -2, 1,
5647         -2, 2,
5648         -4, 3, -3, 3, -2, 3, 0, 3,
5649         -5, 4, 5, 4,
5650         -6, 5, -5, 5,
5651         -5, 6, -4, 6, -3, 6, -2, 6, 5, 6,
5652         -4, 7, -3, 7, -1, 7, 0, 7, 1, 7, 2, 7, 3, 7, 4, 7,
5653         127
5654 	},
5655 #ifdef LIFE_NAMES
5656 	{"short keys (p3)"},
5657 #endif
5658 	{
5659         -5, -2, 4, -2,
5660         -6, -1, -4, -1, -3, -1, -2, -1, 1, -1, 2, -1, 3, -1, 5, -1,
5661         -5, 0, -2, 0, 1, 0, 4, 0,
5662         -2, 1, 1, 1,
5663         127
5664 	},
5665 #ifdef LIFE_NAMES
5666 	{"shower tub (p8) (part of oscillators)"},
5667 #endif
5668 	{
5669         -3, -6, -2, -6, 2, -6, 3, -6,
5670         -4, -5, -2, -5, 2, -5, 4, -5,
5671         -4, -4, 4, -4,
5672         -7, -3, -6, -3, -4, -3, -3, -3, 3, -3, 4, -3, 6, -3, 7, -3,
5673         -7, -2, -6, -2, -4, -2, 0, -2, 4, -2, 6, -2, 7, -2,
5674         -4, -1, -2, -1, 2, -1, 4, -1,
5675         -4, 0, -2, 0, 2, 0, 4, 0,
5676         -5, 1, -4, 1, -2, 1, 2, 1, 4, 1, 5, 1,
5677         -4, 2, -1, 2, 0, 2, 1, 2, 4, 2,
5678         -4, 3, 4, 3, 6, 3,
5679         -3, 4, -2, 4, -1, 4, 5, 4, 6, 4,
5680         -1, 5,
5681         127
5682 	},
5683 #ifdef LIFE_NAMES
5684 	{"side-shooting gun (portion)"},
5685 #endif
5686 	{
5687         6, -10, 7, -10,
5688         6, -9, 7, -9,
5689         0, -8, 1, -8, 2, -8,
5690         2, -7,
5691         1, -6, 7, -6, 8, -6,
5692         6, -5, 8, -5,
5693         8, -4,
5694         -7, 7,
5695         -7, 8, -6, 8,
5696         -8, 9, -6, 9,
5697         127
5698 	},
5699 #ifdef LIFE_NAMES
5700 	{"siesta (p5)"},
5701 #endif
5702 	{
5703         3, -6, 4, -6,
5704         -5, -5, -4, -5, 2, -5, 4, -5,
5705         -5, -4, -3, -4, 2, -4,
5706         -3, -3, 1, -3, 2, -3, 4, -3,
5707         -5, -2, -3, -2, -2, -2, 4, -2, 5, -2, 6, -2,
5708         -7, -1, -6, -1, -5, -1, 1, -1, 3, -1, 7, -1,
5709         -8, 0, -4, 0, -2, 0, 4, 0, 5, 0, 6, 0,
5710         -7, 1, -6, 1, -5, 1, 1, 1, 2, 1, 4, 1,
5711         -5, 2, -3, 2, -2, 2, 2, 2,
5712         -3, 3, 2, 3, 4, 3,
5713         -5, 4, -3, 4, 3, 4, 4, 4,
5714         -5, 5, -4, 5,
5715         127
5716 	},
5717 #ifdef LIFE_NAMES
5718 	{"six Ls (p3)"},
5719 #endif
5720 	{
5721         0, -4,
5722         -2, -3, -1, -3, 0, -3, 3, -3,
5723         -3, -2, 1, -2, 2, -2, 3, -2,
5724         -3, -1, -2, -1, -1, -1,
5725         1, 0, 2, 0, 3, 0,
5726         -3, 1, -2, 1, -1, 1, 3, 1,
5727         -3, 2, 0, 2, 1, 2, 2, 2,
5728         0, 3,
5729         127
5730 	},
5731 #ifdef LIFE_NAMES
5732 	{"smiley (p8)"},
5733 #endif
5734 	{
5735         -3, -3, -2, -3, -1, -3, 1, -3, 2, -3, 3, -3,
5736         -2, -2, 0, -2, 2, -2,
5737         -2, 0, 2, 0,
5738         -3, 2, -1, 2, 1, 2, 3, 2,
5739         -1, 3, 1, 3,
5740         127
5741 	},
5742 #ifdef LIFE_NAMES
5743 	{"snacker (p9)"},
5744 #endif
5745 	{
5746         -10, -5, -9, -5, 8, -5, 9, -5,
5747         -9, -4, 8, -4,
5748         -9, -3, -7, -3, 6, -3, 8, -3,
5749         -8, -2, -7, -2, 6, -2, 7, -2,
5750         -3, -1, 2, -1,
5751         -5, 0, -4, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0, 4, 0,
5752         -3, 1, 2, 1,
5753         -8, 2, -7, 2, 6, 2, 7, 2,
5754         -9, 3, -7, 3, 6, 3, 8, 3,
5755         -9, 4, 8, 4,
5756         -10, 5, -9, 5, 8, 5, 9, 5,
5757         127
5758 	},
5759 #ifdef LIFE_NAMES
5760 	{"sombreros (p6)"},
5761 #endif
5762 	{
5763         -6, -5, -5, -5, 4, -5, 5, -5,
5764         -6, -4, -4, -4, 3, -4, 5, -4,
5765         -4, -3, 3, -3,
5766         -6, -2, -4, -2, -3, -2, 2, -2, 3, -2, 5, -2,
5767         -8, -1, -7, -1, -6, -1, 5, -1, 6, -1, 7, -1,
5768         -9, 0, -5, 0, -3, 0, 2, 0, 4, 0, 8, 0,
5769         -8, 1, -7, 1, -6, 1, 5, 1, 6, 1, 7, 1,
5770         -6, 2, -4, 2, -3, 2, 2, 2, 3, 2, 5, 2,
5771         -4, 3, 3, 3,
5772         -6, 4, -4, 4, 3, 4, 5, 4,
5773         -6, 5, -5, 5, 4, 5, 5, 5,
5774         127
5775 	},
5776 #ifdef LIFE_NAMES
5777 	{"spider (c/5, p5)"},
5778 #endif
5779 	{
5780         0, -13, 1, -13,
5781         -3, -12, -2, -12, 1, -12,
5782         -3, -11, -2, -11, 1, -11,
5783         2, -10,
5784         -3, -9, -1, -9, 0, -9, 1, -9, 2, -9,
5785         -4, -8, -3, -8, -1, -8,
5786         0, -7, 1, -7, 2, -7,
5787         1, -6,
5788         1, -5, 2, -5,
5789         3, -4,
5790         2, -3,
5791         2, -2,
5792         -2, -1, -1, -1, 0, -1,
5793         -2, 1, -1, 1, 0, 1,
5794         2, 2,
5795         2, 3,
5796         3, 4,
5797         1, 5, 2, 5,
5798         1, 6,
5799         0, 7, 1, 7, 2, 7,
5800         -4, 8, -3, 8, -1, 8,
5801         -3, 9, -1, 9, 0, 9, 1, 9, 2, 9,
5802         2, 10,
5803         -3, 11, -2, 11, 1, 11,
5804         -3, 12, -2, 12, 1, 12,
5805         0, 13, 1, 13,
5806         127
5807 	},
5808 #ifdef LIFE_NAMES
5809 	{"stillater (p3)"},
5810 #endif
5811 	{
5812         -1, -4,
5813         -2, -3, 0, -3, 2, -3, 3, -3,
5814         -2, -2, 0, -2, 1, -2, 3, -2,
5815         -4, -1, -3, -1,
5816         -3, 0, -1, 0, 1, 0, 2, 0,
5817         -3, 1, -1, 1, 2, 1,
5818         -2, 2, 1, 2,
5819         -1, 3, 0, 3,
5820         127
5821 	},
5822 #ifdef LIFE_NAMES
5823 	{"surprise (p3)"},
5824 #endif
5825 	{
5826         -2, -4, 3, -4, 4, -4,
5827         -2, -3, -1, -3, 0, -3, 3, -3,
5828         -4, -2, -3, -2, 1, -2, 3, -2,
5829         -5, -1, -2, -1, -1, -1, 1, -1, 3, -1, 4, -1,
5830         -4, 0, 3, 0,
5831         -5, 1, -4, 1, -2, 1, 0, 1, 1, 1, 4, 1,
5832         -4, 2, -2, 2, 2, 2, 3, 2,
5833         -4, 3, -1, 3, 0, 3, 1, 3,
5834         -5, 4, -4, 4, 1, 4,
5835         127
5836 	},
5837 #ifdef LIFE_NAMES
5838 	{"swan (c/4, p4) (small diagonal sparker)"},
5839 #endif
5840 	{
5841         1, -11,
5842         0, -10, 1, -10,
5843         -2, -8, -1, -8, 0, -8,
5844         -2, -7, -1, -7, 0, -7,
5845         -3, -4, -2, -4, -1, -4,
5846         -3, -3, -2, -3,
5847         -4, -2, -1, -2, 0, -2, 1, -2, 3, -2,
5848         -4, -1, -3, -1, -1, -1, 3, -1,
5849         -4, 0, -3, 0, -1, 0, 0, 0, 2, 0, 3, 0,
5850         -4, 1, -3, 1, -2, 1,
5851         -4, 2, -3, 2,
5852         -4, 3,
5853         -4, 4, -3, 4,
5854         -3, 5, -1, 5,
5855         1, 6,
5856         -1, 7, 2, 7,
5857         0, 8, 3, 8,
5858         0, 9,
5859         3, 10,
5860         1, 11, 2, 11, 3, 11,
5861         127
5862 	},
5863 #ifdef LIFE_NAMES
5864 	{"switch engine (c/12, p288 diagonal puffer)"},
5865 #endif
5866 	{
5867         -12, -3, -10, -3,
5868         -13, -2,
5869         -12, -1, -9, -1,
5870         -10, 0, -9, 0, -8, 0,
5871         13, 2, 14, 2,
5872         13, 3,
5873 	},
5874 #ifdef LIFE_NAMES
5875 	{"technician (p5)"},
5876 #endif
5877 	{
5878         0, -6,
5879         -1, -5, 1, -5,
5880         -1, -4, 0, -4,
5881         -3, -3, -2, -3,
5882         -4, -2, 0, -2, 1, -2, 2, -2,
5883         -5, -1, -2, -1, -1, -1, 3, -1, 5, -1,
5884         -4, 0, -3, 0, 2, 0, 4, 0, 5, 0,
5885         -2, 1, 0, 1, 2, 1,
5886         -2, 2, 2, 2,
5887         -1, 3, 0, 3, 1, 3,
5888         1, 4, 3, 4,
5889         2, 5, 3, 5,
5890         127
5891 	},
5892 #if 0
5893 #ifdef LIFE_NAMES
5894 	{"test tube baby"},
5895 #endif
5896 	{
5897         -4, -2, -3, -2, 2, -2, 3, -2,
5898         -4, -1, -2, -1, 1, -1, 3, -1,
5899         -2, 0, 1, 0,
5900         -2, 1, 1, 1,
5901         -1, 2, 0, 2,
5902         127
5903 	},
5904 #endif
5905 #ifdef LIFE_NAMES
5906 	{"timebomb (glider producing switch engine (p384))"},
5907 #endif
5908 	{
5909         -6, -3, 6, -3, 7, -3,
5910         -7, -2, -5, -2, 0, -2, 7, -2,
5911         0, -1, 5, -1,
5912         -5, 0, -2, 0, 2, 0, 5, 0,
5913         -5, 1, -4, 1, 3, 1,
5914         -4, 2,
5915         127
5916 	},
5917 #ifdef LIFE_NAMES
5918 	{"titanic toroidal traveler (p16,unknown)"},
5919 #endif
5920 	{
5921 	-11, -1, -10, -1, -9, -1, -8, -1, -7, -1, -6, -1, -5, -1, -4, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, -1, 5, -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, -1,
5922         -10, 0, -9, 0, -8, 0, -4, 0, -3, 0, -2, 0, 2, 0, 3, 0, 4, 0, 8, 0, 9, 0, 10, 0,
5923         127
5924 	},
5925 #ifdef LIFE_NAMES
5926 	{"T-nosed (p4)"},
5927 #endif
5928 	{
5929         0, -6,
5930         0, -5,
5931         -1, -4, 0, -4, 1, -4,
5932         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
5933         -3, 1, -1, 1, 0, 1, 1, 1, 3, 1,
5934         -3, 2, -1, 2, 1, 2, 3, 2,
5935         -4, 3, -3, 3, -1, 3, 1, 3, 3, 3, 4, 3,
5936         -5, 4, -2, 4, -1, 4, 1, 4, 2, 4, 5, 4,
5937         -5, 5, -4, 5, 4, 5, 5, 5,
5938         127
5939 	},
5940 #ifdef LIFE_NAMES
5941 	{"T-nosed (p6)"},
5942 #endif
5943 	{
5944         -3, -5, -2, -5, 2, -5, 3, -5,
5945         -3, -4, -1, -4, 1, -4, 3, -4,
5946         -2, -3, 2, -3,
5947         -7, -1, -5, -1, -3, -1, 3, -1, 5, -1, 7, -1,
5948         -9, 0, -8, 0, -7, 0, -5, 0, -3, 0, -2, 0, 2, 0, 3, 0, 5, 0,
5949         	7, 0, 8, 0, 9, 0,
5950         -7, 1, -5, 1, -3, 1, 3, 1, 5, 1, 7, 1,
5951         -2, 3, 2, 3,
5952         -3, 4, -1, 4, 1, 4, 3, 4,
5953         -3, 5, -2, 5, 2, 5, 3, 5,
5954         127
5955 	},
5956 #ifdef LIFE_NAMES
5957 	{"toad-flipper"},
5958 #endif
5959 	{
5960         -8, -5, 7, -5,
5961         -8, -4, 7, -4,
5962         -9, -3, -7, -3, 6, -3, 8, -3,
5963         -8, -2, 7, -2,
5964         -8, -1, -1, -1, 7, -1,
5965         -8, 0, -1, 0, 0, 0, 7, 0,
5966         -8, 1, -1, 1, 0, 1, 7, 1,
5967         -9, 2, -7, 2, 0, 2, 6, 2, 8, 2,
5968         -8, 3, 7, 3,
5969         -8, 4, 7, 4,
5970         127
5971 	},
5972 #ifdef LIFE_NAMES
5973 	{"toad-sucker"},
5974 #endif
5975 	{
5976         -8, -5,
5977         -8, -4, 7, -4,
5978         -9, -3, -7, -3, 7, -3,
5979         -8, -2, 6, -2, 8, -2,
5980         -8, -1, -1, -1, 7, -1,
5981         -8, 0, -1, 0, 0, 0, 7, 0,
5982         -8, 1, -1, 1, 0, 1, 7, 1,
5983         -9, 2, -7, 2, 0, 2, 7, 2,
5984         -8, 3, 6, 3, 8, 3,
5985         -8, 4, 7, 4,
5986         7, 5,
5987         127
5988 	},
5989 #ifdef LIFE_NAMES
5990 	{"toaster (p5)"},
5991 #endif
5992 	{
5993         -3, -6, 4, -6, 5, -6,
5994         -4, -5, -2, -5, 0, -5, 1, -5, 4, -5,
5995         -4, -4, -2, -4, 0, -4, 2, -4, 4, -4,
5996         -5, -3, -4, -3, -2, -3, 2, -3, 4, -3, 5, -3,
5997         -7, -2, -3, -2, -2, -2, 0, -2, 2, -2, 3, -2, 7, -2,
5998         -4, -1, 4, -1,
5999         -4, 0, 4, 0,
6000         -7, 1, -3, 1, -2, 1, 0, 1, 2, 1, 3, 1, 7, 1,
6001         -5, 2, -4, 2, -2, 2, 2, 2, 4, 2, 5, 2,
6002         -4, 3, -2, 3, 0, 3, 2, 3, 4, 3,
6003         -4, 4, -2, 4, 0, 4, 1, 4, 4, 4,
6004         -3, 5, 4, 5, 5, 5,
6005         127
6006 	},
6007 #ifdef LIFE_NAMES
6008 	{"transparent block reaction"},
6009 #endif
6010 	{
6011         -7, -2,
6012         -7, -1, -6, -1, 5, -1, 6, -1,
6013         -6, 0, -5, 0, 5, 0, 6, 0,
6014         -7, 1, -6, 1,
6015         127
6016 	},
6017 #ifdef LIFE_NAMES
6018 	{"trice tongs (p3)"},
6019 #endif
6020 	{
6021         -1, -3,
6022         -1, -2, 0, -2, 1, -2,
6023         -3, -1, -2, -1, 2, -1,
6024         -2, 0, 0, 0, 2, 0,
6025         -2, 1,
6026         -1, 2, 0, 2, 3, 2,
6027         2, 3, 3, 3,
6028         127
6029 	},
6030 #ifdef LIFE_NAMES
6031 	{"triple caterer (p3)"},
6032 #endif
6033 	{
6034         -3, -5, -2, -5,
6035         -4, -4, -1, -4, 2, -4, 3, -4,
6036         -4, -3, -3, -3, -1, -3, 3, -3,
6037         -2, -2, 0, -2, 1, -2, 2, -2, 7, -2,
6038         -6, -1, -5, -1, -4, -1, -2, -1, 0, -1, 5, -1, 6, -1, 7, -1,
6039         -7, 0, -4, 0, -1, 0, 4, 0,
6040         -8, 1, -6, 1, -3, 1, 1, 1, 4, 1, 5, 1,
6041         -7, 2,
6042         -6, 3, -5, 3, -3, 3, -2, 3, 0, 3, 1, 3, 3, 3, 4, 3,
6043         -5, 4, -1, 4, 3, 4,
6044         -5, 5, -1, 5, 3, 5,
6045         127
6046 	},
6047 #ifdef LIFE_NAMES
6048 	{"tritoad (p3)"},
6049 #endif
6050 	{
6051         0, -7, 1, -7,
6052         0, -6,
6053         1, -5, 4, -5, 5, -5,
6054         -2, -4, -1, -4, 0, -4, 2, -4, 5, -4,
6055         -3, -3, 2, -3, 3, -3, 5, -3, 7, -3, 8, -3,
6056         -3, -2, -1, -2, 0, -2, 3, -2, 5, -2, 7, -2, 8, -2,
6057         -6, -1, -5, -1, -3, -1, 1, -1, 2, -1, 5, -1,
6058         -6, 0, -3, 0, -2, 0, 2, 0, 4, 0, 5, 0,
6059         -9, 1, -8, 1, -6, 1, -4, 1, -1, 1, 0, 1, 2, 1,
6060         -9, 2, -8, 2, -6, 2, -4, 2, -3, 2, 2, 2,
6061         -6, 3, -3, 3, -1, 3, 0, 3, 1, 3,
6062         -6, 4, -5, 4, -2, 4,
6063         -1, 5,
6064         -2, 6, -1, 6,
6065         127
6066 	},
6067 #ifdef LIFE_NAMES
6068 	{"tubber (p3)"},
6069 #endif
6070 	{
6071         -2, -6, 0, -6,
6072         -2, -5, -1, -5, 1, -5,
6073         1, -4, 2, -4, 3, -4,
6074         -2, -3, -1, -3, 4, -3,
6075         -6, -2, -5, -2, -3, -2, 0, -2, 1, -2, 4, -2,
6076         -5, -1, -3, -1, 2, -1, 4, -1, 5, -1,
6077         -6, 0, -2, 0, 2, 0, 6, 0,
6078         -5, 1, -4, 1, -2, 1, 3, 1, 5, 1,
6079         -4, 2, -1, 2, 0, 2, 3, 2, 5, 2, 6, 2,
6080         -4, 3, 1, 3, 2, 3,
6081         -3, 4, -2, 4, -1, 4,
6082         -1, 5, 1, 5, 2, 5,
6083         0, 6, 2, 6,
6084         127
6085 	},
6086 #ifdef LIFE_NAMES
6087 	{"tumbler (p14) (pump)"},
6088 #endif
6089 	{
6090         -2, -3, -1, -3, 1, -3, 2, -3,
6091         -2, -2, -1, -2, 1, -2, 2, -2,
6092         -1, -1, 1, -1,
6093         -3, 0, -1, 0, 1, 0, 3, 0,
6094         -3, 1, -1, 1, 1, 1, 3, 1,
6095         -3, 2, -2, 2, 2, 2, 3, 2,
6096         127
6097 	},
6098 #ifdef LIFE_NAMES
6099 	{"tumbling T-tetson (p8)"},
6100 #endif
6101 	{
6102         -9, -5, -8, -5, -7, -5,
6103         -10, -4, 9, -4, 10, -4,
6104         -10, -3, -6, -3, 7, -3, 9, -3, 10, -3,
6105         -10, -2, -7, -2, -5, -2, 6, -2,
6106         -8, -1, -6, -1, -3, -1, 9, -1,
6107         -7, 0, -3, 0, 5, 0, 6, 0, 8, 0,
6108         -3, 1, 5, 1, 6, 1,
6109         -6, 2, -5, 2, -4, 2, 1, 2,
6110         -1, 3, 0, 3,
6111         1, 4,
6112         127
6113 	},
6114 #ifdef LIFE_NAMES
6115 	{"twin bees shuttle (p46) (piston2)"},
6116 #endif
6117 	{
6118         -12, -8, -11, -8,
6119         -12, -7, -11, -7,
6120         2, -5,
6121         -13, -4, -12, -4, 2, -4, 3, -4, 12, -4, 13, -4,
6122         -13, -3, -12, -3, 3, -3, 4, -3, 12, -3, 13, -3,
6123         -2, -2, -1, -2, 2, -2, 3, -2,
6124         -2, 2, -1, 2, 2, 2, 3, 2,
6125         -13, 3, -12, 3, 3, 3, 4, 3,
6126         -13, 4, -12, 4, 2, 4, 3, 4,
6127         2, 5,
6128         -12, 7, -11, 7,
6129         -12, 8, -11, 8,
6130         127
6131 	},
6132 #ifdef LIFE_NAMES
6133 	{"twirling T-tetsons II (p60)"},
6134 #endif
6135 	{
6136         -5, -12, -4, -12, 0, -12, 1, -12,
6137         -6, -11, 2, -11,
6138         -3, -10, -1, -10,
6139         -5, -9, -4, -9, 0, -9, 1, -9,
6140         9, -5, 10, -5, 11, -5,
6141         8, -4, 9, -4, 10, -4,
6142         1, -3,
6143         -12, -2, -11, -2, -10, -2, 0, -2, 1, -2, 2, -2,
6144         -11, -1, -10, -1, -9, -1,
6145         8, 0, 9, 0, 10, 0,
6146         9, 1, 10, 1, 11, 1,
6147         -11, 3, -10, 3, -9, 3,
6148         -12, 4, -11, 4, -10, 4, 0, 4, 1, 4, 2, 4,
6149         1, 5,
6150         -2, 8, -1, 8, 3, 8, 4, 8,
6151         0, 9, 2, 9,
6152         -3, 10, 5, 10,
6153         -2, 11, -1, 11, 3, 11, 4, 11,
6154         127
6155 	},
6156 #ifdef LIFE_NAMES
6157 	{"unix (p6) (pulse2)"},
6158 #endif
6159 	{
6160         0, -4, 1, -4,
6161         -4, -3, -3, -3, -1, -3,
6162         -4, -2, -3, -2, 0, -2, 3, -2,
6163         1, -1, 3, -1,
6164         2, 0,
6165         1, 2, 2, 2,
6166         1, 3, 2, 3,
6167         127
6168 	},
6169 #ifdef LIFE_NAMES
6170 	{"washerwoman (2c/3, p18 fuse)"},
6171 #endif
6172 	{
6173         -16, -2,
6174         -16, -1, -15, -1, -10, -1, -4, -1, 2, -1, 8, -1, 14, -1,
6175         -16, 0, -15, 0, -14, 0, -11, 0, -9, 0, -5, 0, -3, 0, 1, 0,
6176         	3, 0, 7, 0, 9, 0, 13, 0, 15, 0,
6177         -16, 1, -15, 1, -10, 1, -4, 1, 2, 1, 8, 1, 14, 1,
6178         -16, 2,
6179         127
6180 	},
6181 #ifdef LIFE_NAMES
6182 	{"washing machine"},
6183 #endif
6184 	{
6185         -2, -3, -1, -3, 1, -3, 2, -3,
6186         -3, -2, -1, -2, 0, -2, 3, -2,
6187         -3, -1, -2, -1, 3, -1,
6188         -2, 0, 2, 0,
6189         -3, 1, 2, 1, 3, 1,
6190         -3, 2, 0, 2, 1, 2, 3, 2,
6191         -2, 3, -1, 3, 1, 3, 2, 3,
6192         127
6193 	},
6194 #ifdef LIFE_NAMES
6195 	{"wasp (c/3, p3)"},
6196 #endif
6197 	{
6198         -1, -5, 0, -5, 2, -5, 3, -5,
6199         -3, -4, -2, -4, 0, -4, 2, -4, 3, -4, 5, -4, 6, -4,
6200         -6, -3, -5, -3, -4, -3, -2, -3, 1, -3, 2, -3, 3, -3, 6, -3,
6201         	7, -3, 8, -3, 9, -3,
6202         -10, -2, -9, -2, -8, -2, -3, -2, -2, -2, -1, -2, 5, -2, 10, -2,
6203         -11, -1, -9, -1, -7, -1, -5, -1, -4, -1, -3, -1, -1, -1,
6204         	8, -1, 9, -1,
6205         -11, 0, -9, 0, -7, 0, -5, 0, -4, 0, -3, 0, -2, 0,
6206         -10, 1, -8, 1, -3, 1, 0, 1,
6207         -1, 2,
6208         -9, 3,
6209         -9, 4,
6210         127
6211 	},
6212 #ifdef LIFE_NAMES
6213 	{"wavefront (p4)"},
6214 #endif
6215 	{
6216         2, -6, 3, -6,
6217         2, -5,
6218         3, -4,
6219         2, -3, 3, -3,
6220         -1, -2, 0, -2, 4, -2, 5, -2,
6221         -2, -1, 1, -1, 2, -1, 3, -1, 6, -1,
6222         -2, 0, 4, 0, 5, 0,
6223         -1, 1, 3, 1,
6224         -6, 2, -5, 2, -3, 2, -1, 2, 3, 2,
6225         -6, 3, -4, 3, -3, 3, -1, 3, 1, 3, 2, 3,
6226         -2, 4, 0, 4,
6227         -2, 5, 0, 5,
6228         -1, 6,
6229         127
6230 	},
6231 #ifdef LIFE_NAMES
6232 	{"weekender (2c/7, p7)"},
6233 #endif
6234 	{
6235         -7, -5, 6, -5,
6236         -7, -4, 6, -4,
6237         -8, -3, -6, -3, 5, -3, 7, -3,
6238         -7, -2, 6, -2,
6239         -7, -1, 6, -1,
6240         -6, 0, -2, 0, -1, 0, 0, 0, 1, 0, 5, 0,
6241         -2, 1, -1, 1, 0, 1, 1, 1,
6242         -6, 2, -5, 2, -4, 2, -3, 2, 2, 2, 3, 2, 4, 2, 5, 2,
6243         -4, 4, 3, 4,
6244         -3, 5, -2, 5, 1, 5, 2, 5,
6245         127
6246 	},
6247 #ifdef LIFE_NAMES
6248 	{"x66 (c/2, p4)"},
6249 #endif
6250 	{
6251         -3, -5,
6252         -4, -4, -3, -4, -2, -4, -1, -4, 0, -4,
6253         -5, -3, -4, -3, 0, -3, 1, -3, 3, -3,
6254         -4, -2, 4, -2,
6255         -3, -1, -2, -1, 1, -1, 3, -1,
6256         -3, 1, -2, 1, 1, 1, 3, 1,
6257         -4, 2, 4, 2,
6258         -5, 3, -4, 3, 0, 3, 1, 3, 3, 3,
6259         -4, 4, -3, 4, -2, 4, -1, 4, 0, 4,
6260         -3, 5,
6261         127
6262 	},
6263 };
6264 
6265 static char patterns_8B36S23[][2 * NUMPTS + 1] =
6266 {
6267 #ifdef LIFE_NAMES
6268 	{"replicator"},
6269 #endif
6270 	{
6271         -1, -2, 0, -2, 1, -2,
6272         -2, -1,
6273         -2, 0,
6274         -2, 1,
6275         127
6276 	},
6277 #ifdef LIFE_NAMES
6278 	{"bomber"},
6279 #endif
6280 	{
6281         -4, -3, -3, -3, -2, -3,
6282         -5, -2,
6283         -5, -1,
6284         -5, 0, 4, 0,
6285         4, 1,
6286         4, 2,
6287         127
6288 	},
6289 #ifdef LIFE_NAMES
6290 	{"growing ship"},
6291 #endif
6292 	{
6293         -8, -7, -7, -7, -6, -7,
6294         -9, -6, -6, -6,
6295         -10, -5, -6, -5,
6296         -10, -4, -7, -4,
6297         -10, -3, -9, -3, -8, -3,
6298         7, 6, 8, 6, 9, 6,
6299         127
6300 	},
6301 #if 0
6302 #ifdef LIFE_NAMES
6303 	{"gun"},
6304 #endif
6305 	{
6306         3, -11,
6307         1, -10, 2, -10, 3, -10,
6308         0, -9,
6309         0, -8, 1, -8,
6310         -3, 0, -2, 0, -1, 0,
6311         -3, 1, -1, 1,
6312         -3, 2, -2, 2, -1, 2,
6313         -2, 3,
6314         17, 4, 18, 4,
6315         -18, 5, -17, 5, 17, 5,
6316         -17, 6, 15, 6, 17, 6,
6317         -17, 7, -15, 7, 6, 7, 15, 7, 16, 7,
6318         -16, 8, -15, 8, 6, 8,
6319         -6, 9, -5, 9, 5, 9, 7, 9, 8, 9,
6320         -7, 10, -6, 10, -4, 10, 6, 10,
6321         -6, 11, -5, 11, 6, 11,
6322         127
6323 	},
6324 #ifdef LIFE_NAMES
6325 	{"tug of war"},
6326 #endif
6327 	{
6328         -12, -13, -11, -13, -10, -13,
6329         -13, -12,
6330         -13, -11,
6331         -13, -10,
6332         0, -6,
6333         0, -5,
6334         0, -4,
6335         4, 1,
6336         3, 2, 4, 2,
6337         2, 3, 4, 3,
6338         1, 4, 2, 4, 3, 4,
6339         11, 10, 12, 10, 13, 10,
6340         10, 11, 12, 11,
6341         10, 12, 11, 12,
6342         10, 13,
6343         127
6344 	},
6345 #ifdef LIFE_NAMES
6346 	{"unpredictable tug of war"},
6347 #endif
6348 	{
6349         -16, -17, -15, -17, -14, -17,
6350         -17, -16,
6351         -17, -15,
6352         -17, -14,
6353         -4, -10,
6354         -4, -9,
6355         -4, -8,
6356         16, 13,
6357         15, 14, 16, 14,
6358         14, 15, 16, 15,
6359         13, 16, 14, 16, 15, 16,
6360         127
6361 	},
6362 #endif
6363 #ifdef LIFE_NAMES
6364 	{"puffer train 1"},
6365 #endif
6366 	{
6367         4, -10, 5, -10, 6, -10,
6368         3, -9, 7, -9,
6369         2, -8, 7, -8,
6370         1, -7, 4, -7, 7, -7,
6371         1, -6, 6, -6,
6372         1, -5, 5, -5,
6373         2, -4, 3, -4, 4, -4,
6374         7, 0,
6375         7, 1,
6376         7, 2,
6377         -5, 4, -4, 4, -3, 4,
6378         -6, 5, -3, 5,
6379         -7, 6, -3, 6,
6380         -7, 7, -4, 7,
6381         -7, 8, -6, 8, -5, 8,
6382         2, 9, 3, 9, 4, 9,
6383         127
6384 	},
6385 #ifdef LIFE_NAMES
6386 	{"puffer train 2"},
6387 #endif
6388 	{
6389         2, -10, 3, -10,
6390         3, -9, 4, -9,
6391         0, -8, 2, -8, 3, -8,
6392         0, -7, 1, -7, 2, -7,
6393         1, -6, 10, -6,
6394         10, -5,
6395         10, -4,
6396         -7, -2,
6397         -8, -1, -7, -1,
6398         -9, 0, -7, 0,
6399         -10, 1, -9, 1, -8, 1,
6400         -5, 7,
6401         -5, 8,
6402         -5, 9,
6403         127
6404 	},
6405 #ifdef LIFE_NAMES
6406 	{"period 96 rake"},
6407 #endif
6408 	{
6409         -8, -6, -7, -6, -6, -6,
6410         -5, -5,
6411         -10, -4, -8, -4, -4, -4,
6412         -10, -3, -3, -3,
6413         -10, -2, -2, -2,
6414         -9, -1, -2, -1,
6415         -8, 0, -4, 0, -2, 0,
6416         -7, 1, 6, 1, 7, 1, 8, 1,
6417         -6, 2, -5, 2, -4, 2, 9, 2,
6418         9, 3,
6419         0, 4, 9, 4,
6420         0, 5,
6421         0, 6,
6422         127
6423 	},
6424 #ifdef LIFE_NAMES
6425 	{"another c/3, p3 spaceship"},
6426 #endif
6427 	{
6428         -2, -3, 2, -3,
6429         -3, -2, -1, -2, 1, -2, 3, -2,
6430         -3, -1, -2, -1, -1, -1, 1, -1, 2, -1, 3, -1,
6431         -9, 0, -8, 0, -7, 0, -6, 0, -5, 0, -3, 0, 3, 0, 5, 0, 6, 0,
6432         	7, 0, 8, 0, 9, 0,
6433         -9, 1, -8, 1, -5, 1, -4, 1, 0, 1, 4, 1, 5, 1, 8, 1, 9, 1,
6434         -7, 2, -6, 2, -5, 2, 0, 2, 5, 2, 6, 2, 7, 2,
6435         -7, 3, 7, 3,
6436         127
6437 	},
6438 #ifdef LIFE_NAMES
6439 	{"mold (p4)"},
6440 #endif
6441 	{
6442         0, -3, 1, -3,
6443         -1, -2, 2, -2,
6444         -3, -1, 0, -1, 2, -1,
6445         1, 0,
6446         -3, 1, -1, 1, 0, 1,
6447         -2, 2,
6448         127
6449 	},
6450 #ifdef LIFE_NAMES
6451 	{"monogram (p4)"},
6452 #endif
6453 	{
6454         -3, -2, -2, -2, 2, -2, 3, -2,
6455         -2, -1, 0, -1, 2, -1,
6456         -2, 0, -1, 0, 1, 0, 2, 0,
6457         -2, 1, 0, 1, 2, 1,
6458         -3, 2, -2, 2, 2, 2, 3, 2,
6459         127
6460 	},
6461 #ifdef LIFE_NAMES
6462 	{"oscillator DH (p3)"},
6463 #endif
6464 	{
6465         0, -4, 1, -4,
6466         -1, -3, 2, -3,
6467         1, -2, 3, -2,
6468         -3, -1, -1, -1, 3, -1,
6469         -4, 0, 0, 0, 2, 0,
6470         -4, 1, -2, 1,
6471         -3, 2, 0, 2,
6472         -2, 3, -1, 3,
6473         127
6474 	},
6475 #ifdef LIFE_NAMES
6476 	{"oscillator0 DH (p4)"},
6477 #endif
6478 	{
6479         1, -5, 2, -5,
6480         0, -4, 2, -4,
6481         -5, -3, -4, -3, 0, -3,
6482         -5, -2, -2, -2, 0, -2, 1, -2,
6483         -4, -1, -3, -1, -2, -1,
6484         1, 0, 2, 0, 3, 0,
6485         -2, 1, -1, 1, 1, 1, 4, 1,
6486         -1, 2, 3, 2, 4, 2,
6487         -3, 3, -1, 3,
6488         -3, 4, -2, 4,
6489         127
6490 	},
6491 #ifdef LIFE_NAMES
6492 	{"oscillator1 DH (p4)"},
6493 #endif
6494 	{
6495         0, -7, 1, -7,
6496         0, -6, 1, -6,
6497         -2, -4, -1, -4, 0, -4, 1, -4,
6498         -3, -3, 2, -3,
6499         -4, -2, -2, -2, 0, -2, 1, -2, 3, -2, 5, -2, 6, -2,
6500         -4, -1, -2, -1, 3, -1, 5, -1, 6, -1,
6501         -7, 0, -6, 0, -4, 0, 1, 0, 3, 0,
6502         -7, 1, -6, 1, -4, 1, -2, 1, -1, 1, 1, 1, 3, 1,
6503         -3, 2, 2, 2,
6504         -2, 3, -1, 3, 0, 3, 1, 3,
6505         -2, 5, -1, 5,
6506         -2, 6, -1, 6,
6507         127
6508 	},
6509 #ifdef LIFE_NAMES
6510 	{"oscillator DH (p7)"},
6511 #endif
6512 	{
6513         -3, -2, -2, -2, -1, -2,
6514         -3, -1, -2, -1, -1, -1,
6515         1, 0, 2, 0, 3, 0,
6516         1, 1, 2, 1, 3, 1,
6517         127
6518 	},
6519 #ifdef LIFE_NAMES
6520 	{"oscillator DH (p9) "},
6521 #endif
6522 	{
6523         -11, -5, -10, -5, 10, -5, 11, -5,
6524         -10, -4, 10, -4,
6525         -10, -3, -8, -3, 8, -3, 10, -3,
6526         -9, -2, -8, -2, 8, -2, 9, -2,
6527         -6, 0, -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 1, 0, 2, 0, 3, 0,
6528         	4, 0, 5, 0, 6, 0,
6529         -9, 2, -8, 2, 8, 2, 9, 2,
6530         -10, 3, -8, 3, 8, 3, 10, 3,
6531         -10, 4, 10, 4,
6532         -11, 5, -10, 5, 10, 5, 11, 5,
6533         127
6534 	},
6535 #ifdef LIFE_NAMES
6536 	{"oscillator DH (p10)"},
6537 #endif
6538 	{
6539         -2, -1, 1, -1,
6540         -2, 0, 2, 0,
6541         -2, 1, -1, 1, 1, 1, 2, 1,
6542         127
6543 	},
6544 #ifdef LIFE_NAMES
6545 	{"oscillator DH (p12)"},
6546 #endif
6547 	{
6548         -3, -3, -2, -3, 1, -3, 3, -3,
6549         -1, -2, 1, -2, 3, -2,
6550         -3, -1, -2, -1, 2, -1,
6551         -2, 1, 2, 1, 3, 1,
6552         -3, 2, -1, 2, 1, 2,
6553         -3, 3, -1, 3, 2, 3, 3, 3,
6554         127
6555 	},
6556 #ifdef LIFE_NAMES
6557 	{"oscillator DH (p14)"},
6558 #endif
6559 	{
6560         -2, -5, -1, -5, 0, -5,
6561         -3, -4, -1, -4, 0, -4, 2, -4,
6562         -4, -3, 3, -3,
6563         -2, -2, 1, -2, 4, -2,
6564         -5, -1, -4, -1, 3, -1, 4, -1,
6565         -5, 0, -4, 0, 3, 0, 4, 0,
6566         -5, 1, -2, 1, 1, 1,
6567         -4, 2, 3, 2,
6568         -3, 3, -1, 3, 0, 3, 2, 3,
6569         -1, 4, 0, 4, 1, 4,
6570         127
6571 	},
6572 #ifdef LIFE_NAMES
6573 	{"oscillator DH (p20)"},
6574 #endif
6575 	{
6576         -1, -5,
6577         -3, -4, -2, -4, -1, -4,
6578         -4, -3, -1, -3,
6579         -4, -2, -2, -2,
6580         -5, -1, -4, -1, -3, -1,
6581         2, 0, 3, 0, 4, 0,
6582         1, 1, 3, 1,
6583         0, 2, 3, 2,
6584         0, 3, 1, 3, 2, 3,
6585         0, 4,
6586         127
6587 	},
6588 #ifdef LIFE_NAMES
6589 	{"oscillator DH (p28)"},
6590 #endif
6591 	{
6592         -6, -4, 6, -4,
6593         -6, -3, -4, -3, 4, -3, 6, -3,
6594         -9, -2, -6, -2, -5, -2, 5, -2, 6, -2, 9, -2,
6595         -10, -1, -9, -1, -8, -1, 8, -1, 9, -1, 10, -1,
6596         -11, 0, -10, 0, -8, 0, -7, 0, 7, 0, 8, 0, 10, 0, 11, 0,
6597         -10, 1, -9, 1, -8, 1, 8, 1, 9, 1, 10, 1,
6598         -9, 2, -6, 2, -5, 2, 5, 2, 6, 2, 9, 2,
6599         -6, 3, -4, 3, 4, 3, 6, 3,
6600         -6, 4, 6, 4,
6601         127
6602 	},
6603 #ifdef LIFE_NAMES
6604 	{"shuttle DH (p24)"},
6605 #endif
6606 	{
6607         -3, -3, -2, -3,
6608         -3, -2, -1, -2, 1, -2, 3, -2,
6609         -3, -1, -2, -1,
6610         -9, 0, -8, 0, 7, 0, 8, 0,
6611         -10, 1, -8, 1, 7, 1, 9, 1,
6612         -10, 2, 9, 2,
6613         -11, 3, -10, 3, 9, 3, 10, 3,
6614         127
6615 	},
6616 #ifdef LIFE_NAMES
6617 	{"oscillator NT (p48)"},
6618 #endif
6619 	{
6620         -9, -13, -8, -13, -7, -13, 7, -13, 8, -13, 9, -13,
6621         -9, -12, -6, -12, 6, -12, 9, -12,
6622         -9, -11, -5, -11, 5, -11, 9, -11,
6623         -8, -10, -5, -10, 5, -10, 8, -10,
6624         -7, -9, -6, -9, -5, -9, 5, -9, 6, -9, 7, -9,
6625         -11, -2, 11, -2,
6626         -12, -1, -10, -1, 10, -1, 12, -1,
6627         -14, 0, -13, 0, 13, 0, 14, 0,
6628         -12, 1, -10, 1, 10, 1, 12, 1,
6629         -11, 2, 11, 2,
6630         -7, 9, -6, 9, -5, 9, 5, 9, 6, 9, 7, 9,
6631         -8, 10, -5, 10, 5, 10, 8, 10,
6632         -9, 11, -5, 11, 5, 11, 9, 11,
6633         -9, 12, -6, 12, 6, 12, 9, 12,
6634         -9, 13, -8, 13, -7, 13, 7, 13, 8, 13, 9, 13,
6635         127
6636 	},
6637 #ifdef LIFE_NAMES
6638 	{"simple oscillator DH (p48)"},
6639 #endif
6640 	{
6641         -11, -11,
6642         -11, -10, -10, -10, -9, -10,
6643         -8, -9,
6644         -9, -8, -8, -8,
6645         -1, -5, 0, -5, 1, -5,
6646         -2, -4, 1, -4,
6647         -3, -3, 1, -3,
6648         -3, -2, 0, -2,
6649         -3, -1, -2, -1, -1, -1,
6650         8, 8, 9, 8,
6651         8, 9, 10, 9,
6652         10, 10,
6653         10, 11, 11, 11,
6654         127
6655 	},
6656 #ifdef LIFE_NAMES
6657 	{"oscillator HE (p96)"},
6658 #endif
6659 	{
6660         -13, -13, -12, -13,
6661         -13, -12, -12, -12,
6662         7, -4,
6663         6, -3, 7, -3,
6664         5, -2, 7, -2,
6665         4, -1, 5, -1, 6, -1,
6666         10, 1, 11, 1, 12, 1,
6667         9, 2, 11, 2,
6668         9, 3, 10, 3,
6669         9, 4,
6670         12, 12, 13, 12,
6671         12, 13, 13, 13,
6672         127
6673 	},
6674 };
6675 
6676 /* https://www.sillycycle.com/life.html */
6677 /* Below generated from java Life2DForms | dos2unix */
6678 
6679 static char patterns_8B3S245[][2 * NUMPTS + 1] =
6680 {
6681 #ifdef LIFE_NAMES
6682 	{"big blinker"},
6683 #endif
6684 	{
6685         -2, -1, -2, 0,
6686         -1, -1, -1, 0,
6687         0, -1, 0, 0,
6688         1, -1, 1, 0,
6689         127
6690 	},
6691 #ifdef LIFE_NAMES
6692 	{"x"},
6693 #endif
6694 	{
6695         -1, 0,
6696         0, -1, 0, 0, 0, 1,
6697         1, 0,
6698         127
6699 	},
6700 #ifdef LIFE_NAMES
6701 	{"double x"},
6702 #endif
6703 	{
6704         -2, -1, -1, -1, 1, -1, 0, -1,
6705         -3, 0, -2, 0, 1, 0, 2, 0,
6706         -2, 1, -1, 1, 0, 1, 1, 1,
6707         127
6708 	},
6709 #ifdef LIFE_NAMES
6710 	{"checker"},
6711 #endif
6712 	{
6713         -2, -2, 0, -2,
6714         -1, -1, 1, -1,
6715         -2, 0, 0, 0, 2, 0,
6716         -1, 1, 1, 1,
6717         0, 2, 2, 2,
6718         127
6719 	},
6720 #ifdef LIFE_NAMES
6721 	{"small square dance (p4)"},
6722 #endif
6723 	{
6724         -1, -2, 0, -2, 1, -2,
6725         0, -1,
6726         -3, 0, -1, 0, 1, 0, 3, 0,
6727         0, 1,
6728         -1, 2, 0, 2, 1, 2,
6729         127
6730 	},
6731 #ifdef LIFE_NAMES
6732 	{"clock (p4)"},
6733 #endif
6734 	{
6735         -1, -1,
6736         -1, 0, 0, 0,
6737         -1, 1, 0, 1,
6738         127
6739 	},
6740 #ifdef LIFE_NAMES
6741 	{"warped clock (p4)"},
6742 #endif
6743 	{
6744         0, -1,
6745         -2, 0, 0, 0, -1, 0,
6746         -1, 1,
6747         127
6748 	},
6749 #ifdef LIFE_NAMES
6750 	{"talker (p5)"},
6751 #endif
6752 	{
6753         1, -4, 0, -4,
6754         1, -3,
6755         -1, -2, 0, -2, 1, -2,
6756         -2, -1, 3, -1, 2, -1, 0, -1, 4, -1,
6757         -4, 0, -2, 0, -1, 0, 1, 0, 2, 0, 4, 0,
6758         -4, 1, -3, 1, -2, 1, 0, 1, 2, 1,
6759         -1, 2, 0, 2, 1, 2,
6760         -1, 3,
6761         -1, 4, 0, 4,
6762         127
6763 	},
6764 #ifdef LIFE_NAMES
6765 	{"square dance (p6)"},
6766 #endif
6767 	{
6768         -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2, 3, -2,
6769         0, -1,
6770         -5, 0, -1, 0, 1, 0, 5, 0,
6771         0, 1,
6772         -3, 2, -2, 2, -1, 2, 0, 2, 2, 2, 1, 2, 3, 2,
6773         127
6774 	},
6775 #ifdef LIFE_NAMES
6776 	{"tumbler (p8)"},
6777 #endif
6778 	{
6779         2, -4,
6780         -1, -3, 3, -3,
6781         -1, -2, 0, -2, 3, -2,
6782         -3, -1, -2, -1, 0, -1, 1, -1, 2, -1,
6783         -2, 0, -1, 0, 1, 0,
6784         -1, 1, 0, 1,
6785         -4, 2, -1, 2,
6786         -3, 3, -2, 3,
6787         127
6788 	},
6789 #ifdef LIFE_NAMES
6790 	{"give and receive (p12)"},
6791 #endif
6792 	{
6793         -2, -1, 3, -1,
6794         -3, 0, -1, 0, 1, 0, -2, 0, 2, 0, 3, 0,
6795         -2, 1, 2, 1,
6796         127
6797 	},
6798 };
6799 
6800 static char patterns_8B36S245[][2 * NUMPTS + 1] =
6801 {
6802 #ifdef LIFE_NAMES
6803 	{"jelly fish (diag c7, p7)"},
6804 #endif
6805 	{
6806         -1, -1,
6807         -1, 0, 0, 0,
6808         -1, 1, 0, 1, 1, 1,
6809         127
6810 	},
6811 #ifdef LIFE_NAMES
6812 	{"big blinker"},
6813 #endif
6814 	{
6815         -2, -1, -2, 0,
6816         -1, -1, -1, 0,
6817         0, -1, 0, 0,
6818         1, -1, 1, 0,
6819         127
6820 	},
6821 #ifdef LIFE_NAMES
6822 	{"x"},
6823 #endif
6824 	{
6825         -1, 0,
6826         0, -1, 0, 0, 0, 1,
6827         1, 0,
6828         127
6829 	},
6830 #ifdef LIFE_NAMES
6831 	{"double x"},
6832 #endif
6833 	{
6834         -2, -1, -1, -1, 1, -1, 0, -1,
6835         -3, 0, -2, 0, 1, 0, 2, 0,
6836         -2, 1, -1, 1, 0, 1, 1, 1,
6837         127
6838 	},
6839 #ifdef LIFE_NAMES
6840 	{"checker"},
6841 #endif
6842 	{
6843         -2, -2, 0, -2,
6844         -1, -1, 1, -1,
6845         -2, 0, 0, 0, 2, 0,
6846         -1, 1, 1, 1,
6847         0, 2, 2, 2,
6848         127
6849 	},
6850 #ifdef LIFE_NAMES
6851 	{"small square dance (p4)"},
6852 #endif
6853 	{
6854         -1, -2, 0, -2, 1, -2,
6855         0, -1,
6856         -3, 0, -1, 0, 1, 0, 3, 0,
6857         0, 1,
6858         -1, 2, 0, 2, 1, 2,
6859         127
6860 	},
6861 #ifdef LIFE_NAMES
6862 	{"key (p4)"},
6863 #endif
6864 	{
6865         -1, -2, 0, -2,
6866         -2, -1, 1, -1,
6867         -1, 0, 0, 0,
6868         -1, 1, 0, 1,
6869         127
6870 	},
6871 #ifdef LIFE_NAMES
6872 	{"clock (p4)"},
6873 #endif
6874 	{
6875         -1, -1,
6876         -1, 0, 0, 0,
6877         -1, 1, 0, 1,
6878         127
6879 	},
6880 #ifdef LIFE_NAMES
6881 	{"warped clock (p4)"},
6882 #endif
6883 	{
6884         0, -1,
6885         -2, 0, 0, 0, -1, 0,
6886         -1, 1,
6887         127
6888 	},
6889 #ifdef LIFE_NAMES
6890 	{"square dance (p6)"},
6891 #endif
6892 	{
6893         -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2, 3, -2,
6894         0, -1,
6895         -5, 0, -1, 0, 1, 0, 5, 0,
6896         0, 1,
6897         -3, 2, -2, 2, -1, 2, 0, 2, 2, 2, 1, 2, 3, 2,
6898         127
6899 	},
6900 #ifdef LIFE_NAMES
6901 	{"give and receive (p12)"},
6902 #endif
6903 	{
6904         -2, -1, 3, -1,
6905         -3, 0, -1, 0, 1, 0, -2, 0, 2, 0, 3, 0,
6906         -2, 1, 2, 1,
6907         127
6908 	},
6909 };
6910 
6911 static char patterns_8B3678S34678[][2 * NUMPTS + 1] =
6912 {
6913 #ifdef LIFE_NAMES
6914 	{"c/2, p2 odd spaceship"},
6915 #endif
6916 	{
6917         0, -3, 1, -3, 2, -3,
6918         -2, -2, 0, -2, 1, -2,
6919         -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 4, -1,
6920         -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
6921         -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1,
6922         -2, 2, 0, 2, 1, 2,
6923         0, 3, 1, 3, 2, 3,
6924         127
6925 	},
6926 #ifdef LIFE_NAMES
6927 	{"c/2, p4 odd spaceship"},
6928 #endif
6929 	{
6930         1, -3,
6931         -1, -2, 1, -2,
6932         -2, -1, -1, -1, 0, -1,
6933         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0,
6934         -2, 1, -1, 1, 0, 1,
6935         -1, 2, 1, 2,
6936         1, 3,
6937         127
6938 	},
6939 #ifdef LIFE_NAMES
6940 	{"c/2, p4 even spaceship"},
6941 #endif
6942 	{
6943         1, -4,
6944         -1, -3, 1, -3,
6945         -2, -2, -1, -2, 0, -2,
6946         -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 3, -1,
6947         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0,
6948         -2, 1, -1, 1, 0, 1,
6949         -1, 2, 1, 2,
6950         1, 3,
6951         127
6952 	},
6953 #ifdef LIFE_NAMES
6954 	{"c/2, p32 spaceship"},
6955 #endif
6956 	{
6957         -1, -3,
6958         -3, -2, -2, -2, -1, -2,
6959         -4, -1, -2, -1, -1, -1, 0, -1, 2, -1,
6960         -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 2, 0, 3, 0,
6961         -4, 1, -2, 1, -1, 1, 0, 1, 2, 1,
6962         -3, 2, -2, 2, -1, 2,
6963         -1, 3,
6964         127
6965 	},
6966 #ifdef LIFE_NAMES
6967 	{"c/3, p3 diagonal butterfly"},
6968 #endif
6969 	{
6970         -1, -2, 0, -2, 1, -2,
6971         -2, -1, 0, -1, 1, -1, 2, -1,
6972         -2, 0, -1, 0,
6973         -2, 1, -1, 1,
6974         -1, 2,
6975         127
6976 	},
6977 #ifdef LIFE_NAMES
6978 	{"c/7, p14 snail"},
6979 #endif
6980 	{
6981         0, -2,
6982         -2, -1, 0, -1, 1, -1,
6983         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
6984         -2, 1, 0, 1, 1, 1,
6985         0, 2,
6986         127
6987 	},
6988 #ifdef LIFE_NAMES
6989 	{"asym c/2, p4 spaceship"},
6990 #endif
6991 	{
6992         -7, -3, -6, -3, 1, -3, 2, -3,
6993         -8, -2, -7, -2, -6, -2, -4, -2, -3, -2, -2, -2, -1, -2, 1, -2, 2, -2, 4, -2, 5, -2, 6, -2, 7, -2,
6994         -9, -1, -7, -1, -6, -1, -2, -1, 1, -1, 3, -1, 4, -1, 5, -1, 6, -1, 8, -1,
6995         -8, 0, -7, 0, -6, 0, -5, 0, 0, 0, 2, 0, 4, 0, 6, 0, 7, 0, 8, 0,
6996         -6, 2, 6, 2, 7, 2,
6997         -8, 3,
6998         127
6999 	},
7000 #ifdef LIFE_NAMES
7001 	{"I1 (p3)"},
7002 #endif
7003 	{
7004         -2, -2, 2, -2,
7005         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
7006         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
7007         -2, 1, 2, 1,
7008         127
7009 	},
7010 #ifdef LIFE_NAMES
7011 	{"I2 (p3)"},
7012 #endif
7013 	{
7014         -3, -2, 2, -2,
7015         -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
7016         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
7017         -3, 1, 2, 1,
7018         127
7019 	},
7020 #ifdef LIFE_NAMES
7021 	{"drum (p3)"},
7022 #endif
7023 	{
7024         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
7025         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
7026         -2, 1, 0, 1, 2, 1,
7027         127
7028 	},
7029 #ifdef LIFE_NAMES
7030 	{"solitaire1 (p3)"},
7031 #endif
7032 	{
7033         -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
7034         -2, -1, 0, -1, 2, -1,
7035         -2, 0, -1, 0, 1, 0, 2, 0,
7036         -2, 1, 0, 1, 2, 1,
7037         -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
7038         127
7039 	},
7040 #ifdef LIFE_NAMES
7041 	{"solitaire2 (p3)"},
7042 #endif
7043 	{
7044         -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
7045         -3, -1, -1, -1, 0, -1, 2, -1,
7046         -3, 0, -2, 0, 1, 0, 2, 0,
7047         -3, 1, -1, 1, 0, 1, 2, 1,
7048         -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
7049         127
7050 	},
7051 #ifdef LIFE_NAMES
7052 	{"solitaire3 (p3)"},
7053 #endif
7054 	{
7055         -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 2, -3,
7056         -3, -2, -1, -2, 0, -2, 2, -2,
7057         -3, -1, -2, -1, 1, -1, 2, -1,
7058         -3, 0, -2, 0, 1, 0, 2, 0,
7059         -3, 1, -1, 1, 0, 1, 2, 1,
7060         -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
7061         127
7062 	},
7063 #ifdef LIFE_NAMES
7064 	{"plus1 (p4)"},
7065 #endif
7066 	{
7067         -1, -1, 1, -1,
7068         0, 0,
7069         -1, 1, 1, 1,
7070         127
7071 	},
7072 #ifdef LIFE_NAMES
7073 	{"plus2 (p4)"},
7074 #endif
7075 	{
7076         -1, -2, 1, -2,
7077         0, -1,
7078         0, 0,
7079         -1, 1, 1, 1,
7080         127
7081 	},
7082 #ifdef LIFE_NAMES
7083 	{"plus3 (p4)"},
7084 #endif
7085 	{
7086         -2, -2, 1, -2,
7087         -1, -1, 0, -1,
7088         -1, 0, 0, 0,
7089         -2, 1, 1, 1,
7090         127
7091 	},
7092 #ifdef LIFE_NAMES
7093 	{"2 hooks (p4)"},
7094 #endif
7095 	{
7096         -1, -3,
7097         -3, -2, -2, -2, -1, -2, 0, -2,
7098         -3, -1, 1, -1,
7099         -3, 0, -2, 0, 1, 0, 2, 0,
7100         -1, 1, 1, 1,
7101         -1, 2, 0, 2, 1, 2,
7102         127
7103 	},
7104 #ifdef LIFE_NAMES
7105 	{"p5 oscillator"},
7106 #endif
7107 	{
7108         2, -3,
7109         1, -2, 2, -2,
7110         2, -1,
7111         0, 0, 1, 0, 2, 0, 3, 0,
7112         -2, 1, 0, 1, 1, 1, 2, 1, 3, 1,
7113         -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
7114         0, 3, 1, 3,
7115         127
7116 	},
7117 #ifdef LIFE_NAMES
7118 	{"plus (p5)"},
7119 #endif
7120 	{
7121         -1, -3, 0, -3,
7122         0, -2, 1, -2,
7123         -2, -1, -1, -1, 0, -1, 1, -1, 3, -1,
7124         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
7125         -3, 1, -1, 1, 0, 1, 1, 1, 2, 1,
7126         -1, 2, 0, 2,
7127         0, 3, 1, 3,
7128         127
7129 	},
7130 #ifdef LIFE_NAMES
7131 	{"p6 oscillator 0"},
7132 #endif
7133 	{
7134         0, -2,
7135         -1, -1, 0, -1, 1, -1, 2, -1,
7136         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
7137         -1, 1, 0, 1,
7138         -1, 2, 0, 2,
7139         127
7140 	},
7141 #ifdef LIFE_NAMES
7142 	{"p6 oscillator 1"},
7143 #endif
7144 	{
7145         -2, -2, 0, -2, 1, -2,
7146         -1, -1, 0, -1,
7147         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
7148         -2, 1, 0, 1, 1, 1, 2, 1,
7149         0, 2, 1, 2,
7150         127
7151 	},
7152 #ifdef LIFE_NAMES
7153 	{"p6 oscillator 2"},
7154 #endif
7155 	{
7156         -2, -3,
7157         -3, -2, -2, -2, -1, -2,
7158         -2, -1,
7159         1, 0,
7160         0, 1, 1, 1, 2, 1,
7161         1, 2,
7162         127
7163 	},
7164 #ifdef LIFE_NAMES
7165 	{"p6 oscillator 3"},
7166 #endif
7167 	{
7168         -3, -4, 1, -4,
7169         -3, -3, -2, -3, -1, -3, 2, -3, 3, -3,
7170         -4, -2, -2, -2, 1, -2, 2, -2,
7171         -1, -1, 0, -1, 2, -1,
7172         -3, 0, -1, 0, 0, 0,
7173         -3, 1, -2, 1, 1, 1, 3, 1,
7174         -4, 2, -3, 2, 0, 2, 1, 2, 2, 2,
7175         -2, 3, 2, 3,
7176         127
7177 	},
7178 #ifdef LIFE_NAMES
7179 	{"capture1 (p6)"},
7180 #endif
7181 	{
7182         -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
7183         -4, -1, -3, -1, 0, -1, 3, -1, 4, -1,
7184         -1, 0, 0, 0, 1, 0,
7185         -4, 1, -3, 1, 0, 1, 3, 1, 4, 1,
7186         -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
7187         127
7188 	},
7189 #ifdef LIFE_NAMES
7190 	{"capture2 (p6)"},
7191 #endif
7192 	{
7193         -2, -3, -1, -3, 0, -3, 1, -3, 2, -3,
7194         -4, -2, -3, -2, 0, -2, 3, -2, 4, -2,
7195         -1, -1, 0, -1, 1, -1,
7196         -1, 0, 0, 0, 1, 0,
7197         -4, 1, -3, 1, 0, 1, 3, 1, 4, 1,
7198         -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
7199         127
7200 	},
7201 #ifdef LIFE_NAMES
7202 	{"capture3 (p6)"},
7203 #endif
7204 	{
7205         -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 2, -3,
7206         -5, -2, -4, -2, -1, -2, 0, -2, 3, -2, 4, -2,
7207         -2, -1, -1, -1, 0, -1, 1, -1,
7208         -2, 0, -1, 0, 0, 0, 1, 0,
7209         -5, 1, -4, 1, -1, 1, 0, 1, 3, 1, 4, 1,
7210         -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
7211         127
7212 	},
7213 #ifdef LIFE_NAMES
7214 	{"7 oscillator"},
7215 #endif
7216 	{
7217         -1, -3, 0, -3, 1, -3,
7218         0, -2, 1, -2, 2, -2,
7219         -3, -1, 0, -1, 1, -1,
7220         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
7221         -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
7222         -2, 2, 0, 2, 1, 2, 2, 2, 3, 2,
7223         2, 3, 3, 3,
7224         127
7225 	},
7226 #ifdef LIFE_NAMES
7227 	{"odd 8 oscillator"},
7228 #endif
7229 	{
7230         0, -3,
7231         -2, -1, 2, -1,
7232         -4, 0, -3, 0, -2, 0, -1, 0, 1, 0, 2, 0, 3, 0, 4, 0,
7233         -4, 1, -3, 1, -2, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
7234         -2, 2, -1, 2, 1, 2, 2, 2,
7235         127
7236 	},
7237 #ifdef LIFE_NAMES
7238 	{"even 8 oscillator"},
7239 #endif
7240 	{
7241         -1, -3, 0, -3,
7242         -3, -1, 2, -1,
7243         -5, 0, -4, 0, -3, 0, -2, 0, 1, 0, 2, 0, 3, 0, 4, 0,
7244         -5, 1, -4, 1, -3, 1, -2, 1, 1, 1, 2, 1, 3, 1, 4, 1,
7245         -3, 2, -2, 2, 1, 2, 2, 2,
7246         127
7247 	},
7248 #ifdef LIFE_NAMES
7249 	{"ripple (p10)"},
7250 #endif
7251 	{
7252         -1, -8, 0, -8,
7253         -1, -7, 0, -7,
7254         -1, -6, 0, -6,
7255         -2, -5, 1, -5,
7256         -5, -2, -2, -2, -1, -2, 0, -2, 1, -2, 4, -2,
7257         -8, -1, -7, -1, -6, -1, -2, -1, -1, -1, 0, -1, 1, -1, 5, -1, 6, -1, 7, -1,
7258         -8, 0, -7, 0, -6, 0, -2, 0, -1, 0, 0, 0, 1, 0, 5, 0, 6, 0, 7, 0,
7259         -5, 1, -2, 1, -1, 1, 0, 1, 1, 1, 4, 1,
7260         -2, 4, 1, 4,
7261         -1, 5, 0, 5,
7262         -1, 6, 0, 6,
7263         -1, 7, 0, 7,
7264         127
7265 	},
7266 #ifdef LIFE_NAMES
7267 	{"13 oscillator"},
7268 #endif
7269 	{
7270         -2, -2, -1, -2,
7271         -2, -1, -1, -1,
7272         0, 0,
7273         1, 1, 2, 1,
7274         1, 2, 2, 2,
7275         127
7276 	},
7277 #ifdef LIFE_NAMES
7278 	{"14 oscillator"},
7279 #endif
7280 	{
7281         3, -3,
7282         3, -2,
7283         2, -1, 3, -1,
7284         2, 0,
7285         -2, 1,
7286         -3, 2, -2, 2, -1, 2,
7287         -1, 3,
7288         127
7289 	},
7290 #ifdef LIFE_NAMES
7291 	{"16 oscillator"},
7292 #endif
7293 	{
7294         0, -2,
7295         -1, -1, 0, -1,
7296         -1, 0,
7297         -1, 1,
7298         127
7299 	},
7300 #ifdef LIFE_NAMES
7301 	{"cradle (p20)"},
7302 #endif
7303 	{
7304         -1, -3, 0, -3,
7305         -1, -2, 0, -2,
7306         -1, -1, 0, -1,
7307         -3, 0, 2, 0,
7308         -3, 1, -2, 1, 1, 1, 2, 1,
7309         -3, 2, -2, 2, 1, 2, 2, 2,
7310         127
7311 	},
7312 #ifdef LIFE_NAMES
7313 	{"hurricane cyclone (p24)"},
7314 #endif
7315 	{
7316         -1, -3,
7317         -2, -2, -1, -2, 0, -2, 1, -2,
7318         -2, -1, 1, -1, 2, -1,
7319         -3, 0, -2, 0, 1, 0,
7320         -2, 1, -1, 1, 0, 1, 1, 1,
7321         0, 2,
7322         127
7323 	},
7324 #ifdef LIFE_NAMES
7325 	{"hurricane cyclone (p28)"},
7326 #endif
7327 	{
7328         1, -4,
7329         1, -3,
7330         -2, -2, 1, -2, 2, -2,
7331         -4, -1, -3, -1, -2, -1, -1, -1, 1, -1,
7332         0, 0,
7333         -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
7334         -2, 2, -1, 2, 2, 2,
7335         -1, 3,
7336         -1, 4,
7337         127
7338 	},
7339 #ifdef LIFE_NAMES
7340 	{"36 oscillator"},
7341 #endif
7342 	{
7343         -1, -2, 0, -2,
7344         -2, -1, -1, -1, 0, -1,
7345         -2, 0, -1, 0, 1, 0,
7346         0, 1, 1, 1,
7347         2, 2,
7348         127
7349 	},
7350 #ifdef LIFE_NAMES
7351 	{"42 oscillator"},
7352 #endif
7353 	{
7354         -3, -5, 2, -5,
7355         -4, -4, -3, -4, -2, -4, 1, -4, 2, -4, 3, -4,
7356         -5, -3, -4, -3, -3, -3, -2, -3, 1, -3, 2, -3, 3, -3, 4, -3,
7357         -4, -2, -3, -2, -1, -2, 0, -2, 2, -2, 3, -2,
7358         -2, -1, -1, -1, 0, -1, 1, -1,
7359         -2, 0, -1, 0, 0, 0, 1, 0,
7360         -4, 1, -3, 1, -1, 1, 0, 1, 2, 1, 3, 1,
7361         -5, 2, -4, 2, -3, 2, -2, 2, 1, 2, 2, 2, 3, 2, 4, 2,
7362         -4, 3, -3, 3, -2, 3, 1, 3, 2, 3, 3, 3,
7363         -3, 4, 2, 4,
7364         127
7365 	},
7366 #ifdef LIFE_NAMES
7367 	{"50 oscillator"},
7368 #endif
7369 	{
7370         -4, -4, -3, -4, -2, -4, 1, -4, 2, -4, 3, -4,
7371         -4, -3, -3, -3, -1, -3, 0, -3, 2, -3, 3, -3,
7372         -4, -2, -2, -2, 1, -2, 3, -2,
7373         -3, -1, -1, -1, 0, -1, 2, -1,
7374         -3, 0, -1, 0, 0, 0, 2, 0,
7375         -4, 1, -2, 1, 1, 1, 3, 1,
7376         -4, 2, -3, 2, -1, 2, 0, 2, 2, 2, 3, 2,
7377         -4, 3, -3, 3, -2, 3, 1, 3, 2, 3, 3, 3,
7378         127
7379 	},
7380 #ifdef LIFE_NAMES
7381 	{"rocket predecessor"},
7382 #endif
7383 	{
7384         -3, -2, -2, -2,
7385         -4, -1, -2, -1, -1, -1,
7386         -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
7387         -4, 1, -2, 1, -1, 1,
7388         -3, 2, -2, 2,
7389         127
7390 	},
7391 #ifdef LIFE_NAMES
7392 	{"2 rockets and junk"},
7393 #endif
7394 	{
7395         -1, -2,
7396         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
7397         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0,
7398         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
7399         -1, 2,
7400         127
7401 	},
7402 #ifdef LIFE_NAMES
7403 	{"small doomed ship"},
7404 #endif
7405 	{
7406         -1, -2, 0, -2,
7407         -2, -1, -1, -1, 0, -1, 2, -1,
7408         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
7409         -2, 1, -1, 1, 0, 1, 2, 1,
7410         -1, 2, 0, 2,
7411         127
7412 	},
7413 };
7414 
7415 static char patterns_9B3S34[][2 * NUMPTS + 1] =
7416 {
7417 #ifdef LIFE_NAMES
7418 	{"replicator"},
7419 #endif
7420 	{
7421         -1, -1, 0, -1, 1, -1,
7422         -1, 0, 0, 0, 1, 0,
7423         127
7424 	},
7425 };
7426 
7427 static char patterns_9B34S3[][2 * NUMPTS + 1] =
7428 {
7429 #ifdef LIFE_NAMES
7430 	{"ship3 (c/2, p4)"},
7431 #endif
7432 	{
7433         -2, -7,
7434         0, -6, 1, -6,
7435         1, -5, 2, -5,
7436         2, -4,
7437         1, -3, 2, -3,
7438         2, -2,
7439         2, -1,
7440         -3, 0, -1, 0, 2, 0,
7441         -3, 1, -1, 1, 2, 1,
7442         2, 2,
7443         2, 3,
7444         1, 4, 2, 4,
7445         2, 5,
7446         1, 6, 2, 6,
7447         0, 7, 1, 7,
7448         -2, 8,
7449         127
7450 	},
7451 #ifdef LIFE_NAMES
7452 	{"ship (c/2, p8)"},
7453 #endif
7454 	{
7455         1, -6,
7456         -2, -5, -1, -5, 2, -5,
7457         -3, -4, -2, -4, 2, -4, 3, -4,
7458         -3, -3, 3, -3,
7459         2, -2, 3, -2,
7460         3, -1,
7461         3, 0,
7462         2, 1, 3, 1,
7463         -3, 2, 3, 2,
7464         -3, 3, -2, 3, 2, 3, 3, 3,
7465         -2, 4, -1, 4, 2, 4,
7466         1, 5,
7467         127
7468 	},
7469 #ifdef LIFE_NAMES
7470 	{"ship2 (c/2, p8)"},
7471 #endif
7472 	{
7473         -2, -7,
7474         -3, -6, 0, -6, 1, -6,
7475         -4, -5, -3, -5, 1, -5, 2, -5,
7476         -4, -4, 2, -4,
7477         -4, -3, -3, -3,
7478         -4, -2, 4, -2,
7479         -4, -1, 4, -1,
7480         -4, 0, 4, 0,
7481         -4, 1, 4, 1,
7482         -4, 2, -3, 2,
7483         -4, 3, 2, 3,
7484         -4, 4, -3, 4, 1, 4, 2, 4,
7485         -3, 5, 0, 5, 1, 5,
7486         -2, 6,
7487         127
7488 	},
7489 #ifdef LIFE_NAMES
7490 	{"ship3 (c/2, p8)"},
7491 #endif
7492 	{
7493         -2, -7,
7494         -3, -6, -1, -6, 0, -6,
7495         -2, -5, 0, -5, 1, -5,
7496         -2, -4, -1, -4, 0, -4, 1, -4,
7497         1, -3, 2, -3,
7498         -3, -2, 2, -2,
7499         -2, -1, 1, -1, 2, -1,
7500         -2, 0, 2, 0,
7501         -2, 1, 2, 1,
7502         -2, 2, 1, 2, 2, 2,
7503         -3, 3, 2, 3,
7504         1, 4, 2, 4,
7505         -2, 5, -1, 5, 0, 5, 1, 5,
7506         -2, 6, 0, 6, 1, 6,
7507         -3, 7, -1, 7, 0, 7,
7508         -2, 8,
7509         127
7510 	},
7511 #ifdef LIFE_NAMES
7512 	{"starship (c/2, p8)"},
7513 #endif
7514 	{
7515         -2, -5,
7516         0, -4, 1, -4,
7517         1, -3, 2, -3,
7518         2, -2,
7519         -2, -1, 1, -1, 2, -1,
7520         0, 0, 1, 0, 2, 0,
7521         0, 1, 1, 1, 2, 1,
7522         -2, 2, 1, 2, 2, 2,
7523         2, 3,
7524         1, 4, 2, 4,
7525         0, 5, 1, 5,
7526         -2, 6,
7527         127
7528 	},
7529 #ifdef LIFE_NAMES
7530 	{"horsehoe crab (c/2, p8)"},
7531 #endif
7532 	{
7533         -3, -6, 1, -6,
7534         -4, -5, -1, -5,
7535         -5, -4, -4, -4, 0, -4, 1, -4, 3, -4,
7536         -5, -3, 1, -3, 5, -3,
7537         -5, -2, -4, -2, -1, -2, 0, -2, 5, -2,
7538         -5, -1, -3, -1, -2, -1, -1, -1, 5, -1,
7539         -5, 0, -3, 0, -2, 0, -1, 0, 5, 0,
7540         -5, 1, -4, 1, -1, 1, 0, 1, 5, 1,
7541         -5, 2, 1, 2, 5, 2,
7542         -5, 3, -4, 3, 0, 3, 1, 3, 3, 3,
7543         -4, 4, -1, 4,
7544         -3, 5, 1, 5,
7545         127
7546 	},
7547 #ifdef LIFE_NAMES
7548 	{"horseshoe crab (c/2, p12)"},
7549 #endif
7550 	{
7551         3, -8,
7552         0, -7, 1, -7,
7553         -1, -6, 0, -6,
7554         -1, -5,
7555         -2, -4, -1, -4,
7556         -2, -3, -1, -3, 0, -3, 1, -3,
7557         -2, -2, 0, -2, 1, -2, 2, -2,
7558         -2, -1, 0, -1, 1, -1, 2, -1, 4, -1,
7559         -2, 0, 0, 0, 1, 0, 2, 0, 4, 0,
7560         -2, 1, 0, 1, 1, 1, 2, 1,
7561         -2, 2, -1, 2, 0, 2, 1, 2,
7562         -2, 3, -1, 3,
7563         -1, 4,
7564         -1, 5, 0, 5,
7565         0, 6, 1, 6,
7566         3, 7,
7567         127
7568 	},
7569 #ifdef LIFE_NAMES
7570 	{"ship (c/2, p16)"},
7571 #endif
7572 	{
7573         1, -8,
7574         -1, -7, 0, -7, 2, -7,
7575         -2, -6, -1, -6, 1, -6,
7576         -2, -5, -1, -5, 0, -5, 1, -5,
7577         -2, -4, -1, -4,
7578         -2, -3, 2, -3,
7579         -2, -2, -1, -2, 2, -2,
7580         -2, -1, 2, -1,
7581         -2, 0, 2, 0,
7582         -2, 1, -1, 1, 2, 1,
7583         -2, 2, 2, 2,
7584         -2, 3, -1, 3,
7585         -2, 4, -1, 4, 0, 4, 1, 4,
7586         -2, 5, -1, 5, 1, 5,
7587         -1, 6, 0, 6, 2, 6,
7588         1, 7,
7589         127
7590 	},
7591 #ifdef LIFE_NAMES
7592 	{"puffer (c/2, p44)"},
7593 #endif
7594 	{
7595         1, -8,
7596         -2, -7, -1, -7, 2, -7,
7597         -2, -6, 2, -6, 3, -6,
7598         -2, -5, 3, -5,
7599         -1, -4, 2, -4, 3, -4,
7600         -1, -3, 3, -3,
7601         -2, -2, -1, -2, 0, -2, 3, -2,
7602         -5, -1, -4, -1, -3, -1, 3, -1,
7603         -5, 0, -4, 0, -3, 0, 3, 0,
7604         -2, 1, -1, 1, 0, 1, 3, 1,
7605         -1, 2, 3, 2,
7606         -1, 3, 2, 3, 3, 3,
7607         -2, 4, 3, 4,
7608         -2, 5, 2, 5, 3, 5,
7609         -2, 6, -1, 6, 2, 6,
7610         1, 7,
7611         127
7612 	},
7613 #ifdef LIFE_NAMES
7614 	{"double puffer (c/2, p52)"},
7615 #endif
7616 	{
7617         -1, -6,
7618         -4, -5, -3, -5, 0, -5,
7619         -4, -4, 0, -4, 1, -4,
7620         -4, -3, -3, -3, 1, -3,
7621         0, -2, 1, -2,
7622         -1, -1, 1, -1,
7623         -1, 0, 1, 0,
7624         0, 1, 1, 1,
7625         -4, 2, -3, 2, 1, 2,
7626         -4, 3, 0, 3, 1, 3,
7627         -4, 4, -3, 4, 0, 4,
7628         -1, 5,
7629         127
7630 	},
7631 #ifdef LIFE_NAMES
7632 	{"pass through"},
7633 #endif
7634 	{
7635         -2, -1,
7636         -2, 0, 0, 0,
7637         -2, 1,
7638         127
7639 	},
7640 #ifdef LIFE_NAMES
7641 	{"toggle"},
7642 #endif
7643 	{
7644         -1, 0, 0, 0, 1, 0,
7645         2, 1,
7646         127
7647 	},
7648 #ifdef LIFE_NAMES
7649 	{"umbrella"},
7650 #endif
7651 	{
7652         -2, -1, -1, -1, 0, -1,
7653         -1, 1,
7654         127
7655 	},
7656 #ifdef LIFE_NAMES
7657 	{"hexagon"},
7658 #endif
7659 	{
7660         -1, 0, 0, 0, 1, 0,
7661         -1, 1, 0, 1, 1, 1,
7662         127
7663 	},
7664 #ifdef LIFE_NAMES
7665 	{"negate"},
7666 #endif
7667 	{
7668         -2, -1,
7669         -2, 0, -1, 0, 0, 0, 1, 0,
7670         -2, 1, -1, 1,
7671         127
7672 	},
7673 #ifdef LIFE_NAMES
7674 	{"hexagon with legs (p3)"},
7675 #endif
7676 	{
7677         -3, -3, 2, -3, 4, -3,
7678         -4, -2, -3, -2, 0, -2, 1, -2, 2, -2,
7679         -4, -1, -3, -1, 4, -1,
7680         -7, 0, 4, 0, 5, 0, 6, 0,
7681         -6, 1, -5, 1, -4, 1, 7, 1,
7682         -4, 2, 3, 2, 4, 2,
7683         -2, 3, -1, 3, 0, 3, 3, 3, 4, 3,
7684         -4, 4, -2, 4, 3, 4,
7685         127
7686 	},
7687 #ifdef LIFE_NAMES
7688 	{"fish (p4)"},
7689 #endif
7690 	{
7691         -2, -1, 1, -1,
7692         -2, 0, 0, 0, 1, 0,
7693         127
7694 	},
7695 #ifdef LIFE_NAMES
7696 	{"kissing fish (p4)"},
7697 #endif
7698 	{
7699         -2, -1, 2, -1,
7700         -4, 0, -2, 0, 2, 0, 3, 0, 4, 0,
7701         -4, 1, -3, 1, -2, 1, 2, 1, 4, 1,
7702         -2, 2, 2, 2,
7703         127
7704 	},
7705 #ifdef LIFE_NAMES
7706 	{"small spiral (p4)"},
7707 #endif
7708 	{
7709         -2, -2,
7710         -3, -1, -1, -1, 1, -1,
7711         -2, 0, 0, 0, 2, 0,
7712         -3, 1, -1, 1,
7713         127
7714 	},
7715 #ifdef LIFE_NAMES
7716 	{"clock (p6)"},
7717 #endif
7718 	{
7719         -1, -1,
7720         -2, 0, -1, 0, 0, 0, 1, 0,
7721         127
7722 	},
7723 #ifdef LIFE_NAMES
7724 	{"spiral (p10)"},
7725 #endif
7726 	{
7727         -4, -3, -1, -3, 0, -3, 3, -3,
7728         1, -2, 5, -2,
7729         -6, -1, -5, -1, -3, -1, 5, -1,
7730         4, 0, 7, 0,
7731         -7, 1, -4, 1,
7732         -5, 2, 3, 2, 5, 2, 6, 2,
7733         -5, 3, -1, 3,
7734         -3, 4, 0, 4, 1, 4, 4, 4,
7735         127
7736 	},
7737 #ifdef LIFE_NAMES
7738 	{"shining star (p10)"},
7739 #endif
7740 	{
7741         0, -5,
7742         -1, -4, 1, -4,
7743         -4, -3, -3, -3, -1, -3, 1, -3, 3, -3, 4, -3,
7744         -8, -2, -6, -2, -5, -2, 5, -2, 6, -2, 8, -2,
7745         -7, -1, -6, -1, 6, -1, 7, -1,
7746         -7, 0, 7, 0,
7747         -7, 1, 7, 1,
7748         -7, 2, -6, 2, 6, 2, 7, 2,
7749         -8, 3, -6, 3, -5, 3, 5, 3, 6, 3, 8, 3,
7750         -4, 4, -3, 4, -1, 4, 1, 4, 3, 4, 4, 4,
7751         -1, 5, 1, 5,
7752         0, 6,
7753         127
7754 	},
7755 #ifdef LIFE_NAMES
7756 	{"eagle (p16)"},
7757 #endif
7758 	{
7759         -7, -2, 7, -2,
7760         -8, -1, -7, -1, -5, -1, -4, -1, 4, -1, 5, -1, 7, -1, 8, -1,
7761         -8, 0, -7, 0, -2, 0, -1, 0, 1, 0, 2, 0, 7, 0, 8, 0,
7762         -1, 1, 1, 1,
7763         -2, 2, 2, 2,
7764         127
7765 	},
7766 #ifdef LIFE_NAMES
7767 	{"black diamond (p16)"},
7768 #endif
7769 	{
7770         -4, -3, -3, -3, -1, -3, 0, -3, 2, -3,
7771         -6, -2, -5, -2, 4, -2,
7772         -6, -1, 3, -1, 4, -1,
7773         -6, 0, -5, 0, 4, 0,
7774         -6, 1, 3, 1, 4, 1,
7775         -4, 2, -2, 2, -1, 2, 1, 2, 2, 2,
7776         127
7777 	},
7778 #ifdef LIFE_NAMES
7779 	{"supernova (p19)"},
7780 #endif
7781 	{
7782         -6, -5, -5, -5, -3, -5, -2, -5, -1, -5, 0, -5, 1, -5, 2, -5, 3, -5, 5, -5, 6, -5,
7783         -7, -4, 7, -4,
7784         -8, -3, -7, -3, 7, -3, 8, -3,
7785         -9, -2, -8, -2, 8, -2, 9, -2,
7786         -10, -1, -9, -1, 9, -1, 10, -1,
7787         -11, 0, 11, 0,
7788         -11, 1, 11, 1,
7789         -10, 2, -9, 2, 9, 2, 10, 2,
7790         -9, 3, -8, 3, 8, 3, 9, 3,
7791         -8, 4, -7, 4, 7, 4, 8, 4,
7792         -7, 5, 7, 5,
7793         -6, 6, -5, 6, -3, 6, -2, 6, -1, 6, 0, 6, 1, 6, 2, 6, 3, 6, 5, 6, 6, 6,
7794         127
7795 	},
7796 };
7797 
7798 static char patterns_12B3S2[][2 * NUMPTS + 1] =
7799 {
7800 #ifdef LIFE_NAMES
7801 	{"wave (p4)"},
7802 #endif
7803 	{
7804         -5, 0, -4, 0, -2, 0, 0, 0, 2, 0, 3, 0,
7805         127
7806 	},
7807 #ifdef LIFE_NAMES
7808 	{"wave on wave (p4)"},
7809 #endif
7810 	{
7811         -4, -3, -3, -3, -1, -3, 1, -3, 3, -3, 4, -3,
7812         -4, 0, 4, 0,
7813         -3, 1, -2, 1, -1, 1, 1, 1, 2, 1, 3, 1,
7814         -2, 2, 2, 2,
7815         127
7816 	},
7817 #ifdef LIFE_NAMES
7818 	{"temples (p8)"},
7819 #endif
7820 	{
7821         -6, -3, -4, -3, -3, -3, 1, -3, 2, -3, 4, -3,
7822         -7, -2, 5, -2,
7823         -6, -1, 4, -1,
7824         -6, 0, 4, 0,
7825         -4, 2, -3, 2, 1, 2, 2, 2,
7826         -2, 3, 0, 3,
7827         127
7828 	},
7829 #ifdef LIFE_NAMES
7830 	{"diamond dance (p12)"},
7831 #endif
7832 	{
7833         -4, -3, -2, -3, 6, -3,
7834         -2, -2, -1, -2, 3, -2, 8, -2,
7835         9, -1,
7836         -2, 0, 3, 0,
7837         -8, 1,
7838         -7, 2, -2, 2, 2, 2, 3, 2,
7839         -5, 3, 3, 3, 5, 3,
7840         127
7841 	},
7842 };
7843 
7844 static char patterns_12B3S23[][2 * NUMPTS + 1] =
7845 {
7846 #ifdef LIFE_NAMES
7847 	{"c (p4)"},
7848 #endif
7849 	{
7850         0, -1, 1, -1,
7851         -1, 0,
7852         -1, 1,
7853         0, 2, 1, 2,
7854         127
7855 	},
7856 #ifdef LIFE_NAMES
7857 	{"2 butterflies (p7)"},
7858 #endif
7859 	{
7860         1, -2,
7861         0, -1, 1, -1,
7862         -2, 1, -1, 1,
7863         -2, 2,
7864         127
7865 	},
7866 #ifdef LIFE_NAMES
7867 	{"l (p8)"},
7868 #endif
7869 	{
7870         0, -1,
7871         -1, 0, 0, 0,
7872         -1, 1,
7873         127
7874 	},
7875 #ifdef LIFE_NAMES
7876 	{"flame thrower (p18)"},
7877 #endif
7878 	{
7879         0, -3,
7880         -1, -2, 0, -2,
7881         -1, 3, 0, 3,
7882         0, 4,
7883         127
7884 	},
7885 #ifdef LIFE_NAMES
7886 	{"radiation (p24)"},
7887 #endif
7888 	{
7889         0, -1, 2, -1,
7890         -3, 0, 0, 0,
7891         -2, 1, -1, 1, 1, 1, 2, 1,
7892         1, 2,
7893         127
7894 	},
7895 #ifdef LIFE_NAMES
7896 	{"near replicator"},
7897 #endif
7898 	{
7899         -1, -1, 0, -1,
7900         -1, 0, 0, 0,
7901         127
7902 	},
7903 };
7904 
7905 static char patterns_12B3S27[][2 * NUMPTS + 1] =
7906 {
7907 #ifdef LIFE_NAMES
7908 	{"throwing star"},
7909 #endif
7910 	{
7911         1, -1, 2, -1,
7912         -3, 0, -1, 0, 0, 0, 1, 0,
7913         -3, 1, -1, 1, 0, 1, 1, 1,
7914         1, 2, 2, 2,
7915         127
7916 	},
7917 #ifdef LIFE_NAMES
7918 	{"throwing star2"},
7919 #endif
7920 	{
7921         -3, -2, 1, -2,
7922         -4, -1, -2, -1, -1, -1, 0, -1, 2, -1,
7923         -2, 0, -1, 0, 0, 0,
7924         -2, 1, 0, 1,
7925         127
7926 	},
7927 #ifdef LIFE_NAMES
7928 	{"internal star"},
7929 #endif
7930 	{
7931         -4, -3, -3, -3, -1, -3, 1, -3, 3, -3, 4, -3,
7932         -5, -2, 5, -2,
7933         -5, -1, 5, -1,
7934         -4, 0, 4, 0,
7935         -3, 1, 3, 1,
7936         -2, 2, -1, 2, 1, 2, 2, 2,
7937         127
7938 	},
7939 #ifdef LIFE_NAMES
7940 	{"star"},
7941 #endif
7942 	{
7943         0, -3,
7944         -3, -2, -2, -2, 2, -2, 3, -2,
7945         -5, -1, 5, -1,
7946         -5, 0, -1, 0, 0, 0, 1, 0, 5, 0,
7947         -5, 1, -1, 1, 0, 1, 1, 1, 5, 1,
7948         -5, 2, 5, 2,
7949         -3, 3, -2, 3, 2, 3, 3, 3,
7950         0, 4,
7951         127
7952 	},
7953 #ifdef LIFE_NAMES
7954 	{"tri spiral (p4)"},
7955 #endif
7956 	{
7957         0, -3, 2, -3,
7958         -4, -2, 4, -2,
7959         -4, -1, -1, -1, 1, -1,
7960         -3, 0, 0, 0, 3, 0,
7961         2, 1,
7962         0, 2,
7963         127
7964 	},
7965 #ifdef LIFE_NAMES
7966 	{"worm mouth (p4)"},
7967 #endif
7968 	{
7969         -1, -3, 1, -3,
7970         -3, -2, -2, -2, 2, -2, 3, -2,
7971         -5, 0, 5, 0,
7972         -5, 1, 5, 1,
7973         -6, 2, 6, 2,
7974         -5, 3, -3, 3, -2, 3, 2, 3, 3, 3, 5, 3,
7975         127
7976 	},
7977 #ifdef LIFE_NAMES
7978 	{"black sheep (p6)"},
7979 #endif
7980 	{
7981         -1, -3, 0, -3, 1, -3,
7982         0, -2,
7983         -1, 0, 1, 0,
7984         -2, 1, 2, 1,
7985         -1, 2, 1, 2,
7986         -7, 3, -6, 3, -5, 3, 5, 3, 6, 3, 7, 3,
7987         -6, 4, 6, 4,
7988         127
7989 	},
7990 #ifdef LIFE_NAMES
7991 	{"temples (p8)"},
7992 #endif
7993 	{
7994         -6, -3, -4, -3, -3, -3, 1, -3, 2, -3, 4, -3,
7995         -7, -2, 5, -2,
7996         -6, -1, 4, -1,
7997         -6, 0, 4, 0,
7998         -4, 2, -3, 2, 1, 2, 2, 2,
7999         -2, 3, 0, 3,
8000         127
8001 	},
8002 #ifdef LIFE_NAMES
8003 	{"mirrored gliders (p18)"},
8004 #endif
8005 	{
8006         -7, -2, -4, -2, -3, -2, 3, -2, 4, -2, 7, -2,
8007         -3, -1, 3, -1,
8008         -8, 0, -4, 0, 4, 0, 8, 0,
8009         -8, 1, -4, 1, 4, 1, 8, 1,
8010         -3, 2, 3, 2,
8011         -7, 3, -4, 3, -3, 3, 3, 3, 4, 3, 7, 3,
8012         127
8013 	},
8014 #ifdef LIFE_NAMES
8015 	{"spinning glider (p36)"},
8016 #endif
8017 	{
8018         -1, -1, 1, -1, 2, -1,
8019         2, 0,
8020         0, 1, 1, 1, 2, 1,
8021         127
8022 	},
8023 };
8024 
8025 static char patterns_12B3S278[][2 * NUMPTS + 1] =
8026 {
8027 #ifdef LIFE_NAMES
8028 	{"throwing star"},
8029 #endif
8030 	{
8031         1, -1, 2, -1,
8032         -3, 0, -1, 0, 0, 0, 1, 0,
8033         -3, 1, -1, 1, 0, 1, 1, 1,
8034         1, 2, 2, 2,
8035         127
8036 	},
8037 #ifdef LIFE_NAMES
8038 	{"throwing star2"},
8039 #endif
8040 	{
8041         -3, -2, 1, -2,
8042         -4, -1, -2, -1, -1, -1, 0, -1, 2, -1,
8043         -2, 0, -1, 0, 0, 0,
8044         -2, 1, 0, 1,
8045         127
8046 	},
8047 #ifdef LIFE_NAMES
8048 	{"internal star"},
8049 #endif
8050 	{
8051         -4, -3, -3, -3, -1, -3, 1, -3, 3, -3, 4, -3,
8052         -5, -2, 5, -2,
8053         -5, -1, 5, -1,
8054         -4, 0, 4, 0,
8055         -3, 1, 3, 1,
8056         -2, 2, -1, 2, 1, 2, 2, 2,
8057         127
8058 	},
8059 #ifdef LIFE_NAMES
8060 	{"sunflower"},
8061 #endif
8062 	{
8063         -2, -6, 0, -6,
8064         -6, -5, -5, -5, 3, -5, 4, -5,
8065         -9, -4, -3, -4, -1, -4, 1, -4, 7, -4,
8066         -10, -3, -5, -3, 3, -3, 8, -3,
8067         -6, -2, 4, -2,
8068         -10, -1, -7, -1, -2, -1, -1, -1, 0, -1, 5, -1, 8, -1,
8069         -10, 0, -7, 0, -2, 0, -1, 0, 0, 0, 5, 0, 8, 0,
8070         -6, 1, 4, 1,
8071         8, 2, -10, 2, -5, 2, 3, 2,
8072         -9, 3, -3, 3, -1, 3, 1, 3, 7, 3,
8073         -6, 4, -5, 4, 3, 4, 4, 4,
8074         -2, 5, 0, 5,
8075         127
8076 	},
8077 #ifdef LIFE_NAMES
8078 	{"hexagon (p3)"},
8079 #endif
8080 	{
8081         -1, 0, 0, 0, 1, 0,
8082         -1, 1, 0, 1, 1, 1,
8083         127
8084 	},
8085 #ifdef LIFE_NAMES
8086 	{"hexagons (p3)"},
8087 #endif
8088 	{
8089         -4, -3, -3, -3, -2, -3, 2, -3, 3, -3, 4, -3,
8090         -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4, -2,
8091         -7, 0, -6, 0, -5, 0, 5, 0, 6, 0, 7, 0,
8092         -7, 1, -6, 1, -5, 1, 5, 1, 6, 1, 7, 1,
8093         -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3,
8094         -4, 4, -3, 4, -2, 4, 2, 4, 3, 4, 4, 4,
8095         127
8096 	},
8097 #ifdef LIFE_NAMES
8098 	{"tri spiral (p4)"},
8099 #endif
8100 	{
8101         0, -3, 2, -3,
8102         -4, -2, 4, -2,
8103         -4, -1, -1, -1, 1, -1,
8104         -3, 0, 0, 0, 3, 0,
8105         2, 1,
8106         0, 2,
8107         127
8108 	},
8109 #ifdef LIFE_NAMES
8110 	{"worm mouth (p4)"},
8111 #endif
8112 	{
8113         -1, -3, 1, -3,
8114         -3, -2, -2, -2, 2, -2, 3, -2,
8115         -5, 0, 5, 0,
8116         -5, 1, 5, 1,
8117         -6, 2, 6, 2,
8118         -5, 3, -3, 3, -2, 3, 2, 3, 3, 3, 5, 3,
8119         127
8120 	},
8121 #ifdef LIFE_NAMES
8122 	{"black sheep (p6)"},
8123 #endif
8124 	{
8125         -1, -3, 0, -3, 1, -3,
8126         0, -2,
8127         -1, 0, 1, 0,
8128         -2, 1, 2, 1,
8129         -1, 2, 1, 2,
8130         -7, 3, -6, 3, -5, 3, 5, 3, 6, 3, 7, 3,
8131         -6, 4, 6, 4,
8132         127
8133 	},
8134 #ifdef LIFE_NAMES
8135 	{"temples (p8)"},
8136 #endif
8137 	{
8138         -6, -3, -4, -3, -3, -3, 1, -3, 2, -3, 4, -3,
8139         -7, -2, 5, -2,
8140         -6, -1, 4, -1,
8141         -6, 0, 4, 0,
8142         -4, 2, -3, 2, 1, 2, 2, 2,
8143         -2, 3, 0, 3,
8144         127
8145 	},
8146 #ifdef LIFE_NAMES
8147 	{"tri pulse (p26)"},
8148 #endif
8149 	{
8150         -6, -3, -5, -3, -4, -3, -3, -3,
8151         -6, -2, -3, -2, 4, -2, 5, -2,
8152         2, -1, 4, -1, 5, -1,
8153         4, 0,
8154         -2, 1,
8155         -4, 2, -3, 2,
8156         -3, 3, -2, 3, -1, 3,
8157         127
8158 	},
8159 #ifdef LIFE_NAMES
8160 	{"clock (p93)"},
8161 #endif
8162 	{
8163         -3, -2, -2, -2,
8164         1, -1, 2, -1,
8165         3, 0,
8166         3, 1,
8167         -5, 2, -4, 2, -3, 2, 0, 2,
8168         127
8169 	},
8170 #ifdef LIFE_NAMES
8171 	{"glider (c3/20, p80)"},
8172 #endif
8173 	{
8174         1, 0,
8175         1, 1, 2, 1,
8176         0, 2,
8177         127
8178 	},
8179 #ifdef LIFE_NAMES
8180 	{"gunship1"},
8181 #endif
8182 	{
8183         2, -7, 4, -7,
8184         2, -6, 4, -6,
8185         1, -5,
8186         3, -4, 5, -4,
8187         3, -3, 4, -3, 5, -3,
8188         -3, 6,
8189         -3, 7, -2, 7,
8190         -4, 8,
8191         127
8192 	},
8193 #ifdef LIFE_NAMES
8194 	{"gunship2"},
8195 #endif
8196 	{
8197         3, -6, 4, -6, 5, -6,
8198         2, -5, 6, -5,
8199         4, -4, 5, -4, 6, -4,
8200         -3, 6,
8201         -3, 7, -2, 7,
8202         -4, 8,
8203         127
8204 	},
8205 };
8206 
8207 static char patterns_12B4S345[][2 * NUMPTS + 1] =
8208 {
8209 #ifdef LIFE_NAMES
8210 	{"hold (p3)"},
8211 #endif
8212 	{
8213         -3, 0, -2, 0, 2, 0, 3, 0,
8214         -3, 1, -2, 1, 2, 1, 3, 1,
8215         127
8216 	},
8217 #ifdef LIFE_NAMES
8218 	{"pinch (p3)"},
8219 #endif
8220 	{
8221         -2, 0, -1, 0, 1, 0, 2, 0,
8222         -2, 1, -1, 1, 1, 1, 2, 1,
8223         127
8224 	},
8225 #ifdef LIFE_NAMES
8226 	{"doily (p3)"},
8227 #endif
8228 	{
8229         -2, -3, 2, -3,
8230         -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4, -2,
8231         -6, 0, -5, 0, 5, 0, 6, 0,
8232         -6, 1, -5, 1, 5, 1, 6, 1,
8233         -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3,
8234         -2, 4, 2, 4,
8235         127
8236 	},
8237 #ifdef LIFE_NAMES
8238 	{"hold (p4)"},
8239 #endif
8240 	{
8241         -4, -1, -3, -1, 3, -1, 4, -1,
8242         -4, 0, -3, 0, 3, 0, 4, 0,
8243         127
8244 	},
8245 #ifdef LIFE_NAMES
8246 	{"cradle (p4)"},
8247 #endif
8248 	{
8249         0, -3, 1, -3, 2, -3,
8250         2, -2,
8251         -2, 0, -1, 0,
8252         -2, 1, -1, 1,
8253         2, 3,
8254         0, 4, 1, 4, 2, 4,
8255         127
8256 	},
8257 #ifdef LIFE_NAMES
8258 	{"cannibal pacman (p8)"},
8259 #endif
8260 	{
8261         -3, -2, -2, -2, -1, -2, 0, -2, 2, -2, 3, -2,
8262         -4, -1, 3, -1, 4, -1,
8263         -5, 0, -4, 0, 5, 0,
8264         -5, 1, 4, 1, 5, 1,
8265         -4, 2, -3, 2, 4, 2,
8266         -3, 3, -2, 3, 0, 3, 1, 3, 2, 3, 3, 3,
8267         127
8268 	},
8269 #ifdef LIFE_NAMES
8270 	{"boat (p9)"},
8271 #endif
8272 	{
8273         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
8274         -2, 0, -1, 0, 0, 0, 2, 0,
8275         1, 1,
8276         127
8277 	},
8278 #ifdef LIFE_NAMES
8279 	{"skewed star (p13)"},
8280 #endif
8281 	{
8282         -2, -3, -1, -3, 0, -3,
8283         -3, -2, 2, -2, 4, -2, 5, -2,
8284         -6, -1, -5, -1, -1, -1, 2, -1, 5, -1,
8285         -6, 0, -3, 0, 5, 0,
8286         -5, 1, 3, 1, 6, 1,
8287         -5, 2, -2, 2, 1, 2, 5, 2, 6, 2,
8288         -5, 3, -4, 3, -2, 3, 3, 3,
8289         0, 4, 1, 4, 2, 4,
8290         127
8291 	},
8292 };
8293 
8294 static char patterns_12B4S35[][2 * NUMPTS + 1] =
8295 {
8296 #ifdef LIFE_NAMES
8297 	{"toggle"},
8298 #endif
8299 	{
8300         -1, -2, 0, -2, 1, -2,
8301         -1, -1,
8302         -1, 0,
8303         -1, 1, 0, 1, 1, 1,
8304         127
8305 	},
8306 #ifdef LIFE_NAMES
8307 	{"batman"},
8308 #endif
8309 	{
8310         0, -2,
8311         -3, -1, -1, -1, 1, -1, 3, -1,
8312         -2, 0, -1, 0, 1, 0, 2, 0,
8313         -1, 1, 1, 1,
8314         127
8315 	},
8316 #ifdef LIFE_NAMES
8317 	{"doily (p3)"},
8318 #endif
8319 	{
8320         -2, -3, 2, -3,
8321         -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4, -2,
8322         -6, 0, -5, 0, 5, 0, 6, 0,
8323         -6, 1, -5, 1, 5, 1, 6, 1,
8324         -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3,
8325         -2, 4, 2, 4,
8326         127
8327 	},
8328 #ifdef LIFE_NAMES
8329 	{"2 butterflies (p4)"},
8330 #endif
8331 	{
8332         -2, -2, -1, -2,
8333         -3, -1, -2, -1,
8334         2, 0, 3, 0,
8335         1, 1, 2, 1,
8336         127
8337 	},
8338 #ifdef LIFE_NAMES
8339 	{"0231 (p4)"},
8340 #endif
8341 	{
8342         -4, -1, -3, -1, 3, -1, 4, -1,
8343         -4, 0, -3, 0, 3, 0, 4, 0,
8344         127
8345 	},
8346 #ifdef LIFE_NAMES
8347 	{"teamwork (p4)"},
8348 #endif
8349 	{
8350         1, -4, 2, -4, 3, -4,
8351         1, -3, 2, -3, 3, -3,
8352         -2, -1, -1, -1, 0, -1,
8353         -2, 0, -1, 0, 0, 0,
8354         1, 2, 2, 2, 3, 2,
8355         1, 3, 2, 3, 3, 3,
8356         127
8357 	},
8358 #ifdef LIFE_NAMES
8359 	{"2573 (p4)"},
8360 #endif
8361 	{
8362         -6, -1, -5, -1, 0, -1, 2, -1, 7, -1, 8, -1,
8363         -6, 0, -5, 0, 0, 0, 2, 0, 7, 0, 8, 0,
8364         127
8365 	},
8366 #ifdef LIFE_NAMES
8367 	{"3 cats (p5)"},
8368 #endif
8369 	{
8370         -3, -3, -2, -3, -1, -3, 1, -3, 2, -3, 3, -3,
8371         -2, -2, 2, -2,
8372         -3, -1, -2, -1, 2, -1, 3, -1,
8373         -5, 1, -4, 1, 4, 1, 5, 1,
8374         -8, 2, -7, 2, -6, 2, 6, 2, 7, 2, 8, 2,
8375         -7, 3, -2, 3, 2, 3, 7, 3,
8376         -6, 4, -5, 4, -4, 4, -2, 4, 2, 4, 4, 4, 5, 4, 6, 4,
8377         -5, 5, 5, 5,
8378         127
8379 	},
8380 #ifdef LIFE_NAMES
8381 	{"06_56_74_30_35_47 (p6)"},
8382 #endif
8383 	{
8384         -8, -1, -7, -1, -1, -1, 0, -1, 2, -1, 5, -1, 6, -1,
8385         -8, 0, -7, 0, -1, 0, 0, 0, 2, 0, 5, 0, 6, 0,
8386         127
8387 	},
8388 };
8389 
8390 static char patterns_12B4S356[][2 * NUMPTS + 1] =
8391 {
8392 #ifdef LIFE_NAMES
8393 	{"toggle"},
8394 #endif
8395 	{
8396         -1, -2, 0, -2, 1, -2,
8397         -1, -1,
8398         -1, 0,
8399         -1, 1, 0, 1, 1, 1,
8400         127
8401 	},
8402 #ifdef LIFE_NAMES
8403 	{"switch"},
8404 #endif
8405 	{
8406         -2, -1, -1, -1,
8407         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
8408         -2, 1,
8409         127
8410 	},
8411 #ifdef LIFE_NAMES
8412 	{"escalator"},
8413 #endif
8414 	{
8415         1, -2,
8416         2, -1, 3, -1, 4, -1,
8417         0, 0, 1, 0,
8418         -3, 1, -2, 1, -1, 1,
8419         0, 2,
8420         127
8421 	},
8422 #ifdef LIFE_NAMES
8423 	{"batman"},
8424 #endif
8425 	{
8426         0, -2,
8427         -3, -1, -1, -1, 1, -1, 3, -1,
8428         -2, 0, -1, 0, 1, 0, 2, 0,
8429         -1, 1, 1, 1,
8430         127
8431 	},
8432 #ifdef LIFE_NAMES
8433 	{"hazzards (p3)"},
8434 #endif
8435 	{
8436         2, -1, 7, -1, 8, -1,
8437         -7, 0, -6, 0, -2, 0, 0, 0, 1, 0, 3, 0, 7, 0, 8, 0,
8438         -7, 1, -6, 1, -1, 1,
8439         127
8440 	},
8441 #ifdef LIFE_NAMES
8442 	{"tickle (p3)"},
8443 #endif
8444 	{
8445         0, -5, 1, -5, 2, -5,
8446         0, -4,
8447         -2, -2, -1, -2, 0, -2,
8448         -2, -1, -1, -1,
8449         -2, 0, -1, 0,
8450         -2, 1, -1, 1, 0, 1,
8451         0, 3,
8452         0, 4, 1, 4, 2, 4,
8453         127
8454 	},
8455 #ifdef LIFE_NAMES
8456 	{"pull toy (p3)"},
8457 #endif
8458 	{
8459         -1, -2, 1, -2,
8460         -2, -1, -1, -1, 1, -1, 2, -1,
8461         -6, 0, -4, 0, 4, 0, 6, 0,
8462         -6, 1, -4, 1, 4, 1, 6, 1,
8463         -2, 2, -1, 2, 1, 2, 2, 2,
8464         -1, 3, 1, 3,
8465         127
8466 	},
8467 #ifdef LIFE_NAMES
8468 	{"doily (p3)"},
8469 #endif
8470 	{
8471         -2, -3, 2, -3,
8472         -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4, -2,
8473         -6, 0, -5, 0, 5, 0, 6, 0,
8474         -6, 1, -5, 1, 5, 1, 6, 1,
8475         -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3,
8476         -2, 4, 2, 4,
8477         127
8478 	},
8479 #ifdef LIFE_NAMES
8480 	{"hexagon (p3)"},
8481 #endif
8482 	{
8483         -2, -3, 2, -3,
8484         -4, -2, 4, -2,
8485         -2, -1, -1, -1, 1, -1, 2, -1,
8486         -6, 0, -3, 0, 3, 0, 6, 0,
8487         -6, 1, -3, 1, 3, 1, 6, 1,
8488         -2, 2, -1, 2, 1, 2, 2, 2,
8489         -4, 3, 4, 3,
8490         -2, 4, 2, 4,
8491         127
8492 	},
8493 #ifdef LIFE_NAMES
8494 	{"3 hearts (p3)"},
8495 #endif
8496 	{
8497         0, -5,
8498         -3, -4, -2, -4, 0, -4, 2, -4, 3, -4,
8499         -2, -2, -1, -2, 1, -2, 2, -2,
8500         -4, -1, -1, -1, 0, -1, 1, -1, 4, -1,
8501         -5, 0, -4, 0, -3, 0, -1, 0, 1, 0, 3, 0, 4, 0, 5, 0,
8502         -2, 1, 2, 1,
8503         -9, 2, -6, 2, -5, 2, -4, 2, -3, 2, -1, 2, 1, 2, 3, 2, 4, 2, 5, 2, 6, 2, 9, 2,
8504         -9, 3, -4, 3, -3, 3, 0, 3, 3, 3, 4, 3, 9, 3,
8505         -9, 4, -8, 4, -4, 4, -1, 4, 0, 4, 1, 4, 4, 4, 8, 4, 9, 4,
8506         -7, 5, -6, 5, 6, 5, 7, 5,
8507         127
8508 	},
8509 #ifdef LIFE_NAMES
8510 	{"flopping fish (p4)"},
8511 #endif
8512 	{
8513         -1, -1, 2, -1,
8514         -2, 0, -1, 0, 0, 0, 2, 0,
8515         127
8516 	},
8517 #ifdef LIFE_NAMES
8518 	{"0231 (p4)"},
8519 #endif
8520 	{
8521         -4, -1, -3, -1, 3, -1, 4, -1,
8522         -4, 0, -3, 0, 3, 0, 4, 0,
8523         127
8524 	},
8525 #ifdef LIFE_NAMES
8526 	{"teamwork (p4)"},
8527 #endif
8528 	{
8529         -3, -4, -2, -4, -1, -4,
8530         -3, -3,
8531         0, -1, 1, -1,
8532         0, 0, 1, 0,
8533         -3, 2,
8534         -3, 3, -2, 3, -1, 3,
8535         127
8536 	},
8537 #ifdef LIFE_NAMES
8538 	{"2573 (p4)"},
8539 #endif
8540 	{
8541         -6, -1, -5, -1, 0, -1, 2, -1, 7, -1, 8, -1,
8542         -6, 0, -5, 0, 0, 0, 2, 0, 7, 0, 8, 0,
8543         127
8544 	},
8545 #ifdef LIFE_NAMES
8546 	{"ratchet (p4)"},
8547 #endif
8548 	{
8549         -2, -2, 0, -2, 1, -2, 3, -2,
8550         -4, -1, -3, -1, -2, -1, 1, -1, 4, -1,
8551         -5, 0, 3, 0, 4, 0,
8552         -4, 1, -3, 1, 5, 1,
8553         -4, 2, -1, 2, 2, 2, 3, 2, 4, 2,
8554         -3, 3, -1, 3, 0, 3, 2, 3,
8555         127
8556 	},
8557 #ifdef LIFE_NAMES
8558 	{"mold (p5)"},
8559 #endif
8560 	{
8561         0, -4, 1, -4,
8562         1, -3, 2, -3,
8563         -2, -2, 3, -2,
8564         -3, -1, -2, -1, -1, -1, 1, -1,
8565         -3, 0, -1, 0, 0, 0, 1, 0,
8566         -5, 1, 0, 1,
8567         -4, 2, -3, 2,
8568         -3, 3, -2, 3,
8569         127
8570 	},
8571 #ifdef LIFE_NAMES
8572 	{"walking triangle (p6)"},
8573 #endif
8574 	{
8575         -2, -3, -1, -3, 0, -3, 1, -3,
8576         -1, -2, 1, -2,
8577         -2, -1, 0, -1, 2, -1, 4, -1,
8578         -4, 0, -3, 0, -1, 0, 1, 0, 3, 0, 4, 0,
8579         -3, 1, -2, 1, 3, 1,
8580         127
8581 	},
8582 #ifdef LIFE_NAMES
8583 	{"X (p6)"},
8584 #endif
8585 	{
8586         -3, -2, -2, -2, -1, -2, 1, -2, 2, -2, 3, -2,
8587         -2, -1, 2, -1,
8588         -1, 0, 0, 0, 1, 0,
8589         -1, 1, 0, 1, 1, 1,
8590         -2, 2, 2, 2,
8591         -3, 3, -2, 3, -1, 3, 1, 3, 2, 3, 3, 3,
8592         127
8593 	},
8594 #ifdef LIFE_NAMES
8595 	{"anvil (p6)"},
8596 #endif
8597 	{
8598         0, -5, 2, -5,
8599         -3, -4, -2, -4, 0, -4, 5, -4,
8600         -6, -3, -5, -3, 3, -3, 5, -3,
8601         -4, -2, -1, -2, 1, -2, 5, -2,
8602         -6, -1, 0, -1, 5, -1,
8603         -5, 0, -4, 0, 4, 0, 5, 0,
8604         -3, 1, -2, 1, 1, 1, 4, 1,
8605         0, 2, 1, 2,
8606         127
8607 	},
8608 #ifdef LIFE_NAMES
8609 	{"alien teeth (p6)"},
8610 #endif
8611 	{
8612         -3, -6, 3, -6,
8613         -2, -5, 2, -5,
8614         -7, -4, -6, -4, -2, -4, -1, -4, 1, -4, 2, -4, 6, -4, 7, -4,
8615         -8, -3, -3, -3, 3, -3, 8, -3,
8616         -8, -2, 8, -2,
8617         -5, -1, 5, -1,
8618         -9, 0, -7, 0, -6, 0, -5, 0, 5, 0, 6, 0, 7, 0, 9, 0,
8619         -4, 1, 4, 1,
8620         -5, 2, -4, 2, -2, 2, 2, 2, 4, 2, 5, 2,
8621         -6, 3, 6, 3,
8622         -2, 4, -1, 4, 1, 4, 2, 4,
8623         127
8624 	},
8625 #ifdef LIFE_NAMES
8626 	{"two sheets (p8)"},
8627 #endif
8628 	{
8629         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
8630         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
8631         127
8632 	},
8633 #ifdef LIFE_NAMES
8634 	{"beard (p10)"},
8635 #endif
8636 	{
8637         -1, 0, 1, 0,
8638         -4, 1, -3, 1, -2, 1, 2, 1, 3, 1, 4, 1,
8639         -4, 2, 4, 2,
8640         127
8641 	},
8642 };
8643 
8644 static char patterns_12B4S456[][2 * NUMPTS + 1] =
8645 {
8646 #ifdef LIFE_NAMES
8647 	{"fish"},
8648 #endif
8649 	{
8650         -3, 0, -1, 0, 1, 0, 2, 0,
8651         -3, 1, -1, 1, 1, 1, 2, 1,
8652         127
8653 	},
8654 #ifdef LIFE_NAMES
8655 	{"cut worm"},
8656 #endif
8657 	{
8658         0, -1, 1, -1,
8659         0, 0, 1, 0,
8660         -1, 1, 0, 1,
8661         -1, 2, 0, 2,
8662         127
8663 	},
8664 #ifdef LIFE_NAMES
8665 	{"cut worm2"},
8666 #endif
8667 	{
8668         -1, -2, 1, -2,
8669         -1, -1, 0, -1,
8670         -2, 0, -1, 0,
8671         -3, 1, -1, 1,
8672         127
8673 	},
8674 #ifdef LIFE_NAMES
8675 	{"flip"},
8676 #endif
8677 	{
8678         0, -2,
8679         -2, -1, -1, -1, 1, -1, 2, -1,
8680         -1, 0, 1, 0,
8681         -1, 1, 1, 1,
8682         127
8683 	},
8684 #ifdef LIFE_NAMES
8685 	{"rotor"},
8686 #endif
8687 	{
8688         -2, -3,
8689         -2, -2, 1, -2, 2, -2,
8690         -5, -1, -4, -1,
8691         2, 0, 3, 0,
8692         -4, 1, -3, 1, 0, 1,
8693         0, 2,
8694         127
8695 	},
8696 #ifdef LIFE_NAMES
8697 	{"rotor2"},
8698 #endif
8699 	{
8700         -4, -3, -1, -3, 0, -3, 1, -3,
8701         -5, -2, -4, -2, -2, -2, -1, -2, 1, -2, 3, -2,
8702         -4, -1, -3, -1, 1, -1, 3, -1, 4, -1,
8703         -6, 0, -5, 0, -3, 0, 1, 0, 2, 0,
8704         -5, 1, -3, 1, -1, 1, 0, 1, 2, 1, 3, 1,
8705         -3, 2, -2, 2, -1, 2, 2, 2,
8706         127
8707 	},
8708 #ifdef LIFE_NAMES
8709 	{"rotor3"},
8710 #endif
8711 	{
8712         -3, -4,
8713         -4, -3, -3, -3, -2, -3, 1, -3, 2, -3, 3, -3,
8714         -2, -2, -1, -2, 1, -2, 2, -2,
8715         -7, -1, -6, -1, -5, -1, -4, -1, -3, -1, 1, -1, 4, -1,
8716         -6, 0, -3, 0, 1, 0, 2, 0, 3, 0, 4, 0, 5, 0,
8717         -4, 1, -3, 1, -1, 1, 0, 1,
8718         -5, 2, -4, 2, -3, 2, 0, 2, 1, 2, 2, 2,
8719         1, 3,
8720         127
8721 	},
8722 #ifdef LIFE_NAMES
8723 	{"rotor4"},
8724 #endif
8725 	{
8726         0, -3,
8727         -2, -2, 0, -2, 1, -2, 3, -2,
8728         -5, -1, -4, -1, -3, -1, -2, -1, 0, -1, 1, -1, 4, -1, 5, -1,
8729         -5, 0, -2, 0, 2, 0, 3, 0, 4, 0,
8730         -4, 1, -3, 1, -2, 1, 2, 1, 5, 1,
8731         -5, 2, -4, 2, -1, 2, 0, 2, 2, 2, 3, 2, 4, 2, 5, 2,
8732         -3, 3, -1, 3, 0, 3, 2, 3,
8733         0, 4,
8734         127
8735 	},
8736 #ifdef LIFE_NAMES
8737 	{"rotor5"},
8738 #endif
8739 	{
8740         0, -3,
8741         -2, -2, 0, -2, 1, -2, 3, -2,
8742         -5, -1, -4, -1, -3, -1, -1, -1, 0, -1, 2, -1, 4, -1, 5, -1,
8743         -5, 0, -3, 0, -2, 0, 2, 0, 4, 0,
8744         -4, 1, -2, 1, 2, 1, 3, 1, 5, 1,
8745         -5, 2, -4, 2, -2, 2, 0, 2, 1, 2, 3, 2, 4, 2, 5, 2,
8746         -3, 3, -1, 3, 0, 3, 2, 3,
8747         0, 4,
8748         127
8749 	},
8750 #ifdef LIFE_NAMES
8751 	{"wrench gadget (p3)"},
8752 #endif
8753 	{
8754         -3, -4,
8755         -5, -3, -4, -3, -3, -3, -1, -3, 0, -3,
8756         -5, -2, -1, -2, 0, -2, 1, -2, 2, -2, 3, -2,
8757         -5, -1, -4, -1, -3, -1, 1, -1, 4, -1, 5, -1,
8758         -5, 0, -4, 0, -3, 0, 1, 0, 4, 0, 5, 0,
8759         -5, 1, -1, 1, 0, 1, 1, 1, 2, 1, 3, 1,
8760         -5, 2, -4, 2, -3, 2, -1, 2, 0, 2,
8761         -3, 3,
8762         127
8763 	},
8764 #ifdef LIFE_NAMES
8765 	{"small change (p4)"},
8766 #endif
8767 	{
8768         -5, -2, -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2, 3, -2, 5, -2,
8769         -6, -1, -4, -1, 4, -1, 6, -1,
8770         -6, 0, -5, 0, -2, 0, -1, 0, 1, 0, 2, 0, 5, 0, 6, 0,
8771         -5, 1, -3, 1, -1, 1, 0, 1, 1, 1, 3, 1, 5, 1,
8772         127
8773 	},
8774 #ifdef LIFE_NAMES
8775 	{"small change2 (p4)"},
8776 #endif
8777 	{
8778         -2, -5, 4, -5,
8779         -3, -4, -1, -4, 0, -4, 1, -4, 2, -4, 3, -4, 5, -4,
8780         -5, -3, -4, -3, 0, -3, 2, -3, 6, -3, 7, -3,
8781         -4, -2, -3, -2, 0, -2, 2, -2, 5, -2, 6, -2,
8782         -4, -1, -3, -1, -1, -1, 0, -1, 2, -1, 3, -1, 5, -1, 6, -1,
8783         -4, 0, -3, 0, -1, 0, 0, 0, 2, 0, 3, 0, 5, 0, 6, 0,
8784         -4, 1, -3, 1, 0, 1, 2, 1, 5, 1, 6, 1,
8785         -5, 2, -4, 2, 0, 2, 2, 2, 6, 2, 7, 2,
8786         -3, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 5, 3,
8787         -2, 4, 4, 4,
8788         127
8789 	},
8790 #ifdef LIFE_NAMES
8791 	{"deformed fish (p6)"},
8792 #endif
8793 	{
8794         1, -2, 2, -2,
8795         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1,
8796         -3, 0, -1, 0, 3, 0,
8797         -3, 1, -1, 1, 3, 1,
8798         -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2, 3, 2,
8799         1, 3, 2, 3,
8800         127
8801 	},
8802 #ifdef LIFE_NAMES
8803 	{"hairy hexagon (p6)"},
8804 #endif
8805 	{
8806         -2, -3, 1, -3,
8807         -5, -2, -3, -2, -2, -2, -1, -2, 1, -2, 2, -2, 3, -2, 4, -2,
8808         -3, -1, 3, -1, 6, -1,
8809         -6, 0, -5, 0, -4, 0, 4, 0, 5, 0,
8810         -5, 1, -4, 1, 4, 1, 5, 1, 6, 1,
8811         -6, 2, -3, 2, 3, 2,
8812         -4, 3, -3, 3, -2, 3, -1, 3, 1, 3, 2, 3, 3, 3, 5, 3,
8813         -1, 4, 2, 4,
8814         127
8815 	},
8816 #ifdef LIFE_NAMES
8817 	{"big hexagon (p6)"},
8818 #endif
8819 	{
8820         -3, -4, 3, -4,
8821         -5, -3, -4, -3, -3, -3, -1, -3, 1, -3, 3, -3, 4, -3, 5, -3,
8822         -5, -2, 5, -2,
8823         -6, -1, 6, -1,
8824         -8, 0, -7, 0, 7, 0, 8, 0,
8825         -8, 1, -7, 1, 7, 1, 8, 1,
8826         -6, 2, 6, 2,
8827         -5, 3, 5, 3,
8828         -5, 4, -4, 4, -3, 4, -1, 4, 1, 4, 3, 4, 4, 4, 5, 4,
8829         -3, 5, 3, 5,
8830         127
8831 	},
8832 #ifdef LIFE_NAMES
8833 	{"chopper (p8)"},
8834 #endif
8835 	{
8836         3, -4,
8837         0, -3, 2, -3, 4, -3, 6, -3,
8838         -3, -2, -1, -2, 0, -2, 3, -2, 4, -2,
8839         -6, -1, -1, -1, 2, -1, 3, -1, 6, -1,
8840         -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 2, 0, 4, 0, 5, 0,
8841         -6, 1, -4, 1, 1, 1, 2, 1, 5, 1, 6, 1,
8842         -3, 2, -2, 2, -1, 2, 0, 2, 2, 2, 3, 2, 5, 2,
8843         0, 3, 3, 3, 4, 3, 6, 3,
8844         3, 4,
8845         127
8846 	},
8847 #ifdef LIFE_NAMES
8848 	{"throwing star (p8)"},
8849 #endif
8850 	{
8851         -3, -4, -1, -4,
8852         -4, -3, -3, -3, -1, -3, 2, -3, 3, -3, 4, -3, 5, -3,
8853         -4, -2, -1, -2, 0, -2, 1, -2, 5, -2, 6, -2,
8854         -7, -1, -6, -1, -4, -1, -3, -1, 0, -1, 3, -1, 4, -1,
8855         -8, 0, -7, 0, -4, 0, -2, 0, 2, 0, 4, 0, 6, 0, 7, 0,
8856         -7, 1, -6, 1, -4, 1, -2, 1, 2, 1, 4, 1, 7, 1, 8, 1,
8857         -4, 2, -3, 2, 0, 2, 3, 2, 4, 2, 6, 2, 7, 2,
8858         -6, 3, -5, 3, -1, 3, 0, 3, 1, 3, 4, 3,
8859         -5, 4, -4, 4, -3, 4, -2, 4, 1, 4, 3, 4, 4, 4,
8860         1, 5, 3, 5,
8861         127
8862 	},
8863 #ifdef LIFE_NAMES
8864 	{"throwing star2 (p8)"},
8865 #endif
8866 	{
8867         -3, -4, -1, -4,
8868         -4, -3, -3, -3, -1, -3, 2, -3, 3, -3, 4, -3, 5, -3,
8869         -4, -2, -1, -2, 0, -2, 1, -2, 5, -2, 6, -2,
8870         -7, -1, -6, -1, -4, -1, -3, -1, -2, -1, 1, -1, 3, -1, 4, -1,
8871         -8, 0, -7, 0, -4, 0, 3, 0, 4, 0, 6, 0, 7, 0,
8872         -7, 1, -6, 1, -4, 1, -3, 1, 4, 1, 7, 1, 8, 1,
8873         -4, 2, -3, 2, -1, 2, 2, 2, 3, 2, 4, 2, 6, 2, 7, 2,
8874         -6, 3, -5, 3, -1, 3, 0, 3, 1, 3, 4, 3,
8875         -5, 4, -4, 4, -3, 4, -2, 4, 1, 4, 3, 4, 4, 4,
8876         1, 5, 3, 5,
8877         127
8878 	},
8879 #ifdef LIFE_NAMES
8880 	{"throwing star3 (p8)"},
8881 #endif
8882 	{
8883         -3, -4, -1, -4,
8884         -4, -3, -3, -3, -1, -3, 2, -3, 3, -3, 4, -3, 5, -3,
8885         -4, -2, -1, -2, 0, -2, 1, -2, 5, -2, 6, -2,
8886         -7, -1, -6, -1, -4, -1, -3, -1, 3, -1, 4, -1,
8887         -8, 0, -7, 0, -4, 0, -1, 0, 0, 0, 1, 0, 4, 0, 6, 0, 7, 0,
8888         -7, 1, -6, 1, -4, 1, -1, 1, 0, 1, 1, 1, 4, 1, 7, 1, 8, 1,
8889         -4, 2, -3, 2, 3, 2, 4, 2, 6, 2, 7, 2,
8890         -6, 3, -5, 3, -1, 3, 0, 3, 1, 3, 4, 3,
8891         -5, 4, -4, 4, -3, 4, -2, 4, 1, 4, 3, 4, 4, 4,
8892         1, 5, 3, 5,
8893         127
8894 	},
8895 #ifdef LIFE_NAMES
8896 	{"David (p9)"},
8897 #endif
8898 	{
8899         0, -1,
8900         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
8901         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
8902         0, 2,
8903         127
8904 	},
8905 #ifdef LIFE_NAMES
8906 	{"David2 (p9)"},
8907 #endif
8908 	{
8909         -2, -7, 0, -7,
8910         -2, -6, -1, -6, 0, -6,
8911         -10, -4, -9, -4, 7, -4, 8, -4,
8912         -11, -3, -10, -3, -9, -3, 7, -3, 8, -3, 9, -3,
8913         -1, -2,
8914         -3, -1, -2, -1, -1, -1, 0, -1, 1, -1,
8915         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0,
8916         -1, 1,
8917         -11, 2, -10, 2, -9, 2, 7, 2, 8, 2, 9, 2,
8918         -10, 3, -9, 3, 7, 3, 8, 3,
8919         -2, 5, -1, 5, 0, 5,
8920         -2, 6, 0, 6,
8921         127
8922 	},
8923 #ifdef LIFE_NAMES
8924 	{"hexagon (p9)"},
8925 #endif
8926 	{
8927         -3, -5, 2, -5,
8928         -6, -4, -5, -4, -3, -4, -2, -4, -1, -4, 0, -4, 1, -4, 2, -4, 5, -4,
8929         -6, -3, -5, -3, 3, -3, 4, -3,
8930         -9, -2, -7, -2, -6, -2, 4, -2, 5, -2,
8931         -7, -1, 5, -1, 6, -1, 7, -1,
8932         -9, 0, -8, 0, -7, 0, 5, 0,
8933         -7, 1, -6, 1, 4, 1, 5, 1, 7, 1,
8934         -6, 2, -5, 2, 3, 2, 4, 2,
8935         -7, 3, -4, 3, -3, 3, -2, 3, -1, 3, 0, 3, 1, 3, 3, 3, 4, 3,
8936         -4, 4, 1, 4,
8937         127
8938 	},
8939 #ifdef LIFE_NAMES
8940 	{"hexagon2 (p9)"},
8941 #endif
8942 	{
8943         -5, -3, -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 2, -3, 3, -3, 5, -3,
8944         -5, -2, -4, -2, -3, -2, 3, -2, 4, -2, 5, -2,
8945         -7, -1, -6, -1, -3, -1, -1, -1, 1, -1, 3, -1, 6, -1, 7, -1,
8946         -5, 0, -4, 0, -2, 0, -1, 0, 1, 0, 2, 0, 4, 0, 5, 0,
8947         -5, 1, -4, 1, -2, 1, -1, 1, 1, 1, 2, 1, 4, 1, 5, 1,
8948         -7, 2, -6, 2, -3, 2, -1, 2, 1, 2, 3, 2, 6, 2, 7, 2,
8949         -5, 3, -4, 3, -3, 3, 3, 3, 4, 3, 5, 3,
8950         -5, 4, -3, 4, -2, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 5, 4,
8951         127
8952 	},
8953 #ifdef LIFE_NAMES
8954 	{"Navajo eagle (p10)"},
8955 #endif
8956 	{
8957         -3, -2, 3, -2,
8958         -6, -1, -5, -1, -4, -1, -2, -1, 2, -1, 4, -1, 5, -1, 6, -1,
8959         -5, 0, -4, 0, -1, 0, 1, 0, 4, 0, 5, 0,
8960         -1, 1, 1, 1,
8961         127
8962 	},
8963 #ifdef LIFE_NAMES
8964 	{"Navajo eagle2 (p10)"},
8965 #endif
8966 	{
8967         -1, -2, 0, -2, 1, -2,
8968         -6, -1, -5, -1, -4, -1, -2, -1, 2, -1, 4, -1, 5, -1, 6, -1,
8969         -5, 0, -4, 0, -1, 0, 1, 0, 4, 0, 5, 0,
8970         -1, 1, 1, 1,
8971         127
8972 	},
8973 #ifdef LIFE_NAMES
8974 	{"Navajo rug (p10)"},
8975 #endif
8976 	{
8977         -6, -3, -5, -3, -4, -3, -2, -3, 0, -3, 2, -3, 3, -3, 4, -3,
8978         -5, -2, -4, -2, 2, -2, 3, -2,
8979         -3, -1, -2, -1, 0, -1, 1, -1,
8980         -3, 0, -2, 0, 0, 0, 1, 0,
8981         -5, 1, -4, 1, 2, 1, 3, 1,
8982         -6, 2, -5, 2, -4, 2, -2, 2, 0, 2, 2, 2, 3, 2, 4, 2,
8983         127
8984 	},
8985 #ifdef LIFE_NAMES
8986 	{"fractal (p10)"},
8987 #endif
8988 	{
8989         -5, -4, -4, -4, 2, -4, 3, -4,
8990         -5, -3, -4, -3, -3, -3, 1, -3, 2, -3, 3, -3,
8991         -6, -2, -3, -2, 1, -2, 4, -2,
8992         -7, -1, -3, -1, -2, -1, 0, -1, 1, -1, 5, -1,
8993         -9, 0, -8, 0, -7, 0, -5, 0, -4, 0, -3, 0, 1, 0, 2, 0, 3, 0, 5, 0, 6, 0, 7, 0,
8994         -9, 1, -7, 1, -2, 1, 0, 1, 5, 1, 7, 1,
8995         -3, 2, -2, 2, 0, 2, 1, 2,
8996         -5, 3, -4, 3, 2, 3, 3, 3,
8997         -6, 4, -5, 4, -4, 4, -2, 4, 0, 4, 2, 4, 3, 4, 4, 4,
8998         127
8999 	},
9000 #ifdef LIFE_NAMES
9001 	{"inside (p10)"},
9002 #endif
9003 	{
9004         -5, -4, -3, -4, -2, -4,
9005         -6, -3, -4, -3, -1, -3, 0, -3,
9006         -7, -2, -5, -2, -4, -2, 0, -2, 1, -2, 2, -2, 3, -2,
9007         -8, -1, -5, -1, -3, -1, 1, -1, 4, -1,
9008         -8, 0, -7, 0, -6, 0, -2, 0, 2, 0, 3, 0, 5, 0,
9009         -8, 1, -7, 1, -3, 1, -1, 1, 1, 1, 3, 1, 4, 1, 6, 1,
9010         -8, 2, -4, 2, 5, 2,
9011         -9, 3, -8, 3, -6, 3, -5, 3, -4, 3, -3, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 5, 3,
9012         -7, 4, -5, 4, -3, 4, -1, 4, 0, 4,
9013         127
9014 	},
9015 #ifdef LIFE_NAMES
9016 	{"triangular pool table (p11)"},
9017 #endif
9018 	{
9019         -7, -2, -6, -2, -5, -2, -4, -2, -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2, 3, -2, 4, -2, 5, -2,
9020         -7, -1, -6, -1, -2, -1, 0, -1, 4, -1, 5, -1,
9021         -6, 0, -5, 0, -3, 0, -1, 0, 1, 0, 3, 0, 4, 0,
9022         -5, 1, -4, 1, -2, 1, 0, 1, 2, 1, 3, 1,
9023         -4, 2, -3, 2, 1, 2, 2, 2,
9024         -3, 3, -2, 3, 0, 3, 1, 3,
9025         -2, 4, -1, 4, 0, 4,
9026         127
9027 	},
9028 #ifdef LIFE_NAMES
9029 	{"throwing star (p19)"},
9030 #endif
9031 	{
9032         -5, -4, -3, -4, 3, -4, 5, -4,
9033         -5, -3, -3, -3, -1, -3, 0, -3, 1, -3, 3, -3, 5, -3,
9034         -7, -2, -6, -2, -3, -2, -2, -2, 2, -2, 3, -2, 6, -2, 7, -2,
9035         -6, -1, -5, -1, -3, -1, 3, -1, 5, -1, 6, -1,
9036         -4, 0, -3, 0, 3, 0, 4, 0,
9037         -3, 1, -1, 1, 0, 1, 1, 1, 3, 1,
9038         -3, 2, -2, 2, 2, 2, 3, 2,
9039         -2, 3, -1, 3, 1, 3, 2, 3,
9040         127
9041 	},
9042 #ifdef LIFE_NAMES
9043 	{"internal gear (p24)"},
9044 #endif
9045 	{
9046         -1, -4, 1, -4,
9047         -4, -3, 0, -3, 1, -3, 3, -3,
9048         -6, -2, -5, -2, -2, -2, 3, -2, 6, -2,
9049         -7, -1, -5, -1, 0, -1, 5, -1, 6, -1, 7, -1,
9050         -5, 0, -2, 0, 2, 0, 7, 0,
9051         -7, 1, -2, 1, 2, 1, 5, 1,
9052         -7, 2, -6, 2, -5, 2, 0, 2, 5, 2, 7, 2,
9053         -6, 3, -3, 3, 2, 3, 5, 3, 6, 3,
9054         -3, 4, -1, 4, 0, 4, 4, 4,
9055         -1, 5, 1, 5,
9056         127
9057 	},
9058 };
9059 
9060 static char patterns_12B45S23[][2 * NUMPTS + 1] =
9061 {
9062 #ifdef LIFE_NAMES
9063 	{"eye"},
9064 #endif
9065 	{
9066         -2, -1, -1, -1, 0, -1,
9067         -3, 0,
9068         -3, 1, -2, 1, -1, 1,
9069         127
9070 	},
9071 #ifdef LIFE_NAMES
9072 	{"slide"},
9073 #endif
9074 	{
9075         -2, -1,
9076         -3, 0, 0, 0,
9077         -2, 1, -1, 1, 0, 1,
9078         127
9079 	},
9080 #ifdef LIFE_NAMES
9081 	{"hex"},
9082 #endif
9083 	{
9084         -3, -2, -2, -2, -1, -2,
9085         -3, -1, 1, -1, 2, -1,
9086         -3, 0, 1, 0, 2, 0,
9087         -3, 1, -2, 1, -1, 1,
9088         127
9089 	},
9090 #ifdef LIFE_NAMES
9091 	{"hourglass3 (p3)"},
9092 #endif
9093 	{
9094         -2, -1, -1, -1, 1, -1, 2, -1,
9095         -4, 0, 4, 0,
9096         -4, 1, 4, 1,
9097         -2, 2, -1, 2, 1, 2, 2, 2,
9098         127
9099 	},
9100 #ifdef LIFE_NAMES
9101 	{"hourglass4 (p4)"},
9102 #endif
9103 	{
9104         -1, -2, 0, -2, 1, -2,
9105         -3, -1, 3, -1,
9106         -3, 0, 3, 0,
9107         -1, 1, 0, 1, 1, 1,
9108         127
9109 	},
9110 #ifdef LIFE_NAMES
9111 	{"inverted triangle (p5)"},
9112 #endif
9113 	{
9114         -4, -5, -3, -5, -1, -5, 1, -5, 3, -5, 4, -5,
9115         -5, -4, -4, -4, 4, -4, 5, -4,
9116         -7, -3, -3, -3, 3, -3, 7, -3,
9117         -7, -2, 0, -2, 7, -2,
9118         -8, -1, -7, -1, -5, -1, 5, -1, 7, -1, 8, -1,
9119         -8, 0, -2, 0, 2, 0, 8, 0,
9120         -7, 1, 7, 1,
9121         -6, 2, -2, 2, 2, 2, 6, 2,
9122         -5, 3, -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3, 5, 3,
9123         0, 4,
9124         127
9125 	},
9126 #ifdef LIFE_NAMES
9127 	{"indecisive (p8)"},
9128 #endif
9129 	{
9130         -2, -2, 2, -2,
9131         -3, -1, 2, -1, 3, -1,
9132         -3, 0, 2, 0,
9133         -2, 1, 0, 1, 1, 1,
9134         127
9135 	},
9136 #ifdef LIFE_NAMES
9137 	{"fat tumbler (p22)"},
9138 #endif
9139 	{
9140         -1, -2,
9141         -2, -1, -1, -1, 0, -1,
9142         -4, 0, -3, 0, 1, 0, 2, 0,
9143         -4, 1, 2, 1,
9144         -2, 2, 0, 2,
9145         127
9146 	},
9147 };
9148 
9149 static char patterns_12B45S34[][2 * NUMPTS + 1] =
9150 {
9151 #ifdef LIFE_NAMES
9152 	{"switch"},
9153 #endif
9154 	{
9155         0, -1, 1, -1, 2, -1,
9156         -3, 0, 1, 0, 2, 0,
9157         -3, 1, -2, 1, -1, 1,
9158         127
9159 	},
9160 #ifdef LIFE_NAMES
9161 	{"bat"},
9162 #endif
9163 	{
9164         -2, -1, -1, -1, 1, -1, 2, -1,
9165         -3, 0, 3, 0,
9166         -3, 1, -2, 1, 2, 1, 3, 1,
9167         0, 2,
9168         127
9169 	},
9170 #ifdef LIFE_NAMES
9171 	{"David"},
9172 #endif
9173 	{
9174         0, -1,
9175         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
9176         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
9177         0, 2,
9178         127
9179 	},
9180 #ifdef LIFE_NAMES
9181 	{"gear"},
9182 #endif
9183 	{
9184         -1, -2,
9185         -1, -1, 2, -1, 3, -1,
9186         -4, 0, -3, 0,
9187         3, 1, 4, 1,
9188         -3, 2, -2, 2, 1, 2,
9189         1, 3,
9190         127
9191 	},
9192 #ifdef LIFE_NAMES
9193 	{"bumpy gear"},
9194 #endif
9195 	{
9196         0, -3,
9197         -4, -2, -3, -2, 0, -2, 3, -2, 4, -2,
9198         -3, 0, -2, 0, 2, 0, 3, 0,
9199         0, 1,
9200         0, 2,
9201         127
9202 	},
9203 #ifdef LIFE_NAMES
9204 	{"body"},
9205 #endif
9206 	{
9207         -2, -3, -1, -3, 0, -3,
9208         -3, -2, 1, -2,
9209         -2, -1, 0, -1,
9210         -3, 0, 1, 0,
9211         -4, 1, 2, 1,
9212         -4, 2, -3, 2, 1, 2, 2, 2,
9213         -1, 3,
9214         127
9215 	},
9216 #ifdef LIFE_NAMES
9217 	{"big gear"},
9218 #endif
9219 	{
9220         -3, -4, 1, -4,
9221         -3, -3, 1, -3, 4, -3, 5, -3,
9222         -6, -2, -5, -2,
9223         6, -1, 7, -1,
9224         -8, 0, -7, 0,
9225         7, 1, 8, 1,
9226         -7, 2, -6, 2,
9227         5, 3, 6, 3,
9228         -5, 4, -4, 4, -1, 4, 3, 4,
9229         -1, 5, 3, 5,
9230         127
9231 	},
9232 #ifdef LIFE_NAMES
9233 	{"eight"},
9234 #endif
9235 	{
9236         0, -3,
9237         -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
9238         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
9239         -3, 0, 3, 0,
9240         -3, 1, 3, 1,
9241         -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
9242         -2, 3, -1, 3, 0, 3, 1, 3, 2, 3,
9243         0, 4,
9244         127
9245 	},
9246 #ifdef LIFE_NAMES
9247 	{"pop"},
9248 #endif
9249 	{
9250         -4, -3, -3, -3, -2, -3,
9251         -5, -2, 0, -2,
9252         -5, -1, 0, -1,
9253         -4, 0, -3, 0, -2, 0, 0, 0, 1, 0, 2, 0,
9254         -4, 1, -3, 1, -2, 1, 0, 1, 1, 1, 2, 1,
9255         -5, 2, 0, 2,
9256         -5, 3, 0, 3,
9257         -4, 4, -3, 4, -2, 4,
9258         127
9259 	},
9260 #ifdef LIFE_NAMES
9261 	{"big gear2"},
9262 #endif
9263 	{
9264         -3, -4, 1, -4,
9265         -3, -3, -2, -3, 1, -3, 4, -3, 5, -3,
9266         -6, -2, -5, -2, 4, -2,
9267         6, -1, 7, -1,
9268         -8, 0, -7, 0, -6, 0,
9269         6, 1, 7, 1, 8, 1,
9270         -7, 2, -6, 2,
9271         -4, 3, 5, 3, 6, 3,
9272         -5, 4, -4, 4, -1, 4, 2, 4, 3, 4,
9273         -1, 5, 3, 5,
9274         127
9275 	},
9276 #ifdef LIFE_NAMES
9277 	{"hexagon (p3)"},
9278 #endif
9279 	{
9280         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
9281         -3, 0, -2, 0, 2, 0, 3, 0,
9282         -3, 1, -2, 1, 2, 1, 3, 1,
9283         -2, 2, -1, 2, 0, 2, 1, 2, 2, 2,
9284         127
9285 	},
9286 #ifdef LIFE_NAMES
9287 	{"big hexagon (p3)"},
9288 #endif
9289 	{
9290         -4, -3, -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 2, -3, 3, -3, 4, -3,
9291         -5, -2, -4, -2, 4, -2, 5, -2,
9292         -6, -1, -5, -1, 5, -1, 6, -1,
9293         -7, 0, -6, 0, 6, 0, 7, 0,
9294         -7, 1, -6, 1, 6, 1, 7, 1,
9295         -6, 2, -5, 2, 5, 2, 6, 2,
9296         -5, 3, -4, 3, 4, 3, 5, 3,
9297         -4, 4, -3, 4, -2, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4,
9298         127
9299 	},
9300 #ifdef LIFE_NAMES
9301 	{"jaws (p4)"},
9302 #endif
9303 	{
9304         -5, -2, -3, -2, -1, -2, 1, -2, 3, -2, 5, -2,
9305         -5, -1, -4, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 4, -1, 5, -1,
9306         -2, 0, 2, 0,
9307         -2, 1, 2, 1,
9308         -5, 2, -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2, 5, 2,
9309         -5, 3, -3, 3, -1, 3, 1, 3, 3, 3, 5, 3,
9310         127
9311 	},
9312 #ifdef LIFE_NAMES
9313 	{"flexagon (p5)"},
9314 #endif
9315 	{
9316         -1, -2, 0, -2, 1, -2, 2, -2, 3, -2,
9317         -4, -1, -3, -1, 3, -1, 4, -1,
9318         -5, 0, -4, 0, 4, 0,
9319         -5, 1, -4, 1, 4, 1,
9320         -4, 2, -3, 2, 3, 2, 4, 2,
9321         -1, 3, 0, 3, 1, 3, 2, 3, 3, 3,
9322         127
9323 	},
9324 #ifdef LIFE_NAMES
9325 	{"hook clock (p6)"},
9326 #endif
9327 	{
9328         -2, 0, -1, 0, 0, 0, 1, 0,
9329         -2, 1, 1, 1,
9330         127
9331 	},
9332 #ifdef LIFE_NAMES
9333 	{"blooms (p10)"},
9334 #endif
9335 	{
9336         1, -4, 2, -4, 3, -4, 4, -4, 5, -4,
9337         2, -3, 5, -3, 6, -3,
9338         -5, -2, -4, -2, 2, -2, 3, -2, 4, -2, 6, -2,
9339         -6, -1, -5, -1, -3, -1, -2, -1,
9340         -6, 0, -5, 0, -3, 0, -2, 0,
9341         -5, 1, -4, 1, 2, 1, 3, 1, 4, 1, 6, 1,
9342         2, 2, 5, 2, 6, 2,
9343         1, 3, 2, 3, 3, 3, 4, 3, 5, 3,
9344         127
9345 	},
9346 };
9347 
9348 static char patterns_12B456S12[][2 * NUMPTS + 1] =
9349 {
9350 #ifdef LIFE_NAMES
9351 	{"s (p4)"},
9352 #endif
9353 	{
9354         -1, -1, 0, -1,
9355         -1, 0, 0, 0,
9356         -1, 1, 0, 1,
9357         127
9358 	},
9359 #ifdef LIFE_NAMES
9360 	{"twist (p4)"},
9361 #endif
9362 	{
9363         -1, -1, 2, -1,
9364         -2, 0, 1, 0,
9365         127
9366 	},
9367 #ifdef LIFE_NAMES
9368 	{"twist and untwist (p4)"},
9369 #endif
9370 	{
9371         -2, -1, 0, -1,
9372         0, 1, 1, 1,
9373         127
9374 	},
9375 #ifdef LIFE_NAMES
9376 	{"smirk (p4)"},
9377 #endif
9378 	{
9379         -2, -1,
9380         -2, 0, 1, 0,
9381         0, 1,
9382         127
9383 	},
9384 #ifdef LIFE_NAMES
9385 	{"greater and less (p4)"},
9386 #endif
9387 	{
9388         0, -1, 2, -1,
9389         -1, 0,
9390         0, 1,
9391         127
9392 	},
9393 #ifdef LIFE_NAMES
9394 	{"breakup (p4)"},
9395 #endif
9396 	{
9397         -1, 0, 0, 0, 2, 0,
9398         2, 1,
9399         127
9400 	},
9401 #ifdef LIFE_NAMES
9402 	{"carriage (p4)"},
9403 #endif
9404 	{
9405         -2, -1, -1, -1,
9406         -3, 0, 1, 0,
9407         -2, 1,
9408         127
9409 	},
9410 #ifdef LIFE_NAMES
9411 	{"wave (p4)"},
9412 #endif
9413 	{
9414         -3, -1, -1, -1, 1, -1, 3, -1,
9415         -2, 0, 2, 0,
9416         127
9417 	},
9418 #ifdef LIFE_NAMES
9419 	{"4556 (p4)"},
9420 #endif
9421 	{
9422         -5, 0, -1, 0, 1, 0, 5, 0,
9423         -5, 1, -1, 1, 1, 1, 5, 1,
9424         127
9425 	},
9426 #ifdef LIFE_NAMES
9427 	{"69_84_38_57 (p4)"},
9428 #endif
9429 	{
9430         -3, 0, 1, 0, 3, 0,
9431         -3, 1, 1, 1, 3, 1,
9432         127
9433 	},
9434 #ifdef LIFE_NAMES
9435 	{"fishbowl (p4)"},
9436 #endif
9437 	{
9438         -2, -1, 2, -1,
9439         0, 0, 1, 0,
9440         0, 1, 1, 1,
9441         -2, 2, 2, 2,
9442         127
9443 	},
9444 #ifdef LIFE_NAMES
9445 	{"asym ring (p4)"},
9446 #endif
9447 	{
9448         -3, -1, -1, -1,
9449         -3, 0, -1, 0, 2, 0,
9450         3, 1,
9451         127
9452 	},
9453 #ifdef LIFE_NAMES
9454 	{"wamu (p4)"},
9455 #endif
9456 	{
9457         -5, 0, -2, 0, 2, 0, 5, 0,
9458         -4, 1, -1, 1, 1, 1, 4, 1,
9459         127
9460 	},
9461 #ifdef LIFE_NAMES
9462 	{"hiding monster (p4)"},
9463 #endif
9464 	{
9465         -4, 0, -3, 0, -1, 0, 1, 0, 3, 0, 4, 0,
9466         -4, 1, -3, 1, -2, 1, 0, 1, 2, 1, 3, 1, 4, 1,
9467         127
9468 	},
9469 #ifdef LIFE_NAMES
9470 	{"inverting star (p4)"},
9471 #endif
9472 	{
9473         1, -2,
9474         -3, -1, -2, -1, -1, -1, 1, -1, 2, -1,
9475         -3, 0, 3, 0, 4, 0,
9476         -4, 1, -3, 1, 3, 1,
9477         -2, 2, -1, 2, 1, 2, 2, 2, 3, 2,
9478         -1, 3,
9479         127
9480 	},
9481 #ifdef LIFE_NAMES
9482 	{"hexagon and bowties (p4)"},
9483 #endif
9484 	{
9485         1, -2,
9486         3, -1,
9487         -4, 0, -1, 0, 0, 0, 1, 0,
9488         -4, 1, -1, 1, 0, 1, 1, 1,
9489         3, 2,
9490         1, 3,
9491         127
9492 	},
9493 #ifdef LIFE_NAMES
9494 	{"3 bows (p4)"},
9495 #endif
9496 	{
9497         -3, -3, -2, -3, 0, -3, 2, -3, 3, -3,
9498         0, -2,
9499         -5, -1, -4, -1, 0, -1, 4, -1, 5, -1,
9500         -3, 0, -2, 0, 2, 0, 3, 0,
9501         -2, 1, 2, 1,
9502         -2, 2, 2, 2,
9503         127
9504 	},
9505 #ifdef LIFE_NAMES
9506 	{"compressor (p5)"},
9507 #endif
9508 	{
9509         -3, -1, -2, -1, -1, -1, 1, -1, 2, -1, 3, -1,
9510         -3, 2, -2, 2, -1, 2, 1, 2, 2, 2, 3, 2,
9511         127
9512 	},
9513 #ifdef LIFE_NAMES
9514 	{"star (p5)"},
9515 #endif
9516 	{
9517         -5, -6, 3, -6,
9518         -7, -5, 5, -5,
9519         -5, -4, -4, -4, 2, -4, 3, -4,
9520         -1, -2,
9521         -11, -1, -8, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 6, -1, 9, -1,
9522         -11, 0, -8, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 6, 0, 9, 0,
9523         -1, 1,
9524         -5, 3, -4, 3, 2, 3, 3, 3,
9525         -7, 4, 5, 4,
9526         -5, 5, 3, 5,
9527         127
9528 	},
9529 #ifdef LIFE_NAMES
9530 	{"flipping triangle (p6)"},
9531 #endif
9532 	{
9533         -1, -1, 1, -1,
9534         -2, 0, 2, 0,
9535         -2, 2, 0, 2, 2, 2,
9536         127
9537 	},
9538 #ifdef LIFE_NAMES
9539 	{"asym flipping triangle (p6)"},
9540 #endif
9541 	{
9542         -1, -2, 0, -2,
9543         -4, -1, 0, -1, 1, -1, 2, -1,
9544         -3, 0, 1, 0,
9545         -2, 1,
9546         127
9547 	},
9548 #ifdef LIFE_NAMES
9549 	{"bracelet (p6)"},
9550 #endif
9551 	{
9552         -5, -1, -2, -1, 2, -1, 5, -1,
9553         -5, 0, -2, 0, 2, 0, 5, 0,
9554         127
9555 	},
9556 #ifdef LIFE_NAMES
9557 	{"bracelet2 (p6)"},
9558 #endif
9559 	{
9560         -6, -1, -3, -1, -1, -1, 1, -1, 3, -1, 6, -1,
9561         -5, 0, -1, 0, 1, 0, 5, 0,
9562         127
9563 	},
9564 #ifdef LIFE_NAMES
9565 	{"batman (p6)"},
9566 #endif
9567 	{
9568         1, -2,
9569         0, -1, 1, -1,
9570         -2, 0, -1, 0, 2, 0,
9571         -2, 1, -1, 1, 2, 1,
9572         0, 2, 1, 2,
9573         1, 3,
9574         127
9575 	},
9576 #ifdef LIFE_NAMES
9577 	{"dancing flame (p8)"},
9578 #endif
9579 	{
9580         -2, 0, -1, 0, 0, 0, 2, 0,
9581         2, 1,
9582         127
9583 	},
9584 #ifdef LIFE_NAMES
9585 	{"asym burner (p8)"},
9586 #endif
9587 	{
9588         -2, -1, 2, -1,
9589         -2, 0, 2, 0,
9590         -3, 1, -1, 1, 1, 1, 3, 1, 5, 1,
9591         127
9592 	},
9593 #ifdef LIFE_NAMES
9594 	{"producer (p8)"},
9595 #endif
9596 	{
9597         3, -2,
9598         -3, -1, 0, -1, 1, -1, 2, -1,
9599         -3, 0, 0, 0, 1, 0, 2, 0,
9600         3, 1,
9601         127
9602 	},
9603 #ifdef LIFE_NAMES
9604 	{"monster (p8)"},
9605 #endif
9606 	{
9607         -2, -1, 2, -1,
9608         -5, 0, -3, 0, 3, 0, 5, 0,
9609         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
9610         -2, 2, 2, 2,
9611         127
9612 	},
9613 #ifdef LIFE_NAMES
9614 	{"Zoro (p9)"},
9615 #endif
9616 	{
9617         2, -3,
9618         -1, -2, 2, -2,
9619         0, -1,
9620         0, 0,
9621         -2, 1, 1, 1,
9622         -2, 2,
9623         127
9624 	},
9625 };
9626 
9627 static char patterns_12B456S23[][2 * NUMPTS + 1] =
9628 {
9629 #ifdef LIFE_NAMES
9630 	{"fish"},
9631 #endif
9632 	{
9633         -1, 0, 0, 0, 2, 0,
9634         -1, 1, 1, 1, 2, 1,
9635         127
9636 	},
9637 #ifdef LIFE_NAMES
9638 	{"eye"},
9639 #endif
9640 	{
9641         -2, -1, -1, -1, 0, -1,
9642         -3, 0,
9643         -3, 1, -2, 1, -1, 1,
9644         127
9645 	},
9646 #ifdef LIFE_NAMES
9647 	{"radiation fallout"},
9648 #endif
9649 	{
9650         2, -1,
9651         -2, 0, 0, 0, 2, 0, 3, 0,
9652         -1, 1, 1, 1,
9653         127
9654 	},
9655 #ifdef LIFE_NAMES
9656 	{"hex"},
9657 #endif
9658 	{
9659         -3, -2, -2, -2, -1, -2,
9660         -3, -1, 1, -1, 2, -1,
9661         -3, 0, 1, 0, 2, 0,
9662         -3, 1, -2, 1, -1, 1,
9663         127
9664 	},
9665 #ifdef LIFE_NAMES
9666 	{"cat (p4)"},
9667 #endif
9668 	{
9669         -2, -2, 0, -2, 2, -2,
9670         -1, -1, 1, -1,
9671         -1, 0, 0, 0, 1, 0,
9672         127
9673 	},
9674 #ifdef LIFE_NAMES
9675 	{"hourglass4 (p4)"},
9676 #endif
9677 	{
9678         -1, -2, 0, -2, 1, -2,
9679         -3, -1, 3, -1,
9680         -3, 0, 3, 0,
9681         -1, 1, 0, 1, 1, 1,
9682         127
9683 	},
9684 #ifdef LIFE_NAMES
9685 	{"big hourglass (p4)"},
9686 #endif
9687 	{
9688         -1, -3, 1, -3,
9689         -1, -2, 0, -2, 1, -2,
9690         -4, -1, -1, -1, 0, -1, 1, -1, 4, -1,
9691         -4, 0, 4, 0,
9692         -4, 1, 4, 1,
9693         -4, 2, -1, 2, 0, 2, 1, 2, 4, 2,
9694         -1, 3, 0, 3, 1, 3,
9695         -1, 4, 1, 4,
9696         127
9697 	},
9698 #ifdef LIFE_NAMES
9699 	{"maine coon (p6)"},
9700 #endif
9701 	{
9702         0, -3, 1, -3, 2, -3,
9703         -6, -2, -5, -2, -4, -2, -3, -2, -2, -2, 3, -2, 4, -2,
9704         -5, -1, -4, -1,
9705         -5, 0, -4, 0,
9706         -6, 1, -5, 1, -4, 1, -3, 1, -2, 1, 3, 1, 4, 1,
9707         0, 2, 1, 2, 2, 2,
9708         127
9709 	},
9710 #ifdef LIFE_NAMES
9711 	{"chalice (p6)"},
9712 #endif
9713 	{
9714         -4, -5, -1, -5, 2, -5,
9715         -4, -4, 2, -4,
9716         -3, -3, -2, -3, 0, -3, 1, -3,
9717         -7, -2, -1, -2, 5, -2,
9718         -8, -1, -5, -1, -1, -1, 3, -1, 6, -1,
9719         -8, 0, -5, 0, -1, 0, 3, 0, 6, 0,
9720         -7, 1, -1, 1, 5, 1,
9721         -3, 2, -2, 2, 0, 2, 1, 2,
9722         -4, 3, 2, 3,
9723         -4, 4, -1, 4, 2, 4,
9724         127
9725 	},
9726 #ifdef LIFE_NAMES
9727 	{"water sprayer (p7)"},
9728 #endif
9729 	{
9730         3, -4,
9731         0, -3, 1, -3, 5, -3,
9732         -3, -2, 5, -2,
9733         -5, -1, 0, -1, 1, -1, 2, -1,
9734         -5, 0, 0, 0, 1, 0, 2, 0, 5, 0,
9735         -3, 1, -2, 1, 5, 1,
9736         1, 2, 5, 2,
9737         3, 3,
9738         127
9739 	},
9740 #ifdef LIFE_NAMES
9741 	{"bee (p10)"},
9742 #endif
9743 	{
9744         0, -1, 1, -1,
9745         0, 0,
9746         0, 1,
9747         0, 2, 1, 2,
9748         127
9749 	},
9750 #ifdef LIFE_NAMES
9751 	{"grinder (p12)"},
9752 #endif
9753 	{
9754         0, -4,
9755         -5, -3, -4, -3, -2, -3, 0, -3, 1, -3, 2, -3,
9756         -4, -2, -2, -2, 2, -2,
9757         -6, -1, -5, -1, 3, -1, 4, -1, 5, -1,
9758         -6, 0, -5, 0, 2, 0, 3, 0,
9759         -7, 1, -4, 1, -3, 1, 2, 1,
9760         -3, 2, -2, 2, 0, 2, 1, 2, 2, 2, 4, 2,
9761         -3, 3,
9762         127
9763 	},
9764 #ifdef LIFE_NAMES
9765 	{"owl (p16)"},
9766 #endif
9767 	{
9768         -4, -2, -2, -2, 0, -2, 2, -2, 4, -2,
9769         -5, -1, -4, -1, -3, -1, 3, -1, 4, -1, 5, -1,
9770         -3, 0, 3, 0,
9771         127
9772 	},
9773 #ifdef LIFE_NAMES
9774 	{"prop (p19)"},
9775 #endif
9776 	{
9777         -5, -4, -3, -4, -2, -4, 0, -4, 2, -4, 3, -4,
9778         -6, -3, -4, -3, -2, -3, 5, -3, 6, -3,
9779         -6, -2, 5, -2, 7, -2,
9780         -6, -1, 4, -1, 6, -1,
9781         -6, 0, 6, 0,
9782         -5, 1, -2, 1, 5, 1,
9783         -4, 2, -3, 2, -1, 2, 3, 2, 4, 2,
9784         -2, 3, 0, 3, 1, 3,
9785         127
9786 	},
9787 };
9788 
9789 static char patterns_12B456S34[][2 * NUMPTS + 1] =
9790 {
9791 #ifdef LIFE_NAMES
9792 	{"triangle"},
9793 #endif
9794 	{
9795         -2, -1, -1, -1, 1, -1, 2, -1,
9796         -2, 0, 2, 0,
9797         -1, 1, 0, 1, 1, 1,
9798         127
9799 	},
9800 #ifdef LIFE_NAMES
9801 	{"bat"},
9802 #endif
9803 	{
9804         -2, -1, -1, -1, 1, -1, 2, -1,
9805         -3, 0, 3, 0,
9806         -3, 1, -2, 1, 2, 1, 3, 1,
9807         0, 2,
9808         127
9809 	},
9810 #ifdef LIFE_NAMES
9811 	{"David"},
9812 #endif
9813 	{
9814         0, -1,
9815         -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
9816         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
9817         0, 2,
9818         127
9819 	},
9820 #ifdef LIFE_NAMES
9821 	{"gear"},
9822 #endif
9823 	{
9824         -1, -2,
9825         -1, -1, 2, -1, 3, -1,
9826         -4, 0, -3, 0,
9827         3, 1, 4, 1,
9828         -3, 2, -2, 2, 1, 2,
9829         1, 3,
9830         127
9831 	},
9832 #ifdef LIFE_NAMES
9833 	{"bumpy gear"},
9834 #endif
9835 	{
9836         0, -3,
9837         -4, -2, -3, -2, 0, -2, 3, -2, 4, -2,
9838         -3, 0, -2, 0, 2, 0, 3, 0,
9839         0, 1,
9840         0, 2,
9841         127
9842 	},
9843 #ifdef LIFE_NAMES
9844 	{"star eclipse"},
9845 #endif
9846 	{
9847         1, -2,
9848         -2, -1, -1, -1, 3, -1, 4, -1,
9849         -4, 0, -3, 0, -2, 0, -1, 0, 4, 0,
9850         -4, 1, -3, 1, -2, 1, -1, 1, 0, 1, 2, 1, 3, 1,
9851         -2, 2,
9852         127
9853 	},
9854 #ifdef LIFE_NAMES
9855 	{"big gear"},
9856 #endif
9857 	{
9858         -3, -4, 1, -4,
9859         -3, -3, 1, -3, 4, -3, 5, -3,
9860         -6, -2, -5, -2,
9861         6, -1, 7, -1,
9862         -8, 0, -7, 0,
9863         7, 1, 8, 1,
9864         -7, 2, -6, 2,
9865         5, 3, 6, 3,
9866         -5, 4, -4, 4, -1, 4, 3, 4,
9867         -1, 5, 3, 5,
9868         127
9869 	},
9870 #ifdef LIFE_NAMES
9871 	{"double eclipse"},
9872 #endif
9873 	{
9874         -3, -2, 3, -2,
9875         -6, -1, -5, -1, -1, -1, 0, -1, 1, -1, 5, -1, 6, -1,
9876         -6, 0, -1, 0, 0, 0, 1, 0, 6, 0,
9877         -5, 1, -4, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1, 5, 1,
9878         0, 2,
9879         127
9880 	},
9881 #ifdef LIFE_NAMES
9882 	{"double bat"},
9883 #endif
9884 	{
9885         3, -2,
9886         0, -1, 1, -1, 5, -1, 6, -1,
9887         -5, 0, -4, 0, -2, 0, -1, 0, 0, 0, 1, 0, 6, 0,
9888         -6, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1, 5, 1,
9889         -6, 2, -5, 2, -1, 2, 0, 2,
9890         -3, 3,
9891         127
9892 	},
9893 #ifdef LIFE_NAMES
9894 	{"pop"},
9895 #endif
9896 	{
9897         -4, -3, -3, -3, -2, -3,
9898         -5, -2, 0, -2,
9899         -5, -1, 0, -1,
9900         -4, 0, -3, 0, -2, 0, 0, 0, 1, 0, 2, 0,
9901         -4, 1, -3, 1, -2, 1, 0, 1, 1, 1, 2, 1,
9902         -5, 2, 0, 2,
9903         -5, 3, 0, 3,
9904         -4, 4, -3, 4, -2, 4,
9905         127
9906 	},
9907 #ifdef LIFE_NAMES
9908 	{"big gear2"},
9909 #endif
9910 	{
9911         -3, -4, 1, -4,
9912         -3, -3, -2, -3, 1, -3, 4, -3, 5, -3,
9913         -6, -2, -5, -2, 4, -2,
9914         6, -1, 7, -1,
9915         -8, 0, -7, 0, -6, 0,
9916         6, 1, 7, 1, 8, 1,
9917         -7, 2, -6, 2,
9918         -4, 3, 5, 3, 6, 3,
9919         -5, 4, -4, 4, -1, 4, 2, 4, 3, 4,
9920         -1, 5, 3, 5,
9921         127
9922 	},
9923 #ifdef LIFE_NAMES
9924 	{"Goliath (p3)"},
9925 #endif
9926 	{
9927         -1, -2, 0, -2, 1, -2,
9928         -4, -1, -3, -1, 3, -1, 4, -1,
9929         -4, 0, 4, 0,
9930         -4, 1, 4, 1,
9931         -4, 2, -3, 2, 3, 2, 4, 2,
9932         -1, 3, 0, 3, 1, 3,
9933         127
9934 	},
9935 #ifdef LIFE_NAMES
9936 	{"another mouth (p4)"},
9937 #endif
9938 	{
9939         -1, -2, 0, -2, 1, -2,
9940         -2, -1, 1, -1,
9941         -2, 0, 1, 0,
9942         1, 1,
9943         -2, 2, -1, 2, 0, 2,
9944         127
9945 	},
9946 #ifdef LIFE_NAMES
9947 	{"mouth (p4)"},
9948 #endif
9949 	{
9950         -4, -1, -3, -1, -1, -1, 0, -1,
9951         -4, 0, 2, 0, 3, 0,
9952         -1, 1, 0, 1, 2, 1, 3, 1,
9953         127
9954 	},
9955 #ifdef LIFE_NAMES
9956 	{"double hat (p5)"},
9957 #endif
9958 	{
9959         0, -3,
9960         -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
9961         -1, 0, 0, 0, 1, 0,
9962         -1, 1, 0, 1, 1, 1,
9963         -2, 3, -1, 3, 0, 3, 1, 3, 2, 3,
9964         0, 4,
9965         127
9966 	},
9967 #ifdef LIFE_NAMES
9968 	{"ellipse (p5)"},
9969 #endif
9970 	{
9971         0, -3, 1, -3, 2, -3,
9972         -2, -2, 4, -2,
9973         -4, -1, -3, -1, 4, -1, 5, -1,
9974         -4, 0, -3, 0, 4, 0, 5, 0,
9975         -4, 1, -3, 1, 4, 1, 5, 1,
9976         -3, 2, 3, 2,
9977         -1, 3, 0, 3, 1, 3,
9978         127
9979 	},
9980 #ifdef LIFE_NAMES
9981 	{"triple smile (p5)"},
9982 #endif
9983 	{
9984         -3, -3, -2, -3, 2, -3, 3, -3,
9985         -5, -2, -2, -2, 2, -2, 5, -2,
9986         -6, -1, -2, -1, 2, -1, 6, -1,
9987         -3, 0, -2, 0, 2, 0, 3, 0,
9988         -7, 1, -6, 1, -5, 1, 5, 1, 6, 1, 7, 1,
9989         -1, 2, 0, 2, 1, 2,
9990         -4, 3, -3, 3, 3, 3, 4, 3,
9991         -4, 4, -1, 4, 1, 4, 4, 4,
9992         127
9993 	},
9994 #ifdef LIFE_NAMES
9995 	{"fish clock (p6)"},
9996 #endif
9997 	{
9998         0, -2,
9999         -1, -1, 2, -1,
10000         -1, 0, 0, 0, 1, 0, 2, 0,
10001         127
10002 	},
10003 #ifdef LIFE_NAMES
10004 	{"big fish clock (p6)"},
10005 #endif
10006 	{
10007         -2, -1, -1, -1, 1, -1, 2, -1,
10008         -2, 0, 1, 0, 2, 0,
10009         -2, 1, 0, 1, 1, 1, 2, 1,
10010         127
10011 	},
10012 #ifdef LIFE_NAMES
10013 	{"king snails (p7)"},
10014 #endif
10015 	{
10016         0, -3, 2, -3,
10017         0, -2, 1, -2, 2, -2,
10018         3, -1, 4, -1,
10019         -6, 0, -5, 0, 2, 0, 3, 0,
10020         -7, 1, -6, 1,
10021         -5, 2, -4, 2, -3, 2,
10022         -5, 3, -3, 3,
10023         127
10024 	},
10025 #ifdef LIFE_NAMES
10026 	{"bloom (p8)"},
10027 #endif
10028 	{
10029         -5, -4, -4, -4, -2, -4, -1, -4,
10030         -6, -3, -1, -3, 0, -3,
10031         -6, -2, -5, -2, 0, -2, 1, -2, 2, -2, 3, -2, 4, -2, 5, -2,
10032         -5, -1, -4, -1, -2, -1, -1, -1, 0, -1, 6, -1,
10033         -5, 0, -4, 0, -2, 0, -1, 0, 0, 0, 6, 0,
10034         -6, 1, -5, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1,
10035         -6, 2, -1, 2, 0, 2,
10036         -5, 3, -4, 3, -2, 3, -1, 3,
10037         127
10038 	},
10039 #ifdef LIFE_NAMES
10040 	{"AV (p26)"},
10041 #endif
10042 	{
10043         -4, -3, -3, -3, -1, -3, 0, -3, 1, -3, 2, -3,
10044         -5, -2, 3, -2, 4, -2,
10045         -5, -1, 3, -1,
10046         -5, 0, 3, 0,
10047         -6, 1, -5, 1, 3, 1,
10048         -4, 2, -3, 2, -2, 2, -1, 2, 1, 2, 2, 2,
10049         127
10050 	},
10051 };
10052 
10053 static char patterns_12B456S45[][2 * NUMPTS + 1] =
10054 {
10055 #ifdef LIFE_NAMES
10056 	{"glider (diagonal c/4, p8)"},
10057 #endif
10058 	{
10059         -1, -2, 1, -2,
10060         -1, -1, 2, -1,
10061         3, 0,
10062         -4, 1, -3, 1, -2, 1, 2, 1,
10063         -2, 2, -1, 2, 1, 2, 2, 2, 3, 2,
10064         0, 3,
10065         127
10066 	},
10067 #ifdef LIFE_NAMES
10068 	{"double glider (diagonal 2c/11, p11)"},
10069 #endif
10070 	{
10071         -7, -1, -6, -1, 0, -1, 6, -1, 7, -1,
10072         -7, 0, -6, 0, -5, 0, 0, 0, 5, 0, 6, 0, 7, 0,
10073         -7, 1, -3, 1, -1, 1, 1, 1, 3, 1, 7, 1,
10074         127
10075 	},
10076 #ifdef LIFE_NAMES
10077 	{"open"},
10078 #endif
10079 	{
10080         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
10081         -4, 0, -3, 0, -2, 0, -1, 0, 0, 0,
10082         127
10083 	},
10084 #ifdef LIFE_NAMES
10085 	{"deformed open"},
10086 #endif
10087 	{
10088         -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
10089         -3, 0, -2, 0, -1, 0, 0, 0,
10090         -3, 1,
10091         127
10092 	},
10093 #ifdef LIFE_NAMES
10094 	{"pinch (p3)"},
10095 #endif
10096 	{
10097         -1, -1, 0, -1, 1, -1,
10098         -1, 0, 0, 0, 1, 0,
10099         127
10100 	},
10101 #ifdef LIFE_NAMES
10102 	{"flipping s (p4)"},
10103 #endif
10104 	{
10105         0, -2, 1, -2,
10106         1, -1, 2, -1, 3, -1,
10107         -1, 0, 0, 0, 1, 0, 2, 0,
10108         -2, 1, -1, 1, 0, 1,
10109         0, 2, 1, 2,
10110         127
10111 	},
10112 #ifdef LIFE_NAMES
10113 	{"triangle (p4)"},
10114 #endif
10115 	{
10116         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
10117         -3, 0, 3, 0,
10118         -3, 1, -2, 1, 2, 1, 3, 1,
10119         -2, 2, -1, 2, 1, 2, 2, 2,
10120         127
10121 	},
10122 #ifdef LIFE_NAMES
10123 	{"pyramid clock (p6)"},
10124 #endif
10125 	{
10126         -2, -1, -1, -1, 1, -1,
10127         -2, 0, -1, 0, 0, 0,
10128         -1, 1,
10129         127
10130 	},
10131 #ifdef LIFE_NAMES
10132 	{"torso (p6)"},
10133 #endif
10134 	{
10135         -1, -2, 1, -2,
10136         -2, -1, -1, -1, 1, -1, 2, -1,
10137         -1, 0, 1, 0,
10138         -2, 1, -1, 1, 1, 1, 2, 1,
10139         127
10140 	},
10141 #ifdef LIFE_NAMES
10142 	{"3 toasters (p8)"},
10143 #endif
10144 	{
10145         -4, -7, -2, -7, 2, -7, 4, -7,
10146         -8, -6, -7, -6, -4, -6, 0, -6, 4, -6, 7, -6, 8, -6,
10147         -1, -5, 1, -5,
10148         -10, -4, -9, -4, 9, -4, 10, -4,
10149         -12, -2, -11, -2, 11, -2, 12, -2,
10150         -11, 0, -10, 0, 10, 0, 11, 0,
10151         -10, 1, -7, 1, 7, 1, 10, 1,
10152         -8, 2, -6, 2, 6, 2, 8, 2,
10153         -8, 3, 8, 3,
10154         -7, 4, -6, 4, 6, 4, 7, 4,
10155         -4, 5, 0, 5, 4, 5,
10156         -4, 6, 0, 6, 4, 6,
10157         127
10158 	},
10159 #ifdef LIFE_NAMES
10160 	{"dog face (p10)"},
10161 #endif
10162 	{
10163         -2, -3, -1, -3, 0, -3,
10164         -4, -2, -2, -2, -1, -2, 0, -2, 2, -2,
10165         -1, -1,
10166         -5, 0, 3, 0,
10167         -6, 1, -5, 1, -4, 1, -3, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
10168         -6, 2, -4, 2, 2, 2, 4, 2,
10169         -4, 3, -2, 3, 0, 3, 2, 3,
10170         127
10171 	},
10172 #ifdef LIFE_NAMES
10173 	{"trapazoid (p18)"},
10174 #endif
10175 	{
10176         -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2, 3, -2,
10177         -4, -1, 4, -1,
10178         -4, 0, -3, 0, 3, 0, 4, 0,
10179         -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 3, 1,
10180         127
10181 	},
10182 };
10183 
10184 static char patterns_12B46S24[][2 * NUMPTS + 1] =
10185 {
10186 #ifdef LIFE_NAMES
10187 	{"diamond (p3)"},
10188 #endif
10189 	{
10190         -3, -1, -1, -1, 1, -1,
10191         -3, 0, -1, 0, 1, 0,
10192         127
10193 	},
10194 #ifdef LIFE_NAMES
10195 	{"234 (p3)"},
10196 #endif
10197 	{
10198         -1, -1, 1, -1,
10199         -1, 0, 1, 0,
10200         127
10201 	},
10202 #ifdef LIFE_NAMES
10203 	{"344 (p3)"},
10204 #endif
10205 	{
10206         0, -1,
10207         -3, 0, 0, 0, 3, 0,
10208         -3, 1, 0, 1, 3, 1,
10209         0, 2,
10210         127
10211 	},
10212 #ifdef LIFE_NAMES
10213 	{"big David (p3)"},
10214 #endif
10215 	{
10216         -2, -3, 0, -3, 2, -3,
10217         -4, -2, -1, -2, 0, -2, 1, -2, 4, -2,
10218         -5, -1, -4, -1, -3, -1, 3, -1, 4, -1, 5, -1,
10219         -6, 0, -4, 0, 4, 0, 6, 0,
10220         -6, 1, -4, 1, 4, 1, 6, 1,
10221         -5, 2, -4, 2, -3, 2, 3, 2, 4, 2, 5, 2,
10222         -4, 3, -1, 3, 0, 3, 1, 3, 4, 3,
10223         -2, 4, 0, 4, 2, 4,
10224         127
10225 	},
10226 #ifdef LIFE_NAMES
10227 	{"2 face (p4)"},
10228 #endif
10229 	{
10230         1, -1, 2, -1,
10231         0, 0, 1, 0, 2, 0,
10232         -2, 1, 0, 1,
10233         -2, 2,
10234         127
10235 	},
10236 #ifdef LIFE_NAMES
10237 	{"ratchet (p4)"},
10238 #endif
10239 	{
10240         -3, -2, -1, -2, 2, -2,
10241         -1, -1, 0, -1, 2, -1, 3, -1,
10242         -4, 0, -3, 0, -2, 0, 2, 0, 5, 0,
10243         -5, 1, -2, 1, 2, 1, 3, 1, 4, 1,
10244         -3, 2, -2, 2, 0, 2, 1, 2,
10245         -2, 3, 1, 3, 3, 3,
10246         127
10247 	},
10248 #ifdef LIFE_NAMES
10249 	{"ties (p5)"},
10250 #endif
10251 	{
10252         -3, -2, -2, -2, 0, -2, 1, -2,
10253         -5, -1, 3, -1,
10254         -5, 0, 3, 0,
10255         -3, 1, -2, 1, 0, 1, 1, 1,
10256         127
10257 	},
10258 #ifdef LIFE_NAMES
10259 	{"skewed star (p7)"},
10260 #endif
10261 	{
10262         1, -4,
10263         1, -3,
10264         -6, -2, -5, -2, 1, -2,
10265         -3, -1, -2, -1, -1, -1, 1, -1, 2, -1, 6, -1, 7, -1,
10266         -3, -0, 3, -0, 4, -0,
10267         -4, 1, -3, 1, 3, 1,
10268         -7, 2, -6, 2, -2, 2, -1, 2, 1, 2, 2, 2, 3, 2,
10269         -1, 3, 5, 3, 6, 3,
10270         -1, 4,
10271         -1, 5,
10272         127
10273 	},
10274 #ifdef LIFE_NAMES
10275 	{"drum (p8)"},
10276 #endif
10277 	{
10278         -4, -2, -2, -2, -1, -2,
10279         -4, -1, 1, -1,
10280         -4, 0, 2, 0,
10281         -4, 1, 2, 1,
10282         -4, 2, 1, 2,
10283         -4, 3, -2, 3, -1, 3,
10284         127
10285 	},
10286 #ifdef LIFE_NAMES
10287 	{"23443 (p10)"},
10288 #endif
10289 	{
10290         -5, -3, 5, -3,
10291         -6, -2, -5, -2, 5, -2, 6, -2,
10292         -1, -1, 1, -1,
10293         -1, 0, 1, 0,
10294         -6, 1, -5, 1, 5, 1, 6, 1,
10295         -5, 2, 5, 2,
10296         127
10297 	},
10298 #ifdef LIFE_NAMES
10299 	{"Penrose Triangle (p10)"},
10300 #endif
10301 	{
10302         -3, -4,
10303         -5, -3, -3, -3, -2, -3, 0, -3,
10304         0, -2, 1, -2,
10305         -4, -1, 5, -1,
10306         -5, 0, -4, 0, 3, 0, 4, 0, 5, 0,
10307         -4, 1, 0, 1, 1, 1, 2, 1,
10308         -5, 2, -4, 2,
10309         -3, 3,
10310         127
10311 	},
10312 #ifdef LIFE_NAMES
10313 	{"toggle (p14)"},
10314 #endif
10315 	{
10316         -1, -2, 0, -2, 1, -2, 2, -2,
10317         -6, -1,
10318         -6, 0, -4, 0, 5, 0, 7, 0,
10319         7, 1,
10320         -1, 2, 0, 2, 1, 2, 2, 2,
10321         127
10322 	},
10323 #ifdef LIFE_NAMES
10324 	{"boats (p16)"},
10325 #endif
10326 	{
10327         -1, -2, 0, -2, 1, -2, 3, -2,
10328         3, -1, 4, -1, 5, -1,
10329         -4, 1, -3, 1, -2, 1,
10330         -2, 2, 0, 2, 1, 2, 2, 2,
10331         127
10332 	},
10333 };
10334 
10335 static char patterns_12B46S246[][2 * NUMPTS + 1] =
10336 {
10337 #ifdef LIFE_NAMES
10338 	{"234 (p3)"},
10339 #endif
10340 	{
10341         -1, -1, 1, -1,
10342         -1, 0, 1, 0,
10343         127
10344 	},
10345 #ifdef LIFE_NAMES
10346 	{"344 (p3)"},
10347 #endif
10348 	{
10349         0, -1,
10350         -3, 0, 0, 0, 3, 0,
10351         -3, 1, 0, 1, 3, 1,
10352         0, 2,
10353         127
10354 	},
10355 #ifdef LIFE_NAMES
10356 	{"2 face (p4)"},
10357 #endif
10358 	{
10359         1, -1, 2, -1,
10360         0, 0, 1, 0, 2, 0,
10361         -2, 1, 0, 1,
10362         -2, 2,
10363         127
10364 	},
10365 #ifdef LIFE_NAMES
10366 	{"ratchet (p4)"},
10367 #endif
10368 	{
10369         -3, -2, -1, -2, 2, -2,
10370         -1, -1, 0, -1, 2, -1, 3, -1,
10371         -4, 0, -3, 0, -2, 0, 2, 0, 5, 0,
10372         -5, 1, -2, 1, 2, 1, 3, 1, 4, 1,
10373         -3, 2, -2, 2, 0, 2, 1, 2,
10374         -2, 3, 1, 3, 3, 3,
10375         127
10376 	},
10377 #ifdef LIFE_NAMES
10378 	{"shift (p4)"},
10379 #endif
10380 	{
10381         -1, -2,
10382         -2, -1, -1, -1, 0, -1, 1, -1,
10383         -3, 0, -2, 0,
10384         -2, 1, -1, 1,
10385         127
10386 	},
10387 #ifdef LIFE_NAMES
10388 	{"234 and friend (p7)"},
10389 #endif
10390 	{
10391         -5, -2, -4, -2, -3, -2,
10392         -1, -1, 2, -1,
10393         0, 0, 3, 0,
10394         1, 1,
10395         127
10396 	},
10397 #ifdef LIFE_NAMES
10398 	{"234 and friend2 (p7)"},
10399 #endif
10400 	{
10401         3, -2,
10402         1, -1, 3, -1,
10403         -3, 0, 0, 0,
10404         -4, 1, -1, 1,
10405         -2, 2,
10406         127
10407 	},
10408 #ifdef LIFE_NAMES
10409 	{"dracula (p8)"},
10410 #endif
10411 	{
10412         -2, -1, 0, -1, 1, -1, 2, -1, 4, -1,
10413         -3, 0, -1, 0, 0, 0, 2, 0, 3, 0, 5, 0,
10414         1, 1,
10415         127
10416 	},
10417 #ifdef LIFE_NAMES
10418 	{"3 birds (p9)"},
10419 #endif
10420 	{
10421         -6, -3, -4, -3, -3, -3, 3, -3, 4, -3, 6, -3,
10422         -7, -2, -2, -2, 2, -2, 7, -2,
10423         -6, -1, -2, -1, 2, -1, 6, -1,
10424         -6, 0, -4, 0, 4, 0, 6, 0,
10425         0, 1,
10426         -2, 2, 2, 2,
10427         -3, 3, -2, 3, 2, 3, 3, 3,
10428         -1, 4, 1, 4,
10429         127
10430 	},
10431 #ifdef LIFE_NAMES
10432 	{"sailboat (p10)"},
10433 #endif
10434 	{
10435         -1, -1, 0, -1, 1, -1, 2, -1,
10436         -2, 0,
10437         1, 1,
10438         127
10439 	},
10440 #ifdef LIFE_NAMES
10441 	{"23443 (p10)"},
10442 #endif
10443 	{
10444         -5, -3, 5, -3,
10445         -6, -2, -5, -2, 5, -2, 6, -2,
10446         -1, -1, 1, -1,
10447         -1, 0, 1, 0,
10448         -6, 1, -5, 1, 5, 1, 6, 1,
10449         -5, 2, 5, 2,
10450         127
10451 	},
10452 #ifdef LIFE_NAMES
10453 	{"toggle (p14)"},
10454 #endif
10455 	{
10456         -1, -2, 0, -2, 1, -2, 2, -2,
10457         -6, -1,
10458         -6, 0, -4, 0, 5, 0, 7, 0,
10459         7, 1,
10460         -1, 2, 0, 2, 1, 2, 2, 2,
10461         127
10462 	},
10463 #ifdef LIFE_NAMES
10464 	{"triangle (p17)"},
10465 #endif
10466 	{
10467         -2, -3, 2, -3, 3, -3, 5, -3,
10468         -2, -2, -1, -2,
10469         -5, -1, 4, -1, 5, -1, 6, -1,
10470         -4, 0, -3, 0,
10471         0, 1, 4, 1,
10472         -1, 2, 0, 2, 4, 2,
10473         3, 3,
10474         127
10475 	},
10476 };
10477 
10478 static char patterns_12B46S35[][2 * NUMPTS + 1] =
10479 {
10480 #ifdef LIFE_NAMES
10481 	{"toggle"},
10482 #endif
10483 	{
10484         -1, -2, 0, -2, 1, -2,
10485         -1, -1,
10486         -1, 0,
10487         -1, 1, 0, 1, 1, 1,
10488         127
10489 	},
10490 #ifdef LIFE_NAMES
10491 	{"batman"},
10492 #endif
10493 	{
10494         0, -2,
10495         -3, -1, -1, -1, 1, -1, 3, -1,
10496         -2, 0, -1, 0, 1, 0, 2, 0,
10497         -1, 1, 1, 1,
10498         127
10499 	},
10500 #ifdef LIFE_NAMES
10501 	{"greater and less (p3)"},
10502 #endif
10503 	{
10504         -2, 0, -1, 0, 1, 0, 2, 0,
10505         -2, 1, -1, 1, 1, 1, 2, 1,
10506         127
10507 	},
10508 #ifdef LIFE_NAMES
10509 	{"123 (p3)"},
10510 #endif
10511 	{
10512         -4, -1, -3, -1, 0, -1, 3, -1, 4, -1,
10513         -4, 0, -3, 0, 0, 0, 3, 0, 4, 0,
10514         127
10515 	},
10516 #ifdef LIFE_NAMES
10517 	{"teamwork (p3)"},
10518 #endif
10519 	{
10520         -3, -4, -2, -4, -1, -4,
10521         -3, -3,
10522         -1, -2, 0, -2,
10523         2, -1,
10524         2, 0,
10525         -1, 1, 0, 1,
10526         -3, 2,
10527         -3, 3, -2, 3, -1, 3,
10528         127
10529 	},
10530 #ifdef LIFE_NAMES
10531 	{"doily (p3)"},
10532 #endif
10533 	{
10534         -2, -3, 2, -3,
10535         -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4, -2,
10536         -6, 0, -5, 0, 5, 0, 6, 0,
10537         -6, 1, -5, 1, 5, 1, 6, 1,
10538         -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3,
10539         -2, 4, 2, 4,
10540         127
10541 	},
10542 #ifdef LIFE_NAMES
10543 	{"bear trap (p4)"},
10544 #endif
10545 	{
10546         -1, -1, 0, -1, 1, -1,
10547         -1, 0, 0, 0, 1, 0,
10548         127
10549 	},
10550 #ifdef LIFE_NAMES
10551 	{"2 butterflies (p4)"},
10552 #endif
10553 	{
10554         -2, -2, -1, -2,
10555         -3, -1, -2, -1,
10556         2, 0, 3, 0,
10557         1, 1, 2, 1,
10558         127
10559 	},
10560 #ifdef LIFE_NAMES
10561 	{"asym shift (p4)"},
10562 #endif
10563 	{
10564         -2, -1, 0, -1,
10565         -3, 0, 0, 0, 1, 0,
10566         0, 1, 1, 1,
10567         127
10568 	},
10569 #ifdef LIFE_NAMES
10570 	{"necklace (p5)"},
10571 #endif
10572 	{
10573         -1, -6, 1, -6,
10574         -3, -5, 3, -5,
10575         -7, -4, -5, -4, -4, -4, -3, -4, 0, -4, 3, -4, 4, -4, 5, -4, 7, -4,
10576         -9, -3, -5, -3, 5, -3, 9, -3,
10577         -10, -2, -7, -2, 7, -2, 10, -2,
10578         -10, -1, 10, -1,
10579         -9, 0, -8, 0, 8, 0, 9, 0,
10580         -9, 1, -8, 1, 8, 1, 9, 1,
10581         -10, 2, 10, 2,
10582         -10, 3, -7, 3, 7, 3, 10, 3,
10583         -9, 4, -5, 4, 5, 4, 9, 4,
10584         -7, 5, -5, 5, -4, 5, -3, 5, 0, 5, 3, 5, 4, 5, 5, 5, 7, 5,
10585         -3, 6, 3, 6,
10586         -1, 7, 1, 7,
10587         127
10588 	},
10589 #ifdef LIFE_NAMES
10590 	{"ship reverser (p9)"},
10591 #endif
10592 	{
10593         -1, -4, 0, -4,
10594         -3, -3, -1, -3,
10595         -1, -2, 0, -2,
10596         -3, -1, -1, -1, 0, -1,
10597         -3, 0, -1, 0, 0, 0,
10598         -1, 1, 0, 1,
10599         -3, 2, -1, 2,
10600         -1, 3, 0, 3,
10601         127
10602 	},
10603 };
10604 
10605 static char patterns_12B46S356[][2 * NUMPTS + 1] =
10606 {
10607 #ifdef LIFE_NAMES
10608 	{"glider in tow (c/2 p2)"},
10609 #endif
10610 	{
10611         -4, -1, -2, -1, 4, -1, 5, -1,
10612         -6, 0, -2, 0, -1, 0, 1, 0, 2, 0, 5, 0, 6, 0,
10613         -6, 1, -2, 1, -1, 1, 1, 1, 2, 1, 5, 1, 6, 1,
10614         -4, 2, -2, 2, 4, 2, 5, 2,
10615         127
10616 	},
10617 #ifdef LIFE_NAMES
10618 	{"swallow tail (c/2 p2)"},
10619 #endif
10620 	{
10621         -7, -2, -6, -2, -5, -2, -3, -2, -1, -2, 5, -2, 6, -2,
10622         -1, -1, 0, -1, 2, -1, 3, -1, 6, -1, 7, -1,
10623         -1, 0, 0, 0, 2, 0, 3, 0, 6, 0, 7, 0,
10624         -7, 1, -6, 1, -5, 1, -3, 1, -1, 1, 5, 1, 6, 1,
10625         127
10626 	},
10627 #ifdef LIFE_NAMES
10628 	{"ship (c/3 p3)"},
10629 #endif
10630 	{
10631         2, 0, 6, 0,
10632         0, 1, 3, 1, 5, 1, 8, 1, 9, 1,
10633         0, 2, 3, 2, 5, 2, 8, 2, 9, 2,
10634         2, 3, 6, 3,
10635         127
10636 	},
10637 #ifdef LIFE_NAMES
10638 	{"toggle"},
10639 #endif
10640 	{
10641         -1, -2, 0, -2, 1, -2,
10642         -1, -1,
10643         -1, 0,
10644         -1, 1, 0, 1, 1, 1,
10645         127
10646 	},
10647 #ifdef LIFE_NAMES
10648 	{"batman"},
10649 #endif
10650 	{
10651         0, -2,
10652         -3, -1, -1, -1, 1, -1, 3, -1,
10653         -2, 0, -1, 0, 1, 0, 2, 0,
10654         -1, 1, 1, 1,
10655         127
10656 	},
10657 #ifdef LIFE_NAMES
10658 	{"greater and less (p3)"},
10659 #endif
10660 	{
10661         -2, 0, -1, 0, 1, 0, 2, 0,
10662         -2, 1, -1, 1, 1, 1, 2, 1,
10663         127
10664 	},
10665 #ifdef LIFE_NAMES
10666 	{"123 (p3)"},
10667 #endif
10668 	{
10669         -4, -1, -3, -1, 0, -1, 3, -1, 4, -1,
10670         -4, 0, -3, 0, 0, 0, 3, 0, 4, 0,
10671         127
10672 	},
10673 #ifdef LIFE_NAMES
10674 	{"teamwork (p3)"},
10675 #endif
10676 	{
10677         -3, -4, -2, -4, -1, -4,
10678         -3, -3,
10679         -1, -2, 0, -2,
10680         2, -1,
10681         2, 0,
10682         -1, 1, 0, 1,
10683         -3, 2,
10684         -3, 3, -2, 3, -1, 3,
10685         127
10686 	},
10687 #ifdef LIFE_NAMES
10688 	{"doily (p3)"},
10689 #endif
10690 	{
10691         -2, -3, 2, -3,
10692         -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4, -2,
10693         -6, 0, -5, 0, 5, 0, 6, 0,
10694         -6, 1, -5, 1, 5, 1, 6, 1,
10695         -4, 3, -3, 3, -2, 3, 2, 3, 3, 3, 4, 3,
10696         -2, 4, 2, 4,
10697         127
10698 	},
10699 #ifdef LIFE_NAMES
10700 	{"hexagon (p3)"},
10701 #endif
10702 	{
10703         -2, -3, 2, -3,
10704         -4, -2, 4, -2,
10705         -2, -1, -1, -1, 1, -1, 2, -1,
10706         -6, 0, -3, 0, 3, 0, 6, 0,
10707         -6, 1, -3, 1, 3, 1, 6, 1,
10708         -2, 2, -1, 2, 1, 2, 2, 2,
10709         -4, 3, 4, 3,
10710         -2, 4, 2, 4,
10711         127
10712 	},
10713 #ifdef LIFE_NAMES
10714 	{"2 triangles (p4)"},
10715 #endif
10716 	{
10717         -2, -1,
10718         -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
10719         1, 1,
10720         127
10721 	},
10722 #ifdef LIFE_NAMES
10723 	{"bear trap (p6)"},
10724 #endif
10725 	{
10726         -1, -1, 0, -1, 1, -1,
10727         -1, 0, 0, 0, 1, 0,
10728         127
10729 	},
10730 #ifdef LIFE_NAMES
10731 	{"two sheets (p8)"},
10732 #endif
10733 	{
10734         -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
10735         -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
10736         127
10737 	},
10738 };
10739 /* Above generated from java Life2DForms | dos2unix */
10740 /* https://www.sillycycle.com/life.html */
10741 
10742 #ifdef LIFE_NAMES
10743 #define PAT_SPACE 2
10744 #else
10745 #define PAT_SPACE 1
10746 #endif
10747 
10748 static int patterns_5rules[] =
10749 {
10750 	(sizeof patterns_5B2S24 / sizeof patterns_5B2S24[0]) / PAT_SPACE,
10751 	/* no glider */
10752 	(sizeof patterns_5B24S2 / sizeof patterns_5B24S2[0]) / PAT_SPACE,
10753 };
10754 
10755 static int patterns_6rules[] =
10756 {
10757 	(sizeof patterns_6B2S35 / sizeof patterns_6B2S35[0]) / PAT_SPACE,
10758 	(sizeof patterns_6B2oS2m34 / sizeof patterns_6B2oS2m34[0]) / PAT_SPACE,
10759 	(sizeof patterns_6B2o3o4mS2om4o / sizeof patterns_6B2o3o4mS2om4o[0]) /PAT_SPACE,
10760 	/* non qualify */
10761 	(sizeof patterns_6B245S3 / sizeof patterns_6B245S3[0]) / PAT_SPACE,
10762 	/* no glider */
10763 	(sizeof patterns_6B2S34 / sizeof patterns_6B2S34[0]) / PAT_SPACE,
10764 };
10765 
10766 static int patterns_7rules[] =
10767 {
10768 	(sizeof patterns_7B346S23 / sizeof patterns_7B346S23[0]) / PAT_SPACE,
10769 };
10770 
10771 #define common_8size ((sizeof patterns_8B3_6S23 / sizeof patterns_8B3_6S23[0]) / PAT_SPACE)
10772 
10773 static int patterns_8rules[] =
10774 {
10775 	(sizeof patterns_8B3S2ckan3 / sizeof patterns_8B3S2ckan3[0]) / PAT_SPACE,
10776 	(common_8size + (sizeof patterns_8B3S23 / sizeof patterns_8B3S23[0]) / PAT_SPACE),
10777 	(common_8size + (sizeof patterns_8B36S23 / sizeof patterns_8B36S23[0]) / PAT_SPACE),
10778 	(sizeof patterns_8B3S245 / sizeof patterns_8B3S245[0]) / PAT_SPACE,
10779 	(sizeof patterns_8B36S245 / sizeof patterns_8B36S245[0]) / PAT_SPACE,
10780 	(sizeof patterns_8B3678S34678 / sizeof patterns_8B3678S34678[0]) / PAT_SPACE,
10781 };
10782 
10783 static int patterns_9rules[] =
10784 {
10785 	(sizeof patterns_9B34S3 / sizeof patterns_9B34S3[0]) / PAT_SPACE,
10786 	/* non qualify */
10787 	(sizeof patterns_9B3S34 / sizeof patterns_9B3S34[0]) / PAT_SPACE,
10788 };
10789 
10790 static int patterns_12rules[] =
10791 {
10792 	(sizeof patterns_12B3S2 / sizeof patterns_12B3S2[0]) / PAT_SPACE,
10793 	(sizeof patterns_12B3S27 / sizeof patterns_12B3S27[0]) / PAT_SPACE,
10794 	(sizeof patterns_12B3S278 / sizeof patterns_12B3S278[0]) / PAT_SPACE,
10795 	(sizeof patterns_12B4S35 / sizeof patterns_12B4S35[0]) / PAT_SPACE,
10796 	(sizeof patterns_12B4S356 / sizeof patterns_12B4S356[0]) / PAT_SPACE,
10797 	(sizeof patterns_12B4S456 / sizeof patterns_12B4S456[0]) / PAT_SPACE,
10798 	(sizeof patterns_12B45S23 / sizeof patterns_12B45S23[0]) / PAT_SPACE,
10799 	(sizeof patterns_12B45S34 / sizeof patterns_12B45S34[0]) / PAT_SPACE,
10800 	(sizeof patterns_12B456S12 / sizeof patterns_12B456S12[0]) / PAT_SPACE,
10801 	(sizeof patterns_12B456S23 / sizeof patterns_12B456S23[0]) / PAT_SPACE,
10802 	(sizeof patterns_12B456S34 / sizeof patterns_12B456S34[0]) / PAT_SPACE,
10803 	(sizeof patterns_12B456S45 / sizeof patterns_12B456S45[0]) / PAT_SPACE,
10804 	(sizeof patterns_12B46S24 / sizeof patterns_12B46S24[0]) / PAT_SPACE,
10805 	(sizeof patterns_12B46S246 / sizeof patterns_12B46S246[0]) / PAT_SPACE,
10806 	(sizeof patterns_12B46S35 / sizeof patterns_12B46S35[0]) / PAT_SPACE,
10807 	(sizeof patterns_12B46S356 / sizeof patterns_12B46S356[0]) / PAT_SPACE,
10808 	/* no glider */
10809 	(sizeof patterns_12B3S23 / sizeof patterns_12B3S23[0]) / PAT_SPACE,
10810 	(sizeof patterns_12B4S345 / sizeof patterns_12B4S345[0]) / PAT_SPACE,
10811 };
10812 
10813 /*static paramstruct param_3rules[] =
10814 {
10815 };
10816 
10817 static paramstruct param_4rules[] =
10818 {
10819 };*/
10820 
10821 static paramstruct param_5rules[] =
10822 {
10823 	{ /* LIFE_5B2S24 */
10824 		0x4, 0x14,
10825 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10826 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10827 	},
10828 	/* no glider */
10829 	{ /* LIFE_5B24S2 */
10830 		0x14, 0x4,
10831 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10832 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10833 	},
10834 };
10835 
10836 static paramstruct param_6rules[] =
10837 {
10838 	{ /* LIFE_6B2S35 */
10839 		0x4, 0x28,
10840 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10841 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10842 	},
10843 	{ /* LIFE_6B2oS2m34 */
10844 		0x0, 0x18,
10845 		{0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0},
10846 		{0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0}
10847 	},
10848 	{ /* LIFE_6B2o3o4mS2om4o */
10849 		0x0, 0x0,
10850 		{0x0, 0x1, 0x1, 0x2, 0x0, 0x0, 0x0},
10851 		{0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0}
10852 	},
10853 	/* non qualify */
10854 	{ /* LIFE_6B245S3 */
10855 		0x34, 0x8,
10856 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10857 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10858 	},
10859 	/* no glider */
10860 	{ /* LIFE_6B2S34 */
10861 		0x4, 0x18,
10862 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10863 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10864 	},
10865 };
10866 
10867 static paramstruct param_7rules[] =
10868 {
10869 	{ /* LIFE_7B346S23 */
10870 		0x58, 0xC,
10871 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10872 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10873 	},
10874 };
10875 
10876 static paramstruct param_8rules[] =
10877 {
10878 	{ /* LIFE_8B3S2ckan3 */
10879 		0x8, 0x8,
10880 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10881 		{0x0, 0x2D, 0x0, 0x0, 0x0, 0x0, 0x0}
10882 	},
10883 	{ /* LIFE_8B3S23 */
10884 		0x8, 0xC,
10885 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10886 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10887 	},
10888 	{ /* LIFE_8B36S23 */
10889 		0x48, 0xC,
10890 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10891 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10892 	},
10893 	{ /* LIFE_8B3S245 */
10894 		0x8, 0x34,
10895 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10896 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10897 	},
10898 	{ /* LIFE_8B36S245 */
10899 		0x48, 0x34,
10900 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10901 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10902 	},
10903 	{ /* LIFE_8B3678S34678 */
10904 		0x1C8, 0x1D8,
10905 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10906 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10907 	},
10908 };
10909 
10910 static paramstruct param_9rules[] =
10911 {
10912 	{ /* LIFE_9B34S3 */
10913 		0x18, 0x8,
10914 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10915 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10916 	},
10917 	/* non qualify */
10918 	{ /* LIFE_9B3S34 */
10919 		0x8, 0x18,
10920 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10921 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10922 	},
10923 };
10924 
10925 static paramstruct param_12rules[] =
10926 {
10927 	{ /* LIFE_12B3S2 */
10928 		0x8, 0x4,
10929 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10930 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10931 	},
10932 	{ /* LIFE_12B3S27 */
10933 		0x8, 0x84,
10934 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10935 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10936 	},
10937 	{ /* LIFE_12B3S278 */
10938 		0x8, 0x184,
10939 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10940 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10941 	},
10942 	{ /* LIFE_12B4S35 */
10943 		0x10, 0x28,
10944 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10945 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10946 	},
10947 	{ /* LIFE_12B4S356 */
10948 		0x10, 0x68,
10949 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10950 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10951 	},
10952 	{ /* LIFE_12B4S456 */
10953 		0x10, 0x70,
10954 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10955 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10956 	},
10957 	{ /* LIFE_12B45S23 */
10958 		0x30, 0xC,
10959 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10960 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10961 	},
10962 	{ /* LIFE_12B45S34 */
10963 		0x30, 0x18,
10964 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10965 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10966 	},
10967 	{ /* LIFE_12B456S12 */
10968 		0x70, 0x6,
10969 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10970 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10971 	},
10972 	{ /* LIFE_12B456S23 */
10973 		0x70, 0xC,
10974 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10975 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10976 	},
10977 	{ /* LIFE_12B456S34 */
10978 		0x70, 0x18,
10979 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10980 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10981 	},
10982 	{ /* LIFE_12B456S45 */
10983 		0x70, 0x30,
10984 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10985 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10986 	},
10987 	{ /* LIFE_12B46S24 */
10988 		0x50, 0x14,
10989 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10990 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10991 	},
10992 	{ /* LIFE_12B46S246 */
10993 		0x50, 0x54,
10994 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
10995 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
10996 	},
10997 	{ /* LIFE_12B46S35 */
10998 		0x50, 0x28,
10999 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
11000 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
11001 	},
11002 	{ /* LIFE_12B46S356 */
11003 		0x50, 0x68,
11004 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
11005 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
11006 	},
11007 	/* no glider */
11008 	{ /* LIFE_12B3S23 */
11009 		0x8, 0xC,
11010 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
11011 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
11012 	},
11013 	{ /* LIFE_12B4S345 */
11014 		0x10, 0x38,
11015 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
11016 		{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
11017 	},
11018 };
11019 
11020 #define LIFE_5B2S24 0 /* BAGLEY */
11021 #define LIFE_5GLIDERS 1
11022 #define LIFE_5RULES (sizeof param_5rules / sizeof param_5rules[0])
11023 #define LIFE_5B24S2 1
11024 #define LIFE_6B2S35 0 /* BAYS */
11025 #define LIFE_6B2oS2m34 1 /* CALLAHAN */
11026 #define LIFE_6B2o3o4mS2om4o 2 /* ANDREEN */
11027 #define LIFE_6B245S3 3 /* BAYSNONQUALIFY glider but not GL */
11028 #define LIFE_6GLIDERS 4	/* GLIDER first in param_6rules */
11029 #define LIFE_6B2S34 4 /* WIKIPEDIA */
11030 #define LIFE_6RULES (sizeof param_6rules / sizeof param_6rules[0])
11031 #define LIFE_7B346S23 0 /* BAYS */
11032 #define LIFE_7GLIDERS 1
11033 #define LIFE_7RULES (sizeof param_7rules / sizeof param_7rules[0])
11034 #define LIFE_8B3S2ckan3 0 /* Rule 3/2ab3, MAYDWELL */
11035 #define LIFE_8B3S23 1 /* LIFE, CONWAY */
11036 #define LIFE_8B36S23 2 /* HIGHLIFE, BELL */
11037 #define LIFE_8B3S245 3 /* BAYS */
11038 #define LIFE_8B36S245 4 /* WIKIPEDIA */
11039 #define LIFE_8B3678S34678 5 /* DAY_NIGHT, THOMPSON */
11040 #define LIFE_8GLIDERS 6	/* GLIDER rules are first in param_8rules */
11041 #define LIFE_8RULES (sizeof param_8rules / sizeof param_8rules[0])
11042 #define LIFE_9B34S3 0 /* BAGLEY */
11043 #define LIFE_9GLIDERS 1
11044 #define LIFE_9B3S34 1 /* replicator but too prolific */
11045 #define LIFE_9RULES (sizeof param_9rules / sizeof param_9rules[0])
11046 #define LIFE_12B3S2 0 /* sparse */
11047 #define LIFE_12B3S27 1
11048 #define LIFE_12B3S278 2
11049 #define LIFE_12B4S35 3
11050 #define LIFE_12B4S356 4
11051 #define LIFE_12B4S456 5
11052 #define LIFE_12B45S23 6
11053 #define LIFE_12B45S34 7 /* trilife */
11054 #define LIFE_12B456S12 8
11055 #define LIFE_12B456S23 9 /* trilife2 */
11056 #define LIFE_12B456S34 10
11057 #define LIFE_12B456S45 11 /* trilife1 */
11058 #define LIFE_12B46S24 12
11059 #define LIFE_12B46S246 13
11060 #define LIFE_12B46S35 14
11061 #define LIFE_12B46S356 15
11062 #define LIFE_12GLIDERS 16 /* GLIDER rules are first in param_12rules */
11063 #define LIFE_12B3S23 16
11064 #define LIFE_12B4S345 17
11065 #define LIFE_12RULES (sizeof param_12rules / sizeof param_12rules[0])
11066