From 3b8a88de23ce7e2f781d418f02c82c2bf626b95e Mon Sep 17 00:00:00 2001 From: hugogogo Date: Fri, 23 Jul 2021 16:28:12 +0200 Subject: [PATCH] a la norme et sans leaks, manque le parsing --- builds/draw.o | Bin 134800 -> 138432 bytes builds/fdf.o | Bin 133112 -> 137880 bytes builds/modifs.o | Bin 134632 -> 139616 bytes builds/parse.o | Bin 131904 -> 135000 bytes fdf | Bin 140440 -> 164016 bytes includes/fdf.h | 2 +- minilibx-linux-master-bak/Makefile | 22 + minilibx-linux-master-bak/Makefile.gen | 48 + minilibx-linux-master-bak/Makefile.mk | 48 + minilibx-linux-master-bak/README.md | 43 + minilibx-linux-master-bak/configure | 95 ++ minilibx-linux-master-bak/libmlx.a | Bin 0 -> 110658 bytes minilibx-linux-master-bak/libmlx_Linux.a | Bin 0 -> 110658 bytes .../man/man1}/mlx.1 | 0 .../man/man1}/mlx_loop.1 | 0 .../man/man1}/mlx_new_image.1 | 0 .../man/man1}/mlx_new_window.1 | 0 .../man/man1/mlx_pixel_put.1 | 84 + minilibx-linux-master-bak/man/man3/mlx.1 | 93 ++ minilibx-linux-master-bak/man/man3/mlx_loop.1 | 141 ++ .../man/man3/mlx_new_image.1 | 192 +++ .../man/man3/mlx_new_window.1 | 79 + .../man/man3/mlx_pixel_put.1 | 0 minilibx-linux-master-bak/mlx.h | 139 ++ minilibx-linux-master-bak/mlx_clear_window.c | 21 + .../mlx_clear_window.o | Bin .../mlx_destroy_display.c | 18 + .../mlx_destroy_display.o | Bin minilibx-linux-master-bak/mlx_destroy_image.c | 31 + .../mlx_destroy_image.o | Bin .../mlx_destroy_window.c | 38 + .../mlx_destroy_window.o | Bin minilibx-linux-master-bak/mlx_expose_hook.c | 22 + .../mlx_expose_hook.o | Bin minilibx-linux-master-bak/mlx_ext_randr.c | 104 ++ minilibx-linux-master-bak/mlx_flush_event.c | 25 + .../mlx_flush_event.o | Bin .../mlx_get_color_value.c | 33 + .../mlx_get_color_value.o | Bin minilibx-linux-master-bak/mlx_get_data_addr.c | 23 + .../mlx_get_data_addr.o | Bin minilibx-linux-master-bak/mlx_hook.c | 40 + .../mlx_hook.o | Bin minilibx-linux-master-bak/mlx_init.c | 97 ++ .../mlx_init.o | Bin minilibx-linux-master-bak/mlx_int.h | 138 ++ .../mlx_int_anti_resize_win.c | 28 + .../mlx_int_anti_resize_win.o | Bin .../mlx_int_do_nothing.c | 16 + .../mlx_int_do_nothing.o | Bin .../mlx_int_get_visual.c | 39 + .../mlx_int_get_visual.o | Bin .../mlx_int_param_event.c | 100 ++ .../mlx_int_param_event.o | Bin .../mlx_int_set_win_event_mask.c | 34 + .../mlx_int_set_win_event_mask.o | Bin .../mlx_int_str_to_wordtab.c | 113 ++ .../mlx_int_str_to_wordtab.o | Bin .../mlx_int_wait_first_expose.c | 23 + .../mlx_int_wait_first_expose.o | Bin minilibx-linux-master-bak/mlx_key_hook.c | 22 + .../mlx_key_hook.o | Bin minilibx-linux-master-bak/mlx_lib_xpm.c | 96 ++ minilibx-linux-master-bak/mlx_loop.c | 43 + .../mlx_loop.o | Bin minilibx-linux-master-bak/mlx_loop_hook.c | 21 + .../mlx_loop_hook.o | Bin minilibx-linux-master-bak/mlx_mouse.c | 48 + .../mlx_mouse.o | Bin minilibx-linux-master-bak/mlx_mouse_hook.c | 22 + .../mlx_mouse_hook.o | Bin minilibx-linux-master-bak/mlx_new_image.c | 155 ++ .../mlx_new_image.o | Bin minilibx-linux-master-bak/mlx_new_window.c | 62 + .../mlx_new_window.o | Bin minilibx-linux-master-bak/mlx_pixel_put.c | 26 + .../mlx_pixel_put.o | Bin .../mlx_put_image_to_window.c | 37 + .../mlx_put_image_to_window.o | Bin minilibx-linux-master-bak/mlx_rgb.c | 764 +++++++++ .../mlx_rgb.o | Bin minilibx-linux-master-bak/mlx_screen_size.c | 13 + .../mlx_screen_size.o | Bin minilibx-linux-master-bak/mlx_set_font.c | 30 + .../mlx_set_font.o | Bin minilibx-linux-master-bak/mlx_string_put.c | 26 + .../mlx_string_put.o | Bin minilibx-linux-master-bak/mlx_xpm.c | 342 ++++ minilibx-linux-master-bak/mlx_xpm.c.ok | 310 ++++ .../mlx_xpm.o | Bin minilibx-linux-master-bak/rgb2c.pl | 38 + minilibx-linux-master-bak/test/Makefile.gen | 26 + minilibx-linux-master-bak/test/Makefile.mk | 24 + minilibx-linux-master-bak/test/main.c | 287 ++++ minilibx-linux-master-bak/test/main.o | Bin 0 -> 15656 bytes minilibx-linux-master-bak/test/mlx-test | Bin 0 -> 77032 bytes minilibx-linux-master-bak/test/new_win.c | 31 + minilibx-linux-master-bak/test/open.xpm | 1439 +++++++++++++++++ minilibx-linux-master-bak/test/open24.xpm | 230 +++ minilibx-linux-master-bak/test/open30.xpm | 1439 +++++++++++++++++ .../.github/workflows/ci.yml | 87 + minilibx-linux-master/.gitignore | 67 + minilibx-linux-master/LICENSE | 25 + minilibx-linux-master/Makefile.gen | 31 +- minilibx-linux-master/Makefile.mk | 31 +- minilibx-linux-master/README.md | 16 +- minilibx-linux-master/configure | 196 ++- minilibx-linux-master/libmlx.a | Bin 110658 -> 116068 bytes minilibx-linux-master/libmlx_Linux.a | Bin 110658 -> 116068 bytes minilibx-linux-master/man/man3/mlx.3 | 93 ++ minilibx-linux-master/man/man3/mlx_loop.3 | 141 ++ .../man/man3/mlx_new_image.3 | 192 +++ .../man/man3/mlx_new_window.3 | 79 + .../man/man3/mlx_pixel_put.3 | 81 + minilibx-linux-master/mlx.h | 4 +- minilibx-linux-master/mlx_init.c | 2 + minilibx-linux-master/mlx_int.h | 2 + minilibx-linux-master/mlx_loop.c | 39 +- minilibx-linux-master/mlx_new_image.c | 8 +- minilibx-linux-master/mlx_xpm.c | 51 +- minilibx-linux-master/rgb2c.pl | 0 minilibx-linux-master/test/Makefile.gen | 37 +- minilibx-linux-master/test/Makefile.mk | 35 +- minilibx-linux-master/test/main.o | Bin 15656 -> 59136 bytes minilibx-linux-master/test/mlx-test | Bin 77032 -> 100120 bytes minilibx-linux-master/test/run_tests.sh | 90 ++ srcs/draw.c | 37 +- srcs/fdf.c | 32 +- srcs/modifs.c | 24 +- srcs/parse.c | 3 - 130 files changed, 8652 insertions(+), 211 deletions(-) create mode 100644 minilibx-linux-master-bak/Makefile create mode 100644 minilibx-linux-master-bak/Makefile.gen create mode 100644 minilibx-linux-master-bak/Makefile.mk create mode 100644 minilibx-linux-master-bak/README.md create mode 100755 minilibx-linux-master-bak/configure create mode 100644 minilibx-linux-master-bak/libmlx.a create mode 100644 minilibx-linux-master-bak/libmlx_Linux.a rename {minilibx-linux-master/man/man3 => minilibx-linux-master-bak/man/man1}/mlx.1 (100%) rename {minilibx-linux-master/man/man3 => minilibx-linux-master-bak/man/man1}/mlx_loop.1 (100%) rename {minilibx-linux-master/man/man3 => minilibx-linux-master-bak/man/man1}/mlx_new_image.1 (100%) rename {minilibx-linux-master/man/man3 => minilibx-linux-master-bak/man/man1}/mlx_new_window.1 (100%) create mode 100644 minilibx-linux-master-bak/man/man1/mlx_pixel_put.1 create mode 100644 minilibx-linux-master-bak/man/man3/mlx.1 create mode 100644 minilibx-linux-master-bak/man/man3/mlx_loop.1 create mode 100644 minilibx-linux-master-bak/man/man3/mlx_new_image.1 create mode 100644 minilibx-linux-master-bak/man/man3/mlx_new_window.1 rename {minilibx-linux-master => minilibx-linux-master-bak}/man/man3/mlx_pixel_put.1 (100%) create mode 100644 minilibx-linux-master-bak/mlx.h create mode 100644 minilibx-linux-master-bak/mlx_clear_window.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_clear_window.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_destroy_display.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_destroy_display.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_destroy_image.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_destroy_image.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_destroy_window.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_destroy_window.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_expose_hook.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_expose_hook.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_ext_randr.c create mode 100644 minilibx-linux-master-bak/mlx_flush_event.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_flush_event.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_get_color_value.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_get_color_value.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_get_data_addr.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_get_data_addr.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_hook.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_hook.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_init.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_init.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int.h create mode 100644 minilibx-linux-master-bak/mlx_int_anti_resize_win.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_anti_resize_win.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int_do_nothing.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_do_nothing.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int_get_visual.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_get_visual.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int_param_event.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_param_event.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int_set_win_event_mask.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_set_win_event_mask.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int_str_to_wordtab.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_str_to_wordtab.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_int_wait_first_expose.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_int_wait_first_expose.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_key_hook.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_key_hook.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_lib_xpm.c create mode 100644 minilibx-linux-master-bak/mlx_loop.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_loop.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_loop_hook.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_loop_hook.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_mouse.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_mouse.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_mouse_hook.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_mouse_hook.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_new_image.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_new_image.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_new_window.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_new_window.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_pixel_put.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_pixel_put.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_put_image_to_window.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_put_image_to_window.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_rgb.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_rgb.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_screen_size.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_screen_size.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_set_font.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_set_font.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_string_put.c rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_string_put.o (100%) create mode 100644 minilibx-linux-master-bak/mlx_xpm.c create mode 100644 minilibx-linux-master-bak/mlx_xpm.c.ok rename {minilibx-linux-master => minilibx-linux-master-bak}/mlx_xpm.o (100%) create mode 100755 minilibx-linux-master-bak/rgb2c.pl create mode 100644 minilibx-linux-master-bak/test/Makefile.gen create mode 100644 minilibx-linux-master-bak/test/Makefile.mk create mode 100644 minilibx-linux-master-bak/test/main.c create mode 100644 minilibx-linux-master-bak/test/main.o create mode 100755 minilibx-linux-master-bak/test/mlx-test create mode 100644 minilibx-linux-master-bak/test/new_win.c create mode 100644 minilibx-linux-master-bak/test/open.xpm create mode 100644 minilibx-linux-master-bak/test/open24.xpm create mode 100644 minilibx-linux-master-bak/test/open30.xpm create mode 100644 minilibx-linux-master/.github/workflows/ci.yml create mode 100644 minilibx-linux-master/.gitignore create mode 100644 minilibx-linux-master/LICENSE mode change 100755 => 100644 minilibx-linux-master/configure create mode 100644 minilibx-linux-master/man/man3/mlx.3 create mode 100644 minilibx-linux-master/man/man3/mlx_loop.3 create mode 100644 minilibx-linux-master/man/man3/mlx_new_image.3 create mode 100644 minilibx-linux-master/man/man3/mlx_new_window.3 create mode 100644 minilibx-linux-master/man/man3/mlx_pixel_put.3 mode change 100755 => 100644 minilibx-linux-master/rgb2c.pl mode change 100755 => 100644 minilibx-linux-master/test/mlx-test create mode 100644 minilibx-linux-master/test/run_tests.sh diff --git a/builds/draw.o b/builds/draw.o index d50f2e35024029fff07c13b96b9cfa2b22e985d8..78c768d758b40ac6ded163f7374c8db9c9c147ea 100644 GIT binary patch literal 138432 zcmeFadth8gbw9q+dKHsEoWu!92!$IbAyOjAyQ?>O;FYwJ7Ox)Bu55=#Z)9m@i|Bw6(|mw9WbMAbp|9uOeMD`E{flCVvR&VUyoPdc@>kg!IKG{}QCPnEXqT zzRcurMf!4+e+AN`CVv~!SDO5*kiOdFZ%2B}C*^|5r%AY4YDf`fZc{4${9i`M*K>wp9rs@Pr?-7$ee1}v`yNIs3Ep~qSNSK~t~&9P zZRb3Rpr35J@no3)^^>Ocn`*QkZRaQ3&fRsBslAW2k9~dQ+fMM_Z##Y1cN%>-cv^ipcwhdJNAdU1Yo;?7J?3pA$0sg2o_}QIEhBe4v2o-xP~O+T(L0)dq`^FP*W(?7kzI0Uige+Z=>hLP zekERTfKd_4bP`1snh!w%>w{c(Ji zPT;Xu;%Ps&gTMwS8fv|Ay)NMHN9^5hOJ+DrplTzaYFL9CCq|A<-7|9ZmU|N0ZhKu) zsMS3+(BU+Y^Pc0Jb+i|wkf$@=CypmtP9D4e7|87L{5>OgjBNQOX~gl2^x{+v+*deu zB6sw`Gjc~yBy+uACz<(gm&_b*X!+8yA0NyA=)U}eM5z1n4>6H;kDkB+h`r%y49|(< zyS5(7Kk&nU0}VSq_3-ihj~c%I$`jjedju^Lqw^1Gne^Jc0iJ{@iaqQxhf{`tV_3g| z#~gybQ}-da?M){N$4=&seh;H~5~KJR7{$R$?~M-QvHxm0Y2OX>^7!b($ESXD$5YRI z>(74Pfbo66JmZ(1>T|g|uWgiO;^TB$lX4DMS7+n#DR$=mV}Eh%zwN>y?N*BP$`k85 z@FY_@_Icd0?IZagz4d3e*cyGGzhxU{)YNFmKlIN}3U6=7V|E{O?hfyI+0&x!+7|jg zzwLG3{+~x5y>sN~7e=1@d`kq=6h)K>9vgi?xek$qqRC5YV9IHX0O;IH@G=h^yVtbS zO!^MIi;5L7iuLEATrtvo?CWp+*?+aje6lO(=Hru0Hq*!R54`nfj{+r*-ts_VeZT3; z=HqT?^PWese$W)(>Ewf3Gx=Yzt>c@K3xFOU{RJ^|L->fD@{rv`M_Rg5Pi8o+LB3N2 z4wvJ~X!`P6&d zzl+)i%Rj&L3A+S#>)futZAv7zNMS1mHIaCt{3f@a!9uc8k}X?O z^GoZA)Ycimnr`5Q1~iWR^CZ8O`Q#S8MXw|qQv%#7iL{)2EfG_*cQAX#*3?!uAh&PX z(MaVmwe`2~`vm+;q%IG$*=GmPo-lh2vq^n~?eP|Q<>XdLq~)d`Hn85A_?P(38UOKm z^x!P!&-hP*P5$S6)>ei8g86ea|3A!Mr1}44-qZY}%s0ybo{?x^A+3c5DfDWgQ3|`X zutf?ZT1ZJ@LJLh&*r$c94fmmkH)-L_hOeS2 zgI|NZ(Fqp{wDCc+M9RqK%&MHkpQt&UiOpQit+A%$odr`MPEr-p}bd z2N>~Yz*1Yc0g2Bhy0F{Zh@^yaHU;`$7P=kx;7_LhjAu0vuK8U~J|}rWv#qb@Gc|jA zm^~I`pYRlRUiT%%?SfKJ%TLzkvB(%|Ds>Yc+o% z^Sd;E5%YtZznJ+E&C8n=HGc`=6PkZ2^JUHd8uR-!|FmBqf0O2)&ip~md#tmf`AeB! z*ZdCVH#L75^Doi-<;>rz`74;eP4mxS{&r0335-W-D@&LgjPRB780YQGHgF!~FD;h< zxqB2u=KQ(YIb3A6@veR6Zz3UNRXenfOpy}#V1SYMy5|pBDfn`PXpwCxRY~m>%epMob?frHS)jlxQ$lOdpN|suTx16uZ3u?pzVp$B$xrAI zK85{jyz8KrF459W32C{(yj~*ls^CTSC6lIY_AjOVJIMYuX?_7ia&E&FXKz0%dG;k| zpWATW8RuO1*8U6epeHAiXFv0-YtAZQu9BB0&N}OQQ~@J2S&)L%Hb8l~=@|(oXRwSV z+NpP@3frG`@wFFYg&P3sD&WlR4au|5I*YA0;J&k-6g-N{?}?^}`&oRF?FdLmLqlOZ z@7Q)J9=H=1&)JS!`HXWf#Q>j&JGW||dFS@_hG$)@FLC9?e6?K{y}AEl-hX~7sMv_{ zy8uP=t}H$|>@SNKqG(!W@uHfo;_1XST}eVF?Sv<)r2~6mi`G_VpJ+%v{VbIck_~63 zq@CoJC#Eps82)Wf(ppbByXolyxOAHWK9D>|GapQzYwrF~@;ntFwj@s^wU1-IYEy;6?RPxn^i_C-mqT%A?lg(2V zq&Gd#kW68m(CtgytI1b1JVmQDeMQ!QY49H!%tQ3sqy*Eq}40EhUs7`Ly<`X-HnWQ@fSilGeMoB(KQWPG6Z#35hTbrF1fq zUv22n{{`5zCL;JvrI+3^qPiUsY|r> z=NfW)Nw55{q2IjAdm0C}B;VUOXo??W@ehOI-?8}Jp!mMzfO)0lRwK#V$7{R6Lb^O} z2l$F1ixgL~E6J8KQokmd%ZBxy?Pe^J7mS#i0yhuRI!7A{4lsE~(-Z6h-jV2u8UyZ=8M&MT?@T(E{|K|vZG$4{#>KP&vw9D@^<@Y-NN)2dqkQYRv4DV<< zOlZ@l{2r0t7s>C7<@Y7>dyD+iZzs|8GWoq#WZkBhYw`+Bj%sq7Ca=`wRhqn7liM{p zrpaqGIj+fTHMv8R*GZE44Ncyu$%i!gs3c7fXzA}X`Fl-%sLB7;eX7h zT}#I_`H&_b)#T%v+@r~7C29I&EqzW)f1;%mntVZlU)0ilbZaQCV#1knV5&P z^e>wHt0w=c$*npwR96FKF^bO}?bb{hEAPlfTmBo0|NiB+}BE(mqTP z!BfO|tIvY@gm5vkrp}f8dGf2PS+sK1P*u@O$r@(6O;<=g!HK4wlJDSelj6j+lFtb| z&tK__sFf)%D1SyL;j^0ju_m9>2?$zY;ntVZ%FKY57P1M&Xb-$LrtjV8h z@(oFv6a|{@(y@B8Bu#gRL#8h;nytL5sqfT~VMy)Zi=?{bcR+rJGup;S|YA-yefm3E*+N~a|& z`EL2ur7Dw?68$*UFL0Tn)QIE@@>`VOarxDEn3B9M@aIeZCi!*W=LG_}S$-GgSKnt< z@*DCiZNTH)-+~P2R4FA=K~D()%>|9Zh~u zli%0G(2+mX(#JLVlqUCR@<*C{S`)=jnU6T(yH4Kidim9nRq}U}K$QH=N#2=rY3rNX z`nNRswj^?4zf_-*Umaw(8AYJ@kP0VF9g(|~q6#N9bX9n$w0@D)P!zsQ^2)oflzg-N zDl*9$PbuAR6S(qsS?{S%f#@PoBXI51h$5&iuVI0> z$f^r&Lf|F&-6OxxQZ@v&ej!@*V)o}a%V`FKDY4_ zDV-;sA)Ol~13Di%6N<7qsjuU%W2$68NtuqX5`(hT)KT6ic_nT#;wk0-Hwk>d{3`ys z3qVPQ61^p#WyjeG|)RI{~uhG(LHF=#TcWUwmP2Qx5 z5zpSLC9}}X3Ntd>Z|Sw)*5r3I`CUyusLAhZ@)1o`x=a0`mOi1$r!+AlpINR(2shIA zNv&e!K(mJLSKyy&@)b?Krpebe`GzJ&aQwEG{#uj2)#SUHJgCX{HTefk{!tU|!eeFs zvnKzd$^X^l-!%DmP5wiZpK0=6n*3ao|Iy@8O(&S$?`H3b!)#PWI{Ff#_*W`aRxfLu6^L|v5S8DQVO^#{uT1{TB z$z7VfMU%H{at)n$QIT{rqE1 z{zQ|LntWc9FKTk1CSTU%&oud}CV#HUUug1|ntW4}Z)@_`n*6OM-__(nO}?+mLz?_R zlZQ3=Cry5&$-ipyV@-ad$xk);PfZ@t9^ixr8zqF&GnF?QbDg!qHk&%5=b&}_+Fn)vFr)@k}@+t`4#JtqIkQp<2+A9@2 z_5Pwl7L$;)U-Z5^?CqbyIBdOAMSyj#k|;zy!T38gmAXiB>1mB8cm*D6O54OoG)d?lPe{!*rzIj_EPXcYHNR_*Qs4n zTgIeGMExe2XK@-$G(DeJn|@t>efhmfer0@973NcO@_T^4(oZA18ui!6r$#VUiBvk_ zF6~RC2_0UgOs8H{`da!LuKuHoRbNceU$vTG5L4RmS$Uq~zH~-0PjFe@K|3L#UK~ zjdE46H}yQp3-%hNRj@a8lfV@T_Dg<7egz?9#C6@c@2o9KZK4tKoByaL zM&J0DmQ?L%`n2Alibm6Cwe-hY<)kLHO!!TzXf%CAZ%}=s>1$e2y`kyvwPe%>Bi!GC zdByv`QIpSVV&v+3wPXb9`?X{Qnl>yn2|e;r1>@lzF(8unxx7rHF=dL zuh!&tO^#{u8cmLC@>)&q(ByTRyk3(#HF@h9()8OjdAlZeYw`|F-YJQ!k!nikP*l0D z-Br4K9vc>@5`HE5O0Rn5p}Jm$I!V1N1o{m5y;6QphgP;r%{avrD%s?6Ze=e0QvdPN zshi}kIy5NGQ&R_}zVZ&0;BFR(@{vW!FUha+loiRpP<~hCcU^ur zK;2li7J6f8yIrptd;M#)WbAIndT-2cuhVPBmT%-sV~jJF{hw(Sqb3*|i*9sUbE%;O zZ`8GB%nfGIe^`OWUSMnj#tKk#ahi=av!kYKRPe)*tqk7~87CDV*+U!}xkqJ$xY+VE zR%p7MzbU~xsaduAv{W}lL%E+(R!v3ueX1G-85zEx7$0{5@B{{dpn;sw;o=U=htm_?MSrQ_>X&yb;H1D`Ly|!M#>YH7iKHNUTQCVA`ovqBZAH<*~l>?;HLWy*R+t6#KD@j- zyEgwK)4zq~r2}oV%NzR_3}9`2V?S$d+aOj!t%`YLd9qEPe7CzKU&rvnWwER zug!1z7zotG09BR_&95#mEmoG+Spg6kJ@mm8XO@@dmZld?56l=!BU&9pftN=fuX}iU zetm9X`hdBWMZER;hAGc2EKjd5>1~>Cn^|65Ts9y(Z5W3cyui)&b)+yqYm4jii@}>R zziKaV=9bpm@Xs`e!yxn1%%f{T9&fn+$a-b%@brrI#FpAJ-3r)X3vKhW7?Sz*BMMuq zEL3JVWawOwM^kI_2i7XQqY;C17V}M827N=)cmpM>; zf>XppR@M)$0*CDQaE=7fwsvqDIN0V~aI3aWug(y^QGa@Y7=b)SLMNzEg-vA6Lw z+csO7Spd!}!s5!@!g?D=p>46UesGyflE9U=h2;ap9xcpaU2B0Y1E&|(uzVI)uzcn= zmS)!HmzNAK1=qE@?++D@C_esdD|Tar@TiY~B5=t>cYv1LQir?VYIJ$e-k= zn?Bq4E?hWt&Sj0~fkF8GV1A(JmkOhUAOHvEJiPEwvE1Fc&mYN^{2QhU`LaKj8}ofH zgG-~i^2k80SlriahqiTXV{UGKvla8a);hfoI<~*X(~4|)pV#b7@W93XYy0j0~(wlSm1GH3lPJVpI zpD2$^=5vGo!1&l;u3Vn<%U&n07K#%cS$}+J2)_eE#oTbo+tIezk==o7d;L;*d}3gH zFyD+7+2S>8a_zNVulEu>pl7Zn;cqN$tW{>S34fsEPmGre`}{pUVXOUxVZVrOY0IZk zC*hX{ct@VE;kgC5vTuAMKj!ZnnDY1JCrgF#F{u)RqVt$DywV_^?|a<|fA7FZ4)2V~ z9YW)SnAN%Yh04-0TD`I4m-5B@K-nMRl;ZgV#oc~+V7Ihw@&eCI4hP*bd4X5GvD{Y$ zLyvN$(XrfUzIld>fGA-ASzv@eRl?*JbN%_EKQW0uVhUS5t%+OB9F|7LC(C#rjJDz= zdNYQ1l9%l20Cc!m=pXPg;Q7h19I&{Yn=BW`hW!ytJswaPohar<^JC>)nPVrNNBt5o zI2>>npbrw1%B21Lz6m_NqnACpVG77pzHuV&k->T(aS6XL?jM>4C0JYcd>^vOj4k2@ zyr4f?C=JM}iQul6$#wu06?sPUrBZG4uZ;Yoi| zhB}z!Y9QWYZh3Wme(s2GmoDBE6u+{%Y2RyvcGKRhv49v>|X_#>F2N#JR&l=m_nnRE}a zV4^%ZSQr|T3F4aX;i7l`iZaC$g@VBe(5}JZ$=s-*XdH|d%|gM%V$5V#u^?CzYugX+ zlM*=Bihr;&f8Zb{zrRo}VdeIZD(%!MDo^#7bXobu!Tus%V6ZUR%mvW8vbwy!+~P6s zNnX3k$tSvN4^d(P{UUMmhcKm86wZ0sxhcFZ$#*8(E5ob!+T7Ni>CCpEvoBa)ZJwWeC#R?Ec z(8GQGrLI%a!c$zA!2l)9VeyuxCMK}(WkjMN^bQCy1QaPxqE8{l`5@L1U@OyezTbk* zaQbERKoc#0sDUd!=ZMz>#Oz38wF3jj@?~(L-CUBOgTE3(_oC0WVc5v(z1KZuaL^$TcNxyWSU}KI=Wh{hmD+ZN; zEKlYJbY)2n4NGTzhfar2Uz=Z=!%FfJ&jE$jH-@-7b2AyIz8dZ?jesLr5}N^|^^Gnh z&&&D~SpUF+f!!11KtbtRH4yg@?I>Lp#=xBmuOTmJ5*xc6H*O4K5tW3{#S%y~{870~a z>FvL9>59E7{~)6>iNrab3Rzt1bRTAP#>p& zK3K7NaxWLDl2J;@K>Qp~5kox0;X}y(81xk?!m5?MB+um+tP#bYWsoA(>aV z9jF8L(Uvq$=AaFr!@!sjFYqRXlIV>6Q$u(a2y5v?DWBg>%;MArQXjLH1rZ$`6{U)S zL(nr+0C*`=GX|19IW;!mah_~J(1wy~d6M$2%pCA10!jFLa#+kISLzSMgHUj$@aa=% zgRR7o2}z@&4f`t#8*6qHN+Wq7D!MgZ#Of&zqRwb;xG;csAIkL)P-3%H_Y4+Fx&C6_ zyYhMIEAarlJ%lyE5YVJhX7&%y!2W#FL>pHqfvcRH-&cm(m>(2e zBso{sm>+2Dd*Yok-; z{66XK)ELzi-UL3l$wj^CU3MAs01=-ov0-D;Va3%NvJP%@s4H}t_Kxl>s7?%5!9~)uJm62y&aTRgV5#Db%Ha59=HpoEWiA)4B~s0-Qog+;7mj$wne;_5I{?$y zj6c)Y2UM(VPOq-|(}$+#7p7snWjne)_HodvL{vNhb|~1HDfpVDdsR#GGnmhUJnBW2 zg}D%NWiD>KBDMcO7Z9${U&7i3>j|v|vNS;vp^TLMT(K}bMjaYmroe+iGNu*7_-_Pg zBtJL>F+zpq`j=(Q0=349QP5P~bqpy`=fc(3WF}ldsDR;(mAe^x&_MG{i#G!%k%iVi zSq7uXv;&vHATr$`C0$*aY*$Z5A6MDLWNvsgM;S}ZBoGs{qFgCDkdG|Vs0Q7D_6g`%}~Gt`s0 zm6?Ua z9BdWAoTxzv`T`J$-wNsmhJ+4z6=?J80fjzD3LPSg86${RF>R!0tLbx_T;CqhDZfn~8p}50pbX0*fU?-?2dtGfc}Pk?BI?4P zIKWkm&VZg%iUs*31+FTizN*jpfdUL|#;llC@;yEPfvyuYA|Q7q83v_orRry?X0~ed zF|ceXZD zOA4P_1bY8ONas)rRXZ5l@Y> zFCwe8&rMRZ7qVb1%BB1bSOaAb<^;-`D)VqWWPGqA3o&qhi2#Q-W_$NhAjddxH&vH0 zdNW}xwbC_PNWj7d3)eo#>DaXh@_*(drE>eH7khc?38O(TUdX$ZDs?sC2J% zW~ui4+S2kWXh~G=vrt3#_7;X<8^(TCey~|RA;hX`tSn^TS{5gX7T8y1Ytp;g%d~jc zUoXFEStXVi@&kTXS0C*6+zZ?1>Qa%u6ES0NWCnvA3lztd*HN2{XV4$bkCKj!_dgp( zN`tL6E}$icq8Wu>8GN|dxalmW>%s9Uni5Di_S5IW&vbLdFwNY1g1u>Z325B>;*j4d z`vV*CAbUZ$^*6oiyyk!%2A9#uCU9w9ByuZmV!I#X49RzekJxM>S{}mv_UXZOm=~nN zHC|<5t%B>u;<{sXdG)Y&d2g$C#o_c0@0s3?>sEKLDx_Kz0Fv97pPAVqxP0gu?-nwX zK=TrbnH#l=LC|~0V6>*Z09z2ZFH15W;CEHhirECENKHFA$WK;nQ2`zcaR@ibDXdNz zj>t)57tF3zXgcez+Q@O%zhUjQYpBRWHDcX6EQvs{jXg-i)%aAITM+}}Q)6YjUqDR+ z+XW!8Dk`n4uX=45u`2NX>9tBr0zOEf90|zacq{f^&5qKitd)f^GX_vCA&Y+k_b9Qi z32zW=RUYttU5%j}pu0(K4PuS#D+#Mum^rw(Z1z!Afr{_Whf+CLq2M@)f~-TTM!7L) z-85gT4jF1wE6ayz@Bt#2tw}F2T7)x(Cw^;iO<7o8^;hOMD+|F^6twjI;%=elc8|B2 zd*NkBy-4jvD+LX6Gj9kcSCxP8Xg|LP0`O?QJTg9rg$1(jAQdS{cbYUrkc9{)Mv(n0 zD?(hslk&MyUHT@E`&B@2?eI{$(E~?sP-#qWF%|w>ROxnw~ccimj zy@!>q2hk0^@CDl5S^$ zC2Tj?yi;FJQ22!x9_AyEeK~g)=vgRwO~z_eJC1|0RA^vOqR7v5y>iy=u8CbDQGx?u z$oSD1H%PNRtxUKkBkYG&mTa&FHv_8i{b8BVH$^4^-Ftd|3AJ@`EX?0rSvb-RsZxg1 zN}({L!Y3A%O1aP~2g7&8y3~QKv}`ZD&AMS;>&o`_ zcJ=jUXko;5X(tdV(+wLaOpUZOqIV!P;hqyo`q1EzRbm4&*db&gEOH(|n?dbp(hWof z3aup_Bdiyr;2PsuKojF&S!~+)z~qe+W#?g1#?vsNoJYzcK)P^a5#nQMpg_wGX%}pF z+?({L7iVEx$iSuFQJ(;h%3F9@k_alSG&n(w9H?t_3f!Y8)AJ5GFp9wu3*NXJw|eRn zE1HCDHGa8ORa-n+Si*3AEDw1FIyAjAxf7U4U=M)LvD3XYy#&o=#||trIA6oKPmdc) z&Mc|OjMmh3HsW-Mp;EU)lDiw!eq~vcQ7M2xIu@XDQMF;I z7GJ0;>rDiVev%>v9;>*SE~|Ep(k_bTXuO0Y=U(`n&|y>rk~(lWi$fGav(~B0;mYBT zLm!PFf~znr_4Tn3kO;@ZOcEgsYG7o1?-;saMM;lLsv4Ns3l@vElouJaF6D;uj`C(r z0P@<9q2x{7E^=n3isb?(C)|9DK+st_jTxF3j+D|fxhftcB7<_jj%EvBI)rR9u6^x& zkM);__h9EBD56+Qx#5b9<%faqu7 z=tQG@4Ns@AhNoB6ixO){JfYA6q#$t)b?p@HrqpQj+L6Wm%M0XT&bHPl_20AhK}8wimQ!PGel}O|N-}D+>#)-u?|J&~O!9 zm`2~0ar0_rarsaM{X}=xmT~^YD=&L+Mz`I>WAyk|ynncRc77GyW#LG>SD5pTEN=h+ zzP^l(Ey1EPi$_RX(;nVyy|Rdt80su6f*$TSW6>)2!kn_PFbnI8*5dn3&%r6!^Z+8E z_QAeYdrN}+Uw!v6`e6an#>FTkKfBwMWEo}p`rw=Z2p!+%X0VkSkvzEX?FZgixCSOa z1bT~_xQ9}>peSiYKv;yE1SM1pxd2@cxt|N5YznE)@HpHhC_)4%j4qGW!r{>Q*9&Y% zr|{MrL!;Pr&4DUlBWr4M!0c(!j$k$)#HLUfH>*|Y&-jFK?RQ8U6cv|a2JDa;HU*Zr zR#mN229g|=F>C$hUV%C*i7({gja7~y2{4A%u~TKRrzrG9O$aoG!^^^UQ-|xZ=GaUw zxMGH!9Wo)z7}$=VazsTO*)Ueo>uA2)OG}4VX-NpL&QDH`jf-Rm=0kfUsc4|0tI6Bg zE~0NxP2C4z#wx&7fL$>M&s=K+Sn^7xaA zKd_>YoleWKgAyJ-RFdN|frAk!o5(OFv7~am6BBUa04fPP^#`XW_|mc#V23hAXA@F4 z%B4Ema(!)e{X}6>4?7$C3ZbqW7A;HMKJsH!-9$%PU8kXIo`! z#Y&AXSmvur(>FfUF=%2CvXA&&bfWiD;SrdCe1zh+OU8Tml?r@axCocv_`&W}K)*?` zhXzYR2%yIS^jxWwFP3rmpym1W6z5H&xzcU|LKks!V$)qI`WbIcY4mPq8B0z zSzMCMuBZ>V$Fq&gV78jz4iUzyTz$IHwa{)uVrSPWcln4JcFQOf%K(>7lFQ`8ZPVG; z5L|G)l#O-NP$kz+0QZz^8m@V8hJ>l0v$F%LO%E&paHQ?+h7BjvlYzfVA3V8ff1_LU zX`G#-Wke6527{WgXY14~%nou-kNXDH4)Kbh{K1}bEjy262bx%&KCn0q2lUX|6PN~R zJt=wVR?^Pg7>?OM$mH>|5!YG99BQDn9&+i>Yg{C?OvdYJ?`ltbZHwz0OO@*mRF*1` zzfj~M*6Sdt;;ggRcA&#+n_HWPpEQg?*U@(m<|=~Lr)O@)f$ZgVIg5&Or#REhtp&5p z@Zvk9eI5>U1V;508_hj?e6m^k1{yh0tdc5a&gnyeT3)1@vugz+<6*;`2X(l=spoL8 zZ-s?|b2(TKn(?uCa6~HngTS9oZ^&+6uk0r2oiC|(t0)NJ?dH~wEbd*c;86LJeK z9;q=TN`S&CH-Z`UbL9ZoaFo4*K%cTs&s>M0VCi+jomE@1>W?a0P;Y=#(iR*9_u^4| zyn5S3H7EfPiY#CDf#zl_Kq0!xVI08X9L^(e83k!)jExDH>?L-?l^%i--xf2T#8g;bZ4D696HFD3Ib~$ba8uUd4nQQ;c|j;013eCvVJpmfn4vwz`cwU0YIfZSQ$ z9w!Bj1ghKg5$8hBuXXNI_e~=e%|RKl&1*XWtAr?J#}oYY;QI1@xP%$&rfm9S-vdQK z09lCPPNruM;e{YsgOmATEOJ?Un#Cwpv0&N4QXl);S3oqXRx^l7Y&iplwvGRwvtiiL zj=e&vt~i>~o9*m@qiGhbx-;F?NB>fA>%LxW7MMxy0rDDG zcl81mn=C@y9wn2;U~QHfu2m^u>RS=YCu%mbzwC}Dyw0)QH^pWU z>{K)lk&gsLpTu(rxAQc#dnhV!lfx<6(L5-+ZfonlEnH^-$yr~o@hSLCs%^m)7Of{d zU_V!+QtdQ;5;3yl{gqVXa48<`%o^9U*fImpt7kfT2J?o{QiC^?{=Cz;Xdn z!yu!&s*a6do1rYLp$1%@u_r{4Q0>E&y#rV-bT+_<_L6B$oqBS`6b~&Yu&|he|D2q) z=|dHtPCaNw2&pL1@`9qywQ%`~uBJ=J<52-{!`1cXL#<-OwQ@iNj+??U!iE`I2@THH zJ0Vb{>t2$(jLpFb@Btzaw>i|hF7D|-kAM>sB{5g(*@tx$<~fW&VV;NR>ti*Z$g%3B z+$2ujs+ef7K))> zA2g0ud3^vR52>~t%0sGws0k7TwDMq%niwt&TDfG1>nA*8sY719!2+3kFOSbc?$U9) zVJbfrdZ=Si0|4H}K^h?gfm@m04N^8f9vZ<&+Dthy3F9JFk`RN$NeQDlGKD}5*j1*p zc_4ru+&EBy@oHf~jYigv>X0-CS!6_Fm+UYo_bQGLi|;I#2Ln@46-1uXU3Iz($9zTV zKD8Nyvt}Kur|kZk%ui6#w8k6Dgp^0)yEqDs0|(HX-AxMSiH zt1zHgHbLt~o1to1E5cAsolAVMt&hKPIui7gl>;Z9eLN-OOdI`XR35@h6vp=iY}w>d z`P3t4tVdWh@Y`0}OpB5S*##4VC(^l2M0X1Bn0Z4hx=zKU>s(CirON}5I1u(hX${DA zcnC$rC3>tfVjNfaZrq1MFU8ZU9F-C*`Cj(N)hrj*XY09S!7*ShmlGstcnTE^4@OvSolql0p&-wfF?o$NS_lqR*m7)00ad+ z5oQaP)9J(l(?}kuWmtTKU>)&A!01HExC7QESWxuzx^k|l%f5)OM3XoecY~D3R!&sV z&;Szq;P-$raW6PvEwqDejY&9b6tTFc$_#=fA{xAU@`|Xg(z=$GoX`%_hQr;8TfimydGzz-bFM`DN7GR%kp#fnvD7? zTuf)pm>FRL9~%Z;Ghw-if)uWKtPm$!qebbg#7DqPVhaO767WYO9K+ zmcZL(2=_NC|i2+10_$YK7|pdmrEH#SLR|KM=GzFo96KP7g)Iw9PMXif+>!8;qmO>Hs|7j<{SP&C)eIUr~O^OToDq=eo+oI;0v z5~t8{Ivs}{u=j}5@x3@0j#xWAC{?bO_#nF92saGctz91s2(KX6qpmy)Zw$uzf{1`2 zhMu3NV`&B!9=x=isib#0jxDwGV0jb_MsX;kIDLyD+knNVT>?ng? zaAO(Ai4bpL&1a};Qa$3AcmYEZv0@30_-I&6@HP|3kytg8j;S162tn!clLKO}C#~j# z)xb$5#y!v$N(Rxxz}9O~0a7e8O3~za{}gnrhz&3x10mA7 zo;uu%b7BP;q^(^8(;zNKp+PV-@?x1$re$m@B-Wk~1);YPxz)_9Rib6KuY#;4;~GK- zh#J|VmVIes+7-`*fbn3vIqPs97TIV-K*3%C_VNM7i(98z9I7)!h& z5SL+L<(=RiE;zq0u*36BW6<#ZtdUaULWSYq@E(wDV|&aI5E_|i)|1uz)!=00Mtsu= z_?D|LM@Si{-34|MD-e(xn!L!gwER;$5R)&)OC|yoSzKR?f@?NRaaFv}#PBb>LU=Ho zRC%UhEh0c-lqL(qBMh^FDq)XkzEppF3iI9E;!wF>vZ$(5OsUA@2&TgAoe;~b$ZB<5 zxCqVd$2L29>x5OJ%Mgye&>($U{#NjQ9)uadB7RsD4m8HlJ%X5$!z)rzVf2;4(2c6` zBK)U>{zNy#Y_8En)@lwc@1~9i&&>EXwxI^O3+gG~Z`A!997f0gF8zD_yzjFZo}tb0~fM9-5|5ha6`OqCF<7LIrb z0Ygq182W1;M$Sm3a52*Qt;Y|8p?7Q?5;@&#LqJy>g~zxl6DC^}5L@5?DAt$jxTVLj z5(WW#jEt}?plcimnQ3gFL++EFP$|J^81>v`z0%YG;%LHef@CDzc&!GaX(P-SpE9B( z&v4`>p^zdZUBv1b2jhO1NAR={tQ8p2v4P?gW3r=y`iw(_4mP@sD=}!V(6$nh65|R% z&GGHaw`IBp2j$xXK_@!XeQGF$HLE{2up3dYxO)kK6P<<$o*|MgAqk6eRfZgW1rPIB z+bQF^MvfHcK3qG6P{3R3Ulv+84|)zO4p*_s>gy46F$#*geUSJN5ryvP+%{ASU~I`% z?804>y4tNRGBCY})&%$M{Jw!a4uU{+896UAOGhTphb$W8`{ zfZ-f`Z`4PCUVjWf;R269q>ix)o0vi9oy4?|$JM@6<1V4dd|>nrf)zz*Vy+SJDBP3* zH=f1h$ITOZLAL8Gj-nn71axe6q@qlMK2X7tDvf<&+@KbxacrP+h_TySA?{O6a>$Yd zb(ac`O+fE}6&AP9ajzu-J1`EyOQf~X`5`>D$yF(*Hfae~YfZ2@q7)$rLK2>pH4H** z4lrfO$tQpR>>T3A(t`#pznC9_n5QdNOdEbfiFsJ1a>bA z8XuhIhaco)VX|Y;4DLdVtcD}D3a>ROj#Jlgsf+Zk}gNfI|#8wtcK%Dv9f zD*dX-3L;+Ye- z?$JHWSp3|rX|pG66^>GHRzyZcNNR^U6dWbAE)*{m@<4_e!63nqguden7MzhT0vSub z%p!L{=9?Pj2VT&7`qgUmeI5eWJ0oJ(X@>yCA~om|Qd&J6;ox~K)VEkK0*A+>`-N;Ty9Sjx_?RFzpBj+tb(GfsovNoxOcHYJu42g4RLc_5R!-?T7+I z_*Yu>CAOBT2}F2nKvHMLAO_E9fjb`DqCgZ`Y>QI>u@W)V`GHf%>HDSP9uR9z8P-qU z0-=y4N()3m&5bmS|!M{7mfs&UpXTC2_}aYd~B*oa@q^fJPNvF3rChejWQ zvFg-sOkEU(oCjtxk2p%vBruc37l;WeadYK}BjMpy!bQ%}adt!_JEyYV#29I}G9kjL zK!?*8t`^~$UD4LiGr%!T3%iDh7DzAH_9)`(GO!6sJZ9hy`UFFFXe~kqV>Udzu5l`r zS2uaJFT(Qx1BQ?&!dXi*OfwB8TrNjTBmo z<1Jnhajr)Sx_Z^|x;p$MXUAx;RhRIt@~sdmX~>6EP0kt7Ym(+I*r~xuq3O$q$pA!q z!o%PITr03e1PuR1g#X8RdvC{1WO#T?PLgUUovUOBqKAP^AUvX6f1WOXLF7B(#Ege` zJvJ7qz_0=02p!@-KEvaIcMu;0z&NbcJZ!j8)_<1#KGVA@#26ld@vdSp#n@9o=SAKC zVlxy6H}L}X+w7zwfViAg1sZd5jBO?ogU`tBwyCNJe6j^d*DhF4f;j+tu5n&*Iw8aGB^vav}H*7PvxqUKfK36sp>8 zhS_5cpRTwDy|`HvePk%lz`aIx&wA5*DQN$pHA_B1R~RV3Ge=O)5@+*;l{_{@U_)Z4 zoXH#yMZQ>0Mq*~&|K(Vo@HBqq&B#IS9yFd93P@@rPy$bdnx4h`_F<=Nz(d3nXRz#H zG0Guq&F=NvlzaZpQi=vNse484kq;MIJC!Y-HKp%dG7P;;Z_9chl3>)BRJ@XYB#wNy2~DgvV@M4 z@)mlddK{dvh+7;hyi2qFLh;pPei8nhuMJnjJ%`tg;JlC)a|W8-w6 zla*B%qxC~pmO2p2FRBQ3z%my^#6Nv0n4zEoG_OKmL{lcV!`H&yc9I~Kma|gFip7bQ zkE`fLUPPF6XEknVMWjdvm26k^`zd3i-5R`OZI@^)$!N*S!!x8#IH>`SyyidVDM10wU!^ymX-H2v5DRW@BOZ19+k8HCV zH(U1(7moT8@L4=|7PvGqzS8;_!I!-%o0i(V#0|0NGK%%d0+IbMzfn z46RYZNk#D{7727S%)&s7=KKN7fHel~UtVj*T6H}Y zmiNB^hsed0>G2vv5R>#qcJVw0XNLGMb~-d02r2H?d<~qbaXEqTc1i|I6T~9@;2&w1 zsBT<3+))VPA_TJ{OmG#P9&}~~A52`@Sb@HOfDx4;P&E64%kwyGj&>CBn1d-T5YO~O z)L>F7V&d$>bFanYFRv=!=C zX`M1Uq$g5f7p*#w0@0RVeZd!B;7HU#-Khu0`|h5uUVLl=%Nn;jWLUp0>z=*~pKOdq zUJR1RdEC}uNZkRbn86M!-o85Oig{RR6htUzBOe3JL<%tRdLN?!BU)I~j@XPbIwFcf zNE1;sZtbqVg5fs)1|WkqybxSy0zKkWW!`Os9K5J*or&dBM<1s#t43eVqKLIyEF*Xa z#8~|7^n%bUKsgu-_S887fyU}z#CSU^I#8Ob<1aWWldB(5Z$f~DT4&ZVmhNGw@v)-1 zwpRnu0WM}0j;rz4+OmbE*>4;-Lu}wzv4f8vV~x@$+raUGA}&Ow=pizE9AB&&1&+taYGHk#q1+YR7U2L_&4LAD$b8_>chnG&_4cx;sG*O}j!%!|0X4Mnlv{=J88RR^hRdPpMKg)viE7dnvq1?x!njd72KGAF(5xZ8qSrx}BH<>k zQ42HLrOyF)^${oBr(0y?ryOUt6oH@*KqX#7 zmrg&#tDU7_Ll6GB_{N0es<>bZW7v6?gD>^$r|h>3f8H_mM)G` zx(7I2NWw(vu-wl`d&VOGM_1^%i)q#K*MXN%Sd>|kkMY_4h{z#kbqSxx;cE$fV~ChD zGxCx_8LibglL+Y}%@JT+U)pWP$BVh*#0XS)%H*=|5bm%J<^x>@4iS*s(Pp@~M)Z)wAIM4@!ZpH8Zyxr6^+~q45r1W40p^h!P1LF;EtTxCrhur)+v)N) z=x+;nBUl;nmi-8e3#$gtl!`Q^JnEN?+%JL)VmCO#m@zFS_Tn=Y6jIfJ5|6=!YU>4N zpW8EPCRQILA!F-x!o(P@7p-aQWjo{b+?uu?_*8Xse5`%A zRFm^OHLKZ*wp#6{>U&6#EWRz8tMwLIOCN6A!>AA~hq4dZc-#oq_-dH$`L#m8i;)o^qrUn8w1e!DMvQ$M*(W&tPTaH>{ zAQ%3}g@Q*};fNEDjsah-42+8smVv&unDCld#bpu~2_3WxD_Cj9$ObiBcpN#_cxOh` zSS$gh)y4d9Zs0~)6E47R{L4qLd4^lHAz{$w3nuOx#@KW8{3usk1R^nQAg0Ub6|QRG z;V2Fs58%17mpPNq_vR)qxE>BYXkfboOB>Es*8WO&XO-U=xCK-LnH@M$U`EK=P0kLV z?0T|wb?lSa6XDcUxnnz0bDVqu_kyUvB9V*CRNKo~zj`7}TV3kh<5L`|akxL?<7sfx zukApTgiO=@oY>cJn5r~YSv1K9J zfXKVzVg&}_QTVk57pv*;5RR)I8kd^Zu7TbQwrVUKhQ1bq9fMRZo3D#X9#d%+pRxPn zkcsn|H=v2~DVQDbai-wK!Xh37O&qQ@&gL|3q5G$G8N#OpW|sp~-z+wya6Bo)vrei< z!(nZC0a4EJJ#`3&J7yMU8BTKL8gB=xn0C;+@sfNHZALzVHk(GAz8%*MY5^at!zaE}z6i-?uJdW2tE zyTvA!o*y&y~9}CY>2Du8YAuWkb{a}+&<-=6DBsv*ZCEwKv9oHAc zzJc#(JoXI?9(WgZU91t93Cu;H32_4D2Ad+Ls5G)wq7s6-C zdb;uLvM$CQ?Cutyb?8z2vG<43$dCLk06?US?d5OEcr=@?thg{vIDmf&$$U(HAoau3IMmNB3mz6X#Y<&oH> z_7hkjunUK$kI>_pv>Uw(bu%@PR1$GxRM4#wKCA3^bVL=kkyEPds|H82AXzh2JFgnm(8m`rTIrQV*`mt$ zsXh*f+Cz$sc~r{;q;^;##D3*`>cTkkprQ@GNG#Q$Pc5hK1R>#K0>5+$v(_Td~WNmLJmteFsN=qo-=0e9D6;fKWp9LKoSLdC2~CARbOm^GAMo6o(kFcrug zW)2^fwcjRzkVhm0*Om-oY3P^Z;b#bw7)?ElsTzKr!Jw*ow_{ki&n~+rdel?CM&`L+ zCP=KU&aCa6U7bGMK7+cU->udDO#oO~?$)#u*)szVLszg47;;sW8ZH`PoHo*6JH(+* zNJCv|2te819{Bw9;lr&RkU@I@$nw*d@b=M<-?j1jPzM1~A;MNGDmu25Rr@%y#1|NS*24UigCJ!w)@_ zzN$!rIuZ(smofH`>mEn4V4~=0H+fRsXm>quNKNEA7oRYyFa5&c>lm6`k~f|1E5>`@;_MyfyR2<(bRHgBQN zs(i^DH;}>!>4l7mrIAJS6`@g=>d`i4xs=HZoMA95+~hF= zGYq)Jjh6*~4IhlB>6hZT`PdI^Ycb23(cy@_96pgPvb*I|Ea*{{AGF6_R>5#1BEnY( z!n1LZ5aJR0>_rpG3C66dIFd3E)lf8vn0ZQTF}b=m#?3La>5a}3n;8{Wq?p?ATY?V+ zdBD!4jhQgKh6cV8Jx<4mEdLair%oBf(NS)layTWP@!-_xM1YJgTAJ%Lgpl^d9a%jkA8|JixK<2` zhEyb?p-V|5&UYe66Fbatp;r=vfTIZ^-}XFYH5D=RgWjCD1H05}@C24j@Ql1gP+LIj zdx7L*P@xbN#0a9Q$A%2PDxNhp+3=!0vnNMxbY*Flue7f;X=aEkCGsr?`j6oIS+YkA z{TioeaC{~rgoXt)6;Kk5D!|6o!ljm}9r$G5+6(0aF9^jyEXP~<&WQ1+Omc>nCr*qKVW;XrxIX$v{I!QB5ff! zcCW3g<$8l(pM;Zb1jWa}m+ z1`iv%!PkN?=3F`I7Zw`w;6F1}q|z?VVpn*fvzV|>IqPPu>=6SycwBH^fS*6Ey+L0q zXs|j`VZta@#GIOpxNl^`8g7>~kjsvS{6zXhyWg^_R0by(gFS?vhx21)K4UUG49$TzC{5(>v9lnDDsX2&jAeNBPD8N? zi?|XQRipd4OFb^pMnv=2Wr%#G8z##<|JRx6%w{^ey0aZU*lmRD*DG=Mjm)Pj0;Ap; z7-ehOWW^+_u6#0q5-Qnp3OkD?8cN{4#Uo&oG}GTu`v_8_XC40>3^_zFRF&MIJ2_w+uNPR}4g3`lk1 z=?n>7X-FHw`;?~eoho!M2#RbCzPML>gH|htmT#_br3}*HKitC(cW{lA43+8hKISda z53OHwZeU;>jwSR5CBCV1a|pz9V|&A{SYm`^xzqY4Xgk4aL?EMahjKRUA`qE_+@6UM zxS37lhRx9u7l3ZaRuriuqI=WnQT87dJ@zA3A6&=H_Zu96vzJ3FVXrXx;Bw;bItp@C!9?H338kR|&g48Bf^Rw3U&Q2N&g^&8Ok6i}6xS6P zjGR*gAxJ-^pH@x`N*Kl{wG`GBk&8Lf!A6++gn(qo_fmY&0(ce#ogiw>t<};}tf{L? z08{B0Ubn7z48L2*$B;?%^OSS5t&so;0*!_}!zU~F#R|S=5Kb#nLceM_2|~yK<%@FC zebP+Cg`XoQlNE#NaiF1Gp@>){varN@Z`L{Z08TL>ELjnUO5oy-PK3q?=#0xV8e7Ld zg*D5q78r^cGSQ_^MFKh?rUGFT=9gym z!)rDOu^QT`!R79l==%?obJ98>eXM@d-?f zP_KxECIXRHk^@`#e5?7sme?vG2Hn+RtOdx6u+rSkMxd(rb~Y5B za6fy&?q}HZ_Wg@Jk97*3i90ryc;TB)YNiJ0WMm*3Rh% zL*>?vYL5exHzJrG$IAL_I-*96I1m!RTy1CeBzG093P>%MnyMH)F9&tOIhriA4i%m6 z89?(%XR>`b&jbH9Y{w%E3LF?fGRjg0;ZoqBneM@dWqNvH zy6*0R3j|yq(k8694KHV;7D@oY5pwexvNde#;*-H(oS+uMd^3Kb-m$vaCA`+g()=bz zFGPMztU?n{l}%YL;MPF420Nn%2K_EL523Uq=K>g#LXik9JFZH~P!u5DH|~W(?o1x7 zh1fK=yo#VdP;ge~7IE0qZ=P=5Ukl$%J>VL(Ayc{4n{M^?3+7>@jD5tC4GvxuM7lf# zJ10a4!@I>15dLy}LvvbP$ErXi7CT-j3s8yIHbc9 z4i-gRT_1s))%8ji6Oe;!+I6JVk%tokytDNn9ZZPW0e6HmD{`Rgj>DIj`><-_ErKEA zyXe#y-bs`=|dI1G>DJ`PMy4i7IZ$c3`F@4QD~8nY`NZRYznJ`COW+c+?W5pC(2Q zVxLxjl@S2DFpT3e6aZ)=p;Sx6fzvf4_?z)>NUzvnVrxttC3N`Jqyy<16cV0ds#o-+yE!;ItWn~rpH|`&P@n>36{=(M^71Zi zFnP44k~HeevD7Rn01pO{NY!9}+<%ULO9;~?YA?4jFWcl%4YRue7cLe1l(VVTUbU78 z1P`T`erR{p?bu-06j5o>h#uY#h?${vRZay~A&IsFL<)q*n&ifd$e=Z=BoBN+!Fw8!uo+Sz92i?&AIISe7~lL1Ebn>|KD7uRG`$`QiN@*C3!0&yq^FXl z$d7OjuFOs2#Fx28d?a;SQr$Yjwv52(w#5%kL>f~o9M)EN+Z;;zC_yUy;+Q!UW(y&; zcWoaotBlK@mTfxh(R$9hEK>zAb48>s8Bh}X98YtDe2(YJV?yQutgE)skx(CIhs z7s3ZpLPNZ(G0Tc-!0cFfRWxHj zb+AsTtQDIBvgdl41wwVLtM<(e>$B=3_Ppq8A}5=jPZEiB)j~sETuiwKR_ABg8tA=z zfwzm3iSd}S1V%73DCrnb7H^(G6bE{TgG&PM;Q59~C!nV+&}dop!B&Pr5gHPjlORzr z?iaY0%ES}=z^14nz#Sna2$p5GX}S^#_%^`db!z{{()xzi)85sdZtK{PQs$+Z-u5&O zUI2cFcFe0dU8t)|WkB5hQp4L<+f=6bpjnV=6>H`-^M zFxSsvYOn9+)l>iRaa$7q_GqnI$;3!4a3Yy_b{+Wc7@W^WFQ@}wr~_ZB17E2FU#$aQuLD0+2fkSc{-QeYm(+p3v=02%I`CK2 zf!|gK{;E3g+v~tzQwRRqI`G%kf!|pN{)Rg6H`al_xeoj-b>MHS1HZct{GD~+@2&%X zZyosi>cHP$2mXON@ZYNg|4<$HhwH#US_l5II`EIzfq$|N{GK}SPuGEewhsJrb>JuJ z!0)XC|3V%3m+HXpuLJ+nI`FU5fq$(I{Ofh#->3ust2*#+)q#Jf4*YNGz#pgs|85=l zgLUBFuLJ*K41SeBC>2Eil*2YgfhZ}ZqF@vK`;-*7M1d&%lR#22_*3MOO)+>;;Ah0( zw+MV|4E_;;KOqMHp}^0K!Ji_pbXE*r6!;Tk@RthwNiq0G1%7r6{yl+ji@`6DAv-4q zFADtJ82qIIKQ9LVu)w#+;NKVc`7!wUG9?$p;6nm`atyvH@C#$`4+{LE82q~ezc>cJ zNT&QLF?d1Xm&D*N7Wh+R@Q(=m*JAL81pc%b`~pF#r^nz!0{3F@TLgY-4E|w(?})*_ zEAY!=@NI&!m&f3{1b#&f{z8F2BL;t;z^{zKzbWwM7`#cAL`w|*Oo8j_b}!y6@T*;r zP2epCL=GJqGU;_|6!7P2lMm{38O-#NZDKJR5_bD@(c~1}_S{GX}p! z;7|~&{yrq|?kZ>^@vy*qV(<%vWc0@1BLeS>!8Zl|%ozLw0>35(|Bk?~jls7HNxCiu z?-lsQkMl2u$N87SJtncgWFpSLSSgu^^Dl+R z`Io}u{7d0+{-y9Z|5EssOk#h@L~{&AKr+!%2Yyu@_|MOS#fr&9oPQ}i z&c75M=U)ns^Dl+R`Io}u{7d0+{-y9Z|5A9IehuE^wpEuU2|DihY&(wkcnQ8x+{pT?2hPX1r9HEw$s-t-8Gx(=$oF-_RY<9&-Lu@+>ei;X0v?=$2>bX zonSR=gUlfIHFk#E58~8Ddpg}co9W!Ye}5%CJCp9&Ki#)KGgIl9o1N*cbfythMsHfh zH^^{9wxhid$DBLndi$p5dS?H>=FS6Jsv-;57ct-{k|Yg+AQD8mbPgf{0s;yc2x36! zNX}V_f(jyn5)}~;i3);>fDv^}Sh<%0Zt$YW|UHu1LyMiSoW+$`{C{qM=M6n~3`Z(R4ImYLf^h1F59B0K1OmoP zBoa$R;*o4Hk_nmJ1T)c4)E|jPa|P_pCg#^&+X!E2+#gG2lHqK^?AH^Cg+qa4)*lLH zLMeYHn@nZls38NBsR5aU*=iwob(<*}G(Y*ov%X9?8%ad`#&gL?%AYp1%4GeCL@FE0 zCTWW<4*E+orVrz$@xGwh&L`tf$D^^7FPn;(3i$kyOoj#0?8I2KG?2{(g28Y&5Dvyt zk!&`ev|B2s60uAoY<%YJMfx~l{BC}}kC^**lKx~eoXJLwpCW;z*-tT)2*P6~SYX3! z_^_dwVPkA-!jaNc*zBofu18FzQvSFJa1bkuk+V0s1~&dHmYv}FRJ(twFb6JU{8GMJ90eW_?Xnl<+WB+VV0*-YAxAp1|P zOo?F3gilv!sj<$&m;ngU?lB?iln` zU)F?;*=0&v9yGp6#ltCI${#b{jYSiIWGov>B@)3xv294SG?Mh0 zdPft%KsFRM-iZb>;Y2Ftw*g=_>yfVa`=Sx^uUyPtP3G>0SR@^dWSFb$7#a|lpWkTl0y0|Z#HF>~zI}%Ko8pcgEV~J?W=S06LY-?w_CY8;arl;ef zR5%?An<@rl*>Kq8Kl>k{{m4jv3gvLhY#17gL`))Y)7A_V5xcqw9HAd*R?gC;GTs0*51?m1VWVo|@1hf@ zOcTsd$(W8vm|SOOi*UmDD3nf^BpJ$vjG%teaw`et*VfZZk1vBPJCE z6aGjl>BVl~%zCnK>)EEJ5Ga5MW5aJIvuoIyM#>cwBv;%(NiWIC^a)e#H8-1$z9<@D3XnvG!xIpLT0zTlt~)MEpA}> zBIeRjv(HM}tR^DHOIZ^v$(R{t5tA0u_u zST>anq+#!ur(E%XSvE#ETbf)kbo9WXW^zgm$t|6%sZgm|9s14m z7tfd_N;VlYlZV;tCy+_|A|{8VL$O>S(Nri_YU*W{I({?Fm?=HzOZiOjn6NcNlnNZA(hD<5n}yLqXGP zezR^hRZ5s~X!2?>6^Ufh$q>e$2|-jVT58s(DYM8kixJ~56M5#Cz)aJTus>pwnG>>R zNaWHzECikiJC(cv(_`?&s}y59B#(lP}2-M#LW?pFBy)Q)EhO+ zDRUfP7Aqz>nEz833HegYtF&Q`%t~WsRt}g|hlvGq>rC30H2)&UtU%4ZF#)p#m4;0%0_Kn`<1?uvoiwqLHVeV1S+tm=v~=2R2E`*o>@(LlcdxL$F*-3iG0fak zJ!1H%F@4QN!?`^{z07Q?GAd*DlJY_;s4OQK!X{0*3-NLr=$I?za>t#0#|$@@6Anuc zA75hjKQ=oJoBLMm>L*h&EHmEpw>d%^Xf7T%cVc^P%Fd252QazMx&K0F_9~r_8B$`> zS|T~xzS#X^@V&DuRIZW(hYd8Fp`pTN?@7B6SKpxn&5SiBHNfngl1UBjJC3K8oHHx- zu>WK8JoE=1z07<2uxI4$*>Q&_Ei?~@^K?PU9N^p;`A^JyNB&t4_v(L>+|lF6e<1Ab>ldp|edJNoC8A^%btygYxx zu=>6A^p(LcErXBt@Gm^|nd;$RdiZ(||H{LE^l+~qYSH2L#Va2qx6S+7qi3i`-m7P( zhkxUdU*_Rn{STI*|4EO$SI5+fKY6%$n|s)_Xxr>u2h6Z7vCW`Ma&lCYB>E^&Ubar6&t zo5Ll}FA@%)cMABqcya4LC;`w{_`+!bgN1+83}BS-i?#zy6h4{yrwQ-)5Ww}qza0s1 zqwvqz=q19xT?MdFcx!grBf_`T2Y6QauXh9N75>y9fc?VP^#S-)_~3g0Y_7JCznG_u zhXCvOvxVm2@E6X&=Rfe`@~Mjfjx2{)NB-XP@wu|_cC)}w5}u;pnhJk^E#yPO8}p~) zHo_|pfIO~u`%nFA4F&Hl@&_1bY2jDag#1Y1ZD)W_5q{@D@HxWAwFh4+Jj8ab5x(hi z$loWt!vo-t3s0X0{tw|F^Ya_RceCF=6yA<;^_}optDxVxVW#0Dc*{Qy=H|{;49r;zY>L6~2aiop7iA z4+{6MgPupo9lOqT3Ga*i)k(;=J{qr%e-1G|JCHkioa-m95&2h{Pv#4s+yi=72!CoU z_!`jreWck08B=GqrLto-o~G_Ous%gv<^?t@{P8^4ZD`(<59IDR;( z89-yfuabITH17yM7BYK3jWuRlc_`ojlyBn?)CSI71;vuJG{cd~aX4+{v}8 zhKG;jd)uy>9zNc~YkBxo4|k3=EV{wNZMy~r02T=UunPd)l&jBQDPv#O^1ZE39lp0O zTlwDdllb1gaMfp zd3b%kw=duGy|vqb@9oPWzPCIV4_wb2VFTGbEN6<$eLl{^8|Dc9RPk`8p4=C>zXW<3 zdE^^;Wc9bX4M+}5Wy8;ARc z5I=sX$o>7+BhR6ph)zf+*3YBAA*m!1Bb6@<$!>#=NR=_-}dboFd)%I{Jf6L^Y zc*!Zk@8IBW>fs@X=Kcme-0Jy=NiOE$T%zUV+j+Q^|C;Ue9@lv5*~25xF3IV+(!;Hu zU%39ydbl%3*a9Ox+{!<2ilrqbR|}uad2_ml#~_;fJKMvpp1EW2k9;!^xAJ#2z?VS}Z|9M3>EYfy+|k3C8giw&d3Xnpp57jA?QZUaFOwdAu19`= zhj;YwQ6BEBZS2?6J-o9=e!hn@1?Rq9;o;|d5RO z$(4G}!y9_^?DcT#pXKZE<=evNwgEpVeA`m+&xP;gV(@zpzW}1SzlS`$p@-{nXg4mh zjz1DYHqBn>k@p^-a>~hl>-=tIzABDU# zM>xDHlPHJ1+pa?lI%n)V^6#@>oH63?R_8%Ki@ADg(b`0ZCh-nlQu@mr5p;NIgVJMNz91%A2c>GlA4Likra;O;MceI>|y zkEg8uM>#IM$5WQyI34m6MNhr9;8TUa+dq-?*zYDiIzUr(FDgCcFX@`8UFE9EbYb&Y!G9P2QDgA(vQDnT zMeeb}?_u7kBs|D*R9*N}ouR*u@aD&YHxS;0<4Aw!TDS`G%|-q%)4+qmuNng$7rvSO z+gkYZrI7C+{M`un`NF4c2ERyna5VTO!hhpL-ADLNwl^jGVlI{k3g6Tm`iBeOdjq)s z9yd1xuE(b}xUTRXpW5-*EDZVUMgKF*KXZkj-W~GJyzS(}zq7w?6?tbqULkzODCk)u zd`oTcyM?#syt!5QtCZg^yh>f@c~tm{8sJX}@3|8EdEvvk{&`vW2KMi3!kh4*|1IJF z>H+=l32({#@R4x;qmchX_*3P1!bNcalu7C9R(0wOE zPZg2>Xb`ymPP)G-cwLd-!}YNKemaEn?`b06ob75MeCEZ_9~M50_4gik+cF>FZalM@pJ(pPH<}q0Ku14S^ zh0mT1K3@1S^v`7B)h~qn4B>Bbyv!E^39rd!mnr#UQzfS z_DeP4hd91!3%@u3Jtqr)@Lupn!rxj1e!B42PXzZ1UvmL?RQRw_;H`vX|DTeQcEV%q zm(If9=Q{QR;g9e*x2Nzm3D~_{_{k4~Cxlnx`IG*_+xLaMa~-nNUz?eSM~nP#oYy7_ ze~xiARd{7*{V)95>tJ_|@RqH?Zx;R@*H=q~kKYRU<-+T%1z#=v$vWU0gg?Xe>%GEz zG0$uh9;6>07XBRP>nDV-8vwg{Jww$X_=_U{66e!bgulS^5^o4!a2NEvD}2%k;2#KY zHUs=K;bG>nZ-m#m2l77&cYY7}UHGPjkT1`9$%(67%fXKo?!;>);c?DKdi};79Cvj@ z{?paa-$3}5%fOom-#-T2x$efP=X>n0pvXUU4dmm(pS&MjuMatS5_kuZ|FkFg`NH4f z{C<(}-fbX%iSUt(!#={D>#9@2Z)f}r6n^AM&_7)GA+~F*@FzHav5(z-p&- ze+2W@^}@H#gI&GuB~Je=5c%&`LjG3av+o99Av|*y_!{B!xK6lR_&F;ezg74F=I!mm zM>dE2qrz{m0{)cn-OO*#3r|*u{L8{`xf%R5;UA6$e@l3UhT!iBAHenGN5U8LxaJGt z%{X6wC%pDm(Ep3@gI9w8A^aWcIg0bPGrpeWap-Zv2TX>ZD#Cx_{9aRdBj%a9!vE+F zJq?A|=mmb7@VQ*?wGbZ3Kt3#d!VTapg*Qrpw-sI$xWu{t#qq<1jH|99Kd%o8bQj*a zANZxh6P>{O3jbguct-fTM&N^mU&HgRBZZ$&{o{qdWE)~0*jMsDd0;H(>lq^7WMxjg zWVZ01*^l#t59$l~MZ%|z0AD8j9Uj-L68<>ja-HyZ&V-&#!jE8k?-%|q$NNsBBj2)~Q@XOHlwINo0uo?-m#7ybp~=b-TJH^A;E!e6`{{43%88i4;G z{7v@PZ^CC)hI~1$TWxsQF3Ga~#|S^J4dg2de_}0oHQ`@O0Ix0l?}NZk7Cxdacq8FY zOaVV#_|B%_e&LVw2agIr@?7v%!hhp{Zzue*@sRHlW zA-_cUUzo?7`~IAGi?TkeMSk%z=-D9rTgLyr!b>^6wh8~+MbPuG@CA2(KOuZ5=c8wZ zKT5kV3ZKMv!Yjg$VSac+`1aYb`>yb>d7j||<-;KVneb<<1I^t3d5_xI=_Jy4#fFJ1l%{ZIv8yL{Ii0G{S^`H>HT*A;pH zT>xtLUo0sfiEuK$K%S*qUSNrn->b7M*Wuve}&_b%STs#_bVVsx4OJz z1bm3-nacT&(~K*>yA=evY<2m4i@>Lgo-SNJ%o6?{JCKJfuAZt~KP(pc1(yRX7rucG zX4tuUZsvT-!x)#3YXb%MiJpyD1Msw+qKzQPailJF@(fY*dqx&`2E z;WIk`929=^qX3@@@5OljM)+>#fuDu<-3ai9@Xsd$99<5tPM(=L1E2M}f+`#@CyIPy z`m>JkSq#imgm+{Io+f;55_WyUopG(#4>#jTA19`n3;5Dv)ZV^3$na^(( z-kbyUD5!JCMZ@s`9L6r+cQLr;;R@@(>xv%ilV4JzdH8PX(L7v@6Nu*FmCT2lhp!31 zAk&0f&&tf_ZKXahUkcDsc>6H`U4_?W!sc?s)xVYgq&k0TLzn-^ajN;b4+RH{ z-2na1VejhsbpZtVwacqBPB^?>K85w<@OF9mrqFYP*qy?0eY5aM41}e^pPB@)LiioW z0&tkQcF*&J^Dxily^jEYK=gEFeI6EGQXAk&;V*6gcwYGRtpRomKePkjb>Xd30PhGt z?N)#fg#XHp{apCadjY-^{&{_XUxn}A3Q$hQ=?P1~D+mu=171n^`5YHDg#W!d!k1hNuGf8?ITt)2@<%Z~h} z6KYM--})Q?okzkg!5fPF6#7~H@EZG9=aJ?Opg`x5rX#><#`Qx*##LLfdjva5=aFxw zL9naHzr*>C&35(gqaO9=h)1D7{rSYn;Oftl=>YZT?wcU5{%qR}T>aVLZgBNy4F;h4 z^QRQ#wf@e1Ra*anJW$Z_GCc`BI$qA(2Cm~}%{Xwn&-JJ8GH@L)UD;4=SLLf9uj8fW z1aKWM1J4E5@iHj`-T^OeeO8PG=puZ~bpRR<<*I_S8LpnG?DvG|smQ<_ApD2F0t^>E zjptA3K3D&Kj`ztTznATuDf}*u(>cN?%m%nc`0qSE)i`;W>qdeqNXk9kJN(T`_B57oK-(tj$r=B4j1 z0@u9MZ3ejJrETTGH81_U8o0*c$&J8uecPYoqA$L7>-qD&02~G`|BCa@V3B`l6@bRW zvwm>xuS|b%?XNfcfNOtss{yY4bpe6)*Hw&j?XQD$jP}>YGWx5^1+c6A^>Jr#?XP*X ztNqpX1juWDmA?yI`>V$SaP6v^Zu^s}CK+H)=B^}JK%ir{+Q=>*Ofdfut^ zNs!m`PK_S|*Yi$W*MjSLr?JfEdfq8~HRScY({v^(J@0fm&z~HHV($3*i33{mdHG5Z z)O;Rier7kgdddxjJim5%-w=31v3ue*PUU(@*E5SbKeGE>`4TSZbluzTI_OtFPq_wM{k*O#xcYf}eQ@=2^muUf^Lf3& z)z4S3UFzpX9AE0^rV;2-KW}2fRzJ6D4|(--l;cAE{PgvZXR}>@4tp59J6>Gg=_~-9 zH>Y!cS3m#4c~JfQ029CZc?IjEey+-Psh@WZM19oHGlqeypN}M0Kfg8&^6KY)9CzyH z1KS|4etw+!U;RA1ALP}~9T>Oj=b;>r>gU#%K~G=2xc$ z3&42c-8qgX3m?S!YliTN_W;ZmUbz*(JmHhL9#|y&OFEe0?zVT&R)q1K2P8 zOb(!f!mm6Z;1l5={RKetYR&cF6-C}TuGG9*)_IAtjyIj-U)AFr|JD(^&he?%^O{Ea z>)Es}xa#lO3taUlIgU;dyUzU#nm1}NG5AE@+58|X+}W=|&wFe*7lIu`z8Cwwi||3m z0cd_`%Z_3*-1t13`7I%O-eDqPx^d+*bl7l_PcuJ^6aM{BfTM(8eis0%>*|lS0%w@I z{0t7bnxg076#(o`SN=OH);$03iy^Q5by9P1&GR?WZ<^;%e*p3=@#5OO*AJk1J}?Jd z^L(H-cvsQ$Rt*5{$EzEIvwK{-=S&0FJbxtxGx*w-|JOu-!NM!`2N)^53-ix-;Wu#I zGFf;7u3I$E*E#}%n&%HOF>9W8_LJ2-f8zq^StfRSi~`U+{}%nvX1IR1?M}#V5Jfnb!Z$NMHP4qc zf#4@1|MXUXuY~ttNBtl?cssyv!k^Cq=yM%ulg#6vYf1us_gzsDf`JKWWOatE~d_Kpi?uT&pB*?!c^3|E2 zUlV?Qf5^Wry!>=<-S2M2`QV?5{CviV?t4&r0px!c`6X4s{}A4o^ZU`vyUsWoc^u>` z3a`m=bfWOFoUe6%g9DwQNB6<2%6a)T(X;zV$oqu%+6EpKzN;Ph*}|(F1+M!T+|>iz z`9CjCdr#)Vp}Xj*&-vmq;m*ES3E^vRf_~j6d>i{$_bWJ|7Uai?o@vY*lZCf!3;CJC zuUic6{GS@9U5RGk-u?9K5Uo8HT=yk-lX|@S=~;On<7b`NeV_i{EW9iAZxcTJA=q`U zOLgk`W(RQHf8fwn;NE@qY<*U32Hzw4f8n^^C%kP4^6v_-$9eWc;b%2~yp!jgdfvwI z^S#J-8V&j1gwLb@k0_7t9X(mDPmUEn;9|&C7QXvtaNSR!$xv|bzI-|VaQ<@6137lz z=x@k+diU$IdQxXX|Cu8HP(N_pH(Ou{rzmargC1JD0({ZxOJNFcX^<8z3??tp#LV}>vw?bJ^-ij zfb4dW|F9$ER|~(S5%@;ok1Yh>D!lrm;5&q`=KQGl`)}j{!80P?o%6zr!s{@fzbZU< zE$qG}e19A8_l39S`b6*RU(5Bt*CPKTuBg{A$)xrT=&mEo8v<7)9=o4(O&fU?t`B5 zh4)Q@Uo8BX#^9F<|0WFHPx$bS;CerPb>^jEBL5lVVXW|F%#)LZuj&B(GlW0K_|$#- z=Q9uJefP7QL(fvtb6geh6~dkSwblw>b_V1(2|uL?_yfY9KO0={uW!Nghfj+9Z}i*q z!iUfg&N|46+oM)P|LY?EFUH9`!XM)J)%)mca~}L$PR zr=In0!RHFX|H=7I@0Z`l^SU)ee$X1|sVn@-I^d@YKc43+P8WX51jq-3f64q47k>6B zkZ&Wr^ReI^g?DHP-c5M5*5Eyb-^TV{A^f>@kWUGpc^>#6;cu|NMhd^T4df>XACd;2 zD*RUV?{&f#a-P!r+}}G1dKQZO(Obcn3IB=t=T6~s{|fmH!k?i07U83LUPbR`@4|8V zn8wW8uhJ$}B@@v3HF zE_}nKkUx_1i8Jn;8&mqm~-6+Uk&xZa0e ziT!n!$iK{at)1}ing7odeictNUL^eD(_pu^@U=W{()-P`S;%KazE3ImP~ivLgO3qD z_$u(Lg?H!-uK#~zOE+-6ulzaYpZTKaf_ovqMEJ=Zk9P>Kz76tggn!E8+TuIv@5vY-(9gjcv9pq zZVEn7_yyO3j}ShBei$!&d1J^=5q|a{aJ`TFXdeIGDDo-x;{xGb=0MMF!k=yezDoG- z_kcV9zs`w=+8x04e(kIJgFh&G`m6wdRQT`o&)G3dm}j^=b@?MrAb6C>JO5wl zIN{EH2UUbS_Z={OyZW8`4tN;sa_7DS4jY%ZZ3e}hCSC5_chExYI`|H*e=V7{to_})Obr&9^L58oZ=Xg3GA@ZLy{|pd5v>gDKr>>sQE(RYb@(WmT zy2+LQV=e?|ioA0@2GgZ0?_7^@i^x0IW9YbO&Ur+~MZFnNpz-s`Mc_Ivu4KD(T)cb< z$Hi72&+52{-2pu<@#6X+!uh(b@P9ELItp*R0f6ps^^86jT>Uny z6}b9s;TmxD+gq%U`t9r?%_;9Ac++JI|4=a%8mYE0x> z&ni*q(RwzV4zBT5hXJMW_P3Rg*La)P30&i?(*|&jx7i7B9j6C}f@?l+lmX|o;g0KL zIWO~Y*X4^UK|YHYm*2+IxESQs52^Ct>W6=v39fz^vjklA_gtD^f0hdt z)jxm>CDnfu2ax*t8P1Q|@5_eeuTNL{S=+m1Mt=EnT>q&2Bo0Ka|Kv%~qxCWl?1r@=h8@iyFWz1)ozQ)`Q;zFJiq)0%nw@6^UIhAyD}eYJ<}_pU;A-a z4{+_rwGV@9KVHgs(|&Bz1oGOC$6Nuf{rKy8aP7za{lT>#pWOhi{@m6YT>Ud@Jh=Ab zmlRa}^#|tHzlQ!){f*=K^?ySLsQ(XgeWLy!!91z{k1{`NJ>TItRX@BkF25gM8j-)A zSI-64dj8QHTojof-y7%{?ceuUPwn5Ap{7LpcPrOR+P|~eAno71gP}wM+sNGErG_|{HV}AWz8L%pUfE}g!FL?xdRDKHErSbVi1;}fB z&g=rN@p%uAXEi>jbHHhQcDxCCG(KBh4zBU}0)fWo6I?fHd^WiYdNe-&!Nj2Pc`V1f z#%Is!(4+o*kB(G-I@b%Te2hTl2eU!y|K@FASN;Fx1>oxcd0WBN|2G^9uKvG$2Dtiv z{B&^j|FxHatN-8J39kNM#kf-c?`52*|NA@yJ?j4pI8HS`RA(G&eh8+aCxaJvyeHVd zgN6T_ajy9xxEg}vMgBWhWU}zTP641>UAq_3KeI)C|0;la!aLm$ut@k*9RQXIe~jxi zs&nn0y%K`!M85GLfK9?X4h5ijSI;pF95%z{18m|okH_)i@;7<{JT06bOI{HEOJ#sP z!XG;U;C0~(8UgGV{&)i5pzzIX?D*@nnAw5$Y0w4 ze5ml@oPUqP*KR!TWFFAGeJbZK&D%}cF3sC(IIuKtuQ(kB)$YxdSG$|8fxNDJ_uLAe z>udAY>GzKw&M#k?3RM0ttPjJ~)${vc=&6Gjm)}|oK-bBao&?VBapjw{Jj2xGFO9_) zQGV~#|2@X-*}^M?06GYNnF*WIgRB1vD()`w?^3b)vt~62s()Un0j~bpa1OZo=L{xJ z_0J3ji2CPe<{$OX85cvp`se>u{XaM#_0jrYMP6+EwSTV|2>t)J`{h@z8?{|g_E(|p z`h^YBb~$mSaqGmD#;p@q8n;edaarcZ`G`&MTLLdG&;Au)fN&?Sh6{J<&(jmG9;g1g z{&DI*Q}j6XpCjC<|1H8dGX9y)T)U4kudWn%r~d1NJN5s+9X~z$pduPS+auurzsJwJ zD^X94pA$BN|NkC8-_}MwHGV$p2fh+7Zd|>&96;meSI+Njwk!V}$JaK|^VW6%9%j4p zKXHNol*mux#PWCHoreMFdU)GP@O>h`q&&d8!pCs_`cU{4lK{RD{@8H<-wPkc1GynyaMSep+@S4JZV*alu{LUtj*Y)iJ*5?e7|6xAlgTk-x z0e+_NPa1)@6~2ys>m>a8!I0N=Z1wBGdx`u5$Ak9~{_+IywD320d@)$~bzGN@5`O;{ z=$R=ejJ_|3!oR`W-#GZZAvE>f7_{ajs`oJ$pFMa=GBPtNOLj!{OxeM_A8>_}b;W z9t6;K4K2fO%XUIu>+=|ozqCHnhUBkLm-E53KJU#2*Lm&BCEzXa;@1C<+5lnUfqnoj zh2P1AQd{ABc|ND3@Nr!KcNKn7eE?lAeZ%?pQjx!yK+hvN|9?6o@?UeJU|75D{W1l? zks@D(@i1Qa@CyJY3%{ltzzpGC*&ud7WpO2!!HPbgU4Tcgpa4)*M)CC zA7H=m`j-J56uy`N@`>=9&I0&K_&dh{{2=^k2CUAf4-JN(o<};pBDkJM8qRfso<~Y> ze$n$t)p=Z_=aDWv5Bl{yQV%8)-EZVs`cwBC>Bn)Z`;APXKXt#66^wJ;Z=^i~M9&vh zV?5}7BYhZXy5GpSR%n;*H}Vn}u)5z!qn?l-QVy@q{J3>2K93guTr+UpZ)7s#f4ayA zIzwLf8yQOf>wY6mIDU1%k#^IeXSwMAg5y#58+n}V)%`{mF`?>yBOM-ve%){6LB@mb zH?oTH|E$z!+e6T!`;Ckm4zBx+oXrD4-EU;nTFC2uBPC10b-$5ReQ@1xq*oAJ_Zz8w zEV%ABvY2^E_Zz9le6IVAj9LUey5GppO#Hgv$l2^)o!@)i2R+B(#m%e3mIJUGT%KjT zad^1=1IpJGJDBdH`6&2_cyW0r>Zv1q=ji}?e(&vS;Od_WHNe$B zchjKyr!Lnm>Ysr(L67?97`99Onj#> z`TLzAKUwsg)(2pQ@Pmy2I6PcEC(tqTM1J9&08A^c{1mo#naF2*0jv`Km)ii=2|u?v zz$W1bx&YiS{H`Scx_+y6EVy$Yx19!#U|IW8pYJX6@;1V+D-Y05_-jW3%oIL{`IF0< zoNlZC2iE6rBHxH{SW-HA;?OaPq=`_4$19xWU6AllwZINsjH`ci^z>a8oq*K9Nk0%8X-aqEU%q{WFe6 zu%U^RnGs>l^Etnv)25^wq5MU=O)_TepWb3vi@ z)49@rE^n8ng_d_b>$QJ*5#^cI{#5@fiYPxTPyKDGDYX6z^OV1`i1I7*l(#vzQ2Y1f zDc`S%@;maBPZUx9Z+XfmizvT4Px(|4<=@UzK3zolkMoqbb6cVQ|2|K7dy22n@+CI0 zn};|4`EfI`bV$JO5Y+nicx`3ZUK+qGJu^xkIYpFre%JK&-;G6-e=d*xxkZ$JHBWha z3aL>49mrGOp0g;l{O5Vf&o83<&w0wqI~Z>#byt5ClxBu*^u|n%V zB9DE04zAGhlk$|my@>L&@|0hmr+j_G>{7!y-)-LJ9t&AM>^Oj&%MyMnDXC-L**3Lt z3Eot24uGiGp8x4&o)supi?5B%tJO(!q$MTKS90I}>5bYy!+dLX9&UMiy4?O0rsa3j zzEfW#l6yFxomao1dD|aBO`Uey_IEK)r<}t(8D=G!uFN|;_R)T22k_M?@8F*1jrzoX z_c6=AD;=w{7aG}o^{>zRw>i#gD=D${zrZ{l`%e86hN(`2N}jD@|C&CRFXdy2J*H7+ z%T=NQpZ(x@sO)g_UB3GF;{{nxd0YRB%~R_?%P`exP)Tdrk6Y!Qhsw?{-{rGEpY~UJ z{MWw`|D|6BN%O zen0ap)c&iq&!4ZTrEvQPX#Z=LwDyxl*ss?V1#QfFABDDmH!rBXkOi#$w0RcV{&BP) z@)|eq3$xq4rnuMucfxM_c>X z6k-2R7zXR(#r<2T{rbFsvL8!Y`!mhcX-+NjS>`pTQ`V0sMIdk{<(!v7?N6iqeJp70 zUuT|$+V4gChr9mkeGh8d$z$KPwNU#*X#a5M|CO}wo&W9m+d}O-*Y(+BM(?9g|1aGP z$ruY*|KDhyh1%~Kh1J8Ie|Fys!`}JFp1&>B{wmrpMK#>Ng|`1|PWx6t;lr+u&gR~BKv z1MMGf{@X|U-u!oG5%zDU{ZrhQ<4vLM|9LwkC$PNj|GUhy(Eh*wfAs%|9kB29|Jow# zKlMNQeo`tsG+2`$W^Y0GY_m2Mui?Dw++kd$B zKh9%+M-let{Ezl)Jr4hS+y77z_LtFqZ&SwmD761O(Z2Wm?;}Q0q5c2e|JeSeyZ*cV zj}>9R{8?zVvtNMYgF@T?9PRJ$oPXO@g#EFtVDWJ0-)YaFrr!DY$s+78q5Z>+|DS2! z8-IT*!u~qiKiu_iQ{G_dwf{^J_IJ|$;l_V&+V{@?&lO?6%GpNPJQ#-fVEz^we-oJa zcd?|+zkfH+LdRcM+Hc45&P$>8W6wi!9}8Oh|1i%&?a!xuyJqk{3bkMP?~rVB1WH@` zFPUed_RngKa;wCkd@S?)`-T62*wYDhOl;xe5LhVnZ{rN0t?c1?XsQs3- zU!U^4`)`|Pq3xeX`-gk{vE?n; zU+=O1P7(GWrTxQQ|Mz|y_Pz7(fg(K+yDPEPwjtuOl~EeJZ0YI9dA)WHL-kwy^vGTgdZp+V3DcCm(5^ zZ5+VY-SnR~e|%!TbILn@we?ZkR>gd7DAtAtaGx9Yp?PZgV+|{Bp8D8bA1w`5`tvv1 V{wn6{eC7KcfaHNc7ymE+{U7oz@Z$gg literal 134800 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 diff --git a/builds/fdf.o b/builds/fdf.o index 2e9e51b7dc2c35f41f925c5fd49dee35499394b9..4baa77415f24f09dd7f62ac88f8a3b5f6ba7b8ec 100644 GIT binary patch literal 137880 zcmeEvd0-?*dGBavM_z33wFYcVpuNVn)|Rw$X%2j_qtQqj@93~*w7cd=do-Ha6{{;c z_8<@r+u&s}m?YeW009Dl03iej5MpyffCQ2NNeGV+LLe_E$xFyVc)#zc?&|5D_2T#E zL-tNpeO+B$UG>#>)mL9Xw^AG5(bpF=|lH3cz^5%v47^ePeu7@ z_(wIKj(^Y4{LdnFHGc=vrsfxrwlu$pw5|CL(j%HbigZcy&qR7m^UFwAG{1^;P4nwW ze@^ooNH;aVg>+l<$B~}U{7IyzH2*B5Kd<>`BYlqMe*x)pHUB)M&)575klv~JyO7?k z`4=L6k>>9~dRp@@MtVl`FF|^*=3k2RWtzVa>B}|$i%5S-^S_Mr6`Fq~(pPEz)kt5X z`PU+So#yXH`g+a30qL)3{*6fAr1>`^{Z-As1?gKg|2Cw*runxceTU|M9qBtY|1PAz zq4{?seUIkfi}W`&|30L@rTO|Ci>!h4e2q|81myrTOn5{cFvC7wO;N z-~8n1zn;AF?=GG^{hS|upC)wjOy!4@cRt`up8ojcgMS;JeE!E{&-?LnFZ#fxcYS4R z*W~HXd=GV`(wRv|E6-Bp(|K_38@~t>w*0jz2eh1#V>lp16TdiT@TQ`U-Rxg zvwwE-)sqi?D?ZuxS-$tnlMj9$&w5a9e#Bj$v+KtKkG=DO=*M03iU;LspN)9hy^}wl zJTw2p)3?sv{lG-OQJ+b<(1Ci6zd)z*=e;{op`_2ajBVHQ!PM-eso!>q0&QHhp7ruJY z>pycf(R)6A?_{5j$yh{-gt(ZI zJOAdqJ3oWh`Wn5~54vCL^yHW}@o>;Fx-*lJgL9U3bb4}$ z8WEj1H*9Xu64O==M-Il>R@7nZ?)9JeZjwCAv$r1h8*EvvJo{m{@@#5_SgX(*nhGMR z4@tdF3t_zTfoM$XJ$PqMnt6}H>~opCGwXtbpt<)xih6$fKRwE;-9IPdetOcp128ax z^PS}#)(rwitpa|BAl(U((=(I22p)Qz&%{pu;PjWm?|1P--+FrTVxG%;@3{wqB-#5& z`jqT@pJ%dX_M7gx+C_nOS&6-$kjvQ zf;^m;o{ZYZsArS+-i%)vxM%QS@)+_@LpUvNcW|7tr5xIOWE^wC3aB*eEZHl zJ4iW6?D|#wa>o)+^0Vn%J!sy~-bh(}gz524e&zTsPPpa%@Apx?^YJhC_4EGE%g}=h zD1Y9+5m@v8MbFwL@c*X##ghLKM8tr{j80vcy3a^&JFc;n^g?(IjyA+aK zc&`-FeJR}YAt_|IZx2Xer0@H9&L?BcQOaK zFyfVfC3al|B)*W)g}QwaAt^y=HW~UK2D%&f;E$*Nyr=XLT=M&^e2MdnX1iWQ&y?&v ze)hDNeZ=FaBNraR&+YM8?2=gjG!nky5myp~U+KQ{&;KxRj$i5gN74Xl{!x^dS33Vf z$_r+lf6=cZfBB^=&Gp#%7t^hd+yv%KP>qt{5SGa0ut zD#~w3eh=kOO8#ofKU?xoqWtqDe+}jDlKi!lzX#L$0LCM+i%OUqjPP|!80X!T?Yn`X z<}U}NpufKR`#@+e16_^v4N-Q-%a5XgPoo*R>tX_$zxOfmqPy~dKAP|13Ut?Fs8(Ox ze#)PEPm#KD^MqL6C4JXixch?mg;!p9N#CXCUHsVBj6N0*e@rZX;gc`8@q#KI9)D8o zf(vdz6;NZ%0v{6>0ZNzquZ>Z19+iP7S-CS&-Tjm+Zn^?!rU29x!1=rT;ul_U0kz(T z`!0Bt_b9@FM`{uGQ}I!zBf#IjzUpqej)?%X}x z_mnH-C9b=ox|?2Z|K+b7y@Fb}41Ln7J1)ogB?86A^tcnx7{ouGPg#*D$zL}kGVq;J zTlfm*ttZH(U12HNTW~Mo3MLx z)Ajl)kJrIU$P8b7LjuT)RV9_Is!i(fuD}RPe_e%0oP7=Q)$r~hjmn84yr2iXI`U^?^N|NtO@{f|- z#adMV3pq)=NJ{re>9i#8lH|RTykC+JN%B!n`hQnSZ2OJ%|DKc{kmQq66WNOxmn45J$#*6BPf1S80KZrg8EzhDNYWSqw&aQC!O)LOy-!H;Nl88>$)_dxtR$b4 zSjGkk~^n zk{IFNGXIYAFI%<})105<--G=7RQ{C(afI`-AeK14%)e{=yUD-2IC$V>BIK!$<7=$W z$xw=^K}qjkzDjnWSVE?SoF8I|9RJEv<;fBKI5Em_o}$Dg=d1i%i=6Ab= zf7$Yo5b}2iLxlWwIB(54xAiCTkgrPeHBR`#0#|SGuMD!?j37{WNSTu+PVrqrQJIq} zU1c81tzXVH1ck5WyzuVpI6uI@f=s-|6GHcg7%u#s*Lxz%5LpC*WO;^!hv-Iz3-X1B zYd>Et@vk7IEU7Vu2!hJ;nqY{Htg_%{8D8h#gZ%q+`sKI%mW;0QXyFKS;UQ_k-^q>t zEXjXLa_0_iUimofkYI(;CJK`KC3(FhZ;<3yBvIz^5h)3CPXswPZ`DYj*@`4~8!^Zw zuHq-iY+b{7nJt+odxm7`(~eOrA@d|NBy%HVK;}bcLQuBE^<~^;Ooa>xDUbsCZ)Ga@=i&Vw7f@3 zzbT1Q7?o6%!YEBq)~7u00l7iB+$W`^d`%gea5vl%V{XlvGyz zrj&F!d|OK2k>tCQd{2_Ul|=DhrKW!p;14AES4mWq`k|EmOOhW+@?%M!FBq@u=58tJ z@_Dh8ULwg$CAm+MUzFq(lBjt08Y$^Q(-o#N+po&Cw@UJBlDtEbcS`ablDtO}k?s<| zC8gh%aR=ACxL82kILBtN=eR$rmK~k|cj9$yX#%!SQQS`cp~%T#|1} z@-0ceEy-U?@;8#uhA&q3|CZ$MCHY55{#lZLk>vkK^6!%Tha~?c$&V!Yu_VurbDOFx z+%2USNutuLXb_2e1^6;aRE+v1DZN6HS4r|3NmSQ(y_8htc$1WVRg$+#@@ta3Ly~t& z@*9%8N0Q%^FbjGnIzwkULwiMBzd_cua@L>lH4!JuSoJHN!}vKTP1nBB=3;qU6Q<8lJ`pT zK1tp$$p<9)kR-I*j(+~GB)=!ggOYqgl21wU8A(1T$?r?@MM?fZk}pg0N0R)BBwv%{ zPbK+tNxmt`w&)uJ(9t_-FX{3G~bDDIYi^BtvPoYR^i#RUA?Z{&K0Qg#4GJ^vjYc zSy#bHsr#$tnh^Q^w{fXoC}VGp?F#OuXhz&w6_^}`U&X&q;$K_HWi6>cN$`FamHN|^ z=Yf^i=iyU5?;5(47~o&NGa=%Y2v$ABU2aPRGr7kWphZaI=O_Fpi>@bq7Qs%QBcj_V zKc59MZhH@xujXHQL+Piy=eY>yBKnCax4`X)XePqfeZs(1AX3>!R40DE2;;Z$ebUC$ zI4^?W9hB#KqPxoINv}lkl>2K`EwRMEqSE|4<@rt(rY!AiH`kN7aX8PT#kFO`dW|wa znd`~;H0f?G@25Gq z=LP#jMUY-HK5%X65BEB;pKJ4&^s}hn&-2XwiLw4?(AEB*Wi?@nI>!**6;M4$nd#XypV#i-UPRg!L;<39`$Y-re+$>{7hOm>Y2w|| zgla$Um69kye6Q?3^ot_Y{{d-2^`WmzZPix(OiHS>e1l8egqXqmMSto4OKC#Y7*#p` zNA6Y4<9Ts({nyBz(Z zX!QTOG$Hy%|GT95_e!Gr#`~lsYDfQvUIlDqo3%H5K@P?8r(a*rgZC3&$VXC!%vB=<`4Qb}GW$$gT%<~(ltwUWF}lKUlj zy(Dkogx5$nrL!n1UzhF*-My3=W~dN;A^AeD3j9!6uS}h|-Zc!pmVd9~-*cgr!(1~= zF_}vC+nigN%P80XN$J!bd{++|6y~Xkqg-Ejhe&Y87$SURh4ZWYD?DYL^FPPG8~nS) zzuWwKihtF%rZ)Mz`WPr1tHwgFmbQE3n%e7MEG4zOsr6pXZ!eW=YRgyoQjKwH+5dN` zqH2QLSY)Hqm`jxs{IaYyH8<#@f42bDUZ6GswE{#gPTg439W_~_j31V4rF?^BoJ4qJ zkJHfbJt8B7#g->fh5jeeZ-ViTYex=|8Vl~@Rm;`FOt;7l{lBo@F>ay4zvKKn!M~II zdoB!khHIXc4afcpD|AQfnfUGN`>zWhh2K7!UHt2#lRB||+nXEvmX{Xx9ci`poh;>ceffP$tF7hj#kSPbLb%?-(v~)5>JOVcH)DQw-|#R!tFz@_KHG)Jo0$m z6V0Wq&T{jJ-bzKh_13nQJIia$tyQ^A@0P2w-k74bEVnZSfhcW zCs;*1WPR)C25`uX56uw+hBl8jfrCTV1-t4{bE8H0jrz@H!U*Is5;9>!JOOgGv*lu5 z-PQKVEf*w&rW$w*=sGZYi%_1?da=1dXpIH7vV0Pm^O3;{8aj@VS=#^r4+1Kz3~es0 zEDkNUTg$+CL0DYrEN>0bC=9K%w~nsSk|f~z(DK?5!X7Dfu&kv(Ed!^QH?e${*Rgy$ z+pDdurL|SXCGWaacir)7t%5v8*w48WSnaEwCF(XF;JPadgpVHj@LIO+?j5)8 z-Z5&fNEOr?*}dbFeV6U{7XCFa`^bUR-Cx^r)9!!SF}r)m6g7AIjwgetW34VO9e1}} z5CIJRqLYfbvorPTVYe|kS1FCvopdr;NEU18{aB@3bL-WqF|6++9S4x{S|gV|>`s>I z?rrncO2eHlO}j3&;ZBtrljTyac6h*y+~DSRr?Yf&5YxCh*xUk{TG;DIMQZu5GvH1M zwQ&c#?{WAhNAKb%&y*VOp_#cc7yl}Ac&e+pTD8%rRou$-Se1H%%JbFfMkYdNmGjFmum;yM)?4@t$Bu*<|e#uX`bO-Z_M{~ z!O){peQLTiRT*dzohOt~KpGg~&et)ywbE#%=FZNckC?(iM{43$ox}R%%v=NSgV7e8 zL~o|?PW+N189*m$)zPwx0k6zWmw?5M(p;lDJ>gCQ$MJyb)NHLXRhe#-8Z>s?dDO21 zgZ%-w0rDV5sZ`Rf9G=C~GX?6=ZS$ouw{iPy#UcLbfP%%`>Wq85iG{wo<+v^+kCrLo z2E3pR4lvCO#XRb7u}Prmquk^VUDV`b4EMG3UCCf!wZa6=LQJr2iG^&w$}DKly^8UU8M;p6qg>NLm;oE93E_*AJpH&b`Vrknx3wATTCqW*E0iw;*sOHB9a zJv@3&4S;BtOAT75K64m!3_5@cg7_UCt&g0I@SWv4j{?YE2`jZeKRb(6&O;Fdp?AQ9 zao|Q{4t?@b%>`u!gKIZCuDchVp?T+F0|7M5AOcBTnjE_BVPqzWrH!edt~9`M4$%4w z7Gq%blcj@L$y23SC6=|y!AdRbmP_Ty3R7-xCL^!#1Lhia&@4mYy%Jv|3_aYa@{=_m zb2pD-2`+3CKSPu}U@7rl#x5a#DW*xn>1s0=M%MuZ^r%s-jJdP(4HwHAYbBdZ8cI{2 zEghQn=*vcP(LEWX-&1s7-JPB(LojGmoD9|+8XB9ypq6VhSc$q$8NAwVFOnW`Y{2cT z6N}_@=oXg+^t5xWLpL+~OJiKonc7VGz+UI7o1G+0m5)zE)pA)9Hw>?Gi9k2Tu)aLb z1WayJrd)9F(kO_63q-(tg`jAJJLXyh*niUI(rPD_E;zBLg7nJUK}>BOBaSGqf&1%| zU^Rx0rocg6)nRy&((Wu4IcB_kV0H%R#@*-!;vPaV5}T^iV7t}E?K*RQUs`LMolKhE zn#lxl;pxVtMJ)!K%S+8on`St`{mm7$1f*9M>I_^h)o8Io(3v^pFUi_07y<+w{01cv zUXW2&`3-01sxx!d22g4YGsy231fk0y>SupDj5NI<2KywvBI+aC%>}Z>Oo~upy}3AI zxLSR3icp;C>*(!`O8ro2mXUyM4~+d7L%b4k6k*F?CxtY%Gd>1+1`7=IG?h$~kOw3Z zR!u4lBw&Dekfv)+n2xNjLG4*PVUZHURnJ087~5ssW@>1a_y;nv33P$v66%d5gpQWx z=BkxBOAcjpvmX#!+JvOOwACIsNt3#;y|lcwwCWnD18@u!1Z@sE)OIrjt zGzjWa0Q(LK!nIkFfPsA?2#?mCfD9bE9Gh}eVBJn~IFl-5lEp$HhcsVI=JKf#OyyaG z?C!Qb$=*EL5Wcw*1bcKCIO35%dXs9MwY$;zal8uDp=7LHsT?3&a`0B307qHFUZNfv`u!xIL0nn+u9*O#|9%_!6-D?n6qYo>XXjZS5qD!!Y4yzsIlO%;%bB>gWD{63bkZ7lS_lz zq_UY*DxEB5Mv}QS{>$ev(3x~9Ka$QRF}TG{dK_pITub)o7(FWYWCT`+WXqFgp2J?o)NfX3%46;kDZ>mk{YDQF0amb|5>B+86bPf7*UAxcG30#+9m z!R*{j8A=vEAqa{stsHTii;EjPBUq|UvWPKc_LF*Dg8C^;ZTCwOiY3H8!&ZK^{js**T z;%oD~-azJ{I5gZ+tvWGHIxhM_atq#EO&`j?ZwF|yGByusK;+xrmw6yO6~stG&?@c4 z3BgSU*w(Fhcx`~MEMWwNWvRWUJkZ+fw9w@2TxnveM1l|-DZtkoWH6x7G8UuQv)0yD zP?d#nkR>ShkeJ46uo3~Md0f|*T6lA!AJgMwBtSR=1?PHa04!{;Lssv#4oOa(MQA>o z$Dl8C)?3TX%}pq{L00R-odJ+?*t`ZEi==abh+C<~+4}sbReEY=Zf4LS9u0Oz>p2}; z-`;8sxUHjuEGZKr5d?h!2=r0n!>>}W4hPk0Ck<%(zVk#Ab{Q@@Z0ahE0%;CWp`#lTCgeP3j&pNpg zP#GMmjMv&HlX$QYEdWFebR=Q5cLgn(2o z3wqXu`MidK5@U(6f%&#eUKeL!$(}-hC!@E_qht*dcgh#@IS8YfY$2D%wUisc#-)<+$&7C+spzhi;h?n3GheH z;wMI?PUSKMmd+s}l->EpxC_E7>ZixFEb9cR*)g{^4yyHdKEC!-cYS z_0=2_ zT1cBzm~gX8C0Ym1CK>%b8vBd1%Yn{dQ3E2hKcZ0m2(z2jqPl%qSiAb z6V@xYLD+0KQ2$9%6yb)(gU1IupAh1fRtaFy#&qE@iPIPd+O?ErjNZ(u`INh63Ncu} zV0}6aDVw%dCeakCioFK1D4Dss0bD~@`WWP@x%qNq20IAYS>VkBo9cl3MpTeNV96cC zMeKBJj*z$7+B!vVG%-D2CiMtyyEFj2*+nBj#(Ty#(eW%Pkwkc2?o1-ax=4nU4Xvuf zm|7ZxDINPO;76kQ7&IFodq`+u(jJ_>h~1Rb^X$E5wexP>-WweoZ?&p18AH(W+TRvt_x(xf+GzOUMT83&b zZLY3ufR+SBKm%2}cc?lJyDc`BDq{oUaljT&wUH3}mNGjd?1k-<_XwREoYY?DmRtB& zte%AB)k@hN87acHPMcDPZA~c9cS6k28|h#W#{$K%1#{FU#xv$lRi=oJ&5Yg(qoQJK z#09iuQ8ZQ8g~9uajdp+8tUNX|Plf=Z8w=#y;HGjkVwh&y5Q4R6Z53!d@bf;u6ZQu- z;z0I-oa>%+ZgvJdcIaJ3BPW4NODvol$rIb^7-tB<>-30|dkHO%<9_pW?>dYFT;WEi zy}a4Rb+wT0*;v~+;XJ7@=v;FmxyO03v*+fGJyaC}E(!qgZIo}d_Ao9VztMRPF%wV4 zV&R!~Oa+6WwN5wY$mTK*OAhTL)_FX@@4BQF-Hjyanrzr0KWVWfd3emk!QZVW`_a5| zM4CkEf^H@GhOb=LCX2QHm9*&hbqEL6yrHqQetB5zxeW{#QA>%j^1zv}w zC6%V3UX!_5)Jb2lT3Cg{fZVgUBG zQUii7QghJ=LKC#tHV&Jqh(LI{TR8|Bc&gHvoEgK~0_C^xiik)qNo0iag>a0m7z^v` zOkcs4Dy1n|{hG)9A|u$Q^Hh2SJqYdMVJ2%9egzFO{zWty944?VjMKO~Plg`gJlhDp zH4o&oo!-=KC@8=RNt+|SS}iv~&MMOf@fzqMq_)V5=DiN1FQka8%`rP%gyJ}o%Z?PX zsdP3slFg>_C>Qd@bRkzrr&F*$wufMkWUUTH6<+w5R2n93#M>Xl76YkL_FA;|Pt<+n z?3evPwuyXrl%uZ3_8nbYY43yI(>eyUwYG1py?G4IhWkje!PeaT7zI{0bgDj!tq~f3 z%gRlrJ(x-|Y3L8-H8j&c>A2(MFGm_J)}{(P#FOB6Gg}&C+5i$k<3VIgIgYO+**5P^ z2bDgp1x?FVtS2V1FNdr$!cr{zA+s$gPaXm@jk&O?($=nXP4W z56c6~#kYE-Dnq%kaomlkkS)FUc;4ouQW)u&mUe8= zUl?|(Ww;T{f(?zsj2{7`&azRGodDev&5c#KkPfW0H#eI{*dr(6a>^M1opiLaV=4p7 z%Di1dtA(v>-GH9!#HJ`7$FkOuUPo`qS_f{0+##I}pn^DdDXYYbLzf_NhfEDZ=WGBE zjkOYJRQzI0wh9M2i-Vm-s2SM6#;WJ-Lx+HlLeT-D1=jQpr;0GKW6NS>BnkUE3|8U4 z_E3Ht69*gja6VN?7wBJhq=;EdXRwzw?qXZB;b3<#NKekPVHVuQAfbZR4t$5<&)aS- zi}JRz30F07&vA~gEiH<-$pB^P^(3X4=Br*lG!DXcp`}65B8DgHm1f=Si3pb zeA2#)csm)8<^5s3kT*pp2K~Ibw2IoYIF^@=wU%n@buWeE~&>oP`IFUk`n@ppN`U|wv} zczN#j*@pEnF5_vKP?|>)R)BQ=)*(d9dbvv0AEI5b@6qm~+gw?M{UHVSdP~Iu+@Ecl zH@qy72vTavCH=#3WI`g>0W{9)IIP+1%hYAz34qa0qKKY* zDQ+hJQnNwwbcjiH17nB4V$qiHB1P+ZX}n@7c*ab?uMP2u-_-6R&CGnQ zQN`r=+lv7RI!jJpO7r}Y5_-m0*++!MPujdA(*`izn15WSI9z*uy^S=)*0;&iLAfa}-{?Ya2^A4B+6j$a-@NXLXiwFk{eJ z+Cm$+x3#^ofx{Zhr%ZcZYkD%`7N@!CoM}9mP_p6Ux!gqG)^PJidu8o-8~sFg zHrH?##c8ZL@EkYY#ADv!I9jbu0$?UYK0Amlt87ky`YA%?`YIwFeLhr4QzyRpYW6X>zb92)(Ec$`FkkOIIq^Ew1-CL~}!8hn8-(}dcs&E~kuIMQ*&p-^N z4LopZ7U>8-ma@AaHcN$LXmGJQKIv-x~e1t%{ zSV*a}IhDpcHVc;x;0p6gcWi#v)m**zDsTpakU>J)T**leIzLZ8-Tyn! zvGy=!pPe6sUf6E5vb2IQu7{10!&P5|@Qa399we0n=*j-2JaHC}Go)O1D?DA#Q!Ahn zM;T4R*YW=9%n_R!b<6WCX^?2uA|l1d%2u$Ew!HzLj+4#+8w9a9V6P1L!4W64#01%_ z7Lp-;U=f_lU-dMbWD)Y+?fl&wNN`Y~96lVtTI)$adrAk3yaYURWDheaoGV&u>!$`5 z2YCy|NRBp`C#Fl=S3l?wG&TnLhkY}$=>5EZX2l~Rz6frU^1|VIm0lNHBz5?TPe~FV}moUa`Ir$^rG^ z3jQudcy5zzj@+Qn;SijEIMf^Lm^maThBE3P?FrJp18I(UMOui)3oFV7WZ8&jH=0LQ zns7MxEkPb_BFjphiBJssJkHKQ0Ht$cleV*s9#|kr-sj-HmpDstsg#o+9vMzLLn~X` ztL>YQv{&1Z%}}JnrZ+>1#hGMh=t#yH>TEXQB@IK-&E&ZUQx<`?nyq6vIK8&TXGU>8 z6lafVYeJVFUVIO?PpAAWVN%@Arb@TY%nfkgKqO~tT@okHIr(6qmJ_IE?RtUuIM{Hf zLpZcQDrao4?}Y_~GdEZ#l5w%9aPG^3@~zp1op-P&M~D5xm?Q4U~s@S!Hq zsECL7^Q#gXDeA%ousg|n1D;}K{F`af`4Xm+h3BfYWb`1>x**{IgSf3UwrlXHgHEr# zr3i8W>><&BH;p=rZQu*J*WsnX&@A@DuM`AHXY_z9(AJ3^fY&?(D0*A0BhL*`rO@Os zPY(>f#Symn9>CE=oN^SEl>K?gh{qQ9Id^;-UZyCLT1)iiEMlLHx9Z}cWn z(lcnZG5|c-7{n^2HD#EaXF8*cdk2BIn~+^a{1ulh9R-hRsiPd395CYDS4AqW;>ZVI z!jsH-2DD1_-0%{TOJEP6aW0ppVX+C6viN(S*OPTaOA%YO_MXnd@-Z=#TLhn2G`~HL z{4rIdtwUN!0Z&B7jXJq0o2-F~dKiX9J!xkiauf}`k0#zue(dPh+5()&)Yi#v0@wvX zk+FbRqrdU#m?L#Qh!^5qWdbXm7ocR(`7Wl*ds*UBAAJQc+_j`ZSwd?XFtn{6ht|$v zW*D1>q{!kZN+F%i!!x zQMjPm0}oW-h;JU;1w(ia+NZ)ZtwCq~j#!)-@YykJJ8-Z92aL)q@Qwpmj1VQ?RB3H^ z_qZ4XbsdLYmE>baJE9Ff(TmVDNi7Hc6Z1$CVgRTg#^ClT5Nm7`2a9+eVUM1FVh!q6 zdt(KrC#c)Bw?920%58uSSnR@A4ZRI+1Xsvq_r#{>N#!*{v87V6eBZU2MYyI%8eE)+jTwG}ux%69}liWs~0&ux>7+2ARg|AnqPr-=Xg1c5d= zfYDekbfAJxp_gmw(Paa;hN7mpzD`eKOQOMRB?8XRIOrpcuO8ycq4EsEFyMF~MzlbD zZT{?2ZOm?-u|`k#lPIv+Jl=N6NeIm_nPp|0Uy#+ly|i3er;~-`&?y8k%#E#qq=>5n zIJcmV^n}E8*rHgZigcLA*pzqznQ9WiA>IBP{E%)SYJwyIvCuI&Nq7YG+xsqAz*k9C?j_ zFHf*zF0B=cE=77G@-*|;?;W_7@@brl`9bM9}h}u|%fLlbIt<8Xf@d~f;wI9+uqv8lf>S*lX zZ4MBqqY`5xa{_q(9Ht{U78M|e8xfuG64jZ59>>-^DxZDi)Z~Qq1E+8y)MSQoAm(5a z@I-RkV^N=keayTd?!l3>@$ViNV~5CB0!ZvB2Ozr&vOOhykBwDwho!J@;Cpx#*$gq- z42=Xc>?7=14*rDWT)wtVzQCXm4c(mf^lmjN`2q>r&cIU+t-+{^MT`OCGmsKOfX^P7 zP0Ugmr$6WT5GSE49VSPRhnWVnsdA-;WqT`BW9$OqB5g&^$i{v$hDOu?H#q~bKX9fc z0MTs;5%h^APr>93yBz#iT^M)G>qRg(pR@oIj17ZG2)wuJycD{DJe}R7%;o_-uJP;f z>3hdDr|{jmT6M}AJ1WxBVIq503|#gWE?7JF6Dh@iTRqam!AFeb7#s{>3AE#JAgl+b zi?+Z>=i+n4yiB~M!!ns=|JV2fG7zSKCIb9aPFxe=rBE1H$lM)MFlAL!wC>hQkEL#M;!t z(}UYu9mH2yZjn2*r8m>tvIB>_D`zP}(Ii6C(B%0m-m(*sxyqvWN)jR~#OQ5Gm_-)Q zFqMsxN29`Eo^R}S%)yVNhUGiopkP)kk>e(VAK%0E6;mHT5D4QfMhB)zW?QD7*6~#G6eUiInI*r0xe}-jLbKt8fgK!^i=xNy zIQH`6b!d=#T}0C)KgsE6UQJli=55sw#7s#hL9L81cTZ1%OqmdO+*f$1p|cn)Y@>~i zlZ-)Naf6o<7%&eWho!=kb-Y!xGeLHAKh-iEct={#-S?Qzv|6hVavh)H-NbGrqO=82 zlm$3FJVO0+;qeab(?a4XlQy6H4cG?pKHj-ias zswM*$TRdTm*v1YJMayGLHr>N^>>f86Q?}m3Hf(uP#9d^*Dqt>0Kgn1Ql{!gO%?k_a4KScs#A2c#$t_TdHKs(yOlK&h1scExnw*#&Cs7s> zt$Ik(+=+?Z=qPzMAd>0Vb_q5{9h0(kka>vA8Xexy?I$7%M@iYz_?+zQ2?yF#jIEL& z1X!EsyF8X+>;y`<8_(_zI2IK-3k-MWkQ26Qg}j|KZNgtkFK{2-Px%Ip2BC8RGS&`Kk;Y?&TF{VJ6lf4EdP`2~3KQM;1@oT_1RVd;B zIt-0CfR2OdIKF^wLmZ4R;7mAzE%Q|xMvb4tT>5%JhKlJY;X$t)hA8UM2v;!a^sn*0F&)U>m6{IJ90=oH%^gEsa*qmMT$8 z6#~tExw7M+>#ognC=w~jm0g=wk&KCIb+aXJKM1ST0so=p#=EV&?s{#R3dbz z?WbA60X!Kq3MDZ+>|W$s?0lOnmKn*J6iNz-(eZ;I^cG^UScRoZuuScX=xNBcM7#l_ z2KJPBBUx>)>}ue#9_$aNE#5;#YBV5^z|@b;cYyKY!Ke)8saQxd4&9bnZ!GbOKwJvQ z%I^eMZ^rq&74o|TL1<)lK#o$=uf!4~iId)R7LMZL zeBo0DIv(KJE{sS()KK#*MU$bPfu2E4tM)Q>Ry0s5#h~loq@|AXzAQcjo-^E#}I^-OjW1_UAlBT3k%+i z20@l5q-z~{G#wyf$@T``fugzg4EnMX)R<}P`Nb?BdB&+{T$cT%F8b&2st8g6zrC4)R-!kn6qG^?D z)E|sclFnw7=Aeoqm|Vap7zX2hn_ZA89M%U6>2$d^PoA-;AbT*7p*{1EdJuyQGi|HW z7-C!@vsr$5m7&zg*ciw6_d1bH7R8PUA#Ai%K7fcIoI)2HLgE+sDi1mO z3U=mDZL5sy67!KA^Kk7f@&Vo2`!dtQCD3#1YSJp!th^p!E=EBxw+P`6(NM_EoVNIc z0;s9Ci*r~$%F1YssnFBmSPzBQcI9xnf&*W&6nV$N;F2jwRH$xFP1sLu5OT+GLIPd| z^b2#lk?F088ODJ(KKPo=6rcy;9BhV^lYAbU2~Kwx(+G2jlib;H*&|RH1;~mr*sYqJ ztFs4lJQ0+MiI+nFhl2vE@3b&YrftT0s7hT+QZ^n~vKN}|dCbbWOV~V&aun@2d$aQk zR0V^fuCtJ_!5DS-h?X~2EhRxY@GRFE`P3tr&Km%Kyb^|2M~5{He|+@FEk+AfXzeS* zpw~qM(Bj=`{P^oS0O2}ntJN?;=q`t`;O9qQinxmjF+DJN2Z04M$nYBx+$^PDn|(6ZK+p-Ws;KdzLZ$y$Hh0(ID z0k$hX$mA|8b`bcLoMOP~Yn5?Gcd}5$hE=uQ1b9DEAv`hUwa(6!m<`P{9CKrZYgY&K zZXiDqh8s*AQ6@G6EiR#}SBp9;PEDRuGfDeGcZ0a~b~BVRsdUvYQHCvHO!1^x9o8-HB0kN-*2o%>!vs zEsXUtHqAL<5Wfy|EKl{|EF%;6+3cZ+?^pzYip|DX7@dUc6FUwYq0AC2iQd_Ii6>~0 z1Z+h_Q6V_!7vcvnu>8R|OuU|gH7;SG_oQV&z_)@Au-;)nF^K8dl3<}hPDWt~bG$S5 zrwJSS$i+*IfA$`-Zr&Qzqwbvq;Zb2Ko6%#xLE39WfxJF9q!=O?Bv_ZwcU-|5R5`F|3VKftvl26(j(N+S0Rils1A$`QDq{J>SB^MXD6fqWlZW;;zGJL)<+MfL+d;G zQlK9s5^*P>B9U4yYL1%hA(V+B-t$IPr9zIOkjuq9qh?T}^Gac~?K-V)@Rq@Fz}tpx z5Y~bAVwjxSmx!j}j0vI*#>Uw|2csJqSEgXHaS`uj7(rq4#asqqwTsz85eFs^znsz9 z3!Xk&8YAN(0}%w44E!8nOB4n|cwvy*s4)aS27+<8=^$7WFMYoy({7*U9eVhnkrBX z1=T!2_bAxzB_38Fu<@nUI2;p^B#b;Nu=mJ6 zvn71uXtFw3o7wBs5cqns%DvXD9&Di*lBi0Uv3PYwr=<6YzJ%uZ(;uYAA@7qrK3POA zkYoXaRU0f8#sL0+7=UPxnH&6hqheYFz&MDD*#0GIeu7B7Ghdo8MoajK0J{-;X`x0HtPI&9U1_vmmBe>?%SsK`g zFL0(fULS5U_u#9ZtyA(H~7suEZfD8#baGzlfxR9imqJRaS!HYi@S1niJ zc>|Q&Jh}}Ri?tIJ2#A>%eQ8Yv9($)5mwib{EG|OHsa54DkC5c5v z&`a8^W7#9l{}&^#boz^qRG>4zMMrxcz(D%LRW(SysvT-+d+4!N50S?<0MRk z{6m=<`bFGgiR83c=)6ln5+Ro+b}huBh9q#T4ao&V&sICy0jiGTlOA<$w+lv%lS3P? zlFQszktS12GXe*;Cf z(hPB?efYq9hRv#o>S!U6>4bddWEwaQ=kwAy5n=eRv)`FP9NxXAcSXQ7NYjX6mro~C zAPvc4GM!21@r@G1V1!DLg9#5I_DQz)QJ(kSaH_6+03iwIc=VM|1h3fl@b;>@yxMoz zaMb6>&V1^FV&`G0bI61Ge3`!z0xTms0VFZ!=vYQmEe403vDZkLXau#xy`{8>kD)$9 zXl2K?7QpLHOb6`ZWS-}>a1Ifddo+jM3mTYZZ#;g?tK*GD&y5^%i_=)7U@A2*JUmR+ ziHP&$I6aQD*d>aYQOD6jcIRcu@}!@I2^h_}WemHq`z)+&4q$28ZV77(&%_aLwpu!L zjRFi4r48)UITU&sVm+JW(5xq8*!%Dih!Sx*hQM?}_3E>PI`XMKB2}!C(R!gh1J5Jh zn-%6^8(`ERD=mDgaCLhfdi)WJmkfDez#Us#!dY;%BiKecSj{}mQ9kF4ARi(+;_$)K z($C;C-84vIP+`><&FhvZA|k-^(x-hSH|aF8kuPxQj)(!qMIxe;Sx`RyYL(F;IUNEE zW7pvjkPSLZhjVoB8p@DPl!tjfmmewMQyN&yxYeS%@)1}2WSswGH5)l0NUY@0#sx*o zEkkwm_E7Qm;q60ySbYkVr)1(91I<`&)KI(+(SS+@#$?0hVT=w-l8~`jk_;QRyRTrl z)wuw)FT&-(hQ`n%dMd~(zBI!hm0>?x8FCz#>>6@0dm<`st${cj5Iym;&+($9kVU{+ zjGi9T9oWFqVr-R#R2f7rh&msRVX)5>%}m$CExa3u4tSCj$4RwO&sdz91(~k^4}ihb zccZ<}17mrSx3j|Wi6B}-Xjea{kkOt7*4I6-5sQUtIhl*~Nkpa4_5?1HR|PLK{(_5d zRyRd<^oOUMcpsWmZ?qu=AfKRKu%ot_5bWOBYN&}EY_Ek$=d0H;&9-%GTOatbIG~Rkv>5}*9}zF$d`|m%i0}`8 z%4{K%%Yu?=yG#cCkddC_QqXQ^ZU04`GYG_rmI{n!8Z6Bm+~6Stf@8QWa$M6%^baaq z`;L(K)!osudF!5I_cb(2ijgXKMx<0R4$d{?-O0m1E5Iu2Sir8%=QC(;6>@CUXOwWC z>{t=cqXDIs0ub~8I78R4hR;2Ks+kUNf6bf|^5(-r^{zJ~E0cWti5IpMG$Ik&6%GKe zgt-V75CqGdVTTpx4ee8oHYBE@FARrLiA?w9ar%Qqcp#6QSoVB%{36d1f6UJ81q6=$ ziZAvOjw^HU7^PO$%GlH6IFT(;6(L_`= zZmF&>YKLOLtH?T5^fv{(5hMq^F)6`36!}aW% zrXCnlcXRYm^Kh=l=V>CVnTn=b^i$<6ILs8iEt-pZ3;$i=Ag%QZr+5ChM-|$>g?E(MDIxR9cwKZDAiAf;*d$o= zKVxkmq~`rW+YRa*XG^P*l zG&P@ti-k_P_y=F?{cxi<`p(e~6c!SN*!PhXYIKtU+Oq&(z_o4zj2Aszf`<=^>$jS# ziMQYZK^sBW9eX*RIBK!=nmH#eF+9qMRfIC=7%<(4$+*aIGsssKs1k{fw7|krqlK`3 z1tSNkR1x8eW6@vru7t=Z9-J!a36-x^CQ9YodD?A&*{{QiuMv_EnC>V z_{P~Mp=hLL;J%0tpFx12)yH$w1>-f#`hfA?GzAQ#bh$zlUp=#~$&;Bnad zn8PRcaLmPUf&hd^&<|?CxXYijGw$W4z%n#@QGw|=Bv6}zjqlxG#)ul#fSTkFE90?5 zq@iHdY^bBqk!$+RP|jnLby=!;A16tykGEkog!jQ_f$uGOuk05wfKcP%Dr0Rnvv}sa z0O4Z*i))^VZxOM4aRw z&RYCwv&AF=>g~CCObYl69X@o{M1jHd^)sV^<8#P#S`Ui3fzYu%?10cGlF>v8b+4tz znCP$YSz6!wwB$3m$rVI5-#A6zPkWAY;wXAZPvH3pZ}V8RsMkddRyXG%MkvJ8gsfB2 zdX^A&w3wGxv2Bb26M@=0VC4JnMC>sJ<;Cvj+Tw?9D>||r$c4Yj5JlerWM((=*63XXJ|Oy3=AcB4RK72h>Qe|!_XMJc+wV{;G}5CV(ty- zL{S%bT|#$*#|{Xok@LEu(BPsBsISKPeyjR<6;|YU%bpFd%=#LLkOx->`n<>>+5Tb4 z*OM4eb_j?Ob2<)P8N_f&|F2|neWYNWkKuEF0iANmE6*&N= zQ^ZDK@OpERXaN$Eppejp0uq?I-1Q||?ga1t&QzDOBR(W*-7;Y&NsecgCaesIR$&Zb z-FgRIRWn$GvOy*@3_cnqybkUH5_5rFn!}T0>ha~OnTb>q@iB)H;5c1`sF*4yGZ?i3 zhDs#w@v44nmohe4x1D|rCv*a0j_(v?uA@VTz(g6=Ov<4w02v z=_cwTUK-1tj-voQFESeQAc!TMX&GscTU+Irivw}!>mdsLl|+0U`2z&GASq-Hr75){$(hP{#OxJF!#1(Y$Ig3GZq$0VZ%a|(83<#t{6dUs>mJZ1B zuxhY9%=&JH`s$#f34lmgDv_4kfjFQQGfI_0cEa$YL3IQ1Ezhl`t?k9OSoTa1;KAg*=>qiue+1 z2Eu9{fHZy367E0pNjp0Zo7aUb`ckG z*J6ZkU?w0NR>^3egf{JO58@-sa9F{|$D6CconQvB0pcJIKGQ_n9&&W*ftV|Qh8v;Q zA?^?f6B-Y`#qqajo#6~S9Cs(>>ujV7Ri+SOj6Z9S`Zz$MA&R`fguu060Q0@%sLEeA z#|=aynRr7=#Ym(PphXO+oa65iL*7_wVmpY|(QU5rAalCPXiGj&X4trV$Q`VMcOkiY z*X|=XIafM_4chVn+CQQutukL{g9lcH`7$5X>4I@RGD8{Wrg?@_cnkyAJi6MVxLdUU zv+Qo-%kgA^CY00<{=iTdGSjKtv57GLO$b zVWR2>%-&|$%o|%-KFR)_hbbBt9w4FQ%n^A2sxvi&gQG`#4B0osIm(Y`-B~!rGjas{ z%RT-Tf}%YUs7Tci!imG5h}=Z|rr{w!CJO0|CYX?$!;;+;L}>@Pd*Tl4nTrt>2sBIQ z<_(^j0$M)=T%U#lhM*xT#)=l~v-+-h)T9Ud7tJ|8K71n!OtSP!hwF1XQM6zJpKGuY z1ll>y)8HVD&t;r0mg7+oi8Mfsi)~D7T6^$$zRjQG54IrC{sfAX?`yOEb zoUp%TiowG+v-kBMJ%TPyWxfdzZaeceQu*1_>>9`SG-HO!r{2_ZA28a3zj+4)=u^kh z?gCM9e#L(a6Gp;D$d^i$1(hEo95u=4&buW16X+9J4A*Rx)H}oI?L+t;1`)T@XU1A< z%iAm9XV7!NNdub;{y0;d4&Ij*-Bb5Oh_cXw%&r`H`vc_PrU&?lOL!X#!07U1wI+T< z%)U$swV0ZkgZxan&={K)N3q8S-!hOFK^ru~gvp$a3p+7(UqSO`VRsD*>AqNnsu?z( zYH*sDpI<}+-mnH=S#aKStkS8r!${-9=O7X|)-%n+L*Y8`2KCtzK5FLWPzBBv2#X9q z;3lk=ei2s!qpF&tz0|{UZa_#6U4|e?pNycBfLVNFF_js~r89Z#eL^BEaGZRV_hdz2 z)U%#VH_D{T7F|QHM1=9kmlSo&jHj1l9~(Ym=2+vWcs^xxRBVonsm#kj@;EB<6v8hO z#E-TsRE27@s%1Q6Z8D5cc+x$fUO+x^{U?)(Jy z#5nFo^5i)Fh)43PiT87b&h;atDLV9A~Z8bFR#jggM@ zN5BYm;G=o2+NXYp!_z)xk+Y?S_d#t#k+RL8tq9LEhv(2UqCF;Br1BTGxe;*Op&c^# z(swAturDUbcZBr|%JO{qf{@}eOHEu|%owz#NP?6HqR-fS!TUV16Z33=1I`4r=Kaz0 z6#z^d`!MSP2H*fZU+is2#;7hBtNb{-G+xD-om(OJHcF#4%s3{>d?QWcz3FLOTT)N~ zhxla|77*d&ei{MMD`D({WRiJSKrW`?_4dx>APiOvf9M2X-eFH5`$IpS%_uF!Sjf7C zU-a3;@%Aps$1)&{$oD5Zi-Um}2@DO!K!ZfC0=XYsi+O~Jw1szw@KuC#0YB0p3q8!s zE#U1>Bgc~!g358B@lv&h2qnClSX$G?4F-TyPKZ%f!}$}q)T0x=$pSj#T1z7CxMwkF z+0}fT))@SjgiKkXb@_$8NV~?Qs&VC1A)Fb#72g1`BC6Vam|g&wLQ>$wRD<7G^U8;G zuZPwmPI}FiCq?^^HcDd$al{cJzpK;O&@moX-2W!;G}}ja1S~tyqyqs5AyET6F=oa_ zTq)-0n|X}8P;C)&!N*>&jC*}Ew!aTa8;V~1oVDdeFI0t3Zb4mqPc9|62FA@Np%gE3pie=8DIPEPc`-p!{Jf5IJFKby2>j zWBSrjMGIJHn4TF3 zzY?GA!uMJAGg)k|G`6ByIuD9=n6F}3h~gW@Kv6AyX)Q=Py8>a!_;-;~zm5dJhUv@x zEFUPk|FJ%cpmzxrZ1V?pk|N?MGiuS)uRE$<9hF!gRsr(ji?_514tf{f1&7AtZ-XzJ zZE$%p`+L^h3OP-a#O<9lV^@Q#uZF^5zMET_o}WU9L1vr$TF-pvBwxXez9ch3 zt5Q}bi8H}JIda=2n)pRD5ZoVTB8=|Cf{AP9gC{nd^(VzZQ4wSa`!D{Nh|evq8bZhO ztzBW&$hpY!L-C7vkWZhj08BVLkElxcjoNXr>cQMhl~^fee#hj@+YvhV$f&dosqn4-<5ekCCnTzerobm1w1w2xVr6$?~9j${VU>#a!T8D~s7R|HXXOpRP z5$A{CEQeiuL_&ez0}S_YdqAlBBEFuN%E0eoWL&kR6e6a;Pc)gwM_}>=*sF6R@SK3B z1X-n3QXy-Ycc5Iq8McZ2UwrQu%o22g8E(q0_BwSJx`ej3SC>xGi1`R_$WaL00~c_s zCq#pVk+TN5XwcaE5)vOtpnww|9|>X-S`+|xU;PuA#AzO_`8d{D+d!-z=qnqY6`Tci z2bzNmQ8=dcfM2BCXyrktIp{1fwqc~y7-C2T4PFpLw0Io0O$@*CYxX3BTOGZjo`@q< z5Zkz?4j3z{9S;(XM~fBAtZ}eDbl}{dj(}a&@LR{5t;oyhm1@>(aq%{@C}sl$cp^^K zX?!5X36yY`KXGDLAx;QRJXwL!i6tm3D`9dEv8?oXMbbZ9VNk?Y>~ZQ#+_V_OfeXZ% zZBI-YdD`{_o9DxNuoq(Q!V<`gn1QZa&S7lZ!>S3l2(KK~ z9_1Txyd!bA4AI$odx&AgG(dp5_FsYvK?6L|H=ThE@c@Y$vpN5o%NaA_|hOJyY#@-f*XLgiL5(J7RGfHS( zi64awx!QW`GoXraBoqB1pUlxX$Or}rrhM**hMlGu)RZZW=K1AqdZ2lHArWDUU~{z99RB(bW`@;U+M~SsB%KV=?F)E#iFhX*Ow95k<^>>lC>;vu#z}A3 zLk%#Ut2`El5U^7^Xm;92r?9wrqQZN1azPUqnJ6TQ7@H21fK7 zfb<9d#zET!aza0DKcE-kZi|3G%`IOTRG&!4Ylhq?9g!eePK4)hyVJx0GrfmhC}sOm zJUINeRIs$$f;1XzOblsQTmEewl;ly2RPq%tJ%eTnK83e!9JZhpmN5;hv{<5XseTHCEDuAGw14!z|B&K zbkOrH3S?^XXfMnhF|@(YF9dobJ1;~ul}K49I)VtR>m8ge;AbHis+ixkKTIYzpRTVo zPrA>F8TuO-4E>(0wxVASRgTUSB=QRNnYNEG=#w#d2+ofgaH2E2&~?9ksBIsjLx|J+fyzp@l^= z>#BKkWqn3X#HJQGlJEx?tq&2g71cm3otqsZ__MepG=&(2c|%qhAH9;iISJVVEyRQ% zmvQh$U?JS$5b~tA(>ldNVankfi?F$iwbcNx66trAK6S|o2QY>S2!dqk{>n%!2G0d} z!OkyiuWoHS`Qee_P{9UGL-?QdoeJ3yOyYi9e?Ygfo7P}nq z$LqB}MLAZw@ZuNlC_k!S;RU_+J_49)@!#mj?R?*1y`Ho0ji>s|^^2jSwz5eKNJ7fR+kIjVY4`}_bYkhuyul{YJ`UHr_>OJ7|J>Um>z|E`$FUMow3j(whkNs^A z_}}$_KeY$^={?{-+XH?_5BNe4_+k%urw9CK5BM{Cz?XZ#S9`$Md%!n(z_)t9kN1F^ z)fK!Pk3B00&{911>>lu6=mCFT5BLju!0+k-e_;>!Jw4zr?g4*E5BN)a!0+n;|HU5g zU+w{aWe>QaUct-p*lU9TEyZK^_kh2l2mFma;BW2$e@hSe+j_v?-UI&YJ>c)^0e^Q7 z_cK!0snRn_;-51zuN=;_aS(dAtYS{ z|Adn72m(=hD?{QTxQy7&5d0C`bRq;VGQ2+oKgMv9E`opeGkjMNh|-rBu0n-%br*O2 zdluD&2>wNe z?+(HHc<3(+!7~hhbO_#N_+vuwS25g{=A_E!8Gd=F{*M@bMF^hfDSuoDew5)?hTyMd z_~S$HFERXQLhv}F&J#lLEW@7|g0~s&gy8ox{HhTAiwxfrg8zu&SBK!kjIvJ(!Ci)5 z6N2Bz@M}ZxPcZzt5d2>mJ`jRm!%Jds2!1=muMfdr%<4 zd1e^yu z0v^G?P%9q6zv$+8EX=-Yf=O}%)h8oJQn6(0uS>qfrt5*z{C7Y z;9>qH@BvCffAQGf5R3rv*!4Z&H}rrH_J9xdfQR`PRgA~N{7c|r{w44*{}OnZe+fLy zzXTrUUjh&FFM)^om%zjPOWqfrt5*z{C7Y;QJ{F z{l#Np{zaAIu`vG;c~iRVr$HcK3i^)dQaC z0lx)s>i-#K&1~04|I0n<-`WG-=mCF54|t~se60ukbPxC|dcZ%>10K^akWbWRMoTrg zGi@)pV=jCri$yo-S|3`mD^#^Y%BpZ;B|A+1Wyz7nRHoQ$ri-1$TqnPfUBK61)9E5Y zUN3f_6?U4~g z1l0wDQ?@y3;JC()q=F8og;|7t*Z- zoI2c~JXFDW}y0hx38}~-sxN##g zD>Ex(d=)9kiDX1F^Nn}&^TJt0`Ni3ha5$7*95RC^6E@5RCdKwbYTJ;!^xUEhQ}4WR zD62R-$9N|%E0zhjppUWvQ6pSjEqpe$xT_2 zyxdq;yj}^0OJ;h0Ml9RhMOcuLQ*82p@pf(~Y-(6ws+k|oi)6UyH-&BOOxHw;i%rv` z1=*3DXnu~VVko~jC&%PJ`;*w2$Vh(*<(!ClR%?E4u1S?eq0De@anxj$VpA{@&JCL+ z6E`tFTv8UlK;K%)F?Ttd%ojCTsJOs9wJSd-D>IUnmv0^YFbj9mu0%8I5Sd|A2kmG$q47< zndWB}XtuCX&N8!AH$C$QcOb7zNCaAe$>| zO|ejRy6NxYoUlohnfc~Iu3QrXxv@wzWYV&Ux{&!L0nQbuSYD=$<-Ayic_>N5UcsDG zP?TM4-((eMdWJ1gkZvE$7AY`^F(+o68ZOAo zEHM2a%gYT%VmW5+i#H)CkZqb^hDywIMA+myGh5_@jgPXUVUr}Yi?fZPc!8pcWw9~i z!=tR5^3yXjVq@qwbGdGfxkyB(Y_6|j2kr><**f3K?Rx~#++f1V7lFx8% zG$$*X70xM++0c3wC$zbHFuCRTG@dr@wF zZhm$s*MysS=t4X~yfP*ji$i%Pt!9`UUQl4B;+$wSWS?%6ZE~j_FC2+pnVhV2Gb7}h z)SYK?S57!Px46KhnS$c{Z1Z5jh)EjAEkR&qC_CTeiHuw( z{dmbS=E(ywls9Dy^3r1_t}>#gPLXI)PEjZl$%qx0>Y0El$d46=P*2>-WeS-1v}>$z zK~`4S_{5Cmuvwy*JZNUnP*FH5nu#P66v!$_&&DE_YUU@51(RpY zlQB&Jv&1lSP&90Qz{zA;+o|RWjm24J@Z>~`%(^Se>EHhLt`Rr$Qhr8$G&hzX3Y)2{ z$j)GPU1ol$tRTxQ8*@2Znp`n_Ov!LFIYoxWmrmAHcDh*|W}4}*AZC^*#YOpM@-WXk z%8ErZa!n42X6MHPiKepi(@nk1QYX_)GiFK;WkfPe@R+bQbu&FxP{f2b%3O0DPyeBG z)9UP^+|2xpOfyRqhs-J^7R`!gm~?1Em7kNFTa;B`{QRf-nBRm-&oCJ-QfyOdj+q%lW?<);OcTvC%bz?u z;radvKcCv4WgXW+*d1Y?4x5aaK4ZR`jR(XPcmp7MLj^TolPEFhk6) zO-<6aQ>n>=QS%FQ!Ah@WB>LJc9*T^hiRnmwu36q?*#}i+nG9G^oNX_D#lSZ|YGLJ* zU9Fl+MeUNJ#D-r^dZx*qIhheNi`q3vD96NJf$81M+;DcRpdbPhe=1_!YQ}kX$n;vK zS+|-hh0QoLc{LQt&5cEivN8Tl2%=hf>1KTzF^fF27%~1bk!Owx%ru>wlbLIhnG0Dn zB;xXB32o#}bY>fkc^P)JW@LwoVtM8e#jN$r_zRXDB_qwa8*Z9mhqyW7$tcRnHK{kx zET_zIfLW}V=JUk{m z!rVMQYGi5I0CNGgmHZ!;omO0G4kheUfTH%P5hEv>%OppbANKqcik6HSH7sne+m7pu z{|a}^JbTV)x4(;$7MoB~=HJ`kTQ<+BDUF$X6pRIX_k+{Hdc{A@kAFHMHr}^w-(KJRS6@DejCmPH1eN72M0 zLkEoWTq#P@(%czF`^|;@cH}?5V;f;!+s*R*=FjnaEHsQc|GXUDieH7Ts=t%Re=@dRe3p3ppvPBv-1qZm zQoC#_3B@~cVrjjXE=#e#1NtsZlVJJ{See3qN95`xXmkIwGZ?eUTOhRN~kP62oR zaJ*p{d;m2%{=#(tLxumX4M3^zgWCZn3O|GTrwadO2f$3>3q}LnEd0aj0E>igTLG|M z`1y>dM}s_c5{5? z8F+8UpxqqLzXR_pRlwfy$GhQuZQ+~g$i~74&~L4Tue%R=vW5SHmjo0Fe_;^hFA~0I z7r&S*UycVqLHJwD|ECHsoeKGM;iH&u z3xt10JspML{~+`X5I+AD@FBwAnFKyg_%TbtuNVH>h2XacZ$tmzCHyo_fSZLkVVwU> z_!&c?|3%>?%zJMOzh@leKNh}@{5#<#4@3S};br7i>;lbft{(^I;C)@;W5`bu{sYHp z8{yr!?#~t8y%74(7v7Wn65-9bzI4YmuAVK)i$#9*K-+&v(C(p`{$PWWNkeM9)GTOt1*xlIdp2)gSQs?x8{4-+U~m)yy_yqquc z?YXWvU*usGYhC-=>gSXh|H#hWc60ji&R%iP9ffOZ~tYf+23c>H+2w!0o4Kf&YuJnq)s7IAux zx3{4uPj|;TmlW|&$5Y1op^+!g^cRaw%qC;%=ym@j z;mKROieFdHwG;qK9=G*5K&O7?@ocDw|NocA zIrYZ*VUJrqPcs2jU|iTZWEJD`$9UYzZ?^(wbL)5e)*oLDMgD!RmrfDhgN8UKH^$E}|0=itL)kDu+ykM_8g z-^Y3JTHy`HqR=#tpX2G7<#DU0bs0Xq&Ew~K@^^W>t;d&p{5+4}=W#ce*^eLexV1aA z7=?BSU)mS^N#PyVgTLr;-_Ngmybz-C|8IM|y~p=?+}7tyj;}90e!eGvz~laS`Pt(g zJo(=|ZuKu?C)D6V#Ktp+V!YJx9=GzLp>dpclE*s%#s9bQxRvkS3?GI(et{={j>p@0 zytBtUd;AiQyS0b?xR1xJ-TwVisL118f#UxMd;CI=mwLRL$ESImON98R^E`gBC%??& zT-wGzUFY%cp1gm&bE(I7dh))1c6*#55-;_<$Nl;D4Ub#@T)7rT-VyxiqQ&6* zg-_?=^e2yB2GRKc|9IT5j~+Kw;Ns4GFJt5Ia!-$cJavV~8*rU(<$HR(na6v1yrsu` zdpyhIeLT)|7OW4)&c}z<0n4`?&dznD>K=<-0S#v3|^Ou9AC(OabwW&i!X$J7xRw)ot^Lc&hhu| zhWwS-1^#^gUVs6@zhYd)gwLe{rlCO3Bez0uw8&pm4`96T{p^>?!f&9S>B2vy{4C)e zImxhCP@jPegoPsi$mq=3^4On}FQ z*NXr=Bm5(_>m}jqP6yZ{yapY%S9n9l&pzQ#y?)HgNxV%JL_sf=?7ZKNNyrCwy}z_zl9t_kip72xqSZ zpD*&$na>vq-!&8R{_&Ts=R=H#RU+Sf1?1NWf6f*%+a}>lZUWyXyxXzhyMzxq4*Ut> z-wp=XGq#uZUZR+_<_-kCeegNvP)!!kdf( z|3&!b=HUMo{x>dCD#|*!%K4D5CLGUuFz4=se@=ha7yf2f=xHQ8qZ)WK;YV{E>Gv|d zS3v$uk#Bb$cu4s1W#D+O#~=A^PziWDkzdY}6P<+b%!Pb6;b%Vp-b46XrQp4VFC7iu zU-+GDZ$x+z7u_YoXK?-+DZKq`=-2O$24{oo@##)3`uyWlJG3h2Kz^p^-^KhhSNIoP z|J*KoF8k|F;clK=CcFjxwpw_kA?mY1xVbGVzC9#-CgmR%{&Zu=yY+<|kCz<}{*=f! zSPuSz@G&F6@tl`G;;I|__brh>F(2~p3cu+J@Q;M&F+Y4E{G~@B|E=(kDuVwgydUNN zExfEXHz06mYsn7Z6_PUVQ@9*ZE3|>d%mk$Bg@AbB}0&gPno4Fp=@B2>X{M%aO z_w0h6vxJ|n{ENv54)8iTp)1p~qeC=lW$)3-Hk*e~9zoc;V}MKz_3D7r73fE_^QAHA{GedE-{$ zwa$kAg~GQt1HW7NF&q~wgm+^8StGm$;qLq6XN2E2 z7kXY2{w3pNkMOEohwl~Mt|j#B6Q21XxSoG_mg~c>ME(jJ0A~AM_{=Wg2Zi6mxIHX9 z=P}6R`A~o4vFq1@A6*H17jFYP;(blwYuPXLgxBM7Uqj)?WI@l#!b>-Sw-7#XA^7RS zXLG%gDf}wNbDr?prO?w>_&BaZItc%X_30|S2gg@;;cv3NJ%x|#1iO8OKgD%>Sojvk z&miGH^0;HT@G$f67~v0aUYjU<+E&!(I^kbrfZrf|=MCU zmJdPCQj!07HTWvwV;h056Mlf}*GIT^n{zz&7e0geJR-a+PiL#tQ%W2Gr+T;eW3MK27*T1Hoqs&%G6VuJCnIk z{6oU$aXx)mco!ZwJtlm99q4&V_%`OZ7lhYmK6y>}3G<=nE#Wtf z0e@Hcr_5I$32$@~QW1E2 z;S9sH&cbUjt}YgSUVrGhT=<~@;8zMC-35Gr@D=O9W5TDj03Ry6=p69T!uwMHc;S1P zXC@0z=X^a~_}3g?vxHCPd~vJrhHURb;g^j)j$vU7had` z-6DKD$NLW9Z*GPD$A!1MAN(2NAM<$sCEdy9%r2{d|oTaX9^!X2s}@CwF|)83SU(hyo2!WEIKE*BuRho$%Vshc^g+ zjd4ClxVvt3zVL6@?~8PV{buyJ`?^V^UpWJU$BPE z_Ji>K%rn0T-;e?M{|ax(`K4l2eD3Q10_Ca+|8@oBxO@n{H$0K+K%Tw~_@j)UIw%(K zu5$o*nlIpMw}Cei`MUQ4sNF>az}2q1?os6*<2pg*8y^QfTF)1Genac|7`fJSD&zT7 zsedKgqh z6yM$wzFj zi+tu<)aNSU4H=kvoxs$JkRL4aFI)mXQuxm8;NyhfG8KHX@DbFb*IifK2zk98U?SH) zw~3xww0o!U&9^|0=I5>B!0TWajF$zM0cak6js9#R@@^fkdH7=L(L7v>6N2X9@yv&s zhtJM}LCwQ^?*wlz^%-*|Kxg5fGZ9`a{7fcnE=K}C^rSzjF5o#Mp@7q2z;|$*YJRRk z!J%UJDf*woKG1XB?GPL<@<%gHIJ^V-Q&`XGBLB~p0JDX^$ZgV&SzW0W1@~ zq8b3hBB)QZOmH6N1>D_NxmEPs$@=UPzNG=clfq}M19(CBuyz2i3t#>Sz+T~>F)zI@ z{B1hmGvTw?vHOL$-URTY@MTQ_eic6VA%F@pPM^C2ysGe$Y2dYlSLC=jUijqtkZ&UV z=<~pv3x9bAxL)`5)Xm^oB0u{!@B-oIRsz@ivRn27?=12e^yekQ-{Uya>$~3N`b6)G zIlndZM?}xguHcoi3*vBHBLH2OHthh;VGzhS=nq~+^qj~<#pO{T@6HQznH%uBwV;6J z1Kw~B_$i`)W=8-vFOa`F9h~X%56%T(p6F?v55VpZUnU303Ej?DHY7^GJOrc%4VCq@UFfpRs>+9{I2-^s`vd-d~xwX(r&`aoy4$#R9(V zL;#&fPMZp@^T=JC?{prS!wy$}9`hLVs6We223LRn+zMR%*^~3T`m;eB$g4m1tp`_s zzT6C4{kfF=uJw2KRcZa-nF&2QURoA`>v;K&6M~MHT+WX=UjEJrS;tFjHdNcSVj}G7 zcv(9hT*u3Z3&3@}oDu`?gk2CP=ZpooNcg%N05l$6V#i)3@>%Tnu<#EH0R{_S%lKqi z2lY932?XiBfN$k^pDcPlW_vje1oHFFhu|EM|AGgCoCX5P&$sf&;dG*CN_m09Y<4`NOT%lcIy;%`l^U{6wz%>qkrr&gZdx+y=0Ez|uyLA%)he5#Ca^4v#@{?Bp zXgu7L39j*Q(jai{uUY-UwZAGH53c=n6oK~FY{t3v*L*rg`)hVN{dIuraP6-{T~QzH zuVu8W{grzx?XSlpkk|fNcMQ1p7sDY<`>P}K&uA12`uEf`0T>nm zZ^=9`S>#{e4lrGKJ0_%A!uMVXaI5fv8vqsxpV}MXZsD&l2VmF*^)x>}9p9LS0)Fy! z;P+z}@V$Kiwg|7a8DNL-=>q{C7v6Xqz%#XRJkU&o_G3i zB)Fb;`WF{Idfw?p2B4mIn!x_j^G;PJK);@MnsyDio_CthM5X7Qei;M#%Gd?trI-U+ z^Z6mhgXZ)7jiG?u5a`*-d8CQx?~x6_a0%pdwt}}7`4cJtXg&`u1=soat^VMe&sQ?> zXg*J040+AxWn3>+!N);8yR%*F{($co1i|A(egfl1{k&xw1l7;oxlmO<4`~W{_464u zz}3&+^#)fz_h7r!&)qq`)Xx=jp-25(!i24UF6;<-^>a0@qtwsYGa-L5c7Z?Z?gF@6 zc&l>(bl&_A=STJPM$Uuk=RO>F>gQuwAN6y6woCmyu>|!|Kc71ST>bpmaB%hWF;l_S z&pm5_tDk3V16Mzf4}q(nPZ|iWe*SF`xca#X$D{iB6M_LK7W7wR=Bt?SXPK{t3jgg6 zfYHLA+5|9O_)Q!~lZBtS1z@`HoQ(jpgdbr1+$#JGt_PSVf_8mE2Q%CQKD93ttPnjj zc-*u`_rBff&RHSLXcq^@cA3Sb$wE0BKR|+e={BVlJLH);2zjDtL2@SDDQaF9sjBxcl_H(?7HJq zt>=|3AgJ|xw=uZt|94Mt)nDf-@Kdl0`q$l8pn2nmYzXRkk8Rz-^F)t(4xOI&*l_^_ zJBfVVr2rQRpV0$A^FuBjz-9#X|7AGj!=mSU<_$gXQIifEDe_Gg0q`&*(0@PmR~Gqm zIlih3Z_pNiVH)UpkK_FWk)N^*po#D=saW&;&dVUE{q^G+;Ae@R>GYfC`FEKB&Jp<= zGXXTu@0tzXS>!)!0C2JJTX;O8{dn1F5M=iR{uzHAxaRqzC>Rs{W0`-33csfqV6^b6 z9Pi_Wr}qJvEc|$`TQtv~e-s2Y&p*z@ta-i->CD4>g|FKMuuu5a zTLCoB?`8aGo*(-VUwl6h4asNT0XxKKt=Bk)L@N>T#yiD1L$)V z-1UW*ihPG6=;F8qVx;8mDM z-MA~R4qj7uOO7M=dmm1|7w2nzzQKVm(4)`6dyDz4wdnt@667<4|H^!oC;X`nkUvlO zS(U-{IR;&>0KZ7&-*EG(@FzK6TqWE+mntm$pUiLiTzf&3cL{~7)Nfbg%Vf1B`n zJE7-M;U9DY*XIv(xdz;S&YrDL{|CVLh@RaX*Y5}qWkdc0;U6spch||fc>caAxISm# zX^x+tM9aEh2S3x@5uFu-q(M(?Hscm5c$oF=U;@cZUXt=gcoyNTAA~S>&Fbn zv;Vw7Ycg{P^yvNjEgFKKD0-^1ADanZaRuaC313zP{4C*@M8WlW@4vFWdY}F;92Xr$ z&xc%}cN6|o82T?0{yyXCO5rc(Kz^X`)7OLR{rGpy10NysO>Y1nE4=L(@JYh&>jXYs z_;|*rK4<=S9w6#{_XE#_p2eakjq}$s;cd8%x=(m1kN58v{_oSEf2;5Z&I8x`>)&Ud zc~a!3GM~R7yj~vkye|CtmEe1YFK7OIU--=&zj_~ibxcjH@-ds28ee1t)+3 z{{OG=i+P@*66X^)?%eT--k*NjF0{9<$p5zicthcjtp{%^{LozRmcsXN9g;5m=_!!c z`_Mn<`IB=+e#~~rcM!gc`Ts)U)yG4=hw#>1$Mz9^cYDa|{pJT_;Kd@Joen-+_~#wL z%Y?7H5&T-=J-dQmFZ|X^!1ccJdrtwMC-T)dfiDvN2J_)P!dJ|O{A%G#dAzw%_~j2l zUhf}YvKoA+$nWQQk|%^$-vIgNg*WGUjMs#>V0+&dKBPJH>=Qm?Gx(>%$KDM7jqs*i z5C2Q}7#^?vTeyplG>%s{zWR2C{-cGT!8kuw_(A5w`ojOkd8D!MVjeG?Dtz{-u0N4Azw=$pPi=L^R_uDC-1w9uC&+G?&vGAiF2ERghXPy_*`@46a4EZ9FZ`}&K zMEHyu;G=|JL_drdUUnMfrwIS01YGaqUf&!1W|7~-w`R=I)>|07ym<9|2o1yVSZ~MyesQ-vhb&i zVV7wj_#S60^HNQG9Ps&!tK)=!!FiVHIFP@+B?K#ry!(A6o@Nc?-F*jjMBd$Zz~%+= z?!E&q#{=%}JK(ShxV!J5wdi;E9q9L)?!E&a76y7!z3J zu*-#?PJ;~JK+o2C5M;U!_*&+l!J=nW2Y`{n*YJGfIN^&~ai+yU|8%YcnWh8ouE&@o zdffFGw+VOGW9YbO%Xvh{#pTySfyU3A9^g7I(%3E?7h`%uUdP4VmB2L~8ZjPpT;%e2 zR>#HRrObJpdA+LVxyBb{mwutKo_1k_1 zp!%&Nf%>ftk5kldBeP&v{q_j`seaqfc|`pd;(Vlj>$VX3)o*8Y1Xur5p#RlBU)`A4 zKMT8ptAF+m0$2ZxeH2{%GpH4~`X_x2xYl#mDsZjmyDPx8A78BtuJv5o6I|;VItg6s z`EfUJt!Il1z_p(1>w{}OyR-n;dQL9{*Lq&SM5Xn7_C&~QJ@@B=Yd!l+1=n~xd^Who z+sx(Q8gI+GfNQ)}S_iK2mLCS!ak^wUIEPa(eqV}$^DsW(AF@FM@NvLr*8<=&CEy(< zfYVICxAVM5ndqs~9N=2vd#?e|{-s#(Tb6F!^(5yt?cYh0Q9}E-Fa4(dd&XGEYyZBO zowz>#7!R)Twx08{)~5!?i`J)B2k6oI{Ih%F`g~mzT;uJ@TfsHn#&e?6cx%9p(sgF- zY0yJ6K|g-q7F_$~w>)t5!`zDC>W7VtfAzzeixTTUmi?>x$8o`;`rC1#r240G0I8p6 z-2=PY?^ldST%R}SXRXg?To0&!9@_vtD&K|!QS1K#2ZYwYUOMz>{fBd*r}Zzr1M(Ut zIT3J;lhYf3Yn*&^JGkbh#cVI#8pKKNEXZqK>hdtS`ezIMul`vy2lDEl-Q}zk28SW9 z{>f&3R=Z#3L0;`%J1KEJOZq03-_87>_587%dGJl$UD}V^x!%)$ykijbs6VH#16P0E)ecY>$ZI{9k4jw6N^`-ro~!zR zYdt%bfNMQ_bpY2mxv~^olER2SaI#&MhhXR{kwB1xc0A;*EoM+4CJ+c zU%d`o`!}7A(f)mt_0<0TH`JtQ|4z6QA87whVS}`P=M06s_HPTW-?V@G^0-O+w`Upj zX#b9=1+MGNYE%%z$3gt`I~Rb}3i$32_-K(oss@1eV-5O2`>|g>w~L5-=-tg zpYHlRmG4EM^4-`V^?%($*j4|p>JF~{Z}$+m`hRXUaP|KluG7^28>d2E{h!T#QU6cb z0eSWR0>+j4|1HLe`oF?X=u!W77MlF~M}9Nb@aH=L+%0@~KLDx=+FM~cIKw*NAC!RK zk6pmih68L7{(dU}c5@&<)E;P??Q!e^KDj5rGs4^O{Y%2Xs|~P6_?BY<_6i@;0$`u; zE5ZPu2p=>A;49&eE&%vm_`6*I4hrwG72vS&OF1FveIid(grMFh@kvB5HTU5Z_c9V5+&W(7l&u3fS4qShivy6E)PxM@PE#%t@f2aev z{x0Va8^HDck>*Sc-9^t6{UNWf4vd~o&8>&*Y^pWG85ul}jp6T7T`|`X$i+f4g7a<+@S(2m+36f|0?t9a*=oSUnAVr|NnOURO0-l@pD@)D)|3;{H&ydHGW=XT>ZZuKdT$U z&l*2>4FqTNg1B0`6kOxyx?8|`cpu2mpdYs3vM+4Uo#K#?)!PSt~mV)@UumJcMI_L!hfXSx(F{E z3VB_}UU(yTFOgqY1H8ZRffK-^!jEeYK2&&Du1iaWk9-jF6NT5h1AMCRDO|VD6rNKI z`CEinV>~YuUh5vnFA@Ix5O7`J*5Pq0!!8&{<()rq=gm~!U6-Z$S2crOm3Mk{-Cmxa z0ZS6=>2fr<>Y2fLmdm@KT^Dj<KTSW37v8)(z+~a!O8}+|uSt1! zLr~9ynGoc#4EUKmKd?~rOt=8xZsF_LpcTTeCTFt){U;s^K~9GOKVdca7SXe20|3J` zkiV1@>Ej}Q3j_8U;h!)Mza;!U9)Il-9-`g7!k_B~uuu5Y43JNRcVd8iC49uW0N)FD z*ApKU{xAdfu<$WM0rWgl)0*IV9;p@A33?u>7v~o}kM#2@=+W~?11|*E^GIEp*z|cL z)9KGME1;a4Ppfd8>hnfg@&HAjH!_8BuFo6!lE=$>zUbNGVNahoQj>w!Tk6xRE#&oi zBQv>x)#r`8!1cf|(R1-w=ouq?SsQSD-bfb5=`@i)zboYRc_WkQe|_G_c^tp`ypai0 zp+}!L@-fGwK5t|K+pEtTS1?vxIS-W8sq;tk-u^$B;`BjE{qSSYVH60&rLc@{Jg8Cy4x7$~O`2o}YHAaQFPQ z*23NM)6Np!g8iuVzv(6jYW=&`0@wNv=>e|w4>8|r{W~$wYyG>GL66pd_d@V0*ad!@ zGzNg_HQ?`aoxtTqz+a)BMxtll=>U3uZ$>?E_0O*Q;Od{NX;A%hC)>PA`j1C`(I^hRecf=|yA4q@|aR#GCl1_GP+xl|F1_Bs|P~Xp0n=j3^lp zE-ejDOwY*3C@3H{v@8LR#)`%c8c;H#c%(5Ce;qC=Dvga}DWcNwh(YEzh+zP1csNpO z%Ag+cg2PHi#GDe-h_v*`$l=3dBTW5Aj4X?#cfO?OnPbYrk)bRU8$6)6G(6lC8B{uQ z>?nHZuk9+E{&Bg<*Hp+i9Oh}?oA-9fSBc#1%PY@tOY_V3O`$vw-~LqI#*nk?_T|}+ zvYx*E{wb7q-u260okDpR*M51M%Ur$PzP$Q#y8To82c}SdfswVFZ$E6_JG*XQp8e&v zu-W|bMdrOL=l125-xx3b=kk#h%JXpHPxhlJlz%#beLH8kdb@pj^?yA;@ z%D~C;1tULl%RY`3gy$7xBdPfl0x|!3Ci2K+4;@w%ky7@1m%aNP`-JB z^21Xo?|v7;Z@)b>clCDr^6GzX0{bIVDDTck`}S>4a(3OmJo{H9uy5BuuAJMKSAJlE z@^%U8%DH`c<=yeNUw^wacjer^yz&zg*e^?={EP(U$EHwzUV`%DQYi1vm;3FvYfaZ~ zw=b{#YZKVFOMO?)?aM2_H9`4_DU^5T1N{15lS28I6WF(h0IuF{Utay+Nl@O-sji&c zmskGN1m*3T-j#Fv^2#4bP<~1Z<^PkQ{Bh4S|%C_gua@((5`Z%>svzq@^T{&&xp z_507B3vlJ!zP$3!C$K*+h4Oz-P=0<2JV&(>TAmeR=+? zRM7~V&G)}O=ie^P?- z%Tg$RQ-bo#6O?aim|beP^Wf%Xd|SZs|90oi$hj=xyR`W2Mz$@50l|w$+!ujVY|sC6 zF@IGl*MR%e%--sxInuPWxiy2Ae|n+z&oG}_okvm(qTe=btUJ zo65Rlg2MQxfBeg!{R51D+kWe7wQtu1s?%z5&o@e!59Mvz@^Z?5e4N#imX?8C@L$Wj zoLCr0;6>B(AnD56`rEGpwEkNSQ=L{r-TL-_T3UfiRCxP8vYQM~6hD{J{&IewW9|1b zf92Yj0obh}3?AzW;BEQ#rThV2DA1}Y3R?U2{IgT%;x}l&l)thW%AJB;@Lzouv|q|M z7y`)&ENSicGk?k2zn1oE2bS?7S^M*7-|v5W{yACub7=n_F(_}-%4`2_+F#D`XWKt8 z1^e#z)(4A0d0VdifukUKi1BOf7o}i-esd#iw&Sr2{wHg{&sa!yVM%L0YW|Y-{~Fro z*Lo@2Urzf6Jp08d*#Cj{?U?nqWZOS)93(Gg0o(q;<}caycWnWy*}ie}I$8T4j)&xK zmbdopT$QZ-$+Ul@<8L`nK>FivSPJ&%(mualWh;_z|Le4W$n*b*6zn&*3p2AFY5Sk& z1yFwbM;U#|`ahfY>&9#G$G>Fz|4;(^_WX0Q_Aj7)TW5bu)_$vNA^D)^|1zT}S^L{* zf1VhWx8>%)cP2sdbua(g^UulJzn~RbeUaaI^Ez4kYp;i7Qx>q}&(4L(+P{tVxeN$u zk*xjar$e#}OIrK({ByGQH_*PFGyN@D`?dK6f}6jreY@67)_%3tu=<^E+`LZK{)8JK zxt0raYk!LQOV<7`w11@jZ#wIL{XaDY`?cE`VY4-j|NrA(vh5#C`vY0jw*Pwbmu&kp zXy1P4;BU#=f1dUivw*cf!~7*{e*^6|cLi99WbF@}1Iek4QPA4IF$MdtWuaVC?1KNv z+W&A3BnPsjwSSZObItkxT7Q2}`)9Mf+a+tikY9kk!-CfSZ1b0_{njBAJks@FgLSBB z7tj99DcEmE`$sze52Ss6{=X#!`)||!Wvsv3CF}n_ys$W*1+4$)rC`4m7k)=N|IFJ6 z!~XnpTMG8eXg}RGocm$G=It3KO@hUN=rM^|*{`i+{{2zD(l79SeO~L*{v_I|-)A3iy+8@jtwVr1I>;LU3*l(E+!zW-D z{7=??#x6*9VM%NM5%ZU<|IefSBh9}PXy4DjJ5#WK$zQa;Hi7*|Q?P&aU$p;D0{eeU z!Tt!^?_)$UE z*ncqv`#016k;Z?6r{RBp{(m_I`=8SOxu%T2B^!VF&p>iF3)}vG)%+#f|4q+9!453% zcFEd5MEmcsptb+H`AgP*g!b*4$={N-|N66#EIbOOt^GI5U$XXV(eW$9pu8=2{MUW~ zk~ewd|L-Z-f3Pj;eWc@WF>kQ;$KTs2*x&sZ?LVKuzKw-s{r@`c9}hPK|C9CqA=>Z4 zlD7Z)hiTug+59b8|IefSFTMQtxlyF;w`&5`Y3+?|Z~v#IeZl;N zcmFHb}WdSZcO`6g*&Fe`Wr(d^N-L+C78PzHEZ>uhz2f{@Aqrb<9VJ%2(Y7 MNp~Ng)1c-55A21Yb^rhX literal 133112 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ễmFP=j=T1&IB#h^GPO5`(Jm(XB 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 diff --git a/builds/modifs.o b/builds/modifs.o index 3b2a010180280051ff466b16c49bb02b460349e0..4e8e67d9cfc225d7e178c43c73aee0bb476e0669 100644 GIT binary patch literal 139616 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 z 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 LXMbP(4_^I0h19;O diff --git a/builds/parse.o b/builds/parse.o index a3184114e0177e35d94aaa8a843204825893afd3..ad1a27d445d8247ab90f0f92c2585f142e40f978 100644 GIT binary patch literal 135000 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 Y@WU>Y&Z3794bX9K3GDFwou?lc$z<@z6o17lg6 zyar5Dr83Tt!_0^?!(v3Y8H+eH#w<8U16G2-Z`Fk{vAB~o z^T8S~ii(AM2rcB+(F44JEz05Ny=%A}pEV%FsT|z*SaiGw`WMPo&`>D4%LMmVghb$l za3dVfBEy6AOESC0BAN!oE3pLGn|oE9hwfzpFzhQlJhh4K(_z;{<-no!qT=N7<9_9E z&2FfYS{fnH?v@*N9QD3+c@6`NQm*XUvg*m0SgV^Y1-n65r5^YXmz(Uh%DU^fVX7R% z{*rU>c%?E9X+pV_vYsB>w3d0G1-&)OK1?rOn1KDv_$N`w(B*Cvm4&&(OVE2FCc0qp zhe+!>)^In?Io}`1n7vREvm+itp}j7&$YPmM&SZorBv!|dg3wzC{c01|D$z3ASJBgw zYYk)rM2+ky%QmvHyo#eiz%ciOv)TVZ(bw4TbV9Q4kuLAJ)^*{M8U)lsNgO z^YHan*Nc!c(8E8lU09KT)X?Nbil&*K^1N7NFVw6tVl#|gEXECwT%T660 z45v|^G1!jCix{Pa+T;{NW1vddBU%^LKb{hKf%_3EoJ$r}m5M19c@P0mXax+hyo;=M zM`w#5IFGELw@z>)didZN3hl+`wJ z6d^Vxye7IKR&9*{vfXoFc{jB(I8w$pq75z3n0jWXmi!l9Qe)E#v13JmbsZ}LYRJB* zMG)zC1Y-JcTx>ywL|IpFZuGx{*!T<)F==w{tT@^$7&Q+I$aGyp?CEpx<^us;n46aOa>@w=RHc0iwV*&(ZV?F~n9(T6@qP52 zql&fzq>y4{kWDAfbzsBSm0&EG>TxoBu$+^l$~diz%etl1Mf5yb6;U#1$y6NyVc|E2 z80zGdfgQg00phe&3dd9rt59|bhTgF|NGNjeAcCga$T`Msm@wHvfY<_mJ+X+~!2LH4 zpD+m6NMwX<0Z-sS$V_AJ8*-oYglY*!!!UK1^-5D?2x1A(2a=I+m$Vy*rj0OTT)>Eu zJX29wfc}ZVa1l#j9E|&29zpvzOb!^**|F&*202Fs_2Gu#9N2`6=Pzil(6&0q5aS9# z&2h!69!%%Q$0ZMnN&R42cg>Oz0lYT|K1$#=hId zE*#%t!(FX?Fi_k?`GmK1_4rs72eou5$~J?=C0o#FPTlO8*v~eI+zFg)fFl8aVPm&~ zyfZPQIH)EER&&`Blpma5%~B&N7NL&dRCYOokcBvbotw~&0V9|ISy2X$HFoCO{Lz9; z1TzVBY>41+R7wr~6lQ797OaPUBnu%pBw&d`5alXdthx^&g1%Doz)e<9Qo;mcb*0|k zvNw1?&MFut<1Y)58!XdoCUN0oJu``lg=e`gXldMld4d3#6_haWX52*a2uIEwqQy9( z3aNr&B^(Ge0Hxla#ZS26BM_-$Ot&WR54tOXDdhRRFZH-fNHiZ9y@O!I8QOt+L@f$; zPQad9c#F8jLNCaknnhaFquqv%$&Q$mPSB$%IP;_dOpH_0S_5wX?b{eIeFXA9^(Kc- zNhEct;Ft#V4j58#3w`kpBw)(LNp%UA7CI}0$11r@6PZ>cB(>fREUL<>;X^s69_lH1WS@3W00DIZ4cq&mdCh}93F%# zm+H+8vf%5<2EV5u zAI}o&{xJ9oQLh`0NGQA#mF^ybv(d`-Dx9n1zAFYQJ}Y>|?hjM&wYy+uW5#G#irK;D z9!QH(%0x{QOPv=7$?HJn3X~Gb8XUFmz<4ygo5VNR3So{QNh;>*A%S2;iPwo-VuaqP z>qi)9z;XGK5bx%+s`dH;6{l7Kf!+xcAbN%cB_Nh#-$8@~J;8*9DRIffWhQRTqZgO4 z@VOhsW{1|Q8uj2%hm4BQ&a63}8>Of&6et;TKgRmNAi;!$zT*m3mXRw0=}JCwB6mRA zTbkjwQqX()#A>{I9>>-@BLdes2kgXZH0TnNR6WJu;CV09w^%QthDd(g;h1*LX{Znw zN=dM%qNm|w_z@Uug}^&O?KANn#fQ!{Uc%L|m$UJN7@I?>q02tW4?{7A!pX)uK1_y_ zlfzcB0v5c$vjr8iXmbk%45MLzQ)9eC9PY9hbt`Q#T^j474=drS?R_cI4+=Wc38+L= z!&R*@c6kV4YHbf3PK^?wCr#*Au_UM&)!>3s9BsQ!m0P?OFnsKGVE}|RpxufSDfbd7 z6^@Z0DqvzltZ=Zb(SkAqyNr*xETahCS}Yf`2#HSGma>SR|yw6N5|RvjBJt0dJ{9G-Lr(Orji>@ zPPqDmXSP2_LT`A-C@t(7vRELdV8de?-)@05P$DJ+chD!8xI;S;IvBIw;dPC-r@Xq! zt7Q>h0vIp^ClSt~@*H&1nYyc?YDtC_2yESDO}vcBo+ONJ6WCyspZN+tPc&5F)B`JH4i&)l=hz{zfbk94N-~bTD)r+6EXG_ zFaQxmfboo$!QH$-BR89Fk`NXgwiw8yKSl~ke=)X(gO=dm0%9QxBDDv zvYRL=`1fJE8}<|3SK^r+^Kdj1Za#D^JLRpzTM|f=r)lkHuS@_Uxe$DQ3hW|0af?9( z3U%#4!xFNMZ%SN;Ufe3WKQa__;3Fe?Z7IcYGXCH*9gj4s%<`fQpG+A z%u0-Avryr&#^=k~M$D}HzZ|R+X2-9p83D=Ne#R3+$w|!yO8Kc$(--*oacrKAc?e44 z43<3sMgfJbSqA`{(hZqp%<$jw}onl@%fIrwA%$^ zt>^eW#w z(fu_`%(*!qna{Y{710_UB(j~*PnygE$KjD)nIO@IQ@c2$S;UboZN4i4p+WjaY`S75 zl?EwEl~b8)riky6Ahse@hyqM}2%S$|AVhiDki$W{u_FjIxFDl%_)7GOdynk78b4U~ z4i}F460unhf-oi?NP`4Hs4tDl7eRn!q$@xYd$dkuI-~XA{4+KniHTOQJKkTa>+#{! z2MC$$xi$m1;;8{a{GROdf)>spl5(Hs(0fG#yX>tSkbQN$vFgP=huq;z4k?&P508$H z(nitah&c|F<9K$3u`ud5Z74pzB8i?3voH~(Ie!epZmmDd8{5NJny#iE+-IhPN`mfo~War)g!4A6^`qLdkTS@ zelRP-^R~d)K~|dhEaCd@CiMOjjDrmMVb~wvSi$jdw4>O@9BgNSrm5d&22WB^6DJa$ znR&Jx^X4F_Sw&Q3G;g*{5exzDm?7;W(=*d3roPBIJQ4$pi$*%9aZo?>>XgwTJu(72 zW7mlhkPRNM!_hjp5@o4F6=A+F6!Rr~A_Hp~w>nf;KiKLXmJ6S3j7MG!lBjsx*kBag zF{qls9xL8HzP%_9tIvS)RBXIrpqVgz6JqxP8ZeTCHSvg%7^5SSCuA~_Jmco=?kgB> z<8c7m*TWCNg(lD=J{9B@pNf&M!iaON4mnOxb`7~2KN0PAdJ!QuAgbc$kQW3!`&CO1$uXr~Q9pE}tF}54^tle2ykp1HCFc>_) z5gmLA7|V+;&<2ig{BRASUGwQA@0rg=!442OeKb(5y2lAa#;RPX-W*B}^ktO`K3!JR zg#(DZZXn{K1YDt*&l}WfRB8;e$wxi31-1OXt$qRD(d3hi4%^ z2$02>*6`%j*u8aoaz_F2ti-qaEK6oCdj;K1q=gkqRofx2Irf(R)#sea0Dx9 z=>1OT08DTS)f4;1m6@}x6ca+7iOgj%8Y)Tn;U0$rhPc5k8A$#Jf&q_o?(QLSKb$Oc zrEDPwN@m&>G8l$}47{15c0Oklu-D;(NDOGLAZTWSpxM(LGGst-43|TWr_CgWXP2Gb zM@am}2hy>To1Mq*YiO2=kx>Y(NNL14IN#9aQ-*;nz$u%tfE`{AZE)`ua%`{9BjG;X zw<6EufU>0s1bqO`@EX?exd%qI(-G{l!FLv4Z*W{u9aQgnGg_ten@+N@wP1n~pw zCxO*Ldj%($C7z6-R?f`GO9o}M*5foEB!m=4fYESiN|~FRu1wEQL93>)EaGyw?Kxfz zlnl5nK%hpO;VP0-uVVRjj`(+nEeNOwgd^!OT=l_R1LqE+Nfd-<>@tSHtiLlnJHjtE z9`Iv4GcoE?~FJnyQ{ER^k|}2 zHEF4CUet}wfLGCVY|!5p@J5gv@Ro-WOcsU)ImAWFnlht@8tPu;41_~)1SVtcNgTrm zASg(xnp!>AA~C%LBazgR!4 z^QwLvSCt6ZqQUPieGW=OmvlDWAWL!2mItVVX%3ed!Un8#R+=k~)t*bsy&Q6L@es1C z7V$t*d7&CSZQ_wuFyr>NYd08NPR_qV;tUQ2_o>3|UU*O0ofVo_ChDrg0MP?2#wEe3 z|5F=)`Fe1p3kfReIth7g$_sbPzVI zVC5hqRrK)4apmT8%&?(hMYd`JBPE2YBR(gU2IwuGD7E!SlVjl?#4}Lk${w?!@}8voE#WF66r0 zz`$pqJ;?09RRS|Yp}^$q@X6jLTUWXW(Yg2|c{eZYEm+5!gBIeiNy0z<}ct++rDy7hxAcpUaV z7Vs%OoPDvJAOevQG?pry@E1v0Jf^@}Jc`Y>;9_<6cP)C2T|^lQ2T!n7L(wqQw3y=< zGjhXx@l*1cO0)Qk5g&(0oKLUeot4AEGJ&rp1uqsBF-%a_;XvbTL5mO;ItC$>e`_N! zUBlr`nUWUUk; z>FvK^TnqS!96nRlKtaI#cA3?)@zr7;)PwqMAw02%eGY!f7)_*6_sM*W4ett1rp*J- zOg&qgTtjT~tuy@k*$cf>C(%PbLFOmEnd4BLeit!V-TZ~@PD!SXRc8q3Sz_05$*%DG z_82e~n}f4Op;u3joyVwD*!^5r$S|9Yo^Db~ta5LdkA)*BV@!nx6A~OD$mXl}C}KhK zHJy-d=R-<8;Caub+yn%)qER8v^Cks7wf9w0x@7-$K#ce zpz)p-I%uyvI^~+^1oXf*I(1*{6Mu_7jP{ZS-!ei{L`N!&=8E|={zvG)YzeUd5w5(P zLD*h=$_F0RxWte*t&XX6ts(B@X;vI zI=aFF-H;DI8%l^m@cQX7_}0HO2zAmn)y&JGcHwkJ%KE{ z^CGfL=qY5cqeI8QVrq+H(A|e&tr!8_rEL#ceIvdQVeC65SR$DU+jVXkGSu1J*EAg(${Kb>?u{Zu}$6v946^lKPVib4&Aespyo2EAq4ML4^76i|-OA zs>>}UhpZxDb`%L*6~jX9`}@|FeZfD z!|`n~8neUl05ViO5?IuJZ3?t?^;F{wU7AU@(YsKgQ>#ihO;;Jxn&-?oDll*@_G4LEtCBNM#_2r*!EM-}Og-=prHG|Q zPK$B|iGCc0{>H#W!{|t?RckF#%3$Tu$aasOwysDZ5Ogaf;9bTxT$6qn2|le0RdpgO zwFM{qHA(Wm3{T#Xci=E zrfW-8;|cos7R3m?t0-1lqu`!Qo&VaxU(}ftloR3Zzha6P2fe(qL8e{3e zxswwK{1P~xQ$Mht=W?WPf9P33&n4JT;brS-f=BB%IzBvcZr>FHk_DkA<1Vr$LM1Mc z13J;7jOHhv7C{`SZXiCyxwEpf+iI)%&IbSO`3-o^;1m|_I3jpJ4U>jtqf_R#*A=`g zf}gF!>NLFB*lMh8bHBfvK$sd>ou&@SP~5QM_{C3SQI9RC6DB+;Q9X=ulTUU zbagf$7GW^~r!g+iP><` ziS4|t=Jp}X=yrRwiDp+a;Z`Y9^&|JLlGhy@!Ce`b_?iX7o}1ELc#t; zObZ0X8qM@6=+EJXAU>B27ZrR)ys;kL`xTIw9FF2BG-uWIiQ~Bla$5PIHsY;A_8~n} zf)6GpVYs;HaH<`yy;J&~HL69`83Y=W57eVRj+mH8ML~Q*AYL?z`2o7J%6H0f0|};3 za)_)Li45YjsOeO4@?~KNA1e)P0C7>>>|38Pud9r<^iyM&r|T!#!AE4@QL1z?!Ehr&zIVs2v*C~sl@UAn(56nwsVEM8B7hV7&EcWv661QK38CutkYqOnF|>mYp11?M$A|t5Ie-kw5k$^e7`FwHI?Gogna4=p%6>!te1OCA!Qmz;1`iv{!6$&s z(Q|bp3(bLW)LELQ{x7~|S9_svnJ`p27iVns5i>pbTX2McA1&_fAkZt^uX=1@!YFyf zyr+!jV1&sYu9-Bm%f5*GMEXSQ;fAZ92B#c@orln;pvUd}rdV@hb$1Q?3`!3;X=FPg z9A`%Ekez5%M9nS;DGMKD_u=T@4^ViUIpRky5o{#@qsOLd)9N`S?8}x=OQ@+mz%P^w zjfsizFm~18O$PF!XoF^iFxm5Saks_pD`?&>?5;tfB8*jN)WpSSSe%yS7Z%Y#Fs#v6 zR-6x9smxTn(WLPSa}Ws}{F#;EVE_-jL4Cf0FPH^6RDnAMq9eoew*eg~EaFOJRE-+x zF7>$38lPzMm6B1!bg5?`|Pgev+Jr~$_dzp8|x@+l` ziZB8B(xTZUlj)TZ$d-@TIW`eh0xvQiCR?CoRd^Xlo&;x}K@>(p!l1jLmWcny+M;(^ zpIDa+<71q>2hWO)tB&TDs(Rhc5E%nc(QmdZMARPxV6o7G|qDZ;SPJazbu`f#4eb`+en?Bz#n;} zyqfwuSH{NX;M_vzQ%+Pj5Us~{nOzCR2+4A%^^eeYg42sYNaK>_Y+*$p(w)lD`6;-% z%~vMPi4zxqZpfw~;go(_ z0Wm0H?4o2+cveI%=I{plXnOPoD@ML{g3s@W?~na>F!8Cg-AhZc=CUryOT}XN^}2E~ z>NE8KuMx&xZA~yng7;Q^79g$Ay1 zcq%EGaw6=?3kLyrt$o!*nllRF+~KF=Qvi-PtILP^0>BhXfs-?f^2R1__>kH7;abGm zu7$BF)jqV1%J@+nYDDDk+AMZ=tWTBnzahKM?qMAT>uxl4AmAV*YG5bE%o>cVbqRg9tXHgo$uhK-HBpT597i1O zBC>|gsR`3PQx*&ZEp_!HwfST4YULu)Xa|Pos*j2;eQFR;{xB7Yt+2A*(vPay$iz`E zf5T#XtaoQkLk^Xo;*r?wULj$=pX&v}ydyCym7S<#ZR3bdKjvU5TEs#l^vpu!mE<%R zKE`Ukl_j=IYb%=P2~e~nd=g!tDtb$kK|Tomu3)jP}rt?fC58ltY@J+QmEkezN9n4RjDhJ z;!N~U57~B!CSef`L^q3t2&4P3VB(tn?upB0!%4AFR0J8qW=#0m;d6_ph6wU`oM}NUAK^KJKru|yKb9S*yXnS{kZfLjA08Z3;S z8}!%U*oP9597147ihz$e-c8Cx6d>I<9*IKYOdhR;IM&(NLNp-gD_fm4oc{EO8zalT zaLm*Leo?tGl}EhBh_@`*hLJMH5KAgJcu^2(@dRv}7=FXA#di=cc6>u~29Btpw(&q6 zuvSzzLL?gREmjD##!>p%5%X|5B6igX4~{yAiGeL($5y}>i%YPx#i$Mt;7Ocnv-nPm z7b!(1PVFk>gy6(eRT!N_g2J*=Ciei#${eUjg~ur@inxkB&UvZJmS8xri>%r8z0{HC z9w^wn9M6Nj5PKJnKxV}Z;GE+qCbm7Sns|#)EAVA=Y6~RM@>Mfc>!=P&KTYr)ghTEAjv@edVHjU$2>sANLP?g0 z13zs@?YH6+LT&MdQFL0Gg~W#7;^zE|SiD4U4Yo@H6QpjKAdDUm7Y<5j<);^DF9C)kx2Dm zdEA4Je-Ma9Y97$#e&toCc`n3kWx(}IMLp$aYNA(>F9N|sc_g44KZ9XYft03;=xP3d zm>F8v`bJKg zuiX!ui*Un5_@Ks4C>R=NNiS%I{*|6elOi+1qqyB^;CPw2M|>-FD^guM!nTZ%>9)mh zPedA1qZ(x2@U{+0`Y1sv{V6t62A!8d3TDQkaIb@hW8IR@2C~h$x+zGr44@9$zQbUqHjnn= zj1of|{USr8C%Owm0&0kqbDkrLupt?ZIAAD-8qDw7E2g1{iWW%$$wJ3n>ICW)@IWe+kM4NFJD8iCM0 z1)W4~LqBaPR+SGyGj*Ajn` zas~W|*BYDtsg>5wNi5gJanJ*9#8NFYmQn}ngvwg6IiQTLcUmA+_quA|+^{~YGGc>^ zP9<`T+W9t-SX3?4(Z9txLcWxn=M-WTmMmEjd<;tZ=9s#0j{v+8SO`Bk1U$iJB?~l9 zc708i(NI7+#J31i(k2=TO-PU^821ZYOJ(ADeg{+35a5oG5(LXKyDs@e0{#qelwDfh zUEkUDilh0_)WPhol+r(*E{&#e+Ebtj{5_IC_#1fMLSo?b#RHFf_<8$YH;_npfIXfU z@ORxl{8TQy_~m=X9x+tCeQ+?n54E(;O{{>wi}_>g9Ffa}^!>vl5_=Q>^n+d%1`|`g zz=^@c)BC`W#NZDDWDnYrz9TRFGqna2)3N#l3?^p#z~}qGZ|(!H_ksUaANXJQf&Wb( z_);JEu|Duy`oN#r2mb6naK8_{(Ffk_18?_%pXdW$=>xyD4}7f;e4`KixqaZ$`0ah*FY5z;MIZQ`ec*TXf#2N+{@On9d-}j%-v|DN zKJcIJ1AkK=_*?qG-_{5I_CD};_JO~<5Bz8Qz<<6E{C$1k@9zWu#Xj&4^@0CVANWW5 zz(3jt{_#HWU+V+^jXv;C^nrh>5B$D9@Xz#tf36Sw{yy+8_JRL)ANZI0z<;j~{15uT zztRW()jsgA^@0C!ANZg4f&Y0Q_+Rva|79QecVqBt1u_tW-z<hxT{31cwC&l153H<69{J8>uat!_+ zfnO7Ye^ubaG5C-yi32hCQw6T8+r4#4SkHp|#5%|Fv{5)B5qcM0%;D=)H zZGop^@DB+*9fN;U;F%cw5?RvO7<^jbxfuL~0?)_b9}svU2LG-dge2V%gO>z;V+?*$;7^Oe-ze~#V(>2ryb^(N2GLTlzd>lg zz5WIhLTqA}1`|RIdcb9|_JGS`>H!yI?*SKN>;V^K=>eBX>j9TR?E#PTFIE~%#QB%P zU?R@H6dvba3Xk(Ig~$1q!sGl);c@<@@L?vgzrnt0y#I=3kPw4|6=>tF52Oj5NtT>p6^Dl+R`Io}u{7d0+{-y9Z|5A9Ie!qJ|?@%e$9tNTe<9~5SRpqaK%u5YArWPpPp2{mClwMjZC@IDs+m= zxn+ElGm|MJuyCu>NU$1=@J&Q<#%|>3NjUzGrc#AgI=8&M+)lNcsp4{@yqs>fvz=D6 z)Xt?407Y-w!UwT%Lnb>~#_8H@r&Mlqiml~FDU;4*bNO7Zyu6HNQstK1&}laioV2~I z&qyz~^Ld12$z}`7jXVRjv=Mk5QGv6mbP?YZm0OzVlBu7{HdC2SvzTjVI*oEVQ*0G8 z=uIQHoM|rOq_5OJg^x?ocM*@sjV?DjhysHzkT%loe703W&kDt6yV1<$8q0;{X5|~XGsX>!JGP7q$W4YL96-(uIMtcP(FWiLp2BtI$sZyg| z$fEr=l2W^rYN2AIlrNW-TP3{#d$ud5efZS!p42G5I#I+ICfY#DYV0 zrL&`%0>-}7Y&9||Mha@AbLBDucbD>wVyW0{>SAF`Kt7>d8qMHjQL|jiFJp~hpi=oJ z-mTp#V)QbY869D%51iyZncQdw7zqR`l$NutVk^}wmWv(uoiF1^V5i+mE0Tr1!X4QX zP^npNmGPWH6WG;hq|zAmb|cfs7FrfnoLNcbn$02(sV@UL8@Y0EIg@Io^UZXs1GGUz zq^>v5Vyv3wd^6QdmoU1eVk5I$>g1Y@MmE>UV)3N)8Q940(0P?FQXDNTr_k?WBb({u z@)(_Brk!szOKBni0?TwweL7Vv;3Fc4D+Dk5QlV8WwsW|%8MmI~1Vl!p2A2+jin3`s%gI8~rbIp9Klt&k{rA|H% z`o|9wr1L)_!hqlvfjTHRLYAbN=1zIp6>5b7pSOuisGhR@GZ|tM9#I`anh`FPv)9vgviH=6UU$D^Re^ zWZRcBBT43|5P9~h(e&)xw0!$VN`6vSc7A3AIoXXDGx)R2{F4`nWG3gCa+n8l<>h83 zCFf;lm|>b~E}Zhliz$$~%p)<9ZkpKiD3gKAqbXAIQbQq=FhbesnPJlrvY~({7Fdn! zMEhi{ylj&g(<3IRq3q1$Y}5Xc%#2W8B;Cw?g;fX?(o7Z1P>Gm^2$@`GW{dQYiBVcO zWRhfBewuMqsE|8;RAl7X&@daOtis=xm85wN;BZ~20I&UO5B|kMB$qk!< zpKoU3v=s9`Y!X;rnwcuhcl5R)%*@Y67Fs1U9FxtgmT&YjO~Zvv4D!r$loU4M$~TFX zBg8pLOH0f$<2=ng3NtBW!jzw9G)zi1b8lv9y7^xPnW(wBz;{R}Z$yDjUa3im$$7~s zNokp(ZU&24dYFkZD?cwk zC7hL#l%AazNlwa5%QAT)DT7JBP;;cY+dBe%qnn+X7%}}SDQwD=7tT%3P0hBxvBXn8M$Fo z4>LGJ8Ie?Td7?>GVKYBrESNlFo=j*I%o4-QLE(`3H#sKD+D0{x$jeVLgC{+lYt~(1 zPXG2lq8f2CFJ&cVg)<^qsUb6!<=Pp{uFK57gUU`Z%f<}OmL^vW898u>nVj+l7cQNw ztF%P3I!rdxUv|VSQSx)M%;aGnIFk|yCuNu%5>Cr1>_~K#mX&DAWtKY0W|}cmdTLT$ zlIc9A+nTbOmdeg$LK|kTb1h8&sfni6X}KB6SxL!emdH;vtCUDMC7fi^q4^ItDPb%b zXy4@UL^C2&^UMk>$qcY;GrUv7X8KGICxyf5W(k>s`Oj57BPB7E8p$*HB4Vakvv!H3 zWtq_s$xJoVOGa{#`J8-qvWae9dL(3?uop3<&CE8lZEk)_R(eK8Zc4U^^WVy2{_{>^ zlF4v+`8K7do0&1y4D3vkX~M~7`IBiUJU>3E>B)&EXXV?@7&2@2NOpQ^a%yr`$RwrA z{FG2qB=>LSPcxl9oNcCrP;Op&wi#k}ZEBLXok~p}44eP+6|D3I7ND)o;vv@vnm(PE zm0^~5DfUT0DJBDE=cn0=3^DM{zYehSv94ClC3$v9G0=9u^u%P7J=2r(%q(ixAgSr5 z?`50TP0k3VMY6N=;Nov8Cah+hr=^-!OE&9PQ>2g?hbFJ4=4E6=!ntV}f2IqfSec1t zeVS($d1f(U;$?cCIVUjFbVhn|hDm0w%bFokC~ua~M&9(!G-EL{$&S{fwA9>4ra471 zYdtgmf@R0R0yFN0m}=M|Zq9g;a?>+R>diFEDRUlR7Aqz>nE#NLk(QLlyh z%*rWd)nWRAxkV$KlxzOki&=r1doWVW5{zdy=ETTGDJ?PGlp@8Pl0}kC>ImnWz7aMH z!A!GgF=uJvuzAuDPYm%)w0?#6r1ncNDI%{hub6A4LL);%&8@q`3P#x5845;3?Bj`i zXs%weQPM^0+Vmu*ZG*FFfwc zSLBwq+VAdhU;cKF`}UvnxG(>m$9?%kZkb!ZzI-2#`|=NX+?RjR4y{)+kAG?E?8aA1kALNH^S1D1 zhk@;qZoiDxN;t1;^j71@68HaDG7(f*oor z?|=K^c9t!-Kknsrex3cy=J>?zY&t%_CU`3M!5yFq`1Q;*; zL=M0d;cxE(m?3=1aDcmnA7wBW37@|bV59JBN&!42d~9`q{lXV)0(et+*3AHih1a|Z z;0xg;9tQYc_`wwbCxq{81n{TuQuhIzX*-B{onwA%f4i@}{mbm-3SY)RRu$flajPeM z##-1(6aF>7ifSf&dVk2{x|zSqGiNY(Pm$lxjusYPhhLcu7oK|??6~>M)%W6o;Il>k z`fI@#3x977_!{B$dV_BjesCN3Ug6i(2mhz=3pj7RC;Vo%`)9%rZ-kv6h1XvR?!G#9 z_5J!u@Y3|-_};U@ab3}0@!xOu(e10Q$X_@BJWcqJd%&9uA4T3t_yqFa!fzuVAbgcA zuz8IZ{`wu@w+X+IahWT;5y!!b1g|F-dUQ2l2Dd29MSPCwymYJ%S^{DoV= z#|S_EAoy*<*R}({TX+S=->th``7h%HxK-p&u7I7Vg&)5e{AJ-+Fz>x1eAXDqxw+jD)EA-rBQ$X_Eo zk-U@e8eDYr5?+@)U- zZ?t~ehufX^Az;sq9f3e4zo(j1;=d~ZtqKu0}dI|v3YoWZY z@2efa8Ky#BiMsZ%mhY{d%6xARTln7cDtvDbPx8IxRr%f?_Vc~vetcf_xNB334tl&A z-`j((_gYWDho4eL?SJX=+Cu1UdNNSe#b1whl#@9>j$3h@j9NJt37V*e8$1r+T(7FShbEGuj|?A z=J9$S@8fZ6{|OFUe?7@1TA|huPriX?XQam)dVGS%8+rV8k6XX@w8MvUJnqiL>?aF6 z?#905OFiD$0>0LI+}b}s6(4L7UWNnxDd8paAirODK?eBi!pC0=e#qng_&VlsTb?sn z30&8X{*wd~g};CB>=(8_Gc^=yo#SyUztaksms?-kKmGArN#tL? zwNN~vrtk;{aXpVS#Dxke9=CoUVKU3|xPNt23y)iQxBm9m$$mMzdh%R46#DJ!acigR z>_VK7?{PL^;RnM#ZsiYiT`@s;iP5k#)#Gliv7gNJxV3Z9D9GRI@hqUi-w${^+v6)d zeuc-^dc29pao@sU>nQW3Ug2w(CvVF$us68dC$#Nud5w+WFMINSoZs;Hl@Klb{f@_* zdi=1*t^K_mU&lRul_&4^CvAEB@$!o&f3+w7hsUk`aSXt@u?nnYaaXYT#vW))_9JeDu8?~vGeB^0JoNK@())5cXPMn<@bQQ-0t{?OrkCaI=+vc$c<&k zH?UpYSa7^{JJ@%9&+$zRwu`OfPcDJ{jW`7HT>B6JmvI5VkV!Nm@?jbnBz)#Q0K~#e{5+2LSA_3r2yj67i8}$_75-gYfWyKc z$OJehd?)|@TzJLt0N)Cq$cp|f{JY%%Cxut#KrdDdAGm(oWCi{{TlfPFz)K6C(FDA_ z@TsgoCE*WqQE;j7N0~(RJgC-#u-{PRf9E8hEWFZu$Y%<#%t@@N@Rb)qzJ>6~7lXGI zesN#$>x7qX3htjb*>QJOcktdK{{cH}Nce)aknb;iX&G?;e9GEyzXRMqpR#=O6!7t4 z=jCSLlZF2y8GO3%tCxZ6K7Ykk;PX^|82BRL>t=xa=U=v*v)CV2i~JcYA-_TRes132 zzTdyrv3GLZ?GX9)=flo!;S(+de^&U00pNNbw}FZIRgtgD_B|+kWFy$o?<1CTB0VDV z|Lz9)Plc~%KmSsAvs)qmz3@_F!2cusAGN`M7yc#}S;d)mT^=~n9P*`vzsz+*8R5S% zo)-z<$h=oYcv30YuOa*>`-6UOlD-o1my3ME$>6EN&lm-sExgu1@T-My=lOL@;hQob z-(GmdN5H!Xe|7|T58*R8QQstd1oK9o@azt-Gf?FP{Z@{eI`hG;lpXo!1lG zKR>nO@fXU^5c|8Cf942(n(LqW!UwUv?icRnx#hykF>Y&wkFA7qZW3OW^X3-eODO-i z@IzH$$E`11KhLiK{=CTlvK;&+;f;razb-tJ?fbUyA6d?S3Gdexc0LlG$^7td;X9s! z{MW)iDh~dm@K%)nRrsCtA+O(~eaU=Pg7#c|p62>Tzh7H^DeROJ`93#;>-TOi)&svp za(|;n&d4HsP&n!Okw>xAXjN zuWh@Oi?!bA7c) zc!@2LUn=~WHQ=j-&#VHzLHKvYz#kP}y(ah$;lEu3zFT;A_J?PMR~-QP{lY(FzkOBs zF3zV1g|}S{JMRg<{vq%q!iV!b@3IhVX{H!0QT+i~_%0cz3o}s_;*yLOxq~ zXXe$bh4+{M`If>X-N4=TBQ8FZIlp%i`3lV--$Qs7$Ky@HZ)ZNw6JDA9XQ1#`I4%l= z&tkns3;%dJ%7f=C{dK&E%wjl!mIJT zZ;kNYS+KK7__1Z+TZ9kgeEPWXK0I&QBYa*t*m+*~-B*LZB)mTJ$?L+8&xQQk!bgn+ z|CjI+%vT=?Z(I%X{}z4|$NSg9UswnEAB7LS2K-myefxs{DSRB~{SsUkyMDf*1LV&Y zzT#H!a>Acyp1fH2g!z!aMELDDfY%Z}kK?Ys@Ef__Yb^Y^FzloYKR6S-iSRAC;LU}z z8z!_C{sq?q9fhBB6YSg|{DpqtHwtgl2E3o}$s55V!tbpEK1g_zCg8(`r_lab;Rl#! z@Vv9X^1v6&pVLJC#pSR+Q+OxN7xxJNl>KU<@bibk&Jy7Vd0w+p_&3RrUnhLg72unN zf8H8=oA8%8-ggP#vmNq#gU$Amw^ ze*3xb{tu#@-wLnG^Q@nRC$YUw3ZGaOc8YP`>c;y|oUhLo{u1+HY2o>6VaKiaot>M< zfmagwt8WIsRQOfR!RrYBbs~5};SbdVPZplsA3Rg|(U#y%g}-(Icnjf8#)7vM{&Wub zb;9fP1n(xi71uevh3{qDLc(8c06YDKZ(u$jB7FJ-kRK_$aw7P6;jeK#P8R-42=dc~ zZ)QKAE!e`O`)xO@n{&;6eBIJYkY{s8+AmstU? zG8=X-#v$PM?f|$%_;(yf>Nl?+1l6y*?os7ebDf~_tuKTfE$4^a-_UX%AlGsZ9u7OT zr2G{bXPzzw_08t^Z7lMW*?-c7k7qk_`VZ_ZWq#lx;IEz!18v35nl=EPg%6_r9>Rxk zJaU>3?7!9H2f}k&0vr=Q>nVUQgnu#&;Ctc2R{@+5{_6&SKZVzx2yj+099^DSa~uBF>k3YB zzPM22`!b$YgcoPWtSS5~Heh|>m2%-XNw^!=di{Wl&s8Gt@o(kzdgXyg>LvJHf{Yzhw&eMBy!IN3Xm7h#gv+w>wP{E5a2ZYrnuljIA8H=% zl!9_HO$6oKaX)x-saLxj0a^=xlZmjS@H3gPZxDVp+mYr1zuymqAg9BCFXA}W{CtSx zWsul^l<^-fyfgFOSm7VC;2hq8-}6|`X(InkU4U7_cXC`aZ3T9Qvm-1P`I8d>xV#AD zSC#^2w+MK8GB{830`Bg6cQ zeKFnZgXf8zd2PW<;1Kk;Jyighh64WUHQ*cu0sn;SsI$b*xlB}C9tHAlUzp3>fL~As z2IxNEUvhxf6#F^X0OAsOb=aX=5TBg|;7xD{_&>RBX)gSw z$^bf#TrdS(=aJ#pgX=u9oDHt={DbR2jpv=0!j8uC90ow+c^T(-jc20G3E$NWV1V$a*gx5= zgYs17I+o!J_=_Cxx_;Qj`f?fwo0oV2ICma|3@Nv+-_dW^`5gz8eGe~&vl>piw zwkCsXe|SG1T-&SLP2k#I7gYe)_NqXj?G<7_*Y+B~z-W8r713V%JHfBE*XwP;wY|pB zueMjl`HHb$c5vNyYRYw#?mPX!iB$KUN|c6u-FJGh09^N-&Z-Ko z`%c^00d?Q0JKIb5oqpiJ)qSTSx4^#cI}Ko>(tW36BO$N({CW=PbMbL7zD}?|loReA zD8gn4Z+Adm6ND;1KYw;{XN;fBimy;lfuw3NTjq zsObO`g`e08Fim**hXG~^e~JC)9^vQE&O+f&F~IEZLA^TkhTuw(@67Y2b;AGk5Wr^P zb-Dg$xC8s+*$>%G175HR2KI`b9~kF-!k00SuL#d(0S^d&{y~6ug`dN9-C^O4Ie?A{ zZ`mH;bKzfboN8X(!t#_Bd3Ro^d9|p0iK5Oo-TANDap%8P#IHL))p8E013@k4w^hN_ z{u|xE)&60QqnhHk*qH#DH$F}S*L{z>t^>~$JMKAgy6-W!6$D#~{C8~k4#InP0nq%A z!2t9U`E5f0Lc(ukeRba>ivcST`EQsXc$yLP|ADk$LgXuRe4Q)&`zrz1O#?ema=c$G z@_m*AXr4b#!adYcQFAp5%~v_0W{CgnFZcj5(3gD=+dD>9>;b91b9T-oi$< z<7FZrc>wk=7yf=jaD6WEG!D2XBL7=u$X_Ge-4CG8RdClAb{6^ixvrL4d?WvU zNchfF$ZrxpjDGdG%6->BewWB!!+1U;yeh}3J`Z8c1lV~^XG`y!I5x z9}|8@dvN!E5Zt&}cQ&{__h7=C}G{=bJMjpCtSf=BrHM54M2(Rl*yW0N3XjT-p^J|L6X%>;FG< z^QqW*g!4r&;qJLqA>pUy!2ST??@R$N5dJn7EMtVXt^)aq!pk%VcmL1AwO3iLuV#yU zhX#=MpQmT@>dH~z`dorA?fB2rv+{M=f7Xfpry2i8guhMuJB0tviSa4nJ6obW`uu^k zTfqJ2?Ah`(c?A4`*jdJLeMoreG{_$jzIQ3OyH3`{vv>_~ea^rO96vvaop(k+{-p3* z82>Yh<8x>KseAEvDd8V=0WT~3vU%Vx?>ajV4hHw1%V*=$it|?;vD1g^u|~qrXF2`n z^;tWOuYmn4L_R$ST%Q}TeJXexk?(g0xZ9U<_2bN_J^+r!j9g* zpIr&Ove@~U^KuR0^QME37G8fO_^rYxwgjIhyaoHGJ_r6wo*?Rd z_oFU{oyB4&p&a;f;SIQsS}XjHMv&huymVdg?ZRhV1-@JO#@^u13Gc#u{*v%EjKdqk z*RFz{cZE-4{&fG>$@TL#Lm{vC(SOQ3@Ritkp(Nyg6n^FX;J*p~o#U=p34HGSj$*w^ z3U4$Ya(ch~h=;)|hpzD^hL zJA_Z@0Iv7BudfQeK;#!Z2EIi2v|R92!n;-m-ypmrC+;A`FPmh zC;XlM;Qtgp=VtJO!arFF{=V?^rQmws`ZkWc<09XKdFET;2XkQO7vWDZ|Nkz$_KlD~ zlk>;{%D~y?^|cHQ-N* z{2}g>JS+Tj_MaDppKJ#^uM5v+ecus2sW#;GKJnbG;Gc+m>$||e6n+lZ!#@b`$Mdyc zmGkcej#oFnQd-0Q*}^NbpPw)MAoJlx!hhgAQdM|oo-foAzN{Afx^;>x&&Qj=^}g>1 zxZcYWJHyi;f3@(zGr?O4|GhVON8w*_oOTsnts~_1{_eLf1;G?r z_wNPypM{t027XF-`Lf`8|Mfq4K6MV)r>_4GV)@Gn{}1z9Md25*JeLaJ$oRWq@9fWH zUMh`Z1>X~OWWTyl_yNwdOvi!zy1EeLG#+sG|CPAS8gO^tK{>JS?mJ-h0(p1e0hi+e zclRA|*aY0&cTivKyZa9G`^}>@Ajs3gz)rmP9o)18cC=pce(xVXA9ghUo7k=z{}9X1 z<_yZe>sHv&IFx-5JPC(D{)*)QnZj511mJQ%kiUH~cuSG*!}G5W!rea;yFvJwbja=- z*gsMpf=u@Tzk~T_fY@o<0-!+nr0W5=oC@p|u;5IK0q@3jAk%cf-Srr=#lE{9gWH{f zyt^Jl$Hj%5M|50VeH#pG|H@>k4sP7w_0h$YcjQydt@MqQoFdTuMMB3N5HE#-eja&8_aE;q&t|v8a&$9z++#T~Ir}sN*K(f0M5X0?zcS>toQE^OwVc;Z0oVTa))nB|-y$o( zwZDyN1Frq;V~$7dZ)b)euj91m5O5BsVEk?ggYz^#;6JfKJlzfWtTK@2G9}=Rxvxbx z0bj*^k5Nzyc;(sv6NEp13xKvS#e)Cw?bbyrIIn5@4wwiHZQtw-;M%?wM}uqo?oI>O z^6VQ6uKn#!&dXY!FIGTa%X9o1a4pZ4>%g@!8H!k+5a^Tf7}<{{*gt|?RVsYMeX0fg_7Fu!vUmm z?$7fYjdR(d(aW=%an|}C;Cevgvt(2B@)zSk)bj7(fY9>SO@tjSe=9EZwEQg?PwgjF z@?b~%$<-CXwV!OA53YIXcGg$(Qq7r=*SwVSIJm}V9^O)> z|A(yT_BS#B8vnlCA+PcOlzCF)|NM23*K)qZajNC)%=&6M`wWX-&Ufwt*K*#{GkQ4_ z27+rj8@B-0e$sLTxb~B(7lLa)smA`G{p5T0a~<#hWZviqbHP0FJp*=w@R|g=4oPRe z(s^oGUl`DNYFkrqRwMAcb_sYD@!O8|sww<9=NE0?uNFX1+jsF&aBW{Ful;<-NXTpZ zJ~{lB9N7zp^{$J9L#{XK5Q_T;j+QYBrhrM~=5gdYXdXnusNO&>ENAts5 zs~|X5V_#DpH-wNN_2H+2Rn?`$W!RKGgd}W(|eB z-X}8kF7QglaI|5!Lt+v0v)(82SrX*xhE_mx!HN4FS~erIc5{uT6!#u6xJa4_;dAkKP?!-d!J~ z@;@_f?505+Mht?TDq=sUA^^h|$XBll&gKbt59+g<2E6@fe2~e{T|d8a1^~A+0{OR6 z!CQ)ahp_-1gx90t8-y>VVU6b(9M>A3dn>?z#%KC9;2NJNng2CD?JkDA#^(t0kH%+B z7szXT{{JffKifwye~3KZ@@xAZ7y$eKx7%gcL(%K?2irZ?dOgkxX}w&((thjumG)cL zue9H~e#K>3FfPv7jPi$Y2>9id0T|YRyM9$5@~-^co(SY!`MKN)xGVqdV#k$#ws2Se zdxg(q|7SW2?5|;7T_N(W{JPF@<^R9kf8OAFOvm-K3>5tT_5L%30oMMrp8e|o_5QP~ z65_1=CqD&d{&eQuqK9_OWfsX?|@Ns~rgm>fu|9Rn~IkCJf{OKV8 zx*qPn0{oE3-!~rMi160s0X`GHfa|xfg>O3-;3whfT(F!JelG)jhODC&vE!E#zB2^| z$_lTY1MZ%;->P_GP5j2un@zk}th1#nj1i z74EJl{#p3l?64<=Hy#9_`$*MGgX=!hCquw>AE`U%7u`pCYc=F`A1SjPxb7phWn$Ck zjf5D_%ZowJ&8J_n|LgNceq=oLc_ZD}pRW-+Z}NOu_lw@I0Dt+?n$HwD+{ zjkMqbR-ZSrg6jc&-bnUn*cmD1+|~eGpEpwKI`F9?U#Ts)K5wKeX;2;V`n-{vso?s&k*cM@^?4(;nV0l=BcC##>+?ol zTmU=zyphpN{QA6+Zfswj-#^&`JLlpMZOSpS} zT7BW}`Du-Xe>4<8%RlN)a4mn^GT>VN=3T(G{D1ZZ*Ya0mp4akcj)J_Ff8Ijyvv3IF zGhieD(`&$A=Q`m+kzYnTRfIp(5J30$9xV^9@p=6saE;FhI@I`lo(_49&)zxU8lQzD zz%@Rbd48es>Cf_L`%V}RJ9Hn!=dlgoO>hW!DYj#C;g@kf()HUo2B4$J599oPgYdJa z18_PC{B~mg)b(3B3m6eQ=^T%Pgm>N!z-kBfCvts7wSd3W7V;Ct&O?0wrU`$o4!}&| zKXW~HkMQ(W01JgjSl=bWKk5dsQuw3y1L*oK`Eu~hBEP=_z&7EDivV^BuTTnLJUhCb z2F{?2Jyhp=%Y1&V@FvWM35g@e4;dB8HOEmSa2(*?jfe~mC60=W8pXd7hkz@ZUm#1tqYF|T0AkjPL|mZ1fsB8ja#b-R4zs8HS@Dn$nL%O4RM zVpRH%C>TAAwLSgA0i#+jih46L4zq+W%-`M3&za=zSd>1SyYM?jt77$gm>;L-jz#J7 z^yzQcain=?Vh;PbH}3eZ?(?N%h&I1{&srqSd>1e zyT9q%6yWsSu_*lo*1384{%{qQI1c@vqUhT>%f;Oti;91OO}OUe zw|~C*+v&MuQTpda(eEFJe#I#I1LDxH9Yud&9QsL7^ly$s|H>%(c5UF|=8i?h&+P~M z@gE$Ae%C1ehs2?u6Gh)H&0V?Ov8eL9^IgCE1##$)i{jtrWarl%i}HVa6#e0G=+BL! zZCAp~e<8Rj#PR|{S z(s%m>zP>%DaC+`olz#On{wKwu-zbXyzYho8ScPuJ?4@J?p z=g3aa9gEU`EQ95z-EruD6-D3fMYy=T zV^Q%x5k-G)9QtP#H^S!S$A6yr+xd0JqWrt(&-(iJ#-U#|ivRg>=+}#)Z_nvmx!tj- z@~1`7w|hQL&mD`>Zx%)WzBu$dMA5ffJfWH;Qqf#BKI#XvoDoxV^}o*WqCpU zT<(Kf|DDW_`nP*pYSW;E3gztYgoF#_L-{jdu#r(_^%`7YeD%&mF+W=VDTb*{gA#htf3_Pa7MhpJx;1sP!cYJD^#=W~U_Y?_?cRTp{yE<` z3-c@B-T6*|9~9|d^oKQrWWDN8wEpc@x-;kc&lJN7B}IQ_HS>Xa)x;tA9jpJvIglJj zP3zz8zsBnSdHOFKc*dJp{g>s96Mp;Kz8b6lgY>^l9Lk>wLHkSmn$iCXjz3%f-f{RJ zUfl?r*8p)Se-`QgXg(xQu>V^BcKRJDG|25Y7@1y_I9e>pe;NKsAHdn{$|84rWYc~HCYyCUZ{|PGC`rG~2Sp5&K z1+S-D|2D(_yZ(dX@P8})a~eWn%{_oR&CEvMu zAFKa1ynw3>^=<#R`>(P3|B?RtQr{h7^*@*X-TYVG)>pYHl^@p6>3jpu(x z9R6p}|LM;EN9o_6|Ly*3to5&EPt48hdK`k^vBv++ka^s{yWouS(e`&VvYZC`uF3%JP!Xk^nbefui{3O)X#q_ zvhm+weqtSet?2)B=f52KUvHh8m-WBN{KV>i6#bv>`B%wDP=EjYYjYg_-=u#o!;L0h zu)R{zK8|3xa;_-~2Be?dANUyMWWJ68XX zZGmJPYFhu>%ulTKzk~iyH~*fXe}DY%h{OMV|D*qUyaCJi|9Bk!*ZzA$DZ@n5mF|DE*j@Bi*LhGK31^E2S}bld;XHk8zl|DHJfSEK(CQepYC$njs27XUs{ z0`;){e{UTA=Vn6hbm!k^c%z@6f1ZuQ|5o}x-S}rc`QPz>J`VrS(f{eLe+NYIzb_8| zZ_)qh_W#B7@6Z4Hi6a7Ez9P=2f|IT|L+3XA`TK}(_pIH6($c7%bG4O}^9jpJjdm(wJ zH~wFb!~Y4Mc%JU~tGEyT{rqrvkwVr~Ct=zp%~|J^wJcc=gA?7#8)@B9yx)cqed+yCE-!~dA3@W^GTb02g6 zPvQ;Y&rs9)|CjlRb^L9l|ITV9d;Sl{;r|f*pYHm9@#~2HIM4r)IQ;)f|4&oj z9b)Z&W#540aWDUU6vh9&hN(^KYtL2ocS6Ez%wPEHzh&*7YP9R8PP_@L6{%?3|CssF z_Frb0m2`Q^ye)jqz81%_F=^CnvS${vI#7Z)49$M>+7E?SEu(34LRm-$hpM{S_bMk&-+RMy_LbYI)Cf@4WC;>yN-W!#xnjL*7^~Y zN40)C%BN`ksVJYO^*d1hgw{QjPuF?_WmD@dlx?kdP1}qRqJag z*R{TZa#QQiK)I#$ZInA&-$i*s>nBm3()wwX&(!*}P(EAh&q4WIt^X9t=V|@+ePRKCQnWL6jfT`iD_|MC%_#`7y139OWmp{z;Ud()ur<{AI0w8s%rS{#lft z)B5L8-lz31p!^lBe-Y)EwEkt3zpC~7QGP}1zlQSHwf-9@zpC}Gq5Ms){}#&M*81@|#-!LzI7{^*=`WCtCkgl;6_&pP_sJ|CVR(`gU#h%-@a9 z-u0Yser_KipFbZz-^D*?_O9}G?=L^_ef<4x`|k1sv#*`K=TY=h&g|Xg@6O)y*gbN= zBLUG1hVL&w$md@lJ%8x8XYY3IUVd=4^}DlQ_=`QWL%&Uf;y7o@4-TDq&Vv^|_p4{h z51{tI!=C#y{D3p}&Ekstd97Q3*)#X;z2Dh`E5pEj_dCN8;KT2C_C|mg-S5OAz(?Kh zj6{H!-|w6k0Y3JAhXyMAboYMeVG-ap_d7J2;WJ13b$+a0m*V{%lWx&@N0=V(e_j~*(a@jPifW{4Qp z3#4)R(AROdGtzkM&|jkQ5@}pJM10|u(ik5i0{>cROmO2Z(m2SCcS|GAjSop9Ih4RP zpOQw3`*xo+GDClj=X}X|1dcoBy`HDx^7Gz8FDXO$R;p_KZS=Z24ezAsxd<5X8o*-v z9tkAAkkEy?{YXMmg3@d<^xqBiQe1;Sp8E5iG(>Qz-)hy1TxT@f_hNdcR9_NQ@A9h; z`!VXsg-7sn`>^9&?2OE#;0qphB|-R=UU~lczYLt?S33XUG=N%v1l8r0&cBfAf?4N3 z@)uCQ{F1fCrgQ#9bg3)XUQACLmHH)AACvl}RF6yjQB+S${W7ZOrT%ED-z4?NQ2kb^ zUrzNYsb4|$S*i1zRi%CQA8hOE9hXVLW2{sD-(~2w%5?alVwQL&G#y=FgC@ zp*LO!Li4C@yNeU3y64{6%V=naVs!eRdyihW;tY-O4ewpN>?fU}^Q2zKV}6xxICSyQ zwHID`!SIDwUU>1)CFfoAnAc4{1{Xfs8NTp|7u~uGFG|tNmtx-1rSC7I9CAYUph2=;RP4a-G^}91&{C_MYH*EZQ^=r zKEiYam^d_4xst zFMrMC6?BJ3#r#wET<$oRp^JJYHJvg1v`HvF# zUIohOS1GF+e(lg@u}ASOAN}aqWmMU_cld+DkCD?JV>sI0;fs`EeQoG+ebDa=T`~M< zeX4-uqCXiLj?s8H!&llzhhH%CV{+QaSBLmPa{9N2^dZuGaPO6J*6?>n9xFW>zA|RI zriU*6aecxS7YanKeZ1Z&b~Qi#y2t71qmQ@G%DHm(sjKw%mzx38SA6O4emUc(u9k_| zJN*2iYfSY8L)V(>nV~0WHTFt=rQv(c%M8D9=sFo#z3HzEjmk~0IS{jZbJO+uDv#B{ zipdOLeM1Z=is_J(hi@K}^Gy58L*ubW^J_kCqGuY0uR18*8r~b1tM?9Hn=qZeE*S%L z@NXQG$r%3HP)hoDAZ>L|JO4jJ8O4&vWVJGvi(yG%k}tC-S$h|I5<*t|8 zle{`FQNb3;WrBuD;wXj0$ht$Rv)hu^kmN}C^{=12YJpHlN%e)H|aC4HsgeJbRc z$IE^Fg>+5X4Dhwn1}Uzit_&YIFZSbHxq3#fxm3qu__A3&li~UxIp@q!#R3lBGx9LA zfcKJ^%5vh5et$FqKN^7_jlhpa;723yqY?Q3ZUk5kU>Pj-1d=ae6a4!`{=J!g`3&e~ zIL5MMaK*?;f{vWx-_!j2O#Xcq|2~_4pToaol6OXaihrNSQtrs}rFel9XQX(c6fctE zr=@tY6fcqDE-79r#obc8Op1G?csUobS4r{nQoK)!4{EOYuV1 zpGJO~i`a{$^%7~_CB^%s_>dGIlj2iSe1?mW&r0ia()zr#?vvt60{pVHepQNpkm7q% zoMACLb~hIzub0*vq_0E%2|*_U&B% z3I6r?x6QvD{yomWoBaC>{v|7y6Js2R@w~@)#$!C=F`1v3%unn+GNdy2v5!dW<5GM= zirr&{%JSeUICB@%M@h?(5Pe$k-DSl3hw@C4BDL%}_$S+Cjm!MgwIIvSt&jz#pk8CPl_){@heh%QHn1~@ntD~ zRf_wi5Z7kx*QE99Qv5C#BZ2}W_sUqkhKrFm216z<&pIu?s-AD1!NU;SPcIV7@NbEK zr}>vmR8DN3f0y|8F#kSKXR{3{_XCGLd0W2wqru5V?vr^uaIf{87W>Z#cQQ_gA_`r z-zu%QOYtr#eo>0|OQCe+qtg1A6rYshQ&Rkr6u&Hm;3v;VlW^+>phlch%5p@vK&LALv$m<1^J@Gbt@k&@~7HPdr3Z*IUl-9eYc&`*nT0SVP4@;pGMkN)c zFiKOD^(oK0PcBd{_a$j5UsHyrob0P|>^G(OZ7GDk#ePp(N>KhtS}Lo4OIo@d{z6(0 zO7R^jzAMGwNTK+zQqw;O@Smjko)jud{hPG@Q;PqV;`>rOUoc+R&5NX^%jc!idYKe2 zm*SOD{EQT@mO{m|*GWqknyxUF*?vKey+ew3N%0;j-YdoXrTCx}BHhJ4Dy@%8@kuFE zLP(DSlT96&(LST7M|TA4~BqDISpGFQoXk z6n`ZJxn{Al|5l3sCB^@i;vc2>XDR-V6#pv4zf19-QvA0R-0_rikC_83MuZD;+@24L5eR*@ntFQm*Ur?_zfw(CdF?_@jFs{U5al=@dr};p%i~C#kZt* zK#ISR;z23CBgJ>6_!}wyPKv*m;vb~=Cn>%s#lJ}LZ&Lh+6#pf~_oaA#OlC!j7fJDA zDejWuZYl1O;uTWdE5)m%c(oKiC&lZec!LyglHx5=yp0Q%Yd*G*AN_GDJ|V>?xnS{z zHLf2@S9>hq_{aJ8arDdgQ$BFFkPM~Ssy!>|R&huv_`Pzb67p9`>u04x|Gk8xpBG9qs3>-hz%NLelnjYM zUNS!L+0q~Gb?jC?o5y5?Mg0+;XO1LvM(&`aBR|2v9{)a_e|dak9jeE={CkXkxt}V# zs`{()sS2hdk#Z;OrF|veLWWl;)7cl5yq3I%t^dekl@}BA7p=x0#F%uv&Ce6u=gtV` zF)s5vNGEvp@$n1!f{W>w+ZK+F$V!z_w^zQbZhP)!9jx-bBK8x$@8x`q=^eM_-ZHQD z`j@B4s*{y*Jzp86NYNfKMN;L_9>OSo3Xb2%cNQFywQUdZt$g&{*Oy@XfK{fpHCYQn zdt?G@{FFNX4p<|x+xaMCZ|rGYXY5s_m9aPWbcPEOG`Zg5Uq%QXaalL^JIfvUY(7IM z9?ulF)r2YP97EJApn8xp)3a$luiwMH=xbXL1&HoDB1+K6+xhGf(S?+g#y%joQ0?bK z(h?k6f#o z$Mc5iwMInO7i)+^;tRP3sUqm;g5)-G4fTpK=h4~-;|c< z4I_UkEma>>xW5PU3L5&eQhY`Vm8*Y6S}IU~MOrEt|GBjOSqhb2Ul8M)sobfO=IaIc zPAOhE!l%4Qil3I^#ZtUPio2wEsT6lh@iHmyk>cf2yh4gsO7Xh$_|~tN;tf)~QHnQ7 z@$+2p8tJ8U7DeUb(p{mum(YzFDuiE1zR;^YKUCH$Qzt&}T82J>f3M@;bD@X?uwrQ+xeOrKNT^wce}w?d5VzZTTu+sxeM2`~NDZ zsG6WQ7IAbMbE#5-pOv+y<_2B#9}uA03)Ci{R)D^XQypvSQIj>w_+iOb$~RcXiA6{D z1Pu*eBQio%YhLajmhv)4}T7Y;0|JCR#Ks+dJ)cr#o>R zqvr5cr~;vP*H>@^bs)vD&d$c>j@R1Q>d3*h#?Em$gnO@S2oR@p6&K(&yw29vDsCai z5OI$RCIu(8#y7V*@<^P@!-HcW*4sNjX4G`7rrI*py(tc;x9@%F}Ub5#M`JG)Ifb00kg)$wdvTB{qa#%jl-+ds^4 zJTKgq9_iCIH?~(!c^C+sivjAapIF)2SYPX`@6ZW=@aUlr+H7sCch?(h+5;U!zKNWU zp}@}tEay3yEKm&>F+-r87O+fb01HjG0HFL0-M9d4|& zO><{u&3{v>Zuw7|AItDP1N89L|JajWf>W80k_(*w^7w=wX$EgVHJPc&9>H73V`ZEtp33Ov2N z)@W^Q&_K}>tR^0^xpRCAIAq3$=7<5~+s7Ng!Ex(=ed>5)t3~*Y^Bb##5vXG%WWvUI z0_13S$HTmO>zz|O9*77{HSieFONXzWd23C=M<0C%V>a;0 zYjPahR#?I&`h3~f_8r`f@44>M-Gh6szxeg<*mvo^LxcbOz?$9a|wR&{a493{@ZnwK~Y78^8J=WL(4-w3$aN1m-tPMDcBh?myi!d^^l&b?>ttod ztD;+S=W{s6@oFWyqD-&h+6_K(bYZbP?;R~Idxy(QwaUUgpAvzh^O!Td(iEQWxmm|M zQkpH|oiVx7xcL-jwY##~S>M22Z?Ac^ap-z}{( zyyuPix*iyMRIJU-7w5{OEh6275(-EHBfRArCbwFgELXk7CG-(fIOfWkxK!t`HoLG? z$NONk1t-y)dAt+9WF`gZOtmsu@-X1#rTHSTxL#bUSLSEDS>QMxP?=k-mgmaz^(#P$Nw_wL5l&Pw;R zXO=784s^M*weB@mPc|TttgI7_23S_^F31@Kidx4>UEz2lvgW5+S!la+c6 zt95ct=%rB3`toE=mXcSUnylglrYcLLg!E&ZTN^tY2VAPVT$irWgcFKO57D9q`b7lI zo5qy(P&MmiyURqfm7Dvsn?Nsra${?>-8n%E4NH8kSXx@Bc~f)lC?7iD0zYy736GmD zpNcy%-KY2P={em1M6*<^(>e{9!)?c{kfP2pt4`U_I6&ICQR?COW)wEYCmS)RLx&4{!dxRgbRIh<%84B;W_!wd6 z(RziStaZoRK8_{W+$Da7lrX?j;=PPrLi`d;lZ4Y%7ch*T3kc{@y;7d?7MJTDmNnK& zIvzKarnXo-GVjxutw!5B<TEL)|stZ_&x=tCq-s!YS zw7+xI>uwT@t|?o~Itahj?CpNOhu($4WM7;CJqG`4M;;R5%!*Kj8wy|Peu^lCYc7Apjug(Ja|tS*8f zK)}IoSQ6m{+3zU7;o?$dVX0CFN=;z~`TfEmbQwhb>~DvWrWeFupQ2a9`Kb1Cfpj62 zAXM0Fv@?dQ)n?}i#hJcN-d-=)juaOe3D}^(*pD&9D-lN#whVTXPttv+ry$Q@fq|YT z;z<(nfJDNoNh^T_3=j{}eASK8k@XE|G8-o?QewF3S!fAkyNugH6?Y~6fr>MOE|6S8 zy|IMQ$>P#drMzUxp^R?!1Dus@Na`y)ozYV?sm8B0$w^oOHha;3A{k{B9IS*I!yzHGnYX)S+v<*hu}-<0y9Nxv0`FZ zF{4=8BDmp(pe}i^@30_TT_gz@*e8PUWX%o9z>&kwoRGA9O;oP21A7}4Dd9O0_tt9?rxh=sLhsvsOZ*073-xwg#nl=&QwZx_vzwf zi3Blo>fxzMtvFdNyVpG}ejOfww}%YI7y>F3h`-*+7L6}?GL0i7 zOpEwiK3azcSf1jSBmyps$Cbi=gREzxnmg{ZPo}zwbD_CHR;%95+9u>TU=I2*2i*`# z6|a?G+28;;*(qAMr`)TrraC}`Glr7T1>vE?(LT}&F0*JRRF8>NHVKN7NT(8sWW12d z#Is5Km&;)=Q^`awlg!33fQ3|Y8mJLoFZKu+T{pC#`kcVHS%%Vo7`z`UiI1HzYhtrkBcPQrCdb5&4g)WCV&k`O8bmkQu3g)ClN7)QBVjtRNuz;?hD1iWEN~ z402Z1j(LrCdy8iT%Mou>2OlREy@2IhrzH_cEKJ>w5J|8EESgD=b*f{qEw#K>p#XI2 zoN8=sd5sf|mDL8UqjVox14n7ldW1|o0frtJa!GWh$6mr%DOMjGv%MGVf})=1j;=xKTtjB5p}Ovt<21m%8M?O7=uAlONg@b+X0#_Pc1_@ z5OH_#VIDJIBQe4eluUcALXMNUuvIOd2^$dTPIzPCU~0Z8jkXTBE!=W(sW>xNB)N!f z7GU#rvLDdE8UvE^%#DpToXRpes1$U42vE~i7>$7bJO!I8Exb9Allkc>k|*5JynDSn z3XXQbCA;=UmjtP98;a2OolqaTo2}Kx_BQn0Fy{^6?kFfbOkiWKMd7(Yw60j?YHfMa zYCWaAv@qrp%LaF&rJr;*cXwK&UhDW63(hq01VLW_0{Pm+xxR*<;#Yy1z2no^<3wWv zRM0VkIJB^Y0|Dv8bkN!eor$#q;T0 zGMh@J!2A>0G-zB0mhdV@M2sZH_7&JHc>$b-75j<+o{ZiyZ<2LMTq#$`Wg()nyM zmB{4c`9wOC%%#DaQeaZ)R3_KC0sR77I^|5d1<(TS2uy|$QRk;z%qkgEAvMiHiqP)i zIU)0ij#Az*PJeiaYvLdyvEXhN5=R+UDOi^n6Ej6LwWp2qMWrp5Dp*Ep*GmdPUMN8fOM~h91gyrxAk?bX`z+C* zwp4Ed6NZv?_0N}LT{w;qb|xjTY$6h_^`UCOD7kSgaVb& zS?#2fI~&J^=#jq(6K)(%qHXYOlCj^n4cWGS(o$%;iS&SqnIY_N;|F50Zbw5l?^Pfr z)=4`SMi5wb*4Rk|yo;)7<`5ZtNY8<~in(Q!(mIbF%+R)2!^77D3Ur>eMxsY%+&sbcT{6|;ow+2GCFul499mL% z&F;?D>4?2TC_taySso@|C5SA|$Z~-thL;Og8=J8b-jrClAOtQzf9VgGVIn+LrJRLO zV>4SStJTcNiM8@=5J2lL)P9m4MT(*E;PHVI6N25!Isq)&n9Ls~eGKD34oF$X=*^;< zO}T5P;lSzztJ6_P-sDo5#jS9v*l8f2l6k8az-Q=6pMn6jv|Oq$z;ghP0y_h?v}bG+-OiF6Nv!AP&Lm>0 zhh#|G(5f1YsKqIm(BW4BKN5|{pxG$dK_Uy2d~fz5_7ZZQZ|60uoxOAiZgg$D)l-eB z7!s9#{{!Lccz_kBDg$uJhGQ^@NVDpc_bqZHj`Q;HaT?+hS)fC!o%B4Rd$rr=OR$U0 zV}RM7WvKSb_WH&aXh~SsGf<^_M=H~>*TSJxo*I?l0k(9iZG_mjv^lQe0BoM@8+31Q z69?Q|ZsA|Cb`q9X$|Wz8DZr*q&Zwidb`d=ZKCi zOg&%gqA08y?MHS z97X{?;YPQ!y4}HXwT$lH+SoejUXveluRR&x?>^DpfAiLUIu(*E8UXQSRByHRGcKRF z(R~gv6JM8NDVaQ_fQ3 zZfy9ZeZYhd5-Xz8=FXNojuGntHyhiX0}jG=Ksg*}7!jtwP3e zA_}|?NgXQALysmiv*?Y12DQ0yl1wonKP9)RWOgf#&p`FhalKE^tnM}a$*cpc%lC?TmPk7;DQfZj@Cca+~t_4!1?6qk5 zO*Cxe?1zIvwuyXnl=~fZ4j$iF>l{P~(C1DD+L)IrL-YdGB^ zTp~37mUWxVeXxn7lF%PY8@Ns9lUhiZF!fC7Qn^#s zD^Xh}F+`Mo!%3P+w0}${S7mikb=gIPkjztbCYUG*^CZB!b_3T1Oc9zS@xfy~@f6ll zAak`i^{_m!Tmq{{qCB3Rn#R?53fa&HkLPV}B9VeSq&lC7yUB@EJekR7U@b2It(wf(=c>eBTE~on=EM$Mbn78(Zs$1|41NY;QM?aU@Qk!wGj3bkfz6 zU2`(9ti;wzS}kl&>jey4CpJa#IhM7K^f-D;W;t*x)Q;$E02L&lOIame9J&OFJ7j7Q zI%flTXllVqpiv2$j<^U%yX~=V8)^m|*I4!JHgpN-Dij?cT3}7zM4|w*J6si+OdK|M z7_6dyo$=f>CJuJ*iCiL|%+tSgrhr*Xrr^Vx_TbK}yYLEz>B(6fWnu3H2^F+>%G=sDLewNI$33yJ(v~QbQL57GSCG!Xg%fbYgN#^sJLOwxONH{{%K%_(# zc2bxl$r_2?fzSk=CZgukQ`1H^@yTF{$wJV?brLB@lrfMcNU*KR7-79APmm(;{6xXL z*yQG=rP~+l*2B1sr(r^A9!XdM(giL#XIIo^c*wY>y342H~aTvnIWbbMt_QwA?cc0B39#W65kq%48%}L zY#@=l+r-9YSd-P}@n`8%yzvM~vUpg(1FQj%35h}maC272Va?_krXCAV2#kIbMfAf; zaWTb}nl(zcQ{0XWoQSqOg7^`N>SS4D030#ckV0@<6O3hX<-ikBAOi{GDvVEs0yTUR zVOgPxL@mWV=@OIb1v*E-VsS6wMT*w7;&j8&>*{VwJ zd|&|n&8v_k+i?h=VCPL_Lv~&aVA#$J8UX7Qv6)h!zx4s4pMKC18SeW;Ed^(|a#X?| zv4%LR33q@L#L=9#EyH$J&5drKUTbcw5)ZT7U2~96D(mjf@s5kWx+S-|(%fonogQ(oq)9y{!!En&p#c<1nJH4^x9!Iq9#?}hr`dw`N*lg@z+s!KWSd6(V zJGcj~ZS8JtVc*5-X>&jSZo0|g7PqnOp6slyj=9ZUDA|bZTy3Cl8@PC@v$k=fgMOkr z+Z)(c;?_4@M2wqm;xV!-Co%OcUe6>;a0lt>5W|gz}Gj>v2|Eo+IR%ttKs6k zb~5S9g8u(7ABY7)ix|Nau&T`ql+kB?EyqW>4SNzi31MFBobhc(GMD! zHd>5K@{@_K4D>Q z;Gzy&B|P`Eb~DGKIfo#6)vk{}VnM`3h%z8?+;(YomHLr31t{?zb zso#ri4eFp^yF+C`SF6yUg+-0Ow@4cl6`N!F?2r`cfJRsmaG(Md0!I!5i8JEB#gn^R z#3*TmFm{%)DgnnL6AUpTkVPE96Q&iC4m0EO($f3_i+8syj_g3pg_zgh5!ACIylf}{@xTE8z5JQe` z=w>b7I1Ggi=WTX6cUtV1o4`6^gotrtzT7)^)F~5>s(U9mEEVBfRS&LC!;bwH9zI>; z4J&?J5Xcq_C^a^v(pYnEXr~VZz(MgJ2=;@(u!sN-AQUrIZ)$mwMut}eELPgI+?C=| z=hN{}J5p9wQ5eSO!3T1*5@@_Z(=f)vqc2 z>CyHWJ7J9MXoGpadh~sbfQ~?&DM&yZosmZGmxJ9ZJ`o9oaGRLtkJc*mx^R-z5Eeq+ z>41t8-JYJRF|~j;2hdabq;j>6tpf+{pg3>3Xs%d0M1UZ`Tem~nD-mZ|0=SHP$Wu>I zb6e;Ii$n&O*ew>0>UL@4;09Q(6u5##@}5ATEV>q0Z-^qA1x+Sg!VKeF3WPJjxs$|e ziX4_{c|aH!EUGI;R6-FVUADCVfh@^5!txO82!la7oq~dsgB<{YviU45If+~Xku3$p zW|I|;0-eucn_IA>(;rmFY=aZ)F?Eoq^|SU^)}Y0$#<8^qLdpZ1 zk8dC(8%oWMkC8v4IFH>i5H)Eh*sL8^qgxV4W)FC^9S3gAjdRN&K8$^^=s|NL%B|}J zJ>Q?3$V|j(Bc3JqNhsJ{@yQEIqkMA^xy5RaaLAKJ;SxB@4V`8=s6ZuL_{M3U47oC8 z8w^}jz;tYj0YXc~1NLKUQt$`4Js#g>$6lTtM{?z}2VKf?esH;7no8o@tq!(aubYR% z|AcoX!3q*BYBY9#vNjTVKx;ibWlEIz@n6b4CWbPp@=&UFqUupP1vy)71kADX8EV|;?A2e#Ql zhK;j_uzL_25k-6C&>OP1v2lFKo1RCID4L{!62Ul&gl6Nd#@vy^KZKD15(myvpyrs1 z`~n+WV?GwTjF!ybmQ^kcoUIlu2iAz53bG~(k&Wuuzy%kVi3LUf!NoZy!Vh<6&}4ZO zc(65wL;$p=3>WgPTy*fj7!Y?GVx~x{5A zyAnY*M4to*sO~h*rQ$qDM5v`*IIEb9_r$i*BeYw{jRTc&%@LA#$Q8F-^956ETrx5$ zx$kL>>k`+8a2J?@f;qWte59r7hr1Dbl66B%5nff>{nA{$Q*7E6#U@_LZ;xGhOx4KC zM++$wH0XN$Hdl&2G<2fwS7A|2?z0SmhXy`C6W{6X9N*b!BHl~QlI+ok!vaml0$z=Q zkJ2@}-U1LW#HI2KRyr?0siN~eT$9~SLfHEs!3*~+X;7BPng$H_*5E+P$(Ndde~)xd z>=wx<(>X+uCc$0P@l1h&N5NnVc{usfg-n7}y;^w&!nq8x?|0rr)(eb$R8N%ySaG}( zae0_ls-;=i8;S(uO|#LJIZzP&B$5IZu3)B-{(+BsRd(+=%^9Y>GG^7CoMxD41swdJuRz z5k@{MXyWD^zpU$kXt|~74xkZph}Ejywp7QCpu_}T4?BSpS?n3fWFT|pQU&3HYPvgA zMsU1&a1RVgG03HaXIg{K>KL&&GvJF;@DOl50T+zQZ?JO!EJlb@U{$ny(*q7Vpsv#} zfs!E0Xh*amAbR~2Lp%laPb?X6hykE}7=zpAK&;`>4L9*R!XEul!YcHl&ej^NL zaF@W2Y_tGhGah(IymJ&`Pf;M2@YlzP(C;`$rUN~EW=(4mb0tB2SXDuth7l-C+aC%A zI*qp17=4j1Vwy=*!|a!_0lhEGS`Tep!xQG!MX<1hox=$B;m7s@aRZ`IA`c%aE=`l6 zq(b|AnSMwd2iZJ(;y3`}hx7(o@I!imI1>a3XoZf+Uhk#yVwK{U0x4#imQt`kQbe0x z7YZcwBa~kPQko3mZOi55AWj|Q>jUs&7XGl9;Rlz=)u3?;3xR=)Xr8v6C0G~3+6p^v zF|f1C$ejScF@>D_;_C6;V;vZ#R#(L!1ia!AuxOoSeCmJ57v?Cu3tV}IBWP8?WTl(VJ{b~XoxHIU~)CD*N2k@ zlmwVy3>F~*+zaIC?4?{b!5?spUypagyPnwzC)U&SLRe#}vkMoj6 zNh#LWk2SFK5FYl;*s-UH0b#9ulrfLX?R%?BWy$TV<^5c8BB z&_rh`H3b$jcgHjgkCTZdSsvtpv=4)iAnl>x0*p?mjVpLhf?9cmXNBYRS&Sum6b0jI zkP>#?z%puy7?R!LC;}NUCYG}aPY=7By2y91+M+OJUn61KCxI36t{h`Q8G~k#DuyO6 zSn-xoh-_09fmf2y_XK`I5wpnB7^bpb^l4NS%<~Ni5ws#w0ubxJP9;ulRg4Ud)N z0YnQ14mVANK)wISWmG(hR0}wpGTY$*#n=6?F}Kb#L(?ODt@*{`4@>%gske^zeLD3j((D59Qt#dsG6U7(;r|!L6XECL4sPS<<#dy zq)etL#RP5ux0dW=ohHc@0<1V$-7}l$3++)30`E5Fb!N8P&v-nh7ebkQHc)? zNYy45FWWLrGelC(EG|iqrII3+#8OGyQhURd*g7{L(-~oymFbKT&SW|h%LztI91BXI z?4aUcU<_;H*MKD|U%^5tpH9wY*^1@uQrm_IMtDvEf z=*|;7SP^1@7s3s5ID-t3bAGUlEP@Oyn)<}cS%&OQt|^*_-em$X%qg@ZYO{e1Yqmwo zfzkiF44NNnsp(3*l12dir=}4fDVq&|3)o zVgi;^!fm?0h@OUAOLiI{YRG}iUSl=1a$tbZdf*IBTD*svbkmSL0=qsu?EvG&!`Twd zQ?Za_9D2>L{#fD_fw+_)mEQ>=*o^Z>eH%HwX#^U)pD`J7;6RW)4et@Q3-Y^!LAc4{ zsBCejU&-x75+}XsA_BN2R3e}Z6t?f%E{sS()KKdzMUz#Yw}i2bQiTtqjqTQNOd&0!fCaj#=Wrh-xZT zmm+(G0PEQ+1k_+Rs6i0!cL<{W*SJ|wAy(EUL>v9@B85HWeVEajJu8;>3Pw#kfOzVC zx?>x~b$?KRIJ!4Rwxrdfg8;;h1SpENR-8b1vnMYg`VItiX`#yRWwjk-LM8hY&VmA6 zyqzTke@4R~D^}67_8*!K5QStT1N)e0u6>ietOT`SN`T4ecp=UEkFfz}b!-v2ncQtOe9RzVBjFJ?4LpGcf@d18ZpeMy6H-es8p_md*2}jlA^Ri(9f*ts zPSIWKX#0bzY?CC~m zwDgUph5@`6Kzu7WVR}chqF8p zRBomnMtVQW-w*&lO;xZk#pl36y-;pHgjKde!rWo>qW+Pr zH@nZJQ!q>#%L?%t>{0zhw8*h`sR)aJXF1MjsUff zT_eJKf&4_+Y%p;|ucXG8liGtAgh(F9K5)mIMo#c$SdEm7K|=Oj9L%!~Ke1CW`~Xo} z5(#akv?S!WbX{b5Umv6g(=pbCF+9Cwj}W*Ah8qVs+V0@XNiD>G^v6{DFyrg-27UB^ zzh}jk{88`~LcLx%Qkl?^uq5|G#1XA*uVS};G%Q7-9FBrl?EQKKy><^woiM6N31<6_ zJdhSuz*r??tDGAJ@#{dn@)Z!SDvp{+UpyLtOC0uV1TITxBr0a>9KH}m(yf(xL4PLJnXvN)C6>aijxKb;oaKh&pL$xIS|3&V_+dcwjg0)a$+%#hKXA4V7N2Z zJliR(-dLkn)cg$>JSt2(Q@X!4Oi^tpP%_|tl&k}T1alGkjw4uEDp&ZD6n}|?uYhE? zJVzfiLGLNtRg%)vermZgBwU?y#!ak7MVEl2$_@hy&->}!F5q1qHUHO4!@;U4QyuYwlQo3TCyuo7Ce{SSruL4po<0_qQ` z+@iv$4IV<6Sl0bmQdJma7YM~rEHi3`wKcyLMcbZj;RbIRjPSW#82h04ciK@RWgj9+ zwFUzWGAm58#SK<8vX;!j2IC>I$^^2n<_g&qa#|PC`2w~(AVD~zwV$1QvN%Q7LIxt+ zDp~9~l@+WoYJN6mA_)-m)7i{b$bUgzMI>#7Lz*NFBMU=mFP%Lt-Vc>RfUxGQS@ifV zkZqU~p1}8_ajIk(m^Va;*08-xm368<8`i>S4cKrkh*h4S^(u)xB`Z*y9msirq6EgO zlK?FV3uJQc8^2t_QIbJ?V_0;7Xnuw}JEtvC4zCg{avB}W%^7ls@_J*Fqw!BdRujn$ zn<8xe!Bto1SPc1b2VE-l@<>x5ZFY*YQl?|z9fu7B;eKNpT#1+Av9YVt1cXH zt4Jk1Tj5@-?*=|GLlRZ#GS;k~G>|lH{SV=G{A~@=+fWb49q$XG5Js|Y!AuPn3q_y5 z&;=mw$IK1Uxc!nxguvL$isbp&)9&s+hzjlO;(eNuuI73koA91oO-M($I9aBxS$+mO zX3>`O#PY$l4O@x$kZ3!OJ{-3R91T6oPI&9+7H0ybov!BFRGLAE5BT4R0=o!y!(vc@ zLOuRwSVFe(;fEX1i#u8OM}-6(#KW*&n~&2=!5|PAv-oRll~M(vG>meFYU}q&%J7N6 zghc6RmWs6H@L9a?5HoB4&wJ*W+0m!ZR6w#_&3IxUIf>aoC_kyx6y|&MC>&)a7gNI;>x8E3yK$?0z`rEt=afk*fnPDW@^477e5{{V@BZf*U{SP_fiJ&y^vEF7+r7 zGGv^D=^$M5C{xd%iAyXIo)#DFZV5>)6w}19g&+cu9PY$Nc4>gwsz)xM$|QD?*7&|X zFuFNq+2xg0nJ4=PuPnGI5Q@&fIEAsp-nM)0;xVOL^3l8peUa6eupJ>4w%19SEva3R zOs)J;67i)OVor|u(0oQstVp+LA(82X?5v#!jw9H-I88(w@#-9SW)O$n*YvK)WCrOQ z$>nm%cmkv(UWg}C$s9f?g5-!$A+j*>A@@D$0s+di^9_6GN{5guaEV7>`AYbReGU6p zHRjd6!iM8~PPxo`JSeFhNCPJ*s4bWHlODh_qANfWvuloJI@NlxHyO@G!bBt39UUyy z_4zvKL*zVmZJPl?Y{Y=TF;3=r{vFOC74m@Fq4$CYX4#vNAM@&XW6_KI4!OmdEK)F+ z7@e4yAR9%W?cdn!jh)v;N@!8TMnaC~Wl8i@P=$#YxARIEc4Pf%ZfuWYY1(lK8_l0Y z#u~O=x^#>({}QDQ`RrWEi3~M>4Rg4yFO%4g_&$iz=dgo}aYFTKi-bDz?K>h>tisWH zA^(9NlJCz7^SmuEc94}8z8$!}y9vGj7$q`>{4nZGZLDDDH|`_YMm5;Zd`(k6nGBvJ zq9!&QJT-X-@8G6E60-`c%DBC{N0F!ip_c*eBc`X*$fmx~7CRya7#B%ZPR2p`8mrYt zhh#Sh?2J8|K|nTW=Nxv;A#5l`I#dqk`)n?g$2TspmT{>?b>*w7_CC1a$!a`uBM_(P zl4FC?*p{Gb`uF*A9D7;*Nf#v;m!)jM|x-t;lBFqBloFypkW3GoIadsR-&JnA!Ai8m2V3q2Z~$e z10IE^Cb9>RI$a?gjs#pGF`q7w08u_;luY+Duz{`urz{q#6=g2gDiM_;P6`~P2n$|j z{ArcIxNe#p>5ou32|qM@+{j@CAn%uM+Ue9xZghVqHPlMZf>(oEgG?Owf>$D)fKv?u zRR&Rn$mpNK=g{yHM#1l+*M~&!!3n5vlR#hWWgSLvhRsJjz z5qf-mn_95BEQa>+pQM}7-LpObeF zsrM03na-!OX;3n~FO$I_m!luK6t?qOPQZQ}4MItrwHJ0T7|E)Q1Ix!7^v?vtoaty{plNIGX6fa440?)NhaNA0)y9d1QaGAGZ@Ud6xLg zbH;ZN+T<(2*elqa%&B6OT3Iv0FX^{&w>~@fAR)wQ1Sp*?nNk)Os>SN!EVOD8mRVd5 z+@4cqU&%n&0t9N@Ggw8up_MJ)*6#h@j08UQfN;b;Mp!S3_({&-m#7?5<*OIT%9*4BzGm@i--D3I5D^X;}Tj=Y`KS z=Oxq8^XxOtd0&B^MTvkd8vNeSXTQaCNoLc|pA?O3d5Ci`&A}2wMu3&>N^7OD+IMN$ zhXZcT5kiL5BGpGc!&HNImbgSKsABiF#~TbT$9r8Narzs82b@CgUPMnB&kC7WrfZ_Z z0MUId#wNj{{~2ooAvH%K*}tJ!i<3HIYMj7E*=dyNQKd8e$Ei<=A|rAHU`yH6jNOt7)KH_=*G)8u;2R zlodl&XiR^&?bN&x&WUVu33k5N{&S-@2GP+j6c!SNI1Z8&YIKtU+OrT}z_DHfjGxw9 zvU-n6?6;b?iMQYZVH-iu6$d!cH_l>fH*-!}VtAAhs|aP#F<`n8lW~x<98laWP^B+E z(gKT0jTXWNCm12K}d8Sypou}Of823JZ|C#nki^4=^ zXYb+ zYx$*`oou=%3=Dh*+5^uHLM1RGBot`P3?KV8>FyG^$Eh5Gsp$!=wgl@a;REi4gHKr6 z>K`#Ip9x`hFA;L~Rwx>&1%x-^i)0WWX!Y^j^uTz{vOZv-wA4~Wa9`?ByP7s3d2&$zDyZKpC=7=e<7MH|k)3C9+_rnzZ#xA4`1%t=f zDp_VIS2UaBHj%DsLqFNcbxfr$J~iTF!-)0mG`zELI9Mj|xg-C@f+mIu$~ppQEEhBj zVL@OJa`Cq}d_!Iv-X&}`O3=O~QMD0&wy}z|;P|vShIoH#wM~f|H*a+J;}i`rLhlx8 z{FSj5e_5;@N0Pk#H&00eUxCAS#u{iam_9yc^lW@~m^S4>{WcKVod-V$eTo>jNZ{Nj z&|^&MRYWpv9(Zc}4!-3Yl8bMhrq7o>$31x*J)|e_{6w8O7R4EK5QEjrUx?ia$uw!` zlz^TkEgdb{75WH0228|ee;-j0)zioG7?uiqpKA*l>TGnyNy*8^-BEfh0zoN#RA4Y6 zg2Mz^KTVG&79_o<0lA}y;QuJUk>V`C* zeg}A=L)}_D;z_nJAD4T9c!NM!3qn-&<0h=Fu^*qUtIXf(NP36(2l}|j7#a9suGg&> zPjm^00du=99U1d)-q%9M9|Q=S=os|SHaZDk9FSUzVi?UK$*ZM8QbafSVFphh2TdL127lmpP^$-;G+BNyL$yXaY%xlLg3wi9$SuQOjefM7*A^ z=$CG(VpDZH63DPSHzdmhkwWG;I&=gqrcy6KcOQkdVhnVbYQ>dD4w3TY;?jot+comf?RX}ZXe z#yqE7Sb%|X9Z+{S3L6J+apCZbZ!bT+6R@~_Ldc?VX z7z{|}XOWDC$ZGOQ93T#8WrkACk0UMooKL+#d`WX>WoNhD5%ZnN>)ZDu?lgmvzb**W zU`HpqduVYngC%^ylVN4bWzvwEGI0n>$$SoxJ_URSH3eBU2SAcO zCy5vz`JkMg?-K63t=9HI%;kDVZ?sd1`7uX4u+%`{-A(2 zRje1)s1Ai~b7g(|M!(rXx&TCFh)9z}8lZ`EI+?|1hSKqT9ueaBra}%P8{sullW^i~ zyMZ3|P#TFZWbChFS|BJ^$V?xH{v0?2@x5b&sNg%`jrFkamqBcDIE-!2G^=(@9PNuB zPRn1!Mk;m4K19!i;Dd>A$}I>eMeJZlXz#3iD2>#j@*I+i@fYTCKDL->Rw6$aArLQ| zp!@)Zvhs(lW`BZh%% z9bIivsx9*Pta{t{h&$Pw2_^OWJ21^f40Ean(i)*LWBDX`h(CIQ9@YAUOZUKVA+ovm z=BYEOkC1^8p8Trjb%HIdC(R>|b}tmSL`plM%9v5{$&pu1-RkHpp)jXwB}pi6td10i zfDadm3)24-j|-Gs-)#k%HYDX0>w+>qBsQGIaFymkoSP$`Ee$6p8lGC7Tl6u|#zj3& z7I>oh$cl=IsvR=k%&1}4SzA5D5uHaV0T&)1+2hOxc>pR4Rb+spNBi74Fub|SoEN=C zgv~Q@gd)&=W)^|sej;5FT@)&cO`k~CME$1Wp~xjl*^OH;RX3X?dnt(04hrzZ74VXa z*%S!0NW10@o|*>kegwEa4{Z#2LR6*|l{n!0J^7|dDGm;r{e8SWM;4e=>6MPwmUNG>en*`eK|SJdrz_pi_hy(+*aaGWpk!!_?z=Z5ElFQE`9uUD@f9$I;Cd$)6v$QR{RZ** z00;Yn11Bj44~}L3^E|rsT*Al#b07kBmaC-yb8OkQZV+3>43+oAsjWU_rU!rXw-C@* zhx-Qz^h@n45nGrrk~|{OQ>rgdRJ|ZXS?EE=4@dF+00o!n7C+(=zAFJ3U7D>_ zC31+_mucZFrlw{CKT|H;j7^M_@Twu24CF=72Df3tWcJTR!xnpw;Pz%=_Y4Xt!dQi> zCf1)~aGIB2(8LY=VGX~s;JhD7rBiKZj>b30K_sy8XP$?Ll6Bw>YKujDUCgiH6ogYC z6EY%y8_|6gJ)w|WFuq&b6*%(H$o?0Nr4x7Ewy%;id>n_GAhYG?Bp%A?Esx1xxnK(*SaU zYK(N>2n38!7g3q#s*37&Hhfi77CD=3*z;*yjg)PM4M%vM*R9Q!hx71pY+v_8O!tK3qgv@EH&}zV$&e^A_-DHh`uQA=j-#uPRz3f4uucU znh!=VPyjG(9JQ=l7BK6Gb+KKNykvS{tp8)T(sTv8be;^sw_cpAV#YC1<{N05;!XGK z+LD3_IDN2y2q*W`2#9_QV;3fq%(FsrF%7TpN0Y5DSTXz|6MR{RV}H!oe+i$u+x@f@ zV=n8FyhJQUT(2z`!@dB)7{Z8r2(sHA3uRGYXgC8JByttVgUnjYBTSwx^s7&FBBTpM zj)qz2QC@DL_;qAT$p?^(*9e~tTrE}7XYS^6gV?i z=Qq~6@*#En&|1XauBFnfXdiNq;?!YmYDAXr$~?R~CZ>w}-(at^y;(=V;*BO92sj9d z8rX?3GX~>wAxq!HW88&mi>wR*_WEsH8`!i1rzCk7{k%CFt8G7-1)wGZ){fokf$=gl zmNiz4@f=GW?IE&C=fs3*?c0sO+yal1mdAQ>~7Z4Z`-=QFmFlBLS?6GSlifQGl)4DiWaia zFg-I6ekI<`g%73bXRz3IX>3J{v;!3PVZMrCA&PGp10}Kyq_r^V>`8znGkVxIx%i%tRQvF)WxkX1;M^v)N!$3=}7V48a)_d=mKF@~I(PJYU+AP7Q0_j)DuC zcu+u}t;9>%U5{)^`0eL@u+D?InNDJ*nE4%(Gv7UQ?s-wkJtS&lY3X+4+M}^D!J?L^ z(I;61XD}Drnc3CdL#upJi=`&o18t^*CSYw-W?F|6Y4@3L%1_4=$pUr^Av_K)edJ0( z5Cp9Fh=D+M`vSg>mq;N9A~UU8QUWhz1Lz$PJ3ups^1m zB;JHTDJgtDVnsIz6A=LOEsaQI5~p?CEx@tv#ul;xL0{SGu3`75H`*9$_QNqf5BNpO zjh;N_Hpbj0V;e?FjUk3q5K#?-h!#)7wu#|ae$BCi2(hC#)ID&73St}g)d6EgwKGKG z=KaMAX4cqBAK79aOh?GB3VI*JPltoU*ubWT(JR%g+2Z1RwkWFu1b8A&m3e#<#SOJ^ zRWNa4S0PRaPCQ$N(TOD}EGuDh53#ItLq$B;PGL~QR_w9QOG367!+~AIn(f$28F>UR zAQW7-=fPeG--RWR88HK0w*tl3wue;{y(82Le07|(1b%zda5Q591vU73RA9vMH^JdB zL}%;mG48}PK!AGuFX4rtDWK?^&ALB-1ljk5EYVRi!0Wb?gW1S)NLjwsUSwbAd zX+vti6Q2v}a4d|V)ABqdHY5_){V#0sV!hROm-r?~ahM>DESXdyYfJ(xWcbBG1Bn_G z5)o#iOXT8N8XOtcF!7YH9nlofbc3=o)zLb?yiFUlj(dspjPn=BmY*aFK)aBLNcCZP z3&0;7b4?*l~g1;)YD=sL?XJyi@Gg(Qf;$1yuLa;5{u zx6*={T@E4)7wLl6j!8#b_DlQA=ADW zeP<$cGcl?`_6;uUq9u=Fq>_(-=?*m02&lbn@34igsJv;|ro|pju&vE9#ig%DSkmGF zB|=}MJ>npr3&r|8lX(DXpCJaF4ucfTO+n#a2M@=(B|7WNHs>0qz_+Dj>7ea9l+4uB zala^|#L$MnzTkk(x+O&a&Nc7W4L3jrCl3ILM<;d~O$6cluA&;IpQyCu;|JXh=dmM79DQvu8r=!U>LWJm$or3TqEuRnmT z52#z|Q$T7s7ztw4CT0ZE;o1A zcXovgjHh|p=T~RL#Hkpy7J-Y?R({r<6HyyWA)hedr&D} zc+pSqDLrDOd}esq-Gj6A;D7?RaP~U?`2Bu|hn?AeU}xBQ@&Ndu0r2Vo`1}C)!T|Vf z1K@u?0REQ);NKnquML1N4}c#T0Ka_z{HX)rcMO1g1K^DT@YVo$X8`=z0QkxP_?-jb zYXjgL1K`gX0N)+}-yHxyIRJio0Q^}4;LjNV|EU4+=MR9N832FL0Qids!0#FWzk2}u zo&oSz41nJ|0RE~0@K+Cj|J(rh>juEzFaZ9h0q{2ufWLJB{1*nm-!TCGt^x4(41m9P z0Q~&};2#_S|L_3#M+d+^J^=p70q|cM0RQv=_-6;eKR*Eeg#qv{4uF4o0Q~*|@LwAM z|BV6guML3z)&ThL41j-q0Q?&R;D0ax{)YqLe>?#Grvu=BHUR#e2>f9T8H&K;3?acF z{3je?I1EJVH4NDsfy<1fXbj|wF(XSlqDebHAKe!dOj`oA;$ zf(ZNue$|IZ;CC?m5fS(+7=B>{ejmdh8G(O~;TJ{VH}Fti9D(1#@Jk}_dl-Ic1pWnv z8)+{%{Lc)(EC6WjTAr#$N8m>o{+I~-r3}A30{<+-uZY0^mEk`YfsZmOTp58sh2cgb z4GzDY;XfV#wDv`YKQ03Q9>X6WfnUq0=0@O8WB64O_&p5YAAx_C;a5lCf6wr1BJjsE zDqkCcFEacI5%?K~Ul)OYjNzjZ__rB;AOgRFm&)}K_>&oaLj?X@hL1(yA7S`-1pXa{ zPekC4;iY&m0$*adP!;>&%Nd@qL0tbl!;=yCKQKHMf#1MOJsp8Rjp3OH{BDM4Bk=nf zo{PZ$h2i-K{5mEjg$Voz!=D&|znI}SM&O@h_)QV`UorgV2>dZjs&0wEXBhsZ2>c|& zZ;im;#qeST{znX-jKD8sQdo+>Z(;aU1isGjas>W1hEGS}UuXDC1Wtfq=fMGRChC!6 z!wwVOK5! z{7c|b{w44z{}OnVe+fLwzXa}55&0W-qWp_a8g`=mOW;xdCGaT!5_pt<2|UWb1b!VA zk-uSQGy)^QuybGl{Q3d#8wS9~2EfM$z@z+&P8@ck{7c|b{w44z{}OnVe+fLwzXTrT zUjmQvFM&t-m%yX^OW;xdCGaT!5_pt<2|UWb1RmvI0*~@9fk*k5z@z+2;I~o{`5Shk z{EJQ+cB1@C;8Ff1@F@Qhc$9w$Jj%ZW9_3#{AhnlRc2Tyu;^Yee??+Xy8UPn7GPbmy zTuV>HCpwu-Bbo0s^O-i%ha{WLT%(mpbTZvUqS0!k;(QwH(=B8~hG%c$ID+UW;_+-d zk#07dop`$y&ovu`W}?+eb=$3cCmlyJ5xO^Rida8}3zDgc0(PpVy7@w*n`<{4`D7xQ zN@vpPLbHk6#0zb{pxbF6(Pw8{o{?yxYe;dDN@bgk3?)73Ac;3J?55(09KOxTm$c9& zJwKjm#gpAuF5O9X8-+wN*UsU+(v5U8*=l0fET4Z8A8MjFKs+Kn(QM!)@tMzj1Miz^ z=h3rluGML@(&bDdl|m&oRF`r5lq zc<1OP;uD2LzSU`Fx((!M$>uZZWV4${r#k6YqSI}*x-w9!E6vvNP6K=EIaL6zOu+(Q z=*BS%*+w>jk!xmKi8gxG=_VSDRyW^m>a%o+Q;CUAs?aFl<>M)&ap@%5g<(i#ByisTX$=bPmp_7ze zAz%s@;k|(=jch#M=wws4e+NarlaIG?Vk4g^Y zpk=DiY`0o8Zn<=(kmwfhc7iIM^%E;_U9NT3cj#?0*@;#LxpWXi)@rp9g+#N_X{Hn1 zd>bRuZ02+ME{|Byw?t|pnZ?-WTkS?NPFZ&viFBcWB-r^(BbU#$S`EH}^6SwP3i*j7 zcImVV`AidQ1OpY%wD4}7b`GPL#LUPD^ZCF@x+a;PNCG2)VA*^#)y}o!tz043MGSWn z+v~cWc0!OW=oPL=<$+4ALc4(HWLv_RTEoo z$~PKVb-8RO$^GiHToM!ccqffrP=$D=3p#+&&ZZjZVFBIDH*zhXjNxMH9j2z$?c&wj zg>);^&S%iYRKAXS0PyqnS!HvfVbQN*5Ql8rcSj40rBi zV`YZ}jOi&E?9u||Yl8}P3rInf&mU3UvdKmv)fBu$*W_K&pssk6ZZ3&w=_Xpud>dH};*CrWub(JnfH&MT4&+#; zCt$$%$1{m`rqOK+9?J#zcq<|Uaak%of%)!c8X%O3Jc3WM zz=3S1)lPvd1M5=AeJ*5QJC;ijF6TONWLRiX1ZJktOn0e~?8ftjZmuIV*{l~V{(QCz z0^G?ZTIdIoTeX_Gc%oIvVwt88gk-H3bO<36;9i(wU=%12(mW(vsYU|?qfyA@+CYSY zTp+vu>59SxWtnOfKo~O}3~Hm0OB68wom{rj>SS`wG{1s>K^m`srP9GfG(hXXEiw&^ zQM%m#kxX~fco1LEJiXJ|KH1o$VaiW{eS&g>F?O>cMX5$2+sec#r3@v(_1>2awUi2*aQ zn$P8CB&Q~)CMG1C?qVrK86WA3e~1bR$^KeiFvUEy)ZPv-B_%V`_G0c6=Z;J~k;WGb=7O zBQe$FiP&T&{b0#a=9|-5C~wN9rNm^Jeia)qb;=B6BxNLIX2xcvnd+Gim6n>7oq&4c zt0<;`>7RCum7W$KpKfAe#&Wt@qL@5rX3&I;^!Pv=l8jd%J}o9LDLKo;JSjER_SE0D0VDgN)%bzJ=mKbIZ3Z$EVIb*V{ZB(;f%#JsMCn=C&)?EQk|MtI&8o8O5 zQe#sC$yuoh>1Ha+urrulmzjU9looH6jmexXO%lr)H7LhSPMP=EuT2I!Qeuo*9mbjI zFD=U~QL-~q&E#Qj-V&b`h)p&*B#@XI>_~K#m>Og1WtKW|W|}cmdO~bwtm!w4+$Vy2t z(@S!km-(DNEzU$YGbt?m6|*lF#j{lTj>oNhPF0~hYTY$eL6EW*(~qk z?Ok``O$JQMPP8A`!@xJU;kWv5SF7gZZFWg9$acS^m^hO?lj1VXENa&v2}!2!rJ2@^ zOHNPBN=wUxi@y{xVKw7CF~PK2oLRS;Dy5roX!2@8W^!^?AR`gu&vZdlD<#IPPczLT z&n!kvyiCtC*92yoPELwTHp$F&Su-Spdb5N!deb`-jm4B$J6dBC6Ed<=%q5Ch>zVQA zEjtDcGvhADoQ56Z=87jaBPrRW-W0Q(GS>lSv0{>g`EO&%iLsf?tMn0M(u5eBB`sn_>QOidli0?=!@kB^a-4%!QGSQesS!sYSfGB+H65sUwhK`bNMk1XIkS z#ayKY0;&E_5w-2q<(3wm?CovL=fe60zv4-Oh@$Uw~TxZs)-9aohrPSL%-6*WVa4kA64=&&j^ldn&*X;d>eYj1)d= z55NTBtNH^>6aEt8HdlD<5daSeKgF%y<-$|*05%K1g~2-@yiYX1Vc}_80NxRPauC2t z;UC@w@U`&GwDW`T@wouM2!E7Ybr*#{wG7}&+d<63wuyaq>1h8ldnLkKGLTh-_ha1Z z3BTb9*hv(Alv};cg*O-geJA1Z_ki~jzL*^?AiOBIq(=xZJOg&72tP0o{C?q8xJ9)> z_>}d~uNVGlZ}1($$L|C`C_JG)_&yyTP6|6BMBcFdoIznKfY8~m<)4?PQB zf_@x7SQxyL@WW<*%s%Q0-^cb!6kcW_^eu!}B)?U7GF#Kf~!_~Op6|FrNA+3x#=Z&(8TZ^HlJTSOOy*SrtSRMtA|{+ce>WX{VL&*ln=WPx$;A;Ddz^ngl*p_=3m4X9(}t0sKMX z`x*a7gmmzeV^j*J9v1!Q)xp;Y|B~bGDd86%f&Q@Ycj)&W;jeL`{)pVB1rEWW zp+YbhY%hj5NZfk{s%NtY^;`-B^=|EC+r2n#+Jk#1)^etR;H&N(OV>}n;k-~M`0Ay& z6?_~Z#>bhOgCxbrt*yz751T(&&yv*GLp%O%weB1(>gwYhazVo7NYD|v@;f31(-=i|1n72^RO5n^geBSVJ|GU=j`gj%oZV$TNJ9{r){DK;_|Ba8kK4Z~; zeEfR;ZV$ivxV81`Y=A2`A6iz88ha?_|EuCQ$I_%|34J{F{Tdt&i98={x&)Z6EL9<8DmZm+?8rOXF)V2d;lTS=VPL$7iRW zkB{N5jr^ zALo)K_`-Z2w|1T#1^p5qXV(e7@TiZwIm^C~>*J{~5&ZdtkEi+gHXpZsi)G`*eZp(> z0e?yOKQ@8C=Hvc2zwP5qAPxR}-^cx*&N%7gwm###qR<&1Z|bvi&d2@Z<$rvRoT(@H>PR1N?bA>9@isob$j96I_-Y?_Yb5*fCLeF_ z)BCSSI{5grKD|FaFZg&zpZ--JkM{9*eB8$8qYZfRBjM$ngP#_Dd^z}8;Y+xP`;U)v z2^B2xyN^f1MDV9x*Zj&wQ}HVyvUTk2)BCS?ZuRl&eEKdvUfstzMFn52>*E|+K_2hp zxBKicodwr#woczH!i&YIvCKZd-3Z{uzT?+(0qE9{j;C^Q>egV6=M96MnmBlV*KG%I zYXhfW#6_Z;;~f9$0Q4@$I=+!f(d8V+r!d%VtU11bi&odS9Y4v=>)Oci0E5>}>fdiA zz@5T7t^?pQ&O6^<*srogUzG-i2#;9^FhcnJvH;_RUw9B;vhe+EubINXWD=b(ycHXq z?!Ee-E)3x^(Z9>i%W!!5=a`rCM4z+^fWy_(59fH?D*Dzt0Coz0v=P8Q;g4qk929(5gf;P1l1yWR+1LUcT(Bg-nDW>$*e#q3{&uhfjsye*pR~g@0NQ{9EBwsQ*d$J@ujgRrp)XSNcBMnljK| zML#Y+Gpm8?`)dUTgO?Wlll8#$eYYg8d#j4R0_R_SKW_1U*r_l2Jzc>Y3vbK%Cka1W z2zvi@w>`J>lfhev{zm3c|Mj@lAE^p`XVL%3{@+dbF0Q-o6kdbprSA`RDgpahqF-1W ze2DP*oCik;Ph)(>3Gdwnb|wp-&GVWm{HLDK&lkQU4Sb>Sr>cW56MmNCVx{n#lc3KN z-k$w)gYb^DvsHM*ny|A|_&{FA?Gx_a$2};#=mOYzMfe2HJFg30z8CtV!c*#k9}~Xo zY4DT6+jD)W`w!i1r!$YQL|>sD`1iseX1_fz{37$i1>sk1gq;GM=dC;YyrLC&Vd1%K zmlDFu7KXm8@GIiMD+)jV6nHh^?=J<%_x>-Q3~_|>Dq>k7ZX_G%=2KI4`k{QM5sNfZA2z2G+szrF`}YvHxlfV^N5A7uZ@6#g{F#USC0Ij)BZpF11&#|Yoc_54KPHTpw8 zUHFp^g3lG6!*%Qe;c2|Dk5vg_xqCxI6ezJYnNwD4%=nF_+2b%UL% z!aH!>)fAq=^ZAG!+#Itw4v54@Z3 z0$iuvDZCcPML*$VYr{^K@T)jph6w+rE%YOVA7!2yCww92>&e1%R>RIr;Xkn*=L>(F z{c54`ox@;fnQ+`MB`RvA@OR>%&l8^B1bl<=H9X&~!k^-J-zhv}7wqg4{?e1+2ZgsB z3jT`lubF>d7ydsZp+72o9sAEQ;nnYk{-p43?6;?d7k>=;uY?z?4*tFH_t;+Ng{PN- z{(|sFSpNcr@wyxD4>2DW7GCTL=t>AL$@eMTb%3+;`5@>kioQq-aNKw5QoenBGI(v# z&#MRCQ26`V;Bmq?w+2rUzM~9yGvTMkg0~c&*&n>U@Q-_fcM<*#*9kp@2N<_L!k=sa zJL$qlF`o|*-r!N_bA3Z43tj(zW*+RE5dAmYXZS>TP39lmFYVH}IART&$2X!MwhjCT;cH{Te->Vi^UEK? zkMQq;MNrPwe|R4L<}$&1A9ge6ac*CF{ATtaF0(xT!hNt)0SAw#>;|YRd>OA7)Nhe~ z5UOAI`9{^Z<2ph04Y{A7^?Zr@8(PoZ zgx}3}e`0Xb8T^qoA3xDh}aQ!^Mw1VIR zMSth5;KPKs-vd5Yc(rNZlZF4;8C*YKJ%=4%-}f)t3;HEu=W*uqM}*gV5PHqet-0>v zF!sh*EzZlDhi~UPO7pN=uWKGY*%f{@50~VGpm}&0^P%S9_;}c1n(*q`oB6y2UiNsw zI|14XAIC(e+|mda>wxup_Jxo;wj>weY;60PGf?{fcqmTSf1_-^j~C zPv3y`*)RGn*8#jFyg2jT5#c2{FT5?h@m_#q!iQ%7d@TG<2H*?f<=C)ig+KWez)!-L zM+5vOywr98{oGfxhrx@;`2B4fcuCMrm?IC#8V5G}|h@E1o05=K$vo=6$;oTYnXxzqUf@|CsR0P+!m1aWKdE{6N=ye|1+XP(ak#3B$ z#$gQGSLc!A(Xhi}UVQot1HTamkB?Xfz-oDXYb9`v#!pLe}w8ohPd26+Z!XbiAaE1K06VvJJS7m#xfKI$r)c8v0H+ zc>SlzYyj;KAFyG2i@pKdoni9q%xn(fK+)&2f3jP9`hzPWvlU9*zUo{xCHgT-)oKyTP@+er5c% zy?(0#y|!0F_H%8o>I{swSEGE|Yuc@_ukAIjJ-D`4bNbcxO1=hqZLa}q!L_}*aKLGM zb;yKX+iTO+;M!j74pG`(O__g2pqSSmDmMaPxA6F0=6TI0{q{gVQ|!Dw24KGM0UZDq z3O~(xYMJm-Jpq{Jy!v#@1!uSO_|=@3H;A2W9CurV59kH3Q}~kY0Q-dhhk-vRd<*Bb zSA?HpUVUA7*0lgfg%LPw`-AQ~%^L;1=JTJq9?*RL3;RQ96!XU8=giM+29HQjN^x)5IW_%g9_oDmJZ#`%Wg;2P&CJ;623|6u?$&RsaZG|qo8z#8YXkHWsj z`E*Ngjq_lR3yt$DbD-~xgBQhwmgjbvmFj@Gj9RM?h@7)40U-&~! z0Tv2>dON@};d2<^mBO#;1CS@Y=v@FCgil)suvPd!rvotDUVN@+Kjie_@p3$`gJNen z)*=a*Il1#J-gP1Q0w__6>zmbzX!P5f0*N_hWIUTC4lCQZxX?E z-=lRG@D#D*?gyv)9=+Q@*jn_<*zUUTQLZb5njexGfZk%KR}MhB@G?AKrc19sS7E@0 ziT)wxhq1!1q5Z3bA6yGiO!)q$0PLoo-+s&+6+~ZPHGt;%Gc>Guz5}mE{;R!ifStx- zeT7x5(mIE3tP4*^YHYe>Lqi68?Nc)F)ARQx3Qrg@0TL z`dfs%&;9HD6Wr$rZxj8S>9EsNcrwRzU*YL(pwAM1?O^bGgqPrc%P8T?I3e6C+Az%^jitTJ#$VgX{ebqSu1|BKqNF zz%L4Ko&#QpdDo4*>|)@0Kj&w-peQH$6ZEV1F__j4c4~;e*W=*zg@4EOQmpX#yP!`I zp4}4sCgF{*0@wQ$9Os1DN%XI|`BZo}&KJFfyZcY23(s2szj}Y^iPOOKz6AR!fR7bB z4J(6B7Ji~R_$=YOIRV};JhlP!{`=yx6wAMFZVDdDd#0(W`W*=cbP zxc~lp_O)*w0k17~%5%MUgYX~gL+`&YpSAOA8h8`Yf6xzH?+C+JF~a|be}79^?ZsK zYI8+DV>0Tg_Z$E48F2l+{}JZ%$HdMYF8tRDuTvX#HVfbP5cqcC!w!J&72bvOqkgad zHO`O!5Pc5kg*SxnXFdNV{MVWA`=Rix=HQw$BkPhvm$S@^1|u>Ys< zpXY*K#redwv=;sJebYJn#>MfAAQ%em}j}Q1CON@5wy# zz3}n>%c1tZ@w8kTKKR9;B|$! zT?!r}yvG!9{l59f4Z)j={)#=|ErplkIQ4RiT=T-z?Tbujrs6#;q7)ozh3w< zUT;1r{C$pJ{hoNW^|14-=qGc(;zi*Pvj4m)d{+n9c}sXzp6~m@GipJv-v=+e1N?K* zpS>Ua8{wz+ga0V}O0GkG74G^+6vwL@U%$739sS<-b6o#lBl_`-XL;d2avrH7{5-E0 zY6_oG6Mo$~#nor-R&f1(_sz_osbc3|UjN=KyfoKQZG`XX1N)tYFXlMyF8mnh3;iDV z-fFOuA^Pg|zy}F0KMQ=g@K%h&IN|ryfqshcUW35(``S%3M33m-cd`qzb@;Pvl2!VedRUcY~x zQ2_ju=pW?z^Go417D4}=@aW#)=Y=2P_0jLbe=Z5Ve$RR~^;dI!>iYi>*1xpy51HSt z6aMC%uwPAh7skI3UiRJ(%3)qAA^gXI0Of>lV4h(*_UznW7eY?s9(VsoshHSt-#aKR z+c?=yFZ!j=AE$q5X zCAjv7$JrlrTs+AW(s40m73|!IgLl4TIA6CAzK{K(t?;ak0G)-u%j*t}Td`&kYTQ0v z2d;6e#Py`cZ4x`6#;qxV#%=2(u&;3&5D%_#yOH(RxMgr2(YPfPfE|t7i%Y>ZZtt+4 zYkX#LTxfjmodY`>pW5xgH9n~Wz%@Qe2f#Hx{px{he6~LUuJycWEx6XRZyvbT^JE$D z|EgyXaII&<>%q02BRhg?J^#@fTA%zcp?LuKjH;$D{VQP5q(Qar(zS;F{0x2!L}r;^l|qJRx50 zdVFX}=($Ys_`k-1=iuP+wi5tG3;&aWoG5(Yy#U(2ltpR#w&uL1?OS3pN@)9j%(!Vk ze2x{=_I)`qbbSW%e6>D}Rzt7#S(qETK09s!*ZK_Z0x&*lPx73B;jdAee|LtM` z?Qav-mnI5jsB2w}h_$v$uziPj3zgt$(o?=(YZ(xX{!3 zpIHXI_LCPfz_p*$c8t9TK_EbgVytkve0Wg2AB`Eo|~CBv>pG$gsts( z^?umbc3i>!rtMg=F7(=tH}(P7c1+7>e)*Y+U*l6~6YOX_o81hq@mV?+T;p??Lbcyy zU}*a@7*Dl-AT_l8(F}mbzrr2RYy9tHp49kH>H@vib1TQG#^L-J=(U~&hKH`_#0S8& zo(a9cwVvx4AFb!FoL{t`d_4kow4X$k1J{0XXal(RllR!qb-a&Y-sp^C-aPUH1IBLc z@ei2~bsh2n^Oeq1J^RA2&Qp_{f%7yx`yE$;SC;yG&-1DwJdg8>w(sJl5Ni82TLrG| z>-5^sdyj%%+qd6TaBbh`+3woDnGCSD@2@ZurR{rR1zynhox&5+_B}fodTrmTwZOG~ zk1hn)_Wd`{SKIdij?;c9=C#)&>6}Tu~fCZO4U-gSO*MtPd|^ zJUf4G4Q;0v+gNss0WE)qltOYy5X}e$@CUbU}SI{x59<*Z40e3a;_bm;tWwZ#E5F zS^m`&N7KBj0C-Plc zaQ&W0dX>&KY-nZ>+E_ff&7q1Vl_dR%-9d3Z=W2-}- zBfKZ)->dMl*Pkyk4-^w#Z2^Gh?GrpN&D+O0t~GBDZ3sK+_hstU@2Kg}>$#pB^ zItPH;8J_-R0(fiD|G?`k>x91V99{Qw%)c)rPTt??OqEevRUy4(V;@#)9>ukndt z2hsSfVE)ng^z91!8lV4P^`G4l_0jrQB9FBG+P-54!v6nuyYyWb`n*14yN7#T(|JOA zUanthzjgge`>pF&+HYOI>W%7p{ru@C0n&w+t^~ladV1HdhKb(QpTo)1yZY<;$JKw9 z*m3p0U%0FP65$=#|C!D_zkRuo%oV+>zpis!{r|W7&-}YkK^+$lB!mB7??1J3QBUnZ zowtJjU++JwDx#j+e~R@7&&9#(SJA5gwEvu60M2b?PhXgE*e!Ohc?RHs@E;!pI3#=w zCzjWQXXXItdiVm@^T$Ph;{tj1 z?K?ZVZqLuoXDdV7X;&Cr?M&i4%jKPSULVecp2NxGgIUj-c-iAWF~R70<>eE%H@VK# z`uwp4hP6JA4hdbKvmL;-KA+A5*Lkh#a`47Dc=g}RJe(x_c8>QOg*V_rsfF-@0f4r` zJ0=2j7XEuR09`NrgY)m5qMy?XfYtKqpH&c?!@%Q>IZ-ft9bUyf8Ytt6uyf3`NF@A17Mo->^CX`&SCHIifzEztv!AB08Z`F;L&*eQmCmv6T|2EbGv_H_g+JN@fW^Fec7Ft1*Kg$;fo~N%(>eh# z9G;zb9|qqi`fG~{0gTp84jQP8}d0t8Gj`@{mGe-H#+b-hDxnq9id0F(A@^?f~ zKEQhV{r8NZybG|uyseX~w>#!n|4AYI+uY&Gxnq9iIgS10{Ch`Gp38y1l|4; zA0ER0iU`V23Q^u}g}HjWV}A9Y7oz;5A<9P^W|tanf7$#Rd@N;o_kSN8=d#588CBW* zX6w@2Blu+=-;j$Xx7VZX%(DppzK+K_=4frw9cfgQyU(Bp_>20#!EkHya?2;1vTD=1 za{gnuFKC&4s5Z{9Q0Kpw=f8;ii}w6GnWvurEg@_g6m|A$`!g!4oH&#}qwJoTvS2}W zTo?Z!3!%Nuuu%1HS07egd0YQ3=Bf3!*QBBR$I^eA>!?O&AF2%)7Rvv4`p@M)yY=7I zJoEL>d~YPd$DmR;7I6j0^Yt&~uS?&!vBV``i7`aQ&~P|HtKo< z`5)&8T>R&6b8Wc(J5|M5m%+jN8SeQP$^P&7+x^dQ{r9E+;htyw60ZML`rpO^HvV@1 zGhF{~(!bk>bkzvg{~3Pq>}_BEwfmpp`tMr}9_^aP{|MLrUVgzX+IRjVjG=J-Z>Il> ze&^=*aQz=23S~Q%KVyz||1(_whv=Ul1EH1h{YMXje>ZsUhjo3WC!@>I* z?)lFf4&_EJtgU~${~50TlGWkza^oL68vfg{=GOm&2>jQh|7ezX2UvA~MddsHkEj3s zlv@82%`@EdZ%6;OjQtfZ|3ma&%N1ZH!u3CVER@qYk68axBk=!a zeK?H9!TTAm|8q;A?9Y zp#RHV|J7Rx|LuJKXGh?_C;eaU{6C!j{qw)w{|xv1zoY-#S$}s3H~s_p!O>I}u<@TC zf&bxKaL@k*4*ZQQY0uy8e}?P-*}v(3;3KH1 z-@o1e4A=h|`k!XX_#fe(f2l{IJjDX`{1=;Nxc&#;0I&7@&du-P`aic4%0(=1{oDP| zaQ!c$|I5uk)A$CkKmXYM&v5;}M*o+){_VvNX#3aSHkX9!|0DY6^kGWk5pMkF(SLuI zv+;k#Jj3<>%inDOGxYCo|CJH=k8XsDm%_pO8SeRy=f;UY{;MMJA4~t8JkR(gT>l&C z-=F_hN8o=F{a^0>*Q={h)A6joZU4Lo{6GFTm%_0 z8~tDI_*;~R^Y3qb+J}w*2J;Me{9Vh5?{eqAbM(K_IyVpNf0KEJ>%SEpU+(qSiZwWY z|Ml0F2>h?1|GK7({{gF)NPhdDQR|@e_y4V?Sh(kZg#O1~auxh7T>s=;|e%(G zrvEb`{67og|IPCsxDo#S?Y}<)|KHKS`+mEN zLAd9?g8ujV_TQe1z<>WZc)Z;C_qL}{Q-A(B7=iy8^nbbI?^XKu$N$9${4b&Z%U%Ee z62kwX2>h?3|I6+F^`1uj{qz4T5%~X|{+pUI{ztg|uN^m@UtnRIe-E2yxZ^K19tB&n zygP*JzsPndkF%ilf5be)^*@pRpLC9S4A=iD`ftwnC9VJ0Bk*500S>v0q4)5wKcjb{ zrt^H`|BVRzzsfhhE_eKG4LBXXyWO_uq;;GQ*zufDOX@}r{qtE|`5%}Lo|ChV|ulF+i z`{&=25%_Kez4wsd;Mq&o#{YcX`VE8ho_B3CC;fqRIDgb#=!j=Cx4edtN{xZex2ETse1K z$?~3nzf5O&<*uCL+srSP$uNzY$MVgckVkj^4%=(eQ1QzR5x;*Mtt;>18p^k|{VM%0 yDsTUaiu%etPn)NfFKSpp^VCPL(m2zG*ZlPrJ^#|?jrwfKMawf_fanWZWK diff --git a/fdf b/fdf index d8a68dfcca424e932bf44481c9f1f2924764f10c..38df0b9033bdf130fb6667fe1841e2938aaeb87c 100755 GIT binary patch literal 164016 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 literal 140440 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 +## +## Started on Tue Oct 5 15:56:43 2004 Olivier Crouzet +## Last update Tue May 15 15:44:41 2007 Olivier Crouzet +## + +## Please use configure script + + +all : do_configure + +do_configure : + ./configure + +clean : + ./configure clean + +re : clean all diff --git a/minilibx-linux-master-bak/Makefile.gen b/minilibx-linux-master-bak/Makefile.gen new file mode 100644 index 0000000..5eded88 --- /dev/null +++ b/minilibx-linux-master-bak/Makefile.gen @@ -0,0 +1,48 @@ +INC=/usr/include +HT=Linux +DOCP=do_cp +## +## Makefile for MiniLibX in /home/boulon/work/c/raytraceur/minilibx +## +## Made by Olivier Crouzet +## Login +## +## Started on Tue Oct 5 15:56:43 2004 Olivier Crouzet +## Last update Tue May 15 15:41:20 2007 Olivier Crouzet +## + +## Please use configure script + + + +CC = gcc + +NAME = libmlx.a + +SRC = mlx_init.c mlx_new_window.c mlx_pixel_put.c mlx_loop.c \ + mlx_mouse_hook.c mlx_key_hook.c mlx_expose_hook.c mlx_loop_hook.c \ + mlx_int_anti_resize_win.c mlx_int_do_nothing.c \ + mlx_int_wait_first_expose.c mlx_int_get_visual.c \ + mlx_flush_event.c mlx_string_put.c mlx_set_font.c \ + mlx_new_image.c mlx_get_data_addr.c \ + mlx_put_image_to_window.c mlx_get_color_value.c mlx_clear_window.c \ + mlx_xpm.c mlx_int_str_to_wordtab.c mlx_destroy_window.c \ + mlx_int_param_event.c mlx_int_set_win_event_mask.c mlx_hook.c \ + mlx_rgb.c mlx_destroy_image.c mlx_mouse.c mlx_screen_size.c \ + mlx_destroy_display.c + +OBJ =$(SRC:.c=.o) +CFLAGS = -O3 -I$(INC) + +all : $(NAME) $(DOCP) + +$(NAME) : $(OBJ) + ar -r $(NAME) $(OBJ) + ranlib $(NAME) + +do_cp : + cp $(NAME) libmlx_$(HT).a + + +clean : + rm -f $(OBJ) $(NAME) libmlx_$(HT).a *~ core *.core diff --git a/minilibx-linux-master-bak/Makefile.mk b/minilibx-linux-master-bak/Makefile.mk new file mode 100644 index 0000000..fd93700 --- /dev/null +++ b/minilibx-linux-master-bak/Makefile.mk @@ -0,0 +1,48 @@ +## +## Makefile for MiniLibX in /home/boulon/work/c/raytraceur/minilibx +## +## Made by Olivier Crouzet +## Login +## +## Started on Tue Oct 5 15:56:43 2004 Olivier Crouzet +## Last update Tue May 15 15:41:20 2007 Olivier Crouzet +## + +## Please use configure script + + +INC =%%%% +HT =%%%% +DOCP =%%%% + +CC = gcc + +NAME = libmlx.a + +SRC = mlx_init.c mlx_new_window.c mlx_pixel_put.c mlx_loop.c \ + mlx_mouse_hook.c mlx_key_hook.c mlx_expose_hook.c mlx_loop_hook.c \ + mlx_int_anti_resize_win.c mlx_int_do_nothing.c \ + mlx_int_wait_first_expose.c mlx_int_get_visual.c \ + mlx_flush_event.c mlx_string_put.c mlx_set_font.c \ + mlx_new_image.c mlx_get_data_addr.c \ + mlx_put_image_to_window.c mlx_get_color_value.c mlx_clear_window.c \ + mlx_xpm.c mlx_int_str_to_wordtab.c mlx_destroy_window.c \ + mlx_int_param_event.c mlx_int_set_win_event_mask.c mlx_hook.c \ + mlx_rgb.c mlx_destroy_image.c mlx_mouse.c mlx_screen_size.c \ + mlx_destroy_display.c + +OBJ =$(SRC:.c=.o) +CFLAGS = -O3 -I$(INC) + +all : $(NAME) $(DOCP) + +$(NAME) : $(OBJ) + ar -r $(NAME) $(OBJ) + ranlib $(NAME) + +do_cp : + cp $(NAME) libmlx_$(HT).a + + +clean : + rm -f $(OBJ) $(NAME) libmlx_$(HT).a *~ core *.core diff --git a/minilibx-linux-master-bak/README.md b/minilibx-linux-master-bak/README.md new file mode 100644 index 0000000..40cded8 --- /dev/null +++ b/minilibx-linux-master-bak/README.md @@ -0,0 +1,43 @@ + +This is the MinilibX, a simple X-Window (X11R6) programming API +in C, designed for students, suitable for X-beginners. + + +Contents + + - source code in C to create the mlx library + - man pages (in man/ directory) + - a test program (in test/ directory) is built + with the library + - a public include file mlx.h + - a tiny configure script to generate an appropriate Makefile.gen + + +Requirements + + - MinilibX only support TrueColor visual type (8,15,16,24 or 32 bits depth) + - gcc + - make + - X11 include files (package xorg) + - XShm extension must be present (package libxext-dev) + - Utility functions from BSD systems - development files (package libbsd-dev) + - **e.g. _sudo apt-get install gcc make xorg libxext-dev libbsd-dev_ (Debian/Ubuntu)** + +Compile MinilibX + + - run ./configure or make + both will make a few tests, create Makefile.gen + and then automatically run make on this generated Makefile.gen . + libmlx.a and libmlx_$(HOSTTYPE).a are created. + test/mlx-test binary is also created. + + +Install MinilibX + + - no installation script is provided. You may want to install + - libmlx.a and/or libmlx_$(HOSTTYPE).a in /usr/X11/lib or /usr/local/lib + - mlx.h in /usr/X11/include or /usr/local/include + - man/man3/mlx*.1 in /usr/X11/man/man3 or /usr/local/man/man3 + + + Olivier CROUZET - 2014-01-06 - diff --git a/minilibx-linux-master-bak/configure b/minilibx-linux-master-bak/configure new file mode 100755 index 0000000..04fcdc4 --- /dev/null +++ b/minilibx-linux-master-bak/configure @@ -0,0 +1,95 @@ +#!/bin/sh + + +if [ -n "$1" -a "$1" = "--help" ] ; then + echo "Usage : $0\n Auto-configure and make MinilibX" + exit +fi + + +conf_inc=NO + +for inc in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/include \ + /usr/local/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include + do + if [ -f "$inc/X11/Xlib.h" -a -f "$inc/X11/extensions/XShm.h" ]; then + conf_inc=$inc + break + fi + done + + +if [ "$conf_inc" = "NO" ]; then + echo "Can't find a suitable X11 include directory." + exit +else + echo "X11 include dir : $conf_inc" +fi + +if [ -z "$HOSTTYPE" ]; then + conf_ht=`uname -s` +else + conf_ht=$HOSTTYPE +fi + +if [ -z "$conf_ht" ]; then + conf_docp="" +else + conf_docp="do_cp" + echo "lib_$conf_ht generation" +fi + + +/bin/echo "INC=$conf_inc" > Makefile.gen +/bin/echo "HT=$conf_ht" >> Makefile.gen +/bin/echo "DOCP=$conf_docp" >> Makefile.gen +cat Makefile.mk | grep -v %%%% >> Makefile.gen + +/bin/echo "INC=$conf_inc" > test/Makefile.gen +/bin/echo "HT=$conf_ht" >> test/Makefile.gen +/bin/echo "DOCP=$conf_docp" >> test/Makefile.gen +cat test/Makefile.mk | grep -v %%%% >> test/Makefile.gen + + +if [ -n "$1" -a "$1" = "clean" ] ; then + echo "Now make it clean." + make -f Makefile.gen clean + (cd test ; make -f Makefile.gen clean) + exit +fi + +echo "Now make it." +make -f Makefile.gen all +(cd test ; make -f Makefile.gen all ) diff --git a/minilibx-linux-master-bak/libmlx.a b/minilibx-linux-master-bak/libmlx.a new file mode 100644 index 0000000000000000000000000000000000000000..1bc7cb4d44eea2c9d9b275c515e9cd60ccfefb48 GIT binary patch literal 110658 zcmeEv3w&Hf_5V#;AhtD$ShXPjTp(bJ&?aetl;@^R=uJ&&pe+P>B->=ugeKWF+4R9f z0!g9k5{Zh4kDtaD;sdQe5P2x1yb4IQfMNlKfCw#x5=Ed^CI9c4IkP)+vbRn6sXy`W z&`v+gh)q2^GTCtgL+=g7xujUUeEl$ z??ul$_&m>>{)p!l-{E;jKkIqNy@_ClcwXg9&#OM&^G<8>yxLOFJMVeVi+TJkR_;dbsC3@!;P7U(ENsSC_m0yC3s% zKJ|!~^Z8TV|F8ei%lXc#w$?RuE$xZA#%QFquCuw#(?Cmt9f`V*70c@yV(qJ<9i1() zb_KUbSJ$m>X>W|JR%Ejs-?3l z(yE}Q)~?Rxy6CECyB4)G(SdlQw)A6hq_22Q5RpX*lO#d9UZZbbgY#9H58_$ zEwUo&z!`)BWuZz{aFVMrl8Dqr8XI-IC_Np#E)lcKmO?hfT4Nn`t0JvknZyWR5sNiy zPZeoHYc$ef^HOn9xYm~T3}a^^l4xnr81moR5MNu@(n)1nhbn1VlgS#yT1k5nYFkQGl_vvUnh5q^+*2y)oL9j#6Xux)O<4dktD(XI7un zqbTmqOq!Z&Q7nOnus*MYKKI(b6E$k3`pIOBitWR5LAF6%ncePmFHo zb#0MO{rsgL#Ku@1J&Td9M64qkk46%)CY|}w9{RBZ-nq723yHRvX%VJSGj*n)`L@_9 zT`=4Qv^3geXEXO3+LxLXTAnHba(6a#M5FC>^x!MZB+}T@8E=iO^=8Q~-|F$RIp@qN zW4L}2b#9r?Yi4YgLNXndL9Fh{Kvc4#PqMvGM%*pg=%}8__N2_}&dH!w|70MvTJE9@ zLTu^2!+=@3593AQtsca{c5h)Y^MGZZ9phsvLHGIwrSQ7ls}^X()E~Hw(D<6DRHHGV zRp|yY;ke!jR<+gA-jV>J>NH5(A2Vl;@}E;&svV*FNtaYspOTxC1EsG`j(3ump$zJI zWm7WluyTgIeD9rJ`O;-e{N!K!o|nRY>SVt!Q8dNxt1ilG^ivZLn~s2fvZAQ0WYACk zaT~F%8%)mk6H`(ZMS1H63)cM#(5Cs-BQVu{jYWlbgaA}0Ur=HFz7s)t+Pw}@+*{Dw z3!va;?}XzL7xxY()>bEByUJzWK((2j72KH%wxCa$|M!`HkBPzunyp zj*5+b-@@GFCcmKK;jp*KPrl;!JTakq#pPHupWONCbp@XrJjg>D@9}Q| zZ?Un0Dre~3~`KAl`r=x=;>KYv0$G5g6ae(Ll>Ke;5&Pu0|< z!ewxVlJlpkn0t1O6!f+bd+K<@v2)WN(^ZLlv$?Ngdn#Z7O(W&`*728kif2so-7nm-?ylY1ij;eIRw=(!MiuOuir9mVB(|uAJ+0 z5`Ri|F6~cUSPRdlnFSxDnnUVo|E@pz$?|E4B$Vu|MLh3GEjg#DAO4#A_2iOsP+qAE z>-WST0{`@6XFd22OI_F)Bu8VDNk4UA^Pb{ET+M!R>)EJAmN&HoGIr*bJb<#~GMXRS z{?eP&8lEnBQb9W&vg_~8ba6s{U2uz0a0|HL7MOx7O08bncSa6GtFX%j<+gfhM&8x6 z6lTxmx0=fDu+-{v5HwpotUkwzuYOPQ>GE8y%X4*OP<&Q-u5R8_eAAPwn@a}ouBcj4 zQ(bdK{+b!S$cTCw;{)jB+H5jwKgmgTjfN*Y{-jtiX{ z3oY&Fiq5CeUg!)pY7IqJMOs=T%Uh$Ed@Pth|G3cfWy`zT6J4QWXC6JX_^8=kiYobd zN!iTeIWsiM@lRzt=YrF{oHd0x@1L??UOy^~9*u+8?`6_TQKM_h86-qW6c9 zY(XYu?U6li0{*g@35Y41nc(e{4Mr^c2H<%CICYY)(duDz{O?l1_VHv)?`3>{HyZE# zjK5ppAw>ttxt|E_d4~bn-zqm%r@)TEKh=vg)c~^L=LX;{0XWrnws@%5&xR)h@Gk%- z`HQ*TsP+Zy>jB}v6M+9X0LQdBt2~bd;F#8D4ZkA*9}d7@15Wu0annsd7iNY%v%#BL z4NZlg68b5npE>k1J3SvrPs{5TR4<-aUR}5Nlv9>eF0ETyKCim6&Z}M0+;&=5v}5fV zJUho=k2)PSXM;Q1zRJT0vb~`#uEN%|tZ9qHPl}xdA0L9Fq6=o7n1OrFo^dsD(&>5 zYl0UOP( zKWO10xXDmFEP|q!s^1K5o_}aeWlVVU{CG1v*S67gekNM9wwsNsBib67N$V2cOqv>b zGnZr5KC>f61O+ddi6_h^%e98M!woY35rW_F8Jqec z_hJ%8J4Z!vqs&E)zTdI$tCSmwZ{gdo6ZDNV@ z5M~-zEcGqaUr2t6Q`S8oZ#@T`A__;4s!z|xKgja0rpPQK`DfXae9Y=?QoHr9ne&&< zK8AygW6p0qoM9zP*qee9EkCpTjH=`>%9oWdt=e=CX(hD=P@a6PJo%V^=}UPK)|&tK z7VQEvmH<)JW4 zG#wib$v=#APCGxRGP&)1?|iT1fs#iwPtQHY70EyN$@~0drB{)Bk)~&Q9_y#NJn&a1 zck7Uv^!t{?Z>3^&!Rn&;Z8V&$PJW}P8#bhiQ$>-iYjn_LCB&Iu?DsA6Z*7H_pIlk& zCx4A}3rhxH^}kEAZlsZk*OKH)RTx+}n8K?g+q(AmFTIC~jFu0|&n-W%yzXwrI^L;` z(&G@vlXDxA(addDP>wOTxhi*F{#lFgJH; z{{6X?`CD>N$=`~QLvU|{J)FCUJnxv4Usj%9T%JFDUVaGiAU;fp%DL&12w4p!{g0pH zSdG?_VuCk%jzHeo=0r5EvgZz}%zzz?f2oH6dB+CeCk5cu0eE8o9t*%P3BZ#9_|*aU z_XBV>^tBd-^;&lZ@UjoT%{W<)eb3D7h-FzU#`v4o+fSu2MeUMk;><-g9kE0VE3=(u z@VsEYSGy<@KRwdY8Es5Y0YfRb77l2>zM0dDJbVa!e-3pv>AjobEEalXDm~GhF%B<6?NDEY!8|-6Vo&{ zqTbffpEBS-QT+_M!@1)2qBlAzsmaIDpzLn)a%i<-c4nb~9;$C!)rLg|O;2fu2}g~3*Nax)FIUc-J%Me@G#)bL3;FLMiH@%3B$x&{_i-IYv1Fm>Hwc+82#c`e=-D<%Ej-(B%^`*67)1 zN&a9?ZpWnj=~$A*I_y}69aM*JhcO4WO?%9t$^aOx8DtxC(56l{JZNljMnL#T0Nxyc zD+Qc+2=tI3O$Ut#_&5!%l3B+yYUejc+E+wL!B=!dR@cNZK=5i$q2nl7v^fNVF?}aB zXIrO#MEQ=^>6AY*6yDb9afNE!*6G(+xUJJej8j*|-IYe(<~rB3GtS0eWR z1_;!-T>hq<$E|ZY{bshut8?$?hhVJ{lx>;+K%L9-k45LwF}SgwZ77+03?FP6yUyJZ zq;r=ptL{6DGNz6=T>8=woPJ+xQK6%8w*qC2i@kIZp4o%#xv-2D9uiZw5en5BC3T$K zsYpMyq}X5gNaArnRqEqBM6o}2IPso>4~D^loqhP+Nj`J$>v{#gg+03tz2y5nyADpw z^&9T@`zBWTJr~_o<0Za;_|#HI`N-6Vc3i3Xk1u(h)3`8PGB~oNYooC3~@r`keP6P}IDa>eF88!u)Qh3#A~op*Hk( z(AlIttUU|T1c_M+8C zA8PVyYohIqbQrbvRBS&~s-vZ~OX##*ZG}E^$jbtdEHfXZMnV0UnHSF_PZ)YU?RmPb z>usG*CaiXJx>oYPVzVn^=+=}P5b2RjcOA?x}Mf-$@FV$-1F<% zQYmme5)RV!W91Lh^@jhg>iTn~paJp+>H2!+4>O;!@{EJ+AYETZ4I1XH>iPjrznksx z>iQ7Ze~%U;{VR(lNY~e}{Cm^&vr5dFR5hjE>z+nQ>CwmNkYm^N)2#jSYjO^)*2=Qm?%Q*7*Ah2YD@c{xQt1CB-KsO8fH5GoG+<& z4`zOTq&Sr4$!EiO$Y<-wz4ei_?jU8Ncx2yT;+A2lk0VUB z)b-3D<&u45CBjiF40Cv6-NFf(K9cyTjtsxSv!zXO&{I!ltG1MmBVNf*;}co-#6o8X z$sDY$^e@9{I;fA_!U312Lu!ZQr^m{?GemQuy{K@Y6Ekzfi9~dfQt4h2*o%#7s-#GgDG<};Y zOzTHJTmPz|-`bIiOXB%1mL4Bjy7us9jIBPZ!2lb$E41MF@b^I7de$Y3r zfwk!hwXW9vpT5zq?`(Y|okI_3~3@Si@C3qn}(8T-%p@n3uVc<5g0 zFQ|_k&-jtn`P6IWW7)$lot?fJV65*77FvUqu*#1aKd#1WYG;Q35#vP~m+#Hcv+#D9 zQ&Sz=ePTLqG+xY9US`o&-x1)2xB&iL`oeU+IbSr6w#~sHs7~d4tjZ2#xhbq|g8IU- z@&}C<4gXu6OLy8rT5c(S&|G>A^Ssr$^Z+OHR>zCibNXA^rg|LDT)Lanr?U^Xk@*km z3(Z=BdXc z$*D#3E_A4=pnYOda!L`sPdyF9lp?(CZ0$T&6s;*4Y${m3v8kYSuwcf-qHPpE!qAQ& z9qLIGg_{au6N@U6twj}d%sND;Yzk&zuTcf1J-;=XcbMOam${F%?VbDby>7V45N_}7eNCYn zp8~fDA7Xqwx-I+rPyfWlV#rK#QyUFhFE;G}L6nho9<(Pnotv=FeALHMI@HgSF@5*p za1$B#jQsazYA{Ikk<_&??~l{u_N$G#^w%_^X<%8Q;aygJT_LXZw3+~^=HDXY|6CzZkY zbxQV_|B-ud^uDdFQ_>R9Jb`+4>-wEccb@@Gu0!k~{&XCK?cuz`zw$b>lLur&_NfO0 zqdJz))jVL?jC>}7<_%-z51Ka^{=M~yL3?nm*@Oos<)=Q4Fj-D<=9hi7>66&o3)+Lb zo)a>CBJu5uf5UI^Y-v;61M~y4Ra@iUgQJyKGBdQ5{$)5#2la`A9B{AmhLU2wKWU8f zhGWXc-6!^2jWety*YgJTrsZv3H~qIE;0F_#pgxz{xao82C?M`ext#7(>6x%Ne>f-ilu7CymGZs4Hb_-6 z{=V2MJW89*KXQCedmDCNtnv&j=-t3Y@RR)#i5Ya}uQ?!mdVD|Xg*aTKVf4T#zkm~c zwfa;ZpVzDDO3cGe7@Ep5v?p;r`-~oqVa#}auJYAmCwqKP^A|ESrka9(6Fvkt8S0aq zerXRn=$`>T>oorVd0kf z57K4DT%mg%-|a>Er=rW~s4?qFUS< z&@dkt-wom7yDPS-5aDpon!<^=rfyo|nAH5Kv^s_>2bbdRKQD$^t zRepC)ZqL7&4wUl|m1ks|#$&SIqvAL@06#SVPwTVHZA+Gt%YZ@J4J%ms0=cU8rdXCY z%pxQd4D|=LF8jPfN9(c>E6+w=@j+9rKFUaLz_OBZLIRhLGz zL*_q7XBnNlcb(;K-0WRvjsFa!S>K}^gjF^yoyAixOI4W}7p7u63iutY%!^+7b?SA4 zUEBTC-+2Z$7Tpse`7^p_AZ>L}Vdn@sNLP)OKS);@{=Hig*wcS1DBE_WR0L zSh)SZ@((P$0PcVHwNukRIoqS!P>^oFmiuPvUdW7Bx4){{M*T|N5Tx73${(cL4gXu! z?H`bWa!w>1q}$E>FD^qc6xbF4D{(jP2>_NAD z(7hgh@-eNnQ>@qT@{{{eWLWo{cJ{g3RlNN3clw?}5u!6X_%w>zo_`j9+-&}FqN6RU ztAC_UC4H2mdSsop-M0T8=lu>uwDx|WDg$72c7W2B=0pJ5@TvfONdT^Oq-m55o@$$A zWyk2t^G$0F(3G{y+FN6h##88PZ?)BF7tZ-9h-4f^`| zZtK2z3LPB}&9li+cv~li2!x?@=|64W=KF)DU6}mHHV~xaZs9^$!;ItAai1~?3S0J( zK|1bQ=Chw0f+S7#PjMELr)3QPTh(!QS#jA;DSwcTyPuiDHZ$B({vaJ^_SfF3jx%e$ zX3dp!9Mz#o-;S4uGmfOST>s}d=-BrM{V~p8Nynu>+Bk;yg^r$GHtuhW-T$skCc?@Y z#S=y zmJDK6jR|i>a(jklzq<0;g5HzC)z=kD)f|}$7nh8bCu5E`vkP#zp!ao1Qi}NQgHbQg|B86RwWns z_%AN#y`5y&-$^Uqw4eqQXP#Wlh?~z}ry0DC2>YR{kR!e!Ob;E_z23FlPhG?z%2Stw zDS5?SF?VHkK`(U|bPan2c3d&l2Y>QK<&8wul`4=XPhB6{bruaOs*}6S#2(j~oBPnx zDO9B{(XSvlNmZrx^OKuKYU-<#Bb6oklW9ACXnp&N?HuY!Xqt;NBd=oXPn!pmezn)e{bg|*nXT5iWx$okT zY9@a2Zq(slH@<)>)3T{{vJpGVs0Z33EKi*=wJNo08d^tH>ZJ2=3H|o-Lx^3+*Km+J%)ptUQwU zvFV;xaOtS=!7{!(9z`8SMP0}*cqE@z0ZN{vZ2HDQXW>_Lr0j3y$v;t9q9}3k z+~K#t)U1)@r;Jlc=WM>swMelWMs&Lq8;U76?q*SxL+of^Zy%=pKq(^ia zKRw)0qnQlIu55Epd9FsaRfInn|L^ktI6`wJGR8g%Zq+d=H1jh*0H^q9u1al^jB4|+ z>+zp0o)rQ3>HwVHQOOohZvg(;0DK?-zb*j3ApoZ_Q#N@v2H^Jv;F|;Rr+`y=)>GdB zqn>Tp!}!mZF8OD}>5gF)4~=19)UyS9f5r#6!VRwG{+Yo#e@HLjv+dd6@>|`}Vtp~3 z;<7&J-oPKg!{_z%w>_%Vm)?;8me%R>@c4Wly%eZE-RVc#8(X6t0Giv%RW}YN-2jSk z4T)Csbr1dRJpvmO`tx{v0XXsLR5*xP#!qK3{Xsrk7-zoX7D%ZoMEscP22~HORqUc; ze=vt~0K)U|Z`L-BVVsKFUXwV1aT!m-3U9B|f6KzDzD@kwEu3UC_&ZR~WGG$QyD|8O z8K-n<-e_>s4x~Kuta#pSg+JZGNf(-U>Mi^|7T#o~Yp?MntnhaHms&XWVJ7|o3xA)5 zKW5=}JWpHrG%Nf|7H-FH7Ko_a4zR*crGkMWoYv=zJSSQ>t+yC_t%ZNU!oOtUcKtqJ z;s0fY--n-HO4rVBk%c?*Shy{JWdPp8I3;iI7hPwCx8?tth1>G~#lmg*k0Zfhr2O?3 zZp(kMh1>G43&8JYT+08v72cMAGOJGVw&g$G!fp94uyDKl2Q1u{|ECsi%YSbG9-_j5 zA^EupD7sAjX7C!O2Lx{P#9t-O_0i1j+{8b?<+7*u^RmAi@qhEN#}M*GS)g~pY!hbU zaV}TmCv{=a8tApOpbTT~m!-at(xJYa4D}Uc4#z*?T$}_cbAS|xaV~DA^tV_k&bP{6 z0$z$Ut$;Y@5T`$vX=54rjT~Wkkh|CfVEZiQKSJP!&)77+Gj2O*&lvN69`oC6o8no| z{98oiMt+mlS#VI34I6;%ZCuf7n5Oz8Uc+zdkD`}p6H6@zH0MT1Cz&|N-|)W!ZdrHa zA14NwgN6Kp4E$DOJr5+Bbu{T;$v>-PuJaQ0UeBxk9q%;S-XI?26 zcU|m@&zi!Ot&da-nD8@w8SzoKYxoVGEo}t*yWML{^8lW3_*EyJgB zD@z{0K0^&wxlgM$pINJ{!HRMS?*kl0E6ZkK9vdZk{kb~Tl(*xXnSBbi*6jpTGset1 zehre!qZItqWTZ#m#Z?j-(P$xEeM9$RZ+jCax@JE{ZJrP(ShR?UAkEErgNVhPKN4hn z2oa2L0X9f?T#b@4x}%gDL}r~e^Ih7^I_skRaBeu?ugtHRmtR|vU%xm%>}UND?Sjd* zS@BaRV*%CAukmS}w!S7mT$}G#nb<1xo9E@n0YZ)dLn4k}cV&Ajvg;g5HdsgPmsP54 zx{k)nw(e483v4$2dC29&MdQP4cx?c_JOFPAz&itQwLBB=O4PN`I#OLCR<~MxES5ED z7N4MVD_C@z-`Wyi+|jb41qV6j$Kq?tJE9SDjI$Q6vg@@fT2)FDR32og-=%S*nfKFr zHW|Y0b&g*tRO9wK(7U-aqwx0p`$j7~O;t?%A;!luHpo7o``5b5%Cs}i-l#SeG>$!R62FX-mR1MxZ#~D!-Y>NnLKz-`g1DIHWCQB4NLj4a^dD zF=KL!F~IyAC^E~K@-q;PQL>FO%=gdCSc1x*dK<%Ua7sp|4ahU^s+)BRdX|V+@>9IB z>;ZYVFxX9mWn{4gjWO=0Ou^7R(>9WSR;jt0N{<}&IuAQ~{O2`8RtCdLm@xW~NnXz- zQ{R^yzNEVR7V2q}f5cGY!;5P-?#{dPS#QMi9^IWHM@X_a0sCx1| z=TYo#gQYp=kB{z3EpB{tC}+#7cW1^3|Csp4uIGbvJmuEt_%l>_XkBBTA%n5kD2wWF z{5m&VE2Xw)RgRTXHXTad!Md0moD~Pnk8GW5^7UcH>p85!mF}ZCBR+K=>!@25Y3+(y zGf4|oA?Y?R3T?f=pd$=%yi%9U5qLe*ds;L6SDt^~Y~*K~+Ldh%20?8_*6{0gAj>WL zhM@W9Souk}P@JY+o1_f?-gHCI{4*p4<%lIreLG>YF=Hu^+4>2D!)JuthLrLL z%^$91hBCv*wkbaYla8Ub7&ZXg=H3re&Q$*6nLljdc#N*1XMoZ+>D%#U>rI9^qm)0} z$ovQCi1pll_BMZ@rT;bYHhR@dnZ3;)<{mS5+~21hI3$yUuyX3N@cOLsYwBI@zb)|_ zPV)8P_vE89cKbQ6Y@?t!9G-}kC-19jsKl9Y8c}$Q8lInVcU9j-6LTtNyxO;9#12|f z)v(N~%6X~$zKK)4s)j|L->{{;uVUZas+@=B-B)o)4h}Rg^UluMQl6~z=Ji#S=J?n8 zIoqsb#1(jbyJXM+I1!wgk6;xQtBZcazJBVUO?@>v$@k(T)k;b~dGFk#NH#yE)?+U| zg0ASo$>L4QyYJ#0>wGo8ru#gX0oYpJTJul(zveZO%cNv}P_e%!5Pd>Du_iI$7h_={I z{!T4i_o?DNqbm95+vrKSHH@D-=tq4n+)w^im3Qq&{nUv7!8?*TtK>=k;`xpP`7CtL z-8ne)jT_h|R;5muNP*_yVw>uQ9f})k*uSmX`1^_TQx!+zJ^*}M9B=qfQL=R%j+@GVNWxTax^>wTJLCT(WR23f}MgUeQk|Q^^yGHuWkeC~@}! z!r>S^$~F1Q$iwtJppZA2+ZgC|lzS3~_^Gmz*KecFk&C`6c^~S3N*CVmctJsxCC~Y( zD~r}6wsbXACx;5wy_ARaFTIDvv347%KC0-Q3^!V8RMQgQC7(jqC)ry>x*~BE`AuU# z3SP((!8yI4w++Puk;o&YJg8xWs?}HQ|D0QJ)iNlDTS%4MN$SKesMw`LtwRY^6xHwv zeca?1r-D*^Dh7H(B@XyVWCI=2#2=A2He|~C;v)q=fY3d6;RTX&io*1*i)QkyPTo}1 zt?bsK;)>)&Mfmi;Gpz5xTyCxuG>k-UvxDO3|0-opnaKRw16hx2m z*W@r^C9nH4@Yd|BesYVSvy0ek`^raDQ-ix6?He!J;!U9hVuzT;Byd<&rFxa7GP0e1&{Ho=9eMY{zKQoD*Ld<@ zPTbOcv3Drqnvhq}dk{JfitO0xzHbzTQP@^@Qd5=Ou6h#Hr>O1(Rb4Vzo&3E@t^BNV z)1g%N>24lL_nwQ2t}JgL>o@&)`OazMlY$HP^8K^ z`MshqQJYGsHuZW19U;dRc1zx2&$0tLhO_Rqc@hIW|B{xR(=NU zmQsovz=pTaRJ2tn(?W!U{?q+mRcbX}*1|pA+i#=y0sQ2bii+`AK^stNq-lJ(?}v?C zjBp$$s}xyH;@X|^kuy+}^sw8*C0(LanYp`B0z8P?{@S1EDM$OKI$x8?Ec!*fVW?^X z<)WJpvZEeml+3i#&d)<>O-BKp24CvzPpjr&w^FaGV?q<7{8Ii@JNl-I5FZnw)SB= zrIP1RH2*y+==P`olHT)9{Y2%8lu8`c*ziVj#NYV*1b^cT6RP^Ei+A}G5_sfhyy?&V zc|mV2`bv!5=&_o6T3*+V)Pjj6BRd}SF-En=Fpy^Zxkv)dZ~DZ7-k&1-REX5*XCa2F z)YPJizSBlh7fd7VJOJ-S4Nv$DuP*GH`d`%uSyq|EK;{pWbhvuPRmq2-%%>@tNQ`N8 z{qjB2(1D9_AqIDNsJ-N-q$pQRK06?$|`M@@o>$*G!9a+#N^DN4Ru7u?+>8O$Nx zVV$AFI=u$(h*{pOBd{JfYu0$)Hw@Yb^AYz!Dh1E`I@#IY^;6$L%WcK`cBfe%KwB^w zZxYV8fazdw=D2PpJ9D=RUggWZE`7DaXn+SKShS*`-yUS-qU1f z-WSBj*e<80Jm00^VjG2`TaTdu*>Nd>vQ$1i0L;7=S`;d8gswF|4>}#()w~P zUadUk?)4yxNRzfOq84ymlRG2fryw(@}T zAN79d;{2MLtZ#%?Vo|pU>~rWzgQ4|7t1g%1htB#xzbA)8%C(O+7P96n-!AMdW zYX8Ca>IALfn^-s!SoHpem*pJqp^S5pDT;okGcIFNQxL?XdY*J>a~6Lewcc*Q-mx4H zy>Dfk6BMz}s5NPVv+Y@w1Go1e)H4t4bo|rvCrvYeZ1@`B6wd}`P|rKuR|bTqwcu>= z&`>TL{uSU9f1KO1=_77pd<)~IpP*$Bl`pOU)mH#}3jf*Se>ni(9f0qH^s>b>B><

b?vc4T|Cy=vL?;T$3g1a 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 Iw!ZxT08C1F-T(jq literal 0 HcmV?d00001 diff --git a/minilibx-linux-master-bak/libmlx_Linux.a b/minilibx-linux-master-bak/libmlx_Linux.a new file mode 100644 index 0000000000000000000000000000000000000000..1bc7cb4d44eea2c9d9b275c515e9cd60ccfefb48 GIT binary patch literal 110658 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

b?vc4T|Cy=vL?;T$3g1a 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 Iw!ZxT08C1F-T(jq literal 0 HcmV?d00001 diff --git a/minilibx-linux-master/man/man3/mlx.1 b/minilibx-linux-master-bak/man/man1/mlx.1 similarity index 100% rename from minilibx-linux-master/man/man3/mlx.1 rename to minilibx-linux-master-bak/man/man1/mlx.1 diff --git a/minilibx-linux-master/man/man3/mlx_loop.1 b/minilibx-linux-master-bak/man/man1/mlx_loop.1 similarity index 100% rename from minilibx-linux-master/man/man3/mlx_loop.1 rename to minilibx-linux-master-bak/man/man1/mlx_loop.1 diff --git a/minilibx-linux-master/man/man3/mlx_new_image.1 b/minilibx-linux-master-bak/man/man1/mlx_new_image.1 similarity index 100% rename from minilibx-linux-master/man/man3/mlx_new_image.1 rename to minilibx-linux-master-bak/man/man1/mlx_new_image.1 diff --git a/minilibx-linux-master/man/man3/mlx_new_window.1 b/minilibx-linux-master-bak/man/man1/mlx_new_window.1 similarity index 100% rename from minilibx-linux-master/man/man3/mlx_new_window.1 rename to minilibx-linux-master-bak/man/man1/mlx_new_window.1 diff --git a/minilibx-linux-master-bak/man/man1/mlx_pixel_put.1 b/minilibx-linux-master-bak/man/man1/mlx_pixel_put.1 new file mode 100644 index 0000000..258df58 --- /dev/null +++ b/minilibx-linux-master-bak/man/man1/mlx_pixel_put.1 @@ -0,0 +1,84 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Drawing inside windows +.SH SYNOPSYS + +.nf +.I int +.fi +.B mlx_pixel_put +( +.I void *mlx_ptr, void *win_ptr, int x, int y, int color +); + +.nf +.I int +.fi +.B mlx_string_put +( +.I void *mlx_ptr, void *win_ptr, int x, int y, int color, char *string +); + + +.SH DESCRIPTION +The +.B mlx_pixel_put +() function draws a defined pixel in the window +.I win_ptr +using the ( +.I x +, +.I y +) coordinates, and the specified +.I color +\&. The origin (0,0) is the upper left corner of the window, the x and y axis +respectively pointing right and down. The connection +identifier, +.I mlx_ptr +, is needed (see the +.B mlx +man page). + +Parameters for +.B mlx_string_put +() have the same meaning. Instead of a simple pixel, the specified +.I string +will be displayed at ( +.I x +, +.I y +). + +In both functions, it is impossible to display anything outside the +specified window, nor display in another window in front of the selected one. + +.SH COLOR MANAGEMENT +The +.I color +parameter has an integer type. The displayed color needs to be encoded +in this integer, following a defined scheme. All displayable colors +can be split in 3 basic colors: red, green and blue. Three associated +values, in the 0-255 range, represent how much of each color is mixed up +to create the original color. Theses three values must be set inside the +integer to display the right color. The three least significant bytes of +this integer are filled as shown in the picture below: + +.TS +allbox; +c s s s s +r c c c c. +Color Integer +Interpretation \[*a] R G B +Bit numbers 31..24 23..16 15..8 7..0 +.TE + +While filling the integer, make sure you avoid endian problems. Remember +that the "blue" byte should always be the least significant one. + + +.SH SEE ALSO +mlx(3), mlx_new_window(3), mlx_new_image(3), mlx_loop(3) + + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master-bak/man/man3/mlx.1 b/minilibx-linux-master-bak/man/man3/mlx.1 new file mode 100644 index 0000000..9ad0ac1 --- /dev/null +++ b/minilibx-linux-master-bak/man/man3/mlx.1 @@ -0,0 +1,93 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Simple X-Window Interface Library for students +.SH SYNOPSYS +#include + +.nf +.I void * +.fi +.B mlx_init +(); + +.SH DESCRIPTION +MiniLibX is an easy way to create graphical software, +without any X-Window programming knowledge. It provides +simple window creation, a drawing tool, image and basic events +management. + +.SH X-WINDOW CONCEPT + +X-Window is a network-oriented graphical system for Unix. +It is based on two main parts: +.br +On one side, your software wants to draw something on the screen and/or +get keyboard & mouse entries. +.br +On the other side, the X-Server manages the screen, keyboard and mouse +(It is often refered to as a "display"). +.br +A network connection must be established between these two entities to send +drawing orders (from the software to the X-Server), and keyboard/mouse +events (from the X-Server to the software). + +.SH INCLUDE FILE +.B mlx.h +should be included for a correct use of the MiniLibX API. +It only contains function prototypes, no structure is needed. + +.SH LIBRARY FUNCTIONS +.P +First of all, you need to initialize the connection +between your software and the display. +Once this connection is established, you'll be able to +use other MiniLibX functions to send the X-Server messages, +like "I want to draw a yellow pixel in this window" or "did the +user hit a key?". +.P +The +.B mlx_init +function will create this connection. No parameters are needed, ant it will +return a +.I "void *" +identifier, used for further calls to the library routines. +.P +All other MiniLibX functions are described in the following man pages: + +.TP 20 +.B mlx_new_window +: manage windows +.TP 20 +.B mlx_pixel_put +: draw inside window +.TP 20 +.B mlx_new_image +: manipulate images +.TP 20 +.B mlx_loop +: handle keyboard or mouse events + +.SH LINKING MiniLibX +To use MiniLibX functions, you'll need to link +your software with several libraries, including the MiniLibX library itself. +To do this, simply add the following arguments at linking time: + +.B -lmlx -lXext -lX11 + +You may also need to specify the path to these libraries, using +the +.B -L +flag. + + +.SH RETURN VALUES +If +.B mlx_init() +fails to set up the connection to the X server, it will return NULL, otherwise +a non-null pointer is returned as a connection identifier. + +.SH SEE ALSO +mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master-bak/man/man3/mlx_loop.1 b/minilibx-linux-master-bak/man/man3/mlx_loop.1 new file mode 100644 index 0000000..3397ce2 --- /dev/null +++ b/minilibx-linux-master-bak/man/man3/mlx_loop.1 @@ -0,0 +1,141 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Handle events +.SH SYNOPSYS + +.nf +.I int +.fi +.B mlx_loop +( +.I void *mlx_ptr +); + +.nf +.I int +.fi +.B mlx_key_hook +( +.I void *win_ptr, int (*funct_ptr)(), void *param +); + +.nf +.I int +.fi +.B mlx_mouse_hook +( +.I void *win_ptr, int (*funct_ptr)(), void *param +); + +.nf +.I int +.fi +.B mlx_expose_hook +( +.I void *win_ptr, int (*funct_ptr)(), void *param +); + +.nf +.I int +.fi +.B mlx_loop_hook +( +.I void *mlx_ptr, int (*funct_ptr)(), void *param +); + +.SH X-WINDOW EVENTS + +The X-Window system is bi-directionnal. On one hand, the program sends orders to +the screen to display pixels, images, and so on. On the other hand, +it can get information from the keyboard and mouse associated to +the screen. To do so, the program receives "events" from the keyboard or the +mouse. + +.SH DESCRIPTION + +To receive events, you must use +.B mlx_loop +(). This function never returns. It is an infinite loop that waits for +an event, and then calls a user-defined function associated with this event. +A single parameter is needed, the connection identifier +.I mlx_ptr +(see the +.B mlx manual). + +You can assign different functions to the three following events: +.br +- A key is pressed +.br +- The mouse button is pressed +.br +- A part of the window should be re-drawn +(this is called an "expose" event, and it is your program's job to handle it). +.br + +Each window can define a different function for the same event. + +The three functions +.B mlx_key_hook +(), +.B mlx_mouse_hook +() and +.B mlx_expose_hook +() work exactly the same way. +.I funct_ptr +is a pointer to the function you want to be called +when an event occurs. This assignment is specific to the window defined by the +.I win_ptr +identifier. The +.I param +adress will be passed to the function everytime it is called, and should be +used to store the parameters it might need. + +The syntax for the +.B mlx_loop_hook +() function is identical to the previous ones, but the given function will be +called when no event occurs. + +When it catches an event, the MiniLibX calls the corresponding function +with fixed parameters: +.nf + + expose_hook(void *param); + key_hook(int keycode,void *param); + mouse_hook(int button,int x,int y,void *param); + loop_hook(void *param); + +.fi +These function names are arbitrary. They here are used to distinguish +parameters according to the event. These functions are NOT part of the +MiniLibX. + +.I param +is the address specified in the mlx_*_hook calls. This address is never +used nor modified by the MiniLibX. On key and mouse events, additional +information is passed: +.I keycode +tells you which key is pressed (look for the X11 include file "keysymdef.h"), +( +.I x +, +.I y +) are the coordinates of the mouse click in the window, and +.I button +tells you which mouse button was pressed. + +.SH GOING FURTHER WITH EVENTS +The MiniLibX provides a much generic access to all X-Window events. The +.I mlx.h +include define +.B mlx_hook() +in the same manner mlx_*_hook functions work. The event and mask values +will be taken from the X11 include file "X.h". + +See source code of mlx_int_param_event.c to find out how the MiniLibX will +call your own function for a specific event. + +.SH SEE ALSO +mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master-bak/man/man3/mlx_new_image.1 b/minilibx-linux-master-bak/man/man3/mlx_new_image.1 new file mode 100644 index 0000000..f2160a2 --- /dev/null +++ b/minilibx-linux-master-bak/man/man3/mlx_new_image.1 @@ -0,0 +1,192 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Manipulating images +.SH SYNOPSYS + +.nf +.I void * +.fi +.B mlx_new_image +( +.I void *mlx_ptr, int width, int height +); + +.nf +.I char * +.fi +.B mlx_get_data_addr +( +.I void *img_ptr, int *bits_per_pixel, int *size_line, int *endian +); + +.nf +.I int +.fi +.B mlx_put_image_to_window +( +.I void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y +); + +.nf +.I unsigned int +.fi +.B mlx_get_color_value +( +.I void *mlx_ptr, int color +); + +.nf +.I void * +.fi +.B mlx_xpm_to_image +( +.I void *mlx_ptr, char **xpm_data, int *width, int *height +); + +.nf +.I void * +.fi +.B mlx_xpm_file_to_image +( +.I void *mlx_ptr, char *filename, int *width, int *height +); + +.nf +.I int +.fi +.B mlx_destroy_image +( +.I void *mlx_ptr, void *img_ptr +); + + +.SH DESCRIPTION + +.B mlx_new_image +() creates a new image in memory. It returns a +.I void * +identifier needed to manipulate this image later. It only needs +the size of the image to be created, using the +.I width +and +.I height +parameters, and the +.I mlx_ptr +connection identifier (see the +.B mlx +manual). + +The user can draw inside the image (see below), and +can dump the image inside a specified window at any time to +display it on the screen. This is done using +.B mlx_put_image_to_window +(). Three identifiers are needed here, for the connection to the +display, the window to use, and the image (respectively +.I mlx_ptr +, +.I win_ptr +and +.I img_ptr +). The ( +.I x +, +.I y +) coordinates define where the image should be placed in the window. + +.B mlx_get_data_addr +() returns information about the created image, allowing a user +to modify it later. The +.I img_ptr +parameter specifies the image to use. The three next parameters should +be the addresses of three different valid integers. +.I bits_per_pixel +will be filled with the number of bits needed to represent a pixel color +(also called the depth of the image). +.I size_line +is the number of bytes used to store one line of the image in memory. +This information is needed to move from one line to another in the image. +.I endian +tells you wether the pixel color in the image needs to be stored in +little endian ( +.I endian +== 0), or big endian ( +.I endian +== 1). + +.B mlx_get_data_addr +returns a +.I char * +address that represents the begining of the memory area where the image +is stored. From this adress, the first +.I bits_per_pixel +bits represent the color of the first pixel in the first line of +the image. The second group of +.I bits_per_pixel +bits represent the second pixel of the first line, and so on. +Add +.I size_line +to the adress to get the begining of the second line. You can reach any +pixels of the image that way. + +.B mlx_destroy_image +destroys the given image ( +.I img_ptr +). + +.SH STORING COLOR INSIDE IMAGES + +Depending on the display, the number of bits used to store a pixel color +can change. The user usually represents a color in RGB mode, using +one byte for each component (see +.B mlx_pixel_put +manual). This must be translated to fit the +.I bits_per_pixel +requirement of the image, and make the color understandable to the X-Server. +That is the purpose of the +.B mlx_get_color_value +() function. It takes a standard RGB +.I color +parameter, and returns an +.I unsigned int +value. +The +.I bits_per_pixel +least significant bits of this value can be stored in the image. + +Keep in mind that the least significant bits position depends on the local +computer's endian. If the endian of the image (in fact the endian of +the X-Server's computer) differs from the local endian, then the value should +be transformed before being used. + +.SH XPM IMAGES + +The +.B mlx_xpm_to_image +() and +.B mlx_xpm_file_to_image +() functions will create a new image the same way. +They will fill it using the specified +.I xpm_data +or +.I filename +, depending on which function is used. +Note that MiniLibX does not use the standard +Xpm library to deal with xpm images. You may not be able to +read all types of xpm images. It however handles transparency. + +.SH RETURN VALUES +The three functions that create images, +.B mlx_new_image() +, +.B mlx_xpm_to_image() +and +.B mlx_xpm_file_to_image() +, will return NULL if an error occurs. Otherwise they return a non-null pointer +as an image identifier. + + +.SH SEE ALSO +mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master-bak/man/man3/mlx_new_window.1 b/minilibx-linux-master-bak/man/man3/mlx_new_window.1 new file mode 100644 index 0000000..90f6d47 --- /dev/null +++ b/minilibx-linux-master-bak/man/man3/mlx_new_window.1 @@ -0,0 +1,79 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Managing windows +.SH SYNOPSYS + +.nf +.I void * +.fi +.B mlx_new_window +( +.I void *mlx_ptr, int size_x, int size_y, char *title +); + +.nf +.I int +.fi +.B mlx_clear_window +( +.I void *mlx_ptr, void *win_ptr +); + +.nf +.I int +.fi +.B mlx_destroy_window +( +.I void *mlx_ptr, void *win_ptr +); + + +.SH DESCRIPTION +The +.B mlx_new_window +() function creates a new window on the screen, using the +.I size_x +and +.I size_y +parameters to determine its size, and +.I title +as the text that should be displayed in the window's title bar. +The +.I mlx_ptr +parameter is the connection identifier returned by +.B mlx_init +() (see the +.B mlx +man page). +.B mlx_new_window +() returns a +.I void * +window identifier that can be used by other MiniLibX calls. +Note that the MiniLibX +can handle an arbitrary number of separate windows. + +.B mlx_clear_window +() and +.B mlx_destroy_window +() respectively clear (in black) and destroy the given window. They both have +the same parameters: +.I mlx_ptr +is the screen connection identifier, and +.I win_ptr +is a window identifier. + +.SH RETURN VALUES +If +.B mlx_new_window() +fails to create a new window (for wathever reason), it will return NULL, +otherwise a non-null pointer is returned as a window identifier. +.B mlx_clear_window +and +.B mlx_destroy_window +right now return nothing. + +.SH SEE ALSO +mlx(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master/man/man3/mlx_pixel_put.1 b/minilibx-linux-master-bak/man/man3/mlx_pixel_put.1 similarity index 100% rename from minilibx-linux-master/man/man3/mlx_pixel_put.1 rename to minilibx-linux-master-bak/man/man3/mlx_pixel_put.1 diff --git a/minilibx-linux-master-bak/mlx.h b/minilibx-linux-master-bak/mlx.h new file mode 100644 index 0000000..74c0aff --- /dev/null +++ b/minilibx-linux-master-bak/mlx.h @@ -0,0 +1,139 @@ +/* +** mlx.h for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Mon Jul 31 16:37:50 2000 Charlie Root +** Last update Tue May 15 16:23:28 2007 Olivier Crouzet +*/ + +/* +** MinilibX - Please report bugs +*/ + + +/* +** FR msg - FR msg - FR msg +** +** La MinilibX utilise 2 librairies supplementaires qu'il +** est necessaire de rajouter a la compilation : +** -lmlx -lXext -lX11 +** +** La MinilibX permet le chargement des images de type Xpm. +** Notez que cette implementation est incomplete. +** Merci de communiquer tout probleme de chargement d'image +** de ce type. +*/ + + +#ifndef MLX_H + +#define MLX_H + + +void *mlx_init(); +/* +** needed before everything else. +** return (void *)0 if failed +*/ + + +/* +** Basic actions +*/ + +void *mlx_new_window(void *mlx_ptr, int size_x, int size_y, char *title); +/* +** return void *0 if failed +*/ +int mlx_clear_window(void *mlx_ptr, void *win_ptr); +int mlx_pixel_put(void *mlx_ptr, void *win_ptr, int x, int y, int color); +/* +** origin for x & y is top left corner of the window +** y down is positive +** color is 0x00RRGGBB +*/ + + +/* +** Image stuff +*/ + +void *mlx_new_image(void *mlx_ptr,int width,int height); +/* +** return void *0 if failed +** obsolete : image2 data is stored using bit planes +** void *mlx_new_image2(void *mlx_ptr,int width,int height); +*/ +char *mlx_get_data_addr(void *img_ptr, int *bits_per_pixel, + int *size_line, int *endian); +/* +** endian : 0 = sever X is little endian, 1 = big endian +** for mlx_new_image2, 2nd arg of mlx_get_data_addr is number_of_planes +*/ +int mlx_put_image_to_window(void *mlx_ptr, void *win_ptr, void *img_ptr, + int x, int y); +int mlx_get_color_value(void *mlx_ptr, int color); + + +/* +** dealing with Events +*/ + +int mlx_mouse_hook (void *win_ptr, int (*funct_ptr)(), void *param); +int mlx_key_hook (void *win_ptr, int (*funct_ptr)(), void *param); +int mlx_expose_hook (void *win_ptr, int (*funct_ptr)(), void *param); + +int mlx_loop_hook (void *mlx_ptr, int (*funct_ptr)(), void *param); +int mlx_loop (void *mlx_ptr); + + +/* +** hook funct are called as follow : +** +** expose_hook(void *param); +** key_hook(int keycode, void *param); +** mouse_hook(int button, int x,int y, void *param); +** loop_hook(void *param); +** +*/ + + +/* +** Usually asked... +*/ + +int mlx_string_put(void *mlx_ptr, void *win_ptr, int x, int y, int color, + char *string); +void mlx_set_font(void *mlx_ptr, void *win_ptr, char *name); +void *mlx_xpm_to_image(void *mlx_ptr, char **xpm_data, + int *width, int *height); +void *mlx_xpm_file_to_image(void *mlx_ptr, char *filename, + int *width, int *height); +int mlx_destroy_window(void *mlx_ptr, void *win_ptr); + +int mlx_destroy_image(void *mlx_ptr, void *img_ptr); + +int mlx_destroy_dispaly(void *mlx_ptr); + +/* +** generic hook system for all events, and minilibX functions that +** can be hooked. Some macro and defines from X11/X.h are needed here. +*/ + +int mlx_hook(void *win_ptr, int x_event, int x_mask, + int (*funct)(), void *param); + +int mlx_do_key_autorepeatoff(void *mlx_ptr); +int mlx_do_key_autorepeaton(void *mlx_ptr); +int mlx_do_sync(void *mlx_ptr); + +int mlx_mouse_get_pos(void *mlx_ptr, void *win_ptr, int *x, int *y); +int mlx_mouse_move(void *mlx_ptr, void *win_ptr, int x, int y); +int mlx_mouse_hide(void *mlx_ptr, void *win_ptr); +int mlx_mouse_show(void *mlx_ptr, void *win_ptr); + +int mlx_get_screen_size(void *mlx_ptr, int *sizex, int *sizey); + +#endif /* MLX_H */ diff --git a/minilibx-linux-master-bak/mlx_clear_window.c b/minilibx-linux-master-bak/mlx_clear_window.c new file mode 100644 index 0000000..f621090 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_clear_window.c @@ -0,0 +1,21 @@ +/* +** mlx_clear_window.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Sep 7 19:46:15 2000 Charlie Root +** Last update Tue Sep 25 17:11:19 2001 Charlie Root +*/ + + + +#include "mlx_int.h" + + +int mlx_clear_window(t_xvar *xvar,t_win_list *win) +{ + XClearWindow(xvar->display,win->window); + if (xvar->do_flush) + XFlush(xvar->display); +} diff --git a/minilibx-linux-master/mlx_clear_window.o b/minilibx-linux-master-bak/mlx_clear_window.o similarity index 100% rename from minilibx-linux-master/mlx_clear_window.o rename to minilibx-linux-master-bak/mlx_clear_window.o diff --git a/minilibx-linux-master-bak/mlx_destroy_display.c b/minilibx-linux-master-bak/mlx_destroy_display.c new file mode 100644 index 0000000..d2970b8 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_destroy_display.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* mlx_destroy_display.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mg +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/10/03 18:56:35 by mg #+# #+# */ +/* Updated: 2020/10/04 01:55:35 by mg ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "mlx_int.h" + +int mlx_destroy_display(t_xvar *xvar) +{ + XCloseDisplay(xvar->display); +} diff --git a/minilibx-linux-master/mlx_destroy_display.o b/minilibx-linux-master-bak/mlx_destroy_display.o similarity index 100% rename from minilibx-linux-master/mlx_destroy_display.o rename to minilibx-linux-master-bak/mlx_destroy_display.o diff --git a/minilibx-linux-master-bak/mlx_destroy_image.c b/minilibx-linux-master-bak/mlx_destroy_image.c new file mode 100644 index 0000000..afd4d1a --- /dev/null +++ b/minilibx-linux-master-bak/mlx_destroy_image.c @@ -0,0 +1,31 @@ +/* +** mlx_destroy_image.c for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Tue Mar 12 10:25:15 2002 Charlie Root +** Last update Tue May 15 16:45:54 2007 Olivier Crouzet +*/ + + +#include "mlx_int.h" + + +int mlx_destroy_image(t_xvar *xvar, t_img *img) +{ + if (img->type == MLX_TYPE_SHM_PIXMAP || + img->type == MLX_TYPE_SHM) + { + XShmDetach(xvar->display, &(img->shm)); + shmdt(img->shm.shmaddr); + /* shmctl IPC_RMID already done */ + } + XDestroyImage(img->image); /* For image & shm-image. Also free img->data */ + XFreePixmap(xvar->display, img->pix); + if (img->gc) + XFreeGC(xvar->display, img->gc); + free(img); + if (xvar->do_flush) + XFlush(xvar->display); +} diff --git a/minilibx-linux-master/mlx_destroy_image.o b/minilibx-linux-master-bak/mlx_destroy_image.o similarity index 100% rename from minilibx-linux-master/mlx_destroy_image.o rename to minilibx-linux-master-bak/mlx_destroy_image.o diff --git a/minilibx-linux-master-bak/mlx_destroy_window.c b/minilibx-linux-master-bak/mlx_destroy_window.c new file mode 100644 index 0000000..464790c --- /dev/null +++ b/minilibx-linux-master-bak/mlx_destroy_window.c @@ -0,0 +1,38 @@ +/* +** mlx_destroy_window.c for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Tue Mar 12 10:25:15 2002 Charlie Root +** Last update Tue May 15 16:46:08 2007 Olivier Crouzet +*/ + + +#include "mlx_int.h" + + +int mlx_destroy_window(t_xvar *xvar,t_win_list *win) +{ + t_win_list *w; + t_win_list *prev; + t_win_list first; + + first.next = xvar->win_list; + prev = &first; + w = prev->next; + while (w) + { + if (w==win) + prev->next = w->next; + else + prev = w; + w = w->next; + } + xvar->win_list = first.next; + XDestroyWindow(xvar->display,win->window); + XFreeGC(xvar->display,win->gc); + free(win); + if (xvar->do_flush) + XFlush(xvar->display); +} diff --git a/minilibx-linux-master/mlx_destroy_window.o b/minilibx-linux-master-bak/mlx_destroy_window.o similarity index 100% rename from minilibx-linux-master/mlx_destroy_window.o rename to minilibx-linux-master-bak/mlx_destroy_window.o diff --git a/minilibx-linux-master-bak/mlx_expose_hook.c b/minilibx-linux-master-bak/mlx_expose_hook.c new file mode 100644 index 0000000..b00b675 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_expose_hook.c @@ -0,0 +1,22 @@ +/* +** mlx_expose_hook.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Aug 3 11:49:06 2000 Charlie Root +** Last update Fri Feb 23 17:07:42 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +int mlx_expose_hook(t_win_list *win,int (*funct)(),void *param) +{ + win->hooks[Expose].hook = funct; + win->hooks[Expose].param = param; + win->hooks[Expose].mask = ExposureMask; +} diff --git a/minilibx-linux-master/mlx_expose_hook.o b/minilibx-linux-master-bak/mlx_expose_hook.o similarity index 100% rename from minilibx-linux-master/mlx_expose_hook.o rename to minilibx-linux-master-bak/mlx_expose_hook.o diff --git a/minilibx-linux-master-bak/mlx_ext_randr.c b/minilibx-linux-master-bak/mlx_ext_randr.c new file mode 100644 index 0000000..34ddb91 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_ext_randr.c @@ -0,0 +1,104 @@ + + + +#include "mlx_int.h" + +#include +#include + +/* global for independant extension */ + +RRMode saved_mode = 0; + + +int mlx_ext_fullscreen(t_xvar *xvar, t_win_list *win, int fullscreen) +{ + XWindowAttributes watt; + int i; + int j; + XRRScreenResources *res; + XRROutputInfo *o_info; + XRRCrtcInfo *crtc; + RRMode mode_candidate; + int idx_output; + int idx_candidate; + + if (!XGetWindowAttributes(xvar->display, win->window, &watt)) + return (0); + + res = XRRGetScreenResources(xvar->display, xvar->root); + o_info = NULL; + idx_output = -1; + i = res->noutput; + while (i--) + { + o_info = XRRGetOutputInfo(xvar->display, res, res->outputs[i]); + if (o_info->connection == RR_Connected) + { + idx_output = i; + i = 0; + } + else + XRRFreeOutputInfo(o_info); + } + if (!o_info) + { + XRRFreeScreenResources(res); + return (0); + } + + idx_candidate = -1; + i = o_info->nmode; + while (i--) + { + j = res->nmode; + while (j--) + if (res->modes[j].id == o_info->modes[i]) + if (res->modes[j].width >= watt.width && res->modes[j].height >= watt.height && + (idx_candidate == -1 || res->modes[idx_candidate].width > res->modes[j].width || + res->modes[idx_candidate].height > res->modes[j].height) ) + idx_candidate = i; + } + if (idx_candidate < 0) + { + XRRFreeOutputInfo(o_info); + XRRFreeScreenResources(res); + return (0); + } + if (!fullscreen && saved_mode == -1) + idx_candidate = 0; /* if no clue, uses first mode, usually part of npreferred */ + mode_candidate = o_info->modes[idx_candidate]; + if (!fullscreen) + mode_candidate = saved_mode; + + crtc = XRRGetCrtcInfo(xvar->display, res, o_info->crtc); + saved_mode = crtc->mode; + + i = XRRSetCrtcConfig(xvar->display, res, o_info->crtc, CurrentTime, 0, 0, mode_candidate, + crtc->rotation, &res->outputs[idx_output], 1); + if (fullscreen) + printf("found mode : %d x %d\n Status %d\n", res->modes[idx_candidate].width, res->modes[idx_candidate].height, i); + else + printf("back previous mode\n"); + + XMoveWindow(xvar->display, win->window, 0, 0); + XMapRaised(xvar->display, win->window); + + if (fullscreen) + { + // XGrabPointer(xvar->display, win->window, True, 0, GrabModeAsync, GrabModeAsync, win->window, 0L, CurrentTime); + XGrabKeyboard(xvar->display, win->window, False, GrabModeAsync, GrabModeAsync, CurrentTime); + } + else + { + XUngrabPointer(xvar->display, CurrentTime); + XUngrabKeyboard(xvar->display, CurrentTime); + } + + XSync(xvar->display, False); + sleep(1); + + XRRFreeCrtcInfo(crtc); + XRRFreeOutputInfo(o_info); + XRRFreeScreenResources(res); +} diff --git a/minilibx-linux-master-bak/mlx_flush_event.c b/minilibx-linux-master-bak/mlx_flush_event.c new file mode 100644 index 0000000..1e586ad --- /dev/null +++ b/minilibx-linux-master-bak/mlx_flush_event.c @@ -0,0 +1,25 @@ +/* +** mlx_flush_event.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Wed Aug 2 18:58:11 2000 Charlie Root +** Last update Fri Feb 23 17:08:48 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +int mlx_flush_event(t_xvar *xvar) +{ + XEvent ev; + + while (XPending(xvar->display)) + { + XNextEvent(xvar->display,&ev); + } +} diff --git a/minilibx-linux-master/mlx_flush_event.o b/minilibx-linux-master-bak/mlx_flush_event.o similarity index 100% rename from minilibx-linux-master/mlx_flush_event.o rename to minilibx-linux-master-bak/mlx_flush_event.o diff --git a/minilibx-linux-master-bak/mlx_get_color_value.c b/minilibx-linux-master-bak/mlx_get_color_value.c new file mode 100644 index 0000000..b620970 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_get_color_value.c @@ -0,0 +1,33 @@ +/* +** mlx_get_color_value.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Mon Jul 31 19:01:33 2000 Charlie Root +** Last update Thu Oct 4 15:04:13 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + +int mlx_get_color_value(t_xvar *xvar,int color) +{ + return(mlx_int_get_good_color(xvar,color)); +} + +int mlx_int_get_good_color(t_xvar *xvar,int color) +{ + XColor xc; + + if (xvar->depth>=24) + return (color); + xc.red = (color>>8)&0xFF00; + xc.green = color&0xFF00; + xc.blue = (color<<8)&0xFF00; + xc.pixel = ((xc.red>>(16-xvar->decrgb[1]))<decrgb[0])+ + ((xc.green>>(16-xvar->decrgb[3]))<decrgb[2])+ + ((xc.blue>>(16-xvar->decrgb[5]))<decrgb[4]); + return (xc.pixel); +} diff --git a/minilibx-linux-master/mlx_get_color_value.o b/minilibx-linux-master-bak/mlx_get_color_value.o similarity index 100% rename from minilibx-linux-master/mlx_get_color_value.o rename to minilibx-linux-master-bak/mlx_get_color_value.o diff --git a/minilibx-linux-master-bak/mlx_get_data_addr.c b/minilibx-linux-master-bak/mlx_get_data_addr.c new file mode 100644 index 0000000..45e7a85 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_get_data_addr.c @@ -0,0 +1,23 @@ +/* +** mlx_get_data_addr.c for MiniLibX in raytraceur +** +** Made by Charlie Root +** Login +** +** Started on Mon Aug 14 15:45:57 2000 Charlie Root +** Last update Thu Sep 27 19:05:25 2001 Charlie Root +*/ + + + +#include "mlx_int.h" + + +char *mlx_get_data_addr(t_img *img,int *bits_per_pixel, + int *size_line,int *endian) +{ + *bits_per_pixel = img->bpp; + *size_line = img->size_line; + *endian = img->image->byte_order; + return (img->data); +} diff --git a/minilibx-linux-master/mlx_get_data_addr.o b/minilibx-linux-master-bak/mlx_get_data_addr.o similarity index 100% rename from minilibx-linux-master/mlx_get_data_addr.o rename to minilibx-linux-master-bak/mlx_get_data_addr.o diff --git a/minilibx-linux-master-bak/mlx_hook.c b/minilibx-linux-master-bak/mlx_hook.c new file mode 100644 index 0000000..98e509a --- /dev/null +++ b/minilibx-linux-master-bak/mlx_hook.c @@ -0,0 +1,40 @@ +/* +** mlx_hook.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Aug 3 11:49:06 2000 Charlie Root +** Last update Fri Jan 28 17:05:28 2005 Olivier Crouzet +*/ + + +#include "mlx_int.h" + + + + +int mlx_hook(t_win_list *win, int x_event, int x_mask, + int (*funct)(),void *param) +{ + win->hooks[x_event].hook = funct; + win->hooks[x_event].param = param; + win->hooks[x_event].mask = x_mask; +} + + +int mlx_do_key_autorepeatoff(t_xvar *xvar) +{ + XAutoRepeatOff(xvar->display); +} + +int mlx_do_key_autorepeaton(t_xvar *xvar) +{ + XAutoRepeatOn(xvar->display); +} + + +int mlx_do_sync(t_xvar *xvar) +{ + XSync(xvar->display, False); +} diff --git a/minilibx-linux-master/mlx_hook.o b/minilibx-linux-master-bak/mlx_hook.o similarity index 100% rename from minilibx-linux-master/mlx_hook.o rename to minilibx-linux-master-bak/mlx_hook.o diff --git a/minilibx-linux-master-bak/mlx_init.c b/minilibx-linux-master-bak/mlx_init.c new file mode 100644 index 0000000..2ca8422 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_init.c @@ -0,0 +1,97 @@ +/* +** mlx_init.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Mon Jul 31 16:52:42 2000 Charlie Root +** Last update Fri Jan 28 17:05:09 2005 Olivier Crouzet +*/ + + +#include "mlx_int.h" + + + +void *mlx_init() +{ + t_xvar *xvar; + + if (!(xvar = malloc(sizeof(*xvar)))) + return ((void*)0); + if ((xvar->display = XOpenDisplay("")) == 0) + { + free(xvar); + return ((void*)0); + } + xvar->screen = DefaultScreen(xvar->display); + xvar->root = DefaultRootWindow(xvar->display); + xvar->cmap = DefaultColormap(xvar->display,xvar->screen); + xvar->depth = DefaultDepth(xvar->display,xvar->screen); + if (mlx_int_get_visual(xvar)==-1) + { + printf(ERR_NO_TRUECOLOR); + exit(1); + } + xvar->win_list = 0; + xvar->loop_hook = 0; + xvar->loop_param = (void *)0; + xvar->do_flush = 1; + xvar->wm_delete_window = XInternAtom (xvar->display, "WM_DELETE_WINDOW", False); + mlx_int_deal_shm(xvar); + if (xvar->private_cmap) + xvar->cmap = XCreateColormap(xvar->display,xvar->root, + xvar->visual,AllocNone); + mlx_int_rgb_conversion(xvar); + return (xvar); +} + + +/* +** pshm_format of -1 : Not XYBitmap|XYPixmap|ZPixmap +** alpha libX need a check of the DISPLAY env var, or shm is allowed +** in remote Xserver connections. +*/ + +int mlx_int_deal_shm(t_xvar *xvar) +{ + int use_pshm; + int bidon; + char *dpy; + char buff[33]; + + xvar->use_xshm = XShmQueryVersion(xvar->display,&bidon,&bidon,&(use_pshm)); + if (xvar->use_xshm && use_pshm) + xvar->pshm_format = XShmPixmapFormat(xvar->display); + else + xvar->pshm_format = -1; + gethostname(buff,32); + dpy = getenv(ENV_DISPLAY); + if (dpy && strlen(dpy) && *dpy!=':' && strncmp(dpy,buff,strlen(buff)) && + strncmp(dpy,LOCALHOST,strlen(LOCALHOST)) ) + { + xvar->pshm_format = -1; + xvar->use_xshm = 0; + } +} + +/* +** TrueColor Visual is needed to have *_mask correctly set +*/ + +int mlx_int_rgb_conversion(t_xvar *xvar) +{ + bzero(xvar->decrgb,sizeof(int)*6); + while (!(xvar->visual->red_mask&1)) + { xvar->visual->red_mask >>= 1; xvar->decrgb[0] ++; } + while (xvar->visual->red_mask&1) + { xvar->visual->red_mask >>= 1; xvar->decrgb[1] ++; } + while (!(xvar->visual->green_mask&1)) + { xvar->visual->green_mask >>= 1; xvar->decrgb[2] ++; } + while (xvar->visual->green_mask&1) + { xvar->visual->green_mask >>= 1; xvar->decrgb[3] ++; } + while (!(xvar->visual->blue_mask&1)) + { xvar->visual->blue_mask >>= 1; xvar->decrgb[4] ++; } + while (xvar->visual->blue_mask&1) + { xvar->visual->blue_mask >>= 1; xvar->decrgb[5] ++; } +} diff --git a/minilibx-linux-master/mlx_init.o b/minilibx-linux-master-bak/mlx_init.o similarity index 100% rename from minilibx-linux-master/mlx_init.o rename to minilibx-linux-master-bak/mlx_init.o diff --git a/minilibx-linux-master-bak/mlx_int.h b/minilibx-linux-master-bak/mlx_int.h new file mode 100644 index 0000000..58c22c7 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int.h @@ -0,0 +1,138 @@ +/* +** mlx_int.h for mlx in +** +** Made by Charlie Root +** Login +** +** Started on Mon Jul 31 16:45:48 2000 Charlie Root +** Last update Wed May 25 16:44:16 2011 Olivier Crouzet +*/ + + + +/* +** Internal settings for MiniLibX +*/ + +#ifndef MLX_INT_H + +# define MLX_INT_H + +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +/* #include */ + + +# define MLX_TYPE_SHM_PIXMAP 3 +# define MLX_TYPE_SHM 2 +# define MLX_TYPE_XIMAGE 1 + +# define MLX_MAX_EVENT LASTEvent + + +# define ENV_DISPLAY "DISPLAY" +# define LOCALHOST "localhost" +# define ERR_NO_TRUECOLOR "MinilibX Error : No TrueColor Visual available.\n" +# define WARN_SHM_ATTACH "MinilibX Warning : X server can't attach shared memory.\n" + + +typedef struct s_xpm_col +{ + int name; + int col; +} t_xpm_col; + + +struct s_col_name +{ + char *name; + int color; +}; + +typedef struct s_event_list +{ + int mask; + int (*hook)(); + void *param; +} t_event_list; + + +typedef struct s_win_list +{ + Window window; + GC gc; + struct s_win_list *next; + int (*mouse_hook)(); + int (*key_hook)(); + int (*expose_hook)(); + void *mouse_param; + void *key_param; + void *expose_param; + t_event_list hooks[MLX_MAX_EVENT]; +} t_win_list; + + +typedef struct s_img +{ + XImage *image; + Pixmap pix; + GC gc; + int size_line; + int bpp; + int width; + int height; + int type; + int format; + char *data; + XShmSegmentInfo shm; +} t_img; + +typedef struct s_xvar +{ + Display *display; + Window root; + int screen; + int depth; + Visual *visual; + Colormap cmap; + int private_cmap; + t_win_list *win_list; + int (*loop_hook)(); + void *loop_param; + int use_xshm; + int pshm_format; + int do_flush; + int decrgb[6]; + Atom wm_delete_window; +} t_xvar; + + +int mlx_int_do_nothing(); +int mlx_get_color_value(); +int mlx_int_get_good_color(); +int mlx_int_find_in_pcm(); +int mlx_int_anti_resize_win(); +int mlx_int_wait_first_expose(); +int mlx_int_rgb_conversion(); +int mlx_int_deal_shm(); +void *mlx_int_new_xshm_image(); +char **mlx_int_str_to_wordtab(); +void *mlx_new_image(); +int shm_att_pb(); +int mlx_int_get_visual(t_xvar *xvar); +int mlx_int_set_win_event_mask(t_xvar *xvar); +int mlx_int_str_str_cote(char *str,char *find,int len); +int mlx_int_str_str(char *str,char *find,int len); + + +#endif diff --git a/minilibx-linux-master-bak/mlx_int_anti_resize_win.c b/minilibx-linux-master-bak/mlx_int_anti_resize_win.c new file mode 100644 index 0000000..2f20b44 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int_anti_resize_win.c @@ -0,0 +1,28 @@ +/* +** mlx_int_anti_resize_win.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Tue Aug 8 14:31:05 2000 Charlie Root +** Last update Tue Sep 25 15:56:58 2001 Charlie Root +*/ + +#include "mlx_int.h" + + +int mlx_int_anti_resize_win(t_xvar *xvar,Window win,int w,int h) +{ + XSizeHints hints; + long toto; + + XGetWMNormalHints(xvar->display,win,&hints,&toto); + hints.width = w; + hints.height = h; + hints.min_width = w; + hints.min_height = h; + hints.max_width = w; + hints.max_height = h; + hints.flags = PPosition | PSize | PMinSize | PMaxSize; + XSetWMNormalHints(xvar->display,win,&hints); +} diff --git a/minilibx-linux-master/mlx_int_anti_resize_win.o b/minilibx-linux-master-bak/mlx_int_anti_resize_win.o similarity index 100% rename from minilibx-linux-master/mlx_int_anti_resize_win.o rename to minilibx-linux-master-bak/mlx_int_anti_resize_win.o diff --git a/minilibx-linux-master-bak/mlx_int_do_nothing.c b/minilibx-linux-master-bak/mlx_int_do_nothing.c new file mode 100644 index 0000000..49524e4 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int_do_nothing.c @@ -0,0 +1,16 @@ +/* +** mlx_int_do_nothing.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Tue Aug 8 12:58:24 2000 Charlie Root +** Last update Tue Sep 25 15:56:22 2001 Charlie Root +*/ + + + +int mlx_int_do_nothing(void *param) +{ + +} diff --git a/minilibx-linux-master/mlx_int_do_nothing.o b/minilibx-linux-master-bak/mlx_int_do_nothing.o similarity index 100% rename from minilibx-linux-master/mlx_int_do_nothing.o rename to minilibx-linux-master-bak/mlx_int_do_nothing.o diff --git a/minilibx-linux-master-bak/mlx_int_get_visual.c b/minilibx-linux-master-bak/mlx_int_get_visual.c new file mode 100644 index 0000000..440a7ca --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int_get_visual.c @@ -0,0 +1,39 @@ +/* +** mlx_int_get_visual.c for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Wed Oct 3 17:01:51 2001 Charlie Root +** Last update Thu Oct 4 15:00:45 2001 Charlie Root +*/ + + + +#include "mlx_int.h" + + +/* +** We need a private colormap for non-default Visual. +*/ + + +int mlx_int_get_visual(t_xvar *xvar) +{ + XVisualInfo *vi; + XVisualInfo template; + int nb_item; + + xvar->private_cmap = 0; + xvar->visual = DefaultVisual(xvar->display,xvar->screen); + if (xvar->visual->class == TrueColor) + return (0); + template.class = TrueColor; + template.depth = xvar->depth; + if (!(vi = XGetVisualInfo(xvar->display,VisualDepthMask|VisualClassMask, + &template,&nb_item)) ) + return (-1); + xvar->visual = vi->visual; + xvar->private_cmap = 1; + return (0); +} diff --git a/minilibx-linux-master/mlx_int_get_visual.o b/minilibx-linux-master-bak/mlx_int_get_visual.o similarity index 100% rename from minilibx-linux-master/mlx_int_get_visual.o rename to minilibx-linux-master-bak/mlx_int_get_visual.o diff --git a/minilibx-linux-master-bak/mlx_int_param_event.c b/minilibx-linux-master-bak/mlx_int_param_event.c new file mode 100644 index 0000000..8756a22 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int_param_event.c @@ -0,0 +1,100 @@ +/* +** mlx_int_param_event.c for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Mon Jul 31 16:37:50 2000 Charlie Root +** Last update Wed Oct 6 13:14:52 2004 Olivier Crouzet +*/ + +#include "mlx_int.h" + +int mlx_int_param_undef() +{ +} + +int mlx_int_param_KeyPress(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + win->hooks[KeyPress].hook(XkbKeycodeToKeysym(xvar->display, + ev->xkey.keycode, 0, 0), + win->hooks[KeyPress].param); +} + +int mlx_int_param_KeyRelease(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + win->hooks[KeyRelease].hook(XkbKeycodeToKeysym(xvar->display, + ev->xkey.keycode, 0, 0), + win->hooks[KeyRelease].param); +} + +int mlx_int_param_ButtonPress(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + win->hooks[ButtonPress].hook(ev->xbutton.button,ev->xbutton.x,ev->xbutton.y, + win->hooks[ButtonPress].param); +} + +int mlx_int_param_ButtonRelease(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + win->hooks[ButtonRelease].hook(ev->xbutton.button, + ev->xbutton.x, ev->xbutton.y, + win->hooks[ButtonRelease].param); +} + +int mlx_int_param_MotionNotify(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + win->hooks[MotionNotify].hook(ev->xbutton.x,ev->xbutton.y, + win->hooks[MotionNotify].param); +} + +int mlx_int_param_Expose(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + if (!ev->xexpose.count) + win->hooks[Expose].hook(win->hooks[Expose].param); +} + + +int mlx_int_param_generic(t_xvar *xvar, XEvent *ev, t_win_list *win) +{ + win->hooks[ev->type].hook(win->hooks[ev->type].param); +} + +int (*(mlx_int_param_event[]))() = +{ + mlx_int_param_undef, /* 0 */ + mlx_int_param_undef, + mlx_int_param_KeyPress, + mlx_int_param_KeyRelease, /* 3 */ + mlx_int_param_ButtonPress, + mlx_int_param_ButtonRelease, + mlx_int_param_MotionNotify, /* 6 */ + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_Expose, /* 12 */ + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic, + mlx_int_param_generic +}; diff --git a/minilibx-linux-master/mlx_int_param_event.o b/minilibx-linux-master-bak/mlx_int_param_event.o similarity index 100% rename from minilibx-linux-master/mlx_int_param_event.o rename to minilibx-linux-master-bak/mlx_int_param_event.o diff --git a/minilibx-linux-master-bak/mlx_int_set_win_event_mask.c b/minilibx-linux-master-bak/mlx_int_set_win_event_mask.c new file mode 100644 index 0000000..55650cd --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int_set_win_event_mask.c @@ -0,0 +1,34 @@ +/* +** mlx_int_set_win_event_mask.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Aug 3 11:49:06 2000 Charlie Root +** Last update Fri Feb 23 17:07:42 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +int mlx_int_set_win_event_mask(t_xvar *xvar) +{ + t_win_list *win; + int mask; + int i; + XSetWindowAttributes xwa; + + win = xvar->win_list; + while (win) + { + xwa.event_mask = 0; + i = MLX_MAX_EVENT; + while (i--) + xwa.event_mask |= win->hooks[i].mask; + XChangeWindowAttributes(xvar->display, win->window, CWEventMask, &xwa); + win = win->next; + } +} diff --git a/minilibx-linux-master/mlx_int_set_win_event_mask.o b/minilibx-linux-master-bak/mlx_int_set_win_event_mask.o similarity index 100% rename from minilibx-linux-master/mlx_int_set_win_event_mask.o rename to minilibx-linux-master-bak/mlx_int_set_win_event_mask.o diff --git a/minilibx-linux-master-bak/mlx_int_str_to_wordtab.c b/minilibx-linux-master-bak/mlx_int_str_to_wordtab.c new file mode 100644 index 0000000..7f92089 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_int_str_to_wordtab.c @@ -0,0 +1,113 @@ +/* +** mlx_int_str_to_wordtab.c for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Wed Sep 13 11:36:09 2000 Charlie Root +** Last update Fri Dec 14 11:02:09 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + +int mlx_int_str_str(char *str,char *find,int len) +{ + int len_f; + int pos; + char *s; + char *f; + + len_f = strlen(find); + if (len_f>len) + return (-1); + pos = 0; + while (*(str+len_f-1)) + { + s = str; + f = find; + while (*(f++) == *(s++)) + if (!*f) + return (pos); + str ++; + pos ++; + } + return (-1); +} + + + +int mlx_int_str_str_cote(char *str,char *find,int len) +{ + int len_f; + int pos; + char *s; + char *f; + int cote; + + len_f = strlen(find); + if (len_f>len) + return (-1); + cote = 0; + pos = 0; + while (*(str+len_f-1)) + { + if (*str=='"') + cote = 1-cote; + if (!cote) + { + s = str; + f = find; + while (*(f++) == *(s++)) + if (!*f) + return (pos); + } + str ++; + pos ++; + } + return (-1); +} + + +char **mlx_int_str_to_wordtab(char *str) +{ + char **tab; + int pos; + int nb_word; + int len; + + len = strlen(str); + nb_word = 0; + pos = 0; + while (pos +** +** Started on Tue Oct 17 09:26:45 2000 olivier crouzet +** Last update Fri Feb 23 17:27:10 2001 Charlie Root +*/ + + + +#include "mlx_int.h" + + + +int mlx_int_wait_first_expose(t_xvar *xvar,Window win) +{ + XEvent ev; + + XWindowEvent(xvar->display,win,ExposureMask,&ev); + XPutBackEvent(xvar->display,&ev); +} diff --git a/minilibx-linux-master/mlx_int_wait_first_expose.o b/minilibx-linux-master-bak/mlx_int_wait_first_expose.o similarity index 100% rename from minilibx-linux-master/mlx_int_wait_first_expose.o rename to minilibx-linux-master-bak/mlx_int_wait_first_expose.o diff --git a/minilibx-linux-master-bak/mlx_key_hook.c b/minilibx-linux-master-bak/mlx_key_hook.c new file mode 100644 index 0000000..eea6484 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_key_hook.c @@ -0,0 +1,22 @@ +/* +** mlx_key_hook.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Aug 3 11:49:06 2000 Charlie Root +** Last update Fri Feb 23 17:10:09 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +int mlx_key_hook(t_win_list *win,int (*funct)(),void *param) +{ + win->hooks[KeyRelease].hook = funct; + win->hooks[KeyRelease].param = param; + win->hooks[KeyRelease].mask = KeyReleaseMask; +} diff --git a/minilibx-linux-master/mlx_key_hook.o b/minilibx-linux-master-bak/mlx_key_hook.o similarity index 100% rename from minilibx-linux-master/mlx_key_hook.o rename to minilibx-linux-master-bak/mlx_key_hook.o diff --git a/minilibx-linux-master-bak/mlx_lib_xpm.c b/minilibx-linux-master-bak/mlx_lib_xpm.c new file mode 100644 index 0000000..b8cf184 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_lib_xpm.c @@ -0,0 +1,96 @@ +/* +** mlx_xpm.c for minilibX in +** +** Made by Charlie Root +** Login +** +** Started on Fri Dec 8 11:07:24 2000 Charlie Root +** Last update Thu Oct 4 16:00:22 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +void *mlx_int_xpm_f_image(t_xvar *xvar,int *width,int *height, + int (*xpm_func)(),void *param) +{ + XImage *img1; + XImage *img2; + t_img *im2; + XpmAttributes xpm_att; + + xpm_att.visual = xvar->visual; + xpm_att.colormap = xvar->cmap; + xpm_att.depth = xvar->depth; + xpm_att.bitmap_format = ZPixmap; + xpm_att.valuemask = XpmDepth|XpmBitmapFormat|XpmVisual|XpmColormap; + if (xpm_func(xvar->display,param,&img1,&img2,&xpm_att)) + return ((void *)0); + if (img2) + XDestroyImage(img2); + + if (!(im2 = (void *)mlx_new_image(xvar,img1->width,img1->height))) + { + XDestroyImage(img1); + return ((void *)0); + } + *width = img1->width; + *height = img1->height; + if (mlx_int_egal_img(im2->image,img1)) + { + bcopy(img1->data,im2->data,img1->height*img1->bytes_per_line); + XDestroyImage(img1); + return (im2); + } + if (im2->type==MLX_TYPE_SHM_PIXMAP) + { + XFreePixmap(xvar->display,im2->pix); + im2->pix = XCreatePixmap(xvar->display,xvar->root, + *width,*height,xvar->depth); + } + if (im2->type>MLX_TYPE_XIMAGE) + { + XShmDetach(xvar->display,&(im2->shm)); + shmdt(im2->data); + } + XDestroyImage(im2->image); + im2->image = img1; + im2->data = img1->data; + im2->type = MLX_TYPE_XIMAGE; + im2->size_line = img1->bytes_per_line; + im2->bpp = img1->bits_per_pixel; + return (im2); +} + + +int mlx_int_egal_img(XImage *img1,XImage *img2) +{ + if (img1->width!=img2->width || img1->height!=img2->height || + img1->xoffset!=img2->xoffset || img1->format!=img2->format || + img1->byte_order!=img2->byte_order || + img1->bitmap_unit!=img2->bitmap_unit || + img1->bitmap_bit_order!=img2->bitmap_bit_order || + img1->bitmap_pad!=img2->bitmap_pad || img1->depth!=img2->depth || + img1->bytes_per_line!=img2->bytes_per_line || + img1->bits_per_pixel!=img2->bits_per_pixel || + img1->red_mask!=img2->red_mask || img1->green_mask!=img2->green_mask || + img1->blue_mask!=img2->blue_mask ) + return (0); + return (1); +} + + +void *mlx_xpm_file_to_image(t_xvar *xvar,char *filename, + int *width,int *height) +{ + return (mlx_int_xpm_f_image(xvar,width,height,XpmReadFileToImage,filename)); +} + + +void *mlx_xpm_to_image(t_xvar *xvar,char **data,int *width,int *height) +{ + return (mlx_int_xpm_f_image(xvar,width,height,XpmCreateImageFromData,(void *)data)); +} diff --git a/minilibx-linux-master-bak/mlx_loop.c b/minilibx-linux-master-bak/mlx_loop.c new file mode 100644 index 0000000..c5f83be --- /dev/null +++ b/minilibx-linux-master-bak/mlx_loop.c @@ -0,0 +1,43 @@ +/* +** mlx_loop.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Wed Aug 2 18:58:11 2000 Charlie Root +** Last update Fri Sep 30 14:47:41 2005 Olivier Crouzet +*/ + + +#include "mlx_int.h" + +extern int (*(mlx_int_param_event[]))(); + + +int mlx_loop(t_xvar *xvar) +{ + XEvent ev; + t_win_list *win; + + mlx_int_set_win_event_mask(xvar); + xvar->do_flush = 0; + while (42) + { + while (!xvar->loop_hook || XPending(xvar->display)) + { + XNextEvent(xvar->display,&ev); + win = xvar->win_list; + while (win && (win->window!=ev.xany.window)) + win = win->next; + if (win && ev.type < MLX_MAX_EVENT) + { + if (ev.type == ClientMessage && (Atom)ev.xclient.data.l[0] == xvar->wm_delete_window) + XDestroyWindow(xvar->display, win->window); + if (win->hooks[ev.type].hook) + mlx_int_param_event[ev.type](xvar, &ev, win); + } + } + XSync(xvar->display, False); + xvar->loop_hook(xvar->loop_param); + } +} diff --git a/minilibx-linux-master/mlx_loop.o b/minilibx-linux-master-bak/mlx_loop.o similarity index 100% rename from minilibx-linux-master/mlx_loop.o rename to minilibx-linux-master-bak/mlx_loop.o diff --git a/minilibx-linux-master-bak/mlx_loop_hook.c b/minilibx-linux-master-bak/mlx_loop_hook.c new file mode 100644 index 0000000..1f8b9ed --- /dev/null +++ b/minilibx-linux-master-bak/mlx_loop_hook.c @@ -0,0 +1,21 @@ +/* +** mlx_loop_hook.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Aug 3 11:49:06 2000 Charlie Root +** Last update Fri Feb 23 17:11:39 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +int mlx_loop_hook(t_xvar *xvar,int (*funct)(),void *param) +{ + xvar->loop_hook = funct; + xvar->loop_param = param; +} diff --git a/minilibx-linux-master/mlx_loop_hook.o b/minilibx-linux-master-bak/mlx_loop_hook.o similarity index 100% rename from minilibx-linux-master/mlx_loop_hook.o rename to minilibx-linux-master-bak/mlx_loop_hook.o diff --git a/minilibx-linux-master-bak/mlx_mouse.c b/minilibx-linux-master-bak/mlx_mouse.c new file mode 100644 index 0000000..ce0d4c9 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_mouse.c @@ -0,0 +1,48 @@ +#include "mlx_int.h" + +int mlx_mouse_move(t_xvar *xvar, t_win_list *win, int x, int y) +{ + XWarpPointer(xvar->display, None, win->window, 0, 0, 0, 0, x, y); + return (0); +} + +int mlx_mouse_hide(t_xvar *xvar, t_win_list *win) +{ + static char data[1] = {0}; + Cursor cursor; + Pixmap blank; + XColor dummy; + + blank = XCreateBitmapFromData(xvar->display, win->window, data, 1, 1); + cursor = XCreatePixmapCursor(xvar->display, blank, blank, &dummy, &dummy, 0, 0); + XDefineCursor(xvar->display, win->window, cursor); + XFreePixmap(xvar->display, blank); + XFreeCursor(xvar->display, cursor); +} + +int mlx_mouse_show(t_xvar *xvar, t_win_list *win) +{ + XUndefineCursor(xvar->display, win->window); +} + +/* +** Queries the position of the mouse pointer relative to the origin of the +** specified window and saves it to the provided location. +** +** If the pointer is not on the same screen as the specified window, both +** win_x_return and win_y_return are set to zero and the function returns 0. +*/ + +int mlx_mouse_get_pos(t_xvar *xvar, t_win_list *win, \ + int *win_x_return, int *win_y_return) +{ + Window root_return; + Window child_return; + int root_x_return; + int root_y_return; + unsigned mask_return; + + return (XQueryPointer(xvar->display, win->window, \ + &root_return, &child_return, &root_x_return, &root_y_return, \ + win_x_return, win_y_return, &mask_return)); +} diff --git a/minilibx-linux-master/mlx_mouse.o b/minilibx-linux-master-bak/mlx_mouse.o similarity index 100% rename from minilibx-linux-master/mlx_mouse.o rename to minilibx-linux-master-bak/mlx_mouse.o diff --git a/minilibx-linux-master-bak/mlx_mouse_hook.c b/minilibx-linux-master-bak/mlx_mouse_hook.c new file mode 100644 index 0000000..cb567ab --- /dev/null +++ b/minilibx-linux-master-bak/mlx_mouse_hook.c @@ -0,0 +1,22 @@ +/* +** mlx_mouse_hook.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Thu Aug 3 11:49:06 2000 Charlie Root +** Last update Fri Feb 23 17:11:05 2001 Charlie Root +*/ + + +#include "mlx_int.h" + + + + +int mlx_mouse_hook(t_win_list *win,int (*funct)(),void *param) +{ + win->hooks[ButtonPress].hook = funct; + win->hooks[ButtonPress].param = param; + win->hooks[ButtonPress].mask = ButtonPressMask; +} diff --git a/minilibx-linux-master/mlx_mouse_hook.o b/minilibx-linux-master-bak/mlx_mouse_hook.o similarity index 100% rename from minilibx-linux-master/mlx_mouse_hook.o rename to minilibx-linux-master-bak/mlx_mouse_hook.o diff --git a/minilibx-linux-master-bak/mlx_new_image.c b/minilibx-linux-master-bak/mlx_new_image.c new file mode 100644 index 0000000..9967401 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_new_image.c @@ -0,0 +1,155 @@ +/* +** mlx_new_image.c for MiniLibX in raytraceur +** +** Made by Charlie Root +** Login +** +** Started on Mon Aug 14 15:29:14 2000 Charlie Root +** Last update Wed May 25 16:46:31 2011 Olivier Crouzet +*/ + + + + +#include "mlx_int.h" + +/* +** To handle X errors +*/ + +#define X_ShmAttach 1 + +int mlx_X_error; + +int shm_att_pb(Display *d,XErrorEvent *ev) +{ + if (ev->request_code==146 && ev->minor_code==X_ShmAttach) + write(2,WARN_SHM_ATTACH,strlen(WARN_SHM_ATTACH)); + mlx_X_error = 1; +} + + +/* +** Data malloc : width+32 ( bitmap_pad=32 ), *4 = *32 / 8bit +*/ + + +void *mlx_int_new_xshm_image(t_xvar *xvar,int width,int height,int format) +{ + t_img *img; + int (*save_handler)(); + + if (!(img = malloc(sizeof(*img)))) + return ((void *)0); + bzero(img,sizeof(*img)); + img->data = 0; + img->image = XShmCreateImage(xvar->display,xvar->visual,xvar->depth, + format,img->data,&(img->shm),width,height); + if (!img->image) + { + free(img); + return ((void *)0); + } + img->width = width; + img->height = height; + img->size_line = img->image->bytes_per_line; + img->bpp = img->image->bits_per_pixel; + img->format = format; + img->shm.shmid = shmget(IPC_PRIVATE,(width+32)*height*4,IPC_CREAT|0777); + if (img->shm.shmid==-1) + { + XDestroyImage(img->image); + free(img); + return ((void *)0); + } + img->data = img->shm.shmaddr = img->image->data = shmat(img->shm.shmid,0,0); + if (img->data==(void *)-1) + { + shmctl(img->shm.shmid,IPC_RMID,0); + XDestroyImage(img->image); + free(img); + return ((void *)0); + } + img->shm.readOnly = False; + mlx_X_error = 0; + save_handler = XSetErrorHandler(shm_att_pb); + if (!XShmAttach(xvar->display,&(img->shm)) || + 0&XSync(xvar->display,False) || mlx_X_error) + { + XSetErrorHandler(save_handler); + shmdt(img->data); + shmctl(img->shm.shmid,IPC_RMID,0); + XDestroyImage(img->image); + free(img); + return ((void *)0); + } + XSetErrorHandler(save_handler); + shmctl(img->shm.shmid,IPC_RMID,0); + if (xvar->pshm_format==format) + { + img->pix = XShmCreatePixmap(xvar->display,xvar->root,img->shm.shmaddr, + &(img->shm),width,height,xvar->depth); + img->type = MLX_TYPE_SHM_PIXMAP; + } + else + { + img->pix = XCreatePixmap(xvar->display,xvar->root, + width,height,xvar->depth); + img->type = MLX_TYPE_SHM; + } + if (xvar->do_flush) + XFlush(xvar->display); + return (img); +} + + + +void *mlx_int_new_image(t_xvar *xvar,int width, int height,int format) +{ + t_img *img; + + if (!(img = malloc(sizeof(*img))) || + !(img->data = malloc((width+32)*height*4))) + return ((void *)0); + bzero(img->data,(width+32)*height*4); + img->image = XCreateImage(xvar->display,xvar->visual,xvar->depth,format,0, + img->data,width,height,32,0); + if (!img->image) + { + free(img->data); + free(img); + return ((void *)0); + } + img->gc = 0; + img->size_line = img->image->bytes_per_line; + img->bpp = img->image->bits_per_pixel; + img->width = width; + img->height = height; + img->pix = XCreatePixmap(xvar->display,xvar->root,width,height,xvar->depth); + img->format = format; + img->type = MLX_TYPE_XIMAGE; + if (xvar->do_flush) + XFlush(xvar->display); + return (img); +} + + +void *mlx_new_image(t_xvar *xvar,int width, int height) +{ + t_img *img; + + if (xvar->use_xshm) + if (img = mlx_int_new_xshm_image(xvar,width,height,ZPixmap)) + return (img); + return (mlx_int_new_image(xvar,width,height,ZPixmap)); +} + +void *mlx_new_image2(t_xvar *xvar,int width, int height) +{ + t_img *img; + + if (xvar->use_xshm) + if (img = mlx_int_new_xshm_image(xvar,width,height,XYPixmap)) + return (img); + return (mlx_int_new_image(xvar,width,height,XYPixmap)); +} diff --git a/minilibx-linux-master/mlx_new_image.o b/minilibx-linux-master-bak/mlx_new_image.o similarity index 100% rename from minilibx-linux-master/mlx_new_image.o rename to minilibx-linux-master-bak/mlx_new_image.o diff --git a/minilibx-linux-master-bak/mlx_new_window.c b/minilibx-linux-master-bak/mlx_new_window.c new file mode 100644 index 0000000..3f05914 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_new_window.c @@ -0,0 +1,62 @@ +/* +** mlx_new_window.c for MiniLibX in +** +** Made by Charlie Root +** Login +** +** Started on Mon Jul 31 17:29:02 2000 Charlie Root +** Last update Thu Oct 4 15:44:43 2001 Charlie Root +*/ + + +/* +** We do not use White/BlackPixel macro, TrueColor Visual make sure +** 0 is black & -1 is white +** +** With mlx_int_wait_first_expose, no flush is needed. +*/ + +#include "mlx_int.h" + + +void *mlx_new_window(t_xvar *xvar,int size_x,int size_y,char *title) +{ + t_win_list *new_win; + XSetWindowAttributes xswa; + XGCValues xgcv; + + xswa.background_pixel = 0; + xswa.border_pixel = -1; + xswa.colormap = xvar->cmap; + /* + xswa.event_mask = ButtonPressMask | ButtonReleaseMask | ExposureMask | + KeyPressMask | KeyReleaseMask | StructureNotifyMask; + */ + /* xswa.event_mask = ExposureMask; */ + xswa.event_mask = 0xFFFFFF; /* all events */ + if (!(new_win = malloc(sizeof(*new_win)))) + return ((void *)0); + new_win->window = XCreateWindow(xvar->display,xvar->root,0,0,size_x,size_y, + 0,CopyFromParent,InputOutput,xvar->visual, + CWEventMask|CWBackPixel|CWBorderPixel| + CWColormap,&xswa); + mlx_int_anti_resize_win(xvar,new_win->window,size_x,size_y); + XStoreName(xvar->display,new_win->window,title); + XSetWMProtocols(xvar->display, new_win->window, &(xvar->wm_delete_window), 1); + xgcv.foreground = -1; + xgcv.function = GXcopy; + xgcv.plane_mask = AllPlanes; + new_win->gc = XCreateGC(xvar->display,new_win->window, + GCFunction|GCPlaneMask|GCForeground,&xgcv); + new_win->next = xvar->win_list; + xvar->win_list = new_win; + /* + new_win->mouse_hook = mlx_int_do_nothing; + new_win->key_hook = mlx_int_do_nothing; + new_win->expose_hook = mlx_int_do_nothing; + */ + bzero(&(new_win->hooks), sizeof(new_win->hooks)); + XMapRaised(xvar->display,new_win->window); + mlx_int_wait_first_expose(xvar,new_win->window); + return (new_win); +} diff --git a/minilibx-linux-master/mlx_new_window.o b/minilibx-linux-master-bak/mlx_new_window.o similarity index 100% rename from minilibx-linux-master/mlx_new_window.o rename to minilibx-linux-master-bak/mlx_new_window.o diff --git a/minilibx-linux-master-bak/mlx_pixel_put.c b/minilibx-linux-master-bak/mlx_pixel_put.c new file mode 100644 index 0000000..c411f36 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_pixel_put.c @@ -0,0 +1,26 @@ +/* + ** mlx_pixel_put.c for MiniLibX in + ** + ** Made by Charlie Root + ** Login + ** + ** Started on Mon Jul 31 19:01:33 2000 Charlie Root +** Last update Tue Sep 25 17:09:49 2001 Charlie Root + */ + + +#include "mlx_int.h" + + + +int mlx_pixel_put(t_xvar *xvar,t_win_list *win, + int x,int y,int color) +{ + XGCValues xgcv; + + xgcv.foreground = mlx_int_get_good_color(xvar,color); + XChangeGC(xvar->display,win->gc,GCForeground,&xgcv); + XDrawPoint(xvar->display,win->window,win->gc,x,y); + if (xvar->do_flush) + XFlush(xvar->display); +} diff --git a/minilibx-linux-master/mlx_pixel_put.o b/minilibx-linux-master-bak/mlx_pixel_put.o similarity index 100% rename from minilibx-linux-master/mlx_pixel_put.o rename to minilibx-linux-master-bak/mlx_pixel_put.o diff --git a/minilibx-linux-master-bak/mlx_put_image_to_window.c b/minilibx-linux-master-bak/mlx_put_image_to_window.c new file mode 100644 index 0000000..86ba3f4 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_put_image_to_window.c @@ -0,0 +1,37 @@ +/* +** mlx_put_image_to_window.c for MiniLibX in raytraceur +** +** Made by Charlie Root +** Login +** +** Started on Mon Aug 14 15:55:49 2000 Charlie Root +** Last update Sun Oct 2 09:53:00 2005 Olivier Crouzet +*/ + + + +#include "mlx_int.h" + + +int mlx_put_image_to_window(t_xvar *xvar,t_win_list *win,t_img *img, + int x,int y) +{ + GC gc; + + gc = win->gc; + if (img->gc) + { + gc = img->gc; + XSetClipOrigin(xvar->display, gc, x, y); + } + if (img->type==MLX_TYPE_SHM) + XShmPutImage(xvar->display,img->pix, win->gc, img->image,0,0,0,0, + img->width,img->height,False); + if (img->type==MLX_TYPE_XIMAGE) + XPutImage(xvar->display,img->pix, win->gc, img->image,0,0,0,0, + img->width,img->height); + XCopyArea(xvar->display,img->pix,win->window, gc, + 0,0,img->width,img->height,x,y); + if (xvar->do_flush) + XFlush(xvar->display); +} diff --git a/minilibx-linux-master/mlx_put_image_to_window.o b/minilibx-linux-master-bak/mlx_put_image_to_window.o similarity index 100% rename from minilibx-linux-master/mlx_put_image_to_window.o rename to minilibx-linux-master-bak/mlx_put_image_to_window.o diff --git a/minilibx-linux-master-bak/mlx_rgb.c b/minilibx-linux-master-bak/mlx_rgb.c new file mode 100644 index 0000000..0cfccf6 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_rgb.c @@ -0,0 +1,764 @@ +/* +** This is a generated file with rgb2c.pl and rgb.txt from +** the XFree86 distribution. +*/ + +#include "mlx_int.h" + +struct s_col_name mlx_col_name[] = +{ + { "snow" , 0xfffafa }, + { "ghost white" , 0xf8f8ff }, + { "ghostwhite" , 0xf8f8ff }, + { "white smoke" , 0xf5f5f5 }, + { "whitesmoke" , 0xf5f5f5 }, + { "gainsboro" , 0xdcdcdc }, + { "floral white" , 0xfffaf0 }, + { "floralwhite" , 0xfffaf0 }, + { "old lace" , 0xfdf5e6 }, + { "oldlace" , 0xfdf5e6 }, + { "linen" , 0xfaf0e6 }, + { "antique white" , 0xfaebd7 }, + { "antiquewhite" , 0xfaebd7 }, + { "papaya whip" , 0xffefd5 }, + { "papayawhip" , 0xffefd5 }, + { "blanched almond" , 0xffebcd }, + { "blanchedalmond" , 0xffebcd }, + { "bisque" , 0xffe4c4 }, + { "peach puff" , 0xffdab9 }, + { "peachpuff" , 0xffdab9 }, + { "navajo white" , 0xffdead }, + { "navajowhite" , 0xffdead }, + { "moccasin" , 0xffe4b5 }, + { "cornsilk" , 0xfff8dc }, + { "ivory" , 0xfffff0 }, + { "lemon chiffon" , 0xfffacd }, + { "lemonchiffon" , 0xfffacd }, + { "seashell" , 0xfff5ee }, + { "honeydew" , 0xf0fff0 }, + { "mint cream" , 0xf5fffa }, + { "mintcream" , 0xf5fffa }, + { "azure" , 0xf0ffff }, + { "alice blue" , 0xf0f8ff }, + { "aliceblue" , 0xf0f8ff }, + { "lavender" , 0xe6e6fa }, + { "lavender blush" , 0xfff0f5 }, + { "lavenderblush" , 0xfff0f5 }, + { "misty rose" , 0xffe4e1 }, + { "mistyrose" , 0xffe4e1 }, + { "white" , 0xffffff }, + { "black" , 0x0 }, + { "dark slate" , 0x2f4f4f }, + { "darkslategray" , 0x2f4f4f }, + { "dark slate" , 0x2f4f4f }, + { "darkslategrey" , 0x2f4f4f }, + { "dim gray" , 0x696969 }, + { "dimgray" , 0x696969 }, + { "dim grey" , 0x696969 }, + { "dimgrey" , 0x696969 }, + { "slate gray" , 0x708090 }, + { "slategray" , 0x708090 }, + { "slate grey" , 0x708090 }, + { "slategrey" , 0x708090 }, + { "light slate" , 0x778899 }, + { "lightslategray" , 0x778899 }, + { "light slate" , 0x778899 }, + { "lightslategrey" , 0x778899 }, + { "gray" , 0xbebebe }, + { "grey" , 0xbebebe }, + { "light grey" , 0xd3d3d3 }, + { "lightgrey" , 0xd3d3d3 }, + { "light gray" , 0xd3d3d3 }, + { "lightgray" , 0xd3d3d3 }, + { "midnight blue" , 0x191970 }, + { "midnightblue" , 0x191970 }, + { "navy" , 0x80 }, + { "navy blue" , 0x80 }, + { "navyblue" , 0x80 }, + { "cornflower blue" , 0x6495ed }, + { "cornflowerblue" , 0x6495ed }, + { "dark slate" , 0x483d8b }, + { "darkslateblue" , 0x483d8b }, + { "slate blue" , 0x6a5acd }, + { "slateblue" , 0x6a5acd }, + { "medium slate" , 0x7b68ee }, + { "mediumslateblue" , 0x7b68ee }, + { "light slate" , 0x8470ff }, + { "lightslateblue" , 0x8470ff }, + { "medium blue" , 0xcd }, + { "mediumblue" , 0xcd }, + { "royal blue" , 0x4169e1 }, + { "royalblue" , 0x4169e1 }, + { "blue" , 0xff }, + { "dodger blue" , 0x1e90ff }, + { "dodgerblue" , 0x1e90ff }, + { "deep sky" , 0xbfff }, + { "deepskyblue" , 0xbfff }, + { "sky blue" , 0x87ceeb }, + { "skyblue" , 0x87ceeb }, + { "light sky" , 0x87cefa }, + { "lightskyblue" , 0x87cefa }, + { "steel blue" , 0x4682b4 }, + { "steelblue" , 0x4682b4 }, + { "light steel" , 0xb0c4de }, + { "lightsteelblue" , 0xb0c4de }, + { "light blue" , 0xadd8e6 }, + { "lightblue" , 0xadd8e6 }, + { "powder blue" , 0xb0e0e6 }, + { "powderblue" , 0xb0e0e6 }, + { "pale turquoise" , 0xafeeee }, + { "paleturquoise" , 0xafeeee }, + { "dark turquoise" , 0xced1 }, + { "darkturquoise" , 0xced1 }, + { "medium turquoise" , 0x48d1cc }, + { "mediumturquoise" , 0x48d1cc }, + { "turquoise" , 0x40e0d0 }, + { "cyan" , 0xffff }, + { "light cyan" , 0xe0ffff }, + { "lightcyan" , 0xe0ffff }, + { "cadet blue" , 0x5f9ea0 }, + { "cadetblue" , 0x5f9ea0 }, + { "medium aquamarine" , 0x66cdaa }, + { "mediumaquamarine" , 0x66cdaa }, + { "aquamarine" , 0x7fffd4 }, + { "dark green" , 0x6400 }, + { "darkgreen" , 0x6400 }, + { "dark olive" , 0x556b2f }, + { "darkolivegreen" , 0x556b2f }, + { "dark sea" , 0x8fbc8f }, + { "darkseagreen" , 0x8fbc8f }, + { "sea green" , 0x2e8b57 }, + { "seagreen" , 0x2e8b57 }, + { "medium sea" , 0x3cb371 }, + { "mediumseagreen" , 0x3cb371 }, + { "light sea" , 0x20b2aa }, + { "lightseagreen" , 0x20b2aa }, + { "pale green" , 0x98fb98 }, + { "palegreen" , 0x98fb98 }, + { "spring green" , 0xff7f }, + { "springgreen" , 0xff7f }, + { "lawn green" , 0x7cfc00 }, + { "lawngreen" , 0x7cfc00 }, + { "green" , 0xff00 }, + { "chartreuse" , 0x7fff00 }, + { "medium spring" , 0xfa9a }, + { "mediumspringgreen" , 0xfa9a }, + { "green yellow" , 0xadff2f }, + { "greenyellow" , 0xadff2f }, + { "lime green" , 0x32cd32 }, + { "limegreen" , 0x32cd32 }, + { "yellow green" , 0x9acd32 }, + { "yellowgreen" , 0x9acd32 }, + { "forest green" , 0x228b22 }, + { "forestgreen" , 0x228b22 }, + { "olive drab" , 0x6b8e23 }, + { "olivedrab" , 0x6b8e23 }, + { "dark khaki" , 0xbdb76b }, + { "darkkhaki" , 0xbdb76b }, + { "khaki" , 0xf0e68c }, + { "pale goldenrod" , 0xeee8aa }, + { "palegoldenrod" , 0xeee8aa }, + { "light goldenrod" , 0xfafad2 }, + { "lightgoldenrodyellow" , 0xfafad2 }, + { "light yellow" , 0xffffe0 }, + { "lightyellow" , 0xffffe0 }, + { "yellow" , 0xffff00 }, + { "gold" , 0xffd700 }, + { "light goldenrod" , 0xeedd82 }, + { "lightgoldenrod" , 0xeedd82 }, + { "goldenrod" , 0xdaa520 }, + { "dark goldenrod" , 0xb8860b }, + { "darkgoldenrod" , 0xb8860b }, + { "rosy brown" , 0xbc8f8f }, + { "rosybrown" , 0xbc8f8f }, + { "indian red" , 0xcd5c5c }, + { "indianred" , 0xcd5c5c }, + { "saddle brown" , 0x8b4513 }, + { "saddlebrown" , 0x8b4513 }, + { "sienna" , 0xa0522d }, + { "peru" , 0xcd853f }, + { "burlywood" , 0xdeb887 }, + { "beige" , 0xf5f5dc }, + { "wheat" , 0xf5deb3 }, + { "sandy brown" , 0xf4a460 }, + { "sandybrown" , 0xf4a460 }, + { "tan" , 0xd2b48c }, + { "chocolate" , 0xd2691e }, + { "firebrick" , 0xb22222 }, + { "brown" , 0xa52a2a }, + { "dark salmon" , 0xe9967a }, + { "darksalmon" , 0xe9967a }, + { "salmon" , 0xfa8072 }, + { "light salmon" , 0xffa07a }, + { "lightsalmon" , 0xffa07a }, + { "orange" , 0xffa500 }, + { "dark orange" , 0xff8c00 }, + { "darkorange" , 0xff8c00 }, + { "coral" , 0xff7f50 }, + { "light coral" , 0xf08080 }, + { "lightcoral" , 0xf08080 }, + { "tomato" , 0xff6347 }, + { "orange red" , 0xff4500 }, + { "orangered" , 0xff4500 }, + { "red" , 0xff0000 }, + { "hot pink" , 0xff69b4 }, + { "hotpink" , 0xff69b4 }, + { "deep pink" , 0xff1493 }, + { "deeppink" , 0xff1493 }, + { "pink" , 0xffc0cb }, + { "light pink" , 0xffb6c1 }, + { "lightpink" , 0xffb6c1 }, + { "pale violet" , 0xdb7093 }, + { "palevioletred" , 0xdb7093 }, + { "maroon" , 0xb03060 }, + { "medium violet" , 0xc71585 }, + { "mediumvioletred" , 0xc71585 }, + { "violet red" , 0xd02090 }, + { "violetred" , 0xd02090 }, + { "magenta" , 0xff00ff }, + { "violet" , 0xee82ee }, + { "plum" , 0xdda0dd }, + { "orchid" , 0xda70d6 }, + { "medium orchid" , 0xba55d3 }, + { "mediumorchid" , 0xba55d3 }, + { "dark orchid" , 0x9932cc }, + { "darkorchid" , 0x9932cc }, + { "dark violet" , 0x9400d3 }, + { "darkviolet" , 0x9400d3 }, + { "blue violet" , 0x8a2be2 }, + { "blueviolet" , 0x8a2be2 }, + { "purple" , 0xa020f0 }, + { "medium purple" , 0x9370db }, + { "mediumpurple" , 0x9370db }, + { "thistle" , 0xd8bfd8 }, + { "snow1" , 0xfffafa }, + { "snow2" , 0xeee9e9 }, + { "snow3" , 0xcdc9c9 }, + { "snow4" , 0x8b8989 }, + { "seashell1" , 0xfff5ee }, + { "seashell2" , 0xeee5de }, + { "seashell3" , 0xcdc5bf }, + { "seashell4" , 0x8b8682 }, + { "antiquewhite1" , 0xffefdb }, + { "antiquewhite2" , 0xeedfcc }, + { "antiquewhite3" , 0xcdc0b0 }, + { "antiquewhite4" , 0x8b8378 }, + { "bisque1" , 0xffe4c4 }, + { "bisque2" , 0xeed5b7 }, + { "bisque3" , 0xcdb79e }, + { "bisque4" , 0x8b7d6b }, + { "peachpuff1" , 0xffdab9 }, + { "peachpuff2" , 0xeecbad }, + { "peachpuff3" , 0xcdaf95 }, + { "peachpuff4" , 0x8b7765 }, + { "navajowhite1" , 0xffdead }, + { "navajowhite2" , 0xeecfa1 }, + { "navajowhite3" , 0xcdb38b }, + { "navajowhite4" , 0x8b795e }, + { "lemonchiffon1" , 0xfffacd }, + { "lemonchiffon2" , 0xeee9bf }, + { "lemonchiffon3" , 0xcdc9a5 }, + { "lemonchiffon4" , 0x8b8970 }, + { "cornsilk1" , 0xfff8dc }, + { "cornsilk2" , 0xeee8cd }, + { "cornsilk3" , 0xcdc8b1 }, + { "cornsilk4" , 0x8b8878 }, + { "ivory1" , 0xfffff0 }, + { "ivory2" , 0xeeeee0 }, + { "ivory3" , 0xcdcdc1 }, + { "ivory4" , 0x8b8b83 }, + { "honeydew1" , 0xf0fff0 }, + { "honeydew2" , 0xe0eee0 }, + { "honeydew3" , 0xc1cdc1 }, + { "honeydew4" , 0x838b83 }, + { "lavenderblush1" , 0xfff0f5 }, + { "lavenderblush2" , 0xeee0e5 }, + { "lavenderblush3" , 0xcdc1c5 }, + { "lavenderblush4" , 0x8b8386 }, + { "mistyrose1" , 0xffe4e1 }, + { "mistyrose2" , 0xeed5d2 }, + { "mistyrose3" , 0xcdb7b5 }, + { "mistyrose4" , 0x8b7d7b }, + { "azure1" , 0xf0ffff }, + { "azure2" , 0xe0eeee }, + { "azure3" , 0xc1cdcd }, + { "azure4" , 0x838b8b }, + { "slateblue1" , 0x836fff }, + { "slateblue2" , 0x7a67ee }, + { "slateblue3" , 0x6959cd }, + { "slateblue4" , 0x473c8b }, + { "royalblue1" , 0x4876ff }, + { "royalblue2" , 0x436eee }, + { "royalblue3" , 0x3a5fcd }, + { "royalblue4" , 0x27408b }, + { "blue1" , 0xff }, + { "blue2" , 0xee }, + { "blue3" , 0xcd }, + { "blue4" , 0x8b }, + { "dodgerblue1" , 0x1e90ff }, + { "dodgerblue2" , 0x1c86ee }, + { "dodgerblue3" , 0x1874cd }, + { "dodgerblue4" , 0x104e8b }, + { "steelblue1" , 0x63b8ff }, + { "steelblue2" , 0x5cacee }, + { "steelblue3" , 0x4f94cd }, + { "steelblue4" , 0x36648b }, + { "deepskyblue1" , 0xbfff }, + { "deepskyblue2" , 0xb2ee }, + { "deepskyblue3" , 0x9acd }, + { "deepskyblue4" , 0x688b }, + { "skyblue1" , 0x87ceff }, + { "skyblue2" , 0x7ec0ee }, + { "skyblue3" , 0x6ca6cd }, + { "skyblue4" , 0x4a708b }, + { "lightskyblue1" , 0xb0e2ff }, + { "lightskyblue2" , 0xa4d3ee }, + { "lightskyblue3" , 0x8db6cd }, + { "lightskyblue4" , 0x607b8b }, + { "slategray1" , 0xc6e2ff }, + { "slategray2" , 0xb9d3ee }, + { "slategray3" , 0x9fb6cd }, + { "slategray4" , 0x6c7b8b }, + { "lightsteelblue1" , 0xcae1ff }, + { "lightsteelblue2" , 0xbcd2ee }, + { "lightsteelblue3" , 0xa2b5cd }, + { "lightsteelblue4" , 0x6e7b8b }, + { "lightblue1" , 0xbfefff }, + { "lightblue2" , 0xb2dfee }, + { "lightblue3" , 0x9ac0cd }, + { "lightblue4" , 0x68838b }, + { "lightcyan1" , 0xe0ffff }, + { "lightcyan2" , 0xd1eeee }, + { "lightcyan3" , 0xb4cdcd }, + { "lightcyan4" , 0x7a8b8b }, + { "paleturquoise1" , 0xbbffff }, + { "paleturquoise2" , 0xaeeeee }, + { "paleturquoise3" , 0x96cdcd }, + { "paleturquoise4" , 0x668b8b }, + { "cadetblue1" , 0x98f5ff }, + { "cadetblue2" , 0x8ee5ee }, + { "cadetblue3" , 0x7ac5cd }, + { "cadetblue4" , 0x53868b }, + { "turquoise1" , 0xf5ff }, + { "turquoise2" , 0xe5ee }, + { "turquoise3" , 0xc5cd }, + { "turquoise4" , 0x868b }, + { "cyan1" , 0xffff }, + { "cyan2" , 0xeeee }, + { "cyan3" , 0xcdcd }, + { "cyan4" , 0x8b8b }, + { "darkslategray1" , 0x97ffff }, + { "darkslategray2" , 0x8deeee }, + { "darkslategray3" , 0x79cdcd }, + { "darkslategray4" , 0x528b8b }, + { "aquamarine1" , 0x7fffd4 }, + { "aquamarine2" , 0x76eec6 }, + { "aquamarine3" , 0x66cdaa }, + { "aquamarine4" , 0x458b74 }, + { "darkseagreen1" , 0xc1ffc1 }, + { "darkseagreen2" , 0xb4eeb4 }, + { "darkseagreen3" , 0x9bcd9b }, + { "darkseagreen4" , 0x698b69 }, + { "seagreen1" , 0x54ff9f }, + { "seagreen2" , 0x4eee94 }, + { "seagreen3" , 0x43cd80 }, + { "seagreen4" , 0x2e8b57 }, + { "palegreen1" , 0x9aff9a }, + { "palegreen2" , 0x90ee90 }, + { "palegreen3" , 0x7ccd7c }, + { "palegreen4" , 0x548b54 }, + { "springgreen1" , 0xff7f }, + { "springgreen2" , 0xee76 }, + { "springgreen3" , 0xcd66 }, + { "springgreen4" , 0x8b45 }, + { "green1" , 0xff00 }, + { "green2" , 0xee00 }, + { "green3" , 0xcd00 }, + { "green4" , 0x8b00 }, + { "chartreuse1" , 0x7fff00 }, + { "chartreuse2" , 0x76ee00 }, + { "chartreuse3" , 0x66cd00 }, + { "chartreuse4" , 0x458b00 }, + { "olivedrab1" , 0xc0ff3e }, + { "olivedrab2" , 0xb3ee3a }, + { "olivedrab3" , 0x9acd32 }, + { "olivedrab4" , 0x698b22 }, + { "darkolivegreen1" , 0xcaff70 }, + { "darkolivegreen2" , 0xbcee68 }, + { "darkolivegreen3" , 0xa2cd5a }, + { "darkolivegreen4" , 0x6e8b3d }, + { "khaki1" , 0xfff68f }, + { "khaki2" , 0xeee685 }, + { "khaki3" , 0xcdc673 }, + { "khaki4" , 0x8b864e }, + { "lightgoldenrod1" , 0xffec8b }, + { "lightgoldenrod2" , 0xeedc82 }, + { "lightgoldenrod3" , 0xcdbe70 }, + { "lightgoldenrod4" , 0x8b814c }, + { "lightyellow1" , 0xffffe0 }, + { "lightyellow2" , 0xeeeed1 }, + { "lightyellow3" , 0xcdcdb4 }, + { "lightyellow4" , 0x8b8b7a }, + { "yellow1" , 0xffff00 }, + { "yellow2" , 0xeeee00 }, + { "yellow3" , 0xcdcd00 }, + { "yellow4" , 0x8b8b00 }, + { "gold1" , 0xffd700 }, + { "gold2" , 0xeec900 }, + { "gold3" , 0xcdad00 }, + { "gold4" , 0x8b7500 }, + { "goldenrod1" , 0xffc125 }, + { "goldenrod2" , 0xeeb422 }, + { "goldenrod3" , 0xcd9b1d }, + { "goldenrod4" , 0x8b6914 }, + { "darkgoldenrod1" , 0xffb90f }, + { "darkgoldenrod2" , 0xeead0e }, + { "darkgoldenrod3" , 0xcd950c }, + { "darkgoldenrod4" , 0x8b6508 }, + { "rosybrown1" , 0xffc1c1 }, + { "rosybrown2" , 0xeeb4b4 }, + { "rosybrown3" , 0xcd9b9b }, + { "rosybrown4" , 0x8b6969 }, + { "indianred1" , 0xff6a6a }, + { "indianred2" , 0xee6363 }, + { "indianred3" , 0xcd5555 }, + { "indianred4" , 0x8b3a3a }, + { "sienna1" , 0xff8247 }, + { "sienna2" , 0xee7942 }, + { "sienna3" , 0xcd6839 }, + { "sienna4" , 0x8b4726 }, + { "burlywood1" , 0xffd39b }, + { "burlywood2" , 0xeec591 }, + { "burlywood3" , 0xcdaa7d }, + { "burlywood4" , 0x8b7355 }, + { "wheat1" , 0xffe7ba }, + { "wheat2" , 0xeed8ae }, + { "wheat3" , 0xcdba96 }, + { "wheat4" , 0x8b7e66 }, + { "tan1" , 0xffa54f }, + { "tan2" , 0xee9a49 }, + { "tan3" , 0xcd853f }, + { "tan4" , 0x8b5a2b }, + { "chocolate1" , 0xff7f24 }, + { "chocolate2" , 0xee7621 }, + { "chocolate3" , 0xcd661d }, + { "chocolate4" , 0x8b4513 }, + { "firebrick1" , 0xff3030 }, + { "firebrick2" , 0xee2c2c }, + { "firebrick3" , 0xcd2626 }, + { "firebrick4" , 0x8b1a1a }, + { "brown1" , 0xff4040 }, + { "brown2" , 0xee3b3b }, + { "brown3" , 0xcd3333 }, + { "brown4" , 0x8b2323 }, + { "salmon1" , 0xff8c69 }, + { "salmon2" , 0xee8262 }, + { "salmon3" , 0xcd7054 }, + { "salmon4" , 0x8b4c39 }, + { "lightsalmon1" , 0xffa07a }, + { "lightsalmon2" , 0xee9572 }, + { "lightsalmon3" , 0xcd8162 }, + { "lightsalmon4" , 0x8b5742 }, + { "orange1" , 0xffa500 }, + { "orange2" , 0xee9a00 }, + { "orange3" , 0xcd8500 }, + { "orange4" , 0x8b5a00 }, + { "darkorange1" , 0xff7f00 }, + { "darkorange2" , 0xee7600 }, + { "darkorange3" , 0xcd6600 }, + { "darkorange4" , 0x8b4500 }, + { "coral1" , 0xff7256 }, + { "coral2" , 0xee6a50 }, + { "coral3" , 0xcd5b45 }, + { "coral4" , 0x8b3e2f }, + { "tomato1" , 0xff6347 }, + { "tomato2" , 0xee5c42 }, + { "tomato3" , 0xcd4f39 }, + { "tomato4" , 0x8b3626 }, + { "orangered1" , 0xff4500 }, + { "orangered2" , 0xee4000 }, + { "orangered3" , 0xcd3700 }, + { "orangered4" , 0x8b2500 }, + { "red1" , 0xff0000 }, + { "red2" , 0xee0000 }, + { "red3" , 0xcd0000 }, + { "red4" , 0x8b0000 }, + { "deeppink1" , 0xff1493 }, + { "deeppink2" , 0xee1289 }, + { "deeppink3" , 0xcd1076 }, + { "deeppink4" , 0x8b0a50 }, + { "hotpink1" , 0xff6eb4 }, + { "hotpink2" , 0xee6aa7 }, + { "hotpink3" , 0xcd6090 }, + { "hotpink4" , 0x8b3a62 }, + { "pink1" , 0xffb5c5 }, + { "pink2" , 0xeea9b8 }, + { "pink3" , 0xcd919e }, + { "pink4" , 0x8b636c }, + { "lightpink1" , 0xffaeb9 }, + { "lightpink2" , 0xeea2ad }, + { "lightpink3" , 0xcd8c95 }, + { "lightpink4" , 0x8b5f65 }, + { "palevioletred1" , 0xff82ab }, + { "palevioletred2" , 0xee799f }, + { "palevioletred3" , 0xcd6889 }, + { "palevioletred4" , 0x8b475d }, + { "maroon1" , 0xff34b3 }, + { "maroon2" , 0xee30a7 }, + { "maroon3" , 0xcd2990 }, + { "maroon4" , 0x8b1c62 }, + { "violetred1" , 0xff3e96 }, + { "violetred2" , 0xee3a8c }, + { "violetred3" , 0xcd3278 }, + { "violetred4" , 0x8b2252 }, + { "magenta1" , 0xff00ff }, + { "magenta2" , 0xee00ee }, + { "magenta3" , 0xcd00cd }, + { "magenta4" , 0x8b008b }, + { "orchid1" , 0xff83fa }, + { "orchid2" , 0xee7ae9 }, + { "orchid3" , 0xcd69c9 }, + { "orchid4" , 0x8b4789 }, + { "plum1" , 0xffbbff }, + { "plum2" , 0xeeaeee }, + { "plum3" , 0xcd96cd }, + { "plum4" , 0x8b668b }, + { "mediumorchid1" , 0xe066ff }, + { "mediumorchid2" , 0xd15fee }, + { "mediumorchid3" , 0xb452cd }, + { "mediumorchid4" , 0x7a378b }, + { "darkorchid1" , 0xbf3eff }, + { "darkorchid2" , 0xb23aee }, + { "darkorchid3" , 0x9a32cd }, + { "darkorchid4" , 0x68228b }, + { "purple1" , 0x9b30ff }, + { "purple2" , 0x912cee }, + { "purple3" , 0x7d26cd }, + { "purple4" , 0x551a8b }, + { "mediumpurple1" , 0xab82ff }, + { "mediumpurple2" , 0x9f79ee }, + { "mediumpurple3" , 0x8968cd }, + { "mediumpurple4" , 0x5d478b }, + { "thistle1" , 0xffe1ff }, + { "thistle2" , 0xeed2ee }, + { "thistle3" , 0xcdb5cd }, + { "thistle4" , 0x8b7b8b }, + { "gray0" , 0x0 }, + { "grey0" , 0x0 }, + { "gray1" , 0x30303 }, + { "grey1" , 0x30303 }, + { "gray2" , 0x50505 }, + { "grey2" , 0x50505 }, + { "gray3" , 0x80808 }, + { "grey3" , 0x80808 }, + { "gray4" , 0xa0a0a }, + { "grey4" , 0xa0a0a }, + { "gray5" , 0xd0d0d }, + { "grey5" , 0xd0d0d }, + { "gray6" , 0xf0f0f }, + { "grey6" , 0xf0f0f }, + { "gray7" , 0x121212 }, + { "grey7" , 0x121212 }, + { "gray8" , 0x141414 }, + { "grey8" , 0x141414 }, + { "gray9" , 0x171717 }, + { "grey9" , 0x171717 }, + { "gray10" , 0x1a1a1a }, + { "grey10" , 0x1a1a1a }, + { "gray11" , 0x1c1c1c }, + { "grey11" , 0x1c1c1c }, + { "gray12" , 0x1f1f1f }, + { "grey12" , 0x1f1f1f }, + { "gray13" , 0x212121 }, + { "grey13" , 0x212121 }, + { "gray14" , 0x242424 }, + { "grey14" , 0x242424 }, + { "gray15" , 0x262626 }, + { "grey15" , 0x262626 }, + { "gray16" , 0x292929 }, + { "grey16" , 0x292929 }, + { "gray17" , 0x2b2b2b }, + { "grey17" , 0x2b2b2b }, + { "gray18" , 0x2e2e2e }, + { "grey18" , 0x2e2e2e }, + { "gray19" , 0x303030 }, + { "grey19" , 0x303030 }, + { "gray20" , 0x333333 }, + { "grey20" , 0x333333 }, + { "gray21" , 0x363636 }, + { "grey21" , 0x363636 }, + { "gray22" , 0x383838 }, + { "grey22" , 0x383838 }, + { "gray23" , 0x3b3b3b }, + { "grey23" , 0x3b3b3b }, + { "gray24" , 0x3d3d3d }, + { "grey24" , 0x3d3d3d }, + { "gray25" , 0x404040 }, + { "grey25" , 0x404040 }, + { "gray26" , 0x424242 }, + { "grey26" , 0x424242 }, + { "gray27" , 0x454545 }, + { "grey27" , 0x454545 }, + { "gray28" , 0x474747 }, + { "grey28" , 0x474747 }, + { "gray29" , 0x4a4a4a }, + { "grey29" , 0x4a4a4a }, + { "gray30" , 0x4d4d4d }, + { "grey30" , 0x4d4d4d }, + { "gray31" , 0x4f4f4f }, + { "grey31" , 0x4f4f4f }, + { "gray32" , 0x525252 }, + { "grey32" , 0x525252 }, + { "gray33" , 0x545454 }, + { "grey33" , 0x545454 }, + { "gray34" , 0x575757 }, + { "grey34" , 0x575757 }, + { "gray35" , 0x595959 }, + { "grey35" , 0x595959 }, + { "gray36" , 0x5c5c5c }, + { "grey36" , 0x5c5c5c }, + { "gray37" , 0x5e5e5e }, + { "grey37" , 0x5e5e5e }, + { "gray38" , 0x616161 }, + { "grey38" , 0x616161 }, + { "gray39" , 0x636363 }, + { "grey39" , 0x636363 }, + { "gray40" , 0x666666 }, + { "grey40" , 0x666666 }, + { "gray41" , 0x696969 }, + { "grey41" , 0x696969 }, + { "gray42" , 0x6b6b6b }, + { "grey42" , 0x6b6b6b }, + { "gray43" , 0x6e6e6e }, + { "grey43" , 0x6e6e6e }, + { "gray44" , 0x707070 }, + { "grey44" , 0x707070 }, + { "gray45" , 0x737373 }, + { "grey45" , 0x737373 }, + { "gray46" , 0x757575 }, + { "grey46" , 0x757575 }, + { "gray47" , 0x787878 }, + { "grey47" , 0x787878 }, + { "gray48" , 0x7a7a7a }, + { "grey48" , 0x7a7a7a }, + { "gray49" , 0x7d7d7d }, + { "grey49" , 0x7d7d7d }, + { "gray50" , 0x7f7f7f }, + { "grey50" , 0x7f7f7f }, + { "gray51" , 0x828282 }, + { "grey51" , 0x828282 }, + { "gray52" , 0x858585 }, + { "grey52" , 0x858585 }, + { "gray53" , 0x878787 }, + { "grey53" , 0x878787 }, + { "gray54" , 0x8a8a8a }, + { "grey54" , 0x8a8a8a }, + { "gray55" , 0x8c8c8c }, + { "grey55" , 0x8c8c8c }, + { "gray56" , 0x8f8f8f }, + { "grey56" , 0x8f8f8f }, + { "gray57" , 0x919191 }, + { "grey57" , 0x919191 }, + { "gray58" , 0x949494 }, + { "grey58" , 0x949494 }, + { "gray59" , 0x969696 }, + { "grey59" , 0x969696 }, + { "gray60" , 0x999999 }, + { "grey60" , 0x999999 }, + { "gray61" , 0x9c9c9c }, + { "grey61" , 0x9c9c9c }, + { "gray62" , 0x9e9e9e }, + { "grey62" , 0x9e9e9e }, + { "gray63" , 0xa1a1a1 }, + { "grey63" , 0xa1a1a1 }, + { "gray64" , 0xa3a3a3 }, + { "grey64" , 0xa3a3a3 }, + { "gray65" , 0xa6a6a6 }, + { "grey65" , 0xa6a6a6 }, + { "gray66" , 0xa8a8a8 }, + { "grey66" , 0xa8a8a8 }, + { "gray67" , 0xababab }, + { "grey67" , 0xababab }, + { "gray68" , 0xadadad }, + { "grey68" , 0xadadad }, + { "gray69" , 0xb0b0b0 }, + { "grey69" , 0xb0b0b0 }, + { "gray70" , 0xb3b3b3 }, + { "grey70" , 0xb3b3b3 }, + { "gray71" , 0xb5b5b5 }, + { "grey71" , 0xb5b5b5 }, + { "gray72" , 0xb8b8b8 }, + { "grey72" , 0xb8b8b8 }, + { "gray73" , 0xbababa }, + { "grey73" , 0xbababa }, + { "gray74" , 0xbdbdbd }, + { "grey74" , 0xbdbdbd }, + { "gray75" , 0xbfbfbf }, + { "grey75" , 0xbfbfbf }, + { "gray76" , 0xc2c2c2 }, + { "grey76" , 0xc2c2c2 }, + { "gray77" , 0xc4c4c4 }, + { "grey77" , 0xc4c4c4 }, + { "gray78" , 0xc7c7c7 }, + { "grey78" , 0xc7c7c7 }, + { "gray79" , 0xc9c9c9 }, + { "grey79" , 0xc9c9c9 }, + { "gray80" , 0xcccccc }, + { "grey80" , 0xcccccc }, + { "gray81" , 0xcfcfcf }, + { "grey81" , 0xcfcfcf }, + { "gray82" , 0xd1d1d1 }, + { "grey82" , 0xd1d1d1 }, + { "gray83" , 0xd4d4d4 }, + { "grey83" , 0xd4d4d4 }, + { "gray84" , 0xd6d6d6 }, + { "grey84" , 0xd6d6d6 }, + { "gray85" , 0xd9d9d9 }, + { "grey85" , 0xd9d9d9 }, + { "gray86" , 0xdbdbdb }, + { "grey86" , 0xdbdbdb }, + { "gray87" , 0xdedede }, + { "grey87" , 0xdedede }, + { "gray88" , 0xe0e0e0 }, + { "grey88" , 0xe0e0e0 }, + { "gray89" , 0xe3e3e3 }, + { "grey89" , 0xe3e3e3 }, + { "gray90" , 0xe5e5e5 }, + { "grey90" , 0xe5e5e5 }, + { "gray91" , 0xe8e8e8 }, + { "grey91" , 0xe8e8e8 }, + { "gray92" , 0xebebeb }, + { "grey92" , 0xebebeb }, + { "gray93" , 0xededed }, + { "grey93" , 0xededed }, + { "gray94" , 0xf0f0f0 }, + { "grey94" , 0xf0f0f0 }, + { "gray95" , 0xf2f2f2 }, + { "grey95" , 0xf2f2f2 }, + { "gray96" , 0xf5f5f5 }, + { "grey96" , 0xf5f5f5 }, + { "gray97" , 0xf7f7f7 }, + { "grey97" , 0xf7f7f7 }, + { "gray98" , 0xfafafa }, + { "grey98" , 0xfafafa }, + { "gray99" , 0xfcfcfc }, + { "grey99" , 0xfcfcfc }, + { "gray100" , 0xffffff }, + { "grey100" , 0xffffff }, + { "dark grey" , 0xa9a9a9 }, + { "darkgrey" , 0xa9a9a9 }, + { "dark gray" , 0xa9a9a9 }, + { "darkgray" , 0xa9a9a9 }, + { "dark blue" , 0x8b }, + { "darkblue" , 0x8b }, + { "dark cyan" , 0x8b8b }, + { "darkcyan" , 0x8b8b }, + { "dark magenta" , 0x8b008b }, + { "darkmagenta" , 0x8b008b }, + { "dark red" , 0x8b0000 }, + { "darkred" , 0x8b0000 }, + { "light green" , 0x90ee90 }, + { "lightgreen" , 0x90ee90 }, + { "none", -1 }, + { 0, 0 } +}; diff --git a/minilibx-linux-master/mlx_rgb.o b/minilibx-linux-master-bak/mlx_rgb.o similarity index 100% rename from minilibx-linux-master/mlx_rgb.o rename to minilibx-linux-master-bak/mlx_rgb.o diff --git a/minilibx-linux-master-bak/mlx_screen_size.c b/minilibx-linux-master-bak/mlx_screen_size.c new file mode 100644 index 0000000..835730d --- /dev/null +++ b/minilibx-linux-master-bak/mlx_screen_size.c @@ -0,0 +1,13 @@ +#include "mlx_int.h" + +int mlx_get_screen_size(void *mlx_ptr, int *sizex, int *sizey) +{ + XWindowAttributes xwAttr; + Status ret; + t_xvar *xvar; + + xvar = mlx_ptr; + ret = XGetWindowAttributes(xvar->display, xvar->root, &xwAttr); + (*sizex) = xwAttr.width; + (*sizey) = xwAttr.height; +} diff --git a/minilibx-linux-master/mlx_screen_size.o b/minilibx-linux-master-bak/mlx_screen_size.o similarity index 100% rename from minilibx-linux-master/mlx_screen_size.o rename to minilibx-linux-master-bak/mlx_screen_size.o diff --git a/minilibx-linux-master-bak/mlx_set_font.c b/minilibx-linux-master-bak/mlx_set_font.c new file mode 100644 index 0000000..111e3b8 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_set_font.c @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* mlx_set_font.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: amalliar +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/09/30 13:30:47 by amalliar #+# #+# */ +/* Updated: 2020/09/30 17:08:36 by amalliar ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "mlx_int.h" + +/* +** Allows to specify the font that will be used by mlx_string_put. +** +** Note: only fixed-width bitmap fonts are supported by Xlib, refer to xfontsel +** utility to get valid font names for this function. +*/ + +void mlx_set_font(t_xvar *xvar, t_win_list *win, char *name) +{ + static Font font = 0; + + if (font) + XUnloadFont(xvar->display, font); + font = XLoadFont(xvar->display, name); + XSetFont(xvar->display, win->gc, font); +} diff --git a/minilibx-linux-master/mlx_set_font.o b/minilibx-linux-master-bak/mlx_set_font.o similarity index 100% rename from minilibx-linux-master/mlx_set_font.o rename to minilibx-linux-master-bak/mlx_set_font.o diff --git a/minilibx-linux-master-bak/mlx_string_put.c b/minilibx-linux-master-bak/mlx_string_put.c new file mode 100644 index 0000000..8492a09 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_string_put.c @@ -0,0 +1,26 @@ +/* + ** mlx_string_put.c for MiniLibX in + ** + ** Made by Charlie Root + ** Login + ** + ** Started on Mon Jul 31 19:01:33 2000 Charlie Root +** Last update Tue Sep 25 17:11:47 2001 Charlie Root + */ + + +#include "mlx_int.h" + + + +int mlx_string_put(t_xvar *xvar,t_win_list *win, + int x,int y,int color,char *string) +{ + XGCValues xgcv; + + xgcv.foreground = mlx_int_get_good_color(xvar,color); + XChangeGC(xvar->display,win->gc,GCForeground,&xgcv); + XDrawString(xvar->display,win->window,win->gc,x,y,string,strlen(string)); + if (xvar->do_flush) + XFlush(xvar->display); +} diff --git a/minilibx-linux-master/mlx_string_put.o b/minilibx-linux-master-bak/mlx_string_put.o similarity index 100% rename from minilibx-linux-master/mlx_string_put.o rename to minilibx-linux-master-bak/mlx_string_put.o diff --git a/minilibx-linux-master-bak/mlx_xpm.c b/minilibx-linux-master-bak/mlx_xpm.c new file mode 100644 index 0000000..4a527f6 --- /dev/null +++ b/minilibx-linux-master-bak/mlx_xpm.c @@ -0,0 +1,342 @@ +/* + ** xpm-read.c for MinilibX in + ** + ** Made by Charlie Root + ** Login + ** + ** Started on Tue Dec 11 15:25:27 2001 olivier crouzet + ** Last update Sat Oct 1 14:56:13 2005 Olivier Crouzet + */ + + +#include "mlx_int.h" + +extern struct s_col_name mlx_col_name[]; + + +#define RETURN { if (colors) free(colors); if (tab) free(tab); \ + if (colors_direct) free(colors_direct); \ + if (img) {XDestroyImage(img->image); \ + XFreePixmap(xvar->display,img->pix);free(img);} \ + return ((void *)0);} + + + + +char *mlx_int_get_line(char *ptr,int *pos,int size) +{ + int pos2; + int pos3; + int pos4; + + if ((pos2 = mlx_int_str_str(ptr+*pos,"\"",size-*pos))==-1) + return ((char *)0); + if ((pos3 = mlx_int_str_str(ptr+*pos+pos2+1,"\"",size-*pos-pos2-1))==-1) + return ((char *)0); + *(ptr+*pos+pos2) = 0; + *(ptr+*pos+pos2+1+pos3) = 0; + pos4 = *pos+pos2+1; + *pos += pos2+pos3+2; + return (ptr+pos4); +} + + +unsigned int strlcpy_is_not_posix(char *dest, char *src, unsigned int size) +{ + unsigned count; + unsigned i; + + count = 0; + while (src[count] != '\0') + ++count; + i = 0; + while (src[i] != '\0' && i < (size - 1)) + { + dest[i] = src[i]; + ++i; + } + dest[i] = '\0'; + return (count); +} + +char *mlx_int_static_line(char **xpm_data,int *pos,int size) +{ + static char *copy = 0; + static int len = 0; + int len2; + char *str; + + str = xpm_data[(*pos)++]; + if ((len2 = strlen(str))>len) + { + if (copy) + free(copy); + if (!(copy = malloc(len2+1))) + return ((char *)0); + len = len2; + } + strlcpy_is_not_posix(copy, str, len2); + + return (copy); +} + + +int mlx_int_get_col_name(char *str,int size) +{ + int result; + + result = 0; + while (size--) + result = (result<<8)+*(str++); + + return (result); +} + +int mlx_int_get_text_rgb(char *name, char *end) +{ + int i; + char buff[64]; + + if (*name == '#') + return (strtol(name+1,0,16)); + if (end) + { + snprintf(buff, 64, "%s %s", name, end); + name = buff; + } + i = 0; + while (mlx_col_name[i].name) + { + if (!strcasecmp(mlx_col_name[i].name, name)) + return (mlx_col_name[i].color); + i ++; + } + return (0); +} + + +int mlx_int_xpm_set_pixel(t_img *img, char *data, int opp, int col, int x) +{ + int dec; + unsigned int ucol; + + if (opp == 4 && img->image->byte_order) + ucol = col | 0x000000FF; + else if (opp == 4) + ucol = col | 0xFF000000; + else + ucol = col; + dec = opp; + while (dec--) + { + if (img->image->byte_order) + *(data+x*opp+dec) = ucol&0xFF; + else + *(data+x*opp+opp-dec-1) = ucol&0xFF; + ucol >>= 8; + } +} + + +void *mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) +{ + int pos; + char *line; + char **tab; + char *data; + char *clip_data; + int nc; + int opp; + int cpp; + int col; + int rgb_col; + int col_name; + int method; + int x; + int i; + int j; + t_img *img; + t_xpm_col *colors; + int *colors_direct; + int width; + int height; + XImage *clip_img; + XGCValues xgcv; + Pixmap clip_pix; + + colors = 0; + colors_direct = 0; + img = 0; + tab = 0; + pos = 0; + if (!(line = f(info,&pos,info_size)) || + !(tab = mlx_int_str_to_wordtab(line)) || !(width = atoi(tab[0])) || + !(height = atoi(tab[1])) || !(nc = atoi(tab[2])) || + !(cpp = atoi(tab[3])) ) + RETURN; + free(tab); + tab = 0; + + method = 0; + if (cpp<=2) + { + method = 1; + if (!(colors_direct = malloc((cpp==2?65536:256)*sizeof(int)))) + RETURN; + } + else + if (!(colors = malloc(nc*sizeof(*colors)))) + RETURN; + + clip_data = 0; + + i = nc; + while (i--) + { + if (!(line = f(info,&pos,info_size)) || + !(tab = mlx_int_str_to_wordtab(line+cpp)) ) + RETURN; + j = 0; + while (tab[j] && strcmp(tab[j++],"c")); + + if (!tab[j]) + RETURN; + + if ((rgb_col = mlx_int_get_text_rgb(tab[j], tab[j+1]))==-1) + { + if (!(clip_data = malloc(4*width*height)) || /* ok, nice size .. */ + !(clip_img = XCreateImage(xvar->display, xvar->visual, + 1, XYPixmap, 0, clip_data, + width, height, 8, (width+7)/8)) ) + RETURN; + memset(clip_data, 0xFF, 4*width*height); + } + + if (method) + colors_direct[mlx_int_get_col_name(line,cpp)] = + rgb_col>=0?mlx_get_color_value(xvar, rgb_col):rgb_col; + else + { + colors[i].name = mlx_int_get_col_name(line,cpp); + colors[i].col = rgb_col>=0?mlx_get_color_value(xvar,rgb_col):rgb_col; + } + free(tab); + } + + if (!(img = mlx_new_image(xvar,width,height))) + RETURN; + opp = img->bpp/8; + + + i = height; + data = img->data; + while (i--) + { + if (!(line = f(info,&pos,info_size))) + RETURN; + x = 0; + while (xsize_line; + } + if (clip_data) + { + if (!(clip_pix = XCreatePixmap(xvar->display, xvar->root, + width, height, 1)) ) + RETURN; + img->gc = XCreateGC(xvar->display, clip_pix, 0, &xgcv); + XPutImage(xvar->display, clip_pix, img->gc, clip_img, + 0, 0, 0, 0, width, height); + XFreeGC(xvar->display, img->gc); + xgcv.clip_mask = clip_pix; + xgcv.function = GXcopy; + xgcv.plane_mask = AllPlanes; + img->gc = XCreateGC(xvar->display, xvar->root, GCClipMask|GCFunction| + GCPlaneMask, &xgcv); + XSync(xvar->display, False); + XDestroyImage(clip_img); + } + if (colors) + free(colors); + if (colors_direct) + free(colors_direct); + return (img); +} + + +int mlx_int_file_get_rid_comment(char *ptr, int size) +{ + int com_begin; + int com_end; + + while ((com_begin = mlx_int_str_str_cote(ptr,"/*",size))!=-1) + { + com_end = mlx_int_str_str(ptr+com_begin+2,"*/",size-com_begin-2); + memset(ptr+com_begin,' ',com_end+4); + } + while ((com_begin = mlx_int_str_str_cote(ptr,"//",size))!=-1) + { + com_end = mlx_int_str_str(ptr+com_begin+2,"\n",size-com_begin-2); + memset(ptr+com_begin,' ',com_end+3); + } +} + + +void *mlx_xpm_file_to_image(t_xvar *xvar,char *file,int *width,int *height) +{ + int fd; + int size; + char *ptr; + t_img *img; + + fd = -1; + if ((fd = open(file,O_RDONLY))==-1 || (size = lseek(fd,0,SEEK_END))==-1 || + (ptr = mmap(0,size,PROT_WRITE|PROT_READ,MAP_PRIVATE,fd,0))== + (void *)MAP_FAILED) + { + if (fd>=0) + close(fd); + return ((void *)0); + } + mlx_int_file_get_rid_comment(ptr, size); + if (img = mlx_int_parse_xpm(xvar,ptr,size,mlx_int_get_line)) + { + *width = img->width; + *height = img->height; + } + munmap(ptr,size); + close(fd); + return (img); +} + +void *mlx_xpm_to_image(t_xvar *xvar,char **xpm_data,int *width,int *height) +{ + t_img *img; + + if (img = mlx_int_parse_xpm(xvar,xpm_data,0,mlx_int_static_line)) + { + *width = img->width; + *height = img->height; + } + return (img); +} diff --git a/minilibx-linux-master-bak/mlx_xpm.c.ok b/minilibx-linux-master-bak/mlx_xpm.c.ok new file mode 100644 index 0000000..225ea3c --- /dev/null +++ b/minilibx-linux-master-bak/mlx_xpm.c.ok @@ -0,0 +1,310 @@ +/* +** xpm-read.c for MinilibX in +** +** Made by Charlie Root +** Login +** +** Started on Tue Dec 11 15:25:27 2001 olivier crouzet +** Last update Sat Oct 1 14:40:55 2005 Olivier Crouzet +*/ + + +#include "mlx_int.h" + +extern struct s_col_name mlx_col_name[]; + + +#define RETURN { if (colors) free(colors); if (tab) free(tab); \ + if (colors_direct) free(colors_direct); \ + if (img) {XDestroyImage(img->image); \ + XFreePixmap(xvar->display,img->pix);free(img);} \ + return ((void *)0);} + + + + +char *mlx_int_get_line(char *ptr,int *pos,int size) +{ + int pos2; + int pos3; + int pos4; + + if ((pos2 = mlx_int_str_str(ptr+*pos,"\"",size-*pos))==-1) + return ((char *)0); + if ((pos3 = mlx_int_str_str(ptr+*pos+pos2+1,"\"",size-*pos-pos2-1))==-1) + return ((char *)0); + *(ptr+*pos+pos2) = 0; + *(ptr+*pos+pos2+1+pos3) = 0; + pos4 = *pos+pos2+1; + *pos += pos2+pos3+2; + return (ptr+pos4); +} + + + +char *mlx_int_static_line(char **xpm_data,int *pos,int size) +{ + static char *copy = 0; + static int len = 0; + int len2; + char *str; + + str = xpm_data[(*pos)++]; + if ((len2 = strlen(str))>len) + { + if (copy) + free(copy); + if (!(copy = malloc(len2+1))) + return ((char *)0); + len = len2; + } + /* strcpy(copy,str); */ + strlcpy(copy, str, len2+1); + return (copy); +} + + +int mlx_int_get_col_name(char *str,int size) +{ + int result; + + result = 0; + while (size--) + result = (result<<8)+*(str++); + return (result); +} + +int mlx_int_get_text_rgb(char *name) +{ + int i; + + if (*name == '#') + return (strtol(name+1,0,16)); + i = 0; + while (mlx_col_name[i].name) + { + if (!strcasecmp(mlx_col_name[i].name, name)) + return (mlx_col_name[i].color); + i ++; + } + return (0); +} + + +int mlx_int_xpm_set_pixel(t_img *img, char *data, int opp, int col, int x) +{ + int dec; + + dec = opp; + while (dec--) + { + if (img->image->byte_order) + *(data+x*opp+dec) = col&0xFF; + else + *(data+x*opp+opp-dec-1) = col&0xFF; + col >>= 8; + } +} + + +void *mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) +{ + int pos; + char *line; + char **tab; + char *data; + char *clip_data; + int nc; + int opp; + int cpp; + int col; + int rgb_col; + int col_name; + int method; + int x; + int i; + int j; + t_img *img; + t_xpm_col *colors; + int *colors_direct; + int width; + int height; + XImage *clip_img; + XGCValues xgcv; + Pixmap clip_pix; + + colors = 0; + colors_direct = 0; + img = 0; + tab = 0; + pos = 0; + if (!(line = f(info,&pos,info_size)) || + !(tab = mlx_int_str_to_wordtab(line)) || !(width = atoi(tab[0])) || + !(height = atoi(tab[1])) || !(nc = atoi(tab[2])) || + !(cpp = atoi(tab[3])) ) + RETURN; + free(tab); + tab = 0; + + method = 0; + if (cpp<=2) + { + method = 1; + if (!(colors_direct = malloc((cpp==2?65536:256)*sizeof(int)))) + RETURN; + } + else + if (!(colors = malloc(nc*sizeof(*colors)))) + RETURN; + + clip_data = 0; + + i = nc; + while (i--) + { + if (!(line = f(info,&pos,info_size)) || + !(tab = mlx_int_str_to_wordtab(line+cpp)) ) + RETURN; + j = 0; + while (tab[j] && strcmp(tab[j++],"c")); + if (!tab[j]) + RETURN; + + if ((rgb_col = mlx_int_get_text_rgb(tab[j]))==-1) + { + if (!(clip_data = malloc(4*width*height)) || /* ok, nice size .. */ + !(clip_img = XCreateImage(xvar->display, xvar->visual, + 1, XYPixmap, 0, clip_data, + width, height, 8, (width+7)/8)) ) + RETURN; + memset(clip_data, 0xFF, 4*width*height); + } + + if (method) + colors_direct[mlx_int_get_col_name(line,cpp)] = + rgb_col>=0?mlx_get_color_value(xvar, rgb_col):rgb_col; + else + { + colors[i].name = mlx_int_get_col_name(line,cpp); + colors[i].col = rgb_col>=0?mlx_get_color_value(xvar,rgb_col):rgb_col; + } + free(tab); + } + + if (!(img = mlx_new_image(xvar,width,height))) + RETURN; + opp = img->bpp/8; + + + i = height; + data = img->data; + while (i--) + { + if (!(line = f(info,&pos,info_size))) + RETURN; + x = 0; + while (xsize_line; + } + if (clip_data) + { + if (!(clip_pix = XCreatePixmap(xvar->display, xvar->root, + width, height, 1)) ) + RETURN; + img->gc = XCreateGC(xvar->display, clip_pix, 0, &xgcv); + XPutImage(xvar->display, clip_pix, img->gc, clip_img, + 0, 0, 0, 0, width, height); + XFreeGC(xvar->display, img->gc); + xgcv.clip_mask = clip_pix; + xgcv.function = GXcopy; + xgcv.plane_mask = AllPlanes; + img->gc = XCreateGC(xvar->display, xvar->root, GCClipMask|GCFunction| + GCPlaneMask, &xgcv); + XSync(xvar->display, False); + XDestroyImage(clip_img); + } + if (colors) + free(colors); + if (colors_direct) + free(colors_direct); + return (img); +} + + +int mlx_int_file_get_rid_comment(char *ptr, int size) +{ + int com_begin; + int com_end; + + while ((com_begin = mlx_int_str_str_cote(ptr,"/*",size))!=-1) + { + com_end = mlx_int_str_str(ptr+com_begin+2,"*/",size-com_begin-2); + memset(ptr+com_begin,' ',com_end+4); + } + while ((com_begin = mlx_int_str_str_cote(ptr,"//",size))!=-1) + { + com_end = mlx_int_str_str(ptr+com_begin+2,"\n",size-com_begin-2); + memset(ptr+com_begin,' ',com_end+3); + } +} + + +void *mlx_xpm_file_to_image(t_xvar *xvar,char *file,int *width,int *height) +{ + int fd; + int size; + char *ptr; + t_img *img; + + fd = -1; + if ((fd = open(file,O_RDONLY))==-1 || (size = lseek(fd,0,SEEK_END))==-1 || + (ptr = mmap(0,size,PROT_WRITE|PROT_READ,MAP_PRIVATE,fd,0))== + (void *)MAP_FAILED) + { + if (fd>=0) + close(fd); + return ((void *)0); + } + mlx_int_file_get_rid_comment(ptr, size); + if (img = mlx_int_parse_xpm(xvar,ptr,size,mlx_int_get_line)) + { + *width = img->width; + *height = img->height; + } + munmap(ptr,size); + close(fd); + return (img); +} + +void *mlx_xpm_to_image(t_xvar *xvar,char **xpm_data,int *width,int *height) +{ + t_img *img; + + if (img = mlx_int_parse_xpm(xvar,xpm_data,0,mlx_int_static_line)) + { + *width = img->width; + *height = img->height; + } + return (img); +} diff --git a/minilibx-linux-master/mlx_xpm.o b/minilibx-linux-master-bak/mlx_xpm.o similarity index 100% rename from minilibx-linux-master/mlx_xpm.o rename to minilibx-linux-master-bak/mlx_xpm.o diff --git a/minilibx-linux-master-bak/rgb2c.pl b/minilibx-linux-master-bak/rgb2c.pl new file mode 100755 index 0000000..9ef39a0 --- /dev/null +++ b/minilibx-linux-master-bak/rgb2c.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl +# +## rgb2c.pl for MiniLibX in /home/boulon/work/c/raytraceur/minilibx +## +## Made by Olivier Crouzet +## Login +## +## Started on Tue Oct 5 16:33:46 2004 Olivier Crouzet +## Last update Tue Oct 5 16:36:11 2004 Olivier Crouzet +## + + +# +# Generate a .c file with encoded colors, from the XFree86 rgb.txt file. +# + +open(RGB, "/usr/X11/lib/X11/rgb.txt"); + + +printf("/*\n** This is a generated file with rgb2c.pl and rgb.txt from\n"); +printf("** the XFree86 distribution.\n*/\n\n"); +printf("struct s_col_name mlx_col_name[] =\n{\n"); + +while () +{ + @tab = split; + if ($tab[0] ne "!") + { + $color = $tab[3]; + if ("$tab[4]" ne "") + { + $color = "$tab[3] $tab[4]"; + } + printf(" { \"%s\" , 0x%x },\n", $color, $tab[0]*65536+$tab[1]*256+$tab[2]); + } +} + +printf(" { 0, 0 }\n};\n"); diff --git a/minilibx-linux-master-bak/test/Makefile.gen b/minilibx-linux-master-bak/test/Makefile.gen new file mode 100644 index 0000000..2fcca89 --- /dev/null +++ b/minilibx-linux-master-bak/test/Makefile.gen @@ -0,0 +1,26 @@ +INC=/usr/include +HT=Linux +DOCP=do_cp + + + +INCLIB=$(INC)/../lib + +CC=gcc + +CFLAGS= -I$(INC) -O3 -I.. + +NAME= mlx-test +SRC = main.c +OBJ = $(SRC:.c=.o) + +all :$(NAME) + +$(NAME) :$(OBJ) + $(CC) -o $(NAME) $(OBJ) -L.. -lmlx -L$(INCLIB) -lXext -lX11 -lm -lbsd + +clean : + rm -f $(NAME) $(OBJ) *~ core *.core + + +re : clean all diff --git a/minilibx-linux-master-bak/test/Makefile.mk b/minilibx-linux-master-bak/test/Makefile.mk new file mode 100644 index 0000000..ca55cd3 --- /dev/null +++ b/minilibx-linux-master-bak/test/Makefile.mk @@ -0,0 +1,24 @@ + + +INC=%%%% + +INCLIB=$(INC)/../lib + +CC=gcc + +CFLAGS= -I$(INC) -O3 -I.. + +NAME= mlx-test +SRC = main.c +OBJ = $(SRC:.c=.o) + +all :$(NAME) + +$(NAME) :$(OBJ) + $(CC) -o $(NAME) $(OBJ) -L.. -lmlx -L$(INCLIB) -lXext -lX11 -lm -lbsd + +clean : + rm -f $(NAME) $(OBJ) *~ core *.core + + +re : clean all diff --git a/minilibx-linux-master-bak/test/main.c b/minilibx-linux-master-bak/test/main.c new file mode 100644 index 0000000..578eaae --- /dev/null +++ b/minilibx-linux-master-bak/test/main.c @@ -0,0 +1,287 @@ + +#include "mlx.h" +#include "mlx_int.h" + +#define WIN1_SX 242 +#define WIN1_SY 242 +#define IM1_SX 42 +#define IM1_SY 42 +#define IM3_SX 242 +#define IM3_SY 242 + +void *mlx; +void *win1; +void *win2; +void *win3; +void *im1; +void *im2; +void *im3; +void *im4; +int bpp1; +int bpp2; +int bpp3; +int bpp4; +int sl1; +int sl2; +int sl3; +int sl4; +int endian1; +int endian2; +int endian3; +int endian4; +char *data1; +char *data2; +char *data3; +char *data4; +int xpm1_x; +int xpm1_y; + +int local_endian; + +int color_map_1(void *win,int w,int h); +int color_map_2(unsigned char *data,int bpp,int sl,int w,int h,int endian, int type); + +int expose_win1(void *p) +{ + mlx_put_image_to_window(mlx,win1,im3,0,0); +} + +int expose_win2(void *p) +{ + mlx_put_image_to_window(mlx,win2,im4,0,0); + mlx_put_image_to_window(mlx,win2,im2,0,0); +} + +int key_win1(int key,void *p) +{ + printf("Key in Win1 : %d\n",key); + if (key==0xFF1B) + exit(0); +} + +int key_win2(int key,void *p) +{ + printf("Key in Win2 : %d\n",key); + if (key==0xFF1B) + exit(0); +} + +int key_win3(int key,void *p) +{ + printf("Key in Win3 : %d\n",key); + if (key==0xFF1B) + mlx_destroy_window(mlx,win3); +} + +int mouse_win1(int button,int x,int y, void *p) +{ + printf("Mouse in Win1, button %d at %dx%d.\n",button,x,y); +} + +int mouse_win2(int button,int x,int y, void *p) +{ + printf("Mouse in Win2, button %d at %dx%d.\n",button,x,y); +} + +int mouse_win3(int x,int y, void *p) +{ + printf("Mouse moving in Win3, at %dx%d.\n",x,y); +} + + +int main() +{ + int a; + + printf("MinilibX Test Program\n"); + a = 0x11223344; + if (((unsigned char *)&a)[0] == 0x11) + local_endian = 1; + else + local_endian = 0; + printf(" => Local Endian : %d\n",local_endian); + + printf(" => Connection ..."); + if (!(mlx = mlx_init())) + { + printf(" !! KO !!\n"); + exit(1); + } + printf("OK (use_xshm %d pshm_format %d)\n",((t_xvar *)mlx)->use_xshm,((t_xvar *)mlx)->pshm_format); + + printf(" => Window1 %dx%d \"Title 1\" ...",WIN1_SX,WIN1_SY); + if (!(win1 = mlx_new_window(mlx,WIN1_SX,WIN1_SY,"Title1"))) + { + printf(" !! KO !!\n"); + exit(1); + } + printf("OK\n"); + + printf(" => Colormap sans event ..."); + color_map_1(win1,WIN1_SX,WIN1_SY); + printf("OK\n"); + sleep(2); + + printf(" => Clear Window ..."); + mlx_clear_window(mlx,win1); + printf("OK\n"); + sleep(2); + + printf(" => Image1 ZPixmap %dx%d ...",IM1_SX,IM1_SY); + if (!(im1 = mlx_new_image(mlx,IM1_SX,IM1_SY))) + { + printf(" !! KO !!\n"); + exit(1); + } + data1 = mlx_get_data_addr(im1,&bpp1,&sl1,&endian1); + printf("OK (bpp1: %d, sizeline1: %d endian: %d type: %d)\n",bpp1,sl1,endian1, + ((t_img *)im1)->type); + + printf(" => Fill Image1 ..."); + color_map_2(data1,bpp1,sl1,IM1_SX,IM1_SY,endian1, 1); + printf("OK (pixmap : %d)\n",(int)((t_img *)im1)->pix); + + printf(" => Put Image1 ..."); + mlx_put_image_to_window(mlx,win1,im1,20,20); + printf("OK\n"); + sleep(2); + + printf(" => Destroy Image1 ... "); + mlx_destroy_image(mlx, im1); + printf("OK\n"); + sleep(2); + + printf(" => Image3 ZPixmap %dx%d ...",IM3_SX,IM3_SY); + if (!(im3 = mlx_new_image(mlx,IM3_SX,IM3_SY))) + { + printf(" !! KO !!\n"); + exit(1); + } + data3 = mlx_get_data_addr(im3,&bpp3,&sl3,&endian3); + printf("OK (bpp3 %d, sizeline3 %d endian3 %d type %d)\n",bpp3,sl3,endian3, + ((t_img *)im3)->type); + + printf(" => Fill Image3 ..."); + color_map_2(data3,bpp3,sl3,IM3_SX,IM3_SY,endian3, 1); + printf("OK (pixmap : %d)\n",(int)((t_img *)im3)->pix); + + printf(" => Put Image3 ..."); + mlx_put_image_to_window(mlx,win1,im3,20,20); + printf("OK\n"); + sleep(2); + + printf(" => String ..."); + mlx_string_put(mlx,win1,5,WIN1_SY/2,0xFF99FF,"String output"); + mlx_string_put(mlx,win1,15,WIN1_SY/2+20,0x00FFFF,"MinilibX test"); + printf("OK\n"); + sleep(2); + + printf(" => Xpm from file ..."); + if (!(im2 = mlx_xpm_file_to_image(mlx,"open.xpm",&xpm1_x,&xpm1_y))) + { + printf(" !! KO !!\n"); + exit(1); + } + data2 = mlx_get_data_addr(im2,&bpp2,&sl2,&endian2); + printf("OK (xpm %dx%d)(img bpp2: %d, sizeline2: %d endian: %d type: %d)\n", + xpm1_x,xpm1_y,bpp2,sl2,endian2,((t_img *)im2)->type); + sleep(2); + + printf(" => Put xpm ..."); + mlx_put_image_to_window(mlx,win1,im2,0,0); + mlx_put_image_to_window(mlx,win1,im2,100,100); + printf("OK\n"); + sleep(2); + + printf(" => 2nd window,"); + win2 = mlx_new_window(mlx,WIN1_SX,WIN1_SY,"Title2"); + if (!(im4 = mlx_new_image(mlx,IM3_SX, IM3_SY))) + { + printf(" !! KO !!\n"); + exit(1); + } + data4 = mlx_get_data_addr(im4,&bpp4,&sl4,&endian4); + color_map_2(data4,bpp4,sl4,IM3_SX,IM3_SY,endian4, 2); + + printf(" 3rd window, Installing hooks ..."); + win3 = mlx_new_window(mlx,WIN1_SX,WIN1_SY,"Title3"); + mlx_expose_hook(win1,expose_win1,0); + mlx_mouse_hook(win1,mouse_win1,0); + mlx_key_hook(win1,key_win1,0); + mlx_expose_hook(win2,expose_win2,0); + mlx_mouse_hook(win2,mouse_win2,0); + mlx_key_hook(win2,key_win2,0); + mlx_key_hook(win3,key_win3,0); + + mlx_hook(win3, MotionNotify, PointerMotionMask, mouse_win3, 0); + + printf("OK\nNow in Loop. Just play. Esc in 3 to destroy, 1&2 to quit.\n"); + + mlx_loop(mlx); +} + + +int color_map_1(void *win,int w,int h) +{ + int x; + int y; + int color; + + x = w; + while (x--) + { + y = h; + while (y--) + { + color = (x*255)/w+((((w-x)*255)/w)<<16)+(((y*255)/h)<<8); + mlx_pixel_put(mlx,win,x,y,color); + } + } +} + + +int color_map_2(unsigned char *data,int bpp,int sl,int w,int h,int endian, int type) +{ + int x; + int y; + int opp; + int dec; + int color; + int color2; + unsigned char *ptr; + + opp = bpp/8; + printf("(opp : %d) ",opp); + y = h; + while (y--) + { + ptr = data+y*sl; + x = w; + while (x--) + { + if (type==2) + color = (y*255)/w+((((w-x)*255)/w)<<16) + +(((y*255)/h)<<8); + else + color = (x*255)/w+((((w-x)*255)/w)<<16)+(((y*255)/h)<<8); + color2 = mlx_get_color_value(mlx,color); + dec = opp; + while (dec--) + if (endian==local_endian) + { + if (endian) + *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[4-opp+dec]; + else + *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[dec]; + } + else + { + if (endian) + *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[opp-1-dec]; + else + *(ptr+x*opp+dec) = ((unsigned char *)(&color2))[3-dec]; + } + } + } + +} diff --git a/minilibx-linux-master-bak/test/main.o b/minilibx-linux-master-bak/test/main.o new file mode 100644 index 0000000000000000000000000000000000000000..81db6639c577760371722650e1e023894ed565fa GIT binary patch literal 15656 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 literal 0 HcmV?d00001 diff --git a/minilibx-linux-master-bak/test/mlx-test b/minilibx-linux-master-bak/test/mlx-test new file mode 100755 index 0000000000000000000000000000000000000000..b7c7fefdf7de1f2df575234b4bd5d12535770b7b GIT binary patch literal 77032 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 Tjh5`!_Y(V`G$GbnZWaFr9-6XO literal 0 HcmV?d00001 diff --git a/minilibx-linux-master-bak/test/new_win.c b/minilibx-linux-master-bak/test/new_win.c new file mode 100644 index 0000000..62bed4b --- /dev/null +++ b/minilibx-linux-master-bak/test/new_win.c @@ -0,0 +1,31 @@ + + + +#include "mlx.h" + + +void *mlx; +void *win1; +void *win2; + + + +int gere_mouse(int x,int y,int button,void*toto) +{ + printf("Mouse event - new win\n"); + mlx_destroy_window(mlx,win1); + win1 = mlx_new_window(mlx,random()%500,random()%500,"new win"); + mlx_mouse_hook(win1,gere_mouse,0); +} + + +int main() +{ + srandom(time(0)); + mlx = mlx_init(); + win1 = mlx_new_window(mlx,300,300,"win1"); + win2 = mlx_new_window(mlx,600,600,"win2"); + mlx_mouse_hook(win1,gere_mouse,0); + mlx_mouse_hook(win2,gere_mouse,0); + mlx_loop(mlx); +} diff --git a/minilibx-linux-master-bak/test/open.xpm b/minilibx-linux-master-bak/test/open.xpm new file mode 100644 index 0000000..87be371 --- /dev/null +++ b/minilibx-linux-master-bak/test/open.xpm @@ -0,0 +1,1439 @@ +/* XPM */ +static char * open30_2_xpm[] = { +"64 64 1372 2", +" c None", +". c #08090D", +"+ c #1A1E23", +"@ c #1F2124", +"# c #060809", +"$ c #1A1E21", +"% c #4F606C", +"& c #3D4145", +"* c #868D93", +"= c #454E56", +"- c #627481", +"; c #667C8A", +"> c #2D3031", +", c #D7E1E7", +"' c #4D5157", +") c #8997A5", +"! c #282E31", +"~ c #333B41", +"{ c #A5C6DB", +"] c #718C9B", +"^ c #000000", +"/ c #181B1F", +"( c #262828", +"_ c #D2DEE7", +": c #B8C5D0", +"< c #151719", +"[ c #08090B", +"} c #272B30", +"| c #2D3037", +"1 c #26282C", +"2 c #1A1D1F", +"3 c #B1CADB", +"4 c #56646E", +"5 c #080809", +"6 c #080A0C", +"7 c #1E2126", +"8 c #98B7C9", +"9 c #A2CAE2", +"0 c #7FA1B5", +"a c #06080A", +"b c #252729", +"c c #A7ADB2", +"d c #272B2E", +"e c #1E2023", +"f c #C8D8E5", +"g c #C9DDED", +"h c #8996A3", +"i c #6B7782", +"j c #C7DFF0", +"k c #CCE0F0", +"l c #AFC1CF", +"m c #47535B", +"n c #B0D3E8", +"o c #7E99A9", +"p c #738493", +"q c #97B4C7", +"r c #53606A", +"s c #6E8996", +"t c #A1CBE3", +"u c #9CC6DE", +"v c #90B5CB", +"w c #171D22", +"x c #1E2629", +"y c #020202", +"z c #ABB3BA", +"A c #BBC4C8", +"B c #222323", +"C c #141617", +"D c #5D6164", +"E c #ACB5BC", +"F c #676D74", +"G c #BDD4E5", +"H c #B3D1E7", +"I c #B0D1E7", +"J c #728A99", +"K c #94AEBF", +"L c #B1D1E7", +"M c #505C64", +"N c #7B98A9", +"O c #A1CBE0", +"P c #99C3D9", +"Q c #475863", +"R c #A0C9DE", +"S c #9CC6DA", +"T c #9ECAE1", +"U c #9CC5DD", +"V c #9AC4DC", +"W c #263137", +"X c #3C4A55", +"Y c #658190", +"Z c #66686B", +"` c #7D8085", +" . c #363839", +".. c #797E81", +"+. c #D2DBE1", +"@. c #DDE9F4", +"#. c #CADEEF", +"$. c #778593", +"%. c #AED0E5", +"&. c #9EC9DE", +"*. c #9EC8DF", +"=. c #9BC1D8", +"-. c #9EC8DE", +";. c #6B8596", +">. c #9BC5DC", +",. c #9BC6DF", +"'. c #9CC5DC", +"). c #688595", +"!. c #6B8698", +"~. c #9CC4DC", +"{. c #9BC4DC", +"]. c #9DC5DD", +"^. c #647D8C", +"/. c #485864", +"(. c #161A1D", +"_. c #36444C", +":. c #95BDD5", +"<. c #566E7E", +"[. c #A4AAAD", +"}. c #E9F2F7", +"|. c #DEEAF6", +"1. c #B5D4E9", +"2. c #A9CFE3", +"3. c #90B3C9", +"4. c #9FCAE1", +"5. c #9BC4DD", +"6. c #7490A2", +"7. c #99C2DB", +"8. c #81A5BA", +"9. c #9CC5DE", +"0. c #98C1DA", +"a. c #5F7889", +"b. c #96BFD8", +"c. c #44545F", +"d. c #565A5E", +"e. c #DFE6EC", +"f. c #E6EEF7", +"g. c #D6E4F2", +"h. c #BFD6E9", +"i. c #A9CCE3", +"j. c #9FC8DD", +"k. c #9DC6DD", +"l. c #9CC4DD", +"m. c #7D9FB0", +"n. c #98C0D6", +"o. c #9AC5DD", +"p. c #97BFD8", +"q. c #9BC5DF", +"r. c #2D3840", +"s. c #626567", +"t. c #E7ECF5", +"u. c #E1EAF5", +"v. c #CEE3F3", +"w. c #B7D6EA", +"x. c #A4CBE0", +"y. c #8AAFC5", +"z. c #647F90", +"A. c #648092", +"B. c #89B0C7", +"C. c #9CC6DF", +"D. c #5D7486", +"E. c #7B9BAF", +"F. c #84A8BF", +"G. c #9BC5DD", +"H. c #96BED5", +"I. c #4B5D69", +"J. c #9BC5DE", +"K. c #536B77", +"L. c #2E3B41", +"M. c #1B2124", +"N. c #3F4F58", +"O. c #4D5152", +"P. c #E7EEF3", +"Q. c #E2EAF5", +"R. c #CEE2F2", +"S. c #BAD5E9", +"T. c #9DC2D7", +"U. c #5C7281", +"V. c #232A31", +"W. c #08090A", +"X. c #121418", +"Y. c #131619", +"Z. c #131719", +"`. c #87ACC3", +" + c #7B9BAE", +".+ c #87ADC3", +"++ c #8FB5CB", +"@+ c #678295", +"#+ c #96C0D8", +"$+ c #607787", +"%+ c #6B8595", +"&+ c #96C1DB", +"*+ c #6A8595", +"=+ c #35424A", +"-+ c #7090A1", +";+ c #15191C", +">+ c #2D3033", +",+ c #DDE5EB", +"'+ c #D2E3F1", +")+ c #BAD7EB", +"!+ c #A9CFE5", +"~+ c #272F35", +"{+ c #1C2227", +"]+ c #4F697B", +"^+ c #6B8FA9", +"/+ c #759CB6", +"(+ c #7BA0BB", +"_+ c #80A5BC", +":+ c #88B0C8", +"<+ c #96C3DB", +"[+ c #8FB6CD", +"}+ c #80A1B3", +"|+ c #556876", +"1+ c #96BFD7", +"2+ c #566B77", +"3+ c #93B8CD", +"4+ c #637A8D", +"5+ c #9DC6DE", +"6+ c #8FB4CA", +"7+ c #55697A", +"8+ c #6F8F9F", +"9+ c #91BDD5", +"0+ c #283239", +"a+ c #050406", +"b+ c #767B80", +"c+ c #BDC6CE", +"d+ c #D4E5F3", +"e+ c #C1D7EA", +"f+ c #A7CDE4", +"g+ c #9FC9DE", +"h+ c #668596", +"i+ c #6D90AA", +"j+ c #5C7994", +"k+ c #60849F", +"l+ c #6286A1", +"m+ c #688CA8", +"n+ c #7298B2", +"o+ c #82A8C2", +"p+ c #8FBAD5", +"q+ c #96C2DB", +"r+ c #89ADC4", +"s+ c #96BED6", +"t+ c #99C2DA", +"u+ c #6C899A", +"v+ c #92BBD2", +"w+ c #9AC4DD", +"x+ c #5B717D", +"y+ c #9EC6DE", +"z+ c #8BB1C9", +"A+ c #718EA0", +"B+ c #94C3DB", +"C+ c #536B78", +"D+ c #3E505F", +"E+ c #4E6373", +"F+ c #2C333C", +"G+ c #070708", +"H+ c #040404", +"I+ c #1A1C1E", +"J+ c #202326", +"K+ c #050606", +"L+ c #23292E", +"M+ c #A1C0D4", +"N+ c #9FC9DD", +"O+ c #97C2DB", +"P+ c #80A8C1", +"Q+ c #668AA6", +"R+ c #4B5D72", +"S+ c #4C647A", +"T+ c #5F80A0", +"U+ c #60859E", +"V+ c #678AA6", +"W+ c #739BB5", +"X+ c #85AEC7", +"Y+ c #92BDD7", +"Z+ c #96BFD5", +"`+ c #627B8A", +" @ c #89B1C9", +".@ c #2B353C", +"+@ c #7597B2", +"@@ c #779CB8", +"#@ c #52697C", +"$@ c #1D2328", +"%@ c #445663", +"&@ c #5E7A8D", +"*@ c #252F37", +"=@ c #090909", +"-@ c #859BB2", +";@ c #859DB8", +">@ c #6E8396", +",@ c #252C33", +"'@ c #9CC4D7", +")@ c #92C0D9", +"!@ c #79A0BA", +"~@ c #6487A3", +"{@ c #566979", +"]@ c #8CB0C2", +"^@ c #51697C", +"/@ c #60849D", +"(@ c #6D8EAC", +"_@ c #7BA0BC", +":@ c #8AB4CE", +"<@ c #95C2DB", +"[@ c #9AC5DC", +"}@ c #95C1DA", +"|@ c #607B8C", +"1@ c #597488", +"2@ c #7EA6BF", +"3@ c #597587", +"4@ c #455664", +"5@ c #668598", +"6@ c #82A9C4", +"7@ c #617F92", +"8@ c #1A2328", +"9@ c #2B3137", +"0@ c #728FAC", +"a@ c #51657B", +"b@ c #6B8AA8", +"c@ c #8EAEC7", +"d@ c #A8C8E2", +"e@ c #92BDD6", +"f@ c #769DBA", +"g@ c #526E87", +"h@ c #7490A0", +"i@ c #A6CDE4", +"j@ c #97BFD4", +"k@ c #55697D", +"l@ c #6286A0", +"m@ c #7399B3", +"n@ c #84ACC5", +"o@ c #92BFD9", +"p@ c #99C4DC", +"q@ c #94C0DA", +"r@ c #4F6575", +"s@ c #7DA5BF", +"t@ c #7FA2BC", +"u@ c #8FB6CE", +"v@ c #95C3DB", +"w@ c #8EB8D2", +"x@ c #6A879D", +"y@ c #111318", +"z@ c #252A30", +"A@ c #81868C", +"B@ c #A5ABAD", +"C@ c #70767C", +"D@ c #38434F", +"E@ c #637F9B", +"F@ c #516980", +"G@ c #799AB5", +"H@ c #A5C3D9", +"I@ c #93BDD6", +"J@ c #779EBA", +"K@ c #445A6B", +"L@ c #93B5C9", +"M@ c #B6D3E8", +"N@ c #AECFE4", +"O@ c #95BDD2", +"P@ c #52687A", +"Q@ c #6486A3", +"R@ c #7092B0", +"S@ c #90BCD6", +"T@ c #97C4DC", +"U@ c #A0C9E0", +"V@ c #99C5DD", +"W@ c #86AEC6", +"X@ c #8FBAD4", +"Y@ c #91BDD6", +"Z@ c #7094AC", +"`@ c #2A353E", +" # c #0B0E10", +".# c #888D90", +"+# c #787D82", +"@# c #465360", +"## c #56697F", +"$# c #A6CADD", +"%# c #5A7382", +"&# c #6C8CAA", +"*# c #A5BED3", +"=# c #A7CAE0", +"-# c #94C1DA", +";# c #7EA4BF", +"># c #415160", +",# c #9DC3D5", +"'# c #B3CFE1", +")# c #AAC3D4", +"!# c #A8CDE4", +"~# c #89ACBE", +"{# c #567088", +"]# c #6C91AC", +"^# c #81A7C2", +"/# c #96C4DC", +"(# c #85A9BD", +"_# c #708C9B", +":# c #5A6E7B", +"<# c #6C8695", +"[# c #97C3DB", +"}# c #8BB5CE", +"|# c #425461", +"1# c #63819E", +"2# c #415465", +"3# c #0B0D0E", +"4# c #607387", +"5# c #687D8C", +"6# c #B8D6E9", +"7# c #7893A2", +"8# c #576F85", +"9# c #A7BACF", +"0# c #B0CEE5", +"a# c #98C4DC", +"b# c #88B1CA", +"c# c #36444E", +"d# c #8FA0AD", +"e# c #73818D", +"f# c #596D81", +"g# c #B4D0E4", +"h# c #A3CDE2", +"i# c #658296", +"j# c #6A8DAB", +"k# c #7BA5C0", +"l# c #94BAD2", +"m# c #6D899B", +"n# c #99C3DC", +"o# c #8EB9D2", +"p# c #7AA0BA", +"q# c #6C8FAB", +"r# c #6484A1", +"s# c #1F252C", +"t# c #121619", +"u# c #7E96B0", +"v# c #7A8A96", +"w# c #BCD7EA", +"x# c #A0C5D9", +"y# c #3C4B57", +"z# c #A9BACD", +"A# c #BCD5E8", +"B# c #84A6BA", +"C# c #8EA1AE", +"D# c #CFD1D4", +"E# c #ECF6FA", +"F# c #ABB7C2", +"G# c #556F84", +"H# c #57626A", +"I# c #5C7078", +"J# c #6C8AA7", +"K# c #80A6C0", +"L# c #91B8D0", +"M# c #94BFD8", +"N# c #87B0CA", +"O# c #7CA2BB", +"P# c #7097AF", +"Q# c #495E6F", +"R# c #0C0E11", +"S# c #3A3F43", +"T# c #8AA3BB", +"U# c #778592", +"V# c #C0D8EB", +"W# c #B3D5E9", +"X# c #404A53", +"Y# c #B2C2D3", +"Z# c #96A1AC", +"`# c #9DB2C3", +" $ c #AEBECE", +".$ c #EDEFF3", +"+$ c #F7FAFC", +"@$ c #B6BFC7", +"#$ c #556E85", +"$$ c #121314", +"%$ c #2B2E2F", +"&$ c #555A5E", +"*$ c #3B4C5B", +"=$ c #6F8EA4", +"-$ c #92BED8", +";$ c #9DC7DF", +">$ c #87ACC1", +",$ c #546A78", +"'$ c #516874", +")$ c #4E6570", +"!$ c #4D6271", +"~$ c #4C6271", +"{$ c #4E677A", +"]$ c #38454E", +"^$ c #6C7278", +"/$ c #86A1B6", +"($ c #5C656C", +"_$ c #A4B0BA", +":$ c #555D64", +"<$ c #657178", +"[$ c #A6B0B5", +"}$ c #939CA1", +"|$ c #D4E4F1", +"1$ c #A0BACE", +"2$ c #B9C7D7", +"3$ c #F6F7F9", +"4$ c #C6CED1", +"5$ c #506A7C", +"6$ c #060607", +"7$ c #676A6B", +"8$ c #91999F", +"9$ c #7CA3BE", +"0$ c #96BCD4", +"a$ c #5B717E", +"b$ c #4B5F6C", +"c$ c #455864", +"d$ c #5B717F", +"e$ c #81A5B9", +"f$ c #98C4DD", +"g$ c #93BFD8", +"h$ c #87B1CA", +"i$ c #7BA1BC", +"j$ c #5A7489", +"k$ c #222A33", +"l$ c #838A92", +"m$ c #9DADBC", +"n$ c #ECF0F5", +"o$ c #F1F9FB", +"p$ c #818A8D", +"q$ c #4A5155", +"r$ c #6A6F72", +"s$ c #7E898F", +"t$ c #E6F1F7", +"u$ c #CADCED", +"v$ c #A0B7CC", +"w$ c #C6D1DF", +"x$ c #AFB3B4", +"y$ c #5F707D", +"z$ c #CBCFD1", +"A$ c #F4F5F6", +"B$ c #66737F", +"C$ c #87B2CB", +"D$ c #90B7CD", +"E$ c #596E7B", +"F$ c #586F7E", +"G$ c #8BB0C8", +"H$ c #91BED6", +"I$ c #83ADC7", +"J$ c #6D8EA7", +"K$ c #3F5161", +"L$ c #2D3A45", +"M$ c #1F2020", +"N$ c #BDC5CC", +"O$ c #E0EDF5", +"P$ c #BBCAD8", +"Q$ c #E1E4E7", +"R$ c #5E6368", +"S$ c #5B5F62", +"T$ c #D9E7F3", +"U$ c #A4C3D6", +"V$ c #89A3B3", +"W$ c #7B91A1", +"X$ c #627990", +"Y$ c #42505A", +"Z$ c #CACCCE", +"`$ c #F9F9F9", +" % c #FDFDFD", +".% c #BCBEC0", +"+% c #5C7689", +"@% c #8DB9D3", +"#% c #8FB5CC", +"$% c #536471", +"%% c #98C1D9", +"&% c #91BED7", +"*% c #81AAC5", +"=% c #597386", +"-% c #41535F", +";% c #6486A2", +">% c #4D667D", +",% c #070809", +"'% c #44484E", +")% c #BEC8D0", +"!% c #8096A6", +"~% c #516473", +"{% c #A9ACAF", +"]% c #8B8F91", +"^% c #A8B3BD", +"/% c #C5DAEB", +"(% c #9FC8E1", +"_% c #8FBCD6", +":% c #81A8C2", +"<% c #6C90AC", +"[% c #56728C", +"}% c #585B5F", +"|% c #CBCDCD", +"1% c #C1C3C6", +"2% c #4F565F", +"3% c #82ABC3", +"4% c #93BCD3", +"5% c #95BED7", +"6% c #8EB9D3", +"7% c #5B788B", +"8% c #627E91", +"9% c #7FA7C1", +"0% c #6C91AB", +"a% c #546F87", +"b% c #6F7376", +"c% c #D5E2EF", +"d% c #A9C4D8", +"e% c #81A1BA", +"f% c #333940", +"g% c #5F6B76", +"h% c #C0D5E8", +"i% c #AACCE2", +"j% c #8EB8D3", +"k% c #7FA5BF", +"l% c #7095B0", +"m% c #4E697E", +"n% c #07090A", +"o% c #0D0F10", +"p% c #7193A6", +"q% c #96C3DC", +"r% c #8EBCD7", +"s% c #91BDD7", +"t% c #8FBBD6", +"u% c #7699AD", +"v% c #4D626F", +"w% c #252D33", +"x% c #101215", +"y% c #0C0D0E", +"z% c #0A0C0E", +"A% c #06090A", +"B% c #7F8488", +"C% c #D7E3F1", +"D% c #B6D0E4", +"E% c #A3C2D7", +"F% c #596872", +"G% c #A9BED0", +"H% c #B4D0E5", +"I% c #9EC8DC", +"J% c #8FB9D4", +"K% c #85ADC7", +"L% c #7FA4BE", +"M% c #4B606F", +"N% c #4E6372", +"O% c #89B6D0", +"P% c #92C1DA", +"Q% c #9DC7DD", +"R% c #95C0DA", +"S% c #94BED8", +"T% c #8BB8D1", +"U% c #7AA0B9", +"V% c #4E667A", +"W% c #344151", +"X% c #0C0D0F", +"Y% c #8A8F92", +"Z% c #D4E6F5", +"`% c #BCD5E9", +" & c #8599A5", +".& c #939DA6", +"+& c #C4DAEB", +"@& c #89A6B9", +"#& c #7D9FB5", +"$& c #98C3DC", +"%& c #95C0D9", +"&& c #7CA2B9", +"*& c #7697AE", +"=& c #698498", +"-& c #7394A8", +";& c #9EC7DF", +">& c #8DB1C4", +",& c #6B8594", +"'& c #50636C", +")& c #50626C", +"!& c #7F9FB1", +"~& c #93B8D0", +"{& c #627A88", +"]& c #90B6CC", +"^& c #93BDD7", +"/& c #87AFC9", +"(& c #7291A7", +"_& c #384651", +":& c #121618", +"<& c #12171B", +"[& c #4F6986", +"}& c #597998", +"|& c #324052", +"1& c #969CA1", +"2& c #D6E6F5", +"3& c #C6DCEE", +"4& c #505A64", +"5& c #82929F", +"6& c #99ABBB", +"7& c #A1B9CA", +"8& c #87A0B0", +"9& c #718EA1", +"0& c #8DB2C9", +"a& c #8BAEC4", +"b& c #586D7D", +"c& c #97C0D9", +"d& c #8DB3C9", +"e& c #95B8CD", +"f& c #9DC0D6", +"g& c #6F8B9C", +"h& c #354249", +"i& c #464E54", +"j& c #8A98A5", +"k& c #AABAC7", +"l& c #86939E", +"m& c #41494F", +"n& c #4A5861", +"o& c #97C1DA", +"p& c #5E7888", +"q& c #5C7482", +"r& c #88ACC2", +"s& c #91BFD7", +"t& c #799CB5", +"u& c #47596A", +"v& c #0D0F12", +"w& c #1A2127", +"x& c #56778D", +"y& c #688BA9", +"z& c #5D7F9E", +"A& c #547391", +"B& c #0E1013", +"C& c #9DA6AB", +"D& c #C8DCED", +"E& c #7A8996", +"F& c #B5CEE0", +"G& c #BCDBEC", +"H& c #B9D5EA", +"I& c #8BA2B2", +"J& c #6C8A9D", +"K& c #97BFD7", +"L& c #3E4E59", +"M& c #92B5CB", +"N& c #535F68", +"O& c #454F56", +"P& c #6F7C87", +"Q& c #ABC0D1", +"R& c #C7DCEE", +"S& c #C5DBED", +"T& c #C2D7EA", +"U& c #BFD8EA", +"V& c #BCD7EB", +"W& c #62717B", +"X& c #5B6F7B", +"Y& c #95C3DC", +"Z& c #8BB2C9", +"`& c #485761", +" * c #42525F", +".* c #6686A1", +"+* c #587896", +"@* c #1B2129", +"#* c #5C7A94", +"$* c #7DA2BD", +"%* c #84AEC7", +"&* c #749BB5", +"** c #5C7E9C", +"=* c #27343F", +"-* c #A4A9B2", +";* c #D9E7F4", +">* c #C8DBEC", +",* c #B1C8DA", +"'* c #5D6C76", +")* c #A8C5D8", +"!* c #A6BDD0", +"~* c #B9D6EA", +"{* c #B9D4E9", +"]* c #8198A8", +"^* c #8AADC3", +"/* c #8CB1CA", +"(* c #96C2D8", +"_* c #A3C7DF", +":* c #ADCDE3", +"<* c #ABD0E4", +"[* c #ADCFE3", +"}* c #AACEE4", +"|* c #A4CDE3", +"1* c #A1CBE1", +"2* c #A3CCE3", +"3* c #A2C9DF", +"4* c #41515A", +"5* c #81A2B5", +"6* c #94C0D7", +"7* c #5E7789", +"8* c #526777", +"9* c #516777", +"0* c #6B8CA5", +"a* c #759CBA", +"b* c #658AA5", +"c* c #587798", +"d* c #1B242B", +"e* c #0E1110", +"f* c #101214", +"g* c #202931", +"h* c #59758E", +"i* c #799FBB", +"j* c #84B1CA", +"k* c #86ACC6", +"l* c #354758", +"m* c #A0A6AE", +"n* c #DAE6F2", +"o* c #C4DCEE", +"p* c #B4D2E8", +"q* c #3E4A53", +"r* c #698091", +"s* c #5D7581", +"t* c #A3CAE0", +"u* c #A6CFE5", +"v* c #A5CCE5", +"w* c #718A9C", +"x* c #98C3DB", +"y* c #83ABC7", +"z* c #2E3B46", +"A* c #33414A", +"B* c #678398", +"C* c #8AB3CE", +"D* c #93BED7", +"E* c #97C4DB", +"F* c #42525E", +"G* c #88ACC0", +"H* c #789EB9", +"I* c #7A9FBB", +"J* c #7EA2BD", +"K* c #779DB5", +"L* c #577081", +"M* c #5B7B9B", +"N* c #1D2229", +"O* c #547390", +"P* c #54728D", +"Q* c #6082A0", +"R* c #688EA9", +"S* c #6689A7", +"T* c #6086A0", +"U* c #6285A1", +"V* c #6B8DAA", +"W* c #718FAB", +"X* c #3E5568", +"Y* c #969DA1", +"Z* c #DBE8F4", +"`* c #95ACBD", +" = c #758B9A", +".= c #A4C9DE", +"+= c #698190", +"@= c #667E8A", +"#= c #7D99AA", +"$= c #7B9BAD", +"%= c #6F8C9A", +"&= c #536976", +"*= c #84ADC6", +"== c #6D92AD", +"-= c #62829E", +";= c #43576A", +">= c #2F3B46", +",= c #5C788A", +"'= c #86AFC8", +")= c #93BED8", +"!= c #93BAD5", +"~= c #93BAD2", +"{= c #92BCD4", +"]= c #7EA2B6", +"^= c #3D4D56", +"/= c #485B67", +"(= c #7596A9", +"_= c #8CBBD4", +":= c #90BCD5", +"<= c #91BFD9", +"[= c #789BAD", +"}= c #465B6A", +"|= c #59789A", +"1= c #5D7F9D", +"2= c #5E839C", +"3= c #59799A", +"4= c #415569", +"5= c #2D3A46", +"6= c #2E3B49", +"7= c #4A647C", +"8= c #587690", +"9= c #39485A", +"0= c #7F8589", +"a= c #D9E8F5", +"b= c #CCDEEE", +"c= c #8597A5", +"d= c #B3D2E3", +"e= c #9BB3C4", +"f= c #B2CEE1", +"g= c #B2D1E7", +"h= c #ABCFE6", +"i= c #94B7CB", +"j= c #495C6A", +"k= c #688498", +"l= c #617B8A", +"m= c #85ADC8", +"n= c #78A0B9", +"o= c #62819B", +"p= c #2E3843", +"q= c #485A6C", +"r= c #67889C", +"s= c #8AB5CF", +"t= c #8EB9D1", +"u= c #6C899B", +"v= c #6E91A7", +"w= c #678399", +"x= c #6888A1", +"y= c #323E48", +"z= c #5B7585", +"A= c #98C5DD", +"B= c #83ACC1", +"C= c #2D373F", +"D= c #4B637C", +"E= c #567694", +"F= c #26313C", +"G= c #15191F", +"H= c #4D647A", +"I= c #252F39", +"J= c #5D6163", +"K= c #DDE9F5", +"L= c #CEDFEE", +"M= c #8898A5", +"N= c #B0CBDC", +"O= c #BFDAEC", +"P= c #BFDBEC", +"Q= c #BBDAEC", +"R= c #BAD7EA", +"S= c #6B808F", +"T= c #7297B0", +"U= c #8CB8D1", +"V= c #95C1D9", +"W= c #91BCD6", +"X= c #86AEC8", +"Y= c #7496B3", +"Z= c #6587A2", +"`= c #384958", +" - c #323F4B", +".- c #546A7C", +"+- c #6C88A1", +"@- c #779AB1", +"#- c #658297", +"$- c #3B4A58", +"%- c #33404B", +"&- c #202830", +"*- c #577287", +"=- c #86B1CC", +"-- c #86ACC0", +";- c #6E8797", +">- c #9CC7DF", +",- c #92BCD5", +"'- c #91BCD5", +")- c #8EB6CE", +"!- c #344453", +"~- c #263039", +"{- c #364452", +"]- c #2B3643", +"^- c #2A2D2E", +"/- c #E1EBF4", +"(- c #D2E4F3", +"_- c #A0B2C3", +":- c #8094A1", +"<- c #BAD8EB", +"[- c #B8D6EA", +"}- c #485A6A", +"|- c #789FB9", +"1- c #90BBD3", +"2- c #94C4DC", +"3- c #88B3CD", +"4- c #7A9EB9", +"5- c #698BA8", +"6- c #4D677C", +"7- c #151A1E", +"8- c #1A2125", +"9- c #171C21", +"0- c #1D2329", +"a- c #1D262E", +"b- c #486073", +"c- c #6A8CAA", +"d- c #7CA2BE", +"e- c #90BDD7", +"f- c #9AC5DE", +"g- c #7493A2", +"h- c #708B99", +"i- c #8CB7D1", +"j- c #7494AB", +"k- c #68889F", +"l- c #6A8FA5", +"m- c #7BA2BC", +"n- c #171D21", +"o- c #1D262F", +"p- c #212B36", +"q- c #09090B", +"r- c #BBC2C9", +"s- c #D4E4F2", +"t- c #C1D9EB", +"u- c #44515A", +"v- c #92B5C9", +"w- c #6B8795", +"x- c #4E687E", +"y- c #7EA6C0", +"z- c #91BED8", +"A- c #93BFD9", +"B- c #8CB5D0", +"C- c #7DA4BE", +"D- c #6F92AE", +"E- c #6687A5", +"F- c #526C85", +"G- c #415669", +"H- c #384655", +"I- c #6589A4", +"J- c #6E92AE", +"K- c #80A8C2", +"L- c #92BCD6", +"M- c #91BFD8", +"N- c #799AAF", +"O- c #6A8796", +"P- c #81AAC3", +"Q- c #577187", +"R- c #1F2930", +"S- c #192027", +"T- c #1B2227", +"U- c #0D1010", +"V- c #0E1012", +"W- c #070709", +"X- c #5C6062", +"Y- c #DCE8F3", +"Z- c #C4DCEF", +"`- c #9BB3C6", +" ; c #3A424F", +".; c #313A44", +"+; c #35424C", +"@; c #374655", +"#; c #6E91AD", +"$; c #87B2CC", +"%; c #799EBA", +"&; c #618298", +"*; c #7095AF", +"=; c #435663", +"-; c #80A7C0", +";; c #95C4DC", +">; c #779CB3", +",; c #526D7E", +"'; c #516A7A", +"); c #526B7B", +"!; c #465764", +"~; c #34414E", +"{; c #5C7E9A", +"]; c #2B3741", +"^; c #4B657F", +"/; c #5C7D9C", +"(; c #557088", +"_; c #0F0F10", +":; c #B9C2CA", +"<; c #CCDFEF", +"[; c #B4CDE1", +"}; c #8DAEC8", +"|; c #6F93AE", +"1; c #678CA6", +"2; c #6E92AF", +"3; c #81A8C1", +"4; c #8FBBD5", +"5; c #8DB9D2", +"6; c #6D8FA2", +"7; c #586F82", +"8; c #394851", +"9; c #86B0C6", +"0; c #85AFC8", +"a; c #6F94AF", +"b; c #698DA8", +"c; c #6889A7", +"d; c #5E7E9F", +"e; c #475D75", +"f; c #2E3C4A", +"g; c #5D7E9D", +"h; c #405465", +"i; c #36393B", +"j; c #D7E5F1", +"k; c #A4C5DC", +"l; c #668496", +"m; c #7595AB", +"n; c #7798AE", +"o; c #97C2DA", +"p; c #789DB3", +"q; c #8BB1C8", +"r; c #93C0D9", +"s; c #8BB5CF", +"t; c #85AFC9", +"u; c #82AAC6", +"v; c #5F7C95", +"w; c #1E252C", +"x; c #54728E", +"y; c #587899", +"z; c #5A7B9B", +"A; c #2D3843", +"B; c #798086", +"C; c #D1E3F1", +"D; c #B7D3E8", +"E; c #7E98AB", +"F; c #181C1F", +"G; c #46525F", +"H; c #80A1B8", +"I; c #99C3DB", +"J; c #85ACC2", +"K; c #21272D", +"L; c #0A0B0D", +"M; c #53718C", +"N; c #577797", +"O; c #1B2229", +"P; c #0D0E0F", +"Q; c #B3BDC4", +"R; c #CADDED", +"S; c #B4D3E7", +"T; c #2B3339", +"U; c #2F3840", +"V; c #7899AC", +"W; c #93C1D9", +"X; c #8FBCD5", +"Y; c #8BB6D1", +"Z; c #8DB8D2", +"`; c #92BFD8", +" > c #678092", +".> c #547089", +"+> c #5C7F9B", +"@> c #1F262E", +"#> c #202223", +"$> c #B1BECB", +"%> c #C3D9EB", +"&> c #7B8D99", +"*> c #708B9A", +"=> c #85ABC1", +"-> c #7FA3BA", +";> c #92BBD3", +">> c #7CA0B4", +",> c #97BDD4", +"'> c #657E8F", +")> c #93BDD4", +"!> c #88ADC7", +"~> c #6F94AE", +"{> c #526A7E", +"]> c #65849B", +"^> c #799DBB", +"/> c #84AFC9", +"(> c #8FB9D2", +"_> c #323C45", +":> c #516C84", +"<> c #658AA4", +"[> c #5B7C9B", +"}> c #2E3A49", +"|> c #2A3038", +"1> c #252D3A", +"2> c #1B1E20", +"3> c #ADBFCF", +"4> c #C0D6E7", +"5> c #B0CDE2", +"6> c #8EB3C9", +"7> c #526975", +"8> c #6B899D", +"9> c #597183", +"0> c #90BAD5", +"a> c #94C2DA", +"b> c #82ABC5", +"c> c #495E6E", +"d> c #82A8C3", +"e> c #81A4BA", +"f> c #7594A5", +"g> c #87ABC3", +"h> c #4D6573", +"i> c #6689A6", +"j> c #526E85", +"k> c #243037", +"l> c #607B96", +"m> c #7699B6", +"n> c #789EB5", +"o> c #303D48", +"p> c #7498B4", +"q> c #7094AF", +"r> c #597792", +"s> c #242F39", +"t> c #1A1D25", +"u> c #374553", +"v> c #4D677D", +"w> c #14191E", +"x> c #040505", +"y> c #171A1D", +"z> c #8A9FAD", +"A> c #BCD9EC", +"B> c #B5D3E7", +"C> c #A2CAE1", +"D> c #9DC7DE", +"E> c #9EC7DD", +"F> c #3B4A57", +"G> c #455867", +"H> c #98C2DB", +"I> c #85B0CC", +"J> c #7496B2", +"K> c #4C606F", +"L> c #6E8EA3", +"M> c #7EA0B6", +"N> c #91BBD3", +"O> c #8DB7D1", +"P> c #90BAD4", +"Q> c #96C1DA", +"R> c #3B4853", +"S> c #688AA5", +"T> c #4C657A", +"U> c #1B2026", +"V> c #2B3C44", +"W> c #5F7A90", +"X> c #587284", +"Y> c #536978", +"Z> c #88B1CC", +"`> c #759AB8", +" , c #617E9A", +"., c #556F85", +"+, c #20272E", +"@, c #323D48", +"#, c #333E4A", +"$, c #060707", +"%, c #4A5159", +"&, c #ACC3D5", +"*, c #ACCFE5", +"=, c #5A6874", +"-, c #AACDE1", +";, c #9CC6DC", +">, c #35414C", +",, c #769AB2", +"', c #80AAC5", +"), c #6F92AB", +"!, c #38464F", +"~, c #7EA4B9", +"{, c #97C3DC", +"], c #7A9FB6", +"^, c #3F505C", +"/, c #6D8DA6", +"(, c #1E282E", +"_, c #080909", +":, c #090A0C", +"<, c #344452", +"[, c #3B4857", +"}, c #7799AE", +"|, c #8DB6D1", +"1, c #66869E", +"2, c #3D4957", +"3, c #536C84", +"4, c #353F4C", +"5, c #111215", +"6, c #65727E", +"7, c #A6BCCD", +"8, c #5D6972", +"9, c #AED0E6", +"0, c #99C5DC", +"a, c #8DB5D0", +"b, c #8DB5CE", +"c, c #90BBD5", +"d, c #84AAC5", +"e, c #8EBBD5", +"f, c #80A7C1", +"g, c #6C8DA2", +"h, c #85AFC6", +"i, c #61839B", +"j, c #374352", +"k, c #576D83", +"l, c #80A6C1", +"m, c #81A4BB", +"n, c #111315", +"o, c #111418", +"p, c #4C6378", +"q, c #33424C", +"r, c #37454D", +"s, c #8DB4CF", +"t, c #7397B3", +"u, c #3A495A", +"v, c #0D0F13", +"w, c #27303A", +"x, c #272E36", +"y, c #0F1012", +"z, c #90A4B2", +"A, c #A8CBE2", +"B, c #91BCD4", +"C, c #80ABC3", +"D, c #567083", +"E, c #67899D", +"F, c #94C2DB", +"G, c #95C1DB", +"H, c #779CB2", +"I, c #60849E", +"J, c #64849F", +"K, c #1A1F22", +"L, c #405061", +"M, c #79A1BD", +"N, c #324051", +"O, c #6183A1", +"P, c #6B8FAD", +"Q, c #6485A2", +"R, c #34444F", +"S, c #060606", +"T, c #2D3339", +"U, c #B2CBDF", +"V, c #94BCD5", +"W, c #7DA2BA", +"X, c #3F5264", +"Y, c #5A7991", +"Z, c #7195B3", +"`, c #7BA5BD", +" ' c #81AAC6", +".' c #88B2CC", +"+' c #8EBBD4", +"@' c #8AB2CC", +"#' c #82ADC7", +"$' c #7092A5", +"%' c #95C2DA", +"&' c #41525F", +"*' c #6387A3", +"=' c #475F72", +"-' c #21282F", +";' c #5B7288", +">' c #0D0F11", +",' c #0B0E11", +"'' c #212C36", +")' c #26323C", +"!' c #161B20", +"~' c #55616D", +"{' c #9BB9D0", +"]' c #799EB6", +"^' c #27313A", +"/' c #1A222B", +"(' c #5D7E99", +"_' c #6587A4", +":' c #6789A6", +"<' c #6B8EAB", +"[' c #628097", +"}' c #6D8B9D", +"|' c #769AAF", +"1' c #6E91A9", +"2' c #6C8EAD", +"3' c #6E91AF", +"4' c #3C4D59", +"5' c #8BB1CB", +"6' c #232D32", +"7' c #13171B", +"8' c #232B32", +"9' c #839AAF", +"0' c #789BB3", +"a' c #283138", +"b' c #0C0E0F", +"c' c #242B33", +"d' c #3D4D5B", +"e' c #435768", +"f' c #4B6176", +"g' c #283137", +"h' c #8DB4CC", +"i' c #41535E", +"j' c #405362", +"k' c #3C4F60", +"l' c #3C4E5B", +"m' c #2B353E", +"n' c #526876", +"o' c #92BAD3", +"p' c #1B1F23", +"q' c #31383F", +"r' c #7F9CB6", +"s' c #21292F", +"t' c #29333F", +"u' c #1F252E", +"v' c #090A0E", +"w' c #4D626E", +"x' c #96BDD3", +"y' c #191D20", +"z' c #13181B", +"A' c #80A4BC", +"B' c #1B2027", +"C' c #5D7182", +"D' c #2C383F", +"E' c #364857", +"F' c #1A2028", +"G' c #333F49", +"H' c #7FA2B5", +"I' c #4A5E6E", +"J' c #232E35", +"K' c #252D35", +"L' c #2F3A41", +"M' c #0A0B0E", +"N' c #14191D", +"O' c #5A717F", +"P' c #212931", +"Q' c #222B34", +"R' c #101216", +"S' c #21272B", +" ", +" ", +" ", +" . ", +" + ", +" @ # $ % ", +" & * = - ; ", +" > , ' ) ! ~ { ] ", +" ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a ", +" b c d e f g h i j k l m n o p q r s t u v w x ", +" y z A B C D E F G H I J K L M N O P Q R S T U U V W X Y ", +" Z ` ...+.@.#.$.%.O &.*.=.-.;.>.,.'.).!.~.~.~.{.].^./.(._.:.<. ", +" b [.}.|.#.1.2.3.4.{.~.~.~.~.5.6.5.~.7.8.{.~.~.~.~.9.0.a.b.].c. ", +" d.e.f.g.h.i.j.k.{.~.~.~.~.l.~.m.% n.~.o.{.{.~.~.~.~.p.V 9.~.q.r. ", +" s.t.u.v.w.x.u y.z.A.B.5.~.~.5.C.D.E.F.~.~.G.~.~.~.G.H.I.J.~.~.J.K.L. M.N. ", +" O.P.Q.R.S.T.U.V.W.X.Y.Z.`.~.~.5. +.+++@+U ~.~.~.~.~.#+$+%+,.~.~.G.&+*+=+-+;+ ", +" >+,+Q.'+)+!+~+{+]+^+/+(+_+:+<+~.[+}+U 9.|+5.~.~.~.~.1+2+3+4+5+~.].6+7+8+9+0+ ", +" a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+5.U ~.U r+s+~.~.~.t+u+v+w+x+y+~.z+A+t+B+C+D+E+ F+G+ ", +" H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+V ~.~.~.~.U ~.~.~.o.9.{.Z+`+9.~.~.~.V @.@+@@@#@ $@%@&@*@ ", +" =@-@;@>@,@'@'.)@!@~@{@]@^@/@l+(@_@:@<@~.~.~.U {.~.~.~.{.~.~.{.[@~.~.~.~.}@|@1@2@3@4@5@6@7@8@ ", +" 9@0@a@b@c@d@-.e@f@g@h@i@j@k@l@V+m@n@o@p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.q@r@s@t@u@v@w@x@y@ ", +"z@A@B@C@D@E@X F@G@H@R I@J@K@L@M@N@O@P@Q@R@o+S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.9.U@V@W@X@<+V Y@Z@`@ # ", +" .#+#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]#^#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.U (#_#:#<#p@{.[#}#|#1#2# ", +" 3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.l#m#9.{.~.n#o#p#q#r#s# ", +" t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#% J#K#S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.L#0.l.~.~.{.M#N#O#P#Q#R# ", +" S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$a#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.o.o.;$9.G.~.>$,$'$)$!$~${$]$ ", +" ^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$:+<+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.G.0$a$b$c$d$e$f$g$h$i$j$k$ ", +" [ l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$M#p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.;$D$E$F$G$H$I$J$K$L$ ", +" M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.%+%@%<+{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.#%$%%%p@&%*%=%-%;%>%,% ", +" '%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%-$T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.4%5%U p@6%7%8%9%0%a%y ", +" b%c%d%e%f%g%h%i%G.[#j%k%l%m%n%o%p%@%q%{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.~.~.~.~.~.V G.}@r%s%t%u%v%w%M.x%y%z%A% ", +" B%C%D%E%F%G%H%I%V o.<@J%K%L%M%N%O%P%p@~.~.~.~.~.~.~.~.~.U ~.~.U 9.Q%{.~.~.~.~.~.{.%%U {.~.~.{.v@R%S%T%U%V%W% X%$ ", +" Y%Z%`% &.&+&@&#&U ~.{.$&%&&&*&=&-&T@~.~.~.~.~.~.~.~.~.~.~.;&>&,&'&)&!&5+~.~.~.~.{.~&{&]&9.~.p@^&/&(&_&:& <&[&}&|& ", +" 1&2&3&4&5&6&7&8&9&l.~.{.V 0&a&b&c&~.~.~.~.~.~.~.5.d&e&f&g&h&i&j&k&l&m&n&~.~.G.~.~.~.o&p&q&r&s&t&u&v& w&x&y&z&A&B& ", +" C&2&D&E&F&G&G&H&I&J&U ~.~.U K&L&,.~.~.~.~.~.~.~.U M&N&O&P&Q&R&S&T&U&V&W&X&].{.~.~.{./#Y&Z&`& *.*+*@* (.#*$*%*&***=* ", +" -*;*>*,*'*)*!*~*{*]*^*~.5.{.5./*U ~.~.~.~.~.~.{.[#(*_*:*<*[*[*}*|*1*2*3*4*5*U ~.~.6*7*8*9*0*a*b*c*d*e*f*g*h*i*%*j*k*<%l* ", +" m*n*o*p*q*r*s*t*u*v*w*1+~.~.~.~.~.~.~.~.~.~.~.x*y*z*A*B*C*D*E*V U ~.G.~.:.F*G*l.{.R%X+H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X* ", +" Y*Z*D&`* =.=+=@=#=$=%=&={.~.~.~.~.~.~.~.~.~.~.<+*===-=;=>=,='=)=[#p@!=~={=]=^=/=(=a#&%_=:=<=-#[=}=k$|=1=2=3=4=5=6=7=8=9= ", +" 0=a=b=c=d=e=f=g=h=i=j=k=l=5.~.~.~.~.~.~.~.~.~.V -$m=n===o=p=q=r=s=t=:+u=v=w=x=y=z=A=J.V U ~.V [#B=C=D=1=E=F= G=H=I= ", +" J=K=L=M=N=O=P=Q=R=S=T=U=V=5.U ~.~.~.~.~.~.~.~.~.{.x*W=X=Y=Z=`= -.-+-@-#-$-%-&-*-=---;->-9.x*)=,-'-)-c.!-~- {-]- ", +" ^-/-(-_-:-<-<-[-%.}-|-1-T@~.{.~.~.~.~.~.~.~.~.~.~.V 2-^&3-4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-V@i-j-k-l-T=m-7@n- o-p- ", +" q-r-s-t-u-v-!+2*w-x-y-z-V ~.~.~.~.~.~.~.~.~.~.~.~.~.~./#A-B-C-D-E-F-G-H-I-J-K-L-<@M-W=N-O-P-Q-R-<&S-T-U-V- W- ", +" X-Y-Z-`- ;.;+;@;#;$;q+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~./#v@W=N#%;&;*;=;-;s=-#;;>;,;';);!;~;{;];^;/;(;H+ ", +" _;:;<;[;};|;1;2;3;4;{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.T@-#5;6;7;8;9;[#V <+0;a;b;c;E-d;e;f;|=g;h; ", +" i;j;V#k;F.l;m;n;o;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.{.p@S@s=p;q;~.~.{.r;s;t;u;~$v;w;x;y;z;A; ", +" H+B;C;D;E;F;G;H;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.U ~.~.V E*E*V ~.~.~.{.T@/#I;J;K;L;M;y;N;O; ", +" P;Q;R;S;T;U;~.{.~.~.~.~.~.~.~.~.l.U {.p@~.~.{.V ~.~.5+V;].~.~.~.~.{.{.p@W;X;Y;Z;`;/# >W..>+>N;@> ", +" #>$>%>&>*>G.~.~.~.~.~.~.~.~.{.`.=>V=->;>~.n##&>>T@,>'>].~.~.~.~.~.)>!>i$~>{>]>^>/>(>_>:><>[>}> |>1> ", +" 2>3>4>5>U@U ~.~.~.~.~.~.~.{.6>7>8>9>0>a#a>b>c>d>e>f>~.~.~.V ~.~.g>h>i>1=j>,%k>l>m>n>o>p>q>r>s>t>u>v>w> ", +" x>y>z>A>B>C>5+D>E>~.~.~.~.{.%&F>G>3;s%{.H>I>J>K>L>M>~.V N>O>P>x*Q>R>S>T>U> X%V>W>X>Y>Z>P-`> ,.,+, ", +" @,#,$,%,&,1.*,=,-,;,{.p@V {.X@>,,,Z;V ~.5.`;',),!,~,~.{,],^,/,/&-$F$(,_, :,<,[,},<@|,1,2, ", +" B&3,4, 5,6,7,8,9,0,`;a,b,B+c,d,s=<+~.~.~.a#e,f,g,h,V -#9$i,j,k,l,m,n, o,p,q,r,s,t,u,v, ", +" w,x, y,z,A,B,C,D,E,o@F,G,<+~.~.~.~.~.;;P>j%}@p@H,]#I,J,K,L,M,=+ N,O,P,Q,R,S, ", +" T,U,V,W,X,Y,Z,`, '.'+'x*~.{.O+@%@'#'$'%'a#&'*'='-' ~;;'>' ,''')'!' ", +" ~'{']'^'/'('_'_':'<'['}'{.V |'1'2'3'4'5'}@6'7' 8'K; ", +" v&9'0'a' b'c'd'e'f'1@g'h'G.i'j'k'l'm'n'o'p' y ", +" q'r's' t'u'H+ v'w'x'y' z'A'B' ", +" C'D' E'F' G'H' I'J' ", +" K'L' M' N'O' P'Q' ", +" R' S' ", +" ", +" ", +" ", +" "}; diff --git a/minilibx-linux-master-bak/test/open24.xpm b/minilibx-linux-master-bak/test/open24.xpm new file mode 100644 index 0000000..f363254 --- /dev/null +++ b/minilibx-linux-master-bak/test/open24.xpm @@ -0,0 +1,230 @@ +/* XPM */ +static char *open[] = { +/* width height num_colors chars_per_pixel */ +" 45 55 168 2", +/* colors */ +".. s None c None", +".# c #450304", +".a c #ce7e7c", +".b c #b94344", +".c c #b65254", +".d c #780204", +".e c #b04c4c", +".f c #b00204", +".g c #8a8a64", +".h c #969a24", +".i c #b6b60c", +".j c #cac614", +".k c #cece34", +".l c #cace54", +".m c #caca94", +".n c #c24e4c", +".o c #aa0204", +".p c #9e4244", +".q c #bc0204", +".r c #a40204", +".s c #9e262c", +".t c #8c3a3c", +".u c #5c1414", +".v c #5b0204", +".w c #700204", +".x c #722214", +".y c #b52624", +".z c #8e3234", +".A c #b60204", +".B c #c20204", +".C c #860204", +".D c #560304", +".E c #800204", +".F c #9e0204", +".G c #920204", +".H c #620204", +".I c #a41314", +".J c #996a6c", +".K c #920d09", +".L c #c80204", +".M c #690204", +".N c #980204", +".O c #984c4c", +".P c #e2dedc", +".Q c #ae5e5c", +".R c #bc6a6c", +".S c #a21a1c", +".T c #8a0a04", +".U c #671e1c", +".V c #941b1c", +".W c #b8b4b4", +".X c #e8e6e4", +".Y c #ccb4b4", +".Z c #c07c7c", +".0 c #f3f2eb", +".1 c #b49696", +".2 c #521614", +".3 c #9e5a5c", +".4 c #d4d4d4", +".5 c #a7a5a1", +".6 c #dec4c4", +".7 c #e4d6d4", +".8 c #f4f2f4", +".9 c #cccac4", +"#. c #9a161c", +"## c #8c0204", +"#a c #862c2c", +"#b c #7e5e5c", +"#c c #a39694", +"#d c #6b6667", +"#e c #322624", +"#f c #b09e9c", +"#g c #b23234", +"#h c #500304", +"#i c #222224", +"#j c #2e322c", +"#k c #925c5c", +"#l c #721a1c", +"#m c #6e6e6c", +"#n c #0a0a0c", +"#o c #b2b2b4", +"#p c #8e6264", +"#q c #884444", +"#r c #8c5c5c", +"#s c #121214", +"#t c #b2aeac", +"#u c #c21e1c", +"#v c #6e0e0c", +"#w c #623e3c", +"#x c #b64e4c", +"#y c #bc3634", +"#z c #624e1c", +"#A c #6e727c", +"#B c #824e4c", +"#C c #8b8d87", +"#D c #a09674", +"#E c #766844", +"#F c #7a663c", +"#G c #828c90", +"#H c #beb6a4", +"#I c #3a0204", +"#J c #8e9298", +"#K c #562529", +"#L c #7c3838", +"#M c #bab294", +"#N c #7e4644", +"#O c #929a9c", +"#P c #762a2c", +"#Q c #a60e0c", +"#R c #ae1e1c", +"#S c #460a0c", +"#T c #a6aaa4", +"#U c #6a4a4c", +"#V c #784c50", +"#W c #761214", +"#X c #9e1e1c", +"#Y c #988c90", +"#Z c #821e1c", +"#0 c #7a1618", +"#1 c #7a6e74", +"#2 c #7e7a77", +"#3 c #808688", +"#4 c #828284", +"#5 c #828279", +"#6 c #827a64", +"#7 c #7e765c", +"#8 c #864a34", +"#9 c #825a44", +"a. c #766e54", +"a# c #7e7e74", +"aa c #806464", +"ab c #7e724c", +"ac c #766634", +"ad c #765a2c", +"ae c #8e7e54", +"af c #a69e8c", +"ag c #c7c2ac", +"ah c #9a2a1c", +"ai c #aa3a3c", +"aj c #979894", +"ak c #70684c", +"al c #62522c", +"am c #6e5e3c", +"an c #92866c", +"ao c #968e6c", +"ap c #826e54", +"aq c #84765c", +"ar c #86522c", +"as c #7e4624", +"at c #7e3614", +"au c #6e5254", +"av c #712e2c", +"aw c #7a5654", +"ax c #82727c", +"ay c #a63634", +"az c #8a6a6c", +"aA c #863534", +"aB c #5c1a18", +"aC c #6a2c2c", +"aD c #5e0e14", +"aE c #868684", +"aF c #922624", +"aG c #901614", +"aH c #c21614", +"aI c #520e0c", +"aJ c #805654", +"aK c #b00c0c", +"aL c #c2221c", +/* pixels */ +"..........................................................................................", +"..........................................................................................", +".....................................#.a.#................................................", +"...................................#.b.c.#.#.#.#...........#.d............................", +".................................#.e.f.f.#.g.h.i.j.k.l.m...f.n............................", +".................................d.f.o.f.#.#.#.d.d.#.#.#...f.f.d..........................", +".................................p.q.q.r.s.t.u.v.w.x.d.d.#.d.r.y.d........................", +".................................z.A.B.q.C.D.E.F.G.E.H.E.I.F.q.A.d........................", +".................................J.G.f.G.w.K.f.L.B.B.r.M.f.B.L.A.d........................", +".................................d.w.N.M.O.P.Q.B.B.o.R.S.E.q.q.T.d........................", +".................................d.U.M.V.W.X.Y.q.B.Z.0.1.E.r.N.d..........................", +".................................d.2.r.3.4.5.6.A.f.7.8.9#.###a.#..........................", +"................................#b.d.L#c#d#e#f.N.V.5#d.4#g.E.d............................", +"...............................d#h.r.L#f#i#j#k.M#l#m#n#o.b.r.d............................", +"...............................d#h##.q#g#p#q##.q.N#r#s#t#u.q#v.#..........................", +"..............#j................#w.w.C.r.q##.r.B.f.T#x#y.L.r.M.d..........................", +"............#j#z#j#A#A#j.........d.D.r.M.C.f.r.r.r.q.B.C.N.E#B............................", +"..........#j#C#D#E#z#F#G#j.......d.d.#.G##.w.M.M.C.C.d.G.r.u.d............................", +"....................#E#H#C#j.........d#I.w.F.f.o.o.o.N.M.#.d..............................", +"......................#E#j#J#j......#K.M.#.#.v.w.M.v.##h.H#L.d............................", +"..........................#M#j.......v.F.q.r.d.w.w.C.E.M.v.M#N.d..........................", +"..........................#E#O#j#j#K##.f.L.L.L.B.q.f##.M.v.w.w#P.d.#...d.d................", +"............................#C#E.#.v.o.B.L.L.q.q.q.q.N.M.D#h.M.N.r#Q#R#S.H.J.#............", +"............................#j#T#U.C.q.q.o.G.F.f.q.A.N.d.v.v##.o.q.L.r.C.A###k............", +"..............................#C#V.N.A.N.f.q.F.C.E.f.F.E.H#n#W.K.I#X#a.z.V.q.d#p.d........", +"................................#Y.r.K#Z.K.q.A.G.w#0#b#1#2#3#4#5#5#6#6#7#8.q.G#9..........", +"..................#j#oa..5#j..#J#Ja##4#4aa.o.A##.E.xabacadae#Daf#M#Magah.r.qai.#..........", +"................aja#akalamanaoapaqaaarasat.r.o.E.w.T.T.E.H.#...........#.d.d.#............", +"...........E....#j#j#C#M#j#n#naa#V.O.f.N.F.q.G.d.w.r.C.d.H.#...............#..............", +"...........#.F.F.J#n#n#n#n#n#nauav#p.q.N.d.d.w.M.F.F.E.d.U................................", +".........E.F.E.E.d.z#n.d#n#n#naw.Uax.r##.d.w.D.M.r.N.E.w.d................................", +".........E.F.......d.Fay.E.F#naz.2#A.D#h.r.f.w##.r##.d.H.M................................", +".........F.#...........E.E.F.baAaB#A.#.E.f.r.w.N.N.E.waC.#................................", +".........F.#...............d.F.E#K#d.H.G.F.G.w.N##.d.D.#..................................", +".........F.#....................#Aau.v.E##.w.E.E.w.H.d.......d..av.d......................", +".........E.#..................#j#GaC.M.H.M.d.d.w.H.#.d.d.#aC.w.C##.E.d....................", +"...........F.................5#O...#aD.w.d.w.H.D.M######.G.F.o.f.o.N.3....................", +"...........F.E...........5aEakak.....#.##h#h.v.N.o.f.q.L.L.L.L.L.q.faF....................", +"...........E.E......#E#C.5aq#j.....#.v.N.F.d.N.r.F.r.F#Q.I.o.q.L.L.L.y....................", +".............E.....................#.E.B.qaG.d.d.d.....#.#.....d#x.b......................", +".............E.F...................E.w.L.LaG.#............................................", +"...............E.E.................EaA.q.qaG.#............................................", +"...............E.F.E.................E.r.r#Z.#............................................", +".................E.F.E...............E.G.NaA..............................................", +".................E#uaH.................w.dav..............................................", +"...................E.E.............EaI.M.w.v.#............................................", +"...................................E.D.d.E.waJ............................................", +".....................................C.N.N##.M............................................", +"..................................#W.f.q.A.f.G#q..........................................", +".....................................q.L.L.L.q.V.#........................................", +"...................................#.daK.q.qaL.d..........................................", +".......................................#.#.#..............................................", +"..........................................................................................", +"..........................................................................................", +".........................................................................................." +}; diff --git a/minilibx-linux-master-bak/test/open30.xpm b/minilibx-linux-master-bak/test/open30.xpm new file mode 100644 index 0000000..87be371 --- /dev/null +++ b/minilibx-linux-master-bak/test/open30.xpm @@ -0,0 +1,1439 @@ +/* XPM */ +static char * open30_2_xpm[] = { +"64 64 1372 2", +" c None", +". c #08090D", +"+ c #1A1E23", +"@ c #1F2124", +"# c #060809", +"$ c #1A1E21", +"% c #4F606C", +"& c #3D4145", +"* c #868D93", +"= c #454E56", +"- c #627481", +"; c #667C8A", +"> c #2D3031", +", c #D7E1E7", +"' c #4D5157", +") c #8997A5", +"! c #282E31", +"~ c #333B41", +"{ c #A5C6DB", +"] c #718C9B", +"^ c #000000", +"/ c #181B1F", +"( c #262828", +"_ c #D2DEE7", +": c #B8C5D0", +"< c #151719", +"[ c #08090B", +"} c #272B30", +"| c #2D3037", +"1 c #26282C", +"2 c #1A1D1F", +"3 c #B1CADB", +"4 c #56646E", +"5 c #080809", +"6 c #080A0C", +"7 c #1E2126", +"8 c #98B7C9", +"9 c #A2CAE2", +"0 c #7FA1B5", +"a c #06080A", +"b c #252729", +"c c #A7ADB2", +"d c #272B2E", +"e c #1E2023", +"f c #C8D8E5", +"g c #C9DDED", +"h c #8996A3", +"i c #6B7782", +"j c #C7DFF0", +"k c #CCE0F0", +"l c #AFC1CF", +"m c #47535B", +"n c #B0D3E8", +"o c #7E99A9", +"p c #738493", +"q c #97B4C7", +"r c #53606A", +"s c #6E8996", +"t c #A1CBE3", +"u c #9CC6DE", +"v c #90B5CB", +"w c #171D22", +"x c #1E2629", +"y c #020202", +"z c #ABB3BA", +"A c #BBC4C8", +"B c #222323", +"C c #141617", +"D c #5D6164", +"E c #ACB5BC", +"F c #676D74", +"G c #BDD4E5", +"H c #B3D1E7", +"I c #B0D1E7", +"J c #728A99", +"K c #94AEBF", +"L c #B1D1E7", +"M c #505C64", +"N c #7B98A9", +"O c #A1CBE0", +"P c #99C3D9", +"Q c #475863", +"R c #A0C9DE", +"S c #9CC6DA", +"T c #9ECAE1", +"U c #9CC5DD", +"V c #9AC4DC", +"W c #263137", +"X c #3C4A55", +"Y c #658190", +"Z c #66686B", +"` c #7D8085", +" . c #363839", +".. c #797E81", +"+. c #D2DBE1", +"@. c #DDE9F4", +"#. c #CADEEF", +"$. c #778593", +"%. c #AED0E5", +"&. c #9EC9DE", +"*. c #9EC8DF", +"=. c #9BC1D8", +"-. c #9EC8DE", +";. c #6B8596", +">. c #9BC5DC", +",. c #9BC6DF", +"'. c #9CC5DC", +"). c #688595", +"!. c #6B8698", +"~. c #9CC4DC", +"{. c #9BC4DC", +"]. c #9DC5DD", +"^. c #647D8C", +"/. c #485864", +"(. c #161A1D", +"_. c #36444C", +":. c #95BDD5", +"<. c #566E7E", +"[. c #A4AAAD", +"}. c #E9F2F7", +"|. c #DEEAF6", +"1. c #B5D4E9", +"2. c #A9CFE3", +"3. c #90B3C9", +"4. c #9FCAE1", +"5. c #9BC4DD", +"6. c #7490A2", +"7. c #99C2DB", +"8. c #81A5BA", +"9. c #9CC5DE", +"0. c #98C1DA", +"a. c #5F7889", +"b. c #96BFD8", +"c. c #44545F", +"d. c #565A5E", +"e. c #DFE6EC", +"f. c #E6EEF7", +"g. c #D6E4F2", +"h. c #BFD6E9", +"i. c #A9CCE3", +"j. c #9FC8DD", +"k. c #9DC6DD", +"l. c #9CC4DD", +"m. c #7D9FB0", +"n. c #98C0D6", +"o. c #9AC5DD", +"p. c #97BFD8", +"q. c #9BC5DF", +"r. c #2D3840", +"s. c #626567", +"t. c #E7ECF5", +"u. c #E1EAF5", +"v. c #CEE3F3", +"w. c #B7D6EA", +"x. c #A4CBE0", +"y. c #8AAFC5", +"z. c #647F90", +"A. c #648092", +"B. c #89B0C7", +"C. c #9CC6DF", +"D. c #5D7486", +"E. c #7B9BAF", +"F. c #84A8BF", +"G. c #9BC5DD", +"H. c #96BED5", +"I. c #4B5D69", +"J. c #9BC5DE", +"K. c #536B77", +"L. c #2E3B41", +"M. c #1B2124", +"N. c #3F4F58", +"O. c #4D5152", +"P. c #E7EEF3", +"Q. c #E2EAF5", +"R. c #CEE2F2", +"S. c #BAD5E9", +"T. c #9DC2D7", +"U. c #5C7281", +"V. c #232A31", +"W. c #08090A", +"X. c #121418", +"Y. c #131619", +"Z. c #131719", +"`. c #87ACC3", +" + c #7B9BAE", +".+ c #87ADC3", +"++ c #8FB5CB", +"@+ c #678295", +"#+ c #96C0D8", +"$+ c #607787", +"%+ c #6B8595", +"&+ c #96C1DB", +"*+ c #6A8595", +"=+ c #35424A", +"-+ c #7090A1", +";+ c #15191C", +">+ c #2D3033", +",+ c #DDE5EB", +"'+ c #D2E3F1", +")+ c #BAD7EB", +"!+ c #A9CFE5", +"~+ c #272F35", +"{+ c #1C2227", +"]+ c #4F697B", +"^+ c #6B8FA9", +"/+ c #759CB6", +"(+ c #7BA0BB", +"_+ c #80A5BC", +":+ c #88B0C8", +"<+ c #96C3DB", +"[+ c #8FB6CD", +"}+ c #80A1B3", +"|+ c #556876", +"1+ c #96BFD7", +"2+ c #566B77", +"3+ c #93B8CD", +"4+ c #637A8D", +"5+ c #9DC6DE", +"6+ c #8FB4CA", +"7+ c #55697A", +"8+ c #6F8F9F", +"9+ c #91BDD5", +"0+ c #283239", +"a+ c #050406", +"b+ c #767B80", +"c+ c #BDC6CE", +"d+ c #D4E5F3", +"e+ c #C1D7EA", +"f+ c #A7CDE4", +"g+ c #9FC9DE", +"h+ c #668596", +"i+ c #6D90AA", +"j+ c #5C7994", +"k+ c #60849F", +"l+ c #6286A1", +"m+ c #688CA8", +"n+ c #7298B2", +"o+ c #82A8C2", +"p+ c #8FBAD5", +"q+ c #96C2DB", +"r+ c #89ADC4", +"s+ c #96BED6", +"t+ c #99C2DA", +"u+ c #6C899A", +"v+ c #92BBD2", +"w+ c #9AC4DD", +"x+ c #5B717D", +"y+ c #9EC6DE", +"z+ c #8BB1C9", +"A+ c #718EA0", +"B+ c #94C3DB", +"C+ c #536B78", +"D+ c #3E505F", +"E+ c #4E6373", +"F+ c #2C333C", +"G+ c #070708", +"H+ c #040404", +"I+ c #1A1C1E", +"J+ c #202326", +"K+ c #050606", +"L+ c #23292E", +"M+ c #A1C0D4", +"N+ c #9FC9DD", +"O+ c #97C2DB", +"P+ c #80A8C1", +"Q+ c #668AA6", +"R+ c #4B5D72", +"S+ c #4C647A", +"T+ c #5F80A0", +"U+ c #60859E", +"V+ c #678AA6", +"W+ c #739BB5", +"X+ c #85AEC7", +"Y+ c #92BDD7", +"Z+ c #96BFD5", +"`+ c #627B8A", +" @ c #89B1C9", +".@ c #2B353C", +"+@ c #7597B2", +"@@ c #779CB8", +"#@ c #52697C", +"$@ c #1D2328", +"%@ c #445663", +"&@ c #5E7A8D", +"*@ c #252F37", +"=@ c #090909", +"-@ c #859BB2", +";@ c #859DB8", +">@ c #6E8396", +",@ c #252C33", +"'@ c #9CC4D7", +")@ c #92C0D9", +"!@ c #79A0BA", +"~@ c #6487A3", +"{@ c #566979", +"]@ c #8CB0C2", +"^@ c #51697C", +"/@ c #60849D", +"(@ c #6D8EAC", +"_@ c #7BA0BC", +":@ c #8AB4CE", +"<@ c #95C2DB", +"[@ c #9AC5DC", +"}@ c #95C1DA", +"|@ c #607B8C", +"1@ c #597488", +"2@ c #7EA6BF", +"3@ c #597587", +"4@ c #455664", +"5@ c #668598", +"6@ c #82A9C4", +"7@ c #617F92", +"8@ c #1A2328", +"9@ c #2B3137", +"0@ c #728FAC", +"a@ c #51657B", +"b@ c #6B8AA8", +"c@ c #8EAEC7", +"d@ c #A8C8E2", +"e@ c #92BDD6", +"f@ c #769DBA", +"g@ c #526E87", +"h@ c #7490A0", +"i@ c #A6CDE4", +"j@ c #97BFD4", +"k@ c #55697D", +"l@ c #6286A0", +"m@ c #7399B3", +"n@ c #84ACC5", +"o@ c #92BFD9", +"p@ c #99C4DC", +"q@ c #94C0DA", +"r@ c #4F6575", +"s@ c #7DA5BF", +"t@ c #7FA2BC", +"u@ c #8FB6CE", +"v@ c #95C3DB", +"w@ c #8EB8D2", +"x@ c #6A879D", +"y@ c #111318", +"z@ c #252A30", +"A@ c #81868C", +"B@ c #A5ABAD", +"C@ c #70767C", +"D@ c #38434F", +"E@ c #637F9B", +"F@ c #516980", +"G@ c #799AB5", +"H@ c #A5C3D9", +"I@ c #93BDD6", +"J@ c #779EBA", +"K@ c #445A6B", +"L@ c #93B5C9", +"M@ c #B6D3E8", +"N@ c #AECFE4", +"O@ c #95BDD2", +"P@ c #52687A", +"Q@ c #6486A3", +"R@ c #7092B0", +"S@ c #90BCD6", +"T@ c #97C4DC", +"U@ c #A0C9E0", +"V@ c #99C5DD", +"W@ c #86AEC6", +"X@ c #8FBAD4", +"Y@ c #91BDD6", +"Z@ c #7094AC", +"`@ c #2A353E", +" # c #0B0E10", +".# c #888D90", +"+# c #787D82", +"@# c #465360", +"## c #56697F", +"$# c #A6CADD", +"%# c #5A7382", +"&# c #6C8CAA", +"*# c #A5BED3", +"=# c #A7CAE0", +"-# c #94C1DA", +";# c #7EA4BF", +"># c #415160", +",# c #9DC3D5", +"'# c #B3CFE1", +")# c #AAC3D4", +"!# c #A8CDE4", +"~# c #89ACBE", +"{# c #567088", +"]# c #6C91AC", +"^# c #81A7C2", +"/# c #96C4DC", +"(# c #85A9BD", +"_# c #708C9B", +":# c #5A6E7B", +"<# c #6C8695", +"[# c #97C3DB", +"}# c #8BB5CE", +"|# c #425461", +"1# c #63819E", +"2# c #415465", +"3# c #0B0D0E", +"4# c #607387", +"5# c #687D8C", +"6# c #B8D6E9", +"7# c #7893A2", +"8# c #576F85", +"9# c #A7BACF", +"0# c #B0CEE5", +"a# c #98C4DC", +"b# c #88B1CA", +"c# c #36444E", +"d# c #8FA0AD", +"e# c #73818D", +"f# c #596D81", +"g# c #B4D0E4", +"h# c #A3CDE2", +"i# c #658296", +"j# c #6A8DAB", +"k# c #7BA5C0", +"l# c #94BAD2", +"m# c #6D899B", +"n# c #99C3DC", +"o# c #8EB9D2", +"p# c #7AA0BA", +"q# c #6C8FAB", +"r# c #6484A1", +"s# c #1F252C", +"t# c #121619", +"u# c #7E96B0", +"v# c #7A8A96", +"w# c #BCD7EA", +"x# c #A0C5D9", +"y# c #3C4B57", +"z# c #A9BACD", +"A# c #BCD5E8", +"B# c #84A6BA", +"C# c #8EA1AE", +"D# c #CFD1D4", +"E# c #ECF6FA", +"F# c #ABB7C2", +"G# c #556F84", +"H# c #57626A", +"I# c #5C7078", +"J# c #6C8AA7", +"K# c #80A6C0", +"L# c #91B8D0", +"M# c #94BFD8", +"N# c #87B0CA", +"O# c #7CA2BB", +"P# c #7097AF", +"Q# c #495E6F", +"R# c #0C0E11", +"S# c #3A3F43", +"T# c #8AA3BB", +"U# c #778592", +"V# c #C0D8EB", +"W# c #B3D5E9", +"X# c #404A53", +"Y# c #B2C2D3", +"Z# c #96A1AC", +"`# c #9DB2C3", +" $ c #AEBECE", +".$ c #EDEFF3", +"+$ c #F7FAFC", +"@$ c #B6BFC7", +"#$ c #556E85", +"$$ c #121314", +"%$ c #2B2E2F", +"&$ c #555A5E", +"*$ c #3B4C5B", +"=$ c #6F8EA4", +"-$ c #92BED8", +";$ c #9DC7DF", +">$ c #87ACC1", +",$ c #546A78", +"'$ c #516874", +")$ c #4E6570", +"!$ c #4D6271", +"~$ c #4C6271", +"{$ c #4E677A", +"]$ c #38454E", +"^$ c #6C7278", +"/$ c #86A1B6", +"($ c #5C656C", +"_$ c #A4B0BA", +":$ c #555D64", +"<$ c #657178", +"[$ c #A6B0B5", +"}$ c #939CA1", +"|$ c #D4E4F1", +"1$ c #A0BACE", +"2$ c #B9C7D7", +"3$ c #F6F7F9", +"4$ c #C6CED1", +"5$ c #506A7C", +"6$ c #060607", +"7$ c #676A6B", +"8$ c #91999F", +"9$ c #7CA3BE", +"0$ c #96BCD4", +"a$ c #5B717E", +"b$ c #4B5F6C", +"c$ c #455864", +"d$ c #5B717F", +"e$ c #81A5B9", +"f$ c #98C4DD", +"g$ c #93BFD8", +"h$ c #87B1CA", +"i$ c #7BA1BC", +"j$ c #5A7489", +"k$ c #222A33", +"l$ c #838A92", +"m$ c #9DADBC", +"n$ c #ECF0F5", +"o$ c #F1F9FB", +"p$ c #818A8D", +"q$ c #4A5155", +"r$ c #6A6F72", +"s$ c #7E898F", +"t$ c #E6F1F7", +"u$ c #CADCED", +"v$ c #A0B7CC", +"w$ c #C6D1DF", +"x$ c #AFB3B4", +"y$ c #5F707D", +"z$ c #CBCFD1", +"A$ c #F4F5F6", +"B$ c #66737F", +"C$ c #87B2CB", +"D$ c #90B7CD", +"E$ c #596E7B", +"F$ c #586F7E", +"G$ c #8BB0C8", +"H$ c #91BED6", +"I$ c #83ADC7", +"J$ c #6D8EA7", +"K$ c #3F5161", +"L$ c #2D3A45", +"M$ c #1F2020", +"N$ c #BDC5CC", +"O$ c #E0EDF5", +"P$ c #BBCAD8", +"Q$ c #E1E4E7", +"R$ c #5E6368", +"S$ c #5B5F62", +"T$ c #D9E7F3", +"U$ c #A4C3D6", +"V$ c #89A3B3", +"W$ c #7B91A1", +"X$ c #627990", +"Y$ c #42505A", +"Z$ c #CACCCE", +"`$ c #F9F9F9", +" % c #FDFDFD", +".% c #BCBEC0", +"+% c #5C7689", +"@% c #8DB9D3", +"#% c #8FB5CC", +"$% c #536471", +"%% c #98C1D9", +"&% c #91BED7", +"*% c #81AAC5", +"=% c #597386", +"-% c #41535F", +";% c #6486A2", +">% c #4D667D", +",% c #070809", +"'% c #44484E", +")% c #BEC8D0", +"!% c #8096A6", +"~% c #516473", +"{% c #A9ACAF", +"]% c #8B8F91", +"^% c #A8B3BD", +"/% c #C5DAEB", +"(% c #9FC8E1", +"_% c #8FBCD6", +":% c #81A8C2", +"<% c #6C90AC", +"[% c #56728C", +"}% c #585B5F", +"|% c #CBCDCD", +"1% c #C1C3C6", +"2% c #4F565F", +"3% c #82ABC3", +"4% c #93BCD3", +"5% c #95BED7", +"6% c #8EB9D3", +"7% c #5B788B", +"8% c #627E91", +"9% c #7FA7C1", +"0% c #6C91AB", +"a% c #546F87", +"b% c #6F7376", +"c% c #D5E2EF", +"d% c #A9C4D8", +"e% c #81A1BA", +"f% c #333940", +"g% c #5F6B76", +"h% c #C0D5E8", +"i% c #AACCE2", +"j% c #8EB8D3", +"k% c #7FA5BF", +"l% c #7095B0", +"m% c #4E697E", +"n% c #07090A", +"o% c #0D0F10", +"p% c #7193A6", +"q% c #96C3DC", +"r% c #8EBCD7", +"s% c #91BDD7", +"t% c #8FBBD6", +"u% c #7699AD", +"v% c #4D626F", +"w% c #252D33", +"x% c #101215", +"y% c #0C0D0E", +"z% c #0A0C0E", +"A% c #06090A", +"B% c #7F8488", +"C% c #D7E3F1", +"D% c #B6D0E4", +"E% c #A3C2D7", +"F% c #596872", +"G% c #A9BED0", +"H% c #B4D0E5", +"I% c #9EC8DC", +"J% c #8FB9D4", +"K% c #85ADC7", +"L% c #7FA4BE", +"M% c #4B606F", +"N% c #4E6372", +"O% c #89B6D0", +"P% c #92C1DA", +"Q% c #9DC7DD", +"R% c #95C0DA", +"S% c #94BED8", +"T% c #8BB8D1", +"U% c #7AA0B9", +"V% c #4E667A", +"W% c #344151", +"X% c #0C0D0F", +"Y% c #8A8F92", +"Z% c #D4E6F5", +"`% c #BCD5E9", +" & c #8599A5", +".& c #939DA6", +"+& c #C4DAEB", +"@& c #89A6B9", +"#& c #7D9FB5", +"$& c #98C3DC", +"%& c #95C0D9", +"&& c #7CA2B9", +"*& c #7697AE", +"=& c #698498", +"-& c #7394A8", +";& c #9EC7DF", +">& c #8DB1C4", +",& c #6B8594", +"'& c #50636C", +")& c #50626C", +"!& c #7F9FB1", +"~& c #93B8D0", +"{& c #627A88", +"]& c #90B6CC", +"^& c #93BDD7", +"/& c #87AFC9", +"(& c #7291A7", +"_& c #384651", +":& c #121618", +"<& c #12171B", +"[& c #4F6986", +"}& c #597998", +"|& c #324052", +"1& c #969CA1", +"2& c #D6E6F5", +"3& c #C6DCEE", +"4& c #505A64", +"5& c #82929F", +"6& c #99ABBB", +"7& c #A1B9CA", +"8& c #87A0B0", +"9& c #718EA1", +"0& c #8DB2C9", +"a& c #8BAEC4", +"b& c #586D7D", +"c& c #97C0D9", +"d& c #8DB3C9", +"e& c #95B8CD", +"f& c #9DC0D6", +"g& c #6F8B9C", +"h& c #354249", +"i& c #464E54", +"j& c #8A98A5", +"k& c #AABAC7", +"l& c #86939E", +"m& c #41494F", +"n& c #4A5861", +"o& c #97C1DA", +"p& c #5E7888", +"q& c #5C7482", +"r& c #88ACC2", +"s& c #91BFD7", +"t& c #799CB5", +"u& c #47596A", +"v& c #0D0F12", +"w& c #1A2127", +"x& c #56778D", +"y& c #688BA9", +"z& c #5D7F9E", +"A& c #547391", +"B& c #0E1013", +"C& c #9DA6AB", +"D& c #C8DCED", +"E& c #7A8996", +"F& c #B5CEE0", +"G& c #BCDBEC", +"H& c #B9D5EA", +"I& c #8BA2B2", +"J& c #6C8A9D", +"K& c #97BFD7", +"L& c #3E4E59", +"M& c #92B5CB", +"N& c #535F68", +"O& c #454F56", +"P& c #6F7C87", +"Q& c #ABC0D1", +"R& c #C7DCEE", +"S& c #C5DBED", +"T& c #C2D7EA", +"U& c #BFD8EA", +"V& c #BCD7EB", +"W& c #62717B", +"X& c #5B6F7B", +"Y& c #95C3DC", +"Z& c #8BB2C9", +"`& c #485761", +" * c #42525F", +".* c #6686A1", +"+* c #587896", +"@* c #1B2129", +"#* c #5C7A94", +"$* c #7DA2BD", +"%* c #84AEC7", +"&* c #749BB5", +"** c #5C7E9C", +"=* c #27343F", +"-* c #A4A9B2", +";* c #D9E7F4", +">* c #C8DBEC", +",* c #B1C8DA", +"'* c #5D6C76", +")* c #A8C5D8", +"!* c #A6BDD0", +"~* c #B9D6EA", +"{* c #B9D4E9", +"]* c #8198A8", +"^* c #8AADC3", +"/* c #8CB1CA", +"(* c #96C2D8", +"_* c #A3C7DF", +":* c #ADCDE3", +"<* c #ABD0E4", +"[* c #ADCFE3", +"}* c #AACEE4", +"|* c #A4CDE3", +"1* c #A1CBE1", +"2* c #A3CCE3", +"3* c #A2C9DF", +"4* c #41515A", +"5* c #81A2B5", +"6* c #94C0D7", +"7* c #5E7789", +"8* c #526777", +"9* c #516777", +"0* c #6B8CA5", +"a* c #759CBA", +"b* c #658AA5", +"c* c #587798", +"d* c #1B242B", +"e* c #0E1110", +"f* c #101214", +"g* c #202931", +"h* c #59758E", +"i* c #799FBB", +"j* c #84B1CA", +"k* c #86ACC6", +"l* c #354758", +"m* c #A0A6AE", +"n* c #DAE6F2", +"o* c #C4DCEE", +"p* c #B4D2E8", +"q* c #3E4A53", +"r* c #698091", +"s* c #5D7581", +"t* c #A3CAE0", +"u* c #A6CFE5", +"v* c #A5CCE5", +"w* c #718A9C", +"x* c #98C3DB", +"y* c #83ABC7", +"z* c #2E3B46", +"A* c #33414A", +"B* c #678398", +"C* c #8AB3CE", +"D* c #93BED7", +"E* c #97C4DB", +"F* c #42525E", +"G* c #88ACC0", +"H* c #789EB9", +"I* c #7A9FBB", +"J* c #7EA2BD", +"K* c #779DB5", +"L* c #577081", +"M* c #5B7B9B", +"N* c #1D2229", +"O* c #547390", +"P* c #54728D", +"Q* c #6082A0", +"R* c #688EA9", +"S* c #6689A7", +"T* c #6086A0", +"U* c #6285A1", +"V* c #6B8DAA", +"W* c #718FAB", +"X* c #3E5568", +"Y* c #969DA1", +"Z* c #DBE8F4", +"`* c #95ACBD", +" = c #758B9A", +".= c #A4C9DE", +"+= c #698190", +"@= c #667E8A", +"#= c #7D99AA", +"$= c #7B9BAD", +"%= c #6F8C9A", +"&= c #536976", +"*= c #84ADC6", +"== c #6D92AD", +"-= c #62829E", +";= c #43576A", +">= c #2F3B46", +",= c #5C788A", +"'= c #86AFC8", +")= c #93BED8", +"!= c #93BAD5", +"~= c #93BAD2", +"{= c #92BCD4", +"]= c #7EA2B6", +"^= c #3D4D56", +"/= c #485B67", +"(= c #7596A9", +"_= c #8CBBD4", +":= c #90BCD5", +"<= c #91BFD9", +"[= c #789BAD", +"}= c #465B6A", +"|= c #59789A", +"1= c #5D7F9D", +"2= c #5E839C", +"3= c #59799A", +"4= c #415569", +"5= c #2D3A46", +"6= c #2E3B49", +"7= c #4A647C", +"8= c #587690", +"9= c #39485A", +"0= c #7F8589", +"a= c #D9E8F5", +"b= c #CCDEEE", +"c= c #8597A5", +"d= c #B3D2E3", +"e= c #9BB3C4", +"f= c #B2CEE1", +"g= c #B2D1E7", +"h= c #ABCFE6", +"i= c #94B7CB", +"j= c #495C6A", +"k= c #688498", +"l= c #617B8A", +"m= c #85ADC8", +"n= c #78A0B9", +"o= c #62819B", +"p= c #2E3843", +"q= c #485A6C", +"r= c #67889C", +"s= c #8AB5CF", +"t= c #8EB9D1", +"u= c #6C899B", +"v= c #6E91A7", +"w= c #678399", +"x= c #6888A1", +"y= c #323E48", +"z= c #5B7585", +"A= c #98C5DD", +"B= c #83ACC1", +"C= c #2D373F", +"D= c #4B637C", +"E= c #567694", +"F= c #26313C", +"G= c #15191F", +"H= c #4D647A", +"I= c #252F39", +"J= c #5D6163", +"K= c #DDE9F5", +"L= c #CEDFEE", +"M= c #8898A5", +"N= c #B0CBDC", +"O= c #BFDAEC", +"P= c #BFDBEC", +"Q= c #BBDAEC", +"R= c #BAD7EA", +"S= c #6B808F", +"T= c #7297B0", +"U= c #8CB8D1", +"V= c #95C1D9", +"W= c #91BCD6", +"X= c #86AEC8", +"Y= c #7496B3", +"Z= c #6587A2", +"`= c #384958", +" - c #323F4B", +".- c #546A7C", +"+- c #6C88A1", +"@- c #779AB1", +"#- c #658297", +"$- c #3B4A58", +"%- c #33404B", +"&- c #202830", +"*- c #577287", +"=- c #86B1CC", +"-- c #86ACC0", +";- c #6E8797", +">- c #9CC7DF", +",- c #92BCD5", +"'- c #91BCD5", +")- c #8EB6CE", +"!- c #344453", +"~- c #263039", +"{- c #364452", +"]- c #2B3643", +"^- c #2A2D2E", +"/- c #E1EBF4", +"(- c #D2E4F3", +"_- c #A0B2C3", +":- c #8094A1", +"<- c #BAD8EB", +"[- c #B8D6EA", +"}- c #485A6A", +"|- c #789FB9", +"1- c #90BBD3", +"2- c #94C4DC", +"3- c #88B3CD", +"4- c #7A9EB9", +"5- c #698BA8", +"6- c #4D677C", +"7- c #151A1E", +"8- c #1A2125", +"9- c #171C21", +"0- c #1D2329", +"a- c #1D262E", +"b- c #486073", +"c- c #6A8CAA", +"d- c #7CA2BE", +"e- c #90BDD7", +"f- c #9AC5DE", +"g- c #7493A2", +"h- c #708B99", +"i- c #8CB7D1", +"j- c #7494AB", +"k- c #68889F", +"l- c #6A8FA5", +"m- c #7BA2BC", +"n- c #171D21", +"o- c #1D262F", +"p- c #212B36", +"q- c #09090B", +"r- c #BBC2C9", +"s- c #D4E4F2", +"t- c #C1D9EB", +"u- c #44515A", +"v- c #92B5C9", +"w- c #6B8795", +"x- c #4E687E", +"y- c #7EA6C0", +"z- c #91BED8", +"A- c #93BFD9", +"B- c #8CB5D0", +"C- c #7DA4BE", +"D- c #6F92AE", +"E- c #6687A5", +"F- c #526C85", +"G- c #415669", +"H- c #384655", +"I- c #6589A4", +"J- c #6E92AE", +"K- c #80A8C2", +"L- c #92BCD6", +"M- c #91BFD8", +"N- c #799AAF", +"O- c #6A8796", +"P- c #81AAC3", +"Q- c #577187", +"R- c #1F2930", +"S- c #192027", +"T- c #1B2227", +"U- c #0D1010", +"V- c #0E1012", +"W- c #070709", +"X- c #5C6062", +"Y- c #DCE8F3", +"Z- c #C4DCEF", +"`- c #9BB3C6", +" ; c #3A424F", +".; c #313A44", +"+; c #35424C", +"@; c #374655", +"#; c #6E91AD", +"$; c #87B2CC", +"%; c #799EBA", +"&; c #618298", +"*; c #7095AF", +"=; c #435663", +"-; c #80A7C0", +";; c #95C4DC", +">; c #779CB3", +",; c #526D7E", +"'; c #516A7A", +"); c #526B7B", +"!; c #465764", +"~; c #34414E", +"{; c #5C7E9A", +"]; c #2B3741", +"^; c #4B657F", +"/; c #5C7D9C", +"(; c #557088", +"_; c #0F0F10", +":; c #B9C2CA", +"<; c #CCDFEF", +"[; c #B4CDE1", +"}; c #8DAEC8", +"|; c #6F93AE", +"1; c #678CA6", +"2; c #6E92AF", +"3; c #81A8C1", +"4; c #8FBBD5", +"5; c #8DB9D2", +"6; c #6D8FA2", +"7; c #586F82", +"8; c #394851", +"9; c #86B0C6", +"0; c #85AFC8", +"a; c #6F94AF", +"b; c #698DA8", +"c; c #6889A7", +"d; c #5E7E9F", +"e; c #475D75", +"f; c #2E3C4A", +"g; c #5D7E9D", +"h; c #405465", +"i; c #36393B", +"j; c #D7E5F1", +"k; c #A4C5DC", +"l; c #668496", +"m; c #7595AB", +"n; c #7798AE", +"o; c #97C2DA", +"p; c #789DB3", +"q; c #8BB1C8", +"r; c #93C0D9", +"s; c #8BB5CF", +"t; c #85AFC9", +"u; c #82AAC6", +"v; c #5F7C95", +"w; c #1E252C", +"x; c #54728E", +"y; c #587899", +"z; c #5A7B9B", +"A; c #2D3843", +"B; c #798086", +"C; c #D1E3F1", +"D; c #B7D3E8", +"E; c #7E98AB", +"F; c #181C1F", +"G; c #46525F", +"H; c #80A1B8", +"I; c #99C3DB", +"J; c #85ACC2", +"K; c #21272D", +"L; c #0A0B0D", +"M; c #53718C", +"N; c #577797", +"O; c #1B2229", +"P; c #0D0E0F", +"Q; c #B3BDC4", +"R; c #CADDED", +"S; c #B4D3E7", +"T; c #2B3339", +"U; c #2F3840", +"V; c #7899AC", +"W; c #93C1D9", +"X; c #8FBCD5", +"Y; c #8BB6D1", +"Z; c #8DB8D2", +"`; c #92BFD8", +" > c #678092", +".> c #547089", +"+> c #5C7F9B", +"@> c #1F262E", +"#> c #202223", +"$> c #B1BECB", +"%> c #C3D9EB", +"&> c #7B8D99", +"*> c #708B9A", +"=> c #85ABC1", +"-> c #7FA3BA", +";> c #92BBD3", +">> c #7CA0B4", +",> c #97BDD4", +"'> c #657E8F", +")> c #93BDD4", +"!> c #88ADC7", +"~> c #6F94AE", +"{> c #526A7E", +"]> c #65849B", +"^> c #799DBB", +"/> c #84AFC9", +"(> c #8FB9D2", +"_> c #323C45", +":> c #516C84", +"<> c #658AA4", +"[> c #5B7C9B", +"}> c #2E3A49", +"|> c #2A3038", +"1> c #252D3A", +"2> c #1B1E20", +"3> c #ADBFCF", +"4> c #C0D6E7", +"5> c #B0CDE2", +"6> c #8EB3C9", +"7> c #526975", +"8> c #6B899D", +"9> c #597183", +"0> c #90BAD5", +"a> c #94C2DA", +"b> c #82ABC5", +"c> c #495E6E", +"d> c #82A8C3", +"e> c #81A4BA", +"f> c #7594A5", +"g> c #87ABC3", +"h> c #4D6573", +"i> c #6689A6", +"j> c #526E85", +"k> c #243037", +"l> c #607B96", +"m> c #7699B6", +"n> c #789EB5", +"o> c #303D48", +"p> c #7498B4", +"q> c #7094AF", +"r> c #597792", +"s> c #242F39", +"t> c #1A1D25", +"u> c #374553", +"v> c #4D677D", +"w> c #14191E", +"x> c #040505", +"y> c #171A1D", +"z> c #8A9FAD", +"A> c #BCD9EC", +"B> c #B5D3E7", +"C> c #A2CAE1", +"D> c #9DC7DE", +"E> c #9EC7DD", +"F> c #3B4A57", +"G> c #455867", +"H> c #98C2DB", +"I> c #85B0CC", +"J> c #7496B2", +"K> c #4C606F", +"L> c #6E8EA3", +"M> c #7EA0B6", +"N> c #91BBD3", +"O> c #8DB7D1", +"P> c #90BAD4", +"Q> c #96C1DA", +"R> c #3B4853", +"S> c #688AA5", +"T> c #4C657A", +"U> c #1B2026", +"V> c #2B3C44", +"W> c #5F7A90", +"X> c #587284", +"Y> c #536978", +"Z> c #88B1CC", +"`> c #759AB8", +" , c #617E9A", +"., c #556F85", +"+, c #20272E", +"@, c #323D48", +"#, c #333E4A", +"$, c #060707", +"%, c #4A5159", +"&, c #ACC3D5", +"*, c #ACCFE5", +"=, c #5A6874", +"-, c #AACDE1", +";, c #9CC6DC", +">, c #35414C", +",, c #769AB2", +"', c #80AAC5", +"), c #6F92AB", +"!, c #38464F", +"~, c #7EA4B9", +"{, c #97C3DC", +"], c #7A9FB6", +"^, c #3F505C", +"/, c #6D8DA6", +"(, c #1E282E", +"_, c #080909", +":, c #090A0C", +"<, c #344452", +"[, c #3B4857", +"}, c #7799AE", +"|, c #8DB6D1", +"1, c #66869E", +"2, c #3D4957", +"3, c #536C84", +"4, c #353F4C", +"5, c #111215", +"6, c #65727E", +"7, c #A6BCCD", +"8, c #5D6972", +"9, c #AED0E6", +"0, c #99C5DC", +"a, c #8DB5D0", +"b, c #8DB5CE", +"c, c #90BBD5", +"d, c #84AAC5", +"e, c #8EBBD5", +"f, c #80A7C1", +"g, c #6C8DA2", +"h, c #85AFC6", +"i, c #61839B", +"j, c #374352", +"k, c #576D83", +"l, c #80A6C1", +"m, c #81A4BB", +"n, c #111315", +"o, c #111418", +"p, c #4C6378", +"q, c #33424C", +"r, c #37454D", +"s, c #8DB4CF", +"t, c #7397B3", +"u, c #3A495A", +"v, c #0D0F13", +"w, c #27303A", +"x, c #272E36", +"y, c #0F1012", +"z, c #90A4B2", +"A, c #A8CBE2", +"B, c #91BCD4", +"C, c #80ABC3", +"D, c #567083", +"E, c #67899D", +"F, c #94C2DB", +"G, c #95C1DB", +"H, c #779CB2", +"I, c #60849E", +"J, c #64849F", +"K, c #1A1F22", +"L, c #405061", +"M, c #79A1BD", +"N, c #324051", +"O, c #6183A1", +"P, c #6B8FAD", +"Q, c #6485A2", +"R, c #34444F", +"S, c #060606", +"T, c #2D3339", +"U, c #B2CBDF", +"V, c #94BCD5", +"W, c #7DA2BA", +"X, c #3F5264", +"Y, c #5A7991", +"Z, c #7195B3", +"`, c #7BA5BD", +" ' c #81AAC6", +".' c #88B2CC", +"+' c #8EBBD4", +"@' c #8AB2CC", +"#' c #82ADC7", +"$' c #7092A5", +"%' c #95C2DA", +"&' c #41525F", +"*' c #6387A3", +"=' c #475F72", +"-' c #21282F", +";' c #5B7288", +">' c #0D0F11", +",' c #0B0E11", +"'' c #212C36", +")' c #26323C", +"!' c #161B20", +"~' c #55616D", +"{' c #9BB9D0", +"]' c #799EB6", +"^' c #27313A", +"/' c #1A222B", +"(' c #5D7E99", +"_' c #6587A4", +":' c #6789A6", +"<' c #6B8EAB", +"[' c #628097", +"}' c #6D8B9D", +"|' c #769AAF", +"1' c #6E91A9", +"2' c #6C8EAD", +"3' c #6E91AF", +"4' c #3C4D59", +"5' c #8BB1CB", +"6' c #232D32", +"7' c #13171B", +"8' c #232B32", +"9' c #839AAF", +"0' c #789BB3", +"a' c #283138", +"b' c #0C0E0F", +"c' c #242B33", +"d' c #3D4D5B", +"e' c #435768", +"f' c #4B6176", +"g' c #283137", +"h' c #8DB4CC", +"i' c #41535E", +"j' c #405362", +"k' c #3C4F60", +"l' c #3C4E5B", +"m' c #2B353E", +"n' c #526876", +"o' c #92BAD3", +"p' c #1B1F23", +"q' c #31383F", +"r' c #7F9CB6", +"s' c #21292F", +"t' c #29333F", +"u' c #1F252E", +"v' c #090A0E", +"w' c #4D626E", +"x' c #96BDD3", +"y' c #191D20", +"z' c #13181B", +"A' c #80A4BC", +"B' c #1B2027", +"C' c #5D7182", +"D' c #2C383F", +"E' c #364857", +"F' c #1A2028", +"G' c #333F49", +"H' c #7FA2B5", +"I' c #4A5E6E", +"J' c #232E35", +"K' c #252D35", +"L' c #2F3A41", +"M' c #0A0B0E", +"N' c #14191D", +"O' c #5A717F", +"P' c #212931", +"Q' c #222B34", +"R' c #101216", +"S' c #21272B", +" ", +" ", +" ", +" . ", +" + ", +" @ # $ % ", +" & * = - ; ", +" > , ' ) ! ~ { ] ", +" ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a ", +" b c d e f g h i j k l m n o p q r s t u v w x ", +" y z A B C D E F G H I J K L M N O P Q R S T U U V W X Y ", +" Z ` ...+.@.#.$.%.O &.*.=.-.;.>.,.'.).!.~.~.~.{.].^./.(._.:.<. ", +" b [.}.|.#.1.2.3.4.{.~.~.~.~.5.6.5.~.7.8.{.~.~.~.~.9.0.a.b.].c. ", +" d.e.f.g.h.i.j.k.{.~.~.~.~.l.~.m.% n.~.o.{.{.~.~.~.~.p.V 9.~.q.r. ", +" s.t.u.v.w.x.u y.z.A.B.5.~.~.5.C.D.E.F.~.~.G.~.~.~.G.H.I.J.~.~.J.K.L. M.N. ", +" O.P.Q.R.S.T.U.V.W.X.Y.Z.`.~.~.5. +.+++@+U ~.~.~.~.~.#+$+%+,.~.~.G.&+*+=+-+;+ ", +" >+,+Q.'+)+!+~+{+]+^+/+(+_+:+<+~.[+}+U 9.|+5.~.~.~.~.1+2+3+4+5+~.].6+7+8+9+0+ ", +" a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+5.U ~.U r+s+~.~.~.t+u+v+w+x+y+~.z+A+t+B+C+D+E+ F+G+ ", +" H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+V ~.~.~.~.U ~.~.~.o.9.{.Z+`+9.~.~.~.V @.@+@@@#@ $@%@&@*@ ", +" =@-@;@>@,@'@'.)@!@~@{@]@^@/@l+(@_@:@<@~.~.~.U {.~.~.~.{.~.~.{.[@~.~.~.~.}@|@1@2@3@4@5@6@7@8@ ", +" 9@0@a@b@c@d@-.e@f@g@h@i@j@k@l@V+m@n@o@p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.q@r@s@t@u@v@w@x@y@ ", +"z@A@B@C@D@E@X F@G@H@R I@J@K@L@M@N@O@P@Q@R@o+S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.9.U@V@W@X@<+V Y@Z@`@ # ", +" .#+#@###$#%#&#*#=#-#;#>#,#'#)#!#~#{#]#^#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.U (#_#:#<#p@{.[#}#|#1#2# ", +" 3#4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#S@/#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.l#m#9.{.~.n#o#p#q#r#s# ", +" t#u#v#w#x#y#z#A#B#C#D#E#F#G#H#I#% J#K#S@T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.L#0.l.~.~.{.M#N#O#P#Q#R# ", +" S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$a#~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.o.o.;$9.G.~.>$,$'$)$!$~${$]$ ", +" ^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$9$:+<+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.G.0$a$b$c$d$e$f$g$h$i$j$k$ ", +" [ l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$A$B$C$M#p@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.;$D$E$F$G$H$I$J$K$L$ ", +" M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$`$ %.%+%@%<+{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.#%$%%%p@&%*%=%-%;%>%,% ", +" '%)%!%~%{%]%^%/%(%_%:%<%[%}%|%1%2%3%-$T@~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.4%5%U p@6%7%8%9%0%a%y ", +" b%c%d%e%f%g%h%i%G.[#j%k%l%m%n%o%p%@%q%{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.~.~.~.~.~.V G.}@r%s%t%u%v%w%M.x%y%z%A% ", +" B%C%D%E%F%G%H%I%V o.<@J%K%L%M%N%O%P%p@~.~.~.~.~.~.~.~.~.U ~.~.U 9.Q%{.~.~.~.~.~.{.%%U {.~.~.{.v@R%S%T%U%V%W% X%$ ", +" Y%Z%`% &.&+&@&#&U ~.{.$&%&&&*&=&-&T@~.~.~.~.~.~.~.~.~.~.~.;&>&,&'&)&!&5+~.~.~.~.{.~&{&]&9.~.p@^&/&(&_&:& <&[&}&|& ", +" 1&2&3&4&5&6&7&8&9&l.~.{.V 0&a&b&c&~.~.~.~.~.~.~.5.d&e&f&g&h&i&j&k&l&m&n&~.~.G.~.~.~.o&p&q&r&s&t&u&v& w&x&y&z&A&B& ", +" C&2&D&E&F&G&G&H&I&J&U ~.~.U K&L&,.~.~.~.~.~.~.~.U M&N&O&P&Q&R&S&T&U&V&W&X&].{.~.~.{./#Y&Z&`& *.*+*@* (.#*$*%*&***=* ", +" -*;*>*,*'*)*!*~*{*]*^*~.5.{.5./*U ~.~.~.~.~.~.{.[#(*_*:*<*[*[*}*|*1*2*3*4*5*U ~.~.6*7*8*9*0*a*b*c*d*e*f*g*h*i*%*j*k*<%l* ", +" m*n*o*p*q*r*s*t*u*v*w*1+~.~.~.~.~.~.~.~.~.~.~.x*y*z*A*B*C*D*E*V U ~.G.~.:.F*G*l.{.R%X+H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X* ", +" Y*Z*D&`* =.=+=@=#=$=%=&={.~.~.~.~.~.~.~.~.~.~.<+*===-=;=>=,='=)=[#p@!=~={=]=^=/=(=a#&%_=:=<=-#[=}=k$|=1=2=3=4=5=6=7=8=9= ", +" 0=a=b=c=d=e=f=g=h=i=j=k=l=5.~.~.~.~.~.~.~.~.~.V -$m=n===o=p=q=r=s=t=:+u=v=w=x=y=z=A=J.V U ~.V [#B=C=D=1=E=F= G=H=I= ", +" J=K=L=M=N=O=P=Q=R=S=T=U=V=5.U ~.~.~.~.~.~.~.~.~.{.x*W=X=Y=Z=`= -.-+-@-#-$-%-&-*-=---;->-9.x*)=,-'-)-c.!-~- {-]- ", +" ^-/-(-_-:-<-<-[-%.}-|-1-T@~.{.~.~.~.~.~.~.~.~.~.~.V 2-^&3-4-5-6-7-8-9-0-a-b-c-d-e-f-g-h-V@i-j-k-l-T=m-7@n- o-p- ", +" q-r-s-t-u-v-!+2*w-x-y-z-V ~.~.~.~.~.~.~.~.~.~.~.~.~.~./#A-B-C-D-E-F-G-H-I-J-K-L-<@M-W=N-O-P-Q-R-<&S-T-U-V- W- ", +" X-Y-Z-`- ;.;+;@;#;$;q+~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~./#v@W=N#%;&;*;=;-;s=-#;;>;,;';);!;~;{;];^;/;(;H+ ", +" _;:;<;[;};|;1;2;3;4;{.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.T@-#5;6;7;8;9;[#V <+0;a;b;c;E-d;e;f;|=g;h; ", +" i;j;V#k;F.l;m;n;o;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.~.{.p@S@s=p;q;~.~.{.r;s;t;u;~$v;w;x;y;z;A; ", +" H+B;C;D;E;F;G;H;~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.{.U ~.~.V E*E*V ~.~.~.{.T@/#I;J;K;L;M;y;N;O; ", +" P;Q;R;S;T;U;~.{.~.~.~.~.~.~.~.~.l.U {.p@~.~.{.V ~.~.5+V;].~.~.~.~.{.{.p@W;X;Y;Z;`;/# >W..>+>N;@> ", +" #>$>%>&>*>G.~.~.~.~.~.~.~.~.{.`.=>V=->;>~.n##&>>T@,>'>].~.~.~.~.~.)>!>i$~>{>]>^>/>(>_>:><>[>}> |>1> ", +" 2>3>4>5>U@U ~.~.~.~.~.~.~.{.6>7>8>9>0>a#a>b>c>d>e>f>~.~.~.V ~.~.g>h>i>1=j>,%k>l>m>n>o>p>q>r>s>t>u>v>w> ", +" x>y>z>A>B>C>5+D>E>~.~.~.~.{.%&F>G>3;s%{.H>I>J>K>L>M>~.V N>O>P>x*Q>R>S>T>U> X%V>W>X>Y>Z>P-`> ,.,+, ", +" @,#,$,%,&,1.*,=,-,;,{.p@V {.X@>,,,Z;V ~.5.`;',),!,~,~.{,],^,/,/&-$F$(,_, :,<,[,},<@|,1,2, ", +" B&3,4, 5,6,7,8,9,0,`;a,b,B+c,d,s=<+~.~.~.a#e,f,g,h,V -#9$i,j,k,l,m,n, o,p,q,r,s,t,u,v, ", +" w,x, y,z,A,B,C,D,E,o@F,G,<+~.~.~.~.~.;;P>j%}@p@H,]#I,J,K,L,M,=+ N,O,P,Q,R,S, ", +" T,U,V,W,X,Y,Z,`, '.'+'x*~.{.O+@%@'#'$'%'a#&'*'='-' ~;;'>' ,''')'!' ", +" ~'{']'^'/'('_'_':'<'['}'{.V |'1'2'3'4'5'}@6'7' 8'K; ", +" v&9'0'a' b'c'd'e'f'1@g'h'G.i'j'k'l'm'n'o'p' y ", +" q'r's' t'u'H+ v'w'x'y' z'A'B' ", +" C'D' E'F' G'H' I'J' ", +" K'L' M' N'O' P'Q' ", +" R' S' ", +" ", +" ", +" ", +" "}; diff --git a/minilibx-linux-master/.github/workflows/ci.yml b/minilibx-linux-master/.github/workflows/ci.yml new file mode 100644 index 0000000..b5e3007 --- /dev/null +++ b/minilibx-linux-master/.github/workflows/ci.yml @@ -0,0 +1,87 @@ +name: Build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ${{ matrix.os }} + env: + DISPLAY: ":99" + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + + timeout-minutes: 20 + steps: + - uses: actions/checkout@v2 + - name: Install mlx dependencies + run: | + set -x + if [ "$RUNNER_OS" == "Linux" ]; then + sudo apt-get install gcc make xorg libxext-dev libbsd-dev + elif [ "$RUNNER_OS" == "macOS" ]; then + brew install xquartz + echo "/usr/X11/bin" >> $GITHUB_PATH + else + echo "$RUNNER_OS not supported" + exit 1 + fi + - name: Setup x11 headless testing environment + run: | + set -x + if [ "$RUNNER_OS" == "Linux" ]; then + sudo apt-get install xvfb xdotool valgrind + Xvfb $DISPLAY -screen 0 1280x1024x24 & + elif [ "$RUNNER_OS" == "macOS" ]; then + brew install xdotool + defaults write org.x.X11 enable_test_extensions -boolean true + sudo Xvfb $DISPLAY -screen 0 1280x1024x24 & + else + echo "$RUNNER_OS not supported" + exit 1 + fi + - name: Run ./configure + run: ./configure + + - name: make check Linux + if: matrix.os == 'ubuntu-latest' + run: make -f Makefile.gen check + - name: make check MacOS + continue-on-error: true + if: matrix.os == 'macos-latest' + run: make -f Makefile.gen check + # Didn't find a way to simulate inputs on Macos. libxdo seem to no longer work on macos. + # It can be partially fixed writing proper unit-tests, thus avoiding the need of libxdo. + + - name: Check leaks from binary "test/mlx-test" + run: | + cd test + if [ "$RUNNER_OS" == "Linux" ]; then + echo "Info: Still reachable doesn't matter. Valgrind will return success on thoses reports. + It is fine, we searching for lost pointers. Valgrind will return exit status 42 if any block is lost." + valgrind --leak-check=full --show-leak-kinds=definite,indirect,possible --errors-for-leak-kinds=definite,indirect,possible --error-exitcode=42 ./mlx-test > /dev/null & + PID=$! + sleep 30 + xdotool search --name Title3 windowfocus key Escape + xdotool search --name Title2 windowfocus key Escape + wait $PID + elif [ "$RUNNER_OS" == "macOS" ]; then + MallocStackLoggingNoCompact=1 + ./mlx-test & + sleep 30 + leaks mlx-test + pkill mlx-test + fi + + - name: Norminette, just for fun + continue-on-error: true + run: | + pip3 install Norminette + norminette *.c *.h + norminette --version diff --git a/minilibx-linux-master/.gitignore b/minilibx-linux-master/.gitignore new file mode 100644 index 0000000..9595e5f --- /dev/null +++ b/minilibx-linux-master/.gitignore @@ -0,0 +1,67 @@ +## Mlx related +Makefile.gen +/test/mlx-test + +## Editor +.vscode/* +*~ +\#*\# + +## Other +.DS_STORE + + + +## Template from https://github.com/github/gitignore +# Prerequisites +*.d + +# Object files +*.o +*.ko +*.obj +*.elf + +# Linker output +*.ilk +*.map +*.exp + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf \ No newline at end of file diff --git a/minilibx-linux-master/LICENSE b/minilibx-linux-master/LICENSE new file mode 100644 index 0000000..ed2de25 --- /dev/null +++ b/minilibx-linux-master/LICENSE @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2021, Ecole 42 +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/minilibx-linux-master/Makefile.gen b/minilibx-linux-master/Makefile.gen index 5eded88..070712f 100644 --- a/minilibx-linux-master/Makefile.gen +++ b/minilibx-linux-master/Makefile.gen @@ -1,6 +1,4 @@ INC=/usr/include -HT=Linux -DOCP=do_cp ## ## Makefile for MiniLibX in /home/boulon/work/c/raytraceur/minilibx ## @@ -15,9 +13,11 @@ DOCP=do_cp + CC = gcc -NAME = libmlx.a +NAME = libmlx.a +NAME_UNAME = libmlx_$(shell uname).a SRC = mlx_init.c mlx_new_window.c mlx_pixel_put.c mlx_loop.c \ mlx_mouse_hook.c mlx_key_hook.c mlx_expose_hook.c mlx_loop_hook.c \ @@ -31,18 +31,33 @@ SRC = mlx_init.c mlx_new_window.c mlx_pixel_put.c mlx_loop.c \ mlx_rgb.c mlx_destroy_image.c mlx_mouse.c mlx_screen_size.c \ mlx_destroy_display.c -OBJ =$(SRC:.c=.o) +OBJ_DIR = obj +OBJ = $(addprefix $(OBJ_DIR)/,$(SRC:%.c=%.o)) CFLAGS = -O3 -I$(INC) -all : $(NAME) $(DOCP) +all : $(NAME) + +$(OBJ_DIR)/%.o: %.c + @mkdir -p $(OBJ_DIR) + $(CC) $(CFLAGS) $(IFLAGS) -c $< -o $@ $(NAME) : $(OBJ) ar -r $(NAME) $(OBJ) ranlib $(NAME) + cp $(NAME) $(NAME_UNAME) -do_cp : - cp $(NAME) libmlx_$(HT).a +check: all + @test/run_tests.sh +show: + @printf "NAME : $(NAME)\n" + @printf "NAME_UNAME : $(NAME_UNAME)\n" + @printf "CC : $(CC)\n" + @printf "CFLAGS : $(CFLAGS)\n" + @printf "SRC :\n $(SRC)\n" + @printf "OBJ :\n $(OBJ)\n" clean : - rm -f $(OBJ) $(NAME) libmlx_$(HT).a *~ core *.core + rm -rf $(OBJ_DIR)/ $(NAME) $(NAME_UNAME) *~ core *.core + +.PHONY: all check show clean diff --git a/minilibx-linux-master/Makefile.mk b/minilibx-linux-master/Makefile.mk index fd93700..963b7e2 100644 --- a/minilibx-linux-master/Makefile.mk +++ b/minilibx-linux-master/Makefile.mk @@ -12,12 +12,12 @@ INC =%%%% -HT =%%%% -DOCP =%%%% + CC = gcc -NAME = libmlx.a +NAME = libmlx.a +NAME_UNAME = libmlx_$(shell uname).a SRC = mlx_init.c mlx_new_window.c mlx_pixel_put.c mlx_loop.c \ mlx_mouse_hook.c mlx_key_hook.c mlx_expose_hook.c mlx_loop_hook.c \ @@ -31,18 +31,33 @@ SRC = mlx_init.c mlx_new_window.c mlx_pixel_put.c mlx_loop.c \ mlx_rgb.c mlx_destroy_image.c mlx_mouse.c mlx_screen_size.c \ mlx_destroy_display.c -OBJ =$(SRC:.c=.o) +OBJ_DIR = obj +OBJ = $(addprefix $(OBJ_DIR)/,$(SRC:%.c=%.o)) CFLAGS = -O3 -I$(INC) -all : $(NAME) $(DOCP) +all : $(NAME) + +$(OBJ_DIR)/%.o: %.c + @mkdir -p $(OBJ_DIR) + $(CC) $(CFLAGS) $(IFLAGS) -c $< -o $@ $(NAME) : $(OBJ) ar -r $(NAME) $(OBJ) ranlib $(NAME) + cp $(NAME) $(NAME_UNAME) -do_cp : - cp $(NAME) libmlx_$(HT).a +check: all + @test/run_tests.sh +show: + @printf "NAME : $(NAME)\n" + @printf "NAME_UNAME : $(NAME_UNAME)\n" + @printf "CC : $(CC)\n" + @printf "CFLAGS : $(CFLAGS)\n" + @printf "SRC :\n $(SRC)\n" + @printf "OBJ :\n $(OBJ)\n" clean : - rm -f $(OBJ) $(NAME) libmlx_$(HT).a *~ core *.core + rm -rf $(OBJ_DIR)/ $(NAME) $(NAME_UNAME) *~ core *.core + +.PHONY: all check show clean diff --git a/minilibx-linux-master/README.md b/minilibx-linux-master/README.md index 40cded8..cb60744 100644 --- a/minilibx-linux-master/README.md +++ b/minilibx-linux-master/README.md @@ -1,3 +1,4 @@ +[![Build](https://github.com/42Paris/minilibx-linux/actions/workflows/ci.yml/badge.svg)](https://github.com/42Paris/minilibx-linux/actions/workflows/ci.yml) This is the MinilibX, a simple X-Window (X11R6) programming API in C, designed for students, suitable for X-beginners. @@ -12,8 +13,7 @@ Contents - a public include file mlx.h - a tiny configure script to generate an appropriate Makefile.gen - -Requirements +Requirements for Linux - MinilibX only support TrueColor visual type (8,15,16,24 or 32 bits depth) - gcc @@ -23,6 +23,18 @@ Requirements - Utility functions from BSD systems - development files (package libbsd-dev) - **e.g. _sudo apt-get install gcc make xorg libxext-dev libbsd-dev_ (Debian/Ubuntu)** +Requirements for MacOS + - [Xquartz](https://www.xquartz.org/) + +```bash +➜ ~ Brew install Xquartz +➜ ~ reboot +➜ ~ xeyes # run an hello world X11 app +``` + +MlX Color Opacity / Transparency / Alpha (32 bits depth) + - 0xFF (fully transparent) or 0x00 (fully opaque) + Compile MinilibX - run ./configure or make diff --git a/minilibx-linux-master/configure b/minilibx-linux-master/configure old mode 100755 new mode 100644 index 04fcdc4..e5a7981 --- a/minilibx-linux-master/configure +++ b/minilibx-linux-master/configure @@ -1,95 +1,121 @@ #!/bin/sh +set -e -if [ -n "$1" -a "$1" = "--help" ] ; then - echo "Usage : $0\n Auto-configure and make MinilibX" - exit -fi +BOLD="\e[1m" +RESET="\e[0m" +LIGHT_RED="\e[91m" +LIGHT_GREEN="\e[92m" +LIGHT_CYAN="\e[96m" +logging(){ + local type=$1; shift + printf "${LIGHT_CYAN}${BOLD}configure${RESET} [%b] : %b\n" "$type" "$*" +} +log_info(){ + logging "${LIGHT_GREEN}info${RESET}" "$@" +} +log_error(){ + logging "${LIGHT_RED}error${RESET}" "$@" >&2 +} -conf_inc=NO +# find and print x11 header path +get_xlib_include_path(){ + local result="" -for inc in \ - /usr/X11/include \ - /usr/X11R6/include \ - /usr/X11R5/include \ - /usr/X11R4/include \ - \ - /usr/include \ - /usr/include/X11 \ - /usr/include/X11R6 \ - /usr/include/X11R5 \ - /usr/include/X11R4 \ - \ - /usr/local/X11/include \ - /usr/local/X11R6/include \ - /usr/local/X11R5/include \ - /usr/local/X11R4/include \ - \ - /usr/local/include/X11 \ - /usr/local/include/X11R6 \ - /usr/local/include/X11R5 \ - /usr/local/include/X11R4 \ - \ - /usr/X386/include \ - /usr/x386/include \ - /usr/XFree86/include/X11 \ - \ - /usr/include \ - /usr/local/include \ - /usr/athena/include \ - /usr/local/x11r5/include \ - /usr/lpp/Xamples/include \ - \ - /usr/openwin/include \ - /usr/openwin/share/include - do - if [ -f "$inc/X11/Xlib.h" -a -f "$inc/X11/extensions/XShm.h" ]; then - conf_inc=$inc - break + for inc in \ + /usr/X11/include \ + /usr/X11R6/include \ + /usr/X11R5/include \ + /usr/X11R4/include \ + \ + /usr/include \ + /usr/include/X11 \ + /usr/include/X11R6 \ + /usr/include/X11R5 \ + /usr/include/X11R4 \ + \ + /usr/local/X11/include \ + /usr/local/X11R6/include \ + /usr/local/X11R5/include \ + /usr/local/X11R4/include \ + \ + /usr/local/include/X11 \ + /usr/local/include/X11R6 \ + /usr/local/include/X11R5 \ + /usr/local/include/X11R4 \ + \ + /usr/X386/include \ + /usr/x386/include \ + /usr/XFree86/include/X11 \ + \ + /usr/local/include \ + /usr/athena/include \ + /usr/local/x11r5/include \ + /usr/lpp/Xamples/include \ + \ + /usr/openwin/include \ + /usr/openwin/share/include + do + if [ -f "$inc/X11/Xlib.h" -a -f "$inc/X11/extensions/XShm.h" ]; then + result=$inc + break + fi + done + echo $result +} + +show_help(){ +cat < Makefile.gen + cat Makefile.mk | grep -v %%%% >> Makefile.gen + log_info 'Generate "test/makefile.gen" from template "test/makefile.mk"' + echo "INC=$xlib_inc" > test/Makefile.gen + cat test/Makefile.mk | grep -v %%%% >> test/Makefile.gen -if [ "$conf_inc" = "NO" ]; then - echo "Can't find a suitable X11 include directory." - exit -else - echo "X11 include dir : $conf_inc" -fi + log_info 'Execute "make all" from file "makefile.gen"' + make -f Makefile.gen all + log_info 'Execute "make all" from file "test/makefile.gen"' + (cd test ; make -f Makefile.gen all ) +} -if [ -z "$HOSTTYPE" ]; then - conf_ht=`uname -s` -else - conf_ht=$HOSTTYPE -fi - -if [ -z "$conf_ht" ]; then - conf_docp="" -else - conf_docp="do_cp" - echo "lib_$conf_ht generation" -fi - - -/bin/echo "INC=$conf_inc" > Makefile.gen -/bin/echo "HT=$conf_ht" >> Makefile.gen -/bin/echo "DOCP=$conf_docp" >> Makefile.gen -cat Makefile.mk | grep -v %%%% >> Makefile.gen - -/bin/echo "INC=$conf_inc" > test/Makefile.gen -/bin/echo "HT=$conf_ht" >> test/Makefile.gen -/bin/echo "DOCP=$conf_docp" >> test/Makefile.gen -cat test/Makefile.mk | grep -v %%%% >> test/Makefile.gen - - -if [ -n "$1" -a "$1" = "clean" ] ; then - echo "Now make it clean." - make -f Makefile.gen clean - (cd test ; make -f Makefile.gen clean) - exit -fi - -echo "Now make it." -make -f Makefile.gen all -(cd test ; make -f Makefile.gen all ) +main "$@" diff --git a/minilibx-linux-master/libmlx.a b/minilibx-linux-master/libmlx.a index 1bc7cb4d44eea2c9d9b275c515e9cd60ccfefb48..fcb1b7dce710c59ac71e0e907d23b7643ad2dcc4 100644 GIT binary patch delta 13103 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 I^lI9F1MKY8ssI20 diff --git a/minilibx-linux-master/libmlx_Linux.a b/minilibx-linux-master/libmlx_Linux.a index 1bc7cb4d44eea2c9d9b275c515e9cd60ccfefb48..fcb1b7dce710c59ac71e0e907d23b7643ad2dcc4 100644 GIT binary patch delta 13103 zcmbVS3wRVow(g#pgh>eL;gt+82{LE`0y7vP0Twba(HfXQL_ic=q63J2tmMi>QKA!> z8KoTu;+6`#*DF5IMfU;wh4q0fBs>z(D~tGoMU-_FiQ%QJBzj%u{-?S-bOy3_zgyqe z(>5ONqWN<2ms&B3-0gmFRB1KVyRYB=444I4nMnC9b0uo`X!C zT&cBFKgaWOPrdjTpPV17S7KQ*zd3V2hBLlmX5wafQ7vDYIo38LzGB`lyE-%GEm8(z z(Ikn#pBd`e6se(S6s8`Uy9;$bUf#8j`|yQilBu72jtIUj`^~cLfUKI7wTnjR%<7)( zI!w;Gxom##taQ-&3-aPx;u%FAQ_aReXNGT=^mKyPAIctVd(& z<<>ij;X&Id+H4ZP+r;l*#P1RM<@Y)Y`5pawW&Ei3F6X~>jFPY8haKOhfpm?;4-Ck$ z%#nEg${hY3KN^0dpy_Qtf%|!p))XUudl&QVL)IP_`%Og3K0xPeHP+8CWqk`6S{y(W4dU*B`8r5udr7V*4CVYj`0ZJBLbyZIS;bmrL%^g?l1xclqT zmS=4Ig>E@~+Q59{@$?8Mf9^3y#xpboiihubVIcpex6`uM#!Jet;QJr5^VKKp{FQ+Y zOPh_?Prr)ao#V7znWl4c@Yiyj{E9Vp{!UI&hLokTVSHrsnBE&{MNr(jxK!!j6Z3~< z9I}fFsXO1)JSKzbz3%5qX#MJ*`kDNRP>H-$G4avs?Q=_g!xa*F_A}icd)8ukc;I>O#4kh|99+iP5Qe1dc ztiGxet{op&HA5L#Bbr546iJ~h;ZLXu$H#?=n0i|LXYrfdEOs!|m&JW9HydZE>e5od ziY=kJEIz}5nyT*%wqP0hljpqX=D`3fN|HAf32~|(rT~RwDk=@5| zn|qsg9=UiF&tXZzSdK{BpwP%j+u-o?EV!2?YCu@r1>j?R?bAvhyOgDcLm^%X^vGc_1OG zOv<)TS?hgS?!(8P-sqtfH-`*^X&;?#{1=QtyHYs+m5Q4WJ>%pn6{oyH1cgWV^!5FF zE?K&?azs%2#ggUo>5)P`FTUn3UVc|jrjR4jbO%zk{zfULEvpO&-u*1KHtc0O`= zu6!R~KOmRC*3-#Hv^r!556^9~JSYnX%2=-ZMJ-QWF~+i0ZucMk@$`s%qL$n?!Sbb6 zx&P^W%L#eyf#1kEeCy%-47=e3YnQH*i|pj$DC_u+yfK-_bjSFm#5XsOwiKoD`k&|5 z)w^$srHKTjd-0=aJmL%k;*nVfh&?c)wxg?%_F>uSE>+ zdzH?CZn?OO7#^_kJVg41Hhv7ZrQ+82CB1Pf=SG`I3t!s==iD^P4t;0q7L>}lI!$nX zI*mBX>-qfH{Gn$_DJaC4E@Qss`g{#~jZM!N&sa95k*Sa2XC9qsIbno#*s%7fCkXnx z`LPM|Ab#etiI%D9?a_biUT0=`It_`;E%SMMN6V}Drd1OyZC&`;RTJP&Bh`trRJT+e z*f-5nSmYVa2RcVuo*&J3ztqU5yj;N_-%wxo+RF|(96RVs%t(eRe9ESsEO^jUUlu%6 zsval{9xO`)dM5pmdbzCN{WAHle)(I!{9VfcBgCmY8R}T;U%jicdNllC_ZQbwbk2>> za3UHX168I5T20mQa{@U5>fG#|?N?j9v%E9C>PNF~LMnL=sRRI73M4kT$UK=^?XovT z#WT&YLy949@ze*@;{i39d>`O2RLImOBk2gN$dCM{PqE0FbS&@A*zR5|r3G#=r~ zGxc<%cfJx`LZLtxDpKuoTUb2c%2U>4r16a#`-h8^=s0T8pf7ZcY{Y2vIV?^?L6~x(aHj52qTS&aEQr1= zQJp3@<#kvCC3*&aEO0~1V5pSudv!#(f|d*MuSuxJ&;+qBVzHzWa{y8|(@#5SmZrsB zyQU;;dmx%r7W*>vrnhFiYcN27)viR#Fob3Sk(2f^^>2ZMaN6=fe1p)@TP5hVl@zy~ zp2B1|UyHH5bG)}Otu>2_!K1&0mzH{xEkg+5OOij*B(nseO{lsJdbF|lc$vhEK7y7o zz_Q>OeTl0M>b(37U)d(beff6Mn;Y|5oS2%jG0^ z1K$bIg8AZP82BmospkW6*hN@VyYLYudK9yWm-h!gagzPc6F>hjW5_hLRxQh`T&-ucPU_lTUfR32J zjus0$QldRcgpjLO?7Xu2GmPhpKjk7Lq~;Z+=vs|2Jo~(FgO+5NyFaoMY@u3))oC|X zf1=RB)CSK%BQ!-CWS_GAKS;$s`8!s;zv^UZ?35CYexNfaZO03riCjo}72mm1*j0eQ zSAHNEBJuYH65}&H2g?dt{qlale8w-IZs|iyr@qfx4|`V?W-|!VaKX-sKMD0<@vd>d zGq#UnUSV#_my2q>h^sygb!*k6*y`0+J7dKwZ8Z^7ZE(?Nxc2El0 z^*4NNostN6+5*;)E9@>SxS(5i@qQ(mg!TBKX8Hko^Z#*A7|Ni$RzWSn`e{=m&P;q^4DO&cvlr|^SeIpA!Jfpd zWI%2;dWRmO6|%G7QzAM0pj-#MFT2r}1BOp%**kc^oA5~%CV$)L%akSfG$nO!qS_(L z2asn(iVqUo&l*?ZKZIpI)$2$O}{Rs=JlwGLiMQC8U=A;7Pr4!A=4Ku$V6*-^eD5QKAz? zAI%5?^7oCt-ei1cTd~1b-fQ#?Ep0cJ(!|VO7mWp2G@yPEkk2X6bCmG`I~Yrhhw~$X zbg&>LdeF+Zz3L9{X=AbTRi98`$d5yHe)UWT>;dqoEd*jgp1>Yeh;YsHgE&7ezF?1J zMjdY$s3Q%i<9;1=cvvdxKmyeuN4Onx{7cC3J2*B4+=2fBY^*{XfDIunj!ZuC2b*+Q zLYO2TkP-BdNHC8=%DIVF1bfvqDe_9BsySCUx*X#hZw>a{>2a_A5Y2q(2m%Ic579`VwLwo5b<3Ar4= z8z!uALdP0DxLu@C_9wEio%qpH-wrwm0VvyV6`DQ7ir=X^4Yx0h?Ng%1=;%lU0k$rl z^+@Cg0vYd?Vo9dbV2lOfp#I?DK;jw#Z1M;Gf{z07-^=8$TATu8?8K&ORaQ@Z_r!`D z31iHX+Ba5#G^yna4P*SktVm`)pa{DXn?vC!Sn7=U!hjflc{dpbR?4Zwnh^>OXP84^ za5*ha4e6l+Bu5Xpg9)U^OY^*{%@r?odDSk>w;?lo_BF4;x(lS}*(YF=KX|lMJ;fUS z4!rS|6;UYMw~blJ5DHpoM#Uc}(N;*{S3hErZ|vhH39wNHuyLwo2f>PbiOfcW7WtZE zf|>_t@eQ&wL5n=kDM4>O0>UNuL~UsP30r@yXYhwW7%>n>hcJ(e=tB#+*oCblmawus z%wEJ)Bc0bN~bfm4GF{Hj)Oas9v zg_RL~B-A(44>|2cx70SvNez^|N1)_;4U*7IS^SC)sN@i6uqVoX6v@Y>;YR{OVDX>P zld`%Mzle3AG@&PN;$fKub)AuNnwToODA8Y0^VhrjRDlbkuxY%9!aJ2kwTVe`&3G$j zyR+&a-pB=6iT)ln-o*767~Z3>#4YO+76AbDo8Lu}Ha$WEzZh%RZA^290v9$CM+j0tu4EsA)+yr|nhdtqZwlR9J>NwOhks0$xD?SkFLUgd-W-pi=xLqq~QU4jRDJV|2P3P%ku3qkG)- z0p2KlL~5bKjb{bS2!kJ;Ze-9z5R3l>&iMCW#!>(lL|Xk|gU%Op(8kmg`oTuJIM}!z z4FhWUcp#_+Ti}h3CmR7e+0f923r6Elgt`E2zz~LEEeXVUmF+icV8dVBS_QO@#7bb} zQGgA@?K){!q+b7%is0~h*pGOjtr!qTkv)L7C*?|PfdCt1_(%sD*nlu({_S8xvwb@5 zFyNiO41Lcj}g$bl`NcC?{3#>22zSfKh3f)fNb0Yj?kR4uRv zb{YV@fKS@th76D@;oAczI7)U_p17WlKd?J$G>$)zQDBIHxZ6M?$i@u5p{%|EzR6;z zXfvzrAH0dM?m)1AEIams?eX|UH1;a5=lE0+$$jbtA0%SrNluu6rygzu)5+G{NQC9{ zphr$ySfUiGGz|-0eVwJHTj$;bS%mkDu^@S1)$-^}<|y>g4w9UZ6czT)a8gMJoMa0B zIEuNKY{Dm>C7g5;+H(<3`V!nl#_b4`z6^(EklJuYgV$kY!EdJ}#=AZBe)(g6!6#+% z=`#6DOKvSPkaqN(Lvz9*Gr=SrKlf}$Nm*T5z9i>!!_iDfG5{L{m-3X@ji@kAWZZVY zb|T|u#bGR^5}T?cCMTh#ip#?Qa{7zM5%I|yRGJK^R4O%>Bbx&&9Rx1%!D1I{Sjm}s zHZyaSIGZWK(TsNPSRDRXiGC~4(kCXgG+i9c{P}XwrxHVuc~BfwV&91vbh>#2O#tb~ zsUO)mb(gAkIS?iP*oIn&3_A?tYL_(0!N2ne-NW3GYTtrTyAKBzL zhcH=mF!sY`ot@&hYGReJl zFZUs_7L!OQw`eyhANOkBQa6kb-7@b=YGJ2$IckeDjvUw#^pH8vbo< z?|!9St>4MnZ(62i*IRA*O$wK zj5#IHmtLJY^pW2Z+$8A*dNI3p>wn2k`S;?j?UXm)>}yQ(S~R9k#(ODDwf|ew`rfCL z-SnOVWt(=BxXdg1Zpa%3;OM_P36!iCZ=ZeOxwX^`Jy9mbEn zo#1=66{Icv#j=GVp0xJm>3{Zd|DSKa<0|l`f(+T=wckjcPD-Xax~Pm!p&PFWapE8f zwIjG?(930dyVvK|PP*N}$8Fyc-iV|^g*p$$Wpv(Qq7O9D51Q!a!FuUZ(#_m{cqjBS zjXq2aZ0@kg)WJM}DqeryF-zpNOXXdr(@AOcg@7@S-wup6$^X&6eu27P)b^n23jJ#6@aPOATA8pbSLKkN*s(C{u?#xOf|%O$$G{h?0i zQ?-wHCSRiEJM^!6QW-ti3B5LhY$?3Ilj>ug(0?@1hnVJJ(>;-f&oj~S&4nnbVvW)0 z!^DeedYxq`WRBi}*2Dby)18^zy)viU3KPGp`I?5@2^3C^&QF;-D<=9z6P*IC(f$p= zH2kiasj2#qiEbWdFnxJ|LX#Sb%V4*}L?33NKWn02W1`n-bWI6YnJTvG9Y_fzgE7Eg zx{?z5p6aAJ3m<%~%n9E~?t((%nIpi%Cc4={SDWZ&8+_J89}ZrI6fc?RBTV$SHF{VK zY_2$L>R=xDyH4l|83YPVz}!CHL^lgM%S7)Z@sp9vzHK@wRfE=Sp}`?!S}3X2V@35H z8}#Z_4el~^BiRj&Trjma3zkksh(dhK^cxislPXQs=9siXr;~K%n6$PNdYvL-QbQ-z zZUK%im7>Z-cVQ@FHYapC4d25=SLhE)>TCvSbZyCDi+zI_w6Wtuo7MSSfDXr*){)tAPE0kmY(6ZD=jB=?prqB&F-lx&E>67RNqguT~>cG$T5zF;z z3O}RU))cxi&iH z3f;x_@|AdEnNn*e?Ds;z-Km1 z$gqTG6&CDV$(tY=vsUg5}jB`T#SUYWbP+ zk~qDFAbMP{=u=-^qB1@g;*^;YL~JQg3dmO-MET4t1}FstohcQSyuHu8f$AIAd$ZnM z>)dnBKKtyw&;Fgysb>akJDIrp_CWqPoA_#y2_Yqf4CuX4EawQxokK|8AwnEm3Aybr zgxr1&(1sFHHii)IJ%m)uBcy5^A#+X>QujO|3l|aM2lziK%D)q`YBM3tH>>59+ev`D z4h;S;rE3Wx@p5=LAxC%r@8z6{kZ=Cw$K~p0gg$qO&=-G&#T;)C`uf*|zWoIE(tBIq zrJV8=T~mY--5N<6JC>&8%Z*xwB9R3%4<) zLk_K^(2m}Tpc`mP z@1t@~BU0dNlW)(=j7+bdx0)S18{9_MQGc&8y;{!Ux)i^cDM#+_kaI$aN?2sNl|>#m zIJ;P6lFC|{Z0kOMEf!*17ncv?SAt)zV8a5J}MCh|)xgAU^hWed&cY1tNDl5K6?^;>G?E!@gWMq6ov0JmgY z2fYM@(g`IFqzIp&4E5`XLEjetKjOdHv6bq1Ms^1MOaM>gpKmcwNWkefo|-m}yFsu~ z&Br!U3-_iQX*!>oK9*NOtDP@TxA1q;?KG1ggw~dzQJP5kzP(x8IMB}D-(%!=3^dZg z+%s@2X9JDW5z4Ra&yp@me9^!xO1U#^8I-IO5)uijR4Cua)KBJf!xm|fjxPdo)zhrJ zIwMcA>G;K?Q~Adk&C+l^-#0uzZB3Fo{iL?i6#iPySZSV~r)6ewha)fE^f|1&t;w7; zPpF#^JAciQ!@vB}z*lCO>1zH;Rxxek$Fhp0bL!lai_&C{ruOXNAll}t{GkBu6x}7*rSW@dw9`>j(LtofD;UJzq65ueEgCESTH+%CG0^ zb>j;}zM{KY3!i9~(&SJFNETgg+lnp<`HKI!;U@Yb|DmDzCZR&-7noCKyQ*EYU2{6- zX}N{}=i-V)IdmB2@UIsSgP^r88ABKHsY|?N6NEvQYsoIS-Ef@%PIqHoTIx`ZsGLx1 zKhRteM@O-6*OKJT|%z#TxR7%mgi;PXUcP# zY^5eEcuA?rFdq>5G^9daxqM8~-KK)6rjk+apSOb)3o*_7ut*}$LF8Bd^CRkPJ`r z%g{+lQ0GkIxldc9B?)3q3$J+ELOd&KMZ;)E@Q( z+o)&6Ax4jS=+}&X)-zOdab+8WA$H|xlQFBk+u$v1^JlY&#T}VuEem(mpKvu9CB#t2 z>QCXW?S}IY@&tZ>Dr0*L|*gUCN(a zm97~c|du>}vqe|16GK)iKZ$;G4C%(9DxV z3qctm6AswK0E>9-Hm}%XzLn%>D+dtrJ|TMY5fs8?cb|%-@-CM{BCT|~?LOc}#5_TP z0b3t{N5MKsX;lAvr~<^TeC>+*V)DBnc5vGOrc~QY7+}p8la-D3Mre4I1$Kv9S!OR_ z&|+*23fJI@PBF=zZS8$JSXvXHvD%%i{iKdXXAICYWd>|n(em$=O9*rJvJu;u@(oiC zFxrRHtD>$Ly9<2_IyI}EZLqx+u!tYXgP;x+xkOmbqjbul(-0M`7WCtZ-T^{_YHrw4 z98Oyj`TAA|U-foMz=w;dLYqUz?$lJc%wBc9RnEdOIeg@YSgad=at@gm8Pzc@s^0;N zfaC53|ND*0$t|$w>kM)zI{{&B{)yh`T6+m7j|I;gyitG>QtnZ@HfIH#yu3c`WOfRoK^64*)(kAlOt zH=?=&Sjq~)6}iJMG_Aa2$9=~e5l+$@aDzl(NpvItF_oYQIXSc#)D|hp-ef>cz{EzZ zBk$N(V-0R+h8o;$qkWyIVfu^ccQweU;mWrj5Y@pHFVgqgt>6cF=tfaSg>x_k;x~Y# zVARKgXDJJIgA;`8EeM2p4&i4tOj`-M8u%N~jvWRY%c0+(>il+NxL006JoR5`GrThz?6>#2N0qJOjo8{Lr={ifoW0yo#54Horkm>3QjI>WwG|Z80c;| zL)Kpe=|+XS;e^=-AXTHFITM6=K}B0RonBJZh_tA zo&@sMzvNXecpxCGEC^bojDm2gy#j@5G|J(0Jir8(K`f)?P@{5apIC|Bj_Py0k6sHI zfJJ;@?1H$ZL_h_=oxEsbNVjc(<~+odolNQWM2ZC-67ay<&1KFmfR$mkg$O@h5pdo6 z2zf-X+yL{u%4LD?0kxU|kp;J_Y0VRP(tv%Xd$W!hz&bD6@gfB&9ogY_!JxehYFI{0 zqfsnaYG-G!a>W(97mNwH?nbz)_D7|nL8YsBNmR2y_us$8Xm_L1m)RQxNkGDMGG7k$ z3S)p~z=wb-EJy@3=*C*{hyj+H2P&$7QOx2MUJY#%s!*i_ZiWjE;0gurHw48Q_6B4( ze`_p`=>~yEmEqNRHXNmeKmhq?!qp6cuDHH$NW&m>E2p(&=u)<`NC0f&R&3n`KzrV5 z!OD3G^4BZ>1GoFccgVgGYcHk-7LDCZZ@O-H3NY>-LruQ_+Xx14tPE8+ zXm{gJ#rg-E6J%JJT)(|%Hy(oUejX=&8s9kj5x+q@zMZL#eq*ci)I{`Hi&OQ(sMCnvI;>co?4*}3ydkGSX zGv-o`Y(gZVW3QrJmVvB)u3Ndr0$>_2rFuI?`xsah^#<~PoUFF#b>9t^6ww&|LT)O7PJ94QRP$C}R{*J;ejA=g;~YPQ+z4la zI7fdm(Lj?nAp(3W#S0i0 zf4C>XJJ=|*A<3t)oXL;v{Aie1IN**4sJI29jPUK$o}tPBZswO$2l7uk9lY@#eRJdQ zXr?|6O~98*F`n>3yu~N%vho8tdaAMVe(WN*6O%Dvtie!Vq1-bx=2EkQ{Zgg|@z;x21SKB;}ww|GoJLBVZ2 zt?PbxtNjHp)eYf~>xS|}UD3+PkJZif*OfoquyC%ARH?nGlSx&1z2CEN?n8B?YRY4E zbqJZhcu{Q}LmgUJxA5^gKUuh-;em(h{14PVy5P~r9(ZEzf_h%PdlXOCTlrhN-86&e zjCv+4IVOWIHP@jY4acscqpi}Y9Mq-RN&2tGm5s|ceKKep#1xX!<_ z*CLtp_?Rf=imNzZ7dG;Sy+$dZLgB8AgPX*lbOK%%q4!Awe-)~468O!3%92JU3i|nK z6-wl$fmzbpM10JY-c961fcXbe(Mx>DK8rMK0OAjN8?Ht8!2wPb+#X3V0+#;NXYDxXZ+cZ~GbeniQe2iAJHS=Z%8n7PY#lR()!foGQkKrShi^W=UgH z`Iw9>X|@0kep2&k@Vg(q|E@{JcM<6=m;*NbAQeR%yh}qy5y$ou@e@GapEdYwKU#QR zkFVg0N+iXEL;_YVNPbG>?tXAg8u8i7`oYKbgTK)aKE5CP0}YNV8q*Knsls{3;k3Y~ z{cwi%!}(5wqimS^;xb5DI3oPEe(;-q240}SQHIQZ_)}DPqIfnM$}6Vb!n2QB)9~Pk zAEION@v@_L&&q@Jf?pikq9wbHKY_>7()pjjn`3{zS?z_~Rq3 I^lI9F1MKY8ssI20 diff --git a/minilibx-linux-master/man/man3/mlx.3 b/minilibx-linux-master/man/man3/mlx.3 new file mode 100644 index 0000000..9ad0ac1 --- /dev/null +++ b/minilibx-linux-master/man/man3/mlx.3 @@ -0,0 +1,93 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Simple X-Window Interface Library for students +.SH SYNOPSYS +#include + +.nf +.I void * +.fi +.B mlx_init +(); + +.SH DESCRIPTION +MiniLibX is an easy way to create graphical software, +without any X-Window programming knowledge. It provides +simple window creation, a drawing tool, image and basic events +management. + +.SH X-WINDOW CONCEPT + +X-Window is a network-oriented graphical system for Unix. +It is based on two main parts: +.br +On one side, your software wants to draw something on the screen and/or +get keyboard & mouse entries. +.br +On the other side, the X-Server manages the screen, keyboard and mouse +(It is often refered to as a "display"). +.br +A network connection must be established between these two entities to send +drawing orders (from the software to the X-Server), and keyboard/mouse +events (from the X-Server to the software). + +.SH INCLUDE FILE +.B mlx.h +should be included for a correct use of the MiniLibX API. +It only contains function prototypes, no structure is needed. + +.SH LIBRARY FUNCTIONS +.P +First of all, you need to initialize the connection +between your software and the display. +Once this connection is established, you'll be able to +use other MiniLibX functions to send the X-Server messages, +like "I want to draw a yellow pixel in this window" or "did the +user hit a key?". +.P +The +.B mlx_init +function will create this connection. No parameters are needed, ant it will +return a +.I "void *" +identifier, used for further calls to the library routines. +.P +All other MiniLibX functions are described in the following man pages: + +.TP 20 +.B mlx_new_window +: manage windows +.TP 20 +.B mlx_pixel_put +: draw inside window +.TP 20 +.B mlx_new_image +: manipulate images +.TP 20 +.B mlx_loop +: handle keyboard or mouse events + +.SH LINKING MiniLibX +To use MiniLibX functions, you'll need to link +your software with several libraries, including the MiniLibX library itself. +To do this, simply add the following arguments at linking time: + +.B -lmlx -lXext -lX11 + +You may also need to specify the path to these libraries, using +the +.B -L +flag. + + +.SH RETURN VALUES +If +.B mlx_init() +fails to set up the connection to the X server, it will return NULL, otherwise +a non-null pointer is returned as a connection identifier. + +.SH SEE ALSO +mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master/man/man3/mlx_loop.3 b/minilibx-linux-master/man/man3/mlx_loop.3 new file mode 100644 index 0000000..3397ce2 --- /dev/null +++ b/minilibx-linux-master/man/man3/mlx_loop.3 @@ -0,0 +1,141 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Handle events +.SH SYNOPSYS + +.nf +.I int +.fi +.B mlx_loop +( +.I void *mlx_ptr +); + +.nf +.I int +.fi +.B mlx_key_hook +( +.I void *win_ptr, int (*funct_ptr)(), void *param +); + +.nf +.I int +.fi +.B mlx_mouse_hook +( +.I void *win_ptr, int (*funct_ptr)(), void *param +); + +.nf +.I int +.fi +.B mlx_expose_hook +( +.I void *win_ptr, int (*funct_ptr)(), void *param +); + +.nf +.I int +.fi +.B mlx_loop_hook +( +.I void *mlx_ptr, int (*funct_ptr)(), void *param +); + +.SH X-WINDOW EVENTS + +The X-Window system is bi-directionnal. On one hand, the program sends orders to +the screen to display pixels, images, and so on. On the other hand, +it can get information from the keyboard and mouse associated to +the screen. To do so, the program receives "events" from the keyboard or the +mouse. + +.SH DESCRIPTION + +To receive events, you must use +.B mlx_loop +(). This function never returns. It is an infinite loop that waits for +an event, and then calls a user-defined function associated with this event. +A single parameter is needed, the connection identifier +.I mlx_ptr +(see the +.B mlx manual). + +You can assign different functions to the three following events: +.br +- A key is pressed +.br +- The mouse button is pressed +.br +- A part of the window should be re-drawn +(this is called an "expose" event, and it is your program's job to handle it). +.br + +Each window can define a different function for the same event. + +The three functions +.B mlx_key_hook +(), +.B mlx_mouse_hook +() and +.B mlx_expose_hook +() work exactly the same way. +.I funct_ptr +is a pointer to the function you want to be called +when an event occurs. This assignment is specific to the window defined by the +.I win_ptr +identifier. The +.I param +adress will be passed to the function everytime it is called, and should be +used to store the parameters it might need. + +The syntax for the +.B mlx_loop_hook +() function is identical to the previous ones, but the given function will be +called when no event occurs. + +When it catches an event, the MiniLibX calls the corresponding function +with fixed parameters: +.nf + + expose_hook(void *param); + key_hook(int keycode,void *param); + mouse_hook(int button,int x,int y,void *param); + loop_hook(void *param); + +.fi +These function names are arbitrary. They here are used to distinguish +parameters according to the event. These functions are NOT part of the +MiniLibX. + +.I param +is the address specified in the mlx_*_hook calls. This address is never +used nor modified by the MiniLibX. On key and mouse events, additional +information is passed: +.I keycode +tells you which key is pressed (look for the X11 include file "keysymdef.h"), +( +.I x +, +.I y +) are the coordinates of the mouse click in the window, and +.I button +tells you which mouse button was pressed. + +.SH GOING FURTHER WITH EVENTS +The MiniLibX provides a much generic access to all X-Window events. The +.I mlx.h +include define +.B mlx_hook() +in the same manner mlx_*_hook functions work. The event and mask values +will be taken from the X11 include file "X.h". + +See source code of mlx_int_param_event.c to find out how the MiniLibX will +call your own function for a specific event. + +.SH SEE ALSO +mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_new_image(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master/man/man3/mlx_new_image.3 b/minilibx-linux-master/man/man3/mlx_new_image.3 new file mode 100644 index 0000000..f2160a2 --- /dev/null +++ b/minilibx-linux-master/man/man3/mlx_new_image.3 @@ -0,0 +1,192 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Manipulating images +.SH SYNOPSYS + +.nf +.I void * +.fi +.B mlx_new_image +( +.I void *mlx_ptr, int width, int height +); + +.nf +.I char * +.fi +.B mlx_get_data_addr +( +.I void *img_ptr, int *bits_per_pixel, int *size_line, int *endian +); + +.nf +.I int +.fi +.B mlx_put_image_to_window +( +.I void *mlx_ptr, void *win_ptr, void *img_ptr, int x, int y +); + +.nf +.I unsigned int +.fi +.B mlx_get_color_value +( +.I void *mlx_ptr, int color +); + +.nf +.I void * +.fi +.B mlx_xpm_to_image +( +.I void *mlx_ptr, char **xpm_data, int *width, int *height +); + +.nf +.I void * +.fi +.B mlx_xpm_file_to_image +( +.I void *mlx_ptr, char *filename, int *width, int *height +); + +.nf +.I int +.fi +.B mlx_destroy_image +( +.I void *mlx_ptr, void *img_ptr +); + + +.SH DESCRIPTION + +.B mlx_new_image +() creates a new image in memory. It returns a +.I void * +identifier needed to manipulate this image later. It only needs +the size of the image to be created, using the +.I width +and +.I height +parameters, and the +.I mlx_ptr +connection identifier (see the +.B mlx +manual). + +The user can draw inside the image (see below), and +can dump the image inside a specified window at any time to +display it on the screen. This is done using +.B mlx_put_image_to_window +(). Three identifiers are needed here, for the connection to the +display, the window to use, and the image (respectively +.I mlx_ptr +, +.I win_ptr +and +.I img_ptr +). The ( +.I x +, +.I y +) coordinates define where the image should be placed in the window. + +.B mlx_get_data_addr +() returns information about the created image, allowing a user +to modify it later. The +.I img_ptr +parameter specifies the image to use. The three next parameters should +be the addresses of three different valid integers. +.I bits_per_pixel +will be filled with the number of bits needed to represent a pixel color +(also called the depth of the image). +.I size_line +is the number of bytes used to store one line of the image in memory. +This information is needed to move from one line to another in the image. +.I endian +tells you wether the pixel color in the image needs to be stored in +little endian ( +.I endian +== 0), or big endian ( +.I endian +== 1). + +.B mlx_get_data_addr +returns a +.I char * +address that represents the begining of the memory area where the image +is stored. From this adress, the first +.I bits_per_pixel +bits represent the color of the first pixel in the first line of +the image. The second group of +.I bits_per_pixel +bits represent the second pixel of the first line, and so on. +Add +.I size_line +to the adress to get the begining of the second line. You can reach any +pixels of the image that way. + +.B mlx_destroy_image +destroys the given image ( +.I img_ptr +). + +.SH STORING COLOR INSIDE IMAGES + +Depending on the display, the number of bits used to store a pixel color +can change. The user usually represents a color in RGB mode, using +one byte for each component (see +.B mlx_pixel_put +manual). This must be translated to fit the +.I bits_per_pixel +requirement of the image, and make the color understandable to the X-Server. +That is the purpose of the +.B mlx_get_color_value +() function. It takes a standard RGB +.I color +parameter, and returns an +.I unsigned int +value. +The +.I bits_per_pixel +least significant bits of this value can be stored in the image. + +Keep in mind that the least significant bits position depends on the local +computer's endian. If the endian of the image (in fact the endian of +the X-Server's computer) differs from the local endian, then the value should +be transformed before being used. + +.SH XPM IMAGES + +The +.B mlx_xpm_to_image +() and +.B mlx_xpm_file_to_image +() functions will create a new image the same way. +They will fill it using the specified +.I xpm_data +or +.I filename +, depending on which function is used. +Note that MiniLibX does not use the standard +Xpm library to deal with xpm images. You may not be able to +read all types of xpm images. It however handles transparency. + +.SH RETURN VALUES +The three functions that create images, +.B mlx_new_image() +, +.B mlx_xpm_to_image() +and +.B mlx_xpm_file_to_image() +, will return NULL if an error occurs. Otherwise they return a non-null pointer +as an image identifier. + + +.SH SEE ALSO +mlx(3), mlx_new_window(3), mlx_pixel_put(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master/man/man3/mlx_new_window.3 b/minilibx-linux-master/man/man3/mlx_new_window.3 new file mode 100644 index 0000000..90f6d47 --- /dev/null +++ b/minilibx-linux-master/man/man3/mlx_new_window.3 @@ -0,0 +1,79 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Managing windows +.SH SYNOPSYS + +.nf +.I void * +.fi +.B mlx_new_window +( +.I void *mlx_ptr, int size_x, int size_y, char *title +); + +.nf +.I int +.fi +.B mlx_clear_window +( +.I void *mlx_ptr, void *win_ptr +); + +.nf +.I int +.fi +.B mlx_destroy_window +( +.I void *mlx_ptr, void *win_ptr +); + + +.SH DESCRIPTION +The +.B mlx_new_window +() function creates a new window on the screen, using the +.I size_x +and +.I size_y +parameters to determine its size, and +.I title +as the text that should be displayed in the window's title bar. +The +.I mlx_ptr +parameter is the connection identifier returned by +.B mlx_init +() (see the +.B mlx +man page). +.B mlx_new_window +() returns a +.I void * +window identifier that can be used by other MiniLibX calls. +Note that the MiniLibX +can handle an arbitrary number of separate windows. + +.B mlx_clear_window +() and +.B mlx_destroy_window +() respectively clear (in black) and destroy the given window. They both have +the same parameters: +.I mlx_ptr +is the screen connection identifier, and +.I win_ptr +is a window identifier. + +.SH RETURN VALUES +If +.B mlx_new_window() +fails to create a new window (for wathever reason), it will return NULL, +otherwise a non-null pointer is returned as a window identifier. +.B mlx_clear_window +and +.B mlx_destroy_window +right now return nothing. + +.SH SEE ALSO +mlx(3), mlx_pixel_put(3), mlx_new_image(3), mlx_loop(3) + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master/man/man3/mlx_pixel_put.3 b/minilibx-linux-master/man/man3/mlx_pixel_put.3 new file mode 100644 index 0000000..f4d131e --- /dev/null +++ b/minilibx-linux-master/man/man3/mlx_pixel_put.3 @@ -0,0 +1,81 @@ +.TH MiniLibX 3 "September 19, 2002" +.SH NAME +MiniLibX - Drawing inside windows +.SH SYNOPSYS + +.nf +.I int +.fi +.B mlx_pixel_put +( +.I void *mlx_ptr, void *win_ptr, int x, int y, int color +); + +.nf +.I int +.fi +.B mlx_string_put +( +.I void *mlx_ptr, void *win_ptr, int x, int y, int color, char *string +); + + +.SH DESCRIPTION +The +.B mlx_pixel_put +() function draws a defined pixel in the window +.I win_ptr +using the ( +.I x +, +.I y +) coordinates, and the specified +.I color +\&. The origin (0,0) is the upper left corner of the window, the x and y axis +respectively pointing right and down. The connection +identifier, +.I mlx_ptr +, is needed (see the +.B mlx +man page). + +Parameters for +.B mlx_string_put +() have the same meaning. Instead of a simple pixel, the specified +.I string +will be displayed at ( +.I x +, +.I y +). + +In both functions, it is impossible to display anything outside the +specified window, nor display in another window in front of the selected one. + +.SH COLOR MANAGEMENT +The +.I color +parameter has an integer type. The displayed color needs to be encoded +in this integer, following a defined scheme. All displayable colors +can be split in 3 basic colors: red, green and blue. Three associated +values, in the 0-255 range, represent how much of each color is mixed up +to create the original color. Theses three values must be set inside the +integer to display the right color. The three least significant bytes of +this integer are filled as shown in the picture below: + +.nf + | 0 | R | G | B | color integer + +---+---+---+---+ +.fi + + +While filling the integer, make sure you avoid endian problems. Remember +that the "blue" byte should always be the least significant one. + + +.SH SEE ALSO +mlx(3), mlx_new_window(3), mlx_new_image(3), mlx_loop(3) + + +.SH AUTHOR +Copyright ol@ - 2002-2014 - Olivier Crouzet diff --git a/minilibx-linux-master/mlx.h b/minilibx-linux-master/mlx.h index 74c0aff..b323412 100644 --- a/minilibx-linux-master/mlx.h +++ b/minilibx-linux-master/mlx.h @@ -87,7 +87,7 @@ int mlx_expose_hook (void *win_ptr, int (*funct_ptr)(), void *param); int mlx_loop_hook (void *mlx_ptr, int (*funct_ptr)(), void *param); int mlx_loop (void *mlx_ptr); - +int mlx_loop_end (void *mlx_ptr); /* ** hook funct are called as follow : @@ -115,7 +115,7 @@ int mlx_destroy_window(void *mlx_ptr, void *win_ptr); int mlx_destroy_image(void *mlx_ptr, void *img_ptr); -int mlx_destroy_dispaly(void *mlx_ptr); +int mlx_destroy_display(void *mlx_ptr); /* ** generic hook system for all events, and minilibX functions that diff --git a/minilibx-linux-master/mlx_init.c b/minilibx-linux-master/mlx_init.c index 2ca8422..c9d7463 100644 --- a/minilibx-linux-master/mlx_init.c +++ b/minilibx-linux-master/mlx_init.c @@ -38,11 +38,13 @@ void *mlx_init() xvar->loop_param = (void *)0; xvar->do_flush = 1; xvar->wm_delete_window = XInternAtom (xvar->display, "WM_DELETE_WINDOW", False); + xvar->wm_protocols = XInternAtom (xvar->display, "WM_PROTOCOLS", False); mlx_int_deal_shm(xvar); if (xvar->private_cmap) xvar->cmap = XCreateColormap(xvar->display,xvar->root, xvar->visual,AllocNone); mlx_int_rgb_conversion(xvar); + xvar->end_loop = 0; return (xvar); } diff --git a/minilibx-linux-master/mlx_int.h b/minilibx-linux-master/mlx_int.h index 58c22c7..c49d1b7 100644 --- a/minilibx-linux-master/mlx_int.h +++ b/minilibx-linux-master/mlx_int.h @@ -114,6 +114,8 @@ typedef struct s_xvar int do_flush; int decrgb[6]; Atom wm_delete_window; + Atom wm_protocols; + int end_loop; } t_xvar; diff --git a/minilibx-linux-master/mlx_loop.c b/minilibx-linux-master/mlx_loop.c index c5f83be..048a18a 100644 --- a/minilibx-linux-master/mlx_loop.c +++ b/minilibx-linux-master/mlx_loop.c @@ -13,31 +13,50 @@ extern int (*(mlx_int_param_event[]))(); +static int win_count(t_xvar *xvar) +{ + int i; + t_win_list *win; -int mlx_loop(t_xvar *xvar) + i = 0; + win = xvar->win_list; + while (win) + { + win = win->next; + ++i; + } + return (i); +} + +int mlx_loop_end(t_xvar *xvar) +{ + xvar->end_loop = 1; + return (1); +} + +int mlx_loop(t_xvar *xvar) { XEvent ev; t_win_list *win; mlx_int_set_win_event_mask(xvar); xvar->do_flush = 0; - while (42) + while (win_count(xvar) && !xvar->end_loop) { - while (!xvar->loop_hook || XPending(xvar->display)) + while (!xvar->end_loop && (!xvar->loop_hook || XPending(xvar->display))) { XNextEvent(xvar->display,&ev); win = xvar->win_list; while (win && (win->window!=ev.xany.window)) win = win->next; - if (win && ev.type < MLX_MAX_EVENT) - { - if (ev.type == ClientMessage && (Atom)ev.xclient.data.l[0] == xvar->wm_delete_window) - XDestroyWindow(xvar->display, win->window); - if (win->hooks[ev.type].hook) - mlx_int_param_event[ev.type](xvar, &ev, win); - } + + if (win && ev.type == ClientMessage && ev.xclient.message_type == xvar->wm_protocols && ev.xclient.data.l[0] == xvar->wm_delete_window && win->hooks[DestroyNotify].hook) + win->hooks[DestroyNotify].hook(win->hooks[DestroyNotify].param); + if (win && ev.type < MLX_MAX_EVENT && win->hooks[ev.type].hook) + mlx_int_param_event[ev.type](xvar, &ev, win); } XSync(xvar->display, False); xvar->loop_hook(xvar->loop_param); } + return (0); } diff --git a/minilibx-linux-master/mlx_new_image.c b/minilibx-linux-master/mlx_new_image.c index 9967401..d2cbfc1 100644 --- a/minilibx-linux-master/mlx_new_image.c +++ b/minilibx-linux-master/mlx_new_image.c @@ -108,9 +108,13 @@ void *mlx_int_new_image(t_xvar *xvar,int width, int height,int format) { t_img *img; - if (!(img = malloc(sizeof(*img))) || - !(img->data = malloc((width+32)*height*4))) + if (!(img = malloc(sizeof(*img)))) return ((void *)0); + if (!(img->data = malloc((width+32)*height*4))) + { + free(img); + return ((void *)0); + } bzero(img->data,(width+32)*height*4); img->image = XCreateImage(xvar->display,xvar->visual,xvar->depth,format,0, img->data,width,height,32,0); diff --git a/minilibx-linux-master/mlx_xpm.c b/minilibx-linux-master/mlx_xpm.c index 4a527f6..688cc94 100644 --- a/minilibx-linux-master/mlx_xpm.c +++ b/minilibx-linux-master/mlx_xpm.c @@ -15,7 +15,7 @@ extern struct s_col_name mlx_col_name[]; #define RETURN { if (colors) free(colors); if (tab) free(tab); \ - if (colors_direct) free(colors_direct); \ + tab = (void *)0; if (colors_direct) free(colors_direct); \ if (img) {XDestroyImage(img->image); \ XFreePixmap(xvar->display,img->pix);free(img);} \ return ((void *)0);} @@ -117,24 +117,17 @@ int mlx_int_get_text_rgb(char *name, char *end) int mlx_int_xpm_set_pixel(t_img *img, char *data, int opp, int col, int x) { - int dec; - unsigned int ucol; - - if (opp == 4 && img->image->byte_order) - ucol = col | 0x000000FF; - else if (opp == 4) - ucol = col | 0xFF000000; - else - ucol = col; + int dec; + dec = opp; - while (dec--) - { - if (img->image->byte_order) - *(data+x*opp+dec) = ucol&0xFF; - else - *(data+x*opp+opp-dec-1) = ucol&0xFF; - ucol >>= 8; - } + while (dec--) + { + if (img->image->byte_order) + *(data+x*opp+dec) = col&0xFF; + else + *(data+x*opp+opp-dec-1) = col&0xFF; + col >>= 8; + } } @@ -201,26 +194,28 @@ void *mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) if (!tab[j]) RETURN; - + rgb_col = mlx_int_get_text_rgb(tab[j], tab[j+1]); + /* if ((rgb_col = mlx_int_get_text_rgb(tab[j], tab[j+1]))==-1) { - if (!(clip_data = malloc(4*width*height)) || /* ok, nice size .. */ + if (!(clip_data = malloc(4*width*height)) || ok, nice size .. !(clip_img = XCreateImage(xvar->display, xvar->visual, 1, XYPixmap, 0, clip_data, width, height, 8, (width+7)/8)) ) RETURN; memset(clip_data, 0xFF, 4*width*height); } - + */ if (method) - colors_direct[mlx_int_get_col_name(line,cpp)] = - rgb_col>=0?mlx_get_color_value(xvar, rgb_col):rgb_col; + colors_direct[mlx_int_get_col_name(line,cpp)] = rgb_col; + // rgb_col>=0?mlx_get_color_value(xvar, rgb_col):rgb_col; else { colors[i].name = mlx_int_get_col_name(line,cpp); - colors[i].col = rgb_col>=0?mlx_get_color_value(xvar,rgb_col):rgb_col; + colors[i].col = rgb_col; //rgb_col>=0?mlx_get_color_value(xvar,rgb_col):rgb_col; } free(tab); + tab = (void *)0; } if (!(img = mlx_new_image(xvar,width,height))) @@ -251,14 +246,21 @@ void *mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) j = 0; } } + /* if (col==-1) XPutPixel(clip_img, x, height-1-i, 0); else mlx_int_xpm_set_pixel(img, data, opp, col, x); x ++; + */ + if (col==-1) + col = 0xFF000000; + mlx_int_xpm_set_pixel(img, data, opp, col, x); + ++x; } data += img->size_line; } + /* if (clip_data) { if (!(clip_pix = XCreatePixmap(xvar->display, xvar->root, @@ -276,6 +278,7 @@ void *mlx_int_parse_xpm(t_xvar *xvar,void *info,int info_size,char *(*f)()) XSync(xvar->display, False); XDestroyImage(clip_img); } + */ if (colors) free(colors); if (colors_direct) diff --git a/minilibx-linux-master/rgb2c.pl b/minilibx-linux-master/rgb2c.pl old mode 100755 new mode 100644 diff --git a/minilibx-linux-master/test/Makefile.gen b/minilibx-linux-master/test/Makefile.gen index 2fcca89..ba4c157 100644 --- a/minilibx-linux-master/test/Makefile.gen +++ b/minilibx-linux-master/test/Makefile.gen @@ -1,26 +1,41 @@ INC=/usr/include -HT=Linux -DOCP=do_cp - INCLIB=$(INC)/../lib CC=gcc -CFLAGS= -I$(INC) -O3 -I.. +CFLAGS= -I$(INC) -O3 -I.. -g NAME= mlx-test SRC = main.c -OBJ = $(SRC:.c=.o) +OBJ = $(SRC:%.c=%.o) -all :$(NAME) +LFLAGS = -L.. -lmlx -L$(INCLIB) -lXext -lX11 -lm -$(NAME) :$(OBJ) - $(CC) -o $(NAME) $(OBJ) -L.. -lmlx -L$(INCLIB) -lXext -lX11 -lm -lbsd +UNAME := $(shell uname) +ifeq ($(UNAME), Darwin) + # mac +else + #Linux and others... + LFLAGS += -lbsd +endif -clean : +all: $(NAME) + +$(NAME): $(OBJ) + $(CC) -o $(NAME) $(OBJ) $(LFLAGS) + +show: + @printf "UNAME : $(UNAME)\n" + @printf "NAME : $(NAME)\n" + @printf "CC : $(CC)\n" + @printf "CFLAGS : $(CFLAGS)\n" + @printf "LFLAGS : $(LFLAGS)\n" + @printf "SRC :\n $(SRC)\n" + @printf "OBJ :\n $(OBJ)\n" + +clean: rm -f $(NAME) $(OBJ) *~ core *.core - -re : clean all +re: clean all diff --git a/minilibx-linux-master/test/Makefile.mk b/minilibx-linux-master/test/Makefile.mk index ca55cd3..bb35ce6 100644 --- a/minilibx-linux-master/test/Makefile.mk +++ b/minilibx-linux-master/test/Makefile.mk @@ -1,24 +1,41 @@ - INC=%%%% INCLIB=$(INC)/../lib CC=gcc -CFLAGS= -I$(INC) -O3 -I.. +CFLAGS= -I$(INC) -O3 -I.. -g NAME= mlx-test SRC = main.c -OBJ = $(SRC:.c=.o) +OBJ = $(SRC:%.c=%.o) -all :$(NAME) +LFLAGS = -L.. -lmlx -L$(INCLIB) -lXext -lX11 -lm -$(NAME) :$(OBJ) - $(CC) -o $(NAME) $(OBJ) -L.. -lmlx -L$(INCLIB) -lXext -lX11 -lm -lbsd +UNAME := $(shell uname) +ifeq ($(UNAME), Darwin) + # mac +else + #Linux and others... + LFLAGS += -lbsd +endif -clean : +all: $(NAME) + +$(NAME): $(OBJ) + $(CC) -o $(NAME) $(OBJ) $(LFLAGS) + +show: + @printf "UNAME : $(UNAME)\n" + @printf "NAME : $(NAME)\n" + @printf "CC : $(CC)\n" + @printf "CFLAGS : $(CFLAGS)\n" + @printf "LFLAGS : $(LFLAGS)\n" + @printf "SRC :\n $(SRC)\n" + @printf "OBJ :\n $(OBJ)\n" + +clean: rm -f $(NAME) $(OBJ) *~ core *.core - -re : clean all +re: clean all diff --git a/minilibx-linux-master/test/main.o b/minilibx-linux-master/test/main.o index 81db6639c577760371722650e1e023894ed565fa..a7c038dda136153ea1c20263d6376ba590b3e35e 100644 GIT binary patch literal 59136 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 I|J3FG539;BWdHyG delta 3852 zcmZA4U2GIp7zW^Oi}E)E6{)8KtcV~K>!L!}B4#MniWONYw3MdpQUt~R>{3e=O4~)? z0u|HP5am`4E*$132IvAo^AcC z2rF9VjC|8}ds<)>((THrkksve^KGuFRVdpq#@dyw%X_*4XWA9YIxHtly;UYNMYffQ zbSPYiTY<>Lv2S)*fiT>-k}0G*lrxiZpPQT>%R*MvCjG;xuIj?>R8BSNlt7+!b{1Sw zm$cld&Q>EXI-9hH)J3vW;dpnc%rYa#@p(DAxHMhm8RSHZWzSoSk4RmFy8PL9igYrc zeHKyC4f4s$4(pQAbcqcZ5`9kgJe{venm(u!Y0*mA^Yo}DXDxYyi}E!&VN_SX2T4&qmRI>KX$3N(iuAluJ#GZKxWdMm zW&cXOavk^hpNBD{dc5_BigLwUl#O6Wv`%`w+03AO)InO5uT+q<0%M|lp3CVT-Hc$j zf7~!>1QAglcRf{}hlD7PyNfi8l;{?k^B`$GvZ4*7!=zhbzoMK*(hrR4_1y+nw23rD z*?Po9^?mNG)mNkqNQ!PHy+GQCj3}ScCDH}RP12jB4G8u4D+lz2m8Lh1h>G%@=aJT8 zNVHy#^X6Pe8brEB**vQ%^z2m_@3DMy-9njq1o!&yw%w#*L`373IoLkS@ZIXftJNNn4N>Z6)1qRIjhR zcSY|f?eS^wHGkzJzRD3%uIznR=<|&tAzDk7Pg8akQldf9uYKcYMHiF)>{EN6e>Fy_ zas^ybzD9pjwi0nse)ARSWss&f5hO+V4K&xNKBFbbi1L%MjI;u|N#lk|A3$iof_1>M zH&br~qWk@GZ6jTZA(I)PUWK$|_<1>IRB!4qCb~@ayk|Q}>LS?ZAMaDDT!x5f8)d&F z-GM}(vR@$m9yj(We9>n)JE`{)Wp*JenHNdNa7E6kRMz1o>iuV;QtbiDSx&vv?~o7D z^xE%2{D5+}(tOf3Bt>_~ao$;%lkP-Dl&_m>R8O@IInf6xTSqG2qx}l4{g%C*D#~^1 z_pf6&WhyabG6`QMJt=eCml+e~`|>1d1i=CSeR+l|mm?y|=XahojD+Yzbbc49@+PE2 z`Dyu!vTKkXP&R+725>kb*Kg2rc2h-lr+kp6uhh$M2bI$7Nhyv(m)rgud2d*#W-A3iuG4# z1rFhyXkRfdiVooLs45xOKX0T>Gr!Sv;h6|sFE3d=X95b^XXLlDWU~_S>*a+f7vTNt PYp1`rIuFNiWpv?x%PBx# diff --git a/minilibx-linux-master/test/mlx-test b/minilibx-linux-master/test/mlx-test old mode 100755 new mode 100644 index b7c7fefdf7de1f2df575234b4bd5d12535770b7b..656d254b2cc4c97f7f2410212c966fdff931af52 GIT binary patch literal 100120 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

&tluwnoO4|6KyQF9Cf~0{U8_!^5;)x?G9#cBaeM z1aiHxJAs{NSYDocU#88e17e5kbqUk|n!wIUpktin_Z%e7-?AOg&Dy{MwqvE}_#fps z?_hcdqBDp}dL^J=nt(n9=;)99>Vo)_NAeIie&#GcGB`hhow5Y<6$$9;*?x|3U2zZ7 zYj^5ONk7@n^sL)8{Q+*s{R!+J7W;giIe}yJA<*$WXpXNh6WFN(x`%b66K8YXF3a!N z)OF14MD%D$ozDO|-YM1-i^>OrqpDXopsDooT~ z91B6IzV9 zOL!H31Q*@Yt`gXQ1Z(YCD|X`)6EPaJtwFD{kD|f`DB3xpSKs5F6lUU{0?xv!dCrM( zT4N71uXpV9kynoKj+s2#>jf0k=CEgC^qk2fubeO{mIM1Js$ea@7q)?T$BbtS<3~?d z-f@$r5e_tL25S%;m^lbKvCr2)K~>znG?jJ~jn#X?X!Fowl|Kr% zwawO>gLH?6_?f*4w&qk7!PdE=%22FXeWT{#K| za31cfAQQMN(B2T}uY}EgG{nrFVHX$G?QBuqEplle;&j+_fjj=7^M+#`&z}MFgl{qi z5_W$SM`F3Ln>k>+A-e&#apPa8QqiuoSf%{YRRxP^>kaI{K?|^*M-&_PO6B#@ejJo& z7?8XtOVn^6MsQ0I?(>M*yp%uA7nyzKWNgcd@h}>~*hDb2VqFqDz{5hY&&2HcX^4F-$#UOBr?NakHTSPpHZlmc-^!TpiEd4+d{Wvl$L&@**ER25;L zuROLy*{C>>`s*m#|H9H(VZEV;cHc>fwEqeN3611~jiW|G>JFlJ!-;RYgH#7#=Xp$B zXp>j|sIr1UsZS4xkrCJh1Up*c6q7&0jCa(&Q#cKUjqzr42T;Qlg%*4LVQ(M^(^fDH zzq2mR*i)}e2{f6&?k<0vrffLF*!smjIOjp2kzf7A2xL2&y4VVK$AvwMDNSZpAzx~WYem+uVZ;-FajI>C&OpSVs-+zWO+*~ zg8}SuRS}p>!Ehv4(b$oOsa%iQsc?d$Q+hb)g|;Y$sX+%Heocipap7Jly$2Hae8B_+ z9cyHDBskp{f*n&+0@Qm(`=G0rkvlT8!Z{N+@1pY!Ct%q|*|1>{tU+s!sj3QAjVA}H zV48%J)kx@%Dt|JJ$1%8n7RrTD1Gen*ytE-s>v-mX>zDY!k3Kn)2|4|%{3{DW(+m7q zt^5hNi7!AqjPWr8JPg$fP;UuoRfZHTR$KealN3%mWa<9d1KNFOGa^Xt*&{depAcK@f?;a9Fp!I0T!LE2{&I zXBpc07PYUrp^MZXQZ`v@MKbCgbN@aA{v3UK~K@DTRvz;)n;)zze)8Uqt~5axPR6QJFNwWkNQy6!x2D;)ROJ#2YFQ3ev?* zrmu`|p~_%;t&Oy*zL(M(l7|usD*Z*^6K;ylggHcIN*pukw-`VYPtZWu(2slZg;iKs zzmfHGwV1u0PuBH~$AaNN z{kHID>f>V>j0ua`>;7c@pFA%E5jxEFUjx)=eOVtUX^x>F-)~BKr=c(F2qhJNb?FWM z3!Q%05}4w@tT&Xj)mYKgsgx^J{JJRGe_59(sY?VoHL638fl*)DPrl!hbds?&Py80M ze}YW3zN~YU6xSt1A7=S48v3#xQqmASAB#TB@(%$Mp32e~LOEF{wE7c74e{2f0gIgv zfYAc}WSGgir1k%c`k#X?ww>t9I?TISKb`9@?JMOsiP zKhc-;?;sYfZ+}l)tM%t+=~O;FlHv3;q-aaZm*>Fq)6pvYf+2l2d`P)MISUz-G>U=e z$y&d+2y&{aS_etz;7@2QLdhD|&xs~N-jq!Rf=NS_L#%(SYpelNwnGB_tpl~>5D5&M zG4*>U(Eku$qY1|qMu#``u^6P8@#}i2mi(B{A7l(ZL|;-|FDZGE!SuIWO^I literal 77032 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 Tjh5`!_Y(V`G$GbnZWaFr9-6XO diff --git a/minilibx-linux-master/test/run_tests.sh b/minilibx-linux-master/test/run_tests.sh new file mode 100644 index 0000000..44b91bb --- /dev/null +++ b/minilibx-linux-master/test/run_tests.sh @@ -0,0 +1,90 @@ +#!/bin/sh + +# This very basic script simulate user inputs for the CI +# Feel free to update, improve or remove it if proper +# intergration tests and/or unit tests are added. + +set -e + +BOLD="\e[1m" +RESET="\e[0m" +LIGHT_RED="\e[91m" +LIGHT_GREEN="\e[92m" +LIGHT_CYAN="\e[96m" + +logging(){ + local type=$1; shift + printf "${LIGHT_CYAN}${BOLD}run_tests${RESET} [%b] : %b\n" "$type" "$*" +} +log_info(){ + logging "${LIGHT_GREEN}info${RESET}" "$@" +} +log_error(){ + logging "${LIGHT_RED}error${RESET}" "$@" >&2 + exit 1 +} + + +PID="" + +# to properly kill child process executed in background on exit +at_exit() { + status=$? + [ $status -eq 0 ] && log_info "Seem all went well" && exit 0 + # Code for non-zero exit: + if ! kill -s TERM "$PID" 2>/dev/null || ! wait "$PID" ; then + log_error "Pid [$PID] died with status $status " + fi + log_error "Something went wrong. Pid [$PID] has been killed. Status code $status" +} +# to properly quit from ctrl+c (SIGINT Signal) +sigint_handler(){ + kill -s TERM "$PID" + wait + log_info "Tests abort" + exit 1 +} + +# look at test/main.c and run ./mlx-test to understand what this function does +test_default_main(){ + make -f Makefile.gen all + ./mlx-test & + PID="$!" + log_info "./mlx-test running in background, pid:" $PID + + i=25 # waiting 25s mlx-test to be ready for inputs. + while [ $i -gt 0 ]; do + if ! ps -p $PID > /dev/null ; then + wait $PID + fi + log_info "countdown" $i + sleep 1 + i=$((i - 1)) + done + log_info "Ready to \"just play\" using xdotool" + wid1=$(xdotool search --name Title1) + wid2=$(xdotool search --name Title2) + wid3=$(xdotool search --name Title3) + + xdotool windowfocus $wid3 + log_info "Focus Win3: Testing move mouse 100 100" + xdotool mousemove 100 100 + log_info "Focus Win3: Testing move mouse 200 200" + xdotool mousemove 200 200 + log_info "Focus Win3: Pressing escape to destroy window \"Win3\"" + xdotool key Escape + + log_info "Focus Win2: Pressing escape to stop program" + xdotool windowfocus $wid2 + xdotool key Escape +} + +main(){ + cd $(dirname $0) + trap at_exit EXIT + trap sigint_handler INT + + test_default_main +} + +main "$@" \ No newline at end of file diff --git a/srcs/draw.c b/srcs/draw.c index c661242..33a62b3 100644 --- a/srcs/draw.c +++ b/srcs/draw.c @@ -2,14 +2,14 @@ void draw_image(t_fdf *fdf) { - int i; - int j; + int i; + int j; fdf->rad_x = fdf->rot_x * M_PI / 180; fdf->rad_y = fdf->rot_y * M_PI / 180; - i =-1; + i = -1; while (++i < fdf->img_size_y * fdf->img_sizel) - *(unsigned int*)(fdf->img_addr + i) = 0; + *(unsigned int *)(fdf->img_addr + i) = 0; j = -1; while (++j < fdf->map_height) { @@ -23,8 +23,8 @@ void draw_image(t_fdf *fdf) void draw_grid(t_fdf *fdf, int i, int j) { - int *point_start; - int *point_end; + int *point_start; + int *point_end; point_start = new_coordinates(fdf, i, j); point_end = NULL; @@ -32,17 +32,22 @@ void draw_grid(t_fdf *fdf, int i, int j) point_end = new_coordinates(fdf, i + 1, j); draw_lines(fdf, point_start, point_end); if (j + 1 < fdf->map_height) + { + free(point_end); point_end = new_coordinates(fdf, i, j + 1); + } draw_lines(fdf, point_start, point_end); + free(point_start); + free(point_end); } void draw_lines(t_fdf *fdf, int *start, int *end) { - int dx; - int dy; - int z; - int i; - int j; + int dx; + int dy; + int z; + int i; + int j; if (end) { @@ -66,7 +71,7 @@ void draw_lines(t_fdf *fdf, int *start, int *end) void draw_color_pixel(t_fdf *fdf, int new_x, int new_y, int z) { - int color; + int color; color = 0xffffff; z -= (z * fdf->zoom) / fdf->offset; @@ -81,14 +86,14 @@ void draw_color_pixel(t_fdf *fdf, int new_x, int new_y, int z) void draw_pixel(t_fdf *fdf, int x, int y, int color) { - int position; - int xmax; - int ymax; + int position; + int xmax; + int ymax; xmax = fdf->img_sizel / (fdf->img_bpp / 8); ymax = fdf->img_size_y; if (x < 0 || y < 0 || x > xmax || y > ymax) return ; position = y * fdf->img_sizel + x * fdf->img_bpp / 8; - *(unsigned int*)(fdf->img_addr + position) = color; + *(unsigned int *)(fdf->img_addr + position) = color; } diff --git a/srcs/fdf.c b/srcs/fdf.c index 9f755a0..c04a042 100644 --- a/srcs/fdf.c +++ b/srcs/fdf.c @@ -1,22 +1,25 @@ #include "fdf.h" -int shut_down(t_fdf *fdf) +int shut_down(t_fdf *fdf) { + while (fdf->map_height--) + free(fdf->map[fdf->map_height]); + free(fdf->map); + mlx_destroy_image(fdf->mlx_ptr, fdf->img_ptr); mlx_destroy_window(fdf->mlx_ptr, fdf->win_ptr); - exit(0); + mlx_destroy_display(fdf->mlx_ptr); free(fdf); + exit(0); return (0); } -t_fdf *init_fdf(void) +t_fdf *init_fdf(t_fdf *fdf) { - t_fdf *fdf; - - fdf = malloc(sizeof(t_fdf)); fdf->offset = 50; fdf->margin = 50; fdf->altitude = 3; - fdf->map = parse_map(fdf); + fdf->map_size_x = (fdf->map_width - 1) * fdf->offset + 1; + fdf->map_size_y = (fdf->map_height - 1) * fdf->offset + 1; fdf->win_size_x = fdf->map_size_x + 2 * fdf->margin; fdf->win_size_y = fdf->map_size_y + 2 * fdf->margin; fdf->img_size_x = fdf->win_size_x; @@ -28,23 +31,22 @@ t_fdf *init_fdf(void) fdf->zoom = 0; fdf->mlx_ptr = mlx_init(); fdf->win_ptr = mlx_new_window(fdf->mlx_ptr, fdf->win_size_x, - fdf->win_size_y, "test"); + fdf->win_size_y, "test"); fdf->img_ptr = mlx_new_image(fdf->mlx_ptr, fdf->img_size_x, - fdf->img_size_y); + fdf->img_size_y); fdf->img_addr = mlx_get_data_addr(fdf->img_ptr, &(fdf->img_bpp), - &(fdf->img_sizel), &(fdf->img_endian)); + &(fdf->img_sizel), &(fdf->img_endian)); draw_image(fdf); return (fdf); } -int main(int ac, char **av) +int main(void) { t_fdf *fdf; - (void)av; - (void)ac; - - fdf = init_fdf(); + fdf = malloc(sizeof(t_fdf)); + fdf->map = parse_map(fdf); + fdf = init_fdf(fdf); mlx_hook(fdf->win_ptr, 2, 1L << 0, keypress, fdf); mlx_hook(fdf->win_ptr, 17, 1L << 17, shut_down, fdf); mlx_loop(fdf->mlx_ptr); diff --git a/srcs/modifs.c b/srcs/modifs.c index c382800..bdaa967 100644 --- a/srcs/modifs.c +++ b/srcs/modifs.c @@ -1,7 +1,7 @@ #include "fdf.h" // add "print_keycode(keycode);" at begining to print keycode -int keypress(int keycode, t_fdf *fdf) +int keypress(int keycode, t_fdf *fdf) { if (keycode == ESCAPE) shut_down(fdf); @@ -32,43 +32,36 @@ int keypress(int keycode, t_fdf *fdf) // return an int[3] : int[0] = x, int[1] = y, int[2] = z int *new_coordinates(t_fdf *fdf, int i, int j) { - int x; - int y; - int z; + int x; + int y; + int z; int *point; point = ft_calloc(3, sizeof(int)); - // pre zoom x = i * (fdf->offset + fdf->zoom); y = j * (fdf->offset + fdf->zoom); - // pre center x -= (fdf->map_size_x + fdf->zoom * fdf->map_width) / 2; y -= (fdf->map_size_y + fdf->zoom * fdf->map_height) / 2; - // rotation z = fdf->map[j][i] * fdf->altitude; z += (z * fdf->zoom) / fdf->offset; point[0] = x * cos(fdf->rad_x) + y * sin(fdf->rad_x); point[1] = y * cos(fdf->rad_x) - x * sin(fdf->rad_x); point[1] = point[1] * cos(fdf->rad_y) - -z * sin(fdf->rad_y); - // deplacements point[0] += fdf->margin + fdf->mov_x; point[1] += fdf->margin + fdf->mov_y; - // post zoom point[0] -= ((fdf->map_size_x / 2) / fdf->offset) * fdf->zoom; point[1] -= ((fdf->map_size_y / 2) / fdf->offset) * fdf->zoom; - // post center point[0] += (fdf->map_size_x + fdf->zoom * fdf->map_width) / 2; point[1] += (fdf->map_size_y + fdf->zoom * fdf->map_height) / 2; - point[2] = z; return (point); } -int print_keycode(int keycode) +int print_keycode(int keycode) { ft_putnbr(keycode); ft_putchar(' '); - return(0); + return (0); } void rotation_state(t_fdf *fdf) @@ -79,8 +72,9 @@ void rotation_state(t_fdf *fdf) x = fdf->img_size_x - 10; y = fdf->img_size_y - 10; - position = ft_strjoin(ft_itoa(fdf->rot_x), ft_strdup(" | ")); - position = ft_strjoin(position, ft_itoa(fdf->rot_y)); + position = ft_strjoinfree(ft_itoa(fdf->rot_x), ft_strdup(" | ")); + position = ft_strjoinfree(position, ft_itoa(fdf->rot_y)); x -= ft_strlen(position) * 6; mlx_string_put(fdf->mlx_ptr, fdf->win_ptr, x, y, 0xffffff, position); + free(position); } diff --git a/srcs/parse.c b/srcs/parse.c index 6443c5d..45f9f28 100644 --- a/srcs/parse.c +++ b/srcs/parse.c @@ -31,10 +31,7 @@ int **parse_map(t_fdf *fdf) map[9][13] = 3; map[9][14] = 6; fdf->max_z = 10; - // size map fdf->map_width = j; fdf->map_height = i; - fdf->map_size_x = --j * fdf->offset + 1; - fdf->map_size_y = --i * fdf->offset + 1; return (map); }