From f01933bb49baea2b3a0ab8199128c351379aa651 Mon Sep 17 00:00:00 2001 From: hiGepi Date: Sun, 12 Feb 2023 16:06:32 +0100 Subject: [PATCH] TP A4 --- A4/TP_A4/exo1/Makefile | 4 + A4/TP_A4/exo1/exo1 | Bin 0 -> 17048 bytes A4/TP_A4/exo1/exo1.c | 16 + A4/TP_A4/exo2/.txt | 701 ++++++++++++++++++ A4/TP_A4/exo2/Makefile | 4 + A4/TP_A4/exo2/exo2 | Bin 0 -> 17440 bytes A4/TP_A4/exo2/exo2.c | 74 ++ A4/TP_A4/exo2/graph.py | 126 ++++ A4/TP_A4/exo2/script.sh | 12 + A4/TP_A4/exo2/time.txt | 210 ++++++ A4/TP_A4/exo2/time_500k.txt | 36 + A4/TP_A4/exo2/time_maths.txt | 101 +++ A4/TP_A4/exo2/time_maths_500k.txt | 31 + A4/TP_A4/exo2/timings.png | Bin 0 -> 51063 bytes A4/TP_A4/exo2/timings_500k.png | Bin 0 -> 26957 bytes A4/TP_A4/exo2/timings_maths.png | Bin 0 -> 42893 bytes A4/TP_A4/exo2/timings_maths_500k.png | Bin 0 -> 27953 bytes A4/TP_A4/exo3/Makefile | 4 + A4/TP_A4/exo3/atomic_schedule.png | Bin 0 -> 56089 bytes A4/TP_A4/exo3/exo3 | Bin 0 -> 17440 bytes A4/TP_A4/exo3/exo3.c | 66 ++ A4/TP_A4/exo3/graph.py | 171 +++++ A4/TP_A4/exo3/readme.md | 7 + A4/TP_A4/exo3/reduction.png | Bin 0 -> 47499 bytes A4/TP_A4/exo3/reduction_schedule.png | Bin 0 -> 40789 bytes A4/TP_A4/exo3/schedule.png | Bin 0 -> 82739 bytes A4/TP_A4/exo3/script1.sh | 9 + A4/TP_A4/exo3/script2.sh | 10 + .../exo3/time_atomic_schedule_dynamic_100.txt | 26 + .../exo3/time_atomic_schedule_guided_100.txt | 26 + .../exo3/time_atomic_schedule_static_100.txt | 26 + .../time_critical_schedule_dynamic_100.txt | 26 + .../time_critical_schedule_guided_100.txt | 26 + .../time_critical_schedule_static_100.txt | 26 + A4/TP_A4/exo3/time_reduction.txt | 151 ++++ .../time_reduction_schedule_dynamic_100.txt | 26 + .../time_reduction_schedule_guided_100.txt | 26 + .../time_reduction_schedule_static_100.txt | 26 + .../time_reduction_schedule_static_1000.txt | 26 + A4/TP_A4/exo3/time_schedule_dynamic_1.txt | 26 + A4/TP_A4/exo3/time_schedule_dynamic_100.txt | 26 + A4/TP_A4/exo3/time_schedule_dynamic_12.txt | 26 + A4/TP_A4/exo3/time_schedule_dynamic_4.txt | 26 + A4/TP_A4/exo3/time_schedule_guided_1.txt | 26 + A4/TP_A4/exo3/time_schedule_guided_100.txt | 26 + A4/TP_A4/exo3/time_schedule_guided_12.txt | 26 + A4/TP_A4/exo3/time_schedule_guided_4.txt | 26 + A4/TP_A4/exo3/time_schedule_static_1.txt | 26 + A4/TP_A4/exo3/time_schedule_static_100.txt | 26 + A4/TP_A4/exo3/time_schedule_static_12.txt | 26 + A4/TP_A4/exo3/time_schedule_static_4.txt | 26 + 51 files changed, 2305 insertions(+) create mode 100644 A4/TP_A4/exo1/Makefile create mode 100755 A4/TP_A4/exo1/exo1 create mode 100644 A4/TP_A4/exo1/exo1.c create mode 100644 A4/TP_A4/exo2/.txt create mode 100644 A4/TP_A4/exo2/Makefile create mode 100755 A4/TP_A4/exo2/exo2 create mode 100644 A4/TP_A4/exo2/exo2.c create mode 100644 A4/TP_A4/exo2/graph.py create mode 100755 A4/TP_A4/exo2/script.sh create mode 100644 A4/TP_A4/exo2/time.txt create mode 100644 A4/TP_A4/exo2/time_500k.txt create mode 100644 A4/TP_A4/exo2/time_maths.txt create mode 100644 A4/TP_A4/exo2/time_maths_500k.txt create mode 100644 A4/TP_A4/exo2/timings.png create mode 100644 A4/TP_A4/exo2/timings_500k.png create mode 100644 A4/TP_A4/exo2/timings_maths.png create mode 100644 A4/TP_A4/exo2/timings_maths_500k.png create mode 100644 A4/TP_A4/exo3/Makefile create mode 100644 A4/TP_A4/exo3/atomic_schedule.png create mode 100755 A4/TP_A4/exo3/exo3 create mode 100644 A4/TP_A4/exo3/exo3.c create mode 100644 A4/TP_A4/exo3/graph.py create mode 100644 A4/TP_A4/exo3/readme.md create mode 100644 A4/TP_A4/exo3/reduction.png create mode 100644 A4/TP_A4/exo3/reduction_schedule.png create mode 100644 A4/TP_A4/exo3/schedule.png create mode 100755 A4/TP_A4/exo3/script1.sh create mode 100755 A4/TP_A4/exo3/script2.sh create mode 100644 A4/TP_A4/exo3/time_atomic_schedule_dynamic_100.txt create mode 100644 A4/TP_A4/exo3/time_atomic_schedule_guided_100.txt create mode 100644 A4/TP_A4/exo3/time_atomic_schedule_static_100.txt create mode 100644 A4/TP_A4/exo3/time_critical_schedule_dynamic_100.txt create mode 100644 A4/TP_A4/exo3/time_critical_schedule_guided_100.txt create mode 100644 A4/TP_A4/exo3/time_critical_schedule_static_100.txt create mode 100644 A4/TP_A4/exo3/time_reduction.txt create mode 100644 A4/TP_A4/exo3/time_reduction_schedule_dynamic_100.txt create mode 100644 A4/TP_A4/exo3/time_reduction_schedule_guided_100.txt create mode 100644 A4/TP_A4/exo3/time_reduction_schedule_static_100.txt create mode 100644 A4/TP_A4/exo3/time_reduction_schedule_static_1000.txt create mode 100644 A4/TP_A4/exo3/time_schedule_dynamic_1.txt create mode 100644 A4/TP_A4/exo3/time_schedule_dynamic_100.txt create mode 100644 A4/TP_A4/exo3/time_schedule_dynamic_12.txt create mode 100644 A4/TP_A4/exo3/time_schedule_dynamic_4.txt create mode 100644 A4/TP_A4/exo3/time_schedule_guided_1.txt create mode 100644 A4/TP_A4/exo3/time_schedule_guided_100.txt create mode 100644 A4/TP_A4/exo3/time_schedule_guided_12.txt create mode 100644 A4/TP_A4/exo3/time_schedule_guided_4.txt create mode 100644 A4/TP_A4/exo3/time_schedule_static_1.txt create mode 100644 A4/TP_A4/exo3/time_schedule_static_100.txt create mode 100644 A4/TP_A4/exo3/time_schedule_static_12.txt create mode 100644 A4/TP_A4/exo3/time_schedule_static_4.txt diff --git a/A4/TP_A4/exo1/Makefile b/A4/TP_A4/exo1/Makefile new file mode 100644 index 0000000..08f7897 --- /dev/null +++ b/A4/TP_A4/exo1/Makefile @@ -0,0 +1,4 @@ +CXX = gcc +CFLAGS = -Wall -fopenmp -O3 +exo1 : + $(CXX) $(CFLAGS) exo1.c -o exo1 \ No newline at end of file diff --git a/A4/TP_A4/exo1/exo1 b/A4/TP_A4/exo1/exo1 new file mode 100755 index 0000000000000000000000000000000000000000..84c5c44bbfc2c64316d84ecb44e710d09712604f GIT binary patch literal 17048 zcmeHOeQX>@6`#9{6X)xE`6A8-@e)#$wDrbL9pi+$xpQo1jhqh>yA7i0=ImSBr{0IT z+iUHrDn_PNkHjT^AP7(?4*!q}2^CcSs074Ol2XK1jZl@ULJ1KOP6fp=DGId7@!srv z=iT*PP!Zyv?pSxfdB1t@&Fq`mxgGD!m)bhp{XU=I6c7&yDJ`>@Fcnan^53Cb)FrhtnG0K?7zCs=A z`o9dh+5Vd}ev_0$nXe%5N{O;Vz%4JqpDM%O3%pW7zrT$BXc>M7@Ctm~=>!lP-6YD; z5B=%nAV$7k=p9{q^_Y<{`r}#C$aL-9ok*vQu4qrf5W3!9xJeY~6%s#z$;BgRohoX94JQYpEpTbH} zk19<@<0-MHv!i9VzD<2VZ7AlqsoTZ=y$AGqwa&UkKlStMi19&B4?`i2DO57o#24Zn z{X^n%Yf%n}pMs3ZC;w)rv+$-*fiu7Og;iXfZ}>jHLi71J%_q!{6JHs&44G&7(k_d~ zvFEe0^81R7=P{23Q#Ky2j?=V_U%({bEgR2uWAOy>sB6C;UbpdbK1XFpZ`k+`Gf!C7 z-nSP4F9Kc!ya;#^@FL(v;G+|PzgKPemp1yBO6^$1TU&+Do}DoLg*UX(3zg?(5DMGB z3iM3jo?`%2H3Ibquw>@?9}9)T2`S@);mq~PqKpr0GuO|t4Ax`Px>ZPfklS2xvrFD? zmm}SgE^On}S@0OiU!3|mU~B%JvskY-w*A2>AtLz;^%GM+lLc30LHz_2HA2zU8DQ~> z>L((PMvk2CQ>$ve0+z+=ssC$7e)2Ibe^nd()AWI^&asMi@T`q3{jK!hJOuWIRXMGVvB=%mt&KLfU{=dtGnZ(`n%hB``qrI7 zVJZeqe66AxWZx06b=Y5j5(=q3=r8g}=UDT1?t`E`+>w7X(%q4NFVYpsf6%Rs)gA}> zQ0JE0GTxVOL*UNc4wyCdZ%)9zv0WShx1iT1%5%|AF0N*?9>rt%t zU<$kvQ<{}~VvCj{DPM#sJ1rSnf{ zhM>MMpa_QAgVmp{TKr_?h}gAu=e-YXlCKTXFV=Sg^rRu`LPFkz&-1|Jdo@nz_c(mU zfyZ~DqCFTI^S1=6j|W3-$!VsbEtiSQiOyZV4*juSL3%@AWB~~I|9Z1dbB?eUv*+~Bkmc*w8VnqhQOsH56~vhH6-&s~3)^Tg97 z{Ztgkqf>u=aU44N1%k(`ldlxqk4}D};Qn{=iv*7|C%?Ej9-TbgohAAu0H-LFl6+7c zEy-7j!IFGPjF;q>3BLcG?SV-_u`^aaAXXIjf(Lx)Q4FsY-g-|K&%y^l0469vo<(i&J#BZvy7F)o4gdi0(d`kRvpc|Y=`p| z@<(0#X5x7tHS0eF8K144Ja6xn{M`89|ESPE&-?6WMC#9t^C{pm`0TZtuf8|`` zd^rSmIraw#bHpL-v*A@6i8r5@my`B#WK z#aWmuqyKf_v0nE$KV8PpkAZi&mK9x)`fCKw<6QeB^4L-`qMvJV1^80!e_!$;F-_y# zAV)6)AA<2*9cIrKew*~65}CGA@nYyN)DMM;AXp7N_SZP|qx|11l&zP%Qx~O1;FtO5 z_DhT8=f?TrGW_GfD|6k8XMx{Xf)~b6x?b%Sy%{rW=3qlpub4e|qMJ#*7f+sK;Q&Z1 zt@kI=J<)_7Gt-%@9?cDjUN}#ZFiaz+Hq|x4v6WIvc!(sfM>Cn|ux_Nx%&_RoM3aUd z%O#V;U}BSW&@>&Y>At>18V;^d({#Q4U}SHb-nOq5kG?qdV?uBJ{JzNEj@`}@c~S-_ zIC`YFY2-m`Jt*`&o%>rNo%;Uv_Csx5dRL^SvkkqZi~l=inMgpn$dnC)d!;40ini*Q&5G4X2vRc!pLOf>6Amzp)6x0qG&+5 z!GtMP89WuTYJVC;%w&yTp_;}Jh&cK|J1qx_Y7EeLABcfBmMkCEz_%5zad2jt zLk9^JZn`AgNTqJ(56|I~1Wax4n`0$@j%DQa5fw{a&Le&jKK8Rq{JhJkppq@gMTbpp zguLDUFg^b=;`=Lm;(4994#?Q;`T3bqVMRi>{UgBt1J*Qr{k-mDu*WqY z+w;1R@ePwn?0`w$7_Lv#Cn!AD>Hu^ z3UKUl{k(4EbMbs(c>iHyJMPEt1BaJbwBLnVaIT&nP!C&T@tf@#=Yz4`UW7@t&O)w- z9k3nCOTZX8uAiTSLuBvP$GYrk8P!kf#Ui$cZTgPH_IBjHw=0Ip;U$_FJ`ROQaeH|F iSqL1r-ELp~X-hioa?bU#?y@rWukNrk*18N_qWCw*5$Q4j literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo1/exo1.c b/A4/TP_A4/exo1/exo1.c new file mode 100644 index 0000000..1c10986 --- /dev/null +++ b/A4/TP_A4/exo1/exo1.c @@ -0,0 +1,16 @@ +#include "stdio.h" +#include +#include + +#include + +int main(int argc, char **argv) +{ + // Lecture des caractétistiques du processeur + int nb_thread = omp_get_max_threads(); + int nb_proc = omp_get_num_procs(); + + printf("Nb thread max = %d\n\r", nb_thread); + printf("Nb procs : %d\n\r", nb_proc); + return 0; +} diff --git a/A4/TP_A4/exo2/.txt b/A4/TP_A4/exo2/.txt new file mode 100644 index 0000000..f237f99 --- /dev/null +++ b/A4/TP_A4/exo2/.txt @@ -0,0 +1,701 @@ +Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000003 seconds + Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000034 seconds + Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000018 seconds + Nb thread max 4 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000036 seconds +OMP work took 0.000009 seconds + Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000033 seconds +OMP work took 0.000007 seconds + Nb thread max 8 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000033 seconds +OMP work took 0.000008 seconds + Nb thread max 10 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000007 seconds + Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000011 seconds + Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000004 seconds +OMP work took 0.000003 seconds + Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000034 seconds + Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000017 seconds + Nb thread max 4 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000009 seconds + Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000006 seconds + Nb thread max 8 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000008 seconds + Nb thread max 10 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 10 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000007 seconds + Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000010 seconds + Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000003 seconds + Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000034 seconds + Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000018 seconds + Nb thread max 4 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000010 seconds + Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000007 seconds + Nb thread max 8 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000008 seconds + Nb thread max 10 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 10 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000007 seconds + Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000003 seconds + Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000004 seconds + Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000007 seconds + Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000004 seconds +OMP work took 0.000003 seconds + Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000033 seconds +OMP work took 0.000034 seconds + Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000017 seconds + Nb thread max 4 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000009 seconds + Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000007 seconds + Nb thread max 8 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + Nb thread max 8 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000032 seconds +OMP work took 0.000008 seconds + Nb thread max 10 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 10 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 10 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 10 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000007 seconds + Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000003 seconds + Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000007 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo2/Makefile b/A4/TP_A4/exo2/Makefile new file mode 100644 index 0000000..2df314f --- /dev/null +++ b/A4/TP_A4/exo2/Makefile @@ -0,0 +1,4 @@ +CXX = gcc +CFLAGS = -Wall -fopenmp -O3 +exo2 : + $(CXX) $(CFLAGS) $(LDLIBS) exo2.c -o exo2 -lm \ No newline at end of file diff --git a/A4/TP_A4/exo2/exo2 b/A4/TP_A4/exo2/exo2 new file mode 100755 index 0000000000000000000000000000000000000000..b21c18851d400afd61a732270490e41a86a93253 GIT binary patch literal 17440 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 O?^h-0y$8wb_5TZnTbjrK literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo2/exo2.c b/A4/TP_A4/exo2/exo2.c new file mode 100644 index 0000000..03c4c52 --- /dev/null +++ b/A4/TP_A4/exo2/exo2.c @@ -0,0 +1,74 @@ +#include "stdio.h" +#include +#include +#include + +#include +#include + +int main(int argc, char **argv) +{ + int N; + int nb_thread; + double start; + double end; + + // Prise en compte des arguments + if (argc == 3){ + N = atoi(argv[1]); + nb_thread = atoi(argv[2]); + + printf("Nb thread max %d\n", nb_thread); + printf("N %d\n", N); + } else { + printf("Missing parameters\n\r"); + return EXIT_FAILURE; + } + + srand(time(NULL)); + + double x[N], y[N]; + for(int i=0; i> time.txt + done +done \ No newline at end of file diff --git a/A4/TP_A4/exo2/time.txt b/A4/TP_A4/exo2/time.txt new file mode 100644 index 0000000..c765445 --- /dev/null +++ b/A4/TP_A4/exo2/time.txt @@ -0,0 +1,210 @@ +Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + +Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + +Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + +Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000003 seconds + +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000033 seconds +OMP work took 0.000035 seconds + +Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + +Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + +Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + +Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000033 seconds +OMP work took 0.000017 seconds + +Nb thread max 4 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 4 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 4 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 4 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + +Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000039 seconds +OMP work took 0.000009 seconds + +Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + +Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000006 seconds + +Nb thread max 8 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 8 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 8 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 8 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + +Nb thread max 8 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000034 seconds +OMP work took 0.000008 seconds + +Nb thread max 10 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 10 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 10 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 10 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000001 seconds + +Nb thread max 10 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000030 seconds +OMP work took 0.000007 seconds + +Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + +Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + +Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + +Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000002 seconds + +Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000031 seconds +OMP work took 0.000007 seconds + diff --git a/A4/TP_A4/exo2/time_500k.txt b/A4/TP_A4/exo2/time_500k.txt new file mode 100644 index 0000000..5547dce --- /dev/null +++ b/A4/TP_A4/exo2/time_500k.txt @@ -0,0 +1,36 @@ +Nb thread max 1 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000257 seconds +OMP work took 0.000231 seconds + Nb thread max 2 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000216 seconds +OMP work took 0.000096 seconds + Nb thread max 4 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000216 seconds +OMP work took 0.000052 seconds + Nb thread max 6 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000214 seconds +OMP work took 0.000041 seconds + Nb thread max 8 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000216 seconds +OMP work took 0.000048 seconds + Nb thread max 10 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000205 seconds +OMP work took 0.000043 seconds + Nb thread max 12 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000209 seconds +OMP work took 0.000044 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo2/time_maths.txt b/A4/TP_A4/exo2/time_maths.txt new file mode 100644 index 0000000..f5beced --- /dev/null +++ b/A4/TP_A4/exo2/time_maths.txt @@ -0,0 +1,101 @@ +Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000002 seconds +OMP work took 0.000001 seconds + Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000008 seconds +OMP work took 0.000006 seconds + Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000065 seconds +OMP work took 0.000062 seconds + Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000661 seconds +OMP work took 0.000655 seconds + Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.006707 seconds +OMP work took 0.006700 seconds + Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000008 seconds +OMP work took 0.000004 seconds + Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000066 seconds +OMP work took 0.000030 seconds + Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000673 seconds +OMP work took 0.000335 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.006723 seconds +OMP work took 0.003375 seconds + Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000002 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000008 seconds +OMP work took 0.000003 seconds + Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000068 seconds +OMP work took 0.000015 seconds + Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000663 seconds +OMP work took 0.000112 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.006681 seconds +OMP work took 0.001190 seconds + Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000003 seconds +OMP work took 0.000007 seconds + Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000007 seconds +OMP work took 0.000003 seconds + Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000063 seconds +OMP work took 0.000009 seconds + Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000673 seconds +OMP work took 0.000089 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.006725 seconds +OMP work took 0.001012 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo2/time_maths_500k.txt b/A4/TP_A4/exo2/time_maths_500k.txt new file mode 100644 index 0000000..8266d45 --- /dev/null +++ b/A4/TP_A4/exo2/time_maths_500k.txt @@ -0,0 +1,31 @@ +Nb thread max 1 +N 500000 +Mean time on 10000 executions +Sequential work took 0.032975 seconds +OMP work took 0.033541 seconds + Nb thread max 2 +N 500000 +Mean time on 10000 executions +Sequential work took 0.033422 seconds +OMP work took 0.017121 seconds + Nb thread max 4 +N 500000 +Mean time on 10000 executions +Sequential work took 0.033458 seconds +OMP work took 0.008658 seconds + Nb thread max 6 +N 500000 +Mean time on 10000 executions +Sequential work took 0.033736 seconds +OMP work took 0.005914 seconds + Nb thread max 10 +N 500000 +Mean time on 10000 executions +Sequential work took 0.033780 seconds +OMP work took 0.005240 seconds + Nb thread max 12 +N 500000 +Mean time on 10000 executions +Sequential work took 0.033495 seconds +OMP work took 0.004825 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo2/timings.png b/A4/TP_A4/exo2/timings.png new file mode 100644 index 0000000000000000000000000000000000000000..57c55bfadf745177618e3c6502d090c428a12ccd GIT binary patch literal 51063 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 literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo2/timings_maths.png b/A4/TP_A4/exo2/timings_maths.png new file mode 100644 index 0000000000000000000000000000000000000000..4e2ca2fc7c5e1fa361a660201cdfd0923af10f11 GIT binary patch literal 42893 zcmeFZ^q}Oz&V6RhFp3IAwvIpz-umZpw;vH) zR=V(_p=NHcIW%5XLBTtC-MvnG@1npQ@0>?x&HTxxTjv(VV-*!b8XsJdD+(4SGL&BM z8ycT1wMY~e@`uWt|Nn3P&x?R*_~OO-FaEXlVXL}0J^~ss?pv52aVOt9u8stzGA@r) z^z^1EOEndAF81YGxsFdX_!rwuiEETuKED<*n)tHkQwn2Hb_1@+I}AybZ@tZL=fDUt?R?eFht{z%}pYh89ucH6}CJUw6#KH0{OKX9=taJlHXZCqqwVZou~>&-fu@TaEd z;USimmhQRmOp;l%G$c(ToWpVXPnFQKM~~132M5iEzG4y+$5dTky*4vF&E|e+kD_`t zeIv~xie8rEfSOJuV3P(uDE;pevjHjf-MfL}Y2Sy2hI;jsnclyDFO%?~yH{`IT}1`& z?Cd5xjhG58oi5Ft?3LlNtuE2)dd9~7#l@T{DJc}f9wS-u8{8V~?CkJp1jfe32?+@# z_svOod3gsY?OGz~zFG_uX=-Yk_GW!=xGs#W11d|kfXegigs1L!GdP9zxxg*^G&7WH zzQ*I+XZeLiMc_5JWHV8JF-=I+|60@7SQ0EOE)kJmO^x8^&!0o6g{ktNne{py zY|eZ&?Zdi!`7#A1<;$V3Ot7{svO1ZZ#=kx?Vig;8=&z1c^cLt)!vpX+t+rR#%{^6# zb{cn&87eU|Ffb4`F=2f9@}+olKuAcs>)xvKt58dh-UO#${*n z_+U%?$otg2Zg;1moBh#QmHKg&a({U6<>zNVueyJ7 zw8wD!_EhB*CXJ=s=~w)EF%AxnC$h5KrgvE`S`L?netur1Sm)vXNj6^G(vl_FeV3Gy z&;D;$is*oQ;qJ;Xv5t;TeM1AU{XFit$I(4YOG~%?34cGKo=kb;p|3B$T8$?;jlH@I zXEZe}ZLrpzKatxBE;>e0+RxNl1R?sTcn#wIDAx?)=f&8GhroII7TL>DeV5l5Ym# zf<^&H`x{fsV>R*Y20unNceE<)nJ!+u2ygh|>sKzJ!};5XyDM#J;XdTLYhBt5x3q4L;e)sg)*xFX+lK5mf zD$|JhY82{vW4+sFB*Ml0SXoh#9mDdRhdEIu~ ztD~CvD!K0`=9Dt!vdKclS4OMKa{5d|4;StE8uqRWta}X=88k2Hj};mCV`cF>E zQtmM@%vDa+?oS5i3jPYH*G+Wfk9$tXGewF^VmjIbHnwh9-Eb9C@3hX7b;F}P-+&n+q!qk$>vO3 zPH1Q--;1BPX|<}&iX)w)qoebCbaZr&FT#Pz)OONtVkh9Yoesdtx-AjLwYaz4Bd_BW zLL=(;ZeQcMYdci9EF&YMMc1_&LoDj*hD<{@1CWp*i&Bs0>glU9mYzzrgGh z*q+EAldoAuCWykr!+T&meFaKthEc}{ztfHn+*7bgb92d_wX15ZHQSNho!14oabf#z zadP5&1q58N=c82mB=abZ{nXf#q0NorfwkB4^b7GYikJ2lx=`X?_GaCH3dyJvk}02j z|9E+MS;o<^bi$$hx%=TZJK04n9GnZfT^}Eb4-{RzbV>2)Q(fhpT9-?!(RWp$*36{% zQ{7@<@W*G6d&lRe*WgDg`|j0zia!cx?$z|q8*+(!O+E6$9U0Ow@WXW6+|kR+=19r) zIN4FP=S%EnPj+49ZP$xNZCM@AY_0PL``EQ>-3HgUen#9@udtx3`_&-)OVrfKc*6xAt956m@o)o*;0BBS)>?M_%vv>g zggP|)gYv^6wQVqX@!|!^?%jo0IXO8sO-­FV>0fzmN7q$T$>z6J~y8{17bVq#%q zUtJmaCB&K!g*3I>WPNLk)0A~#@8efkao?Pr{iCCp^3nQw^sZ(B%aI4Cdv#|;@GMA2 za@kolEEiI|V&h7SMv#id#>siN=($QCR#^HAo}e|jn3fd0wmu#4JP1s>Z#nYw^+jwF z0cW;gqI;E7bLD+zQAtU1&0&-__V&|>PGjFYJFi0_|ayOs5kVd@|DTmee}#CTU&$foUi;xIBY0&jjB8pfYLe>9WYMk~92ZkFJC z!cGRI7TQex!0TLE95C2j9z_1p&!109%?Io67F3HkJ3oL$S>(mLE_2;n%xi0o*i=SA|B`o&m2g_yNzJI^pq_-e_ybq4l z+oU9q=dK&`HtfQ}!pbU50|POBSINgX{Gdbs{`yjhUiL#{lAtS`a11z+Q2j_Vgs#*0 zFk{>n%a~eNkbL+M1-rm;h!S+!X4EV-Pth#1EOT#%_2eSE3UKq6!)*=Ka54ao(fcXx z`EXmNW@mp?zuNlQ*~#lZW~R+ z13M+f#Z|d<643Y%6a`o7*4?{Hl`Bk4OipggX3_TA-QC^Gqg4Z0$pDicW{>Rw%0ORV z$V?_HiLrMgfKLV}WPhtu_^JgaCT8CAs{X8TXk^}Taijn&>MR>IR8$()9vd0aKYsjJ zd^rBTMUZ$J)4=$3nw&eNa3b-Lg9F!yj*&3{-~;)4Z)j8;8fN)l$+%3u0m$#DTB~gn zy)M{@ylQkb;nCh&b6Z>R`nvVQ~AhzCHp%&>o|IadcL6TaJ}I=f=>`o z_st8<&rlb3tU0%!)@7Jo2pVg8M#jc`TDW4Bqs6Zz!8YS$cX3#1C=9hLQ_;_kc2}|$ z(k_Ym;Y>uUYClpSAY#?l(m$wH$$gfmR`ePUYWF8uasVC+a5=M+rPI3CSIWi#ma9@Z z|3!lh_A4vnA!gCig-i2*k8cy|VRXx@o%!xJ+-Ch&4Uv<(rsHuy2mhGsgU{sLTyqF1XDpi@y78|B8fIo3K--g(lWJ9t_gJgf(cw%O z!)FX3;|>yXKkO>h6NP4{R_)9VMOolrI?8bK1ExZL?2FYR+&;Ap4mMctx|ekp!=>4P zCZEEyDoaR6lo)p=Eker=IV51sj);s@oV06fY9cM^OcvI$fQD{rXqeHTr69WUrzouw z0AIsyW20CJ0QQ_WZ{A>$y!WYaB#qU-`z()*q5wYc;x})MzOA`V@*Pr+7XhZm#!jOL z&#NeY!oKxEZOw%$m6MT?p^+&^xzj|fql}M-XL-m+$cn*fH!G92I~iN>{C;}+fG6}f z(<;XmWpZ-zzP2`L_o+~xUMOukPQTRE)fZtW^7;7rbG`K9qR0hRZOpNWnAuE)-S!I) z;c#V@nD!~==jHXn^X5QrQAtZp{p{-g+1<)&+XZmFg8N_Z%Q(VI_Ix`hd*iB0{rR~X z>gw50rJoKI=;%ytGP~|BD`=LOW@u<=klmZJU2#p%$@vf;pIf`xde;n_V!*L zE?fI_f{?#7@zBE3(oevt{o>ydE2%^S{{FkL03Gz|_wV2Rj;vpM?07y_kaAldudCDg zr2rxaZYoC>0jBOoeGWYC3{Vp;tFZ*YVUbZ$(#v(mom2=jSf6O%b=zmt)6?_u^|jfa zR}f8xDjpy&eDdzq*6a;R%Fx6_N*WrP>6sa{!zLX#3?WpVf_oIez5!KKiu}?<-l?A8 zP7|LOJTUNdzfR#Zimq{rk>+Oq?lg(5eod?A19brC0R|KUJQmf2Q*-6Y72UDwS6Mkh zF)_piHM?YRQ!d}UeH+8c$%%+X>&e;aNddo+o*vEE*cd`lpl`(7u}qX}ZVD#0v9>N> za`i#zkV*Y1sq@dW65GqaI>mVLfnOzll#T!}j$h7uoAKZwji64U1}A z_c)+or2sb~LRrOGqqoSgsTb-Jiu<1E%(vfy;zlcrrH22v(fF%w+Y78>555>j(CTxK9$0sKsA4rVu z#pZ>s-@hZD`E+xIt@4fOPEdeq=55h&w-j z{kkvn6M;Lhr#}Av7;HxEBz%s`KS4iO7^~rLi(#FE(&TosGvMX%#A*3Y5i}bNPft%b zclS7fR~*{f+Hgck1^0lX0bQA@m`lp-vLixn4qLQT1ZsC_ApG4sf=@DWBKrEb03LzL z)4~>bTS#ckX+i;R};R(Pvqt2pcK65 z`6LVYkX&#N#1IMimw@9HDiY#zatH_sQ~FHXX7*Dz**Q5IMnRIx5-=ho?w7eid zWi~c8v2k$|Gc&$WdPA5Bi(Hkgb%`Gfs zDZ{cJf=Z^Qre?jntPbb?bJg-gWI?z|KQJ0|94ZO69I+sUAWEJIj@rLkq_6_Jap|!F zu$?E_d#|P=BuMxj%`2K{;U25m8c|VOo%m0;3n=+3(n+E-evXQatPi+xJ4-3^+OucR z0RIE&tq0mCOF3jg&SyXGU?zOHzyJ2_TivhbZ{aOk>FzO6&BR#$j+~UGl!~T}dbo<# z68DNZG|X66mvV%n%~Rxil)R86EDs>ARF9KGS~@y7eN8}QT2CtOzK)9=RDPx zty9t{?|@9-)(_*VETvrZ?b}{^Uek9E-0&QN;6F2`S_=yc$GgK;h`M6G*c%A_1ZapR zy-cibxvH&;3m;OeKomp30l<*WW@=9o%DFe!g}#lBQbMoxyH5Q})2in2!-rmau99?p zfcN~aQJU`a3JWK1Of^rftRVFdsl*_57P?Q=`##|3FMhRUM8;zo0(#r?N_!}dXkJj4 zi%hz2!OklXTzstXr^3!SknS(&0ti+C{9@zeG#6)_M8nNpBBQMYTagi!5ZBy|O-fPo z_WPJ83%WHU%U~D%%-=7!F?BC0szfKeP964`CR|**6{(t4lXhZdoNoof5WG}iK)_Am zx@n(c`D7tl1_p#mT%!_r0uAofa#1s|ISk#I)@Ygd`=NW|p2--OuR)t=A=YuT87>&e zQb_w#<;03yHK@|*@Cx<|zkQ)SkRHN0Wi#t%1_0I$gjveXO#ms$x}g4SuM7{oC7`FJ z?W%P@T1sLN6ih_K8lrm|)_=dD-M1JLgVF;{yk;d9j_625!1%R|*}33@7pu(zhXe5_ zXUc@8_+-}Ej!t6yjbR#m2{nf&nC0j*M5YyZw;Gz?Hj-{L=1cND&wr}o{&%y)IwZp>TqZ`ALZxap&NmFIRo=VV`OH20j+5N z-~jC~eFJD0+ICAGv{fkAJogSfP7mh3nsnD&%Xl4Z%}q^BH3**_i#GTvy1-EnT2HU^ zCC(GNZ|d5$Y;`}j=IX=JLFd1R!qZJFz?`(^KnFpTQ{;pm1O7Aznt*gyM5qF?{^iS; zEKqv7g(@m48h`viw?5vt(RNv&OIv~33-vFpm;HEWK*ywHXeqMb_}DFNt`uMattToe zDG7Ey=I|BjbbsnP;3e;xniGd%eFFnJfD!>%){MKiS}tGzJu{xns($eF?imF!)gkWM zj}=s*-P@(Iwjf$B!k<6tLtx3@&2$S>%`TO)Rz><){{Aan#~W@dJmI5#CECQ7@zg^Jrfe_2^r*tPEd z>=_YYTnYhaTu#oZ{Q|jOW@hG)Ql=nVO}e$oxy8X^25OJ}35Q_;K|!k}H7Mei;c}T@ zOqB>aJgKFLJ9zCG(@ULw+xfy3?tUSzV3GZH_gk;tGu}wlvzvf&o(JV?wk1@SETalf zdA!ZkGcU?PH%QFA%;&J_q!VkAsO!N;Ci+AtKA_151F4Uo}=_kG`4@MuK7$0c}*zlI0A_ zWNK=A-#{)3 zP`CT$f1WOGWh1r%7%L3&NwnPDeJ1aU{s79A0r-q@2}c+37M#E@P}qP}Ikrs$er!zS zC9(4!Ek4?)&j>G6+LX*A3~2Z>USvUl^H4UNuWRGpiK@cvi}ER|zq7hcvCYRecMV(i zEJ6Im2Q3Fm&m_U4wkg6(v)XCuv zF#7jAW6p1?s|AwWHYLSFNWRZ@oXL8<+8s1LmAoA6_ zLuOj#)@a1U#2_O|gi{GhxeGyg6X17RO$TlAg`pv^r?4e)mYVA7KQ*pAR<#H8ptsXQ zjYs-LhBR?SW&yZV?1^%Q2c4QPYpj?Bxrw_{Y4Ue+o$X!8xm2HTPW?qoq>p9kx+AAx zwfCAy547*Vs3?4pwxP9(q2m3*l}#vkj*dUGytwcb!GklF<1NmL@55&=IxsN4 zoyYSz>RMA+9+jcgD4_*Y3a(0P=(Ef(ZYT8U*F)0sXH#pZhj$$WDyuKr#)Y>0yvus0 z5m0!J?13u0nzob?)s}GlkEqMZDc-ZUNM~6Ht_3xg42wyg%E*YLpk7~5nDr3$@N2s( zu~B^(Upu{Yc#}$$*gG*eTNMAvIob^1Nbk#L4%X^?Q3VC(FGU+_|zZ*$on`#vS`1$`E9I-C9c)B5^)8A?BB zO~sBUgbm|%BBUNO*m>`6;R#Tu{U{$Vikx0cf|q97Tq>yhU2H60U0p2|{Z(-D=WWIy z+lJ=b;R1>@Ho(`iNPIOYu~qX^e&w(Th;#YI+AX9wt-DP~6lUu!u8T2AV(x2O)7`kn z?A70}&C|>x0csJ#xj^)I&yeIi`Tk@ePhAvn4{GjLVj8e~b1;%FQ#qqh($a1GL82-u zUp4N5rFi!au!5$hHeT~X%R6sAyZL8`OMl29cEqU5d^URj(>2)vO`z!kIG+N<4?Pe#i1E&1pWg{QScCs{9`ib|{`RM%os;9V#eqp9R8nIEYEqp1>OgMo5S^#${W8v}v>(`DJ7J{dwwO zR3?MYhf78EE0Rt+mdA?f^z`)jaH#-?jO&W3swyyv0J+RG$CaTxjglac*ouJRYCBI{ zgbuSXT*it5HP;C68+cjCKSIel!B_16{2Vd7Omkx3QmvB0=1M;+nB6eI&&p3%4B(BU z%$z#-*%m!n{CI>^5_MNm?^^Ym!`xBlnyvAXZ1t7*j!vi5hA%);#35lrc_C;Eq0NAV zx-;55=XMa|e19q&<85+s=h0eSCkO^tu&~fS0^$XgI~b8e!zlUn_4K}PFZ5hJIyyZ3 z;pzJVBtmZ3yaqn1cR7F`8NF}Cnb`1CAip+r9VXT?7n&b zv@J6OE~}Fy-a`ew58P%(`(wX;T?63=T3P5Ju=JsIcNrNR@SOd83f18FfsDd-EC52o zY-h4O06l;o1mI=i;-Y{cUINZ?;nF3t!}$349$;@w7*M-pmmkA z^QI53iuR+3FuL4lT{Deh)$h2l3UB82;0REAC`i?+1i%AGDoE)B<*VzQq1ej0J@ZG2 zs?l5NzP8Q-+1&tU#j^N!TyGHTgVWwOnjxezBYhFOZ3#}*WZ9PxTYQUF) zvH(KCuZ5mWu#Z0hP=Y+e4KE-F5pctM3Uq`C9_xXUizxOW(~^a444D-~ynXxaEsbcG z375dpaxoN|_>hngEMaP>iRPQZUzwk8V2qx|`S{z$xiPn3o}xOhbxO6AVJRtB;GKpU z8W~N3!U9JtEbIqy)9lR54Ps({_}u;d{q#XkV}q*CKs5Ls_wMd7pC>wo-Fw|nS?L-B zO)r0PFbl-T@_n^+DDGTa6gh8K0j4HxwZcW?>l|;Qg?H%2U1~PmTr4xx?#sLrK5sJt zrnCi5+ahPA=LtD4^3Wv;GzC>R3pW;@u)%S?^E9J^aAc&y4nafk_HfX@SdG`l@9LD8 z5{8m-*8|W6!(bC6c5(~V|3zejl)z%;l=+`R?{D88nwy&gnYskJnc*u9C?8@OHhfHP zREj0onT>EPrTCcc@34E?F#L)WL88~Pdm7wYTR<{K828jP0z=8n078MtRkmLi{NHiINqsB?E5K|B= zO3y;qJ4j#w>r`CuvsN#6W# zN*yXu&Obc-I#AVFsI--zJ?lJ9K&mkUIObOh)$|4~?l-VGo~jVCva)Ksu5iOOy*|Ho zWny*p7i1F!Qt9QQWYTjKTPZHN_~ut)c2v1+-}BH1Y@uUOUleOtKW9s-F~1IEu&~ou6z2M zwU6%r-{rq4cI4yz?W3cKjg5`xie2@~v&jOUCA-7zmnhi&AL)`&YIPoh+@`&MBP6J3 z?%m68oa^Z9WZ>lNnTG`yQ5Gk6q@3Q2c}@~rhaQ?5+4WKQbHQr;NKFLP;b^ZG{D(?R zwU<{ALj_SfAh@GesEY>98?;KiJWE7y;%EUN1e4x`~X~t;r zZfg3@{TKGh{&OD-zSaNeod}ewpT_(c9E=Tw3ZxR!5(YZDi3x?xL{_Rx&-hB--K8Do zZnT|dNf^Rmb1+Gb1ntq}A$zAo7FK|BC@)*YMVj~{QQoua@L9)S1)~h|dsv--7J&H40tO?NE$C z^?!;C;@Ax?fsHT)+J^r6-|vuRBJDr01D`b`Mq3|lrTO3&U-$q>JOl+$M5&1NAsv)S zIq=Y|t*yUxbcDjSOrt%}05~M7@Qz#vWFifl@7R!udzYxwST^1<_1&W8Wkv$6L=j!_ zT$!_gATjd`LUe^MQZ@{4VN1Zcsei|$^h8F6_U275$SRT2+rT!Zbsxv%mO>l|3Nic3 z-?a2{2?2F=!XRpJz1$qH!5;s=RVT%zZ2>6Z+u7MAy_zMpwX?&-!Fd5fC4AnrNx51A zMO#I+oz6RlT+45A^UW%R23YHk>k+yKABXYI9Yg}PUmb}9R-|X_bh6^TyEY#FEcfE} z5+|gKqQL6?&BkYHV9+qr7GuSKE&o|?Dx>&X72Gca1{ST!aNjBCS~hfoC#6;)ZC!>Y zT8r^~TndBPlVOk-%<}pW5n(f0Ix?cQ1M3c^_v&-u&hc!|Tv?*~3TJXBN1wwTssNg( zJUoFsj^&^es5^H)B2IsnAPbA!#a<|G3htmvBF<6?P}xQBZE@U*nAJY=@$zOzL`0ZE zB~^j+0yq44M_Zec4pb$?f&zC&Ww_KLclA$EL!pkTY0eOMcjtdmRHP8k^)i)3v$TEw z0PaXH6i;z*W0eF21bX2uvcbMo1}D#8o)hj$2_({TqNAf1XJ*2KRLU^|g>KV=F zjGl$wfJE0mQ6-J+MP&(<#KkQ7V>S&H>@69}A;AeF&~zUonl6j73SAlFUg=)j-BwPw z4yN{sl@p70i>CxLrF$4B=tC&*C#%y=3U)ym;sn_Z+Wjj?QIWFgq98078^7dv)y~#- zAI#MQ_=#+lTq3aL5E~J;tO&3YP!z;t1o?3SPIUeFcrx?_Bv1uGfxxu1+ej`C^hQV! zgahnEUk9AL1^bUnN*Wj+PY#KaY4C%<@oi^uu1)XswN8jO|3c_$UnA6z)`X8x5K&sRyoVK!D=x5LS5KYzo0Hi}96c7M49)jl zu~^IOSpZF$8B9#JI|bv}prrQHxH_Re$tVB9xGwMz&}b;x!a({RX6ET&*4mGNZ@p@_ z>pKx;Zz4$$piXpm?*;=G38RyKzy8M{ z9IX)4SJQ#d7JnFogs8y#bJ?EvhWH=Q{|wM|oZM@H==O&tN>8k<>C7C|CqMM2^`|et zrWy3fNDzR*Dtja-v!)m-{<46dpB6n8e!kZzI1Oy8~S#&NaIc zzxm8G={_EAp6K2YWt7~f#OV|FHO`_HvDMscc`Yq-E$bp1rk$;^&tPK~f!l_JfzrCa zQ~^-Y+pjIBeO`T&XPzNM>v_(v*4Fy=_K-K1uj@l&v1bN#`Jr&c95gIF2qJP>3=zOG z{s^O#1~D>w%GTN%NjD;)jeDAIxNg(E6X_2=eey9Lh;QHp4a zFWlF%QgkM}t23b|?y&)XdYj6a!P3-UlqE{p%!g8oUovLlaWeaLQnFe%Xz3)YqJr!& zC^&-^b_`%I&K$b&^gw?H>IoYlu-zp}w>t%jYB063&{lJF%=aRp=qWId8MqEz2N>?V z-v}?<`_?{5`pxc&i>nRqKR$@= zDET9@hE!GGkn_Mk{imEexn-yI7*#qcWwu0K>9ed;-Aj~gQQ@WvyVGS-fN|JTwiD2w z-AicjN+0}l_tgv21a{X=vk~em>;Q4FfVLq&6VZ@~AE3kcVXj2;k#{3mz72ILNmF+l z?ED?MbGJVAb#_i`j_mNuQYW004|elUpS;|_q7wY{q(xQv%E3K+fc$s5W|q-CwAg~t znCuFBrlVdy!zdOSpB!WS121DL_Mexb2&(zkl#%8vS4K(jBx{f;TrXIGLI418mJx)+ z5H&9jgm2ra`x@fmDgLwQ8eCeY+(ezLQ4b9qmoTm<{P@pLb!X(c^|R~;cxNZ;r!n1Z z$fJLMLiD$P{RXnk?Ek2bt?l1rJKB5HO?H)uaG<4esYL4}ikvv%gMa85sSL(-l2;%A z>l@Ut?{Jwhv9UQFNJIkeNM$M=Ok{>WU|o=L8kPHM^2BoMQqpbD_tWyqSWp+2Kwb5Q zo~Qs~67U`qh>`=iVk}w%W$bk-BafSwtGpgi!9~S_>7u{IFSmu(ajtR^x3D>-=<3p1 zj*ednbz2Ta-LB(Z)jP$pBPArd^n7}av-+>0~cBH$&OHM8=NrM`EeNO{itq zmvVB*cGPQJxB(Y7{rKSrFL{H40>YxZ&+C#z0u~?TDyfqdQI#1cVk$VLJQkIz!gLPX zmy8rvV3I^v^Hx@Q91~?Xe4U$BzRpv7EOEtC_KO`SJZ2j7KMvJGm8G|==3?Upu%K)h@ z0K!iffip@#8Bqt)3`N$U^&Jyv2ocZ#$-;O+SAzh@PsoA~mY5O43nMYLLO~iDZzP%x zK^j|dxj=Yqfry!nWY>!HcEfIlDCfoXr*7PV>G4&H`|U1TRn>HKItnkDa@<-+ ziy(La?Cj;>L~dDWd)+eK~}X5=(*DOomIMWkx!}kavzfn8VstZZG7mqTT#nb2~|t=(R;h z{2HUo;(6KA(xnRl2?=IuI$$%dKLpGCfy=f@Hr_YQm;HHh6RuF3AucH?CwG4lk?R`v z06&74iztueJ4}p>h^^(93`e{Twj?k-oPmcY1_A`4=m66niHM+s6ySFXrV64Hvege% zzp_Iz#2@ZkNIiLS1zeKZ?98Of35RfzD=B^1$GA6I-gs6&;-?F|)&9gv_(o^54#s14 z2WOFyNWdpgii##`MK4SDl`+!!ruHhMHsum-E{u|v%P09bq=}a0pynz;u8}SCyw&+m{H(hd6kuwDG1-adl&Vd zRp%E>GQAn3OjDKMB$68qN6B& z?i_fN{%_6!rh@4|ck!u|dQeH8CUKi*TSRLeomjjV%KS9(xu!OR9lnA689D@hTr$Vq z(6KPs5^8uRK&=bFbpqXCE<+YjG%2rbddfYBr>@t4M+9!In1sX@v`macymer#F9*M5 zq$H;@+Rt}+L%0_KQ^1$o0Q$gug%)pOBJQO2*Ci9?gItMq=I%rF+NAIa-hKYUh#>Fs zGH^;lkh_SCkRY%VJb93?glbO@&EVG(R(KPLrvSK-85l@+JHs3X%w`~IbTFzoAW{!h z;{b%w!Rl9>fU=mit7Bo&-^`FUBPbH#6Xl7psJh<4|tQ`?qP|hHU?tGoi$)Rax zCPw=CW(_&aYUn}PkcnmUMuuO&ESm+H8@$f8lM3lgNQ}eGjua%2AuRs`V(Q?Da)4=w z(stW;e2rR2281cFb)br{L2w1q(#PzGcnJRocP3yG-E2>Q#8%Npv=I;oj{O;>l(=dosIaTo@-ie@#o9laL2 zj2~M~nHr2c1@7bBW?_PSN=b%YjJJRLNIQ*d(a4Q^F43A#-pSPtoQ$J%~>dq6FS-{*V(rw%Fo7~?R(e7vRoror> zka;taD;otm*ODIwQhdj~=8aBl=G0);rKHCeUKhp`S>$`80R|FVdE z{kx*gg<3qX|Dz-~n*EJASCV}gRnG?^vm6mwS91g7`PqNTx*p6F1(*G$0smnC`;ljp zO2zv#Rb?az#TPgq)Ad!d$i0bC=*bNPz@J)w{;5-k{*<1vnh%6elg`Myx0GpHRVO83 zzjp)z8Gx0+4zqkHU=;X|6+%|K%}haBF@Oz2WFdu1n^-07I@JM2ORino2T=lf<;VLJ z)qX7R0Fy{Z)1xKuJF&peH-KOZYAi&;oO(_{w@L-t1JSJ>NPI(b!#HgvCx-*B7ife< zMMX3~1dy!D4x;`BrIH9jw|m1OT;|$>BwnCu0QD3(2S_2M#6(1!pgAGYaTwcxd?BJ5 zX;nLK_%&DWa@X#%!(rYOWP%+bib-f$JPXx-(oQn+&R)@c(O~ztoT)vD5s0m9aS%-V z{4dFjBqrdti$N9{EEXDG-ipRk@cR+19iapuzT*=SiL0rR066E~K7h2+K8&@*fzbsm z@6X`i4VX2837qbtu~&1HFsy{0KQepE91I1N&A16kyoUsgeI|XLC~##6aogahS(mKRjOsKR+bOcV{1NQQ-S;Q3*_r5&AThQYbo&1K zVop?4kHZQw2ZiPU?b#Gg0iqmnGcrCAw3+lt=>$O8hs-jKyKRMP6le>oC=fudcL%17 z79str00vC64D~R*)Q7-m0o(JGi0?t{hB)(LQ+ar|VO<$(3u@j6f8iTP+4d5M)<~ znE9Oo;6Xsf4iYeAV_UB@@PN|Zo1+4VKm%!kkSuRq?ERdUbI12!XxM{*&;%ez`H4IB zR!LTlhUMIaw-FKEsf>_c8{a8H1`H9c6l_*D9-g^D<7Dn3Dt!EgaN*ORU?C!dP$+;; za7yE#*4v(&V&*L{Mko$}5fnIf_DlVtSy_xoU52#mJmh&cHa7gG;DEn_P62s~YY6`Z zS4ocx{RE;Lo8VJy^{MLEEcP-10|5@P@I1KyH+8v*KBL&NUm7Qv(myv+GROj>UFY!P z+_^=78|~L(jF$Q7Q)-_n1n787Asjr{7>G}|8WkI>rhf)8_lDicQt}-%=b30#lff@^ z2tjC2?up9{!nPV{~?1i7Z?&Q$$6+S{3D)E5Z}=l5OOS<6Z~`}*7Y>?MwB)+HsF z^V(PUUs=(!vW5dlj)Erhciwq#uhng>W^eva(QOpWEE9o!$iT{qjO08#yW9ZHHymbG zQGomPVLlK7Sq6rN7r(&}W`?1Zk~Re;z5!>Q%#l9@zNgk%76s{{Eb>l|eW~ig%fr z)4}e7%rwXZ>h#U#=Lk|>ULFN{ES%wMDBuf7zziIebSW#DD;+gTVfTq_Y$Q7%^^iWQ%Z(mX;PWyTruQk|oH*1ZGJ%-X5^B za>S#Nl$7+NP2HdK^7118fk#5}L_y&OKzQ{s5}r=H_PU@miI=tarVh zffD30hTF*rGAFeDy<6(XmB-XntK+yaL%XOyd>Z;o_U@4`X><3?np(!8rVN5V92atm z29a8lTGi9%p*op8q(jTgAu(n@K``s-i2_Wl?UXlp!4k@*`DkS{C_ddEA7KD7c3#ZR zv^2v5kbNCeRtQ%>{yyTi1P5GCkAoTFGzdr%veIvGTqX)Jc0M(IdUNnIO^M&BSEv~V z(0H*7!~Y(~ehiQB@$6f8P>?YkbMwxf*0<~6 zvw~yZ0a;y3k~Vl(aBBgvMVF7Zw&pZOeE+RTkkOl=#=xVQFk+6zR@S>Vr7(^;!1t+6 z*wALv3GO8X32jE_H6NS8O#;I$Ha=bn>LA_`GBgZ*1i@Ahlev<3?S2&2z#0CJTP}*Z zKiv{FkS}QhBja%SU{r?z>;?|7QzxOXrh>6CV`C~3p!lcIOqfbj=Tn_6o|li`oAqT* za^^f)ia6ZpcyP?RV)XrSNJW6Oz8o&S2fc}gpFdu&VcU%BDwO~UXuvQ|jYh(0go8{P zfoTdVTO!yKcA#G)*!N+wNhl@%ds0p#7*7lb1`cM<4@hObeF3SM7@z=fm3%-Dh7L6Y zWylbwE@4p{XbVIQ-$qA2mXQgWn1gU$7zM8g^hx9{Ky*!Dr&kHFYj>6g()vuV4yZs5 z1s}3HSfM-sC1Cv_*su?c+T>3m4Kb_s3rOT4-Z(NG1`!*mqsYMzN@aVs`65lB3C?IZ zOu?_i_Z}dV$PiBa1*D;<=wR(b3ItxE$bpN~*x&yiG;Lj2%h5`QyW4KQxGuaGA2Vwn z-;@7QCw-MJn4;-@{c7^x!O8-_S(9VBlj=V&!Tfm~GO*M4`?n&r=lnw;Cgi0KFi1lQ zGd>DuK+SVNvQ)lz?_M7SjvkH{>b>c9Oq9!%OA=6baB@;bW^tOSTxA4bZKmrT0Y~Wr zRMpqgB3V*e`iz{%G7sVkM=$`aoo(ha%HwE(-=#N=v834XYBIcG#b*7Uxs9h*hJ~clO@9;+c`rCq7`X=e|r~;Zt`vw_fN%IY|46 z<#$+2ANunr3wr4yBn3Ysqd=6LMj;a<0GUjI!>9n;DuFr7MX0`3Uvb)jGo3$acees! z=M0yaWx{m+ir*Yl+qWwU9&!nF>7Sjg0&?UWl>4&7OefnPmN3%w_v!_@1~6l!coROjkY)lb@a5 zGjRSqZ~XLTcM+*&!~4{11yH#$6%3!CtNr?{Z6ya(rxx4h2wW@uBNnpbO)Pm6IgGb| zrXLHq)Lk~RZKkAY1%f}*`1?0rsCWZ1gyZ1Q1dfQc8K;6nc8(O_7nou+;rf83L!t>2 zAV%6WcZoct>U`oJnA%pP+K4R(UJw5?ia1-Wa7?XM|FJ8nm{aSDE2aiC46?vSJ zbLtj=1&U-Yk5%Tv82h&3uM|<5j3yHSSDEO@0$f6w(`ou{h~A7TuNOaA&?9d~>dgFJk)|Q`g)^)|Ott zImG=(&O#^!9KzD6#o4vWlyo-p34NLi|0PX7;7;nCA09@0zQoqnWS(x9vj-YX#NDYA zit!uHj)^E+RSKFrgy+vQQX;Lo8KAX}Ca-fyVV3dM-i|o$@ZPtMGd)-xA4YFlFC<;p zdKzUcsmUH`?C`%zv^16v&riIQ7>Jw)J(q?k-9qnw5Cat&+YP_-El>LNT`@WagdPVB zzmJS-K0M%bKHL<@?17n%vS({Ev_oFnpde4bYVO_0zE7*vXmi z#0;{cznKLJ-Cb^cu3bUiYx3Ip3Qm67J*Jc%TfBjzl(s{s6E3kq#zAdvifmRR76!;p8U9-wamSN`>%L~<9Pds**jF{KPCB?`o^bx5Le3ury(`AeQ*G;ZVp#2C z3%Y2L_7-PnKJ7&9_i+AHLeBS~+?hAtVqDhfTePnlqXvt*i-E8SCX0i{2Y6g0K?eFl zPKD0d12i)Uwph`_NUIe~=c|WUd6egGlW_hveab1%ny=@o;<=flYfF(`RI|?L!KtP~ zl6WG@HprO~0Moya z&+|A~y_eLY{W>l+()2lT=J&R&g}z28Z8S3f-e|IvdLMgf=Qe3$GJK+%F=s)@Wt{I} zz1aC1-MLfur0omD#XL;0Ah-2OEn;im-`U}uzT?ugBF^N!Fd1wb#C(*Lh$0lDk_E`mqT0!hBZX3t=S-^cV|NlC<>VI z@U1)&VH8ZcN_ZkyqW%z_T*gdxGSppFY$u2gu9crST(o4SJ-`<^&Q+xKf^lBmk#ZZE zM80VF#)@u`ZQ-jkzU4*eWLpW?u!Oxm zm!qR2d~?j(m>8$g4P*)qLItfW$50V(A+fDOXQ2+y)kpj@j1@uL3(tj`&3-!RzBF50 zhj4O0YEF*n;!Si644?#8!ARgm@g-iPrlv+LT$rbFcz%XNUJ?^Kz~;Vc0leongkC^| zhaw3e0!i#6UsL225`qKYa-&{uO#>Pv&vF?sB9Pyk5f%zo&o`J+$GmcdQDr19F75#@ zFGN4Q)6zybB(Lc4*|d;~b$TY&R^07oywg&8HH-HJ)9h;KIg1E$^H6<#;~S{l$Y7MU zbzzEZS~o5QMLSqH(j&&etYNSbmJ0_#ED*@yTAVtc0R7m_4#RHFpzf-}h<0gd+3C^) zm=OR%k>-yp5<4_ofzMxB8%jy4=xXcl-Rhr2_Yu~bD#?Fiyz?g zIZJg$CNZu0B~(-(FVrf{S|bJkSDMfaR89aKevrJA&)&sHq86%IhTl`IOlq=;|0TfE zo#Oom{*wTML&hG(;Pq(}c)AUIvki>5JzaE%|NWl>owgxxdo7vi*%N=Nv$8Q;3j8PB zrQc}vpo|hCqCU8LD0m6@k}Q}rjCl9%MQ_r(cfb%O0*_#%Z{(}z#z6cIkRN^k$W5)S zSP(6O?*u?SgvW(3@h5?uX7JTdAO&|rWb4k*kI|!+{V$v+o2nSr-JZCX2A&Ng9pjA= zm^7<|5VHfA351Xk2I&3ngH;5i1(f=80`sDmS{Gi@?-ZnGcwds8miBg9KE9!@IT#q9 zfqnlA5i$6ZjK;!{_8`K$&OpCgw?Vj1Wu7K7Ij}qx7_z`ji?)pf5FA1^{+HXDMNKW9 zPk^RTFkO-Pf*_b`@J%28JBi5cyZ--$M4-S8`ajH_qCEw0l12jacWCg1AV|!d(0&#S zdcI7SPd3gI5B!MpE?$gWCZFQ4CoN^!K}zN%l`<3FxBtiJ7mpgkH<52YgUDg*1Djir zX$QxtE4{^&huae->LH0a>r1SCQ&2GRGPT=Vum|-l?s?K-)2!Yj_Xz#Lzi4=P=dfuR zf0aDMI9XlS(s1%8>~xM)(Y3!dQvEmZMBZgCAK!Y<8rK}Pu{M?WA}arnLhlx5g2q2Q zn%OevM0Y-ZuD9Iis~pBc(Y9Wn3?8cgkqu=f&Ob=%lZAd>DW$|zRQk`p#8mQ&Z@k09 zepr9fu;Dg|!B)m)V=oerBZ74CEZQ%d!D<^PT89Z|Cv#q z#E^>jz=OpXe>_~zdE(N4L!@*4{17#_IPaS>PgGQHIW7NKi|O8e21v9EkfH+dr^%qWs;v2J@3f8r{>7U;G z&V<_2lkR@dCbA7z?i^Dn-&9cv3^XCrr|3zrGy{J>CGKjqDG-mf~&8zbT00?xq3dsI!uL;295?d}RBJ%2qp zZ;0HyzPCvKRS1JDN5^|gfx+c9sK@BcP?s_ve!X2c#7gq=eKRe4|?|pTixvz=#G2BWX3&`a~iD zQcQyU$-Z{RT_<~)8v|NMK;ace|KBmQ99mEK+nG{v6ok^AJbj7_I_y=r=?{pA2F5?l z!!sgZ(FaMQEl9d;L6eM8FND=nrwrqjnEVn$`swH*LAl!9E1i1d|AVx*fU0u+*2Nd7 zfP_j)sz`T=2nb3FDAGuGNC`+cC|!zD0#Xvv-J!su!=OW80ix0%CH0@5`*+T{|8vhh z_l|M)7<;qbn{Tc6dt<&cp68iBUQGgL<#}y1+&?-K1Aqq2g{)WhFWpCv?g5bjBpTdk z^~|9T_#fP?HzKt3&(HsG2It&9XR%r9ak}16g7;)(XVdc8Pg9yNWx(TD*gh1JLn$U7 zA!#4=p9{dt|5CmcmU4B#Uop+Jh%DBAEzrE>TkD6D5TAi?@2OYY(~zf&Ki!~iL`9!}&maw3Qf-xETdcl~V&YzyUe93y8a=Dv@9 zg#Dzl_-^4{>8~`6-;c*|wR8{W^9!dp@zS%inSd#RLa0fg269Fj-?v^FW~RwIp}FOZ&mFl`VKAnR@RQayAyP8pg&ZoBUGFeb(t;Cif_NC1=qX3+eJHaE zK&=nSB*T^t1FaVn?8A4U8e~oZLrPR|vf!2&^b5gCXz5U3yWS5xu-wa-Uo=RJlNSph z*n8a%=nJkzRPothjZxNoE}b6k(CGPSzEC}aMb=>kx)%AxGcl>mmcxo-`Lb}8&8sv9 z_u(c}Ge<*=Eno0;Yqz*&{8G(au#c?Z)sJ2NFWrvywhnxf8T^6T1vQyCT|b0uU!-L2 zA$|7Z@urB&YchO3mZmnd#=uU13WYj3h#U*PEPGiPqyNy!zC2^Pe-%&+CsVOxER<#!tY zJ*|#o<{bgds{Sve4FM63MU#KCz}aRCmZb-M7S~O$9|-I`lxnDm6PR9hV;SNhOU=(Z z4L+&dv}yyi-A&_4jjwi0{(x{W10XQM6bFY80S|x!2qGijp)vxpPLZIOf#j$ltLhHw zMZFyM5W=c?oruVMjA5W`^*wI#ZW5W_>APt(kDQ7;l1dRSFVbBSD$?%V{Z+Cb_$Xer zKKHy`spkhln+~fXWxN%r*|BWX9KxEO29UG_E;RxmX*u4d0f8GPQ0#=i0Htyla0iIg zS6^SD7^X;lff}2B%?BwnkDlDiZTZ%!E1!MoDgTwX(TceVU^}I$gi{^gbR{k;HWH=K zTpGC+xwg|VZ!+&R?YmfaA>G@zm+?iz^_Dx5Q=t zI1G*tdpWzz)TWrPn=%{-EVhu8yow{8_GuuUxc0i^22EDtj~LE_qvi;6BiNe;yOU`w zDx;0<0<_rYxQEul_tHx~)_eL=;yKp9B($&`DVg18RM}MNU@}+_!Lz&6(^hr0<4fO{ z_Lulbn5EKBX6=;o8k$J&olaWoem4`JN81ft@ z2thI@Y8`GR{|&0ND2$PyYU`uphN@m;G9a(%*Vy8k+BxhWzy&N_wb7d~pIGD-b{F9Y z`FLV(|4=M-LN13XQhQB|&!@w?k~Gi1l)1{WZGK}|6UK^+iRtX@T&iC&_(ypYsL*R7 z!eC={&&i0ym;4DBVENV|Rd-)J-t0DY^qy23GUsgV=Iz9=&<}I{uHTYVXw*Q{vG~J{ zz{to5(ohydZ{y>GAqT5dv|IcPyxRuHHC2ih@0$Suz@$=BS1nw|h`Cc$HNHV2W%jDR z!24~I{eJI`jIG?toidZ3+=L-I`Sl-Ww|iY|m_MtmF-$VE4?qwQ=UiuJMaCw2;R^a! zE-@hnsVdt)X~Z2kr&xD8`x4XVUzO4<(xk*RA7K+N*lc65ZE9-Nq@tpM35AkTL299( z#1U+#Qxp$LVQg&dzlO4w4qn#xQQh-m7MA&(cdtUoZ^ih9x`h}cg=z&hZiZ-=vgJpY z8`kPcp5z&_-ahiY7gmE`zj}59A}lz?8<6O3{j$~4a+VWZ-*1h#Ks$k_0T1l>Ym8cP zsm;e^!X5*trpDT;U0wR9`2Hu`9x*w_S_{9p^k-krvO;5Ye6;iSs_dg@ylW*)OyBZX zs!2aUq8r6)JI0GZ(D`-mdVy{W!j6Qh7gFIxl(eA2@MO#n1P$-M6$8H90HnSL!Cu@0 z`%j2On!s!D1|`pTxw#0&uK8$75x^frK0stgLwx|E#T=;EoW;f620=^A;-Uug665nc z;mN(@fazdjv7)1*mV}aZHFu(YLQcCUO%<1h{WWu$MEE9nBldogJi%SR@cd8ER_Gvu zDyE2;9bGgFqFo<>evZ_vp$H7ppdldS<+!!bz0911f{Q)`F=oI>2XOXBKu#g>c7)6G z;LQ)7HKZ&I#U9JgnKFRu;)j$uay0@$(xO&&6Ye)=R#rTyQ~`+9h_Y@9(5de+@w(l3 z#-1KQI+~n@(lv?iYuS?)*hdyz-pWL!TmFp%TazLMf=QmJD#d0@4|WgoM${CpSLu!; zUavgr%>N*I4SvV{{}U@xj5LLGJ;d5C)6!ysg3w&^@rKvv?=RnX!fE-BFja^skI$Kn z;-4^;*(G~6+?ZnhuEiR8$3s^M@Q!IRZW$h;r+y<|r?QZ^3Tj{?!vjBKyz(t2ZNJJIIZomPegTMq! zSZfC=`*on=UF`k-b@{imHJetKhHcmSAHHvPxX8J`kFj9-_6aBBciv3aM4UUiC<%&~ zRft~%VgFO${vvDvM9iSY*C(tEgQz)Cd%%kTX(so28+oQq!~=z;4@aYv@h#M3_sZ?= z6=n36I&Qb@3`nZeBPVOIj{>autrYLEPisa$jaWCum6rpobur{M7EoqGqtAge8yg!N zIRQcc#>NJ#<5j3NChzi`yn)CVbS+fUY(`m~9UT$HWl%-<0w^_bhW7!o1{Br$H4mtn zl$Mv*uRbM{oNDU#x-eVr!Fc@o6-w{-)ljXO(|{mOF`j(fBBkEub|2{uSrQkaa51|p z={%dR8^7*Yo$(19?YS?W+m5_&2!yu~3vZ)?=E)04MG^2c-tqJl0gT%;X|Nt8Gsw@BLxTMb)~`7&ZRs!+v_O$Cl5Wn*TMy-Sqmnt821KSWT0b7jmI? z=e~OFE|Zk^R|X34EPD);?h>Ttvxc{7Gj877@_Z` zA6DZ|QIfp6b5rJ$o0517M>ih$wy2}0n+u=kg<^& zzQ$yrl7vL9yze17fYgtWVwFlaz2dxo@u*%Swj`3iFwd-QKLjU)(Ts(1!Y9@H{0>2O zuHi$l4){pq+-jzj@^EfHlTS>y7K`kjgKhBPCnhWFksFAs5x3H6+t%bBrO-%m!Fgv@ z!Rndvn|eW5NM0b)Lk(OBG70Nb&(;T2km%l_tUJPe$M<5NLi6RCOL3`6!(|eVEzRvT zEm2dMdUp&lL|gdR`*Fu;c#y1a^*=(6|Wk`S%1@F?kD4GV^#%OLN1O4MZe{^bQeEutbKf6%ljJsEZL5%>fsB1FYAS?FW?pX+aRGJ9 z2`a{&EC`7Ch+!W07?Iy!gpppaIhAcQlq1bg!Mc_)eostl=A6L6lY3J%&iT=2!f-=F z!)lGg_K4HuN`(>*)gpQxo-C0|zAos4(i~5U)Xa13e^>}AZ};&Bne~x-DcgyAn|4{L z#8kgegxkVUuyXWip&ZPS=g2x6lY!$PBC4TcAN^MTx_x)Am~N$p;g*YiP-lgrGHny` z{7nr#OjKmlg3*_|QVq|7&ggqLTmnbcg1a9kXiXbQ!}p}*=S$m8%FpYUd{PUO3z1a) z0OcqpC`aX0hATG0-m|^kFszKxP>!UqjwdO}!(Z?-p@*&2#bwqXsQvrFA4*ZCG(r%z zxqZO(b`KZvGZmcIdTx!Nzty%+X8B$eTM@fYnQ_VdA>wu>9W4Kr!6Y>I@vgcm&zkgC zyI;_a#9X`jHq+@PeE1rYK$^Otp`l&jLDRn*ozdWg#YL^E6OAtDWc-wv1Q|S(PuL#3 z&vldQ#T=VB9_NUEUGB+pxdMA8kK*ssalco90Ffepy6~`61;2~8AWVDaz#Z=3qV8;6GuIF@!Q+)LOtM_dXO z5%2NXQz1+%)CM_$tW{FE82MvkMk$vTsB?1DZP3=^{iQC1S$~K7@r5V-^BZ`tNJ=i< zM9PeqcxRC~4I1B^)d0szbrN`^>L-}tMIyF?aC|jnPlTC)U65t^=K6LO&knAdiNwi7 zVO4tezufqnEhcIF8658%d(^r&d19jyZgE{Y%6+l)?nmj=*v2CP6H!L#B%n#!$)sPxQr~k_Z zR{Ij7L_y!~f(%vSSb8>Nvr;pbwKcLbJ&B}-#Q zCV`l=r535vUPI$-vX>Tf0jpmL9Jh)1VQ}H~FI+x4@O<0WULsm`q5XyI_P0A;n8)jn zTk(SOJdxF+l)ftQV7DiMGE;V0v3V^9bK6;bYzTR^@NTv~W8EVm2#m)QY6m|V=wXQL zE-Coi_#-dMg1qRbU+S8&vY+O7UwE}~;R*-9cP-R4h6gcGQD(hKTnl82 zs6Ql6(k-uL5J`Fz4w!4rW`D)~6^8R5j;S2Df;Q7t@5l1gc3Rdb^zJL1V@$z#dK zb0d-pjgsoBFqJAqWRG1q4J*RsVw!{gQ*irw0&WCMs} z@h4ptgcaHq2^T^^zvwIJ`d!1oxM%QW+*H3pBmIsfgy0H_HSsV*m@7y)t)UE6%y5m~ z^Wx&f7Z>>t9>wnbICPizo$}fnO$0aR+(Mgl$1lak@u2ZwyMQaFTtl32*4KQH*F)>o zrt}XynK8LDVgiLZvVwYHB5eh(k{k#X)m6`HpZ}xXSoRWGj5o+)urDM?`I*+OG2v|G zLOuT`;d+3fe|9P|xcl}h+>-=ywN>O&r?z&lVg>x zXqw^rh3-9TLpGDNy2j$Y9^!u;og2tiyjKf)7GpO~iEu1V{bg0;tBe2EC$}1*J{hKP zot`5gP3cq`EZwFShG_NM?zdo)lA5NP^9*E?>Vp5n;w8VW1n8DQt+8`-^fJJ1K@}YF zr$F+0(aBfxbqL+z=>lenp0GFpJLU&fR7w&X6qXZu%#>H0Rz?UNC>sQ2^0^@2P| zjzDsxLZjX72@)_&vm(e@luQQz^c#^-z)^t|SR0_3F8C|uwsro`L~$X`1kMDa#0`wm zdUZ$3|3zEHiGxdpZy?8Py{#td39Sk7{p%4Q-VMQwvJ{gX{mHx{<_d z9QeQ0MnTnSAdd@_MnFId1zOfnAVqM=rPH95k3j9$roGzE@-i?y1K0T*?+EA;Zf$Q9 zNx(?HZ5=&lRh-O>nLXN8{H+$fY)_X#mE@24ASR%xq6PDWPE>a)y8Q+^OOcc z%@$>y`Woph^*0Efk}9sGB_>*p8BDomiI0Z= z)0w2<@xjf1g3Xzu=g(Pjkwm~zssEL-uX)*e^jc-~CCi=ee~X{eh@z&1>IrWjrk}l! z-_~aSbFgxY@|BXqTDSo&)j<8Wl)u(t4jcIN86b)&c6zjZbLA$);8`y_AxjToANzG_ zl_)fmWvSnZaPUGA&be4y8daMg{I*j^U{>?4g^h=4l+1RYiYB@)>Ij|x=c@lZh00XQ-u z2g2wLRd^sW34laKn>gsNqyv`%8VrR4#W?+Qm*2Zgr!J16a_^rt&pVo={sAf;*{97; z=O94E#d~0`L&Hr#&I7?MfC$oafJuG@UMK8lDd=O<7W{MFgx7t;2sEJ}4}@z3>c7q_ zV=obUHE0JQtS^8G5;C|0o)W~IEcy}yT3T9+sVG5~Mk>|=nD---6A$-|6|?96d;|$uREa zSfUcPw^<+aPrNP}>ZHatg4L+iEh3p&2(@wTvIWJ~f##Ts*ay`naw;){4%R#G;3duf zS}21kGQj<7nagc}DG4&A(kWE}yU}uW)VPG@MVq@9BJJaC%c_s?~h^RF5a`(lLpi}TNtO4-TRFeL&+Hd{_?K``FhC8VZwfTCY2!pNfWpoBX8Jz&ZcI ze#zg+*(PQLvDoSg$OVs8z8&$X?uWqJ#tr&t1#T_D=se@?4eJpoD~C-gBTn|`K}=J9 z`(#fOd4_L>bMdG)^7Vfsfu8ZOr`;)fzwz6`g#xk9D`C}M)D7>@rr2%Lx(DY^Wf-~L zZ$WiuN7Qw0ua{LaP5{LyNEc=~)?mbZ`kP%8*?9T<2V^9fw0hkf3!O4)8$;-%{~SQp zp4ZSg;Mn0o99k%A<+V?KDPl4vY6S}qbr{4Yiahoa3i}#iXkqnPQ+YNM%F)4Gcjp(t zac?JLG-vsF**ZFkk(*)Q)7s;u$F-NAfFc7k0wL*%2XE{(F$8Kgb}W0Vo9`l0n1eY;tM zt+IYI%~0EIdb{$4KMR44e5x=YFEkag=iKpFsv#s5x9P|eLPU1tORJEsbZ!V@pxQR8 z`z@cd7I!*uqM;9 zqN@N!Xt(>b{Tuqv(RE*1Rf2kirl?p5m+W8O{qRVULL&@SWmILY3h=>bWN}_2K!6-B z!BZbj{nrryOIzM_cS%N3voUB2A{(GR6#}AA)q8^jEKa_{$Ep&YI&6&7edi*4w>PcE zz!lfv$j{%}%Weq^4SNBvAUSmonY*AizNLHGLV@)4Gj{?AAe5y3S174L!*+`e(%`nT zg&EV+Bl;2%HFxuniw`3N`>~w}isLrE-|iJ0mwb_wmyQS?s(vy%z4(CbK+_*t?!i?? z2sfrLyU{2#YFcRiAt^~~Znt3;D25NHhS!%q55;nA2|t`;ZlAC?)h_d=T7@{Atu>E?75MNWk+=vG zSwktH8d63Ou0td6&nm~i5S>(|m-hbL&ACvd0B6!P zA)3l!(?B0Xp=kOOsT@jeJEuC7WDcgB(P@IQ(gfgxT++jM!8O;W?7J@@(_ znER}FLasSXK8CLn*%tKo!5FF7J$7L)7?JsMvf)0#%0^}~u=ua2a)#fbf@Iy)*s-O7BUs?bQ>eSr|1>Tu?&61+`QVqGt6;8iK1d0sSmNPSa z3x&R6mP5zsA3O#--{0QXEp-%fvDzyHT^OO1Z+E2cKUWDG?H}n^#_YIk-7tO*DBNN& z%XvbTB5`rVHtzc|H#hz*x>Py*tfIQrbmrUyw(qS|f|q{2Dth@) zP82i|F2Fv~P&M(qpfaQMZYEA9kwZka(A&Y=f~~j;il&tc$f3@qyV-}Nm!W@!Iy5a< zS!)Y6|T>D&GO$}QDh133{Y5bId~2A{EjGa z@_xci1iAENh@z!6vU>ZoH;z2;2U2r4j&8vZ776Cyz^6;B3JQU(k|_R>;*V4PUF|Sq>D_{Eprl|oI|VH_S^@cUpvy> z&KGMd7DC>t6U%TbMEjpw>@SS4I~(`62M_3UvQ_mkTyN3IZ`16@M*6C#kn3%8 z^*Ul>-~VuOViop#+q!+q>>e!ra3<&b(u}iT)Uz}3;^L3?_ljrY&8AKLY$q}bQm ztj+kHG4eS*9uvEE87uyVJPLig0Hzb7XW&RvAp($vT^CMXOkBJGGAMD98PzWg2Tv8G zZO=9gtY_Zi!v4+lO>S8X$xsK1J%f3bzLDEIkTZJ}4Xl=!CL$Cgqnqg z(`NL9r>;OhW#PbRZZ5#YSmmzeb^8!Tf6QCwlP~11K6^M1E&mC@chMeQs@5Kw>n$W2 z8jI2s=fOOTJ9s{G3>(c(GNvebH5_&N3kdXF$RaxNpWEE*=+@t4{g$nGQ^G%qio(Dk zcwwM5ch}E+a^mJybOX)z;^NxIqw?22z4F=eh=6b})K{U~$U8vQdV@YTbQ0YSMq0(7 zfsF<9J3@dG{_TpeJknpPuc3kHhXb`y3MwFg$(aRdqxPAZnNLeid*4ifw*;8Wvmkg5 zjQ`$kG8w9IkJ*Q|qb<^YCt&TCZ_BUdO5iH$s)bnaCphtdl{|TRa8;_IAc_N$nIuqq z@UcXa7aET%%GnwnR$bh+qA1kY_9mFCaTV3rJ5&zzP8~nt_-11q>c(F#$>ojvU7Id;fwn&&|#KhQ3a~CPU!Nh@8fk zcjr-8eSQbOR0nd=aqfmqb91Bi5)Ka1C(j_voc4*|Gm9fNWZwNxNA z7t{X6@+J?ImXe0-B>-QSB>h;SaaC;6xcEKUXzXe7x|NS#is(c3!F>gQ< zqd>p|LP*Nno`OIl9dS8Eq6!FkmPbo&Rzj<_XoxESffJIS4+S$sZk5mX$Q=bT1`cj+ zmLOUDdwpi+hdXqaGy`yI&24Nz@ctXVO|#WcOryJQ=>D$n&9}KunwcuU6Nz#20xPx0Wk=`qZ_j0Jv%U4*7 zlN_LHX|F!l`EyH>^hhUub;57!K>xff3K~rQr=B|huG5)-5KpWA+ro5-B1(}1pwveN zIh9DF;Im`<>Uh~H-US+iOrB0iWB)nMyFE)?E$8u-&Eb)vy0vKLZQH)zsaVviGkJNgSO&pZYynHe<^QFmGQtZ)9za zs0sniILj6Op_C%5f)Pic+`A6}C2q@O-=LBv3JO01psBO&?&s(QA_;{@##qxPIVy^E zlEo%c_6afX>4ZOkixw(rN8e(wuhF8seSp|*f~cV8_T|e8FSK4D>mgmKt<4l~MKG9} zHH(pHo941_FO(%}TL`zY9Dd{Fo}Q?&rhO=LPRGZ|?N$u1P1k2iv`&tjc@4dEJ0nG7 z6{d)fodoRaN3-l69+=i}cCmEYK^L;X&t0a#Wdr&gb7bBxkyj}nPY&kYnV;NXePK2E zLPrYZ8TwC0L}%ue-lbmSmo>yRrJT-$-cd`)2@ZOb4VTK}JRL5XurRU|(T5-F_Lmi^ zCUo@`%!~uF6STTXx!Dg`-)a^x96Fu&Wx1X*J8KnFqkDUsJpy(6dIo3@sYir|N?V(A zZtUJDEG;pP3d+Vo-~ZV0F}9LmeC3f-pwctyIUTvv`Y{ph_$4+?j{omdUg4==aB*8>qXFeMvTB%-Mq*tz7Kmdve6&`fdbATkkY1o_s&1E(qJ9P$#E5J%d zH0YsK5p)$qBpex&P(bN~_J5Eo0d3Jm!1bd9tv;c=ybkewi1Hi0h9%spG@^aBJ^Dkj z*)__6s-94HH2>x=7yea7sK6f4?g>2hIOUo~{P&({A%Tka@yc^cgKF+&WLfT2)>Or9 z4X%QNQ~gD%Q5fXq@3$?r&#XI;fBW6r4Y zZ~%KdU(Nnuuj2gDR|!%on(na5Q|6m>W3`_ud>TA;t^qWayHltQysxm)@F!YO1lyaM9MVywq+k?ku33PR)IbV0Yp+vO}5 z7KYOnCtIE7&sA<(U$(lMRO{u*<3}t`nO#n!$Eal2!{xRLd28~-vf^`?(`MqJ>xH@m zU_g%Qj0m3*j6e}|cW++Amddrt8#+wsHvq&!zKHp`5MFk{6D@Euu=0X}z`M|I5qi5u zVN=8&A3qw2(Z4a5S$&gQ^egNI9t&H+r0YfQ9%RRZ<5cJJ>UCp2CTd#|E4$b>+Mi2(>(k3(+)Mh9YtVu>{_#FPe87rq z{f*ZUGvkye+2HVE%fi|l)uOtBf^ON(t)~&c71Q<9qK}`b%zIbLWY?}KZLhxze>1A* zrX^-mokKq2O2PkL@-<-hWrDi7K9xId>UnmC%;zn<$R1N0vf=*51?NAy`UMKE1&WOqhdd#kE*d4bw6Xkp zj#ZjURfF8lQzYp0Tk*=o=SCRTr)lqZy;H+G!HPMF4fX0j{$3KIw`cY}8wxH9G^ac? z7@^~|@YZlz+E~{TwdCmQ;~0F0|2G|nQcAhnLS=OG_o+pbSbPm zeKQ9PNel#Om80dwG7lvHG1VeF+@ctk_hu+C5UlrrVTI6J@$RqY=F`Z8{Q5&;xA`1q z<@1<&pHD-HL0_$Kl7P<8z7mB%vjsnTILkd-yYEqGj{?M#_DGtqXI);pW1%XEOvuX^Gq)Gvj5W zJVB~QRq7E`$!xMVQ&cgSZj%mBw0y{|Vi7B_{fL@w@WTfYy@9@k_Dn5G)mmb*+8>nu zfaLfrJSyapSi=Z#4<1zld{$5vdPB162dg_ieskKetXhcsvw?p8&Mx(zUxdQp)t3}}y;fjkp8AH|h){~0a6hq?pPxO_)S!0KOdM%SL8;{q+Oj5ma z-fYG~V(_Z`nprIU*?at?-w*4G>#+BHzP}Z)cief$5OVf2zYpl80L`M}ym4abPBa!@|q3`qgwsmT@`3I(+ zdUghejPM%w=`2lR;?I^;CGjR5b|3X7k6r1s`gBSP6U)@wYkh3^Q}1%E(kn_|UTT@? z5}Xyb=`EE$Abt~V8=zz%mpX+vu3yq7wku@l*3S_#8Nd_Xa>vzI$o2ASe2#mZleuEX zcVntrwq54Dg)>VAGSp*JuA;PPv;!Hr$8^U^taf91I(Jaa?Q(ZISIJ*h;%?j)Q*1U` zhIUd)+Xkmq4MM`9%kU@89{l zTEfsOMwubLW@^32e-?a6BzUTFg?)P9W(wn0%NLGjM5u0+=}SMIlTcQ!Tdlaqb+JoU1P1eDvNokF%aP zglcJTb6C*Ys(Y<)EUWYh-#=rA7ePgOK#JqtKHnFa93^`op;a2TvH{-#X?1e zv!M2wQO>n=`{nzJW@$Yg#jX1A%8-2XFDNf(s$CY=n2bkr@T`kRu)MlUMLrx`w_Pq* z)N1xC?oPK2-@Hv8dJJpx!MXP6H`pk=3sGx(&8darY!5aybvUx;;Y;5-P1~p6533AsjJ%0w`=&N7tm$!I#Qw`0hr>^k zj!UJYe650+hKJH8ig;L~K?DX`Uq$eBE8M4FcBe;%?bg51G%veDOyP>w7At{K*vXHm zTeb`p1)@;dI@}LF2D{%MtTtN@jH1q~I-8DR? z1{0Q@mC>DEIRNkNRr4(wFs?*TTc86utUAM;cA}Ot05d;`k3S7+w*< z_ZX2%jCg`YrEK&zX#davw-V=l6r0GE#7*bkL2>6Ywr?sqDqZ(%lQ2YIgLfWZ?b>^O z$>FWUdYznI$a@`28JWGyR=pT)OoP&}4yQ6@R05sYE!*OeRQCFKsmBfL#VqJZ`ZIw$ zzjo1NMFnP}78{TH5<`n|&fNJG-?rExceS{!Z(Z}6q$VzhU|z$HNBhH58O847XvwSq z-Gm)^31Ku%;*@4VrzFAS8+JBA4<8jxiyK~{or*;-tJ6HR3wzdM8@$3_?ykx=e<6bH zS3xlt79r{3Dn^A6FJzV}1ei0$(Wn>P`5WFu7aFU`_5@E!UtpO}NI&P=$GvVUyVtuc zI<4fby~R|%RZ-gDaFcc|K6xUJpUL8p#WmAMI63GC^JMEN=I8zun8r>Yce-5b)TKc; zKdd_1{6xxp%J?JZ0Y2j^3I78cIu+m62qaokWkvhic7egW-Di6Wsdkd?#>0br%!F* z`1-hWVWpLh*ZVY!F)n0ICcHN>;Z8y?>-5$7D3({Bqj+$`wbo0u?-AR2`Oc%I!wo^? zJI|o})L!Biv;`IVHHQCw%5zP9B+^qG&$hzw<1CHeP;QB?O+g&~jjKgs>~uFDKe%`G zO?0F&nDHI8*45zcqjSRe1oda#b~7bw2Mm9lVB2Ynv2|_teeWg;wy$vCwOEp=a3#_h z;oz~L{eFv!#`;TnA|J8703|Axu_cf8VEM9fF$3-kte}ih2G2Q(OV-p=EG3<6-vZje zE|u4|P6kF~UNPI0lxiRok1zM&<9qSG(XT_PfuM@K|J!TQybmb9gyb*?@V!!N^y!-(!#hOp=5etHmb$fc-L>a+H+*1Ic88p9 z^(ESd!$MEXPO9xO2X#JvgDn^dn`KA7dG4w;k!df)HcBUiwA?r|_W7tH&-*lCKWv%f z4o(VD3)LpU=-n$MjxwX7GtO6NT4qA8UOeT)`H3U1);NB^74$|_X;UdCIXbePaEjJT zKpkIca~EgMwM|y&Hy{8+6aX)D!QBn`n^Ux%+kmLfZiqOHSNmpUEzRjV2@OJ-F z+4tld_XL?ST|o@`Iqq_AWUE)uqRv9O?jpB(_to6j?a{*z~TY2nHM-<9qw!R2#6o1W6>O( zwnSTExz>;-oi@Dl-nJWqMpqT)uRh{u;=b@H=-%GAM$PmSw~pZ85)KtZ{lMV-URDd* zLTjFoFCIE0?Z|qZL}D4Cx<#GH_Lt5iGDKtZ&sH9|GEUXt@E4tg7cV(AZ2U}mSoU*> zd4*^4Vy@MB+JzUUCPUJFrF|bRV*F4~^XhKSboeh>TQyqEnaVkCW>>h&W{nP4;y+aSx%FAuPD(>pWxhg4(0e*G_}7!q>Q8WynNTROy14Rgwzw(L(IF9s9W2^)>QYJ+ z4k|&{XuG3^_jv4yaqNwBDjoHidJ-wiqoeR*xB6Y@UW3Nm>h#RIW#0n(+OigJiQR;C zxvVVWm`J|`>zP*n>w4V6y}i26>I1pGhU)VR8e05S&ubKpo5tvv>(RESKYH}6^|P5; zHAXd8VEj)<^l{g((DxM}DX;n zR?(4z+MgY|a1yd;?|9UV#&w(H3FX~Z$aKE&J5W*^ZW`84e5l4?pSmYJk-C0i&M8=^ z6l&M2!TpD%=|jJN9B|hVcq#5(Usk7ZrC531KdiccorywAUcNfMX3h2K? zZ-UTR?1gGpxgMZA#i)zFf zPvN%pSu#JG?Tf&Bsjb5CwN1q9M(}jvc-B%{foKTgbBa`*Uwp7il`Cy}ou5?TrMMs+ z@m(!V_KvjLU(1tPUtNo%wDhor8w?3Ec$3mgAI%D}wDPfDag`FZr6zr2E+RNiW|dc# zl`#?iT@_b(Vz=^{+VwsL&zi6%2kqr{-`mm_3bWFU7VIRZ^3o*9CsEo_Pp=NmrKjI@-~SVG zY%!rFoa*p8t_IibT+kJ@s^W=>HJ)@;sYfJpkq-hHTCtPGsfDV_Zht6nsU#Dy$5H;Y z%jmV-_DYrMi6PUZ=6talMGQJJEHtmB>-i6PF5j)3;^GT9&#<5m%%|lNTPC|F6HTJH zQm(gy>C07XueFVrwX~KtXri3fwHaz0O#Q}v%@!@^W|mHf3VQKTFM1aet>1?CwcnpI zsXJ#KR4*~pVeU9Q?4kd_hKD^cYXPGzhV|h+VITuL*1(SpE-Zt4jD^+=Z-OWu2%V!| zMvNk70)4GrRiWHS@$FAv&sM-4@v>#3X8nnwQO_LpC$p#5mR2ntb$?P@nJMYLxQOlh z+l`RMCt`FrXeVgQ*_u>n@rk6oX_&Kjo-r$UaSolIM0xKmJ=AV2zd*n(_DpO~rre#o zj#|@B*tP>tI4h*pK0N3)BZ+3*m416J>LMp$I=Vnn-Q_c=S$iMU3oMbQ`eh|@J0_L; zI*3uo#0tThMeQB`gezmO<;C2@#V&vEuUwQ{+coKg=l85e7pz)a2961|545{D246*o z<;&Z?Zwsocdwtwhg-YI?b?{gdnTuyL z`bud$Oc==JB)pO%Jl57%`t!PxT5x7}QNZ+^IlZ)6XG`T-KRO6$%#}sXdVZ88B2(bb zzji&-hTzNxECsv(zbD5m#gltygM0IhpW&llrQO98GJSEix1WII$ZqSBd$YM%_Li={5=e~I3*NYZmF^%cVzya7((!b3xT+?I z(6#D{rX8j28@xxRu|{8IKG;VFaIw;A%CHvNlcRV7@(Xr8D`cy<vn! z5QQ5`z_jGB^>z5(n;lB^;CtRDdn|kfzv#Nmv6&PIoF(*QGNf3rp><3+V%yD@EVF7e z9@TeTI=*DaXfeB+QNti2TtE5;+{1!;>Z%#?*_9X0jJDsf4!@tyG|y&Mk~!2}LkX*Y zEPdQ+G+c?}PAp%F4*p0%a$fhvc})-Av-RDzRReuJapf08HJo+yKL1gpYe$Y?XrnPo z_|8xYkF>&E^4L==Y{Ek=27Ovwvkzg3gp6GKG==!Lz-5dqJmOs8m}I%l^N2ihGI%N& zcDJ6yk3Ssvq0if}Et{ygbMybc%@08jQ76rUD zz+Wkrz8`oY%aSm@Ckt^mi4UlIKkUonY#`n1fvHyJx~c=Bv-2P&iHPz-u`1vmPl0?3 zuzdTHZ(iikDsG4VG7!*vT?F9fK6HTM1KcF)14uK60@|4zs*iG#lGp&OjIOK{1j0Wd zl)g~Bekb0qdCAnUwWE%TGy2Qnzi^D)bpOe7a3{6SFM?^eWb=d^i%j$JLf`MoF`{$PWpyArIcOLNNYL! z+F;HVtOidK>38@)=1lY-ydV*IMlB+x7|cDE9x#v|tjZK}pIb^flzO;xaJJw!QQ{vz zNn+7#^Acly8(ql2Z(a3$iFIE|sUzygh#l z8k#cmUW%V%(07d&N~+L_fXDX zMo2F<)CbVs<%Nb8pfdQ;R>-h?#%IUxQY+WS?)+e8orlOZKT=D~o|Nv3P|7{EJI9mC zB6fIB6VqL&=14@whCLs9jud~9(tEd2ag(};7K~kBTV>JRR9XCqK+&__Jy#0jxu#t3 zlEw2{Q}+^$>RgUAB2mP|Dl^77pDyzIyEf2ycz8UjwoP)r&z-;k@=~C~YmoLTIXNO* zF~O4-iuF>^WF0jN7N=KRfw_u8#nRPc+5Ade1e+Qx#^*|Qf>s%mQV3B6?? zCJn!w+q*nrD>P=ST4glk!fN=1ruxK(Yrszn&oY}rb6D`sg|3x7W2+ONOFbi;IzJ?Z zu~OD|6|i-x?kIQQVy@(%&-B{h1I*=|~YH%hfe{ZcyEjS1(&-z#%q>D~^mat|) z&2-kO4r*PCj$-WW_%l9xsiRA;A=qC?+?N!JoVSXiV{dK%2j$;$V z`*$}|^_ydF^N%?T1Y8ivQJq~1GBAjEMO9 zdX}^kLU)ZF@ibijGu=Qb7vqm{ad9bq#M$KPv+W$PJ+q3U{xw%j6U=-pZ1v`$6uCN4 z!h-;des{*iZN9bd@o2t3`^3D25zywSMdu?95%Ub+(CGBF>(?_CH#|_3z_bpM4A|Oo zikXL=MWNBVZ{@?Iqt~i^CI{g^LiMxDrcQS zuaOl0{W+?=j7mcc&r{`KpTM6 zzJ>-GWi{=dcq-h0S*%M zR=`GqhCtAyeFG76ghD|}WrC2l0O)T|2C_J-pYdm#g{SY=!1I+`nzvfoq{$&I55Hqs&u%Z zz{mh<2&6IF_BFatfYbw;^!X@R28)3dHn4wlpL5E~Rl)c@1X(-0CIcR5M8o=PdD&}f zX<|YL>(0=~h`|XBTvpf9X7_3?`KsVLq?^#u!(s=7%*^;YT)YNTM!ds=;}0W~#tOzl z{;c9}jJgMZBr~E!k-(qNL1yf~{ogHP1n%k9lhWD6#RHwUkxzeXefaIdLjNa9ltIv+ zKb|Omw8^I9L%76$I1P`Ewi)s6*VBl9Z1OJ&oLrTamp?BlB}MUDgc6NA^;c_~&Z7*zrDhbr%mIM9lwB}%gk|mx*-w%#! zS810{KK}FLv(`LqUQ&xt0M+i_H{t#FH%U+XVkP(pdejP1N0l@kJGp0m1@Z z2;D2obc&F^o*?cF{S5*e)|+YIpk1+pE_zT`y#T#wySna)fdGbsNa__kXs;4QV_%C! z9fbp^j7QMbBjMz1k0tbJV(&8J=hQBj7U^(YqeG+7`{RSY!Jsq&lm=s<8wfkh`a2uo z1;@)KCrN= z(s{&5f#|90|0xH3Lge4B(*0o2Fp1ed5iGv_Q}GV*f)@0(xdyx5eYvQn9RwQDpm}&L zQZ|c~hiA`a^hi=i=Z!lwg+#PE+5zy?4hkAF-rkK?R#q=2kbZcrCS{=@5)uk!_)s>r zoX}+ZdU=s`XAy+KAp`dT0Cv*H>Rk$8r(J?7_Nxit4Cw$Csm%GOs^iKSA9Cj?J{wBRNK9=5Ro( z$uEI|zKpv1>qH5^X6Q5!>JA!KGRn#?+`(PT7BckS3{qw#!=Nu4l0kPV($nLaQ!aJ( zIAQO7hf_k?tDb9hOVaM{wPWSx5yDTuM~>AxX5pPbPh8Tt6+RR^?`;k;3G7H))J^E0 zd>(}X?T}sJ^@sBlubR)2;Q0Gmfck(5Fu}ge=yNB);W1h4i4$LmJI&9_yM$^7Srukb zz|6^!%~NMDgY|yj56yJWp6e3_6C0+g$tiC{PY`~)t8&zQiehORCFiZ|&#%D=HuOqljU z3?IM)8KKKjHXmsHqX8}gcRN!RGz*o|*QbMS7wlC(-J`07>_+ik4_d?ALd)`XehS*9 zZ)MPv7a9$oM{W&bXg&%`R9mFbMq_fGk<-SanlsAiJ^Y9Oe6(#D=OYmSnEIN638)M%A8A^x=yoWeW7hN05%(_WHJe3@9E9X$)n%phY zY_k&dtXvfihG7|W)~@Qg+5P(U>(kT}?WMF~(EmV?E~cTeF*JN~ z-=7QFEHFIA2d5hMlep4!(`k7*KeRmeOwnSGgPCmF($*uGKZ1rXrf^kL!fdLuBQl=; zh}Jt;AC&Nb4?3-*ipA%=pn{>B{|^N&ok~1VgZ=pbb$0GCOn(u>Ef`5|Xwwy*H=7bI$i(&iQ<>aZvlHEhW#)+`Rqhat5M6VC&uI z3LmB0wVAVEUCaZL_9_MA#Vh39z^k=Gqw2V-on9tTA6O?wik|dUqW*}!lhbi%%gv8H z$Ih8-^DH~=#9)}1oocudIe{>Pon3!7A9(Q)on{0;%Bw)z4UddOjDh)i@Y+mVe7yQj zzuG1=EUf4qbyuEBe&^8&%+QMa0j;Q!goK3OD(te$*e&Jk7Se|*$Q1_i9T1@QnluYb z%g->r71`VE=2>BAr+yH`7d{DKv23latsOMyW0<(oI=0Z+y=`=DoO$t!jxsX5VrA-S zuJO5&T~M!{-DCK#ZmCH@^IaZUjf1r{!rC5HHWo#if(zpR_?!{{0U+lOCHfg?8W?o? zk7@(zM#66K9bLi$7Z(@dsJpZCCP3-`de$fsiA)g_O13virAJdPU5TFA-L`U@haG7c zY}`T8bMiw;maje4M3vt6=Jr7gQ1E`H9t4<7tc#+`Fw~*himn?K3KkKTXMS^-#{*B7 zDJKro+3Y>gYBYLb3OF$|FPz3#myRW0*mWoRw}_*oqlGv82DDaYoA6$$Hjlg9#Q!sb zYf>vaAQ3hJ*#8)Z|(p`iGy*s9p3l2uo;B5-N30vHojP@8gDUqWHZ2 zC3B1P_GR_Xbh`JgzJmbv1+^s9Xf71Rz!=0Pc08yJt0CpufP0V*buO1sF*~rca2VgBE366(GS?kprGB-`HnNdzcoE)#x9X%W!T>{nOX}D7)Nv&i7^a$#20kPu^D$OxxV7+VVyPlqpe04wXV7R&M!xZR& z{ljRvMgDo*0;qw)qZ&2`q&vDpsewPA>+L)Jcv>C>MsXU7&Ev>}{Q_l{W%$KJ4JB01 z`grBsbAuVz6=?}wSxUD1`QGYPWfLS%l@3KDmAVP#}9Gjyt=VvgczhP$Ca9@=2Z`T$RY-$ z-vOx&%+Ht0dV_+eJ|RgtUnmyW0R8iQO3yFKR61kPlN^YJnVkTZN%X)~^_s#bIJo2_ zf_5B}=&0cJYsbA9ZsDn_=2&uqI`YATfJpPM*7(a%Y2x^ZK=BZ^g+n5bCGS&cSk*+pFr=ZpKTW rgV8VZ*-OIxdgb>2-B>Sg>YGNB^87;4VW$6n3O^AcF~My?=_mgI@F_ih literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo2/timings_maths_500k.png b/A4/TP_A4/exo2/timings_maths_500k.png new file mode 100644 index 0000000000000000000000000000000000000000..b5af89068193d2a63717c29e64f9472f20ec94c7 GIT binary patch literal 27953 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 aH1WTW51jI+XW;Q=6eB}3gQwdLUHAv$Gj~G( literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo3/Makefile b/A4/TP_A4/exo3/Makefile new file mode 100644 index 0000000..333c059 --- /dev/null +++ b/A4/TP_A4/exo3/Makefile @@ -0,0 +1,4 @@ +CXX = gcc +CFLAGS = -Wall -fopenmp -O3 +exo3 : + $(CXX) $(CFLAGS) $(LDLIBS) exo3.c -o exo3 -lm \ No newline at end of file diff --git a/A4/TP_A4/exo3/atomic_schedule.png b/A4/TP_A4/exo3/atomic_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..d2653911c7653b4c102879bb21d35b616c6099d3 GIT binary patch literal 56089 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 literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo3/exo3.c b/A4/TP_A4/exo3/exo3.c new file mode 100644 index 0000000..7de01ca --- /dev/null +++ b/A4/TP_A4/exo3/exo3.c @@ -0,0 +1,66 @@ +#include "stdio.h" +#include +#include +#include + +#include +#include + +int main(int argc, char **argv) +{ + int N; + int nb_thread; + double start; + double end; + + if (argc == 3){ + N = atoi(argv[1]); + nb_thread = atoi(argv[2]); + + printf("Nb thread max %d\n", nb_thread); + printf("N %d\n", N); + } else { + printf("Missing parameters\n\r"); + return EXIT_FAILURE; + } + + srand(time(NULL)); + + double x[N], y = 0; + for(int i=0; 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 ZBENT&4%sQ7HHv^=*VJ^bl&M&S{u=>*s=NRI literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo3/reduction_schedule.png b/A4/TP_A4/exo3/reduction_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..18cbfcd2b93ebb5261aa5feafd6b4ddb99d1f1ac GIT binary patch literal 40789 zcmeFZbySt%(>A(k1tdfPNdZX_5RoncQ9wFHBqgOokOmP@1XNlY>6Gpg5owU_5|A$G zI`io7eb=|nx88HUwa&li50|jn``LHQJ#)=9*W7QE6dqi{rNBj@P?uyLN~xew=-wz4 z+Vll%c;#;I_%HZR!12D8qpFRGqqBj%F-qRR(bm$&(bC-T`U_)w2Xh+j#o3(zKbe2f>`UmxjY+<&&v^-h5`jY#4GogWdS z|Ktc7@`FU6FXP1|3N+Fj3gr~C-4zdDbStQ^^ck8 z`H90PKAVJ`qn(9L$&5a`?O(0clv)JX1XK@qmk01pobZZe!kCi#mMR>Vem?ceE3+E= z3IBvfH9cQQ1lGKV2T?s^GL9kq-1~68E#ex#?e+81{i#d)Pl}#hoO0i}bWUjv;pXN40DXD~8>4_h_Y{uk^Vln?`P+LWa@LRGF88lb`NBr#h=Q^{^bTxb5Xj zn)3d(pb&}ivZu^FXT15k5FSl>BM{#DDbbe9@ zk&zqM!3llFi4`!Q#MhcB^@JQK{^y)nc##B^P9?HqJx3I{i!{A@6 zkGFExpL}g16kA=j<+q!~9LUjJgr^>k{-mLxXk!Q!{%F%elEM|np-*QmX=cWPY6+os zU=efKydEmNeZjabywR|*2Zj~N@${3`xySL|Rs#m%^zyQ71eE#bTHajFDKHu1V`B36!N8eaTMLegB2yGS zydfhaGqUWl)5(X4g*5{ch~YMN`P2JAz+vH0nXAJ>2i^7SC{0aGupntEDXB6+zA9Rt z;voCZPj~r_S-y-|)|{Um^O*IZf|@0o-(I~Y=*Xg(uT#0?S-$=IbEr!73#;@;F(222 zZT-h8_wD-9DNHoE{vwaC38S)5+4|@|mMundN<^8!Z>b zVZ}LCZbO@=U7BJ)-}a71=x`!06f;%aJF_NTnWu3fvfhYYuI zU|=_7PUhjm>pVQ+u=ZSLJ=Z_+n14-^i_)rcWQD4&E-QU=|4;|9C_=> zf{Sq4m8aD&<~QokO*W?+F|o0?TWGyD>(5U^;WMH8lWyI~XH`xs2ZxJ^FV`yXm=iF10|p?+$3bqvTspe;Quxyurl7bA^nI%pd=n1bnf; zi&gUav!j~@^=DO*6O*-Wa~m7oCFXs@bsj>AUS|SV+0>@<$|sA4UY_m_T@&*ZhQqj! zm60$D2JL<@6HsD3@rhdK#q`?Rr3NsO#-3zJ^N}J(&YDg1mQdP^=R^77tg6^zV)gFF z?EVDQZ8a}<5Zk(T+YpmkAx}{=Ijj zKC;-??wAa_q5N20gcH%nRyr)QiNh51mSNz_9Wi&7VKvpj8Z}LdAIA$geAg|9)y`J_ zEX~Hq*sN<(JfhYfc}pGkdes;varKKe74M_XCc@&{!MsOt{JnIMGtNP5-f{7OZQ1G_Z+G}>E0`<n`!|mMN)wzqlDzc{# z5O9^e&QHs0SC0~(N=f;l_xobuQSCh~G`t@&Uuie{?IKntEOO?%clhc#8n*^2?2L{V zBMu)wt#R2(Z)tre#uvIWb=;`~zxtnRTJpwbtLH@G5)wKe95OL7vU+)W4b*wKxs4p{ zuBdk>hzx-JBuBD8PJxw9Z;QN@!%iAB3UA1tBTixYfH*#ScJ_DM^X+qsi!I<0B_RGF zM@T(e4Q(1;&eg5`1O`k(OWO^H3nJg;-rionfB=VIKZuVrXN=n;duv`g1ZV`nd;99W z&V@oYG7>#g?B>4jX?)LJ|7CItZ!zE^C%R^^pF3u?g%ZLw7-9KIoc;6Ol>06(U-rT>1-SV7`r0}> zm$x`%a6dtFUK?$OFSU6-^*xxf82puvh`YP{_7&6gcp+zdSQ1$E2ab*@nTGe!lp?f6Qda}OGeSN%gWZkVM0pbIA zHq)a&OL2luZ^7cW_Qq`PJRfAQsi}bwmo36-HT-4fmeH%#ja$WI=MbA+TwRfwhO6{v ztKV!ny;J?;zQMCoTY*ea!n;hSn zQGqV*{$+7G>y*dECVOt)@DPQE4=u~q#-u(p-Mjzjr~rCO$v54`tRg@~ARyGa>3 z0TusyM!CpeuJt7)JREv;aXD3B<=s)wZtk2fyt{U%NZu=aNkfbQg8k2*KfyRUc%vT% zrYOLa>|6D@xU5Eb*6Ytb0faUG?)|)Wi=Tsoqug>P6P#eJI(?300DS{?^hWRDw<;?9x*wQm=FVGVe(_K~VEY zn_Ktc{JuDF=l0SlKdQ062?0Ot%GudjfBw^B|6OjeVnA7&0B?rd`}+C>04xPl^1TSW z_G7QOzHWY3dJB0r0zMQmf~@BYTWE~H*FH)Rj>&&oy_()nZsUuFTCTWx%|T!nLCuEwhp0uDu`n7a^*;S6oHbJjl-k~Wc32Z!ao zDsx`}KKE|G!We=d!Td(;K8;{}2%yS|ZE`HDq5P);`BHYv{j7T%Q#KohoO*S_ur3Sm zj9-72`UspH`V3#zBAE46V*|MM;%^Ed&tZ7IPj~KHXvd7^W&-W-vc>hfD-3oOcQ24hlf)eu`dtRBACWTvi%$x7PJGU?*^L74C=JFdXB()e#=+ z@n~;vR84JdjEEaA4Gm2=oBG@7Y5kMa)8g9l02+dHORkn#92$$#Q{ z_Jar>D*#DIJxs`oGlGnWsG&bg6+$3BvtmN3+x|MZF@YzWOT1S?d=Rga_Ww z_;*jTFxV_?VE}v`m-G6#s5=9QuXo>mi zcx4y?wczyZ?AH$r541|mh-uw7eLOzSbz~XZJ9rr@aBpCBteHkm?V~&a-+*gu6Xl$P z9b20?2^BlzAIMghEEw7Wl-QT0%1psy))1yBDg#O1At1{GSe>mue|`Ztz)Dg~6s@SL z`dMTw$EKFq0B$hmjwyk)wRO$mLhK=FInnF4#s0K-%F)IOErk#%Eyr>-a&RwPP(njP zV`E^DWKHWYG-~N5Q4~&wKocGm6qKz~S>(Feh%*4=`2A&LeWF@Dme(r0*-$y+rlv+g z?cOH@$bi2A4>)kMpe6-2I|FdInu|+?Af&lv=KA3(Y=VN?muN+G)bn*7$2?+EPm{fR zSHA(}1gVN!JovFph+{WD_x|Q$?ATR(!;+@v?p||Le|{_mr;Txbb~XhtSDHyj^bA*o zzse{NSCjvx_PxVjSB$L3mw33~&})(~JyPn7<be)klhqBStJWzyefZ8X7qoc|}8q)2|5Cz^SQ$u>lfPtE;P91{bLc zfsnOlpHb@GPgeB{=}u%47nJo~_t!gH!kVLznJQ^-i<@k5Wl%c}O-&d*3fC1C6`3C}AhgnWU{Fv~ zcXziZHRqcfXdSOQto7iJkg~(y=+kdZ)v0p})xj?p=w!M6z6w8(|9}3WnY!AAK=f0p z$5nW+R4?7dqzWUl?#7ldMzkyN%3F&6{)W%R7)1Bmn;k}tHZ-($gEY!)#!A=bJxT+R zA>ne$pzi0hVr_)@r|AhqDpJ_59WOF{{UU=!5sCcWI?NF*=!pt0Z@w?Hww~PCJLycy z-&zIIBAF_ZIh@G!zsg+}x094@^pDtdVZkSOwYJjm%-^$VCX{4zluWxeAOWSx$M1>y zPT(!N-?*Ii@dC2wuOn`F(^IDDPta~^-E^tKSk)?E^b8I5zS=T9K-iekR(hoP&QDD7 z>$GM=Y4{7p>79urO`=?F_BRNDr#$=+onY^>N<)Mibe1UGIq&+i7kikC@Qo-{BwkVuY@e zkp%$ED=aJo=q4x>CzO6gihXF|&sg!}o5d9p8>ad_=j)bgHjj8ZyvRu1FTB~(e!S*3 zJ#vv~5aZ8w2C|gQtQbNTqBD`t=sC}} zaQ^(eu1~?#5KYV*{Z4G{ApL*`H;7@Um2KZH?+S^@phx4}U&B zA*Y50^|Nd zJ)WIr3HP}mOef<3BQl*2=Qq&8F}W1i7cQ1~Y}om_KmW2eZuf~N*Y3&jsO6V!(>0p< zCbyCz6`CF|O#B0}&AMXu?R?q5YM7huU|aUkpf;w^{(uGzF&OXms~g_jg!;)&0(47d z`-LO=&4in_M&tu>a%bZrrGq74U_Y{6-#Ns%)s9>ChV&6f!^IWu#@RM}iU^tBYW&Ge&LRT8S`n{xX2;#qK*& z&{%k?9TO16>$5Y*>8-gW9H23Md2XgU)L?SVcK)Nr0$Eb&1<^mzCCEvraQKPNa#26w z*ZxHw^AQs!9KPzAy*IJEcd~X$*EDhlXZeorT2bqw6m4!Txml*}c_>FkqwvK1EAJHD z@V%@5BWJT`4np+!0WwSxV9(K`nVoa6HhUs4j|S>-ycNqWQ_QbgMO&NTB@N)VlYPxl zojJH?rKf1)Vi;bgTM(d`Aj#_Z@$$^EVu=*jk*|hEGi?G5-URkTdKNz-`u+dx#^A+p z167wedB)~}uPO4BE~yT3dBPZx9vO_D%!JRKMC6_`xE_n?36s>XFfupp7tgdW5qap| z%u$nnPQ1#Cdc?H&of-V~W*DXtw$Bw=>DmxiHx8w|$+Oi_@$tinPnltBgYssJoy*}+o=Vb_P1e*j0U=o=0@#L;HV9Y5 zdfmf6SY>$<(4T6!(HC8&KHqUWZ@fCUOy^0x!Dv4R<5O8~_D>jkHCSZb=EkC)n}5h% zT!^AOx`GwKdCoB0^8Sgg#gdlss)fVqY1xjLS*zZX{ic_VMPH?`i1x?&N2HoA?l*Gz zv5ib6Uds|WVe7gP2oCg1U(QGq{LeT(z&L(v)L-XF=%b;n!ClcXGuCjvKh+iGvU#|z zcFB9Y?xkmp;jOz^o+ngwE+k#&84>Ea_^%!`F(~?s{M$eN#1fP&o__LnQ%29t-`d+a z`VV`6<(q#=uQtYE-DT->)?{#~OukQipw@f2kuM=21a0)FiM6#WLcwRgG4Ew5+n%XEEO>MRlZnA}%WT#87_O20lV!2-Gt$GiE2|_G7 z%PsHMvM=>Ar!Xln@69b}KW-DT-txj`bo^6@e8{m5-p&OmGL6)_HuQNP}L8ow-uMotumo}aTGEN1tl-#3?khy52s zM7+ucIMu^0iXOu+d*DNQ92`AH*H2y$O-2){KmQsbw|PeXdzvs&J`8b!Qd@Kv_34Jb zrk)1AxSJ{YvuaHtB>mtHMe-QQ<_cQ$-c_}NOSgMB&$P_+s6{=fFVDtNr$NB@!1obF zYOnrBiS;&dPVbMhJ7n?H3U3T}B!*fHmONcnC^ri*3Zo1b_-_%P{JI+$>hvNUmhW5q z2Uv){rKHL>)b*eG=&_xx#1ZV+7{bG}k*lwkrX+%^h@7!Z46p;#6FR3GU&%bID6`gtY7!9dsle@$ z2TLQIjuHFw!Q5mhYDIUNSPbU2LbkmA`_2!}#ayA0ggWoVJAzwp%>__n1BsT3dfuT1 z3@FN16is6GwE6~VLy}sA2X;d4739kkcrq6^4`a3I57y1B(mv#Z&%yqnBfRM69YlOc z^_pmwH&YlAx@7K{N6P@=)sFYpR3Tp|+1}gJSnN*hEIsu)@G3r~?VYCLl1Pn*j-QHV~H<@Ci10dI?~mRCm|L zhU!G<=EEttaeAmIH~L1<*zo=VzzOP_j_NesvG>2>PK7F+(tn; z;5r-ITS)1SUqCU*_tmR6@813DeL%~|&3zei$4|Ug76l}vr2e`Era%z`tID9c^*~x$ zutvdz9qJ2TFYU|7%QN1+J8&kTWVQaJ(B|&3c08I@$<>GAE3$)>airEC z4BEMw*d${)rviivd zJ3Qw&lx~&d#hd|I$Wf`=peFnSIBkbRnL+3oD?ZZI>?EiZqvN`!sC{c`)4PQA1)=4hL3m+hPQ)uO1od`pM79>)^e{t|lv z9?sWM&}`z`3!9&p#Zfux$DhJ&=T4>8n_I+dieK4s$8&gH?xkFdjg{i(Jf7S&A}{HF zc*PpBEW$*Ijbx?Cp%I8DFxW^bqwnwR%o^YQO$0acYX(otjG<<<)iZDjL@no+90gtsx(SADu8=Fp2F~h?IFERrC{d5u%{K# zk2`Zo+E%v;_x@lL+T^8iF<|6g)2_Tbr~P=a;Bom_{eoI#)9vjdn~;_t&2@Y!;bo^L zPO^fvXI&qEP_0~TsKfGj_qFG(`&Jxp>)Gj3Mzk8rb$&E<&3r2CS3Wz7-9q7sVqP?~ zw24&vTU%R|=BFJ6;2c_phK76Hb$LeppOt+b7X;Jz)l0b-_h_0mSr6}&1+s0pt&x3F$YAug zqV+wJkE7I7F7v96M3t>5+lxMk?Y#Z6LtVn{73QC^kFzTwcFb>_JelVO*4&^XZ^ip1 z?VhW4<7v&?kK-lui%i6w?R8NF3h||;4y}h`Pv66Ipmqi2+Cm^*k9lrFZV&AIZTEvs zs(tg`6f7Vf>?^vhfpaP`>qSRF-3JIFtx}5!kr`l#jNm*7AFmeg8GZZq?TghIFED&4 ztyexCU@qlSRt3`&pcz!*ie zK2w3!Pz4!Ai4D+^!AOBq@|4!|;NC#~(V_+cPb=RU_ z$zidpHgDgvJm5q3!?hHp%zSgvy&}$!5wjmv@}jIYmJ6dc+Ex(SqRVzBmp7uX&Pw*y z(WBT=^Ip@THjcQ?#Gwxev&NbhPO{TYe+x=#;ED~6jDX?n*q^g$JMaaQVKM5nQ;zc2 zHT@-y-5-iIl=^H|Tg-3kK(>+)!H|W;UP6CxeeaKLpVKr{Loma|ZRDr5W01%9uv52v zT)?kCP?f$y-hg+%DE6kCaLx2DuX6sk2u0(^0D$#2Sv+Ouof{OfUjIBFkP!yY72wuV_Kj#w^5=f&~#m1sZ166!1<=Ynb{mB0!)1(O)>dbrBy|;aYB7p*8yT0}FJQ8%ct_x3_GM za!D8v5GSP!Sd(rse`iKFhZ03RSb$>r93ZIaWgqLCdi5`FSN;GJhU@(rWZq6EMx4*r zQ#>Mkt|K$4cnXjhjjrkiO6qs$X#2D4fye~c!*6)s7Y_s(nOks{P8l^uQu6?&t!j^m zR_HmNDJTC;Vb~gpE4Pu)Uj1_^(`w+zolk2Kqo)Ct=Iui0OfZ;Dm-m+*{Bc(X6%?qH zBZeYgCPcjxtmqb{em9PTV8Fm}z^;K8((a;G{@|<{?;WEy@WMYdAfx*CDI!TdR2liK zj7F3XJA)6vvc@^vvya7JNsuWM1NbCXmYgEhi%oE(w(L5fs2D`As8>K0(yV{c&_;tz zxM24j21qOzpP=;I7&VwRh04st@e*OFO}Mqs`_Wn-nZvKQFw=*D7TDr`)&aG-F9&_D zKj#%|CZp%M_7W3>ig(l z6f!0@On=@}GP$Y${?Ub7$of1%*5_ic2&TB-47==zcP_>~il+4@TgJi1GZ$fiDHqV4QT?n!*|Q6Vbqd_#;JpOi1iGYWs#RCX_;H3*J5qe?11q1N-4 z6jNez95L|VEwkxJRF<&ZMGI7Vj+SZY-RAm*0^jnvjvkXAl0ANtmqFLUe7!7)PGrDu z&goD=XxoAo80;+Z4B06bT;$W*6xd0sw%^`&y&TiM-tOUTrS08`y;3H0TjK9Jn!q;P zOWQr;DbYr0nZ^@7Ge@(u59OsR`Hvw`BJ;p49l+F&*Tyn)K%?+sQ6yB*%)0SUG-wSu zB|V#88JH*`+I03S@mGM;`rP!#JOdRSRUH2gqXUMKB5_F(^`+^(RLvSYs`F`y6(y}1 zmc~uX;hEe`SkDW}fiM#(_1ohQoN|a`33#>Z(Tngg&7BhWg8wZAJq`@ifKEdUMc>ao zt&LvsS=LxZo`d_}cG}+nizAhlL(x0Bp)!*Lwgn&FAs_C|q_G^qkZJA0SBB*vdi@^k zNh`394;B0Fc4`);V-;$8O3H{Bdez^ZTz7nwXUH2EIckpdc^p;Z?kD2@kER#GK zFzz8M`r-8r?`HALDje?%yr`ke4SDlzAFO#SR2x&%1y}{)@e)^fVM#IQsuWPUcjC~J zLeOfQ-skoeXAF3}|ClY0i`e-EA9#oa-kkV<`8bJ!SJNHGDB7h=4~Bg-#EfUzV7_S1 z@r3)@6JSB7*gv?5QY(4o|I3p+f-fPVD-%RXZSuW0z8C|2 zw$f&QO;ifDU0T918I{{di^^y8j%82#61nB?cVpPDL8kZbIKRL_Aip@UkD(t#m+;If z#vhvn>)Yo!@r^ER#wF~(T#hgd;seD|*}>?a)D?ZX@96k~W|1S8#%mfPV`b6`ZAx+1;5{a&n5XU z0kjj4>>(0G$o!$G%WE^~-ggv4dMgDK7h3G36n8DY6&bfvmEBB><}yHsQWn%NFO!mf zhe9dUvQC|Q3=}cvmX_X>m-D^CA!MSXYfSEfD&)mWmzoU=r$I#o<=EopZOAI2L`$vn z^y${l&Kx3(d?+JR*`%1Vc|q9+HpW~G&kY@N<#7Ag?S)_Ve_Yx_7G26NDg$#90FWu9 z)u7b+ur^lS2Nh;W2`g=9BtmxiEQiIX>O8IqyKo7;SWSZRu;a#LJXGRFR~{vb#zQ%a z+ilMhG*?nk^SS`CsD~X#`y1VL9>+*gy8d*J5{lBsKi<>rtwBQN_`AmkN|}WKkfEB{ zm?{$%eaAGUwyS)~vmJC8G5mJ)I0RJFAX}P7#ssRmmxm8=Un@P;MA74$D!09`y75Il z)M7x&jeY_Nr&6tH+ev^jEr!1s>@8~KsDq43Mn0DJR?87mEPPt!Xvcy_K%fCgPFsXUS1;7hoM=u%m;y zQ1zvsY3fi&ukAw0yCB0b@)ETi=Gq1E2LCs1i+&bBnmIc4=flHVSee7a!#W$PL?5j* z!(06&l0%-Iq^VfRKIUL;W=tdKJW^m?W*u-yEp9@ zYV2B@02w$v0|Vr!+}uBtMa7|#TzmG0ggNl-Tl>tp`T6^{wqI%$K$0*yImu%++ONyZ z&W>NJ+l`3(oIo-h-1^MkB_8H%H{W&@rCny(3bN_dr-Q(tm_j+#aee&Ie?#Ez-H3_` z{(uJt&w5|>_5X{Z(T+snaN?>e_c}-OlETC2kzxAXnXp55fl_s@#?7lYH5^$Az>FYq z1_t5kRj0nA7(E;H4A7Mjj0H&zF)ke)T}4F&5fPC%kPtSb zSi+EpfY@o35cHIkgHB~ivAkOje%g4?Dha=QqOH)Lo;BvT?f8cSzP^!NWtoOr?dEq% zn@v!36?+`N0BNGB=lQ9#uG?BEC>3L=Lq`rpc#)rN=xafXRUV)mGLlLnVE z7qQ17A(9?up_Q*AfRBv@_X=pGYDUg6MsWkCs4)R2OnTRo&o<6?4oJp>zEg8Y;1sehDyf6 zzQBokR?wGnAJ5RxaJbAWwzg||Ag6G|5)%h!Yy}bFfjT^3C`&bi0Axnk*FnNpJGr$+ ziH|KF`!+rEX5M~A@&I~+;EH=TdD2^&+=juuyi(ccyntYkV{`FYM|&3(Vj9l_1JmP->@ulR)+7XoiMR3vGjj<_i|CQ^EaB+?8ndZ42IcNMYN1Hbb`}0pgqs!YKn9B} z%zHY?z&CH`Kt}_IK)+CH)rpi{t6_7d$$TiE8V)U}Qn^9i{g*mJ1UmkgD5YV?VHu6S z`duV&zzU({BY-5k!fx&WvS1d_L=lSoAp*^^tFGur3C8f_Lq87$2R^>s07~QJ8rn_0 z719&@&Yqir%IAe++HcF5C|Jj>TUv zt)_KhAj3T+7*hlH7a7#}$9Z!GEELZ`_qwub`%N8aZIn)htq&*@A3EC-$gc8mG2YKC zWkV5LT+0`{P;=y^Z#0KJZRmI2)wK0hC_Wfal}XJ0No8fFfWT$D+K$9G<54jPBCJ%> zhD4$qXL_`%0h@%U`hgpLUn3ZD!ozZ#83wU1q*xG**Sn9c|M|8*PlT<$Vz^b*td8^;0uNRJp0R?3l?Y325WtOvqk=uMvn>P`sJLd#hV; z%C7*$u1jk0l|I!jTlC$c$Lv54fm{^4ha~7eL2{3i1U$)a zM?ugq!o-n|4iNGd!)ul;6rdEpckdoB^}rN3xYt6P1qlVk+h)VY?(Wc~z6{fxVzXZQ z<-xq5X2WFgGwjfjqBm9C^AKGN-7ot(;PSDarJ`KC)mdD5N;Ad3sc+oI`2A=exnpgV z>)vWBoV92%FVO%(S`!FYh{W&rZ!@=eXhpGI9~S`a)i=2*q%M_2}YpnFns5Y3OxgiBr3T}vUFbg!8uHXuaA{3*!?k(-QIzi`v z=8AtwfnS7a*KaR%(X_IT-u|e%Zh1bYHP$#W zK@BoGQcm4R78c7^watLWQo;>eKQdNMLR9`ZnD@j8RLsURGc#0zj)5R|9bSP7j=(Az z4Gl!*Uslb`*78ig9B7XOoj+x`?Uc*m6PIl)ZT!3{Vmpd$`UG29reJ6R{e%xU`+#3a z2eQr4j~^Rr%_l>Mw}<1`qP|>}owrty_}u#g=`}c7%0QHX(20`_o>=(k_vdkkZV|qT za!}hL%2<#EE(n%nX0n`|Qb*Br>Im`zjSr1C5TA`X+qDs@d#HfH{(&}1E>J1$)KvGu zjdek@Z~?lKv@1MW1tK4gL12_3wKP)9jPxUc0YN{>2MD`8sWK#>?Q?GTh*04k(j{iP z<;^G+m{0O0@kl|JCFlouDWOTW!)^fRuZec8E= zpNL!h{ht2QypD{xy&r4Or>u!t>;y)z3 z_|wyzO7yY5Dj^^x+k7~6G%nLWb^pHILdUhi z{HN^@Qb6;~1|dKY7Q19f$n_5k2w88y?!iex`l-6&g=FO9Fpzeu=toT0gftz1tPdbm zBN90ByB6W6a+e9(&YNMasUYP{0xY*L!UEyOEcj3m7WU#ys z?>~P03TwW(zYj8Kej%z4&7GdS|1?Qtwikc4ZDRiA{R-nNUeM|b4y|M86psir{>@Mu zV1s?t`uS4J)T<9|YMt`IM<`iU@)J-6;Pnd7iX$msv+oUW#z&dzltuLlr!vJk7pIje zb=XxYC`K`?Y3!B%!qcfLrHf`@foqCWAbYo@c4#Bcd);;}h*hT0vukaraReMj~N zP6Mf=aO?8+r3H*|QgI|q@k1E%%SyHh3YAx^A}D*tZuA}ER*~<-=S=6vFh?2+dVPI5XY~k)b z`S6z)Ou>Xq922*97gPTg9mT`qQ0&ORyl&t}(2HIEO=F}eY(-QMFmX+6WC-iULzFX( zUo?M4Gtio|>;F^aD<484gvZgJ#-Smy;t@m-?E;e7Ly)kyRz(j75;H)%(^pGg5_0nB zxs|oa+Sr~RC3aFgPft%sB1N9W!x>aAw|)vQ1ykHLgdFAYtPThm#*hEWu2=dMLon{S zw@c<(BwdlRbkKc|EJPJRt|Frrf(0l;Ll56$Xrr+jD`OPYenO-Vo*JakaejW7$X}s3 zPpi-nOT_gL(whZ#B}iq{lXMTTA9Ksl+n}J&kSwX?XavK@ZySBb2ch&gP@Ath@%~TQ z?_@1ua;p8d_P6`m%DRtSEi9rXl3ml(l^645?PT0^3fa;UCQ>fJrKx2l@?u(*Ih#o3Bjf1E z1AUy^mqMZU*8bELs&>#IM-kTgj1!NLa1p*nr_#O|Njf_W>NhuSkyQ0mklq^E6QJ9{~f^fTZ(8Cf6Mnqr(*O~Q}v0WC^=K^;E5W=L~vN1_-l z6qf;VH-mzBq}GiO1tU&zzbE#fO@KmPJas+{gigk` zRm3JB@M2~0X&WOd&HiaE1U)3R2@JfzYd!u0I;&ztJp^GTUWV*$R4&qhBfcmOO>{qg z{HQ4Af88g8r+<;uB8O1iPkV*yvKA`y@dPC8m{(+&B`$QJ_)&}%${zy^Ig zc-~-OBP*Z&Dm7%FBxQ5#1m#11ud^D-#|sWnH;o-^9p~5%1)J9j%*Q~j;4@dYph&0R z`Zn=C69wN;VPvf>r(;cP9OAn#xHcmyC**gW``p+#1Y%poyucBNFd#{J7(hVHqMD9x zQ@g8?5PGo(@<)g>a;~mbwU&^GKy5DotOycF?b0@bdWd&Fp)BeC=AI72(*{PZn@wTA z`=3+sraCm2MWuiD&u#Y(UQ%MdgEn48csVRdZPF_Xyw{tgK0Bd_FXZSYIH>$lG9x@& z^N&*>1Oh`s(lrZo@hNx$-PS8{2nh+xtS8#wge?u`Q9|*|9U2PZw*Zc(Ra}POE&vO3 zUqS*M%JDrCeB`SwNa%z1W(bZS;^Hhf*z)!2MVZ3hc%B|X;r$sB_`vGF0-#0$p9{dl z)fRFA`x_t`pNV&#Oa?gyyH3S>XfhFebd_QIO>qDnnQ^lL`OD9aK@!QHvd4+8toLGZ z7h(=_D04)U><<9!nV+9eLuCAjSRPU~ zH5HYQwUf}(+7C^8DbQPx^iKLS+mo_fXa&@SGOA-VHqbA;xIgxw@!7Ao3)*zl9zF~N ziYXh~)|R0Is)KY03ZO~QZ#{Fv>U%qTY0$nGE|p&{qZm207nL$aKx09 zP#(`HZmMMHPP_Yyq)$}$VRaNyY5arB*LzSxH9pMJO+#`s1Ib)Ysl}34B?2Xw85v)L zw}7_u&}PHdW3;@*>+`B#@UdRmOonRuPOO@$Qsqy*WZXwZ+9r>K;hw$sV2cKpLP@8Z z(DonaiS>0FFO5lNn|WOj0!#%_lM!l_>&8r$P*5U`Wy4@DiGX)*k2aW3aJ5~+g2Hlgu7e9HuzgTm-A6&UK`_JvThL`8 zpw9IB4cur@u|$;8qlnA&sBnCLJN}1U>Uc(pIXgQmAucYi;B@~sX|^vau*b^b5$Yav zoIzlZ?)8H9Z|HyiS)eBd$D<5U=HRvV{ZmuRiojs%5La`SwjJU=HyoK;8U0p!k2FkAZ6WJyy;M^tcJ!D1Z>u zK#&(Z7w`y<-%a#9%7PwdI24MvXV?f6Jv)8zP?7Us8cYh4 zzeRxQPK-lb^-96~`g%xpwGeDO)7`tr!UeG7&z?Qo1ifBTc-7nx$hcBLL}`L2rdQadUu~cCZO)Jj|Ly=#c=}icM7k zgYK<!dCM?`QTeZ8e1+EJ#`3L$)zm9(C(U zB((M+y}S<74QOx^#W!FR<5%V&aeemuZihRN%np5mF=O}7ikZD-S&_UFnub#uzhL6^ zmSX6~pA83-G&qelTHN}(w-;=ig8jx0oWnooRv+1r7Neq@+1*BzLl%y-tRdPXlFO+t zbU&VPLrb^qlS}t+X_x4)jh3dGR(iSrk8xhe1&5yR9f&QBKt3rYEp5m{fpq-=GI4sL z1Kt-O!@GRs`NQOdBeKk|klJca|EwTzc`0rwyefR*-le#|=t)q}F+4>re+5V96lePF zP1G&3dnBL6BM!LlKX}lWqsfVViQ=2c{`jka031koje%owTp0|W@;nX(;`qNVuLxH; zf%{Z|@P+mi3S}pLmwfGHm=hT^hrW$7kx?=WZ<0>=a1f0caR#=SjB>5wI6& z&^keuB7FL%53yko_slFTe24nf52$=`#dZR=3xbJanHDn1lPA-XNN6kC-8Bs z>2GgHfCZ!m{m%c+2jgGk{#K`m^r?f*T!TwnKn$A(RRMP0nrLumq~ka$KYuyV#6WQ? z3$PMv@klOY3F%N4aO^u0JK21dt(p;npbLX0|7EzU!+F@ccm(O{i+~D3krsP4C~cR) zhY&cWeEzHs=Pf)SAOKO~Li4o>un@54Yolq<^cN1zbx<`^Mj&Gu)JG~)65Q4W=I7=< z14;o_P@~MnI=!Ncfrq6uQX*Mb=8{IdVd)`C>`_&f-O=KxyEmc8Vm~?1M_epzJ1A0T zZo=u#dHxGG%InV0+(7Bv4685#_i#WS!z3&`Ztx~L*Zxl5K0v`30S6{%pECjJ9MbR# znFQP?v+DG}mk*r|S(YeniDAG+PQj4y|6HV*-BKFh&5Vgx;d{lIIkcIRp2WUFO;1VyWM$ga)ZzVc2J zRdAXX;EndyfD}h0U>kMEaPw0?IRC3jNFGv9?0#sETyz1~No0h#P2|ocx^KUM+cx}V z<>adS%JnSIefd8X$|fsu@b>@g*Mf>4I)~mwbV7dk1J%5%wk@6+-+^W6ik!OTO@ICn zZ@P2B4p0A|IM*S%@=3uEXlq|I#Z<$1_Q9?EAC>#8@2(sGq(>Br;E+CpdX2|&_&wC9 zFmg&P5D^hAA|m>INZ@V6TVaOrPTDMOVu}uNX2AFKQ8Rl-aXkHMQ93!;F;V_$NoZ#! zZy6ZHMuX~Jvs7Rg%j1-VSDsUedB#EaGBGq^L#dh^$~+r2I|NW}uAOmH0L3o{N7sxp z)e=bh@*+^ft)czhf^=dDPF&`san)Lz_x@@fLIgT6T#o*jn|@bGvgD*#6*-| zEQYHWr$J4+wZGrJ8vU1; ztHjWTf#-1`Gw3EZ)7sIVUpp=kNxl1bB~GB)f2J5rep>?Jz9C7O9K7%m{4E=J4G6>; zhz1>6xl^EYq^_nG4sZzkl}<2?$f&LtTWHc{_wk)lyE*COGVqs~aMcBW|2Z@rtHJgoGR;dAJQXuiJy6C|17foD`H%v& zpyQ8Z1-M9Ld91v^-q~3bR)4vbIk9F*st0NFhBgM1vSH9dBmvQav?C)*Pvo|tHsAzy z-8k2od;0siUQ6uC=A?{1jVC(l%j8chTT`{@<46;{R2g}oZk^LVo){tM);MB-2Q?%p zM{Rz@++1*!Wt|`A{gHC>zjdBL#?G6ge+bRzxY6P0-fO*9^C4wU=8pT4XX)3yQ=&f? z4#Hn$$|VgoRU~t*U$eEd`@d*=>!>RCZ;h9b1_`C41S#o|kQPuH1?fgaq`O;Ek?szq zq`ONLR8m?RK~fs&xO46O+xwh*?j84zGw!&5IY8EW*LvS?%{iavGcA5Y=79i~P6Tla zWV?0F6!GrMVE5k6>G{`J%2Fd{#`2M8C0& zV%Lt%oxJ$MtEcnRN|uZB@hSW9mi5kIpi6v(9C}74RA4!Y*vEn!JPTpws%uYdBjz*L}I5 z;ZP-F>BC0MY6HowpLy~d7v@RE=fA56w zJ*^aSa%lkVgF@dBNY8;XA_aBHBmrA$Bt*FcmhavS(Ns8Xa)G)43a34g3r?e`{{qG0 z&+I{y)#~E?t0eQ-dMbAGbpp&yI`bFYJKbiJS<$H7*(dLI##W4KW^0my2tI00`vvke z_)`7}cFveINl0~ht8Fv>Ey82vQp?7bpbYAQ|x) z^9zSj8OZPEf-o`ypI-g4EtkYxcrHW*wGSCTWSxeWktCY=PplUlO4!*v+#})q zcKYMd$qO)HUAuN|+Rjt?|8!RqByl5=5%SO*QYcYjXGo5!V-!AKG_7gaTQ=n`tkc7& zBC*5!$9l)URY6pAK-+4O7^UXt^ZUKtPiog?uJROhM zu^keW$`Oz?1X~1(ju57WAj}G2I`|H?Ih2d(H+W|FQXJpphq(4E$kBr&m1NK5?Bxo( zH22)v-{r?yd_S6W;`TOFU3XCQ2?XT_8e?0&|9wk!i)WBrw^5LjQ+X#7sR4CU6(}ct z>+4g3Qn3u2M3osB7z*LUT?o694#Eo1(AdZVNoZ#PB^E+VB1D=0-;#OCHVI~Zk-5*R zV$6+floMX{1jJOw^_rMpvT>y^U8#EP82lVq^`GFG&q&+~ev6xQNUnIP)kHHmfU*2I z;4EOD)e7>rMbGcne^f|#)pQ@wQw>BQwspC6+4UHo->4_u3DwN>-p6Az;|qZ&RV-<* zU%3R#|EiIRVvyeGVU1cUoI}Ekz-q*1spTC!Wuj>^m-B0nkA_}wr|&Xc zJM#Cg?1EG~rac(&nH_RVvw2OegkqeZXt&|{h1Ura9lw}X=t%ooek{eTdCP_BRh9wQ zzGXS_U``SuVTJ|RhcCn}{j#Czss5r;S9g#$hK-*+6XVpGEus3Yjhil6V>2H;T&*tM zZ}6p?6yb@N=SKh^fjj9s*LSxR#^5FqH@*CTmD7)hG}&_Ap%MNeGVSyB1es@8vVSGv(&_!^##6|s zKR^3JJ4qr-KGSx%hqqQPD&@K4X=&7g6nakbNIaJz$nX-^A75&z-^+&ccULI|p!%P)1UY$w9sBwNe(LzS;DN8{v@}G^fIgAs=o#ah% zctle}KL~KUsD2Bu=jUs)@}l^fwWq1=d<_ZuV*9NJwbciw)sv!G)OgsYzK+T3@*RK3 zKU#XYWC}%wL>Z`SH&D7&_{om{&x)R9nurC|`27a(d zjW@YPL!g`hq24q8REP{|MMTm7Wr+Hu#lzW2NWZo_)wXrbE)6R2jxakQ{0)ZK9+7v4 zBO_~)0PR*Ntn0Nwlj}(3nr(q{HuFUx4@lf(dT_{Nof6RlmZZx<645)Bx3hha(jvzg zBdEoQV`6Za;R}4B`3o|F!+{Jlp9$opMwjO&h-C+{=+|27Lgc#X44})8Fe53cA&p`}#YRRL{(WRl{>60(Dj zcKNRHd?V&ybrU7eP`YMIb-+#f$45o1js2j zR(U^-Df3op47mGPf2Nwe%Ha->KA}v6*p9$Pg#^5?TYo_tR~8ohBO@P2bWhaV-$4XN zphk3(#Rl%JGn~wzP=6DSKmc~(?7j%vM;vo>!Gf~GkAY{d$bTs{e&Bt43kBJ&kC zK32_*4Y}EA@VlCXe*&pOKe^Z3Hyj$+lF0xTZCki{Cl035Xt4OnJHKi(Eaebk17 zFM^eS$vQ6q^K1t)p1r98kuWwEH#e0)+(-sz0C+Ag1xMdl%O+w!_sRg)5>d}%ynP!f z_U@VCDaijm4iCqIfsFLa8DSl0Qa)SX2bcH#DY12xgge2^Nc@F!^A<5HMYeurv{5Hp z1Qhr^!`TWV=Zje3ID1yCnzwvTk(Mt|?#%kt=q_YX@9es*UOhoZrwe2@*PE$MsGn}U znJbEPeJgN0q_e0h%O*=hqhH2z>9EFD20Y2I&)^Ue5&{n}8iGe&?^7oPh!~*5nC(}W zN8)Ek$t;?sR#yfy&(=fIVx$(l5EFZ^@DCbe>ZLuiXMZ(;7H0dWYJNqY;*R$LG@@Bj zl*I#nJAzs(XnZ)8q#F4FOf+MRQ9fSPwO-REW$oLRHPVAqRY(DZl5sbM^tYOfkw2in z#77D%I^-)y8?lYKs`&K@u(y!e_)qE3eZ4S02{Oo{h-@q+2t#`9=MaKKn;9Ws*;O)l zz|jao?g)@j%x%`)-tq&g&J@qcj@Z;to3ZYxz*~8o%EY-;n}y7SWL&;xTTaK}4qNKM z38WR`>d1hrVr5LBESBO6>^zaO8I0qZZM(;=T2()=5OTT&jlVQ9jshsTwsWn(4BLTW z@?z=`&HyGATB}ej@Cjkw^RI?m0><8I{NvkHv%k2ft;;(Zf)aVU$|dW1vRmt@FLwf? zv;-{zuJ4wQ-S|dwkV*aM&Rbs+q3RJGCGXQZ+fCq#)dX$mU&^(6NwX+pG;NXpi!X*xv8NVW)8QhiC*%o1t zig*EWw-*9=;1#Pt%BJb+#V70GLS5(CFbb&hclPvzfk<0KRKdXY=ivd`wFZ$cfx-cv zAyfYE9uME);;{bFEhw;EeRA}kSn}t*IK@5QkA@lZ_H~KjP0@kUWPDU&y6;78^<+{x z@*c1=q0t92fB3JsON-6bk^A60F(u_2=-Q8grHH`N!iR!L=sRRaA@3blRK$v4B10Ya z$05X=%#i-76-R^zC!jO`0a#wp+(4EdksbzHCe9xF{d%b8zc*|{uzc>WF%90|P!_9c zZGX~vrl*nrvdlNh(SxF;}3M9CLLf3PMMT`RHL_2;K(}NCz#mxdmuMvfW zSJ9U+_-NpQUPm&NsEnD(&$S1zSRiD^LnMzoUZIht-9t;H_Y(kY;2Ys(OU&mn=6J2a z61T{jDl{(S)QkM@1UpHZe^%LG2|4`}UOs(e+JBUMkQ13F?PNu!&ZXRp+X*`;PR+X7 zEpkDbmte7h;R$wAn|N-mbOzoOT8KemGv++38-6PZx6G!0InVg}Z?<NPD@+ctn=Zj_deSfBi*I@0`7&kUQMG}6+X6TLb3tXo!I^7@dg)9X zGdGhGeg{gFX>ua*`(V7w9E$nK=^N}x6CB=T(*i*trb-~J?OSguPj!liXz1>B#tMo$ zafx)UAGlJk<5stOYMPb!@{xa2_735A&w29m%eR4dlF=FQpOd+7z5gJ1 z`h3LrwZhFuXgEWLS#@ioXD+$(C(_5v>Z!?IuQ8lB6!&?2kAy{pAL>rm$FVkxqoW_i ztvw4QKms0SL{btN)WQ8yQz?W_X6Du8@5aQ$)Y~nfKxlY;`XWw}pn+MutT!)i;_A}Ie19=iB zJpJJcmuq zAw3$^;%z!qmQ|y4(h-M#`aOZ#eWU|l@84E$}3VM7#6Z8VUL?e+bYx3M}SOc@y% zm+JYWi|!wak~h5OK5ojoI9#n!#hpj|RsrY1T?!-{q2p0h6g;~J56%RS$Jcv99SOAX zYdKyKMw$Qj=veEOz_*5qn@0Ue_z8134B=< zd4(PL@YK48?X&Ofej3Ww3sp9nd6EgMoz2!YAAY&>&+Yg%BV*pOd4wz$uMzTtqltU9 znzlW^n1Bf5YBH-3S;Ny`#+XvibqyOg+0FW-p8u#rb2!U_VWkUKJMuQbgUzd^xJ4ZAkN z1ov0DT#Wwm9n+b{pD3b|a1H)C0vu&k-GLh5E0d~@HOKO+0+Y(RtBD$tmJRaoCq*px z3b1^{o@BF)>OglYHtp2*?1nqP~jF5ihB*xnZheL`p-dVarw!X8f>wP4-_ zVcHGSJ0qpn|DaYsFZ1y`EKpa{4O;Wy!CWe3QH-?;B`QwrX{yil92yo(X5dh9Qo^4n zT||~&V;LO5R1nR6O39`il7FMdIq**qHx_OIHlblBg`?3orb+stjoJ=PTgj;xh&6)N zCUO*;>8fYe*>hfye$MDZITmMRw=H4bl+lx~=vDDIm6x(OM$}&n2~KRCPlcWMTBUQY zOAd*i^p%rxw$LCc3}u;#X!(<}?Ud@$8oo6d<|yIYSv6-LOw1TTf1QLg%)LaKuGQ7A8{0vly=(o6j`5J8#i>or>aa#&XWIYJdF$XHb#o8>?HP zy-89`7f+u3A&6V(qB%{E8y!cPFH$3m${O|TBkpRr&pkLTD;s#_i6eHU;z_MVN}?EY z%9l=&NRadV+ZVsZD+8syh>xu%lj8wQxB1vtyxCq9Z20PrTPqc)F!&OQGDU6F0VR%( zX>g|M&V{fL*{P#k*~=v37r8#XVyB)+$G6E1>ODAji&eRbnS0xsk2&2eUb#H2`iwhl z7`SjzlhDz0tXT@kNBPGgCgU}$o5I*3$`X@!8mtvb*#-$DExl!z>ThO7G#oAxfFHMX zt+DCQjEzBYF5vI&_WZNB8ecV%(K8~&29L~L6xUTVmuFcGa5r#0h&76bGeSaMDtt|E zavQgCB9Xl5xVC1uq;^<3CB;7p9>l95y z#`c;pvXR>8Ef^E+QHO(R9GJ^phI|HvzKLmpG* z)B8O0Hqz4VMo|ZOih}4Hu64hk79r+WYs~75pI#dSa_^1%{@4h^^yJi*NhEg=crJXk z+8Dp&imzc)M}*7`bv(te6j_+f87vhwCsDjS?wUFi$K214Pue1*l~0RPD@i>(EuDIo zZ=1I2-e_jqS45M=;1T2@ANWz`pFIU_qjHms$~yeVGsREC=si}MgWryEzhVn@bxh(i zmjyT*JZUOlQCi`!!1o(Xo%iLy}6H{k{=1eD7g$xCj=h!$Syn5M^8tt=rjgr3%=#nqT~1^s3jV;#Hyb z0kWZ?AviFxaBvpCMBlmYi~!<7u^reApQff#fjbi$6*d3F>}YES6iLtyWM_Zh1WM!r zZ_O7z27z@1xK2Kvwgxu~cutWnhiKkA2b0=+tQxr`v<>AiehA2=9{hwvia5pd3LK+0 z4(_m*;T^wJrJ=?g`dCge5WtBPWwHgZ)DUXgbllg&xg*HAr(>uk6S?vCY zzNlGJtOY;se9in~$byfk=Rjrn6b`KbzCRloek@)Bb)`{6exMlglpdyBWFt`BMTlk) ziEac#ce2VXvZWvL2!&w$8-dsqQf^IZphJppYeOhvYsV4wBv8y$OxD}KdlMS^1fm`_ z$h+3qMuN!%QK-2%JJJOEi8`bp(jAuYT6cq zGzFSp-wQ|uL;@K-1M;b6MRQR71Y-h1;`-YZU|~#LTv4D#c^8L($~PbX3~N3ZQa}RL zvMMw!KnQChIXLi zM<@$GAvI|@Wl=NK=xhnOb7(zs4T|0HKZ4`ihAC0$OzNL^Up~?&X-exXm`^<*JmB_j zH)pMW6X0u2@Z4`SV_th=+rM>G#E&#*p~;kMn{>i`^E}s!eAA%AeLZ)I% zL9j(YO#DzwE6KYFXsUqP0?7(OKte=L4qoUw(Gyfm92}rRSD6npf@b;w_+cSltYz{| zF54f|wMBSe!O4Nw4y`*1K< zmx6|ee?!bF z6sL($FvqhO6%-UuZpb`*_@mA&VWwC)2%DI4F7Uf7K#eKakI&A`gdZ)}LT$ea0{_lPnoDHWx3kBwPrMm~#k;5Pc+Z^9M2k=gjWQ*={ome<-WaE*y*NQkGa`jw&RZISBoFDbtk)ggJC~WScVY=GDCAyLcd}!?sAi_-=oVyjOEw(PZ{8J)XMM5VSVDu8 z+k(wzMT;E<-|BB&0YalK=KZGcg$ej;aA`93FBB1xI{W~nHJroBztr17wXH>e>kSZp zp0NXNz6zKR8QzE5XWV~Vhbcg#fCOztZb4TLgmJvTsH{~UWKF>6JN(B$+y&i?pyDt1 z3H0xRKNlAfB5RwZ5kP+TF6Wf5T77*tyq0Wr8lq~R?*6$tO+b-CRu<={XktmPqri?E zO0S}SrBKrR^6!`1IUdM5M>`vL7RqGV$B>hX0{e zpv?1s4VXT}&H@9uezM86Oa~x`4vvmJ_P3H0QPFXu%#Gf>j#NEkF1@6H>aXd9>S!;$ zwFeo;T|VBgKL|<6lLT{@&$HBed?KDcb>kb(%bh5f%6mu9?@Fsv$d?*_x~iKS+>$qP zfg1mTz+tgay&zw06eDi^xLTF7HFtzmoTbJ-U$tVl--iikHyd@T?u{7bzyO3sGtpQ# z7!hlqk@2}jyfueK%-d89|#fS+T}*bkZsKeK^Sx!Le$6s_q93I(%g*5QIYdok--3oW7Uj+ zt3rE#sODyU6=@MO9ofQr_~;E@{iJ!F^m*eyS$mKvV%I%fd$(%l6^Tpbq;zDQy@2#Cwk0_k1$~|r->u;N^_ZF;Mtv_z z!j8MeYt(TinjTc@JF=7iCPdGDf$7_$-$@OAQ@5;Ce ztP+>baFPvOI|%ZAWUVqEH-xVLJY9o<_eYaMfO(~pP=U(BRMp%E?KOq!>!&?5lsWBR z{uBHZygU}Z(5L2UmCd=XW9n9}RhQWDT3tKkI<=72B9@Z;QlRX8!QC?cS8kU?fN~G(CXaHStH`H5`gJKPuIZ37F6CzkK|>>7`)JI*nB+}@f5LBKs%Ub@ z)%P^=#ni8OrnQQvzAj?bXvHG`aw1qjbH?kBs3cIq9Y&khSrVA6BQTm5=T5J; z)xlyD_saL3!&YOs!WVa%7HSKPzFBA8rbc>?oWYp?#8gkdSN>N_6=l3^HbZjyS>RbJ z@%ce{|BVmwL`nLpmHhF&=M0l0Jjrc5(|QXFTys02;RRYxu6EjKKv6|DNmDeiH%&t=Ttm7DLoi{gdGVP&`1_FKOWBf^kk!CRE{-I$W6_qcW62csD2$2V>N zi3?d8`?UlJA2EmEtsPGs^vW4_%zrx6Qyc8U>=Es#sb?p5t$Y9eFyh69Uc@N zOO;42xQMqx369EA_~-|`k%rcd!*+XF<*)8Ev0?vQWin+*GEU;(t4sn_VyMG~rYZbx zT*X>a@*%|lgEOOYhZM(7EJnR7k(+0~eju7=Q|J*@i^i6&LF#i434sz}mFcw658)qY zU1#>pFdo0ea#dF3n8cjgNR+_Y8E$kAB5?Wl3a1=X5#PU#CG~Yli&*b?Ob(oLR$$z1 zH(^ZLzV0E1VwZYkNcQA-NRu&m4Rc;x?sCT|H`6!c8K8W)e%vefNZr$8Uvw$3K>o3Gv9UbOJ{;Hz|+EECiCsgvCKq?6%R>?`B1;yVTooJfp~AL+HTZu{zm25%>HG#eVNbXfi( z{w8^aQS-dqUVr6tqNcgIPL8Yh_~t@vR7Ui^m`&+lKU&ww$E;%6C;mIL-Q?8m5Bdsv zI5}3hnB7F|3HMcLkgGM?2}_l)m)HOBmbD~4Ulw5J?!Bo+itZHRqhI~0oJ(FQ;7)$2 za!Cxs4`GK>9h{Xv@(l*Mhir~m)e!%GDC^B;mPU^KXJYKeW~-7V8APJx#jf6TQaFD7 z*&H8rCtg^@#>K(!vx4dIQ6vXBX~x7Lvp?4d!a0 zlFI+SeWEJAfxK;3Q=WB}(=u`yt+}bop1he{x8RS{dpN*pwn$NlTEA>Aq^Q&sq5ueR0`*iu|M@2gcG(m4AopY+NPx z{R?C$$swC&X-r#0Jg@GO!YC5WF6^yW;VRa!#`}4qP|f$6cco)^gBG%)EEAi^?8!JD z*J>{clwuv`Epp5ZQ8q1dT;CbG=ZaR*yYZFH zullp`y|Nl|Q)hw&tUvTvY+4n&JDu3pIcs>rrSYEb584Wh*GVV1?bRw!SP;#MlF!x*Im50RRz%j>e#?j)frs&RE z7N@rXZK53tG3~Desv~PtFkdPRh>9YMrJ^XUTbc^o!leVuRT{KInGTlGo9$qqiOuMe zqxTf`Q}`|9qQ$!NMC5z{t8}PJtK6%{?D1a8NLvB`O9H<{S8HS1rwTPGKG*INjvJz( zovA`afA;!|pTTYv2ed_matjKSTYg@j-sXAJR-Cy|G8aBtg(DPmEJ}sW=%*ATv9iOC zeg2GE6K^=mt z=T7kQcc;#jDhv4)(h(C91x@b9_s`8_7(u2nodn-yNkw!qK)OI(P2dtUHyD|VfqXWR z9(1(Qw1}R*Ct1PS?1WZX5j~0Xrz}WUiP!d@rcov#EMchdIleFf2&F=!F8vY5_N!l1 zNa#$HT4~Em?FjM627Cr-u@70c?YBA&ws@7U?I&t|9~Pedw(j)z<@FG~f=`OyiutJr zcLt_hVdQ1Xb+-rD7g~L_bNLH8_z0fV77D&Mg9aJ?_gN8?w?(pDicR&>*JX*|>*WwY zsVlVUlagkHq5k21)&{T9gkm$xL)mF!W$kn-0O*CrAX=Pl(N*=w8tNSm_WU8|`n_1m zqGV@vbH%zpLJ_{D93y-P*JKql<7{)@NbO+%OZt^~{09}?ucHxnAuty4EszH{-g=oD z^xYmOl_34>TYKwT*Cwr8NB==fb$Dhs{PP#k<1ft+0h)CF@P5OIS%y6oMkATBHpO>l z7t|)6{+-8@5{KH4g@vU-lfw`QcmC#Wh@qHDGxyVeIp2Q0IF`^Hv%dbj9PV8l7m#ii zu03wTz1@3&1++y=T_gip^|y*{>9(pqF1yzh{K6LVAC_n>5Q z{oBONcnVrCGo(BdJ67?I{FGPTBh*7TWrT9$99#$itu?4-tbo!)AG~jk3&T6^j zBg|d7%w1E5oA|3{Px^mxN%1t6vy6qko#2Q%$I^Oyf0qi72h6{hsM|%NJTavo2wMiY z7m|CWr1Y8>b=TmX`gR=P&E}mPd=r!{Q>&lTz<*bWlho*^z&h9<$Y}>JmHy|5MW6QY z?!=2A&Zos*u`d`5l1r`c*`Vxu$y1OH@m{=1zpJD#_^k}XW!g(iNxy1aj7em7}FWpW2Ybg1}1KFDQl{#mo8CHXyPbQ9h|^0ZTG zm;<-}sWZslHqoH`@r`<&*0aOnR z$J}k96o>t9ep=eNmKSw7|KlsQ&ky4n$nRNU?2B;uh6sFjQh0j!eDLk{w|!-d0qGrN zm_p>NjDgGs|9;^&ubj{TKViUfo{}fa#7nM-kvP}EgRhsckX!7eRP~*eSm?b!xy1In z8Qz!cC>+LFM-HG0R^b`uF(v1&lKAgQ?t} zy|?`EGg^&x!Q2SB9g~B0Tn7X1kLhb6AY0J?`|7yOrpbrrN-SwTd%Eo}1to${95*u_ zT)2zGy$%`bJ&=FRB!Z{M%er2quYj&}6i^z+I}4WGY5sqABo^e_$K-~0sVS| zwhy6r_3xQ2M^N~AP?>5?cU!IHuiQVR<=U~<`i4z_ zOch&kv$S7$0t?p%?d%coD1`nw4-hfEcL-MBJzxO4Eu^(OBV3W=uH8-q2u3z5I zoPxB^*0H}nv^V($+c!zG(HNPbZ+k|2<{~_`NZKhkoDGby2Y9fYKcjey!_q7F@4%)P z&d3crmQF}3eIthE>v%1{x6FQ$z?ienDEpmOJj5ik+S>5GdXa zWa^v0er{Ps5IvnS%x!6Yi=sQ=ZW!j1a5>tb&yA)B0^W*f0}M{AQ!%#kkLkxY8Myer zUr(tZj>(fy8$R_haO4A!sTg5gYjoNC0K_?PlJv3U%o4`$4-Z58>nR_JsDPAG9iR*5}&V5E-6RNWjMx6&0NVly1`*Je2u} z2Cy|i5OD_6CLf5q5tq0GSN?yaIZmBS1TxnWS;>3H=cqMl0JC#pjH>

)% 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 literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo3/schedule.png b/A4/TP_A4/exo3/schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f917367bf147f4acdc3d77bbe1cbd52efb33d8 GIT binary patch literal 82739 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�_hau*NE6g9C;#qu?Hynwc%mw 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 tUSe$NE zR&ocXCB^{X$PLiAzxM!lcl_s1X?c0{tE;Q=TE83jT89OUX?iAbIr=_oA69zVn8!dP zu_^eZ5x#+xaIx#s4YHB`!Lg8fC(LWiic#101&kb8x zU6`Bu*t@B^`aSS=I1ycVRb?kTx|L?=Fs*=%pSngp4!sP8#z#WMkl^Y?*_c;8IqLC1Ss4u?e`(l=7ltwnsBANJjx_A4(I7AuTzG+uq5&w|)%=zi>hvdoNqFY%3j`M` zNee6T0G|zhy57mO^SL%Kagef_jOWSdxePy7{KyvzAcr|1@D^>g{zbImZE(EUb>zliY87NfGTU<%{d@gtRQ0KZw3)yJAqTi)$P23-->WOH1Y@!< zFFoAzzkT}_hLWE5JsBSV99^WGMb1`YSm!`xc=t!sRMs4(R$_PCDlWg?YF0RJyn>C8 zzx4>)SIqEK48Q}Q#Eahx(D)w0&(+$m6&Gc9Zk=!e3`KQIN`9PB6i6z{{LffmYy!uC z8(nJu%ayd7X5f71y?4IdZt}MogU~z={Er?mO~4Lhv%kZ|BXfXx7qc-?O9Nwlq%3~t z3TA;3Cw6TGl14gEP)b-^GaGR%2m@}avgp|xK#%MOfL8)pQP_+@p)Lpl*(LA+qjjxk zY{1VEh>DqXqfz_pa&3<0j1HyqXajZQXg)*$!P(k}4Yn(AvFO7Aa}Rwq0U|2mcf1~p zUY4hxy1EnqZOsKrYeBFO2+O)l*TkT-Bu>?HMqhyl*!uyADq{ijRrHYjTiYPPZt=rj q+S32`@#?=T#Q%rD_um&F<(8!T$>|?G|$Y literal 0 HcmV?d00001 diff --git a/A4/TP_A4/exo3/script1.sh b/A4/TP_A4/exo3/script1.sh new file mode 100755 index 0000000..298baf4 --- /dev/null +++ b/A4/TP_A4/exo3/script1.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +for T in 1 2 4 6 12 +do + for N in 10 100 1000 10000 100000 500000 + do + ./exo3 $N $T >> time_reduction.txt + done +done \ No newline at end of file diff --git a/A4/TP_A4/exo3/script2.sh b/A4/TP_A4/exo3/script2.sh new file mode 100755 index 0000000..05dfd75 --- /dev/null +++ b/A4/TP_A4/exo3/script2.sh @@ -0,0 +1,10 @@ +#!/bin/bash +rm exo3 +make +for T in 1 2 4 6 12 +do + for N in 100000 + do + ./exo3 $N $T >> time_reduction_schedule_static_1000.txt + done +done \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_atomic_schedule_dynamic_100.txt b/A4/TP_A4/exo3/time_atomic_schedule_dynamic_100.txt new file mode 100644 index 0000000..e16f3ee --- /dev/null +++ b/A4/TP_A4/exo3/time_atomic_schedule_dynamic_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000108 seconds +OMP work took 0.001046 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000113 seconds +OMP work took 0.004943 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000112 seconds +OMP work took 0.006735 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.007110 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.009979 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_atomic_schedule_guided_100.txt b/A4/TP_A4/exo3/time_atomic_schedule_guided_100.txt new file mode 100644 index 0000000..851f2fe --- /dev/null +++ b/A4/TP_A4/exo3/time_atomic_schedule_guided_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000107 seconds +OMP work took 0.000993 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.005029 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.006990 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.007121 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.011034 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_atomic_schedule_static_100.txt b/A4/TP_A4/exo3/time_atomic_schedule_static_100.txt new file mode 100644 index 0000000..23dcfea --- /dev/null +++ b/A4/TP_A4/exo3/time_atomic_schedule_static_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000107 seconds +OMP work took 0.000991 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.004122 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.006078 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.006983 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.010475 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_critical_schedule_dynamic_100.txt b/A4/TP_A4/exo3/time_critical_schedule_dynamic_100.txt new file mode 100644 index 0000000..6e91c21 --- /dev/null +++ b/A4/TP_A4/exo3/time_critical_schedule_dynamic_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000109 seconds +OMP work took 0.001329 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.003872 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.006425 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000107 seconds +OMP work took 0.008425 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000108 seconds +OMP work took 0.012499 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_critical_schedule_guided_100.txt b/A4/TP_A4/exo3/time_critical_schedule_guided_100.txt new file mode 100644 index 0000000..8a0d959 --- /dev/null +++ b/A4/TP_A4/exo3/time_critical_schedule_guided_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000110 seconds +OMP work took 0.001265 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.002476 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.005363 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.006367 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.010114 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_critical_schedule_static_100.txt b/A4/TP_A4/exo3/time_critical_schedule_static_100.txt new file mode 100644 index 0000000..1e43ec3 --- /dev/null +++ b/A4/TP_A4/exo3/time_critical_schedule_static_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000109 seconds +OMP work took 0.001290 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.002057 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.005708 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.006752 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000108 seconds +OMP work took 0.012068 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_reduction.txt b/A4/TP_A4/exo3/time_reduction.txt new file mode 100644 index 0000000..dcde021 --- /dev/null +++ b/A4/TP_A4/exo3/time_reduction.txt @@ -0,0 +1,151 @@ +Nb thread max 1 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000000 seconds + Nb thread max 1 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + Nb thread max 1 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000011 seconds +OMP work took 0.000010 seconds + Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000100 seconds + Nb thread max 1 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000509 seconds +OMP work took 0.000503 seconds + Nb thread max 2 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + Nb thread max 2 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000010 seconds +OMP work took 0.000006 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000052 seconds + Nb thread max 2 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000506 seconds +OMP work took 0.000255 seconds + Nb thread max 4 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + Nb thread max 4 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000010 seconds +OMP work took 0.000003 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000027 seconds + Nb thread max 4 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000505 seconds +OMP work took 0.000130 seconds + Nb thread max 6 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000001 seconds + Nb thread max 6 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000010 seconds +OMP work took 0.000003 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000018 seconds + Nb thread max 6 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000518 seconds +OMP work took 0.000087 seconds + Nb thread max 12 +N 10 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 100 +Mean time on 10000 executions +Sequential work took 0.000000 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 1000 +Mean time on 10000 executions +Sequential work took 0.000001 seconds +OMP work took 0.000002 seconds + Nb thread max 12 +N 10000 +Mean time on 10000 executions +Sequential work took 0.000010 seconds +OMP work took 0.000003 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000013 seconds + Nb thread max 12 +N 500000 +Mean time on 10000 executions +Sequential work took 0.000508 seconds +OMP work took 0.000053 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_reduction_schedule_dynamic_100.txt b/A4/TP_A4/exo3/time_reduction_schedule_dynamic_100.txt new file mode 100644 index 0000000..add9216 --- /dev/null +++ b/A4/TP_A4/exo3/time_reduction_schedule_dynamic_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000108 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000059 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000042 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000033 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000045 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_reduction_schedule_guided_100.txt b/A4/TP_A4/exo3/time_reduction_schedule_guided_100.txt new file mode 100644 index 0000000..7467a40 --- /dev/null +++ b/A4/TP_A4/exo3/time_reduction_schedule_guided_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000101 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000050 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000027 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000020 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000017 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_reduction_schedule_static_100.txt b/A4/TP_A4/exo3/time_reduction_schedule_static_100.txt new file mode 100644 index 0000000..e859d3f --- /dev/null +++ b/A4/TP_A4/exo3/time_reduction_schedule_static_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000101 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000050 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000098 seconds +OMP work took 0.000027 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000019 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000013 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_reduction_schedule_static_1000.txt b/A4/TP_A4/exo3/time_reduction_schedule_static_1000.txt new file mode 100644 index 0000000..7a4c23f --- /dev/null +++ b/A4/TP_A4/exo3/time_reduction_schedule_static_1000.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000106 seconds +OMP work took 0.000108 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000112 seconds +OMP work took 0.000053 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000027 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000018 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000013 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_dynamic_1.txt b/A4/TP_A4/exo3/time_schedule_dynamic_1.txt new file mode 100644 index 0000000..f164b69 --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_dynamic_1.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.001006 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.003949 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.003373 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.003275 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.002237 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_dynamic_100.txt b/A4/TP_A4/exo3/time_schedule_dynamic_100.txt new file mode 100644 index 0000000..14da2db --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_dynamic_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000111 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000085 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000052 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000042 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000033 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_dynamic_12.txt b/A4/TP_A4/exo3/time_schedule_dynamic_12.txt new file mode 100644 index 0000000..904f20c --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_dynamic_12.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000107 seconds +OMP work took 0.000193 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000374 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000317 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000310 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000241 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_dynamic_4.txt b/A4/TP_A4/exo3/time_schedule_dynamic_4.txt new file mode 100644 index 0000000..c378ebf --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_dynamic_4.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000106 seconds +OMP work took 0.000336 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000107 seconds +OMP work took 0.001010 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000931 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000853 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000631 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_guided_1.txt b/A4/TP_A4/exo3/time_schedule_guided_1.txt new file mode 100644 index 0000000..90e1aed --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_guided_1.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000101 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000052 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000105 seconds +OMP work took 0.000030 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000022 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000022 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_guided_100.txt b/A4/TP_A4/exo3/time_schedule_guided_100.txt new file mode 100644 index 0000000..63426ad --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_guided_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000101 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000054 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000027 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000020 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000016 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_guided_12.txt b/A4/TP_A4/exo3/time_schedule_guided_12.txt new file mode 100644 index 0000000..057ff5b --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_guided_12.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000105 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000109 seconds +OMP work took 0.000053 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000028 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000021 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000019 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_guided_4.txt b/A4/TP_A4/exo3/time_schedule_guided_4.txt new file mode 100644 index 0000000..d3936a0 --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_guided_4.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000102 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000098 seconds +OMP work took 0.000052 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000028 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000022 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000020 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_static_1.txt b/A4/TP_A4/exo3/time_schedule_static_1.txt new file mode 100644 index 0000000..ffdfafe --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_static_1.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000106 seconds +OMP work took 0.000103 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000051 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000027 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000103 seconds +OMP work took 0.000019 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000106 seconds +OMP work took 0.000022 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_static_100.txt b/A4/TP_A4/exo3/time_schedule_static_100.txt new file mode 100644 index 0000000..bda4e59 --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_static_100.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000102 seconds +OMP work took 0.000101 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000099 seconds +OMP work took 0.000051 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000026 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000018 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000011 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_static_12.txt b/A4/TP_A4/exo3/time_schedule_static_12.txt new file mode 100644 index 0000000..707a72f --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_static_12.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000104 seconds +OMP work took 0.000106 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000051 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000026 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000018 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000015 seconds + \ No newline at end of file diff --git a/A4/TP_A4/exo3/time_schedule_static_4.txt b/A4/TP_A4/exo3/time_schedule_static_4.txt new file mode 100644 index 0000000..a568d96 --- /dev/null +++ b/A4/TP_A4/exo3/time_schedule_static_4.txt @@ -0,0 +1,26 @@ +Nb thread max 1 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000107 seconds +OMP work took 0.000107 seconds + Nb thread max 2 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000109 seconds +OMP work took 0.000052 seconds + Nb thread max 4 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000100 seconds +OMP work took 0.000027 seconds + Nb thread max 6 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000020 seconds + Nb thread max 12 +N 100000 +Mean time on 10000 executions +Sequential work took 0.000101 seconds +OMP work took 0.000017 seconds + \ No newline at end of file