shithub: puzzles

ref: 8c768e7444707b1985788d610e8f14148bc36ab6
dir: /hat-tables.h/

View raw version
/*
 * Header file autogenerated by auxiliary/hatgen.c
 *
 * To regenerate, run 'hatgen --tables > hat-tables.h'
 */

static const unsigned hats_in_metatile[] = { 4, 1, 2, 2, };

static const TileType children_H[] = {
    TT_H, TT_H, TT_H, TT_T, TT_P, TT_P, TT_P, TT_F, TT_F, TT_F, TT_F, TT_F, TT_F,
};
static const TileType children_T[] = {
    TT_H, TT_P, TT_P, TT_P, TT_F, TT_F, TT_F,
};
static const TileType children_P[] = {
    TT_H, TT_H, TT_P, TT_P, TT_P, TT_F, TT_F, TT_F, TT_F, TT_F, TT_F,
};
static const TileType children_F[] = {
    TT_H, TT_H, TT_P, TT_P, TT_F, TT_F, TT_F, TT_F, TT_F, TT_F, TT_F,
};
static const TileType *const children[] = {
    children_H,
    children_T,
    children_P,
    children_F,
};
static const size_t nchildren[] = {
    13,
    7,
    11,
    11,
};

static const KitemapEntry kitemap_H[] = {
    /* hat #0 in metatile #0 (type H) */
    {1,0,0}, {7,3,0}, {3,0,4}, {4,0,4},
    {4,3,0}, {0,0,0}, {5,0,0}, {2,0,0},
    {3,0,4}, {3,0,0}, {1,0,0}, {5,0,0},
    {2,0,0}, {1,2,1}, {4,0,0}, {6,2,1},
    {3,0,3}, {5,0,0}, {6,2,1}, {3,0,0},
    {4,0,0}, {6,0,0}, {2,0,0}, {1,0,0},
    {5,0,0}, {7,0,0}, {4,3,0}, {3,3,0},
    {6,0,0}, {2,0,3}, {7,1,0}, {0,0,3},
    /* hat #1 in metatile #0 (type H) */
    {1,1,0}, {2,0,5}, {7,1,8}, {0,0,5},
    {3,0,2}, {0,1,0}, {5,1,0}, {2,1,0},
    {7,1,8}, {3,1,0}, {1,1,0}, {5,1,0},
    {2,1,0}, {4,1,8}, {4,1,0}, {0,3,0},
    {2,3,0}, {5,1,0}, {0,3,0}, {3,1,0},
    {4,1,0}, {6,1,0}, {2,1,0}, {1,1,0},
    {5,1,0}, {7,1,0}, {3,0,2}, {4,0,2},
    {6,1,0}, {3,3,0}, {0,0,3}, {7,0,0},
    /* hat #2 in metatile #0 (type H) */
    {1,2,0}, {1,0,7}, {7,1,4}, {6,0,7},
    {3,0,8}, {0,2,0}, {5,2,0}, {2,2,0},
    {7,1,4}, {3,2,0}, {1,2,0}, {5,2,0},
    {2,2,0}, {4,1,4}, {4,2,0}, {6,3,0},
    {1,3,0}, {5,2,0}, {6,3,0}, {3,2,0},
    {4,2,0}, {6,2,0}, {2,2,0}, {1,2,0},
    {5,2,0}, {7,2,0}, {3,0,8}, {4,0,8},
    {6,2,0}, {0,3,0}, {3,1,8}, {4,1,8},
    /* hat #3 in metatile #0 (type H) */
    {7,2,0}, {1,3,0}, {3,1,0}, {4,1,0},
    {0,3,0}, {4,2,0}, {2,3,0}, {5,3,0},
    {3,3,0}, {4,1,0}, {5,3,0}, {1,3,0},
    {7,1,0}, {2,3,0}, {6,0,0}, {4,3,0},
    {5,3,0}, {1,0,0}, {3,3,0}, {6,0,0},
    {6,3,0}, {4,3,0}, {1,3,0}, {2,3,0},
    {7,3,0}, {5,3,0}, {3,2,0}, {4,2,0},
    {0,0,0}, {6,3,0}, {3,1,4}, {4,1,4},
    /* hat #0 in metatile #1 (type H) */
    {1,0,1}, {7,3,1}, {3,0,9}, {4,0,9},
    {4,3,1}, {0,0,1}, {5,0,1}, {2,0,1},
    {3,0,9}, {3,0,1}, {1,0,1}, {5,0,1},
    {2,0,1}, {1,0,10}, {4,0,1}, {6,0,10},
    {0,0,6}, {5,0,1}, {6,0,10}, {3,0,1},
    {4,0,1}, {6,0,1}, {2,0,1}, {1,0,1},
    {5,0,1}, {7,0,1}, {4,3,1}, {3,3,1},
    {6,0,1}, {1,0,6}, {7,1,1}, {6,0,6},
    /* hat #1 in metatile #1 (type H) */
    {1,1,1}, {1,1,2}, {7,0,3}, {6,1,2},
    {0,1,6}, {0,1,1}, {5,1,1}, {2,1,1},
    {7,0,3}, {3,1,1}, {1,1,1}, {5,1,1},
    {2,1,1}, {4,0,3}, {4,1,1}, {0,3,1},
    {2,3,1}, {5,1,1}, {0,3,1}, {3,1,1},
    {4,1,1}, {6,1,1}, {2,1,1}, {1,1,1},
    {5,1,1}, {7,1,1}, {0,1,6}, {7,0,6},
    {6,1,1}, {3,3,1}, {6,0,6}, {7,0,1},
    /* hat #2 in metatile #1 (type H) */
    {1,2,1}, {2,0,4}, {7,1,9}, {0,0,4},
    {3,0,0}, {0,2,1}, {5,2,1}, {2,2,1},
    {7,1,9}, {3,2,1}, {1,2,1}, {5,2,1},
    {2,2,1}, {4,1,9}, {4,2,1}, {6,3,1},
    {1,3,1}, {5,2,1}, {6,3,1}, {3,2,1},
    {4,2,1}, {6,2,1}, {2,2,1}, {1,2,1},
    {5,2,1}, {7,2,1}, {3,0,0}, {4,0,0},
    {6,2,1}, {0,3,1}, {3,0,3}, {4,0,3},
    /* hat #3 in metatile #1 (type H) */
    {7,2,1}, {1,3,1}, {3,1,1}, {4,1,1},
    {0,3,1}, {4,2,1}, {2,3,1}, {5,3,1},
    {3,3,1}, {4,1,1}, {5,3,1}, {1,3,1},
    {7,1,1}, {2,3,1}, {6,0,1}, {4,3,1},
    {5,3,1}, {1,0,1}, {3,3,1}, {6,0,1},
    {6,3,1}, {4,3,1}, {1,3,1}, {2,3,1},
    {7,3,1}, {5,3,1}, {3,2,1}, {4,2,1},
    {0,0,1}, {6,3,1}, {3,1,9}, {4,1,9},
    /* hat #0 in metatile #2 (type H) */
    {1,0,2}, {7,3,2}, {3,0,5}, {4,0,5},
    {4,3,2}, {0,0,2}, {5,0,2}, {2,0,2},
    {3,0,5}, {3,0,2}, {1,0,2}, {5,0,2},
    {2,0,2}, {1,1,0}, {4,0,2}, {6,1,0},
    {0,0,3}, {5,0,2}, {6,1,0}, {3,0,2},
    {4,0,2}, {6,0,2}, {2,0,2}, {1,0,2},
    {5,0,2}, {7,0,2}, {4,3,2}, {3,3,2},
    {6,0,2}, {1,0,3}, {7,1,2}, {6,0,3},
    /* hat #1 in metatile #2 (type H) */
    {1,1,2}, {1,1,6}, {7,1,12}, {6,1,6},
    {0,1,1}, {0,1,2}, {5,1,2}, {2,1,2},
    {7,1,12}, {3,1,2}, {1,1,2}, {5,1,2},
    {2,1,2}, {4,1,12}, {4,1,2}, {0,3,2},
    {2,3,2}, {5,1,2}, {0,3,2}, {3,1,2},
    {4,1,2}, {6,1,2}, {2,1,2}, {1,1,2},
    {5,1,2}, {7,1,2}, {0,1,1}, {7,0,3},
    {6,1,2}, {3,3,2}, {6,0,3}, {7,0,2},
    /* hat #2 in metatile #2 (type H) */
    {1,2,2}, {1,0,11}, {7,1,5}, {6,0,11},
    {3,0,12}, {0,2,2}, {5,2,2}, {2,2,2},
    {7,1,5}, {3,2,2}, {1,2,2}, {5,2,2},
    {2,2,2}, {4,1,5}, {4,2,2}, {6,3,2},
    {1,3,2}, {5,2,2}, {6,3,2}, {3,2,2},
    {4,2,2}, {6,2,2}, {2,2,2}, {1,2,2},
    {5,2,2}, {7,2,2}, {3,0,12}, {4,0,12},
    {6,2,2}, {0,3,2}, {3,1,12}, {4,1,12},
    /* hat #3 in metatile #2 (type H) */
    {7,2,2}, {1,3,2}, {3,1,2}, {4,1,2},
    {0,3,2}, {4,2,2}, {2,3,2}, {5,3,2},
    {3,3,2}, {4,1,2}, {5,3,2}, {1,3,2},
    {7,1,2}, {2,3,2}, {6,0,2}, {4,3,2},
    {5,3,2}, {1,0,2}, {3,3,2}, {6,0,2},
    {6,3,2}, {4,3,2}, {1,3,2}, {2,3,2},
    {7,3,2}, {5,3,2}, {3,2,2}, {4,2,2},
    {0,0,2}, {6,3,2}, {3,1,5}, {4,1,5},
    /* hat #0 in metatile #3 (type T) */
    {1,0,3}, {4,0,2}, {7,0,0}, {7,1,0},
    {7,0,2}, {0,0,3}, {5,0,3}, {2,0,3},
    {7,0,0}, {3,0,3}, {1,0,3}, {5,0,3},
    {2,0,3}, {4,0,0}, {4,0,3}, {7,2,1},
    {3,1,1}, {5,0,3}, {7,2,1}, {3,0,3},
    {4,0,3}, {6,0,3}, {2,0,3}, {1,0,3},
    {5,0,3}, {7,0,3}, {7,0,2}, {7,1,2},
    {6,0,3}, {2,1,1}, {6,1,2}, {0,1,1},
    /* hat #1 in metatile #3 (type T) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #2 in metatile #3 (type T) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #3 (type T) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #4 (type P) */
    {1,0,4}, {-1,-1,-1}, {0,2,1}, {7,1,9},
    {-1,-1,-1}, {0,0,4}, {5,0,4}, {2,0,4},
    {0,2,1}, {3,0,4}, {1,0,4}, {5,0,4},
    {2,0,4}, {2,0,0}, {4,0,4}, {0,0,0},
    {3,1,4}, {5,0,4}, {0,0,0}, {3,0,4},
    {4,0,4}, {6,0,4}, {2,0,4}, {1,0,4},
    {5,0,4}, {7,0,4}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,4}, {2,1,4}, {-1,-1,-1}, {0,1,4},
    /* hat #1 in metatile #4 (type P) */
    {1,1,4}, {-1,-1,-1}, {7,0,4}, {-1,-1,-1},
    {0,1,7}, {0,1,4}, {5,1,4}, {2,1,4},
    {7,0,4}, {3,1,4}, {1,1,4}, {5,1,4},
    {2,1,4}, {4,0,4}, {4,1,4}, {7,3,0},
    {3,2,0}, {5,1,4}, {7,3,0}, {3,1,4},
    {4,1,4}, {6,1,4}, {2,1,4}, {1,1,4},
    {5,1,4}, {7,1,4}, {0,1,7}, {7,0,7},
    {6,1,4}, {2,2,0}, {6,0,7}, {0,2,0},
    /* hat #2 in metatile #4 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #4 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #5 (type P) */
    {1,0,5}, {-1,-1,-1}, {0,1,0}, {7,1,8},
    {-1,-1,-1}, {0,0,5}, {5,0,5}, {2,0,5},
    {0,1,0}, {3,0,5}, {1,0,5}, {5,0,5},
    {2,0,5}, {2,0,2}, {4,0,5}, {0,0,2},
    {3,1,5}, {5,0,5}, {0,0,2}, {3,0,5},
    {4,0,5}, {6,0,5}, {2,0,5}, {1,0,5},
    {5,0,5}, {7,0,5}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,5}, {2,1,5}, {-1,-1,-1}, {0,1,5},
    /* hat #1 in metatile #5 (type P) */
    {1,1,5}, {-1,-1,-1}, {7,0,5}, {-1,-1,-1},
    {0,1,11}, {0,1,5}, {5,1,5}, {2,1,5},
    {7,0,5}, {3,1,5}, {1,1,5}, {5,1,5},
    {2,1,5}, {4,0,5}, {4,1,5}, {7,3,2},
    {3,2,2}, {5,1,5}, {7,3,2}, {3,1,5},
    {4,1,5}, {6,1,5}, {2,1,5}, {1,1,5},
    {5,1,5}, {7,1,5}, {0,1,11}, {7,0,11},
    {6,1,5}, {2,2,2}, {6,0,11}, {0,2,2},
    /* hat #2 in metatile #5 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #5 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #6 (type P) */
    {1,0,6}, {4,0,1}, {0,1,10}, {7,0,10},
    {7,0,1}, {0,0,6}, {5,0,6}, {2,0,6},
    {0,1,10}, {3,0,6}, {1,0,6}, {5,0,6},
    {2,0,6}, {-1,-1,-1}, {4,0,6}, {-1,-1,-1},
    {3,1,6}, {5,0,6}, {-1,-1,-1}, {3,0,6},
    {4,0,6}, {6,0,6}, {2,0,6}, {1,0,6},
    {5,0,6}, {7,0,6}, {7,0,1}, {7,1,1},
    {6,0,6}, {2,1,6}, {6,1,1}, {0,1,6},
    /* hat #1 in metatile #6 (type P) */
    {1,1,6}, {1,1,1}, {7,0,6}, {6,1,1},
    {0,1,2}, {0,1,6}, {5,1,6}, {2,1,6},
    {7,0,6}, {3,1,6}, {1,1,6}, {5,1,6},
    {2,1,6}, {4,0,6}, {4,1,6}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,6}, {-1,-1,-1}, {3,1,6},
    {4,1,6}, {6,1,6}, {2,1,6}, {1,1,6},
    {5,1,6}, {7,1,6}, {0,1,2}, {7,1,12},
    {6,1,6}, {-1,-1,-1}, {6,1,12}, {-1,-1,-1},
    /* hat #2 in metatile #6 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #6 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #7 (type F) */
    {1,0,7}, {2,0,8}, {-1,-1,-1}, {0,0,8},
    {0,2,0}, {0,0,7}, {5,0,7}, {2,0,7},
    {-1,-1,-1}, {3,0,7}, {1,0,7}, {5,0,7},
    {2,0,7}, {-1,-1,-1}, {4,0,7}, {-1,-1,-1},
    {3,1,7}, {5,0,7}, {-1,-1,-1}, {3,0,7},
    {4,0,7}, {6,0,7}, {2,0,7}, {1,0,7},
    {5,0,7}, {7,0,7}, {0,2,0}, {7,1,4},
    {6,0,7}, {2,1,7}, {6,1,4}, {0,1,7},
    /* hat #1 in metatile #7 (type F) */
    {1,1,7}, {1,1,4}, {7,0,7}, {6,1,4},
    {-1,-1,-1}, {0,1,7}, {5,1,7}, {2,1,7},
    {7,0,7}, {3,1,7}, {1,1,7}, {5,1,7},
    {2,1,7}, {4,0,7}, {4,1,7}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,7}, {-1,-1,-1}, {3,1,7},
    {4,1,7}, {6,1,7}, {2,1,7}, {1,1,7},
    {5,1,7}, {7,1,7}, {-1,-1,-1}, {-1,-1,-1},
    {6,1,7}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #2 in metatile #7 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #7 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #8 (type F) */
    {1,0,8}, {-1,-1,-1}, {0,0,7}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,8}, {5,0,8}, {2,0,8},
    {0,0,7}, {3,0,8}, {1,0,8}, {5,0,8},
    {2,0,8}, {1,2,0}, {4,0,8}, {6,2,0},
    {3,1,8}, {5,0,8}, {6,2,0}, {3,0,8},
    {4,0,8}, {6,0,8}, {2,0,8}, {1,0,8},
    {5,0,8}, {7,0,8}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,8}, {2,1,8}, {-1,-1,-1}, {0,1,8},
    /* hat #1 in metatile #8 (type F) */
    {1,1,8}, {-1,-1,-1}, {7,0,8}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,8}, {5,1,8}, {2,1,8},
    {7,0,8}, {3,1,8}, {1,1,8}, {5,1,8},
    {2,1,8}, {4,0,8}, {4,1,8}, {7,2,0},
    {3,1,0}, {5,1,8}, {7,2,0}, {3,1,8},
    {4,1,8}, {6,1,8}, {2,1,8}, {1,1,8},
    {5,1,8}, {7,1,8}, {-1,-1,-1}, {-1,-1,-1},
    {6,1,8}, {2,1,0}, {0,0,5}, {0,1,0},
    /* hat #2 in metatile #8 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #8 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #9 (type F) */
    {1,0,9}, {-1,-1,-1}, {0,0,10}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,9}, {5,0,9}, {2,0,9},
    {0,0,10}, {3,0,9}, {1,0,9}, {5,0,9},
    {2,0,9}, {2,0,1}, {4,0,9}, {0,0,1},
    {3,1,9}, {5,0,9}, {0,0,1}, {3,0,9},
    {4,0,9}, {6,0,9}, {2,0,9}, {1,0,9},
    {5,0,9}, {7,0,9}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,9}, {2,1,9}, {-1,-1,-1}, {0,1,9},
    /* hat #1 in metatile #9 (type F) */
    {1,1,9}, {-1,-1,-1}, {7,0,9}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,9}, {5,1,9}, {2,1,9},
    {7,0,9}, {3,1,9}, {1,1,9}, {5,1,9},
    {2,1,9}, {4,0,9}, {4,1,9}, {7,3,1},
    {3,2,1}, {5,1,9}, {7,3,1}, {3,1,9},
    {4,1,9}, {6,1,9}, {2,1,9}, {1,1,9},
    {5,1,9}, {7,1,9}, {-1,-1,-1}, {-1,-1,-1},
    {6,1,9}, {2,2,1}, {0,0,4}, {0,2,1},
    /* hat #2 in metatile #9 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #9 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #10 (type F) */
    {1,0,10}, {2,0,9}, {-1,-1,-1}, {0,0,9},
    {3,0,1}, {0,0,10}, {5,0,10}, {2,0,10},
    {-1,-1,-1}, {3,0,10}, {1,0,10}, {5,0,10},
    {2,0,10}, {-1,-1,-1}, {4,0,10}, {-1,-1,-1},
    {3,1,10}, {5,0,10}, {-1,-1,-1}, {3,0,10},
    {4,0,10}, {6,0,10}, {2,0,10}, {1,0,10},
    {5,0,10}, {7,0,10}, {3,0,1}, {4,0,1},
    {6,0,10}, {2,1,10}, {0,0,6}, {0,1,10},
    /* hat #1 in metatile #10 (type F) */
    {1,1,10}, {2,0,6}, {7,0,10}, {0,0,6},
    {-1,-1,-1}, {0,1,10}, {5,1,10}, {2,1,10},
    {7,0,10}, {3,1,10}, {1,1,10}, {5,1,10},
    {2,1,10}, {4,0,10}, {4,1,10}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,10}, {-1,-1,-1}, {3,1,10},
    {4,1,10}, {6,1,10}, {2,1,10}, {1,1,10},
    {5,1,10}, {7,1,10}, {-1,-1,-1}, {-1,-1,-1},
    {6,1,10}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #2 in metatile #10 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #10 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #11 (type F) */
    {1,0,11}, {2,0,12}, {-1,-1,-1}, {0,0,12},
    {0,2,2}, {0,0,11}, {5,0,11}, {2,0,11},
    {-1,-1,-1}, {3,0,11}, {1,0,11}, {5,0,11},
    {2,0,11}, {-1,-1,-1}, {4,0,11}, {-1,-1,-1},
    {3,1,11}, {5,0,11}, {-1,-1,-1}, {3,0,11},
    {4,0,11}, {6,0,11}, {2,0,11}, {1,0,11},
    {5,0,11}, {7,0,11}, {0,2,2}, {7,1,5},
    {6,0,11}, {2,1,11}, {6,1,5}, {0,1,11},
    /* hat #1 in metatile #11 (type F) */
    {1,1,11}, {1,1,5}, {7,0,11}, {6,1,5},
    {-1,-1,-1}, {0,1,11}, {5,1,11}, {2,1,11},
    {7,0,11}, {3,1,11}, {1,1,11}, {5,1,11},
    {2,1,11}, {4,0,11}, {4,1,11}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,11}, {-1,-1,-1}, {3,1,11},
    {4,1,11}, {6,1,11}, {2,1,11}, {1,1,11},
    {5,1,11}, {7,1,11}, {-1,-1,-1}, {-1,-1,-1},
    {6,1,11}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #2 in metatile #11 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #11 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #12 (type F) */
    {1,0,12}, {-1,-1,-1}, {0,0,11}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,12}, {5,0,12}, {2,0,12},
    {0,0,11}, {3,0,12}, {1,0,12}, {5,0,12},
    {2,0,12}, {1,2,2}, {4,0,12}, {6,2,2},
    {3,1,12}, {5,0,12}, {6,2,2}, {3,0,12},
    {4,0,12}, {6,0,12}, {2,0,12}, {1,0,12},
    {5,0,12}, {7,0,12}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,12}, {2,1,12}, {-1,-1,-1}, {0,1,12},
    /* hat #1 in metatile #12 (type F) */
    {1,1,12}, {-1,-1,-1}, {7,0,12}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,12}, {5,1,12}, {2,1,12},
    {7,0,12}, {3,1,12}, {1,1,12}, {5,1,12},
    {2,1,12}, {4,0,12}, {4,1,12}, {7,2,2},
    {3,1,2}, {5,1,12}, {7,2,2}, {3,1,12},
    {4,1,12}, {6,1,12}, {2,1,12}, {1,1,12},
    {5,1,12}, {7,1,12}, {-1,-1,-1}, {7,1,6},
    {6,1,12}, {2,1,2}, {6,1,6}, {0,1,2},
    /* hat #2 in metatile #12 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #12 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
};
static const KitemapEntry kitemap_T[] = {
    /* hat #0 in metatile #0 (type H) */
    {1,0,0}, {7,3,0}, {3,0,3}, {4,0,3},
    {4,3,0}, {0,0,0}, {5,0,0}, {2,0,0},
    {3,0,3}, {3,0,0}, {1,0,0}, {5,0,0},
    {2,0,0}, {1,1,6}, {4,0,0}, {6,1,6},
    {0,0,2}, {5,0,0}, {6,1,6}, {3,0,0},
    {4,0,0}, {6,0,0}, {2,0,0}, {1,0,0},
    {5,0,0}, {7,0,0}, {4,3,0}, {3,3,0},
    {6,0,0}, {1,0,2}, {7,1,0}, {6,0,2},
    /* hat #1 in metatile #0 (type H) */
    {1,1,0}, {1,1,4}, {7,1,1}, {6,1,4},
    {0,1,2}, {0,1,0}, {5,1,0}, {2,1,0},
    {7,1,1}, {3,1,0}, {1,1,0}, {5,1,0},
    {2,1,0}, {4,1,1}, {4,1,0}, {0,3,0},
    {2,3,0}, {5,1,0}, {0,3,0}, {3,1,0},
    {4,1,0}, {6,1,0}, {2,1,0}, {1,1,0},
    {5,1,0}, {7,1,0}, {0,1,2}, {7,0,2},
    {6,1,0}, {3,3,0}, {6,0,2}, {7,0,0},
    /* hat #2 in metatile #0 (type H) */
    {1,2,0}, {1,1,5}, {7,1,3}, {6,1,5},
    {3,0,1}, {0,2,0}, {5,2,0}, {2,2,0},
    {7,1,3}, {3,2,0}, {1,2,0}, {5,2,0},
    {2,2,0}, {4,1,3}, {4,2,0}, {6,3,0},
    {1,3,0}, {5,2,0}, {6,3,0}, {3,2,0},
    {4,2,0}, {6,2,0}, {2,2,0}, {1,2,0},
    {5,2,0}, {7,2,0}, {3,0,1}, {4,0,1},
    {6,2,0}, {0,3,0}, {3,1,1}, {4,1,1},
    /* hat #3 in metatile #0 (type H) */
    {7,2,0}, {1,3,0}, {3,1,0}, {4,1,0},
    {0,3,0}, {4,2,0}, {2,3,0}, {5,3,0},
    {3,3,0}, {4,1,0}, {5,3,0}, {1,3,0},
    {7,1,0}, {2,3,0}, {6,0,0}, {4,3,0},
    {5,3,0}, {1,0,0}, {3,3,0}, {6,0,0},
    {6,3,0}, {4,3,0}, {1,3,0}, {2,3,0},
    {7,3,0}, {5,3,0}, {3,2,0}, {4,2,0},
    {0,0,0}, {6,3,0}, {3,1,3}, {4,1,3},
    /* hat #0 in metatile #1 (type P) */
    {1,0,1}, {-1,-1,-1}, {0,1,5}, {7,0,5},
    {-1,-1,-1}, {0,0,1}, {5,0,1}, {2,0,1},
    {0,1,5}, {3,0,1}, {1,0,1}, {5,0,1},
    {2,0,1}, {1,2,0}, {4,0,1}, {6,2,0},
    {3,1,1}, {5,0,1}, {6,2,0}, {3,0,1},
    {4,0,1}, {6,0,1}, {2,0,1}, {1,0,1},
    {5,0,1}, {7,0,1}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,1}, {2,1,1}, {-1,-1,-1}, {0,1,1},
    /* hat #1 in metatile #1 (type P) */
    {1,1,1}, {-1,-1,-1}, {7,0,1}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,1}, {5,1,1}, {2,1,1},
    {7,0,1}, {3,1,1}, {1,1,1}, {5,1,1},
    {2,1,1}, {4,0,1}, {4,1,1}, {7,2,0},
    {3,1,0}, {5,1,1}, {7,2,0}, {3,1,1},
    {4,1,1}, {6,1,1}, {2,1,1}, {1,1,1},
    {5,1,1}, {7,1,1}, {-1,-1,-1}, {7,1,4},
    {6,1,1}, {2,1,0}, {6,1,4}, {0,1,0},
    /* hat #2 in metatile #1 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #1 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #2 (type P) */
    {1,0,2}, {4,0,0}, {-1,-1,-1}, {7,1,6},
    {7,0,0}, {0,0,2}, {5,0,2}, {2,0,2},
    {-1,-1,-1}, {3,0,2}, {1,0,2}, {5,0,2},
    {2,0,2}, {-1,-1,-1}, {4,0,2}, {-1,-1,-1},
    {3,1,2}, {5,0,2}, {-1,-1,-1}, {3,0,2},
    {4,0,2}, {6,0,2}, {2,0,2}, {1,0,2},
    {5,0,2}, {7,0,2}, {7,0,0}, {7,1,0},
    {6,0,2}, {2,1,2}, {6,1,0}, {0,1,2},
    /* hat #1 in metatile #2 (type P) */
    {1,1,2}, {1,1,0}, {7,0,2}, {6,1,0},
    {0,1,4}, {0,1,2}, {5,1,2}, {2,1,2},
    {7,0,2}, {3,1,2}, {1,1,2}, {5,1,2},
    {2,1,2}, {4,0,2}, {4,1,2}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,2}, {-1,-1,-1}, {3,1,2},
    {4,1,2}, {6,1,2}, {2,1,2}, {1,1,2},
    {5,1,2}, {7,1,2}, {0,1,4}, {7,0,4},
    {6,1,2}, {-1,-1,-1}, {6,0,4}, {-1,-1,-1},
    /* hat #2 in metatile #2 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #2 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #3 (type P) */
    {1,0,3}, {-1,-1,-1}, {0,1,6}, {7,0,6},
    {-1,-1,-1}, {0,0,3}, {5,0,3}, {2,0,3},
    {0,1,6}, {3,0,3}, {1,0,3}, {5,0,3},
    {2,0,3}, {2,0,0}, {4,0,3}, {0,0,0},
    {3,1,3}, {5,0,3}, {0,0,0}, {3,0,3},
    {4,0,3}, {6,0,3}, {2,0,3}, {1,0,3},
    {5,0,3}, {7,0,3}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,3}, {2,1,3}, {-1,-1,-1}, {0,1,3},
    /* hat #1 in metatile #3 (type P) */
    {1,1,3}, {-1,-1,-1}, {7,0,3}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,3}, {5,1,3}, {2,1,3},
    {7,0,3}, {3,1,3}, {1,1,3}, {5,1,3},
    {2,1,3}, {4,0,3}, {4,1,3}, {7,3,0},
    {3,2,0}, {5,1,3}, {7,3,0}, {3,1,3},
    {4,1,3}, {6,1,3}, {2,1,3}, {1,1,3},
    {5,1,3}, {7,1,3}, {-1,-1,-1}, {7,1,5},
    {6,1,3}, {2,2,0}, {6,1,5}, {0,2,0},
    /* hat #2 in metatile #3 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #3 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #4 (type F) */
    {1,0,4}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,4}, {5,0,4}, {2,0,4},
    {-1,-1,-1}, {3,0,4}, {1,0,4}, {5,0,4},
    {2,0,4}, {-1,-1,-1}, {4,0,4}, {-1,-1,-1},
    {3,1,4}, {5,0,4}, {-1,-1,-1}, {3,0,4},
    {4,0,4}, {6,0,4}, {2,0,4}, {1,0,4},
    {5,0,4}, {7,0,4}, {-1,-1,-1}, {7,1,2},
    {6,0,4}, {2,1,4}, {6,1,2}, {0,1,4},
    /* hat #1 in metatile #4 (type F) */
    {1,1,4}, {1,1,2}, {7,0,4}, {6,1,2},
    {0,1,0}, {0,1,4}, {5,1,4}, {2,1,4},
    {7,0,4}, {3,1,4}, {1,1,4}, {5,1,4},
    {2,1,4}, {4,0,4}, {4,1,4}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,4}, {-1,-1,-1}, {3,1,4},
    {4,1,4}, {6,1,4}, {2,1,4}, {1,1,4},
    {5,1,4}, {7,1,4}, {0,1,0}, {7,1,1},
    {6,1,4}, {-1,-1,-1}, {6,1,1}, {-1,-1,-1},
    /* hat #2 in metatile #4 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #4 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #5 (type F) */
    {1,0,5}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,5}, {5,0,5}, {2,0,5},
    {-1,-1,-1}, {3,0,5}, {1,0,5}, {5,0,5},
    {2,0,5}, {-1,-1,-1}, {4,0,5}, {-1,-1,-1},
    {3,1,5}, {5,0,5}, {-1,-1,-1}, {3,0,5},
    {4,0,5}, {6,0,5}, {2,0,5}, {1,0,5},
    {5,0,5}, {7,0,5}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,5}, {2,1,5}, {0,0,1}, {0,1,5},
    /* hat #1 in metatile #5 (type F) */
    {1,1,5}, {2,0,1}, {7,0,5}, {0,0,1},
    {0,2,0}, {0,1,5}, {5,1,5}, {2,1,5},
    {7,0,5}, {3,1,5}, {1,1,5}, {5,1,5},
    {2,1,5}, {4,0,5}, {4,1,5}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,5}, {-1,-1,-1}, {3,1,5},
    {4,1,5}, {6,1,5}, {2,1,5}, {1,1,5},
    {5,1,5}, {7,1,5}, {0,2,0}, {7,1,3},
    {6,1,5}, {-1,-1,-1}, {6,1,3}, {-1,-1,-1},
    /* hat #2 in metatile #5 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #5 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #6 (type F) */
    {1,0,6}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,6}, {5,0,6}, {2,0,6},
    {-1,-1,-1}, {3,0,6}, {1,0,6}, {5,0,6},
    {2,0,6}, {-1,-1,-1}, {4,0,6}, {-1,-1,-1},
    {3,1,6}, {5,0,6}, {-1,-1,-1}, {3,0,6},
    {4,0,6}, {6,0,6}, {2,0,6}, {1,0,6},
    {5,0,6}, {7,0,6}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,6}, {2,1,6}, {0,0,3}, {0,1,6},
    /* hat #1 in metatile #6 (type F) */
    {1,1,6}, {2,0,3}, {7,0,6}, {0,0,3},
    {3,0,0}, {0,1,6}, {5,1,6}, {2,1,6},
    {7,0,6}, {3,1,6}, {1,1,6}, {5,1,6},
    {2,1,6}, {4,0,6}, {4,1,6}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,6}, {-1,-1,-1}, {3,1,6},
    {4,1,6}, {6,1,6}, {2,1,6}, {1,1,6},
    {5,1,6}, {7,1,6}, {3,0,0}, {4,0,0},
    {6,1,6}, {-1,-1,-1}, {0,0,2}, {-1,-1,-1},
    /* hat #2 in metatile #6 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #6 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
};
static const KitemapEntry kitemap_P[] = {
    /* hat #0 in metatile #0 (type H) */
    {1,0,0}, {7,3,0}, {3,0,4}, {4,0,4},
    {4,3,0}, {0,0,0}, {5,0,0}, {2,0,0},
    {3,0,4}, {3,0,0}, {1,0,0}, {5,0,0},
    {2,0,0}, {1,1,9}, {4,0,0}, {6,1,9},
    {0,0,3}, {5,0,0}, {6,1,9}, {3,0,0},
    {4,0,0}, {6,0,0}, {2,0,0}, {1,0,0},
    {5,0,0}, {7,0,0}, {4,3,0}, {3,3,0},
    {6,0,0}, {1,0,3}, {7,1,0}, {6,0,3},
    /* hat #1 in metatile #0 (type H) */
    {1,1,0}, {1,1,8}, {7,1,5}, {6,1,8},
    {0,1,3}, {0,1,0}, {5,1,0}, {2,1,0},
    {7,1,5}, {3,1,0}, {1,1,0}, {5,1,0},
    {2,1,0}, {4,1,5}, {4,1,0}, {0,3,0},
    {2,3,0}, {5,1,0}, {0,3,0}, {3,1,0},
    {4,1,0}, {6,1,0}, {2,1,0}, {1,1,0},
    {5,1,0}, {7,1,0}, {0,1,3}, {7,0,3},
    {6,1,0}, {3,3,0}, {6,0,3}, {7,0,0},
    /* hat #2 in metatile #0 (type H) */
    {1,2,0}, {1,0,6}, {7,1,4}, {6,0,6},
    {3,0,5}, {0,2,0}, {5,2,0}, {2,2,0},
    {7,1,4}, {3,2,0}, {1,2,0}, {5,2,0},
    {2,2,0}, {4,1,4}, {4,2,0}, {6,3,0},
    {1,3,0}, {5,2,0}, {6,3,0}, {3,2,0},
    {4,2,0}, {6,2,0}, {2,2,0}, {1,2,0},
    {5,2,0}, {7,2,0}, {3,0,5}, {4,0,5},
    {6,2,0}, {0,3,0}, {3,1,5}, {4,1,5},
    /* hat #3 in metatile #0 (type H) */
    {7,2,0}, {1,3,0}, {3,1,0}, {4,1,0},
    {0,3,0}, {4,2,0}, {2,3,0}, {5,3,0},
    {3,3,0}, {4,1,0}, {5,3,0}, {1,3,0},
    {7,1,0}, {2,3,0}, {6,0,0}, {4,3,0},
    {5,3,0}, {1,0,0}, {3,3,0}, {6,0,0},
    {6,3,0}, {4,3,0}, {1,3,0}, {2,3,0},
    {7,3,0}, {5,3,0}, {3,2,0}, {4,2,0},
    {0,0,0}, {6,3,0}, {3,1,4}, {4,1,4},
    /* hat #0 in metatile #1 (type H) */
    {1,0,1}, {7,3,1}, {3,0,10}, {4,0,10},
    {4,3,1}, {0,0,1}, {5,0,1}, {2,0,1},
    {3,0,10}, {3,0,1}, {1,0,1}, {5,0,1},
    {2,0,1}, {1,0,9}, {4,0,1}, {6,0,9},
    {0,0,4}, {5,0,1}, {6,0,9}, {3,0,1},
    {4,0,1}, {6,0,1}, {2,0,1}, {1,0,1},
    {5,0,1}, {7,0,1}, {4,3,1}, {3,3,1},
    {6,0,1}, {1,0,4}, {7,1,1}, {6,0,4},
    /* hat #1 in metatile #1 (type H) */
    {1,1,1}, {1,1,6}, {7,1,2}, {6,1,6},
    {0,1,4}, {0,1,1}, {5,1,1}, {2,1,1},
    {7,1,2}, {3,1,1}, {1,1,1}, {5,1,1},
    {2,1,1}, {4,1,2}, {4,1,1}, {0,3,1},
    {2,3,1}, {5,1,1}, {0,3,1}, {3,1,1},
    {4,1,1}, {6,1,1}, {2,1,1}, {1,1,1},
    {5,1,1}, {7,1,1}, {0,1,4}, {7,0,4},
    {6,1,1}, {3,3,1}, {6,0,4}, {7,0,1},
    /* hat #2 in metatile #1 (type H) */
    {1,2,1}, {1,1,7}, {7,1,10}, {6,1,7},
    {3,0,2}, {0,2,1}, {5,2,1}, {2,2,1},
    {7,1,10}, {3,2,1}, {1,2,1}, {5,2,1},
    {2,2,1}, {4,1,10}, {4,2,1}, {6,3,1},
    {1,3,1}, {5,2,1}, {6,3,1}, {3,2,1},
    {4,2,1}, {6,2,1}, {2,2,1}, {1,2,1},
    {5,2,1}, {7,2,1}, {3,0,2}, {4,0,2},
    {6,2,1}, {0,3,1}, {3,1,2}, {4,1,2},
    /* hat #3 in metatile #1 (type H) */
    {7,2,1}, {1,3,1}, {3,1,1}, {4,1,1},
    {0,3,1}, {4,2,1}, {2,3,1}, {5,3,1},
    {3,3,1}, {4,1,1}, {5,3,1}, {1,3,1},
    {7,1,1}, {2,3,1}, {6,0,1}, {4,3,1},
    {5,3,1}, {1,0,1}, {3,3,1}, {6,0,1},
    {6,3,1}, {4,3,1}, {1,3,1}, {2,3,1},
    {7,3,1}, {5,3,1}, {3,2,1}, {4,2,1},
    {0,0,1}, {6,3,1}, {3,1,10}, {4,1,10},
    /* hat #0 in metatile #2 (type P) */
    {1,0,2}, {-1,-1,-1}, {0,1,7}, {7,0,7},
    {-1,-1,-1}, {0,0,2}, {5,0,2}, {2,0,2},
    {0,1,7}, {3,0,2}, {1,0,2}, {5,0,2},
    {2,0,2}, {1,2,1}, {4,0,2}, {6,2,1},
    {3,1,2}, {5,0,2}, {6,2,1}, {3,0,2},
    {4,0,2}, {6,0,2}, {2,0,2}, {1,0,2},
    {5,0,2}, {7,0,2}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,2}, {2,1,2}, {-1,-1,-1}, {0,1,2},
    /* hat #1 in metatile #2 (type P) */
    {1,1,2}, {-1,-1,-1}, {7,0,2}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,2}, {5,1,2}, {2,1,2},
    {7,0,2}, {3,1,2}, {1,1,2}, {5,1,2},
    {2,1,2}, {4,0,2}, {4,1,2}, {7,2,1},
    {3,1,1}, {5,1,2}, {7,2,1}, {3,1,2},
    {4,1,2}, {6,1,2}, {2,1,2}, {1,1,2},
    {5,1,2}, {7,1,2}, {-1,-1,-1}, {7,1,6},
    {6,1,2}, {2,1,1}, {6,1,6}, {0,1,1},
    /* hat #2 in metatile #2 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #2 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #3 (type P) */
    {1,0,3}, {4,0,0}, {-1,-1,-1}, {7,1,9},
    {7,0,0}, {0,0,3}, {5,0,3}, {2,0,3},
    {-1,-1,-1}, {3,0,3}, {1,0,3}, {5,0,3},
    {2,0,3}, {-1,-1,-1}, {4,0,3}, {-1,-1,-1},
    {3,1,3}, {5,0,3}, {-1,-1,-1}, {3,0,3},
    {4,0,3}, {6,0,3}, {2,0,3}, {1,0,3},
    {5,0,3}, {7,0,3}, {7,0,0}, {7,1,0},
    {6,0,3}, {2,1,3}, {6,1,0}, {0,1,3},
    /* hat #1 in metatile #3 (type P) */
    {1,1,3}, {1,1,0}, {7,0,3}, {6,1,0},
    {0,1,8}, {0,1,3}, {5,1,3}, {2,1,3},
    {7,0,3}, {3,1,3}, {1,1,3}, {5,1,3},
    {2,1,3}, {4,0,3}, {4,1,3}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,3}, {-1,-1,-1}, {3,1,3},
    {4,1,3}, {6,1,3}, {2,1,3}, {1,1,3},
    {5,1,3}, {7,1,3}, {0,1,8}, {7,0,8},
    {6,1,3}, {-1,-1,-1}, {6,0,8}, {-1,-1,-1},
    /* hat #2 in metatile #3 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #3 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #4 (type P) */
    {1,0,4}, {4,0,1}, {0,1,9}, {7,0,9},
    {7,0,1}, {0,0,4}, {5,0,4}, {2,0,4},
    {0,1,9}, {3,0,4}, {1,0,4}, {5,0,4},
    {2,0,4}, {2,0,0}, {4,0,4}, {0,0,0},
    {3,1,4}, {5,0,4}, {0,0,0}, {3,0,4},
    {4,0,4}, {6,0,4}, {2,0,4}, {1,0,4},
    {5,0,4}, {7,0,4}, {7,0,1}, {7,1,1},
    {6,0,4}, {2,1,4}, {6,1,1}, {0,1,4},
    /* hat #1 in metatile #4 (type P) */
    {1,1,4}, {1,1,1}, {7,0,4}, {6,1,1},
    {0,1,6}, {0,1,4}, {5,1,4}, {2,1,4},
    {7,0,4}, {3,1,4}, {1,1,4}, {5,1,4},
    {2,1,4}, {4,0,4}, {4,1,4}, {7,3,0},
    {3,2,0}, {5,1,4}, {7,3,0}, {3,1,4},
    {4,1,4}, {6,1,4}, {2,1,4}, {1,1,4},
    {5,1,4}, {7,1,4}, {0,1,6}, {7,0,6},
    {6,1,4}, {2,2,0}, {6,0,6}, {0,2,0},
    /* hat #2 in metatile #4 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #4 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #5 (type F) */
    {1,0,5}, {-1,-1,-1}, {0,0,6}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,5}, {5,0,5}, {2,0,5},
    {0,0,6}, {3,0,5}, {1,0,5}, {5,0,5},
    {2,0,5}, {1,2,0}, {4,0,5}, {6,2,0},
    {3,1,5}, {5,0,5}, {6,2,0}, {3,0,5},
    {4,0,5}, {6,0,5}, {2,0,5}, {1,0,5},
    {5,0,5}, {7,0,5}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,5}, {2,1,5}, {-1,-1,-1}, {0,1,5},
    /* hat #1 in metatile #5 (type F) */
    {1,1,5}, {-1,-1,-1}, {7,0,5}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,5}, {5,1,5}, {2,1,5},
    {7,0,5}, {3,1,5}, {1,1,5}, {5,1,5},
    {2,1,5}, {4,0,5}, {4,1,5}, {7,2,0},
    {3,1,0}, {5,1,5}, {7,2,0}, {3,1,5},
    {4,1,5}, {6,1,5}, {2,1,5}, {1,1,5},
    {5,1,5}, {7,1,5}, {-1,-1,-1}, {7,1,8},
    {6,1,5}, {2,1,0}, {6,1,8}, {0,1,0},
    /* hat #2 in metatile #5 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #5 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #6 (type F) */
    {1,0,6}, {2,0,5}, {-1,-1,-1}, {0,0,5},
    {0,2,0}, {0,0,6}, {5,0,6}, {2,0,6},
    {-1,-1,-1}, {3,0,6}, {1,0,6}, {5,0,6},
    {2,0,6}, {-1,-1,-1}, {4,0,6}, {-1,-1,-1},
    {3,1,6}, {5,0,6}, {-1,-1,-1}, {3,0,6},
    {4,0,6}, {6,0,6}, {2,0,6}, {1,0,6},
    {5,0,6}, {7,0,6}, {0,2,0}, {7,1,4},
    {6,0,6}, {2,1,6}, {6,1,4}, {0,1,6},
    /* hat #1 in metatile #6 (type F) */
    {1,1,6}, {1,1,4}, {7,0,6}, {6,1,4},
    {0,1,1}, {0,1,6}, {5,1,6}, {2,1,6},
    {7,0,6}, {3,1,6}, {1,1,6}, {5,1,6},
    {2,1,6}, {4,0,6}, {4,1,6}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,6}, {-1,-1,-1}, {3,1,6},
    {4,1,6}, {6,1,6}, {2,1,6}, {1,1,6},
    {5,1,6}, {7,1,6}, {0,1,1}, {7,1,2},
    {6,1,6}, {-1,-1,-1}, {6,1,2}, {-1,-1,-1},
    /* hat #2 in metatile #6 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #6 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #7 (type F) */
    {1,0,7}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,7}, {5,0,7}, {2,0,7},
    {-1,-1,-1}, {3,0,7}, {1,0,7}, {5,0,7},
    {2,0,7}, {-1,-1,-1}, {4,0,7}, {-1,-1,-1},
    {3,1,7}, {5,0,7}, {-1,-1,-1}, {3,0,7},
    {4,0,7}, {6,0,7}, {2,0,7}, {1,0,7},
    {5,0,7}, {7,0,7}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,7}, {2,1,7}, {0,0,2}, {0,1,7},
    /* hat #1 in metatile #7 (type F) */
    {1,1,7}, {2,0,2}, {7,0,7}, {0,0,2},
    {0,2,1}, {0,1,7}, {5,1,7}, {2,1,7},
    {7,0,7}, {3,1,7}, {1,1,7}, {5,1,7},
    {2,1,7}, {4,0,7}, {4,1,7}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,7}, {-1,-1,-1}, {3,1,7},
    {4,1,7}, {6,1,7}, {2,1,7}, {1,1,7},
    {5,1,7}, {7,1,7}, {0,2,1}, {7,1,10},
    {6,1,7}, {-1,-1,-1}, {6,1,10}, {-1,-1,-1},
    /* hat #2 in metatile #7 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #7 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #8 (type F) */
    {1,0,8}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,8}, {5,0,8}, {2,0,8},
    {-1,-1,-1}, {3,0,8}, {1,0,8}, {5,0,8},
    {2,0,8}, {-1,-1,-1}, {4,0,8}, {-1,-1,-1},
    {3,1,8}, {5,0,8}, {-1,-1,-1}, {3,0,8},
    {4,0,8}, {6,0,8}, {2,0,8}, {1,0,8},
    {5,0,8}, {7,0,8}, {-1,-1,-1}, {7,1,3},
    {6,0,8}, {2,1,8}, {6,1,3}, {0,1,8},
    /* hat #1 in metatile #8 (type F) */
    {1,1,8}, {1,1,3}, {7,0,8}, {6,1,3},
    {0,1,0}, {0,1,8}, {5,1,8}, {2,1,8},
    {7,0,8}, {3,1,8}, {1,1,8}, {5,1,8},
    {2,1,8}, {4,0,8}, {4,1,8}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,8}, {-1,-1,-1}, {3,1,8},
    {4,1,8}, {6,1,8}, {2,1,8}, {1,1,8},
    {5,1,8}, {7,1,8}, {0,1,0}, {7,1,5},
    {6,1,8}, {-1,-1,-1}, {6,1,5}, {-1,-1,-1},
    /* hat #2 in metatile #8 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #8 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #9 (type F) */
    {1,0,9}, {2,0,10}, {-1,-1,-1}, {0,0,10},
    {3,0,1}, {0,0,9}, {5,0,9}, {2,0,9},
    {-1,-1,-1}, {3,0,9}, {1,0,9}, {5,0,9},
    {2,0,9}, {-1,-1,-1}, {4,0,9}, {-1,-1,-1},
    {3,1,9}, {5,0,9}, {-1,-1,-1}, {3,0,9},
    {4,0,9}, {6,0,9}, {2,0,9}, {1,0,9},
    {5,0,9}, {7,0,9}, {3,0,1}, {4,0,1},
    {6,0,9}, {2,1,9}, {0,0,4}, {0,1,9},
    /* hat #1 in metatile #9 (type F) */
    {1,1,9}, {2,0,4}, {7,0,9}, {0,0,4},
    {3,0,0}, {0,1,9}, {5,1,9}, {2,1,9},
    {7,0,9}, {3,1,9}, {1,1,9}, {5,1,9},
    {2,1,9}, {4,0,9}, {4,1,9}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,9}, {-1,-1,-1}, {3,1,9},
    {4,1,9}, {6,1,9}, {2,1,9}, {1,1,9},
    {5,1,9}, {7,1,9}, {3,0,0}, {4,0,0},
    {6,1,9}, {-1,-1,-1}, {0,0,3}, {-1,-1,-1},
    /* hat #2 in metatile #9 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #9 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #10 (type F) */
    {1,0,10}, {-1,-1,-1}, {0,0,9}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,10}, {5,0,10}, {2,0,10},
    {0,0,9}, {3,0,10}, {1,0,10}, {5,0,10},
    {2,0,10}, {2,0,1}, {4,0,10}, {0,0,1},
    {3,1,10}, {5,0,10}, {0,0,1}, {3,0,10},
    {4,0,10}, {6,0,10}, {2,0,10}, {1,0,10},
    {5,0,10}, {7,0,10}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,10}, {2,1,10}, {-1,-1,-1}, {0,1,10},
    /* hat #1 in metatile #10 (type F) */
    {1,1,10}, {-1,-1,-1}, {7,0,10}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,10}, {5,1,10}, {2,1,10},
    {7,0,10}, {3,1,10}, {1,1,10}, {5,1,10},
    {2,1,10}, {4,0,10}, {4,1,10}, {7,3,1},
    {3,2,1}, {5,1,10}, {7,3,1}, {3,1,10},
    {4,1,10}, {6,1,10}, {2,1,10}, {1,1,10},
    {5,1,10}, {7,1,10}, {-1,-1,-1}, {7,1,7},
    {6,1,10}, {2,2,1}, {6,1,7}, {0,2,1},
    /* hat #2 in metatile #10 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #10 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
};
static const KitemapEntry kitemap_F[] = {
    /* hat #0 in metatile #0 (type H) */
    {1,0,0}, {7,3,0}, {3,0,3}, {4,0,3},
    {4,3,0}, {0,0,0}, {5,0,0}, {2,0,0},
    {3,0,3}, {3,0,0}, {1,0,0}, {5,0,0},
    {2,0,0}, {1,1,9}, {4,0,0}, {6,1,9},
    {0,0,2}, {5,0,0}, {6,1,9}, {3,0,0},
    {4,0,0}, {6,0,0}, {2,0,0}, {1,0,0},
    {5,0,0}, {7,0,0}, {4,3,0}, {3,3,0},
    {6,0,0}, {1,0,2}, {7,1,0}, {6,0,2},
    /* hat #1 in metatile #0 (type H) */
    {1,1,0}, {1,1,8}, {7,1,4}, {6,1,8},
    {0,1,2}, {0,1,0}, {5,1,0}, {2,1,0},
    {7,1,4}, {3,1,0}, {1,1,0}, {5,1,0},
    {2,1,0}, {4,1,4}, {4,1,0}, {0,3,0},
    {2,3,0}, {5,1,0}, {0,3,0}, {3,1,0},
    {4,1,0}, {6,1,0}, {2,1,0}, {1,1,0},
    {5,1,0}, {7,1,0}, {0,1,2}, {7,0,2},
    {6,1,0}, {3,3,0}, {6,0,2}, {7,0,0},
    /* hat #2 in metatile #0 (type H) */
    {1,2,0}, {1,0,5}, {7,1,3}, {6,0,5},
    {3,0,4}, {0,2,0}, {5,2,0}, {2,2,0},
    {7,1,3}, {3,2,0}, {1,2,0}, {5,2,0},
    {2,2,0}, {4,1,3}, {4,2,0}, {6,3,0},
    {1,3,0}, {5,2,0}, {6,3,0}, {3,2,0},
    {4,2,0}, {6,2,0}, {2,2,0}, {1,2,0},
    {5,2,0}, {7,2,0}, {3,0,4}, {4,0,4},
    {6,2,0}, {0,3,0}, {3,1,4}, {4,1,4},
    /* hat #3 in metatile #0 (type H) */
    {7,2,0}, {1,3,0}, {3,1,0}, {4,1,0},
    {0,3,0}, {4,2,0}, {2,3,0}, {5,3,0},
    {3,3,0}, {4,1,0}, {5,3,0}, {1,3,0},
    {7,1,0}, {2,3,0}, {6,0,0}, {4,3,0},
    {5,3,0}, {1,0,0}, {3,3,0}, {6,0,0},
    {6,3,0}, {4,3,0}, {1,3,0}, {2,3,0},
    {7,3,0}, {5,3,0}, {3,2,0}, {4,2,0},
    {0,0,0}, {6,3,0}, {3,1,3}, {4,1,3},
    /* hat #0 in metatile #1 (type H) */
    {1,0,1}, {7,3,1}, {3,0,10}, {4,0,10},
    {4,3,1}, {0,0,1}, {5,0,1}, {2,0,1},
    {3,0,10}, {3,0,1}, {1,0,1}, {5,0,1},
    {2,0,1}, {1,0,9}, {4,0,1}, {6,0,9},
    {0,0,3}, {5,0,1}, {6,0,9}, {3,0,1},
    {4,0,1}, {6,0,1}, {2,0,1}, {1,0,1},
    {5,0,1}, {7,0,1}, {4,3,1}, {3,3,1},
    {6,0,1}, {1,0,3}, {7,1,1}, {6,0,3},
    /* hat #1 in metatile #1 (type H) */
    {1,1,1}, {1,1,5}, {7,1,6}, {6,1,5},
    {0,1,3}, {0,1,1}, {5,1,1}, {2,1,1},
    {7,1,6}, {3,1,1}, {1,1,1}, {5,1,1},
    {2,1,1}, {4,1,6}, {4,1,1}, {0,3,1},
    {2,3,1}, {5,1,1}, {0,3,1}, {3,1,1},
    {4,1,1}, {6,1,1}, {2,1,1}, {1,1,1},
    {5,1,1}, {7,1,1}, {0,1,3}, {7,0,3},
    {6,1,1}, {3,3,1}, {6,0,3}, {7,0,1},
    /* hat #2 in metatile #1 (type H) */
    {1,2,1}, {1,0,7}, {7,1,10}, {6,0,7},
    {3,0,6}, {0,2,1}, {5,2,1}, {2,2,1},
    {7,1,10}, {3,2,1}, {1,2,1}, {5,2,1},
    {2,2,1}, {4,1,10}, {4,2,1}, {6,3,1},
    {1,3,1}, {5,2,1}, {6,3,1}, {3,2,1},
    {4,2,1}, {6,2,1}, {2,2,1}, {1,2,1},
    {5,2,1}, {7,2,1}, {3,0,6}, {4,0,6},
    {6,2,1}, {0,3,1}, {3,1,6}, {4,1,6},
    /* hat #3 in metatile #1 (type H) */
    {7,2,1}, {1,3,1}, {3,1,1}, {4,1,1},
    {0,3,1}, {4,2,1}, {2,3,1}, {5,3,1},
    {3,3,1}, {4,1,1}, {5,3,1}, {1,3,1},
    {7,1,1}, {2,3,1}, {6,0,1}, {4,3,1},
    {5,3,1}, {1,0,1}, {3,3,1}, {6,0,1},
    {6,3,1}, {4,3,1}, {1,3,1}, {2,3,1},
    {7,3,1}, {5,3,1}, {3,2,1}, {4,2,1},
    {0,0,1}, {6,3,1}, {3,1,10}, {4,1,10},
    /* hat #0 in metatile #2 (type P) */
    {1,0,2}, {4,0,0}, {-1,-1,-1}, {7,1,9},
    {7,0,0}, {0,0,2}, {5,0,2}, {2,0,2},
    {-1,-1,-1}, {3,0,2}, {1,0,2}, {5,0,2},
    {2,0,2}, {-1,-1,-1}, {4,0,2}, {-1,-1,-1},
    {3,1,2}, {5,0,2}, {-1,-1,-1}, {3,0,2},
    {4,0,2}, {6,0,2}, {2,0,2}, {1,0,2},
    {5,0,2}, {7,0,2}, {7,0,0}, {7,1,0},
    {6,0,2}, {2,1,2}, {6,1,0}, {0,1,2},
    /* hat #1 in metatile #2 (type P) */
    {1,1,2}, {1,1,0}, {7,0,2}, {6,1,0},
    {0,1,8}, {0,1,2}, {5,1,2}, {2,1,2},
    {7,0,2}, {3,1,2}, {1,1,2}, {5,1,2},
    {2,1,2}, {4,0,2}, {4,1,2}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,2}, {-1,-1,-1}, {3,1,2},
    {4,1,2}, {6,1,2}, {2,1,2}, {1,1,2},
    {5,1,2}, {7,1,2}, {0,1,8}, {7,0,8},
    {6,1,2}, {-1,-1,-1}, {6,0,8}, {-1,-1,-1},
    /* hat #2 in metatile #2 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #2 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #3 (type P) */
    {1,0,3}, {4,0,1}, {0,1,9}, {7,0,9},
    {7,0,1}, {0,0,3}, {5,0,3}, {2,0,3},
    {0,1,9}, {3,0,3}, {1,0,3}, {5,0,3},
    {2,0,3}, {2,0,0}, {4,0,3}, {0,0,0},
    {3,1,3}, {5,0,3}, {0,0,0}, {3,0,3},
    {4,0,3}, {6,0,3}, {2,0,3}, {1,0,3},
    {5,0,3}, {7,0,3}, {7,0,1}, {7,1,1},
    {6,0,3}, {2,1,3}, {6,1,1}, {0,1,3},
    /* hat #1 in metatile #3 (type P) */
    {1,1,3}, {1,1,1}, {7,0,3}, {6,1,1},
    {0,1,5}, {0,1,3}, {5,1,3}, {2,1,3},
    {7,0,3}, {3,1,3}, {1,1,3}, {5,1,3},
    {2,1,3}, {4,0,3}, {4,1,3}, {7,3,0},
    {3,2,0}, {5,1,3}, {7,3,0}, {3,1,3},
    {4,1,3}, {6,1,3}, {2,1,3}, {1,1,3},
    {5,1,3}, {7,1,3}, {0,1,5}, {7,0,5},
    {6,1,3}, {2,2,0}, {6,0,5}, {0,2,0},
    /* hat #2 in metatile #3 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #3 (type P) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #4 (type F) */
    {1,0,4}, {-1,-1,-1}, {0,0,5}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,4}, {5,0,4}, {2,0,4},
    {0,0,5}, {3,0,4}, {1,0,4}, {5,0,4},
    {2,0,4}, {1,2,0}, {4,0,4}, {6,2,0},
    {3,1,4}, {5,0,4}, {6,2,0}, {3,0,4},
    {4,0,4}, {6,0,4}, {2,0,4}, {1,0,4},
    {5,0,4}, {7,0,4}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,4}, {2,1,4}, {-1,-1,-1}, {0,1,4},
    /* hat #1 in metatile #4 (type F) */
    {1,1,4}, {-1,-1,-1}, {7,0,4}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,4}, {5,1,4}, {2,1,4},
    {7,0,4}, {3,1,4}, {1,1,4}, {5,1,4},
    {2,1,4}, {4,0,4}, {4,1,4}, {7,2,0},
    {3,1,0}, {5,1,4}, {7,2,0}, {3,1,4},
    {4,1,4}, {6,1,4}, {2,1,4}, {1,1,4},
    {5,1,4}, {7,1,4}, {-1,-1,-1}, {7,1,8},
    {6,1,4}, {2,1,0}, {6,1,8}, {0,1,0},
    /* hat #2 in metatile #4 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #4 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #5 (type F) */
    {1,0,5}, {2,0,4}, {-1,-1,-1}, {0,0,4},
    {0,2,0}, {0,0,5}, {5,0,5}, {2,0,5},
    {-1,-1,-1}, {3,0,5}, {1,0,5}, {5,0,5},
    {2,0,5}, {-1,-1,-1}, {4,0,5}, {-1,-1,-1},
    {3,1,5}, {5,0,5}, {-1,-1,-1}, {3,0,5},
    {4,0,5}, {6,0,5}, {2,0,5}, {1,0,5},
    {5,0,5}, {7,0,5}, {0,2,0}, {7,1,3},
    {6,0,5}, {2,1,5}, {6,1,3}, {0,1,5},
    /* hat #1 in metatile #5 (type F) */
    {1,1,5}, {1,1,3}, {7,0,5}, {6,1,3},
    {0,1,1}, {0,1,5}, {5,1,5}, {2,1,5},
    {7,0,5}, {3,1,5}, {1,1,5}, {5,1,5},
    {2,1,5}, {4,0,5}, {4,1,5}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,5}, {-1,-1,-1}, {3,1,5},
    {4,1,5}, {6,1,5}, {2,1,5}, {1,1,5},
    {5,1,5}, {7,1,5}, {0,1,1}, {7,1,6},
    {6,1,5}, {-1,-1,-1}, {6,1,6}, {-1,-1,-1},
    /* hat #2 in metatile #5 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #5 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #6 (type F) */
    {1,0,6}, {-1,-1,-1}, {0,0,7}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,6}, {5,0,6}, {2,0,6},
    {0,0,7}, {3,0,6}, {1,0,6}, {5,0,6},
    {2,0,6}, {1,2,1}, {4,0,6}, {6,2,1},
    {3,1,6}, {5,0,6}, {6,2,1}, {3,0,6},
    {4,0,6}, {6,0,6}, {2,0,6}, {1,0,6},
    {5,0,6}, {7,0,6}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,6}, {2,1,6}, {-1,-1,-1}, {0,1,6},
    /* hat #1 in metatile #6 (type F) */
    {1,1,6}, {-1,-1,-1}, {7,0,6}, {-1,-1,-1},
    {-1,-1,-1}, {0,1,6}, {5,1,6}, {2,1,6},
    {7,0,6}, {3,1,6}, {1,1,6}, {5,1,6},
    {2,1,6}, {4,0,6}, {4,1,6}, {7,2,1},
    {3,1,1}, {5,1,6}, {7,2,1}, {3,1,6},
    {4,1,6}, {6,1,6}, {2,1,6}, {1,1,6},
    {5,1,6}, {7,1,6}, {-1,-1,-1}, {7,1,5},
    {6,1,6}, {2,1,1}, {6,1,5}, {0,1,1},
    /* hat #2 in metatile #6 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #6 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #7 (type F) */
    {1,0,7}, {2,0,6}, {-1,-1,-1}, {0,0,6},
    {0,2,1}, {0,0,7}, {5,0,7}, {2,0,7},
    {-1,-1,-1}, {3,0,7}, {1,0,7}, {5,0,7},
    {2,0,7}, {-1,-1,-1}, {4,0,7}, {-1,-1,-1},
    {3,1,7}, {5,0,7}, {-1,-1,-1}, {3,0,7},
    {4,0,7}, {6,0,7}, {2,0,7}, {1,0,7},
    {5,0,7}, {7,0,7}, {0,2,1}, {7,1,10},
    {6,0,7}, {2,1,7}, {6,1,10}, {0,1,7},
    /* hat #1 in metatile #7 (type F) */
    {1,1,7}, {1,1,10}, {7,0,7}, {6,1,10},
    {-1,-1,-1}, {0,1,7}, {5,1,7}, {2,1,7},
    {7,0,7}, {3,1,7}, {1,1,7}, {5,1,7},
    {2,1,7}, {4,0,7}, {4,1,7}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,7}, {-1,-1,-1}, {3,1,7},
    {4,1,7}, {6,1,7}, {2,1,7}, {1,1,7},
    {5,1,7}, {7,1,7}, {-1,-1,-1}, {-1,-1,-1},
    {6,1,7}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #2 in metatile #7 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #7 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #8 (type F) */
    {1,0,8}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,8}, {5,0,8}, {2,0,8},
    {-1,-1,-1}, {3,0,8}, {1,0,8}, {5,0,8},
    {2,0,8}, {-1,-1,-1}, {4,0,8}, {-1,-1,-1},
    {3,1,8}, {5,0,8}, {-1,-1,-1}, {3,0,8},
    {4,0,8}, {6,0,8}, {2,0,8}, {1,0,8},
    {5,0,8}, {7,0,8}, {-1,-1,-1}, {7,1,2},
    {6,0,8}, {2,1,8}, {6,1,2}, {0,1,8},
    /* hat #1 in metatile #8 (type F) */
    {1,1,8}, {1,1,2}, {7,0,8}, {6,1,2},
    {0,1,0}, {0,1,8}, {5,1,8}, {2,1,8},
    {7,0,8}, {3,1,8}, {1,1,8}, {5,1,8},
    {2,1,8}, {4,0,8}, {4,1,8}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,8}, {-1,-1,-1}, {3,1,8},
    {4,1,8}, {6,1,8}, {2,1,8}, {1,1,8},
    {5,1,8}, {7,1,8}, {0,1,0}, {7,1,4},
    {6,1,8}, {-1,-1,-1}, {6,1,4}, {-1,-1,-1},
    /* hat #2 in metatile #8 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #8 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #9 (type F) */
    {1,0,9}, {2,0,10}, {-1,-1,-1}, {0,0,10},
    {3,0,1}, {0,0,9}, {5,0,9}, {2,0,9},
    {-1,-1,-1}, {3,0,9}, {1,0,9}, {5,0,9},
    {2,0,9}, {-1,-1,-1}, {4,0,9}, {-1,-1,-1},
    {3,1,9}, {5,0,9}, {-1,-1,-1}, {3,0,9},
    {4,0,9}, {6,0,9}, {2,0,9}, {1,0,9},
    {5,0,9}, {7,0,9}, {3,0,1}, {4,0,1},
    {6,0,9}, {2,1,9}, {0,0,3}, {0,1,9},
    /* hat #1 in metatile #9 (type F) */
    {1,1,9}, {2,0,3}, {7,0,9}, {0,0,3},
    {3,0,0}, {0,1,9}, {5,1,9}, {2,1,9},
    {7,0,9}, {3,1,9}, {1,1,9}, {5,1,9},
    {2,1,9}, {4,0,9}, {4,1,9}, {-1,-1,-1},
    {-1,-1,-1}, {5,1,9}, {-1,-1,-1}, {3,1,9},
    {4,1,9}, {6,1,9}, {2,1,9}, {1,1,9},
    {5,1,9}, {7,1,9}, {3,0,0}, {4,0,0},
    {6,1,9}, {-1,-1,-1}, {0,0,2}, {-1,-1,-1},
    /* hat #2 in metatile #9 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #9 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #0 in metatile #10 (type F) */
    {1,0,10}, {-1,-1,-1}, {0,0,9}, {-1,-1,-1},
    {-1,-1,-1}, {0,0,10}, {5,0,10}, {2,0,10},
    {0,0,9}, {3,0,10}, {1,0,10}, {5,0,10},
    {2,0,10}, {2,0,1}, {4,0,10}, {0,0,1},
    {3,1,10}, {5,0,10}, {0,0,1}, {3,0,10},
    {4,0,10}, {6,0,10}, {2,0,10}, {1,0,10},
    {5,0,10}, {7,0,10}, {-1,-1,-1}, {-1,-1,-1},
    {6,0,10}, {2,1,10}, {-1,-1,-1}, {0,1,10},
    /* hat #1 in metatile #10 (type F) */
    {1,1,10}, {-1,-1,-1}, {7,0,10}, {-1,-1,-1},
    {0,1,7}, {0,1,10}, {5,1,10}, {2,1,10},
    {7,0,10}, {3,1,10}, {1,1,10}, {5,1,10},
    {2,1,10}, {4,0,10}, {4,1,10}, {7,3,1},
    {3,2,1}, {5,1,10}, {7,3,1}, {3,1,10},
    {4,1,10}, {6,1,10}, {2,1,10}, {1,1,10},
    {5,1,10}, {7,1,10}, {0,1,7}, {7,0,7},
    {6,1,10}, {2,2,1}, {6,0,7}, {0,2,1},
    /* hat #2 in metatile #10 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    /* hat #3 in metatile #10 (type F) does not exist */
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
    {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1}, {-1,-1,-1},
};
static const KitemapEntry *const kitemap[] = {
    kitemap_H,
    kitemap_T,
    kitemap_P,
    kitemap_F,
};

