2.5 filebrowser
authorAndrea Weikert <elubie@gmx.net>
Sat, 14 Mar 2009 13:12:11 +0000 (13:12 +0000)
committerAndrea Weikert <elubie@gmx.net>
Sat, 14 Mar 2009 13:12:11 +0000 (13:12 +0000)
* added filter buttons to header
* changed large icon for movie files to match small icon
* fixed small stack corruption in interface_draw.c (Matt, check if this is ok)
* moved nice display of file size to storage.c, where string is created.

projectfiles_vc9/blender/editors/ED_editors.vcproj
release/datafiles/prvicons
source/blender/blenlib/intern/storage.c
source/blender/editors/datafiles/prvicons.c
source/blender/editors/interface/interface_draw.c
source/blender/editors/space_file/file_draw.c
source/blender/editors/space_file/file_header.c
source/blender/editors/space_file/filelist.c

index e05ec40d37633631bdfcdd63624ab0662e86b334..50fc9925d05ca2b73f1a4028e8ca8da8227c660e 100644 (file)
                                RelativePath="..\..\..\source\blender\editors\interface\interface_intern.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\editors\interface\interface_layout.c"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\..\source\blender\editors\interface\interface_panel.c"\r
                                >\r
                                RelativePath="..\..\..\source\blender\editors\space_buttons\buttons_intern.h"\r
                                >\r
                        </File>\r
+                       <File\r
+                               RelativePath="..\..\..\source\blender\editors\space_buttons\buttons_object.c"\r
+                               >\r
+                       </File>\r
                        <File\r
                                RelativePath="..\..\..\source\blender\editors\space_buttons\buttons_scene.c"\r
                                >\r
index aa738174da59881b0681ceb78cc491c72dcb54a7..5863afefbdcbe928a539debbe7e608e58aaf249b 100644 (file)
Binary files a/release/datafiles/prvicons and b/release/datafiles/prvicons differ
index e01d2dbc3fb6ac8a8e3424acb1f9a7813a7e5b35..d3570808d6df378e7983191f332e0929a64ef583 100644 (file)
@@ -401,24 +401,19 @@ void BLI_adddirstrings()
                 * everyone starts using __USE_FILE_OFFSET64 or equivalent.
                 */
                st_size= (off_t)files[num].s.st_size;
-               
-               num1= st_size % 1000;
-               num2= st_size/1000;
-               num2= num2 % 1000;
-               num3= st_size/(1000*1000);
-               num3= num3 % 1000;
-               num4= st_size/(1000*1000*1000);
-               num4= num4 % 1000;
-               num5= st_size/(1000000000000LL);
-               num5= num5 % 1000;
-
-               if(num5)
-                       sprintf(files[num].size, "%1d %03d %03d %03d K", (int)num5, (int)num4, (int)num3, (int)num2);
-               else if(num4) sprintf(files[num].size, "%3d %03d %03d %03d", (int)num4, (int)num3, (int)num2, (int)num1);
-               else if(num3) sprintf(files[num].size, "%7d %03d %03d", (int)num3, (int)num2, (int)num1);
-               else if(num2) sprintf(files[num].size, "%11d %03d", (int)num2, (int)num1);
-               else if(num1) sprintf(files[num].size, "%15d", (int)num1);
-               else sprintf(files[num].size, "0");
+
+               if (st_size > 1024*1024*1024) {
+                       sprintf(files[num].size, "%.2f GB", st_size/(1024*1024*1024));  
+               }
+               else if (st_size > 1024*1024) {
+                       sprintf(files[num].size, "%.1f MB", st_size/(1024*1024));
+               }
+               else if (st_size > 1024) {
+                       sprintf(files[num].size, "%d KB", (int)(st_size/1024));
+               }
+               else {
+                       sprintf(files[num].size, "%d B", (int)st_size);
+               }
 
                strftime(datum, 32, "%d-%b-%y %H:%M", tm);
 
index b8b3b0eea7ab2bde82086da4c9861b0778689091..2a470e056cfeff0ed64961449d553b170ad664c6 100644 (file)
 /* DataToC output of file <prvicons> */
 
