diff options
author | Andrea Weikert <elubie@gmx.net> | 2009-03-14 16:12:11 +0300 |
---|---|---|
committer | Andrea Weikert <elubie@gmx.net> | 2009-03-14 16:12:11 +0300 |
commit | b907b9fd9b625bacb4500fb21b791bb109e1d10d (patch) | |
tree | 9e1b06a9d8137e552f7a0bd04905aba7fbafdf29 | |
parent | 2aa71b42266a2b1ad278eba0a343f6008a0d1418 (diff) |
2.5 filebrowser
* 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.
-rw-r--r-- | projectfiles_vc9/blender/editors/ED_editors.vcproj | 8 | ||||
-rw-r--r-- | release/datafiles/prvicons | bin | 10111 -> 9534 bytes | |||
-rw-r--r-- | source/blender/blenlib/intern/storage.c | 31 | ||||
-rw-r--r-- | source/blender/editors/datafiles/prvicons.c | 616 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_draw.c | 6 | ||||
-rw-r--r-- | source/blender/editors/space_file/file_draw.c | 58 | ||||
-rw-r--r-- | source/blender/editors/space_file/file_header.c | 29 | ||||
-rw-r--r-- | source/blender/editors/space_file/filelist.c | 6 |
8 files changed, 360 insertions, 394 deletions
diff --git a/projectfiles_vc9/blender/editors/ED_editors.vcproj b/projectfiles_vc9/blender/editors/ED_editors.vcproj index e05ec40d376..50fc9925d05 100644 --- a/projectfiles_vc9/blender/editors/ED_editors.vcproj +++ b/projectfiles_vc9/blender/editors/ED_editors.vcproj @@ -383,6 +383,10 @@ >
</File>
<File
+ RelativePath="..\..\..\source\blender\editors\interface\interface_layout.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\source\blender\editors\interface\interface_panel.c"
>
</File>
@@ -699,6 +703,10 @@ >
</File>
<File
+ RelativePath="..\..\..\source\blender\editors\space_buttons\buttons_object.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\source\blender\editors\space_buttons\buttons_scene.c"
>
</File>
diff --git a/release/datafiles/prvicons b/release/datafiles/prvicons Binary files differindex aa738174da5..5863afefbdc 100644 --- a/release/datafiles/prvicons +++ b/release/datafiles/prvicons diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c index e01d2dbc3fb..d3570808d6d 100644 --- a/source/blender/blenlib/intern/storage.c +++ b/source/blender/blenlib/intern/storage.c @@ -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); diff --git a/source/blender/editors/datafiles/prvicons.c b/source/blender/editors/datafiles/prvicons.c index b8b3b0eea7a..2a470e056cf 100644 --- a/source/blender/editors/datafiles/prvicons.c +++ b/source/blender/editors/datafiles/prvicons.c @@ -1,322 +1,304 @@ /* 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}; diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 9c81f54473c..25b93861733 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -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; diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c index c532a18f54e..bf71f2294c0 100644 --- a/source/blender/editors/space_file/file_draw.c +++ b/source/blender/editors/space_file/file_draw.c @@ -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 */ diff --git a/source/blender/editors/space_file/file_header.c b/source/blender/editors/space_file/file_header.c index b967e21c99c..b9d6c7f7c10 100644 --- a/source/blender/editors/space_file/file_header.c +++ b/source/blender/editors/space_file/file_header.c @@ -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, ¶ms->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, ¶ms->filter, 0, 0, 0, 0, "Show images"); + uiDefIconButBitS(block, TOG, BLENDERFILE, B_FILTERIMASELDIR, ICON_FILE_BLEND,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show .blend files"); + uiDefIconButBitS(block, TOG, MOVIEFILE, B_FILTERIMASELDIR, ICON_FILE_MOVIE,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show movies"); + uiDefIconButBitS(block, TOG, PYSCRIPTFILE, B_FILTERIMASELDIR, ICON_FILE_SCRIPT,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show python scripts"); + uiDefIconButBitS(block, TOG, FTFONTFILE, B_FILTERIMASELDIR, ICON_FILE_FONT,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show fonts"); + uiDefIconButBitS(block, TOG, SOUNDFILE, B_FILTERIMASELDIR, ICON_FILE_SOUND,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show sound files"); + uiDefIconButBitS(block, TOG, TEXTFILE, B_FILTERIMASELDIR, ICON_FILE_BLANK,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show text files"); + uiDefIconButBitS(block, TOG, FOLDERFILE, B_FILTERIMASELDIR, ICON_FILE_FOLDER,xco+=XIC,0,XIC,YIC, ¶ms->filter, 0, 0, 0, 0, "Show folders"); + uiBlockEndAlign(block); + xco+=XIC; + } + xcotitle= xco; xco+= UI_GetStringWidth(G.font, params->title, 0); diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c index 2ab43e59e66..2a2aa610f96 100644 --- a/source/blender/editors/space_file/filelist.c +++ b/source/blender/editors/space_file/filelist.c @@ -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; + } } } |