static const MetamapEntry metamap_H[] = {
    /* 0, 0 -> */ {0, 0}, /* no alternatives */
    /* 1, 0 -> */ {1, 0}, /* no alternatives */
    /* 2, 0 -> */ {2, 0}, /* no alternatives */
    /* 3, 0 -> */ {3, 0}, /* no alternatives */
    /* 4, 0 -> */ {3, 4},
    /* 5, 0 -> */ {2, 8},
    /* 6, 0 -> */ {3, 3},
    /* 7, 0 -> */ {8, 4},
    /* 8, 0 -> */ {9, 8},
    /* 9, 0 -> */ {9, 4},
    /* 10, 0 -> */ {8, 1},
    /* 11, 0 -> */ {10, 5},
    /* 12, 0 -> */ {5, 3},
    /* 0, 1 -> */ {0, 1}, /* no alternatives */
    /* 1, 1 -> */ {1, 1}, /* no alternatives */
    /* 2, 1 -> */ {2, 1}, /* no alternatives */
    /* 3, 1 -> */ {3, 1}, /* no alternatives */
    /* 4, 1 -> */ {2, 9},
    /* 5, 1 -> */ {2, 3},
    /* 6, 1 -> */ {2, 6},
    /* 7, 1 -> */ {10, 4},
    /* 8, 1 -> */ {6, 3},
    /* 9, 1 -> */ {9, 9},
    /* 10, 1 -> */ {6, 10},
    /* 11, 1 -> */ {4, 3},
    /* 12, 1 -> */ {6, 6},
    /* 0, 2 -> */ {0, 2}, /* no alternatives */
    /* 1, 2 -> */ {1, 2}, /* no alternatives */
    /* 2, 2 -> */ {2, 2}, /* no alternatives */
    /* 3, 2 -> */ {3, 2}, /* no alternatives */
    /* 4, 2 -> */ {3, 5},
    /* 5, 2 -> */ {2, 12},
    /* 6, 2 -> */ {1, 3},
    /* 7, 2 -> */ {8, 5},
    /* 8, 2 -> */ {9, 12},
    /* 9, 2 -> */ {9, 5},
    /* 10, 2 -> */ {12, 0},
    /* 11, 2 -> */ {5, 6},
    /* 12, 2 -> */ {11, 1},
    /* 0, 3 -> */ {0, 3}, /* no alternatives */
    /* 1, 3 -> */ {6, 2},
    /* 2, 3 -> */ {5, 1},
    /* 3, 3 -> */ {6, 0},
    /* 4, 3 -> */ {12, 2},
    /* 5, 3 -> */ {10, 2},
    /* 6, 3 -> */ {10, 0},
    /* 7, 3 -> */ {-1,-1}, /* does not exist */
    /* 8, 3 -> */ {-1,-1}, /* does not exist */
    /* 9, 3 -> */ {-1,-1}, /* does not exist */
    /* 10, 3 -> */ {-1,-1}, /* does not exist */
    /* 11, 3 -> */ {-1,-1}, /* does not exist */
    /* 12, 3 -> */ {-1,-1}, /* does not exist */
    /* 0, 4 -> */ {0, 4}, /* no alternatives */
    /* 1, 4 -> */ {1, 4}, /* no alternatives */
    /* 2, 4 -> */ {2, 4}, /* no alternatives */
    /* 3, 4 -> */ {4, 0},
    /* 4, 4 -> */ {4, 4}, /* no alternatives */
    /* 5, 4 -> */ {5, 7},
    /* 6, 4 -> */ {6, 4}, /* no alternatives */
    /* 7, 4 -> */ {4, 9},
    /* 8, 4 -> */ {6, 7},
    /* 9, 4 -> */ {9, 0},
    /* 10, 4 -> */ {8, 9},
    /* 11, 4 -> */ {-1,-1}, /* does not exist */
    /* 12, 4 -> */ {-1,-1}, /* does not exist */
    /* 0, 5 -> */ {0, 5}, /* no alternatives */
    /* 1, 5 -> */ {1, 5}, /* no alternatives */
    /* 2, 5 -> */ {2, 5}, /* no alternatives */
    /* 3, 5 -> */ {4, 2},
    /* 4, 5 -> */ {4, 5}, /* no alternatives */
    /* 5, 5 -> */ {5, 11},
    /* 6, 5 -> */ {6, 5}, /* no alternatives */
    /* 7, 5 -> */ {4, 8},
    /* 8, 5 -> */ {6, 11},
    /* 9, 5 -> */ {9, 2},
    /* 10, 5 -> */ {8, 8},
    /* 11, 5 -> */ {-1,-1}, /* does not exist */
    /* 12, 5 -> */ {-1,-1}, /* does not exist */
    /* 0, 6 -> */ {0, 6}, /* no alternatives */
    /* 1, 6 -> */ {1, 6}, /* no alternatives */
    /* 2, 6 -> */ {6, 1},
    /* 3, 6 -> */ {3, 6}, /* no alternatives */
    /* 4, 6 -> */ {4, 6}, /* no alternatives */
    /* 5, 6 -> */ {8, 12},
    /* 6, 6 -> */ {12, 1},
    /* 7, 6 -> */ {10, 1},
    /* 8, 6 -> */ {4, 12},
    /* 9, 6 -> */ {9, 6}, /* no alternatives */
    /* 10, 6 -> */ {5, 10},
    /* 11, 6 -> */ {-1,-1}, /* does not exist */
    /* 12, 6 -> */ {-1,-1}, /* does not exist */
    /* 0, 7 -> */ {0, 7}, /* no alternatives */
    /* 1, 7 -> */ {1, 7}, /* no alternatives */
    /* 2, 7 -> */ {2, 7}, /* no alternatives */
    /* 3, 7 -> */ {3, 7}, /* no alternatives */
    /* 4, 7 -> */ {4, 7}, /* no alternatives */
    /* 5, 7 -> */ {5, 4},
    /* 6, 7 -> */ {7, 0},
    /* 7, 7 -> */ {10, 8},
    /* 8, 7 -> */ {8, 7}, /* no alternatives */
    /* 9, 7 -> */ {9, 7}, /* no alternatives */
    /* 10, 7 -> */ {10, 7}, /* no alternatives */
    /* 11, 7 -> */ {-1,-1}, /* does not exist */
    /* 12, 7 -> */ {-1,-1}, /* does not exist */
    /* 0, 8 -> */ {0, 8}, /* no alternatives */
    /* 1, 8 -> */ {1, 8}, /* no alternatives */
    /* 2, 8 -> */ {5, 0},
    /* 3, 8 -> */ {3, 8}, /* no alternatives */
    /* 4, 8 -> */ {7, 5},
    /* 5, 8 -> */ {5, 8}, /* no alternatives */
    /* 6, 8 -> */ {6, 8}, /* no alternatives */
    /* 7, 8 -> */ {7, 8}, /* no alternatives */
    /* 8, 8 -> */ {11, 0},
    /* 9, 8 -> */ {8, 0},
    /* 10, 8 -> */ {7, 7},
    /* 11, 8 -> */ {-1,-1}, /* does not exist */
    /* 12, 8 -> */ {-1,-1}, /* does not exist */
    /* 0, 9 -> */ {0, 9}, /* no alternatives */
    /* 1, 9 -> */ {1, 9}, /* no alternatives */
    /* 2, 9 -> */ {4, 1},
    /* 3, 9 -> */ {3, 9}, /* no alternatives */
    /* 4, 9 -> */ {7, 4},
    /* 5, 9 -> */ {5, 9}, /* no alternatives */
    /* 6, 9 -> */ {6, 9}, /* no alternatives */
    /* 7, 9 -> */ {7, 9}, /* no alternatives */
    /* 8, 9 -> */ {7, 1},
    /* 9, 9 -> */ {9, 1},
    /* 10, 9 -> */ {7, 10},
    /* 11, 9 -> */ {-1,-1}, /* does not exist */
    /* 12, 9 -> */ {-1,-1}, /* does not exist */
    /* 0, 10 -> */ {0, 10}, /* no alternatives */
    /* 1, 10 -> */ {1, 10}, /* no alternatives */
    /* 2, 10 -> */ {2, 10}, /* no alternatives */
    /* 3, 10 -> */ {3, 10}, /* no alternatives */
    /* 4, 10 -> */ {4, 10}, /* no alternatives */
    /* 5, 10 -> */ {10, 6},
    /* 6, 10 -> */ {7, 6},
    /* 7, 10 -> */ {10, 9},
    /* 8, 10 -> */ {8, 10}, /* no alternatives */
    /* 9, 10 -> */ {9, 10}, /* no alternatives */
    /* 10, 10 -> */ {10, 10}, /* no alternatives */
    /* 11, 10 -> */ {-1,-1}, /* does not exist */
    /* 12, 10 -> */ {-1,-1}, /* does not exist */
    /* 0, 11 -> */ {0, 11}, /* no alternatives */
    /* 1, 11 -> */ {1, 11}, /* no alternatives */
    /* 2, 11 -> */ {2, 11}, /* no alternatives */
    /* 3, 11 -> */ {3, 11}, /* no alternatives */
    /* 4, 11 -> */ {4, 11}, /* no alternatives */
    /* 5, 11 -> */ {5, 5},
    /* 6, 11 -> */ {7, 2},
    /* 7, 11 -> */ {10, 12},
    /* 8, 11 -> */ {8, 11}, /* no alternatives */
    /* 9, 11 -> */ {9, 11}, /* no alternatives */
    /* 10, 11 -> */ {10, 11}, /* no alternatives */
    /* 11, 11 -> */ {-1,-1}, /* does not exist */
    /* 12, 11 -> */ {-1,-1}, /* does not exist */
    /* 0, 12 -> */ {0, 12}, /* no alternatives */
    /* 1, 12 -> */ {1, 12}, /* no alternatives */
    /* 2, 12 -> */ {5, 2},
    /* 3, 12 -> */ {3, 12}, /* no alternatives */
    /* 4, 12 -> */ {8, 6},
    /* 5, 12 -> */ {5, 12}, /* no alternatives */
    /* 6, 12 -> */ {6, 12}, /* no alternatives */
    /* 7, 12 -> */ {7, 12}, /* no alternatives */
    /* 8, 12 -> */ {11, 2},
    /* 9, 12 -> */ {8, 2},
    /* 10, 12 -> */ {7, 11},
    /* 11, 12 -> */ {-1,-1}, /* does not exist */
    /* 12, 12 -> */ {-1,-1}, /* does not exist */
};
static const MetamapEntry metamap_T[] = {
    /* 0, 0 -> */ {0, 0}, /* no alternatives */
    /* 1, 0 -> */ {1, 0}, /* no alternatives */
    /* 2, 0 -> */ {2, 0}, /* no alternatives */
    /* 3, 0 -> */ {3, 0}, /* no alternatives */
    /* 4, 0 -> */ {3, 3},
    /* 5, 0 -> */ {3, 1},
    /* 6, 0 -> */ {2, 2},
    /* 7, 0 -> */ {8, 3},
    /* 8, 0 -> */ {9, 1},
    /* 9, 0 -> */ {9, 3},
    /* 10, 0 -> */ {4, 6},
    /* 11, 0 -> */ {4, 4},
    /* 12, 0 -> */ {6, 2},
    /* 0, 1 -> */ {0, 1}, /* no alternatives */
    /* 1, 1 -> */ {1, 1}, /* no alternatives */
    /* 2, 1 -> */ {2, 1}, /* no alternatives */
    /* 3, 1 -> */ {5, 0},
    /* 4, 1 -> */ {4, 1}, /* no alternatives */
    /* 5, 1 -> */ {8, 4},
    /* 6, 1 -> */ {6, 1}, /* no alternatives */
    /* 7, 1 -> */ {6, 5},
    /* 8, 1 -> */ {11, 0},
    /* 9, 1 -> */ {8, 0},
    /* 10, 1 -> */ {5, 5},
    /* 11, 1 -> */ {-1,-1}, /* does not exist */
    /* 12, 1 -> */ {-1,-1}, /* does not exist */
    /* 0, 2 -> */ {0, 2}, /* no alternatives */
    /* 1, 2 -> */ {1, 2}, /* no alternatives */
    /* 2, 2 -> */ {6, 0},
    /* 3, 2 -> */ {3, 2}, /* no alternatives */
    /* 4, 2 -> */ {4, 2}, /* no alternatives */
    /* 5, 2 -> */ {5, 4},
    /* 6, 2 -> */ {12, 0},
    /* 7, 2 -> */ {10, 0},
    /* 8, 2 -> */ {6, 4},
    /* 9, 2 -> */ {9, 2}, /* no alternatives */
    /* 10, 2 -> */ {8, 6},
    /* 11, 2 -> */ {-1,-1}, /* does not exist */
    /* 12, 2 -> */ {-1,-1}, /* does not exist */
    /* 0, 3 -> */ {0, 3}, /* no alternatives */
    /* 1, 3 -> */ {1, 3}, /* no alternatives */
    /* 2, 3 -> */ {2, 3}, /* no alternatives */
    /* 3, 3 -> */ {4, 0},
    /* 4, 3 -> */ {4, 3}, /* no alternatives */
    /* 5, 3 -> */ {8, 5},
    /* 6, 3 -> */ {6, 3}, /* no alternatives */
    /* 7, 3 -> */ {6, 6},
    /* 8, 3 -> */ {4, 5},
    /* 9, 3 -> */ {9, 0},
    /* 10, 3 -> */ {5, 6},
    /* 11, 3 -> */ {-1,-1}, /* does not exist */
    /* 12, 3 -> */ {-1,-1}, /* does not exist */
    /* 0, 4 -> */ {0, 4}, /* no alternatives */
    /* 1, 4 -> */ {1, 4}, /* no alternatives */
    /* 2, 4 -> */ {2, 4}, /* no alternatives */
    /* 3, 4 -> */ {3, 4}, /* no alternatives */
    /* 4, 4 -> */ {8, 1},
    /* 5, 4 -> */ {5, 2},
    /* 6, 4 -> */ {8, 2},
    /* 7, 4 -> */ {7, 4}, /* no alternatives */
    /* 8, 4 -> */ {5, 1},
    /* 9, 4 -> */ {9, 4}, /* no alternatives */
    /* 10, 4 -> */ {10, 4}, /* no alternatives */
    /* 11, 4 -> */ {-1,-1}, /* does not exist */
    /* 12, 4 -> */ {-1,-1}, /* does not exist */
    /* 0, 5 -> */ {0, 5}, /* no alternatives */
    /* 1, 5 -> */ {1, 5}, /* no alternatives */
    /* 2, 5 -> */ {2, 5}, /* no alternatives */
    /* 3, 5 -> */ {3, 5}, /* no alternatives */
    /* 4, 5 -> */ {7, 0},
    /* 5, 5 -> */ {10, 1},
    /* 6, 5 -> */ {7, 1},
    /* 7, 5 -> */ {7, 5}, /* no alternatives */
    /* 8, 5 -> */ {5, 3},
    /* 9, 5 -> */ {9, 5}, /* no alternatives */
    /* 10, 5 -> */ {10, 5}, /* no alternatives */
    /* 11, 5 -> */ {-1,-1}, /* does not exist */
    /* 12, 5 -> */ {-1,-1}, /* does not exist */
    /* 0, 6 -> */ {0, 6}, /* no alternatives */
    /* 1, 6 -> */ {1, 6}, /* no alternatives */
    /* 2, 6 -> */ {2, 6}, /* no alternatives */
    /* 3, 6 -> */ {3, 6}, /* no alternatives */
    /* 4, 6 -> */ {7, 2},
    /* 5, 6 -> */ {10, 3},
    /* 6, 6 -> */ {7, 3},
    /* 7, 6 -> */ {7, 6}, /* no alternatives */
    /* 8, 6 -> */ {10, 2},
    /* 9, 6 -> */ {9, 6}, /* no alternatives */
    /* 10, 6 -> */ {10, 6}, /* no alternatives */
    /* 11, 6 -> */ {-1,-1}, /* does not exist */
    /* 12, 6 -> */ {-1,-1}, /* does not exist */
};
static const MetamapEntry metamap_P[] = {
    /* 0, 0 -> */ {0, 0}, /* no alternatives */
    /* 1, 0 -> */ {1, 0}, /* no alternatives */
    /* 2, 0 -> */ {2, 0}, /* no alternatives */
    /* 3, 0 -> */ {3, 0}, /* no alternatives */
    /* 4, 0 -> */ {3, 4},
    /* 5, 0 -> */ {2, 5},
    /* 6, 0 -> */ {2, 3},
    /* 7, 0 -> */ {8, 4},
    /* 8, 0 -> */ {9, 5},
    /* 9, 0 -> */ {9, 4},
    /* 10, 0 -> */ {4, 9},
    /* 11, 0 -> */ {4, 8},
    /* 12, 0 -> */ {6, 3},
    /* 0, 1 -> */ {0, 1}, /* no alternatives */
    /* 1, 1 -> */ {1, 1}, /* no alternatives */
    /* 2, 1 -> */ {2, 1}, /* no alternatives */
    /* 3, 1 -> */ {3, 1}, /* no alternatives */
    /* 4, 1 -> */ {2, 10},
    /* 5, 1 -> */ {3, 2},
    /* 6, 1 -> */ {2, 4},
    /* 7, 1 -> */ {8, 10},
    /* 8, 1 -> */ {9, 2},
    /* 9, 1 -> */ {9, 10},
    /* 10, 1 -> */ {7, 4},
    /* 11, 1 -> */ {8, 2},
    /* 12, 1 -> */ {6, 4},
    /* 0, 2 -> */ {0, 2}, /* no alternatives */
    /* 1, 2 -> */ {1, 2}, /* no alternatives */
    /* 2, 2 -> */ {2, 2}, /* no alternatives */
    /* 3, 2 -> */ {5, 1},
    /* 4, 2 -> */ {4, 2}, /* no alternatives */
    /* 5, 2 -> */ {8, 6},
    /* 6, 2 -> */ {6, 2}, /* no alternatives */
    /* 7, 2 -> */ {6, 7},
    /* 8, 2 -> */ {4, 6},
    /* 9, 2 -> */ {8, 1},
    /* 10, 2 -> */ {5, 7},
    /* 11, 2 -> */ {-1,-1}, /* does not exist */
    /* 12, 2 -> */ {-1,-1}, /* does not exist */
    /* 0, 3 -> */ {0, 3}, /* no alternatives */
    /* 1, 3 -> */ {1, 3}, /* no alternatives */
    /* 2, 3 -> */ {6, 0},
    /* 3, 3 -> */ {3, 3}, /* no alternatives */
    /* 4, 3 -> */ {4, 3}, /* no alternatives */
    /* 5, 3 -> */ {5, 8},
    /* 6, 3 -> */ {12, 0},
    /* 7, 3 -> */ {10, 0},
    /* 8, 3 -> */ {6, 8},
    /* 9, 3 -> */ {9, 3}, /* no alternatives */
    /* 10, 3 -> */ {8, 9},
    /* 11, 3 -> */ {-1,-1}, /* does not exist */
    /* 12, 3 -> */ {-1,-1}, /* does not exist */
    /* 0, 4 -> */ {0, 4}, /* no alternatives */
    /* 1, 4 -> */ {1, 4}, /* no alternatives */
    /* 2, 4 -> */ {6, 1},
    /* 3, 4 -> */ {4, 0},
    /* 4, 4 -> */ {4, 4}, /* no alternatives */
    /* 5, 4 -> */ {5, 6},
    /* 6, 4 -> */ {12, 1},
    /* 7, 4 -> */ {6, 9},
    /* 8, 4 -> */ {6, 6},
    /* 9, 4 -> */ {9, 0},
    /* 10, 4 -> */ {5, 9},
    /* 11, 4 -> */ {-1,-1}, /* does not exist */
    /* 12, 4 -> */ {-1,-1}, /* does not exist */
    /* 0, 5 -> */ {0, 5}, /* no alternatives */
    /* 1, 5 -> */ {1, 5}, /* no alternatives */
    /* 2, 5 -> */ {5, 0},
    /* 3, 5 -> */ {3, 5}, /* no alternatives */
    /* 4, 5 -> */ {8, 8},
    /* 5, 5 -> */ {5, 5}, /* no alternatives */
    /* 6, 5 -> */ {6, 5}, /* no alternatives */
    /* 7, 5 -> */ {7, 5}, /* no alternatives */
    /* 8, 5 -> */ {11, 0},
    /* 9, 5 -> */ {8, 0},
    /* 10, 5 -> */ {7, 6},
    /* 11, 5 -> */ {-1,-1}, /* does not exist */
    /* 12, 5 -> */ {-1,-1}, /* does not exist */
    /* 0, 6 -> */ {0, 6}, /* no alternatives */
    /* 1, 6 -> */ {1, 6}, /* no alternatives */
    /* 2, 6 -> */ {2, 6}, /* no alternatives */
    /* 3, 6 -> */ {3, 6}, /* no alternatives */
    /* 4, 6 -> */ {11, 1},
    /* 5, 6 -> */ {5, 4},
    /* 6, 6 -> */ {7, 0},
    /* 7, 6 -> */ {10, 5},
    /* 8, 6 -> */ {5, 2},
    /* 9, 6 -> */ {9, 6}, /* no alternatives */
    /* 10, 6 -> */ {10, 6}, /* no alternatives */
    /* 11, 6 -> */ {-1,-1}, /* does not exist */
    /* 12, 6 -> */ {-1,-1}, /* does not exist */
    /* 0, 7 -> */ {0, 7}, /* no alternatives */
    /* 1, 7 -> */ {1, 7}, /* no alternatives */
    /* 2, 7 -> */ {2, 7}, /* no alternatives */
    /* 3, 7 -> */ {3, 7}, /* no alternatives */
    /* 4, 7 -> */ {7, 1},
    /* 5, 7 -> */ {10, 2},
    /* 6, 7 -> */ {7, 2},
    /* 7, 7 -> */ {7, 7}, /* no alternatives */
    /* 8, 7 -> */ {4, 10},
    /* 9, 7 -> */ {9, 7}, /* no alternatives */
    /* 10, 7 -> */ {10, 7}, /* no alternatives */
    /* 11, 7 -> */ {-1,-1}, /* does not exist */
    /* 12, 7 -> */ {-1,-1}, /* does not exist */
    /* 0, 8 -> */ {0, 8}, /* no alternatives */
    /* 1, 8 -> */ {1, 8}, /* no alternatives */
    /* 2, 8 -> */ {2, 8}, /* no alternatives */
    /* 3, 8 -> */ {3, 8}, /* no alternatives */
    /* 4, 8 -> */ {8, 5},
    /* 5, 8 -> */ {5, 3},
    /* 6, 8 -> */ {8, 3},
    /* 7, 8 -> */ {7, 8}, /* no alternatives */
    /* 8, 8 -> */ {4, 5},
    /* 9, 8 -> */ {9, 8}, /* no alternatives */
    /* 10, 8 -> */ {10, 8}, /* no alternatives */
    /* 11, 8 -> */ {-1,-1}, /* does not exist */
    /* 12, 8 -> */ {-1,-1}, /* does not exist */
    /* 0, 9 -> */ {0, 9}, /* no alternatives */
    /* 1, 9 -> */ {1, 9}, /* no alternatives */
    /* 2, 9 -> */ {2, 9}, /* no alternatives */
    /* 3, 9 -> */ {3, 9}, /* no alternatives */
    /* 4, 9 -> */ {7, 3},
    /* 5, 9 -> */ {10, 4},
    /* 6, 9 -> */ {10, 1},
    /* 7, 9 -> */ {10, 10},
    /* 8, 9 -> */ {10, 3},
    /* 9, 9 -> */ {9, 9}, /* no alternatives */
    /* 10, 9 -> */ {10, 9}, /* no alternatives */
    /* 11, 9 -> */ {-1,-1}, /* does not exist */
    /* 12, 9 -> */ {-1,-1}, /* does not exist */
    /* 0, 10 -> */ {0, 10}, /* no alternatives */
    /* 1, 10 -> */ {1, 10}, /* no alternatives */
    /* 2, 10 -> */ {4, 1},
    /* 3, 10 -> */ {3, 10}, /* no alternatives */
    /* 4, 10 -> */ {8, 7},
    /* 5, 10 -> */ {5, 10}, /* no alternatives */
    /* 6, 10 -> */ {6, 10}, /* no alternatives */
    /* 7, 10 -> */ {7, 10}, /* no alternatives */
    /* 8, 10 -> */ {4, 7},
    /* 9, 10 -> */ {9, 1},
    /* 10, 10 -> */ {7, 9},
    /* 11, 10 -> */ {-1,-1}, /* does not exist */
    /* 12, 10 -> */ {-1,-1}, /* does not exist */
};
static const MetamapEntry metamap_F[] = {
    /* 0, 0 -> */ {0, 0}, /* no alternatives */
    /* 1, 0 -> */ {1, 0}, /* no alternatives */
    /* 2, 0 -> */ {2, 0}, /* no alternatives */
    /* 3, 0 -> */ {3, 0}, /* no alternatives */
    /* 4, 0 -> */ {3, 3},
    /* 5, 0 -> */ {2, 4},
    /* 6, 0 -> */ {2, 2},
    /* 7, 0 -> */ {8, 3},
    /* 8, 0 -> */ {9, 4},
    /* 9, 0 -> */ {9, 3},
    /* 10, 0 -> */ {4, 9},
    /* 11, 0 -> */ {4, 8},
    /* 12, 0 -> */ {6, 2},
    /* 0, 1 -> */ {0, 1}, /* no alternatives */
    /* 1, 1 -> */ {1, 1}, /* no alternatives */
    /* 2, 1 -> */ {2, 1}, /* no alternatives */
    /* 3, 1 -> */ {3, 1}, /* no alternatives */
    /* 4, 1 -> */ {2, 10},
    /* 5, 1 -> */ {2, 6},
    /* 6, 1 -> */ {2, 3},
    /* 7, 1 -> */ {8, 10},
    /* 8, 1 -> */ {9, 6},
    /* 9, 1 -> */ {9, 10},
    /* 10, 1 -> */ {7, 3},
    /* 11, 1 -> */ {8, 6},
    /* 12, 1 -> */ {6, 3},
    /* 0, 2 -> */ {0, 2}, /* no alternatives */
    /* 1, 2 -> */ {1, 2}, /* no alternatives */
    /* 2, 2 -> */ {6, 0},
    /* 3, 2 -> */ {3, 2}, /* no alternatives */
    /* 4, 2 -> */ {4, 2}, /* no alternatives */
    /* 5, 2 -> */ {5, 8},
    /* 6, 2 -> */ {12, 0},
    /* 7, 2 -> */ {10, 0},
    /* 8, 2 -> */ {6, 8},
    /* 9, 2 -> */ {9, 2}, /* no alternatives */
    /* 10, 2 -> */ {8, 9},
    /* 11, 2 -> */ {-1,-1}, /* does not exist */
    /* 12, 2 -> */ {-1,-1}, /* does not exist */
    /* 0, 3 -> */ {0, 3}, /* no alternatives */
    /* 1, 3 -> */ {1, 3}, /* no alternatives */
    /* 2, 3 -> */ {6, 1},
    /* 3, 3 -> */ {4, 0},
    /* 4, 3 -> */ {4, 3}, /* no alternatives */
    /* 5, 3 -> */ {5, 5},
    /* 6, 3 -> */ {12, 1},
    /* 7, 3 -> */ {6, 9},
    /* 8, 3 -> */ {6, 5},
    /* 9, 3 -> */ {9, 0},
    /* 10, 3 -> */ {5, 9},
    /* 11, 3 -> */ {-1,-1}, /* does not exist */
    /* 12, 3 -> */ {-1,-1}, /* does not exist */
    /* 0, 4 -> */ {0, 4}, /* no alternatives */
    /* 1, 4 -> */ {1, 4}, /* no alternatives */
    /* 2, 4 -> */ {5, 0},
    /* 3, 4 -> */ {3, 4}, /* no alternatives */
    /* 4, 4 -> */ {8, 8},
    /* 5, 4 -> */ {5, 4}, /* no alternatives */
    /* 6, 4 -> */ {6, 4}, /* no alternatives */
    /* 7, 4 -> */ {7, 4}, /* no alternatives */
    /* 8, 4 -> */ {11, 0},
    /* 9, 4 -> */ {8, 0},
    /* 10, 4 -> */ {7, 5},
    /* 11, 4 -> */ {-1,-1}, /* does not exist */
    /* 12, 4 -> */ {-1,-1}, /* does not exist */
    /* 0, 5 -> */ {0, 5}, /* no alternatives */
    /* 1, 5 -> */ {1, 5}, /* no alternatives */
    /* 2, 5 -> */ {2, 5}, /* no alternatives */
    /* 3, 5 -> */ {3, 5}, /* no alternatives */
    /* 4, 5 -> */ {11, 1},
    /* 5, 5 -> */ {5, 3},
    /* 6, 5 -> */ {7, 0},
    /* 7, 5 -> */ {10, 4},
    /* 8, 5 -> */ {4, 6},
    /* 9, 5 -> */ {9, 5}, /* no alternatives */
    /* 10, 5 -> */ {10, 5}, /* no alternatives */
    /* 11, 5 -> */ {-1,-1}, /* does not exist */
    /* 12, 5 -> */ {-1,-1}, /* does not exist */
    /* 0, 6 -> */ {0, 6}, /* no alternatives */
    /* 1, 6 -> */ {1, 6}, /* no alternatives */
    /* 2, 6 -> */ {5, 1},
    /* 3, 6 -> */ {3, 6}, /* no alternatives */
    /* 4, 6 -> */ {8, 5},
    /* 5, 6 -> */ {5, 6}, /* no alternatives */
    /* 6, 6 -> */ {6, 6}, /* no alternatives */
    /* 7, 6 -> */ {7, 6}, /* no alternatives */
    /* 8, 6 -> */ {4, 5},
    /* 9, 6 -> */ {8, 1},
    /* 10, 6 -> */ {7, 7},
    /* 11, 6 -> */ {-1,-1}, /* does not exist */
    /* 12, 6 -> */ {-1,-1}, /* does not exist */
    /* 0, 7 -> */ {0, 7}, /* no alternatives */
    /* 1, 7 -> */ {1, 7}, /* no alternatives */
    /* 2, 7 -> */ {2, 7}, /* no alternatives */
    /* 3, 7 -> */ {3, 7}, /* no alternatives */
    /* 4, 7 -> */ {4, 7}, /* no alternatives */
    /* 5, 7 -> */ {4, 10},
    /* 6, 7 -> */ {7, 1},
    /* 7, 7 -> */ {10, 6},
    /* 8, 7 -> */ {8, 7}, /* no alternatives */
    /* 9, 7 -> */ {9, 7}, /* no alternatives */
    /* 10, 7 -> */ {10, 7}, /* no alternatives */
    /* 11, 7 -> */ {-1,-1}, /* does not exist */
    /* 12, 7 -> */ {-1,-1}, /* does not exist */
    /* 0, 8 -> */ {0, 8}, /* no alternatives */
    /* 1, 8 -> */ {1, 8}, /* no alternatives */
    /* 2, 8 -> */ {2, 8}, /* no alternatives */
    /* 3, 8 -> */ {3, 8}, /* no alternatives */
    /* 4, 8 -> */ {8, 4},
    /* 5, 8 -> */ {5, 2},
    /* 6, 8 -> */ {8, 2},
    /* 7, 8 -> */ {7, 8}, /* no alternatives */
    /* 8, 8 -> */ {4, 4},
    /* 9, 8 -> */ {9, 8}, /* no alternatives */
    /* 10, 8 -> */ {10, 8}, /* no alternatives */
    /* 11, 8 -> */ {-1,-1}, /* does not exist */
    /* 12, 8 -> */ {-1,-1}, /* does not exist */
    /* 0, 9 -> */ {0, 9}, /* no alternatives */
    /* 1, 9 -> */ {1, 9}, /* no alternatives */
    /* 2, 9 -> */ {2, 9}, /* no alternatives */
    /* 3, 9 -> */ {3, 9}, /* no alternatives */
    /* 4, 9 -> */ {7, 2},
    /* 5, 9 -> */ {10, 3},
    /* 6, 9 -> */ {10, 1},
    /* 7, 9 -> */ {10, 10},
    /* 8, 9 -> */ {10, 2},
    /* 9, 9 -> */ {9, 9}, /* no alternatives */
    /* 10, 9 -> */ {10, 9}, /* no alternatives */
    /* 11, 9 -> */ {-1,-1}, /* does not exist */
    /* 12, 9 -> */ {-1,-1}, /* does not exist */
    /* 0, 10 -> */ {0, 10}, /* no alternatives */
    /* 1, 10 -> */ {1, 10}, /* no alternatives */
    /* 2, 10 -> */ {4, 1},
    /* 3, 10 -> */ {3, 10}, /* no alternatives */
    /* 4, 10 -> */ {5, 7},
    /* 5, 10 -> */ {5, 10}, /* no alternatives */
    /* 6, 10 -> */ {6, 10}, /* no alternatives */
    /* 7, 10 -> */ {7, 10}, /* no alternatives */
    /* 8, 10 -> */ {6, 7},
    /* 9, 10 -> */ {9, 1},
    /* 10, 10 -> */ {7, 9},
    /* 11, 10 -> */ {-1,-1}, /* does not exist */
    /* 12, 10 -> */ {-1,-1}, /* does not exist */
};
static const MetamapEntry *const metamap[] = {
    metamap_H,
    metamap_T,
    metamap_P,
    metamap_F,
};