From d7256c47a534ec0e69117cf378e35daa064f81d9 Mon Sep 17 00:00:00 2001 From: Camille Chauvet Date: Fri, 6 Jan 2023 19:37:36 +0100 Subject: [PATCH] kekw --- Makefile | 2 +- asset.c | 74 +++++++++++++ asset.o | Bin 0 -> 7184 bytes draw.c | 34 ++++-- draw.o | Bin 3256 -> 4328 bytes la fonction map bozo | 0 libftx/extra/Makefile | 6 +- libftx/extra/extra.a | Bin 0 -> 21408 bytes libftx/extra/extra.h | 7 +- libftx/extra/ft_is_in.c | 26 +++++ libftx/extra/ft_is_in.o | Bin 0 -> 2360 bytes libftx/extra/ft_strchri.c | 28 +++++ libftx/extra/ft_strchri.o | Bin 0 -> 2848 bytes libftx/extra/ft_strcmp.o | Bin 0 -> 2424 bytes libftx/extra/ft_strfjoin.c | 13 ++- libftx/extra/ft_strfjoin.o | Bin 0 -> 3320 bytes libftx/extra/ft_strmerger.o | Bin 0 -> 4096 bytes .../ft_strndup.c} | 68 +----------- libftx/extra/ft_strndup.o | Bin 0 -> 2856 bytes libftx/extra/ft_tabrealloc.o | Bin 0 -> 2904 bytes libftx/gnl/Makefile | 4 +- libftx/gnl/get_next_line.a | Bin 0 -> 5998 bytes libftx/gnl/get_next_line.h | 8 +- libftx/gnl/get_next_line.o | Bin 0 -> 5784 bytes libftx/gnl/get_next_line_utils.o | Bin 0 -> 5424 bytes libftx/libft/ft_atoi.o | Bin 0 -> 2952 bytes libftx/libft/ft_bzero.o | Bin 0 -> 2432 bytes libftx/libft/ft_calloc.o | Bin 0 -> 2728 bytes libftx/libft/ft_isalnum.o | Bin 0 -> 2256 bytes libftx/libft/ft_isalpha.o | Bin 0 -> 2216 bytes libftx/libft/ft_isascii.o | Bin 0 -> 2176 bytes libftx/libft/ft_isdigit.o | Bin 0 -> 2176 bytes libftx/libft/ft_isprint.o | Bin 0 -> 2168 bytes libftx/libft/ft_itoa.o | Bin 0 -> 3472 bytes libftx/libft/ft_memchr.o | Bin 0 -> 2736 bytes libftx/libft/ft_memcmp.o | Bin 0 -> 2832 bytes libftx/libft/ft_memcpy.o | Bin 0 -> 2728 bytes libftx/libft/ft_memmove.o | Bin 0 -> 2944 bytes libftx/libft/ft_memset.o | Bin 0 -> 2608 bytes libftx/libft/ft_putchar_fd.o | Bin 0 -> 2360 bytes libftx/libft/ft_putendl_fd.o | Bin 0 -> 2488 bytes libftx/libft/ft_putnbr_fd.o | Bin 0 -> 2736 bytes libftx/libft/ft_putstr_fd.o | Bin 0 -> 2440 bytes libftx/libft/ft_split.c | 4 +- libftx/libft/ft_split.o | Bin 0 -> 5256 bytes libftx/libft/ft_strchr.o | Bin 0 -> 2336 bytes libftx/libft/ft_strdup.o | Bin 0 -> 2816 bytes libftx/libft/ft_striteri.o | Bin 0 -> 2600 bytes libftx/libft/ft_strjoin.o | Bin 0 -> 3432 bytes libftx/libft/ft_strlcat.o | Bin 0 -> 2912 bytes libftx/libft/ft_strlcpy.o | Bin 0 -> 2808 bytes libftx/libft/ft_strlen.o | Bin 0 -> 2464 bytes libftx/libft/ft_strmapi.o | Bin 0 -> 3000 bytes libftx/libft/ft_strncmp.o | Bin 0 -> 2840 bytes libftx/libft/ft_strnstr.o | Bin 0 -> 3072 bytes libftx/libft/ft_strrchr.o | Bin 0 -> 2728 bytes libftx/libft/ft_strtrim.o | Bin 0 -> 3736 bytes libftx/libft/ft_substr.o | Bin 0 -> 3304 bytes libftx/libft/ft_tolower.o | Bin 0 -> 2184 bytes libftx/libft/ft_toupper.o | Bin 0 -> 2184 bytes libftx/libft/libft.a | Bin 0 -> 96734 bytes libftx/libft/libft.h | 3 +- libftx/libftx.a | Bin 0 -> 4724 bytes libftx/libftx.h | 6 +- libftx/printf/ft_dprintX.o | Bin 0 -> 2528 bytes libftx/printf/ft_dprintarg.o | Bin 0 -> 4744 bytes libftx/printf/ft_dprintflag.o | Bin 0 -> 3008 bytes libftx/printf/ft_dprintl_base.o | Bin 0 -> 2896 bytes libftx/printf/ft_dprintptr.o | Bin 0 -> 2920 bytes libftx/printf/ft_dprintstrtab.o | Bin 0 -> 2856 bytes libftx/printf/ft_dprintul.o | Bin 0 -> 2520 bytes libftx/printf/ft_dprintul_base.o | Bin 0 -> 4624 bytes libftx/printf/ft_dprintx.o | Bin 0 -> 2512 bytes libftx/printf/ft_isarg.o | Bin 0 -> 2560 bytes libftx/printf/ft_isdigit.o | Bin 0 -> 2168 bytes libftx/printf/ft_printf.a | Bin 0 -> 52394 bytes libftx/printf/ft_printf.o | Bin 0 -> 3344 bytes libftx/printf/ft_putchar_fd.o | Bin 0 -> 2368 bytes libftx/printf/ft_putstr_fd.o | Bin 0 -> 2680 bytes libftx/printf/ft_skipflag.o | Bin 0 -> 2864 bytes libftx/printf/ft_strlen.o | Bin 0 -> 2472 bytes libftx/printf/ft_vdprintf.o | Bin 0 -> 3832 bytes main.c | 49 ++++----- main.o | Bin 4696 -> 2984 bytes map.c | 45 +++++++- map.o | Bin 3192 -> 4464 bytes maps/map_big.ber | 35 ++++++ maps/map_test.ber | 5 + maps/map_test2.ber | 6 + maps/map_test3.ber | 8 ++ maps/not_minimun.ber | 3 + maps/not_possible.ber | 5 + maps/not_rectangular.ber | 4 + maps/not_surrounded.ber | 4 + parsing.c | 104 ++++++++++++++++++ parsing.o | Bin 0 -> 6104 bytes shape.c | 2 +- so_long | Bin 0 -> 100744 bytes solong.h | 39 ++++++- t | 1 + textures/square_yellow_25x25.xpm | 30 ----- xpm.c | 52 +++++---- xpm.o | Bin 7056 -> 7112 bytes 103 files changed, 495 insertions(+), 180 deletions(-) create mode 100644 asset.c create mode 100644 asset.o create mode 100644 la fonction map bozo create mode 100644 libftx/extra/extra.a create mode 100644 libftx/extra/ft_is_in.c create mode 100644 libftx/extra/ft_is_in.o create mode 100644 libftx/extra/ft_strchri.c create mode 100644 libftx/extra/ft_strchri.o create mode 100644 libftx/extra/ft_strcmp.o create mode 100644 libftx/extra/ft_strfjoin.o create mode 100644 libftx/extra/ft_strmerger.o rename libftx/{gnl/get_next_line_utils.c => extra/ft_strndup.c} (50%) create mode 100644 libftx/extra/ft_strndup.o create mode 100644 libftx/extra/ft_tabrealloc.o create mode 100644 libftx/gnl/get_next_line.a create mode 100644 libftx/gnl/get_next_line.o create mode 100644 libftx/gnl/get_next_line_utils.o create mode 100644 libftx/libft/ft_atoi.o create mode 100644 libftx/libft/ft_bzero.o create mode 100644 libftx/libft/ft_calloc.o create mode 100644 libftx/libft/ft_isalnum.o create mode 100644 libftx/libft/ft_isalpha.o create mode 100644 libftx/libft/ft_isascii.o create mode 100644 libftx/libft/ft_isdigit.o create mode 100644 libftx/libft/ft_isprint.o create mode 100644 libftx/libft/ft_itoa.o create mode 100644 libftx/libft/ft_memchr.o create mode 100644 libftx/libft/ft_memcmp.o create mode 100644 libftx/libft/ft_memcpy.o create mode 100644 libftx/libft/ft_memmove.o create mode 100644 libftx/libft/ft_memset.o create mode 100644 libftx/libft/ft_putchar_fd.o create mode 100644 libftx/libft/ft_putendl_fd.o create mode 100644 libftx/libft/ft_putnbr_fd.o create mode 100644 libftx/libft/ft_putstr_fd.o create mode 100644 libftx/libft/ft_split.o create mode 100644 libftx/libft/ft_strchr.o create mode 100644 libftx/libft/ft_strdup.o create mode 100644 libftx/libft/ft_striteri.o create mode 100644 libftx/libft/ft_strjoin.o create mode 100644 libftx/libft/ft_strlcat.o create mode 100644 libftx/libft/ft_strlcpy.o create mode 100644 libftx/libft/ft_strlen.o create mode 100644 libftx/libft/ft_strmapi.o create mode 100644 libftx/libft/ft_strncmp.o create mode 100644 libftx/libft/ft_strnstr.o create mode 100644 libftx/libft/ft_strrchr.o create mode 100644 libftx/libft/ft_strtrim.o create mode 100644 libftx/libft/ft_substr.o create mode 100644 libftx/libft/ft_tolower.o create mode 100644 libftx/libft/ft_toupper.o create mode 100644 libftx/libft/libft.a create mode 100644 libftx/libftx.a create mode 100644 libftx/printf/ft_dprintX.o create mode 100644 libftx/printf/ft_dprintarg.o create mode 100644 libftx/printf/ft_dprintflag.o create mode 100644 libftx/printf/ft_dprintl_base.o create mode 100644 libftx/printf/ft_dprintptr.o create mode 100644 libftx/printf/ft_dprintstrtab.o create mode 100644 libftx/printf/ft_dprintul.o create mode 100644 libftx/printf/ft_dprintul_base.o create mode 100644 libftx/printf/ft_dprintx.o create mode 100644 libftx/printf/ft_isarg.o create mode 100644 libftx/printf/ft_isdigit.o create mode 100644 libftx/printf/ft_printf.a create mode 100644 libftx/printf/ft_printf.o create mode 100644 libftx/printf/ft_putchar_fd.o create mode 100644 libftx/printf/ft_putstr_fd.o create mode 100644 libftx/printf/ft_skipflag.o create mode 100644 libftx/printf/ft_strlen.o create mode 100644 libftx/printf/ft_vdprintf.o create mode 100644 maps/map_big.ber create mode 100644 maps/map_test.ber create mode 100644 maps/map_test2.ber create mode 100644 maps/map_test3.ber create mode 100644 maps/not_minimun.ber create mode 100644 maps/not_possible.ber create mode 100644 maps/not_rectangular.ber create mode 100644 maps/not_surrounded.ber create mode 100644 parsing.c create mode 100644 parsing.o create mode 100755 so_long create mode 100644 t delete mode 100644 textures/square_yellow_25x25.xpm diff --git a/Makefile b/Makefile index ad5b931..b8ac58e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SRCS = draw.c main.c map.c shape.c xpm.c +SRCS = asset.c draw.c main.c map.c parsing.c shape.c xpm.c OBJ = ${SRCS:.c=.o} diff --git a/asset.c b/asset.c new file mode 100644 index 0000000..0439501 --- /dev/null +++ b/asset.c @@ -0,0 +1,74 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* asset.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cchauvet FVN zxjQfBL)Ecv-+RA#^WK{`Z)Rux_{gDeL==U{rjUC{Q<5kl3%54;Va5)VKF}Q1YwzmS z_sjYlvj6n}xa%nCwUOmd!LRGp)7MFS`irPmJ-rNU64`p?x?Ue$ej@_HEV=$MkgFp% zFrcNkvH$AG!cAy;9W2)mFX*-3>($GOUK?G|tHFGX#Lxbmt1SvOFn4&dskSK9Y*dq0 z>TUB7>#Y6?fUJS^3iR^9y!R6Lo*#x@eFik^F}>EkRj=zn4{ePBlRze+*M|r6+Sj)Z zhy+|^bjgEgmhNYPub$v%!5~Z!oz_Qg=+!sN$FJm5@y%xuA@R*TzfZhB3n_?ipDTZS z^JaYe#WRe&c#e_hpJn8kSw=2gVq|84k?Ctd4%KFs8JS)IqSs~!22#5aW8`9jk+}gN zXD`Li8t8X$x{TuoXPBqK3+I^h4D&Sj{4A4RWS#~uE-+~hJwb#=!3;!rf{_=?jLw~sy>-+p*DzJ279UY|yPdVPj@uk%>y7g=QWIgImAeR>&5ZCXdo+T1WB7xyx9 zVJ9OqgN%%aRE_1ds$caC#siYwLZNzJqFMct{=<-mGt^Ip%|bJ zF9SiAX~0ZTQLpd4zD4@3UV@4pS!7kAKk+86?eQz|&1axr?k9-)G)`(6G1wq0ut79n zm+r#{1M4vB`r&20x^EuJ{&T1&q58ggUVm8N+}rZfTbPsj=@s5neKT?VO2#s>$ngYJncLLOkJ)CB20fg$hv09gDGdH3_Hjf?l|j4rhyb3D@Sb?JR!`o#Tm?q;HDTe zUNpu{#+8f$wS9x}EMGi-s14!RFk{YUizYXVDM!d-ljbZnnxj0NOCvTWH6jrb$<13hVTyp3K}_&5g!FMGaI^@o*fyZx5;!o6k59BY6($Kk-W~!?<=eB#TgceD$-u74zO0o9tuZRwHb1x!EbptLvL1XGh(&TTCHTlmb7?1YVO#`I+w6LM= z>3&+UZOO!W!FE0a42wg7&j@G(Z1kT2Rg&BT=i3Bs{yNKa=)K6u}ke&C2icX1oLs_^kR3@lD zv}gB_=U9$iAbCFx=WCiNdjt+LMDlRJxao>-!ak!7fWY;_aXo@}4&oJ!GWCdWWC+?x zR^W0`uxT!dCOq>LP5UIB-v8i(`;Vm`I`HsF`di12j-=Ck9JfR=%plVyUYc1XzMvMh z$%H`)<+PK}!$im`2l)o`JyF3T0x#_4I#9HY^(X3_hSKryeBA$%L}8yFGReR{3_o@P`d|8rk2QcrtQd zPgFgkfC}r|$9mzuyQ=@4M*kzCA9qD#e58oO$;&XNjXVV%ilY3dw+9KDfuAx|@!TQH z%nVu9L}|ya-Hd1TGsNp=$h5OoB}Yk$FkLA&$_EU2elADzsUlkBWdl5XwgL`W7r37@ z9bnm+(t+Q!tf@N`t*i5Cts@%Sr*%ai;7kuNw?xOZ&3O%;w?>QF=IB99Js5pe>v*lI zB|y0C9W9dAI-|v^)(7IocQiGx^@HXHkopg5iGzSYp!NT)1&E{ls@4{br1~{As-7Ct zBBR=RwR=q41fwEoU#VzB9gU4?ZJm){Mb>MPs@4(Nx(;GP1+6<;jH<_Czg4%*1M$^u zK9DgWnz|1RAJZZ)Ysz=P1pN>!%xRrfEecamqXjK;3??_G^|06?V_FP??FOqcoS7Wk zeq4(HrbLfLqOeXfO>5FCfVPnjZiYKY0EocfQE`5=ngHyyz)uLXtd_)J71wKxriyn( zxJzvw#H+egeip65P*4dwP*>rvgOpf>aN$cp`di{*djhb}!*4D9Uw;bT2{<;KZsWZJ z`~ZT`@GS`MNOA+d2C?CHBQ~ku3om+XJ30A;{vQM`^=}dS8$^E5KE7S0{VgqcM+^Ql zu}-Mpiof(JxNt*oev${a@g_&S9Rbn$1(o;?A+K-2*;`M@x3%DC=Pn^{5)`MwZx9^7 z^}-g$@8&Rz6YV@CWIcql`vG9=We!xvSr>Y_kp2&Z?1k_vLYDSqJhI+rLi$w5KMCRg z67usQ{NF-;DTF^N*7cIWrC+)KWSz))O$fckkR3U%_d>X||6vF>gsckx(*BbIzb%Bn zAaGfSQvb&S9}MaLM&Ngb@P7#W?hyWWfqyN8|4!gXLiisA{%{DF>zEJWe--+ZAv`1G z?}c!AZp?)6{X+gl2$%DGE`-ax<3Fdc$-LqH7Taqfe4UWzL--v+{!0kI!Of7Qpm-9u z?yunxF6;S32$%KtBY~rvRy$p4M|Xszax_zct57E6(g~7ssb!>mdeSGUtWzq%zi9A2 z=ans!F)epLG0^kf=8caJ=N3&n?~s)3_%wC@khilM!Mq~dlKA_<@R%;8t+wi*Ix_(l3fqf;wmz)4_ z9M+6H!{z%8_apk>4Zqg*k?^}Q6d3AaYo(IsJ^VR<8vvR-*SORiCuKbE*Bbwx82@&t zGbEBDFn+E1ztGP;EQ)#H{BbJb`Q!TsZOZpIu&iAcpS)Jcp%f*>_uyLNQ@z|yij&4u zj*~Pk#y1oM^N1K9#^pGPKL-q8WnA0Vc0!Cl*$M(L=P%)30<%{B&WQTeg(Bt;??H0B zte+nO7LEyrEDHaxhB`wc`9A2b<$qrImwwPc-VVe59l+E>H<6ryU!z?U+W$72io X{}W*0+@ao2#eltH01~`+h5i2*SA9I{ literal 0 HcmV?d00001 diff --git a/draw.c b/draw.c index c74c85a..1157277 100644 --- a/draw.c +++ b/draw.c @@ -6,22 +6,42 @@ /* By: cchauvet +8C8YsZGTF@%Z0fUwswM~@5#IXett+;#OaE*g z5iu11)Tx1(_{Bs`)EJE#qb4d~#6SZ0!Aw6Gh$QmGWEwv}Obm(WJmIQ9v{Wx}l^A3NTw+k^@W(Ks|a61&coi3%_*)i-)cUi@B@8 z;?QicxaUf68ujViZ1BZBmxIM`W+^0C?49BKYH)f8s66p1GEd{A3a1sCoXAv#9A#R^>E0W`!r8#SGs+TW zt+!EAz4f=Yc$X**E&zuQ9aJ4H4X!|w>fP?y;c08Wry0PhfrEp-MgXnrCe>D$|IyHKBwb2-2jv};uW>=n>2DoTMbol93Qc@ zWvFS6FR1OU=NH-tMJdfx4f78(t);y@|B4n{ z3o_enqygPe(41}`Dol1MZZcG_BP%wC&Ty66-AVXvj@6AdWF1gf(?SA;sB54kuXUH? zb@fbsiG13cnEW!y>sw3mhHc=cq1RHTy4T4JUdrsQf}wEE%H~=liI5d*oiNjxc*<(s z+^Kiy9qo7Km~r!yov3x`TOgVaP3jTwTca8OSSo2|{E^65C^und{au~@Oe&GGVlbLD z$j``+C+Fp4XdL2J7LtiPOvbHfY7*kfm@yv8jsa#!LnM`s0)@BctV}#+nbB7A&%_U! zMi#=UgDDCC7C_1JM#8jUie0U+5lJNyW+WR5Crt7&(-vgLLz5O5M$h12&tBu9zDIkF zhxZQj8U~p8IA%5|O_p8rFa`f@Az&#jA2#LSASn5IrKPsYeGC_N1v2_kV~boJG-aYAI2YX(b%(q3T+*g^6XfI zUs#0GI#tT^<05=La%!|A*WvHRoZaZ~qDGu%E%<(d*of0cB6yJ?HsaOz6Z`{$*of2S zCHPkau@R@uS8%ZrlkfcYkFr>K;uIrV0~Z8u=lZfTt_f%CmzQzM)5Z0byr=am-5r2U zi}3B7i@JkczgOZG*M(j9r#T;y{Bgr!O~eWRXE}d@_kzF8_2(u29@k&ty_lDH9^aDu z#eMx);$j@9B`(JQt;9d%`eliK!u4Mz?&L4_b&0z;7j`k<1Kh8k+XX+ud8@=<p|;6B56~`4Nf#&iNY>|B3Tf-qW*O z{yYaHE}n-J=ajD8zpmC(UE`wj*%;4djd(H?!-F?v@WWb2#{<=fXYeder|~QX9+SzY$rv-Ubl{4Q1Cs4DcILP>nwmG#mxFGl zvZj9D14HeZY$)v*FYZ6> z^I|S2&bMJ+U;bc|ec#21O7%bI^+g@3PiMbe|5aq_?zt3pPvLLA&G2~fUQj$WxxR*A S!P=qU2oD_K0n`za>;D7B+zEF8 literal 3256 zcmbW3UuYa<5Wr`5vztq=x%_FVZ6o!dN<^ByB&HxO)GM00#zdr=l0N8V?{@F9^lmro z?IoAc+Coq`qtYOV_@EC8RuJ_;1p8p?A5@A+pGsc@5eg9$;+vpQXLi3yH=FB&4tzT^ zzi;OIxBJcA`SHmUvLpeE1jpcx#}uHMx?|@CV87sf%jn=upj8#sG6ou7a^k13PNvZsziF(Ty9qrnsp$STL2MPXR~t8t*QS0nTGu%4y5Ji) z8rtJHDzv_ejC|^N>uMAjC0~!6m2dOUf1~FDyBRcmyPgB7PkJD;OI0$x_Y7qEq<#%R z?!h?~9eet<{9Yw$ip+-8QRImn+RluDS6T<@}!;)d94{)51~SDev3C3dGAGivyt}+Dpg*a3B5k* zL+_c;>!(rBn+&~O-;vTT;iEIOB<(ZQsVn55$a;u7Q=w8jV7l0FgGRPgHQh>f!S?Hp z=VnJn^N*K>1T4G+Flnll>YL&vg8O)IZ zMQ_;y>ilo(+#PKeq~((!HG8Fjot>$R__FRrPK|_K2^`P#zAQi1t;uT`0q{AZ4tNfq zk|h0|=_W<*7@L%9)csu5Ddwuxh1$@_XlRGWmWz%n=eVV6!?J;o2@~sqW!YtYF1l@9 zbX7u8dL(slM`}s!)+W?+YDVqRo>Db!Mpd+mdf>Er5OHck)h?_1vEx4U1}D@*6YAlM zs{E017h>v^=L`MO-(Az};Jis=h zK=(FkA?c6J8@>xdo{tsx{U1m1gC;ak`15HS;o)P6g+v(sq~I6s)2?1Mo@5SW(5nJR}ckJ zx9no0QZS1}-(CRSx2vX3KWLzryjso1q9-EifloyhRn7J*wl89%bjK}wTS~6(dV#G! z@$~diJupjWK&N_DFf9v9du2;%)p2bB?72eOH*0pdSj)z#yrpQtA;D5!p!!X#54XW3 zPRGc=EP`HNs)gG3EHf|(kLV-fRQ|vE8B^o;lt(%n{(9m4Vjwh~e_ZH0ClloZSCWWE3)tEiMD%@_Z17 zX!HE6>D=1oe=YL4Zu2ml$9g_CCdZK85czRNHs>*aKVtLAaL#{(1BK@OGkzD1cIRh^ z@0Y(5IzRe-;e6(AAWNrZh!9 ck4@_*NzQ)@S@P^CZe6TDD-uZ2kjeS~1%mQ#!2kdN diff --git a/la fonction map bozo b/la fonction map bozo new file mode 100644 index 0000000..e69de29 diff --git a/libftx/extra/Makefile b/libftx/extra/Makefile index be827e6..b0dd9fc 100644 --- a/libftx/extra/Makefile +++ b/libftx/extra/Makefile @@ -1,4 +1,4 @@ -:# **************************************************************************** # +# **************************************************************************** # # # # ::: :::::::: # # Makefile :+: :+: :+: # @@ -6,13 +6,13 @@ # By: cchauvet !DoYya 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 literal 0 HcmV?d00001 diff --git a/libftx/extra/extra.h b/libftx/extra/extra.h index 10d4372..cd560ca 100644 --- a/libftx/extra/extra.h +++ b/libftx/extra/extra.h @@ -6,7 +6,7 @@ /* By: cchauvet pTp*P6Fjsp{QyFRh4xTg2bZ&BjgfL(nC==v_kIMSwDomj_h?B z9!X!c0>J?!j!3=oA5`Li5FFr7pnpImaw6PHK{7Mz8E5m=JyhyQ-_Fc$Ui*z_*5Bvm zzA%&mAq6L3Qxgc{Km(=yT_nZHPb1y`zHbB(Fc|bUFy22)AJxj+GVS!PefEeN zO#&D$f}_doZqq)NI-WYP=j_RO@3f?Gvd~3LxnKIlvm81Qmk8 z=)zS0pOi<)5SSEofi&d=_%w~XOI@wq)f!#x3bKT8w-RY1GYHb>|8TT-h!hE%ruLf=rGC`@8sWj?-D^o01 zy!NsmW@e@{twya8lryzzp%kuU{FSij^`f8}gwP6`fd2S^D*U(Vu!Amvq^^7gY9+1q zZ5tT8gMIrDF*-!l9yn#Ee>F~TPa0pN2S5R#1bl=~rPNz{J27fE9@Tq0yi-I&y-u5s zvJ%68SVL_qoqT8+pIZaTiZz0wea;$iv5{rV`2C`#+J=QGyW#zwKO&fb*PVVgbMu$o zVm86tqKjezj$a=#0mn+CW2leD@<+WvOfn3k9IqnNM|gKCQ9v5)G7x-%^$%irY&BtT z45vItSl`c_TGi_^%AfrUew1;k%fAqu(eP;g5nIsk%dAVBtNXn)INL7P3B3aH%XQ-a2i?Xb z@%fRQFL-$F3&31o5eIR?WFEym%Yw|S;As(>noOuw=H8|K1vUl$EJM!tV@z)#GD z>Av)j65kW?TjHi1;Q*Wc@KY4gZsxQP!S1Klr95-0pL z8byx#9f%Ki%%J;z*NtD&-48M#doL;E{-QTg=-0mo3`(D#Em3kC-{vq0h(U1HNI{}F+7Z3} EdkOE7%g5T4!j+c@J7K4h3b_(tDY;mv@XC199WV+?~nor+;5b-!k4m(dCTAJNsaKx{a<6 z(zmu0W0|3UcQ_>NWIEeQW;MOD`yJ*#N*P9VPaYQ`tLc4Y?!Wn~GORq37-d>w=>AiQ zVP!-IPz_{hCVEEnnQ<*~uK$_-M^Da?i=6?lSc;m>mrR0D2wA)#p4tZjCDo-GVoz?GeCOcFjr`~ek)n5<=skh!ESm^!%a?3 znG@zj>d98%oP2i*t!eWqDEm3jZx*Xf$1H;7mOZQ5sN0@ZELQWa1>3i#r!22gYq%Aw z<`l|)+p^n!GarcqawZ+uhg{C{oFzNw!=d(@fQj%1PRMJyo>Ot{QV_t||82$h@ds9x zUIV2)q?{V)iLc{3IgL17Bvg5LE-`dXeST0^zeNVX++wMw?tK6@s2W;#`K+*UhPaa&fw@jdu=inquaSR|`fTd1cdr>J07@D{AF`eFu% zR1d3;;xEqIo>`@}h@lGL`K6LwMmX3}y@-UO84By``-AEF8%)zHEOwLicG#evWxZK8 znq@;-cEV@lWp+Bt#W@sn#QKnpzd^j850dnu2LVNYN!775 zVy=622ca0;J-F9{yA=)>+2z*4N9e-H&;XnE7|{S*Pm(O!Ba!^UJ4Q@o=)-YPC>|#| zl<=@~L&pgB3p~Z`u?S9wl#mDbK=99T`$4X$RMDq?;vaAkC-T^wm*HCAYupYF4jc>o z6ONZ8{%73wC7j+9$<}-S99fNzHUbXu`NxU%g+~3FV;!_Us=Zl(fuj%ZSxKM zg#fsgTaZ3&go*tw=repE`a$4BV!$=U$~nn(m;38n3ng<+bjTQS-{RmmB9LpD`xxTU zJ{0tQ4sP;*1n1EQpJY5#K>bFP32qA|&PDn8#r#6kACu$af8v{yo-ZmQPH5_1F^=+X zM>luGA#YT>aMhh7fh4`t?TQ1ztr=UK2u)|ejkIU4&=x92iXvfevv)b%+Y7gQ zAy(Q-OVzYc(}()#lMi|HQ395L57kHi2%)8UsBeKjoHM)M$?h#zL>%~jXXZ1%cIRep zZ&WUPs0aZ}0!~AsF$(aDp2!Q4xBw=4E><`Gs%~7{t8R3kJ*w=IrFyrrS9LD#nh!_v zC_k$@izts5XLnBh`Ca9ydHdx)CoO+#56lNUXu4B*x+TopRO*R=*WJqQtsSvZ*?qFr z>-Cbn8s@zy^Nx%j|NZmd#HcuCjOnUTe09tV-E z!l3Dg5X=JlcOaO9Cj7Vh^b$zpF#~b+BM|FFF*)*5eiQq52yr?@)F$}AD1M`yIgnFs zq6a`5Aq|e;ErfV(93Vz*$0L%5#CMBmXusvEDRgc4SAD3fmvY;>xvfux`ea>yV_Wq$ zbwwS251aaju6(Z#e;Rodw{^u*6wDu|dcl1YaSi_N4Kl0AFWzTXLG9C7Q31zt0I7iE zmZ9UQms0toULnRAhEYye;i)7%o>ml)N-+b*r=|W%3Qw&zyq3Z#&nc9~xF6Dpi);U^h)g8|98K6Cm84vIe_htv9(__H!T;|7=0 z!<{m6U54m;gxG4<{fY#rziHz4XDmQrQ2!oFko!da8^Xi!j5iR=J`+N)DeF`IG-Z8j zXdF~O{(u5-9jZ_NuG#t@Bc@*H(dXuCJp07+&j7^}W$XWdShjcMmzVRiMG6wd(T-&6 F{{w?5>pTDe literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_strfjoin.c b/libftx/extra/ft_strfjoin.c index 74fd533..d03d5ef 100644 --- a/libftx/extra/ft_strfjoin.c +++ b/libftx/extra/ft_strfjoin.c @@ -6,7 +6,7 @@ /* By: cchauvet &Y4X!-3dM|5?hl-o-yX_tL9~P&pBaNxEsH$);pC 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 literal 0 HcmV?d00001 diff --git a/libftx/gnl/get_next_line_utils.c b/libftx/extra/ft_strndup.c similarity index 50% rename from libftx/gnl/get_next_line_utils.c rename to libftx/extra/ft_strndup.c index f979e11..c0fc2aa 100644 --- a/libftx/gnl/get_next_line_utils.c +++ b/libftx/extra/ft_strndup.c @@ -1,64 +1,16 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* get_next_line_utils.c :+: :+: :+: */ +/* ft_strndup.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cchauvet hxMQ9#_P)Wdt`XUj9c+Q=BlgV^_5D(lr=X~e8 z_uRj8=biMqS5!p-DGJQOp(jy*r+NlH3gyFqr_NCZ<*8So!HF{#IC3BeWS##F%0aU@}j)o_2DoQw`qt~Zf=?F4FxlA z?S8$#zt3Zx^d9Oxv;F<}#qX3s<;my})1vW5Mx%pDLI+S|IG|==B%#lZXwlPs(|xCo zpBZ}bI6#PjDxfn%0Bq`rtH*%Qo+m(y&i3{70fdhs;thd=eugcC4ROBj{oD?Ienvpm zBubw0CV5J11-~Kn#=;S=;&~lZOucc5dxOM8?>zSs6a)P#e)!4iO865(P*j5>Jz<#7 zySC#d3$>hGPA*!_R<&U#Cnk+?V|?rxmj@@VOrkesJPRc!+j5$A(OobKkg`jyRHae3 zTB$;zl5-a=Cp9&hYBg#NyPT?3^Cf2~Wi2_)oUb1svk9$c0c;>%(zRRFvTYTURoj79 z^|F<9py4`Dh5t4+T+}dM8gAI-H$Yj6E2I5A;g4~{A4QxR32iI96peqNzC56-KOqC) z7lcA^0l$i({1qJ_MdyS~Nx7{ittC~fE!M{-Cb`WwE9Grcs%jT%ZqWkYB5`w2T28TO zm5hp4YrQIABw9>idgKo_pgT;TVVYiMiMwoA&#-WY>9<%!Kg)FeJP(BKvfef_Gpskm z;u$t_m5r9z$&6OI#Z>LY4C~i_WN{4lXP7p_dNM4MVIlnmrru$Zi%i9cqMubGxFj!m zx9?2^L-6~4x0nV8^F9*R#DzWrqN90NEeIq2@TFfxR{S9*fPq-TmzSRzV$*_4rG)hg ze`95nkWCW7c2GZP%Z!A3<%b4J!c&}2_?YmI`EYt+q?{0j9Oty~9}}9k*1tVM0Ulw&UfYY->()QHBIQ$(!?4tnwq3}Nq;BN~*DKxFs zzuvOIgZrR^QMB@IIh)Jpo7N&2O{W2Bq!i-534+7}-JY6%Sho(su;#TwnmX zehJh2&~5)raiQcn)Be$$BKu36&NnzGgdiy{^{?dkB*?8`tXuv|UGmf09L#?KG40%b n1J%3O4rEF6m-%S^B+~ahfZJ#U_l{y=F{ur5P^cdb8O;9=d9OhO literal 0 HcmV?d00001 diff --git a/libftx/extra/ft_tabrealloc.o b/libftx/extra/ft_tabrealloc.o new file mode 100644 index 0000000000000000000000000000000000000000..15071ed4a1207440921536a160c0feea5c046a24 GIT binary patch literal 2904 zcmb_dU1%It6h1SvcXqp*?rxG&Q>(I|B7&Jo(g@OG8`0J2w*DYQ;zL;XXZA;TXUoiN zjFs5vqOin=R`3TA!3SwUupmNxR1~z}!@h`l%!`4CL&24_R^lm)GG^tH%k4`qmu+> zjF_NbrsjQYg8R~y#8rY(R3kv*379W;9lx8av`S7rw`99sv*YBZXN)OhYVt%k2u{B- zgWjz1Fx32_Un;wHsnzOKj0%`e%`+RFw(XgfN~6?WvVC)Q#`HR^j#D>V&2r6OHtl8K zEe&@CB)fn^L8a@uw&NGQ=0zK*SFY=L&AMY(b4|wwf{Q*l_NyTS4QRrDTQqL>NU&)< zmy6GXvYb_pkHiy~@pkS)oIVn|19&W*eMf!#u&%y`41k{zioqhbilY3TK1_-(6+gx7 zdM<6zY_*o!lhZSS9UP+>9-rBCDy?qShT*;Av7vZ=wQARlMwniQRKiHKjKVU>#2lN@ z3oKD!`T|Sp=a`OK)9WmDlO5`@6vos78_^pqi{?myX$2N9uw;S7kgVQd@kOR$B&oj` zXhlD#CUNoM9Q#|^dkp^E*&o3b!S3RQ!Ww_&Lm)a@_}F9^@%@>wf~@R5CO{vtvB5ki-?};L$|?Ca$Kw@CFJ zf5rU|Bz%ecpGo+q+`lH_?{YuKHJw599A4(Qd_D;sjH+Gk){CVwmY*dsT)R~=d@L%`Gx?vrt^ym)jz_-yBD!J zZixI6xSW&pvyA40;C;ivDGm^i?vrwmWFl0--13?z^ed0IxfV+1p1^>N5%&oWUKbs? zmbnJv2d#gTgR8s)t)KE(UjMy_5k>41%|QO*{k|3e*J6I5sU95E|0;j{w7#f_enOwY zps=I7U!utq3CLV8?0-R~uXEs$NMAC={sruyanSiS_=6JnOy@_nNAwqX88LZH2tk%V z>H#?sk-78-K4|{c1Lmh1F3PJJ$^ZyIg_eHq? literal 0 HcmV?d00001 diff --git a/libftx/gnl/Makefile b/libftx/gnl/Makefile index 24886a4..c2ce94d 100644 --- a/libftx/gnl/Makefile +++ b/libftx/gnl/Makefile @@ -6,11 +6,11 @@ # By: cchauvet P=tZQZ@c;}7f?!dO%(rE$INzjEc# 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 Zx&9VLNGURoS)44$y*y!Ta7pF({{d;DXBPkf literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_atoi.o b/libftx/libft/ft_atoi.o new file mode 100644 index 0000000000000000000000000000000000000000..3d98c8a928e59d17adac7108bc433e9fdcfe40ee GIT binary patch literal 2952 zcmb_c%WoTH5dU^JvrcTs&ZBuXfQ)E(D(f_)A}QNogcjVTJOm1gKviTryS7z7B6}SL zL?OgUlr#rgRQ14-Q^f^ta6k|Vq#*tR_ybT=$%k?a0?EwmexGY^%>jv#c4y`{&+j!K z8<$>|C5Z`=*dn{H36!zDz4VRV4n+4b%OmaIM4!F{UjK@d5GvW=vT&Zvi?)-@{iJ>G!+>JB{DEJ85xv@ zRL0~eyEx34a)v39#ZV~3SdWHoLuz7NiJT8TA9`Zq;_wR-i~%s2LlmISb*O>I-8AeL zw$(#TvR?Oy!>;WAnP`*ah$>`JB`*R+GDz9`y zdVCb<2s*&Bm+cLb;TU7xHP_+3*-cb45h5e92*@ zHK)R=_?2r8tLC$%|JVh!jdaRmO#0w0CT$Ezli@(`b=;_j5T}obHjcd*8Q7Iy>Q@y* zLKoIVsE0j@e@T-5iu4mBH~b{gC$7+?KH1~Ab5RKfgFk?(n(C_%tU;e@LPUp=Ets%j z+=Pd9nA(D;Y7f1s z^0yFpuSNyPYezk7Cw(LA6T;ioWP2E7uh@;6NgBz(Ot1@Z4bB(95!gtuN6%0t{P@M*4( zw&66;1fAxB@PCf$k8njYn^EotB}$hYr|n$rd%vqI0A5xFN2BU1nOT>{!|>uP;qkomA$Ec%4iu6xNF?snt~+SJ{rRLcU~iz{;)I zl~mCZQTV1ctm357$los#|6k~H%+h|(MAF~*Mf_3#oYQ`_6U{Ng#Jv@^1Q*0R5V-#> zMA6WGpM_t7U)pgFkRP32FV_W5wf#Mj%QX)Ax5@9j_%HDd?nwL7PX71>G^#QFvN2@2iz?>4_s;+$#!Xl99cf!7cdYeBI^8@#^aGx}7vh7sNB zA9krvGuU6B?w4|@Sw^;rUyFX_@uD8}Pb73tW9$nQ{Ch{XP2SWYDM%DYDgE{T0j{cD A)Bpeg literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_bzero.o b/libftx/libft/ft_bzero.o new file mode 100644 index 0000000000000000000000000000000000000000..9f9dbc945a8b6022e02926f739f1be73a0c4fc7a GIT binary patch literal 2432 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isalpha.o b/libftx/libft/ft_isalpha.o new file mode 100644 index 0000000000000000000000000000000000000000..085e2e50aaf56756641e440585ba0b4a184c965a GIT binary patch literal 2216 zcmbVN%}*0i5TCc(S3U}D0Z|Y&JwQ|p+k%)V5G*kjY=|Zp3^5_iwroE_yCv~vBld8V<3sa zEHpHU0(|#0w zr`RD?`O#*}xWkLs;p#`$!$$mlT=fUf4EcLluNOek5bX6v2UP!*Z`yZp@J`>&K>(G5 zBA`2c0G?q`{j)xw4>LW$WgoY_eibVCH{C->kuWKY;(!H~a95SrwT5PA;~rQ}R!plB zO67Gk6RH}ea;|8G#wWCh78$!*sT;>1PoOrbU4yih$d&c{MpoBS5H{20aJE=5%HdQh zt5>Rq6`q_3my7wLnF;4}$+T6onIjHzrUfbZx3Y9>fKxUDwz&kX7Gy(RZSAkH8|M(G zMMRf|Ie+lEa;w{`#L)vFgOCS?ac7ME_IDGbCgNg_li`i()N$NFHNbeVv%-De6&{@7 z{b_za&PUUHWQC8;@Nk-Y<6QM-xblIsio!9ko#BL?y6=HsN3G0ia#!eB}iEhQMVWL+JA^+!FeI7rr6%kl<9)S$ACE?(=}QW+W?_gq}>6j4EiBQL{ix z6$=FeXIL1^RtdC{k=KQuGt))T%%Wvz^LLlW%9fs52Q8nk783f}8osVflY2gA8Uiq~ ziF8RX7|kQ8VF61|f>wT1Al`U^;?)1oo?)o-yUR=q;-kNnfZ*=w4j@jLoFnNT6@r{I zi3g=1IK{eilIf+e#{`$m?W>`|jgjvc5kSAwPICKRMx%4SrSB!tl%E3d3qSlRsT2JP z5YZe{&Il_Z%8NZsB7x+eqzp;O1NQkh1+~@%Q+IH`&9d zUqzR=sP|~9-g$OV?-Jc{0L4JEJ3ig7>Jy2{#HE4Rp4$Tess@UrW_ti)L!jzYi9`Z3 zJ;LQ5tF?J#D)^^dM@nIu6hUzyk_-4$mAC6Bnx9RJ!D6oFc(t@uGMz%YZda;B*GZ3# z86(EX@YPz=IQnu7wQ=JbTlXOl2SvvN3;wMv9UGw62M{k7K&*F)!H$;JJ?zGLaYD(L22i2s|TH9+{GCrrp^IGqc7Qdyb@q(s&)(Ds~+V&tCVyu-tOl#+jAIs#gJ{VwX&*7oEHdhU0p+G4o(? zxayhKv%pY+Q7YBT%jU`oUaZ2Y$Wqa$Oc4C; zoG&du`g^?0wJZH>z@4&woA~{q)K+RlVyzSpl}HgKP-MwQq?d%J!qr*6|5%5=T$I ziV<->G^Q${@agH$h!_n3_;e&k1Mx{Ev>03pUYJ@PyEz4*sNj>->KK5329(fpFc`#4 z4{_PY>hBzx3jQfqk@7K3hM+hQ+B!ZJ-`iH#va_jvNM;(Q)re%vX|oV%8nt?DU0{Hh_4(4x$wn(?fmz``C@M$kQUBmxf!R@N3`g;Xn-? z(A>b~hZ%edA%2C138;y7b$sRU2%mgMkfIyP=Nf)xbSf2^3V{XH_(O zDkic+yq`Nr`{C!Y*RIn2PCeTSC_OeC3gFmyhypYny>brCQAhqxPmtpbgQz>J@GKGU z7=6rP3-hzmrm-g>UhQc1DksNHv{x=Opj03wqATGzzJ7CQ~z-pj$@E0zF%;R1BQi?&z~$-Kv3JGsU${O+7DB0u_jCM3FtTSJ~Wo+EaTONHl*`7kRIDb}5nww}rTghU3nFU^IUBi}DF z;E_ZIx9AVY+=Rn3^Bf}y5{!Gz*^XlKB94hV;^=|+d$1`6<&g-acNj}DX zr?`Eyxan2DUy@vh>eFA*T|bGOvUXfWc!ldkBCezqPvWls4mo%4$ZtcEAILzVIJzV5 G`o959S+msu literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_isprint.o b/libftx/libft/ft_isprint.o new file mode 100644 index 0000000000000000000000000000000000000000..b527d8e42bbbc449c19a8a76c7cde780d2a630fc GIT binary patch literal 2168 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcmp.o b/libftx/libft/ft_memcmp.o new file mode 100644 index 0000000000000000000000000000000000000000..d1ef72b66fde5e38f94e0a0837140d5969e55c71 GIT binary patch literal 2832 zcmbtWU1%d!6h1SPJ4t^w)3kNnZWoQ{sw;HTW-D5M)`~{6aaR_#vI?@B%hrN)eGu0NL2zY3g!-}~DijnN-|CzAvnW6^en5}1)J}Rk)ubR|-`ZN@1)mfa6CLPu{HJmrPQ{u zdXq0|q6lm6D(R`F@y-^8-b!s>Q;b!C@!gmdt!yb+y}5gJe}BJSI)tUqa_RoqiRM~r zZ#}j5(l<&>IUXGnT6Ey%(P&H=)B#ijP7eWScYqc>)z{Yt5He9Vs81i!q7U>v*mu{+ z>7hqP0E7UQDN4{M55Vx9xT45mtmS7R+QKJ<5At4rsY8FauaHs`_|hmAQTz-XQb2j0 zNX7UF-$K1S@1swAGFVY49*W)LqjMe_WR&*M5GnmhMM&MmaX3O#lBuS* zm~aGUat+&U#PgM`U5YPQb*Egj;}c19+#DY}+3U*=R4NPAv5BNN_L`UQo0cfs`AVZ;LHj$g zS!j-1C|E^v&OeGhDsg0*p@>NDA41p93r#PH(Jw_<&xld|DbI({_pFF0Qau?loDn15 zJC+g0Tybkr+@2A~Gvc<4R@@M(cJv_;(!Uex7ozt?VPH;gN6uhIsHRZ#hgE@}yi z{U(wj_*;qaEM~Xn-fMi)n!8FkmMT4|dd-n^jim#kjX^IZqxp;#-Hx ztKkbIKgRmQ?1`s4M%qyxNc|M!Ti8>pI=^~6pf51K?;rH3fWFT7*#N)HI2+(s7}o;) zMaD}3{zJy=0sdpgR{}iUHe^?Q2eJ>ZF}@z)-)H=FfWO2z&YpVK*|#F|!G3~SuyT#k zY&MsxTMJ;i)}jk$zE-VTctLOwZ-DlR0<&&avK%Sf#TuA)&9%%YpPm_W+-&|8FzI~G zW(x(p&`Jm7m9lLyVa?4J>)EQ+E{sRj#F^Y|4*jcD^8er7#uA`k6KBzs3eCPR;@*O5O zIU&kAyn;PD!k*3{N#wa>8pe2YeJTm|a(?OQ|3$KOlohw;#2OcG2hN zJI?~ulKIr%PLtm+IR^*b`nSv*LiUOJ*MpDDmwX91*$W)DY?{~qON;RbK`otuZu7s_ xWq!KVgY!R!oOWiPuCHZ$S|<0uBxwC)!TH}sF4#NL-OY=-MgWcSXi35O{{nMnI4=MI literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memcpy.o b/libftx/libft/ft_memcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..89ee82fd7cfe0c16cb19987486f2b084f0a0c7e4 GIT binary patch literal 2728 zcmbtWU5Fc16h1SPJ4rU(WH%{ww-wEUwIc3hH(fzntr3k*(^f=WsShRQXYzx|WXVj{ z-9mM7QH%@X`rr?UQtE@~lP@j!Ac7AD6y3)@_C?sf)h7#r@tm1^o158)hzIUH=ljk% z_ue^k&m?c;&px9n3J6i)6pWBy0rvEfo%75bBrtNt?Ehx=FWoZxy*;zPa>LxZbPE!1 z&0z?dduUFRxt+&|{Oy}7BXAu_Ov&$>KjsItBI1F0GJhknb<9V*=JvV4y9Xoaz~FO( zcRX`oZhfy{-r(j>!{N~L;mW9QU-&_pRgT6}OpDLlbtFEkB=OK{0vFQ^^d$A%oEAS3 zI~hARe>(NVJV1zn%Bj;S0Jb~^^#l+bz8@Ee975Yq28iAVTKrTj7DLCkI6^ou#4FnY z&kj!SA)#u5C8WGWNJ%`1b4cA;9YYNted7CG@zLj~n7VV`L$lxb=y?w%IWj$zqDas` z!zmp3ifk0sh>{9N^sA^mTgSIo?%8fHU1^o9p66V8J&S1B zco=GKv2C?0s~biIGIq_$G&*g|$y6$hQg6+2Gt1eG(`j|=dZyJZ*W7hqjnbfMIW9Qe z3fMql>7MO0>$X)*H*Msb7pVwQ=%vrUjSu&MmcgI9C;t# z%-zV*Affuhlku6i)u*O)wT}@1KO+@_mvL4U<TQr5G* znq~Z2Wtw)S)vH=CdRVLxisM$RR?TSmEfrOXBheBHi%tE(Qu=vzxW;gf>2;>*1s2tJ zSQvFuKjY~T>gX1_3rsDrX}y6S)CHzJ#v%n4E3lCMI8(2&sS8X+kD{MZbv(Sk&;I#M zq(bofaK8sn1$PcO=GM?NNi>i?3Q~Xu)EVPK2TDrod+z`_vBDJE@-Cu}i1+&o4V0v> zK=2D3ACh>+ZBmCNp4NGk<9oQKbIDKr&_D1eI4}0Ca_qGn+Jd(^@3ptYJDeAJBK|eb zcexh)2OMt(_)j?&^%L=zIsZizX{Xax5SUZZl&d>iP0TjxkBL(;W8|oDuqW}N^ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_memmove.o b/libftx/libft/ft_memmove.o new file mode 100644 index 0000000000000000000000000000000000000000..3d5dd60fbb29c9d8a8a581dc92b2746e34ac4414 GIT binary patch literal 2944 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 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putnbr_fd.o b/libftx/libft/ft_putnbr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..b95fe9d14853398f4f1077c4d25e8884baab9cb1 GIT binary patch literal 2736 zcmb_d&2Jl35TD)kZqmB3H%?U&f*@*v9IC97G)R1eHmFK5sA~C8P>ZNsf25Dkt(-x4Umb*n#L3Z_e7BXcFQ`AcTwH+!?w-E3`V3d`Nh^XOhr ze)JfsOReo&|MYsjUnznNsQxq@7+dRzY;?Mi{PZCCmbY)spibVrAGqgwhdW&i2)U<2 z?w;gl>44k4u^07~KmXdiD>#>y``|qRZjBPX)7`i`iwVTqTL?n%$ZY&zpSz=tYELA_ zOe0}GG?^IHQuwC2gJ8;98aEQp#-EE%PaK;7Fig-HcxenE_Ba@cqw#ngS38d*h67+Y z*t~tgTz%X@Ko=kx+8bnPNkjkq-Ej66Dzw)6R=BPigOz;C^IKDeYR)T9wcSRuQun6j z=ABt*cIHScaL&CqkJf_o6qNkzg_iH-8`)CPDL~pQHPfs0n%hhl3ahzR+x626^XX>2 zTKCH7Y9(Lt*FrTA2_95DA4)~|Z`rZ>{qzPX+QrvETeG#veM7^Sac>?$j0Op90lbi~ zKh}?rSo%$50Ng+*22bKs)3m=6Bcy0cacBdz;adf=XJ+$06N~6J zvLBe5WgNV!TUcpWQRMRrL}T!KFUo23yJEm?a8C_@Xc#c0LV<0-gMIf2dh7^x2eFit zH~1EaO*5CenX+{8^pY&>g1;`|bVUgMc?p--`EVEf$}add376NWISE|^MlcH>Vh0Eh zPh^Ovm?LnyY)B4-Dp<$lIjM&woYq-n`%%{Pt#>*P=ZAN}pJ80&Ewg=G!F{%0Rq%^! zpHuKQ+f%Hm7P+1yjH`7HS>P1ie5;(ze=7ji>Y1i{jWE%Fg1*EPagGG8p1mYGOzuVk@;ycs+(VZdU1)fJttqCEx%=y13LlTus_efO!pCj_qU8?3k qjhJz=S4XvuV@K|Dyx142pG3`n4Kcw92>f`359MvPDUQyVn*Uz{F-U3v literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_putstr_fd.o b/libftx/libft/ft_putstr_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..5610b38804139c1ab3c0387ababa661db47ae2c2 GIT binary patch literal 2440 zcmbtU&1(};5TCc3-PT5v*ot2jiTHJ~n|=wRVk25zMHG}u6(r#oi!2`kFnins!}0D9fGTkYENHjRLy z3Y0u{o;(%~C=cg6>k=yT9M8*>(o(o#fw(bOX#to@Rc)slO&5}OE?Tq7m3+yLj*J?^ z#_-Ts)jb@!HHzN2u@|yVVz%m3oN^+YG13sTvz6FPsc2PV>GVvpTC<$k_-L$BDwOP8 ztdLJ-ojFf+L_!6SU50E1@;27@PbI9Q@=@50v%uyeY;bi??*qK5Er`(~p$mb-p~!vZ z$QoTahYWxmLIK!?J7ereXbma4VO*@EI(#ozRw(iR5=QQPl)`zBY zQd^}z)I$0}P5q!L`eTh43HKTp4U~RQxqQNhxWC?q z`$iTv`*7kP303MwC6AQevXTJ==+l#^;EkacRmn1E8#b}&%2?`uW|gc#J|P; zDA!b@zfStekjVA-fRV9M)m$Q(N|mh|7-g%FG#qQr0V7>17A>3*&cM0j$6iF<&X&Ni zOO9n6KRq>6agymPU=#|qVj`Kz;3VhZS~>4n9YKY>EdXmKku4{SR!94HI5-OiW_6M& z)Ypro|5u*i1N?m>p7)M7&2s^8El(58KVhN|1wGCU(boc(dz=2vJe8ohdX^Wpk)y<; z?}xt*R|HPE<(i1_$YlYX;aVt}OMM_?#Qn$vu5vAu%r)?!Tm6f?{wNQi`f0A@`nMxS zlwn+cndWhK{2-7(d??C2W_u^+|x`^NBizQRM zzkq4pyWQV24vOzg_ecK@5ijr=#N?U~f;cbe3OPQJxoJG>mVdcRe)^}%`KiCuQ>_xJ k1zc@;%i~2ps-Hyoo(J$04f*cq>;(sx$w8qwnlU;5FXIN`r2qf` literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_split.c b/libftx/libft/ft_split.c index c512def..ed71fc1 100644 --- a/libftx/libft/ft_split.c +++ b/libftx/libft/ft_split.c @@ -6,13 +6,13 @@ /* By: cchauvet JaOEnCh*FXgdgor9}oa@+{}kYh_}}(NzGevC@(e`^8_)HBtk3 z9oE-%>rV=6$SQrSv89G(p<9^&Uxbr>cEcmH=H|_3S4P4kq&MLG+NZ8<|ep3stUW{JV3tN^QT3&zIt_g`p zt95Iq>xIDVZmt(DMi<`CHMVOdS}p$)du}=QvHq&uv~SV6A=Q;wdGB&k-6iY+^Mw&|}(sC&|N7)Xtz1 zT|;L#0;RiczgW?}wOA#xTo>EBXl;E(^k`;NNV=Nv`w{x?(W&h#kR-?_$ zm@5ERW(bltckcnS`N5`#nm%;!(e{UtdIM)J2|e1*7(c#^b>D8pm?ywU)q9kg%_o|g zuvr>AfY^Q+^L>m(SYVi#9i5 za}{vhb$M8DpZ%uI4G8Wu*)ddYQzJO(F-UqfkHKvogWEjbO`3Hdm+C%_ZOck=X^LeW zlm3ToPWm6RIqCnj;O>(d#{_r3hfo5@~;aiW3=Ekxob%HpL5ZxMElz?jDI%o zp@H1sF~Y_CB=t9(%}$MXcK3+6SjDitdf`kinJtc5tk!?58Yo{F9ko)Sw0%QpLA^Vn0vO;v07}hu4bwPpit~N$5tlQl=$nS#whf};K&i5kpQ{01LKRs5Q zNbxW@WYmDX+?Tn_ocbB+^E>J@qkrH&-`_>!Ih9ZnxtMXJmPVo&VID_szr@Ygxc3YS zMZNApmlqpPZIhkGs{k9=-?ntw;{aUv8Bo???4bPtU~P`L;tT+G?=JeU?}EpG6VYdpK8OFp2b}2N zvLwRk?xpY-WWNY+bl|V=f~&8d54viOX{}Pio!w|7AxPn!Hp@EXNVxb?NdAxmCqEBJ z{!Tg4a?y=g5%q^i#~-xeTHK`MRew}IFH2n92ryUpD-u`xNa3$ad{T}I|B2+EkfX|{ zD)~!tRQg|${C726<#R>DRX%E8C_gHnx1_#`tM>JZ=I1%d-_UTC|GOHl{QpD4Ri5_6 z>-N5NP$D3e=NmT5j%xU##CtUS9f_ZiI1RM!>is^Y>Hk3L4{EroE3M(Gt|<-wo%Ey5 z1C@VP;@{TvpOyFv8vZqj2jxhwpL5^#YIs%h!y2yE@w|qsK3Ec`@J|1xzoE(1$U>vm zNO5c^F)}h~O|j6Vl}&^S)^ve|k`v?O7Vbgno+T#5k$hoN8PSxa)>!R&WIM2ZW^${si=`$l zi;X9;*@>j^F7JRLWJ6c6Q2wjqH2%NzD>#rx+%{J~qJLySf3k<#uUy_5Pxm;&oM#{j zd+7&6|8zJ>Kl3RJow+)FpAKixu=r(+^l0y>GxC7MDYl*yi5jHSveZ+9uGch^DmqVc9D(EHK{w%GHlX|87cbp*Rs(uB(h{;a<>yrC#SSk`rXOOa2>rejm zoXF(5jDJZ>OxOJuba#qBFXO8?#QO2*@h<=~Pi;+LIFF}BSERjqFC=?guD^wamZI>H QreZ-4$b@O2dx;+Zza5A#lK=n! literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strchr.o b/libftx/libft/ft_strchr.o new file mode 100644 index 0000000000000000000000000000000000000000..72360f4857136b0a601ea2f82b56b545e120eb58 GIT binary patch literal 2336 zcmbtV&2JM|5TCc}xA}154N04ZQXxw%MJ>uYU#O+EAP5Ym1%wJ|FNLsn)*r%N2Yc_0N6 zPZ&ag5&?&yYbg}qvh42X!|goS$Xv*-KF_ZHzPZ|bmA#YMw4cD8Gq3C?8;92In-20A zys-uLtzojCWwt2%)*zYG(80<954EY&5n|Z(V#Uc8Pt7F=-}7KH8JmB}Od( z<1;W5hvV@$fN8_2F@TtZv{7q*!c2S<|2DpV_o=ZXm|IFP7$TPSc}Rw9ST#oVp+9`f zp>VG+KO0XV98+4niSVYy|ausqW+<g=VT3A)#)-(ZtAYWk^NRl_8~TymVId%vx*zicqGRzNdrM)eQ#J;p_8oV`WK=xc+>9X zG&>(=hsy+W2S$JiIDtLH1RO_AzCe34l0WPfVk*NR?xR)IAQHYkZeb2wP!vAdF=3oF z;gPEeA4hP?bBOJ|tf^PqO~?HK##R0$w!dPn^D`R1%=UQ=Z?NrZc$4j4G+fz9#_5dF zb51d?p9h>JFV`$Cy1884Yk?DZD*-t9TD9uo)Uy-sQFr#hse2WdJ!QX81IMogo^$f- z!ek?G^H;#BR9e+VcWDVPXz_paO4;`q@Jfq?x?AXb`66PWk3}qvlfKBWlB%V)dNl`iK4MyR*52`!zax#lPl&>nf17 z&YeX(dLI;hnVXX2fCTgKCn%H&)-?A-QS-wvR5|W91+Z52mHrU%UhyxOK>u-3QE^Hi zN2l6HdE?RHjyQDgN+*6a( G_5T9^Z_~yA literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strdup.o b/libftx/libft/ft_strdup.o new file mode 100644 index 0000000000000000000000000000000000000000..24ec0e78c890a64f35486391c338beff6b5eaf52 GIT binary patch literal 2816 zcmb_dPiP!v6n`_b-(-_bb~j0>tyNk4R}W@3i4nB6H7e1`wu&ebJ(ReAW;ctoGjV4o zq?KswS~V>~0zC+d*ptV4tEW;>4C2A7$9NF7piplCh4|jg`?8a9JqSLS@4feXf4=wq zdEdM@clLQzQ9zOcr=h1w6!}0;o(;uW$fM_ix$&#n`K@4XtlcrMtljC7&D_{FJKM@l zO2oii*X*oyA$Mtn?Avp@;-Nzw3A6?Pc zQBD&uxQPRiYJ|3dG%QpC#}5isyX-UyD^}ZUx=vwg+L$yZCmstzRxflZCPHiT3sp!E0$lJnJ#*+?K+L3-K^C8)rj@N03F-lfgAYH1ad3{ zj@N8BR;|!gVVI@FPMgcmqd8QU1)15W_IK>q;^3+EjhfwpUscQ`4awZc;JYoMO|d+Cj~N-s*5u zkUYOuv+BlD)G~uAVMJO^5%&(=6ythH6fTN%N$6jQA^nWd_1A@_H$>_OG1w6qG^-^s ztbZx8C=Qo|c2W$K#8643^ix8;aSj7YVh|CGRZ&#*GwKl59!=9{{0y-a{IS=^1RCrY zc)+ajWjz3*qQ#p&X4K%H7kUfr`IwIs4HU*=^M+@G*gSsy{6{&E+6Rvf{=x<)x<7_v z3-9A36Aj_F-%BXV3JH%|5e1~Nh=u-yPq2PCh6|R7-5tZp|4G*GV@@X#-_=L|1wX;K ztf$7hnZP~P!RVt?V=k6!HGHue2LkP;V=-VYE!NxRmPL80W!rYEy~(g!4V>LCSCF4?5&xg) zE6fwWcQWm>d@*lGfI017oaj9xOx|N@n`Pme1ehm#hJIyqFO#&%;3ON!kIs{Nis(qh z!nu<*k?9w<)1M?xN#9dwOk(7}z~HCx;6A=jAl9$`TMWL;d8mHs%Vhlza89{SR73im zTi;h@$d8Hr}ryPGEVYW(J1A(-}QL�*K_kD~bHr2E$l(Eh|pu3uso zQRugSdA?BcoN524*JZrKR}f3qgb;Lj{+~#RQPTHqwDp_+kv{X&o1C1VexusiJr~(J je)}}b@p50Nexl_3*AbIGp#u-!a8v%wI>k}SJ_rFH)^ld=-OgTDMDW1OIp=r2?mc_X zB=4_Yd{JWzBr!M-4>XAaw2TMxN+hm85k1%K!LN4zw~{@$abOR^`*#1v0Te&r=yLA@ zzU-e?hvaVWtRC1quMD@J%|P+y=@_|B$lw=yCp@tAa5%b)UPHUT&+NhK@ZQg((a7%q zSi1ZJn`Ng9N4Q>?dH7^umd)W=v?8X^O|;AzE64T1+5EZunG+XI0Hio*0(kid0AHR^ zjUo`5ehl=&`FuVPkU7fEU|5z%hTJh^aXKvU6+S6^&?{=np-5I=4g#7kQPS9Jq_JX3 z+ue+%tH@Bh7He-KKiy0`uK1ryRh4 zJ7au7ct~)zbqUz!3_E!!owrKn(S@vbd!sYIxD?4z=d8G6mh08pVIA{Mb_(PDpk8+xW-DHftcFlTdXe!= z?hkGluXEjK^3)qV+vj;>jcaQNe9bwEnFi0Hw#HM2#kKD_yQ~>_FqvZ-zlmT9ejiP< z=`b!oVb)H!XXON`gcprkL(lm zFN=?im$-|VdM1S6uBd;9lmw~1b+k>Zzc-~meU;Vv^bdu8anwb&jnA0m{7Zn&Po&nr WjhNay^4k_mwMPmP#nFza_5T80(FPa* literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strjoin.o b/libftx/libft/ft_strjoin.o new file mode 100644 index 0000000000000000000000000000000000000000..b012b59cfa4837e34925f58f7396925550cdb363 GIT binary patch literal 3432 zcmbtWO>7%Q6n^XVZtVQn&QJenMI!;_fU<7VP*n|TU65hp7K9KjRV6U~S^pG!U3u3b zErb>sP(xH`L8<@&H#mTVDkP}jfKpLNTMqbw6u8h!A(cQ1w;+(pd$TjiX6hm#M%sDv zeeZj3#xpx_eLT7E!GNNGXbS9t6(m@IQg~&YV8aB&P`TfnzGgOmOPJGBi{^A=!E8<~ zLiD9Bl;CgyqA&N*a4xw-LDzpIFf+BdK**dF*181YBHhX~!sBWzUwoKIv{?40?B}1>9%j3f>87WLH-g4mATK`t-zl&v*BR@&4T#0CWuk zoEq;3=onoELs3iy5Z=NJT*v%Dd;mi10K3^(?$)9&pl;`MprY>KL*)Vs)bu0H1Lz>OE9#C5QHvc$JU`M zp&xJ@CPKZ29krmrd>tX!pKaJ~V=!0A*u}vKtL~I*_Tcb{vDMf*w5`FM!!L{=8a3{P zf}3{S`r%sHHgXWR3r@ULt6EMxmn&r&6P6nv9f>=&O3g0DE9Gp#o%9S4Gg!7=NT(gA ze9TI_AnZy?z$A5WhQS$uTEm4h9EOTzr;%at4cjRfZ7a_b@hr?g0{`t-cv~>w8BmTr z2Fhei+1T9?I*kXl33+;`(ZRuHztRQb|aoGyAJ%j#5u|pxP9?TWuiJXJVJXIXXg|5&PB`s z;2u3$TEBGOf*ZTP7N`~BRKA!UI4f~dy_NGK z|0Ks_5^r;Szr;Me?roq;8?_oc~5iRk@RnJ{G!C4<@j}pe~07uB>r8FKbH9S zIsQW8zvB3c#Lsa2v&5h0_!o))fa5`KY482}f06U@zF{dd@>aG{OlPv$x-|ht-Kt~^ z*P3*}$knP<3+pvkVA1DpFQRN0YQ8eVhggikuxqYmJoL!^A;-<+o&kf3SUQu>~X1S+* z^Edi#5GU@L@Fn;_+<(E#HGuxT`0t<4C3r&iO-GV+bdG#ku$~KPZh1}QI>1Sn>x7ZD z+t49%q`kt)-$fv|verPp-TF`R^)K-NT0hkddHr`FM-ovNaLC$u{?dLU2yVsv!czTd z7ympzR9c_Ei8x^&N2eJ3bsx2RDcWdHdfXBJ9iu$wc)Y0N#8DH!-$MXR9JJfN6I>|H znf8xrmxveqv&gku{{o-?xa5=|)Ne8WTW#j2Z-zX79yxX2jT)L0_$;?`TqyR1)=y2I Z{}bedh6#9AqL&5Ryk}S(y;Ac0{{Y`TyXgP` literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlcat.o b/libftx/libft/ft_strlcat.o new file mode 100644 index 0000000000000000000000000000000000000000..8cfa0a8524a0ee44ae41ce790f03949dea77fc04 GIT binary patch literal 2912 zcmb_cOK2oz5U%dd-!o=5GkNGfMdz^5!;8_{t)vx}fG5(JsdqvwG$J#o4x zWEbOVg1SRM3@!>j&=myn=y7j84twyBW57!;LIlBhTTqBq|6|f=Cx~D%^HzZ<9`UbVDGCMrM<|uNynJt`Z&oNdp2Upp^ zRnFzM#`~r`0 zJ34%VfUZDtw3o=!Qm^A^=$lKzdrx>Z;e9N;Md1;1K;K;8-UxZX-lY*mxA2s>wRr3U zRNOYT*ym`+34mO&;{}~`sZsE%>1DU=*IQnCYTBB#CMO>2@Zi)N)9B4uk3%KM`$4-= zDg;&uY_HM;3*dgCK)e1TXe-0onPai|`}iFmM4bL4blvcD za`+wnnITjE5E%eJAv6FltiHG`IQH+2YFVx>ss+ z$}WVCj8}!?2j#L`v1+21?(2PVBc-v#VEhs@%?0*=S!D?`%Zvqf!rWv-XeJgga)qVP z#GfLZUSLL+4I(FPuCehfo655DSvHG|EE~JS^rx6+UeO0}^R#$B`3%7U_+!6c%s8mX zLt#VK^C1u&1455MC}_YxYu>{6XlQ=^4G^P^4u^7;nL7eMD+$zL_}SpEeIe(Mz+X55 zzY)Ue6lxycD(Da5-;f+q>O_Q#?iN9M+(;BYAzYw$jD&E;Eis&yw&Guq{zFpJee|jX z?Q=)qPfA?PgSE%yas=;6pYD@H@%bx&KCjXc{t=N-UK6Uv|5W;KMesH0-;Ch={X*o6+#_FNOM%{BI;MVe$cA@F2 zdBhWG;Zi}N2$p}XN&5egZ*Y=uJ*qjslm&Z70aDZbh2>#%2vhZ~Vsp|^{iyJ0Pg326 z>t6A`mf)fUQmE;BQg4!+6pHsxbWareS;kvZD;4F=V<3tVH!H!fRHD>T?z4#Z+kad( zXH6#1{t1fipZbj`llTwI@BgyC+Q&F1^~=8{i=W=du&6wx^B7cinD>3Sc|w6Gm--#C zr6~Qb1fB@xlBv$GVCvg`_qQYqN_}U#KYC+SzQWfKi|z@bUQusx=U|9(S25IY{hNK( vr?)z~KGm0Tb)VFm`0vRVGGE;b?VlvN{7%g5T4!jTf1>;J3oYk^5X-g2b8rFf&^_zgOKUQv>Z@_Dx@m-XZ<7Wb?~l3 zS`q%tPuvRB@>5ly3OFFR!HpXVq5{N)0~c=1rBW(!2)7`R!pz(ElFe&+K#cU>%zQKR z=KajPS92$x)HMwxX)p~tnnVFM%^i7$i!+cy&pEqy!|wi(wR_8(cCWKx_vY5^pK@#D zVqZA9W_Q2WCRXhuC)ZbU*OT2lIGo!cQ}Vk=th))xk5ekkl-CbUX}}#IxuYf`jJFsF64vKN3GQHam1|48UNZ3utx-ATqT}Wg{><6a)a6_k)p` zj>qEw(Inyku?IMV&oOa?vO|ntCGGB3`T`+c!lY==lBOkJ#@Wy>Ed|@s|P?iUTsHJFZu+x=uM=cYW~c=bU*T%AOCnOdGs*iDOXzkGrGe4AX?9oqGnf zrIdD{KN`D;w|_TcG>GVu;qgT3ZT*S;rv4dv0Q`zj1fIiL)3m=6`-#z`;m|T2uT2NZ zG#ZP|@rg+;^9#!a7nP~IrADXhKKjptIy^od%{JFK4gRxVOyUd2D=3O8v21Hee>jvCf@wBVK(E9u> z5X<98@u=O?Cqkt@qAdSlvlGd0s1Gqi_z;sB2@iTNFb)O`Bt9N z`n`hFIksOD8?3Oy}2oi%*ks=(EIh=y7Ktg=(=RObuDV%u2+tL-!jmhUY2V3k_Urh~mN zJn&Ny<{+Z(R$6i)#|6u6`Hpq`>A7*wFO*&YiyCphP%h(dRoxZXsJo5;oZ5V)U1&OT zo#4~5FqK~@g5{lU692zMA8EM$fHe_7 z`)4@R{ac8UOBP3%{t|Il!yw8szvKr6rp8|u#ZK#oNybTj3XM_@`&|n+OUR)5Qa>WL zpt}DofJZ{HB+BzkxQoJG_ctmEO1?AQAN>(BUg9qyrtS%$?V|pTD?5|w+eXt~`LlcE xr&?3XaHZLpxzzXeiu!-N(vIi(UNNZe*su`Gk^d9 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strlen.o b/libftx/libft/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..c6f1dbc309386a5e73d22d1a2c143a06094f1d8b GIT binary patch literal 2464 zcmbtV&u<%55T3W|-PmzsI|-DQBIHA9i$r#lG)SdX#RvkMws5GLsvse2Z9o4I>viQ_ zN1;+mN(d;bgjyt!5E8xeFK|QRQ1w6P1&IridkeQnJ-9Qw@6|6)=71P!_nY}<=FNNK zdFwA%uY6!I22vPYgs~-AfWNGh zLo&R(tNY&FkA~Y9vQYebHf4t1&hO0ITOB_6b2J)Z$PkSK#DmZNV6*JC!n|b`N-v!# z%(6Kfz$jvx>7ZxMt{gK9=ksspPaj{Kf9E(r#sWi7Yx4ls$|2J}3TyLe0>IQsFbfy+ z`8+_jh&({c&2;)Jy9{6FayutfXrx%u&mYqdsapCMBaW36nMr*}+ z6Pj@~iu(Z%ojSN-GjiL#E|1)Lz3mS+cxbQ%

