1 package org.jmol.util; 2 3 import javajs.util.P3i; 4 5 /** 6 * An adaptation of Marching Cubes that allows for indicating edges on triangles. 7 * 8 * the triangle data for MarchingCube and Triangulator 9 * 10 * Used for Marching Cubes as well as calculating the intersection of unit cells 11 * and bounding boxes with planes. 12 * 13 */ 14 15 public class TriangleData { 16 17 18 // Note that this is NOT the same as for BoxInfo 19 // 20 // Y 21 // 4 --------4--------- 5 +z --------4--------- +yz+z 22 // /| /| /| /| 23 // / | / | / | / | 24 // / | / | / | / | 25 // 7 8 5 | 7 8 5 | 26 // / | / 9 / | / 9 27 // / | / | / | / | 28 // 7 --------6--------- 6 | +z+1 --------6--------- +yz+z+1| 29 // | | | | | | | | 30 // | 0 ---------0--|----- 1 X | 0 ---------0--|----- +yz X(outer) 31 // | / | / | / | / 32 // 11 / 10 / 11 / 10 / 33 // | 3 | 1 | 3 | 1 34 // | / | / | / | / 35 // | / | / | / | / 36 // 3 ---------2-------- 2 +1 ---------2-------- +yz+1 37 // Z Z (inner) 38 // 39 // streaming data offsets 40 // 41 // 42 protected static final int[] Pwr2 = new int[] { 1, 2, 4, 8, 16, 32, 64, 128, 43 256, 512, 1024, 2048 }; 44 45 46 protected final static P3i[] cubeVertexOffsets = { 47 P3i.new3(0, 0, 0), //0 pt 48 P3i.new3(1, 0, 0), //1 pt + yz 49 P3i.new3(1, 0, 1), //2 pt + yz + 1 50 P3i.new3(0, 0, 1), //3 pt + 1 51 P3i.new3(0, 1, 0), //4 pt + z 52 P3i.new3(1, 1, 0), //5 pt + yz + z 53 P3i.new3(1, 1, 1), //6 pt + yz + z + 1 54 P3i.new3(0, 1, 1) //7 pt + z + 1 55 }; 56 57 protected final static byte edgeVertexes[] = { 58 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 59 //0 1 2 3 4 60 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 }; 61 //5 6 7 8 9 10 11 62 63 64 65 /** 66 * 67 * The new triangle table developed specifically for Jmol. 68 * The fourth number in each ABC set is three bits, b3b2b1, where 69 * b1 = 1 for AB, b2 = 1 for BC, b3 = 1 for CA, and 70 * mark lines to be drawn for mesh 71 * 72 * So, for example: 73 * 74 * 1, 8, 3, 6 75 * 76 * 6 is 110 in binary, so b3 = 1, b2 = 1, b1 = 0; 77 * b1 refers to the 18 edge, b2 refers to the 83 edge, 78 * and b3 refers to the 31 edge. The 31 and 83, but not 18 edges 79 * should be drawn for a mesh. On the cube above, you can see 80 * that the 18 edges is in the interior of the cube. That's why we 81 * don't render it with a mesh. 82 * 83 * 84 * Bob Hanson, 3/29/2007 85 * 86 */ 87 88 protected final static byte[][] triangleTable2 = { null, { 0, 8, 3, 7 }, 89 { 0, 1, 9, 7 }, { 1, 8, 3, 6, 9, 8, 1, 5 }, { 1, 2, 10, 7 }, 90 { 0, 8, 3, 7, 1, 2, 10, 7 }, { 9, 2, 10, 6, 0, 2, 9, 5 }, 91 { 2, 8, 3, 6, 2, 10, 8, 1, 10, 9, 8, 3 }, { 3, 11, 2, 7 }, 92 { 0, 11, 2, 6, 8, 11, 0, 5 }, { 1, 9, 0, 7, 2, 3, 11, 7 }, 93 { 1, 11, 2, 6, 1, 9, 11, 1, 9, 8, 11, 3 }, { 3, 10, 1, 6, 11, 10, 3, 5 }, 94 { 0, 10, 1, 6, 0, 8, 10, 1, 8, 11, 10, 3 }, 95 { 3, 9, 0, 6, 3, 11, 9, 1, 11, 10, 9, 3 }, { 9, 8, 10, 5, 10, 8, 11, 6 }, 96 { 4, 7, 8, 7 }, { 4, 3, 0, 6, 7, 3, 4, 5 }, { 0, 1, 9, 7, 8, 4, 7, 7 }, 97 { 4, 1, 9, 6, 4, 7, 1, 1, 7, 3, 1, 3 }, { 1, 2, 10, 7, 8, 4, 7, 7 }, 98 { 3, 4, 7, 6, 3, 0, 4, 3, 1, 2, 10, 7 }, 99 { 9, 2, 10, 6, 9, 0, 2, 3, 8, 4, 7, 7 }, 100 { 2, 10, 9, 3, 2, 9, 7, 0, 2, 7, 3, 6, 7, 9, 4, 6 }, 101 { 8, 4, 7, 7, 3, 11, 2, 7 }, { 11, 4, 7, 6, 11, 2, 4, 1, 2, 0, 4, 3 }, 102 { 9, 0, 1, 7, 8, 4, 7, 7, 2, 3, 11, 7 }, 103 { 4, 7, 11, 3, 9, 4, 11, 1, 9, 11, 2, 2, 9, 2, 1, 6 }, 104 { 3, 10, 1, 6, 3, 11, 10, 3, 7, 8, 4, 7 }, 105 { 1, 11, 10, 6, 1, 4, 11, 0, 1, 0, 4, 3, 7, 11, 4, 5 }, 106 { 4, 7, 8, 7, 9, 0, 11, 1, 9, 11, 10, 6, 11, 0, 3, 6 }, 107 { 4, 7, 11, 3, 4, 11, 9, 4, 9, 11, 10, 6 }, { 9, 5, 4, 7 }, 108 { 9, 5, 4, 7, 0, 8, 3, 7 }, { 0, 5, 4, 6, 1, 5, 0, 5 }, 109 { 8, 5, 4, 6, 8, 3, 5, 1, 3, 1, 5, 3 }, { 1, 2, 10, 7, 9, 5, 4, 7 }, 110 { 3, 0, 8, 7, 1, 2, 10, 7, 4, 9, 5, 7 }, 111 { 5, 2, 10, 6, 5, 4, 2, 1, 4, 0, 2, 3 }, 112 { 2, 10, 5, 3, 3, 2, 5, 1, 3, 5, 4, 2, 3, 4, 8, 6 }, 113 { 9, 5, 4, 7, 2, 3, 11, 7 }, { 0, 11, 2, 6, 0, 8, 11, 3, 4, 9, 5, 7 }, 114 { 0, 5, 4, 6, 0, 1, 5, 3, 2, 3, 11, 7 }, 115 { 2, 1, 5, 3, 2, 5, 8, 0, 2, 8, 11, 6, 4, 8, 5, 5 }, 116 { 10, 3, 11, 6, 10, 1, 3, 3, 9, 5, 4, 7 }, 117 { 4, 9, 5, 7, 0, 8, 1, 5, 8, 10, 1, 2, 8, 11, 10, 3 }, 118 { 5, 4, 0, 3, 5, 0, 11, 0, 5, 11, 10, 6, 11, 0, 3, 6 }, 119 { 5, 4, 8, 3, 5, 8, 10, 4, 10, 8, 11, 6 }, { 9, 7, 8, 6, 5, 7, 9, 5 }, 120 { 9, 3, 0, 6, 9, 5, 3, 1, 5, 7, 3, 3 }, 121 { 0, 7, 8, 6, 0, 1, 7, 1, 1, 5, 7, 3 }, { 1, 5, 3, 5, 3, 5, 7, 6 }, 122 { 9, 7, 8, 6, 9, 5, 7, 3, 10, 1, 2, 7 }, 123 { 10, 1, 2, 7, 9, 5, 0, 5, 5, 3, 0, 2, 5, 7, 3, 3 }, 124 { 8, 0, 2, 3, 8, 2, 5, 0, 8, 5, 7, 6, 10, 5, 2, 5 }, 125 { 2, 10, 5, 3, 2, 5, 3, 4, 3, 5, 7, 6 }, 126 { 7, 9, 5, 6, 7, 8, 9, 3, 3, 11, 2, 7 }, 127 { 9, 5, 7, 3, 9, 7, 2, 0, 9, 2, 0, 6, 2, 7, 11, 6 }, 128 { 2, 3, 11, 7, 0, 1, 8, 5, 1, 7, 8, 2, 1, 5, 7, 3 }, 129 { 11, 2, 1, 3, 11, 1, 7, 4, 7, 1, 5, 6 }, 130 { 9, 5, 8, 5, 8, 5, 7, 6, 10, 1, 3, 3, 10, 3, 11, 6 }, 131 { 5, 7, 0, 1, 5, 0, 9, 6, 7, 11, 0, 1, 1, 0, 10, 5, 11, 10, 0, 1 }, 132 { 11, 10, 0, 1, 11, 0, 3, 6, 10, 5, 0, 1, 8, 0, 7, 5, 5, 7, 0, 1 }, 133 { 11, 10, 5, 3, 7, 11, 5, 5 }, { 10, 6, 5, 7 }, 134 { 0, 8, 3, 7, 5, 10, 6, 7 }, { 9, 0, 1, 7, 5, 10, 6, 7 }, 135 { 1, 8, 3, 6, 1, 9, 8, 3, 5, 10, 6, 7 }, { 1, 6, 5, 6, 2, 6, 1, 5 }, 136 { 1, 6, 5, 6, 1, 2, 6, 3, 3, 0, 8, 7 }, 137 { 9, 6, 5, 6, 9, 0, 6, 1, 0, 2, 6, 3 }, 138 { 5, 9, 8, 3, 5, 8, 2, 0, 5, 2, 6, 6, 3, 2, 8, 5 }, 139 { 2, 3, 11, 7, 10, 6, 5, 7 }, { 11, 0, 8, 6, 11, 2, 0, 3, 10, 6, 5, 7 }, 140 { 0, 1, 9, 7, 2, 3, 11, 7, 5, 10, 6, 7 }, 141 { 5, 10, 6, 7, 1, 9, 2, 5, 9, 11, 2, 2, 9, 8, 11, 3 }, 142 { 6, 3, 11, 6, 6, 5, 3, 1, 5, 1, 3, 3 }, 143 { 0, 8, 11, 3, 0, 11, 5, 0, 0, 5, 1, 6, 5, 11, 6, 6 }, 144 { 3, 11, 6, 3, 0, 3, 6, 1, 0, 6, 5, 2, 0, 5, 9, 6 }, 145 { 6, 5, 9, 3, 6, 9, 11, 4, 11, 9, 8, 6 }, { 5, 10, 6, 7, 4, 7, 8, 7 }, 146 { 4, 3, 0, 6, 4, 7, 3, 3, 6, 5, 10, 7 }, 147 { 1, 9, 0, 7, 5, 10, 6, 7, 8, 4, 7, 7 }, 148 { 10, 6, 5, 7, 1, 9, 7, 1, 1, 7, 3, 6, 7, 9, 4, 6 }, 149 { 6, 1, 2, 6, 6, 5, 1, 3, 4, 7, 8, 7 }, 150 { 1, 2, 5, 5, 5, 2, 6, 6, 3, 0, 4, 3, 3, 4, 7, 6 }, 151 { 8, 4, 7, 7, 9, 0, 5, 5, 0, 6, 5, 2, 0, 2, 6, 3 }, 152 { 7, 3, 9, 1, 7, 9, 4, 6, 3, 2, 9, 1, 5, 9, 6, 5, 2, 6, 9, 1 }, 153 { 3, 11, 2, 7, 7, 8, 4, 7, 10, 6, 5, 7 }, 154 { 5, 10, 6, 7, 4, 7, 2, 1, 4, 2, 0, 6, 2, 7, 11, 6 }, 155 { 0, 1, 9, 7, 4, 7, 8, 7, 2, 3, 11, 7, 5, 10, 6, 7 }, 156 { 9, 2, 1, 6, 9, 11, 2, 2, 9, 4, 11, 1, 7, 11, 4, 5, 5, 10, 6, 7 }, 157 { 8, 4, 7, 7, 3, 11, 5, 1, 3, 5, 1, 6, 5, 11, 6, 6 }, 158 { 5, 1, 11, 1, 5, 11, 6, 6, 1, 0, 11, 1, 7, 11, 4, 5, 0, 4, 11, 1 }, 159 { 0, 5, 9, 6, 0, 6, 5, 2, 0, 3, 6, 1, 11, 6, 3, 5, 8, 4, 7, 7 }, 160 { 6, 5, 9, 3, 6, 9, 11, 4, 4, 7, 9, 5, 7, 11, 9, 1 }, 161 { 10, 4, 9, 6, 6, 4, 10, 5 }, { 4, 10, 6, 6, 4, 9, 10, 3, 0, 8, 3, 7 }, 162 { 10, 0, 1, 6, 10, 6, 0, 1, 6, 4, 0, 3 }, 163 { 8, 3, 1, 3, 8, 1, 6, 0, 8, 6, 4, 6, 6, 1, 10, 6 }, 164 { 1, 4, 9, 6, 1, 2, 4, 1, 2, 6, 4, 3 }, 165 { 3, 0, 8, 7, 1, 2, 9, 5, 2, 4, 9, 2, 2, 6, 4, 3 }, 166 { 0, 2, 4, 5, 4, 2, 6, 6 }, { 8, 3, 2, 3, 8, 2, 4, 4, 4, 2, 6, 6 }, 167 { 10, 4, 9, 6, 10, 6, 4, 3, 11, 2, 3, 7 }, 168 { 0, 8, 2, 5, 2, 8, 11, 6, 4, 9, 10, 3, 4, 10, 6, 6 }, 169 { 3, 11, 2, 7, 0, 1, 6, 1, 0, 6, 4, 6, 6, 1, 10, 6 }, 170 { 6, 4, 1, 1, 6, 1, 10, 6, 4, 8, 1, 1, 2, 1, 11, 5, 8, 11, 1, 1 }, 171 { 9, 6, 4, 6, 9, 3, 6, 0, 9, 1, 3, 3, 11, 6, 3, 5 }, 172 { 8, 11, 1, 1, 8, 1, 0, 6, 11, 6, 1, 1, 9, 1, 4, 5, 6, 4, 1, 1 }, 173 { 3, 11, 6, 3, 3, 6, 0, 4, 0, 6, 4, 6 }, { 6, 4, 8, 3, 11, 6, 8, 5 }, 174 { 7, 10, 6, 6, 7, 8, 10, 1, 8, 9, 10, 3 }, 175 { 0, 7, 3, 6, 0, 10, 7, 0, 0, 9, 10, 3, 6, 7, 10, 5 }, 176 { 10, 6, 7, 3, 1, 10, 7, 1, 1, 7, 8, 2, 1, 8, 0, 6 }, 177 { 10, 6, 7, 3, 10, 7, 1, 4, 1, 7, 3, 6 }, 178 { 1, 2, 6, 3, 1, 6, 8, 0, 1, 8, 9, 6, 8, 6, 7, 6 }, 179 { 2, 6, 9, 1, 2, 9, 1, 6, 6, 7, 9, 1, 0, 9, 3, 5, 7, 3, 9, 1 }, 180 { 7, 8, 0, 3, 7, 0, 6, 4, 6, 0, 2, 6 }, { 7, 3, 2, 3, 6, 7, 2, 5 }, 181 { 2, 3, 11, 7, 10, 6, 8, 1, 10, 8, 9, 6, 8, 6, 7, 6 }, 182 { 2, 0, 7, 1, 2, 7, 11, 6, 0, 9, 7, 1, 6, 7, 10, 5, 9, 10, 7, 1 }, 183 { 1, 8, 0, 6, 1, 7, 8, 2, 1, 10, 7, 1, 6, 7, 10, 5, 2, 3, 11, 7 }, 184 { 11, 2, 1, 3, 11, 1, 7, 4, 10, 6, 1, 5, 6, 7, 1, 1 }, 185 { 8, 9, 6, 1, 8, 6, 7, 6, 9, 1, 6, 1, 11, 6, 3, 5, 1, 3, 6, 1 }, 186 { 0, 9, 1, 7, 11, 6, 7, 7 }, 187 { 7, 8, 0, 3, 7, 0, 6, 4, 3, 11, 0, 5, 11, 6, 0, 1 }, { 7, 11, 6, 7 }, 188 { 7, 6, 11, 7 }, { 3, 0, 8, 7, 11, 7, 6, 7 }, 189 { 0, 1, 9, 7, 11, 7, 6, 7 }, { 8, 1, 9, 6, 8, 3, 1, 3, 11, 7, 6, 7 }, 190 { 10, 1, 2, 7, 6, 11, 7, 7 }, { 1, 2, 10, 7, 3, 0, 8, 7, 6, 11, 7, 7 }, 191 { 2, 9, 0, 6, 2, 10, 9, 3, 6, 11, 7, 7 }, 192 { 6, 11, 7, 7, 2, 10, 3, 5, 10, 8, 3, 2, 10, 9, 8, 3 }, 193 { 7, 2, 3, 6, 6, 2, 7, 5 }, { 7, 0, 8, 6, 7, 6, 0, 1, 6, 2, 0, 3 }, 194 { 2, 7, 6, 6, 2, 3, 7, 3, 0, 1, 9, 7 }, 195 { 1, 6, 2, 6, 1, 8, 6, 0, 1, 9, 8, 3, 8, 7, 6, 3 }, 196 { 10, 7, 6, 6, 10, 1, 7, 1, 1, 3, 7, 3 }, 197 { 10, 7, 6, 6, 1, 7, 10, 4, 1, 8, 7, 2, 1, 0, 8, 3 }, 198 { 0, 3, 7, 3, 0, 7, 10, 0, 0, 10, 9, 6, 6, 10, 7, 5 }, 199 { 7, 6, 10, 3, 7, 10, 8, 4, 8, 10, 9, 6 }, { 6, 8, 4, 6, 11, 8, 6, 5 }, 200 { 3, 6, 11, 6, 3, 0, 6, 1, 0, 4, 6, 3 }, 201 { 8, 6, 11, 6, 8, 4, 6, 3, 9, 0, 1, 7 }, 202 { 9, 4, 6, 3, 9, 6, 3, 0, 9, 3, 1, 6, 11, 3, 6, 5 }, 203 { 6, 8, 4, 6, 6, 11, 8, 3, 2, 10, 1, 7 }, 204 { 1, 2, 10, 7, 3, 0, 11, 5, 0, 6, 11, 2, 0, 4, 6, 3 }, 205 { 4, 11, 8, 6, 4, 6, 11, 3, 0, 2, 9, 5, 2, 10, 9, 3 }, 206 { 10, 9, 3, 1, 10, 3, 2, 6, 9, 4, 3, 1, 11, 3, 6, 5, 4, 6, 3, 1 }, 207 { 8, 2, 3, 6, 8, 4, 2, 1, 4, 6, 2, 3 }, { 0, 4, 2, 5, 4, 6, 2, 3 }, 208 { 1, 9, 0, 7, 2, 3, 4, 1, 2, 4, 6, 6, 4, 3, 8, 6 }, 209 { 1, 9, 4, 3, 1, 4, 2, 4, 2, 4, 6, 6 }, 210 { 8, 1, 3, 6, 8, 6, 1, 0, 8, 4, 6, 3, 6, 10, 1, 3 }, 211 { 10, 1, 0, 3, 10, 0, 6, 4, 6, 0, 4, 6 }, 212 { 4, 6, 3, 1, 4, 3, 8, 6, 6, 10, 3, 1, 0, 3, 9, 5, 10, 9, 3, 1 }, 213 { 10, 9, 4, 3, 6, 10, 4, 5 }, { 4, 9, 5, 7, 7, 6, 11, 7 }, 214 { 0, 8, 3, 7, 4, 9, 5, 7, 11, 7, 6, 7 }, 215 { 5, 0, 1, 6, 5, 4, 0, 3, 7, 6, 11, 7 }, 216 { 11, 7, 6, 7, 8, 3, 4, 5, 3, 5, 4, 2, 3, 1, 5, 3 }, 217 { 9, 5, 4, 7, 10, 1, 2, 7, 7, 6, 11, 7 }, 218 { 6, 11, 7, 7, 1, 2, 10, 7, 0, 8, 3, 7, 4, 9, 5, 7 }, 219 { 7, 6, 11, 7, 5, 4, 10, 5, 4, 2, 10, 2, 4, 0, 2, 3 }, 220 { 3, 4, 8, 6, 3, 5, 4, 2, 3, 2, 5, 1, 10, 5, 2, 5, 11, 7, 6, 7 }, 221 { 7, 2, 3, 6, 7, 6, 2, 3, 5, 4, 9, 7 }, 222 { 9, 5, 4, 7, 0, 8, 6, 1, 0, 6, 2, 6, 6, 8, 7, 6 }, 223 { 3, 6, 2, 6, 3, 7, 6, 3, 1, 5, 0, 5, 5, 4, 0, 3 }, 224 { 6, 2, 8, 1, 6, 8, 7, 6, 2, 1, 8, 1, 4, 8, 5, 5, 1, 5, 8, 1 }, 225 { 9, 5, 4, 7, 10, 1, 6, 5, 1, 7, 6, 2, 1, 3, 7, 3 }, 226 { 1, 6, 10, 6, 1, 7, 6, 2, 1, 0, 7, 1, 8, 7, 0, 5, 9, 5, 4, 7 }, 227 { 4, 0, 10, 1, 4, 10, 5, 6, 0, 3, 10, 1, 6, 10, 7, 5, 3, 7, 10, 1 }, 228 { 7, 6, 10, 3, 7, 10, 8, 4, 5, 4, 10, 5, 4, 8, 10, 1 }, 229 { 6, 9, 5, 6, 6, 11, 9, 1, 11, 8, 9, 3 }, 230 { 3, 6, 11, 6, 0, 6, 3, 4, 0, 5, 6, 2, 0, 9, 5, 3 }, 231 { 0, 11, 8, 6, 0, 5, 11, 0, 0, 1, 5, 3, 5, 6, 11, 3 }, 232 { 6, 11, 3, 3, 6, 3, 5, 4, 5, 3, 1, 6 }, 233 { 1, 2, 10, 7, 9, 5, 11, 1, 9, 11, 8, 6, 11, 5, 6, 6 }, 234 { 0, 11, 3, 6, 0, 6, 11, 2, 0, 9, 6, 1, 5, 6, 9, 5, 1, 2, 10, 7 }, 235 { 11, 8, 5, 1, 11, 5, 6, 6, 8, 0, 5, 1, 10, 5, 2, 5, 0, 2, 5, 1 }, 236 { 6, 11, 3, 3, 6, 3, 5, 4, 2, 10, 3, 5, 10, 5, 3, 1 }, 237 { 5, 8, 9, 6, 5, 2, 8, 0, 5, 6, 2, 3, 3, 8, 2, 5 }, 238 { 9, 5, 6, 3, 9, 6, 0, 4, 0, 6, 2, 6 }, 239 { 1, 5, 8, 1, 1, 8, 0, 6, 5, 6, 8, 1, 3, 8, 2, 5, 6, 2, 8, 1 }, 240 { 1, 5, 6, 3, 2, 1, 6, 5 }, 241 { 1, 3, 6, 1, 1, 6, 10, 6, 3, 8, 6, 1, 5, 6, 9, 5, 8, 9, 6, 1 }, 242 { 10, 1, 0, 3, 10, 0, 6, 4, 9, 5, 0, 5, 5, 6, 0, 1 }, 243 { 0, 3, 8, 7, 5, 6, 10, 7 }, { 10, 5, 6, 7 }, 244 { 11, 5, 10, 6, 7, 5, 11, 5 }, { 11, 5, 10, 6, 11, 7, 5, 3, 8, 3, 0, 7 }, 245 { 5, 11, 7, 6, 5, 10, 11, 3, 1, 9, 0, 7 }, 246 { 10, 7, 5, 6, 10, 11, 7, 3, 9, 8, 1, 5, 8, 3, 1, 3 }, 247 { 11, 1, 2, 6, 11, 7, 1, 1, 7, 5, 1, 3 }, 248 { 0, 8, 3, 7, 1, 2, 7, 1, 1, 7, 5, 6, 7, 2, 11, 6 }, 249 { 9, 7, 5, 6, 9, 2, 7, 0, 9, 0, 2, 3, 2, 11, 7, 3 }, 250 { 7, 5, 2, 1, 7, 2, 11, 6, 5, 9, 2, 1, 3, 2, 8, 5, 9, 8, 2, 1 }, 251 { 2, 5, 10, 6, 2, 3, 5, 1, 3, 7, 5, 3 }, 252 { 8, 2, 0, 6, 8, 5, 2, 0, 8, 7, 5, 3, 10, 2, 5, 5 }, 253 { 9, 0, 1, 7, 5, 10, 3, 1, 5, 3, 7, 6, 3, 10, 2, 6 }, 254 { 9, 8, 2, 1, 9, 2, 1, 6, 8, 7, 2, 1, 10, 2, 5, 5, 7, 5, 2, 1 }, 255 { 1, 3, 5, 5, 3, 7, 5, 3 }, { 0, 8, 7, 3, 0, 7, 1, 4, 1, 7, 5, 6 }, 256 { 9, 0, 3, 3, 9, 3, 5, 4, 5, 3, 7, 6 }, { 9, 8, 7, 3, 5, 9, 7, 5 }, 257 { 5, 8, 4, 6, 5, 10, 8, 1, 10, 11, 8, 3 }, 258 { 5, 0, 4, 6, 5, 11, 0, 0, 5, 10, 11, 3, 11, 3, 0, 3 }, 259 { 0, 1, 9, 7, 8, 4, 10, 1, 8, 10, 11, 6, 10, 4, 5, 6 }, 260 { 10, 11, 4, 1, 10, 4, 5, 6, 11, 3, 4, 1, 9, 4, 1, 5, 3, 1, 4, 1 }, 261 { 2, 5, 1, 6, 2, 8, 5, 0, 2, 11, 8, 3, 4, 5, 8, 5 }, 262 { 0, 4, 11, 1, 0, 11, 3, 6, 4, 5, 11, 1, 2, 11, 1, 5, 5, 1, 11, 1 }, 263 { 0, 2, 5, 1, 0, 5, 9, 6, 2, 11, 5, 1, 4, 5, 8, 5, 11, 8, 5, 1 }, 264 { 9, 4, 5, 7, 2, 11, 3, 7 }, 265 { 2, 5, 10, 6, 3, 5, 2, 4, 3, 4, 5, 2, 3, 8, 4, 3 }, 266 { 5, 10, 2, 3, 5, 2, 4, 4, 4, 2, 0, 6 }, 267 { 3, 10, 2, 6, 3, 5, 10, 2, 3, 8, 5, 1, 4, 5, 8, 5, 0, 1, 9, 7 }, 268 { 5, 10, 2, 3, 5, 2, 4, 4, 1, 9, 2, 5, 9, 4, 2, 1 }, 269 { 8, 4, 5, 3, 8, 5, 3, 4, 3, 5, 1, 6 }, { 0, 4, 5, 3, 1, 0, 5, 5 }, 270 { 8, 4, 5, 3, 8, 5, 3, 4, 9, 0, 5, 5, 0, 3, 5, 1 }, { 9, 4, 5, 7 }, 271 { 4, 11, 7, 6, 4, 9, 11, 1, 9, 10, 11, 3 }, 272 { 0, 8, 3, 7, 4, 9, 7, 5, 9, 11, 7, 2, 9, 10, 11, 3 }, 273 { 1, 10, 11, 3, 1, 11, 4, 0, 1, 4, 0, 6, 7, 4, 11, 5 }, 274 { 3, 1, 4, 1, 3, 4, 8, 6, 1, 10, 4, 1, 7, 4, 11, 5, 10, 11, 4, 1 }, 275 { 4, 11, 7, 6, 9, 11, 4, 4, 9, 2, 11, 2, 9, 1, 2, 3 }, 276 { 9, 7, 4, 6, 9, 11, 7, 2, 9, 1, 11, 1, 2, 11, 1, 5, 0, 8, 3, 7 }, 277 { 11, 7, 4, 3, 11, 4, 2, 4, 2, 4, 0, 6 }, 278 { 11, 7, 4, 3, 11, 4, 2, 4, 8, 3, 4, 5, 3, 2, 4, 1 }, 279 { 2, 9, 10, 6, 2, 7, 9, 0, 2, 3, 7, 3, 7, 4, 9, 3 }, 280 { 9, 10, 7, 1, 9, 7, 4, 6, 10, 2, 7, 1, 8, 7, 0, 5, 2, 0, 7, 1 }, 281 { 3, 7, 10, 1, 3, 10, 2, 6, 7, 4, 10, 1, 1, 10, 0, 5, 4, 0, 10, 1 }, 282 { 1, 10, 2, 7, 8, 7, 4, 7 }, { 4, 9, 1, 3, 4, 1, 7, 4, 7, 1, 3, 6 }, 283 { 4, 9, 1, 3, 4, 1, 7, 4, 0, 8, 1, 5, 8, 7, 1, 1 }, 284 { 4, 0, 3, 3, 7, 4, 3, 5 }, { 4, 8, 7, 7 }, 285 { 9, 10, 8, 5, 10, 11, 8, 3 }, { 3, 0, 9, 3, 3, 9, 11, 4, 11, 9, 10, 6 }, 286 { 0, 1, 10, 3, 0, 10, 8, 4, 8, 10, 11, 6 }, 287 { 3, 1, 10, 3, 11, 3, 10, 5 }, { 1, 2, 11, 3, 1, 11, 9, 4, 9, 11, 8, 6 }, 288 { 3, 0, 9, 3, 3, 9, 11, 4, 1, 2, 9, 5, 2, 11, 9, 1 }, 289 { 0, 2, 11, 3, 8, 0, 11, 5 }, { 3, 2, 11, 7 }, 290 { 2, 3, 8, 3, 2, 8, 10, 4, 10, 8, 9, 6 }, { 9, 10, 2, 3, 0, 9, 2, 5 }, 291 { 2, 3, 8, 3, 2, 8, 10, 4, 0, 1, 8, 5, 1, 10, 8, 1 }, { 1, 10, 2, 7 }, 292 { 1, 3, 8, 3, 9, 1, 8, 5 }, { 0, 9, 1, 7 }, { 0, 3, 8, 7 }, null }; 293 294 } 295