1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

cinepak: Use correct colorspace.

The new code is also faster and more robust.

As for the performance:

old decoder + conversion to rgb:         fps = 2618
old decoder, without converting to rgb:  fps = 4012

new decoder, producing rgb:              fps = 4502

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
u-bo1b@0w.se 2013-02-18 18:00:33 +01:00 committed by Michael Niedermayer
parent f5c00b347d
commit 4e635e10e2
4 changed files with 455 additions and 450 deletions

View File

@ -28,6 +28,9 @@
* http://www.csse.monash.edu.au/~timf/
* @see For more information on the quirky data inside Sega FILM/CPK files, visit:
* http://wiki.multimedia.cx/index.php?title=Sega_FILM
*
* Cinepak colorspace support (c) 2013 Rl, Aetey Global Technologies AB
* @author Cinepak colorspace, Rl, Aetey Global Technologies AB
*/
#include <stdio.h>
@ -39,10 +42,7 @@
#include "avcodec.h"
typedef struct {
uint8_t y0, y1, y2, y3;
uint8_t u, v;
} cvid_codebook;
typedef uint8_t cvid_codebook[12];
#define MAX_STRIPS 32
@ -78,12 +78,14 @@ static void cinepak_decode_codebook (cvid_codebook *codebook,
const uint8_t *eod = (data + size);
uint32_t flag, mask;
int i, n;
uint8_t *p;
/* check if this chunk contains 4- or 6-element vectors */
n = (chunk_id & 0x04) ? 4 : 6;
flag = 0;
mask = 0;
p = codebook[0];
for (i=0; i < 256; i++) {
if ((chunk_id & 0x01) && !(mask >>= 1)) {
if ((data + 4) > eod)
@ -95,28 +97,38 @@ static void cinepak_decode_codebook (cvid_codebook *codebook,
}
if (!(chunk_id & 0x01) || (flag & mask)) {
int k, kk;
if ((data + n) > eod)
break;
for (k = 0; k < 4; ++k) {
int r = *data++;
for (kk = 0; kk < 3; ++kk)
*p++ = r;
}
if (n == 6) {
codebook[i].y0 = *data++;
codebook[i].y1 = *data++;
codebook[i].y2 = *data++;
codebook[i].y3 = *data++;
codebook[i].u = 128 + *data++;
codebook[i].v = 128 + *data++;
int r, g, b, u, v;
u = *(int8_t *)data++;
v = *(int8_t *)data++;
p -= 12;
for(k=0; k<4; ++k) {
r = *p++ + v*2;
g = *p++ - (u/2) - v;
b = *p + u*2;
p -= 2;
*p++ = av_clip_uint8(r);
*p++ = av_clip_uint8(g);
*p++ = av_clip_uint8(b);
}
} else {
/* this codebook type indicates either greyscale or
* palettized video; if palettized, U & V components will
* not be used so it is safe to set them to 128 for the
* benefit of greyscale rendering in YUV420P */
codebook[i].y0 = *data++;
codebook[i].y1 = *data++;
codebook[i].y2 = *data++;
codebook[i].y3 = *data++;
codebook[i].u = 128;
codebook[i].v = 128;
* palettized video, it is already stored as grey rgb24
* which makes it robust even when the frame is considered
* to be rgb24 */
}
} else {
p += 12;
}
}
}
@ -126,25 +138,31 @@ static int cinepak_decode_vectors (CinepakContext *s, cvid_strip *strip,
{
const uint8_t *eod = (data + size);
uint32_t flag, mask;
cvid_codebook *codebook;
uint8_t *cb0, *cb1, *cb2, *cb3;
unsigned int x, y;
uint32_t iy[4];
uint32_t iu[2];
uint32_t iv[2];
char *ip0, *ip1, *ip2, *ip3;
flag = 0;
mask = 0;
for (y=strip->y1; y < strip->y2; y+=4) {
iy[0] = strip->x1 + (y * s->frame.linesize[0]);
iy[1] = iy[0] + s->frame.linesize[0];
iy[2] = iy[1] + s->frame.linesize[0];
iy[3] = iy[2] + s->frame.linesize[0];
iu[0] = (strip->x1/2) + ((y/2) * s->frame.linesize[1]);
iu[1] = iu[0] + s->frame.linesize[1];
iv[0] = (strip->x1/2) + ((y/2) * s->frame.linesize[2]);
iv[1] = iv[0] + s->frame.linesize[2];
/* take care of y dimension not being multiple of 4, such streams exist */
ip0 = ip1 = ip2 = ip3 = s->frame.data[0] +
(s->palette_video?strip->x1:strip->x1*3) + (y * s->frame.linesize[0]);
if(s->avctx->height - y > 1) {
ip1 = ip0 + s->frame.linesize[0];
if(s->avctx->height - y > 2) {
ip2 = ip1 + s->frame.linesize[0];
if(s->avctx->height - y > 3) {
ip3 = ip2 + s->frame.linesize[0];
}
}
}
/* to get the correct picture for not-multiple-of-4 cases let us fill
* each block from the bottom up, thus possibly overwriting the top line
* more than once but ending with the correct data in place
* (instead of in-loop checking) */
for (x=strip->x1; x < strip->x2; x+=4) {
if ((chunk_id & 0x01) && !(mask >>= 1)) {
@ -167,97 +185,84 @@ static int cinepak_decode_vectors (CinepakContext *s, cvid_strip *strip,
}
if ((chunk_id & 0x02) || (~flag & mask)) {
uint8_t *p;
if (data >= eod)
return AVERROR_INVALIDDATA;
codebook = &strip->v1_codebook[*data++];
s->frame.data[0][iy[0] + 0] = codebook->y0;
s->frame.data[0][iy[0] + 1] = codebook->y0;
s->frame.data[0][iy[1] + 0] = codebook->y0;
s->frame.data[0][iy[1] + 1] = codebook->y0;
if (!s->palette_video) {
s->frame.data[1][iu[0]] = codebook->u;
s->frame.data[2][iv[0]] = codebook->v;
}
s->frame.data[0][iy[0] + 2] = codebook->y1;
s->frame.data[0][iy[0] + 3] = codebook->y1;
s->frame.data[0][iy[1] + 2] = codebook->y1;
s->frame.data[0][iy[1] + 3] = codebook->y1;
if (!s->palette_video) {
s->frame.data[1][iu[0] + 1] = codebook->u;
s->frame.data[2][iv[0] + 1] = codebook->v;
}
s->frame.data[0][iy[2] + 0] = codebook->y2;
s->frame.data[0][iy[2] + 1] = codebook->y2;
s->frame.data[0][iy[3] + 0] = codebook->y2;
s->frame.data[0][iy[3] + 1] = codebook->y2;
if (!s->palette_video) {
s->frame.data[1][iu[1]] = codebook->u;
s->frame.data[2][iv[1]] = codebook->v;
}
s->frame.data[0][iy[2] + 2] = codebook->y3;
s->frame.data[0][iy[2] + 3] = codebook->y3;
s->frame.data[0][iy[3] + 2] = codebook->y3;
s->frame.data[0][iy[3] + 3] = codebook->y3;
if (!s->palette_video) {
s->frame.data[1][iu[1] + 1] = codebook->u;
s->frame.data[2][iv[1] + 1] = codebook->v;
p = strip->v1_codebook[*data++] + 6;
if (s->palette_video) {
*(ip3+0) = *(ip3+1) = *(ip2+0) = *(ip2+1) = *p;
p += 3; /* ... + 9 */
*(ip3+2) = *(ip3+3) = *(ip2+2) = *(ip2+3) = *p;
p -= 9; /* ... + 0 */
*(ip1+0) = *(ip1+1) = *(ip0+0) = *(ip0+1) = *p;
p += 3; /* ... + 3 */
*(ip1+2) = *(ip1+3) = *(ip0+2) = *(ip0+3) = *p;
} else {
memcpy(ip3 + 0, p, 3); memcpy(ip3 + 3, p, 3);
memcpy(ip2 + 0, p, 3); memcpy(ip2 + 3, p, 3);
p += 3; /* ... + 9 */
memcpy(ip3 + 6, p, 3); memcpy(ip3 + 9, p, 3);
memcpy(ip2 + 6, p, 3); memcpy(ip2 + 9, p, 3);
p -= 9; /* ... + 0 */
memcpy(ip1 + 0, p, 3); memcpy(ip1 + 3, p, 3);
memcpy(ip0 + 0, p, 3); memcpy(ip0 + 3, p, 3);
p += 3; /* ... + 3 */
memcpy(ip1 + 6, p, 3); memcpy(ip1 + 9, p, 3);
memcpy(ip0 + 6, p, 3); memcpy(ip0 + 9, p, 3);
}
} else if (flag & mask) {
if ((data + 4) > eod)
return AVERROR_INVALIDDATA;
codebook = &strip->v4_codebook[*data++];
s->frame.data[0][iy[0] + 0] = codebook->y0;
s->frame.data[0][iy[0] + 1] = codebook->y1;
s->frame.data[0][iy[1] + 0] = codebook->y2;
s->frame.data[0][iy[1] + 1] = codebook->y3;
if (!s->palette_video) {
s->frame.data[1][iu[0]] = codebook->u;
s->frame.data[2][iv[0]] = codebook->v;
}
codebook = &strip->v4_codebook[*data++];
s->frame.data[0][iy[0] + 2] = codebook->y0;
s->frame.data[0][iy[0] + 3] = codebook->y1;
s->frame.data[0][iy[1] + 2] = codebook->y2;
s->frame.data[0][iy[1] + 3] = codebook->y3;
if (!s->palette_video) {
s->frame.data[1][iu[0] + 1] = codebook->u;
s->frame.data[2][iv[0] + 1] = codebook->v;
}
codebook = &strip->v4_codebook[*data++];
s->frame.data[0][iy[2] + 0] = codebook->y0;
s->frame.data[0][iy[2] + 1] = codebook->y1;
s->frame.data[0][iy[3] + 0] = codebook->y2;
s->frame.data[0][iy[3] + 1] = codebook->y3;
if (!s->palette_video) {
s->frame.data[1][iu[1]] = codebook->u;
s->frame.data[2][iv[1]] = codebook->v;
}
codebook = &strip->v4_codebook[*data++];
s->frame.data[0][iy[2] + 2] = codebook->y0;
s->frame.data[0][iy[2] + 3] = codebook->y1;
s->frame.data[0][iy[3] + 2] = codebook->y2;
s->frame.data[0][iy[3] + 3] = codebook->y3;
if (!s->palette_video) {
s->frame.data[1][iu[1] + 1] = codebook->u;
s->frame.data[2][iv[1] + 1] = codebook->v;
cb0 = strip->v4_codebook[*data++];
cb1 = strip->v4_codebook[*data++];
cb2 = strip->v4_codebook[*data++];
cb3 = strip->v4_codebook[*data++];
if (s->palette_video) {
uint8_t *p;
p = ip3;
*p++ = cb2[6];
*p++ = cb2[9];
*p++ = cb3[6];
*p = cb3[9];
p = ip2;
*p++ = cb2[0];
*p++ = cb2[3];
*p++ = cb3[0];
*p = cb3[3];
p = ip1;
*p++ = cb0[6];
*p++ = cb0[9];
*p++ = cb1[6];
*p = cb1[9];
p = ip0;
*p++ = cb0[0];
*p++ = cb0[3];
*p++ = cb1[0];
*p = cb1[3];
} else {
memcpy(ip3 + 0, cb2 + 6, 6);
memcpy(ip3 + 6, cb3 + 6, 6);
memcpy(ip2 + 0, cb2 + 0, 6);
memcpy(ip2 + 6, cb3 + 0, 6);
memcpy(ip1 + 0, cb0 + 6, 6);
memcpy(ip1 + 6, cb1 + 6, 6);
memcpy(ip0 + 0, cb0 + 0, 6);
memcpy(ip0 + 6, cb1 + 0, 6);
}
}
}
iy[0] += 4; iy[1] += 4;
iy[2] += 4; iy[3] += 4;
iu[0] += 2; iu[1] += 2;
iv[0] += 2; iv[1] += 2;
if (s->palette_video) {
ip0 += 4; ip1 += 4;
ip2 += 4; ip3 += 4;
} else {
ip0 += 12; ip1 += 12;
ip2 += 12; ip3 += 12;
}
}
}
@ -412,7 +417,7 @@ static av_cold int cinepak_decode_init(AVCodecContext *avctx)
// check for paletted data
if (avctx->bits_per_coded_sample != 8) {
s->palette_video = 0;
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
avctx->pix_fmt = AV_PIX_FMT_RGB24;
} else {
s->palette_video = 1;
avctx->pix_fmt = AV_PIX_FMT_PAL8;

View File

@ -1,153 +1,153 @@
#tb 0: 99561/500000
0, 0, 0, 1, 11300, 0x46c78923
0, 1, 1, 1, 11300, 0x3f2a1175
0, 2, 2, 1, 11300, 0x722de221
0, 3, 3, 1, 11300, 0x01746b88
0, 4, 4, 1, 11300, 0x549587a7
0, 5, 5, 1, 11300, 0x843ab943
0, 6, 6, 1, 11300, 0x62fdee48
0, 7, 7, 1, 11300, 0x74a62867
0, 8, 8, 1, 11300, 0x35a20e2f
0, 9, 9, 1, 11300, 0x4e9ef54d
0, 10, 10, 1, 11300, 0xec7201f5
0, 11, 11, 1, 11300, 0x363bfe27
0, 12, 12, 1, 11300, 0x2aaab418
0, 13, 13, 1, 11300, 0x6a48ab3f
0, 14, 14, 1, 11300, 0x3fecea34
0, 15, 15, 1, 11300, 0xa371f55e
0, 16, 16, 1, 11300, 0xa86b147c
0, 17, 17, 1, 11300, 0x49e9206e
0, 18, 18, 1, 11300, 0x6c9a2155
0, 19, 19, 1, 11300, 0x2c8a4798
0, 20, 20, 1, 11300, 0x3485676c
0, 21, 21, 1, 11300, 0xb0b293f2
0, 22, 22, 1, 11300, 0xe4a9b068
0, 23, 23, 1, 11300, 0xd68d0556
0, 24, 24, 1, 11300, 0xc28e5193
0, 25, 25, 1, 11300, 0xf6948483
0, 26, 26, 1, 11300, 0xf21fbf57
0, 27, 27, 1, 11300, 0x8345eb44
0, 28, 28, 1, 11300, 0x8124f045
0, 29, 29, 1, 11300, 0x18e31f10
0, 30, 30, 1, 11300, 0xdb1943fc
0, 31, 31, 1, 11300, 0x8701699f
0, 32, 32, 1, 11300, 0xd7b18550
0, 33, 33, 1, 11300, 0xa56faccc
0, 34, 34, 1, 11300, 0xf8bcc17c
0, 35, 35, 1, 11300, 0x446acab9
0, 36, 36, 1, 11300, 0x755fd295
0, 37, 37, 1, 11300, 0x92e3d100
0, 38, 38, 1, 11300, 0x54895bb3
0, 39, 39, 1, 11300, 0xd18bffda
0, 40, 40, 1, 11300, 0x480dbe4f
0, 41, 41, 1, 11300, 0x49ea9dbe
0, 42, 42, 1, 11300, 0x00d3a003
0, 43, 43, 1, 11300, 0xda7bbfb2
0, 44, 44, 1, 11300, 0x9700d9c2
0, 45, 45, 1, 11300, 0xa0a9e490
0, 46, 46, 1, 11300, 0x00eb0979
0, 47, 47, 1, 11300, 0x32b04630
0, 48, 48, 1, 11300, 0xdfb73e51
0, 49, 49, 1, 11300, 0x3d8e4f96
0, 50, 50, 1, 11300, 0x2ca83271
0, 51, 51, 1, 11300, 0xb5b123c0
0, 52, 52, 1, 11300, 0x8a570e58
0, 53, 53, 1, 11300, 0xc6c805bc
0, 54, 54, 1, 11300, 0x27caf7a5
0, 55, 55, 1, 11300, 0x5319ecb0
0, 56, 56, 1, 11300, 0x5471e3fd
0, 57, 57, 1, 11300, 0x6d68a6f4
0, 58, 58, 1, 11300, 0x872b7194
0, 59, 59, 1, 11300, 0x007c36bd
0, 60, 60, 1, 11300, 0x2714f1b5
0, 61, 61, 1, 11300, 0x6c8eb50f
0, 62, 62, 1, 11300, 0xf5d57be8
0, 63, 63, 1, 11300, 0x981f412b
0, 64, 64, 1, 11300, 0x1a9804a1
0, 65, 65, 1, 11300, 0xf0c1d24a
0, 66, 66, 1, 11300, 0xa70a9d9b
0, 67, 67, 1, 11300, 0x8c466876
0, 68, 68, 1, 11300, 0xcf2e32df
0, 69, 69, 1, 11300, 0xcb8cfebf
0, 70, 70, 1, 11300, 0xb961ca99
0, 71, 71, 1, 11300, 0x666d9619
0, 72, 72, 1, 11300, 0x84bf5b55
0, 73, 73, 1, 11300, 0xbfa22ccc
0, 74, 74, 1, 11300, 0xcde41849
0, 75, 75, 1, 11300, 0x71372dcd
0, 76, 76, 1, 11300, 0x13402cfd
0, 77, 77, 1, 11300, 0xdebdd321
0, 78, 78, 1, 11300, 0xdda66de1
0, 79, 79, 1, 11300, 0x7f4bb682
0, 80, 80, 1, 11300, 0xf67fd528
0, 81, 81, 1, 11300, 0xe739ff8c
0, 82, 82, 1, 11300, 0x2e131774
0, 83, 83, 1, 11300, 0xfa942811
0, 84, 84, 1, 11300, 0x0cd93ac2
0, 85, 85, 1, 11300, 0xd0445e0e
0, 86, 86, 1, 11300, 0x3f3497c7
0, 87, 87, 1, 11300, 0x11b5bd2c
0, 88, 88, 1, 11300, 0xccd5e62a
0, 89, 89, 1, 11300, 0xa9d4fcb5
0, 90, 90, 1, 11300, 0x34aa1a03
0, 91, 91, 1, 11300, 0x1ce6299e
0, 92, 92, 1, 11300, 0x661c2745
0, 93, 93, 1, 11300, 0x27d8a8b3
0, 94, 94, 1, 11300, 0x9eb07467
0, 95, 95, 1, 11300, 0x128374d2
0, 96, 96, 1, 11300, 0x05c36ff5
0, 97, 97, 1, 11300, 0x8a136bde
0, 98, 98, 1, 11300, 0x15c47c99
0, 99, 99, 1, 11300, 0xcc4a93f4
0, 100, 100, 1, 11300, 0x19529b2b
0, 101, 101, 1, 11300, 0x9943c076
0, 102, 102, 1, 11300, 0xf898e583
0, 103, 103, 1, 11300, 0x40f71f94
0, 104, 104, 1, 11300, 0x5b604afb
0, 105, 105, 1, 11300, 0x8c176af4
0, 106, 106, 1, 11300, 0x0f1a6216
0, 107, 107, 1, 11300, 0x38bbd13d
0, 108, 108, 1, 11300, 0x90c8d1fc
0, 109, 109, 1, 11300, 0x253000d7
0, 110, 110, 1, 11300, 0xb94b03b1
0, 111, 111, 1, 11300, 0xbc872268
0, 112, 112, 1, 11300, 0xe77adb8c
0, 113, 113, 1, 11300, 0xa38936b7
0, 114, 114, 1, 11300, 0xd6153632
0, 115, 115, 1, 11300, 0x1ae633cc
0, 116, 116, 1, 11300, 0xb90c286e
0, 117, 117, 1, 11300, 0xbc7e333d
0, 118, 118, 1, 11300, 0x1b5421f8
0, 119, 119, 1, 11300, 0xdde6506d
0, 120, 120, 1, 11300, 0xd3eb757e
0, 121, 121, 1, 11300, 0x5ad1929c
0, 122, 122, 1, 11300, 0x4f6aa47d
0, 123, 123, 1, 11300, 0xab3caf55
0, 124, 124, 1, 11300, 0x5ff9b39a
0, 125, 125, 1, 11300, 0x1454e12e
0, 126, 126, 1, 11300, 0xf18216e8
0, 127, 127, 1, 11300, 0x62144880
0, 128, 128, 1, 11300, 0x54284241
0, 129, 129, 1, 11300, 0x8e8c7228
0, 130, 130, 1, 11300, 0xb498d06e
0, 131, 131, 1, 11300, 0x7b1e6be1
0, 132, 132, 1, 11300, 0x5e5ea1f4
0, 133, 133, 1, 11300, 0x41eda28e
0, 134, 134, 1, 11300, 0x7ba6aa92
0, 135, 135, 1, 11300, 0xa8a8b1c7
0, 136, 136, 1, 11300, 0x0d30bd08
0, 137, 137, 1, 11300, 0xc610bf16
0, 138, 138, 1, 11300, 0xed57c075
0, 139, 139, 1, 11300, 0xb86dbfea
0, 140, 140, 1, 11300, 0x0970c03d
0, 141, 141, 1, 11300, 0x743ac2ac
0, 142, 142, 1, 11300, 0x0a44c816
0, 143, 143, 1, 11300, 0xe32acd6b
0, 144, 144, 1, 11300, 0x209bcdab
0, 145, 145, 1, 11300, 0x3cd0d105
0, 146, 146, 1, 11300, 0xc0bcd330
0, 147, 147, 1, 11300, 0x4785d6dc
0, 148, 148, 1, 11300, 0xe85f9c90
0, 149, 149, 1, 11300, 0xd4a72850
0, 150, 150, 1, 11300, 0x04766e41
0, 151, 151, 1, 11300, 0x04766e41
0, 0, 0, 1, 22500, 0x0f8e562e
0, 1, 1, 1, 22500, 0x507aef06
0, 2, 2, 1, 22500, 0x059d6137
0, 3, 3, 1, 22500, 0xfb1bfd4e
0, 4, 4, 1, 22500, 0xe97a51ba
0, 5, 5, 1, 22500, 0xfc77e68e
0, 6, 6, 1, 22500, 0x7f1985ac
0, 7, 7, 1, 22500, 0xdfb933eb
0, 8, 8, 1, 22500, 0x6dafe534
0, 9, 9, 1, 22500, 0xb7b69abb
0, 10, 10, 1, 22500, 0xc435c086
0, 11, 11, 1, 22500, 0xf8ddb549
0, 12, 12, 1, 22500, 0x76c0d70d
0, 13, 13, 1, 22500, 0x1120bc82
0, 14, 14, 1, 22500, 0x3f7c7970
0, 15, 15, 1, 22500, 0xd37c9aee
0, 16, 16, 1, 22500, 0x7407f81b
0, 17, 17, 1, 22500, 0xce2f1c00
0, 18, 18, 1, 22500, 0x70921eb5
0, 19, 19, 1, 22500, 0x0abc917e
0, 20, 20, 1, 22500, 0xeff1f0fa
0, 21, 21, 1, 22500, 0x5e0d769b
0, 22, 22, 1, 22500, 0xc984cbfd
0, 23, 23, 1, 22500, 0x73f1caa9
0, 24, 24, 1, 22500, 0x9108af6f
0, 25, 25, 1, 22500, 0x4f33484e
0, 26, 26, 1, 22500, 0x9810f8ca
0, 27, 27, 1, 22500, 0xa0b97ca0
0, 28, 28, 1, 22500, 0xd9c28ba3
0, 29, 29, 1, 22500, 0xc97e17e6
0, 30, 30, 1, 22500, 0x85cf86aa
0, 31, 31, 1, 22500, 0xf15ff793
0, 32, 32, 1, 22500, 0x35c54ab5
0, 33, 33, 1, 22500, 0xe80ec129
0, 34, 34, 1, 22500, 0x3d6cff39
0, 35, 35, 1, 22500, 0x54e41aff
0, 36, 36, 1, 22500, 0xc1d63293
0, 37, 37, 1, 22500, 0x362c2dd4
0, 38, 38, 1, 22500, 0xa1f8cdcf
0, 39, 39, 1, 22500, 0x5b59ba62
0, 40, 40, 1, 22500, 0x6d02f5b2
0, 41, 41, 1, 22500, 0x899293ff
0, 42, 42, 1, 22500, 0xad0e9ace
0, 43, 43, 1, 22500, 0x4263f9db
0, 44, 44, 1, 22500, 0xff1e481a
0, 45, 45, 1, 22500, 0x70c86884
0, 46, 46, 1, 22500, 0x203ed712
0, 47, 47, 1, 22500, 0x2f0e8d46
0, 48, 48, 1, 22500, 0x215075a9
0, 49, 49, 1, 22500, 0x9882a978
0, 50, 50, 1, 22500, 0xc2fd5209
0, 51, 51, 1, 22500, 0xe1c925f6
0, 52, 52, 1, 22500, 0x012be5af
0, 53, 53, 1, 22500, 0xa718cbdb
0, 54, 54, 1, 22500, 0x2494a1c3
0, 55, 55, 1, 22500, 0xeb8980e4
0, 56, 56, 1, 22500, 0x7f2766cb
0, 57, 57, 1, 22500, 0xdf3cafa1
0, 58, 58, 1, 22500, 0x9a390f81
0, 59, 59, 1, 22500, 0xfdad5eed
0, 60, 60, 1, 22500, 0x94f58ff3
0, 61, 61, 1, 22500, 0xd7c6d9f2
0, 62, 62, 1, 22500, 0x48b72e7d
0, 63, 63, 1, 22500, 0x8a7a7e37
0, 64, 64, 1, 22500, 0x5413c88a
0, 65, 65, 1, 22500, 0x3f4531b2
0, 66, 66, 1, 22500, 0x152d9396
0, 67, 67, 1, 22500, 0x2ac3f418
0, 68, 68, 1, 22500, 0x0e1c5353
0, 69, 69, 1, 22500, 0xe058b711
0, 70, 70, 1, 22500, 0x262e1a9f
0, 71, 71, 1, 22500, 0x20057d10
0, 72, 72, 1, 22500, 0x65c5ccb5
0, 73, 73, 1, 22500, 0x3e36411a
0, 74, 74, 1, 22500, 0xd9740391
0, 75, 75, 1, 22500, 0x53d1441d
0, 76, 76, 1, 22500, 0x9a3941ad
0, 77, 77, 1, 22500, 0x61553437
0, 78, 78, 1, 22500, 0xfe0c0468
0, 79, 79, 1, 22500, 0xd57bde4b
0, 80, 80, 1, 22500, 0x4a183a4c
0, 81, 81, 1, 22500, 0xd618b978
0, 82, 82, 1, 22500, 0x6b480112
0, 83, 83, 1, 22500, 0x7a1732e9
0, 84, 84, 1, 22500, 0x45836afc
0, 85, 85, 1, 22500, 0x3548d4e0
0, 86, 86, 1, 22500, 0x476c821a
0, 87, 87, 1, 22500, 0x6be5f249
0, 88, 88, 1, 22500, 0xf79b6d52
0, 89, 89, 1, 22500, 0x2edeb0f3
0, 90, 90, 1, 22500, 0xbaf808bf
0, 91, 91, 1, 22500, 0x71013790
0, 92, 92, 1, 22500, 0xbf4e3085
0, 93, 93, 1, 22500, 0x15c2b4de
0, 94, 94, 1, 22500, 0x031d17fa
0, 95, 95, 1, 22500, 0x3a2c193b
0, 96, 96, 1, 22500, 0xb0420aa4
0, 97, 97, 1, 22500, 0xe448fe50
0, 98, 98, 1, 22500, 0x02173090
0, 99, 99, 1, 22500, 0x4b2f76a1
0, 100, 100, 1, 22500, 0xd6458c46
0, 101, 101, 1, 22500, 0xa698fc27
0, 102, 102, 1, 22500, 0xaeca6b5d
0, 103, 103, 1, 22500, 0x4a591972
0, 104, 104, 1, 22500, 0x19e49ba7
0, 105, 105, 1, 22500, 0x1d4ffb92
0, 106, 106, 1, 22500, 0xb1f8e0f8
0, 107, 107, 1, 22500, 0x32c82e8b
0, 108, 108, 1, 22500, 0x96e930c8
0, 109, 109, 1, 22500, 0x0e6ebd2c
0, 110, 110, 1, 22500, 0x315bc5ba
0, 111, 111, 1, 22500, 0xb22321ee
0, 112, 112, 1, 22500, 0xbe464d78
0, 113, 113, 1, 22500, 0xdb4b5edb
0, 114, 114, 1, 22500, 0x0ff65d4c
0, 115, 115, 1, 22500, 0xff68561a
0, 116, 116, 1, 22500, 0xa0033400
0, 117, 117, 1, 22500, 0x5414546d
0, 118, 118, 1, 22500, 0x7e43209e
0, 119, 119, 1, 22500, 0x0037abfd
0, 120, 120, 1, 22500, 0x3dd31b3f
0, 121, 121, 1, 22500, 0xe0777299
0, 122, 122, 1, 22500, 0x35a2a83c
0, 123, 123, 1, 22500, 0x5282c8c4
0, 124, 124, 1, 22500, 0x1ccdd593
0, 125, 125, 1, 22500, 0x92525e5e
0, 126, 126, 1, 22500, 0x5fa3ff5f
0, 127, 127, 1, 22500, 0xd1169436
0, 128, 128, 1, 22500, 0x07dc8179
0, 129, 129, 1, 22500, 0x9a83113d
0, 130, 130, 1, 22500, 0x9c722c1e
0, 131, 131, 1, 22500, 0xccbcfe59
0, 132, 132, 1, 22500, 0x8606a0a1
0, 133, 133, 1, 22500, 0x2210a26f
0, 134, 134, 1, 22500, 0xfc73ba7b
0, 135, 135, 1, 22500, 0x731fd01a
0, 136, 136, 1, 22500, 0x0e21f1dd
0, 137, 137, 1, 22500, 0xf9c4f807
0, 138, 138, 1, 22500, 0x2123fc24
0, 139, 139, 1, 22500, 0xd42cfa83
0, 140, 140, 1, 22500, 0x5927fb7c
0, 141, 141, 1, 22500, 0xe32e02d8
0, 142, 142, 1, 22500, 0xa5c11316
0, 143, 143, 1, 22500, 0xb9112315
0, 144, 144, 1, 22500, 0x78f223d5
0, 145, 145, 1, 22500, 0x93202de3
0, 146, 146, 1, 22500, 0x7eb03464
0, 147, 147, 1, 22500, 0x899c3f68
0, 148, 148, 1, 22500, 0xc2169075
0, 149, 149, 1, 22500, 0x419f33a6
0, 150, 150, 1, 22500, 0x3de50588
0, 151, 151, 1, 22500, 0x3de50588

View File

@ -1,80 +1,80 @@
#tb 0: 1/12
0, 0, 0, 1, 112400, 0x829180d8
0, 1, 1, 1, 112400, 0xdbebac5b
0, 2, 2, 1, 112400, 0xc5adc0f7
0, 3, 3, 1, 112400, 0xbe1fc030
0, 4, 4, 1, 112400, 0xe08ab460
0, 5, 5, 1, 112400, 0xfde0dbc5
0, 6, 6, 1, 112400, 0xed9242b0
0, 7, 7, 1, 112400, 0x1ae3933a
0, 8, 8, 1, 112400, 0xc82d2f5b
0, 9, 9, 1, 112400, 0xbae9ddfc
0, 10, 10, 1, 112400, 0xa350a1f7
0, 11, 11, 1, 112400, 0x3cf78029
0, 12, 12, 1, 112400, 0xaa0b82bf
0, 13, 13, 1, 112400, 0x71aa4794
0, 14, 14, 1, 112400, 0x2fe57373
0, 15, 15, 1, 112400, 0x429c6f82
0, 16, 16, 1, 112400, 0xfb2d917d
0, 17, 17, 1, 112400, 0xcc84cb9a
0, 18, 18, 1, 112400, 0xc68f0613
0, 19, 19, 1, 112400, 0x05f30e6a
0, 20, 20, 1, 112400, 0x5c5d853d
0, 21, 21, 1, 112400, 0x01e0aff2
0, 22, 22, 1, 112400, 0xc3b2cf4a
0, 23, 23, 1, 112400, 0xc0a3cf19
0, 24, 24, 1, 112400, 0xc743abda
0, 25, 25, 1, 112400, 0x54bd17a2
0, 26, 26, 1, 112400, 0x616ef28d
0, 27, 27, 1, 112400, 0x04b51f59
0, 28, 28, 1, 112400, 0x857511a2
0, 29, 29, 1, 112400, 0x25c62440
0, 30, 30, 1, 112400, 0x8c78198d
0, 31, 31, 1, 112400, 0xc046c912
0, 32, 32, 1, 112400, 0x0d828630
0, 33, 33, 1, 112400, 0x48999b80
0, 34, 34, 1, 112400, 0x9a869e77
0, 35, 35, 1, 112400, 0x16d893df
0, 36, 36, 1, 112400, 0xf6b86132
0, 37, 37, 1, 112400, 0xfa564ea4
0, 38, 38, 1, 112400, 0xdd473f69
0, 39, 39, 1, 112400, 0xf89625a6
0, 40, 40, 1, 112400, 0x823a58aa
0, 41, 41, 1, 112400, 0x25e0fe43
0, 42, 42, 1, 112400, 0x41034522
0, 43, 43, 1, 112400, 0xb8da4f00
0, 44, 44, 1, 112400, 0x9f684fce
0, 45, 45, 1, 112400, 0xf7188710
0, 46, 46, 1, 112400, 0x428fbfc6
0, 47, 47, 1, 112400, 0x535bace0
0, 48, 48, 1, 112400, 0x23216059
0, 49, 49, 1, 112400, 0x9b8bbfa6
0, 50, 50, 1, 112400, 0x932be522
0, 51, 51, 1, 112400, 0xdbd31409
0, 52, 52, 1, 112400, 0x0a69bf18
0, 53, 53, 1, 112400, 0xa15ef128
0, 54, 54, 1, 112400, 0x49a1fa92
0, 55, 55, 1, 112400, 0xadeeaf62
0, 56, 56, 1, 112400, 0xc1ce636e
0, 57, 57, 1, 112400, 0x5ca544eb
0, 58, 58, 1, 112400, 0x07230a36
0, 59, 59, 1, 112400, 0x12ae2b53
0, 60, 60, 1, 112400, 0x62453ef6
0, 61, 61, 1, 112400, 0xe0588a98
0, 62, 62, 1, 112400, 0xacd3927a
0, 63, 63, 1, 112400, 0x5d3c6b01
0, 64, 64, 1, 112400, 0xda671808
0, 65, 65, 1, 112400, 0x61d0b492
0, 66, 66, 1, 112400, 0x068b1293
0, 67, 67, 1, 112400, 0x75b99287
0, 68, 68, 1, 112400, 0xe657e7d6
0, 69, 69, 1, 112400, 0x17873df6
0, 70, 70, 1, 112400, 0xa8db5e31
0, 71, 71, 1, 112400, 0x4f633b8e
0, 72, 72, 1, 112400, 0x22266252
0, 73, 73, 1, 112400, 0x308a6282
0, 74, 74, 1, 112400, 0xfdb356ce
0, 75, 75, 1, 112400, 0xe4394f1f
0, 76, 76, 1, 112400, 0x8ca8649f
0, 77, 77, 1, 112400, 0x804d44eb
0, 78, 78, 1, 112400, 0x3864488b
0, 0, 0, 1, 224400, 0xd8f2f310
0, 1, 1, 1, 224400, 0xe38676c2
0, 2, 2, 1, 224400, 0x7163b6ad
0, 3, 3, 1, 224400, 0xa514b0f7
0, 4, 4, 1, 224400, 0xeed48b96
0, 5, 5, 1, 224400, 0x5e9f02b2
0, 6, 6, 1, 224400, 0x70822c53
0, 7, 7, 1, 224400, 0x93101067
0, 8, 8, 1, 224400, 0x0710e900
0, 9, 9, 1, 224400, 0x0e8add6a
0, 10, 10, 1, 224400, 0x53fb2c5a
0, 11, 11, 1, 224400, 0xa58cc02f
0, 12, 12, 1, 224400, 0x0a5cc76b
0, 13, 13, 1, 224400, 0xfa551631
0, 14, 14, 1, 224400, 0xde9f99bf
0, 15, 15, 1, 224400, 0xe66a8690
0, 16, 16, 1, 224400, 0xd9e6f3d1
0, 17, 17, 1, 224400, 0xa479a5c6
0, 18, 18, 1, 224400, 0xdaa3531f
0, 19, 19, 1, 224400, 0xde3e6843
0, 20, 20, 1, 224400, 0x181adafd
0, 21, 21, 1, 224400, 0x784b6429
0, 22, 22, 1, 224400, 0x91cdc30e
0, 23, 23, 1, 224400, 0x6e78be49
0, 24, 24, 1, 224400, 0x7515644c
0, 25, 25, 1, 224400, 0xcc32a91b
0, 26, 26, 1, 224400, 0xc63e3831
0, 27, 27, 1, 224400, 0xfb53b651
0, 28, 28, 1, 224400, 0x12ec8a01
0, 29, 29, 1, 224400, 0x136fcb2c
0, 30, 30, 1, 224400, 0x827fa546
0, 31, 31, 1, 224400, 0x1773b7f5
0, 32, 32, 1, 224400, 0x732defc1
0, 33, 33, 1, 224400, 0x84292372
0, 34, 34, 1, 224400, 0x20f22365
0, 35, 35, 1, 224400, 0xb39a0700
0, 36, 36, 1, 224400, 0xf245706c
0, 37, 37, 1, 224400, 0xdb702ae7
0, 38, 38, 1, 224400, 0xadfefe5b
0, 39, 39, 1, 224400, 0xa667adcb
0, 40, 40, 1, 224400, 0x4d645191
0, 41, 41, 1, 224400, 0x33802f58
0, 42, 42, 1, 224400, 0x24eff4b8
0, 43, 43, 1, 224400, 0x4dc817a6
0, 44, 44, 1, 224400, 0x9a891d35
0, 45, 45, 1, 224400, 0x2d0bb83b
0, 46, 46, 1, 224400, 0xd13469c1
0, 47, 47, 1, 224400, 0xd2e6302a
0, 48, 48, 1, 224400, 0xc7594ee1
0, 49, 49, 1, 224400, 0xc6da714c
0, 50, 50, 1, 224400, 0xf675e838
0, 51, 51, 1, 224400, 0xdc047c76
0, 52, 52, 1, 224400, 0xe5727de5
0, 53, 53, 1, 224400, 0x153b0f62
0, 54, 54, 1, 224400, 0x65922f68
0, 55, 55, 1, 224400, 0x04e04bfb
0, 56, 56, 1, 224400, 0x1dde6c88
0, 57, 57, 1, 224400, 0xed3905f2
0, 58, 58, 1, 224400, 0x211a5996
0, 59, 59, 1, 224400, 0xd010baaf
0, 60, 60, 1, 224400, 0xcbc9f272
0, 61, 61, 1, 224400, 0x7380d6f0
0, 62, 62, 1, 224400, 0xfd0bf084
0, 63, 63, 1, 224400, 0xc4d671d9
0, 64, 64, 1, 224400, 0x84236aa5
0, 65, 65, 1, 224400, 0x9c584ede
0, 66, 66, 1, 224400, 0xdb0c6029
0, 67, 67, 1, 224400, 0x775ae560
0, 68, 68, 1, 224400, 0xe3800916
0, 69, 69, 1, 224400, 0x9313a8e8
0, 70, 70, 1, 224400, 0x3a5d07cc
0, 71, 71, 1, 224400, 0x4651a10b
0, 72, 72, 1, 224400, 0xc2d72183
0, 73, 73, 1, 224400, 0xcd971625
0, 74, 74, 1, 224400, 0x9fb0f3c2
0, 75, 75, 1, 224400, 0x920ee561
0, 76, 76, 1, 224400, 0x8a2c1bbf
0, 77, 77, 1, 224400, 0x6150c072
0, 78, 78, 1, 224400, 0x499dc869

View File

@ -1,111 +1,111 @@
#tb 0: 1/30
0, 0, 0, 1, 107520, 0xa6c9fdd2
0, 2, 2, 1, 107520, 0x61eb28c1
0, 4, 4, 1, 107520, 0x45e20af7
0, 6, 6, 1, 107520, 0x366970fc
0, 8, 8, 1, 107520, 0xa392bcb3
0, 10, 10, 1, 107520, 0xcf7bac98
0, 12, 12, 1, 107520, 0x222eba53
0, 14, 14, 1, 107520, 0x74e255a1
0, 16, 16, 1, 107520, 0xc19eec6f
0, 18, 18, 1, 107520, 0xa3880681
0, 20, 20, 1, 107520, 0x957878db
0, 22, 22, 1, 107520, 0x18340692
0, 24, 24, 1, 107520, 0x9970f24d
0, 26, 26, 1, 107520, 0xf08618aa
0, 28, 28, 1, 107520, 0xee7324f0
0, 30, 30, 1, 107520, 0xe15025b3
0, 32, 32, 1, 107520, 0x8afa312e
0, 34, 34, 1, 107520, 0x717a7d0f
0, 36, 36, 1, 107520, 0x355c6e23
0, 38, 38, 1, 107520, 0x7015a50f
0, 40, 40, 1, 107520, 0xcdfc1a16
0, 42, 42, 1, 107520, 0x38d929e7
0, 44, 44, 1, 107520, 0x52913423
0, 46, 46, 1, 107520, 0xe2c91c10
0, 48, 48, 1, 107520, 0x85516e9c
0, 50, 50, 1, 107520, 0xd1626030
0, 52, 52, 1, 107520, 0xea7b16de
0, 54, 54, 1, 107520, 0xa33eaa0d
0, 56, 56, 1, 107520, 0x8e3be6a6
0, 58, 58, 1, 107520, 0x14147bd6
0, 60, 60, 1, 107520, 0x07d54bec
0, 62, 62, 1, 107520, 0xe287a0a7
0, 64, 64, 1, 107520, 0xc023a14d
0, 66, 66, 1, 107520, 0x2437085d
0, 68, 68, 1, 107520, 0x63823918
0, 70, 70, 1, 107520, 0xbc17e198
0, 72, 72, 1, 107520, 0x9d99bc81
0, 74, 74, 1, 107520, 0x7e4ec71e
0, 76, 76, 1, 107520, 0x55b98376
0, 78, 78, 1, 107520, 0x356d8e9e
0, 80, 80, 1, 107520, 0xf77e8a61
0, 82, 82, 1, 107520, 0x5ae7c8c7
0, 84, 84, 1, 107520, 0x8acf9322
0, 86, 86, 1, 107520, 0x40a9177e
0, 88, 88, 1, 107520, 0x3e0e4d8d
0, 90, 90, 1, 107520, 0xd268865b
0, 92, 92, 1, 107520, 0x89a4efeb
0, 94, 94, 1, 107520, 0x70ca2478
0, 96, 96, 1, 107520, 0xcc9ec981
0, 98, 98, 1, 107520, 0xf0648459
0, 100, 100, 1, 107520, 0x7e4a4cca
0, 102, 102, 1, 107520, 0xb315dc65
0, 104, 104, 1, 107520, 0x2aecc7b4
0, 106, 106, 1, 107520, 0x81742f51
0, 108, 108, 1, 107520, 0x3a1d7571
0, 110, 110, 1, 107520, 0x3a1d7571
0, 112, 112, 1, 107520, 0x3a1d7571
0, 114, 114, 1, 107520, 0x3a1d7571
0, 116, 116, 1, 107520, 0x3a1d7571
0, 118, 118, 1, 107520, 0x3a1d7571
0, 120, 120, 1, 107520, 0x3a1d7571
0, 122, 122, 1, 107520, 0xe974733e
0, 124, 124, 1, 107520, 0x999c6fbf
0, 126, 126, 1, 107520, 0x26b56b6e
0, 128, 128, 1, 107520, 0xc9f9647b
0, 130, 130, 1, 107520, 0x6d025d00
0, 132, 132, 1, 107520, 0xf9c056c1
0, 134, 134, 1, 107520, 0xa5cc4d0b
0, 136, 136, 1, 107520, 0x1a4c4236
0, 138, 138, 1, 107520, 0xa9d538b6
0, 140, 140, 1, 107520, 0x14682d00
0, 142, 142, 1, 107520, 0x6236204f
0, 144, 144, 1, 107520, 0x303e14aa
0, 146, 146, 1, 107520, 0x943b0837
0, 148, 148, 1, 107520, 0xfce5fd07
0, 150, 150, 1, 107520, 0xd993f193
0, 152, 152, 1, 107520, 0x4d48e7b4
0, 154, 154, 1, 107520, 0x61ccdf83
0, 156, 156, 1, 107520, 0xfb4fd608
0, 158, 158, 1, 107520, 0x5efdcdb3
0, 160, 160, 1, 107520, 0xb03ec886
0, 162, 162, 1, 107520, 0xf464c343
0, 164, 164, 1, 107520, 0xf464c343
0, 166, 166, 1, 107520, 0xf464c343
0, 168, 168, 1, 107520, 0xf464c343
0, 170, 170, 1, 107520, 0xf464c343
0, 172, 172, 1, 107520, 0xf464c343
0, 174, 174, 1, 107520, 0xf464c343
0, 176, 176, 1, 107520, 0xf464c343
0, 178, 178, 1, 107520, 0xf464c343
0, 180, 180, 1, 107520, 0xf464c343
0, 182, 182, 1, 107520, 0xf464c343
0, 184, 184, 1, 107520, 0xf2b2c712
0, 186, 186, 1, 107520, 0xf2b2c712
0, 188, 188, 1, 107520, 0xf2b2c712
0, 190, 190, 1, 107520, 0xf2b2c712
0, 192, 192, 1, 107520, 0xb95e6bc8
0, 194, 194, 1, 107520, 0x33feee37
0, 196, 196, 1, 107520, 0x36ee3cd5
0, 198, 198, 1, 107520, 0x59096471
0, 200, 200, 1, 107520, 0x53b470c6
0, 202, 202, 1, 107520, 0xdb7c64ff
0, 204, 204, 1, 107520, 0xe5a1596a
0, 206, 206, 1, 107520, 0x8c8942eb
0, 208, 208, 1, 107520, 0x5ecc379e
0, 210, 210, 1, 107520, 0xea09432a
0, 212, 212, 1, 107520, 0xe01e6b73
0, 214, 214, 1, 107520, 0x1d13bba8
0, 216, 216, 1, 107520, 0x3a993a6c
0, 218, 218, 1, 107520, 0x2ede041a
0, 0, 0, 1, 215040, 0x067c5362
0, 2, 2, 1, 215040, 0xd9eacb98
0, 4, 4, 1, 215040, 0x3c8a4cbd
0, 6, 6, 1, 215040, 0xbdf996e1
0, 8, 8, 1, 215040, 0x1b7fa123
0, 10, 10, 1, 215040, 0x834b4a8d
0, 12, 12, 1, 215040, 0xf4b1bebe
0, 14, 14, 1, 215040, 0x088c3802
0, 16, 16, 1, 215040, 0xf6ddedb9
0, 18, 18, 1, 215040, 0x2791d538
0, 20, 20, 1, 215040, 0x81fe4688
0, 22, 22, 1, 215040, 0xad864fbd
0, 24, 24, 1, 215040, 0xa637a97a
0, 26, 26, 1, 215040, 0x2287e378
0, 28, 28, 1, 215040, 0x13a017d7
0, 30, 30, 1, 215040, 0x89a4acee
0, 32, 32, 1, 215040, 0x97888ffc
0, 34, 34, 1, 215040, 0x7c2c3b58
0, 36, 36, 1, 215040, 0x2e3ab808
0, 38, 38, 1, 215040, 0x2d553af2
0, 40, 40, 1, 215040, 0x929c420e
0, 42, 42, 1, 215040, 0x4841bd6d
0, 44, 44, 1, 215040, 0xb350fbcd
0, 46, 46, 1, 215040, 0x0d70b918
0, 48, 48, 1, 215040, 0xf98b0f47
0, 50, 50, 1, 215040, 0x748b8ff2
0, 52, 52, 1, 215040, 0x62017c38
0, 54, 54, 1, 215040, 0x46042bb4
0, 56, 56, 1, 215040, 0xe7a74806
0, 58, 58, 1, 215040, 0xb4c856e6
0, 60, 60, 1, 215040, 0xb21a28dd
0, 62, 62, 1, 215040, 0x2a6e0834
0, 64, 64, 1, 215040, 0x7044d6ca
0, 66, 66, 1, 215040, 0x17780335
0, 68, 68, 1, 215040, 0x94f51e7a
0, 70, 70, 1, 215040, 0x5beb5f5f
0, 72, 72, 1, 215040, 0xc7d59527
0, 74, 74, 1, 215040, 0x40f69049
0, 76, 76, 1, 215040, 0x1f78740e
0, 78, 78, 1, 215040, 0x49f7265d
0, 80, 80, 1, 215040, 0x057ac5c9
0, 82, 82, 1, 215040, 0x649bd476
0, 84, 84, 1, 215040, 0x1c75aa43
0, 86, 86, 1, 215040, 0xc4bd1e29
0, 88, 88, 1, 215040, 0x5033fa74
0, 90, 90, 1, 215040, 0xba5c949e
0, 92, 92, 1, 215040, 0x2fa78a0e
0, 94, 94, 1, 215040, 0x9d363dce
0, 96, 96, 1, 215040, 0xd1dc82b0
0, 98, 98, 1, 215040, 0xd25be322
0, 100, 100, 1, 215040, 0xf1374ef9
0, 102, 102, 1, 215040, 0x33467b42
0, 104, 104, 1, 215040, 0x7ec7dfad
0, 106, 106, 1, 215040, 0x706ed416
0, 108, 108, 1, 215040, 0x6576b3eb
0, 110, 110, 1, 215040, 0x6576b3eb
0, 112, 112, 1, 215040, 0x6576b3eb
0, 114, 114, 1, 215040, 0x6576b3eb
0, 116, 116, 1, 215040, 0x6576b3eb
0, 118, 118, 1, 215040, 0x6576b3eb
0, 120, 120, 1, 215040, 0x6576b3eb
0, 122, 122, 1, 215040, 0x6873993d
0, 124, 124, 1, 215040, 0x8c2a84d8
0, 126, 126, 1, 215040, 0xdd456bd5
0, 128, 128, 1, 215040, 0x50fa4f3d
0, 130, 130, 1, 215040, 0x00c4369c
0, 132, 132, 1, 215040, 0xe4c220d2
0, 134, 134, 1, 215040, 0xe43a033b
0, 136, 136, 1, 215040, 0x72f6e32c
0, 138, 138, 1, 215040, 0xb738c69c
0, 140, 140, 1, 215040, 0x56bda3fe
0, 142, 142, 1, 215040, 0xaa2f7da3
0, 144, 144, 1, 215040, 0xf21f5c24
0, 146, 146, 1, 215040, 0xd33e3579
0, 148, 148, 1, 215040, 0x6a601495
0, 150, 150, 1, 215040, 0xdfcff1e0
0, 152, 152, 1, 215040, 0xa774d327
0, 154, 154, 1, 215040, 0x8e9db8c9
0, 156, 156, 1, 215040, 0xb4fd9689
0, 158, 158, 1, 215040, 0xa80b77ff
0, 160, 160, 1, 215040, 0x1d9c6568
0, 162, 162, 1, 215040, 0x388c515a
0, 164, 164, 1, 215040, 0x388c515a
0, 166, 166, 1, 215040, 0x388c515a
0, 168, 168, 1, 215040, 0x388c515a
0, 170, 170, 1, 215040, 0x388c515a
0, 172, 172, 1, 215040, 0x388c515a
0, 174, 174, 1, 215040, 0x388c515a
0, 176, 176, 1, 215040, 0x388c515a
0, 178, 178, 1, 215040, 0x388c515a
0, 180, 180, 1, 215040, 0x388c515a
0, 182, 182, 1, 215040, 0x388c515a
0, 184, 184, 1, 215040, 0x3aef5fee
0, 186, 186, 1, 215040, 0x3aef5fee
0, 188, 188, 1, 215040, 0x3aef5fee
0, 190, 190, 1, 215040, 0x3aef5fee
0, 192, 192, 1, 215040, 0x7f8e4b62
0, 194, 194, 1, 215040, 0xbf9fcae8
0, 196, 196, 1, 215040, 0x02f9a66c
0, 198, 198, 1, 215040, 0x00ef062f
0, 200, 200, 1, 215040, 0xe83b132c
0, 202, 202, 1, 215040, 0x2701d21b
0, 204, 204, 1, 215040, 0xbea79188
0, 206, 206, 1, 215040, 0x6f6d3109
0, 208, 208, 1, 215040, 0x4173f1e8
0, 210, 210, 1, 215040, 0xd7adfce1
0, 212, 212, 1, 215040, 0xa3825ffd
0, 214, 214, 1, 215040, 0x41e63fe4
0, 216, 216, 1, 215040, 0xb525b9c5
0, 218, 218, 1, 215040, 0x00000000