From bee17fcc1ba8a62b2ef1ed6e97ba34bba765e104 Mon Sep 17 00:00:00 2001 From: kinou-p Date: Sun, 13 Feb 2022 22:07:59 +0100 Subject: [PATCH] no norm --- Makefile | 40 +++++++++ cmd | 3 - libft/ft_atoi.o | Bin 1624 -> 0 bytes libft/ft_bzero.o | Bin 1424 -> 0 bytes libft/ft_calloc.o | Bin 1640 -> 0 bytes libft/ft_isalnum.o | Bin 1432 -> 0 bytes libft/ft_isalpha.o | Bin 1416 -> 0 bytes libft/ft_isascii.o | Bin 1400 -> 0 bytes libft/ft_isdigit.o | Bin 1400 -> 0 bytes libft/ft_isprint.o | Bin 1400 -> 0 bytes libft/ft_itoa.o | Bin 2032 -> 0 bytes libft/ft_memccpy.o | Bin 1504 -> 0 bytes libft/ft_memchr.o | Bin 1432 -> 0 bytes libft/ft_memcmp.o | Bin 1488 -> 0 bytes libft/ft_memcpy.o | Bin 1472 -> 0 bytes libft/ft_memmove.o | Bin 1520 -> 0 bytes libft/ft_memset.o | Bin 1432 -> 0 bytes libft/ft_putchar_fd.o | Bin 1584 -> 0 bytes libft/ft_putendl_fd.o | Bin 1744 -> 0 bytes libft/ft_putnbr_fd.o | Bin 1784 -> 0 bytes libft/ft_putstr_fd.o | Bin 1664 -> 0 bytes libft/ft_split.o | Bin 2544 -> 0 bytes libft/ft_strchr.o | Bin 1656 -> 0 bytes libft/ft_strdup.o | Bin 1704 -> 0 bytes libft/ft_strjoin.o | Bin 1896 -> 0 bytes libft/ft_strlcat.o | Bin 1832 -> 0 bytes libft/ft_strlcpy.o | Bin 1552 -> 0 bytes libft/ft_strlen.o | Bin 1424 -> 0 bytes libft/ft_strmapi.o | Bin 1784 -> 0 bytes libft/ft_strncmp.o | Bin 1544 -> 0 bytes libft/ft_strnstr.o | Bin 1672 -> 0 bytes libft/ft_strrchr.o | Bin 1472 -> 0 bytes libft/ft_strtrim.o | Bin 2264 -> 0 bytes libft/ft_substr.o | Bin 1824 -> 0 bytes libft/ft_tolower.o | Bin 1400 -> 0 bytes libft/ft_toupper.o | Bin 1400 -> 0 bytes libft/get_next_line.o | Bin 3704 -> 0 bytes libft/get_next_line_utils.o | Bin 1912 -> 0 bytes libft/libft.a | Bin 63878 -> 0 bytes main | Bin 76240 -> 0 bytes main.c | 103 +++++++++------------- parsing.c | 169 ++++++++++++++++++++++++++++++++++++ so_long.h | 13 +++ 43 files changed, 264 insertions(+), 64 deletions(-) create mode 100644 Makefile delete mode 100644 cmd delete mode 100644 libft/ft_atoi.o delete mode 100644 libft/ft_bzero.o delete mode 100644 libft/ft_calloc.o delete mode 100644 libft/ft_isalnum.o delete mode 100644 libft/ft_isalpha.o delete mode 100644 libft/ft_isascii.o delete mode 100644 libft/ft_isdigit.o delete mode 100644 libft/ft_isprint.o delete mode 100644 libft/ft_itoa.o delete mode 100644 libft/ft_memccpy.o delete mode 100644 libft/ft_memchr.o delete mode 100644 libft/ft_memcmp.o delete mode 100644 libft/ft_memcpy.o delete mode 100644 libft/ft_memmove.o delete mode 100644 libft/ft_memset.o delete mode 100644 libft/ft_putchar_fd.o delete mode 100644 libft/ft_putendl_fd.o delete mode 100644 libft/ft_putnbr_fd.o delete mode 100644 libft/ft_putstr_fd.o delete mode 100644 libft/ft_split.o delete mode 100644 libft/ft_strchr.o delete mode 100644 libft/ft_strdup.o delete mode 100644 libft/ft_strjoin.o delete mode 100644 libft/ft_strlcat.o delete mode 100644 libft/ft_strlcpy.o delete mode 100644 libft/ft_strlen.o delete mode 100644 libft/ft_strmapi.o delete mode 100644 libft/ft_strncmp.o delete mode 100644 libft/ft_strnstr.o delete mode 100644 libft/ft_strrchr.o delete mode 100644 libft/ft_strtrim.o delete mode 100644 libft/ft_substr.o delete mode 100644 libft/ft_tolower.o delete mode 100644 libft/ft_toupper.o delete mode 100644 libft/get_next_line.o delete mode 100644 libft/get_next_line_utils.o delete mode 100644 libft/libft.a delete mode 100755 main create mode 100644 parsing.c create mode 100644 so_long.h diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d0e5d7f --- /dev/null +++ b/Makefile @@ -0,0 +1,40 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: apommier +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2022/02/13 16:27:49 by apommier #+# #+# # +# Updated: 2022/02/13 21:59:15 by apommier ### ########.fr # +# # +# **************************************************************************** # + +NAME = so_long +SRCS = main.c\ + parsing.c +OBJS = ${SRCS:.c=.o} +CC = gcc +LIB = -L ./mlx -lmlx -lXext -lX11 +INC = -I ./inc/ -I ./mlx +CFLAGS = -Wall -Wextra -Werror +RM = rm -rf +LIBFT = ./libft + +${NAME}:${OBJS} + make bonus -C ${LIBFT} + gcc -g ${OBJS} ${LIBFT}/libft.a ${LIB} -o so_long + +all: ${NAME} bonus + +clean: + ${RM} ${OBJS} + make clean -C ${LIBFT} + +fclean: clean + ${RM} ${NAME} + make fclean -C ${LIBFT} + +re: fclean all + +.PHONY: all clean fclean re bonus \ No newline at end of file diff --git a/cmd b/cmd deleted file mode 100644 index 3fa5765..0000000 --- a/cmd +++ /dev/null @@ -1,3 +0,0 @@ -gcc -I ./mlx -I ./libft -o main.o -c main.c -gcc -o main main.o -L ./mlx -lmlx -lXext -lX11 -L ./libft -lft - diff --git a/libft/ft_atoi.o b/libft/ft_atoi.o deleted file mode 100644 index bd024462d1f141b0f16545e4ab89fda594189fa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1624 zcmbtU&1+LZ5TDJ9X*I2h+JjJ$cv7iZQ$MH`kwAEMLGd62>Y>P0 zgj_s&^)K+|QBpkAV-6m2^dbn!A>yTYsWUIT>E`8m(Sga#{APYTvmY<7?FaWFjDZ#g zci||~D8Q<94(G+%YazI{Mkv;!*HxBFyz(OtXGT6SL)JECQG z1?wa}!ky{H+ypk;_&R~5WP1Wz@M5%P@9{(??b(!}Q4UdhOQMw@h-OFZeT!gY!P=s^ z7i5XVr?y~U#O{xbXxf9&aj%AqyWDt>8#)k)5B6Z~Gpyutw^Nt$1+Of<)H1)$GwH=8 z&kq+H*D^eFPa>~Gd2Ad5BD5mq$F`V zZ2M&LO(ZuPvmy*jd_3%jN~7@eFf3<<-Z;&IQ-z2%nsPj8`MVj%D6$|n3HtcdUvN5! zafxGi+L+VdJC$t6bw^g7@}l;JywuS6I~dyqukDniQvhC*)uG+eo^fof0%jX(wzlQ zF00lY?O(-IYsv)-2-ELL=k5m!RU!yqM4VpJzw)mjm)6XnnxgwJm>~MPzqU6G%q)GO z3rsMi)<%q8*Vx@-Tvz-Q`lbZGoHa~RX^{U;@o$-A^n?6W#OM`gQBCQp14D| diff --git a/libft/ft_bzero.o b/libft/ft_bzero.o deleted file mode 100644 index 07a6af36b5072e6bf30c561d09ad94e745a90d4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmbtT&ubGw6n>knZPlnz6qJg@lNIfd`U8I)BoNl_K|BZnFQshawgug!?9M`4tR9L& z=p}!Oe}W+BHGe`bg5X6lhu}rOx0%^a#`U5P-n{p|dEeXjW@cY|j~(qX^9`hiv&jr-NbW-IN;w0ck66t$)0J82d!zq(NqwOdywFwLN71$qR! z^0-N8>pf#Gl;!NikhA-Qob8IUP@bFbW1x$`Sy{YnIazsIYMhvTiG&O-Uid6#==-mt zUAOS0xEJHF45FKNX@GFuY?^6|BbR3X1T%c@FF2pXw3HE^G5XAA=ahB1*4ho@u4v~j z!&P1&Ji*iyBH4*#&?1q@cw#rTC&O(?;#nXA60Ia5(e6f3*a6n*%242%mJ%7XpR0JI zlZvglyA{TAheRB{2t>HKwjKvjn0@-cmIbi+&g_$`tE&0@D&|~ME+b$}zbC!-Mmv_Z z`B$*d@9AIp*TLnQHK-~2``1hmzW%rZ2&6cj45CyCfR5-n(ZkhEcwMS>M=kFsvotrhcAlDE(b)k8oG zy?FHK)st6`Qo-V_2N93G2nD@}IRp{v%| zFo+}ykVy{wLg*GC1>^8@;{2~=yZhDdd^hdx=Dytx_I9iuW!PKRo;~r#LTqP01iDt= z?ripfPk)=-vU;|+i#dJU*!=*|v3iEW*rxX{?b+?%Gv$1I59MNU&de-Vg9Z=GS$2ix zviYk)80Mc`&avFg#Rv{hH-gVJ>JilP&1Facydz9rV-kH5!CO0VVDT*m!%4(z_mU0~IA8<^Lu z*Zl@!jVAXQeiPX?cfCgdEJpRSK7QDEj8mdfVKsEoBpGPj$%%Q3x z`(IK)^ksi(=M+p${iFtpFL@HWfe!s8L*Ed_Uqpf_tTb|dGOnUSHRJrgNVp~wg^ly? zBCgxtE6x6hEBSJNy57_(CoXCVOaIO>4WF?1?ht}oqW=s9iimQD$SL%6{I`N%JIsun GIR6hhUy;!O diff --git a/libft/ft_isalnum.o b/libft/ft_isalnum.o deleted file mode 100644 index 3adcfbe1b7fe2623b5baa59b380494160be03ffa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1432 zcmbVL&rcIk5T5Op7NtNn955JD6B9MSV^NIa!E9119*hT*CdP!|wk$sayCu7C6Tq-N zXiT_y^uK^3M-%=5{s~WBFkXxy(V6X=^7vVhHkXK;>~ z1^Ajf&)qC_p#($lYxLHi`pf;mqCd&;WTMJ}z!-e#BtqNxE^S5!hf z>Di5lcLM1(K*TcY#5K;Ozb!#5d(s2Zh+`1VRuK3ha$!sQ0pL(DJEoU85HB9K0_1rz;Lp7nIA_wyyTEqgaY3fgu z;0X&=H1%(h&!fAl&S6|FIIf5*7^zRzGvDvqBpFm2Jtcs46`j^F^~9NXhZOu)`Wpl^ VQ*@WPhFL$oqxxU%&g>+n{vRHXX`=uD diff --git a/libft/ft_isalpha.o b/libft/ft_isalpha.o deleted file mode 100644 index 974f39cffb30766205424e24ea8fbe48dd66e7d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmbVL%}X0W6n~r5#E)oW>7imN>!~emhD0s39?C*U?Ve z(W~94bRiAn@cY5jo6?8VAEyVmM+di`J4uZDois+bGl6mKFm*xe{TjX?)%tf>E)1dZBj2ZM{^yN<_z&0+4v(d>O#R;ta6|i4{oL@_#boQ+M!m68$!b@S)ac^zAfdQ*L|>y;`g4iHZhT?Wlsjr0;7)xL2268AK?9 zI9Iun{;mY^#giV0au|ZBH0yQ0fn1|0eSz1N4W(DvR(Pw?7OkM!@&maCBJgXT@T(h} zfmipri~Hvpl+xXqC+MmryXT-V&DCud0df4Ucx;CYBb)kXI8N{CzWP_Fr8RTty7B%m zbrNgdpYv;t)2E*4K&x5DR1ph$Wqo&#_#BX0h+2q+5U^0>5-%Dw5AHUQ2r-2qr1Pg( zS_=LN|9~LaC^jO3&fM+B&6zX~%+1WV^X<&e?p5PEn?6kgDH?3RZzNHGlJD1#I&Ktt zp$FavCO#9}wWnI;>#Fhvr9S*ttNuIM94`jf*dhyuA}d8F zj9e~+S$JvIg`o`z0n~QXt=$A**?YotRFYxWfOfG5S}CB7_4+$+u-G`_q$E@HiT4Mt zeX+id15BW}g;1Yu@b=woS#LTC>O~obLe%SBDj>SLbDBnsA{{#Zf)4I)fzu=!r60o~ zrBCPVl#=F08QZW^nG8!Qfn*1TLnmoC4YSKxZX|)(+;Z)y^tf5#z>W=W08837uv9*q zHFJpN^4w&2T_KwrsWTCuciss`#g_Fs zh?sI!nZ$rF`L5(ztJb{yX(Z6Q`Y(STxwK~(RTWu(P6g4I^`%`_Fg5i?4HRGUBos%7 zURlH4V=VbW^i}cxLx;FXdwTh|g0!lV(f9KA5u?`}MOEcPG&&-{F0|CA63-YkiQH`<5u$}4*!d`y zDFt7`7Z3y+#YRNXnY-P%Ig`eLxtaNPzMa|Gz01Vbx=+(UiUw=&8%Y$P#Fh_wnTd%Uz%DRch;HsbNs@I*3I%=2P6$`)8;W^TFY zgmV}35f)jTbYbu#A&A<7y0M)EEPGFwj!H7%8qm&nKr02cP*i#d1^58_~6Jga;EI!|2BkFx;yU#V`9tN z97IgHs*GYln0!}qtyybc{x}loUHz9oja=F@f~tzFKc#}`%lgtTDVUmis|JcMc@j#X zL$9pv?lG49F#4)^|Dka-J3(4e$>@9eyNJ4Wm>8t6bvdwBVTdGC%WkD~q%1&Ro`hV-G=h#wRK$<#7k$IJf#THRb` diff --git a/libft/ft_isprint.o b/libft/ft_isprint.o deleted file mode 100644 index 625565ea763b4db9b90513100d1f2305d6fafe67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1400 zcmbVLJ4*vW5T46L+14rxYUW?QaN--d%QH=QRdzQtS1sH(eYHeVDUn9na#1-^vq(x z4QEQTF&3Mj@L&icA&lCDy1tbHEPGFwj!M$!8PG1aK`Vx}NJpsU28#_MPD(OLpJZ3~ zI*{mW-o*rp8wm9ogtzZ{%X-~OP%p|b6rx`3QUTG`-P6=!6zS0X7j*GZ1DqyND_t1& zDt)?Vr<6m!f8ylr6N|Hq5=eGbICPSl(=g{e%Z)TJhufY#mL4~Y9N2-u4Pa@<0hY;S zv!;cZmE$JE>za1BkvSFdkyT)MJC`?Yeh$nw&kSZB?;qMm)|6fR-$sy1cjupATx?mL zgNP|tl@SaGlkZBdHEPYzA43AYtN-$+kV|{UP*sujCsh!ASzp=(1yfUR)IjkiPeMs_ z=#|ynJ;stBMPC*FKeUI7w5OkcD@aQ!8GS#02Qhlhaa2`4M5FxzY(-0bO1{MF)h5a_ reNbLK18rz&4?mwU|J@PgQPdxxKoJ2~kskEw@xx*uN7YQv@$-KGGTB_y diff --git a/libft/ft_itoa.o b/libft/ft_itoa.o deleted file mode 100644 index 2ba0bdfe177cb60b7c1cc54764ecb2b19ade37e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2032 zcmbtT&1(};5PzH0)_%ms4@9U)PST=Twtk=%(X?gThon}t0WT$PV$v4#QIZX`mDt0g zbcux?d-gBzD4r4vtt}z}uRR2b5N!_;4-G|(Gn@C??XpGDfwwd7H}jh}Z|3d1>>qLn z0^uT%TV#L7Q9@of?b|-X^br^7AU`_K?FOj+g=*U#s%I;DrmP1_Ik_ar<(ypB@&a9^ z`dS4kRF`X1%hpJy?G5g~eu57K(QuLGz$Fw{AxO(sNayn<=31tU_v(9IY3nJ?ja2B{ ziD*Np{+{l9qlH}uT7}we+VhU;MOr91ARQI*w5LGz4ZXNXB|OQTPTyE?Yw@!1cNulL z!b+Q~*XvrgMAVbkjH|?prLM1-x+3Y>&78c6U68A5@-|+4O|D>%AzziuwgYJFcE+o~ zu40$AAkRqk&)0;M8sx%6t@9spfo*IKRG@#vo1n`N8jjfw>jLOPN_*n z43p?oEJlLE{?UPce{ghY=z%;I9P1zO%Rv%XVzDGdG-8p~jUN!4E%x9iJZcmV*eEb} zV;LLx_?W?QUI!7=vvE}kfmTxuJ;|+9B&LXJWJV?8V?|Yn7)qy!7*59Hkpy6gq#6<7 zjd|0m5`Mz=6N!vCok~teQtB)bjSP{=U^Jz~BfOOV(jH*ro3c*U2N=pLbehDnC0*dd zp7~5MXx7-1JHzlc(8%R4g5x+}#H}y%v-Kc|L9xOY0mGdC%I{@4CD3N!=U*^`VDt02 z?lWQLP!~Q78{s_ex&sFOJ=SnH13WyCY2H5$hrqy`R=&i5hdhvJD}NktyZN~h1mS(b z`5~9{`TXq8M&1HD|2n%c{!=^$`Z>Q9Z0qdMpJ(7z+?d4LzvJMuLPJSfsbjy-x20=-mv310NQ%}hF3x0gP6dGGt?ee-7CY<8^2%etn4Gz}iX zF_J96PyIMI)6|4+sepF4&mrLh=K&p!(p_>fd zhJ{T(aw@>WDCoy+nMGbB0`|g*9AK3&1m@O!->V{5twkQg=b8&6$9*aARyAhzpjP*S zs0l3aUOCL$-q;Kr-;<{}eVj!py%MhR1$O9U&gx%ruEe`38?DDkGIZ~M-{^$Wd=Qlr?5^lbc%k=UHaK{ldo>FbC|>jZqgjMedo|koZ*qxcMg($gu}T#THcSV43Eyc zyTQP4cby@codLyPK61X*&$QBL+_$baTX9#$);)1c*o#Yd<1}1)bJG^~?Q0_%)2HAy z_%Zm((vD-SV)iE`sJ znWFE%%0|u76XU&Tho%Y5e3u#tXr|RnavYgd{gX`j>A&!N5|cKI@T|7aw054dF4qD- zXm>)<9%CYl$6#E+L=__14y4y25y^1WcNCKTmL&1QlOBmy6p?86g23;B>-MBCa7~Mm z^x7}8c%vJO&9JxWhjN=l=)dxW-&tD^y}(bG{;y^MYQD4L$?E9X i6!pv%?+#R6(1kP@H(A=8I0ICsx3m3k}&V_y^Ljn5)1Ca z*i$G#FEh4FiCKafH~~NGi$5#8^M!Y|4tOWt=bcLbvpb-O!zbJBfY*9_+dbe`&+a;j zzlZ)lxAyEV6nDjf5d(I&XNK9`o%!8P@9->d2YsvU4lLf@>O=hg1C?3%2+QU2o&1$b zHExJFf16!rg~g>?apEq$x>jI?8}maLAcqVG*AZOH4=R9d?GTp5MRI1Sz*C2_3@Jds2I!lwoL-e;N1bIsGet0lAd3fJ+xu z|Edn6t?Da%Q^WMouezhzil-nK4SHP@caQ!z8IYG+Df8D^!41l3@*P>IsEAUV{Ktsr zaFyh~QV(Uq^Ab3Qn$D^C3Qwy|6fWzlK8_!hROd8+~bJO diff --git a/libft/ft_memcpy.o b/libft/ft_memcpy.o deleted file mode 100644 index 01d853b41100e305a6637fda52ff561768706807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmbtT&1=+95T7J<>qpnFA}CZOo~&peTR*TWNMMP52lXHXdMPElrmbjpm*fSyLiJD( zm%aG6c<@~CVDYpk*^A&sSm>qVrFhYqw|SelFf71Kv&gyzA}po$Uc6Wi)+AO1$R|_BpM*>mH!R z8uyTYbcfVt-{w8<5YZtw`n>lL3p{i`&Ax{>Cf{*~hRoe{_oC0#WAy_p*J^j{d9R){ zMPlD(*I9L8@m3&#`Rd};>7VUC1qBTCH2BK@pX(lm> zEGYd6N__e+INijglrcQ5om0+ECF^1>48lgc!y1_nU{el-CYYFl#hp<2bzrfGMs`zq zBG?kZp7_ECR*z#~jaC>2O~jfl5ioqFg;@BFXKB3AOjtW=wS!1>fJMP`p9Pz1>yaM@ za_j$E=8#QqmcKbC?K+-6jj2|bix?25z9*G?r<|P4^DkkZKBs@>UqvqUtfK0o_P?To z=&Svey{Tb(=@&iFe8p3ciw=EV6K{|4S5y*PuGy0RbyhJ&J@b5Z(4~wjy*z&fQTmD< znavg_ZFnw)j-jP;zFrNTp1s|q(1ObkU$uF5tX6@+>|1d(!B?mR%5PxnfL%ZI^T9e4JQa8_}00MBM}yNlj27) zrU+%B+0~M zcAVzA&FV@b)dc})Cj+}--lpSQHDI3a_Tq{}zP;fCdtvz&u$t!qt2Z6TZXnla`ZmMs zn)ZCFzAEzNM!;Hbvt_&fCNS4tvzWcIxa3-nEmv{$IE7NWyYvZ`#gzSX5PAAvx_~@! z@?D8C_#r_mru7$boSxND^;c0#bC%Fmll`x#Bx2cL#+wSKmX62*mCUF$k)u~OaQB!? zeF3p*>0f982dPzBUljdst761y{WIj~HJ8ypjmBO#*ZXG7!9Q?R&giV#>cNr1IFQN-JbwL5|{ zyr%g?gsrDC-fX9AJML`rSnL9e`LmGmt@VvKjCj8Fe|@URraLoFt}a&{&M#xC)#WM% zgsJzWa<7$RSd)JZ^Yonll|P4ETGK_s%e*qPa=}>%oIy){D!#(Y_9luW2mM9? l%2`xe!{ifY-W@{2foAfc_?YK6jj1xeEBoIpsJUnIe*>o{Z}$KI diff --git a/libft/ft_putchar_fd.o b/libft/ft_putchar_fd.o deleted file mode 100644 index 7b5993d41344990cab005c30ffbc556151b738f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584 zcmbVML2DCH5T4D}wrZ&7`1yNXhd85Dzi&tY9CXivEofI%B-em1ig0m_YFnLcLDFpZ%=Idger^7uijcrAOT-F^Y7U zJPbzo)Dd`g$9goCB;_22b4s7lyCZf9mFAe1B?Pi?=x}=w@K)FH?M|Duk}=rT`r7JB z-CnCyo>=Sl`pRnEvf;VE!QHsRWl@Ok>NM(jKNeHqv_{G*0kGkY$DJlx?#H$(J>T7O z7Ln08gQ%I&uRfPV*%^y?GvDSwgw0 zT*rXUJTAY8TspIWs*0?CO$E`H^`%`_Fg5j~8YsTxN$5U0^tB{*2xG}N(N{&zPhw4U z=*%?#lSsHN6NOFlpCX=hf8C7xBd+Ani}SK-)1y7{+!QZN-_A+YG@r2a-4WFg_3u)k UNP2$sKas_ME%;jsm)tb}KZCz`)&Kwi diff --git a/libft/ft_putendl_fd.o b/libft/ft_putendl_fd.o deleted file mode 100644 index e299d4d0c8c6df31baf96d71d6c8d27eec167107..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1744 zcmbu9PiqrV5Wr`X+E#5eiibi)7Z0M?E{Xr`LDPm!7KyFc<|xZ1*%&d|gw0!Qh3cUo zECI>a@nld?y!aWs2!dY39)bvUX7|1HW!+qKU@|kmoq2C|-rKy;ONE4@fDi?4!$Bk{ zKtFll=K?neDVT$w$ItvK8~zt#_j}s#cZR;VXYB3_fn|-JJ~aFfUn$w}-x|Gp!=Aop z_@6k#z<>Yd2tEx`zA62W@1U5^FRK^I70+RwdP}>aWtOrxydcazznsxBS1*P*XaRqw zP}8V~P>XA2NB|6oiFQw+Pog|~0LoTcS(uxd?c)ocMn+1qMnC$o^vgs(HJ#8ggFw8{ zY^LDHe%#Y!?Bu8y(am^OGU$GsQIv$~zhS^TQtC5!cVuT#X^v63 zh9HjLnZWf49O}&Mc+7TcO|xFps^c-3#nSrfO37R=6gKotb8}_2q??q}Wp2}U;HmqV z*}SIOuv}at?DSk{f=M1l|Mz|<*CjqDaq5qR?nnw%z);d52M$D}1sGs5F}#sw@K<42lsNpzoIU5jSt1^YffX zZ~QC%JZfkSSr##%HUG6fi?y_722~cZ|0NlsFZLI9Sz>bPYdMg7Q76z{bm%MP;}RGK z+*3y+bj17wuAoC}M(aQGgqz$76Rm%U58}>mmJd{%6P+K`ih9B0_NKk&`HSA?mcF&a iG4;fvXNL$H{Dn3skc2NcBJ}?hSFdu|9A$=1wEhnwjG%!4 diff --git a/libft/ft_putnbr_fd.o b/libft/ft_putnbr_fd.o deleted file mode 100644 index a1b9ade40c5d8725a82d58def9113bb66761b121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1784 zcmbtT&1(};5T8wIYqhoY;~-Qer_!QXQX{B6XwtClL!t$3j%C@Tn+Do^kZhn4T7`n} z$fZY*{temu}V-M1L@uncth=doMF@A85(hfTDne z0yp3=lPtjV;9(rI!x#+15d0Xqu$N-|E8A>`_eaYpv~P$K>(mZoNUV(j0wv9yP&L%Dq}+fN4Kz%=a3^KyrduP#OR|y zVz@u>6f21E2hE@lzVG|327M<)cagX0RR!(a_i~g4q5pT%<_G@3`(HR{ccoWCy*lN( zr~TiNJC8lL0^c^BsE=>WO4>c z>I2sE?fXutLytPqJHeh^La&xk~L>q9mRG=JMf3ZPbMdCN$nx5|#s$*63u8meWk zS)eW%mH}$IQUNtn%;(Jla)qL0s`#eD70bx1hNl=S{ZtaxtN4phSavFz^%# zkWYqe-^{}lq~Oo#OMfed_ubg}l{UPszUS^6J6nB_Ge%GE8{U^66l{2(jNZe3Pv1AZ zZ;buacE5gxQlYSrxl*aRE$L?Nh&hp+&E0l=H~0ERR%CBp4PY)mhB}Ss7@pFj3M2qN z5~kWahc=1!>M>{=X>B?+F}aH$bOA9sB=_k@Kb3xyC`^sNzyR_`2+d*)ejmhLCu1i? zy{K-6SxL+kCrKEOgE7m*2t2;yq(7Bm3eDKpcK|1P*m+c3jz& zj#*z5wILVGQh9l4v1~3Ei%;|wb7gUkz zh42jH`2Ms50}^Vp1)|#Rf~d8dO}m9yt1WGTJ2l&t zR_!_aPg}0&IPH$@$W0J_27BGCJ64k$A5=b)l|dHmSabvOh>@uG3cMgz*`%lO(9H69 z!t$1fl4bA&YO13)=RD(=8INx4Hs41T@H$v&(aaFFPF&YgSN*_$b}c;L>x_jf+- zIlpsuzhq-03Bv#-2D}fQn?eDu?&zE|;+TOw&iYUg*C6my=wq9dflvj-fv_1S5KQ7xsa<)Qp z8j75C2g&IMLvnP?p7dG33-#m*Tlcf5{R4|@@TK>j#eL1Y)j0ESyX~^Tpf<$5L~YQc zQX3w;%Yx*Ue7oJ=FqUse%Swf1iF!7vkQ!^z#@&SmIC};44--g<%UW1lYg=uf=^)j% zasCnJlwfxZGI!ags44!1SeKYE%YL@yW299aIPcc=omhn&E@ahR2tZBJ5wt>^&aeeE zY&9wyk}J--KfZ~C2RM-p8qmM~X}9ql+`a*$!^1~YFJ~v58QV#{W4&pm4-LNUi0j}N zZ=|jC;a5T!pa+BX<9Z6$=!q;O0IGzUxJU-V4UEq}2IEq{aiFhv=Q8q~Lj0iA?Wa*> zd;7mh4DZ>&T+{3|&??ktq|L9iE1SemLZ3qDJT8)V zRFkTz+shOzbYp#ZO+?~|8WGzsadj7UNmmmhe_9fw&4k{_t#dSin!jC4(T#5WdAw4e zbV(x+haW}!8O*;)M4D=jK$H!QX%t)n)nqFzTbCbG;9hasC-O(50v| Io^}8K0No?lDF6Tf diff --git a/libft/ft_strchr.o b/libft/ft_strchr.o deleted file mode 100644 index 42dd88fa3c9300370e93d29c9593fb96b92b16e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1656 zcmbtTL2DCH5T4C8X=|G%il9=FJ&B@yY*euEAi=P94$PvY|_VC zs=g{T%ca77^dKT%sAn_q<1lYm&+RDHBCDB>(v#|^IYN4Jn>>E@D4F=@7p%klU;Il) z_%bplGW91tA+IgI5%QqZ4OnMl1Dp{V=($kue;=k|WcbWe0$|~8k2`JDJV3toLe??jxc zC`VQ!>V)?T8*bym^c5fNGRt_^QXU6#!Ei$Y&yym q7o8J&5xHYI@sv}YJyNhL&Ob#UBO=|HIgVCd{0kA!$DXO7#{U7Dy@(_L diff --git a/libft/ft_strdup.o b/libft/ft_strdup.o deleted file mode 100644 index 0c96dc8a428bbd0c29b9521a220e824eb4cf3f83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1704 zcmbtTO=}Zj5S~q9<40qo6f9I^K@i2}CDDSlprj3(yhyO1$x)U~x;0?FNOqwWs)vXe za_P~dSO0)`3<%ctl%L>5i0DPkA&5|CHt(Bk*6l?HCNuNwJTsG--RD|19Z(dIqQG64 zL=puk1t)&eagz{%S@=13=~te&zwp*~mA7~M``Un>ehamj z3c#@2$d;tnFv|wB%xw$UrePVt3e6_4Vy#j!tB6%=mdWs)h&3&v_(a5yt2V1QYIU<= z?ErHsm?eFyVN}dX&;RgL^O%l~DpTtrY1b7-P^^upC z_!WVB-?*=W=QUKrElU_s&41-5kV`e=sBV${ue(9?Wq)Z`U6?y{UM9FfpWJ(h(N{9{ z4q?0?_$vBtk^7Ta0Ub*9@>c|ZMJ5XCFpM2-d+xI5V_0(KMQ9zgi zcc7IC3J~jR#R)G=zyS2a_o4GY(yaPvi8)_mth#l?s>y1|sgp||il z;^@bUqt_L$oi*B~M#0NH`yD@*w3W;LvXu+cR;1=z)pYDnhr#~t2k&DV%y}Psu(A*H z$>el2md@Hm%Z^TIH?;V~ z*&-+#!^(Jn?}<0~Ko^joOgSWhz$r zN$GJ>%Sj1j=2Hu^GpWqN+}x7BoLQckP3ajf$eTqd82NlD2T6VaddpL|e*W@pu>&_G z-Y@B+oa0>3Y_v?PY!)md3mTr%_iG|5n|VXC%nb{)hlXW1$jHR|`I)a3G5K*^ zbe9QSvfbw+$vEsoPkqEBjd6aF^WX$8kvPPH_$q2>&ws6-#9G=jj!QPt|B4JT7X5{v zmY6Kv76KWDXzwDUe_h)QVg7>GM=_R7+@D}s3`iQR-{JKMA>=+-zk)pM{dV|;ig%*- yqgqifcvx?0RpLoPPUt@X diff --git a/libft/ft_strlcat.o b/libft/ft_strlcat.o deleted file mode 100644 index 5e01a5a893df214eb7d3d57d1305658a29b25f3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1832 zcmbu8&ubG=5XWbeYW>mQcu=a6lRv0^rYdMFNZPXPL!t$3E`p?+xV2!DmSh)Np?Zjj zp%?!I?_R}oQLyMKf`?p$UWAAqDqe~R^*g)oHJf#F(Sf&b=CkwT?VH)hW_l`S7^KCZ zYt*zfC2GW*ddgE%)J14=0MrPi)|Qk{RX@EX9u4j%sx{wsfOJ{vd9r&g`tbJJ1H!~C?+F+)y?Fe)hTVTe9%Z`5x8{0}XGSf07?M5Mr2bpL$I_tiS@gIIjWDXbPzBRQwwA?#d7PtsAvPbnUr z;1lc|Az^$DKAiJk<3|w7Ig?mH(e;Od5W23f_ptyAx=QU3gb}{i!T7IhnIYIZJ^?)_ z`u;S_LE%#2_ytw}igr|cIQ}kpRR8AGh3YsG$>GnuJw5a$M1sC@`eI*?K2hq&ikpKVy diff --git a/libft/ft_strlcpy.o b/libft/ft_strlcpy.o deleted file mode 100644 index b690afd4ee51661d388bb550d96b0c21a1618206..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1552 zcmbVL&1+LZ5T8wIqqeqDdQd77y;#w%sUP@pkU)5L58^?1&`T*V@wEk;50ZV*2&qCu z47v2^pWw-(dJzhOg`RTEF&81wi{il`0iAi-P4+#Xmk!LEncvQDc6Mjq3+vIt7-OJ? z!2=ja8U;wk$9~3lGcXNP@N@RUZ(B6KiDtbgnqF5l?asb6pp1R1PewHAU62VhJ@BSJ z5p=lIu==cJ^+modT2@!E_Us3EwdeIPs{`J3T6%l9(y|8QjFyeTfoR!1!45F}O{`%J zm}nF__^Ef8oC~B63w|D9$ZCHD@GGx=f#q!Wermzac}3}^?(v&Ey|{G8^TVZ`8)=@t zb!7-szbF%^Nz`Mg%a3h{0qhZ`uVoH>688KFuGz()o7$7^wgmpvkq+=&wF*36Diquz zV#ShlIgV?wDxLf@6>k(hUapkNZbjCBSKKX!yPIq46{q0pE{<;JkxH`*-(W_S9NmM8 z!~fbv#0k^yN~OUs?SyQYe;L>5Ssj&s4Y^b^jcSVC|EdY1ulLvXwt<@jqD~Qo+&Y+sIs|ub~;0d(Ur{-%sYHy;v sRQrFY0Oceq)d=$m3(pQAD69R?QDBHFJ3>yQ7sY?4_#30lp%do+1@&E^S^xk5 diff --git a/libft/ft_strlen.o b/libft/ft_strlen.o deleted file mode 100644 index b58b4b1ece7e3189824ec223ca0a0a028812d7b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmbtT%}X0W6n~qwezdX1A}B;kJk?Si;z#l0pnQH5XNsQ|CzMUtcGD%a&^06HEg3c zbOYzr@Q%>tH(1MNms69ueCY8owZ!IFdU|FdjNr`I*)&VfzirYq8Cnl|0{t2K+IkLf zTUFvrbh43V0OQLB7)J>s8Sm@A#D>O^CnsB_kM%Nf5z7wt9^wGPPZ*s=5B&bqt!#EZ zDcXy2Sc=eW?NT8zHKT4iIYK7%{!K=F-xEBYM5hfRe5LF&>Yavc^R0mU`>w|d?HnLQ zH8kp=qYD-s7rB!MhN@=Vl^J)BIIzzScYx)C09c_^EV>?YUWvO5uW35qPGL{r9WP`D ze(AvV`7tox-FKL~yS42*MK@adzdlJ+)1B!jml3nJ`WKkSsy2auIQgDr?NlaO)b($$ zPVebo^;4*&In(H>$@Sl3rh%)H^&L$RU zPF-IUf<-A5QP+P$o?dZA)MZGB3C9F6fRXko^^)(lHc9$LqrV8CJx8ZGbUktU-5~`H ap&uonn4nwCFlOEKlVblnt&z<{*FOSWN@pnm diff --git a/libft/ft_strmapi.o b/libft/ft_strmapi.o deleted file mode 100644 index 7952445665806c4e52e3ff00edcfff941b07138e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1784 zcmbu8-)j>=5Xa|owbj}tQG8HaBo87H?V9)lZ3RgiE;%H%V4Ei?;S#S_%rBBVXoad6 z5knCC7yJu+lRTAzLSEyG^bd#-QIO)B2yy0aH@Tdb7aiEl%xCAjJGZ-es-zM=NdjRK z+=4+SC_qyl#4#(3!8A<4&%l{qX|?`kRjqvwtM#3IwQjc6+Ri?hlTE7o`W$~+N{3># zq2PS0YsIxaX_t2DgSyg1VHeDsmhfAup>)(-+Y(9bzwUWa*hNt$<)fyVk)zeNUSPrnYG2Gl#<~E zdA&$cPRr*@IlF^vyb-$7qd0!|Y)d%!l!J#j$9F()VPLGfT`;sPFzm|qn{d5szR zmI3U(W@x~&)he)DsZh|1$ciOHXZW_}s)m+(#PbJ5la(u_vR*N^fmti)o0*M@R?r7~ z{znu-Exj@K3y2{j6Zd6jcCCoX&)}dli{ThD{sbc&PNJuM#LGF!`8m$rFZKtYcRO0c zX%{h}HUCu~MJ=r<`oz#OvHt}DxEK2izkpoC&eGFf(4+P?GWwSdy&=p)Tpz;NY2y3@ z%VI#KZhegFW1^6Iw|*VD*ZoEKfr@*g`y;K;3+}ZyZS{=re}jAaPaW~l6La4kB53jt Yic{h+zFeOi!^lgoa+vQ|+JRgD2cTiPFaQ7m diff --git a/libft/ft_strncmp.o b/libft/ft_strncmp.o deleted file mode 100644 index 2bda45417be2a37270f882e631f3372c99a1df1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1544 zcmbVL&ubG=5T4D}wrcH0@t{OxJ!!Fhr2fF_K_X%89>jwX&_gMkblZULCM0hm6{?3+ zG1P;9f;X?8g2zw~_LyUiy$FR~6mJrUGn@C)m)G^uf!R0nz4>P5&3pUSdGa`A7$C)f zhj8Rc6kyssvU9PSgBdsrf2^y23vTPD+uAyCThYGTD)fFheTq1IvE%gJQrF#a4qT&a zwbQY`hyK26>{)GC+U4_F3|Q^19%i*WbGxnX;Ul*h^o*v{H{9k{4~}!UJJH8cKCFQ? zVY_3!~a&fE~Dcz_AiH0mkT z<);Nm0dxqH%@%nVFjYgaf>S7%9nD`Z%-c_o@83$T-P3j88L;k!Ql>aWKZG{)5vb#$^`W3re5y*(qe5uhw}jECp3o zQXI*)g+V77I}NLE2HYzGL-uejON;vr4s6Zi9TBYjO_$IKL|H@;2d3C+!1-|U!F=jQ}}NhPDL^PeL|uQ`XR$_J6~k^oQRN_|Sc#FJ_hr6KCeIi5j`a_D@*^t(d{ b%A)>daugA1N62}!lK7tme`6FmG<5zyXltJ{ diff --git a/libft/ft_strnstr.o b/libft/ft_strnstr.o deleted file mode 100644 index 710f7d2f05bec90e3fd5ba90131c899a889d0315..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1672 zcmbVL&ubGw6rRb}{<1bvM3joelSbPit%|J&352zCP!B@DODUUl+kz%3n^|ZD>!DT* zxp?eF@ajJx9z#4d$K1@Z7a`J%;$@LQd~Y+8&TiIAAH2+a-}}BdZ+0ec%*T&nloDl> zJR~QXLJ4_qoWvPF%#bN^mi&od`jHQujbl^riYB0>G48~*UTeMTk$XC zZQY%Ktn(AA!^QaiSHOM3cL)y6F8l(ot2asbx+bzXZ9>zotRL{DhWmM#>Ba}c!w{|GS=>JW`G*xg4Vswk_&)3P zdU!mt@{KHKvk#Itb9uKU+~g9w!_sr}_gz1o-(5(v^xae+M*awR0{jg4^3xoN5mHA? zUB^X;(desZgl;G3%+%QU2e`nifT5!;;DwsgiFdK=xltoUf#Ty)KS&)Rzk5+NBl2b7 zEHG7s8G|W&6Urv%OlTB6iR8Q@6* zr(u6{?3y zA@t%O;@P7FJoqPQ?G39fEREX zNfe+{xb&UObzll^!tdg}KNYWi=Cu#c+ez0uanHTBn;so@A(`!sdPi<*Aea`vz{gIK zlG|JHzPo*@(VG{k;@8fa+f61YM0#JNog&`f{08gg@^kB9rJ6K(Vy&?!%wAf4mSo}b z`^Pr3pFSGE03%qwggT14{<;F#eupp&~ih_E?0ws`aOE`3rq0_MVpuznrFk}yGU3xs+=fJjo?gOjFF|eT3 zXoO9~nk^nOyso8~`@vfg?=%y(7q#}nh#vrp!d;(*^{rauH$vIP_3a!|>F)FiI-=yo z97L>t8}|_>Ouj3z3_eRovpW9)=IL2om%oTys%fLDBKKcVLGH%|L@Y5)x3)A%OR@{85PL`! zLlHdo?A41GwWkv3At)Z|MSHBEP)!aIdk7MYGjHEZlXVZG18-;EH}lQRo3{%)%Yp+g zMFA-aT!hV?L;)7IY}x^C2B00<;D`6%&ybe;qUAE{x$f@NzwAw&bJ4TFzV(c?+yUF+6RquugW4Z4_Ia zGJ2P&{95jVhLJ#f1zraeQv}|S-%W%G)*utXE0 zhB-HfO=dF{Fn4f%F`Z>)Y`$zwcGa4!)%J>&Zt|Bn=aHtc`A|uVzQxiNO?ivA@z_O~ zvaIw+wz<5~fz6y}C8L$jJNp`&t-M)=!T$bpzN4WLGhvv%v+60;-`#WCJR!tz}p9OXGZ>i%bS{~f|nzR{!Z|HSG%s zxOFw;;b%i^kHF=gpGi>N&?>BE;s}If$FzLbKx_Zs~sP(u;r-ei89q)ISXh zh0hlCWn512FlK~PM$$-5#MLNFq{1oPfS8^LkLoD{!h^wUm->R?YXbvA>}L38-=!c6 z3kn7`kjacjVzH?xRRx%}6rXS#+Ex5|NN$V1=pCb3OWcPx3BG@P@eMu#!jQO}|6Lm{ z&kJg5CT>JVP~)k%9+y^9k402NPaB|)MvMrkBdHXq(W!V`Pau|UT*xG>;7(+S#mEVJ0$|?IqlZ&k1B>|yjeW}kO zF73w9&|mg{1xfUk+QV-Nz}J`*Z8<*)kDx*I?fkR=(lStJJAW8)r~6wI_ooRS-5+r! zU*4ZnZK9M#{c$mz9f;Ag^S2>pzdMBBmZ(2On+CDZdMEmv_(#QmNUVWNrk(#A|HWc? diff --git a/libft/ft_substr.o b/libft/ft_substr.o deleted file mode 100644 index e1a5dab0076713ff9bdc35a3b119342aba1eb15e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1824 zcmbu8-)j>=5Xa||+GuTU6~RJ90*X|$OQHqSQcBuz?IE!h+khe^Uh36?`9*Svtx$c4 zs7GG>Qv^Z!SghFMQywbxQLsWpU!-p$)S12A+ZBrP<%+w93zzX0Pqq){bVUwzbOIE?8abB>nytf40;; zinXeWa~q0gZ`FBjt98`Y8`_shs|!1*+ihq@HXnyjv<=o+HMNIRbxo;#P^(7Q1hwx9lQ!?mE5*cQTG(SgxTMwN7eHUYrSo0t@0suZ($Rr6N%CA zU@BwfO)EUYuCd5a^t#2<=+mna78$wN?fB zzi4HY1);MYavnN_`=2_P1S2h&robMiYtb_NICr`LuM`0?RGI4qgzvXv>DCAQd% zAw8X(ot#LfXQ!s-)cN%M#AH%ULr%|T3y#bzWsN+pIVKK3y*!TN&w*q2UA)`H!-8Y~ z=?yfEl~;47o&knOas0B3N=8;^rma8z|`nVJd@2y`z?$^IN;zDJgsDD%|>m~Qw to3?r*_Kyiq-_$XmdSc$*A%eR2L*taVOf1(RCo%G?FAA7#D4oDt{}<1|&QAaU diff --git a/libft/ft_tolower.o b/libft/ft_tolower.o deleted file mode 100644 index 73e4ed48b35e34c0212e43c46fc6f3139169d76e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1400 zcmbVL%}N_l6h4zlO>6y$;-W<<(^VDq5`T)Vi!u;KU6d{gp+yj##8JT{BQrNN7Sx3x zh#McJk5KR>d;!6w;zlIUo|CyJxw*!T2kw05eCK@kp8GRL-q)p+WdWN7U!WZ^3s6tB zeYfel&ltl!_ks%NdyzRb&WYP0&YO=!2e)JSyg=59JUifrh4Og8z< z6Fi+nrww2@to7+|dP}a$upIshB2j{Nz-g|dopkI*#QPQL7eT}_N^plg8Pp|+O<(#T zig6606jmxh6}f6C1A*5y9ZSEotK#iyP3%SCUJ%KB5K&O}MX#*>O`6aP^6umnQXgLn{vUc^k|sIWUpnCXEis0Tq1 zFFwjX!ot49zQBS<#fwNlt1?|lr;Qg2dcLZ!>g%rlne*JnYQnOB&4M4$ikJncC0c%_ z;bx#8`rzTy*i(M}>i^Yg{o=G3IGmLJCJ0jN1fX=-$Qxir+BWYZC6CJEiT8CqcbvhoK4WW|ta?uHD#8J4cZX-LJ_8-}44f zC(&+$7=G6JbU1w=_hcoiR=q%!pcQbM>u4u!yAk2BFWn-DPzEs`u_wKn1hMZ*7ep}( zL6j=K@0F1&SEMKKx@JP@mVT=EupEhMP{9u5F^ItXoYEDoL+jZ2b#}1 zrgG@eD{H%ZjBiwdqmaS;hjuYRbDH|!O0djAg{FQ7d3wzmm1lTVjeb$YM?~tA^~`r# une~ diff --git a/libft/get_next_line.o b/libft/get_next_line.o deleted file mode 100644 index 46cf0ce20e38d333d5b015101e9ce5ecc2112ee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3704 zcmbtXU1%It6uy&4Wqs4|x$H3AoaLL4xsockbOiJG0#SCATYx4YU@1ZGatJkJg~S2tn&l&l+Al$XR%d2=zHGTbn9B zO4r&#N}H6@W`mS!F+Zgs=C&w8P~5O76}7Rt&Ev@QiPojoqmR#vudGikHBpLpP*}ef z9@V0Fx?HqYegtTH57nW1KNHichtkO1*u^+mV*a=iiq4%N9=cLkm@c(SMpbpX1|5X1 z;zD#@b9Z)jU{iaF-rR=0Y?aAP%+GCz*;aW!e&3+=o!!*woVO5mS>8{(_!P`-qTj!S zE%43xD&L|Q-=LjRvJb2IEB!vnAg?9g9QIq?(AARLuY*-C9uGh#MC^<}DXsFlS;M3< zZfGtyeE%*bG&($dGIk_BQOLN3SigD9?CI`(xgeLlANKW_J;z`4VI(g^Gqor+1RXsS z7gXmGun09smp=&Oz1M^>6EzOBwd}r5=XH>9G{`tQt0VeJ({TH)rV+C6bpyajzCl;f z->m4*11GtOuA={}qW=Im$+ze#`mZbcFMyNmL;bWq(q>2lsj2T^+ARLusn=l7(AG<& zavHU|h&;Vo>={}b49E4;5)r%fv}TNmmYTI*LpO8=OuC85oa2bZ=-BwssjdEDrCmD|SSLgG-!ZCnLWcQX6GLhSzu!Q0hCk2Aw}SMRG!;c(;Ud6?PrI(CQH4={Vq zKOABoqj(U+RVmB$pzN!-exEJ`aQzN_9KiKE^i=@Y?}sq+v(s*Jf<`yzk5hV z7K4DYS3iHX65=S$z!@~Zt^gfRI|SFgqyT4+Hc+GXe<^_L_5F0{9{-!3FbdRI&cR4SCzl~gYG~4-y~hb`k`PXGyWid(}=C(>-sf{4VN1r qB{`xJ!@q5y4EjG!SfisVsSCMCdM?59!&}_Q|DMV}&7El;^#2!QkLsKN diff --git a/libft/get_next_line_utils.o b/libft/get_next_line_utils.o deleted file mode 100644 index 2ca9c14d18822d513681632429465afc6231fd5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1912 zcmbu8&1(};5Wr`%{m|OlRtpv?5=6A3T~ZaSJxJQH?Nfq_>LD5CZXJL#h{gk_ z=PjWxpNLmf%-*XJVC7v5y+$YK4Z)Xp+WMjg!9p@e2S70fR{beZ+0!vXgU#g;Ff7%T8_dfWCsWJEc=>4T# zm`$Z7=2VtNrvhM zq{s6hZ45{wz1_!N;saekewKebO%JA?9C#i}^>wMPEO$zn#Xq(&RMG+8kD@-ykrP0B z61!@xlKoS(GKysA`V;!RyA6-twCvwbYsnc5PX+er-vP4osC1uUnLrT5r`vE?F>K8; zHf+sYvkc9#*UXZVgJoMQ*~N#2H4C)a^xX7RTAQ1hSx^_X#i{AEs__KVupqCSW+5l` zk>U=$?FrOhM|GKR!}S2~4dll;$2p-{X^K+X%-ebv6x?6kt_rVcn7U%)SwMN9+d3%O zQVEn?A)hxaWLCj86r8=WlC9?+@p#2@l=Wg^-6-0dp!h2otJ-o=&l}C2|KY{4mS!+K zAxUH;;yvq8Jy-Z-M^Nc5lc+&i_JO?#AFR~ev$L=L@!WsgoN=`%%L^^wSF9H zY0U&`P(=SLL5RNSFYIK11yi?0LJ&se-bF@#Vap6*{FK+n(GQBaKf$u-P-?jT6|YZ< zL~g_NOUR?%?=`YPTkU{jK O>OXR5HZto@xc)aUmh4{u diff --git a/libft/libft.a b/libft/libft.a deleted file mode 100644 index 03fce54fd764c87e899f1f60e5b64230bba3dec7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63878 zcmeHQ4Uk<$mF}4U2_Yea{1^rG1`z{<$s{CUB2ga1hfgJv62{GatHN^~S$dDtK0@Ysp{sHKkTQpj7ialzQiXE4BVQi)W_E-^_Ra_YR_ksdTgaqpSwb-FAga6cXa>Y zH`2u`*cnnZQb2{ z9iY&Stp!u&LOaJIFF(+wOE=ixZAwhEkM?z$D&_lheTdZ4*00m+FXTJ6w+(E$Z!6NI zE4o*{=Lxr0gD=wA8ClvbBwx!V=3o>(oo za+Oe9=SLFVQpk684>tBKpFf|HH&36g5L^0gIcz9vR++?Bth#BXNwszU?(Cg+)YsKf zCpWH6y-Ss^gsRm3`f@m=TQy~^gEw^@A*KBqT-E!Hiv$2ml;phJ@i3U zx1*u%$^~=h?W2laMRfe&?!;gA;)YMvuU~jU{d$T4LUo5WIZyre)oOR=RBbVo#cDK* zaZXrDi%7vax;9Z7uI8u#?I|q?i*<9>C{=D(%+TDjc4YzT!vE(>(AGSYr7?M0h;tD zx%X)aIKIpOcDj%5l$L)P@gmJ8`q@tMzriL_Sn?NtwMDa|e#^eF!onw{ECtZJBF~<# z4{?Nmeev8^XEWVEnlAqsGc*e$`!4?`qN5jQ_`Z0HIl;wDxR895Q}~5mEpM z@4kyZSss_)C(DIDtt>z2lv^&{@}qsK$#UTjgpqxbg+lhp@==bER+cw#XB3&8RF==< zil&w2Q_O$4RFr+U{d}@~DVINnEH^{3*!ua+iS_dl>&4FKdQ`~rF_Pt@q@W)$O7}wY zMpfYglI~-r9R5jLpCq5+kfwe(JAq_ML2kHZN+UoWsqh;pLd!(1?%738s6F+$q3lGR zzIRLZ$iUB#Mk2va>CcAjr(tth_Sbh!EBx_nU(2%J)#G*DQGcVy(-^u@^mvS?Re*cs z&^@d!QZuqYtiP^heA!PXma5Ku_kFTIF27Iq3x8VK|BI@nudKgM_K!1v;G`2*_G>^T z-n6nm!<{j$>~H1=l~(qP>`tr4Z{qUDl>K-wwQ*)f+sx`Fw)n)?IP2o@*X0T%rkkHv$62=tk)>8xTeY4jw{b zk|M(FV8R|`9olww*EA+vOjWhV1G?_0KVw1!6f`Q}X6<7`*bb(;BC_~OdB+7u!Whv& zTx^KT@52V+Pm2w|ixxY)a?9_-hAHL zTe9O1++A9##r@umuaZAbVxLfBEVuW4bZL(aLgW7PrR(Vqj7Tv5(-2}p!%TSyF$MgX z%H5J3(?f`469Ka^e)uAubBGmxeO6(Gt~=^)utIl689?ZHLfj)4=>OUsM}+Ob^>p9$ zB}50!wITh2L#4%v{!_$?R?a`| zIASB`pB5|jB*F@sLyv7kI<0fOB(crpZZMoZR(u))oQ4I>PiwfCDqX>oyIGR$dWQGs zhtNL~4h3dIw!a_whO+(knwIUZZAjN0_2+Q_bsiDzSd5_p+#`oB$lXw1*UG#=SbtM1 zEx$Ray(RRI*WZ=t!*(Pq%%UQs_+)xqexFPi{u{!aOhED%-#5ogONOdC;gg#_nXcbe ziWEph_T$R*F^->Brk_P~yqFj0>5nbbo12ra+ZnZ9?2LXc6}F*J|392Pi5R6nAI_dM z3wDgTr$JvIAt6ud{t+$b^UIt#YS9y;ZnQ;Dj9mA0akO-~MuVa3Nd|)hDZpShu;3BY zF2sV5pH*0(>yG*}7Eq@Pv4ED~h3|T;VnJAcv;jF+7A|3$iv>T>u`B;vejgUZ<@aHM z@TbLs-&7V|Q{3|Vut4eOPJ8zGJL7gaMC?6kftrLY*Fu@jUu9(C>Wu zrCqyuEAfW1{DEmjxqjDcY0g*I9rY(!&Yecfaucq7SsvCOZ9vYIWlNam%JSVhcIBVT z?~~UZQ{3|VWcfkn51e%3%JNa>ODoG8SQe(0rWzT0sAqT?^^|-raK# zp}&;Q*P=bK^qvjby#nPGJ$!p@%WijWR@WW%C)q8XL2ZWwzNDiF@P%{a?E>J8TE8rz^9T5FIpEW_NOY*K_%OGCMB6 zPi6~$TA97iEjVAh<@jYr zv@%=94Kej@+MXO&X3zc{snNR~nSG5`zoClXt5xw({ak#nr=g-BEwm!_jF%Jsca{*#+$5osPWMHL`aqYzMBVE7O(`9W+;_Kf>`{&*k^Y z^tk*!nJ)ZkW%}c8!TH)PzfY!%Ob(oM;>z?<=1VKnPj!xTwrnYBWqK38Oz~to&Y6fS z(@&Qku695V-+c-~`#gH)4fH#oerfIAZ$rNknSEC4;cdE8h|Ja}k)UnJ1^WM-9`4HQ zPHq?1b7h`SX2<3C$!y_IE3@~x1?OwG{8^&UrC$WE>00;$3fnHO%s$9WX=V0VrHAVS zfzGtdev4MLcb${jc6TRT?)=ELT+GHfGp?TfHc4FT*``yl%r-|x@%@1PTGg||cHnxt zGHVIZK|3e2xq;X_C$mjMq}8(%*iQK5wlgiWTX)STJ^P{E=MD9oq}Amo6Higj%KDN3 z%`STOpPgOyZe4fOpJcXl3N5qcY(Ly17wG@m)w893Tum*XB@Evuvs>**Rv7Z#c0N73 z)sAF^U4EaQE&OTq>|rZUJLu+rPS38yYqZxN(caBRY@TVEozXJ;UXt0_b22-8W&W6Y zb|ATGnXS)VHTG;dgq810yjs<>rGC;JuFP6OH$Zds>{elLe3$>6%r@=k+E&ilMoh=q zHbeiR*OQj%CfLWhW_9AVfm7DQ$>{QA)WvFH#aX?2oBxHmz1kX3T2HIF&7RKldAYaV z)4Ax$k+s=l`HQgD+bsM36$i~7-tj5R348m3L9%YgKggHLHyd{Gt*EEy>-8U=R$<3G zoqR6Sl^Dnnas;KXbbi?n%VedS6P`dCy*EdnP8y}*s+z6F-T$fE1d+>~POI^z11cqB zN^}?Wfs?Nq7f={32}bDSdn*nA9_TZt0iVHxfT^ktP?HLdHq{`u!Io`ELGe znbu^*LGY`5J<~Yjc8cew3D%>`?|N?B4^jlYHE#LGm@!~qJZXQq{wM{i)qjd3G)qMG zUH(p@S9|`lw@02coK4#KD6OJgGEUlJtG;hj%CKTy8hoJjASy(|}p-8-ondm#Xz9&|OI&@m3+kxxpzI#iE4x0PK{*mLmp3DDsiU4_% zmVX)XB28EJOa3#-e%~1dFHoA*oLl}ZMLHGPznS=vW~A@XbzIrMiQ-n1{TWVBWPH*! zl_L8mDSf!4`%(kWUvxN=im9uF;a@^O_t}HKiTStT!g6l=o7WScX^ClLTFoCB3F4no zHqR`?Cr|blp*ZtCI?b=no6w9=SmO8yOIh12uvnVLNa=-FJ8i(Lu9bGaXZ853_}y z%kRUGxcoj05&pCoa-~~Pu7OMTVMxFcgRtf%Ao{nEeHfBq{$`2DzRT~!5ZS|-7DIM$ z{?d*~F+|2MX))wLA`IzHa0c?~#OL2PSe-kgpTmq8QaDs!<>Iw zEa~U`(_+a#B*c=oe9ZAkbMif26IHNeA${#I{MO;n@g{prVn6|>;nOk7hbQo;U-~-z zkr_%iC*7d&i@Bk#PZ07r?)WyFg^)uZqMxS#PD`FNrzO+3SLo#Zy60_RF;*}A{Y0F+ ze*+~qG*y>>oyBS3<(ovo$6F`?oYBb`SO5as0~ z-#=fI)W+p%c_x!;HZ<4vrRz@7@vZ=~UALSF)#xEMQRgpX6MZUm%X{v;>-O93+;Z0) zcif%5XUjde-F|0wi^Qg{xw3=og~Ri^h<-BPlc6x2OTX8UE9j#hdcbtN%KSPT$~5Dw z>hnf_+Ve&7{J6Txg%00*kqp3EnGyOrc%>(a?DowUy~)jp({ahbNTlh$0de_dzNm@Q z7f<+S!q|5ZgIgw~As8p=iSNdJAKjQszepdVYvB(lY&&T`p|w*0X}bK|Iir~{78qU4 z=GV#%D$fbe4|z-eLa&xLMN?3(2BJ$tOqnbF0VZoD>y7(h*DJa!>K?Iql;yt(MnLqyjRUZ4OQ4#V-5 z8Pw6yrj#g-HYIH2qfO^y@P{GbNg4w3L8uaY!xWL~jyNoZ>z#;nI$r(?B)y*icr16_ z)40DsxAy76S1V%{7KMceK$n(92A?2lFwg5~lt^}L(W8xNt&X#S-7C>y1iR;4S2rDa zBWm)s7Veu%iIDqKn77h(M`5g&M6g(Ys~q>p1^T~s$BAJ(a6MfavV`cMS+BW{Ip9Y0 z@cYJzaru4YMB$$a!+i5rUyNCP-#9VE0Is)qf+2DZ3_@1!n=r!pH%mnJUH(l(uZCeV z*Rq)TlFnPn9>z)LPik|V;0mQ3CkEW1wsHRAxsQcj&$fIYZyKk=^=4eNuqOF=s++9N zozVrUz%czy9h6PRf`_xm5wk=qrH>Q595;xDfgcI^b@O(SkZO?9PNO(Ou)sqFue7%G4kQv-}%9 zbYKK`MvW3C?6D;F=w7Q+UCL?WxdDH~h8Qp%uL8dghEij;KWT5SuI^6~hVQfexpVzV zZGT_2GqJ+1i~`0$Zo54;F2B$AC;T&El+X4TcdfV2_BY0L4%ipZ#i(|=fi{WsLAst| zhM6$RXZt(A2?|Cfwf)I@zknYY-kl5SC*_xPL35uSiY|K%R^h^O?(_Fy)FCc^x5bN~ z%WupYTMMzjNpy4a?^SQNDwxsbsg6;MPZ%qmps^C;P-qYkXno?HWP73Lm7 zx}|$0iMK}Bhg&EuEY%=PdzQvsd+I$o{4iu=^gCl1r{BL2;|`ov7$>qP4aSiX8=YB9 zbQGQ$Zphtpd#kHeai+XlyHz_`0}L&uwGAU0Mk9Hnn>lbvnnm@3TIu=UbE zQ)3>^9z&ZF;Ltq+xiZ9I5h8t`o8$f!MH=3Gl;Vwran^qSV_464L>1Nzw;ZEez)Tvu zAw>4UmSe-&qjjT2ED3?-ad-p8iF~{JNZnBO7{1nbMCBJ(#5Ze84pk(b8~Q=>hyO@6 zziX)4SD}H({ThFQjoG0&^*@~!9uZr=KeaRt)NMfZN{W$q*Q$*h_57B3Nep)C@buVe zbVvGz8Kt?7esJzMu~kzIeF25fw(+ApCvJw=*eZ6NCT2`Jetav-WXV^2m+ZsVxcokB z75=o?`T@6~TmhHt!`6))F_4P0FW4qzAGQj%WhA19-#31gxgx>Pq~phfTzT)Add(r;hw$0B!j8SOjcN7^q|oZOQ=CY!~A zaM1-19-FhrXo!fqm);av=TRP9KBu90^Y^VqpO)cNe<)Wr5CC5po{QNN7_M3?M>xer zPmU7Wju(H1n0M1G+@m9f7Z4Tu3{Kpjmx}D&_$p&HA#8-KT51zSYl4fPQK@e{$=Yj z_j0*FM_bRN<76lf9ELCWN&B}_7*6QnBdal+`pev2rnZ$fNuRypAR3rlTAk>6G;9^; z6i4}VqPYA%ok;l8>O?Iu%kR^PWDj`Yv_V{*Xb0!NV+MYoPBhNXFUR~zbt0K}m36() ziSU#1i>`Gc(O7-qoQ$`L^S?Vnt?Yk3ooFeGvN$?Xe|Hz}Sebb((#jNj=nq~{u0%!$ zqdHO9-aspV$lOreFtR6mblTNO&Do>avlv}WMBCthLNsG`A8r}R?OpIwWJij`k=)*^ zE^$y3t0j((RWK3R!6d;^rC6kk-{)vYYsmy8|^EXQ27e| zWv%V8g~HP5peT{DNNqA!+%R6&8Ckb`>2Iju)$}=NkkmN5Jh-ejQscO^{8p@o>Nv9K z$?P$`N%ViTwPo+RE65)!J~Oe2)Fi#;xT@wzIaymrBRP%VLT9o))`m4*b^9XvpH@{_ z2R?zem#s+Jbab)SZC|P{WB-nq_LZpP?Vz3;2^b^*_@3VnC!;`oZaO zpxmFceA;zxh>t8!r%nm|$JQxz9f>A7rCjTJ5gqPy>XdJ!^sDKV&=soDF>ei>@;HOP zjI*`wsD(F~!MeJ;x8&Q}6&6c)Okv@&ija{KCikH6v^~t$6@SJUihgC&1CEc|97R*! z?a-xNw>osGhpI7M@frun`EhaW{p&A|FjnLF!$H>oud6Hg=BBnf`63NCH~(csLz-^% zxcoj{QTWs9ijTPkLgC4|<@f1|`!}?iw$Y}yDzZq?Qw6Ci-=H9F3wTaJ% zUCM2N5@d8SDs{!BWdqVUqR4cVo~F8l>`0^G4Ak>BM%l^XbHD*huVk?79tzmUMqK_C;31 zcDDcMmr53b;KC2#G&hWCEME60?>t@`$PKaQ;9OETm)>T`6<8lI9kMYZA8QPw<@s@S zD=@}q&yhJ2TgKyc5R8!Vybq)Ac7-Vyz$N=IIxfEtqlG^$M(=V9>M6euqaSAefceCe z_LJ*&3Lt8v57PAk=Fd>rb}qjUqYp5~%X3PK(c_%I=-znOV7rn0C0(CAXEEoWu?tUO zPBx_aF!~Vl$H3^Wd|w-{;*Vj^X-a+uiP$z#=!`CT6r*YRh#BJ-jul(R2_WmpxR5<& z>@pz`lifithvc;)KcR#|u#**yum~)AbRXZM@w1+VGIyIwAI}YMn8M^}**AuE z(ivTsx+y-RZZso!+n`h2`QmW)MHmaRlWbc$oSi@)p!6oygBKA|U%j$a!$&QnB0|c-Gm<9DR?cCHAsE+6ia~5ia z0k(v7^n?2}{^WlB&>5Y3!aHr-33S;}K60m1$3Pob(+z+n)#%ta0i8t3r`wQd&?WTC zZ_EK66@nE9jtjP>_#@})3W25?S!~PWj6;`l)Y^Fd%Z_k%F1`CHrmA2KcwMaU=?eeh zX2k97l6|^DTz;RfApB`{g@tx!;j+VX%kR?_8kj$@coCHL6LLERkfxhm6B9N`MD|^N zpRUk=7lB-p@xpWOgRG3%^fS7~%f28j&sMwx3T|$Z+{%=n6EL z=xOVZ`~C8pn^z@W4b*Go{HZDA1X-r-iZ&Qf(A?kLPcN5PU zdV`F+@6dP6^Iu@m1ExbXv3N3+8XI5B^Wy4O$b8@UniMSUY?%vr=gM3kX8uMpbbME4 z`Y@$8n> z$uU#bj-b#PUGgYq5@a?Mr;3HCJv5)ccf&~<)^dZ|Otm{s+x6rTJcnw%ljSft)I+KQ@^0fz%J~q&m@1z9DK^DTf z7!+t~<+!cZ#%I#*T-}Oy-G?B=e}*7Qh*j_=AEAJ)X>_hF6jr^TB6 zPPygMEx!+Igg+2Q_ND!V?8BNv9HChvdiZ@ADl`P4ugVH8*+a@AS|ao4E4{ zG?_~eGL^?l7Dio7>BG4gwZ@P&eF24K{1h-9uL!>;hEikWBzaz3-PqVAwxuR!Op0B* zB}2z|WtR`T;_~~jOZd}b*VmkK%cWa>A9fvNhCmqEkBeQS96v2~$v9;(r-SF01iR*O zMbnOxGW=4d9Vd-4e?08!?A_WObDVT@@^7=rx-T?k27mPLoF~>0!LAiEVHW`zE#t*A znLu*splnvK>;uSOu&h2iEtsK8)Y5oL*PZJ07W!4gGT(UWR!{t_ht3!$om4=MuVbQI zWDG|ck-OS>u`v(jg9An`q~Fa2}66(qiFauBg3kHpw_n#*u0FSOtk} zhP~~v$8o1&o(*eqiaU=N3lrGNgas&O`OSm0aAkrp??!r-8uN0mY}R)!+;tO%b~CO! zDbgvMltA$X!ySjkI@_67nP`JGVfnx%4BbW#vShlSBW5bH|DI8?vV3-4<;8rbUPSM(6?40Sycf zhEikWM|oac-Po8paf+DvzmlQjyO`s{%((nM%oP5#n0c*RP_Bnd_F?8yju<%gkBgZ( z=1+^6vo+6_*7kXT`_FAo{oVHS**@dWvu*3lZ|Uvak>AqY)!P|kp6#X-XMHw9aInj0 zzxw!*&MMKXF^3gx4Sq{x45`;>8pJw;6iN+ro0e@F5~5aaeZ}X(`ScfxF#aU?LJnG5 zTK$j~I&P$5Pw%?$03t&lOq5ZfoI~;w9}SiBCHRVG3`&6(X8#KIPoNG0^viV zZa@o&vg7Cwiyp&Q){$Ja6-n8W?`jO~Jgy$(WzNS@W(W%@Gxq#W9oF(YHw^7XZ$Q67 zFLAOfXKtAo*lG?%%Pj5HJVm~LxxUhU(5@WnTdvTfBl)$GnRHc2fYYJ9$ad>6H9J{q zjHJXR#@6ME==z1AiD+6pyng*Vf~76(h2DH2Slf70W7CZ*ZZ7D{6}wh8H8!of&X7^~ z+0o_hLPDV~cZb&HFjue+baG$8UwHrX;r)+*PVV#g3-5n6y#EQ%$$cGv;r;TNI$r>t zoZkB?_vb8_cB2%!@aeSQKo-|&4GJYI&vPPtI@dK{N$J}!wp?O^W| z(h+|B?1*-|C!Gx(|99lW>1Rp)ApMZeXBe#XGbGxF=vS>gtsZ)(hu%kYq`#IiQuaUZ z^u&L}LswDo>rjJj4|F!(w6b{>wC(!_Iy*g@HJu%#@ePTcCEDu@7EqZ**Ir3sIOyy)J*%me^p9EeizzJW0Wa{(Gf}eID95-lKb{$QWy~e^L*IIx&p7!?@^1di zI88UY%ri-T!tY+Mpc_cDNg}W>{AtIm-*F4X>AK~AAJNfNb{|F55#|qYVL7+_?Q{=m zy8PqJuNAs!_&3wNs?QG(jNA_6CEic5ABmD%$_2x)4M|G*<@v)tRIRB-E}$Fa#NKYM zOkE`mAF{X_{}C>Kw;h?nZu>_TgU0!;-`W)`lkTTz=C(jlGWer^d(JbmpMuXJkX;n# z&PVVMJJ77aPz-dE>~*|`;$KBSxJ%I?MCU(C&PRAXRoT|@bsG@vYWh{vshd6Y+dcHC zcDkjI@9G{5znGEapae=EZoToeoPrz?-QwJN3EVL3W!RVJDR*6&=fmvnEJ$^^@lW^?&x!tDPC>6IYX diff --git a/main b/main deleted file mode 100755 index 370b65a0ad56a0a23d1aa95636b9b296cdab3ba8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76240 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 +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/02/13 16:42:55 by apommier #+# #+# */ +/* Updated: 2022/02/13 22:02:38 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "so_long.h" #include "./mlx/mlx.h" #include "./mlx/mlx_int.h" #include "./libft/libft.h" @@ -7,7 +19,6 @@ #include #include #include -//#include "mlx_int.h" typedef struct s_data { void *mlx; @@ -18,29 +29,30 @@ typedef struct s_data { int bear; } t_data; +size_t ft_strlen_double(char **s) +{ + size_t i; + + i = 0; + if (!s) + return (0); + while (s[i]) + i++; + return (i); +} + void quit_game(t_data *img) { int i; - int j; - int *image; i = 0; - j = 0; - printf("quit game\n"); - //image = mlx_new_image(img->mlx, 13 * 32, 10 * 32); - //mlx_put_image_to_window(img->mlx, img->mlx_win, image, 0, 0) mlx_clear_window(img->mlx, img->mlx_win); mlx_destroy_window(img->mlx, img->mlx_win); - - mlx_destroy_display(img->mlx); if (img->mlx) free(img->mlx); - //if (img->mlx_win) - // free(img->mlx_win); while (img->map_tab[i]) free(img->map_tab[i++]); - //if (img->map_tab); free(img->map_tab); exit(1); } @@ -82,9 +94,7 @@ void print_case(char type, t_data *img, int y, int x) else buffer = mlx_xpm_file_to_image(img->mlx, "./sprite/back.xpm", &img_width, &img_height); mlx_put_image_to_window(img->mlx, img->mlx_win, buffer, x * 32, y * 32); - //free(buffer); mlx_destroy_image(img->mlx, buffer); - //free(buffer); } void print_map(char **map, t_data *img) @@ -109,40 +119,30 @@ void print_map(char **map, t_data *img) } } -int change_map(t_data *img, int y, int x, char *change) +void change_map(t_data *img, int y, int x, char *change) { if (*change == '0' || *change == 'C') { if (*change == 'C') img->item--; img->move++; - printf("%d\n", img->move); + ft_putnbr_fd(img->move, 1); + ft_putchar_fd('\n', 1); img->map_tab[y][x] = '0'; *change = 'P'; } else if (*change == 'E') { - img->move++; - printf("%d\n", img->move); if (img->item <= 0) + { + img->move++; + ft_putnbr_fd(img->move, 1); + ft_putchar_fd('\n', 1); quit_game(img); + } } - } -/*void choose_bear(t_data *img, int type) -{ - img->bear = 0; - if (type == 119) - ; - else if (type == 97) - change_map(img, j, i, &map[j][i - 1]); - else if (type == 115) - change_map(img, j, i, &map[j + 1][i]); - else if (type == 100) - change_map(img, j, i, &map[j][i + 1]); -}*/ - int is_good(char **map, int type, t_data *img) { int j; @@ -169,31 +169,29 @@ int is_good(char **map, int type, t_data *img) change_map(img, j, i, &map[j][i + 1]); else return (0); - return 1; + return (1); } -int test(int code, t_data *img) +int key_press(int code, t_data *img) { - printf("code = %d\n", code); if (code == 65307) quit_game(img); is_good(img->map_tab, code, img); print_map(img->map_tab, img); + return (1); } int main(int argc, char **argv) { t_data img; char *map = 0; - char **map_tab; int fd = 0; char *swap = 0; char *del; + (void)argc; img.bear = 0; img.move = 0; - img.mlx = mlx_init(); - img.mlx_win = mlx_new_window(img.mlx, 13 * 32, 10 * 32, "Hungry Bear"); fd = open(argv[1], O_RDONLY); swap = get_next_line(fd); while (swap) @@ -205,29 +203,12 @@ int main(int argc, char **argv) free(del); } img.map_tab = ft_split(map, '\n'); + check_map(img.map_tab); + img.mlx = mlx_init(); + img.mlx_win = mlx_new_window(img.mlx, ft_strlen(img.map_tab[0]) * 32, + ft_strlen_double(img.map_tab) * 32, "Hungry Bear"); print_map(img.map_tab, &img); free(map); - mlx_key_hook(img.mlx_win, &test, &img); + mlx_hook(img.mlx_win, 2, 1L<<0, &key_press, &img); mlx_loop(img.mlx); - printf("heeeeeeeeeeeeeeerreeeee\n\n\n\n"); } - - - - - /*img.img = mlx_xpm_file_to_image(mlx, "./sprite/back.xpm", &img_width, &img_height); - if (!img.img) - return 0; - //img.addr = mlx_get_data_addr(img.img, &img.bits_per_pixel, &img.line_length, &img.endian); - //my_mlx_pixel_put(&img, 5, 5, 0x00FF0000); - /*while (i != 320) - { - j = 0; - while (j != 320) - { - mlx_put_image_to_window(mlx, mlx_win, img.img, i, j); - j += 32; - } - i += 32; - }*/ - //offset = (1920 * line_length + 1080 * (bits_per_pixel / 8)); \ No newline at end of file diff --git a/parsing.c b/parsing.c new file mode 100644 index 0000000..a33e3bf --- /dev/null +++ b/parsing.c @@ -0,0 +1,169 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* parsing.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: map0map/0map/13 16:map1:43 by apommier #+# #+# */ +/* Updated: map0map/0map/13 map1:map4:44 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + + +#include "so_long.h" +#include "./libft/libft.h" +#include + + +int is_player(char **map) +{ + int i; + int j; + int player; + + player = 0; + i = 0; + j = 0; + while (map[j]) + { + i = 0; + while (map[j][i++]) + { + if (map[j][i] == 'P') + player++; + } + j++; + } + if (player == 1) + return (1); + return (0); +} + +int is_exit(char **map) +{ + int i; + int j; + int exit; + + exit = 0; + i = 0; + j = 0; + while (map[j]) + { + i = 1; + while (map[j][i]) + { + if (map[j][i++] == 'E') + exit++; + } + j++; + } + if (exit > 0) + return (1); + return (0); + +} + +int is_item(char **map) +{ + int i; + int j; + int item; + + item = 0; + i = 0; + j = 0; + while (map[j]) + { + i = 1; + while (map[j][i]) + { + if (map[j][i++] == 'E') + item++; + } + j++; + } + return (item); +} + +int is_rectangle(char **map) +{ + int i; + int j; + + i = 0; + j = 0; + while (map[j]) + { + i = 1; + while (map[j][i]) + { + if (map[j][i] != '0' && map[j][i] != '1' && map[j][i] != 'P' && map[j][i] != 'E' && map[j][i] != 'C') + return (0); + i++; + } + j++; + } + j = 0; + while (map[j + 1]) + { + if (ft_strlen(map[j]) != ft_strlen(map[j + 1])) + return (0); + j++; + } + return (1); +} + +int is_close(char **map) +{ + int i; + int j; + + i = 0; + j = 0; + while (map[j][i]) + { + if (map[j][i++] != '1') + return (0); + } + while (map[j]) + { + if (map[j][0] != '1' || map[j][ft_strlen(map[j]) - 1] != '1') + return (0); + j++; + } + i = 0; + while (map[j - 1][i]) + { + if (map[j - 1][i++] != '1') + return (0); + } + return (1); +} + +void ft_error(char *error_msg, char **map) +{ + int i; + + i = 0; + while (map[i]) + free(map[i++]); + ft_putstr_fd(error_msg, 2); + exit(1); +} + +int check_map(char **map) +{ + if (!is_player(map)) + ft_error("You need just one player\n", map); + if (!is_exit(map)) + ft_error("There is no exit\n", map); + if (!is_close(map)) + ft_error("The map isn't close\n", map); + if (!is_item(map)) + ft_error("There is no item\n", map); + if (!is_rectangle(map)) + ft_error("The map isn't a rectangle\n", map); + return (1); +} \ No newline at end of file diff --git a/so_long.h b/so_long.h new file mode 100644 index 0000000..ddd90f9 --- /dev/null +++ b/so_long.h @@ -0,0 +1,13 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* so_long.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: apommier +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/02/13 16:30:59 by apommier #+# #+# */ +/* Updated: 2022/02/13 19:14:29 by apommier ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int check_map(char **map); \ No newline at end of file