ngC#5<78ZDtix``U-ONkWlO3-9qUb zb%JdClYg&9Dg-vS@z4x&CCzzu?p?!wY?q9=WF)Bd=fupSH=9L5L4 zzMw>Lqrsa_J00zuK^%!$WL9>1*Rt&!mT9-F+@l>UZ(p*EOIFT)U>Uzz)1O)f63o7A z*tnN8ZNmF20&8s{*N0>Z#xO7oPS{BI`C%6Fh;E|5n(^O;h5( z6MR#P-xhXP<3nNJ*7!YPmj%+^)&0x$^>cyK;I%=k>ep(0z5!0mH)C+>y>6G|T@p^b zqTuv-;0wDGHhbd{1t;vq-1+e1^@S+*>z{)|^Ii2D4ZQoULy18raRLKa>a@mhF>HhP`@Gc$tF(DqYSSIMb4|_OHvU?x%!&q`bqd> zffDps2OT;`u``0)m5BoN*w>L)?}-e5EShpoBoss(e!>ztCXns}g)9nN!uKNY2T2H& z^(DTD{G|NTVmRr1s>nQv@1s-dYTUXy+=@ewrN1ZSZtCGT1aVHuB~_kZ()1@dsedIg zKeA8MznqdU`4)2eo{)ljqW%Li6wzaA=$lmk%!K;%b(Q;<^{*jkUK#Zew()r`a{eVj b`zO)s|A?I4JBnKr^YbeiD3nKcM6dr0BMj`) literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strmapi.o b/libftx/libft/ft_strmapi.o new file mode 100644 index 0000000000000000000000000000000000000000..d9a4f3bd79e881bf28fe8a4607e7703475db5140 GIT binary patch literal 3000 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 sBBop#Qki{#RX50|SO!vFvP literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_strtrim.o b/libftx/libft/ft_strtrim.o new file mode 100644 index 0000000000000000000000000000000000000000..a62898ca0a90eb3867e9a19a8b86a2c12a977023 GIT binary patch literal 3736 zcmbVOYiJx*6uvXFcb~~_veCXDi%(E9yNNBdHPlpHJ6&6qN;DK}x{uk-;_htRor$s9 zTAM~1x1be&i9dWG_(w#9TB+1WOQYbUKLjI!1XM`GLi(!~P1g5hjGSQCHsbmA4=6*tU(Bh@%Xj6H5)nGn0*WI@dgCzM7w%&MjQW90>_!T9~TxDwECfWJJk3rqSKfgB1}6X z>~lq!h6oF2+l+u=CogFAfobi|0Z8z*B$js(R2OlXz#H25`NaNnc{Q@}7%rAXHa?xIS#W98a#rxf)PB1b^0sGx~@`&TL9ZJ~QYx3AvSb?<6IJe0^B+SNq} z-LypXUhhPRFGA4Ne+yB<+e0CEqk-EP5?ley4i5=0!Q+7kEZKL1+qj;d1)Z!2yb~np zag?MrU%}{+Pmb6UejgwWFG^HCd4Nglegg*5Ad}W}=}{(az$gT2VAB)8c>KusFo%fG zqehDSVoP?m2xcR`3o!U`=9L(u9v_+o5D(6w0!UVw&gUls8Ot!OShkcl3b9eWS}RtJ zSWmB-P!rvETTIz=xEG{N>SmHRhiYcktQN~^mc)&GEk0Z+>$P|`JDj#gbu+%HH(slh zDn=n*DrWNLn9Ur11T3p47i&XBgA@&u)Otuw2WFoVL(j#Sx_D3@LUm;X zhAPRj5a{vW*3R~Q0~?`q2louWudT_#olyBs;<#FU$A0dzCf`Oqi~Z zX$isC(bUU(QB5|3kB8vdlO*YCxE&dWfk%p4wJO#jUMh{2yL)=soYgyS*EwD^vL!30 z6Gxq(zCblIm(%m=u-(G~GGa)|8i@viS7@hqkgm#87!_}U`oE<KzuDe8wDgER;ZGQbjWqU8KXX)yRRLww%XX*+1zQZ&#(g zR$(Ze$yD`GqE_`%S~c}Clc?EBxvWF0$NR&|U>E1MIJGa8oHfE->?lPeUs=2-Y@3p9 zI9eo8jf$zOJ0BkChPxyCG*Pj^4yAKBxWo!ef|ZJf&H;URC|^yNbw?oRwJKg~=?w7a z%8XYlxwM%^xJT^~yZrzBb8vOmS44UN4=2#CHfxSpUnk+cg_!dUqP`yoApAq(BzG^u z|5DDrA#A64zylmWKl~Q3mmuLkH>B_2!4$nHIOtQJ*Oi{xqM5*vi@C#{oaUf7e?sTB z-MNha4qPnIWt%lexBq>hX|?|?yh$~<1MVM7;@&^@H#AAW^WB+UA ze~J66|Kk6QBc{`IZL3YSuzlagMtHfJA!6KL+#^CE_AlhOVbUs9f`7lFE?7UjSA@U# ze%=5~)B>hW8skB?x|A-FV83dW{{YV~@?d_vo!$9g0!-PxPyu!Xo+gcPe-Rt~k=*&u V1Lm$B+MVW?WsEx@!`$xt{{Xw()Pw*4 literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_substr.o b/libftx/libft/ft_substr.o new file mode 100644 index 0000000000000000000000000000000000000000..15c0a87d6dfc2111b1f4d5a51027f0c5ced8c383 GIT binary patch literal 3304 zcmbtWU1%It6h1SvGdoF|-OZ0}+KMdrhe&4AG}dZsjmYX`+lVNUQjm3jCY#0C*|;+s z(n4A>T3uJgiVwc{;2)x>2>K+bgsL?@Met!C^Pt#5kcckjNSOfUfvk98%vvw`i9+@S+|#$ zHX;68KeFsg=`A8(`HGC@(&lBd>_)oPOm8$+>}I-U-}XJ(7}SFJ%Txt}T8u{CBkA?{ zd4@LA>x|f3Lh>cWUilS7wl$1ilS>|_RL%67-JEWH7cptvva#m!%C_B@#vEG^f8~ad zwAq~Au(j#di^HY}d12VRvbw#!&Fn^c3-y-0{LR?o7nK3!=Gc&~#S(k=#|D%^13-;q z9&I;F4Qa8v`;PPhL~a5tcC4=thq{FkgT~}Y=(~0A)X=?q0Sp~f4owXKL?^B?%{V3l z=(&X{_zCkz@BuK{?(AY?`Sk|^s&)v%zAhfRJR}^UEdADJIKa0Dk$5lMQzA0cNOy4}OrV z1#lJBbv#B7vruq0>+^V_=Ytyjw=V%0=1ZZRc?6WjgtC8E)O;1U_IkwWA))Pp`(lan z>izwO`WrF;ipYt;=jc!r<uPnkst*w_bFB zF}aaiJbWm7XkyeYd-cW9l2=dV%YlClihtS%T&`l#nYHGqc<0{Wbb{0Kj*lL7XQ&|@ zQK1K+P_($Bo4w|^ZWt$Z%_!+Zt9p--(W58zUgNkPMYPZOn0Za~#+LOV^x|JHS|;iQ zvaUnDFQc322*X4&brmBs`mT)LkF#;>mI(jY2B%+}za*Lw;*i7xCL5gY8N%gzj9 z7ygAm#&ggG#Kr}GVT&U<+ksQN6*zH7dhwwh6e4CwIJ?Z;G03&RN4dSb18?^u#P)UI zl;ngule?ISGG-+oHax`xeKa zmH6**`!xv{-SHg>f1cZP(@8}B*FzJ&=33xia{C7fr&dn#W2oABKIC?iYg*&Zb-u`P zdEE>XtfG^zm$JEhzUC}|Rdd{&6*!9lScPh(;$VwxHv_@Np3RA2Y}uQwGFDKd25WiM zz_A{DXl4{UaN$X?sDWj3#UlP5l&%WICgpIznaj@Bauo+EIoGWgc8cP!gM|fyTpso5 z3hDnZ?_!G1^Di=v(`7*s`xIK?xfNs5!}!oziu*(u$s~L8UeCv*&PK<52LT!{F8h^)_DNUpFT;R zKlKr!i0{N9lXLvgt_px_QD124Gu`5CzNywV;vePl5)Br*9f~eoy3bgDo=>-(W|7C! z`gDr;et|uMgKq057E0_htsnIS5ifA+Q(`S}*p^Ru{W-}gneY@wbgMtY3yC^ZpMD$U s`US+a6Wdi(Pvg^;F-{cgLh&SW{f`h697f=;5q|z#+@?4>QgZ#j0Y&MWn*aa+ literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_tolower.o b/libftx/libft/ft_tolower.o new file mode 100644 index 0000000000000000000000000000000000000000..be35a39c189f344501f72ba2719265b5fe0d4095 GIT binary patch literal 2184 zcmbtU%}*0i5TD)cB2Z`x_`!#f9uOs_TZ)({Bv@i9lAs4nJs3@C%Wm7)?vi#}K}AVO zjEDz3n0PVq=wDzwk`NR42R!S+yCxh=Xi{g|_u9u&V~mr$nK!@rdOL64K8wsTUs$H3Yj`!o7-T!aeCe z*Eid9wGTj1L1xfw4}fb36wj2~?Zz5+aMjM&T0MIQ>PIPzkj!CHB#HycJC9tEUq5MR zwQQ;jqKTqu7yZd>+)VjPdcKgcOn+!h8`VYw7mHP6=;;`0x3Y9>I9}!WHIL>&TJ}i; z9miU?uoD;b8bdRcfm@Q1MD? zdwWqGY%$c~Ej3^$))#eH=`z%QL+vnBS(9Z*`FOao{%7Z#(cMru&(snqu7$!=2{=ZBb7YQ?Ym=k=IM0+4`~#TGGnp zbR1b`EZBKrW)`%fRYNF1azBCt3jGRBS2>KO^g|rp#3=6l=KZ f#OI#_6i?)={}wT4@5pa~fgeagqBwdZ&icOrbUDPK literal 0 HcmV?d00001 diff --git a/libftx/libft/ft_toupper.o b/libftx/libft/ft_toupper.o new file mode 100644 index 0000000000000000000000000000000000000000..66ad694ca087c2cb53c82cb61fded7639c23a02c GIT binary patch literal 2184 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