-int datatoc_prvicons_size= 10111;
+int datatoc_prvicons_size= 9534;
 char datatoc_prvicons[]= {
-137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0,192,  0,  0,  0,192,  8,  6,  0,  0,  0, 82,220,
-108,  7,  0,  0,  0,  1,115, 82, 71, 66,  0,174,206, 28,233,  0,  0,  0,  6, 98, 75, 71, 68,  0,255,  0,255,  0,255,160,189,167,
-147,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156, 24,  0,  0,  0,  7,116, 73, 77, 69,  7,217,
-  3, 11, 22, 20, 52,126,245,230,180,  0,  0,  0, 29,116, 69, 88,116, 67,111,109,109,101,110,116,  0, 67,114,101, 97,116,101,100,
- 32,119,105,116,104, 32, 84,104,101, 32, 71, 73, 77, 80,239,100, 37,110,  0,  0, 32,  0, 73, 68, 65, 84,120,218,237,157,123,124,
- 84,213,185,247,127,251, 50,123,207,100,102, 50,153, 36,144, 64,144, 75,129,  4, 67,  8, 32, 66, 33,132,112,  9,245,  0, 61, 96,
-241, 28,181,111, 69,251,126,236,123,168,120,170,109,189, 32,136, 98,244,181,165, 92,173,130,104, 43, 34, 69,240,214,234, 71,241,
- 61, 94,192,106,197,218, 24,136,128,  6, 73, 32,144,132,132,225,154,235, 36,153,100, 46,123,207,251,  7,236,221,153,201,158,201,
- 92,246,158, 73,154,245,251,124,230,147,100, 38, 51,243,236,189,191,207, 90,207,243,172,181,215,  2,136,136,136,136,136,136,136,
-136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
-136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
-136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
-136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
-136,136,136,136,136,136,136,136,136,136,136,136,136,136,174,138, 26, 72,  7, 59,117,234,212, 76, 81, 20, 15,  0,200,211,234, 59,
- 56,142,187, 84, 90, 90,154,169,197,103,143, 25, 51,134,183, 90,173,211,  5, 65, 48,107,101,191, 78,167,115,150,149,149, 29, 24,
- 40, 76,176,  3,  5,160,107,182,127,182,101,203, 22,174,168,168,  8,229,229,229,200,202,202,130, 94,175,  7,195, 48,160, 40, 10,
- 52, 77,255,179,101,160,168,144,191,251, 62, 39,253,237,112, 56, 48,127,254,252, 12,173,224, 79, 73, 73,153,177,105,211, 38,186,
-168,168,  8, 71,142, 28, 65, 86, 86, 22, 56,142,  3,203, 94,189,140, 12,195,  4,125,127,168,215, 36,185, 92, 46,204,153, 51,135,
- 31, 72,141, 34, 27, 41, 64,155, 55,111,230,102,207,158, 45,  3,196,243, 60, 24,134,  1, 77,211, 61,224,232, 13,156,192,223,181,
-  2, 72,178,125,211,166, 77,124, 81, 81,209, 40,  0, 40, 47, 47, 71,119,119, 55,146,147,147,193,178,172,124, 12,210,113,  4,123,
-132,122,189,182,182, 22, 90,194,191,126,253,122,186,168,168, 40,  9,  0, 14, 29, 58,132,188,188, 60,164,164,164,200,246,251, 66,
- 46, 57, 69, 32,252,193,158,103, 24, 70, 51,251,251,189,  3,248,  2, 52,123,246,236, 81,  0, 80, 86, 86,134,188,188, 60, 88, 44,
-150,160,  0,  5,194,210,219,107, 53, 53, 53, 90,133, 61,159,109,220,184,145,159, 51,103,206, 40,233,121,154,166, 33,138,162,159,
-  3,134,130, 59, 92,199,208, 18,254,121,243,230, 37,133,211,162, 71,  3,255, 64, 21, 27, 45, 64, 12,195,192,235,245,  6,  5, 40,
- 82,248,165,223,181,128,127,195,134, 13,250,185,115,231,142, 12, 22, 18,196,  2,191, 86,182,135,130, 63, 16,102,223,227,137, 22,
-254,192,207, 35, 14, 16,  3, 64,209,194,175, 38, 68,190,182,207,155, 55,111,164, 82, 76, 28, 41,224,225,188, 22, 15,248,195,129,
-152,192, 31,163,  3,132, 11,144, 20, 78, 68, 10,127,176,255,139,  7,252,210, 69,151,146, 94,181,224, 87,203,254,222,224,151,206,
-127,176,208, 37, 90,248,  7, 98, 40,196, 70, 11,144, 78,167,139,186,165,215, 50,  4,242, 13,217,  2,123, 45, 95,241,124,207, 98,
- 71,164,241,190, 22, 14, 16, 14,252,193,236, 39, 45,191, 10, 14, 16, 46, 64, 28,199, 41,194, 19, 11,252,190,101,200, 88,171, 61,
-190,249, 10,  0, 56,157, 78,212,213,213,161,190,190, 30,205,205,205,126,229,207, 88, 91,125,181,236, 15,  5,191,211,233, 68,109,
-109, 45,234,235,235,209,210,210,130,164,164,164, 30,176,199,  2,255, 64, 77,132,217, 72,  0,146, 46, 64,115,115, 51, 12,  6,131,
- 95,253, 60,209,240,  3,128, 40,138,  7,174,213,249, 71,137,162,  8,155,205,134,202,202, 74,156, 60,121, 18,141,141,141, 72, 78,
- 78, 70,106,106, 42, 44, 22, 11,204,102,115, 15,  7,136, 53, 23,136, 85, 86,171,117,250,181, 58,127,146, 32,  8,176,217,108,168,
-170,170, 66,117,117, 53, 26, 27, 27, 97, 54,155, 97,181, 90,145,146,146,  2,179,217, 12,150,101,123,128, 31, 11,252,  3, 62,  4,
- 18, 69,241,192,181, 58,191, 12,208,137, 19, 39,100,128,204,102, 51, 82, 83, 83,145,146,146,  2,163,209,232, 87,255,143, 21,126,
-149, 66,136,188,220,220, 92,108,223,190, 29,213,213,213, 96, 24,  6, 25, 25, 25, 72, 75, 75,195,208,161, 67,229, 65, 35,142,227,
-160,215,235,101,128,122,171,255, 71,242, 90, 44, 18,  4,193,156,155,155,139,231,159,127, 30, 53, 53, 53, 96, 24,  6,131,  6, 13,
- 66,122,122, 58,242,243,243,193,178, 44,120,158,  7,199,113,242,248, 75,176, 86,159,192, 31, 93,  8,148, 55,126,252,120,108,219,
-182, 13,213,213,213, 96, 89, 22, 25, 25, 25, 72, 77, 77,197,132,  9, 19,100,128,120,158,135, 94,175,135, 78,167,  3,203,178,170,
-193,175, 70, 43,218,222,222, 14,147,201,132,162,162, 34,164,164,164,200, 73,186,111,178,174,211,233,122, 64, 20, 12,242,120, 87,
-129,236,118, 59,204,102, 51, 10, 11, 11, 97,181, 90,123,192, 45,217,203,243,188,108,191, 82, 47, 64,224,143, 50,  7,176,219,237,
- 48, 26,141, 50, 64,129,149, 30,154,166,101, 39,224,121, 94,254, 59,210,106, 79,176,215, 98,149,209,104, 68,126,126, 62,  4, 65,
-144,115, 19,223,159, 52, 77,131, 97, 24,232,116, 58,249,167, 82, 15, 16,109, 34, 28,171,146,147,147, 49,113,226, 68,217,254, 96,
-149,159, 64,248, 73,216,163,146,  3, 72,  0,  5,142,146,250,  2,196,178,172, 12, 14,199,113,126,  0,197, 26, 18,197,124, 64,215,
- 66, 28,175,215,171,  8,191,244,125,190, 45,191, 90,185,128, 26,246, 75,173,187,199,227,233, 21, 90, 53,225,151,194,193,  1,239,
-  0, 82,235, 46,138, 98,143, 11, 43,129,254,208,158, 43,248,240,208, 69,  8,162, 55,170, 47,237,120,119,145,102,101, 80,223, 11,
- 41, 57,129,239, 35,112,  0, 44,146,150, 63, 30,137,176,210,188,158, 80,213, 29, 37,248,195,201, 11, 66,253,207,128,119,  0,223,
- 11, 16,120,145,105,154,198,155,171,111, 64, 83, 39,240,211, 13,135,241,217,177,203,242,123, 91,223,253, 17, 44, 70,157,223,231,
- 93,106,233,198,183, 53,109,120,122,111, 37, 14, 86, 92,  9, 89, 50, 85, 67,190,161,148,218, 37,206,222,202,159,106, 29, 67, 56,
- 85,157,104,192, 38,240,247, 20, 29, 12, 32,169,117,145, 30, 82,194,203, 48, 12,154,154,154,192,122,218,240,228,157, 57,126,239,
-109,110,106, 66, 99, 99, 35,154,154,154,208,220,220,140,150,150, 22, 24, 24, 23,102, 94,111,198, 39, 27, 10,177,112, 90,102,200,
-  1, 39, 53,114,  0, 53, 71,117, 35,129, 95,171,201,112,241,130,127,160,230,  2, 65, 29,160,183,216, 93, 20, 69,100,165,  4, 94,
- 44,101,160,  5, 65,128,203,233,196,227,119, 92, 31,242, 59,212,146, 90,240,135, 91, 30,213,106, 66, 28,129, 63,  1, 33, 80,176,
-164, 81,201, 17,140,172,255,  5,103, 20,128,240,253,251,134,209,102,204,155, 52, 88, 83,248, 67,217,175,166, 99,104, 53, 15, 40,
- 48,174,143,  5,254,112,243,  8, 82,  5,138, 48,132,  8,214,221,211,116,239,243,124, 14,172,159,  5, 65, 16, 52,133,191,183,135,
- 22,142,161,149,  8,252,  9,232,  1,  2,147,200,112,  7,174, 24,166,247,208, 73, 75,248,131,217,175,117, 46, 64,224,255, 23,203,
-  1,162, 29,184,162, 21,222,119,231,134, 35,138,224,104,  5,191, 22, 33, 79,188,225,247,173,194, 17,248,251, 72, 14, 16,206,192,
- 21,195,248,191,214,229, 18,241, 81,249,229,184,193, 31,104,191,150,241,190,150, 45,191, 26,201, 44,129, 95,197, 28, 32,220,249,
-251,204,181,170,137, 91,240,194,214,216,133,141,127, 57,  3,135, 83,136, 59,252,190, 14,160, 85, 34, 28, 79,240,  9,252,  9,204,
-  1, 34,153,194,156,124,203, 71, 33,161,212, 26,254, 72,170, 64,137,188,233, 37,156,184,159,192,159,224, 30, 32,156, 50,104, 32,
- 12,222,  3,183,  2,  0, 92, 30, 17, 13,151, 29,248,237,235, 85,216,249, 81,109, 92,225, 15,167, 18,148,200,185, 62,209, 58,  4,
-129, 63, 78, 73,112,184, 45,191, 18, 16, 93, 93, 93,112, 58,157,128,232,193,136,193,122, 60,123,239, 68, 36,241, 12,129,159,192,
-223,255, 28, 32,154,249,251,129,142,145,196, 51,248,225,247,135,196,253,160,  8,252,  4,254,132,148, 65,149,222,247,214,227, 51,
- 18, 14,127, 44,119,124, 17,248,  7,104, 25, 52,154,249,251, 74,175,249, 46,158,149,  8, 39,136,  5,252, 68,192, 31,  9,216,228,
-  6,119,141,146,224,104,111, 97,212,114,137,192,104, 28,128,192, 79, 20,115, 14, 16,209, 72, 48,129, 95,221,214,137,192,159,216,
- 28,160, 55,248,237, 14,143,223,123,  3,255, 78,216, 65,245, 99,248, 37,168,  9,252,  9,238,  1,194,137,255, 79,217, 58,253,222,
-119,226,172, 61,225,  7, 20,237,220,126,210,242, 19,  7, 80,108, 65,131,193, 95,123,209,129,199,118,157,240,123,223,170,151, 43,
- 80, 89,223,247,156, 32, 28,240,251, 10,252,193,192, 38,240,199, 49,  9,238, 13,254,217, 15,125,129,175, 42,155,123,124,216, 23,
- 21,141, 24,255,127,246, 35,255,123, 22,236,255, 93, 17,  6,167,240,  9,119,  0,  2, 63, 81, 68, 14, 16, 78, 37,168,244,185,226,
- 94, 63, 56, 17,229, 79,  2, 63,145, 42, 61, 64,111, 75,133, 72, 75,166,244,217,184, 46, 12,240,227, 57, 61, 35, 86, 71, 32,240,
- 39, 32,  9,142,199, 58,254,241, 76,130,  9,252, 68, 97, 57, 64,127,134, 63, 28, 39, 32,240, 19,197,148,  3,244,117,185, 92, 46,
-156, 62,125, 90, 49,206,215, 26,126,157, 78, 23,243,103,120, 60, 30, 84, 87, 87, 43, 58,128,214, 10,220,243, 97, 64, 58,128,219,
-237,198,153, 51,103, 18,146, 44,198, 10, 16,207,243,151,102,205,154,149,145,200, 19,202,243,252,165,104,223,107, 48, 24,156,  5,
-  5,  5,  9,221,167,215, 96, 48, 56,  7,146,  3,248, 81, 93, 80, 80,112,209,233,116, 38, 28,160,127,252,227, 31,153, 32, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 82, 69, 17, 21,247,175,237, 35,124,  0, 64,158, 86,  6,113,
- 28,119,169,180,180, 84,147, 50, 40,177,159,216, 31, 40, 54, 66,227, 63,187,182,143, 48,202,203,203, 49,108,216, 48,240, 60, 47,
-111,149, 26, 56, 96, 22,233,239, 93, 93, 93, 40, 46, 46,206,208,240,228,127,182,113,227, 70,110,238,220,185, 40, 43, 43,195,176,
- 97,195,228,173, 95,  3,151, 84, 12,199,230,192,193,193,214,214, 86, 44, 89,178, 68, 83,251,165,243,127,248,240, 97,100,101,101,
-245, 56,255,225,218,170,244,124,123,123, 59, 22, 46, 92,168,169,253,215, 54, 50,239, 51,252,176,145, 24,191,105,211, 38,126,246,
-236,217,163,  0,160,188,188, 28, 78,167, 19, 22,139, 69,222, 58, 41,212,141, 52,225, 76, 83,174,169,169,129,150, 39,127,253,250,
-245,252,220,185,115, 71,  1,192,151, 95,126,137,220,220, 92, 36, 39, 39,251,217, 31,108, 37,235,112,158,171,171,171,131,198,206,
- 43,159,255,178,178, 50,140, 31, 63,190,135,253,177, 44,255, 88, 91, 91,171,169,253,155, 54,109,226,139,138,138,250, 20, 63,108,
- 36,198,207,153, 51,103,148,252, 70,150,245,155,243, 31,142,129,241,216,101, 49, 20,252,197,197,197,178,253, 12,195,200,246, 71,
- 10,122,168,231,226,225,188,146,253,210, 86,182,106,173,125,170, 53,252,125,145, 31, 54,204,150, 71, 63,103,206,156,145,190,175,
- 73, 19,203,  2,183, 34,141,117,199,117,141,224,209, 23, 23, 23,251,217, 47,117,187,210,201, 87,  3,254,120,218, 31,120,193, 35,
-185,  9, 40, 94, 11,255,246,  7,126,232,112,140,159, 59,119,238,200, 30,158, 19,  0,144, 26,198,171,121,  1, 66,193,227,123,  1,
- 98,133, 95, 43,128,122,179, 95,218,239, 88, 77,248,181,176,191,175,243,195, 70, 99,188,239,  1,168,105,188, 90, 23,160, 55,120,
-128,171, 51, 79,149, 54,210,136,228, 86, 74,173, 28, 56, 28,251,195,233,193,162,  9,139,226,  1, 63,  0,236,219,183, 15, 22,139,
-  5,122,189, 30, 44,203,250,245,104,129,215, 69, 41,105,151,236,125,228,145, 71,212,117,128,128,152,109,100,176, 55, 74, 83,151,
-149,186,225, 88,156, 66,229,152, 63,168,253,190,  0,  5,230,  2,225,218,172,133,  3,135,107,191,239,212,241, 96,142, 28, 77,207,
-160,114,204, 31,212,254,219,111,191, 29, 89, 89, 89,176, 88, 44,224, 56, 14, 58,157, 78,238,213,226,201, 15, 27, 78,194,  2,  0,
- 78,167, 19,117,117,117,168,175,175, 71, 75, 75,139,236,185,145,158,116, 45,187,224, 96,  9, 47,  0,116,119,119,163,182,182, 22,
-181,181,181,104,108,108,132, 94,175,239,113,194,213,  8,135,212,170,246,248, 38,188,210,249,175,173,173,197,217,179,103,209,216,
-216,  8,131,193,160, 88,249,137,  5,126,181,236, 87,226,167,163,163,  3,199,142, 29,195,145, 35, 71,112,252,248,113,116,118,118,
-194,104, 52,250,109,192, 30,110,203,239,123,131,211,170, 85,171,212,115,  0, 81, 20, 15, 92,171,211,142, 18, 69, 17, 54,155, 13,
- 85, 85, 85, 56,121,242, 36,154,154,154, 96, 50,153,144,150,150,  6,139,197,130,228,228,100,217,232,112,203,111, 90, 87,129, 68,
- 81, 60,112,173,206, 63, 74, 20, 69, 52, 52, 52,224,196,137, 19,168,170,170,194,229,203,151, 97, 52, 26,145,154,154, 10,139,197,
-  2,147,201,212, 99,163,235, 68, 87,129, 68, 81, 60,112,173,206, 63, 74, 20, 69,156, 59,119, 14,149,149,149,168,170,170, 66, 99,
- 99, 35, 76, 38, 19,172, 86, 43,172, 86, 43,140, 70,163,162,  3, 39, 10,254, 72,248, 89,184,112, 33,172, 86, 43,204,102, 51,146,
-146,146,228,177,128, 96, 60,197,179, 10,148,151,155,155,139,237,219,183,227,244,233,211, 96, 24,  6,131,  7, 15, 70,122,122, 58,
-134, 14, 29, 42, 15, 26,241, 60, 47,247,  0,190,189,128, 26, 27,209,197,168,188,241,227,199,227,185,231,158,195,169, 83,167, 64,
-211, 52,  6, 13, 26,132,212,212, 84,228,230,230,130,227, 56, 48, 12, 35,219, 47, 29,143,111, 85, 37,193, 85,160,188,220,220, 92,
-108,219,182, 13,213,213,213,160,105, 90, 62,255,121,121,121,114,107,201,243, 60, 12,  6,131,252,119, 31,218,245, 50, 40, 63, 95,
-126,249, 37, 40,138,146, 55,  2,103, 89, 86, 14,123,124,115,128,112, 90,126,223, 30, 96,245,234,213, 49,157,255, 30, 57, 64, 71,
- 71,  7,204,102, 51,102,207,158,141,148,148, 20,191, 56, 83, 26, 40,210,233,116,208,233,116,224,121, 30, 52, 77,203,219,122,170,
- 17, 14,197, 42,187,221, 14,142,227, 80, 80, 80,  0,139,197,210, 35, 63,145, 78,184, 20,119, 74, 23, 35,156, 94, 44,156,231, 98,
- 85,123,123, 59,146,146,146, 80, 88, 88,  8,139,197,210,  3,  0, 95,251, 37,135,142,100, 16, 73,235, 28, 44, 24, 63, 43, 86,172,
-232,193,143, 94,175,151,127, 87,186,  6,241,224,167,135,  3, 24,141, 70, 76,156, 56, 17,130, 32,200, 53, 90,223,210,161,  4,188,
- 78,167,147, 15, 38, 84, 44, 26,233,243,177,202, 96, 48, 32, 47, 47, 15,162, 40,246, 24,104,145,236,151,236,246,133,191, 55,128,
-226,149,  4, 39, 37, 37, 97,194,132,  9, 65,237,151,156, 32,176,245, 12, 21,198,197,179, 12, 26,140,159, 63,254,241,143, 61, 42,
- 56,129,163,239,225,182,252,190,246,174, 89,179, 70, 93,  7,144,186, 38,223, 42,137,210,206,241,190, 45,191, 82,235, 47,  8,  2,
-108, 54, 27, 26, 26, 26,112,241,226, 69, 52, 54, 54,162,165,165,  5,157,157,157,216,188,121,179,102, 23, 64,167,211,129,227, 56,
-191,197,187,148, 22,199,237,234,234,146,225,241,181, 63,145, 73,176,116,254,131,217, 31,248,221,190, 13,207,244,233,211,113,233,
-210,213,251,241, 51, 51, 51,113,248,240,225,168,166, 70,168, 97,191, 18, 63,191,250,213,175, 34,226, 39, 33, 85, 32,105,128, 69,
-138,139,189, 94,111,200,147,200, 48, 12,236,118, 59,234,235,235,113,225,194,  5, 92,185,114,  5, 45, 45, 45,176,219,237,112, 56,
- 28,176,219,237,104,107,107, 67,107,107, 43,218,218,218,228,223,183,108,217,162,217, 32,140,212,170,123,189, 94,185,  5, 82,130,
-199,229,114, 65, 20, 69, 36, 37, 37,193,104, 52,246,153,169, 16,225,218,239, 11, 82,107,107, 43, 70,142, 28,137,170,170, 42,  0,
-192,194,133, 11, 97,183,219,145,154,154, 26,247, 49,128, 96,252,108,221,186,181,199,181, 86,106,221, 87,174, 92, 25,215,189,155,
- 89,165, 17, 82,233,100,132, 99,200,111,126,243,155, 30,128,183,181,181,161,189,189, 29,162, 40, 34, 57, 57, 25, 99,199,142,197,
-148, 41, 83,144,157,157,141, 39,159,124, 82,211,139, 32,125,142, 18, 60,190,223,195, 48, 12, 62,248,224,  3, 12, 31, 62, 28,147,
- 38, 77,130,213,106, 13,171, 14,173,117,  8, 17,202,126, 81, 20,241,192,  3, 15,224,252,249,243,120,234,169,167,144,151,151,  7,
-154,166,209,214,214,134, 25, 51,102,160,161,161, 65,238, 13, 90, 91, 91,145,150,150,  6,138,162,240,221,119,223, 97,229,202,149,
- 24, 62,124, 56, 94,124,241, 69,121, 16, 80,139, 74, 80, 48,126, 30,120,224,  1, 77,  6, 78, 99,229, 39,228, 30, 97,225, 24,178,
-103,207, 30,208, 52,141,235,174,187, 14, 99,199,142,197,204,153, 51, 49,118,236, 88,100,103,103, 35, 59, 59, 27,153,153,153,126,
-239,  9,230,  0,106,181, 64,161,246, 57, 14,180,253,194,133, 11, 56,113,226,  4, 42, 42, 42,176,100,201, 18,100,101,101,133,236,
- 13,226, 81, 74, 12, 53,186,251,224,131, 15, 98,202,148, 41,120,234,169,167,176,122,245,106,100,102,102, 98,217,178,101,120,227,
-141, 55, 48,125,250,116,116,116,116,128,166,105,228,230,230,226,149, 87, 94,193,178,101,203,176,119,239, 94,  8,130,128,221,187,
-119,227,157,119,222,193,138, 21, 43,240,242,203, 47,107, 58,146, 77, 81, 20, 42, 42, 42,192,178, 44, 38, 76,152,160,234,100, 55,
-181, 27,207, 94,119,138, 15, 39,233,107,104,104,128, 94,175, 15, 27, 16,173,151, 43, 12,247, 36,186,221,110,100,102,102,226,202,
-149, 43,248,195, 31,254,128,226,226, 98,185,122, 20,237, 32,153,150,246, 75, 45,191, 40,138,216,177, 99,  7,254,246,183,191, 97,
-237,218,181, 88,190,124, 57, 22, 45, 90,132,163, 71,143,130,166,105,220,124,243,205, 72, 78, 78,198,171,175,190,138, 21, 43, 86,
- 32, 61, 61, 29,157,157,157, 88,178,100,  9,246,237,219,167,249, 84, 20,154,166,193,243, 60,198,141, 27,  7,150,101, 33,  8,130,
-106,101,114,181, 27,207,144, 59,197,135,155,244,  5,131, 63,216,  9,214,122,173,206,112,237,119,187,221, 24, 50,100,  8,218,218,
-218, 64, 81, 20, 62,248,224,  3,124,251,237,183,248,233, 79,127,138,204,204, 76,240, 60, 31,247, 42, 80,168,  6,232,233,167,159,
-198,170, 85,171,240,242,203, 47,227,203, 47,191, 68,126,126, 62,222,123,239, 61,156, 63,127, 30,135, 15, 31, 70,119,119, 55,244,
-122, 61, 78,156, 56,129,241,227,199, 99,218,180,105,184,116,233, 18, 42, 43, 43,145,147,147,131,199, 31,127, 92, 46, 64,104,149,
-196, 75,159,147,155,155,235,  7,255,179,207, 62,235, 87, 21,138,116,212, 55,216,107, 79, 60,241, 68,108, 57, 87, 56, 14,208, 91,
-226, 17,105,153, 83,203,249,243,189,217,229,251,186,219,237, 70, 71, 71,  7,254,252,231, 63, 99,226,196,137,200,201,201, 65, 93,
- 93, 29, 74, 74, 74,240,179,159,253, 12, 55,222,120,163, 60,229, 32, 94, 85,160, 80,246,231,230,230, 98,216,176, 97,248,244,211,
- 79, 49,121,242,100, 84, 84, 84,200, 35,221,251,247,239,151,  7,159,166, 76,153,130,101,203,150, 33, 39, 39,  7,157,157,157, 72,
- 75, 75, 67, 67, 67,  3, 76, 38, 19, 38, 78,156,168,233, 56,128,239,231,248,182,252,129, 57, 64,172, 83,102, 84, 43, 58, 68, 26,
-135, 42,181,222,145,102,234, 90, 47,180, 27,142,  3,211, 52, 13,183,219,141,238,238,110, 24,141, 70,216,108, 54,116,117,117, 97,
-236,216,177,  0,128,237,219,183, 99,242,228,201,248,249,207,127, 46, 79,216,138, 71, 21,168,183, 80,241,199, 63,254, 49, 74, 74,
- 74,240,238,187,239,226,196,137, 19,120,247,221,119,113,240,224, 65, 60,246,216, 99,152, 49,227,234,166,228,135, 14, 29,194,195,
- 15, 63,140, 95,255,250,215, 88,188,120, 49, 56,142,195,154, 53,107,112,223,125,247,197,101, 58,180, 18, 63,207, 60,243, 76,143,
- 30, 32,150,150, 95,250,125,237,218,181,218, 57, 64, 56,222, 25,110,168, 20,236,158, 85,173,123,128, 96,176,178, 44, 11,183,219,
- 13,183,219, 13,147,201, 36,183,244, 23, 46, 92, 64,122,122, 58, 50, 50, 50,112,252,248,113,220,125,247,221, 88,183,110, 29,114,
-114,114,228,145,111,173,111,136,  9, 60,175, 94,175, 23,118,187, 29, 45, 45, 45,216,187,119, 47,150, 47, 95,142, 11, 23, 46,160,
-170,170, 10,  7, 15, 30,196,231,159,127,142,148,148, 20,249,255, 71,140, 24,129,  5, 11, 22,160,176,176, 16, 69, 69, 69,200,200,
-200,192,252,249,243,241,234,171,175, 98,249,242,229, 72, 79, 79,135,213,106,213,236, 94, 12, 37,126, 30,124,240, 65,213,226,125,
- 53,109,101, 99,169,  0, 69,122, 67, 70,188,214,230, 15,167, 10,196,178, 44, 60, 30, 15, 68, 81,132,209,104,132,193, 96, 64, 82,
- 82, 18, 12,  6,131, 12,221,144, 33, 67, 64, 81, 20, 86,174, 92,137,226,226, 98,172, 90,181, 10, 28,199,193,227,241,  4,117, 48,
- 45, 28,160,160,160,  0, 35, 71,142,196,244,233,211, 81, 88, 88,136, 69,139, 22,225,240,225,195, 56,112,224,  0, 30,123,236, 49,
- 63,248,165,135,197, 98,193,218,181,107,177,119,239, 94,172, 89,179,  6,197,197,197,184,120,241, 34,158,121,230, 25, 28, 61,122,
- 20,141,141,141,168,173,173,213, 44,  4, 10,124,108,217,178,197,239,238,175, 88, 90,126,223,239,210,164,  7,136,180, 10,148,  8,
-207,141,181, 10,196, 48, 12,220,110, 55,  4, 65,144,123,  0,223,135,228, 12,  6,131,  1,243,231,207,199,135, 31,126,136,234,234,
-106,188,245,214, 91,114,248,164, 69, 18,172, 20, 42, 94,188,120, 17, 85, 85, 85, 56,119,238, 28, 58, 58, 58,240,205, 55,223,192,
-237,118,163,186,186, 26, 51,102,204,  8,122,188,  5,  5,  5,120,254,249,231,177, 97,195,  6,216,108, 54,220,114,203, 45,224,121,
- 30, 70,163, 17,131,  7, 15,214, 44,  4, 82,226,231,161,135, 30,234, 83, 45,191,170, 85,160,190,  6,191,210,  5,  8,180, 81, 10,
-129,188, 94,175, 95, 15,160,215,235,253,224,247,120, 60,248,248,227,143,241,131, 31,252,  0, 79, 63,253, 52, 60, 30, 15, 60, 30,
-143,102, 73,176,146,  3, 43,205,103,146, 66,182,222,122,109,223, 41,198,129, 61,176, 22, 61,115, 48,126, 54,111,222,172,216,195,
- 69,211,242,107,222,  3, 68, 50,112,209,219,  5,136,247,206, 50,225,134,102, 82, 15, 32, 77,224,242,133, 94,122,212,212,212,160,
-170,170, 10,111,190,249, 38,198,141, 27,  7,167,211,  9, 81, 20, 53,135, 63,240,188,102,102,102, 98,193,130,  5,152, 49, 99,  6,
-114,115,115,113,243,205, 55,227,244,233,211,152, 54,109, 26, 14, 29, 58,132, 17, 35, 70, 40,158,247,175,190,250, 10,139, 23, 47,
- 70, 87, 87, 23,140, 70, 35,118,237,218,133,234,234,106, 84, 84, 84, 32, 43, 43, 75,211,176, 52,208,150,149, 43, 87, 38,244, 78,
-181,168, 71,130,123, 75,132, 67,149, 65,143, 29, 59,134,183,223,126, 27,231,207,159,199,217,179,103,145,154,154, 26,215, 28,160,
-183,169, 16,110,183, 27, 20, 69,245,  8,129,  4, 65,192,167,159,126,138,  5, 11, 22,224,181,215, 94,131,215,235, 69, 87, 87, 87,
- 88,206,174, 69, 14,112,248,240, 97,216,237,118,180,182,182,226, 79,127,250, 19, 56,142,195,204,153, 51,113,215, 93,119,225,151,
-191,252, 37, 22, 44, 88, 32, 79,157,150,236,104,111,111, 71, 73, 73,  9,202,202,202,224,116, 58,177,111,223, 62,180,182,182, 98,
-237,218,181, 72, 75, 75, 67,106,106,170,166,240, 31, 58,116,  8, 12,195, 96,250,244,233,  0,128,141, 27, 55,  6,109,164, 34,109,
-249, 53,237,  1, 34,173,209, 42, 65, 33,138, 34,118,238,220,137,182,182, 54, 24,141, 70,116,117,117,161,190,190, 30, 95,125,245,
- 85,159, 73,130, 37,  7,160,105,218, 47,  4,170,171,171, 67, 77, 77, 13, 94,127,253,117,100,103,103,163,187,187, 91,158,153, 25,
- 78,111,168,213, 32, 94,106,106, 42,210,211,211,113,199, 29,119, 96,213,170, 85, 88,188,120, 49,178,179,179,177,114,229, 74, 20,
- 22, 22, 98,237,218,181, 40, 40, 40,  0, 69, 81,248,234,171,175, 80, 82, 82,130,151, 94,122,  9, 38,147,  9, 14,135,  3,187,118,
-237,194,174, 93,187,144,157,157, 29,151,150,159,227, 56,228,228,228,200,243,154,124,111, 94,143,100,202,182,214, 10,154,  4, 43,
- 25, 86, 81, 81,129,247,223,127, 31, 23, 46, 92,192,217,179,103, 97,181, 90, 21, 47,214,186,117,235, 80, 87, 87,135,225,195,135,
-163,173,173, 13, 77, 77, 77,232,234,234,130, 32,  8,200,204,204,212, 28,254, 72,146, 96,154,166, 97, 50,153, 32,  8,  2, 62,255,
-252,115, 44, 94,188, 24,111,188,241,  6,188, 94, 47, 58, 59, 59, 35, 10,  5,181, 60,  6,233,187,119,239,222,141,251,238,187, 15,
-205,205,205,104,110,110,198,226,197,139, 49,107,214, 44,236,221,187, 23,219,183,111,  7,195, 48, 88,188,120, 49,202,202,202, 96,
- 50,153,228,  1,176,101,203,150, 97,199,142, 29,120,238,185,231, 52,175,198,209, 52,141,169, 83,167,250, 77,234,219,176, 97, 67,
-175, 45,126,184, 45,127,220,122,  0,223,185,253,175,191,254, 58, 28, 14,  7,146,147,147, 81, 87, 87,135,115,231,206,225,208,161,
- 67,126, 89,191,116,145,222,124,243, 77,232,116, 58,156, 57,115,  6, 14,135,  3,151, 46, 93, 66,107,107, 43,  4, 65,192,157,119,
-222,169,185, 87,135,155,155,184,221,110,232,116, 58, 52, 52, 52,192,102,179,225,181,215, 94,195,232,209,163,123,180,250,241,132,
- 63, 84,245,237,248,241,227, 56,119,238, 28,138,139,139,113,242,228, 73, 92,119,221,117, 48,155,205,208,235,245,120,244,209, 71,
-177,110,221, 58, 80, 20,  5,135,195,  1,151,203,133,174,174, 46,185,  7,184,237,182,219,176,116,233, 82,124,243,205, 55,152, 60,
-121,114, 92,114, 48,223,178,231,170, 85,171,122, 61,135,241,108,249,195,206,  1, 40,138,194,239,127,255,123,216,108,182,144, 45,
-186,175,241,102,179, 89,158, 13, 40,  8,130, 92,109,121,252,241,199,177,102,205,154,184,230,  0,193,  0,214,233,116,112,187,221,
- 40, 45, 45,197,210,165, 75,241,151,191,252,  5,130, 32,244,104,245,251, 10,252, 20, 69,225,145, 71, 30,193,203, 47,191, 12,187,
-221,142, 49, 99,198,224,163,143, 62,194, 11, 47,188,128,187,239,190, 27, 11, 23, 46,132,205,102,147, 43, 68,251,246,237,147,103,
-132,222,118,219,109, 96, 89, 22, 37, 37, 37,184,255,254,251,241,197, 23, 95,196,189, 23,222,176, 97, 67,208,185, 64,145,182,252,
-154, 87,129,  2,141,127,251,237,183,193,113,156, 98,139,126,199, 29,119,244,240,220, 61,123,246,224,225,135, 31, 70,125,125, 61,
- 76, 38, 19, 82, 83, 83,177,122,245,106, 76,157, 58,181, 79,192, 79, 81, 20,140, 70, 35,102,207,158,141,146,146, 18,140, 26, 53,
- 10, 14,135,163,199, 50,125,241,134, 95,169, 60,233,251,157,215, 93,119, 29,222,123,239, 61, 44, 90,180,  8,247,220,115, 15, 70,
-143, 30,141,173, 91,183, 98,247,238,221,104,106,106,194,237,183,223, 14,138,162,240,202, 43,175,160,181,181, 21,187,118,237,194,
-142, 29, 59,176,116,233, 82,148,148,148, 96,255,254,253, 24, 49, 98, 68,220,199, 97,164,155,215,251, 82,203, 31, 81, 18,108, 50,
-153,240,221,119,223,245,104,209,215,172, 89,227,119, 79,166,164,209,163, 71,227,157,119,222, 65,162, 20,206, 20,230,164,164, 36,
-236,222,189, 27, 46,151, 11,237,237,237, 17,221,252,162,117, 12, 29,236,187, 95,124,241, 69,220,123,239,189,120,255,253,247,177,
-121,243,102, 76,154, 52,  9, 20, 69, 97,249,242,229,216,188,121,179,188,209,117,117,117, 53,214,174, 93,139,236,236,108,108,221,
-186, 21,199,142, 29,195,253,247,223,143, 17, 35, 70, 96,215,174, 93,  9, 57,247,191,251,221,239,122,157, 13, 26,205,119,105,214,
-  3,248, 26,191,115,231, 78, 60,250,232,163,114, 66,229,219,162, 39,202,115, 99,129, 95,186, 39,216,237,118,  7,173,235,247, 53,
-248,165,176,109,199,142, 29, 61, 94, 79, 79, 79,199,177, 99,199,144,148,148,  4,  0,248,246,219,111,145,150,150, 38,255,223,228,
-201,147, 53, 15,123,122, 59,134, 71, 31,125, 52,238, 43, 83,171, 86,  5, 26, 61,122, 52,222,122,235,173, 62,103,124,164, 16,249,
- 62,215,221,221, 29,213,109,143,241,118,226,112,108,179, 90,173,104,106,106,194,160, 65,131,  0,  0, 89, 89, 89,242,237,144,137,
-144,146,141,191,253,237,111,131,142,  1,196,179,197,143,170, 10,212, 23, 61, 55, 22,248, 19,121,207,175,218,240, 75,207,251, 78,
-108,139,247,232,123, 56,246, 63,246,216, 99,125,146,159,176,146, 96, 45,135,254,227,149,132,245,  7,248,195, 25,  7, 72,244,212,
-  1,181,206,127, 95,225,135,254, 87,131, 63,146, 60,160, 47,194,175,100, 63,129, 95, 89, 79, 62,249,164, 60, 53, 93,147, 30, 96,
-160,192, 31,175, 77, 47,212,176,191, 47,195, 31,111,126, 98,189, 31, 88,177,  7,232,173, 18,209, 31, 20,235, 38, 23,137, 62,222,
-254, 12,127,127,227,167, 71, 15,224,118,187,113,230,204,153,160, 43,120,105, 41,223, 77, 31,162, 85, 91, 91, 27,106,106,106, 20,
- 39,236,245,246, 92,172,199,171,134,253,157,157,157,168,169,169,  9,107, 37, 13,181,193, 82,195,254,254,198,143,159,  3,240, 60,
-127,169,176,176, 48, 35,145, 30,201,243,252,165,104,223,203,113,220,165, 69,139, 22,245,107,251,231,207,159,223,111,237,239,239,
-252, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,253,171,138, 26, 72,  7, 59,102,204, 24, 88,173, 86,  8,
-130,160,217,119,232,116, 58,148,149,149, 17,178, 20,116,109, 31,225,  3,  0,242,180,250, 14,142,227, 46,149,150,150,134,125,227,
- 57, 59,144,224, 79, 73, 73,193,166, 77,155, 80, 84, 84,132, 35, 71,142, 32, 43, 43,203,111,171, 84,105,161, 41, 37,133,122, 77,
-146,203,229,194,156, 57,115,  8,233,193,225,255,236,218, 62,194, 40, 47, 47, 71, 86, 86,150,223,134,229,190,247, 90,  4, 46,  8,
- 22,248,187,210, 50,137, 14,135,  3,145,142,163,176,  3,  9,254,245,235,215,163,168,168,  8,192,213, 21,148,243,242,242,144,146,
-146, 34,111,210,236, 11,185,228, 20,129,240,  7,123,158, 97, 24,212,214,214, 18,210, 67,192,191,105,211, 38,190,168,168,104, 20,
-  0,148,151,151,163,187,187, 27,201,201,201,242,249, 15,103,226, 95,168,215,163, 57,255,126,115,129,244,122,125,  9, 77,211,110,
-  0,222,112, 30, 20, 69, 57,  1,172,238, 47,240,207,155, 55, 47,172, 22, 61, 26,248,137, 66,195,191,113,227, 70,126,206,156, 57,
-163,100,240,104, 26,162, 40,250,181,224,189,173, 29,170,249, 78,241, 46,151,107, 77, 69, 69,  5, 59,106,148,108,167,223, 94,181,
-129, 58,119,238, 92, 87, 78, 78,206, 19,  0,214,245, 39,248,  3, 97,246,133, 56, 90,248,  3, 63,143,232,159,240,111,216,176, 65,
- 63,119,238,220,145,193, 66, 74,181,182, 79,138, 70,126, 87, 77, 20, 69,118,228,200,145,176,219,237,126,222, 25,204, 17, 50, 50,
- 50,174,  0, 24,211,223,224, 15,  7, 98,  2,191,122,240,207,155, 55,111,164,210,249,143,117,191,  0, 77,118,138,191,230,  8, 33,
-111, 52,144,156, 65, 16,  4,177, 63,194, 47, 93,128, 96,161, 75,180,240,147, 80, 40, 60,248,165,243,214,219,  2,102,209, 56, 70,
- 76, 57, 64,176,214, 94,218,180, 89,122,248,246, 24,  0,186,  1,100,245, 39,248,  1,128,231,121, 85,225, 39,234, 25,243,  7,131,
- 63,216,249,143, 52,222,215,100,167,248,115,231,206,225,224,193,131,232,236,236,148, 97,247,133,222,247, 57,150,101,211,127,241,
-139, 95,180,191,240,194, 11,103,131,228, 10,148,130, 67, 81, 10, 14,231,247, 28, 77,211, 30,142,227,126,211,221,221, 93,162, 22,
-252, 78,167, 19,181,181,181,168,175,175, 71, 75, 75, 11,146,146,146,122,192, 30, 11,252,164,245,247,175,246,248, 38,188,210,249,
-175,171,171, 67,125,125, 61,154,155,155,253,202,159,125,106,163,108,134, 97, 96, 48, 24,252, 90,251, 96, 14,  0, 32,249,214, 91,
-111,197,189,247,222, 43,231, 12,210,246, 66,193,234,184,210,251, 67, 45,141, 81, 95, 95,207, 46, 92,184,112, 13,128,136, 28,192,
-106,181,202,117,126, 65, 16, 96,179,217, 80, 85, 85,133,234,234,106, 52, 54, 54,194,108, 54,195,106,181, 34, 37, 37,  5,102,179,
- 25, 44,203,246,  0, 63, 22,248,  7,186, 19,136,162,120,224, 90,157,127,148, 40,138,176,217,108,168,172,172,196,201,147, 39,209,
-216,216,136,228,228,100,164,166,166,194, 98,177,192,108, 54,247,112,128, 88,115,129,152,147, 96,  0,240,120, 60,232,232,232, 64,
- 71, 71,135, 18,240, 61,156,161,180,180, 84,246,102,165, 48, 74,169,103,  8,246,153,210,207,182,182, 54, 41,188,138, 72,130, 32,
- 32, 55, 55, 23,207, 63,255, 60,106,106,106,192, 48, 12,  6, 13, 26,132,244,244,116,228,231,231,131,101, 89,240, 60, 15,142,227,
-192,243,124,200,218, 63,129, 63, 42,229,229,230,230, 98,251,246,237,168,174,174,  6,195, 48,200,200,200, 64, 90, 90, 26,134, 14,
- 29, 42, 15, 58,114, 28,  7,189, 94, 47, 55, 64,177,132, 60,177,238,209,166,216,  3, 36, 37, 37,201, 45,122, 24,189,  0,188, 94,
-111,208,255,239,237,125, 74,175,  5, 86,160, 34,145,221,110,135,217,108, 70, 97, 97,161,188,124,187, 47,184, 18,244, 60,207,203,
- 78,160,212, 11, 16,248,163, 83,123,123, 59, 76, 38, 19,138,138,138,144,146,146, 34,133,180,242, 79,105,133, 59,223, 70, 72,176,
- 95, 65,245,182,255,141, 14,219,105, 24,210,135, 96,200, 77,247, 96,232, 77, 63, 75, 76, 21,200,227,241,160,189,189, 29,237,237,
-237, 97,183,224,106,129, 47,253,116, 56, 28, 81, 95,128,228,228,100, 76,156, 56, 81,113,190,143,111,139, 31,  8, 63,  9,123,212,
-145,209,104, 68,126,126,190,124,254,  3, 67, 93,105,119, 30,157, 78, 39,255,180,125,190,  7,201,222, 43,152,117,235,124, 56, 28,
- 46, 28,221,191, 13,157,117,199,144,253, 95,207,130, 82,200, 19,212,172,  2,245,112,  0,105,121,109, 81, 20, 85,133, 58,146,215,
- 98, 89,235, 69,106,221, 61, 30, 79,175,208,170,  9,191,212,157, 15,116, 73, 33,142,210, 66,184,129, 27,148, 72,211, 31,  6,207,
- 88,138,227,127,221,137,230,243, 54, 12,190,126, 10, 10, 23,101,224,155,191,151,227,155, 39, 23, 98,194, 35,127,  6,111, 73,215,
-108,253,166,144, 57, 64, 60, 28, 64,169,103,137,165,  7, 80,154,215, 19,170,186,163,  4,127, 56,121, 65,168,255, 25,232, 14, 32,
-157, 15,165,229,230,  3,  7,192,104,154,134,113,216, 56,140,127,228, 47, 56,178,233,199,200,115,  3,195,110,152,133, 27,110, 42,
-198,153,175, 15,227,235, 85,179, 48,105,205,187, 48, 13,191, 94,251,169, 16,210,133,213,235,245, 16,  4, 33,102,224,163,125,191,
-203,229,138,233, 34,132, 83,213,137,  6,108,  2,127,239, 10,182,108,139,215,237, 68,195,158, 85,176, 87,254, 29,130,211,  9,175,
- 87,  4,188, 94,120, 69,241,234,239,  0, 40,154,198,183, 95,159,  2,101,201,194,176,235,199, 99,244,148,239, 35, 57,213,138, 35,
- 79, 44,192,248,251, 94,194,224,169, 11,123,221,173, 84,149, 30,160,179,179,179, 71, 14, 16, 45,212, 74,127,247,246, 62,105, 71,
- 70,181, 90,164,120,192, 79,114,  1,248, 65, 31,232,  0, 23, 63,126, 17,198,238,115,184,225, 71,255,  6,150,227, 64,209, 44, 40,
-134,189,246,147,  1, 40,  6,160,232,171, 15,150,135,215,227,  4,220, 14, 12,250, 94, 14, 10,173,131, 80,246,135, 95,160,179, 97,
-  5, 70,255,231,202,144,155,108,168,214,  3, 72,113,184,  4,103,101,101, 37,142, 29, 59,134,238,238,110,184, 92, 46,184,221,110,
-184, 92, 46,191,223,165,245,246,213, 16, 77,211,162, 40,138,222, 32, 39,185,203,235,245,174,  1,240, 12,129,191,111, 58,129,175,
-  3,208, 52, 13,209,213,133,164, 36,  3, 56, 56, 65,  9,  2,224,101,  1,175, 14,160, 89,120,161,  7,132, 78,128,102,175, 58,130,
-219,  1,120,189,128, 78, 15,120,156, 48,166, 88, 48,235,214,165, 40,255,232, 85,116,212, 85, 96,210,195,175,130,162,104,237,170,
- 64, 74, 61,192,241,227,199,177,103,207, 30,164,167,167,199,235, 60,  6, 29,214,179,217,108,134,105,211,166,173,247,120, 60,207,
- 40, 57,112, 56, 51, 61, 35,  5,155,192, 31,185,  3,248,  2,154, 49,247, 46,212,189,242,107,156, 60,178,223,111, 46,  0,205,232,
-112,253,130, 91, 49,124,168, 25, 52, 68, 80, 12,123,237,210,139,240, 10, 30,  0, 20, 32,184,160,163,128,233, 75,254, 29, 71,255,
-250, 25, 42, 95,122,  8, 19, 86, 60,171,202,178,139,138, 85, 32,189, 94, 47,239,162, 46, 57,  1,199,113, 72, 79, 79, 71,125,125,
-189,223,107,177, 40,212, 84,235,222,106,205, 30,143, 39,172,117,240,  8,252,137,  9,129,  2, 31,134,140,140, 93,127, 14,  0,  0,
-  6,202, 73, 68, 65, 84,145,200, 93,253,174,220, 35,184,154,108, 56,177,249,127, 33,103,250, 44,100,141, 28,  4,175,211, 14,138,
-225, 64,165,142,  6, 61,170,  8, 84,114, 22, 64,209,240,182,158,133,120,250, 19,136, 23,142,  1, 93,205,152, 56,103, 54,190,124,
-119, 31, 26,246, 79,198,136,  5,119,199,188,236, 98, 15,  7, 16,  4,193,111, 36, 56, 48, 86,119,185, 92,112, 58,157,  9, 61,201,
- 82,239, 68,224,239,155, 10, 53,203,147,166,105,180,159,254, 26,213, 47,220,131, 27,126,120, 51,172, 22, 14,222,206, 43,  0,171,
-  7, 53,106, 54,152,236, 69,160,124,111,141,204,200,  3, 61,120, 60,132,147, 31,192,243,205, 94, 48,221,141,152,182,160, 24,  7,
-255,244, 40,134,255,224, 78,208, 58, 62,182, 28, 81,201,120,131,193,  0,143,199,227,215, 66, 75,179,247,  2,103,132, 38, 66,189,
-125,191, 90,241, 60,129, 95,189, 36, 88,130,255,242,223,255,140,243,239, 63,131, 25, 75,255,  3, 73,140,  3,112,216,  1,134,  7,
-146,135,129, 26,243,111, 16, 68, 17,167,234,155,113,162,174, 25,142,110, 15, 70, 13, 77,198,148,236,193,224,199, 46,128,183,116,
- 43,132,234,143,193, 13,202,193,160,235,134,227,242,145, 79, 48,228,251, 63, 84,215,  1,164,189,114,125,199,  1,  2,123,129, 68,
- 59, 64, 52, 21, 32,  2,127,226,146, 96,138,162, 64, 83, 20,234, 94, 47, 65,247,233, 82,204, 92,250, 35,112,206,203,240,186,133,
-171,173, 61, 37,192, 59,178,  8,130,232,197,153,243,173,248,248, 80, 61, 60,130,136, 35,167, 46,227,180,173, 21,255,245,239,227,
-113,215, 77,227,224,157,241,  0, 80,253, 49,188, 29,151, 49,100,232, 36, 52, 28,120, 69,125,  7,144,114,  0,169, 22, 47,193,206,
-243,188,226, 61,  1,125,177,  7, 80,170,205, 19,248, 19,211,  3, 72, 21,160, 19,207,221, 13, 51, 39, 96,218, 77,115,192,136,157,
-232,226, 50,225,161,120,152, 28,213,160, 64, 65, 52, 14,129,215,227, 65,233,119, 23,113,190,169, 19,229, 85, 23,209,209,117, 53,
-215,124,235,179,106,252, 71,225, 72,240,131,243, 65, 83, 52,188, 93, 45,176,100, 37,163,242,216,225,216, 27,201, 80, 61,128, 47,
-108,190,147,221,250,178,  3, 40, 65, 74,224, 79, 92, 21,200,221,114, 17,223,109,248, 79,140,200,201,198,232,113,195,  1, 79, 39,
- 90,219,221,248,199, 59,123, 49,243,199,119,  1, 20,  3,175,224,130,224,241,192, 43,  8,176, 93,105,199,231,199, 26,224,123,137,
-245, 28,  3,120, 69,184, 61,110,240, 87,191,  0,140,142,131,187,171, 67,125,  7,160,105, 26, 60,207, 67,175,215,251,  1, 39,253,
-221, 31,122,  0,  2,127,223,232,  5,186, 47,159,197,241,223, 44, 65,126, 81, 33, 50,  7,155,  0,209,131, 75, 23,219,240,205,223,
- 62,135,105, 88, 14,220,157,109,160, 44, 12,188,221,157, 16,155, 78,163, 11, 73, 24, 59, 52,  9,129,151,119,222,196, 33, 16,  4,
- 15, 96,251, 26,240,138,128, 46,  9, 46,183, 23,134,212,216,183, 34,232, 81,107,151,198,  1,164, 94,160,163,163, 67,190, 59,172,
- 47, 61,  8,252,125,191, 12, 90,253,135,255, 70,254,172,153,200, 72,161,224,101,116,168,171,185,136,227,165,135, 49,117,221,103,
-200, 40,188, 21,205,231,207,  3,124,242,213,129,175, 47,214,193,217,229,192,244,108, 43,110, 47, 26,129, 65, 22, 61, 44, 70, 29,
- 22,220, 56, 20, 75,166, 15,133,219,237,  6,123,232,217,171,208,166,140, 64,107, 75, 59,172,227,102,168,223,  3, 72, 35,193, 46,
-151,203, 47,241, 13,118, 15,109, 52,173,114, 60,122,  0,  2,127,226,157,192, 99,191,130,212, 97, 51,225,245,186,112,242,155,147,
-104,188,220,138,105,235, 15, 66,103, 74,193,176,121,203, 80,250,255,158,199,200,188, 60,208,182,175,193,118,181, 64,255,143,167,
-209, 62,245, 17,220, 82, 48, 20,183, 20, 12,253,103, 46,  1, 17,186, 67,207, 66, 87,255, 55,128,102, 33, 14,153,130, 83,255,243,
- 57,102,174,123, 78,125,  7,240,120, 60,112, 56, 28,232,236,236,244,131, 77,154,223,221, 31,170, 64,  4,254,190,209,  3, 36,143,
- 43, 64,217,135,159,192,237,232,128,121,204,141,184,225,255,190,  9, 70,199, 95,189, 41,198,104,193,117, 11,151,227,204,119, 95,
- 96, 92,214,141, 16,206,124,  2,211,241,157,224, 46,150,163, 35,127, 57, 92,233,249, 16, 41,  6, 92, 83,  5, 76,223,253,  9,252,
-133,210,171,173,255,176,105, 56,103,107,193,160, 73,197, 48,101,141,213, 38,  7,144,238,214,241,117,128,254,150,  3,144, 27,220,
- 19,239,  4,227,238,217,  6,199,185, 42,112,230, 84,232,211,134,246, 24, 23, 24,181,248,191,241,249,189, 47,194,146, 90,128, 33,
-121,183, 66, 56,249,  1,184,198,111,145,250,233, 47, 20, 46, 40,  7,102,204,124,180,120, 44, 56,121,232, 83,204,219,126, 84, 21,
- 91, 21,171, 64, 93, 93, 93,138, 61, 64,168,185,252,125,201,  1,  8,252,125,195,  1,104,154,134,121,196,248,224,243,247,121,  3,
- 10, 55,126,129,242,167,151,162,117,112, 42,114, 38,221,  5,234,226, 17,120,219, 47,194,219,126,  1, 16,  5, 80,166, 12, 80,230,
- 33,160, 50,243, 81, 87,115,  1,117,199, 75, 81,184,254,175,208,167,102,106,227,  0,129, 61,128,  4,156,193, 96,232,119, 85, 32,
-  2,127, 98,225, 15,231, 94, 94, 67,122, 22,102,109, 41,197,119, 47, 61,136,191,239,251, 24, 67,199,142,133,117,208, 24,152,115,
- 50, 65,209, 52, 58, 26,175,160,237, 74, 35,206,255,245, 16,244,131, 70, 98,222, 11,223,130, 53,152, 84,179, 87,177,  7,112, 56,
- 28,112, 56, 28,126, 45,190,219,237,150,111, 88, 87,107,202,115,180,128,135,250,126,  9,106,  2,127,226, 20,241, 10, 15,172, 14,
-249,247,110, 69,123, 67, 21,154,142,255, 29,231,142, 29, 64,211,167,123,225, 21, 60,176,102,223,136,180,201, 55, 97,226,205,133,
-176,142,157,162,186,173, 65,199,  1,164,145, 95, 95,199,240,122,189,240,120, 60, 49,221,179,171, 70,229,168,183,239, 39,240,247,
-141, 36, 56,146, 69,173, 40,138,130,101, 68, 46, 44, 35,114,241,189, 31, 46,143,155,189,138, 61,128,211,233,244,235,  1, 36, 88,
- 69, 81,132,219,237, 86,205,  1,162,117, 12,167,211,  9,138,162,196, 72,114,  1,  2,127,226,156, 32, 28,248,227,177,147,124,175,
- 14,192,178,108,199,229,203,151, 77,131,  7, 15,246,155, 10, 33,138, 34, 50, 50, 50,228,105, 18,137,108,253,189, 94, 47, 46, 92,
-184,  0,158,231, 27,186,187,187,  9,252,125,220,  1,250, 50,252, 61, 28, 64,175,215, 31, 63,112,224,192,244,249,243,231,163,178,
-178, 18,130, 32,200,203,163, 76,155, 54, 13, 45, 45, 45, 17,183,254,106, 39,204, 94,175, 23, 21, 21, 21,221,162, 40,150, 18,248,
-  9,252,170, 58,128,219,237, 94,187,115,231,206,255, 89,186,116,169,238, 39, 63,249,  9, 78,157, 58,  5,138,162,144,147,147,131,
-204,204, 76, 28, 61,122, 52,225,241,255,249,243,231,241,225,135, 31,186, 93, 46,215, 19,189,253, 47,129,191,239, 37,193,177, 44,
-100,171,185,  3, 56,157,206,  3, 60,207,191,176,120,241,226, 21, 43, 86,172,208,205,157, 59, 23,153,153,153,104,107,107, 67, 89,
- 89, 89, 84,203,149,168,209,  3,  8,130,128, 75,151, 46,161,162,162,162,235,253,247,223, 23, 68, 81,252, 53,128, 83,  4,254,254,
-147,  4,247, 69,248, 21,147, 96,187,221,254, 75,150,101,223,223,182,109,219,211, 91,182,108,201,243,120, 60,198, 62,112, 82, 69,
-142,227, 26, 68, 81, 44,117,187,221, 79, 16,248,251,175, 19,244, 37,248, 21, 29,  0,  0, 60, 30,207, 39, 30,143,231,147,190, 98,
-164,215,235, 13,251, 62,100,143,199,131,234,234,106, 69,  7,208, 90, 28,199, 13,120,248, 93, 46, 23, 78,159, 62,173, 24,231,107,
- 13,191, 78,167, 83,199,  1,250,171, 12,  6,  3, 10, 10, 10, 18,110,195, 64, 21,207,243,151,102,205,154,149,145,104, 27, 72, 31,
- 76, 68, 68, 68, 68, 68, 68, 68, 20, 82,255, 31, 95,234,143,152, 26, 32,255, 39,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  0,192,  0,  0,  0,192,  8,  6,  0,  0,  0, 82,
+220,108,  7,  0,  0,  0,  1,115, 82, 71, 66,  0,174,206, 28,233,  0,  0,  0,  6, 98, 75, 71, 68,  0,255,  0,255,  0,255,160,189,
+167,147,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156, 24,  0,  0,  0,  7,116, 73, 77, 69,  7,
+217,  3, 14, 12, 53, 26,  8,211, 40, 12,  0,  0,  0, 29,116, 69, 88,116, 67,111,109,109,101,110,116,  0, 67,114,101, 97,116,101,
+100, 32,119,105,116,104, 32, 84,104,101, 32, 71, 73, 77, 80,239,100, 37,110,  0,  0, 32,  0, 73, 68, 65, 84,120,218,237,125,123,
+120, 20, 85,182,239,175, 30, 93,213,121,116, 58, 47, 72, 32, 64,194,  0,137,134, 16, 68,  6,  6, 66,  8,207,235,  1,230,160,131,
+115,124,220, 17,189,119,230,206,225, 19,207,232,204,248, 64, 16,197,232,213,113, 12,160,163, 40,122, 70,  4,  6,225,115,102,206,
+209, 15,225,158,163,  3,142,142, 56, 38,228, 33,  4,  3, 73, 32, 60, 66, 72, 32,129,188, 31,221,233, 71, 85,221, 63,160,234, 84,
+ 63,211,143,170,238,228,176,127,223,215, 95, 63,170,171,123,213,174,223, 90,123,173,181,215,222, 27, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,184, 14,234,102,186,216, 89,179,102,165,139,162,120, 24, 64,158, 94,255,
+193,113, 92, 91, 89, 89, 89,186, 30,191, 61,121,242,100, 62, 41, 41,105,142, 32,  8, 38,189,228, 55, 24, 12,182,242,242,242,195,
+ 55, 11, 39,216,155,133, 64, 55,100,255,242,181,215, 94,227,138,138,138, 80, 85, 85,133,140,140, 12, 24,141, 70, 48, 12,  3,138,
+162, 64,211,244,127, 89,  6,138,242,251, 90,253,153,252,222, 98,177, 96,233,210,165,105,122,145, 63, 49, 49,113,238,150, 45, 91,
+232,162,162, 34, 28, 59,118, 12, 25, 25, 25,224, 56, 14, 44,123,253, 54, 50, 12,227,243,124,127,199,100,216,237,118, 44, 92,184,
+144,191,153,140, 34, 27, 44,129,182,110,221,202, 45, 88,176, 64, 33, 16,207,243, 96, 24,  6, 52, 77,123,144, 99, 40,226,184,191,
+214,139, 64,178,236, 91,182,108,225,139,138,138, 38,  2, 64, 85, 85, 21,  6,  7,  7,145,144,144,  0,150,101,149,107,144,175,195,
+215,195,223,241, 11, 23, 46, 64, 79,242,191,250,234,171,116, 81, 81, 81, 44,  0, 84, 84, 84, 32, 47, 47, 15,137,137,137,138,252,
+106,146,203, 74,225, 78,126, 95,159, 51, 12,163,155,252, 35, 94,  1,212,  4, 90,176, 96,193, 68,  0, 40, 47, 47, 71, 94, 94, 30,
+204,102,179, 79,  2,185,147,101,168, 99,231,207,159,215,203,237,249,114,243,230,205,252,194,133, 11, 39,202,159,211, 52, 13, 81,
+ 20, 93, 20,208, 31,185,  3, 85, 12, 61,201,191,120,241,226,216, 64, 44,122, 40,228,191, 89,193,134, 74, 32,134, 97, 32, 73,146,
+ 79,  2,  5, 75,126,249,181, 30,228, 47, 41, 41, 49, 46, 90,180, 40,203,151, 75, 16, 14,249,245,146,221, 31,249,221,201,172,190,
+158, 80,201,239,254,123, 68,  1,194, 32, 80,168,228,215,146, 68,106,217, 23, 47, 94,156,229,205, 39, 14,150,224,129, 28,139,  4,
+249,  3, 33, 49, 33,127,152, 10, 16, 40,129,100,119, 34, 88,242,251,250, 94, 36,200, 47,223,116, 57,232,213,138,252, 90,201, 63,
+ 20,249,229,246,247,229,186,132, 74,254,155,209, 21, 98, 67, 37,144,193, 96,  8,217,210,235,233,  2,169, 93, 54,247, 94, 75, 13,
+158,247, 76,118,  4,235,239,235,161,  0,129,144,223,151,252,196,242,107,160,  0,129, 18,136,227, 56,175,228,  9,135,252,234, 52,
+100,184,217, 30,117,188,  2,  0, 54,155, 13,141,141,141,104,106,106, 66,103,103,167, 75,250, 51, 92,171,175,149,252,254,200,111,
+179,217,112,225,194,  5, 52, 53, 53,161,171,171, 11,177,177,177, 30,100, 15,135,252, 55,107, 32,204,  6, 67, 32,249,  6,116,118,
+118, 34, 38, 38,198, 37,127, 30,109,242,  3,128, 40,138,135,111,228,249, 39,138,162,136,150,150, 22,212,213,213,225,244,233,211,
+104,111,111, 71, 66, 66,  2,146,147,147, 97, 54,155, 97, 50,153, 60, 20, 32,220, 88, 32, 92, 36, 37, 37,205,185,145,231,143, 21,
+  4,  1, 45, 45, 45,168,175,175, 71, 67, 67,  3,218,219,219, 97, 50,153,144,148,148,132,196,196, 68,152, 76, 38,176, 44,235, 65,
+252,112,200,127,211,187, 64,162, 40, 30,190,145,231, 87,  8, 84, 91, 91,171, 16,200,100, 50, 33, 57, 57, 25,137,137,137,136,139,
+139,115,201,255,135, 75,126,141, 92,136,188,220,220, 92,108,223,190, 29, 13, 13, 13, 96, 24,  6,105,105,105, 72, 73, 73,193,216,
+177, 99,149, 65, 35,142,227, 96, 52, 26, 21,  2, 13,149,255, 15,230, 88, 56, 16,  4,193,148,155,155,139,183,223,126, 27,231,207,
+159,  7,195, 48, 24, 53,106, 20, 82, 83, 83,145,159,159, 15,150,101,193,243, 60, 56,142, 83,198, 95,124, 89,125, 66,254,208, 92,
+160,188,169, 83,167,226,173,183,222, 66, 67, 67,  3, 88,150, 69, 90, 90, 26,146,147,147, 49,109,218, 52,133, 64, 60,207,195,104,
+ 52,194, 96, 48,128,101, 89,205,200,175,133, 21,237,235,235, 67,124,124, 60,138,138,138,144,152,152,168,  4,233,234, 96,221, 96,
+ 48,120,144,200, 23,201, 35,157,  5,234,237,237,133,201,100, 66, 97, 97, 33,146,146,146, 60,200, 45,203,203,243,188, 34,191,183,
+ 94,128,144, 63,196, 24,160,183,183, 23,113,113,113, 10,129,220, 51, 61, 52, 77, 43, 74,192,243,188,242, 62,216,108,143,175, 99,
+225, 34, 46, 46, 14,249,249,249, 16,  4, 65,137, 77,212,207, 52, 77,131, 97, 24, 24, 12,  6,229,217, 91, 15, 16,106, 32, 28, 46,
+ 18, 18, 18, 48,125,250,116, 69,126, 95,153, 31,119,242, 19,183, 71, 35,  5,144,  9,228, 62, 74,170, 38, 16,203,178, 10,113, 56,
+142,115, 33, 80,184, 46, 81,216, 23,116,195,197,145, 36,201, 43,249,229,255, 83, 91,126,173, 98,  1, 45,228,151,173,187,211,233,
+ 28,146,180, 90,146, 95,118,  7,111,122,  5,144,173,187, 40,138, 30, 55, 86, 38,250,147,123,175,225,211,138, 86,  8,162, 20,210,
+159,246,239, 95,161, 91, 26, 84,125, 35,101, 37, 80, 63,220,  7,192,130,177,252,145,  8,132,189,213,245,248,203,238,120, 35,127,
+ 32,113,129,191,239,220,244, 10,160,190,  1,238, 55,153,166,105,252,105,195,237,232, 24,  0,254, 87, 73, 37,190,172,190,170,156,
+219,189,255, 71, 48,199, 25, 92,126,175,173,107, 16,223,157,239,193, 75,251,234,112,164,230,154,223,148,169, 22, 80,187, 82, 90,
+167, 56,135, 74,127,106,117, 13,129,100,117, 66, 33, 54, 33,191, 39,104, 95,  4,146,173,139,252,144,  3, 94,134, 97,208,209,209,
+  1,214,217,131, 23, 30,204,113, 57,183,179,163,  3,237,237,237,232,232,232, 64,103,103, 39,186,186,186, 16,195,216, 49,239, 86,
+ 19, 62, 47, 41,196,242,217,233,126,  7,156,180,136,  1,180, 28,213, 13,134,252,122, 21,195, 69,138,252, 55,107, 44,224, 83,  1,
+134,242,221, 69, 81, 68, 70,162,251,205,242, 78,104, 65, 16, 96,183,217,240,220,  3,183,250,253, 15,173,160, 21,249,  3, 77,143,
+234, 85, 16, 71,200, 31,  5, 23,200, 87,208,232, 77, 17,226, 88,215, 27,206,120, 33,132,250,253,237,147, 76, 88,124,219,104, 93,
+201,239, 79,126, 45, 21, 67,175, 58, 32,119,191, 62, 28,242,  7, 26, 71,144, 44, 80,144, 46,132,175,238,158,166,135,174,243, 57,
+252,234,124,  8,130,160, 43,249,135,122,232,161, 24,122,129,144, 63, 10, 61,128,123, 16, 25,232,192, 21,195, 12,237, 58,233, 73,
+126, 95,242,235, 29, 11, 16,242,255, 55,139,  1, 66, 29,184,162,189,156,247, 96,201, 49,175,196,209,139,252,122,184, 60,145, 38,
+191, 58, 11, 71,200, 63, 76, 98,128, 64,  6,174, 24,198,245,152,213, 46,226,179,170,171, 17, 35,191,187,252,122,250,251,122, 90,
+126, 45,130, 89, 66,126, 13, 99,128, 64,235,247,153, 27, 89, 19,135, 32,161,165,221,138,205,255,126, 14, 22,155, 16,113,242,171,
+ 21, 64,175, 64, 56,146,196, 39,228,143, 98, 12, 16, 76,  9,115,194,221,159,249, 37,165,222,228, 15, 38, 11, 20,205, 73, 47,129,
+248,253,132,252, 81,238,  1,  2, 73,131,186,147, 65, 58,124, 15,  0,192,238, 20,113,233,170,  5,191,249,176, 30, 59, 63,187, 16,
+ 81,242,  7,146,  9,138,102,173, 79,168, 10, 65,200, 31,161, 32, 56, 80,203,239,141, 16, 86,171, 21, 54,155, 13, 16,157,200, 28,
+109,196, 27,143, 76, 71, 44,207, 16,242, 19,242,143, 60,  5,  8,165,126,223, 93, 49, 98,121,  6, 63,252,193,152,136, 95, 20, 33,
+ 63, 33,127, 84,210,160,222,206,251,243,115,115,163, 78,254,112,102,124, 17,242,223,164,105,208, 80,234,247,189, 29, 83, 47,158,
+ 21, 13, 37,  8,135,248,209, 32,127, 48,196, 38, 19,220,117, 10,130, 67,157,194,168,231, 18,129,161, 40,  0, 33, 63, 65,216, 49,
+ 64, 80, 35,193,132,252,218, 90, 39, 66,254,232,198,  0, 67,145,191,215,226,116, 57,215,253,125,212, 46,106,  4,147, 95, 38, 53,
+ 33,127,148,123,128, 64,252,255, 51, 45,  3, 46,231,213, 94,236,141,250,  5,133, 90,219, 79, 44, 63, 81,  0,175, 22,212, 23,249,
+ 47,180, 90,240,236,238, 90,151,243,214,191, 95,131,186,166,225,167,  4,129, 16,127,184,144,223, 23,177,  9,249, 35, 24,  4, 15,
+ 69,254,  5, 79,126,141,163,117,157, 30, 63,246,117, 77, 59,166,254,252, 16,242,191,103,198,161,223, 22, 97,116, 34, 31,117,  5,
+ 32,228, 39,  8, 74,  1,  2,201,  4,149,189,185,100,200, 31,142, 70,250,147,144,159, 64,147, 30, 96,168,165, 66,228, 37, 83,134,
+173, 95, 23,  0,241, 35, 89,158, 17,174, 34, 16,242, 71, 33,  8,142,196, 58,254,145, 12,130,  9,249,  9,  2, 82,128,145, 76,254,
+ 64,148,128,144,159, 32,172, 24, 96,184,195,110,183,227,236,217,179, 94,253,124,189,201,111, 48, 24,194,254, 13,167,211,137,134,
+134,  6,175, 10,160, 55,220,247,124,184, 41, 21,192,225,112,224,220,185,115, 81,  9, 22,195, 37, 16,207,243,109,243,231,207, 79,
+139,102,131,242, 60,223, 22,234,185, 49, 49, 49,182,130,130,130,168,238,211, 27, 19, 19, 99,187,153, 20,192,133,213,  5,  5,  5,
+173, 54,155, 45,234,  4, 42, 45, 45, 77,  7,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,129, 38,
+  8, 42,185,127, 99, 31,225,195,  0,242,244, 18,136,227,184,182,178,178, 50, 93,210,160,179,102,205,202, 23, 69,177, 28,128, 81,
+ 71,249,197,178,178, 50, 70, 39,249, 71,122,251, 15, 59,249,217, 32,133,255,242,198, 62,194,168,170,170,194,184,113,227,192,243,
+188,178, 85,170,251,128, 89,176,175,173, 86, 43,150, 44, 89,146,166, 35,249, 43,183,110,221, 74,233, 44, 63,173, 35,121,148,246,
+175,172,172, 68, 70, 70,134,135,252,190,228,243, 54,127,219,253,243,190,190, 62, 44, 95,190, 60, 77, 79,249,111,108,100, 62,108,
+248,195,  6, 35,252,150, 45, 91,248,  5, 11, 22, 76,  4,128,170,170, 42,216,108, 54,152,205,102,101,235, 36,127, 19,105,  2, 41,
+ 83, 62,127,254, 60,244, 36,255,230,205,155,233,  5, 11, 22,176, 35, 80,254,116, 81, 20,191,220,188,121,179,210,254,229,229,229,
+152, 58,117, 42, 18, 18, 18,188,202, 31,202,242,143, 23, 46, 92,208, 85,254, 45, 91,182,240, 69, 69, 69,195,138, 63,108, 48,194,
+ 47, 92,184,112,162,114, 34,203,186,212,252,  7, 34, 96, 36,118, 89,244, 71,254, 69,139, 22,177, 35, 80,254,116, 81, 20,191,124,
+245,213, 87,249, 69,139, 22, 41,237,207, 48,140,178,149,173, 86,107,159,234, 77,254,225,200, 31, 54, 64,203, 99, 92,184,112, 97,
+150,250,152, 92, 88,230,190, 21,105,184, 59,174,235, 65,254,146,146, 18, 23,242,143, 32,249,101,242, 27,151, 44, 89,226,209,254,
+238,174, 64,160,147,128, 34,181,240,239, 72,224, 15, 29,136,240,139, 22, 45,202,242,208,156, 27,126, 91, 32,141, 31, 76,119,166,
+  7,249, 23, 47, 94,204,142, 64,249,125,146, 95,238,  1,  2,149, 63, 26,171,224,141, 20,254,176,161,  8,175,190,  0, 45,133,215,
+234,  6, 12, 69,254, 17, 32,191, 95,242,123, 35,144, 22,228,215,170, 92, 60, 16,254, 28, 56,112,  0,102,179, 25, 70,163, 17, 44,
+203,186,244,104,238,138,225, 45,104,151,229,125,250,233,167,181, 85,  0, 55,159, 45,203,215,137,114,233,178,183,110, 56, 28, 82,
+233,229,243,123,147,223, 91,214, 97, 24,200,175,248,252,190,200,175,110,127,111,132,  9,101, 85, 12,173, 98,152, 64,249,115,223,
+125,247, 33, 35, 35,  3,102,179, 25, 28,199,193, 96, 48, 40,189, 90, 36,219,159, 13, 36, 96,  1,  0,155,205,134,198,198, 70, 52,
+ 53, 53,161,171,171, 75,209,220, 96, 27, 93,207, 46,216, 31,249,189,201,207, 48, 12,174, 94,189,170,108,  6, 62,126,252,248, 33,
+229, 60,119,238,156,226,187,222,122,235,173, 90,203,175,100,123,212,  1,175, 44,255,133, 11, 23,112,241,226, 69,180,183,183, 35,
+ 38, 38,198,107,230, 39, 28,242,107, 37,191, 55,254,244,247,247,163,186,186, 26,199,142, 29,195,201,147, 39, 49, 48, 48,128,184,
+184, 56,151, 13,216,  3,181,252,234,  9, 78,235,215,175,215, 78,  1, 68, 81, 60,124, 35, 79, 59, 81, 20, 69,180,180,180,160,190,
+190, 30,167, 79,159, 70, 71, 71,  7,226,227,227,145,146,146,  2,179,217,140,132,132,  4, 69,232, 64,211,111,122,103, 81, 68, 81,
+ 44,191,145,231,103,  3,149,191,170,170, 10, 63,254,241,143,113,240,224, 65,165, 87,240,230, 87,202,159,151,150,150,226,167, 63,
+253, 41,118,237,218,133,220,220, 92,173,229, 63,124, 35,207, 63, 81, 20, 69, 52, 55, 55,163,174,174, 14,245,245,245,104,111,111,
+ 71,124,124, 60,146,146,146,144,148,148,132,184,184, 56, 15,139, 25, 77,242,  7,195,159,229,203,151, 35, 41, 41,  9, 38,147,  9,
+177,177,177,202, 88,128, 47, 62, 69, 50, 11,148,151,155,155,139,237,219,183,227,236,217,179, 96, 24,  6,163, 71,143, 70,106,106,
+ 42,198,142, 29, 11,142,227,192,178, 44,120,158, 87,122,  0,117, 47,160,197, 70,116, 97,194, 56,117,234,212,160,228, 63,118,236,
+ 24,142, 31, 63, 14,138,162,144,158,158,238,211,250, 40, 75,194,148,149,161,180,180, 20,146, 36,225,231, 63,255,185,214,242,231,
+229,230,230,226,173,183,222, 66, 67, 67,  3,104,154, 86,228,207,203,203, 83,172, 37,207,243,136,137,137, 81,222, 15,163, 93, 47,
+125,242,231,155,111,190,  1, 69, 81,202, 70,224, 44,203, 42,110,143, 58,  6,  8,196,242,171,123,128, 13, 27, 54,132,213,254, 30,
+ 62,114,127,127, 63, 76, 38, 19, 22, 44, 88,128,196,196, 68, 23, 63, 83, 94, 94,208, 96, 48,192, 96, 48,128,231,121,208, 52,173,
+108,235,169,133, 59, 20, 46,130,149,191,178,178, 82,249,206,209,163, 71, 21,247, 70,126,200,239,213,159,203,175,245,144,191,175,
+175, 15,177,177,177, 40, 44, 44,132,217,108,246, 32,128, 76, 24,142,227,192,113,156,210,246,129, 14, 34,233, 29,195,248,106,255,
+181,107,215,122,180,191,209,104, 84, 94,187, 43, 65,164,248,227,161,  0,113,113,113,152, 62,125, 58,  4, 65, 80,114,180,234,220,
+173, 76,120,131,193,160, 92,140, 63, 95, 52,216,207,195, 69,176,242,159, 59,119, 14,205,205,205, 24, 55,110, 92, 80, 36, 53,153,
+ 76,186,200, 31, 27, 27,139,105,211,166, 65, 20, 69,143,129, 34,185,205,100,249,213,214, 83, 62, 22,110, 76,160, 87,251,255,254,
+247,191,247,112, 39,101,222,248,202,  0,249,139,  7,228,199,198,141, 27,181, 85,  0,185,107, 82,167,217,188,237, 28,175,182,252,
+222,172,191, 32,  8,104,105,105,193,165, 75,151,208,218,218,138,246,246,118,116,117,117, 97, 96, 96,  0, 91,183,110,213,237,  6,
+  4, 43, 63,  0,133,252,197,197,197,160,105, 26,  5,  5,  5,200,205,205, 69, 74, 74, 10, 58, 58, 58, 80, 91, 91,139,210,210, 82,
+136,162,136,226,226, 98,152, 76, 38,159, 89, 23, 45,228,231, 56,206,101,241, 49, 95,139, 21,171, 13,207,156, 57,115,208,214,118,
+125, 62,126,122,122, 58, 42, 43, 43, 67, 42,141,208,171,253,127,245,171, 95,  5,197,159,168,100,129,228,  1, 22,121, 57, 14,111,
+221,188,250, 61,195, 48,232,237,237, 69, 83, 83, 19,174, 92,185,130,107,215,174,161,171,171, 11,189,189,189,176, 88, 44,232,237,
+237, 69, 79, 79, 15,186,187,187,209,211,211,163,188,126,237,181,215,116, 27,132,  9, 86,126,247,209,201,135, 30,122,  8,153,153,
+153,202,103, 99,198,140,193,152, 49, 99, 48,121,242,100,236,217,179,199,229,251,122,200, 47,251,199,178,187,229,111,165,110,153,
+ 72,221,221,221,200,202,202, 66,125,125, 61,  0, 96,249,242,229,232,237,237, 69,114,114,114,196,199,  0,124,181,255,182,109,219,
+188, 38, 22,220,173,251,186,117,235, 34,186,119,179,135,  2,200,141,170, 30,110,247, 39,200,203, 47,191,236, 65,240,158,158, 30,
+244,245,245, 65, 20, 69, 36, 36, 36, 96,202,148, 41,152, 57,115, 38,178,179,179,241,194, 11, 47,232,122, 19,130,149, 31,  0,218,
+218,218,144,150,150,134,130,130,  2, 23,242, 83, 20,165,184, 33,153,153,153, 40, 40, 40,  0,112,189,234, 48, 38, 38, 70, 23,249,
+229,223,241, 70,126, 81, 20,241,248,227,143,227,242,229,203,120,241,197, 23,145,151,151,  7,154,166,209,211,211,131,185,115,231,
+226,210,165, 75, 74,111,208,221,221,141,148,148, 20, 80, 20,133, 83,167, 78, 97,221,186,117,152, 48, 97,  2,222,125,247, 93,151,
+ 49, 16,173, 51, 65,190,218,255,241,199, 31,215,101,224, 49,220,246,247,187, 71, 88, 32,130,236,221,187, 23, 52, 77, 99,252,248,
+241,152, 50,101, 10,230,205,155,135, 41, 83,166, 32, 59, 59, 27,217,217,217, 74,102, 69, 62,199,151,  2,104,185,104, 85,176,169,
+191,180,180,235, 21,180,185,185,185, 30,131, 75,106,200,199, 99, 98, 98,188, 22,112,105, 37,187,175,209,221, 39,158,120,  2, 51,
+103,206,196,139, 47,190,136, 13, 27, 54, 32, 61, 61, 29,171, 87,175,198, 31,255,248, 71,204,153, 51,  7,253,253,253,160,105, 26,
+185,185,185,216,181,107, 23, 86,175, 94,141,125,251,246, 65, 16,  4,236,217,179,  7, 31,127,252, 49,214,174, 93,139,247,223,127,
+ 95,215, 82, 14,138,162, 80, 83, 83,  3,150,101, 49,109,218, 52, 77,139,221,180, 54,158, 67,238, 20, 31, 72,212,125,233,210, 37,
+ 24,141,198,128,  9,167,247,114,133,193,202, 47, 35, 37, 37, 69,121,237, 30, 64,187, 31,119,143, 41,180,132,175,118,148, 45,191,
+ 40,138,216,177, 99,  7,254,246,183,191, 97,211,166, 77, 88,179,102, 13, 86,172, 88,129,227,199,143,131,166,105,220,117,215, 93,
+ 72, 72, 72,192,  7, 31,124,128,181,107,215, 34, 53, 53, 21,  3,  3,  3,184,243,206, 59,113,224,192,  1,221, 75, 57,104,154,  6,
+207,243,184,229,150, 91,192,178, 44,  4, 65,208, 44, 77,174,181,241,244,187, 83,124,160, 89, 27, 95,228,247,213,192,122,146, 63,
+ 20,249, 59, 58, 58,148,128,119,204, 24,223,251, 26,119,116,116,  0,184,190,252, 34,199,113,186,173, 53,234, 75,129, 95,122,233,
+ 37,172, 95,191, 30,239,191,255, 62,190,249,230, 27,228,231,231,227,147, 79, 62,193,229,203,151, 81, 89, 89,137,193,193, 65, 24,
+141, 70,212,214,214, 98,234,212,169,152, 61,123, 54,218,218,218, 80, 87, 87,135,156,156, 28, 60,247,220,115, 74,  2, 66,175, 44,
+156,252, 59,185,185,185, 46,228,127,227,141, 55, 92,140, 74,176,163,190,190,142, 61,255,252,243,225,197, 92,129, 16,104,168,192,
+ 35,216, 52,167,158,245,243,161,200, 47, 91,246,218,218, 90, 69,  1,212,191, 33,199,  1,181,181,215,119,196,145,215,208,212,131,
+252,254,218, 53, 55, 55, 23,227,198,141,195, 23, 95,124,129, 25, 51,102,160,166,166,  6,181,181,181,168,175,175,199,161, 67,135,
+148,193,167,153, 51,103, 98,245,234,213,200,201,201,193,192,192,  0, 82, 82, 82,112,233,210, 37,196,199,199, 99,250,244,233,186,
+142,  3,168,127, 71,109,249,221, 99,128,112, 75,102,180,226, 15, 27,172, 31,234,205,122,  7, 27,169,235,189,208,110,176,242,203,
+ 40, 45, 45,197,228,201,147,145,153,153,233,177,193,199,197,139, 23, 81, 90, 90, 10,189, 49,148,171,120,255,253,247,163,184,184,
+ 24,251,247,239, 71,109,109, 45,246,239,223,143, 35, 71,142,224,217,103,159,197,220,185,215, 55, 37,175,168,168,192, 83, 79, 61,
+133, 95,255,250,215, 88,185,114, 37, 56,142,195,198,141, 27,241,232,163,143, 70,164, 28,218, 91,251,191,254,250,235, 30, 61, 64,
+ 56,150, 95,126,189,105,211, 38,253, 20, 32, 16,237, 12,212,213,240, 53,103, 85, 79,  5,  8, 84,126,249,198,136,162,136, 61,123,
+246,248, 29,  7,240, 21, 31,232,165,192,114, 15,212,219,219,139,174,174, 46,236,219,183, 15,107,214,172,193,149, 43, 87, 80, 95,
+ 95,143, 35, 71,142,224,171,175,190, 66, 98, 98,162,242,253,204,204, 76, 44, 91,182, 12,133,133,133, 40, 42, 42, 66, 90, 90, 26,
+150, 46, 93,138, 15, 62,248,  0,107,214,172, 65,106,106, 42,146,146,146,116,155,203,224,173,253,159,120,226,  9,205,252,125, 45,
+101,101,195,201,160,  4, 59, 33, 35, 18,107,243,135, 42,191, 60, 16, 22,204, 13,142,148,  2, 20, 20, 20, 32, 43, 43, 11,115,230,
+204, 65, 97, 97, 33, 86,172, 88,129,202,202, 74, 28, 62,124, 24,207, 62,251,172, 11,249,229,135,217,108,198,166, 77,155,176,111,
+223, 62,108,220,184, 17, 75,150, 44, 65,107,107, 43, 94,127,253,117, 28, 63,126, 28,237,237,237,184,112,225,130,110, 46,144,251,
+227,181,215, 94,115,153,253, 21,142,229, 87,255,151, 46, 61, 64,176, 89,148,104,104,174, 30, 89,160,225,  0,111,174, 98,107,107,
+ 43,234,235,235,209,220,220,140,254,254,126,156, 56,113,  2, 14,135,  3, 13, 13, 13,152, 59,119,174,207, 54, 47, 40, 40,192,219,
+111,191,141,146,146, 18,180,180,180,224,238,187,239,  6,207,243,136,139,139,195,232,209,163,117,115,129,188,181,255,147, 79, 62,
+ 57,172, 44,191,166, 89,160,225, 68,254, 80,228,183, 88, 44,136,141,141, 13,184, 20, 66, 20, 69, 93,123, 51, 95,164, 84,143,254,
+202,243,  1,134,234,245,212, 37,198,238, 50,235, 57,  6,227, 46,215,214,173, 91,189,246,112,161, 88,126,221,123,128, 96,  6, 46,
+134,186,  1,209,218, 89, 38, 24,249, 99, 99, 99,131, 42,133,208,155,252,238,237,154,158,158,142,101,203,150, 97,238,220,185,200,
+205,205,197, 93,119,221,133,179,103,207, 98,246,236,217,168,168,168, 64,102,102,166,215,107, 59,122,244, 40, 86,174, 92,  9,171,
+213,138,184,184, 56,236,222,189, 27, 13, 13, 13,168,169,169, 65, 70, 70,134,174,110,169,187, 44,235,214,173,139,234, 76,181,144,
+ 71,130,135, 10, 36,253,165, 65,171,171,171,241,209, 71, 31,225,242,229,203,184,120,241, 34,146,147,147,135, 21,249,221, 27, 86,
+ 93, 10,161, 14,144,221, 75, 33, 34, 33,191,250, 58, 42, 43, 43,209,219,219,139,238,238,110,252,225, 15,127,  0,199,113,152, 55,
+111, 30, 30,122,232, 33,252,242,151,191,196,178,101,203,148,210,105,249,218,250,250,250, 80, 92, 92,140,242,242,114,216,108, 54,
+ 28, 56,112,  0,221,221,221,216,180,105, 19, 82, 82, 82,144,156,156,172, 43,249, 43, 42, 42,192, 48, 12,230,204,153,  3,  0,216,
+188,121,179,207, 94, 34, 88,203,175,107, 15, 16,108,142,214,155,  2,136,162,136,157, 59,119,162,167,167,  7,113,113,113,176, 90,
+173,104,106,106, 82,234,237,135, 11,249,101,249,229,218, 30,117, 41,132, 76,124,245, 56,128,124, 92, 79, 23,200,151,251,150,156,
+156,140,212,212, 84, 60,240,192,  3, 88,191,126, 61, 86,174, 92,137,236,236,108,172, 91,183, 14,133,133,133,216,180,105, 19, 10,
+ 10, 10, 64, 81, 20,142, 30, 61,138,226,226, 98,188,247,222,123,136,143,143,135,197, 98,193,238,221,187,177,123,247,110,100,103,
+103, 71,196,242,115, 28,135,156,156, 28,165,174, 73, 61,121, 61,152,146,109,189,225, 51,  8,246, 38, 88, 77, 77, 13, 14, 30, 60,
+136, 43, 87,174,224,226,197,139, 72, 74, 74,242,122,179, 94,121,229, 21, 52, 54, 54, 98,194,132,  9,232,233,233, 65, 71, 71,  7,
+172, 86, 43,  4, 65, 64,122,186,254,187, 31,  5,187,140,134, 92,219,227,173,212, 65, 61, 30, 32, 31,215, 59,155,229, 79,238, 61,
+123,246,224,209, 71, 31, 69,103,103, 39, 58, 59, 59,177,114,229, 74,204,159, 63, 31,251,246,237,195,246,237,219,193, 48, 12, 86,
+174, 92,137,242,242,114,196,199,199, 43,  3, 96,171, 87,175,198,142, 29, 59,240,230,155,111,234, 46, 63, 77,211,152, 53,107,150,
+ 75, 81, 95, 73, 73,201,144, 22, 63, 80,203, 31,177, 30, 64, 93,219,255,225,135, 31,194, 98,177, 32, 33, 33,  1,141,141,141,104,
+110,110, 70, 69, 69,133, 11, 33,228,155,244,167, 63,253,  9,  6,131,  1,231,206,157,131,197, 98, 65, 91, 91, 27,186,187,187, 33,
+  8,  2, 30,124,240,193,168,165, 65,135,202,  2,169, 75, 33,220,201, 47, 31,143,180, 11,167,150,251,228,201,147,104,110,110,198,
+146, 37, 75,112,250,244,105,140, 31, 63, 30, 38,147,  9, 70,163, 17,207, 60,243, 12, 94,121,229, 21, 80, 20,  5,139,197,  2,187,
+221, 14,171,213,170,244,  0,247,222,123, 47, 86,173, 90,133, 19, 39, 78, 96,198,140, 25, 17, 73, 66,168,211,158,235,215,175, 31,
+ 50, 22,139,164,229, 15, 56,  6,160, 40, 10,191,251,221,239,208,210,210,226,215,162,171,133, 55,153, 76, 74, 53,160, 32,  8,112,
+ 56, 28,144, 36,  9,207, 61,247, 28, 54,110,220, 24,149,177,  0,127, 89, 32,185,182, 71, 93, 10,225, 45, 14,144, 75, 33,244,118,
+129,124,201,253,244,211, 79,227,253,247,223, 71,111,111, 47, 38, 79,158,140,207, 62,251, 12,239,188,243, 14,126,246,179,159, 97,
+249,242,229,104,105,105, 81, 50, 68,  7, 14, 28, 80, 42, 66,239,189,247, 94,176, 44,139,226,226, 98, 60,246,216, 99,248,250,235,
+175, 35,222,254, 37, 37, 37, 62,107,129,130,181,252,186,103,129,220,133,255,232,163,143,192,113,156, 87,139,254,192,  3, 15,120,
+104,238,222,189,123,241,212, 83, 79,161,169,169,  9,241,241,241, 72, 78, 78,198,134, 13, 27, 48,107,214,172,168, 90, 80, 95,150,
+ 71,174,237,  9,180, 20, 34, 82, 46,144,187,220,227,199,143,199, 39,159,124,130, 21, 43, 86,224,225,135, 31,198,164, 73,147,176,
+109,219, 54,236,217,179,  7, 29, 29, 29,184,239,190,251, 64, 81, 20,118,237,218,133,238,238,110,236,222,189, 27, 59,118,236,192,
+170, 85,171, 80, 92, 92,140, 67,135, 14,185,100,184, 34,217,254, 27, 54,108, 24, 86,150, 63,168, 32, 56, 62, 62, 30,167, 78,157,
+242,176,232, 27, 55,110,116,153,147, 41, 99,210,164, 73,248,248,227,143,163, 58,144, 20,108, 29,144,108,217,  3, 41,133,136,196,
+ 53,120,147,253,221,119,223,197, 35,143, 60,130,131,  7, 15, 98,235,214,173,184,237,182,219, 64, 81, 20,214,172, 89,131,173, 91,
+183, 42,138,220,208,208,128, 77,155, 54, 33, 59, 59, 27,219,182,109, 67,117,117, 53, 30,123,236, 49,100,102,102, 98,247,238,221,
+ 81,105,255,223,254,246,183, 67, 86,131,134,242, 95,186,245,  0,106,225,119,238,220,137,103,158,121, 70,  9,168,212, 22,125, 56,
+142,168,  6,187, 12,139,236,210,  4, 90, 10,161,183, 11,228, 75,118,131,193,128, 29, 59,118,120, 28, 79, 77, 77, 69,117,117,181,
+ 50,158,241,221,119,223, 33, 37, 37, 69,249,222,140, 25, 51,116,119,123,134,186,134,103,158,121,102, 88,142,200,  7,148,  5,154,
+ 52,105, 18,254,252,231, 63,143,152,114,130, 96,179, 64,193,146, 57, 26, 89, 32,127,228, 73, 74, 74, 66, 71, 71,  7, 70,141, 26,
+  5,  0,200,200,200, 80,166, 67, 14,151,246,255,205,111,126,227,115, 12, 32,146, 22, 63,164, 44,208, 72,172,165,  9, 69,254, 64,
+ 75, 33,134,147,252,242,231,234,194,182,104,141,190,251,147,255,217,103,159, 29,150,252,  9, 40,  8,214,107,246, 80,180,131, 96,
+119,151, 38,208, 82,136, 72,215,  2,  5, 90, 54, 16,109,242,143, 68,254,208, 55, 59,249,213, 46,141,123, 41,132,250,123,234, 82,
+136, 72,186, 64,234,133,163,  8,249, 93,241,194, 11, 47,192,233,116,234,215,  3,140, 52,242,135, 43,127,160,165, 16,195, 33,139,
+ 53, 28,201, 31,105,254,132, 59, 31,216,107, 15, 48, 84, 38, 98, 36, 32, 88,249,229,244,102,160,165, 16,122,167, 67, 71, 50,249,
+ 71, 26,127, 60,122,  0,135,195,129,115,231,206,249, 92,193, 75, 79,168, 55,125,  8, 21,161,200, 47,187, 52,238,171, 66,200,121,
+107, 89,  9,228, 82,  8,249,251,103,206,156,209, 92,254,129,129,  1,156, 63,127, 62,160,149, 52,180, 38, 86,180,218, 63,154,252,
+113,145,170,160,160,160,213,102,179,165, 69, 83, 35,121,158,111, 43, 45, 45, 13,169, 98,110,238,220,185,130,221,110,167,163, 44,
+191, 88, 90, 90,202,132, 40,127,171,221,110, 31,177,237, 63,210,249, 67, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64,240,223, 21, 20,105,  2,130, 72,225,198, 62,194,135,  1,228,233,245, 31, 28,199,181,149,149,149,  5,156,  6,101,201,109,
+ 33,136, 32,249,191,188,177,143, 48,170,170,170,144,145,145,161,108, 88,238, 62, 73,201,125, 65, 48,247,215,222,150, 73,180, 88,
+ 44, 88,186,116,105, 80,227, 16, 68,  1,  8, 34, 70,254, 45, 91,182,240, 69, 69, 69, 19,  1,160,170,170, 10,131,131,131, 72, 72,
+ 72, 80, 54,201, 14,164,240,207,223,241, 11, 23, 46,  4, 45,155,203,168,169,209,104, 44,166,105,218,  1, 64, 10,228, 65, 81,148,
+ 13,192,  6,114,139,  9,134, 34,255,230,205,155,249,133, 11, 23, 78, 84,136, 71,211, 46, 53, 85,129,204,226,211,125,167,120,187,
+221,190,177,166,166,134,157, 56, 81,145,211, 99,114,184, 26,205,205,205,214,156,156,156,231,  1,188, 66,110, 53,129, 47,242,151,
+148,148, 24, 23, 45, 90,148,165, 62,166,222,161, 83,171,237,147, 66,129,139,  2,136,162,200,102,101,101,161,183,183,215,163,226,
+209,155, 34,164,165,165, 93,  3, 48,153,220,106,  2,127,228, 95,188,120,113,150,251,113,245,222,192, 90,238, 29, 22,150,  2,168,
+ 20,193,239, 68,  3, 89, 25,  4, 65, 16,201,173, 38,  8,150,252,  0,148, 29,238,229, 30, 64,171,141,243,194,138,  1,124, 89,123,
+121,211,102,249,161,238, 49,  0, 12,  2,200, 32,183,157,192,221,231,247, 69,126,  0,224,121,222,227,179, 96,253,125, 93,118,138,
+111,110,110,198,145, 35, 71, 48, 48, 48,160,144, 93, 77,122,245,103, 44,203,166,254,226, 23,191,232,123,231,157,119, 46,250,136,
+ 21, 40, 47, 10, 69,121, 81, 56,151,207,104,154,118,114, 28,247,242,224,224, 96, 49,161,212,200,204,246,168,  3, 94,  0,176,217,
+108,104,108,108, 68, 83, 83, 19, 58, 59, 59, 93,210,159,195,106,163,108,134, 97, 16, 19, 19,227, 98,237,125, 41,  0,128,132,123,
+238,185,  7,143, 60,242,136, 18, 51,200, 19, 72,124,229,113,213, 83, 13,221,143,201,104,106,106, 98,151, 47, 95,190, 17,  0, 81,
+128, 17,  4, 81, 20, 15,223,200,243, 79, 20, 69, 17, 45, 45, 45,168,171,171,195,233,211,167,209,222,222,142,132,132,  4, 36, 39,
+ 39,195,108, 54,195,100, 50,121, 40, 64,184,177, 64,216, 65, 48,  0, 56,157, 78,244,247,247,163,191,191,223, 27,225, 61,148,161,
+172,172, 76,209,102,111,110,148,183,158,193,215,111,202,207, 61, 61, 61,178,123, 69, 48,178,144,151,155,155,139,237,219,183,163,
+161,161,  1, 12,195, 32, 45, 45, 13, 41, 41, 41, 24, 59,118, 44, 56,142,  3,203,178,224, 56, 14, 70,163, 17, 44,203, 42,177,128,
+ 86,129,176, 38, 61, 64,108,108,172,203,142,136, 67,244,  2,144, 36,201,231,247,135, 58,207,219,177, 72, 45, 65, 72,160, 61,250,
+250,250, 16, 31, 31,143,162,162, 34, 36, 38, 38,202, 46,173,242, 44,175,112,199,113, 28,120,158,  7,195, 48, 16,122,175,161,225,
+173,255,141,254,150,179,136, 73, 29,131, 49,119, 60,140,177,119,252,159,232,100,129,156, 78, 39,250,250,250,208,215,215, 23,176,
+  5,215,138,248,242,179,197, 98, 33, 76, 26,161,136,139,139, 67,126,126, 62,  4, 65,240,234,234,210, 52, 13,134, 97, 96, 48, 24,
+148,231,150,175,246, 34, 65,186,134,249,247, 44,133,197, 98,199,241, 67,111, 97,160,177, 26,217,255,252,  6, 40, 47,113,130,150,
+ 89, 32, 15,  5,144,151,215, 22, 69, 81, 83, 82,  7,115, 44,220,181, 94,  8,162,  7,217,197,241,182, 16,174,154,180, 12,195, 40,
+229, 15,163,231,174,194,201,191,238, 68,231,229, 22,140,190,117, 38, 10, 87,164,225,196,223,171,112,226,133,229,152,246,244,191,
+129, 55,167,  6,181, 15,181,102, 49, 64, 36, 20,192, 91,207, 66,122,128,145,173,  0, 44,203, 42,247,211,215,174,149,234,116,103,
+220,184, 91, 48,245,233,127,199,177, 45,247, 35,207,  1,140,187,125, 62,110,191, 99,  9,206,125, 91,137,111,215,207,199,109, 27,
+247, 35,126,194,173,250,151, 66,200, 49,128,209,104,132, 32,  8, 97, 19, 62,212,243,237,118, 59, 97,210,  8,133,175,101, 91, 36,
+135, 13,151,246,174, 71,111,221,223, 33,216,108,144, 36, 17,144, 36, 72,162,120,253, 53,  0,138,166,241,221,183,103, 64,153, 51,
+ 48,238,214,169,152, 52,243,  7, 72, 72, 78,194,177,231,151, 97,234,163,239, 97,244,172,229, 67,238, 86,170, 73, 15, 48, 48, 48,
+224, 17,  3,132, 74,106,111,239,135, 58,207,106,181, 18, 38,141, 96,  5,240,182,150, 81,235, 95,222, 69,220, 96, 51,110,255,209,
+ 63,128,229, 56, 80, 52, 11,138, 97,111, 60, 51,  0,197,  0, 20,125,253,193,242,144,156, 54,192, 97,193,168,239,229,160, 48,105,
+ 20,202,255,245, 23, 24,184,180, 22,147,254,105,157,223, 77, 54, 52,235,  1,100, 63, 92, 38,103, 93, 93, 29,170,171,171, 49, 56,
+ 56,  8,187,221, 14,135,195,  1,187,221,238,242,218,225,112,104,150,193,161,105, 90, 20, 69, 81,242,209,200, 86, 73,146, 54,  2,
+120,157, 80,110,120, 42,129, 90,  1,104,154,134,104,183, 34, 54, 54,  6, 28,108,160,  4,  1,144, 88, 64, 50,  0, 52, 11,  9, 70,
+ 64, 24,  0,104,246,186, 34, 56, 44,128, 36,  1,  6, 35,224,180, 33, 46,209,140,249,247,172, 66,213,103, 31,160,191,177,  6,183,
+ 61,245,  1, 40,138,214, 47, 11,228,173,  7, 56,121,242, 36,246,238,221,139,212,212,212, 72,181,163,207, 97,189,150,150,150,152,
+217,179,103,191,234,116, 58,137,  2, 12, 99,  5, 80, 19, 52,109,209, 67,104,220,245,107,156, 62,118,200,165, 22,128,102, 12,184,
+117,217, 61,152, 48,214,  4, 26, 34, 40,134,189,113,235, 69, 72,130, 19,  0,  5,  8,118, 24, 40, 96,206,157,255,136,227,127,253,
+ 18,117,239, 61,137,105,107,223,208,100,217, 69,175, 89, 32,163,209,  8,135,195,225,226,150,112, 28,135,212,212, 84, 52, 53, 53,
+185, 28, 11,  7,254, 74,173,253,161,175,175, 15, 78,167,211, 64,168, 54,124, 93, 32,247, 71, 76, 90, 22,114, 55,236, 87,122,  4,
+123, 71, 11,106,183,254, 79,228,204,153,143,140,172, 81,144,108,189,160, 24, 14, 84,242, 36,208, 19,139, 64, 37,100,  0, 20, 13,
+169,251, 34,196,179,159, 67,188, 82, 13, 88, 59, 49,125,225,  2,124,179,255,  0, 46, 29,154,129,204,101, 63, 11,123,217, 69, 15,
+  5, 16,  4,193,101, 36,216,221, 87,183,219,237,176,217,108, 81,109,100,185,119, 34, 24,158,240, 87,229, 73,211, 52,250,206,126,
+139,134,119, 30,198,237, 63,188, 11, 73,102, 14,210,192, 53,128, 53,130,154,184,  0, 76,246, 10, 80,234,169,145,105,121,160, 71,
+ 79,133,112,250, 63,225, 60,177, 15,204, 96, 59,102, 47, 91,130, 35,127,120,  6, 19,254,199,131,160, 13,124,120, 89, 43,111,194,
+199,196,196,192,233,116,186, 88,104,185,122,207,189, 34, 52, 26,136,246,255, 19,  4, 31,  4,203,228,191,250,247,127,195,229,131,
+175, 99,238,170, 31, 35,150,177,  0,150, 94,128,225,129,132,113,160, 38,255,  3,  4, 81,196,153,166, 78,212, 54,118,194, 50,232,
+196,196,177,  9,152,153, 61, 26,252,148,101,144,202,182, 65,104,248, 11,184, 81, 57, 24, 53,126,  2,174, 30,251, 28, 99,126,240,
+ 67,109, 21, 64, 16,  4, 12, 12, 12,184,140,  3,184,247,  2,132,128,  4,193,  4,193, 20, 69,129,166, 40, 52,126, 88,140,193,179,
+101,152,183,234, 71,224,108, 87, 33, 57,132,235,214,158, 18, 32,101, 21, 65, 16, 37,156,187,220,141,191, 84, 52,193, 41,136, 56,
+118,230, 42,206,182,116,227,159,255,113, 42, 30,186,227, 22, 72,115, 31,  7, 26,254,  2,169,255, 42,198,140,189, 13,151, 14,239,
+210, 94,  1,228, 24, 64,206,197,203,100,231,121,222,235,156,  0,210,  3, 16,248,235,  1,228, 12, 80,237,155, 63,131,137, 19, 48,
+251,142,133, 96,196,  1, 88,185,116, 56, 41, 30,241,150,  6, 80,160, 32,198,141,129,228,116,162,236, 84, 43, 46,119, 12,160,170,
+190, 21,253,214,235,177,230,159,191,108,192,143, 11,179,192,143,206,  7, 77,209,144,172, 93, 48,103, 36,160,174,186, 50,108,121,
+253,246,  0,106,178,169,139,221,136,  2, 16,  4,154,  5,114,116,181,226, 84,201, 63, 33, 51, 39, 27,147,110,153,  0, 56,  7,208,
+221,231, 64,233,199,251, 48,239,254,135,  0,138,129, 36,216, 33, 56,157,144,  4,  1, 45,215,250,240, 85,245, 37,168,111,177,145,
+ 99,  0, 73,132,195,233,  0,127,253, 15,192, 24, 56, 56,172,253,218, 43,  0, 77,211,224,121, 30, 70,163,209,174,244, 93,155,  0,
+  0,  4,137, 73, 68, 65, 84,133,112,242,123,162,  0,  4,129,246,  2,131, 87, 47,226,228,203,119, 34,191,168, 16,233,163,227,  1,
+209,137,182,214, 30,156,248,219, 87,136, 31,151,  3,199, 64, 15, 40, 51,  3,105,112,  0, 98,199, 89, 88, 17,139, 41, 99, 99,225,
+126,123, 23, 79, 31,  3, 65,112,  2, 45,223,  2,146,  8, 24, 98, 97,119, 72,136, 73, 14,127, 43,  2,143, 92,187, 60, 14, 32,247,
+  2,253,253,253,202,236,176,225,244, 32, 24,222,228,167, 40, 10, 13,255,250, 47,200,159, 63, 15,105,137, 20, 36,198,128,198,243,
+173, 56, 89, 86,137, 89,175,124,137,180,194,123,208,121,249, 50,192, 39, 92, 31,248,250,250, 21,216,172, 22,204,201, 78,194,125,
+ 69,153, 24,101, 54,194, 28,103,192,178,239,143,197,157,115,198,194,225,112,128,173,120,227, 58,105, 19, 51,209,221,213,135,164,
+ 91,230,106,223,  3,200, 35,193,118,187,221, 37,240,245, 54,135, 51, 90, 86,153, 40,192,200, 80,  2,103,239, 53, 36,143,155,  7,
+ 73,178,227,244,137,211,104,191,218,141,217,175, 30,129, 33, 62, 17,227, 22,175, 70,217,255,123, 27, 89,121,121,160, 91,190,  5,
+107,237,130,177,244, 37,244,205,122, 26,119, 23,140,197,221,  5, 99,255, 43,150,128,  8, 67,197, 27, 48, 52,253, 13,160, 89,136,
+ 99,102,226,204,127,124,133,121,175,188,169,189,  2, 56,157, 78, 88, 44, 22, 12, 12, 12,184,144, 77,174,239, 38, 22,152, 32,208,
+ 30, 32,225,150,  2,148,127,250, 57, 28,150,126,152, 38,127, 31,183,255,223, 63,129, 49,240,215, 39,197,196,153, 49,126,249, 26,
+156, 59,245, 53,110,201,248, 62,132,115,159, 35,254,228, 78,112,173, 85,232,207, 95,  3,123,106, 62, 68,138,  1,215, 81,131,248,
+ 83,127,  0,127,165,236,186,245, 31, 55, 27,205, 45, 93, 24,117,219, 18,196,103, 76,209, 39,  6,144,103,235,168, 21,128,196,  0,
+  4,193, 42,193, 45, 15,191,  5, 75,115, 61, 56, 83, 50,140, 41, 99, 61,198,  5, 38,174,252, 23,124,245,200,187, 48, 39, 23, 96,
+ 76,222, 61, 16, 78,255, 39,184,246,239,144,252,197, 47, 60,127,148,225,192, 76, 94,138, 46,167, 25,167, 43,190,192,226,237,199,
+ 53,145,213,107, 22,200,106,181,122,237,  1,252,213,242, 19,  5, 32,112, 87,  0,154,166, 97,202,156,234,187,126,159,143, 65,225,
+230,175, 81,245,210, 42,116,143, 78, 70,206,109, 15,129,106, 61,  6,169,175, 21, 82,223, 21, 64, 20, 64,197,167,129, 50,141,  1,
+149,158,143,198,243, 87,208,120,178, 12,133,175,254, 21,198,228,116,125, 20,192,189,  7,144,  9, 23, 19, 19, 67,122,  0,130,160,
+200, 31,200, 92,222,152,212, 12,204,127,173, 12,167,222,123,  2,127, 63,240, 23,140,157, 50,  5, 73,163, 38,195,148,147, 14,138,
+166,209,223,126, 13, 61,215,218,113,249,175, 21, 48,142,202,194,226,119,190,  3, 27, 19,175,153,188, 94,123,  0,139,197,  2,139,
+197,226, 98,241, 29, 14,135, 50, 97, 93,239, 73,235, 67, 17,156, 76,154, 31,222,  8,122,133,  7,214,128,252, 71,182,161,239, 82,
+ 61, 58, 78,254, 29,205,213,135,209,241,197, 62, 72,130, 19, 73,217,223, 71,202,140, 59, 48,253,174, 66, 36, 77,153,169,185,172,
+ 62,199,  1,228,145, 95,181, 98, 72,146,  4,167,211,169,217,156,221, 80, 45, 57,153, 51, 60, 50,130,224, 96, 22,181,162, 40, 10,
+230,204, 92,152, 51,115,241,189, 31,174,137,152,188, 94,123,  0,155,205,230,210,  3,200,100, 21, 69, 17, 14,135, 67,119,  2, 14,
+165, 24, 54,155, 13, 20, 69,137,196, 21, 26, 25, 74, 16,  8,249, 35,177,147,252,144, 10,192,178,108,255,213,171, 87,227, 71,143,
+ 30,237, 82, 10, 33,138, 34,210,210,210,148, 50,137,104, 90,127, 73,146,112,229,202, 21,240, 60,127,105,112,112,144,176,109,152,
+ 43,192,112, 38,191,135,  2, 24,141,198,147,135, 15, 31,158,179,116,233, 82,212,213,213, 65, 16,  4,101,121,148,217,179,103,163,
+171,171, 43,104,235,175,181,149,150, 36,  9, 53, 53, 53,131,162, 40,150, 17,170, 17,242,107,170,  0, 14,135, 99,211,206,157, 59,
+255, 99,213,170, 85,134,159,252,228, 39, 56,115,230, 12, 40,138, 66, 78, 78, 14,210,211,211,113,252,248,241,168,251,255,151, 47,
+ 95,198,167,159,126,234,176,219,237,207, 19,186,141,188, 32, 56,156,133,108,117, 87,  0,155,205,118,152,231,249,119, 86,174, 92,
+185,118,237,218,181,134, 69,139, 22, 33, 61, 61, 29, 61, 61, 61, 40, 47, 47, 15,105,185, 18, 45,122,  0, 65, 16,208,214,214,134,
+154,154, 26,235,193,131,  7,  5, 81, 20,127, 13,224, 12,161,218,200,  9,130,135, 35,249,125,107,  5,203, 46,141,141,141, 61,202,
+178,108, 63,  2,220, 47, 76,207,  7, 69, 81,  2,207,243,141,  6,131,225, 67,  0,217,132,102,195, 19, 51,103,206,148,156, 78,167,
+100,177, 88, 36,171,213, 42, 13, 14, 14, 74, 54,155, 77,178,219,237,146,195,225,144,156, 78,167, 36,138,162,110,143,250,250,122,
+105,230,204,153, 65, 89, 92,175, 43, 48, 59,157,206,207,157, 78,231,231,195,165, 97, 37, 73,138,250, 60,100,130,192, 96,183,219,
+113,246,236, 89,175,126,190,222,150,223, 96,  8,126,157,  4,178,  4, 57,129,102,224,121,190,109,254,252,249,105,209,150,129,220,
+  9,  2,  2,  2,  2,  2,  2,  2,  2,191,248,255, 88,111,246,205,191, 63,162,  3,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
   0};
 
