+ translate(token_pitch * [ -2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 2.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 2.0 ]) Token_L();
+ };
+}
+module Base_White(){ ////toplevel
+// Base White total=35 rowsz=6 nrows=6
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -2.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ 0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 3;
+ translate(token_pitch * [ 2.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 1.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 6 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_WhiteSpare(){ ////toplevel
+// Base WhiteSpare total= 3 rowsz=2 nrows=2
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 3;
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 2 + 1.00, 2 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module Base_Yellow(){ ////toplevel
+// Base Yellow total=29 rowsz=6 nrows=5
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -2.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 1.0 ]) Token_L();
+ };
+}
+// Base total_count=246 total_real_count=219
+// Base max_rowsz=7 max_nrows=6
+module All_Black(){ ////toplevel
+// All Black total=26 rowsz=6 nrows=5
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -2.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -2.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 2;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 6 + 1.00, 5 + 0.50 ]);
+ $nspots = 4;
+ };
+}
+module All_Blue(){ ////toplevel
+// All Blue total=52 rowsz=8 nrows=7
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -3.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ -3.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -3.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -3.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -3.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -3.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -3.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -2.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -1.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -3.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ -0.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 0.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, -2.0 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 7 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 1.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 1.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, -1.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 0.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 1.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 2.0 ]) Token_L();
+ translate(token_pitch * [ 2.5, 3.0 ]) Token_L();
+ translate(token_pitch * [ 3.5, -3.0 ]) Token_L();
+ translate(token_pitch * [ 3.5, -2.0 ]) Token_L();
+ translate(token_pitch * [ 3.5, -1.0 ]) Token_L();
+ };
+}
+module All_Green(){ ////toplevel
+// All Green total=58 rowsz=8 nrows=8
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+ $nspots = 0;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+ $nspots = 1;
+ translate(token_pitch * [ -3.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -3.5, 3.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -2.5, 3.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -1.5, 3.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -3.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+ $nspots = 2;
+ translate(token_pitch * [ -0.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ -0.5, 3.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 0.5, 3.5 ]) Token_L();
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+ $nspots = 3;
+ };
+ union(){
+ Frame($phase, token_pitch * [ 8 + 1.00, 8 + 0.50 ]);
+ $nspots = 4;
+ translate(token_pitch * [ 1.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 1.5, 3.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -2.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -1.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, -0.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 0.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 1.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 2.5 ]) Token_L();
+ translate(token_pitch * [ 2.5, 3.5 ]) Token_L();
+ translate(token_pitch * [ 3.5, -3.5 ]) Token_L();
+ translate(token_pitch * [ 3.5, -2.5 ]) Token_L();
+ };
+}
+module All_Loco(){ ////toplevel
+// All Loco total=25 rowsz=5 nrows=5
+ union(){
+ Frame($phase, token_pitch * [ 5 + 1.00, 5 + 0.50 ]);
+ $nspots = 0;
+ translate(token_pitch * [ -2.0, -2.0 ]) Token_L();
+ translate(token_pitch * [ -2.0, -1.0 ]) Token_L();