зеркало из https://github.com/github/ruby.git
1617 строки
59 KiB
C
1617 строки
59 KiB
C
#ifndef HAVE_DES_TABLES
|
|
|
|
/* Initial key schedule permutation */
|
|
static const C_block PC1ROT[64/CHUNKBITS][1<<CHUNKBITS] = {
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 1, 1, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 1, 1, 0, 16, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 0,128, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 0,128, 0, 0, 0,}},
|
|
{{ 0, 16, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 4, 0,128, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 8,128, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 8,128, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 8,128, 0, 0, 0,}},
|
|
{{ 0, 16, 4, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 4, 8,128, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 24,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 24,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 24,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 24,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 4, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 1, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 33, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 33, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 4, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 32, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 4, 33, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 33, 0, 2, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 64, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 64, 8, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 64, 0, 0,128, 0,}},
|
|
{{ 0, 64, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 64, 0, 0,128, 0,}},
|
|
{{128, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 0, 0,128, 0,}},
|
|
{{128, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{128, 64, 0, 0, 0, 0,128, 0,}},
|
|
{{128, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{128, 0, 0, 64, 0, 0,128, 0,}},
|
|
{{128, 64, 0, 64, 0, 0, 0, 0,}},
|
|
{{128, 64, 0, 64, 0, 0,128, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0,136, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,136, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,136, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0,136, 0,128,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 32, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 32, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 32, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 48, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 48, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 48, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 48, 32, 8, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 80, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 80, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 80, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 80, 0, 16, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 8, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 8, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 4, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 4, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 4, 8, 16, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 4,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 2, 0, 0, 4, 0, 4,}},
|
|
{{ 0, 0, 2, 0, 0, 4, 0, 4,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 2,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2,128, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64,128, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 64,128, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0,128, 64,128, 0, 0, 0, 0,}},
|
|
{{ 2,128, 0,128, 0, 0, 0, 0,}},
|
|
{{ 2,128, 64,128, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 64,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 9, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 9, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 72, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 72, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 65, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 65, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 73, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 73, 2, 0, 0, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 36, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 36, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 36, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 36, 32,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 4, 0, 0, 0, 0,}},
|
|
{{ 32, 0,128, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 32, 8, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 8,128, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 8,128, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8,128, 4, 0, 0, 0, 0,}},
|
|
{{ 32, 8,128, 4, 0, 0, 0, 0,}},
|
|
},
|
|
};
|
|
|
|
/* Subsequent key schedule rotation permutations */
|
|
static const C_block PC2ROT[2][64/CHUNKBITS][1<<CHUNKBITS] = {
|
|
{
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 64, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 8, 0,128, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 4, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 8, 0,128, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 68, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 68, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 68, 0, 0, 0, 0,}},
|
|
{{ 8, 0,128, 68, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,136, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0,136, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 36, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 36, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0,136, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 36, 0, 0, 0, 0, 0,}},
|
|
{{ 0,136, 36, 0, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0,128, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 32, 64, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 32, 64, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0,144, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0,144, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0,144, 0, 0, 0, 0,}},
|
|
{{ 32, 64, 0,144, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{132, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{128, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{132, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 5, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{129, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{133, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 5, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{129, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{133, 0, 0, 32, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 64, 0,}},
|
|
{{ 0, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 0, 1, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 0, 32, 0, 64, 0,}},
|
|
{{ 2, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 2, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 2, 0, 0, 0, 32, 0, 64, 0,}},
|
|
{{ 2, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 1, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 2, 1, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 2, 1, 0, 0, 32, 0, 64, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 6, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 6, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 16, 4, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 16, 2, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 6, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 16, 6, 0, 8, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 8,}},
|
|
{{ 0, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 16, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 16, 0, 0, 0, 0,128, 8,}},
|
|
{{ 0, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 32, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 32, 0, 0, 0, 0,128, 8,}},
|
|
{{ 0, 48, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 48, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 48, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 48, 0, 0, 0, 0,128, 8,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 72, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 80, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 24, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 88, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 72, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 80, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 24, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 88, 0, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 24, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 24, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 24, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 24, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 36,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 36,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 2, 0, 4, 0, 32,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 2, 0, 4, 0, 4,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 36,}},
|
|
{{ 0, 0, 0, 2, 0, 4, 0, 36,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 64,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0,144,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4,128,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4,144,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 4, 16,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0,144,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 4,128,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 4,144,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0,128, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0,128, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128, 64, 0, 0,}},
|
|
{{ 0, 0, 2, 0,128, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0,136, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0,136, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 64, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 8, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0,136, 64, 0, 0,}},
|
|
{{ 0, 0, 2, 0,136, 64, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 32, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 40, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 40, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 8, 0,}},
|
|
{{ 0, 0, 1, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 16, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 40, 0,}},
|
|
{{ 0, 0, 1, 0, 16, 0, 32, 0,}},
|
|
{{ 0, 0, 1, 0, 16, 0, 40, 0,}},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 12, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 12, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 12, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 12, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 1, 1, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 5, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 5, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 1, 4, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 5, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 1, 5, 0, 16, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 32, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 4, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 68, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 68, 32, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 64, 32, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 68, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 68, 32, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 40, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 40, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0,160, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,160, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0,136, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,136, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0,168, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,168, 64, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 32,}},
|
|
{{ 0, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 64, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 64, 0, 0, 0, 64, 0, 32,}},
|
|
{{ 8, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 8, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 8, 0, 0, 0, 0, 64, 0, 32,}},
|
|
{{ 8, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 64, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 8, 64, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 8, 64, 0, 0, 0, 64, 0, 32,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0,128, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 32,128, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,160, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0,160, 0,128, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32,160, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 0,128, 0, 0, 0, 0,}},
|
|
{{ 32,160, 0,128, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 12, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 12, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 12, 0, 0, 0,}},
|
|
{{132, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{132, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{132, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{132, 0, 0, 0, 12, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 18, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 18, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 10, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 10, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 10, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 18, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 18, 10, 0, 0, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 16,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 64,}},
|
|
{{ 0, 0, 1, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 32, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 64,}},
|
|
{{ 0, 0, 1, 0, 0, 0,128, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0,128, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 32,128, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32,128, 64,}},
|
|
{{ 0, 0, 1, 0, 0, 32,128, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 32,128, 64,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 32, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 1, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 16, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 4,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 8, 4,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 8, 4,}},
|
|
{{ 0, 0, 0, 1, 16, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 1, 16, 0, 8, 4,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 8,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0,128,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0,128,}},
|
|
{{ 0, 0, 0, 2, 32, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 32, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0,128,}},
|
|
{{ 0, 0, 0, 0, 32, 16, 0,128,}},
|
|
{{ 0, 0, 0, 2, 0, 16, 0,128,}},
|
|
{{ 0, 0, 0, 2, 32, 16, 0,128,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 4, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 64, 0,}},
|
|
{{ 0, 0, 0, 0,128, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0,128,128, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,132, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0,132, 64, 0,}},
|
|
{{ 0, 0, 0, 0,128, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128,132, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128, 4, 64, 0,}},
|
|
{{ 0, 0, 0, 0,128,132, 64, 0,}},
|
|
},
|
|
},
|
|
};
|
|
|
|
/* Initial permutation/expansion table */
|
|
static const C_block IE3264[32/CHUNKBITS][1<<CHUNKBITS] = {
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 4,}},
|
|
{{ 4, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 4, 0, 0, 0, 0, 0, 64, 68,}},
|
|
{{ 0, 0, 0, 0, 64, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 4, 64, 4,}},
|
|
{{ 4, 0, 0, 0, 64, 4, 0, 64,}},
|
|
{{ 4, 0, 0, 0, 64, 4, 64, 68,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 68, 4,}},
|
|
{{ 4, 0, 0, 0, 0, 64, 4, 64,}},
|
|
{{ 4, 0, 0, 0, 0, 64, 68, 68,}},
|
|
{{ 0, 0, 0, 0, 64, 68, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 68, 68, 4,}},
|
|
{{ 4, 0, 0, 0, 64, 68, 4, 64,}},
|
|
{{ 4, 0, 0, 0, 64, 68, 68, 68,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 64, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 68, 4, 0, 0, 0,}},
|
|
{{ 64, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 4, 64, 4, 0, 0, 0, 0,}},
|
|
{{ 64, 4, 0, 64, 4, 0, 0, 0,}},
|
|
{{ 64, 4, 64, 68, 4, 0, 0, 0,}},
|
|
{{ 0, 64, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 68, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 4, 64, 4, 0, 0, 0,}},
|
|
{{ 0, 64, 68, 68, 4, 0, 0, 0,}},
|
|
{{ 64, 68, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 68, 68, 4, 0, 0, 0, 0,}},
|
|
{{ 64, 68, 4, 64, 4, 0, 0, 0,}},
|
|
{{ 64, 68, 68, 68, 4, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 32, 32,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 32, 32, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 16, 16,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 16, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 16, 16, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 8,}},
|
|
{{ 0, 0, 0, 0, 0,128,136, 8,}},
|
|
{{ 0, 0, 0,128, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 0,128, 8,128, 8, 0,}},
|
|
{{ 0, 0, 0,128, 8, 0,128, 8,}},
|
|
{{ 0, 0, 0,128, 8,128,136, 8,}},
|
|
{{ 0, 0, 0, 0,128, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128,136, 8, 0,}},
|
|
{{ 0, 0, 0, 0,128, 8,128, 8,}},
|
|
{{ 0, 0, 0, 0,128,136,136, 8,}},
|
|
{{ 0, 0, 0,128,136, 8, 0, 0,}},
|
|
{{ 0, 0, 0,128,136,136, 8, 0,}},
|
|
{{ 0, 0, 0,128,136, 8,128, 8,}},
|
|
{{ 0, 0, 0,128,136,136,136, 8,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 8, 0, 0, 0, 0,}},
|
|
{{ 0,128,136, 8, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 0, 0, 0, 0,128,}},
|
|
{{ 8,128, 8, 0, 0, 0, 0,128,}},
|
|
{{ 8, 0,128, 8, 0, 0, 0,128,}},
|
|
{{ 8,128,136, 8, 0, 0, 0,128,}},
|
|
{{128, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{128,136, 8, 0, 0, 0, 0, 0,}},
|
|
{{128, 8,128, 8, 0, 0, 0, 0,}},
|
|
{{128,136,136, 8, 0, 0, 0, 0,}},
|
|
{{136, 8, 0, 0, 0, 0, 0,128,}},
|
|
{{136,136, 8, 0, 0, 0, 0,128,}},
|
|
{{136, 8,128, 8, 0, 0, 0,128,}},
|
|
{{136,136,136, 8, 0, 0, 0,128,}},
|
|
},
|
|
};
|
|
|
|
/* Table that combines the S, P, and E operations. */
|
|
static const unsigned long SPE[2][8][64] = {
|
|
{
|
|
{
|
|
0x80088000,0x80000000, 0,0x80088000,
|
|
0,0x80088000,0x80000000, 0,
|
|
0x80088000,0x80088000,0x80000000, 0x88000,
|
|
0x88000, 0, 0,0x80000000,
|
|
0x80000000, 0, 0x88000,0x80088000,
|
|
0x80088000,0x80000000, 0x88000, 0x88000,
|
|
0, 0x88000,0x80088000,0x80000000,
|
|
0x88000, 0x88000,0x80000000, 0,
|
|
0,0x80088000, 0x88000,0x80000000,
|
|
0x80088000,0x80000000, 0x88000, 0x88000,
|
|
0x80000000, 0x88000,0x80088000, 0,
|
|
0x80088000, 0, 0,0x80000000,
|
|
0x80088000,0x80088000,0x80000000, 0x88000,
|
|
0, 0x88000,0x80000000, 0,
|
|
0x80000000, 0, 0x88000,0x80088000,
|
|
0,0x80000000, 0x88000,0x80088000,
|
|
},
|
|
{
|
|
0x8800010, 0, 0x8800000, 0,
|
|
0x10, 0x8800010, 0x8800000, 0x8800000,
|
|
0x8800000, 0x10, 0x10, 0x8800000,
|
|
0x10, 0x8800000, 0, 0x10,
|
|
0, 0x8800010, 0x10, 0x8800000,
|
|
0x8800010, 0, 0, 0x10,
|
|
0x8800010, 0x8800010, 0x8800000, 0x10,
|
|
0, 0, 0x8800010, 0x8800010,
|
|
0x10, 0x8800000, 0x8800000, 0x8800010,
|
|
0x8800010, 0x10, 0x10, 0,
|
|
0, 0x8800010, 0, 0x10,
|
|
0x8800000, 0, 0x8800010, 0x8800010,
|
|
0x8800000, 0x8800000, 0, 0x10,
|
|
0x10, 0x8800010, 0x8800000, 0,
|
|
0x10, 0, 0x8800010, 0x8800000,
|
|
0x8800010, 0x10, 0, 0x8800000,
|
|
},
|
|
{
|
|
0,0x40001000, 0x1000, 0x1000,
|
|
0x40000000, 0, 0x1000,0x40001000,
|
|
0x1000,0x40000000,0x40000000, 0,
|
|
0x40001000, 0x1000, 0,0x40000000,
|
|
0,0x40000000,0x40001000, 0x1000,
|
|
0x1000,0x40001000,0x40000000, 0,
|
|
0x40000000, 0x1000,0x40001000,0x40000000,
|
|
0x40001000, 0, 0,0x40001000,
|
|
0x40001000, 0x1000, 0,0x40000000,
|
|
0x1000,0x40000000,0x40000000, 0x1000,
|
|
0,0x40001000,0x40001000,0x40000000,
|
|
0x40000000, 0,0x40001000, 0,
|
|
0x40001000, 0, 0,0x40001000,
|
|
0x40000000, 0x1000, 0x1000,0x40001000,
|
|
0x1000, 0,0x40000000, 0x1000,
|
|
0,0x40001000, 0x1000,0x40000000,
|
|
},
|
|
{
|
|
0x100008, 0x100000, 0x8, 0x100008,
|
|
0, 0, 0x100008, 0x8,
|
|
0x100000, 0x8, 0, 0x100008,
|
|
0x8, 0x100008, 0, 0,
|
|
0x8, 0x100000, 0x100000, 0x8,
|
|
0x100000, 0x100008, 0, 0x100000,
|
|
0x100008, 0, 0x8, 0x100000,
|
|
0x100000, 0x8, 0x100008, 0,
|
|
0x8, 0x100008, 0, 0x8,
|
|
0x100000, 0x100000, 0x8, 0,
|
|
0x100008, 0, 0x100000, 0x8,
|
|
0, 0x8, 0x100000, 0x100000,
|
|
0, 0x100008, 0x100008, 0,
|
|
0x100008, 0x8, 0x100000, 0x100008,
|
|
0x8, 0x100000, 0, 0x100008,
|
|
0x100008, 0, 0x8, 0x100000,
|
|
},
|
|
{
|
|
0,0x10000000, 0x44000,0x10044020,
|
|
0x10000020, 0x44000,0x10044020,0x10000000,
|
|
0x10000000, 0x20, 0x20,0x10044000,
|
|
0x44020,0x10000020,0x10044000, 0,
|
|
0x10044000, 0,0x10000020, 0x44020,
|
|
0x44000,0x10044020, 0, 0x20,
|
|
0x20, 0x44020,0x10044020,0x10000020,
|
|
0x10000000, 0x44000, 0x44020,0x10044000,
|
|
0x10044000, 0x44020,0x10000020,0x10000000,
|
|
0x10000000, 0x20, 0x20, 0x44000,
|
|
0,0x10044000,0x10044020, 0,
|
|
0x10044020, 0, 0x44000,0x10000020,
|
|
0x44020, 0x44000, 0,0x10044020,
|
|
0x10000020,0x10044000, 0x44020,0x10000000,
|
|
0x10044000,0x10000020, 0x44000, 0x44020,
|
|
0x20,0x10044020,0x10000000, 0x20,
|
|
},
|
|
{
|
|
0x440, 0x440, 0, 0x200000,
|
|
0x440, 0x200000, 0x200440, 0,
|
|
0x200440, 0x200440, 0x200000, 0,
|
|
0x200000, 0x440, 0, 0x200440,
|
|
0, 0x200440, 0x440, 0,
|
|
0x200000, 0x440, 0x200000, 0x440,
|
|
0x200440, 0, 0, 0x200440,
|
|
0x440, 0x200000, 0x200440, 0x200000,
|
|
0x200440, 0, 0x200000, 0x200440,
|
|
0x200000, 0x440, 0, 0x200000,
|
|
0, 0x200000, 0x440, 0,
|
|
0x440, 0x200440, 0x200000, 0x440,
|
|
0x200440, 0x200000, 0, 0x200440,
|
|
0x440, 0, 0x200440, 0,
|
|
0x200000, 0x440, 0x200440, 0x200000,
|
|
0, 0x200440, 0x440, 0x440,
|
|
},
|
|
{
|
|
0x4400000, 0x2000, 0x2000, 0x4,
|
|
0x4402004, 0x4400004, 0x4402000, 0,
|
|
0, 0x2004, 0x2004, 0x4400000,
|
|
0x4, 0x4402000, 0x4400000, 0x2004,
|
|
0x2004, 0x4400000, 0x4400004, 0x4402004,
|
|
0, 0x2000, 0x4, 0x4402000,
|
|
0x4400004, 0x4402004, 0x4402000, 0x4,
|
|
0x4402004, 0x4400004, 0x2000, 0,
|
|
0x4402004, 0x4400000, 0x4400004, 0x2004,
|
|
0x4400000, 0x2000, 0, 0x4400004,
|
|
0x2004, 0x4402004, 0x4402000, 0,
|
|
0x2000, 0x4, 0x4, 0x2000,
|
|
0, 0x2004, 0x2000, 0x4402000,
|
|
0x2004, 0x4400000, 0x4402004, 0,
|
|
0x4402000, 0x4, 0x4400004, 0x4402004,
|
|
0x4, 0x4402000, 0x4400000, 0x4400004,
|
|
},
|
|
{
|
|
0x880,0x20000000,0x20000880, 0,
|
|
0x20000000, 0x880, 0,0x20000880,
|
|
0x880, 0,0x20000000,0x20000880,
|
|
0x20000880,0x20000880, 0x880, 0,
|
|
0x20000000,0x20000880, 0x880,0x20000000,
|
|
0x20000880, 0x880, 0,0x20000000,
|
|
0, 0,0x20000880, 0x880,
|
|
0,0x20000000,0x20000000, 0x880,
|
|
0,0x20000000, 0x880,0x20000880,
|
|
0x20000880, 0, 0,0x20000000,
|
|
0x880,0x20000880,0x20000000, 0x880,
|
|
0x20000000, 0x880, 0x880,0x20000000,
|
|
0x20000880, 0, 0, 0x880,
|
|
0x20000000,0x20000880,0x20000880, 0,
|
|
0x880,0x20000000,0x20000880, 0,
|
|
0, 0x880,0x20000000,0x20000880,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
0x2008, 0x8,0x20002000,0x20002008,
|
|
0x2000,0x20000008,0x20000008,0x20002000,
|
|
0x20000008, 0x2008, 0x2008,0x20000000,
|
|
0x20002000, 0x2000, 0,0x20000008,
|
|
0x8,0x20000000, 0x2000, 0x8,
|
|
0x20002008, 0x2008,0x20000000, 0x2000,
|
|
0x20000000, 0, 0x8,0x20002008,
|
|
0,0x20002000,0x20002008, 0,
|
|
0,0x20002008, 0x2000,0x20000008,
|
|
0x2008, 0x8,0x20000000, 0x2000,
|
|
0x20002008, 0, 0x8,0x20002000,
|
|
0x20000008,0x20000000,0x20002000, 0x2008,
|
|
0x20002008, 0x8, 0x2008,0x20002000,
|
|
0x2000,0x20000000,0x20000008, 0,
|
|
0x8, 0x2000,0x20002000, 0x2008,
|
|
0x20000000,0x20002008, 0,0x20000008,
|
|
},
|
|
{
|
|
0x4400010, 0, 0x10, 0x4400010,
|
|
0x4400000, 0, 0x4400000, 0x10,
|
|
0, 0x4400010, 0, 0x4400000,
|
|
0x10, 0x4400010, 0x4400010, 0,
|
|
0x10, 0x4400000, 0x4400010, 0,
|
|
0x10, 0x4400000, 0, 0x10,
|
|
0x4400000, 0x10, 0x4400010, 0x4400000,
|
|
0x4400000, 0x10, 0, 0x4400010,
|
|
0x10, 0x4400010, 0x4400000, 0x10,
|
|
0x4400010, 0x10, 0x4400000, 0,
|
|
0x4400000, 0, 0x10, 0x4400010,
|
|
0, 0x4400000, 0x10, 0x4400000,
|
|
0x4400010, 0, 0, 0x4400000,
|
|
0, 0x4400010, 0x10, 0x4400010,
|
|
0x4400010, 0x10, 0, 0x4400000,
|
|
0x4400000, 0, 0x4400010, 0x10,
|
|
},
|
|
{
|
|
0x10044000, 0x44004, 0,0x10044000,
|
|
0x10000004, 0x44000,0x10044000, 0x4,
|
|
0x44000, 0x4, 0x44004,0x10000000,
|
|
0x10044004,0x10000000,0x10000000,0x10044004,
|
|
0,0x10000004, 0x44004, 0,
|
|
0x10000000,0x10044004, 0x4,0x10044000,
|
|
0x10044004, 0x44000,0x10000004, 0x44004,
|
|
0x4, 0, 0x44000,0x10000004,
|
|
0x44004, 0,0x10000000, 0x4,
|
|
0x10000000,0x10000004, 0x44004,0x10044000,
|
|
0, 0x44004, 0x4,0x10044004,
|
|
0x10000004, 0x44000,0x10044004,0x10000000,
|
|
0x10000004,0x10044000, 0x44000,0x10044004,
|
|
0x4, 0x44000,0x10044000, 0x4,
|
|
0x44000, 0,0x10044004,0x10000000,
|
|
0x10044000,0x10000004, 0, 0x44004,
|
|
},
|
|
{
|
|
0x80000440, 0x100000,0x80000000,0x80100440,
|
|
0, 0x100440,0x80100000,0x80000440,
|
|
0x100440,0x80100000, 0x100000,0x80000000,
|
|
0x80100000,0x80000440, 0x440, 0x100000,
|
|
0x80100440, 0x440, 0,0x80000000,
|
|
0x440,0x80100000, 0x100440, 0,
|
|
0x80000000, 0,0x80000440, 0x100440,
|
|
0x100000,0x80100440,0x80100440, 0x440,
|
|
0x80100440,0x80000000, 0x440,0x80100000,
|
|
0x440, 0x100000,0x80000000, 0x100440,
|
|
0x80100000, 0, 0,0x80000440,
|
|
0,0x80100440, 0x100440, 0,
|
|
0x100000,0x80100440,0x80000440, 0x440,
|
|
0x80100440,0x80000000, 0x100000,0x80000440,
|
|
0x80000440, 0x440, 0x100440,0x80100000,
|
|
0x80000000, 0x100000,0x80100000, 0x100440,
|
|
},
|
|
{
|
|
0x88000, 0, 0, 0x88000,
|
|
0x88000, 0x88000, 0, 0x88000,
|
|
0, 0, 0x88000, 0,
|
|
0x88000, 0x88000, 0x88000, 0,
|
|
0, 0x88000, 0, 0,
|
|
0x88000, 0, 0, 0x88000,
|
|
0, 0x88000, 0x88000, 0,
|
|
0x88000, 0, 0, 0x88000,
|
|
0x88000, 0x88000, 0, 0x88000,
|
|
0, 0, 0x88000, 0x88000,
|
|
0x88000, 0, 0x88000, 0,
|
|
0, 0x88000, 0, 0,
|
|
0x88000, 0, 0, 0x88000,
|
|
0x88000, 0x88000, 0, 0,
|
|
0, 0x88000, 0x88000, 0,
|
|
0, 0, 0x88000, 0x88000,
|
|
},
|
|
{
|
|
0x8800000, 0x20, 0, 0x8800020,
|
|
0x20, 0, 0x8800000, 0x20,
|
|
0, 0x8800020, 0x20, 0x8800000,
|
|
0x8800000, 0x8800000, 0x8800020, 0x20,
|
|
0x20, 0x8800000, 0x8800020, 0,
|
|
0, 0, 0x8800020, 0x8800020,
|
|
0x8800020, 0x8800020, 0x8800000, 0,
|
|
0, 0x20, 0x20, 0x8800000,
|
|
0, 0x8800000, 0x8800000, 0x20,
|
|
0x8800020, 0x20, 0, 0x8800000,
|
|
0x8800000, 0, 0x8800020, 0x20,
|
|
0x20, 0x8800020, 0x20, 0,
|
|
0x8800020, 0x20, 0x20, 0x8800000,
|
|
0x8800000, 0x8800020, 0x20, 0,
|
|
0, 0x8800000, 0x8800000, 0x8800020,
|
|
0x8800020, 0, 0, 0x8800020,
|
|
},
|
|
{
|
|
0, 0, 0x1000,0x40001000,
|
|
0x40001000,0x40000000, 0, 0,
|
|
0x1000,0x40001000,0x40000000, 0x1000,
|
|
0x40000000, 0x1000, 0x1000,0x40000000,
|
|
0x40001000, 0,0x40000000,0x40001000,
|
|
0, 0x1000,0x40001000, 0,
|
|
0x40001000,0x40000000, 0x1000,0x40000000,
|
|
0x40000000,0x40001000, 0, 0x1000,
|
|
0x40000000, 0x1000,0x40001000,0x40000000,
|
|
0, 0, 0x1000,0x40001000,
|
|
0x40001000,0x40000000, 0, 0,
|
|
0,0x40001000,0x40000000, 0x1000,
|
|
0,0x40001000, 0x1000, 0,
|
|
0x40000000, 0,0x40001000, 0x1000,
|
|
0x1000,0x40000000,0x40000000,0x40001000,
|
|
0x40001000, 0x1000, 0x1000,0x40000000,
|
|
},
|
|
{
|
|
0x200880, 0x200880, 0, 0,
|
|
0x200000, 0x880, 0x200880, 0x200880,
|
|
0, 0x200000, 0x880, 0,
|
|
0x880, 0x200000, 0x200000, 0x200880,
|
|
0, 0x880, 0x880, 0x200000,
|
|
0x200880, 0x200000, 0, 0x880,
|
|
0x200000, 0x880, 0x200000, 0x200880,
|
|
0x880, 0, 0x200880, 0,
|
|
0x880, 0, 0x200000, 0x200880,
|
|
0, 0x200000, 0, 0x880,
|
|
0x200880, 0x200000, 0x200000, 0x880,
|
|
0x200880, 0, 0x880, 0x200000,
|
|
0x200880, 0x880, 0x200880, 0x200000,
|
|
0x880, 0, 0x200000, 0x200880,
|
|
0, 0x200880, 0x880, 0,
|
|
0x200000, 0x200880, 0, 0x880,
|
|
},
|
|
},
|
|
};
|
|
|
|
/* compressed/interleaved => final permutation table */
|
|
static const C_block CF6464[64/CHUNKBITS][1<<CHUNKBITS] = {
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 64, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 64, 64, 64,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 0, 64, 64,}},
|
|
{{ 0, 0, 0, 0, 64, 64, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 64, 0, 64,}},
|
|
{{ 0, 0, 0, 0, 64, 64, 64, 0,}},
|
|
{{ 0, 0, 0, 0, 64, 64, 64, 64,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 4, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 4, 4, 4,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 0, 4, 4,}},
|
|
{{ 0, 0, 0, 0, 4, 4, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 4, 0, 4,}},
|
|
{{ 0, 0, 0, 0, 4, 4, 4, 0,}},
|
|
{{ 0, 0, 0, 0, 4, 4, 4, 4,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 64, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 64, 64, 64, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 0, 64, 64, 0, 0, 0, 0,}},
|
|
{{ 64, 64, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 64, 0, 64, 0, 0, 0, 0,}},
|
|
{{ 64, 64, 64, 0, 0, 0, 0, 0,}},
|
|
{{ 64, 64, 64, 64, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 4, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 4, 4, 4, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 0, 4, 4, 0, 0, 0, 0,}},
|
|
{{ 4, 4, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 4, 0, 4, 0, 0, 0, 0,}},
|
|
{{ 4, 4, 4, 0, 0, 0, 0, 0,}},
|
|
{{ 4, 4, 4, 4, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 16, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 0, 16, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 0, 16,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 16, 0,}},
|
|
{{ 0, 0, 0, 0, 16, 16, 16, 16,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 1,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 1, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 1, 1,}},
|
|
{{ 0, 0, 0, 0, 0, 1, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 1, 0, 1,}},
|
|
{{ 0, 0, 0, 0, 0, 1, 1, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 1, 1, 1,}},
|
|
{{ 0, 0, 0, 0, 1, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 1, 0, 0, 1,}},
|
|
{{ 0, 0, 0, 0, 1, 0, 1, 0,}},
|
|
{{ 0, 0, 0, 0, 1, 0, 1, 1,}},
|
|
{{ 0, 0, 0, 0, 1, 1, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 1, 1, 0, 1,}},
|
|
{{ 0, 0, 0, 0, 1, 1, 1, 0,}},
|
|
{{ 0, 0, 0, 0, 1, 1, 1, 1,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 16, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 16, 16, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 0, 16, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 0, 16, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 16, 0, 0, 0, 0, 0,}},
|
|
{{ 16, 16, 16, 16, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 1, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 1, 1, 1, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 0, 1, 1, 0, 0, 0, 0,}},
|
|
{{ 1, 1, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 1, 0, 1, 0, 0, 0, 0,}},
|
|
{{ 1, 1, 1, 0, 0, 0, 0, 0,}},
|
|
{{ 1, 1, 1, 1, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0,128,128,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128, 0,128,}},
|
|
{{ 0, 0, 0, 0, 0,128,128, 0,}},
|
|
{{ 0, 0, 0, 0, 0,128,128,128,}},
|
|
{{ 0, 0, 0, 0,128, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128, 0, 0,128,}},
|
|
{{ 0, 0, 0, 0,128, 0,128, 0,}},
|
|
{{ 0, 0, 0, 0,128, 0,128,128,}},
|
|
{{ 0, 0, 0, 0,128,128, 0, 0,}},
|
|
{{ 0, 0, 0, 0,128,128, 0,128,}},
|
|
{{ 0, 0, 0, 0,128,128,128, 0,}},
|
|
{{ 0, 0, 0, 0,128,128,128,128,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 8, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 8, 8, 8,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 0, 8, 8,}},
|
|
{{ 0, 0, 0, 0, 8, 8, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 8, 0, 8,}},
|
|
{{ 0, 0, 0, 0, 8, 8, 8, 0,}},
|
|
{{ 0, 0, 0, 0, 8, 8, 8, 8,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0,128,128, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128, 0,128, 0, 0, 0, 0,}},
|
|
{{ 0,128,128, 0, 0, 0, 0, 0,}},
|
|
{{ 0,128,128,128, 0, 0, 0, 0,}},
|
|
{{128, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{128, 0, 0,128, 0, 0, 0, 0,}},
|
|
{{128, 0,128, 0, 0, 0, 0, 0,}},
|
|
{{128, 0,128,128, 0, 0, 0, 0,}},
|
|
{{128,128, 0, 0, 0, 0, 0, 0,}},
|
|
{{128,128, 0,128, 0, 0, 0, 0,}},
|
|
{{128,128,128, 0, 0, 0, 0, 0,}},
|
|
{{128,128,128,128, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 8, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 8, 8, 8, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 0, 8, 8, 0, 0, 0, 0,}},
|
|
{{ 8, 8, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 8, 0, 8, 0, 0, 0, 0,}},
|
|
{{ 8, 8, 8, 0, 0, 0, 0, 0,}},
|
|
{{ 8, 8, 8, 8, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 32, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 0, 32, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 0, 32,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 32, 0,}},
|
|
{{ 0, 0, 0, 0, 32, 32, 32, 32,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 2,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 2, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 0, 2, 2,}},
|
|
{{ 0, 0, 0, 0, 0, 2, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 2, 0, 2,}},
|
|
{{ 0, 0, 0, 0, 0, 2, 2, 0,}},
|
|
{{ 0, 0, 0, 0, 0, 2, 2, 2,}},
|
|
{{ 0, 0, 0, 0, 2, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 2, 0, 0, 2,}},
|
|
{{ 0, 0, 0, 0, 2, 0, 2, 0,}},
|
|
{{ 0, 0, 0, 0, 2, 0, 2, 2,}},
|
|
{{ 0, 0, 0, 0, 2, 2, 0, 0,}},
|
|
{{ 0, 0, 0, 0, 2, 2, 0, 2,}},
|
|
{{ 0, 0, 0, 0, 2, 2, 2, 0,}},
|
|
{{ 0, 0, 0, 0, 2, 2, 2, 2,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 32, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 0, 32, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 0, 32, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 32, 0, 0, 0, 0, 0,}},
|
|
{{ 32, 32, 32, 32, 0, 0, 0, 0,}},
|
|
},
|
|
{
|
|
{{ 0, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 0, 2, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 0, 2, 2, 2, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 0, 2, 2, 0, 0, 0, 0,}},
|
|
{{ 2, 2, 0, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 2, 0, 2, 0, 0, 0, 0,}},
|
|
{{ 2, 2, 2, 0, 0, 0, 0, 0,}},
|
|
{{ 2, 2, 2, 2, 0, 0, 0, 0,}},
|
|
},
|
|
};
|
|
|
|
#define HAVE_DES_TABLES 1
|
|
#endif
|