From 6c7976408fec78923d251bad2fd1d91cbb24468a Mon Sep 17 00:00:00 2001 From: Giovanni Di Grezia Date: Mon, 14 Apr 2014 14:34:31 +0200 Subject: [PATCH] creato esercizio in cui server e client stampano gli ip e porte opposte --- .DS_Store | Bin 0 -> 6148 bytes 7.client-server-print-ip-port-both/client | Bin 0 -> 9508 bytes .../daytimecli.c | 50 ++++++++++++++ .../daytimecli.c~ | 0 .../daytimecli.o | Bin 0 -> 2180 bytes .../daytimesrv.c | 63 ++++++++++++++++++ .../daytimesrv.c~ | 0 .../daytimesrv.o | Bin 0 -> 2412 bytes .../makefile | 0 .../makefile~ | 0 .../readme | 0 .../readme~ | 0 7.client-server-print-ip-port-both/server | Bin 0 -> 9644 bytes .../client | Bin .../daytimecli.c | 0 7.client-server-printipclient/daytimecli.c~ | 31 +++++++++ .../daytimecli.o | Bin .../daytimesrv.c | 0 7.client-server-printipclient/daytimesrv.c~ | 41 ++++++++++++ .../daytimesrv.o | Bin 7.client-server-printipclient/makefile | 9 +++ 7.client-server-printipclient/makefile~ | 8 +++ 7.client-server-printipclient/readme | 2 + 7.client-server-printipclient/readme~ | 0 .../server | Bin fun-corso-reti.o | Bin 2944 -> 2396 bytes 26 files changed, 204 insertions(+) create mode 100644 .DS_Store create mode 100755 7.client-server-print-ip-port-both/client create mode 100644 7.client-server-print-ip-port-both/daytimecli.c rename {7.client-server-sendip => 7.client-server-print-ip-port-both}/daytimecli.c~ (100%) create mode 100644 7.client-server-print-ip-port-both/daytimecli.o create mode 100644 7.client-server-print-ip-port-both/daytimesrv.c rename {7.client-server-sendip => 7.client-server-print-ip-port-both}/daytimesrv.c~ (100%) create mode 100644 7.client-server-print-ip-port-both/daytimesrv.o rename {7.client-server-sendip => 7.client-server-print-ip-port-both}/makefile (100%) rename {7.client-server-sendip => 7.client-server-print-ip-port-both}/makefile~ (100%) rename {7.client-server-sendip => 7.client-server-print-ip-port-both}/readme (100%) rename {7.client-server-sendip => 7.client-server-print-ip-port-both}/readme~ (100%) create mode 100755 7.client-server-print-ip-port-both/server rename {7.client-server-sendip => 7.client-server-printipclient}/client (100%) rename {7.client-server-sendip => 7.client-server-printipclient}/daytimecli.c (100%) create mode 100644 7.client-server-printipclient/daytimecli.c~ rename {7.client-server-sendip => 7.client-server-printipclient}/daytimecli.o (100%) rename {7.client-server-sendip => 7.client-server-printipclient}/daytimesrv.c (100%) create mode 100644 7.client-server-printipclient/daytimesrv.c~ rename {7.client-server-sendip => 7.client-server-printipclient}/daytimesrv.o (100%) create mode 100644 7.client-server-printipclient/makefile create mode 100644 7.client-server-printipclient/makefile~ create mode 100644 7.client-server-printipclient/readme create mode 100644 7.client-server-printipclient/readme~ rename {7.client-server-sendip => 7.client-server-printipclient}/server (100%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e0d8cdad1d1080cc36250048b659a486ef16ba44 GIT binary patch literal 6148 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 Rm^lFqX^fb6<{|Pz{0~2f`HBDl literal 0 HcmV?d00001 diff --git a/7.client-server-print-ip-port-both/daytimecli.c b/7.client-server-print-ip-port-both/daytimecli.c new file mode 100644 index 0000000..8d53c16 --- /dev/null +++ b/7.client-server-print-ip-port-both/daytimecli.c @@ -0,0 +1,50 @@ +/* Client che si collega a un server e basta */ + +#include "../basic.h" + +int main(int argc, char **argv) { + int sockfd; + struct sockaddr_in servaddr; + + if (argc != 3){ + printf("usage: daytimecli \n"); + exit(0); +} + if( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ){ + printf("socket error\n"); + exit(0); +} + bzero(&servaddr, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(atoi(argv[2])); /* server port */ + + if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0){ + printf("inet_pton error for %s\n", argv[1]); + exit(0); +} + if (connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){ + printf("connect error\n"); + exit(0); + } + + struct sockaddr_in r_server_local_addr; + int r_server_local_addr_len = sizeof(r_server_local_addr); + + char * socket_buffer = (char *) malloc (r_server_local_addr_len) ; + + read (sockfd, socket_buffer,r_server_local_addr_len ); + + memcpy (&r_server_local_addr,socket_buffer, r_server_local_addr_len); + + + char buff[INET_ADDRSTRLEN]; + short port; + + inet_ntop(AF_INET, &(r_server_local_addr.sin_addr), buff, INET_ADDRSTRLEN);// get ip + port = ntohs(r_server_local_addr.sin_port);// get port + + fprintf (stdout,"%s%c%hi\n",buff,':',port); + + + exit(0); +} diff --git a/7.client-server-sendip/daytimecli.c~ b/7.client-server-print-ip-port-both/daytimecli.c~ similarity index 100% rename from 7.client-server-sendip/daytimecli.c~ rename to 7.client-server-print-ip-port-both/daytimecli.c~ diff --git a/7.client-server-print-ip-port-both/daytimecli.o b/7.client-server-print-ip-port-both/daytimecli.o new file mode 100644 index 0000000000000000000000000000000000000000..cbc2c8052dfd59722359f6d928e235929473ceeb GIT binary patch literal 2180 zcmb7FO>7%Q6rP08n$Tv=|F6YLkOKloDS--AZ3${tOe9wX+DMg9HL}+0dX;#0vDc~_ z$x@@Xh{ae`6-b<_oDe4zPELDhNC-*Ar56x^6Bk5<0`f6I;PAcK*~H!|2cA6p?f2gI z-pupt?B4nN&-Q-CdhTPmU=X(GM#q3Xh4CTrJ&aQVEZG}k#8H#c=nLIU2;ZvuiU5Q- zZJas1%cHvyRfp>@#ALYQU0WIN}SBVI46Q&8~}(Lxkg(?sR49@8y) zS<@F4=e+IYgvgBT1aUK`5=NDC9`&g8;eCv$P*+JItb)jwvPCOQh_CNgrHb1t6$)8H$ElS}xlLRo{ zFxGjnCPS;n&%L~Ew0OOml#YC`q&2tX?IO*|8md6(0PQ36`P1C=+F0Qi$f}c%yQg&#qECJh)Qb-rklXty%jX+>1DGyaolk zafEb8%hYj%uyM`Je1M;EeZ2nqn6_wK?`rzWbd;Yb8`7S;Oj(SchcK^=iP}rQC$#3t z_R?13fje+(&2P?rTPbJHSx59-_JVI0Epyt|kKzE?C3|MZ9iKR^ANAalpFOVkv$AVW zS-x(SN^Ys2*^cE4&v%{Bq37L_K3MK&rt3JCxg#4a51NAon;z&6>!mFZUs)aA-S-e} zGVGo=*Q24I^~}7>daB8uW9h$u8t_LT&g!x6fY^@|oe;E;{tAdEAsqnGVmb$W3^)ON7&r=~IwL@= zJ^eDU5BX06alX_0RD26-qWB*`oYT}g@FDQ8fi%w-zyrX~fR6xYfK;~#q`W*3rBd$z z9|x!7LGfV~e-Q{v>9{~A{|>@S-~*T-df$Ge_}OrO*fru1M&E}y6`xY^FBQL}_`KrR z6ki~YhNJi8vf?_LBtvPY(M1{cr9r=`@=t>MzLkDEMG zls!G|noN|eYz`ki$}qhP!YoWFz2mzc1A$9A9hD}u>b%7 literal 0 HcmV?d00001 diff --git a/7.client-server-print-ip-port-both/daytimesrv.c b/7.client-server-print-ip-port-both/daytimesrv.c new file mode 100644 index 0000000..b2fa3db --- /dev/null +++ b/7.client-server-print-ip-port-both/daytimesrv.c @@ -0,0 +1,63 @@ +/* stampa l'ip del client che si collega */ + +#include "../basic.h" +#include + +int main(int argc, char **argv) { + int listenfd, connfd, n; + struct sockaddr_in servaddr; + char buff[INET_ADDRSTRLEN]; + short port; + + if (argc != 2 ){ + printf("usage: daytimesrv \n"); + exit(0); +} + if( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){ + printf("socket error\n"); + exit(0); +} + bzero(&servaddr, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = htonl(INADDR_ANY); /* wildcard address */ + servaddr.sin_port = htons(atoi(argv[1])); /* server port */ + + if( (bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr))) < 0){ + printf("bind error\n"); exit(0); +} + if( listen(listenfd, 5) < 0 ) + { printf("listen error\n"); + exit(0); + } + + struct sockaddr_in client_addr; + int client_addr_len = sizeof(client_addr); + + struct sockaddr_in server_local_addr; + int server_local_addr_len = sizeof(server_local_addr); + + char * socket_buffer = (char *) malloc (server_local_addr_len) ; + + + + for ( ; ; ) { + if( (connfd = accept(listenfd, (struct sockaddr *) &client_addr, &client_addr_len)) < 0) + { printf("accept error\n"); + exit(0); + } + + inet_ntop(AF_INET, &(client_addr.sin_addr), buff, INET_ADDRSTRLEN);// get client ip + port = ntohs(client_addr.sin_port);// get client port + + fprintf (stdout,"%s%c%hi\n",buff,':',port); + + + + getsockname (connfd, (struct sockaddr *) &server_local_addr, &server_local_addr_len); + memcpy (socket_buffer, &server_local_addr, server_local_addr_len); + write (connfd,socket_buffer, server_local_addr_len); + + + close(connfd); + } +} diff --git a/7.client-server-sendip/daytimesrv.c~ b/7.client-server-print-ip-port-both/daytimesrv.c~ similarity index 100% rename from 7.client-server-sendip/daytimesrv.c~ rename to 7.client-server-print-ip-port-both/daytimesrv.c~ diff --git a/7.client-server-print-ip-port-both/daytimesrv.o b/7.client-server-print-ip-port-both/daytimesrv.o new file mode 100644 index 0000000000000000000000000000000000000000..8d32205bf828f559c5ba0ec0dc6498bd8cff9184 GIT binary patch literal 2412 zcmb7GTWB0r82%FzyG`57TJM+Dg*FdTHZF|k6jDXhhralrMu?J!7E&pR-#>FECR0lFu;+Z| z`!C=5=W@>M!rypjNqN*RmD5X)f3s!bg8H0Mh&TGnl)-ObHwTxn}UM`bQ z7`7~Br>yLRl=0zpCr{LM4k=?8b+PIEy+lfDlcbbpN+t`5jOir=>l;#fDWx~6^c1CS zM83;4vG^nCm$BaCz;cM_IuLO*iq37T>Kx1VF#7*(oLIVwytaOevz^L{a7xQ3 zDl4q3oqQ6bXbiIJYg%NOG$NaLN-{LHB!7pDl z^sB;YyE2#b?>gK14{ktRUl#Rp$h9Y(d98WVow|8(+1q=TRSeZ8_2cP_c!yA@%t z7l8*tNc>M(c|WVIpXRdL`ZR+uD${PhaP+EZjGxA(oPnlL#W?!n-RepE%5!{EXI<6C z_(c{H-TY4bT3WO6m2hfr`thQ%A6}Y0$T7%>*ZG1-Ypx_6{PfmH{lKs`r?=EYM9j2k zlxFIcMW^=qy2>nOZi9bD)GJkCl%|DqZWKo0{3zEW90kF`p~giI;k)m@|%&xGW_^}03^TtT*H`Q_ z`chVpTYwr0e7n6PQCU2wdUo37(c4bO2UK*&JBO*G9PS8j-x8WZ)Na_HK>zF(t{YA1 z6CLUef6)2z4s2_;aojNa3hoRywa#sE2I|1e5E}zN1{?%p&&Rd_?+4z%nmd8lfZK@% zuK=+|3Q*oC;Azz4y* zmH!56Xa8S79C49rKn&dtyUC_U{F<|7jpv zB#HrX?rmfI1iTju_~-uTinn0n_9c2R0{!RLWDegI<>xbu`Ok{C75`1~1;wu`{u6WD z0RJ5SMe(XS*Rd37JgD|DP(%Dt>o?YqcVZKNKfp<55>}RE9^Y^~NzyD^Hc4;)!e?fRCV0ZmStNNMlk|2l z=cUs*13q^TleDs?EwgqmkN*U+XiwxyHl|5mc+#|4HOpUO1VGuyAD2ez7|E%EWy5Hs zb438x({H9IF8lG%LcsuXUOjSTDv=+_+5^ui>oW?URk%;#e$s{a(cil{k9CRu0mN3x AAOHXW literal 0 HcmV?d00001 diff --git a/7.client-server-sendip/makefile b/7.client-server-print-ip-port-both/makefile similarity index 100% rename from 7.client-server-sendip/makefile rename to 7.client-server-print-ip-port-both/makefile diff --git a/7.client-server-sendip/makefile~ b/7.client-server-print-ip-port-both/makefile~ similarity index 100% rename from 7.client-server-sendip/makefile~ rename to 7.client-server-print-ip-port-both/makefile~ diff --git a/7.client-server-sendip/readme b/7.client-server-print-ip-port-both/readme similarity index 100% rename from 7.client-server-sendip/readme rename to 7.client-server-print-ip-port-both/readme diff --git a/7.client-server-sendip/readme~ b/7.client-server-print-ip-port-both/readme~ similarity index 100% rename from 7.client-server-sendip/readme~ rename to 7.client-server-print-ip-port-both/readme~ diff --git a/7.client-server-print-ip-port-both/server b/7.client-server-print-ip-port-both/server new file mode 100755 index 0000000000000000000000000000000000000000..98f7cfa81a70e838f632a0b22e90aff519062fff GIT binary patch literal 9644 zcmeHNZEO_B8J+{&I1b5~eAP{wav^a`+6qiXkfAs^C>z#|N!)-FloT!J^BSMHuiou} zp*__G+_E{laeo9w>W7eu)Cd*HQG;A)WlV{%)gRy>S}fJ7XseRFmP)RK6bD7VKF{o~ zy|*q=rT*xjd*zw;ecqXQ=bd*x?mTmsZ~t@lE+GPoh3Hu%gs4RtsuH44gdhp=86*`+ z(^@xeRbEwIdXd_43Y5eDh-haeI?%Ko%FZ3-Rb+d1>?H@oHvxCVr<^iPGxTm_zM|h= zYc&Rg;$v(CB3@#PcD_XPc%i0cja++nPUW|E<6hfd+^OMWw?VaIZ{9!J)4KF{TF;=8 z-`RO~YjBJZW3AnhxK55@0yS;RrX8C+)vzAQ)``1b zJnMvZ-MQAZWL(Q0NVKQoTH46m(VlCD3*YM(=ktC~_nNjR`B&%I8+6(bd+l*wJmi#-XOhSl=+PkjxDaVzuGc!GN#M_c z?|4#(ohZKtaw`&velu~7YLL8f1uUaqJt4#w$}~2>wi6+wrAVuD+05#AtbKLIfp`Zn z=}{#5@ycIUr=I`in$xEO8}*iPfDdEJ$MnR^&!}c@x;H<=bss#!U9Ao@{Rq2vNLc)?aZXn2`%bA;vi1?P;z$75 zS(aFDL1!vAn+SpfPWyd!`}BPKZnj?sJi?0VS#ArGI-pFb=9u*?iY_YeFB(&>N_9b* zRtw$L*1xb3JI(XK;g2kKD%-W7O>lU+)5M>0rI5ebVqUZ^p<=lcC78q@{(%B#5C)xi z2Y3WU0u8O-ENJz6yVdFWR%y2SHt?8of^Lr~{bXu1-)|j)S~Zm(b)fA8hVnLSs&M9M zs7=Kx_s6s?zcz0OgL=khjdfZ%QlFo`EC@<%4P= z-=juz{i=Do6-w3ogIai#lG)dS+{|=5Xw8;N zoupO4aX?D-F>gTvcq&wo^X_hqPq!=t+{40=hf*TXk!&HTsbV6lWD z+&aspXRTy6%8VW0AIQ(cfu?5>sX}fBWBw5FG?nS%MK(J8UhS?6!R1@*{?)@bLuURK zR=w5Rv=u=k1>fjFUZjZ7D$uHD-A~Fw{+4x$_QuSnM^VySVzuDF6UePF3VIvSFZK?; zj0$y3nW3k}y#U1_NWD#eVKFG!=hh%9HX~C9swPpYnpN+^a-r(i099;nRt-^Kxc3Zw zF@LA_{+8ob&4=EGBK-OqwXn?!A6>)#WI;ih!9YX1F8Je(@rIr8s%G1Dwa{jPkB=!+ zvRzb}QopKP4<7!pbSHO>!@Y``!*KJHy(Lx(_N_twx^fMjj(eSH8$TKdj^wWO&hnE! z*az1{aXYj1$a?dW$e~^?f$Yy0gLNn=u0S>ywW$S_!}=W!HHT7LwFM(GHpeoAjr zIz;Jbl=xxL^$w*ZC7#a34oa6Oy-JC*QRL~<^><3oQMyfOBcxn5vPa(#>WCaLVhKH) z*%#WFPGyY9Gc_Wcitg2okeW_gy$} z@FfxGt_{>Ky{mc<Db#0+k3q$!#ev7{9t-y(k^+MwQzu)QS@XJQ6@5CILpPgtTQy5P4S%^5o0{v!<6`a~p_6is{d ztP#sbW7@$~qCKXI%^BT@X<{pHb{30?T4X&B<4sU@{>pxuO^Q7zc{mWq*hKqcFbFAoF@5} zj_DKstIZI8jqu|3?fWC?=A^M^oxsMzlIH?n#Y~GPjRm^)T;~Fv{kx5YI}67^`JTcq z$5xx~#v{r-WS2O53+J4DYC-UvSDxd~J+$oO%08%^Bg#IU=8mPZ1Icp~xrdN@{I~~? Yd*aAo2=|PcJ6tsBqF8Y9a)v \n"); + exit(0); +} + if( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ){ + printf("socket error\n"); + exit(0); +} + bzero(&servaddr, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(atoi(argv[2])); /* server port */ + + if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0){ + printf("inet_pton error for %s\n", argv[1]); + exit(0); +} + if (connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0){ + printf("connect error\n"); + exit(0); + } + exit(0); +} diff --git a/7.client-server-sendip/daytimecli.o b/7.client-server-printipclient/daytimecli.o similarity index 100% rename from 7.client-server-sendip/daytimecli.o rename to 7.client-server-printipclient/daytimecli.o diff --git a/7.client-server-sendip/daytimesrv.c b/7.client-server-printipclient/daytimesrv.c similarity index 100% rename from 7.client-server-sendip/daytimesrv.c rename to 7.client-server-printipclient/daytimesrv.c diff --git a/7.client-server-printipclient/daytimesrv.c~ b/7.client-server-printipclient/daytimesrv.c~ new file mode 100644 index 0000000..5a71bf1 --- /dev/null +++ b/7.client-server-printipclient/daytimesrv.c~ @@ -0,0 +1,41 @@ +/* stampa l'ip del client */ + +#include "../basic.h" +#include + +int main(int argc, char **argv) { + int listenfd, connfd, n; + struct sockaddr_in servaddr; + char buff[MAXLINE]; + time_t ticks; + + if (argc != 2 ){ + printf("usage: daytimesrv \n"); + exit(0); +} + if( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){ + printf("socket error\n"); + exit(0); +} + bzero(&servaddr, sizeof(servaddr)); + servaddr.sin_family = AF_INET; + servaddr.sin_addr.s_addr = htonl(INADDR_ANY); /* wildcard address */ + servaddr.sin_port = htons(atoi(argv[1])); /* server port */ + + if( (bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr))) < 0){ + printf("bind error\n"); exit(0); +} + if( listen(listenfd, 5) < 0 ) + { printf("listen error\n"); + exit(0); +} + for ( ; ; ) { + if( (connfd = accept(listenfd, (struct sockaddr *) NULL, NULL)) < 0) + { printf("accept error\n"); exit(0);} else { + } + + n=read(connfd, buff, MAXLINE); + fprintf (stdout,%s\n,buff); + close(connfd); + } +} diff --git a/7.client-server-sendip/daytimesrv.o b/7.client-server-printipclient/daytimesrv.o similarity index 100% rename from 7.client-server-sendip/daytimesrv.o rename to 7.client-server-printipclient/daytimesrv.o diff --git a/7.client-server-printipclient/makefile b/7.client-server-printipclient/makefile new file mode 100644 index 0000000..16fdd6d --- /dev/null +++ b/7.client-server-printipclient/makefile @@ -0,0 +1,9 @@ +all : server client +server : daytimesrv.o ../fun-corso-reti.o + gcc -o server daytimesrv.o ../fun-corso-reti.o +client : daytimecli.o ../fun-corso-reti.o + gcc -o client daytimecli.o ../fun-corso-reti.o +daytimesrv.o : daytimesrv.c ../basic.h + gcc -c -o daytimesrv.o daytimesrv.c +fun-corso-reti.o : ../fun-corso-reti.c ../basic.h + gcc -c -o ../fun-corso-reti.o ../fun-corso-reti.c diff --git a/7.client-server-printipclient/makefile~ b/7.client-server-printipclient/makefile~ new file mode 100644 index 0000000..ed76715 --- /dev/null +++ b/7.client-server-printipclient/makefile~ @@ -0,0 +1,8 @@ +server : daytimesrv.o ../fun-corso-reti.o + gcc -o server daytimesrv.o ../fun-corso-reti.o +client : daytimecli.o ../fun-corso-reti.o + gcc -o client daytimecli.o ../fun-corso-reti.o +daytimesrv.o : daytimesrv.c ../basic.h + gcc -c -o daytimesrv.o daytimesrv.c +fun-corso-reti.o : ../fun-corso-reti.c ../basic.h + gcc -c -o ../fun-corso-reti.o ../fun-corso-reti.c diff --git a/7.client-server-printipclient/readme b/7.client-server-printipclient/readme new file mode 100644 index 0000000..1f85399 --- /dev/null +++ b/7.client-server-printipclient/readme @@ -0,0 +1,2 @@ +il server attende una connessione dal client e stampa lip del client +il client si connette soltanto al server diff --git a/7.client-server-printipclient/readme~ b/7.client-server-printipclient/readme~ new file mode 100644 index 0000000..e69de29 diff --git a/7.client-server-sendip/server b/7.client-server-printipclient/server similarity index 100% rename from 7.client-server-sendip/server rename to 7.client-server-printipclient/server diff --git a/fun-corso-reti.o b/fun-corso-reti.o index 5b8cdd92bfc60b55aa5c99c0ca0d4290513ed60e..0422e80b487c5567112ca6937fea2cceeabd6903 100644 GIT binary patch literal 2396 zcmb7GO=w(I6u#3YZBd&yN`?3{WUvZ$(Xjy)MG7x8Pp+6k&_wE@+?mY0={(F#!ps{I z3WJ%ZEqQ&6RdCUTD{<$hE0Hd&T4@G17F=W&S!7}DJXBD~B1laA&i!d#CJpF;d(J)Q zJLlYU?!9y0{Pg!9TL&3S>}OyYB<+1*X$;U)7##xkpfmjn$WjdGwLT@0lhM#H6T)}r zeT5MhV!}Byv8|iguR0Iqqg2-pF!lt2eQbe*AtCZLzv@-aX+v*5ljli|ziA55x?aYl zLp@Wq+5?U18y%S#**4g^uff<}Xp?k`nWc{UX3DdR>Vr+Cf8)mf8pasbp z%c4Fqy@*ZId3Tg3gj*8DYOd_6fZl!=biS{3zBQdstL#z6N@h-yk`H2VtVjD>I>gvI zB>dPo1`%x;4M6O$oajgus;kLaH9mQ=#} z#&rY#8QrF!#UGMqZ&^dwL7guhG}d`g?>0|v0+%VSE!V z6`CrdbrhHcn)2FO7pY6W>}*h_(FahX>zKtBxnw+mvFI&wZ_ySp9!L>N-cRw$z(a}v z{3CCEPkr-1UP=4PFb_|6?WJK_PXeK{fkxA3ZxxHhj5TzT;!MA`?w1FXYdoCnLbjKk zRT-CeR{0ywnzi^DrEk?&V(m6M&HLnJT^a_z;;dlNcD$I$_EN(7roPhLdPKTW{n5L` zUI%M7I^c*Nl8Ri<+PMd>0*Rgjd$4cMlLdo?&T2m`9yqJfd)N^kI_=wVq=IqsP^n>? z8vZZ+qVF~I-QlLH%k+aqvplS~0e0k3BJ&-tF4ff&z~kp@D!&6ei_B5dVMXMsE>DQ~ z@N|bC`;G??N^SE5sqN@P)dvcRH*l)tO&8KH6wluE z&#ol$8^u`Ce!9+w`c1=c{2!H1*ZWYvPvJMXrTlc=yZkPoFC5VEGUVfs^Qak5)$t>c zc@B+W1F*jY2}(T; zmV};#M4kh-mT4^^r2PxX0VFctoi9m8A?CYrQ|se>n1Fu9Abeat7>wN`9dq-JV=ZP8 z)0Bm@fL}ul(NPS-&HeF72mYc<4aek&e<+)7E!NqU!n{SPmw|@zJYRXR0w| z+N&T^I?h!+->o1G$zAC)ZYdVFQ==r?7L|weF_FQ4ig*~6A@UV}mu;#ZuQwz8W)bUf K^^vCMg#8QrEZLF( literal 2944 zcmb_eQD_`h6upy;O&gnLEtW=7>iD5;(TuIF)z%=ZVeI>e3N32|h3)L_#0+LZc&mpBVaK7Yg09AL3Vk^jBHfeyos>MHb?{Z{FLTJQKgX@ZP=m z+;i`{^XARlT{NfP8qhS5qQUFX_aq9ilq>p`Y-L{@ocW@7xI?8xj?D;+I-YIHff zj`Zf$G^?6TZFJdOpBxVNw+swJI8v>wY2h<*mj~oC?yq9qnz_bqu-D90|GSoUol4xp z<_Y|-mO4mWrPf;S;`20F?d=Zl>le`%hT5!JX~W{v{oM_RS;K78=CpeIJdTCh?2w5i zP-|ufvzicoPxbHLB`(0!tTR{CpDpTv?Ux+a3hd%Az^SRJllsAIK6Hcd#c70nPd{cH zH;zsm2|4)kq1cBf<1(OKJPq1HS{vUvwEa46=sv`0keD>Ru`B)gz|_dLfebR@*d*a7 zH)-m{zwO08Bpl@{ntJgsdhttyqg>>3vA=mJK2eHU==<_0;Sorxf$Oo*|g;UAvzYJ^S4bYmJ$Bn z6imoq!X|SZhl&yY{tlV}Rz?2fXp@Os&t**L=TH-#xE^?9azGFirLOe?#;K;7pAq>7 zmHu_5-VyYPqAn-%_b7a&9GnpOhZSB{6ntL6WxmvJihP9zOKL-cAoC>utjJgCGXI7o z3N80v!l%(t_mpBfy)cw>dJ1q`8O(G0-8tE_}H^#7V&rr>aw`w~HGisej!90CY$0PCPHaOA(vKk=~fjy)#?j zA0SS3Wd2Q&OBdN@bw1ew|5ViZQ{?lz8SO~m7sNhX7V)o9Z&n{>LU*Fz`DJgyw*$v0 zfNxvHT)_>DW3RmQYV7618S+lV-hAMrcl0oPWS0Y{TySz1y;9z>VcvJ#Ut(~r+Nt{r>leJ8M8;3{r>m*^jV3^$w-UEuW1jNs_f zKN^(d37m2z{$2v7vm|jVfz$p-{4;^my2RIoe?@3om%e$)uO;wg{V%t`<@ZQ+lKdYO z{+M`=w**f2PqLq%6u#`Iz6IV;@O`5GZ(HDdMV$H^#Ubnen84}3hs5tB@Z^5#$RVLR XG^AvNA#wR#oKtXl&X*Kip7VbI38B}E