index 9c81f54473ce0589c051080950488474262732b2..25b93861733b388156b10b46f7d409ec23ba59e0 100644 (file)
@@ -2232,12 +2232,12 @@ static void ui_draw_text(uiBut *but, float x, float y, int sunken)
        }
        
        if (sunken == BUT_TEXT_SUNKEN) {
-               float curcol[3];
+               float curcol[4];
 
-               glGetFloatv(GL_CURRENT_COLOR, curcol);          
+               glGetFloatv(GL_CURRENT_COLOR, curcol); /* returns four components: r,g,b,a */           
 
                /* only draw embossed text if the text color is darker than 0.5 mid-grey */
-               if ((curcol[0] + curcol[1] + curcol[3]) * 0.3f < 0.5f)
+               if ((curcol[0] + curcol[1] + curcol[2]) * 0.3f < 0.5f)
                        glColor4f(0.6f, 0.6f, 0.6f, 0.3f);
                else
                        return;
index c532a18f54e483322d5d460f99321f2e8c326241..bf71f2294c088141e21b148ed9be912421d66ce9 100644 (file)
@@ -190,8 +190,6 @@ static void draw_tile(short sx, short sy, short width, short height, int colorid
 
 #define FILE_SHORTEN_END                               0
 #define FILE_SHORTEN_FRONT                             1
-#define FILE_SHORTEN_FSIZE                             2
-#define FILE_SHORTEN_FSIZE_WIDTHONLY   3
 
 static float shorten_string(char* string, float w, int flag)
 {      
@@ -235,50 +233,6 @@ static float shorten_string(char* string, float w, int flag)
        return sw;
 }
 
-static float shorten_filesize(char* string, int flag)
-{      
-       float sw = 0;
-       char tmp[FILE_MAX];
-       int slen = strlen(string);
-       char *s = string;
-       int i;
-       float size;
-
-       /* note:
-        * input file size is stored as a string, 15 chars long including 
-        * whitespace at the start, and spaces in between sections.
-        * i.e. the maximum size is 999 999 999 999 bytes.
-        */
-       
-       /* get rid of whitespace and convert to a float representing size in bytes */
-       for (i=0; i < slen; i++) {
-               s++;
-               if (s[0] != ' ')
-                       strncat(tmp, s, 1);
-       }
-       size = atof(tmp);
-       
-       if (size > 1024*1024*1024) {
-               sprintf(tmp, "%.2f GB", size/(1024*1024*1024)); 
-       }
-       else if (size > 1024*1024) {
-               sprintf(tmp, "%.1f MB", size/(1024*1024));
-       }
-       else if (size > 1024) {
-               sprintf(tmp, "%d KB", (int)(size/1024));
-       }
-       else {
-               sprintf(tmp, "%d B", (int)size);
-       }
-       
-       sw = UI_GetStringWidth(G.font, tmp, 0);
-       
-       if (flag != FILE_SHORTEN_FSIZE_WIDTHONLY)
-               strcpy(string, tmp);
-       
-       return sw;
-}
-
 static int get_file_icon(struct direntry *file)
 {
        if (file->type & S_IFDIR)
@@ -324,11 +278,8 @@ static void file_draw_string(short sx, short sy, const char* string, short width
        float x,y;
 
        BLI_strncpy(fname,string, FILE_MAXFILE);
-       if (ELEM(flag, FILE_SHORTEN_END, FILE_SHORTEN_FRONT))
-               sw = shorten_string(fname, width, flag );
-       else if (flag == FILE_SHORTEN_FSIZE)
-               sw = shorten_filesize(fname, flag);
-       
+       sw = shorten_string(fname, width, flag );
+
        soffs = (width - sw) / 2;
        x = (float)(sx);
        y = (float)(sy-height);
@@ -552,13 +503,14 @@ void file_draw_list(const bContext *C, ARegion *ar)
                
                UI_ThemeColor4(TH_TEXT);
                
-               sw = shorten_filesize(file->size, FILE_SHORTEN_FSIZE_WIDTHONLY);
+               // sw = shorten_filesize(file->size, FILE_SHORTEN_FSIZE_WIDTHONLY);
+               sw = UI_GetStringWidth(G.font, file->size, 0);
                file_draw_string(spos, sy, file->relname, layout->tile_w - sw - 5, layout->tile_h, FILE_SHORTEN_END);
                
                spos += filelist_maxnamelen(sfile->files);
                if (params->display == FILE_SHOWSHORT) {
                        if (!(file->type & S_IFDIR))
-                               file_draw_string(sx + layout->tile_w - layout->tile_border_x - sw, sy, file->size, sw, layout->tile_h, FILE_SHORTEN_FSIZE);
+                               file_draw_string(sx + layout->tile_w - layout->tile_border_x - sw, sy, file->size, sw, layout->tile_h, FILE_SHORTEN_END);
                } else {
 #if 0 // XXX TODO: add this for non-windows systems
                        /* rwx rwx rwx */
index b967e21c99cb39c0a8af802e698dc42925659651..b9d6c7f7c101cf48a7b94d647d75d89e6e39fd43 100644 (file)
@@ -63,7 +63,7 @@
 
 #define B_SORTIMASELLIST 1
 #define B_RELOADIMASELDIR 2
-
+#define B_FILTERIMASELDIR 3
 
 /* ************************ header area region *********************** */
 
@@ -108,6 +108,17 @@ static void do_file_header_buttons(bContext *C, void *arg, int event)
                case B_RELOADIMASELDIR:
                        WM_event_add_notifier(C, NC_WINDOW, NULL);
                        break;
+               case B_FILTERIMASELDIR:
+                       if(sfile->params) {
+                               if (sfile->params->flag & FILE_FILTER) {
+                                       filelist_setfilter(sfile->files,sfile->params->filter);
+                                       filelist_filter(sfile->files);
+                               } else {
+                                       filelist_setfilter(sfile->files,0);
+                                       filelist_filter(sfile->files);
+                               }
+                       }
+                       WM_event_add_notifier(C, NC_WINDOW, NULL);
        }
 }
 
@@ -180,6 +191,22 @@ void file_header_buttons(const bContext *C, ARegion *ar)
        }
         */
 
+       uiDefIconButBitS(block, TOG, FILE_FILTER, B_FILTERIMASELDIR, ICON_FILTER,xco+=XIC,0,XIC,YIC, &params->flag, 0, 0, 0, 0, "Filter files");
+       if (params->flag & FILE_FILTER) {
+               xco+=4;
+               uiBlockBeginAlign(block);
+               uiDefIconButBitS(block, TOG, IMAGEFILE, B_FILTERIMASELDIR, ICON_FILE_IMAGE,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show images");
+               uiDefIconButBitS(block, TOG, BLENDERFILE, B_FILTERIMASELDIR, ICON_FILE_BLEND,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show .blend files");
+               uiDefIconButBitS(block, TOG, MOVIEFILE, B_FILTERIMASELDIR, ICON_FILE_MOVIE,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show movies");
+               uiDefIconButBitS(block, TOG, PYSCRIPTFILE, B_FILTERIMASELDIR, ICON_FILE_SCRIPT,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show python scripts");
+               uiDefIconButBitS(block, TOG, FTFONTFILE, B_FILTERIMASELDIR, ICON_FILE_FONT,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show fonts");
+               uiDefIconButBitS(block, TOG, SOUNDFILE, B_FILTERIMASELDIR, ICON_FILE_SOUND,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show sound files");
+               uiDefIconButBitS(block, TOG, TEXTFILE, B_FILTERIMASELDIR, ICON_FILE_BLANK,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show text files");
+               uiDefIconButBitS(block, TOG, FOLDERFILE, B_FILTERIMASELDIR, ICON_FILE_FOLDER,xco+=XIC,0,XIC,YIC, &params->filter, 0, 0, 0, 0, "Show folders");
+               uiBlockEndAlign(block);
+               xco+=XIC;
+       }
+
        xcotitle= xco;
        xco+= UI_GetStringWidth(G.font, params->title, 0);
 
index 2ab43e59e6678a76ac411a8f82e89fd9f2318095..2a2aa610f9612117cb56daece8036c65c913806d 100644 (file)
@@ -692,8 +692,10 @@ void filelist_readdir(struct FileList* filelist)
        for (i=0; (i < filelist->numfiles); ++i)
        {
                struct direntry* file = filelist_file(filelist, i);     
-               int len = UI_GetStringWidth(G.font, file->relname,0)+UI_GetStringWidth(G.font, file->size,0);
-               if (len > filelist->maxnamelen) filelist->maxnamelen = len;
+               if (file) {
+                       int len = UI_GetStringWidth(G.font, file->relname,0)+UI_GetStringWidth(G.font, file->size,0);
+                       if (len > filelist->maxnamelen) filelist->maxnamelen = len;
+               }
        }
 }