root/drivers/media/usb/pwc/pwc-kiara.c

/* [<][>][^][v][top][bottom][index][help] */
   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /* Linux driver for Philips webcam
   3    (C) 2004-2006 Luc Saillard (luc@saillard.org)
   4 
   5    NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
   6    driver and thus may have bugs that are not present in the original version.
   7    Please send bug reports and support requests to <luc@saillard.org>.
   8    The decompression routines have been implemented by reverse-engineering the
   9    Nemosoft binary pwcx module. Caveat emptor.
  10 
  11 */
  12 
  13 
  14 /* This tables contains entries for the 730/740/750 (Kiara) camera, with
  15    4 different qualities (no compression, low, medium, high).
  16    It lists the bandwidth requirements for said mode by its alternate interface
  17    number. An alternate of 0 means that the mode is unavailable.
  18 
  19    There are 6 * 4 * 4 entries:
  20      6 different resolutions subqcif, qsif, qcif, sif, cif, vga
  21      6 framerates: 5, 10, 15, 20, 25, 30
  22      4 compression modi: none, low, medium, high
  23 
  24    When an uncompressed mode is not available, the next available compressed mode
  25    will be chosen (unless the decompressor is absent). Sometimes there are only
  26    1 or 2 compressed modes available; in that case entries are duplicated.
  27 */
  28 
  29 
  30 #include "pwc-kiara.h"
  31 
  32 const unsigned int Kiara_fps_vector[PWC_FPS_MAX_KIARA] = { 5, 10, 15, 20, 25, 30 };
  33 
  34 const struct Kiara_table_entry Kiara_table[PSZ_MAX][6][4] =
  35 {
  36    /* SQCIF */
  37    {
  38       /* 5 fps */
  39       {
  40          {0, },
  41          {0, },
  42          {0, },
  43          {0, },
  44       },
  45       /* 10 fps */
  46       {
  47          {0, },
  48          {0, },
  49          {0, },
  50          {0, },
  51       },
  52       /* 15 fps */
  53       {
  54          {0, },
  55          {0, },
  56          {0, },
  57          {0, },
  58       },
  59       /* 20 fps */
  60       {
  61          {0, },
  62          {0, },
  63          {0, },
  64          {0, },
  65       },
  66       /* 25 fps */
  67       {
  68          {0, },
  69          {0, },
  70          {0, },
  71          {0, },
  72       },
  73       /* 30 fps */
  74       {
  75          {0, },
  76          {0, },
  77          {0, },
  78          {0, },
  79       },
  80    },
  81    /* QSIF */
  82    {
  83       /* 5 fps */
  84       {
  85          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
  86          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
  87          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
  88          {1, 146,    0, {0x1D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x92, 0x00, 0x80}},
  89       },
  90       /* 10 fps */
  91       {
  92          {2, 291,    0, {0x1C, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x23, 0x01, 0x80}},
  93          {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
  94          {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
  95          {1, 192,  630, {0x14, 0xF4, 0x30, 0x13, 0xA9, 0x12, 0xE1, 0x17, 0x08, 0xC0, 0x00, 0x80}},
  96       },
  97       /* 15 fps */
  98       {
  99          {3, 437,    0, {0x1B, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xB5, 0x01, 0x80}},
 100          {2, 292,  640, {0x13, 0xF4, 0x30, 0x13, 0xF7, 0x13, 0x2F, 0x13, 0x20, 0x24, 0x01, 0x80}},
 101          {2, 292,  640, {0x13, 0xF4, 0x30, 0x13, 0xF7, 0x13, 0x2F, 0x13, 0x20, 0x24, 0x01, 0x80}},
 102          {1, 192,  420, {0x13, 0xF4, 0x30, 0x0D, 0x1B, 0x0C, 0x53, 0x1E, 0x18, 0xC0, 0x00, 0x80}},
 103       },
 104       /* 20 fps */
 105       {
 106          {4, 589,    0, {0x1A, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x4D, 0x02, 0x80}},
 107          {3, 448,  730, {0x12, 0xF4, 0x30, 0x16, 0xC9, 0x16, 0x01, 0x0E, 0x18, 0xC0, 0x01, 0x80}},
 108          {2, 292,  476, {0x12, 0xF4, 0x30, 0x0E, 0xD8, 0x0E, 0x10, 0x19, 0x18, 0x24, 0x01, 0x80}},
 109          {1, 192,  312, {0x12, 0xF4, 0x50, 0x09, 0xB3, 0x08, 0xEB, 0x1E, 0x18, 0xC0, 0x00, 0x80}},
 110       },
 111       /* 25 fps */
 112       {
 113          {5, 703,    0, {0x19, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xBF, 0x02, 0x80}},
 114          {3, 447,  610, {0x11, 0xF4, 0x30, 0x13, 0x0B, 0x12, 0x43, 0x14, 0x28, 0xBF, 0x01, 0x80}},
 115          {2, 292,  398, {0x11, 0xF4, 0x50, 0x0C, 0x6C, 0x0B, 0xA4, 0x1E, 0x28, 0x24, 0x01, 0x80}},
 116          {1, 193,  262, {0x11, 0xF4, 0x50, 0x08, 0x23, 0x07, 0x5B, 0x1E, 0x28, 0xC1, 0x00, 0x80}},
 117       },
 118       /* 30 fps */
 119       {
 120          {8, 874,    0, {0x18, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x6A, 0x03, 0x80}},
 121          {5, 704,  730, {0x10, 0xF4, 0x30, 0x16, 0xC9, 0x16, 0x01, 0x0E, 0x28, 0xC0, 0x02, 0x80}},
 122          {3, 448,  492, {0x10, 0xF4, 0x30, 0x0F, 0x5D, 0x0E, 0x95, 0x15, 0x28, 0xC0, 0x01, 0x80}},
 123          {2, 292,  320, {0x10, 0xF4, 0x50, 0x09, 0xFB, 0x09, 0x33, 0x1E, 0x28, 0x24, 0x01, 0x80}},
 124       },
 125    },
 126    /* QCIF */
 127    {
 128       /* 5 fps */
 129       {
 130          {0, },
 131          {0, },
 132          {0, },
 133          {0, },
 134       },
 135       /* 10 fps */
 136       {
 137          {0, },
 138          {0, },
 139          {0, },
 140          {0, },
 141       },
 142       /* 15 fps */
 143       {
 144          {0, },
 145          {0, },
 146          {0, },
 147          {0, },
 148       },
 149       /* 20 fps */
 150       {
 151          {0, },
 152          {0, },
 153          {0, },
 154          {0, },
 155       },
 156       /* 25 fps */
 157       {
 158          {0, },
 159          {0, },
 160          {0, },
 161          {0, },
 162       },
 163       /* 30 fps */
 164       {
 165          {0, },
 166          {0, },
 167          {0, },
 168          {0, },
 169       },
 170    },
 171    /* SIF */
 172    {
 173       /* 5 fps */
 174       {
 175          {4, 582,    0, {0x0D, 0xF4, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x46, 0x02, 0x80}},
 176          {3, 387, 1276, {0x05, 0xF4, 0x30, 0x27, 0xD8, 0x26, 0x48, 0x03, 0x10, 0x83, 0x01, 0x80}},
 177          {2, 291,  960, {0x05, 0xF4, 0x30, 0x1D, 0xF2, 0x1C, 0x62, 0x04, 0x10, 0x23, 0x01, 0x80}},
 178          {1, 191,  630, {0x05, 0xF4, 0x50, 0x13, 0xA9, 0x12, 0x19, 0x05, 0x18, 0xBF, 0x00, 0x80}},
 179       },
 180       /* 10 fps */
 181       {
 182          {0, },
 183          {6, 775, 1278, {0x04, 0xF4, 0x30, 0x27, 0xE8, 0x26, 0x58, 0x05, 0x30, 0x07, 0x03, 0x80}},
 184          {3, 447,  736, {0x04, 0xF4, 0x30, 0x16, 0xFB, 0x15, 0x6B, 0x05, 0x28, 0xBF, 0x01, 0x80}},
 185          {2, 292,  480, {0x04, 0xF4, 0x70, 0x0E, 0xF9, 0x0D, 0x69, 0x09, 0x28, 0x24, 0x01, 0x80}},
 186       },
 187       /* 15 fps */
 188       {
 189          {0, },
 190          {9, 955, 1050, {0x03, 0xF4, 0x30, 0x20, 0xCF, 0x1F, 0x3F, 0x06, 0x48, 0xBB, 0x03, 0x80}},
 191          {4, 592,  650, {0x03, 0xF4, 0x30, 0x14, 0x44, 0x12, 0xB4, 0x08, 0x30, 0x50, 0x02, 0x80}},
 192          {3, 448,  492, {0x03, 0xF4, 0x50, 0x0F, 0x52, 0x0D, 0xC2, 0x09, 0x38, 0xC0, 0x01, 0x80}},
 193       },
 194       /* 20 fps */
 195       {
 196          {0, },
 197          {9, 958,  782, {0x02, 0xF4, 0x30, 0x18, 0x6A, 0x16, 0xDA, 0x0B, 0x58, 0xBE, 0x03, 0x80}},
 198          {5, 703,  574, {0x02, 0xF4, 0x50, 0x11, 0xE7, 0x10, 0x57, 0x0B, 0x40, 0xBF, 0x02, 0x80}},
 199          {3, 446,  364, {0x02, 0xF4, 0x90, 0x0B, 0x5C, 0x09, 0xCC, 0x0E, 0x38, 0xBE, 0x01, 0x80}},
 200       },
 201       /* 25 fps */
 202       {
 203          {0, },
 204          {9, 958,  654, {0x01, 0xF4, 0x30, 0x14, 0x66, 0x12, 0xD6, 0x0B, 0x50, 0xBE, 0x03, 0x80}},
 205          {6, 776,  530, {0x01, 0xF4, 0x50, 0x10, 0x8C, 0x0E, 0xFC, 0x0C, 0x48, 0x08, 0x03, 0x80}},
 206          {4, 592,  404, {0x01, 0xF4, 0x70, 0x0C, 0x96, 0x0B, 0x06, 0x0B, 0x48, 0x50, 0x02, 0x80}},
 207       },
 208       /* 30 fps */
 209       {
 210          {0, },
 211          {9, 957,  526, {0x00, 0xF4, 0x50, 0x10, 0x68, 0x0E, 0xD8, 0x0D, 0x58, 0xBD, 0x03, 0x80}},
 212          {6, 775,  426, {0x00, 0xF4, 0x70, 0x0D, 0x48, 0x0B, 0xB8, 0x0F, 0x50, 0x07, 0x03, 0x80}},
 213          {4, 590,  324, {0x00, 0x7A, 0x88, 0x0A, 0x1C, 0x08, 0xB4, 0x0E, 0x50, 0x4E, 0x02, 0x80}},
 214       },
 215    },
 216    /* CIF */
 217    {
 218       /* 5 fps */
 219       {
 220          {0, },
 221          {0, },
 222          {0, },
 223          {0, },
 224       },
 225       /* 10 fps */
 226       {
 227          {0, },
 228          {0, },
 229          {0, },
 230          {0, },
 231       },
 232       /* 15 fps */
 233       {
 234          {0, },
 235          {0, },
 236          {0, },
 237          {0, },
 238       },
 239       /* 20 fps */
 240       {
 241          {0, },
 242          {0, },
 243          {0, },
 244          {0, },
 245       },
 246       /* 25 fps */
 247       {
 248          {0, },
 249          {0, },
 250          {0, },
 251          {0, },
 252       },
 253       /* 30 fps */
 254       {
 255          {0, },
 256          {0, },
 257          {0, },
 258          {0, },
 259       },
 260    },
 261    /* VGA */
 262    {
 263       /* 5 fps */
 264       {
 265          {0, },
 266          {6, 773, 1272, {0x25, 0xF4, 0x30, 0x27, 0xB6, 0x24, 0x96, 0x02, 0x30, 0x05, 0x03, 0x80}},
 267          {4, 592,  976, {0x25, 0xF4, 0x50, 0x1E, 0x78, 0x1B, 0x58, 0x03, 0x30, 0x50, 0x02, 0x80}},
 268          {3, 448,  738, {0x25, 0xF4, 0x90, 0x17, 0x0C, 0x13, 0xEC, 0x04, 0x30, 0xC0, 0x01, 0x80}},
 269       },
 270       /* 10 fps */
 271       {
 272          {0, },
 273          {9, 956,  788, {0x24, 0xF4, 0x70, 0x18, 0x9C, 0x15, 0x7C, 0x03, 0x48, 0xBC, 0x03, 0x80}},
 274          {6, 776,  640, {0x24, 0xF4, 0xB0, 0x13, 0xFC, 0x11, 0x2C, 0x04, 0x48, 0x08, 0x03, 0x80}},
 275          {4, 592,  488, {0x24, 0x7A, 0xE8, 0x0F, 0x3C, 0x0C, 0x6C, 0x06, 0x48, 0x50, 0x02, 0x80}},
 276       },
 277       /* 15 fps */
 278       {
 279          {0, },
 280          {9, 957,  526, {0x23, 0x7A, 0xE8, 0x10, 0x68, 0x0D, 0x98, 0x06, 0x58, 0xBD, 0x03, 0x80}},
 281          {9, 957,  526, {0x23, 0x7A, 0xE8, 0x10, 0x68, 0x0D, 0x98, 0x06, 0x58, 0xBD, 0x03, 0x80}},
 282          {8, 895,  492, {0x23, 0x7A, 0xE8, 0x0F, 0x5D, 0x0C, 0x8D, 0x06, 0x58, 0x7F, 0x03, 0x80}},
 283       },
 284       /* 20 fps */
 285       {
 286          {0, },
 287          {0, },
 288          {0, },
 289          {0, },
 290       },
 291       /* 25 fps */
 292       {
 293          {0, },
 294          {0, },
 295          {0, },
 296          {0, },
 297       },
 298       /* 30 fps */
 299       {
 300          {0, },
 301          {0, },
 302          {0, },
 303          {0, },
 304       },
 305    },
 306 };
 307 
 308 
 309 /*
 310  * Rom table for kiara chips
 311  *
 312  * 32 roms tables (one for each resolution ?)
 313  *  2 tables per roms (one for each passes) (Y, and U&V)
 314  * 128 bytes per passes
 315  */
 316 
 317 const unsigned int KiaraRomTable [8][2][16][8] =
 318 {
 319  { /* version 0 */
 320   { /* version 0, passes 0 */
 321    {0x00000000,0x00000000,0x00000000,0x00000000,
 322     0x00000000,0x00000000,0x00000001,0x00000001},
 323    {0x00000000,0x00000000,0x00000009,0x00000009,
 324     0x00000009,0x00000009,0x00000009,0x00000009},
 325    {0x00000000,0x00000000,0x00000009,0x00000049,
 326     0x00000049,0x00000049,0x00000049,0x00000049},
 327    {0x00000000,0x00000000,0x00000049,0x00000049,
 328     0x00000049,0x00000249,0x0000024a,0x00000049},
 329    {0x00000000,0x00000000,0x00000049,0x00000049,
 330     0x00000249,0x00000249,0x0000024a,0x0000024a},
 331    {0x00000000,0x00000000,0x00000049,0x00000249,
 332     0x00000249,0x0000124a,0x0000024a,0x0000024a},
 333    {0x00000000,0x00000000,0x00000049,0x00000249,
 334     0x0000124a,0x00009252,0x00001252,0x00001252},
 335    {0x00000000,0x00000000,0x00000249,0x00000249,
 336     0x00009252,0x00009292,0x00009292,0x00009292},
 337    {0x00000000,0x00000000,0x00000249,0x00001249,
 338     0x00009292,0x00009292,0x00009493,0x000124db},
 339    {0x00000000,0x00000000,0x00000249,0x0000924a,
 340     0x00009492,0x0000a49b,0x0000a49b,0x000124db},
 341    {0x00000000,0x00000000,0x00001249,0x00009252,
 342     0x0000a493,0x000124db,0x000124db,0x000126dc},
 343    {0x00000000,0x00000000,0x00001249,0x00009493,
 344     0x000124db,0x000126dc,0x000136e4,0x000126dc},
 345    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 346     0x000124db,0x000136e4,0x000136e4,0x000136e4},
 347    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 348     0x000126dc,0x0001b724,0x0001b92d,0x0001b925},
 349    {0x00000000,0x00000000,0x00009492,0x000124db,
 350     0x000136e4,0x0001b925,0x0001c96e,0x0001c92d},
 351    {0x00000000,0x00000000,0x00000000,0x00000000,
 352     0x00000000,0x00000000,0x00000000,0x00000000}
 353   },
 354   { /* version 0, passes 1 */
 355    {0x00000000,0x00000000,0x00000000,0x00000000,
 356     0x00000000,0x00000000,0x00000000,0x00000000},
 357    {0x00000000,0x00000000,0x00000000,0x00000000,
 358     0x00000000,0x00000000,0x00000000,0x00000000},
 359    {0x00000000,0x00000000,0x00000001,0x00000009,
 360     0x00000009,0x00000009,0x00000009,0x00000001},
 361    {0x00000000,0x00000000,0x00000009,0x00000009,
 362     0x00000049,0x00000049,0x00000049,0x00000049},
 363    {0x00000000,0x00000000,0x00000049,0x00000049,
 364     0x00000049,0x00000049,0x0000024a,0x0000024a},
 365    {0x00000000,0x00000000,0x00000049,0x00000049,
 366     0x00000249,0x00000249,0x0000024a,0x0000024a},
 367    {0x00000000,0x00000000,0x00000049,0x00000249,
 368     0x00000249,0x00000249,0x0000024a,0x00001252},
 369    {0x00000000,0x00000000,0x00000049,0x00001249,
 370     0x0000124a,0x0000124a,0x00001252,0x00009292},
 371    {0x00000000,0x00000000,0x00000249,0x00001249,
 372     0x00009252,0x00009252,0x00009292,0x00009493},
 373    {0x00000000,0x00000000,0x00000249,0x0000924a,
 374     0x00009292,0x00009292,0x00009292,0x00009493},
 375    {0x00000000,0x00000000,0x00000249,0x00009292,
 376     0x00009492,0x00009493,0x0000a49b,0x00009493},
 377    {0x00000000,0x00000000,0x00001249,0x00009292,
 378     0x0000a493,0x000124db,0x000126dc,0x000126dc},
 379    {0x00000000,0x00000000,0x0000924a,0x00009493,
 380     0x0000a493,0x000126dc,0x000136e4,0x000136e4},
 381    {0x00000000,0x00000000,0x00009252,0x00009493,
 382     0x000126dc,0x000126dc,0x000136e4,0x000136e4},
 383    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 384     0x000136e4,0x000136e4,0x0001b725,0x0001b724},
 385    {0x00000000,0x00000000,0x00000000,0x00000000,
 386     0x00000000,0x00000000,0x00000000,0x00000000}
 387   }
 388  },
 389  { /* version 1 */
 390   { /* version 1, passes 0 */
 391    {0x00000000,0x00000000,0x00000000,0x00000000,
 392     0x00000000,0x00000000,0x00000000,0x00000001},
 393    {0x00000000,0x00000000,0x00000009,0x00000009,
 394     0x00000009,0x00000009,0x00000009,0x00000009},
 395    {0x00000000,0x00000000,0x00000049,0x00000049,
 396     0x00000049,0x00000049,0x00000049,0x00000049},
 397    {0x00000000,0x00000000,0x00000049,0x00000049,
 398     0x00000049,0x00000249,0x0000024a,0x0000024a},
 399    {0x00000000,0x00000000,0x00000049,0x00000249,
 400     0x00000249,0x00000249,0x0000024a,0x00001252},
 401    {0x00000000,0x00000000,0x00000249,0x00000249,
 402     0x00000249,0x0000124a,0x00001252,0x00001252},
 403    {0x00000000,0x00000000,0x00000249,0x00000249,
 404     0x0000124a,0x0000124a,0x00009292,0x00009292},
 405    {0x00000000,0x00000000,0x00000249,0x00001249,
 406     0x0000124a,0x00009252,0x00009292,0x00009292},
 407    {0x00000000,0x00000000,0x00000249,0x00001249,
 408     0x00009252,0x00009292,0x00009292,0x00009292},
 409    {0x00000000,0x00000000,0x00000249,0x00001249,
 410     0x00009252,0x00009292,0x00009493,0x00009493},
 411    {0x00000000,0x00000000,0x00000249,0x0000924a,
 412     0x00009252,0x00009493,0x00009493,0x00009493},
 413    {0x00000000,0x00000000,0x00000249,0x0000924a,
 414     0x00009292,0x00009493,0x00009493,0x00009493},
 415    {0x00000000,0x00000000,0x00000249,0x00009252,
 416     0x00009492,0x00009493,0x0000a49b,0x0000a49b},
 417    {0x00000000,0x00000000,0x00001249,0x00009292,
 418     0x00009492,0x000124db,0x000124db,0x000124db},
 419    {0x00000000,0x00000000,0x0000924a,0x00009493,
 420     0x0000a493,0x000126dc,0x000126dc,0x000126dc},
 421    {0x00000000,0x00000000,0x00000000,0x00000000,
 422     0x00000000,0x00000000,0x00000000,0x00000000}
 423   },
 424   { /* version 1, passes 1 */
 425    {0x00000000,0x00000000,0x00000000,0x00000000,
 426     0x00000000,0x00000000,0x00000000,0x00000000},
 427    {0x00000000,0x00000000,0x00000049,0x00000009,
 428     0x00000049,0x00000009,0x00000001,0x00000000},
 429    {0x00000000,0x00000000,0x00000049,0x00000049,
 430     0x00000049,0x00000049,0x00000049,0x00000000},
 431    {0x00000000,0x00000000,0x00000249,0x00000049,
 432     0x00000249,0x00000049,0x0000024a,0x00000001},
 433    {0x00000000,0x00000000,0x00000249,0x00000249,
 434     0x00000249,0x00000249,0x0000024a,0x00000001},
 435    {0x00000000,0x00000000,0x00000249,0x00000249,
 436     0x00000249,0x00000249,0x0000024a,0x00000001},
 437    {0x00000000,0x00000000,0x00000249,0x00000249,
 438     0x00000249,0x00000249,0x0000024a,0x00000009},
 439    {0x00000000,0x00000000,0x00000249,0x00000249,
 440     0x0000124a,0x0000124a,0x0000024a,0x00000009},
 441    {0x00000000,0x00000000,0x00000249,0x00000249,
 442     0x0000124a,0x0000124a,0x0000024a,0x00000009},
 443    {0x00000000,0x00000000,0x00001249,0x00001249,
 444     0x0000124a,0x00009252,0x00001252,0x00000049},
 445    {0x00000000,0x00000000,0x00001249,0x00001249,
 446     0x0000124a,0x00009292,0x00001252,0x00000049},
 447    {0x00000000,0x00000000,0x00001249,0x00001249,
 448     0x0000124a,0x00009292,0x00001252,0x00000049},
 449    {0x00000000,0x00000000,0x00001249,0x00001249,
 450     0x00009252,0x00009292,0x00001252,0x0000024a},
 451    {0x00000000,0x00000000,0x00001249,0x00001249,
 452     0x00009292,0x00009292,0x00001252,0x0000024a},
 453    {0x00000000,0x00000000,0x0000924a,0x0000924a,
 454     0x00009492,0x00009493,0x00009292,0x00001252},
 455    {0x00000000,0x00000000,0x00000000,0x00000000,
 456     0x00000000,0x00000000,0x00000000,0x00000000}
 457   }
 458  },
 459  { /* version 2 */
 460   { /* version 2, passes 0 */
 461    {0x00000000,0x00000000,0x00000049,0x00000049,
 462     0x00000049,0x00000049,0x0000024a,0x0000024a},
 463    {0x00000000,0x00000000,0x00000249,0x00000249,
 464     0x00000249,0x0000124a,0x00001252,0x00009292},
 465    {0x00000000,0x00000000,0x00000249,0x00000249,
 466     0x0000124a,0x00009252,0x00009292,0x00009292},
 467    {0x00000000,0x00000000,0x00000249,0x00001249,
 468     0x0000124a,0x00009292,0x00009493,0x00009493},
 469    {0x00000000,0x00000000,0x00000249,0x00001249,
 470     0x00009252,0x00009493,0x00009493,0x0000a49b},
 471    {0x00000000,0x00000000,0x00000249,0x0000924a,
 472     0x00009292,0x00009493,0x0000a49b,0x0000a49b},
 473    {0x00000000,0x00000000,0x00001249,0x0000924a,
 474     0x00009292,0x00009493,0x0000a49b,0x000124db},
 475    {0x00000000,0x00000000,0x00001249,0x00009252,
 476     0x00009492,0x0000a49b,0x0000a49b,0x000124db},
 477    {0x00000000,0x00000000,0x00001249,0x00009292,
 478     0x00009492,0x000124db,0x000124db,0x000126dc},
 479    {0x00000000,0x00000000,0x00001249,0x00009292,
 480     0x0000a493,0x000124db,0x000126dc,0x000126dc},
 481    {0x00000000,0x00000000,0x00001249,0x00009493,
 482     0x0000a493,0x000124db,0x000126dc,0x000136e4},
 483    {0x00000000,0x00000000,0x00001249,0x00009493,
 484     0x0000a493,0x000126dc,0x000136e4,0x000136e4},
 485    {0x00000000,0x00000000,0x0000924a,0x00009493,
 486     0x0001249b,0x000126dc,0x000136e4,0x000136e4},
 487    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 488     0x000124db,0x000136e4,0x000136e4,0x0001b724},
 489    {0x00000000,0x00000000,0x00009252,0x000124db,
 490     0x000126dc,0x0001b724,0x0001b725,0x0001b925},
 491    {0x00000000,0x00000000,0x00000000,0x00000000,
 492     0x00000000,0x00000000,0x00000000,0x00000000}
 493   },
 494   { /* version 2, passes 1 */
 495    {0x00000000,0x00000000,0x00000049,0x00000049,
 496     0x00000049,0x00000049,0x00000049,0x00000049},
 497    {0x00000000,0x00000000,0x00000249,0x00000249,
 498     0x00000249,0x00000249,0x0000024a,0x00000049},
 499    {0x00000000,0x00000000,0x00001249,0x00000249,
 500     0x0000124a,0x0000124a,0x00001252,0x00000049},
 501    {0x00000000,0x00000000,0x00001249,0x00001249,
 502     0x0000124a,0x0000124a,0x00009292,0x0000024a},
 503    {0x00000000,0x00000000,0x00001249,0x00001249,
 504     0x00009252,0x00009292,0x00009292,0x0000024a},
 505    {0x00000000,0x00000000,0x00001249,0x00001249,
 506     0x00009252,0x00009292,0x0000a49b,0x0000024a},
 507    {0x00000000,0x00000000,0x00001249,0x00001249,
 508     0x00009292,0x00009493,0x0000a49b,0x00001252},
 509    {0x00000000,0x00000000,0x00001249,0x00001249,
 510     0x00009292,0x00009493,0x0000a49b,0x00001252},
 511    {0x00000000,0x00000000,0x00001249,0x0000924a,
 512     0x00009492,0x0000a49b,0x0000a49b,0x00001252},
 513    {0x00000000,0x00000000,0x00001249,0x00009252,
 514     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
 515    {0x00000000,0x00000000,0x00001249,0x00009292,
 516     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
 517    {0x00000000,0x00000000,0x00001249,0x00009493,
 518     0x0000a493,0x0000a49b,0x0000a49b,0x00009292},
 519    {0x00000000,0x00000000,0x00001249,0x00009493,
 520     0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
 521    {0x00000000,0x00000000,0x0000924a,0x00009493,
 522     0x0000a493,0x000124db,0x0000a49b,0x00009493},
 523    {0x00000000,0x00000000,0x00009252,0x0000a49b,
 524     0x0001249b,0x000126dc,0x000124db,0x0000a49b},
 525    {0x00000000,0x00000000,0x00000000,0x00000000,
 526     0x00000000,0x00000000,0x00000000,0x00000000}
 527   }
 528  },
 529  { /* version 3 */
 530   { /* version 3, passes 0 */
 531    {0x00000000,0x00000000,0x00000249,0x00000249,
 532     0x0000124a,0x0000124a,0x00009292,0x00009292},
 533    {0x00000000,0x00000000,0x00001249,0x00001249,
 534     0x00009292,0x00009493,0x0000a49b,0x0000a49b},
 535    {0x00000000,0x00000000,0x00001249,0x0000924a,
 536     0x00009492,0x0000a49b,0x0000a49b,0x000124db},
 537    {0x00000000,0x00000000,0x00001249,0x00009292,
 538     0x00009492,0x000124db,0x000126dc,0x000126dc},
 539    {0x00000000,0x00000000,0x00001249,0x00009493,
 540     0x0000a493,0x000124db,0x000126dc,0x000126dc},
 541    {0x00000000,0x00000000,0x00001249,0x00009493,
 542     0x0000a493,0x000126dc,0x000136e4,0x000136e4},
 543    {0x00000000,0x00000000,0x00001249,0x00009493,
 544     0x0000a493,0x000126dc,0x000136e4,0x0001b724},
 545    {0x00000000,0x00000000,0x00001249,0x00009493,
 546     0x0001249b,0x000126dc,0x000136e4,0x0001b724},
 547    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 548     0x0001249b,0x000126dc,0x000136e4,0x0001b724},
 549    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 550     0x0001249b,0x000136e4,0x0001b725,0x0001b724},
 551    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 552     0x000124db,0x000136e4,0x0001b725,0x0001b925},
 553    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 554     0x000126dc,0x000136e4,0x0001b92d,0x0001b925},
 555    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 556     0x000126dc,0x0001b724,0x0001b92d,0x0001c92d},
 557    {0x00000000,0x00000000,0x00009492,0x000124db,
 558     0x000126dc,0x0001b724,0x0001c96e,0x0001c92d},
 559    {0x00000000,0x00000000,0x0000a492,0x000126db,
 560     0x000136e4,0x0001b925,0x00025bb6,0x00024b77},
 561    {0x00000000,0x00000000,0x00000000,0x00000000,
 562     0x00000000,0x00000000,0x00000000,0x00000000}
 563   },
 564   { /* version 3, passes 1 */
 565    {0x00000000,0x00000000,0x00001249,0x00000249,
 566     0x0000124a,0x0000124a,0x00001252,0x00001252},
 567    {0x00000000,0x00000000,0x00001249,0x00001249,
 568     0x00009252,0x00009292,0x00009292,0x00001252},
 569    {0x00000000,0x00000000,0x00001249,0x0000924a,
 570     0x00009492,0x00009493,0x0000a49b,0x00001252},
 571    {0x00000000,0x00000000,0x00001249,0x00009252,
 572     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
 573    {0x00000000,0x00000000,0x00001249,0x00009292,
 574     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
 575    {0x00000000,0x00000000,0x00001249,0x00009493,
 576     0x0000a493,0x0000a49b,0x000126dc,0x00009292},
 577    {0x00000000,0x00000000,0x0000924a,0x00009493,
 578     0x0000a493,0x0000a49b,0x000126dc,0x00009493},
 579    {0x00000000,0x00000000,0x0000924a,0x00009493,
 580     0x0000a493,0x0000a49b,0x000126dc,0x00009493},
 581    {0x00000000,0x00000000,0x0000924a,0x00009493,
 582     0x0000a493,0x000124db,0x000126dc,0x00009493},
 583    {0x00000000,0x00000000,0x0000924a,0x00009493,
 584     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
 585    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 586     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
 587    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 588     0x0001249b,0x000126dc,0x000126dc,0x0000a49b},
 589    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 590     0x000124db,0x000136e4,0x000126dc,0x000124db},
 591    {0x00000000,0x00000000,0x00009492,0x0000a49b,
 592     0x000136e4,0x000136e4,0x000126dc,0x000124db},
 593    {0x00000000,0x00000000,0x0000a492,0x000124db,
 594     0x0001b724,0x0001b724,0x000136e4,0x000126dc},
 595    {0x00000000,0x00000000,0x00000000,0x00000000,
 596     0x00000000,0x00000000,0x00000000,0x00000000}
 597   }
 598  },
 599  { /* version 4 */
 600   { /* version 4, passes 0 */
 601    {0x00000000,0x00000000,0x00000049,0x00000049,
 602     0x00000049,0x00000049,0x00000049,0x00000049},
 603    {0x00000000,0x00000000,0x00000249,0x00000049,
 604     0x00000249,0x00000249,0x0000024a,0x00000049},
 605    {0x00000000,0x00000000,0x00000249,0x00000249,
 606     0x0000124a,0x00009252,0x00001252,0x0000024a},
 607    {0x00000000,0x00000000,0x00001249,0x00001249,
 608     0x00009252,0x00009292,0x00009493,0x00001252},
 609    {0x00000000,0x00000000,0x00001249,0x0000924a,
 610     0x00009292,0x00009493,0x00009493,0x00001252},
 611    {0x00000000,0x00000000,0x00001249,0x00009292,
 612     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
 613    {0x00000000,0x00000000,0x00001249,0x00009493,
 614     0x0000a493,0x000124db,0x000124db,0x00009493},
 615    {0x00000000,0x00000000,0x0000924a,0x00009493,
 616     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
 617    {0x00000000,0x00000000,0x0000924a,0x00009493,
 618     0x0000a493,0x000124db,0x000126dc,0x0000a49b},
 619    {0x00000000,0x00000000,0x0000924a,0x00009493,
 620     0x0001249b,0x000126dc,0x000126dc,0x000124db},
 621    {0x00000000,0x00000000,0x00009252,0x00009493,
 622     0x000124db,0x000136e4,0x000136e4,0x000126dc},
 623    {0x00000000,0x00000000,0x00009252,0x0000a49b,
 624     0x000124db,0x000136e4,0x000136e4,0x000126dc},
 625    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 626     0x000126dc,0x000136e4,0x000136e4,0x000136e4},
 627    {0x00000000,0x00000000,0x00009492,0x0000a49b,
 628     0x000126dc,0x0001b724,0x0001b725,0x0001b724},
 629    {0x00000000,0x00000000,0x0000a492,0x000124db,
 630     0x000136e4,0x0001b925,0x0001b92d,0x0001b925},
 631    {0x00000000,0x00000000,0x00000000,0x00000000,
 632     0x00000000,0x00000000,0x00000000,0x00000000}
 633   },
 634   { /* version 4, passes 1 */
 635    {0x00000000,0x00000000,0x00000249,0x00000049,
 636     0x00000009,0x00000009,0x00000009,0x00000009},
 637    {0x00000000,0x00000000,0x00000249,0x00000249,
 638     0x00000049,0x00000049,0x00000009,0x00000009},
 639    {0x00000000,0x00000000,0x00001249,0x00001249,
 640     0x0000124a,0x00000249,0x00000049,0x00000049},
 641    {0x00000000,0x00000000,0x00001249,0x00001249,
 642     0x0000124a,0x0000124a,0x00000049,0x00000049},
 643    {0x00000000,0x00000000,0x00001249,0x00001249,
 644     0x00009252,0x0000124a,0x0000024a,0x0000024a},
 645    {0x00000000,0x00000000,0x00001249,0x0000924a,
 646     0x00009252,0x0000124a,0x0000024a,0x0000024a},
 647    {0x00000000,0x00000000,0x00001249,0x00009292,
 648     0x00009492,0x00009252,0x00001252,0x00001252},
 649    {0x00000000,0x00000000,0x00001249,0x00009493,
 650     0x0000a493,0x00009292,0x00009292,0x00001252},
 651    {0x00000000,0x00000000,0x0000924a,0x00009493,
 652     0x0000a493,0x00009292,0x00009292,0x00009292},
 653    {0x00000000,0x00000000,0x0000924a,0x00009493,
 654     0x0000a493,0x00009493,0x00009493,0x00009292},
 655    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 656     0x0000a493,0x0000a49b,0x00009493,0x00009493},
 657    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 658     0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
 659    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 660     0x0001249b,0x000124db,0x0000a49b,0x0000a49b},
 661    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 662     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
 663    {0x00000000,0x00000000,0x00009252,0x000124db,
 664     0x0001b724,0x000136e4,0x000126dc,0x000124db},
 665    {0x00000000,0x00000000,0x00000000,0x00000000,
 666     0x00000000,0x00000000,0x00000000,0x00000000}
 667   }
 668  },
 669  { /* version 5 */
 670   { /* version 5, passes 0 */
 671    {0x00000000,0x00000000,0x00000249,0x00000249,
 672     0x00000249,0x00000249,0x00001252,0x00001252},
 673    {0x00000000,0x00000000,0x00001249,0x00001249,
 674     0x00009252,0x00009292,0x00009292,0x00001252},
 675    {0x00000000,0x00000000,0x00001249,0x0000924a,
 676     0x00009492,0x0000a49b,0x0000a49b,0x00009292},
 677    {0x00000000,0x00000000,0x00001249,0x00009493,
 678     0x0000a493,0x0000a49b,0x000124db,0x00009493},
 679    {0x00000000,0x00000000,0x00001249,0x00009493,
 680     0x0000a493,0x000124db,0x000126dc,0x00009493},
 681    {0x00000000,0x00000000,0x0000924a,0x00009493,
 682     0x0000a493,0x000126dc,0x000126dc,0x0000a49b},
 683    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 684     0x0001249b,0x000126dc,0x000136e4,0x000124db},
 685    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 686     0x000126dc,0x000136e4,0x000136e4,0x000126dc},
 687    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 688     0x000126dc,0x000136e4,0x000136e4,0x000126dc},
 689    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 690     0x000126dc,0x0001b724,0x0001b725,0x000136e4},
 691    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 692     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
 693    {0x00000000,0x00000000,0x00009492,0x0000a49b,
 694     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
 695    {0x00000000,0x00000000,0x00009492,0x000124db,
 696     0x000136e4,0x0001b925,0x0001c96e,0x0001b925},
 697    {0x00000000,0x00000000,0x00009492,0x000124db,
 698     0x0001b724,0x0001b925,0x0001c96e,0x0001c92d},
 699    {0x00000000,0x00000000,0x0000a492,0x000126db,
 700     0x0001c924,0x0002496d,0x00025bb6,0x00024b77},
 701    {0x00000000,0x00000000,0x00000000,0x00000000,
 702     0x00000000,0x00000000,0x00000000,0x00000000}
 703   },
 704   { /* version 5, passes 1 */
 705    {0x00000000,0x00000000,0x00001249,0x00000249,
 706     0x00000249,0x00000249,0x0000024a,0x0000024a},
 707    {0x00000000,0x00000000,0x00001249,0x00001249,
 708     0x0000124a,0x0000124a,0x0000024a,0x0000024a},
 709    {0x00000000,0x00000000,0x00001249,0x0000924a,
 710     0x00009252,0x00009252,0x0000024a,0x0000024a},
 711    {0x00000000,0x00000000,0x00001249,0x00009292,
 712     0x00009492,0x0000a49b,0x00001252,0x00001252},
 713    {0x00000000,0x00000000,0x0000924a,0x00009493,
 714     0x0000a493,0x0000a49b,0x00001252,0x00001252},
 715    {0x00000000,0x00000000,0x0000924a,0x00009493,
 716     0x0000a493,0x0000a49b,0x00009292,0x00001252},
 717    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 718     0x0000a493,0x0000a49b,0x00009292,0x00009292},
 719    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 720     0x0000a493,0x0000a49b,0x00009493,0x00009292},
 721    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 722     0x0001249b,0x000124db,0x00009493,0x00009292},
 723    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 724     0x0001249b,0x000124db,0x00009493,0x00009493},
 725    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 726     0x000124db,0x000124db,0x0000a49b,0x00009493},
 727    {0x00000000,0x00000000,0x0000924a,0x000124db,
 728     0x000126dc,0x000126dc,0x0000a49b,0x00009493},
 729    {0x00000000,0x00000000,0x0000924a,0x000124db,
 730     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
 731    {0x00000000,0x00000000,0x00009292,0x000124db,
 732     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
 733    {0x00000000,0x00000000,0x00009492,0x000126db,
 734     0x0001b724,0x000136e4,0x000126dc,0x000124db},
 735    {0x00000000,0x00000000,0x00000000,0x00000000,
 736     0x00000000,0x00000000,0x00000000,0x00000000}
 737   }
 738  },
 739  { /* version 6 */
 740   { /* version 6, passes 0 */
 741    {0x00000000,0x00000000,0x00001249,0x00001249,
 742     0x00009252,0x00009292,0x00009493,0x00009493},
 743    {0x00000000,0x00000000,0x00001249,0x00009292,
 744     0x0000a493,0x0000a49b,0x0000a49b,0x00009493},
 745    {0x00000000,0x00000000,0x00001249,0x00009493,
 746     0x0000a493,0x000124db,0x000124db,0x0000a49b},
 747    {0x00000000,0x00000000,0x0000924a,0x00009493,
 748     0x0000a493,0x000126dc,0x000126dc,0x0000a49b},
 749    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 750     0x0001249b,0x000126dc,0x000136e4,0x000124db},
 751    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 752     0x000126dc,0x000136e4,0x000136e4,0x000126dc},
 753    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 754     0x000126dc,0x0001b724,0x0001b725,0x000126dc},
 755    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 756     0x000136e4,0x0001b724,0x0001b92d,0x000136e4},
 757    {0x00000000,0x00000000,0x00009492,0x0000a49b,
 758     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
 759    {0x00000000,0x00000000,0x00009492,0x000124db,
 760     0x000136e4,0x0001b724,0x0001b92d,0x0001b724},
 761    {0x00000000,0x00000000,0x00009492,0x000124db,
 762     0x000136e4,0x0001b925,0x0001b92d,0x0001b925},
 763    {0x00000000,0x00000000,0x00009492,0x000124db,
 764     0x0001b724,0x0001b925,0x0001c96e,0x0001c92d},
 765    {0x00000000,0x00000000,0x0000a492,0x000124db,
 766     0x0001b724,0x0001c92d,0x0001c96e,0x0001c92d},
 767    {0x00000000,0x00000000,0x0000a492,0x000124db,
 768     0x0001b724,0x0001c92d,0x00024b76,0x0002496e},
 769    {0x00000000,0x00000000,0x00012492,0x000126db,
 770     0x0001c924,0x00024b6d,0x0002ddb6,0x00025bbf},
 771    {0x00000000,0x00000000,0x00000000,0x00000000,
 772     0x00000000,0x00000000,0x00000000,0x00000000}
 773   },
 774   { /* version 6, passes 1 */
 775    {0x00000000,0x00000000,0x00001249,0x00001249,
 776     0x0000124a,0x0000124a,0x00001252,0x00001252},
 777    {0x00000000,0x00000000,0x00001249,0x00009292,
 778     0x00009492,0x00009252,0x00001252,0x00001252},
 779    {0x00000000,0x00000000,0x0000924a,0x00009493,
 780     0x0000a493,0x00009292,0x00001252,0x00001252},
 781    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 782     0x0000a493,0x0000a49b,0x00009292,0x00009292},
 783    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 784     0x0000a493,0x0000a49b,0x00009292,0x00009292},
 785    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 786     0x0001249b,0x0000a49b,0x00009493,0x00009292},
 787    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 788     0x000124db,0x000124db,0x00009493,0x00009493},
 789    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 790     0x000124db,0x000124db,0x0000a49b,0x00009493},
 791    {0x00000000,0x00000000,0x0000924a,0x000124db,
 792     0x000126dc,0x000124db,0x0000a49b,0x00009493},
 793    {0x00000000,0x00000000,0x0000924a,0x000124db,
 794     0x000126dc,0x000126dc,0x0000a49b,0x0000a49b},
 795    {0x00000000,0x00000000,0x0000924a,0x000124db,
 796     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
 797    {0x00000000,0x00000000,0x00009492,0x000126db,
 798     0x000136e4,0x000126dc,0x000124db,0x0000a49b},
 799    {0x00000000,0x00000000,0x00009492,0x000126db,
 800     0x0001b724,0x000136e4,0x000126dc,0x000124db},
 801    {0x00000000,0x00000000,0x00009492,0x000126db,
 802     0x0001b724,0x000136e4,0x000126dc,0x000124db},
 803    {0x00000000,0x00000000,0x0000a492,0x000136db,
 804     0x0001c924,0x0001b724,0x000136e4,0x000126dc},
 805    {0x00000000,0x00000000,0x00000000,0x00000000,
 806     0x00000000,0x00000000,0x00000000,0x00000000}
 807   }
 808  },
 809  { /* version 7 */
 810   { /* version 7, passes 0 */
 811    {0x00000000,0x00000000,0x00001249,0x00001249,
 812     0x00009252,0x00009292,0x00009493,0x00009493},
 813    {0x00000000,0x00000000,0x00001249,0x00009493,
 814     0x0000a493,0x000124db,0x000126dc,0x00009493},
 815    {0x00000000,0x00000000,0x00001249,0x0000a49b,
 816     0x0001249b,0x000126dc,0x000126dc,0x0000a49b},
 817    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 818     0x0001249b,0x000126dc,0x000136e4,0x0000a49b},
 819    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 820     0x000126dc,0x000136e4,0x0001b725,0x000124db},
 821    {0x00000000,0x00000000,0x00009292,0x0000a49b,
 822     0x000136e4,0x0001b724,0x0001b725,0x000126dc},
 823    {0x00000000,0x00000000,0x00009292,0x000124db,
 824     0x000136e4,0x0001b724,0x0001b725,0x000126dc},
 825    {0x00000000,0x00000000,0x00009492,0x000124db,
 826     0x000136e4,0x0001b724,0x0001c96e,0x000136e4},
 827    {0x00000000,0x00000000,0x00009492,0x000124db,
 828     0x000136e4,0x0001c92d,0x0001c96e,0x0001b724},
 829    {0x00000000,0x00000000,0x0000a492,0x000124db,
 830     0x000136e4,0x0001c92d,0x0001c96e,0x0001b724},
 831    {0x00000000,0x00000000,0x0000a492,0x000124db,
 832     0x0001b724,0x0001c92d,0x0001c96e,0x0001b925},
 833    {0x00000000,0x00000000,0x0000a492,0x000126db,
 834     0x0001b724,0x0001c92d,0x00024b76,0x0001c92d},
 835    {0x00000000,0x00000000,0x0000a492,0x000126db,
 836     0x0001b924,0x0001c92d,0x00024b76,0x0001c92d},
 837    {0x00000000,0x00000000,0x0000a492,0x000126db,
 838     0x0001b924,0x0001c92d,0x00024b76,0x0002496e},
 839    {0x00000000,0x00000000,0x00012492,0x000136db,
 840     0x00024924,0x00024b6d,0x0002ddb6,0x00025bbf},
 841    {0x00000000,0x00000000,0x00000000,0x00000000,
 842     0x00000000,0x00000000,0x00000000,0x00000000}
 843   },
 844   { /* version 7, passes 1 */
 845    {0x00000000,0x00000000,0x00001249,0x00001249,
 846     0x0000124a,0x0000124a,0x00001252,0x00001252},
 847    {0x00000000,0x00000000,0x0000924a,0x00009493,
 848     0x00009492,0x00009292,0x00001252,0x00001252},
 849    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 850     0x0000a493,0x0000a49b,0x00001252,0x00001252},
 851    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 852     0x0000a493,0x0000a49b,0x00009292,0x00009292},
 853    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 854     0x0000a493,0x0000a49b,0x00009292,0x00009292},
 855    {0x00000000,0x00000000,0x0000924a,0x0000a49b,
 856     0x000126dc,0x0000a49b,0x00009493,0x00009292},
 857    {0x00000000,0x00000000,0x0000924a,0x000124db,
 858     0x000126dc,0x000124db,0x00009493,0x00009493},
 859    {0x00000000,0x00000000,0x0000924a,0x000124db,
 860     0x000136e4,0x000124db,0x0000a49b,0x00009493},
 861    {0x00000000,0x00000000,0x0000924a,0x000136db,
 862     0x0001b724,0x000124db,0x0000a49b,0x00009493},
 863    {0x00000000,0x00000000,0x0000924a,0x000136db,
 864     0x0001b724,0x000126dc,0x0000a49b,0x0000a49b},
 865    {0x00000000,0x00000000,0x00009292,0x000136db,
 866     0x0001b724,0x000126dc,0x000124db,0x0000a49b},
 867    {0x00000000,0x00000000,0x00009492,0x000136db,
 868     0x0001b724,0x000126dc,0x000124db,0x0000a49b},
 869    {0x00000000,0x00000000,0x0000a492,0x000136db,
 870     0x0001b724,0x000136e4,0x000126dc,0x000124db},
 871    {0x00000000,0x00000000,0x0000a492,0x000136db,
 872     0x0001b724,0x000136e4,0x000126dc,0x000124db},
 873    {0x00000000,0x00000000,0x00012492,0x0001b6db,
 874     0x0001c924,0x0001b724,0x000136e4,0x000126dc},
 875    {0x00000000,0x00000000,0x00000000,0x00000000,
 876     0x00000000,0x00000000,0x00000000,0x00000000}
 877   }
 878  }
 879 };
 880 

/* [<][>][^][v][top][bottom][index][help] */