#[derive(Clone, Copy)]
pub struct BlockModeDesc {
pub dp: bool,
pub cem: u32,
pub num_partitions: u32,
pub grid_x: u32,
pub grid_y: u32,
pub endpoint_ise_range: u32,
pub weight_ise_range: u32,
pub transcode_endpoint_ise_range: u32,
pub transcode_weight_ise_range: u32,
#[allow(dead_code)]
pub flags: u32,
pub dp_channel: u32,
}
pub static BLOCK_MODE_DESCS: [BlockModeDesc; 75] = [
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 20,
weight_ise_range: 1,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 1,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 15,
weight_ise_range: 2,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 5,
endpoint_ise_range: 16,
weight_ise_range: 3,
transcode_endpoint_ise_range: 16,
transcode_weight_ise_range: 3,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 5,
grid_y: 6,
endpoint_ise_range: 16,
weight_ise_range: 3,
transcode_endpoint_ise_range: 16,
transcode_weight_ise_range: 3,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 4,
endpoint_ise_range: 15,
weight_ise_range: 5,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 5,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 4,
grid_y: 6,
endpoint_ise_range: 15,
weight_ise_range: 5,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 5,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 15,
weight_ise_range: 8,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 8,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 15,
weight_ise_range: 8,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 8,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 5,
grid_y: 5,
endpoint_ise_range: 14,
weight_ise_range: 5,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 5,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 19,
weight_ise_range: 8,
transcode_endpoint_ise_range: 19,
transcode_weight_ise_range: 8,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 3,
endpoint_ise_range: 20,
weight_ise_range: 8,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 8,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 16,
weight_ise_range: 3,
transcode_endpoint_ise_range: 16,
transcode_weight_ise_range: 3,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 20,
weight_ise_range: 1,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 1,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 20,
weight_ise_range: 2,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 2,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 5,
grid_y: 6,
endpoint_ise_range: 20,
weight_ise_range: 4,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 4,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 6,
grid_y: 5,
endpoint_ise_range: 20,
weight_ise_range: 4,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 4,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 20,
weight_ise_range: 9,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 9,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 1,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 20,
weight_ise_range: 9,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 9,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 0,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 0,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 13,
weight_ise_range: 1,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 1,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 13,
weight_ise_range: 1,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 1,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 2,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 2,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 11,
weight_ise_range: 2,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 2,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 4,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 1,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 2,
grid_x: 6,
grid_y: 4,
endpoint_ise_range: 11,
weight_ise_range: 1,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 5,
grid_y: 6,
endpoint_ise_range: 15,
weight_ise_range: 1,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 1,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 6,
grid_y: 5,
endpoint_ise_range: 15,
weight_ise_range: 1,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 1,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 4,
grid_y: 6,
endpoint_ise_range: 15,
weight_ise_range: 2,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 2,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 6,
grid_y: 4,
endpoint_ise_range: 15,
weight_ise_range: 2,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 2,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 1,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 1,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 19,
weight_ise_range: 0,
transcode_endpoint_ise_range: 19,
transcode_weight_ise_range: 0,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 5,
grid_y: 5,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 13,
weight_ise_range: 5,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 5,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 13,
weight_ise_range: 5,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 5,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 15,
weight_ise_range: 4,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 4,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 2,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 15,
weight_ise_range: 4,
transcode_endpoint_ise_range: 15,
transcode_weight_ise_range: 4,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 1,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 2,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 1,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 2,
flags: 7,
dp_channel: 2,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 8,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 8,
flags: 6,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 8,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 8,
flags: 6,
dp_channel: 1,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 3,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 8,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 8,
flags: 6,
dp_channel: 2,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 13,
weight_ise_range: 3,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 3,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 13,
weight_ise_range: 3,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 3,
flags: 4,
dp_channel: 1,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 13,
weight_ise_range: 3,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 3,
flags: 4,
dp_channel: 2,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 5,
grid_y: 5,
endpoint_ise_range: 20,
weight_ise_range: 0,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 5,
grid_y: 5,
endpoint_ise_range: 20,
weight_ise_range: 0,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 1,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 5,
grid_y: 5,
endpoint_ise_range: 20,
weight_ise_range: 0,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 2,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 2,
grid_y: 2,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 5,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 2,
grid_y: 2,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 5,
flags: 7,
dp_channel: 1,
},
BlockModeDesc {
dp: true,
cem: 11,
num_partitions: 1,
grid_x: 2,
grid_y: 2,
endpoint_ise_range: 14,
weight_ise_range: 2,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 5,
flags: 7,
dp_channel: 2,
},
BlockModeDesc {
dp: false,
cem: 11,
num_partitions: 1,
grid_x: 2,
grid_y: 2,
endpoint_ise_range: 17,
weight_ise_range: 0,
transcode_endpoint_ise_range: 20,
transcode_weight_ise_range: 1,
flags: 7,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 0,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 5,
grid_y: 5,
endpoint_ise_range: 14,
weight_ise_range: 0,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 14,
weight_ise_range: 1,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 1,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 12,
weight_ise_range: 2,
transcode_endpoint_ise_range: 12,
transcode_weight_ise_range: 2,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 4,
grid_y: 4,
endpoint_ise_range: 11,
weight_ise_range: 3,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 3,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 3,
grid_y: 3,
endpoint_ise_range: 14,
weight_ise_range: 5,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 5,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 4,
endpoint_ise_range: 14,
weight_ise_range: 0,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 4,
grid_y: 6,
endpoint_ise_range: 14,
weight_ise_range: 0,
transcode_endpoint_ise_range: 14,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 4,
endpoint_ise_range: 11,
weight_ise_range: 1,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 4,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 1,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 5,
endpoint_ise_range: 13,
weight_ise_range: 0,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 5,
grid_y: 6,
endpoint_ise_range: 13,
weight_ise_range: 0,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 0,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 13,
weight_ise_range: 1,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 13,
weight_ise_range: 1,
transcode_endpoint_ise_range: 13,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 11,
weight_ise_range: 2,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 2,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 11,
weight_ise_range: 2,
transcode_endpoint_ise_range: 11,
transcode_weight_ise_range: 2,
flags: 4,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 6,
grid_y: 3,
endpoint_ise_range: 10,
weight_ise_range: 3,
transcode_endpoint_ise_range: 10,
transcode_weight_ise_range: 3,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 3,
grid_y: 6,
endpoint_ise_range: 10,
weight_ise_range: 3,
transcode_endpoint_ise_range: 10,
transcode_weight_ise_range: 3,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 5,
grid_y: 4,
endpoint_ise_range: 12,
weight_ise_range: 1,
transcode_endpoint_ise_range: 12,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
BlockModeDesc {
dp: false,
cem: 7,
num_partitions: 3,
grid_x: 4,
grid_y: 5,
endpoint_ise_range: 12,
weight_ise_range: 1,
transcode_endpoint_ise_range: 12,
transcode_weight_ise_range: 1,
flags: 0,
dp_channel: 0,
},
];
pub static REUSE_XY_DELTAS: [(i8, i8); 32] = [
(-1, 0),
(-2, 0),
(-3, 0),
(-4, 0),
(3, -1),
(2, -1),
(1, -1),
(0, -1),
(-1, -1),
(-2, -1),
(-3, -1),
(-4, -1),
(3, -2),
(2, -2),
(1, -2),
(0, -2),
(-1, -2),
(-2, -2),
(-3, -2),
(-4, -2),
(3, -3),
(2, -3),
(1, -3),
(0, -3),
(-1, -3),
(-2, -3),
(-3, -3),
(-4, -3),
(3, -4),
(2, -4),
(1, -4),
(0, -4),
];
pub static PART2_UNIQUE_INDEX_TO_SEED: [u16; 521] = [
86, 959, 936, 476, 1007, 672, 447, 423, 488, 422, 273, 65, 267, 786, 585, 195, 108, 731, 878,
812, 264, 125, 868, 581, 258, 390, 549, 872, 661, 352, 645, 543, 988, 906, 903, 616, 482, 529,
3, 286, 272, 303, 151, 504, 498, 260, 79, 66, 608, 769, 305, 610, 1014, 967, 835, 789, 7, 951,
691, 15, 763, 976, 438, 314, 601, 673, 177, 252, 615, 436, 220, 899, 623, 433, 674, 278, 797,
107, 847, 114, 470, 760, 821, 490, 329, 945, 387, 471, 225, 172, 83, 418, 966, 439, 316, 247,
43, 343, 625, 798, 1, 61, 73, 307, 136, 474, 42, 664, 1013, 249, 389, 227, 374, 121, 48, 538,
226, 309, 554, 802, 834, 335, 495, 10, 955, 461, 293, 508, 153, 101, 63, 139, 31, 687, 132,
174, 324, 545, 289, 39, 178, 594, 963, 854, 222, 323, 998, 964, 598, 475, 720, 1019, 983, 91,
703, 614, 394, 612, 281, 207, 930, 758, 586, 128, 517, 426, 306, 168, 713, 36, 458, 876, 368,
780, 5, 9, 214, 109, 553, 726, 175, 103, 753, 684, 44, 665, 53, 500, 367, 611, 119, 732, 639,
326, 203, 156, 686, 910, 255, 62, 392, 591, 112, 88, 213, 19, 1022, 478, 90, 486, 799, 702,
730, 414, 99, 1008, 142, 886, 373, 216, 69, 393, 299, 648, 415, 822, 912, 110, 567, 550, 693,
2, 138, 59, 271, 562, 295, 714, 719, 199, 893, 831, 1006, 662, 235, 262, 78, 51, 902, 298, 190,
169, 583, 347, 890, 958, 909, 49, 987, 696, 633, 480, 50, 764, 826, 1023, 1016, 437, 891, 774,
257, 724, 791, 526, 593, 690, 638, 858, 895, 794, 995, 130, 87, 877, 819, 318, 649, 376, 211,
284, 937, 370, 688, 229, 994, 115, 842, 60, 521, 95, 694, 804, 146, 754, 487, 55, 17, 770, 450,
223, 4, 137, 911, 236, 683, 523, 47, 181, 24, 270, 602, 736, 11, 355, 148, 351, 762, 1009, 16,
210, 619, 805, 874, 807, 887, 403, 999, 810, 27, 402, 551, 135, 778, 33, 409, 993, 71, 363,
159, 183, 77, 596, 670, 380, 968, 811, 404, 348, 539, 158, 578, 196, 621, 68, 530, 193, 100,
167, 919, 353, 366, 327, 643, 948, 518, 756, 801, 558, 28, 705, 116, 94, 898, 453, 622, 647,
231, 445, 652, 230, 191, 277, 292, 254, 198, 766, 386, 232, 29, 70, 942, 740, 291, 607, 411,
496, 839, 8, 675, 319, 742, 21, 547, 627, 716, 663, 23, 914, 631, 595, 499, 685, 950, 510, 54,
587, 432, 45, 646, 25, 122, 947, 171, 862, 441, 808, 722, 14, 74, 658, 129, 266, 1001, 534,
395, 527, 250, 206, 237, 67, 897, 634, 572, 569, 533, 37, 341, 89, 463, 419, 75, 134, 283, 943,
519, 362, 144, 681, 407, 954, 131, 455, 934, 46, 513, 339, 194, 361, 606, 852, 546, 655, 1015,
147, 506, 240, 56, 836, 76, 98, 600, 430, 388, 980, 695, 817, 279, 58, 215, 149, 170, 531, 870,
18, 727, 154, 26, 938, 929, 302, 697, 452, 218, 700, 524, 828, 751, 869, 217, 440, 354,
];
pub static PART3_UNIQUE_INDEX_TO_SEED: [u16; 333] = [
0, 8, 11, 14, 15, 17, 18, 19, 26, 31, 34, 35, 36, 38, 44, 47, 48, 49, 51, 56, 59, 61, 70, 74,
76, 82, 88, 90, 96, 100, 103, 104, 108, 110, 111, 117, 122, 123, 126, 127, 132, 133, 135, 139,
147, 150, 151, 152, 156, 157, 163, 166, 168, 171, 175, 176, 179, 181, 182, 183, 186, 189, 192,
199, 203, 205, 207, 210, 214, 216, 222, 247, 249, 250, 252, 254, 260, 261, 262, 263, 266, 272,
273, 275, 276, 288, 291, 292, 293, 294, 297, 302, 309, 310, 313, 314, 318, 327, 328, 331, 335,
337, 346, 356, 357, 358, 363, 365, 368, 378, 381, 384, 386, 390, 391, 392, 396, 397, 398, 399,
401, 410, 411, 419, 427, 430, 431, 437, 439, 440, 451, 455, 457, 458, 459, 460, 462, 468, 470,
471, 472, 474, 475, 477, 479, 482, 483, 488, 493, 495, 496, 502, 503, 504, 507, 510, 511, 512,
515, 516, 518, 519, 522, 523, 525, 526, 527, 538, 543, 544, 546, 547, 549, 550, 552, 553, 554,
562, 570, 578, 579, 581, 582, 588, 589, 590, 593, 595, 600, 606, 611, 613, 618, 623, 625, 632,
637, 638, 645, 646, 650, 651, 658, 659, 662, 666, 667, 669, 670, 678, 679, 685, 686, 687, 688,
691, 694, 696, 698, 699, 700, 701, 703, 704, 707, 713, 714, 715, 717, 719, 722, 724, 727, 730,
731, 734, 738, 739, 743, 747, 748, 750, 751, 753, 758, 760, 764, 766, 769, 775, 776, 783, 784,
785, 787, 791, 793, 798, 799, 802, 804, 805, 806, 807, 808, 809, 810, 813, 822, 823, 825, 831,
835, 837, 838, 839, 840, 842, 845, 846, 848, 853, 854, 858, 859, 860, 866, 874, 882, 884, 887,
888, 892, 894, 898, 902, 907, 914, 915, 918, 919, 922, 923, 925, 927, 931, 932, 937, 938, 940,
943, 944, 945, 953, 955, 958, 959, 963, 966, 971, 974, 979, 990, 991, 998, 999, 1007, 1010,
1011, 1012, 1015, 1020, 1023,
];