mTCJumAa=kwxbP1dV%4I_-CqAikEb{@I|%$-hHx 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 w`MjJ* # include +void *ft_cancel(char **tab, size_t len); int ft_atoi(const char *nptr); void ft_bzero(void *s, size_t n); void *ft_calloc(size_t nmemb, size_t size); diff --git a/libftx/libftx.a b/libftx/libftx.a new file mode 100644 index 0000000000000000000000000000000000000000..e977f77ea20a61c07cb1ae64c7d7d7261edfba1f GIT binary patch literal 4724 zcmb7HEs*3y7;SODF&uDE2n1rNLQ+i9KS^in3J?ec0)aqKHJh2u%mgx-RFXLs3V}c% z5C{YUfj}UT2m}IwKp+qZ1OkCTA`l1!uREPiXY2Mlb5(Ed>rTIX|6gaHz0>aU^2OO= zKK>Ut%T9KG=kr8zbK-nP2ziN+8(#vy6Y{{*z#G7)z|Vv{coTR9_z?IW_?M7}I8XuK z0Dlp3^Eu!g_yYKikcXcFUI#t_ej;Rc19%zu0Qe60hmc1Cpa8xG{v_nq9C!=({2us~ zkVkI=uK^zeKN9j70qy{oz_-BPggpK{umipV{vhP`Gr*g`XTUFnJaG$n75E7F0r-!Q zC*`JH=1p2uyOe10BH!k1C#FSt+#9i3=XobqbzbTNOiw)fn5}j7 zo{{#4yO|Od!|ZA?)tvTltg5V52iik%c()UAV7=3ukQ}jG@2g%x_Z-^I9!{2kdYrZg zZSOiQio@C{zc^}Yb6lBI`0wpQu6=;m*12}KsR|Q<_MoGJXZy6$?}M1PS*_*j*sgbJ zz1&==_hW^J!y+p$ieXi*`bXQW%`V$ozZi0nmpV2O>#RN2+88XFHf?qU!m`BiWq<5K zhd-^iN@cg$6sfZ+maDYUZ|t5{T|Bylaxz^F)Z^9D$6|PRIfzT0A-#cO>6GV(Hanje%4gLO8?~qNy3oIBIa>s0BJM{GUVq(O zigK}H>R#$O4$%BFE=qo zGVf|bFm99N<;s!2RMOB=tZ-edlF;>+AxYEqhW$mWZDufedVa5PMHE|8t#F;qjJfs9 zWN<=VjdR2UDQpLO^-6AzXn#42PvFKQn|X9fUCB{Ra+J#C9I>FEeA;F~or&f3HxX`a z2qA`{RyEF>EyrI#y5b219)^d4j^aOXzEqi}M5*|_&383vQY51zY8yyMI*gZo-o__s0Wj9 zxEK6-xpe1q!jco_vzy;goP|T{d-aOgnUgF!9=25){7I^wGgPZW7r`)X#PL2wX-f?+2Eb8#>=+ipx=Hrm%cmT=b(jvsm^O z?X5}5#(H^hLS04Dn1*=;n>l9vWPhdeJ*l`Nu>;HJFLh_E;^M=-Z$clJxp%ifJ@+oy zx!MK2dr$XkzxgE}<`uXs=;v4eH^P0m-01~yh3M}IKbJA57r>SFJHXH7fipLhzbx#B kkayPM529h_C~g$=PWbC8aqfM^m5B|OFGr|JbL4#XKdv-;V*mgE literal 0 HcmV?d00001 diff --git a/libftx/libftx.h b/libftx/libftx.h index 79c7dca..d3f01a4 100644 --- a/libftx/libftx.h +++ b/libftx/libftx.h @@ -6,7 +6,7 @@ /* By: cchauvet d<24uT2v_&m&&Z|UB`;O8`-<5 zTfQQJDn+OgJ#dCUfFlQl;DA6}dTCGXA5bKua-cV)MhY|QnfT>prK%n2y_xyV%$u3F z^XzN0=T0XK1B47X3Ik10fV-)IJQImCFovGic60X4>hrmW z;{B3@x$Dnz-##st$_J(oe)8#|!^cmYJT-e7j4@+hb|PhFbMH@P$BgkbK*Bnmf64a?8LF10A>mj44s_-NbUtQdo+{D;Mt3~l9U97qq?_6vc7$cKte!LjBiLY zwqL~EO#FO#lh*5N4Pw#Rsbs{4k}zKly&%ljTDI57FFT!X)A#bFvQ@N-QwPGxSh`w9 zZQ42rZcwQ&b(&sq!Ky*QbGwBFzwLAjwc3ImE;~VCx?Je`E#GStTFt5(^a_!;I|!_V zOG{3t2Y3d!b?_kcy3K~?)boV=w`!;xcsJUy^B=wjqn9%#w+#*7!i)O=aau%lKX5#o z`!R8HH0`1Ts$bwr!d~1B!}upVN{sFsmoX@p`i$tEjmtK-8>z{W-&1?ipQlDHq!NE7 z(iq$KirMcVmW038V@zNUKH(;_$pf$nM8yPUXceOg)X`QlVRQ>fm5wWUqq{-O!Tg!SFb zsm_gWg|hUgQ_^17^_(eO*G&ujQq)@=>{j`al%UtvAZoN83-EHSRvIXoCfc{^6! zsfLY;U9EPUWw1I<%eDfi7l2js+ieHm5qorl4x9TCP0#hg^8CQD&U`sP)eY?0B3P}~ za=T*J>-h8=gJfZ=QnkCzrubIV6Tn%hxE;Ig3SeP-etH{4^N4(?L?Z76uWJ!nI z=>KH*FixFAIp#MWwqFEbPWP$OK2!)(XNv4Iv?0m7^tG*TB98`juEp;>7gc0{-V%LZ zd71K#9wA2g%eYipWMxbRQI`6J(|ZwFb&Y=T5tvoM7~fMd7==8c4ax7bja|=m3@vf} zuWFqizo>HEaRKV}E(U*gYmyygafNdnEF!?*kK zOX}ODkk{;ZNQ;;L1-^ws-2L5UQ09d0FM~_s1;2rqUK2v_5f}6oDGKSn*U%Q1|3OTC v`uEWDUqsA2w@zcSf@_0*<#@?Q^%IHS*8uLLpx+(YdJO)-jubb9OV9rnZ2{md literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintarg.o b/libftx/printf/ft_dprintarg.o new file mode 100644 index 0000000000000000000000000000000000000000..74a19a3d763dcee80be210aa6b1f50ad7aaf26b4 GIT binary patch literal 4744 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 Tdxz{MOWdI(6w0F^#rgjQT31tK literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintl_base.o b/libftx/printf/ft_dprintl_base.o new file mode 100644 index 0000000000000000000000000000000000000000..f9e989b442bb2ba82e4199cd262b5ebd94c0f889 GIT binary patch literal 2896 zcmbtVZ)hA<5TD(>-P`8cyW}D@wM7p9Afnkz(kN1En(Iv{Z=p#XWq_BHk$DJ z4?(mt;96~{gIf%OzT2r+U8kHO!hfq7?x8b4QC@!ul%-+i;NH0TK7N=(h|xnr#}6lx z!*8q4?laUY$N=~Zp%^@hzlx&#o!mzX)2J7e=)2%a2-%|s8ZT2y(Gx@Flx`UFx@J`M z*iGH^g=ZQy)D?Zd@q%s|M|J(Gt|GyF1<_f34ADb~W@h#HtR9<3N>v1Ck)fMNJ*q3l zGwL3!M{YJyUq>_se{Bv5YOq!4jWga>Vj21+_mf=@V28wFxz@Fi=B%kQ3HoX#eEK2I_pJvTEBR@o`~)qJ5? zY&(l!wVg)6@|-0PtWvAlbZ`bRqvN$X9AwnpN((Hv>Ng4KDgN&5fF zEnFacpXGWN`NID!0oHV$VWIg)nCuT3n_)wKCy7UUk^UO#zDMO91}8W`Jo>)Wt0ZHA z5_?B$qR?*~f0eaVQSM<3L^0x?VDN@aWF6&Nh!3j&TLwSj1gf9Rh!I7;Cz?Y3 zN%U!DuqPZHh#N5mvY5cub7u78z%%A+Nt`~L&y!a~>p literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintptr.o b/libftx/printf/ft_dprintptr.o new file mode 100644 index 0000000000000000000000000000000000000000..8bd32042b2ab0b43172e3097fb67ac6418c59add GIT binary patch literal 2920 zcmbW3TW=dh6vxl*dN&t0&J96IE3m{ZT(Zus5NIf_DuW9Vgi1jmDAw9uJErzJ^6o}y zt5Qp$fMtXd9t$6UZ-B%DMFOcj^27trsT3q0!W$Bi!a2KVlJR!)07u$6bAIzbbMwq3 zH*-s`s)_=_6gUS*k)QyReMj|dP|d<9Dp&HId-=^j)14cC=R5vhe)Gm24BvVf6fHJB)ks8;v)W}1pQlrY40iX_JU)tlKrOqXj zNq~fjqA?>op`~6*o=rY=^5Xa_CjoRFR7Mxa0gU;c5I)CF5;QC54|eKAP>&XE1gb`~ zuRl~{wT++h4i=yce}bj1Zg2ENYhm;ZIz!!F4WiL!!>AlYW0VI$$9e)*ioWCd=~CTt zs_AvR<<^=`dS=#~Hm9fN{Gf5><5`U6%`;H(3gxv{&GFW}mRW*~Q*kq^&4%q}N~KlH zU$?!?{A|W;)|*Z>Q?C^(-bNV z71{%#1LfK!P&P)CQz!cRw{V+JBd3q7O~v`t$fxRsAw#{63V@r467VFJilY3J8X`x( z4t`3{Tyf!n4bagGOdD48!NFbKFy7TCjH;eA7Ike$KW%L4gU0K6!gxa;_H`BMgmDk? zqTYve2OFyaRg9O_0US^C7wf-8nt;C!;u(>iK%e8y*>orFJd$mw$Sq+;K)_f0#EmX=!+2LzwBKE8znC{g^;9JeI`b_}#bdF@BcafNU7O6c;1zI~OkBaCWroVjheGtkl!z~7s zN53=ODYA*s!Cmw;{w&AB{m2z@F9a9!m%XS94f)?Wcu$5{k7~0qj8f)U_yq-$Mf1;M zTip78Ww^`_zN-P(_cF=e=+_C$h4({Cb~9$hqlc5Vqa+fWYO{OAQPHEz{N6O>OGDrkN#DT Gj{h&2@7^_OF28DRtjeJl`(SpHG=j9DO_9@Us0ujFNdPgw$2Fe;BYSdqco-l(3Pi{pL=`WAi{8L1g%{#cVfIJ1dJ7TI4T+Mcy+NKf zdJ*p_ee=CN-fHY!MJ4pjdgP6N5_?YMO;8@-lOZFO?xIS6C;?N;Tt}Nkw<1b91Iy*m z3&LEbS@LSRHMiq8+FovU&YH1irjLbDaQ4z1dh^!vPz{RCYNz1^e$WX@Wvc?VSM}|B zyXE?JrBW}2Yi?lA&)I&v+4gF7vr(=F>voh7-6 zlOvAbxZoB8Xuy9vEIsD|x}j(nUI%S`Ogp?ko%tBw$K#06MM71F)7i0W`imo`zKRTh zZxKpC5$~F&{goXdMXwPr%?|wzJ(=BXuC=CT=OR0*pB>lDZg`bu=(wOhG1d#k4;;s> zTJ^YL_UVL?7^9j<4ef|bDE4iL5pzi#SQ7e*c*LxWDRV(Qu_UIJL}p1GSrKAEjGHxK zAe=Ej7y371=xw2!3%ZFXjh7pE{}j;_{MjEAG+_5Ad%^~P$9q6@3`jJ0B51%rzxA6K zpGd49)f}-8@ES|xN|V0gLHKDVP-o$5f(O{&ByT2gI+etuuN-}v4!doJwmc!>ahIZj zG7+nYPxv(Z2NSqpo77_oocO2Mf08x5i)2-w`xpE;Xfwtto&$y%T zd+c`<{3iRC6#QNGKT_~(?0=@^GwhZ0wNj((5H{*b(N24@%`9=%`cNs>dciuP8|M4_)a-eN74 z$~}ew6(jCb3~tFp)+*ORe9-x~7`(y>bbjh<_54pGMilv+Xhw36^S+V*Yq`JFG#>`# zuW>Wb`H~{@q^5Zy?IiC;vY8SAmFvg(t15kqffo|FWXk84u!qK=`W@vDO1@{RAI&0} zFYz*B>X{INUwQxU$w`RHJ%_PD`!5dIpJuwc|7(aDXZvkbSMb`E70#D+q4Sfd`~QfT U literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintul.o b/libftx/printf/ft_dprintul.o new file mode 100644 index 0000000000000000000000000000000000000000..6c478c4c9446a567cec5a1096141ab1beb890523 GIT binary patch literal 2520 zcmbVN&2JM|5TEthP8t)(Nh%0U)f%-31j;&g5|>Ajix&CGi;47_T)t+F2Xo^u9P>Qm+$?b+x+oOd9$~@g>0+0UH((NUyx9~ z_jm65C$q)U-2B3+(`U|tF>V~qPNvLk?$C60+?YrMBrF6c(u-4O_KVE9%(25ulNSyH zm?=mwv@{8j{2a{e`AjB*r>@~j((y2?GCrW>=yno;gn*$jS& zQ_qv_-EyLu;6t@z{kOjZVjm#LABH8iPZx!Tnc+lJIJ0(1KrU z??di0o7@KbKvYc7npQKKKot#=38Mqx1wvjb9SznFdYAg}UGfp|`d6pQD<~a;j-KqAP6}wvPI(@LZPTRHu zXCnZs=5;y_jtzVGL6^;8M9Xb>dMktFdVynIy0S9k2X<`@taiKKso3>8&VEz(tW<5^ z*>_gE!_x|j64AuKjPWq3V>>mM` z(>v-!zY~P%y+rm!+K{AALTzvs#?YYmv-n-*q-GhQ8KUnh6Djla2r;@}zB7u7)|h9Q z3zPhHF0%L#@3V4I2T_jt&c$F9@)vDLUdVR$XuO4%xccvM{do?c`st0M^?!yKxyU=A zsOSX8JrIDo+%KHwJ}&+-J5YW)Nu2O+(I~R+_c9KQ@x32n>-x;nIolk6h7^sYeu1`7 zh#wz literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintul_base.o b/libftx/printf/ft_dprintul_base.o new file mode 100644 index 0000000000000000000000000000000000000000..a5a349da33270e0a71f0d732c26139cd061dc786 GIT binary patch literal 4624 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 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_dprintx.o b/libftx/printf/ft_dprintx.o new file mode 100644 index 0000000000000000000000000000000000000000..dd6d9570f4287ed8a55f20ec5c8d1da0ffff88e6 GIT binary patch literal 2512 zcmbVN&2JM|5TEth4viDzBvlEdB1QuBfU^D|6arNmgwmLTKtf7YRYLCC-gT_lyVTx| zoTyNwNJS|J;0FIdk5x}a>aFUB%3lC~07x9Ta6=+enAx3)Up9MbM|y8&esAW@$Ii2V zSiJH@LeoGR=kAt3_&tx)q_bRR=1%U%W-Xnn=-A*Eq5Req@E7G)s-{P(( z9)7<^>xWvCSa5eL8L*)wEZ2O;^Yit#=`{0eR=3x3oqVZm6piA{DL*(Y-7cdxYn%q# zt2SQHd(USY-USiM5MzGC`omRFc97kX~nb()2Ct7d!sLSStxj)2}^H^2ek z>9v}U)yNa_-}1mRKBQWZw2kYa^>f3=%5U%a;O7Uw4Zbs-3P89lG}#{b;G!lPtY^8n`B$6P*?npu}t$b zgll^zB%JkthH(#Oi**@a!qqCq`CRZB)<05kxs#wH3QqT&WBn*|%5(Qyp)7So@j14a zxHjuc5!`2eIf4gI2{AK*f5$rYnMm&62vx{4rySKhON>YJ98!i6jD}V7n^m(`>so7I zbgi~&cvjy7qwaP(7QP?0=y_c}4n10q?SkRBo@FduU7qQAW_=Zmc6+T;H5(0l?9D+K zzg?}FJ!_ADyX6RAtyJx<*|7!=^dn$kM9-`tU+)CG>o!c!B)DWqZCv92Vn3soI)8G> zQy#Lv1z=8nRB0L&!qi!!^993dY#Z$6)002W?1h$aeQ=EP5|-_4m2{JUdYR)Z=LV z24Z9)eL^vyBKzGHfVspMegg40|0irf_p2m+!oS2rkyX2wabS$?{SdpUzFE5G75kqh zMIotQpr25P>)#^=WlpGn8C>Eo_-(}EQq6Nh*YI4WsO>r)#>M|NCO-XZMB{&hn0{r4 m#^esJUHX^(B_8EZBzmX;{DMNXcXTEVea?pDNB<|$`0oK+C)+^) literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_isarg.o b/libftx/printf/ft_isarg.o new file mode 100644 index 0000000000000000000000000000000000000000..241803c0eb12004dcf4705586f175e62ea29d971 GIT binary patch literal 2560 zcmbVN&2Jl35TCc}-I%zsodorRBCseG2b6V^29eUL4ML_Vsz7QLR0%;?+iS<_dNdFw)zZ`OVCmd9(9& zKd)VS*AN1j1e}8djZuI->p)&f#TA%F&$ZRl*)q8t_f*w8?3z&w*+D-$i zK`X9qgk3MLHX0jlZ_7)nON-Sw^uwTC^*i-e(ywktogirq!vHmCK+AXAFEgvxbyGH^H*d5ou7KFpZ^468J%|{>o2Nrzv!CxZiTYW27s599!&1Q{=_`x|d^PRbzot;gdr`K)-gaC$sW$0MU z0_+7ldaA9aAc~%un>$~3whp$p4i=+tPT~P-$>{4L)V`z-Dbx2pSH~S*r4Ju|79-+Z zWK>lmu~UL@^P8kER#I2^`I_i(va z>Th3{3jU6HqykKnAt(++bRBmk@V3>l+-zzPGI__eovA`KXO^a#dc&&J&8gWrEvY4E z=AHK8?6Wzv7PL!X*x8CztduIYR)Bm5-O>IPpWVNDrRy0|G01C zNf3S<^>R=;@2Klo0j0}kLjfF_9#DWLqZ?<@jC=C8dx9Ki7)0G$h3ANP&&XpA7tGH{ zn?{~MyxP{>?X=X{e@WVO9|HC3xVNZZBog807hSrYpYCHwd&S2)(!T5CA4_{mN~-Ct zJ1cpAUC@ep-YI2s`Fulff@bS28?-{bR?~4@J7dp&mfZlYp;vP(9F86Yb&=i zGnSnzJOZs+ZPv26Vi7;8QkQ$RV(OC6%UPq5tLdI1IE@+>uyc8on>CXEi(O3Meeaxa zT)y=8Oi1aU?By4jX(?IweQ7TI9Qp3afCo~t@cS;{ zfp@;y??4X6z9b^jkA6D{=SKiKqT>F0bpy zUStp7O_$s7ehZXmPsU#+!vlVPrfgJt_3xV;D((~YZvYp^Gharo*H!l=c^}Wc@cS0< zuvdL1xenE*Uqyd?`X5l%j_N30;5r7+KNA#B@YjEboWFPEcSn*R$UsmWeIx$*zW`;h Bv`qj2 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.a b/libftx/printf/ft_printf.a new file mode 100644 index 0000000000000000000000000000000000000000..e60efc64ab0996029e50342eb904bd85824d1750 GIT binary patch literal 52394 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 literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_printf.o b/libftx/printf/ft_printf.o new file mode 100644 index 0000000000000000000000000000000000000000..78812d3df6cd94cdad3d6d32b5c6cf765dce72dd GIT binary patch literal 3344 zcmbtVU1%It6h5=Ff5|30n?!4BMOOSvkj$oO#ri{tpq~XdbK<5vflW6yrH}?%iyr>w|dU-tV06 zo}WASZ%!mCToyrs43aaX;m zwURNdk-Tvw`Qtc#%a!DM7(r`RZ+%G%ueD~^Zy-V=d99herk(tX*7nF{X+U}~Iuwwj zvAcFe2c*FufKNqoFgP_VN1up18F_g7^w8ez0CE6)oSGg2@bBJY28J@jzlKW zhF`Gxv0;AtHt3`7Hp%0dPq1W2hslzZ685t1^nz>E5d6N=N0~M7wrjo2tU>Y&0Imsw zKXe=+yoenmf>O`BsFV1jy&t+7M9!nq_Y-y!^bteS>| zm9-P|rJ`vk(&>4lS~H!*?umq5DwM2TqL5EzorQ$!y%`4>4B1kpXgGjD6{s1IE9<3f z);1leT6R8XnVC5AYSSg0R<=-jO*bkzY^DJfGpE}|&2%kYuNitFZ#%kU-SfKpy_v3ec*-9jwPSKXwSDg_yLXFBGN&e-HB1 zNa#qwzG&<%-_!j;IU}J9yn~b<=CGF}=}$a|2;@emCsDO4v}%b$p;jE*Il*+cD+zZu z5_v0KsAf#qTus~s6x+$*!l?7^6WG%}l(HfPe7(MlzHNa!!>0qm;5PyPi-F$YWWX1E z%GZO%DY~1yhom2V-{>|bZ=U)s!!o}!TSzoy2ze=H%U$jjZUzi??*bPFv7n_Vth`7nbyEoh&8RQOvALI764nDwjg1b9-%JVq4@8w9- zYHtJTkNgWS;zV8CTPFKC3f|`StcO3rZFUS$7ye@7${v4ua7a$N(DpyZZ91PMBF`VL z3GZ_hJiRLkf8pUj;P%%Z{$p-`=iyhl{ey=W^Zwbxf6MJSN7|Fl zeaUj(yI&ztGiIuak4-97F>9b!%z~jh=7Ixix>PKh_=s^2+o|wjHzIFkOQ2dM$5i(} zJ3D4OM*3Ay=}zlLCWEhQj;?PlbKAq{)^L*)@|MZ7n)7k1C+?jXnBt1K$Ab6XWd#R1@1yVw^Mv&GCm}!D zKRzuGJk|Ej2`TuLlj7VEN8 z<0|6&1$_#YZl%V#qu6I!KYD{iyxo)(-dD0~u?-Z{uy|3NsYhCKoKg3)AIppM- pjS|8lwzeGQj-npTpG4TM1#lh}@7mFr#(z3%WS~$S9Vu`9e*pZi=RW`d literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_putchar_fd.o b/libftx/printf/ft_putchar_fd.o new file mode 100644 index 0000000000000000000000000000000000000000..29eb76ffeca1daf5ee46a27363697837a9da8921 GIT binary patch literal 2368 zcmb_c&1(};5TDH^X>8hbn~1hnB%;!Tbki@Pezg&)O|d8l6)z>-B%2SK?1p5MwrXpk zC@mt`Kf#OOQBUGY&_6-Ye?aiyLC-DJncer&-RE8e2i}{R-^{$3oi}fv%r4vtND^?8 zU>c4zjsm1ZF4-2-prGesX7_t$`=^rL`L(-ours^=eB&VVqP72l4*5Zj?@7vRe^!=0 zN&V7=SRy3Hl#@fTekmRX2&f3g!|4Gzb|rc>Iy^X^m>C3+Ll9uld;%bN9^}|`G#bUD zR&WJz0YvOVdu&s@|v=R?!;^2tly`d7#7K->RUmI8Gaq^za@?Yl<|~(-nD% z{W^^pEh1_Q+=wa90ylfZWpqIGHm)EH<1R_keyo=mwHcS>EfGJ@remEp%Y9NP(j7^J z0^w`nuYoAWIxar@9%4cGeduEX`RL|6W|`f)2Si1NE)lYI8UCJ)ZM4K)=i5C%YzdcQ zM|rn1Or>$4EC+`U;pp1bjl0ZbVmu?^&XhXFxWj1bmh0WdYw}dXjOf(Ou^x!^JwgKrQIGRw=9H zat*x=YD2GTs->@4pyth5O~?1ZJepR6nVpD=Q8Ym{OiNei?ktWpEiJzSYPH&~Wwk;9 zA8ZL$8x>3U1XU{r2lR5b*wAXacf7qC4!eqZEiH$9y+-{1&?`K~JwN=^T{b*#Ilwse z%}w;q3FGs~ZD}U(IperE<9%pw&nfpyvZ4kUKz?+O^p7CoIOP^=B72QCq*;e`cF}hN zEh0wF?^uM%IA@}-iUz;>r&#?-7C`mW`x5IvhZwnx;&Rhj7WdQ*qRjJiPVdw&{xx%; z`rO3hIG;fym)(9}{6HVybqA}v-x!_qjm1xq;v)Y29I{aG>)!(g@_VNK(LaR8bG(e0 zU#SW!=q}pbB>Lvj=$F6llb`;rVtzVbUN|(7ZQ<(B4vXjcsD2`@I~u?n6vW<MO==Fs0Y2iv=lzLi3T`4vZ) z!_w{#r4hO2PHESyUL2+G#1ezQApOoM1a~kN@tupK;m?C_l;Ot6tp1d~vzGXsLjL%1 zJRa|qM&{tV+?8)1cYVis0+g)sNNQ1Nsm#%nsjRYq*{NwHYX+_?=*44N>P+(KspSetV7he1o7O(v57@iY(tZs3UF07wMYI2_o~se^#3F-o5D3VBMp zjdM)BeSOL!0cXb;v+2K1BlTe3F`1n zD)X-T?7XgCMFxO}cnluJSy7a~Q}d*#@;H>K6!CO{98xD5-+5XQb9285UB4{idPBs1 z5r=${(Z3dIL1Ym)q8G%87sQdzgjNu${-KzA6;(miaT9(>RDX;>4E`KPaq>0T+k0wR zlUHU64EQ1n1-=G&@EM}P`~ma>L^20ZfNjJULiq%>MT~1r2i&`%XupPogf4d+$31K= z5^nD~xrQnbzW9WPPq84^8DEnA{UMy6NzjQ9PR}Vw|3RrK&u~?r{1^O;#ChLM>6;P! zn)HKyM4S27C0>j0Z%Lo)$9!Mn9LM-giRYxI+{5{wmU#4BaWHCj#c!0YN~LS}!RXqK zWq9_M2S&BsYT4L;l0i*4S)N2R-Fh1gx9!=+^Dk~J^*pP36%5Dex5`$nhTn(A6y0gM zwgl|Wa=mM{?5ReQ4z)RcG^UoY#|+%vvnr^swF2F3*DTK>c*R(ehx;GuQ;ZGYOMcWF z@{)befYi}OrSA-3;X6juB26g#9w*+x-k~3h$p@Yp6Ma`EwJhNbYI?8SsmCP#C2HD# zRr;*HkOuWuSUCT%W;@KI=aRf0%==T6OZO{^5&NhF2m7Ic73CU;&N_cWg6lGX&QCRt zp8phLMBzH28OSFx?mY&i=KWdI_h451L$Zk|zp!u|>vOosc9?f5+=QWpD7QC>??mY@ zNnkw`OD3P6VHb^A^()Hz%lCxphyN?~;u)_X7R?DEcwg?nMNUYf+$*>?YyZnL_NQMH v&Y$C{lL~9qU$^N-3i4;e@5Z(VDF*W~( literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_skipflag.o b/libftx/printf/ft_skipflag.o new file mode 100644 index 0000000000000000000000000000000000000000..9c940caee275df979e12f72d1c0cbc0b5407b145 GIT binary patch literal 2864 zcmb_eO=u)V6n@=3)icQ?Gm{_ItSd60s|QJU5+kU)#E6VL8&(k^5>_Pk%=C1co#~0) zJu&XGx@4jf0%Fjch2P<&sIk5LXB@*uZU*5w>uqjwLA zn zAjeOfHh#bSh>$K}GPKvo(u!|lYv?d1s zXh!x*r|m{|y}sgf*WB2iow1`%s}p#3%da)#b$d1RgSeUY1Oy<8LqMMpd?0qY8$`Yr zxQ#L&^l!S$G5ojKU_99xXg6O4ZM~#j7|P~8#^Zemar#K;6yfz?RVN>5j2EcC! zW#DyeHBI}wFieVW1wYO1Mj`FQZnf6hlhZT2&(F$E&dBzIdaK)TA-zL98AP&)Tw)UoY zf5VE`*%n>a}V>_71@_%i~R>r#D_TuBs< zpXPsC*oz8&N7#;nN5T#j{Fbn9EBL3v-c;}nVV8xbJ*D@>A0oum{bo(D8g8xYEjzVZ z=&pekx-G|w-Srr(dZ*oX@m;_d#*Z4l=OdPo>7_`RiR}l?4p>1acC9NfFHT0WQ@@e8 zIiUv@73#9nXy8NUrEBuc94$X^1>mkMH$$iGrny+Z7A_k*HPr94N&gS>70!{)J2_=2 z5_4AqLaUWa?;Bw-h>H!l)O-ZPya zy*<)j;v0ymF(Cvwk<`DFkrI_l?@Pb+m-?(vZ?d|69WmqDF{RlZ{7z(5_{(#l_(|0D WzeY@QI6*Y~BK}{6O@1_`y8b`+=18#s literal 0 HcmV?d00001 diff --git a/libftx/printf/ft_strlen.o b/libftx/printf/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..2d8a53ecb7d8d879f06ad8b0aa2d4c61dac937fe GIT binary patch literal 2472 zcmbtV&u<%55T3W|-Pmzs=LeLOB4i0Dszi2^G)SSK5(I%wDM+9ewMfWX+iQEpdL4P! zQK*#C5`qYopy7bT0T4I-h2D@jApQs>E=cYz+#+#sXLjGjn_BkUN2oNzFd6%%*NcSX8>{rXp-8P129%jnC5BNm`f7?CY}Yobg5V@ z0_4lc0~F3B0C#Zx96snsdT=Vy)z=LqG@V(p#0O-FvWxGWcCeXR5rUx|v=eKFd|(Fj zM$xPZf{A>78=+u!nHdu7>4%Zu z3cW@Joe=pqy($9WB0ccozwL-lf$~@iAa1@7VtZPgJvEWPhfRG7d3s2wb?{ng`U~y# zDO0BzjpG`N=)QG_M=F*)no}7=>M-u)jZ0+bhgWpuF#O1bMD?D~r<*vQM-E?;3ePL^)2v9OTy;%y zeJ}m7Ll@bWK&jULP^Hqr!0|qiF6+*WKr4--^#oL zCM0rw#>bH#m;a0$PC8#!IFIoSbh4g}doMfO8HXB6e^bb9s^Qlqv6{&xmCw&K{TYty z-@Ke3?i2N|kjZDhg`B!4q~M;c|1%jGQDbZ98&`jEOnv&g^8UI0Rpj(5L;7so#^+dg e{+Xctlc@E-Lr(1-#jVQu`GpJ=%A-4?)_(}^$Ln#28+PK4~He!AOD_6L~Q5fDdZ|p$%)S@daZ|J?GB7+v#+9FrH@S zob#QZd+yKNvpuFC*e^>G5hRhlWJMDwA$LM6@-P#JNgH^M8I_yHY`wQKbH}KZ7LCf- zyfHhoNTR1&!0WQUv<$Rxj>$JL&Zz2((FexI>0}-<`wdK|0?*K=m$_J`^bGLkl zq1Gy_w@f*B3rwmDHUYq;_drq?0O< zw)NeScBw-pM24!45GNarIUlFe{He89n(9TnW^wUh*#tO&dYg7hqEQqPa@ z_Q_|aS7}p@_OoM~bhKN*sC*{Lv`rWX+F_<`MvcHyICK&i&mZOaUqOo`G$(%)^Fxj- zv$eAvew3*%a2;5%1}_GvQUJG_9s4evHR;C5HY6XD9snrNklLJ3zmJSfl=60|H<69! z)4gT0Xk`ld-kk$lzt+EFSBV*SzB&Nfp!P6H*|BnRs+h^!DJ?azC>a& zUMib*-{3%>Rmc|d>Aq}cB4tnaIo|F_0^z7Ti7YcsQc0336mxN#K$;>c$4PoBR!F5R z(6jHSn~oNXmE*B&#Uk4AzHiS43?)i%S z7_$c1LHKJK1#!&1=VX1Jj8;#UZ6c7ZXM-5E#MP?cnXO( zo`;Z88nzn|vZ@qQG^DhTQyHQpa3;$0bJQ2Qg*CLPU(>D=bbE?E2o>10e_YAVQCV3x zMBCNx={-2+3F=eNQ28_s9l{*43Nsf|Yr-!8<|BVBdrgM`km0Y!4Q!3MtN`AO6n-0c zZHn_bcwwTDwKv9#;MKOqlaMd&g5%}U%pdFRaMf7@9cjPASfxRbSzm%n_OuJf?_S`a zyKuLE4_{Ot*xmSu3x{Lc$RjQ&yhkubkXQl4u_p-X;DW%hb0OX9Fm@k_oCs}n;h1L+ z*EeyFWi>8gkRQ4WzMJD>+%(q>4=&CFyUM{P{NLbyNss@#T!%Y?k?_CC_2Zli{1(^W z=3LZYs63U*r0p9{dBY|Kq{W zaox|)kC@k29B=pFS2!-tq458h9+*jK*Pn0pYJFH+k>6C>VWi2QJU^ zgzU!^VCaWu0q-QFE{CzPJwq_dryQK)eu8;@cY(o+q3<9L2DHUv^r!@X=r^nXFkZqy zQ#=pWkN29l{w;uE&VG2@^c>%m-`ya{Vtm2z-fR}XpBIJoxkxTnJ literal 0 HcmV?d00001 diff --git a/main.c b/main.c index a325f26..78a977c 100644 --- a/main.c +++ b/main.c @@ -6,46 +6,45 @@ /* By: cchauvet K2jgB)LgOCo^?s z(ho&lSP;sJxPO9wfj;i~pbrWQzW64JAiga0L16`ba-p6xb5A>&Ca8Ge-h0mPo_o%{ zH}~Gj2TQ9LRYd_71unp$#T1}BcBt1PwFV{hTr+p?n%94=+*!I$)ch*y!|HR`BQ>g| zZtgDKGjF_i?~6Y$gL#`hcfXIEuy>Do%^Ur_7@#qz+@hJ8*T1Q}@%6HBg>Qwn+o@PV zAi|(x7zUWaalFcw=R2*lpp=xELRr@e#fQ!mO3G9gKs69fWosw3!gKla`NvOPDnEY; zKwAV=qDy6f%%h+cF68rh0Q~`)rNELQ1#;2eOhkIR+D4!{ptOh3ncBeqeiUWq!e!Gv;QW>_?sR?=PUWXgmcy%XW<> zRNZz^?Rq^CRGZDN)!!6hb#b8@c#h|GA}6rj5VmZ$gM!8rn-N3a*aO5lnwRM*_ZTuc10i0UD1zcSM?dx)fN3jc3oFd9gExSx|+x6 zQLxd~&)AiL-}i@kXoo-JK({6j!2m=<13ir*TLWD95Yb@r2>lUB@dyQIjNqS*;2$BM zO3Xj{Es)WE42yq!1YaM)&yC3AX}b4w@)KyJ?Z+BG-!QEN&8;I&NL(c843CR6C+9c zzKd+w`YZDC$A1jseWN{2ub)2t6mt$sQa+Z6-cCZ)IX}0rNR}SIFCC137=JSnGwC{; zyv&IX&dcb#c>G4%eNKXB*ip8;e#YOTGHn0O$pgvfq=F7tTiUm{D-2@!N<{!#l! zJ|wrX49i~|lApdi>HMD}(^mIAY_4HBkSlULeKSaC{v_$S{)Q~QcjWhrgk3p+8j6+9 F|2No&KKcLv literal 4696 zcmbW4U2Gdg5P;|G+}Vlazqo1BrlCe^Xc6R`q=7<cr)FGqhMkK{ZU4Sn;`nTz4$3&}GqU!FB! zkJaeh^y;^Fa8l6=W+xox8qc>9y)?Acf*kcS(>FGfUm1gk&aXw6*P=xnZZY~jAIa!E z`*SspP0Sw{n)e3|EcyeZOVQaSfACP)AB+b4L32TvWZoQiZu&Ae7P)~-Dz8+WTH_n4 zK2{@te4+aVh-#TkE!|7JRT2#ZsbC;i|oPJGlFe>fmB!V|C!ZkJvbyJ@5maXo8tnOZvP@L&;e z9d$**mL|A;uU@0G`n=XOJK57-1JQAs&y^h`#~W8ioZwwUX{LcS6yQ5#_4v&Oe4+u* zHsH4#@OP27VI2;kCNcIL>T`Gz=VI(tbg0nv=GoqWA8o+5H{kRls+a#k*NHXIJtg71$8=#m)5LjB zLYpj{@(eKlKBj3})u#sFp$7bM#`(C1nZMV@73PoHxXS#5jc1sjW17$B5c8*P@%(w1 zv++Fh-?QT^BPc#238-I!U7i~Pn{6!n5!wSiDQ&sK@y&p+_HC2Vb!~9z|PVY66 zzf4t$=ks*3{ln|e*Xg%${(N@Y_yv~tVH-cs_zoNYi19Gfv`4J_WYEU>{j%Rj76#4k zV4Ek@(&`HMA)A?usammA$W6u6bTOY%rfQgZDl(9+O~jZht6IFAiYf7UK^q6Tpk)-f zq)nDUPUNy#jgDBDH?60Un4vfVB=I~{DyZc=vl7`n>ubiO^<<8n&FDM_vYsnx^4^1^ zJ;f3o?`1lf#1vJ%X7PdzY=z=E57;zux*+=}>_3v1R>KWBdB!$S7wo zURF8HZt7JlM4OM#H9eR0`ajPmCI3tR4=p*Zp(pDts!r@LCd;#BR#Kc|{f|_LY4G)P zO#lDt4Rwy~UtSm5KOVezf4+aNAmg<_vm!TG(hggr&4r(^N4@bcv+?;jG(Mf4?c;xr r%(?#_y%ta5RgopupXN+L{YmWOwppatern = ft_readfile(path); + if (ft_map_is_correct(map) == 0) + return (NULL); + return (map); +} + +char **ft_get_player_map(t_map map) +{ + char **player_map; + ssize_t y; + ssize_t i; + + player_map = malloc(RENDER_DISTANCE * 2 + 2); + if (player_map == NULL) + return (NULL); + y = -RENDER_DISTANCE; + while (y < map.y_len - map.player_pos[1] - RENDER_DISTANCE) + { + i = map.player_pos[1] + y; + player_map[y] = ft_strndup(map.patern[i], RENDER_DISTANCE * 2 + 1); + if (player_map[y] == NULL) + { + ft_cancel(player_map, RENDER_DISTANCE - y); + return (NULL); + } + y++; + } + player_map[y] = NULL; + return (player_map); +} + + diff --git a/map.o b/map.o index b72b3bc1bc743a0c74c069c2bd4669c7abe9b1d3..3b1376073247e2f706cc9d94c82888964aecf301 100644 GIT binary patch literal 4464 zcmb_fZD?Fo8a{V!&dg*cGf5La5-l>tc5B7lNov)iwWerxr&E>MwK7%9bv|xpMkjZ| z+&gVjh)Sbkh(B5of9!(zLr_?k6&6$$wYG}eiYSO;LEImULMyva5vBM+eBN``hJ}%h89j9}1XN}z4wv(*)u|pI^Rs}C?JNae;pa^|8oaIEvZ~mf_XbmxKqOH!Mpk>zn?%;x zbIV^eH%RRXZ0a@o+tgGMkOow}L*ZyRfj4e0@Hru#0vJiW%~k1`hNg{Nu3(jOfg zG}AXGZ%S?)+Bt9wUZsn(h=g_yFvhnmQ=`3%(Aaurrne`PNyg%r00~ks);(aD>12}f zF_uWdY3BebTcIWmgF<`O!T$#6Daw&dZimPo!rXU(Bb``LJwnzW2Vskt3SER?+(Vkt z`%gT(B1fkJ?KLnSIa(9i8nQvF2(3Sl9MB3v8@P+Abuu1=A~SA$2XZIl#$_2dk&Q(O zi@t$JOsGcm6nOk&Qb6XWZeqL5b+qKz1{5-{WJ~h;_>#P#Psr4$`G-Lv-$4EwGfVPS zTUmUBx&=inQ8E@!Qrezd$(MwPO2#<7c;Q&U(#8 z)2*@z-)=d@%0#{4Fj!jzR2?6oY}#%(E+el@+x6;I*QsRcuFt&sA;he;M9)*^DvL)d0(Diieziy zv_8)_<@snHd3daVq`OeLz`IZ*af(OGnSb$w*fADzXjSKo&dy4nL1O24) zd{8u+KP)<>EJ17}fyq&?sq;?(bg{3+63}fXjob=k%56_KnZd52!x;1nx5hlY`YFHc zOsp|rSK>#Ng#-DIy@9UPaueJ+I$uMG=U)9pT0OE!fB&b{{3KhUm-cQ6<&4Mtb*StaaH#& zspmBOBdLos7qarFbx%|YSO@=1>Mafbuhbuwywj%~$EP&^lGOjA;i{h(HC*-criSmA z`Ue{RzSKX_a9j}ueXijRsh`#G1*w0l;YX#eb`CXe&q+Kb-&^4?NPI}ck4yY&4S!7H zqZ+Qp{WcB%yYyG+&k>~#qvYUqQloNRw}qCRT=Izwu`dC1tXk6 z+&BWjso4{);-s_eW;9uBG@50CaLvJeNoZ&o*DDLH0R*3!B>sC4t=sUvqjEmd6G;D8 zfaG!-Iw;+D2vhr*GK@)quH#|S&j|XH5#HaFZ-F*X(CL6N@}v2dFdLLOrPoRb%c~N6 zUivAf`|evM{yw?5np%LSvbzz#QvV}#xDd&~rT%GO*89H>808$nFHG;rIIa~`s^YZ2 zuN42GY|08JmA(Y2_y7`&)amw$d0GkSbi^3)kp@MRhT)n@7X&+mu)QDVv zYFudiXb)2HYX1KUOz#O0E6DmUYer3F&%k%3`VYwZst(mBNUwhgn0fnR6YNp^Iy5cg e#lI<_6i=kr{}R{*V+SlQ19!^+V)Tva^?wGMu~)(X delta 863 zcmZ8fO=uHQ5Pt7%cC)+ePqr=HG(D`gHMBj120^{ms)gXmfQX`{rL;6qE$JVP1^-%X z<6oO)D2NnPq##(3AR>5?f*^Ph>cxvn@gN@UEuawRy}W>AAT#rQZ~ii~zdI`NQa3B; zVecin7Or-)ArgMN*mA#Gt!C~G{>t1Lte~xAmf!cmYdWQnmjs4b*Nq>95T>9K!Vx{k zUFu##9bsX)+8X<2MRh`2Db7I(FsvqEOFi8(cQrpgo5~TS>n?+K?Tm6j z%fXU%L|uHVnj`Q>I|Mgvjh5kHbfK+;b(;v|<%Nhw=skmS)Tg6DZwlQH19~TX)h*f! zPjw%Px|PH!$Y0zfmxWpZ9Ep(s`Nsqj#!oCoO}}kI28jisZ{m+9OhVf9jT!k`gtF;h zSeK|CGbQn(2L6G>TMhiO#M=%0BJ@}Ry$w5tub74o*R3uyH8wsvKQTNzHv^xo?~J^G zvh5q&;y8qSfL*)auCGRv!<95cpA$E7;!*_fkadn49k_fhS1==>hhf_BjdjVr5?l(> zj^DE_t}8Z4IuBv*%t=<2v zeT>)TcY6%HSU_*_jz&TLmpEjRn-`NEmvIT$bpo2_ajX=DkFg{@3;QwOcrKG7;CTUk Q2WihYM)patern[0]); + i = 1; + while (map->patern[i] != NULL) + { + if (ft_strlen(map->patern[i]) != len) + return (0); + i++; + } + map->x_len = len; + map->y_len = i; + return (1); +} + +int ft_test_map_content1(t_map *map) +{ + size_t x; + size_t y; + size_t nb_collectable; + + nb_collectable = 0; + y = 0; + while (y < map->y_len) + { + x = 0; + while (x < map->x_len) + { + if (ft_is_in("01CEP", map->patern[y][x]) == 0) + return (0); + if (map->patern[y][x] == 'C') + nb_collectable++; + x++; + } + y++; + } + if (nb_collectable == 0) + return (0); + map->nb_collectable = nb_collectable; + return (1); +} + +int ft_test_map_content2(t_map *map) +{ + ssize_t cord[2]; + + cord[1] = -1; + while ((size_t) ++cord[1] < map->y_len) + { + cord[0] = -1; + while ((size_t) ++cord[0] < map->x_len) + { + if (map->patern[cord[1]][cord[0]] == 'E') + { + map->exit[0] = cord[0]; + map->exit[1] = cord[1]; + map->exit[2]++; + } + else if (map->patern[cord[1]][cord[0]] == 'P') + { + map->player_pos[0] = cord[0]; + map->player_pos[1] = cord[1]; + map->player_pos[2]++; + } + } + } + if (map->player_pos[2] == 1 && map->exit[2] == 1) + return (1); + return (0); +} + +int ft_test_map_is_finishable(t_map map) +{ + (void) map; + return (1); +} + +int ft_map_is_correct(t_map *map) +{ + int i; + + i = ft_test_map_content1(map); + i += ft_test_map_content2(map); + i += ft_test_map_dimmention(map); + i += ft_test_map_is_finishable(*map); + return (i == 4); +} diff --git a/parsing.o b/parsing.o new file mode 100644 index 0000000000000000000000000000000000000000..0a212d5e37cbf8e15593726c92934a3fc4558a00 GIT binary patch literal 6104 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 Zo0|Vaz?2e&-w)^lJ4gZ8;gYKP{{=srks1I1 literal 0 HcmV?d00001 diff --git a/shape.c b/shape.c index 1097221..a1945c0 100644 --- a/shape.c +++ b/shape.c @@ -6,7 +6,7 @@ /* By: cchauvet v{+M1b;V$VA|!wo1ne$k;YNc*B#4SaNEQ+ZNt$dhXi}m{ zkY!m#D@uJt>jPF)YJnmjf$$&+7Bu)&s;Kd?cMU?ch$&k4`#xvRy?ggU+Ryj*di{Q{ z-ybY5_RM?EoS8FcX3m_MyPI9)%N?JXkf52bMC}TVQ1b;I&QkB1rr#bbWzynAF!3^JvVvL$qyyDQ zW#~oar8!QI1|~lBYl+8A$z;mA0{`hX*7wfA|M~RZ+Q0v1nmIic!}dNE70MK}fJ zv~JqHw3~Wnp@I{&o8C?Nif;0=yJ>ePG)T z-PChyH}y1iQ%~=1@^9{@o@=_vKip0J``zRhcavY$jXurY^!Jl)>Y3k7`I>I>H+ECc zQ{9yRtegC2pns}%w&qUoqD1VqiSyGmk0bvD$#<65urM7@-oiIs}AJMFPP(JknIl?6e>w?z)Gr0Vx?4dT(K<)m(xYCk}NtGpYO3-q)zba5!zVNz|vZC@^z+G5Ys7;I47Ja;K;?>kjsa{eR zsNy;tIZDE+#UJohR+d-l1!YC0{z?(Zt1J(c7nYZzf}FB|zp~65D4(xQQ$nI$%nIWx z{r(B#pi6nhLNBamYBjFBlvIHgsf1Vo+&-=qqES$0WPMQOo8Q-w$Mc{2)&=gpX1 zP*O^~!T^&Z76_D=YV%36!h+J$@}w)q7Z%v&l;0)A~a%%aWk z7Zn5wP-a$Dl`4X)vLbClZqC?oGlmWxZl#9V(nAMdN-HA~(GR9S{?k82={-r1Dr54g zgnFGQW#_2cV)aof_DVpkMgMwe`>^KC_^@wD$>|iyZbebb3;e9)G>X)A3$8wgaH95( zRMq*0hpVKR?QBk|w=P@0Jy=U?^KgMv@s4J#m)n+a*D}MFFQG8YWZLr0n3xzNZ25fN zkQO|)e0$ui+ww^#^Oa}IH)DL_O|#|05Y}s^Ex(tQi*uJPzqc*F!j|91mS1Db$3R%G zdRsolQs!%kE#GBkf-bk^n`2AtmA3pdY~@$k^3Sy8ueRm?#FoF-mQS(2`Pyj9Kg-Mn zZMNnA)Ry0B%TKfAx7qT4X3O7i%Rk4K-)_tQxh>zY>ex5D=B3u46TmHqi{F%0Vipk7Zu`T}+GZVDJmOt2*Ut`N3V#}|$NZ28M=`9p2_D{cA1Z27Bf`NM7bt8Mx0tcADMmVcS8{6<^;uWb3vw)_#c{8n53 zNLzlJE&p;`{(f8jC|mx?I^Z+ByUz0E}E6-i}WNtmv< zA{yhlgk6L?e?-QBS%m3IE7H#R2Eufe6=`EUnedr}n;Bn8_$P$dG9F8quB;-f7++49 zuBsx-84o2)S5%RD#upK$tIbFS?YjK_&vgO^%QAi{3c<# za*8xFevL3)HAU7k-cFdVm?EnfZz4=rOOfS_Um{FbN|AcTekZlniZ`WSi-{A43#kqbC&D`iC6XD{C|J64$1{}wKP z`ynR5PJP>(sZNx!6P5lAo*c4ZWex&|FP4 z50LCc(oM-wwV{XdJLzeIwpKHK1Zna8z}}2h)LVRQP%o;7P;+Qvn;v{kZ`huo2lL?~ zYg>~wSL1`K*nTO7>L%`w729tXE2Cm&Euo}V=(<+l_%qQJXd}2vSaF-tcB_Y^!YCO^ z)`NZ0^^gvln+|WSr&1zS4|&q`V0L<%QJ8|F!4~7TW6@}&3fe>_u;TF@q;-xC;#~{* zet?^=xXCsfT<2+Q-`fwag$Y~(H$%;%S;S46eE)33oG9m`2T@Q!doQ*LFPsF(B$t|8F z@(?W=?Nb=o{rV_hm#blsDG_X%iMB$%_Fz*f5)EA$t~<#ELP2J%pj^FhyWYc_+OR!2 zc!nNqnue?hjh__KL)Tz3U>Ge*JVV$L!x14Dz$00m&xq~t2?oj3_Uopol5d*3{O0OHA!+opUZ!Cfd8eob>+MXe`-}nXkVivoGGOHtJL@PKdjMk{ z^nFH)fF!o2;>~!IhMC$>o|Ymi6zBrcBG2J1RQH+jBjO;P#}5MmFD4$ZA(9}|>Q<7n zXJcw@pA3C_WH-srh0$$rfKb8lVrt z!a@DSNpLmD95D5UNKz{+uyw4=XxEnE$;M0llsV&;?n2efak8#0Ny!ae|fSEV#F!vA7lCCAb?`%5= zMzJMHcfDBGu5bH?X1x6kdj-rZ-cERl(=>xOiF{3VFgJ>jua(zd!zRk5A~aGB+o-OI zt-F$v`=hAZKxn5J@2D*ZaG163>+a2Z?1X0B@xM1KJ@0mH@f~$-nfP5o>k`^f$YlTBzAyj3Yu_O! zsQ&-bzIg~tQ!)9_A5R)i1!v)cq`OUvE^n}B8o6*yTPf(%x9H+%^_OpxRL;vqlA`_J zJZ#an*6R@aNIFu*ZER<7wWL9QXKqN7n&(?J*H|?d$7&uEe_V^Ju$e~|p~}jy*pH&- z*f#Dk)iajq$zZt?RVt}F2^v#5@_@S0o)Mq9E zHZF59Y6{gMuewbSZZ}FHLXmD?HTs=K$Cua`$+R5*a?OYUVp9QoOw7cy&3H4@v3~Qh zF1xcK&vABLd8x65cCXBVoR=S!RBmuLy8J%h6Id(4GS)cgX&LKEHdb|eyjytrFIJta zB!vo>stPgnV7h-t*mUj25l+NSdJ2qU@sJv;xWz}8WKhA32vOriqkc49vS3|dNMn&x zVq^)t}R+<;z8Gz-6LCFje}J!lu2=Tyt|SE0VWX#gPoDhstIe^ zQWLTG7W)?+36}T{%dCs*$sOEM9a^eBYy=6A4}vp5(2#(5p@;D#nLBp;jFZk*dSdD$ zo@+^J1*8cL%p-zYCmuG&(W*MW8@z~VGQ?(BTtG_k%zxJX18OZ6v76Rv+>CtlCIFeq zt}Xe8vzkZlTjKl3)kG&iu{Y_oq8YhMeIKnx*hf1`L!}m_S8gX5iN1Yer9Cb8<3` zy;YJnmAJ7RjA1c#m+0*$wk%A7iLI_JeaLzrDeG-@HL2?bnjyrblZrCo)}_9!&W^>x zFm*;lTo$AYE>qfG^%nEy!eqv(-m=uU<-b*p=^FAi2Y0~>wCWe_r+zHs#ZAK>9h;}DgTWvD9ZIO@oiYm@K@Rn$;FE_{gbU(y*QH@@zD&`st z#KoPihW?bRE}^hnk8U-7`#HHEo1bXoamP`i2%M~Db+>T>f9np`9YOGq(M+Q{x8C}g z2Nb(wE_P7v!`ncix+BK>pjgaYI85EmYQC6`AfI6bFn7Ul187rf{Z zv+9kS2S3SI+pZJwikh>k*#VqSl&~a#oFJ4bw9|i*--ZbTERh^PHEiA@4x$3 z(Dwsu&VB8QyoaiQoa>3~xs@*4w_x&X#%y#IRy<+H>6!wDrHE_OMN~NQnYk$^xY)wH zv;5&x*v{O{#mgPnf!O>(`__E1oLQZr?vf_ZZrad=C}Xl}-0+b_VsRpm49z2&y_ca3 zsX*@6n2y2it|ufFx&MT=J@I|c3HCs;1{&*Biawe|iqfn)*id&6vy;xy#5UIP6&&_B zTrCt0ZVfPdqPivv)f|d)LLaH`v);+!W=9C)}X#pq|iTWU>yh3+cdF zP{lBQf7)@XSXV@5d_(gCcNhaQ=;;&hjiWiOy8R4p%GCJac9K`!0KQMdfP_>znk_~f zX&W0fE0n4E*fv!t#ubN*SiH`v2Y?hIewRR*18lF;>@wnD-o8QOKyC zOmrHzBaPW+Ua}SL))Q#&?S$j+LFaTs#qv4~ee=WX)sERwG7gC_xCpoLR;a}PkUx%wvZM)XuH1g0G z_3A!EXB|s@9oGI&`)CLivKmwiu2(NWgcE|>VdoQhh&4HQ;{CJRc#>`1MEY4Sn4<+; zTXL9U#gFoU#bn09loJJ!?N*E^5fB9e5onANr+WLGF|d`Lbt43<`%aG)jgqr( zQJ0IY?1MHD2-UU11IuYbGp2rsJUWp!)V0}6Kov&X@n+dy1+U{NAOF?7u^F%Nm$uBM zeUqVb8yOcd1d=hs??iV@r`l;GA3*E4>nDpV_t{7XNV5ev?YKwct}VEQq}2{u6R{JN9L3iUKwJu?n&PDW?x`E?O`is#qdQbxD} zMO_&yxTTComNQZh%rl-}%V<5fl(D&u&_I653=Q*8n`_|nwBTI>pQ>PT6CPvd<1zL` zJjSMv05nmPc=)R^QR;-&ccLCWw3$@JBWzKeZ)k&?)kEv`86*%~p&V>DjS>6VHa)B! zhzE6CK%MB(br|*zHszsmSU%V^9SQrxYG$mUT*t#|9a-kXYASU6!)hvlJ}H82yeX41 zRC^VZra#ZBpb>ZBuKSBDuZDA%D*GO|o{sL=81Pzk8RtzcvsWg2&>h^Cp=xA7+|DCpJf zT+rt$C7UtvTd^SMOihcwGx95*7J*_oepHG{AI{#_c_<1S$A&vRq@W$Z+Y-C&|&p8XrG zW+jtud~kzh#t;|?Ekf}GKk1Q=2Jmw7Cm6R2HHAlg-q+qhcP1Y(|SAdW-iiS_06LU)Sv@evhI#@S6d z4s@pjrC@g9qEFotYQ}GAGIg`BQ?SVs z73(DS;B6ZoB|-!nF72>)(dRf(s1ui9mPq$L+`ZJ}|?$@aX?F`p0|YOsUh z^i6-~_F#v;>V6Xr3iIex1)9mN={@S2t^PgwPWKb+E~?6mDri9=6lF_}^0m6c*0W{w zKHgzO-k>qY?HvfML~D)0*3GW4E#_#83AULr$6u9DJ9!`EwTWfzlNwP*Y?4Sko{BY% zkbH^ndy1pO)!%QTHEP`a7F3XrJ~bl4itlj#jh#kRko^%~v zh@ABZgHFX9Kpl6j%GWXUNh&Is$%l{|pb1~u$O$5*yLq1tU2w}b(sef-tB}fcEfX!+ z(VVI@!aLmp**hPbAIjg@-5Kugl{*^{|4|bjR@)UF_s=Sf`D8ah0opXfNb3y1XlLHC3?bx`Mv9Sp~QQe2NVZy69tnbh$>8 zEtLORd=TMljhrpKCO@(f2?TxX zq~(p&@=klp8$1NzFZJZ*FBM z|4B!4OU&k09^c%OP#x8^1kGhha}mTe=v}p|X_54N#iLT1j) zZ;WrZsTf7gD2+-S*E*L7ZC14_papjsHMj$$e$P~j6uO!gn~F?{DKbqd(o_V>x(rad zaQ+I)b*Mwr+Ej-M9j^|R2yIqv@W)g``20erQG=(zq)!_rAq;b^tBHIK4SUmYu7@r% zn?{hZ7HrA}wd=$AD=62YPX@9~eW=j!`cR3`X4OU$0Ug6cfANg88LPCZvT4(oi?B9n zBnoZPLG9Xb{tC)=9$KKM%f=6t7ONgYg;ONMEZC3X>5>;5P6qFmT)2VBk?iY^ zg*0!@aq%%tHd5aB;UgGMo&+Vj8sZAc3?%g^g6VP^(~MWFSQIA#Oir2N*723*Ok^az z;lD5&&!=Rp%hU!eX}i*Tn^v*y^g_!G*5vs^XGzGK&#FtMuBEtUJ&dWOlu%R2x`%AM zR7$~yoOz-%oSgG8e)80NgVMr^_#%zSupjWucvJ3wdA8yJ7K;Hw^kEnYIZgfX`F@lS zR(GK|Z40|>E9b`lUHR7*d(akjsVveN+2t@mY;DEH2j@w#hw^q!eA%$^3tQvIU6iY9+r|r^rYw1! zk?6^5LNNazF5`LHpL+!Bp%oh7IHzW#%m*{l!?Zw{h-nmmro(48X~N+lFn_ABodP`P zUB*5&)Od6n>(XrgewKGi{03a-Z;V%< zU2q(IXRA*rJ3YCn+10cUWn0GOqWWlVxF|h!iyIla!G9QeIPdAC2Idhk^U zx*F@jcWux{UmjT4*c_R4k_~Vb??K{79Ks{c82u`%Y!`mXM&(=f4 zmAy?5Uzw=8viAjdd9+=*!7ucN_j=?G{KWVrDu+fFzl`V`4{XLPLyLOw&_ADcJ(mjDU$86 z8P6YPYC6`HZaQ;G|-FK8pI| zow9WaM2&iMF(qLkTYud9+pyjr1@J@1Vk{wZe#Cn4k)QnyhByA~*~$MmM9Wx%zzMBWnVJA8$)z zdOd2PS8lM~9OsFiXG8tM=Pe*bTUW_ z5I-C=!YCbEPBK5d*X0D?@J{sx-}UBugWqC#>A`>Ncu0U=*j86#dKYxT0t-!WZ(R-3 z=;$f!Nt~dV6O%PNeI{k=061^$j13U2I(*z5yE6=3r}=_k=lO!TYRh`FxEH2$v^s5W z!dz{xX1oU>%SFp=g)R7Y!j_>)^!6wIyC_cz-Vm$Y(c$v*U zkXn^evt0||5OUKiHc`yzIs+z$b`?-wGyX*7!c)@qmubVI;eckoOg;Fw+@L>`Fdk|B zQ-6+HqxuZDSurc~354{JGD>V=_N7Z@sDUBF+VtM!z1cfshw(HNoz4E3=kL_nuCm?u zzulWZ+cj&OH~5Zs%4}C@vp2X0rvFwsx1IG)=Z4vm3+Lvh4yCyUCZ*@X!ClN%m%~J% zQNVB`*}>9uPj;{4aD3vmZK>7k(!vgE;!M8=Q(-xBN|7 zy{55Nw;$Zk-L`w(#`IR?VP4>yr@@Hv8YUZbfg;8bPAYz^%|0*@)k4kgFhX$+%KF9> z77t%+n}FHr)3TadCSbO}@`dA4VIO^4JC^dD2IYi2o`#y#Bsk2pz-6IveaTGN2(aL{ z@WzWJmV|N`*L1^=R^c831Mz*imT?(0Z%B@;GcBg+PcRRQvxDt7V)c1np$Xpcf$?6m z-9kK`*LkPJMc5oY}bZ+oR<69nzIxRFV zBXm`I=vucPs=~+G5?zgdfGQ1L34z(DGi$dmtJ#}>O>XdClXF6S(~aLk?T{~zwpw_L z3qX@;3y^6>@n3G}x5*vP#+Eou-uPmXzmvty`}S)l!l5LqmL}_=-g7Z?-^40BLM-`Ek+Np!*vOIVbo~dN+o;lLjhvn7`)_lBwZVZc^Z!fZq9m>#xZ+xi1lI{sn%&N|Is*M=0#v&P+l?Agn`VGkNU1@5r9`kxKQ5(1eGUnc6|31|f0 z91Kr6JF(*o(vRa$${M*naQYG*&8DF0#@*Flpw;YPGd81o%w&!~nvMoC!s8KI<(`_5 z)vWxWYs=Z&+LP&`JE2V<`LF83@_DSRX8Skd&HX+n_yZd~FU}k2S;g@D*+T__A8jF;)tnPNVED0`r`@23#`MEgfR43!ogV&$ z8|kdCI)1|ag9mHak=pQT0&zzocrywhgH`vrUig(B?)m9_2yXj4DU_XorIDMi!)^3Y z!Px*z`aBNJW-rfb?)aGN3olC8M3=0%D6QEHNAg$W9@NMFuIbIdP1&v&x91kVmmR(m zAH$qj*gPpbB`rEJVgJN|@8u+P<|KU6ah@7)e7y9#_q^g(B>BV{wU*8I(XCnNWN#C7E zv`HU8W79RJD~GLz8`GB|2eAnedeN5e!7iQE9NmZ6>}q@s&JK)SAnlfEJlzACD3`?yDLIQU7)6!B<-Pisy01S4^2-W5q&EMPx`1!bgQBlN)J+V!lO@xJ(nYfG3|LP3h*TF zaPz!yZGda}rokwzPI7JVVzq8hpnB?9$=r9k^rqd_@6-0ClgnX`^c#Fli>y*Y6gr^4 z(SXai0WjvFu@iTs(D@*EnBvMYTvkm7YoEmThG0PK>NJ-S_}I3j<+-8KZ{e_$=t4%D z*z}dF@fPd=-ugQ20%+3{gY$dbN03gJ>fwjemy^Dy>6fa~)r$Cbm5D|h6N)rV*l zGxU|gK8rifh5tN`Pe+L^FBTL&kajo+eKWfLf&;*)qI7(b^jie~XsrfyRN#m+J$)LD zM6q!eA{O&#b0>5TdHUsqO4Bo&n#0phb>-}bmNnbH??IC*x3D88?BmtsCVykiESXnW z$+9w!Vh(4c`hGr`;;z5J)Y&LJ4Za`yfB3fOmEk}tHZ;tUobTSGDV!6;{@Qmae75xg zRo9kY?6HWY|s@6TR z@awC?qcbNa9DO(v;@x6gRMECKIx&H zG@8F)p9;sOCs2`*E!7`;v8ucYf7g2i(o?fX!Iik0uEO-n!OBU~6JBj7#YxO1*T?p$ zzX110q>)4k3^+fXe<&tFiqMSsEpF=6#qRJ;zd9hWLQnDw>d z3f)#;etdmBsJ`FW>!UBcaec91na|T|zeE&1HHVMK2=B3uzsowx@kko~wHf0Xn27HQ zo`tsb3mVwsf-S*UjStt+Snpuo9mvit?7~v>291}g&?fkBc%vV)qQ(jo%)xaNN(QC} zKg2i~+hI@GJ@_8{l^#C*EnKx3SKwM*xrM-)A&;9j4g8UhQ|S62J=h~Rc$m%>5$e}r z<0WdlVP{&rLvH%2=2S4LJ#y_IQvYyV*^3s=|27(>QwwGrc`5#T74XZwLwWAtPeOU= z!TjUHNja~1gKt|0*Wh=?Gk=aovq!cs%GOtA?XIuw5ycKLyhq?tZ?IJl_wB6*jgCID z58}czfO8BsN9S**v#FPlcckp;jakTdXQZ z*i~OUDyjvhsiPBL2vDR9&37b_w@~bn*}>O?tpi`LAJsqjwaeEE=K`A>dhorNDwR;B zB3iu*8dgWl=9h~$H$fd}W5%a^;4{|ZAqUpW>0$vLmKg2Z`#$eadhS{YKcDdpF1hIEcVHe`?Fq(B-ASp%AXkOg_5fqd*2UB(+_!{*vSwt_{=Af_2)c2Pjwl zrEla;*WCpeX1#^(X*3R=w~`w)9)eLRJm`rv(b0}@`qNltu&d19Z~405_JbR-q~hXM zx~JkRD;y4Rp+hwd)q@|?oT#UkbnNW?=r57bMPOd4KJr!i5Ysg{vgf1lo7Mjymj_f0 z=Zrgzad>|FCn&_XSfh*-vNe{|g=^`&n}>+vJh~F1My=?mIunr*>BaXQ$Ft9%idBgl zZ;FgYca2+6o#+?WKP*dJqc#|cxFA@NkIO2AM9N{)rP?TC2IQa`6h8{Tj*K!g9`sxM zqNyJ)eCW==IuB6eoDt^x4HBd4`0rrKZs|75d?uFLf7`i#YGw& zbtVSCHvWVT<^)fj;ho0IV-%#kbe$H;8x-@&q0KGx@7Jjq6d? z+cF^!1nzLm4!HN0p6}d65Ei)){ekYeK~#hQfbEaDT7f(qm)-?8bmcf z+2eIp_bFuE(4tJ^d3=SyYNU;GPgQd+H;4@+Y79bwj=#i~B(+w9avgtA`!U_aVG87g zuG4daU#okhQNCcr7i`Zn-k{o{7VOMw-Ee(m7My_XdP40l_N!^zL@*Y;U~Y%5#-~t+ zH(clD>4Jg$aoayIVo~F-XoK!@aiP17$9)Y7&ebqCc%IM%fzET?H06vJpgD}<<|}8I zf1x=yO4HrAk2VeK!#O#f9wm?{ZuICOKq{)mY(Wgl{rBP$b`Z5owx&k{e8&g}k#b|~ zYM9ms?4_d{_FP(5IT+(iw1)eQoZ*e{+cO*dL+owtx2soR{^!_&Z!-Bi_lzlbUGXk7(1@M}AQKrE*c$MW=0o zkpI~MP1rACqOmUlKKVLnfs+f&V8KNWeD)XO-f2PHU@5 zN*DMmYv)uJEUdky7{4r9JHMc^yu7To(qB|tQC(S4>aU$$U07UIQh-8!e_3s5$$Wop zd1=W4f9*m)e&Y0&+OmQL3u|YUR{LuM{({olg5OjZ)E1PM6#6-@pe#`Gn`*zRT=7r< zt(27cYYT3zuJqT=@|VoPdr1|_p(4@??`4I>_B3ve%Zq9Y3yS;!ZmzHxKg(O`udedf78cVF(c%|*YYWROp%~uFWtY)V);bIMDL{AHDBiL%*RDnS;J)Iv_oD=wHqY*ys=S5%ag&8wwE)x3qOrjq%p4x%JoUNlGSGrOeHKdZ6?g8`$#erg0~<0p8l z0!k@sV&Hdat7er~me_8$$z-)LyKyT@jNfJMaHGZLW&VXl{#$B`%LA+-ey6yk zpp5K6sX67fB@4+79RSa}XnX13kk2wRY&Yq1yEiIW-tY!wM z)J#xG8g5QmT8dICla_>})VxPUtS)D=o}7~5QfYI%6cQsVK%>W2utS(!!GPai$|J(i zQUq&_7MyepOQsA9RLv_{sPp|rCDrq3Vab|O8C;i2mRIr=Q$W_V0#&BE0<8%qn0}vl zj%r)w#3q))YHHCy%`Yh`vrIi7KWkiw-$I^`?5e=RO8lI0?fmjW{19?U8M%vsx#en- zu!(WA8 z!IpBCRgtJFhL41o^_P_un9kN*d$IK#Tg$O^TvZ0wT4fu7Dr<@aFmc({28v-`cxe2@ zc0r)LHr9Dr^0yS@2g${+v%#z8m(R2Owwh!-yc%3@L8V`93fcsJnZL3ifU$QMRN-f> ztK5SJ57u<@_U>ECD@%*c*D|xl`SP@0__6FjNuisZuKObQwDI0?z8i0Hk8$7DUvm$2 zXZ0V{tG_k`jJ%2Ni-z>l3fzTmZ5F+Oqt%Vl0+m?jb4vZ%;2{D0-a0mesv+78ZE#J+ zd^9n1*zij)`_+h%T1Ht(=|C;B#+FwwtFXvF+m_)SJ1*NdUMsAszC!+-NYH$zFglF-;C>WuFjrx9cAQAo-}3BxJkL!(tbLz1P$UR z;NAQK=kCkhSC_k|R95@>XUW~_x8U8F#wDc%vr7GgwEa|!_9t!lPbj_g2wTLo7SdEa?0EQG&4a3s){YB5W65Z`5@FP-bkZ;*3FBJlhy*X zBmY9JsARsId^ROaiVVeJ%95&#nFN=exYTcV_o&GZt&&_7b7Cn~sboUX^svebCSpU7 z8`bDd@hHXlv4}@8Vwl++Y?wY@Q|dEAId{=t_5!P1tONG4wlpW%S*lhozp1I{LgmIH z4UGa4H@qSz#5-!Bsvx(=Y}K;bR5f;oaV5wUUc{ zlwl0VM?l$+Nz{Z3dU?nRU#IeTW#|8 zW;Pq!>ogW{s|`v4NmDRnR&2&an&L^e3Q*&KYMxEvrpN*w6vr1%u`M~SWb>$$>L1)J zhx|Mdtaw9almlDPQWL?VsXrUf>j?ey+MJP6L@k6^A(difC{#2{tAJFH0G?5{v@PkD+Np>n$sd{7l$LB+lPV0A`UObL z$3aFGzYpd2Vf;Rv7B&Z+;7JO6Nui9ShMRE%#~@j8XlNW77KesQc#tJ@sL)|ThsT12 ztXOhrEIBNe98O!7c@)U9gQ0dX%npXf#SmF>XlNW77Kesgfk~E?8fvA6S*hVFZpl() zs3OA@8E!=?SypPOl^SNHprag7F``xYmAE(vE$v*WX@|pOF-le}IW(3W7E59b>G}kN zM+Bor1j9uH^T6D&F%irpW`dc-R4|jn;aTKllNC!2jU|W0lEY;Wr@5MCOAocBhuP97 zAG>XUKny@41|SjxupgZyB@lr5YzWq~AsEkwOgVG&HziGM%9_}eHnGU7u5rbb6e&uI z041d??c>r6C8aDSr7R_}ChR9utP4BD+OR{c4?D!XHLtcXam^%Vu9?KtHIuM4-5$}f zQmhJV+ac_2hp@OEVlG)X2$)b-8nenuV`^DxX-gskX-bf^BuE+(q-?<(va$mwl?^zl z`p-$s;aEt3SsVkH$1#AJ90RbIbpZ&2S!r0zO2cGUdUz}r$ciP0#*)KgN!90AWTko? z!>Zpgta={9!!-^svJ@Gr$S_4@K3V&|Oezb@%(AddFAIyjiZVo40g+Td#1t5=k$4ur z59Rk^{I2?GRjs;dLDfqOs!m#ve2LtbkS~!W`4UNzFOejCt$EJ}e`_Y;bIm0Du9?JK z;5!sd1E!b(OfmROu`ijI!PuJ2Bz7k=i4Dq34p&i6mLfwH8K%f^3VO2WZ797Bqc@sU za+6F`N|H3ABuNuWlEY(RQdTTEG?p9|OUjt3Ajx!A96iaHDUOVp0x}2r{#fQ8r)BPO zTIL<6dEYB2Qr_+gO3_!oH$r!rqQ^|pX{J~kTn7R#tPL}XwP7Z)Hq0dS zf&-^e3tCAEI!Ou|Ns9JRj@)PqP!Ud`eZ+%sWq3zxct<06hb-UA zs^||D*br*5Ayj2U=J?W$tvSAwHpiFJ=J-inqY%bk-5p}^RRW{0 z5*U7!fPcU?l8JY}yu()@4PSwG_zJwMGM93i-U}99#%X#lSokYW(|f_f5uB#?f`ubF zP4C#IR0B+aR1-{qR8vfVRFh1AsA<0Rs9Hw+(0;F_d0whB~1W4(^ z1W4(^1W4(^1W4(^1W4(^1W4(^1W4(^q+sE2r3(`vr3(`vr3(`vnHEHVlrBtwlrBtw zlrBtwlrBtwlrBtwlrBsP7GA1!VFILdVFILdVFILdVFILdVFILdVFILdVFILdVFILd zVFILdVS>4?bYTLdbYTLdbYTLdbYTLdbYTLdbYTLdbYTLdbYTLdbYTLdbYX(ErgUKf zq;z2dq;z2dq;z2dq;z2dq;z2dq;z2dq;z2dq;z2dq;z3|wXSqw0;F_d0;F_d0;F_d z0;F_d0;F_d0;F_d0;F_d0;F_d0;F_d0$-zaVFILdVFILdVFILdVFILdVFILdVFILd zVFILdVFILdVFILdVFGWHsgxl~;kTPS7^kcRvgo=QOe>+T2q}wB9!ikT6`ZmXZrPDI z*PiBE3zDV_6y8p$SzP>aS|!Wy1lIoC#thE&wGq=<1^2NNbgw`jTRwY+7OM727MSb4|IBCG`bA* zm8NKP4d|LXqtQK}{gyJ-7z)p#AW1@lwz=pvx#9bPeb$_>A@*!k`C1r{kL+eK4AR@I@*-pwpIt z<`Tx2uS!7=f-VD{j<1HT0o?<-hcLeVcMx%HXfgS|S1uez5ok~FufGz_a zjW67;p?rLGxt;L;M59MQm%S2=_QjV(f7l$2)`G6t5{>Qz?Y9+t&^@5(r$e7@(da9n zuYe|}Kn{O+VmRnQ`U4c8gYYLhri1pu-!^#|v=($N@n4HZQ(dU{uP6t)Y)>?LALt&? zS3pPa#rISQgSzqA_uMz4(J7#V+MqY+E1)|;_kbP%?Y9ql5&tc;hd;|Y`fbz$x(xIP z=mF3{_;JJBccRe%DE*N&dL`UCSxcx%P561AQCgb*M5D@sEdZB_osqXS1JCtLiSqvNV_*B zb#daj(@*Jfbpo1X{xW1I-+^y8#_>P1_-nx5k99jA)RIpuCUKVEgX|2f=i)eip~XLl z{2K6Ij^nSh_0dv&q)udwPL1b!?0UU%b{3x4vlX!O}Q`6n&;QmQ{3jXoaN{=-)L%fQcopPUjW zKgp6`1Ag({(ddV9@_)DF_mDjN>-BN`DHi`A$%8*Vj(?rS?}Pcf8vG4${6AUzLE!7~ z+o#3pmt^Ue3;u|Eu`c8IcUt^Xsvmy7D6ak)R{hJs?*hMfoct-4{2K6$`|t%MyL^Df z)%*uP8T&`Aou7D%RsTWoi@|>&j(@Mk?}Poy0Do>A-*52;fjM1b*!hWdR{f>mr#%^s((h|p_A6sH%P#|e z1o-5~Eq-E)CBFuI1N;GY{>+&C9`L)sFU2@p@;&AxQ3)EKgW&6kPr9>DAH+NR!LPU1 zZ}X3Xz#oBlraF#aVd<9({z~vah~w|K_@&@aLmV_Kj(?NIUk3ha@aM(xXIuO=;CF$) zJdPi-_p%FM)n_eyb(OG!iIFg7K5 zd~c3XnjzDOSn+kL6E7O)w~^<;Hw<|n<9ZU0^kNBoT^Rf$;8(1LpObd(PV}Xu-POaF z;tnVIQZknH^rmDkKIO`kwTX$-Q#K~%rZgvxOKD9Uo6?5=`|-a$F^8C2dZlD$r(}#x zagR+&8_QaGdGAFV+4w&l@oNpf$oeGG)StT&uS`h`_sB_cFH6!>G8XsDPRVRIWkSl@ zgv4T0H7+FsU3FA72%=A-o_5sZr+R!8HzCAo=y7FAXF}rmUMXqgQc}Gs$*O58|2E3I z@x9@vsXX^To61i}sZU6}9p$ras@{hpNr;nIq5N>m9#Fz=59qo0l@!Xc8 z>nVBOlxf*1GxJhBdaslbu$MR94!+*gPMCjnZ*Pj8o08{CndVEGIVr_6HASCj*5*qo z9-C5uOz5QJ|HIHrNBsXB(#n3&D@^0GED7z2{Sr%irDR-VGu%~ZBV(K`BLm_F>RN-k zUZuL&hL~FoJ+f2WiO<3$m{Ty}RccQ4#USRblQ;s!Q}I6oc@HCxeHZX(`j5O;DzRIwmigRFijHZ>qBv^2O^VUIm_x|I3lLlk(uJsLs1F z-7prIW8tK+*4*@}u~?PZBR3It#`rkwKeqQRDXV#w&H(kMtU~Cc4afgZ)c-clHm@K} z^@pkcWj*v1_u?c>z=oa^QZf@C;+Y6-)ug7e$mj$8a29G8xw{iFr(}+>UO6;JSg-7q zyu?48P%BK)bjSx#S10PCzf7#g;wl;otc&Z-kuti}|;e}&1ztV)BCDbHzh0L!u4-*m7rb$C|zM~he?D%!I(9S*{PMP`5f=#_M zr5vt+_+_^LV^sC0Udl%WoA&M$oG5$||NoA>?m1ywm&y2!7dlnwY@rK;E*5&f(5HoN z5V}j~yF$MZdQ|8s=d1RAD)d63mkAv&bgIzVLKg^KEcAY%PYc~3beGU~g?=IQsL)gT zOZ!4E6ndG^@j|Bxoh@{M(8WUU7y7i&4MKMbeOKrgLXQePr9C(+BJC8AckKn&`DEyuS|3mOQhgE<6>A*h<-rJ%0 zDN8(DuZe#lc;{z|pDy_2_Y@xDz#|1e|DocKci_o_*Gqjj3O>-K$`=WSA7DM^3f?RB zs&U{Z!H2$8nm9P3)>A_c*~Y8EI-|WLxSIW>n-Nr@4%}Z z_&En&FSz1oYNy`ez-@x-xpqx^$ALd`U_?0;}sgiw~5-ROFdl9#AgZK zd&6AL@9n^D!H0@(WBw%$Y}zwg(a8KU!Z&fQSs!!p9MFLa1%F)P={f$ui)R@LB22Yym;$Ln`;frlOVdBMko{}%_|DR|u-<5|Alf!`4P;m)

6#T{h=b8Vl14m8VuH<`%JY4Pz!9Nvz=+KLtKfr;93EuZQv$e4fj9(yQ#-4pT z(*g(nx!|^TRc`xZii*3?ej|K&BBIqg@M6KM9-YDU-{Zg!3I5~W+01|5fu9ikc61T* zw+QA7e&pLLW`3Fj z|5ETDUve`)%YlC_c;)vinSZ4NPZ7LGCin^mE)cB!P|NbA4t%PKMSg*WmHloP{Gi&d zwYweoalu2PYCgW;z?%dQ-8+=qf7OBCu<(P-KSlPFp?eiRApHKJ{>+a!@VA05xN9Es zwXlb&iF*m2_m|C_f0hHg1TXtS?Vslf{-be-%MW(o(SqMRrVNtnzy*TaWx|&^@H3*X zCj484ul-F8fLZ??AE@>h3E#x&g56KO$NJqRxcB0Xj305}=LFw<_bbfb;K0p-r%&I@ z{J%QzJA!}W3o-u_2R|E=I(H>vuL3BGe9fBH;Iy351m4oLjjOYomRRPj!# z;F(Vz;d1>P_?Lp0t$UOC7YjbOMBz&X_wWCbYDe0?=%S|>|62IB-XCFnl>=uBuB=z% zJJsZ`QsYzTzyZP9Q;J`1;$;fo=D^DY=gERyEV#a2&A)pc_z}Sq3RQhi3f6oIzv#fv znOIZ&mj$mYQFyxpzb5#1eHH(02Yy5FUz-*G1Hs!iC~P?JH>P~W`)uDI9k|ck9?qYc zsrILz2yQy7h4asM;4Hz*-EGWIbl`W){YCowowRr84z+$pOZg90eZcYsg5RxB>&Gkj zE&PZey(T&EbisRusvDJJ2d*;9YxlAIA_rb7_>+s5GXH)DUM;xOy^8sd3x2=icZ^?j z;8z6i-@2dqI|ZBPzt;puBC7vwf_LxU%jMq{91N=Ud_b^y9{ED>ho39?PQhDW-OKXF z1mCe($tNxMaQ^#pUOQ9po{yBgTkzUuB|lhjO@opjE!aG-WefhxJ4!xR@S}fG@>2xQ zt5fpR1)Jx)If9@6tCFu2yy8VAUnkgqi;`brmY4J23c-)Rq2!+s9Qw18e^Kzw3zhsU zg3a^ZYl63m{r3xgO6>oI;0m$-5y9qp@<+jYW&cUON7?sJt*ZSq1=lQ5?e`OGo1`oAl9?_Q<<2ZBQ( zrT=H9e7VAhP5C*ua{rE*^4FIz?s>0=X=wBWrm2FX3sgM(bHRto#xegw!Fy+1&N$1I z_xzG^#B84tK4WLLFF0zpFSwT}FL<tOHMVB!xHRZQ5)E1iZFDbm(lz&j+-w6&CD_mj9%Xz8J zlyCkm7g%b_KV8cB0aL!>O2(^9`A^m|enIe|x1MDDir~E)!i--N9J*~L;{(#4=qI}v zcL+Z8*2|2K3EsQmF~+Ce=V2PUP3f~=>WhB-8s{5k`){gvtIKSE{S(YjHtly?8RImw z{lm(D7ntpTqzpLNY`<9R5WIKqI>vs%p^%#26@sJD z|6%?j!G{jL!1yjp{(i=fSn}%pwZ@eHb|v%wV#MBHGOPXA8dk(4QIi7i^wKFA>~d>_0+qMO3YSU2yRswf?6G zzG1Ig|HXpGgvz-78o_rTRTFrT;HEE>0Tv6c+NBH-7JRkDU-t}7hJW0;a=L^nxP|05? z*t}1;Sn$O+DEUmm>EeJ!2|iyO(0IYW5C?RPVDmm>y5P)ArT-kkg9fSgD+OP8q0+xj z@HywG_GgMcJRT)KPw=QwN`8UhVZ)UC?Se13K*@)tz7n}Fcu?>xIln$5cuIwmUnh8E zu99CO_|{db{S|^MSE%-%5IpO4CI6z}vDYd2X2ItD#U2xj{r8(#?sGmfvDp6=6N~*@ zO)U0*+r(o3b`#46a8U5nN~Qll1?SCG`X3YQyHV+%uu{#pAy+8iJnS4uv|!~>N4U=zy*HqydMKHI`dev*Zi{1n0F z{madQgJ&xFV!;bim3*b(yk1JaR`9wqWxpoD&xrl*61;q-l7B$(Eb$-H1i!jo$iXLFBiO5Q}W{khcvOD;A0J{{WXFkw<`IKf_IlF z`JIA;(*In+(f?8MlLa4oLCH@Oy!U=3f3x7wY}I~|DL=biqgSOVKVu)`dQ*P#I>vXI z^1r&3@x!M46Lx!aBx3 z2o9Z-&v=jE=pD~7e$SL&_!wiulrIi4K5EKOxQTJngC3^QkCpvS7kubVWxt;a-n(Ae z?>xbw+hqI&b0v5i?7$z(`JqRT9$aL&@J-w){GL5~GXHYnn>Z@`D&N@I6o7AXNF#< zJ8)mY!|*qw==F04?l1T<{1qa44Rqj4!6Wb&cj)yi2fjk^s8OSs?{nZ>!DGgZVg9ua ze1l+*$HV*r2QC&ocI;T@mpkwR!9JflFV{J6qu>b>)O}pYf$tT3<(2Bb==To1O7O&q z6S@6o9QXynlP0PAuk{Z6ir~qU)qTJY2YyZPlqplV{(TO-U+{I;UB~>79QX^t*I$1< z^S^T7BZ8+-pU(X69XRn}59i-}^UX|8bKq3L1qB7nKih%N6u6B9JokuMMVYk=Q(ht;Hs)B<}Y;MdcoDz z)y%)sf$tJrQ&YqI6%PEc;9GB1`{5rP_>Y3?>eT-ACkNgrc+sLoT>n-F-X-{sJMLiq zUI%_#a8pwg^WS&iPXyn2=bg-tIB=)nrAwDG|2qf%QSh>5%b4Hu5f4)n_Yr*e-FI{T zPaOCh!S~#w_Ve={I79G#_ua?xLmc=r!S~;PKl8^paJJyz|Ni&Pzsi9p3x4?Fhnau9 z1J4xv=%bG^e~tr}34Z+X$C+R4z_o(^@P|Jzzrlf*3V!f!hTC`OoUU>u(PHq2TrF*R%ZR4t!AX z#*G`9|4#=#CV11PP0UYt)Wg)o$$~d;-pu(f2mYzxty{M;{}&FNE_nO)?aaT}frkp- zxpOD;M>?=aa7#-I^Cvj))q;2L-p%}c2c9l?&z?QZFLdC!g5P-K4d(yGfolZs+qaMT ziyU~d;J4p?oB3e}zEAMG@4n0YhaC6`!GHhz-DU|1S=_Mev6oe#rb+ z9e9u6_V#w>zvaO13I6ocPnrL*0~>-r|NL|2A9moQf(^r9{=XeK=`j!IcXV_x?d`y4 z3jXS=ubBTc2X+hY?CfOzFCBQW;BUV9hWVE|@Myv2=c&gz@RfqU`|dlIzs7;52|gyD zCz|2FvjzX~!w)P!-+=>y&Clc3I&h=lXP-@91*Mu{~HHBCfIx)amp$WYhvOv1f%~^Q8A887&q>6cSioK>asw!J1cYW zu)&#^WK}cF`t8un!I{GcO13723h^6CbKLkliB%=#W$vt@gHh;`VR0gZFV*7e9XWXT zan%ma8tCSHZGQs(R0u1Tj1;~uuU#T4UJAN4-NR@z&WDLTOhkVwEMe-k;3Qn~HQtjF z@2R+r(2y>LifKDf$Q1N{y89L|xvDDNea@*PN^sp+Z6e#B@Reh}ysj;gK{1 zB9EdHfl5EBAJQ+Xs*?`t5EB(2Gfv`TUXC$>j;N^2d$+H+-?k#aL#e+PlD!ByOXBW<>DOYy=`1;gS=<9V9w0nZ)Un*1;MZBov?k@N zGXf+kHHM#)E%Kfw0Vy+WIGB_y?aZPQ`@oGKYyK6&%`PAb`Yv%N$<)+J++5X?!Q+Pv zb|t2O-jta2er9cIc^!a%j-YpHD^)h*%};Y^B{6TIO5bV2ixO#8Q{ao+(peB8eQ(J; z)$%q3=Hlm{)ADXS+VG2I+796HYh+1&6anGGQSI#Z^U@FD{#`(wj7mRN3CGe;Abb{n zP9~B5Q6=1_61S1(n7WIU)#FI9ZF?#p58}tRoivg=6LHtGF)n;K*%g2}X^4LMLJ6@H zw(`Z{*zjhFC2?mXT_Z7mX3BRD+;{_H?VgTpy^*mFQc>|^rd(;%>^i2*Cm!ibY4c5K z!%~`!?bsriEDiK?zt7l0epCpttrO5sXVF3(+w{jwTg;eh(yg7~*DRWJLnoNf%o^$z zZqhBBAScZi;PyfMyt9(OhsRd$wA2nfnZ;YKQiC>pdLlJy!zSj80W`J~@4ad(7N1W`P zKy#MuK!OL^eTuQuhjdKKZUtj1re)x(TYwQ$eA&(xbRWX2Av@|r=B$9&Y8POxXJfQm zPWB#;5BhzcJu(Bt@It{>wF{b%FC<@@Bn@Moa_;% ztfbphp}4Y!;+afSal+zX!OgT@oSsgC?uM3Yvu>uPNjB5z_<74zlFcOH<%uMlNy4YM zCD}}5)LStx$!2;je%{JVlFcOHGtf+H5vkFP6tlPRyHlPrcEG9?_4)_+`J;&;JpLBH z*dtBfhYb9LnvWKYsVUs8xSvJ(4`ID1?n6c#d&IPI{ey)%T`{eWzD>UqDNgo(Addbirh_)*0rNIv5F0(Y) zf!yULmZJpS(>28%t2M=yLU92pcGpnsHWbAixEH<%Jmv52(z#NIIN3GKwaw&ele%mx z3Em-tw@2_c6EAP@rUfr=sF$VAy-ZU^y%Qwi{SIyo6obrL#gMR33<(>>_$%f&igAo# zqZksVV$cL9p2jV<7v$njin&{UN>r;Csh1EFkgL2T_}9weor0iNj+jvnYFSLphuE!h zya_m8g5j3FxF!H?rS1X@ebL0If=;#{FelB?1U+ZhqsZZ;7wFh9JAsp4s$)CY4Rnls zkpgsN3`9&@%no8ArY&YCW6GOc8?b0~E%CEsENxXyX{$_WJI`R*Hm1v7Ra3UaDrK)G zl}g!NHD#}nvg4#|&Gc&!uIY#B3xLGbyFxPC4eox>tY!AZ*_!Wz><*rdeHwY3?Cq?@ zYK~WsS=(n(J7@Lvh=H5Q$C$Q;X^0Ke>^f^rY=_9~Y{pc4&w5S&@?B|#(T|+T# zDL&4$c1w|7htpwVJEUfvjH#xpa5sKWGj)b8jhjh+8jp;-Aaxg>M06La)SWiGIFX{@ z1iqv#MdD&7PMxQkKLKR6m1q4W<7KJ0BS%avN0V4J{|;FEP>WK3hv(#Z0n(M)h96vz zP|V3TqnVv_FH$%_{4SnOx`aC$sgr5#OjGeu+-lS$!I850ZMYdtQe6CssXq!au>b_t z&(cghVT!#GSngij;*KXCNH_s5k??ai(y26>AC`^SsP2S25mVl+xW$>@)x)l08^+W> zhDu)xQg@ru*SD8gE2jC_{*0Y%GP0PWF9dZqX;1-#t+N2=v=o#EwOcm5#ZDX>6{K5%W~KHY(oM9q_4Mho6)E zpj42#K;x}KBW-9*>(0%XYWfUrrZ#p$^C&>cZ{g`q=7fPzxb;OAshP+DipK7_qzkjj8_b+dPdvjHJpP4V}(SgEgIhONY7 zHCHkAM#fb9-MCrH?%E>X3ZRqyK1e%hqET)_u+oe_K|46@hTy<_66}yhb)PV7|Dn+M z329_%Xo#9q_GH~T&CuA9A&q5>p|%$Ue5yC&=Vbqdc-W3bo8yAT962XZY~kaZ!MDrAE+xZaCs( zhe<0vfke3e(?yBV{(y5mTW-HY$8HqPJBaD4xGuJdll8?4FR9(9r&T!F(qy2zg4TCiD^YhlYXU1+l7Xm1biP!&Bt)F z`u$UclOnPdMaC(gN>N}8#ZnX(O;{pDVKLOEn#`1)LXW90heY%Vu=dDo4AFQ77Y9f; z!?hQVIoTgb6(*2c(cUx-Fk*VJNFP9qVi2LU{}EznA>8PrdZTfwGksLoPGAzuVCodV z3t^hfSeKbEtKR`6rcO^(Tk|Ji;h#^@tg4Lx(v`XcKQ|n4vM&m!<4BEs2>u#BQQ?+s zG4&C+?bZyu0d+YxPfOs1%LAli!3#gv3&))7CaE)BJ2u<3;n=VqE8l}OHk%$RiOFWu zHjruB;@O7!5CB>LR;fP=NDNCgRo-quDUZ!Jt+OdWx>8gCv`#4IWQT+sqePQ>`O(CN zrzDN71HO0ct;ERN`xt8{CSqGPr^M7M6=xe+cG)_$?20m|sSvxr4|0F7K(jl!IY17j z^7y&oh?D&j;lcDlW8zF7G}c0#W*Ag$Eh77%=HQ7C2X}$=zk>rh_)i!PXi402aU=Uq zm#5b_VtzQ?$$kMj-E=q5xXAH<#Lm*OVNN$(@%*^RLGiln#KdF*znD5NRc*4bA?G6t zH3ySD0g=?l@xv4&6mzoQ0-hd3sZQdpra3gCA+*ERPIHQwHklpoL`=oYxLK>X2jK(( z&FufRZS!3~V(K#?zMe#R`xj}xGFJphSBibd_0Gdxi^eYhgwvhuGsx+tKME{LhMcOZ^pGUY^0D2Viz5xIY zSZvheU_}GwJz`fb{+>D2l9sBx{}J5%ayT6$sy#?^&%m6)Y||c2|1RKp9!Hl z*0^1Fruv&aQkng?8Z$^T zb_!!EaTGUO{U;G_Cct|RH#S4euEMDy;;9dWD%%b!yH3@W4YmYG$9J^xbHfoQyA)_n z8Uvj1CT;`@VsFt?#eT$;S-3K6sIL*Eo(vVW1~iVKDEfkvrYJU<8;&^Hi=-&_P>!eC zc`>oc+a%5OZ0#JS-vvxtxPKeM@!JW|%HY2b;ieaGo0oV9cj}HxJZ3_%1ohz&f)YP6 zp*9uMYSXN;0L9b>Ol_@Y--7Zl&*&YZC7P%P3{})1A;>ZHg%HPIL;+u0ra8X%+5qU*B8Ov6_Az0E zDhP{gRN2Igm^f2G+VEcs<{u*l`>g$ZJBa3Fdfo9!q$xAwiGL61exm6hLAqtFc;5|B zO!0uJ)!Ao(+qYaZyW_e5=}PUv&$Yu=7zlS(IC%#Uz=`46#3pHR^?C)(7{B}H$U;40 zn&%E;D$h&@KY?&e4TpG1Aj@;hH7~~uFKj2*3&))70%^~;F@MG6n3(ZJ3`@heV7PGF zKMc%@;5vwDMb-2kgqz+^fawB<5Uy3pB5kC4GQ{UuDF06Ayi8lK50C>33oiNGVPZc7 z#K~SjJ}>0zNu_~pOgHd_eL77y@P(ZEasYlK^95UV?8ciJ+dwKR9%KVN&|>&G*{hhc zj(DIyDN3@=(9nxh=P(V^Ka=Yg$@M1YO50qzKUzMdWJx0*vZUIsX=H8)kQ+lfe(?WD zV~MGmHZ)62$=ajJaPNXN#G_g&H0%`eO-RxrHjZf1B*---nq|L3w}T?DF?B;*Ra5T( z(#T5FtqeD-faTsBia6O1lQnAt&3Lo}XtapBvO|d3t{>Ayo8ta7RNTiw=K)jPu}}$a zIO1eKA6?vZgW}B0SJ&>DP;n1{P69(Kb*e2FkVPf63rAoxUQuzAAQn?A+N;8R3UqET z#RaA~js$Kv;$(jmF3t>9J4g(|{70s>4SXqzP@6%~!B4+HgciDP83p)1;Ty} zMiZu;DzO|h-V0Ny6db{{V#cK7@R3@I*lPi9nS+2X3j6m&Po*vdytUI|kSr*bo(1^k zPDaj0v`yzxs$C39u#d?Dy6hASPeZF9J`$=cecbZuK~Z9|P3&10B&xMqz- zQLk#XlCjNmvUzOGOYGIiFXE#+FXtd$M}PQ6vKLq}_^^^zCj+J1wKPO|b;Yhq28u8HZJ zU|#dcv9DqOc;);YzfU$S>=m_GwTf}wgBy~5<@L}+!&W6+vy)sH)z9i&wPLSQ?|y44 z_a7>nS5Vk*QJ=y(;8j~HMm?M1!D=_}_^!oCR-~EIYGA^m%M4fVWI0X0X{7oOF0)=a z8VwHBhHWUSdJ?*w>qnR>5qQ&_p%~|($&M3=stv|eCc+TE+_GK;!?ixIU*+Ez*e2bQ ziEx9RP;re!EFC6HDKz??5YZDAx|McQRoWO6Bc#oQsOf6015rQ4t4hn*@rIQU`c>2u zbUJGrCYo?#UHJ{3Rh1h%0EJuSBo{W5LyUV>4r)}(Oz#_VFq2Lr9jg-l|AI)Z8qDmU z4J-NE*60&!i8|KFRH(l4^jyMul*KD^IwM|9z{zBlN10CPTK9X)Tn6FEPYbU)?J@!frXv%9<#yb-}~i4VuU zZHdF)$|HD`y_ID=a(MV&HwbU@-TQs#W{@cS3n+ZWPww;MsDc+C^4)EyT+W{*ytz3) z0cKl3HNl$MyiGUxE?`c4n;Se&4;vpN;xb+>i?x_SMsVM>4Sy73*QMC6U9{ecpoz_Ux59 zd+{D1#~$)i`%u@M?^6!@AR@>-KJ=jPJ?Og+p&i_22w+SEumty+x~s-|N5*xf$h>_` z$Xn+4Zu0p=r{B2^I#3qY*?i4t)l=eE`loA_=diU9Y|>9iJcUB;fv(0BcmHM<_)0s= zn(6b;%b$17>d}$$sp-{2<5O$;M#`m{{xlP%w7Y~C{CX#k-)iOElZBG*RyK%@1B%1G z%fz;9Nq!C0?D75mXq5~61eNk&O#{t83Jve}-MxNu4=`o{`4n_Av@J9i4a7b+zlX{T zT|MKVp8-+_GI)FaCQ<0QXzfKnTHfQI+2fxLX+yF(>C#QQW&Pw)-}QDM_LE*SIv#Kx zuy&U|s_W1Kelb}BAMx>(ix=FOrcVTB@>f!$)?G?6!lf8If6{b*| z$dFmI4FywZgKRVWk83FLssKT_PH44`ee-z+%`t zNW8~in&Vx1l6#+@zFDM&c1xqhC^!UN$dh(1G2*vFGh#4t`=rTJ(wEsGVYgUJ3);II z9Y`DC6`~PnUYM-ai7p>p`Dl^EgOYi+z~{;xii5;XB>L#k-ff5d*bX%Q)M5V=Z&ogB z7Rb_^5K9;N$>clzj(xDmhy6vuPYT6%?t}F?%vypUT25-HE)g*B1Kv>LY^3-|!2mED zl{7&g!45!Uug56Swy`PUpx8rT8UCmM-{vL7&^g!Rt3fUeNoh;7tJ_RO^nBO zLf)O4o*b*QRN86NjvY#&%GmeI=(WvF{z68D<}PdJ?O=b#QGY!o1ly5x&+0%M={9La z`x=zEcliHh23?#H9aci8N_5pMcKAr$Ae$R>$3*IO=b@svYJ2inp6vAl|w!?L5IVuW^QMeh#0MxwC z-A<>~dlG!N2|BG7$IE8vK6I33eN%cx9Gr6OrpB8@JmE))H`V-27{o#U^u7K#ELp<>; z*wl^QKJ+0Oe*MVTa)SA^1W zR4dwksNxlRbd!-4+8B1_-J{YEp!BE2_rW#jq20y(^!>codT8hkmts^-B%iL75TV711!vy*`^HRN5Nr^qZXz%aC?U^`0aB&uuIXA^%hPuC| z#|v26!wURsMpN6Rh7=oz!>DXuxt;mGUd^{;yT26pXAJu5#JkbnHAXjfCyu-Dl;Bj) zLFE@xg5piI!0@=h&P@W!JvLo>|>-KS<`=Wq;Daleo8pJTim z-|i-$fByYVu%#I4r%xJ zZCxk`g*@XY?X(&b4sRPwcygETPWk>JKmL^O{+>?nc3sr`Ut|KfvT@Ca3g!HGVY-~h zRL;0n>{RyEK5b`M|7UCZOxscPC#-Kk<_95qvHfBbwDnAWv)XJ=qql&-K7Y3EB})%d z2kD$PgF-oNZ}$wO#k+MF*(}Y!3>x z9a(9se9o3HkRA>N#yn7l%%6k6SC3DC%_TL4T`1GvB^j<0EGe@qSW1a47$*N5MeRkA zY|p*^l7qA%tgO};D9;uCVk96N#;F!lx$5BPe$$`BWfjvc;D90s%q9qsJs}0I zOn1w=N3&=l&XzV93)ug54us2*At(rdjUfnqa8@$0uF^&^ESgPWE>@GMmA{OPm zcG{tCD9i=uZrk_!vE)z4LmOsr^Y;2H2mMvxpzN>Bd81fJ@@98K1HOrNm-PfrGpb#Z zt6*n|FusJ!MGTB)QF7)Y$_cKsyv)(HT*Tl%qMO*x;K8B|Vi>PDB4)WWxHtg!)<39@ zhA|8@dg={hjNt~WmZy~cd4sfpaJo+I@!m`U!Ig+%WPzU&-!3YS7QnQ}v{7h9gwmQo zIlsww88gdDR2=)BB9)R$mT0IBG*lXGRrVKRlsjB$C1K+C=`0bW?J!&$v6(!{8&i8w z@NcPsjL$Xr<_WvvXN6rWch<+g^vL=wfFI7);5R zR2~h2;e;z-Bm-DXrnE4&K9n2dX473_XgDcFOV$&3*6)C&rFsvEM};LCO#r0R9KYV+ zHyt7Yu~Whr%Y~gYeL?&lZwMsjAHk#S%`fAT z^X9`@5g*|SaYI@l54&vGtY=Lkl=|gEmzxa>O$}Fx6nmm3n30%A`Qz$$y1X zlx+`$>&(?4dM&lfsx|!^x&-To9<{i~8^o~gEr6o}yGPBU!-C;mbS?(X!Zt$HXAvd% zw$$>blTgcYZ(p&{J32biUm2w;+cz?jYzk0{Hdg6mB7k2N-DS*b5cWkX^^j#qD0qym zjvk_Yuh6_x>eGi3V(K*9XW9($FiUyc*U6N9lT%x%r|ocpA*~5Tx5FG^A*u;0GU#b8 zR+q4U;DhobQp&c5rMwKQAMPmVM*Sh_>2+KCPAA!Gf!Ey*ZC^a-FYEDF<^1(~?bIlJ z6ny}~#1d%jtSY6~ySWm|gvuI)i0WG>rxLpVN9wnIO_Wtw3?Hu(jAr06MJRQp;SYsY zio*(g6Re?3GV0A4zjY8(UwoBqBCYpo2mb0n4W1~UsXnYH)Q;?Kb!6vgF3a@xMODfQ zljy3m)ybKoc%!T}O;{@aIT;qXZq>R^qzZ&2V)Uap)uu*p!5o6FRSGlJhHao*--byA zrUGf?)4M^+_ z+8Kb3!&!s10p51eakN~6QG1K@+K7oHYCbtt?jP`N-)}M_MF6QZV8Y}+j4Bqt`UB*SZ`cMY>3Rp^nh~%PLkkwKj6>ZE^~tA z)ydigG9}?&1ios8dz8T*7#Xt5PAuEL?W!v?C32pPH5U3kFw)#A5gYw|A^fI>gkOe@ zrZU|!GC5eOe?^Z$g$&uwuh`_ zlJbC`-Y$xPj>z3@Zj^9g1=}Akh?_0!Jt#7!PR6oc-))8BMB_2rzI01jw_rh=+g(s^ zCq5;r^JOswE5J$Pw$rLZ|F0i7xS)zx2NEL1WHNDu7#++^KzJeQd1`#n8;9f8QO2Xk z>*&Fw3o$>1NgP){=nSI=0yP8FQJ~H)@6wdkwdHwl?-rJ z?a?#THMO~KM()#&U=yP3omR#phnUH2^rr>w^)WOVIP~F@f?2GxvgNqx&Z$4yY3ws&bikIXuP1?eQwCcO z_xZ`2Spn&uUzhH=nV2aCw`O6*j2{)3RZn8*}2?k|Ak z?an)@$PITcyTX52c@GU=JA79zH$k%IMZ;SA4mIP*`15-W+1y#bTE3+ zPHWcGXw}HtSC*+s3zN^ms>))V`>d$N6+$n1#MShstK{q}$(r0#njB>Ea>(VXiIt;Cd%Nm#Mou80$U-cXk{>fNj ztl^tWa9h4|jBG zXQ902oONsTF-}g2h6>|(K`t>iSS%EZ`Kj{ASZ}#d0jPc)Zz`4){aJnFq@?os4cA<= zVO##%&D$@{U$<@RrTM(-6FgPQ%dr#%hmFTm)XrWtG?||m9E5PxU?ntxFa8gXPVCA< zkMJw>s$yX%U+Udi(6M}eXD>ElO67dHcL?S6O^u9}N5(A_5FEAZuSCreNK}HMJPtgN ze+lE5of;dRR=Y;V2PSr@k+GrtWN&#G)hZ6CzKPo=2vXB|Y&5Igav$%@qb{R`ehd<$ z1qJLvaa@%qdv}ei!t_WPbtF+VIqtjdNktx5G=(5xycY{`=7=9SK?Mf}M?ef=>@zVV zO5sKmYEmkV+*Zh!QII`U2CQ-cbq8L4U}S8pFkZ%gM_}d(xPM~24Di{Ffa_|2Bc=S{ z$oL4FgS7z-QUwqKD58#)V?;$4+Bqpl!=Y*Mf#1Tce4A%;|P zymzd?SfSWko+zqvVQf+{p^|rE3c7&e?Dqa~6_v-92g}p?QO%~%U_)p}O-Jw8SHc1{ z8|4HtD6j(RBn+1dLjpzHGNHeByuUE2(BfE`8YoPIIyOQjR4VrtC9~NV1vW#>g*KFV z5gJp~Zy%meorcCoNe6jRN=Yh%u;_&b7YpSnD4&jCbFzr;6yB#qx9J@yK#`{g@zGD* z&*n`Opt6Z{LY!!97Gy&cMc4rXLiCa(IY&_l*iIQpj=FYKxW zm=8Tj)-Y|5u*%wDC9K9VF7z2b_3|9jASQCakX@9jgbl7)IMK+AP~Y>Vv-LwaaCngc zh}A_0($H;VX3RBlrjC^CguWV)lB=_9B-lAOQ|tuQ2CHRgR{(HbB%+kP3@I8?@mMQ3 z8lw0*K}K%aSFIA%lZgs4qN;abpjf~^m8$?DLhZxXL8=&4N4bJxK*ZsUO1CE>AXW)O zGH9AAXH(;)k)iRzK&FO8ar8oTtHsh~t0YWUgY>;B@ch)|WT7ajBc+P`B&gVAQqi!_ zgPfHp$yB_JN*IpJ@h=arYTWGxGmt#I&hcnNxTl_P2*>v%y+(9=b$&y5TxFUY;WsI_ zr4c-#_B4bytA`uHlj?@Odg@K8USCm#6T7 zfCiVR7BqljDNZenfG>)GFP;H+0Ewxey;Psj0)VS#;mguNO;W3YudRbGHSozg_-g@o zRJFb=kJm>095qw^Zw8#@9;&0mj}qrm`3$_CIbGm z2>8E8z!Pp``m-b8nF#pm2>1mN@GTMW?Gffes!CEc%lT7?n@m@%axC^nV!v_apjyM+AIv1pGA-@be?!8zbP?MZm`+ z;O~uq^8=cV^!$Mc_}2kvzdqlLgE0yd*S8IPt%2MA{=En~{~Q62fnXzkS|i}6MZnLG zfTKG$q`wLH_%D3w2Y(T;IyF}#ezL$<7}x6kkRhQn(+`<6`1StGK7r5li~d09%=Az0 z0lWkHf5`Yd}e_Y@u5_*CRVIyJ>~B|dmHJK~kjxsBfPy+q zF#K2)0q=@{UnFq&C;33g6bv!ENZXM9tp?v7H927L-(unB*v=ms_fd zxvTG*OtSJ^g{;{SUb-^=<u~ta&;B;*7p+aYzLQ4J z|IB1sYT>sA0>Qx=xy~234u|iTM8Iz_bnJ11^(IrFfrtN*9Fs;P=)5fg{<{(ILx%p2 z-atzHtlaTW2n;;@e+ZexPqsFa&)*n)y8&>Wp~G*kQcvtzqZbYQrxA2sGWf^(0>QL; zI2-+1^sS`f^qYCDF!1oF!wFv}aE5BHOCsR?hK}7=q~Fi0Y~aUk3?%+$Q|>+k5C6+J zB7D%m_ixkqs}24qEPSJe2L^txfw%Q(_&1ck9yRdr_u`rI9f2F9(BsE|v!B-6y%!_! zvE$va9n%r;MFO9t!vA-P#h+>5``;7@Hycg8)&ZUoNbPMy1pVs)Z+GXa=l?pW$8P}_>lH9Ba(&R?hyV8!6Anhu|Foq)5lH^0<&OXD8iD_p5%8xB z9eXbEAkEbftxE+%M$2x=2b42A@9)Zsf5JfjhG zZjXR}(9p4G4y+$_$iTz@MVLi=$-sk)14iW^d-3^j1pOls@Mj|6FBtmD`0d9?99JB! zFy(B|nx3J-YPP^lB=lHe@H0mKn@!r;fOFib?~fNm(Ai|@>^FYq`wg9&BJjry{;|6L z^419a_eQ|~FarKbLqE7B5Kj2bA6~y`hJ5fXp!$7*|7P&*%bsu5=<0C;e|UQ!kjD-D zIRg*>cS%X=FJdQmYLM>;4is>t0Vf!6rlO2(bL=P;cyeN3B0n@b(bqegAHe2#Dc?Ia zjk5@2lh|-B40Nq+j3GPtI2lpw-JQpdWO26|EOL{5U}|h^H?o9c*p(b9*PzOu-_TsRuhg6aL2!HhaV}}Lc<27-s3{Jx*uQNg*SWb zM2^~quWqqdw$^L5yFtG;UfDLU>~@2E?S^%AlUlQBHmFS`wAEa@!CbegT-`se-!Kks z1cA%yCFZ+MrtT&(WxR<~@mOw6(|8?h_hfX=Uo1t?h8##c)Boj^!X~~h^01oODCwAA8Dh}~@X*gMmtb+}V;0Q|Z zZUbedEml5%*)+B)e7S~gW&QjH($Il zzpiUt*SRyduvtkQm&(&5fM#i2_r!ev@GaGx>$}c@#VQo45YozBJ3O{^WEw{0GJV*D zv?%Bq4T^Vpiv8HJ?;o42B>|PxosNuEdnWP68zEbrmD=*q5|luM9?{4o%X3ZPlTTFQ zS}t z=q>kF_@-Sf^YaDJJ!0v@1i8x#XH{O@Zc24cfQd z+kXoiH$T`rGFl~bjv7NdR^x16TQjnz`(On`WuGn$j~U_TE`xGtRZyd)LLsC&M(KYK+0CzLiW(Hz-RRx^*(<*uz48sw?TN%>;U6-M+@T`N(x z{gbjQ}(pbOwZ6s3DtJ%`jhssawiRpJP}eWwmy8O(nNl^cYFZn z5p~;aEl!jtV0Gl244snDdB*(at3hr6hefAKI2oslmBuD-mlUAD!&32D%Po{IEfyz= zo1~$8Qq%SNYg zuF^tXa;7O)~>N z88@dabGngg<<0(!eRyg~bLBAw}4zqI6Qlwlp(m94s5iz17eH=&DMd6vH@}VG{F)8gHV<+k|ovEudY(uC*p*X3!Fc=iN zaA3WQ$Jhr}j|>>lhKo0^=J|F>8)lJR1G~pTPe0L9CB+sTj^vSszTe9XCNw!(R$XF= zx~ToCi=7T>6XGXy6^6|;ad-fEZA|CT^F^J*hC#S@Y@{D7On??{T~dH1hAywVtjxLw z3Vl;Uupbz8O}MuY-yzs(V`6Z0bvwT!3aT!9` zQmN#B)C~|*I0q>Yc@tKL^xdxiS=f09g!4b|29or=$)Ax}^;Vz%5+wcWOD|1W{_T0n zgxQB%YqHvP-$a#^gs#FJs~8pj?YT>yui*8($%t(`k(13oPg0f2;z?9nzCE9r!TJcV zXKaFw3JnvK$IZCE6yo2W<8-ku#p`$ULs|YUIs3c?>Aw!;x92_gnEZjsU(de*tJ@Hu zOf5ZoE|lwQyrSf1>;DemF#p9w#%0fsa$SvA&M?l$9Q^9#$Mr4h6#0`Y6PTxd)SrB0 zS>fwFh=lXo^Qf7O#yVu$(dKD00sH(A;^F-E-0H*2G~#n_v^n+D=Cja0K_Hypo^QR| zEcj!2tLCcb{}57{-^$%Uw639nMi>I7!X4?in?H&oQ2oW|HQUjt9YqlBL&XYD743EOrWQ{OZEN6NTftTQ0C WT#d!OwZ{27_h?MJpK9^z^Z!3}w}-9( literal 0 HcmV?d00001 diff --git a/solong.h b/solong.h index ad9c7c8..219b06a 100644 --- a/solong.h +++ b/solong.h @@ -6,7 +6,7 @@ /* By: cchauvet # include # include "minilibx-linux/mlx.h" +# define CASE_SIZE 64 +# define XPM_HEADER "\nstatic char * XFACE[] = {\"" +# define COLORS "black|silver|gray|white|maroon|red|purple|fuchsia|green|lime|olive|yellow|navy|blue|teal|aqua|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen" +# define BACKGROUND_COLOR "black" +# define SHAPES "square" +# define RENDER_DISTANCE 5 +# define WINDOW_SIZE (RENDER_DISTANCE * 2 + 1) * CASE_SIZE typedef struct s_shape { char *color; char *bcolor; char *shape; size_t size; - size_t x; - size_t y; } t_shape; + +typedef struct s_map +{ + size_t x_len; + size_t y_len; + size_t nb_collectable; + char **patern; + size_t player_pos[3]; + size_t exit[3]; +} t_map; + +typedef struct s_data +{ + void *mlx; + void *window; + char *bcolor; + char *pcolor; + char *ccolor; + char *wcolor; + size_t size; +} t_data; + +t_map *ft_getmap(char *path); void ft_draw_xpm(void *mlx, void *window, char *file, size_t *cord); void ft_draw_square(void *window_manager, void *window, t_shape shape); -char *xpm_square_generator(t_shape); +char *xpm_square_generator(t_shape); char *ft_gen_xpm_file(t_shape); char *ft_square(char c, size_t x_len, size_t y_len); char *ft_triangle(char c, char b, size_t x_len, size_t y_len); char *ft_xpm_gen_file(t_shape shape); char **ft_readfile(char *path); +int ft_map_is_correct(t_map *map); +int ft_gen_assets(void); +char **ft_get_player_map(t_map map); #endif diff --git a/t b/t new file mode 100644 index 0000000..32f64f4 --- /dev/null +++ b/t @@ -0,0 +1 @@ +t \ No newline at end of file diff --git a/textures/square_yellow_25x25.xpm b/textures/square_yellow_25x25.xpm deleted file mode 100644 index 5324a6a..0000000 --- a/textures/square_yellow_25x25.xpm +++ /dev/null @@ -1,30 +0,0 @@ -/* XPM */ -static char * XFACE[] = {" -25 25 2 1", -"a c yellow", -"b c black", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa", -"aaaaaaaaaaaaaaaaaaaaaaaaa"}; \ No newline at end of file diff --git a/xpm.c b/xpm.c index c12b6c5..ad8857e 100644 --- a/xpm.c +++ b/xpm.c @@ -6,7 +6,7 @@ /* By: cchauvet qn*}iYfBOR12mA(RHO{0(uBf?wh9pCocqqT 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