1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 15:38:11 +00:00

make loader smaller

This commit is contained in:
Pavol Rusnak 2016-10-04 16:33:57 +02:00
parent 2e2534585b
commit 157b12374f
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
4 changed files with 70 additions and 89 deletions

View File

@ -12,7 +12,7 @@ p = 0
while True:
ui.display.loader(p, ui.BLUE, ui.BLACK)
ui.display.text_center(120, 192 // 2 + 14 // 2, "%d%%" % (p // 10), 2, ui.WHITE, ui.BLACK)
ui.display.text_center(120, 240 // 2 + 14 // 2, "%d%%" % (p // 10), 2, ui.WHITE, ui.BLACK)
ui.display.refresh()

View File

@ -283,7 +283,7 @@ void display_loader(uint16_t progress, uint16_t fgcolor, uint16_t bgcolor, const
if (icon) {
set_color_table(iconcolortable, iconfgcolor, bgcolor);
}
display_set_window(DISPLAY_RESX / 2 - img_loader_size, DISPLAY_RESY * 2 / 5 - img_loader_size, img_loader_size * 2, img_loader_size * 2);
display_set_window(DISPLAY_RESX / 2 - img_loader_size, DISPLAY_RESY / 2 - img_loader_size, img_loader_size * 2, img_loader_size * 2);
if (icon && memcmp(icon, "TOIg\x60\x00\x60\x00", 8) == 0 && iconlen == 12 + *(uint32_t *)(icon + 8)) {
uint8_t icondata[96 * 96 / 2];
sinf_inflate(icon + 12, iconlen - 12, inflate_callback_loader, icondata);

View File

@ -1,86 +1,67 @@
static const int img_loader_size = 83;
static const uint16_t img_loader[83][83] = {
{31744,31488,31232,30976,30720,30464,30208,29952,29696,29440,29184,28928,28672,28160,27904,27648,27392,27136,26880,26368,26112,25856,25600,25088,24832,24576,24064,23808,23552,23040,22784,22528,22016,21760,21248,20992,20736,20224,19968,19456,19200,18688,18176,17920,17408,17152,16640,16128,15872,15360,14848,14592,14080,13568,13312,12800,12288,11776,11520,11008,10496,9984,9472,9216,8704,8192,7680,7168,6656,6144,5888,5376,4864,4352,3856,3377,2881,2385,1890,1378,882,370,114,},
{32000,31744,31488,31232,30976,30720,30464,30208,29952,29696,29440,29184,28672,28416,28160,27904,27648,27392,26880,26624,26368,26112,25856,25344,25088,24832,24320,24064,23808,23296,23040,22784,22272,22016,21504,21248,20736,20480,19968,19712,19200,18944,18432,18176,17664,17152,16896,16384,15872,15616,15104,14592,14336,13824,13312,13056,12544,12032,11520,11008,10752,10240,9728,9216,8704,8192,7680,7440,6977,6498,6035,5555,5076,4597,4085,3573,3061,2549,2037,1525,1013,501,245,},
{32256,32000,31744,31488,31232,30976,30720,30464,30208,29952,29696,29440,28928,28672,28416,28160,27904,27648,27136,26880,26624,26368,26112,25600,25344,25088,24576,24320,24064,23552,23296,22784,22528,22272,21760,21504,20992,20736,20224,19968,19456,19200,18688,18176,17920,17408,17152,16640,16128,15872,15360,14848,14336,14080,13568,13056,12544,12288,11776,11264,10752,10240,9728,9281,9074,8611,8148,7669,7157,6645,6133,5621,5109,4597,4085,3573,3061,2549,2037,1525,1013,501,245,},
{32512,32256,32000,31744,31488,31232,30976,30720,30464,30208,29952,29696,29184,28928,28672,28416,28160,27904,27392,27136,26880,26624,26112,25856,25600,25344,24832,24576,24320,23808,23552,23040,22784,22528,22016,21760,21248,20992,20480,20224,19712,19200,18944,18432,18176,17664,17152,16896,16384,15872,15616,15104,14592,14080,13568,13312,12800,12288,11776,11313,11122,10675,10229,9717,9205,8693,8181,7669,7157,6645,6133,5621,5109,4597,4085,3829,3317,2805,2293,1781,1269,757,245,},
{32768,32512,32256,32000,31744,31488,31232,30976,30720,30464,30208,29952,29440,29184,28928,28672,28416,28160,27648,27392,27136,26880,26368,26112,25856,25600,25088,24832,24320,24064,23808,23296,23040,22528,22272,21760,21504,20992,20736,20224,19968,19456,19200,18688,18176,17920,17408,16896,16640,16128,15616,15104,14848,14336,13824,13312,13121,12674,12244,11765,11253,10741,10229,9717,9205,8949,8437,7925,7413,6901,6389,5877,5365,4853,4341,3829,3317,2805,2293,1781,1269,757,245,},
{33024,32768,32512,32256,32000,31744,31488,31232,30976,30720,30464,30208,29696,29440,29184,28928,28672,28416,27904,27648,27392,27136,26624,26368,26112,25856,25344,25088,24576,24320,24064,23552,23296,22784,22528,22016,21760,21248,20992,20480,20224,19712,19200,18944,18432,18176,17664,17152,16640,16384,15872,15360,14848,14641,14210,13780,13301,12789,12277,12021,11509,10997,10485,9973,9461,8949,8437,7925,7413,6901,6389,5877,5365,4853,4341,3829,3317,2805,2293,1781,1269,757,245,},
{33280,33024,32768,32512,32256,32000,31744,31488,31232,30976,30720,30464,29952,29696,29440,29184,28928,28672,28160,27904,27648,27392,26880,26624,26368,26112,25600,25344,24832,24576,24320,23808,23552,23040,22784,22272,22016,21504,21248,20736,20480,19968,19456,19200,18688,18176,17920,17408,16896,16384,16128,15714,15283,14837,14325,14069,13557,13045,12533,12021,11509,10997,10485,9973,9461,8949,8437,7925,7413,6901,6389,5877,5365,4853,4341,3829,3317,2805,2293,1781,1269,757,245,},
{33536,33280,33024,32768,32512,32256,32000,31744,31488,31232,30976,30720,30464,29952,29696,29440,29184,28928,28416,28160,27904,27648,27136,26880,26624,26368,25856,25600,25088,24832,24576,24064,23808,23296,23040,22528,22272,21760,21504,20992,20480,20224,19712,19456,18944,18432,17920,17664,17184,16770,16356,16117,15605,15093,14581,14069,13557,13301,12789,12277,11765,11253,10741,10229,9717,9205,8693,8181,7669,7157,6645,6133,5621,4853,4341,3829,3317,2805,2293,1781,1269,757,245,},
{33792,33536,33280,33024,32768,32512,32256,32000,31744,31488,31232,30976,30720,30208,29952,29696,29440,29184,28928,28416,28160,27904,27392,27136,26880,26624,26112,25856,25344,25088,24832,24320,24064,23552,23296,22784,22528,22016,21760,21248,20736,20480,19968,19456,19200,18688,18225,18067,17653,17141,16629,16117,15861,15349,14837,14325,13813,13301,12789,12277,11765,11253,10741,10229,9717,9205,8693,8181,7669,7157,6645,6133,5621,5109,4597,3829,3317,2805,2293,1781,1269,757,245,},
{34048,33792,33536,33280,33024,32768,32512,32256,32000,31744,31488,31232,30976,30720,30208,29952,29696,29440,29184,28672,28416,28160,27904,27392,27136,26880,26368,26112,25600,25344,25088,24576,24320,23808,23552,23040,22784,22272,21760,21504,20992,20736,20224,19712,19505,19091,18677,18165,17909,17397,16885,16373,15861,15349,15093,14581,14069,13557,13045,12533,12021,11509,10997,10485,9973,9461,8949,8437,7925,7157,6645,6133,5621,5109,4597,4085,3317,2805,2293,1781,1269,757,245,},
{34304,34048,33792,33536,33280,33024,32768,32512,32256,32000,31744,31488,31232,30976,30464,30208,29952,29696,29440,28928,28672,28416,28160,27648,27392,27136,26624,26368,26112,25600,25344,24832,24576,24064,23808,23296,23040,22528,22016,21760,21248,20992,20512,20115,19701,19445,18933,18421,17909,17653,17141,16629,16117,15605,15093,14581,14069,13557,13301,12789,12277,11509,10997,10485,9973,9461,8949,8437,7925,7413,6901,6389,5621,5109,4597,4085,3573,2805,2293,1781,1269,757,245,},
{34560,34304,34048,33792,33536,33280,33024,32768,32512,32256,32000,31744,31488,31232,30976,30464,30208,29952,29696,29440,28928,28672,28416,27904,27648,27392,26880,26624,26368,25856,25600,25088,24832,24320,24064,23552,23296,22784,22272,22016,21504,21362,20981,20469,19957,19701,19189,18677,18165,17653,17397,16885,16373,15861,15349,14837,14325,13813,13301,12789,12277,11765,11253,10741,10229,9717,9205,8693,7925,7413,6901,6389,5877,5109,4597,4085,3573,3061,2293,1781,1269,757,245,},
{34816,34816,34560,34304,34048,33792,33536,33024,32768,32512,32256,32000,31744,31488,31232,30976,30464,30208,29952,29696,29184,28928,28672,28416,27904,27648,27136,26880,26624,26112,25856,25344,25088,24576,24320,23808,23552,23040,22528,22353,21972,21493,21237,20725,20213,19957,19445,18933,18421,17909,17397,17141,16629,16117,15605,15093,14581,14069,13557,13045,12533,12021,11509,10997,10229,9717,9205,8693,8181,7669,6901,6389,5877,5365,4853,4085,3573,3061,2549,1781,1269,757,245,},
{35328,35072,34816,34560,34304,34048,33792,33536,33280,32768,32512,32256,32000,31744,31488,31232,30720,30464,30208,29952,29696,29184,28928,28672,28160,27904,27648,27136,26880,26368,26112,25600,25344,24832,24576,24064,23808,23312,22931,22773,22261,21749,21493,20981,20469,20213,19701,19189,18677,18165,17653,17141,16885,16373,15861,15349,14837,14325,13813,13301,12533,12021,11509,10997,10485,9973,9461,8693,8181,7669,7157,6645,5877,5365,4853,4341,3573,3061,2549,1781,1269,757,245,},
{35584,35328,35072,34816,34560,34304,34048,33792,33536,33280,33024,32512,32256,32000,31744,31488,31232,30720,30464,30208,29952,29440,29184,28928,28416,28160,27904,27392,27136,26624,26368,26112,25600,25088,24832,24320,24162,23780,23541,23029,22517,22261,21749,21237,20725,20213,19957,19445,18933,18421,17909,17397,16885,16373,15861,15349,14837,14325,13813,13301,12789,12277,11765,11253,10741,9973,9461,8949,8437,7669,7157,6645,6133,5365,4853,4341,3573,3061,2549,1781,1269,757,245,},
{35840,35584,35328,35072,34816,34560,34304,34048,33792,33536,33280,33024,32512,32256,32000,31744,31488,31232,30720,30464,30208,29952,29440,29184,28928,28416,28160,27648,27392,27136,26624,26368,25856,25600,25104,24723,24565,24053,23797,23285,22773,22517,22005,21493,20981,20469,20213,19701,19189,18677,18165,17653,17141,16629,16117,15605,15093,14581,14069,13557,13045,12533,11765,11253,10741,10229,9717,8949,8437,7925,7413,6645,6133,5621,4853,4341,3829,3061,2549,2037,1269,757,245,},
{36096,35840,35584,35328,35072,34816,34560,34304,34048,33792,33536,33280,33024,32768,32256,32000,31744,31488,31232,30720,30464,30208,29696,29440,29184,28672,28416,28160,27648,27392,26880,26624,26112,25921,25556,25333,24821,24309,24053,23541,23029,22773,22261,21749,21237,20725,20469,19957,19445,18933,18421,17909,17397,16885,16373,15861,15349,14837,14325,13813,13301,12533,12021,11509,10997,10229,9717,9205,8693,7925,7413,6901,6133,5621,5109,4341,3829,3061,2549,2037,1269,757,245,},
{36352,36096,35840,35584,35328,35072,34816,34560,34304,34048,33792,33536,33280,33024,32768,32256,32000,31744,31488,31232,30720,30464,30208,29696,29440,29184,28672,28416,27904,27648,27136,26880,26482,26357,25845,25589,25077,24565,24309,23797,23285,23029,22517,22005,21493,21237,20725,20213,19701,19189,18677,18165,17653,17141,16629,16117,15605,15093,14581,13813,13301,12789,12277,11765,10997,10485,9973,9205,8693,8181,7413,6901,6389,5621,5109,4597,3829,3317,2549,2037,1269,757,245,},
{36608,36608,36352,36096,35840,35584,35328,35072,34560,34304,34048,33792,33536,33280,33024,32768,32256,32000,31744,31488,30976,30720,30464,30208,29696,29440,28928,28672,28416,27904,27648,27283,27125,26613,26357,25845,25333,25077,24565,24053,23797,23285,22773,22261,21749,21493,20981,20469,19957,19445,18933,18421,17909,17397,16885,16373,15861,15349,14581,14069,13557,13045,12533,11765,11253,10741,9973,9461,8949,8181,7669,6901,6389,5877,5109,4597,3829,3317,2549,2037,1269,757,245,},
{37120,36864,36608,36352,36096,35840,35584,35328,35072,34816,34560,34048,33792,33536,33280,33024,32768,32256,32000,31744,31488,30976,30720,30464,29952,29696,29440,28928,28672,28192,28100,27637,27381,26869,26613,26101,25589,25333,24821,24309,24053,23541,23029,22517,22261,21749,21237,20725,20213,19701,19189,18677,18165,17653,17141,16629,16117,15349,14837,14325,13813,13301,12533,12021,11509,10741,10229,9717,8949,8437,7669,7157,6389,5877,5365,4597,4085,3317,2805,2037,1525,757,245,},
{37376,37120,36864,36608,36352,36096,35840,35584,35328,35072,34816,34560,34304,33792,33536,33280,33024,32768,32512,32000,31744,31488,30976,30720,30464,29952,29696,29440,28993,28900,28405,28149,27637,27381,26869,26357,26101,25589,25077,24821,24309,23797,23285,23029,22517,22005,21493,20981,20469,19957,19445,18933,18421,17909,17397,16885,16117,15605,15093,14581,14069,13301,12789,12277,11509,10997,10485,9717,9205,8437,7925,7157,6645,5877,5365,4597,4085,3317,2805,2037,1525,757,245,},
{37632,37376,37120,36864,36608,36352,36096,35840,35584,35328,35072,34816,34560,34304,34048,33536,33280,33024,32768,32512,32000,31744,31488,30976,30720,30464,29952,29777,29429,29173,28661,28405,27893,27637,27125,26869,26357,25845,25589,25077,24565,24053,23797,23285,22773,22261,21749,21237,20725,20213,19701,19189,18677,18165,17653,17141,16373,15861,15349,14837,14069,13557,13045,12277,11765,11253,10485,9973,9205,8693,7925,7413,6645,6133,5365,4853,4085,3317,2805,2037,1525,757,245,},
{37888,37632,37376,37376,37120,36864,36608,36352,36096,35584,35328,35072,34816,34560,34304,34048,33792,33280,33024,32768,32512,32000,31744,31488,30976,30720,30562,30197,29941,29429,29173,28661,28405,27893,27381,27125,26613,26357,25845,25333,24821,24565,24053,23541,23029,22517,22005,21493,20981,20469,19957,19445,18933,18421,17909,17397,16629,16117,15605,15093,14325,13813,13301,12533,12021,11253,10741,9973,9461,8693,8181,7413,6901,6133,5621,4853,4085,3573,2805,2037,1525,757,245,},
{38400,38144,37888,37632,37376,37120,36864,36608,36352,36096,35840,35584,35072,34816,34560,34304,34048,33792,33280,33024,32768,32512,32000,31744,31488,31074,30965,30453,30197,29941,29429,28917,28661,28149,27893,27381,26869,26613,26101,25589,25333,24821,24309,23797,23285,22773,22261,21749,21237,20725,20213,19701,19189,18677,18165,17653,16885,16373,15861,15093,14581,14069,13301,12789,12021,11509,10741,10229,9461,8949,8181,7669,6901,6133,5621,4853,4341,3573,2805,2293,1525,757,245,},
{38656,38400,38144,37888,37632,37376,37120,36864,36608,36352,36096,35840,35584,35328,35072,34560,34304,34048,33792,33536,33024,32768,32512,32000,31858,31733,31221,30965,30453,30197,29685,29429,28917,28661,28149,27637,27381,26869,26357,26101,25589,25077,24565,24053,23541,23285,22773,22261,21749,20981,20469,19957,19445,18933,18421,17909,17141,16629,16117,15349,14837,14325,13557,13045,12277,11765,10997,10485,9717,8949,8437,7669,7157,6389,5621,5109,4341,3573,2805,2293,1525,757,245,},
{38912,38656,38400,38144,37888,37632,37376,37120,36864,36608,36352,36096,35840,35584,35328,35072,34816,34304,34048,33792,33536,33024,32768,32610,32245,31989,31733,31221,30965,30453,30197,29685,29429,28917,28405,28149,27637,27125,26869,26357,25845,25333,24821,24565,24053,23541,23029,22517,22005,21493,20981,20213,19701,19189,18677,18165,17397,16885,16373,15605,15093,14325,13813,13301,12533,11765,11253,10485,9973,9205,8437,7925,7157,6389,5877,5109,4342,3575,3064,2297,1529,761,250,},
{39424,39168,38912,38656,38400,38144,37888,37632,37376,37120,36864,36608,36352,35840,35584,35328,35072,34816,34560,34048,33792,33536,33122,33013,32757,32245,31989,31733,31221,30965,30453,30197,29685,29173,28917,28405,28149,27637,27125,26613,26357,25845,25333,24821,24309,23797,23285,22773,22261,21749,21237,20725,19957,19445,18933,18421,17653,17141,16629,15861,15349,14581,14069,13301,12789,12021,11509,10741,9973,9461,8695,7929,7419,6652,5886,5119,4351,3839,3071,2303,1535,767,255,},
{39680,39424,39168,38912,38656,38400,38144,37888,37632,37376,37120,36864,36608,36352,36096,35840,35328,35072,34816,34560,34048,33873,33781,33525,33013,32757,32245,31989,31733,31221,30965,30453,29941,29685,29173,28917,28405,27893,27381,27125,26613,26101,25589,25077,24565,24053,23541,23029,22517,22005,21493,20981,20469,19701,19189,18677,18165,17397,16885,16117,15605,14837,14325,13557,13045,12277,11511,11001,10236,9470,8959,8191,7423,6655,5887,5358,4556,3754,2969,2184,1416,631,119,},
{39936,39680,39424,39168,39168,38912,38656,38400,38144,37888,37376,37120,36864,36608,36352,36096,35840,35584,35072,34816,34625,34549,34037,33781,33525,33013,32757,32245,31989,31733,31221,30709,30453,29941,29685,29173,28661,28405,27893,27381,26869,26357,26101,25589,25077,24565,24053,23541,23029,22261,21749,21237,20725,20213,19445,18933,18421,17653,17141,16373,15861,15093,14581,13815,13306,12541,11775,11007,10495,9727,8908,8089,7526,6707,5905,5120,4352,3584,2816,2048,1280,512,0,},
{40448,40192,39936,39680,39424,39168,38912,38656,38400,38144,37888,37632,37376,37120,36864,36352,36096,35840,35584,35360,35044,34805,34549,34037,33781,33525,33013,32757,32245,31989,31477,31221,30709,30453,29941,29685,29173,28661,28149,27893,27381,26869,26357,25845,25333,24821,24309,23797,23285,22773,22261,21493,20981,20469,19957,19189,18677,17909,17397,16629,16118,15353,14845,14079,13311,12799,11980,11144,10308,9745,8960,8192,7424,6656,5888,5120,4352,3584,2816,2048,1280,512,0,},
{40704,40448,40192,39936,39680,39424,39168,38912,38656,38400,38144,37888,37632,37376,37120,36864,36608,36352,35840,35780,35573,35317,34805,34549,34293,33781,33525,33013,32757,32501,31989,31477,31221,30709,30453,29941,29429,29173,28661,28149,27637,27125,26613,26357,25845,25333,24565,24053,23541,23029,22517,22005,21237,20725,20213,19445,18933,18421,17655,17147,16383,15615,15103,14284,13431,12851,12032,11264,10496,9728,8960,8448,7680,6912,6144,5376,4608,3840,3072,2304,1536,768,0,},
{40960,40704,40704,40448,40192,39936,39680,39424,39168,38912,38656,38400,38144,37888,37376,37120,36864,36608,36499,36341,35829,35573,35317,35061,34549,34293,33781,33525,33269,32757,32501,31989,31477,31221,30709,30453,29941,29429,28917,28661,28149,27637,27125,26613,26101,25589,25077,24565,24053,23541,22773,22261,21749,20981,20469,19957,19191,18684,17919,17407,16639,15769,15172,14336,13568,13056,12288,11520,10752,9984,9216,8448,7680,6912,6144,5376,4608,3840,3072,2304,1536,768,0,},
{41472,41216,40960,40704,40448,40192,39936,39680,39424,39168,38912,38656,38400,38144,37888,37632,37376,37234,36853,36597,36341,36085,35573,35317,35061,34549,34293,34037,33525,33269,32757,32501,31989,31477,31221,30709,30197,29941,29429,28917,28405,27893,27381,27125,26613,25845,25333,24821,24309,23797,23285,22517,22005,21493,20726,20219,19711,18943,18158,17544,16657,16128,15360,14592,13824,13056,12544,11776,11008,10240,9472,8704,7936,7168,6400,5632,4608,3840,3072,2304,1536,768,0,},
{41728,41472,41216,40960,40960,40704,40448,40192,39936,39680,39424,39168,38912,38656,38400,37888,37697,37621,37365,37109,36597,36341,36085,35829,35317,35061,34805,34293,34037,33525,33269,32757,32501,31989,31477,31221,30709,30197,29685,29429,28917,28405,27893,27381,26869,26357,25845,25333,24821,24053,23541,23029,22517,21754,21247,20479,19950,19063,18432,17664,16896,16384,15616,14848,14080,13312,12800,12032,11264,10496,9728,8960,7936,7168,6400,5632,4864,4096,3072,2304,1536,768,0,},
{42240,41984,41728,41472,41216,40960,40704,40448,40192,39936,39680,39424,39168,38912,38656,38416,38356,38133,37621,37365,37109,36853,36597,36085,35829,35573,35061,34805,34293,34037,33525,33269,32757,32501,31989,31477,31221,30709,30197,29685,29173,28917,28405,27893,27381,26869,26357,25589,25077,24565,24053,23288,22781,22271,21503,20872,19985,19456,18688,17920,17408,16640,15872,15104,14336,13568,13056,12288,11264,10496,9728,8960,8192,7424,6656,5632,4864,4096,3328,2304,1536,768,0,},
{42496,42240,41984,41728,41728,41472,41216,40960,40704,40448,40192,39936,39680,39424,39168,39059,38645,38389,38133,37877,37621,37109,36853,36597,36341,35829,35573,35061,34805,34293,34037,33525,33269,32757,32501,31989,31477,31221,30709,30197,29685,29173,28661,28149,27637,27125,26613,26101,25589,25077,24315,23807,23295,22442,21811,20992,20480,19712,18944,18432,17664,16896,16128,15360,14592,14080,13312,12288,11520,10752,9984,9216,8448,7424,6656,5888,5120,4096,3328,2560,1536,768,0,},
{42752,42752,42496,42240,41984,41728,41472,41216,40960,40704,40448,40192,39936,39680,39522,39413,39157,38901,38645,38389,37877,37621,37365,37109,36597,36341,35829,35573,35317,34805,34549,34037,33781,33269,32757,32501,31989,31477,30965,30709,30197,29685,29173,28661,28149,27637,27125,26613,25847,25341,24831,24302,23398,22784,22016,21504,20736,19968,19456,18688,17920,17152,16640,15872,15104,14336,13568,12544,11776,11008,10240,9472,8448,7680,6912,5888,5120,4352,3328,2560,1536,768,0,},
{43264,43008,42752,42496,42496,42240,41984,41728,41472,41216,40960,40704,40448,40208,40164,39925,39669,39413,38901,38645,38389,38133,37621,37365,37109,36853,36341,36085,35573,35317,34805,34549,34037,33781,33269,32757,32501,31989,31477,30965,30709,30197,29685,29173,28661,28149,27381,26873,26367,25855,25002,24354,23808,23040,22528,21760,21248,20480,19712,18944,18432,17664,16896,16128,15360,14592,13824,13056,12032,11264,10496,9728,8704,7936,6912,6144,5376,4352,3584,2560,1792,768,0,},
{43520,43520,43264,43008,42752,42496,42240,41984,41728,41728,41472,41216,40960,40851,40437,40181,39925,39669,39413,39157,38901,38389,38133,37877,37621,37109,36853,36597,36085,35829,35317,35061,34549,34293,33781,33269,33013,32501,31989,31477,30965,30453,29941,29429,28917,28405,27899,27391,26879,26231,25344,24832,24064,23552,22784,22272,21504,20736,20224,19456,18688,17920,17152,16384,15616,14848,14080,13312,12288,11520,10752,9728,8960,7936,7168,6400,5376,4352,3584,2560,1792,768,0,},
{44032,43776,43520,43264,43264,43008,42752,42496,42240,41984,41728,41472,41297,41205,40949,40693,40437,40181,39925,39669,39157,38901,38645,38389,37877,37621,37365,36853,36597,36085,35829,35317,35061,34549,34293,33781,33269,33013,32501,31989,31477,30965,30453,29941,29430,28924,28415,27886,27204,26368,25856,25344,24576,24064,23296,22528,22016,21248,20480,19712,18944,18432,17664,16640,15872,15104,14336,13568,12544,11776,11008,9984,9216,8192,7424,6400,5376,4608,3584,2816,1792,768,0,},
{44288,44288,44032,43776,43520,43264,43008,43008,42752,42496,42240,41984,41940,41717,41461,41205,40949,40693,40181,39925,39669,39413,39157,38645,38389,38133,37621,37365,37109,36597,36341,35829,35573,35061,34805,34293,33781,33269,33013,32501,31989,31477,30965,30454,29949,29439,28876,28194,27392,26880,26368,25600,25088,24320,23808,23040,22272,21760,20992,20224,19456,18688,17920,17152,16384,15360,14592,13824,13056,12032,11264,10240,9472,8448,7424,6656,5632,4608,3840,2816,1792,768,0,},
{44800,44544,44288,44288,44032,43776,43520,43264,43008,42752,42496,42354,42485,42229,41717,41461,41205,40949,40693,40437,40181,39925,39413,39157,38901,38645,38133,37877,37621,37109,36853,36341,36085,35573,35061,34805,34293,33781,33525,33013,32501,31989,31479,30974,30463,29866,29184,28672,27904,27392,26880,26112,25600,24832,24064,23552,22784,22016,21248,20736,19968,19200,18176,17408,16640,15872,14848,14080,13312,12288,11520,10496,9472,8704,7680,6656,5888,4864,3840,2816,1792,768,0,},
{45312,45056,44800,44544,44288,44288,44032,43776,43520,43264,43040,42997,42741,42485,42229,41973,41717,41461,41205,40949,40693,40181,39925,39669,39413,39157,38645,38389,37877,37621,37365,36853,36597,36085,35573,35317,34805,34293,34037,33525,33013,32503,31998,31487,30890,30208,29696,28928,28416,27904,27136,26624,26112,25344,24576,24064,23296,22528,21760,20992,20224,19456,18688,17920,17152,16128,15360,14336,13568,12544,11776,10752,9728,8960,7936,6912,5888,4864,3840,2816,1792,768,0,},
{45568,45312,45312,45056,44800,44544,44288,44032,44032,43776,43667,43509,43253,42997,42741,42485,42229,41973,41717,41461,40949,40693,40437,40181,39925,39413,39157,38901,38389,38133,37621,37365,36853,36597,36085,35829,35317,34805,34549,34037,33526,33022,32511,31897,31232,30720,30208,29440,28928,28416,27648,27136,26368,25856,25088,24320,23808,23040,22272,21504,20736,19968,19200,18176,17408,16640,15616,14848,13824,13056,12032,11008,9984,8960,8192,7168,6144,5120,4096,3072,2048,1024,0,},
{46080,45824,45568,45312,45312,45056,44800,44544,44288,44081,44277,44021,43765,43509,43253,42997,42741,42485,42229,41717,41461,41205,40949,40693,40437,39925,39669,39413,38901,38645,38133,37877,37365,37109,36597,36341,35829,35317,35061,34550,34045,33535,32938,32256,31744,31232,30720,29952,29440,28928,28160,27648,26880,26368,25600,24832,24320,23552,22784,22016,21248,20480,19456,18688,17920,16896,16128,15104,14080,13312,12288,11264,10240,9216,8192,7168,6144,5120,4096,3072,2048,1024,0,},
{46336,46336,46080,45824,45568,45312,45312,45056,44800,44691,44533,44277,44021,43765,43765,43509,43253,42741,42485,42229,41973,41717,41461,41205,40693,40437,40181,39925,39413,39157,38645,38389,38133,37621,37109,36853,36341,35829,35573,35068,34559,33962,33280,32768,32256,31744,31232,30720,29952,29440,28928,28160,27392,26880,26112,25344,24832,24064,23296,22528,21760,20736,19968,19200,18176,17408,16384,15616,14592,13568,12544,11520,10496,9472,8448,7424,6400,5376,4352,3072,2048,1024,0,},
{46848,46592,46336,46336,46080,45824,45568,45568,45361,45301,45045,44789,44533,44277,44021,43765,43509,43253,42997,42741,42485,42229,41973,41717,41205,40949,40693,40437,39925,39669,39413,38901,38645,38133,37621,37365,36853,36597,36091,35583,35020,34304,33792,33280,32768,32256,31744,31232,30464,29952,29440,28672,28160,27392,26624,26112,25344,24576,23808,23040,22016,21248,20480,19456,18688,17664,16896,15872,14848,13824,13056,12032,10752,9728,8704,7680,6656,5376,4352,3328,2048,1024,0,},
{47360,47104,46848,46592,46592,46336,46080,45824,45715,45813,45557,45301,45045,44789,44533,44277,44021,43765,43509,43253,42997,42741,42485,42229,41717,41461,41205,40949,40437,40181,39925,39413,39157,38645,38389,37877,37365,37113,36607,36078,35362,34816,34560,34048,33536,32768,32256,31744,31232,30464,29952,29184,28672,27904,27136,26624,25856,25088,24320,23552,22528,21760,20992,19968,19200,18176,17152,16384,15360,14336,13312,12288,11264,9984,8960,7936,6656,5632,4608,3328,2304,1024,0,},
{47616,47616,47360,47104,46848,46848,46592,46368,46325,46069,46069,45813,45557,45301,45045,44789,44533,44277,44021,43765,43509,43253,42997,42741,42229,41973,41717,41461,40949,40693,40437,39925,39669,39157,38901,38389,38135,37631,37119,36420,36096,35584,35072,34560,34048,33536,33024,32256,31744,31232,30464,29952,29184,28416,27904,27136,26368,25600,24832,24064,23296,22272,21504,20480,19712,18688,17664,16640,15616,14592,13568,12544,11520,10496,9216,8192,6912,5888,4608,3328,2304,1024,0,},
{48128,47872,47616,47616,47360,47104,47104,46978,46837,46581,46325,46325,46069,45813,45557,45301,45045,44789,44533,44277,44021,43765,43509,43253,42997,42485,42229,41973,41717,41205,40949,40437,40181,39925,39413,38901,38653,38143,37495,37120,36608,36096,35584,35072,34560,34048,33536,33024,32256,31744,31232,30464,29696,29184,28416,27648,26880,26112,25344,24576,23808,22784,22016,20992,20224,19200,18176,17152,16128,15104,14080,13056,11776,10752,9472,8448,7168,5888,4864,3584,2304,1024,0,},
{48640,48384,48128,47872,47872,47616,47360,47588,47349,47093,46837,46581,46581,46325,46069,45813,45557,45301,45045,44789,44533,44277,44021,43765,43509,42997,42741,42485,42229,41717,41461,41205,40693,40437,39925,39675,39167,38826,38144,37632,37120,36608,36352,35840,35328,34560,34048,33536,33024,32256,31744,30976,30464,29696,28928,28416,27648,26880,26112,25088,24320,23552,22528,21504,20736,19712,18688,17664,16640,15616,14336,13312,12288,11008,9728,8704,7424,6144,4864,3584,2304,1024,0,},
{48896,48896,48640,48384,48384,48128,47970,47861,47861,47605,47349,47093,46837,46837,46581,46325,46069,45813,45557,45301,45045,44789,44533,44277,44021,43765,43253,42997,42741,42485,41973,41717,41461,40949,40696,40191,39662,39202,38656,38144,37888,37376,36864,36352,35840,35328,34816,34304,33536,33024,32512,31744,30976,30464,29696,28928,28160,27392,26624,25856,24832,24064,23040,22272,21248,20224,19200,18176,17152,15872,14848,13824,12544,11264,10240,8960,7680,6400,5120,3840,2560,1280,0,},
{49408,49152,49152,48896,48640,48640,48563,48373,48117,48117,47861,47605,47349,47093,47093,46837,46581,46325,46069,45813,45557,45301,45045,44789,44533,44277,44021,43509,43253,42997,42741,42229,41973,41461,41213,40703,40294,39680,39424,38912,38400,37888,37376,37120,36608,36096,35328,34816,34304,33792,33024,32512,31744,30976,30464,29696,28928,28160,27136,26368,25600,24576,23808,22784,21760,20736,19712,18688,17664,16384,15360,14080,13056,11776,10496,9216,7936,6656,5376,3840,2560,1280,0,},
{49920,49664,49408,49408,49152,48945,49141,48885,48629,48629,48373,48117,47861,47605,47605,47349,47093,46837,46581,46325,46069,45813,45557,45301,45045,44789,44533,44277,43765,43509,43253,42997,42485,42234,41727,41386,40704,40448,39936,39424,39168,38656,38144,37632,37120,36608,36096,35584,35072,34304,33792,33024,32512,31744,30976,30208,29440,28672,27904,27136,26112,25344,24320,23296,22528,21504,20224,19200,18176,16896,15872,14592,13312,12032,10752,9472,8192,6912,5376,4096,2560,1280,0,},
{50176,50176,49920,49920,49664,49538,49653,49397,49141,48885,48885,48629,48373,48117,48117,47861,47605,47349,47093,46837,46581,46325,46069,45813,45557,45301,45045,44789,44533,44021,43765,43509,43254,42751,42495,41779,41472,40960,40704,40192,39680,39424,38912,38400,37888,37376,36864,36352,35584,35072,34560,33792,33024,32512,31744,30976,30208,29440,28672,27904,26880,26112,25088,24064,23040,22016,20992,19712,18688,17408,16384,15104,13824,12544,11264,9728,8448,7168,5632,4096,2816,1280,0,},
{50688,50432,50432,50176,50176,50132,49909,49909,49653,49397,49397,49141,48885,48629,48629,48373,48117,47861,47605,47349,47093,46837,46581,46325,46069,45813,45557,45301,45045,44789,44533,44021,43771,43519,42888,42496,41984,41728,41216,40960,40448,39936,39424,39168,38656,38144,37376,36864,36352,35840,35072,34560,33792,33280,32512,31744,30976,30208,29440,28416,27648,26624,25856,24832,23808,22784,21504,20480,19200,18176,16896,15616,14336,13056,11520,10240,8704,7424,5888,4352,2816,1280,0,},
{51200,50944,50944,50688,50497,50677,50421,50421,50165,49909,49909,49653,49397,49141,49141,48885,48629,48373,48117,47861,47861,47605,47349,47093,46837,46581,46325,45813,45557,45301,45045,44791,44287,44014,43537,43008,42752,42240,41984,41472,41216,40704,40192,39680,39168,38656,38144,37632,37120,36608,35840,35328,34560,34048,33280,32512,31744,30976,30208,29184,28416,27392,26368,25600,24320,23296,22272,20992,19968,18688,17408,16128,14848,13312,12032,10496,8960,7680,6144,4608,3072,1536,0,},
{51712,51456,51200,51200,51074,51189,50933,50677,50677,50421,50421,50165,49909,49653,49653,49397,49141,48885,48629,48629,48373,48117,47861,47605,47349,47093,46837,46581,46325,46069,45557,45308,45055,44663,44032,43776,43520,43008,42752,42240,41728,41472,40960,40448,39936,39424,38912,38400,37888,37376,36608,36096,35328,34816,34048,33280,32512,31744,30976,29952,29184,28160,27136,26368,25088,24064,23040,21760,20480,19456,17920,16640,15360,13824,12544,11008,9472,7936,6400,4608,3072,1536,0,},
{51968,51968,51712,51712,51668,51701,51445,51189,51189,50933,50677,50677,50421,50165,50165,49909,49653,49397,49397,49141,48885,48629,48373,48117,47861,47605,47349,47093,46837,46581,46327,46079,45806,45056,44800,44544,44032,43776,43264,43008,42496,42240,41728,41216,40704,40192,39680,39168,38656,38144,37376,36864,36352,35584,34816,34048,33280,32512,31744,30976,29952,28928,28160,27136,26112,24832,23808,22528,21248,19968,18688,17408,15872,14336,13056,11264,9728,8192,6656,4864,3328,1536,0,},
{52480,52480,52224,52273,52213,51957,51957,51701,51701,51445,51189,51189,50933,50677,50677,50421,50165,50165,49909,49653,49397,49141,48885,48885,48629,48373,48117,47861,47605,47349,46843,46591,46216,45824,45568,45056,44800,44544,44032,43776,43264,42752,42496,41984,41472,40960,40448,39936,39424,38912,38400,37632,37120,36352,35584,35072,34304,33536,32512,31744,30720,29952,28928,27904,26880,25600,24576,23296,22016,20736,19456,17920,16640,15104,13568,11776,10240,8448,6912,5120,3328,1536,0,},
{52992,52736,52736,52594,52725,52469,52469,52213,52213,51957,51701,51701,51445,51445,51189,50933,50677,50677,50421,50165,49909,49909,49653,49397,49141,48885,48629,48373,48117,47862,47615,47359,46865,46592,46080,45824,45568,45056,44800,44544,44032,43520,43264,42752,42240,41728,41472,40960,40192,39680,39168,38656,37888,37376,36608,35840,35072,34304,33536,32768,31744,30720,29696,28672,27648,26624,25344,24064,22784,21504,20224,18688,17152,15616,14080,12288,10752,8960,7168,5376,3584,1792,0,},
{53504,53248,53248,53171,53237,52981,52981,52725,52725,52469,52469,52213,51957,51957,51701,51445,51445,51189,50933,50677,50677,50421,50165,49909,49653,49653,49397,49141,48885,48633,48383,48025,47360,47104,46848,46592,46336,45824,45568,45056,44800,44288,44032,43520,43008,42752,42240,41728,41216,40704,39936,39424,38912,38144,37376,36864,36096,35328,34560,33536,32768,31744,30720,29696,28672,27392,26368,25088,23808,22272,20992,19456,17920,16384,14592,13056,11264,9472,7424,5632,3840,1792,0,},
{54016,53760,53760,53749,53749,53493,53493,53237,53237,52981,52981,52725,52469,52469,52213,52213,51957,51701,51445,51445,51189,50933,50677,50677,50421,50165,49909,49653,49397,49149,48895,48452,48128,47872,47616,47360,46848,46592,46336,45824,45568,45312,44800,44288,44032,43520,43008,42496,41984,41472,40960,40448,39680,39168,38400,37632,37120,36352,35328,34560,33792,32768,31744,30720,29696,28416,27136,26112,24576,23296,21760,20224,18688,17152,15360,13568,11776,9728,7936,5888,3840,1792,0,},
{54272,54272,54337,54261,54261,54005,54005,53749,53749,53493,53493,53237,52981,52981,52725,52725,52469,52213,52213,51957,51701,51701,51445,51189,50933,50677,50677,50421,50167,49919,49612,49152,48896,48640,48384,48128,47616,47360,47104,46848,46336,46080,45568,45312,44800,44288,44032,43520,43008,42496,41984,41216,40704,40192,39424,38656,37888,37120,36352,35584,34816,33792,32768,31744,30720,29440,28160,26880,25600,24320,22784,21248,19456,17920,16128,14080,12288,10240,8192,6144,4096,2048,0,},
{54784,54784,54642,54773,54773,54517,54517,54261,54261,54005,54005,53749,53749,53493,53237,53237,52981,52981,52725,52469,52469,52213,51957,51957,51701,51445,51189,50933,50682,50687,50295,49920,49664,49408,49152,48896,48384,48128,47872,47616,47104,46848,46336,46080,45568,45312,44800,44288,43776,43264,42752,42240,41728,40960,40448,39680,39168,38400,37376,36608,35840,34816,33792,32768,31744,30464,29440,28160,26624,25344,23808,22016,20480,18688,16896,14848,13056,10752,8704,6656,4352,2048,0,},
{55296,55296,55203,55285,55029,55029,55029,54773,54773,54517,54517,54261,54261,54005,54005,53749,53749,53493,53237,53237,52981,52725,52725,52469,52213,52213,51957,51701,51453,51199,50739,50432,50432,50176,49920,49408,49152,48896,48640,48384,48128,47616,47360,46848,46592,46080,45824,45312,44800,44288,43776,43264,42752,41984,41472,40704,40192,39424,38656,37888,36864,36096,35072,34048,33024,31744,30464,29184,27904,26368,24832,23296,21504,19712,17664,15616,13568,11520,9216,6912,4608,2304,0,},
{55808,55808,55764,55797,55541,55541,55541,55285,55285,55029,55029,54773,54773,54517,54517,54261,54261,54005,54005,53749,53493,53493,53237,53237,52981,52725,52469,52471,52223,51916,51456,51200,50944,50688,50432,50176,49920,49664,49408,49152,48896,48640,48128,47872,47360,47104,46592,46336,45824,45312,44800,44288,43776,43264,42496,41984,41216,40448,39680,38912,38144,37120,36352,35328,34048,33024,31744,30464,28928,27648,26112,24320,22528,20736,18688,16640,14336,12288,9728,7424,4864,2304,0,},
{56320,56080,56309,56309,56053,56053,56053,55797,55797,55541,55541,55285,55285,55285,55029,55029,54773,54773,54517,54261,54261,54005,54005,53749,53493,53493,53237,52985,52991,52616,52224,51968,51712,51456,51200,51200,50944,50432,50176,49920,49664,49408,49152,48640,48384,47872,47616,47104,46848,46336,45824,45312,44800,44288,43776,43008,42496,41728,40960,40192,39424,38400,37376,36608,35328,34304,33024,31744,30464,28928,27136,25600,23808,21760,19712,17664,15360,13056,10496,7936,5376,2560,0,},
{56832,56641,56821,56821,56565,56565,56565,56309,56309,56053,56053,56053,55797,55797,55541,55541,55285,55285,55029,55029,54773,54773,54517,54517,54261,54005,54005,53756,53503,53316,52992,52736,52480,52224,52224,51968,51712,51456,51200,50944,50432,50176,49920,49664,49408,48896,48640,48128,47872,47360,46848,46336,45824,45312,44800,44288,43520,43008,42240,41472,40704,39680,38912,37888,36864,35584,34560,33024,31744,30208,28672,26880,25088,23040,20992,18688,16384,13824,11264,8448,5632,2816,0,},
{57344,57186,57333,57333,57077,57077,57077,56821,56821,56821,56565,56565,56309,56309,56309,56053,56053,55797,55797,55541,55541,55285,55285,55029,55029,54773,54517,54526,54271,53777,53760,53504,53248,52992,52992,52736,52480,52224,51968,51712,51456,51200,50944,50432,50176,49920,49664,49152,48896,48384,47872,47616,47104,46592,46080,45312,44800,44032,43520,42752,41984,41216,40192,39168,38144,37120,35840,34560,33280,31744,30208,28416,26368,24320,22272,19968,17408,14848,12032,8960,6144,3072,0,},
{57600,57747,57845,57845,57589,57589,57589,57333,57333,57333,57077,57077,57077,56821,56821,56565,56565,56565,56309,56309,56053,56053,55797,55797,55541,55541,55287,55039,54988,54528,54528,54272,54016,53760,53760,53504,53248,52992,52736,52480,52224,51968,51712,51456,51200,50944,50432,50176,49920,49408,49152,48640,48128,47616,47104,46592,46080,45568,44800,44032,43264,42496,41728,40704,39680,38656,37376,36352,34816,33280,31744,29952,28160,26112,23808,21248,18688,15872,13056,9728,6656,3328,0,},
{58112,58291,58357,58357,58101,58101,58101,57845,57845,57845,57589,57589,57589,57333,57333,57333,57077,57077,57077,56821,56821,56565,56565,56309,56309,56053,56057,55807,55705,55296,55040,55040,54784,54528,54528,54272,54016,53760,53760,53504,53248,52992,52736,52480,52224,51968,51456,51200,50944,50432,50176,49664,49408,48896,48384,47872,47360,46848,46080,45568,44800,44032,43264,42240,41472,40192,39168,37888,36608,35072,33536,31744,29696,27648,25344,22784,20224,17152,14080,10752,7168,3584,0,},
{58624,58836,58869,58869,58613,58613,58613,58357,58357,58357,58357,58101,58101,58101,57845,57845,57845,57589,57589,57589,57333,57333,57077,57077,56821,56821,56571,56575,56166,56064,55808,55808,55552,55552,55296,55040,55040,54784,54528,54272,54016,54016,53760,53504,53248,52992,52736,52224,51968,51712,51200,50944,50432,50176,49664,49152,48640,48128,47616,46848,46336,45568,44800,44032,43008,41984,40960,39680,38400,37120,35328,33792,31744,29696,27136,24576,21760,18688,15360,11776,7936,3840,0,},
{59136,59381,59381,59381,59125,59125,59125,59125,58869,58869,58869,58869,58613,58613,58613,58357,58357,58357,58101,58101,58101,57845,57845,57845,57589,57589,57340,57343,56883,56832,56576,56576,56320,56320,56064,56064,55808,55552,55552,55296,55040,54784,54528,54528,54272,54016,53760,53504,52992,52736,52480,52224,51712,51456,50944,50432,50176,49664,49152,48384,47872,47104,46336,45568,44800,43776,42752,41728,40448,39168,37376,35840,33792,31744,29440,26624,23808,20480,16896,13056,8704,4352,0,},
{59664,59893,59893,59893,59637,59637,59637,59637,59381,59381,59381,59381,59125,59125,59125,59125,58869,58869,58869,58613,58613,58613,58357,58357,58357,58101,58110,58111,57617,57600,57344,57344,57088,57088,56832,56832,56576,56576,56320,56064,56064,55808,55552,55296,55296,55040,54784,54528,54272,54016,53760,53248,52992,52736,52224,51968,51456,50944,50432,49920,49408,48896,48128,47360,46592,45824,44800,43776,42496,41216,39680,38144,36352,34048,31744,28928,26112,22528,18688,14336,9728,4864,0,},
{60209,60405,60405,60149,60149,60149,60149,60149,60149,59893,59893,59893,59893,59637,59637,59637,59637,59381,59381,59381,59381,59125,59125,59125,58869,58869,58879,58606,58368,58368,58112,58112,57856,57856,57856,57600,57600,57344,57088,57088,56832,56832,56576,56320,56320,56064,55808,55552,55296,55040,54784,54528,54272,54016,53760,53248,52992,52480,52224,51712,51200,50432,49920,49408,48640,47872,46848,45824,44800,43520,42240,40704,38912,36864,34560,31744,28672,25088,20992,16384,11264,5632,0,},
{60737,60917,60917,60661,60661,60661,60661,60661,60661,60661,60405,60405,60405,60405,60405,60149,60149,60149,60149,59893,59893,59893,59893,59637,59637,59638,59647,59340,59136,59136,58880,58880,58880,58624,58624,58368,58368,58112,58112,58112,57856,57600,57600,57344,57344,57088,56832,56832,56576,56320,56064,55808,55552,55296,55040,54784,54528,54016,53760,53248,52736,52224,51712,51200,50432,49920,49152,48128,47104,46080,44800,43264,41728,39680,37376,34816,31744,28160,23808,18688,13056,6656,0,},
{61265,61429,61429,61173,61173,61173,61173,61173,61173,61173,61173,60917,60917,60917,60917,60917,60917,60661,60661,60661,60661,60661,60405,60405,60405,60407,60159,60074,59904,59904,59648,59648,59648,59392,59392,59392,59136,59136,59136,58880,58880,58624,58624,58368,58368,58112,58112,57856,57600,57600,57344,57088,56832,56576,56320,56064,55808,55552,55296,55040,54528,54016,53760,53248,52736,51968,51200,50432,49664,48640,47616,46336,44800,43008,40960,38400,35328,31744,27136,21760,15360,7936,0,},
{61794,61941,61941,61685,61685,61685,61685,61685,61685,61685,61685,61685,61429,61429,61429,61429,61429,61429,61429,61173,61173,61173,61173,61173,61173,60920,60927,60825,60672,60672,60416,60416,60416,60416,60160,60160,60160,59904,59904,59904,59648,59648,59648,59392,59392,59136,59136,58880,58880,58624,58624,58368,58112,58112,57856,57600,57344,57088,56832,56576,56320,56064,55552,55296,54784,54272,53760,52992,52224,51456,50432,49408,48128,46592,44800,42496,39680,36352,31744,26112,18688,9728,0,},
{62306,62453,62453,62197,62197,62197,62197,62197,62197,62197,62197,62197,62197,62197,62197,61941,61941,61941,61941,61941,61941,61941,61941,61685,61685,61689,61695,61576,61440,61440,61184,61184,61184,61184,61184,60928,60928,60928,60928,60672,60672,60672,60672,60416,60416,60416,60160,60160,60160,59904,59904,59648,59648,59392,59392,59136,58880,58880,58624,58368,58112,57856,57600,57344,56832,56576,56064,55552,55040,54528,53760,52736,51712,50432,49152,47104,44800,41728,37376,31744,23808,13056,0,},
{62834,62965,62965,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62709,62453,62453,62453,62453,62453,62453,62457,62463,62344,62208,62208,61952,61952,61952,61952,61952,61952,61952,61696,61696,61696,61696,61696,61696,61440,61440,61440,61440,61184,61184,61184,61184,60928,60928,60928,60672,60672,60416,60416,60160,60160,59904,59648,59648,59392,59136,58880,58624,58112,57856,57344,56832,56320,55552,54784,53760,52224,50432,48128,44800,39680,31744,18688,0,},
{63346,63477,63477,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,63225,63231,63095,62976,62976,62720,62720,62720,62720,62720,62720,62720,62720,62720,62720,62720,62720,62720,62464,62464,62464,62464,62464,62464,62464,62464,62208,62208,62208,62208,62208,61952,61952,61952,61952,61696,61696,61696,61440,61440,61184,61184,60928,60672,60416,60160,59904,59648,59136,58624,57856,56832,55552,53760,50432,44800,31744,0,},
{63858,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63994,63999,63863,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,0,},
static const int img_loader_size = 64;
static const uint16_t img_loader[64][64] = {
{31744,31488,30976,30720,30464,29952,29696,29440,28928,28672,28160,27904,27392,27136,26624,26368,25856,25344,25088,24576,24064,23808,23296,22784,22272,22016,21504,20992,20480,19968,19456,18944,18432,17920,17408,16896,16384,15872,15104,14592,14080,13568,13056,12288,11776,11264,10496,9984,9472,8704,8192,7424,6912,6144,5632,5120,4368,3889,3137,2641,1890,1394,626,114,},
{32000,31744,31488,30976,30720,30464,29952,29696,29440,28928,28672,28160,27904,27392,27136,26624,26112,25856,25344,24832,24576,24064,23552,23040,22784,22272,21760,21248,20736,20224,19712,19200,18688,18176,17664,17152,16640,15872,15360,14848,14336,13824,13056,12544,12032,11264,10752,10240,9472,8960,8224,7761,7026,6563,5828,5348,4597,4085,3317,2805,2037,1525,757,245,},
{32512,32000,31744,31488,30976,30720,30464,29952,29696,29184,28928,28416,28160,27648,27392,26880,26624,26112,25600,25344,24832,24320,23808,23552,23040,22528,22016,21504,20992,20480,19968,19456,18944,18432,17920,17408,16896,16128,15616,15104,14592,13824,13312,12800,12032,11520,11040,10338,9891,9172,8693,7925,7413,6645,6133,5365,4853,4085,3317,2805,2037,1525,757,245,},
{32768,32512,32000,31744,31488,30976,30720,30464,29952,29696,29184,28928,28416,28160,27648,27136,26880,26368,26112,25600,25088,24576,24320,23808,23296,22784,22272,21760,21248,20736,20224,19712,19200,18688,18176,17664,17152,16384,15872,15360,14848,14080,13568,13105,12418,11972,11253,10741,9973,9461,8693,8181,7413,6901,6133,5621,4853,4085,3573,2805,2037,1525,757,245,},
{33024,32768,32512,32000,31744,31488,30976,30720,30208,29952,29696,29184,28672,28416,27904,27648,27136,26624,26368,25856,25344,25088,24576,24064,23552,23040,22528,22016,21504,20992,20480,19968,19456,18944,18432,17920,17408,16640,16128,15616,14880,14450,14036,13301,12789,12021,11509,10741,10229,9461,8949,8181,7669,6901,6133,5621,4853,4341,3573,2805,2293,1525,757,245,},
{33536,33024,32768,32512,32000,31744,31488,30976,30720,30208,29952,29440,29184,28672,28416,27904,27392,27136,26624,26112,25856,25344,24832,24320,23808,23296,23040,22528,22016,21504,20736,20224,19712,19200,18688,18176,17664,16896,16465,16035,15349,14837,14325,13557,13045,12277,11765,10997,10485,9717,8949,8437,7669,7157,6389,5621,5109,4341,3573,2805,2293,1525,757,245,},
{33792,33536,33024,32768,32512,32000,31744,31488,30976,30720,30208,29952,29440,29184,28672,28160,27904,27392,26880,26624,26112,25600,25088,24576,24320,23808,23296,22784,22272,21760,21248,20736,19968,19456,18944,18432,18018,17348,16885,16373,15605,15093,14325,13813,13301,12533,11765,11253,10485,9973,9205,8437,7925,7157,6389,5877,5109,4341,3573,3061,2293,1525,757,245,},
{34048,33792,33536,33024,32768,32512,32000,31744,31488,30976,30720,30208,29952,29440,28928,28672,28160,27904,27392,26880,26368,26112,25600,25088,24576,24064,23552,23040,22528,22016,21504,20992,20480,19712,19298,18900,18421,17653,17141,16629,15861,15349,14581,14069,13301,12789,12021,11509,10741,9973,9461,8693,7925,7413,6645,5877,5109,4341,3829,3061,2293,1525,757,245,},
{34560,34048,33792,33536,33280,32768,32512,32000,31744,31488,30976,30720,30208,29696,29440,28928,28672,28160,27648,27136,26880,26368,25856,25344,24832,24320,23808,23296,22784,22272,21760,21248,20817,20420,19701,19189,18677,18165,17397,16885,16117,15605,14837,14325,13557,13045,12277,11509,10997,10229,9461,8949,8181,7413,6645,5877,5365,4597,3829,3061,2293,1525,757,245,},
{34816,34560,34304,33792,33536,33280,32768,32512,32000,31744,31488,30976,30464,30208,29696,29440,28928,28416,28160,27648,27136,26624,26112,25856,25344,24832,24320,23808,23296,22784,22065,21667,21237,20725,20213,19445,18933,18421,17653,17141,16373,15861,15093,14581,13813,13301,12533,11765,10997,10485,9717,8949,8181,7669,6901,6133,5365,4597,3829,3061,2293,1525,757,245,},
{35328,34816,34560,34304,33792,33536,33280,32768,32512,32000,31744,31232,30976,30464,30208,29696,29440,28928,28416,27904,27648,27136,26624,26112,25600,25088,24576,24064,23552,23154,22773,22261,21493,20981,20469,19957,19189,18677,17909,17397,16629,16117,15349,14837,14069,13301,12789,12021,11253,10485,9973,9205,8437,7669,6901,6133,5365,4597,3829,3061,2293,1525,757,245,},
{35584,35328,35072,34560,34304,34048,33536,33280,32768,32512,32256,31744,31232,30976,30464,30208,29696,29184,28928,28416,27904,27392,26880,26368,26112,25600,25088,24369,24004,23541,23029,22517,22005,21237,20725,20213,19445,18933,18421,17653,17141,16373,15605,15093,14325,13557,13045,12277,11509,10741,9973,9205,8693,7925,7157,6389,5621,4853,4085,3317,2549,1781,1013,245,},
{36096,35584,35328,35072,34816,34304,34048,33536,33280,33024,32512,32256,31744,31232,30976,30464,30208,29696,29184,28672,28416,27904,27392,26880,26368,25856,25458,25077,24565,24053,23541,22773,22261,21749,20981,20469,19957,19189,18677,17909,17397,16629,15861,15349,14581,13813,13301,12533,11765,10997,10229,9461,8693,7925,7157,6389,5621,4853,4085,3317,2549,1781,1013,245,},
{36352,36096,35840,35328,35072,34816,34304,34048,33792,33280,33024,32512,32256,31744,31232,30976,30464,29952,29696,29184,28672,28160,27648,27136,26896,26531,25845,25333,24821,24309,23797,23285,22517,22005,21493,20725,20213,19701,18933,18165,17653,16885,16373,15605,14837,14069,13301,12789,12021,11253,10485,9717,8949,8181,7413,6645,5877,4853,4085,3317,2549,1781,1013,245,},
{36864,36352,36096,35840,35584,35072,34816,34560,34048,33792,33280,33024,32512,32256,31744,31232,30976,30464,29952,29440,29184,28672,28160,27697,27348,26869,26357,25845,25333,24821,24053,23541,23029,22517,21749,21237,20469,19957,19189,18677,17909,17141,16629,15861,15093,14325,13557,13045,12277,11509,10741,9973,9205,8181,7413,6645,5877,5109,4341,3317,2549,1781,1013,245,},
{37120,36864,36608,36352,35840,35584,35328,34816,34560,34048,33792,33280,33024,32512,32256,31744,31232,30976,30464,29952,29440,28928,28753,28405,27893,27381,26869,26357,25589,25077,24565,24053,23285,22773,22261,21493,20981,20213,19701,18933,18165,17653,16885,16117,15349,14581,13813,13301,12533,11509,10741,9973,9205,8437,7669,6901,5877,5109,4341,3573,2549,1781,1013,245,},
{37632,37376,36864,36608,36352,36096,35584,35328,34816,34560,34048,33792,33280,33024,32512,32256,31744,31232,30976,30464,29952,29554,29173,28661,28149,27637,27125,26613,26101,25589,25077,24309,23797,23285,22517,22005,21237,20725,19957,19189,18677,17909,17141,16373,15605,14837,14325,13557,12533,11765,10997,10229,9461,8693,7669,6901,6133,5365,4341,3573,2805,1781,1013,245,},
{38144,37632,37376,37120,36864,36352,36096,35584,35328,35072,34560,34304,33792,33536,33024,32512,32256,31744,31232,30720,30578,30197,29685,29173,28661,28149,27637,27125,26613,25845,25333,24821,24309,23541,23029,22261,21749,20981,20213,19701,18933,18165,17397,16885,16117,15349,14581,13813,12789,12021,11253,10485,9717,8693,7925,7157,6133,5365,4597,3573,2805,1781,1013,245,},
{38400,38144,37888,37376,37120,36864,36608,36096,35840,35328,35072,34560,34304,33792,33536,33024,32512,32256,31744,31362,30965,30709,30197,29685,29173,28661,28149,27381,26869,26357,25845,25077,24565,24053,23285,22773,22005,21493,20725,19957,19189,18677,17909,17141,16373,15605,14837,14069,13301,12277,11509,10741,9973,8949,8181,7157,6389,5621,4597,3829,2805,2037,1013,245,},
{38912,38656,38144,37888,37632,37376,36864,36608,36352,35840,35584,35072,34816,34304,34048,33536,33024,32768,32386,31989,31477,30965,30453,29941,29429,28917,28405,27893,27381,26869,26357,25589,25077,24309,23797,23029,22517,21749,20981,20469,19701,18933,18165,17397,16629,15861,15093,14325,13557,12533,11765,10997,9973,9205,8181,7413,6645,5621,4599,3832,2808,2041,1017,250,},
{39424,38912,38656,38400,38144,37632,37376,37120,36608,36352,35840,35584,35072,34816,34304,34048,33536,33138,33013,32501,31989,31477,30965,30453,29941,29429,28917,28405,27893,27381,26613,26101,25589,24821,24309,23541,22773,22261,21493,20725,19957,19189,18677,17909,16885,16117,15349,14581,13813,12789,12021,11253,10230,9464,8442,7676,6654,5631,4863,3839,3071,2047,1023,255,},
{39680,39424,39168,38912,38400,38144,37888,37376,37120,36864,36352,36096,35584,35328,34816,34560,34162,33781,33269,33013,32501,31989,31477,30965,30453,29941,29429,28917,28405,27637,27125,26613,25845,25333,24565,24053,23285,22517,22005,21237,20469,19701,18933,18165,17397,16629,15605,14837,14069,13303,12282,11517,10495,9727,8703,7679,6911,5853,4795,4010,2969,1928,887,119,},
{40192,39936,39680,39168,38912,38656,38400,37888,37632,37376,36864,36608,36096,35840,35328,34897,34805,34293,33781,33525,33013,32501,31989,31477,30965,30453,29941,29429,28917,28149,27637,27125,26357,25845,25077,24309,23797,23029,22261,21493,20981,20213,19445,18421,17653,16885,16118,15097,14333,13567,12543,11775,10734,9642,8823,7748,6673,5888,4864,3840,2816,1792,768,0,},
{40704,40448,39936,39680,39424,39168,38912,38400,38144,37632,37376,37120,36608,36352,35889,35573,35317,34805,34293,34037,33525,33013,32501,31989,31477,30965,30453,29941,29173,28661,28149,27381,26869,26357,25589,24821,24309,23541,22773,22005,21237,20469,19701,18933,18167,17403,16383,15615,14591,13789,12680,11827,10752,9728,8960,7936,6912,5888,4864,3840,2816,1792,768,0,},
{41216,40704,40448,40192,39936,39680,39168,38912,38656,38144,37888,37376,37120,36624,36564,36085,35829,35317,34805,34549,34037,33525,33013,32501,31989,31477,30965,30453,29685,29173,28661,27893,27381,26613,26101,25333,24565,24053,23285,22517,21749,20981,20215,19451,18431,17663,16895,15769,14916,13824,13056,12032,11008,9984,8960,8192,7168,6144,5120,4096,3072,2048,1024,0,},
{41472,41216,40960,40704,40448,40192,39680,39424,39168,38656,38400,37888,37632,37283,37109,36597,36341,35829,35317,35061,34549,34037,33525,33013,32501,31989,31477,30965,30197,29685,29173,28405,27893,27125,26613,25845,25077,24565,23797,23029,22261,21498,20735,19711,18926,18056,16913,16128,15104,14080,13312,12288,11264,10240,9216,8192,7168,6144,5120,4096,3072,2048,1024,0,},
{41984,41728,41472,41216,40960,40448,40192,39936,39680,39168,38912,38400,38258,38133,37621,37109,36853,36341,35829,35573,35061,34549,34037,33525,33013,32501,31989,31477,30965,30197,29685,29173,28405,27637,27125,26357,25589,25077,24309,23544,22782,22015,20991,20104,19217,18176,17408,16384,15616,14592,13568,12544,11520,10496,9472,8448,7424,6400,5376,4352,3072,2048,1024,0,},
{42496,42240,41984,41728,41472,40960,40704,40448,40192,39680,39424,39217,38901,38645,38133,37621,37365,36853,36597,36085,35573,35061,34549,34037,33525,33013,32501,31989,31477,30709,30197,29685,28917,28405,27637,26869,26357,25589,24827,24063,23295,22186,21282,20480,19456,18688,17664,16896,15872,14848,13824,13056,12032,10752,9728,8704,7680,6656,5376,4352,3328,2048,1024,0,},
{43008,42752,42496,42240,41984,41472,41216,40960,40704,40192,39936,39876,39413,39157,38645,38389,37877,37365,37109,36597,36085,35573,35061,34805,34293,33781,33013,32501,31989,31477,30709,30197,29429,28917,28149,27381,26871,26109,25343,24558,23637,22528,21760,20992,19968,19200,18176,17152,16384,15360,14336,13312,12288,11264,9984,8960,7936,6656,5632,4608,3328,2304,1024,0,},
{43520,43264,43008,42752,42496,41984,41728,41472,41216,40704,40562,40437,39925,39669,39157,38901,38389,38133,37621,37109,36597,36341,35829,35317,34805,34293,33781,33269,32501,31989,31477,30709,30197,29429,28661,28153,27391,26623,25770,24849,24064,23296,22272,21504,20480,19712,18688,17664,16640,15616,14592,13568,12544,11520,10496,9216,8192,6912,5888,4608,3328,2304,1024,0,},
{44032,43776,43520,43264,43008,42752,42240,41984,41728,41521,41205,40949,40437,40181,39925,39413,38901,38645,38133,37621,37365,36853,36341,35829,35317,34805,34293,33781,33269,32501,31989,31477,30709,29941,29434,28671,27903,26999,26112,25344,24576,23808,22784,22016,20992,20224,19200,18176,17152,16128,15104,14080,13056,11776,10752,9472,8448,7168,5888,4864,3584,2304,1024,0,},
{44544,44288,44032,43776,43520,43264,42752,42496,42240,42147,41717,41461,41205,40693,40437,39925,39669,39157,38901,38389,37877,37365,36853,36597,36085,35573,34805,34293,33781,33269,32501,31989,31221,30715,29951,29183,28501,27648,26880,26112,25088,24320,23552,22528,21504,20736,19712,18688,17664,16640,15616,14336,13312,12288,11008,9728,8704,7424,6144,4864,3584,2304,1024,0,},
{45056,44800,44544,44288,44032,43776,43520,43008,42833,42741,42485,41973,41717,41461,40949,40693,40181,39669,39413,38901,38389,38133,37621,37109,36597,36085,35573,35061,34549,33781,33269,32757,31995,31231,30702,29764,28928,28160,27392,26624,25856,24832,24064,23040,22272,21248,20224,19200,18176,17152,15872,14848,13824,12544,11264,10240,8960,7680,6400,5120,3840,2560,1280,0,},
{45568,45312,45056,44800,44544,44288,44032,43776,43460,43253,42997,42741,42229,41973,41461,41205,40693,40437,39925,39669,39157,38645,38133,37621,37365,36853,36341,35573,35061,34549,34037,33275,32767,31965,31027,30464,29696,28928,28160,27136,26368,25600,24576,23808,22784,21760,20736,19712,18688,17664,16384,15360,14080,13056,11776,10496,9216,7936,6656,5376,3840,2560,1280,0,},
{46080,45824,45568,45312,45056,44800,44544,44386,44277,43765,43509,43253,42997,42485,42229,41717,41461,40949,40693,40181,39669,39413,38901,38389,37877,37365,36853,36341,35829,35317,34554,34047,33262,32563,31744,30976,30208,29440,28672,27904,27136,26112,25344,24320,23296,22528,21504,20224,19200,18176,16896,15872,14592,13312,12032,10752,9472,8192,6912,5376,4096,2560,1280,0,},
{46592,46336,46080,45824,45568,45312,45056,45012,44789,44533,44021,43765,43509,43253,42741,42485,41973,41717,41205,40949,40437,39925,39669,39157,38645,38133,37621,37109,36597,35833,35327,34815,33860,33024,32512,31744,30976,30208,29440,28672,27904,26880,26112,25088,24064,23040,22016,20992,19712,18688,17408,16384,15104,13824,12544,11264,9728,8448,7168,5632,4096,2816,1280,0,},
{47104,46848,46592,46336,46080,45824,45666,45557,45301,45045,44789,44533,44021,43765,43509,42997,42741,42229,41973,41461,41205,40693,40181,39669,39413,38901,38389,37621,37111,36607,36095,35157,34560,33792,33280,32512,31744,30976,30208,29440,28416,27648,26624,25856,24832,23808,22784,21504,20480,19200,18176,16896,15616,14336,13056,11520,10240,8704,7424,5888,4352,2816,1280,0,},
{47616,47616,47360,47104,46848,46592,46532,46325,45813,45557,45301,45045,44789,44277,44021,43765,43253,42997,42485,42229,41717,41461,40949,40437,39925,39413,38901,38389,37885,37375,36727,35840,35328,34560,34048,33280,32512,31744,30976,30208,29184,28416,27392,26368,25600,24320,23296,22272,20992,19968,18688,17408,16128,14848,13312,12032,10496,8960,7680,6144,4608,3072,1536,0,},
{48384,48128,47872,47616,47360,47185,47093,46837,46581,46325,46069,45557,45301,45045,44789,44277,44021,43765,43253,42997,42485,41973,41717,41205,40693,40181,39669,39163,38655,38058,37376,36608,36096,35328,34816,34048,33280,32512,31744,30976,29952,29184,28160,27136,26368,25088,24064,23040,21760,20480,19456,17920,16640,15360,13824,12544,11008,9472,7936,6400,4608,3072,1536,0,},
{48896,48640,48384,48128,47872,47779,47605,47349,47093,46837,46581,46325,46069,45813,45301,45045,44789,44277,44021,43509,43253,42741,42485,41973,41461,40949,40440,39935,39406,38673,38144,37376,36864,36352,35584,34816,34048,33280,32512,31744,30976,29952,28928,28160,27136,26112,24832,23808,22528,21248,19968,18688,17408,15872,14336,13056,11264,9728,8192,6656,4864,3328,1536,0,},
{49408,49152,48896,48640,48672,48629,48373,48117,47861,47605,47349,46837,46581,46325,46069,45813,45301,45045,44789,44277,44021,43509,42997,42741,42229,41717,41214,40703,40021,39424,38912,38400,37632,37120,36352,35584,35072,34304,33536,32512,31744,30720,29952,28928,27904,26880,25600,24576,23296,22016,20736,19456,17920,16640,15104,13568,11776,10240,8448,6912,5120,3328,1536,0,},
{49920,49664,49664,49408,49266,49141,48885,48629,48373,48117,47861,47605,47349,47093,46837,46325,46069,45813,45301,45045,44789,44277,43765,43509,42997,42490,41983,41642,40960,40192,39680,39168,38656,37888,37376,36608,35840,35072,34304,33536,32768,31744,30720,29696,28672,27648,26624,25344,24064,22784,21504,20224,18688,17152,15616,14080,12288,10752,8960,7168,5376,3584,1792,0,},
{50432,50432,50176,49920,49876,49653,49653,49397,49141,48885,48629,48373,48117,47605,47349,47093,46837,46581,46069,45813,45301,45045,44533,44277,43767,43263,43007,42274,41728,41216,40704,39936,39424,38912,38144,37376,36864,36096,35328,34560,33536,32768,31744,30720,29696,28672,27392,26368,25088,23808,22272,20992,19456,17920,16384,14592,13056,11264,9472,7424,5632,3840,1792,0,},
{51200,50944,50688,50481,50677,50421,50165,49909,49653,49397,49141,48885,48629,48373,48117,47861,47605,47093,46837,46581,46069,45813,45557,45045,44539,44287,43656,43008,42496,41984,41472,40960,40448,39680,39168,38400,37632,37120,36352,35328,34560,33792,32768,31744,30720,29696,28416,27136,26112,24576,23296,21760,20224,18688,17152,15360,13568,11776,9728,7936,5888,3840,1792,0,},
{51712,51456,51456,51330,51189,50933,50677,50677,50421,50165,49909,49653,49397,49141,48885,48629,48373,47861,47605,47349,47093,46581,46325,45815,45567,45038,44305,44032,43520,43008,42496,41984,41216,40704,40192,39424,38656,37888,37120,36352,35584,34816,33792,32768,31744,30720,29440,28160,26880,25600,24320,22784,21248,19456,17920,16128,14080,12288,10240,8192,6144,4096,2048,0,},
{52224,52224,51968,51908,51957,51701,51445,51189,50933,50677,50677,50421,50165,49909,49653,49397,49141,48629,48373,48117,47861,47349,47093,46587,46335,45704,45312,44800,44288,43776,43264,42752,42240,41728,40960,40448,39680,39168,38400,37376,36608,35840,34816,33792,32768,31744,30464,29440,28160,26624,25344,23808,22016,20480,18688,16896,14848,13056,10752,8704,6656,4352,2048,0,},
{52992,52736,52512,52725,52469,52213,52213,51957,51701,51445,51189,50933,50677,50677,50421,50165,49653,49397,49141,48885,48629,48373,47862,47615,47103,46609,46080,45824,45312,44800,44288,43776,43264,42752,41984,41472,40704,40192,39424,38656,37888,36864,36096,35072,34048,33024,31744,30464,29184,27904,26368,24832,23296,21504,19712,17664,15616,13568,11520,9216,6912,4608,2304,0,},
{53504,53248,53346,53237,53237,52981,52725,52469,52469,52213,51957,51701,51445,51189,50933,50677,50421,50165,49909,49653,49397,49141,48889,48383,48025,47360,47104,46592,46336,45824,45312,44800,44288,43776,43264,42496,41984,41216,40448,39680,38912,38144,37120,36352,35328,34048,33024,31744,30464,28928,27648,26112,24320,22528,20736,18688,16640,14336,12288,9728,7424,4864,2304,0,},
{54016,54016,53923,54005,53749,53493,53493,53237,52981,52981,52725,52469,52213,51957,51701,51445,51445,51189,50677,50421,50165,49909,49661,49407,48708,48384,47872,47616,47104,46848,46336,45824,45312,44800,44288,43776,43008,42496,41728,40960,40192,39424,38400,37376,36608,35328,34304,33024,31744,30464,28928,27136,25600,23808,21760,19712,17664,15360,13056,10496,7936,5376,2560,0,},
{54784,54528,54740,54517,54517,54261,54005,54005,53749,53493,53493,53237,52981,52725,52469,52469,52213,51957,51701,51445,51189,50679,50431,50141,49664,49408,48896,48640,48128,47872,47360,46848,46336,45824,45312,44800,44288,43520,43008,42240,41472,40704,39680,38912,37888,36864,35584,34560,33024,31744,30208,28672,26880,25088,23040,20992,18688,16384,13824,11264,8448,5632,2816,0,},
{55296,55328,55285,55285,55029,55029,54773,54517,54517,54261,54005,54005,53749,53493,53237,53237,52981,52725,52469,52213,51957,51706,51455,51080,50432,50176,49920,49664,49152,48896,48384,47872,47616,47104,46592,46080,45312,44800,44032,43520,42752,41984,41216,40192,39168,38144,37120,35840,34560,33280,31744,30208,28416,26368,24320,22272,19968,17408,14848,12032,8960,6144,3072,0,},
{56064,55889,56053,55797,55797,55541,55541,55285,55029,55029,54773,54773,54517,54261,54005,54005,53749,53493,53237,52981,52725,52477,52223,51763,51456,51200,50944,50432,50176,49920,49408,49152,48640,48128,47616,47104,46592,46080,45568,44800,44032,43264,42496,41728,40704,39680,38656,37376,36352,34816,33280,31744,29952,28160,26112,23808,21248,18688,15872,13056,9728,6656,3328,0,},
{56576,56690,56565,56565,56309,56309,56053,56053,55797,55797,55541,55285,55285,55029,54773,54773,54517,54261,54005,54005,53750,53503,53230,52736,52480,52224,51968,51456,51200,50944,50432,50176,49664,49408,48896,48384,47872,47360,46848,46080,45568,44800,44032,43264,42240,41472,40192,39168,37888,36608,35072,33536,31744,29696,27648,25344,22784,20224,17152,14080,10752,7168,3584,0,},
{57344,57251,57333,57077,57077,56821,56821,56565,56565,56309,56309,56053,56053,55797,55797,55541,55285,55285,55029,54773,54520,54271,54186,53760,53504,53248,52992,52736,52224,51968,51712,51200,50944,50432,50176,49664,49152,48640,48128,47616,46848,46336,45568,44800,44032,43008,41984,40960,39680,38400,37120,35328,33792,31744,29696,27136,24576,21760,18688,15360,11776,7936,3840,0,},
{57856,58052,57845,57845,57845,57589,57589,57333,57333,57077,57077,56821,56821,56565,56565,56309,56309,56053,55797,55797,55546,55295,54903,54528,54528,54272,54016,53760,53504,52992,52736,52480,52224,51712,51456,50944,50432,50176,49664,49152,48384,47872,47104,46336,45568,44800,43776,42752,41728,40448,39168,37376,35840,33792,31744,29440,26624,23808,20480,16896,13056,8704,4352,0,},
{58368,58596,58613,58357,58357,58357,58101,58101,58101,57845,57845,57589,57589,57333,57333,57077,57077,56821,56821,56565,56316,56319,55876,55552,55296,55296,55040,54784,54528,54272,54016,53760,53248,52992,52736,52224,51968,51456,50944,50432,49920,49408,48896,48128,47360,46592,45824,44800,43776,42496,41216,39680,38144,36352,34048,31744,28928,26112,22528,18688,14336,9728,4864,0,},
{59152,59381,59125,59125,59125,58869,58869,58869,58613,58613,58613,58357,58357,58101,58101,58101,57845,57845,57589,57333,57342,57087,56849,56576,56320,56320,56064,55808,55552,55296,55040,54784,54528,54272,54016,53760,53248,52992,52480,52224,51712,51200,50432,49920,49408,48640,47872,46848,45824,44800,43520,42240,40704,38912,36864,34560,31744,28672,25088,20992,16384,11264,5632,0,},
{59697,59893,59893,59893,59637,59637,59637,59637,59381,59381,59381,59125,59125,59125,58869,58869,58613,58613,58357,58357,58367,58077,57600,57600,57344,57344,57088,56832,56832,56576,56320,56064,55808,55552,55296,55040,54784,54528,54016,53760,53248,52736,52224,51712,51200,50432,49920,49152,48128,47104,46080,44800,43264,41728,39680,37376,34816,31744,28160,23808,18688,13056,6656,0,},
{60481,60661,60661,60405,60405,60405,60405,60149,60149,60149,60149,59893,59893,59893,59637,59637,59637,59381,59381,59383,59135,59067,58624,58624,58368,58368,58112,58112,57856,57600,57600,57344,57088,56832,56576,56320,56064,55808,55552,55296,55040,54528,54016,53760,53248,52736,51968,51200,50432,49664,48640,47616,46336,44800,43008,40960,38400,35328,31744,27136,21760,15360,7936,0,},
{61009,61173,61173,61173,61173,61173,60917,60917,60917,60917,60917,60661,60661,60661,60661,60405,60405,60405,60149,60152,60159,59818,59648,59648,59392,59392,59136,59136,58880,58880,58624,58624,58368,58112,58112,57856,57600,57344,57088,56832,56576,56320,56064,55552,55296,54784,54272,53760,52992,52224,51456,50432,49408,48128,46592,44800,42496,39680,36352,31744,26112,18688,9728,0,},
{61794,61941,61941,61941,61685,61685,61685,61685,61685,61685,61685,61429,61429,61429,61429,61429,61173,61173,61173,61176,60927,60825,60672,60672,60416,60416,60416,60160,60160,60160,59904,59904,59648,59648,59392,59392,59136,58880,58880,58624,58368,58112,57856,57600,57344,56832,56576,56064,55552,55040,54528,53760,52736,51712,50432,49152,47104,44800,41728,37376,31744,23808,13056,0,},
{62322,62453,62453,62453,62453,62453,62453,62453,62453,62453,62453,62197,62197,62197,62197,62197,62197,62197,61941,61945,61951,61832,61696,61696,61440,61440,61440,61440,61184,61184,61184,61184,60928,60928,60928,60672,60672,60416,60416,60160,60160,59904,59648,59648,59392,59136,58880,58624,58112,57856,57344,56832,56320,55552,54784,53760,52224,50432,48128,44800,39680,31744,18688,0,},
{63090,63221,63221,63221,63221,63221,63221,63221,63221,63221,63221,62965,62965,62965,62965,62965,62965,62965,62965,62969,62975,62839,62720,62720,62464,62464,62464,62464,62464,62464,62464,62464,62208,62208,62208,62208,62208,61952,61952,61952,61952,61696,61696,61696,61440,61440,61184,61184,60928,60672,60416,60160,59904,59648,59136,58624,57856,56832,55552,53760,50432,44800,31744,0,},
{63858,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63989,63994,63999,63863,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,63744,0,},
};

View File

@ -2,8 +2,8 @@
import math
import sys
outer = 83
inner = 55
outer = 64
inner = 42
with open('loader.h', 'wt') as f:
f.write('static const int img_loader_size = %d;\n' % outer)