From 1a20f30638038c84d73e98ad986ed37e2792e45c Mon Sep 17 00:00:00 2001
From: jeje <jeremy.rioux@student-cs.fr>
Date: Tue, 25 Mar 2025 11:02:21 +0100
Subject: [PATCH] je sai spas ce que je fais

---
 .vscode/settings.json                         |   7 ++
 .../__pycache__/Display.cpython-310.pyc       | Bin 2760 -> 3743 bytes
 .../ImageProcessing.cpython-310.pyc           | Bin 3429 -> 4234 bytes
 Code_objets/__pycache__/Main.cpython-310.pyc  | Bin 5721 -> 2678 bytes
 Code_objets/__pycache__/Menu.cpython-310.pyc  | Bin 5295 -> 5319 bytes
 .../__pycache__/Parameters.cpython-310.pyc    | Bin 3046 -> 3068 bytes
 Code_objets/__pycache__/Point.cpython-310.pyc | Bin 1914 -> 2578 bytes
 .../__pycache__/Trajectory.cpython-310.pyc    | Bin 6972 -> 7024 bytes
 Code_objets/__pycache__/UI.cpython-310.pyc    | Bin 6579 -> 6592 bytes
 .../__pycache__/VideoManager.cpython-310.pyc  | Bin 2198 -> 2435 bytes
 Objet/__pycache__/Main.cpython-311.pyc        | Bin 4467 -> 4962 bytes
 Objet/__pycache__/main.cpython-310.pyc        | Bin 2163 -> 2288 bytes
 Objet/__pycache__/menu.cpython-310.pyc        | Bin 4771 -> 4792 bytes
 Objet/__pycache__/menu.cpython-311.pyc        | Bin 0 -> 9098 bytes
 Objet/__pycache__/trajectory.cpython-310.pyc  | Bin 7023 -> 7023 bytes
 Objet/__pycache__/ui.cpython-310.pyc          | Bin 9848 -> 9996 bytes
 ...st_chargement.cpython-310-pytest-8.3.5.pyc | Bin 0 -> 1340 bytes
 ...hargementlogo.cpython-310-pytest-8.3.5.pyc | Bin 0 -> 1316 bytes
 ...ercherdossier.cpython-310-pytest-8.3.5.pyc | Bin 0 -> 1057 bytes
 ...thrading_logo.cpython-310-pytest-8.3.5.pyc | Bin 0 -> 1718 bytes
 ...utestthreding.cpython-310-pytest-8.3.5.pyc | Bin 0 -> 1490 bytes
 ...st_recup_info.cpython-310-pytest-8.3.5.pyc | Bin 0 -> 387 bytes
 multithreading.py                             |  39 ++++++++++++
 output_image.png                              | Bin 0 -> 38801 bytes
 test_chargement.py                            |  48 +++++++-------
 test_chargementlogo.py                        |  54 ++++++++++++++++
 test_chercherdossier.py                       |  34 +++++++++-
 test_multithrading_logo.py                    |  60 +++++++++---------
 test_nouveautestthreding.py                   |  53 ++++++++++++++++
 test_recup_info.py                            |   3 +
 .../test_model.cpython-310-pytest-8.3.5.pyc   | Bin 0 -> 162 bytes
 31 files changed, 241 insertions(+), 57 deletions(-)
 create mode 100644 .vscode/settings.json
 create mode 100644 Objet/__pycache__/menu.cpython-311.pyc
 create mode 100644 __pycache__/test_chargement.cpython-310-pytest-8.3.5.pyc
 create mode 100644 __pycache__/test_chargementlogo.cpython-310-pytest-8.3.5.pyc
 create mode 100644 __pycache__/test_chercherdossier.cpython-310-pytest-8.3.5.pyc
 create mode 100644 __pycache__/test_multithrading_logo.cpython-310-pytest-8.3.5.pyc
 create mode 100644 __pycache__/test_nouveautestthreding.cpython-310-pytest-8.3.5.pyc
 create mode 100644 __pycache__/test_recup_info.cpython-310-pytest-8.3.5.pyc
 create mode 100644 multithreading.py
 create mode 100644 output_image.png
 create mode 100644 test_chargementlogo.py
 create mode 100644 test_nouveautestthreding.py
 create mode 100644 test_recup_info.py
 create mode 100644 volley_mire_detection/scripts/__pycache__/test_model.cpython-310-pytest-8.3.5.pyc

diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..3e99ede
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,7 @@
+{
+    "python.testing.pytestArgs": [
+        "."
+    ],
+    "python.testing.unittestEnabled": false,
+    "python.testing.pytestEnabled": true
+}
\ No newline at end of file
diff --git a/Code_objets/__pycache__/Display.cpython-310.pyc b/Code_objets/__pycache__/Display.cpython-310.pyc
index b2170e9591314447e8a13d70e170b9cae774f34b..ce8f04f19664a039fe127ec94b25b6607f4ace33 100644
GIT binary patch
literal 3743
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
UGI|1O9XYa<FB#6mRc`(KUv^PfQ~&?~

delta 1104
zcmZuw-%Aux6rMZ3c4l^0*VQd`)qY^$m`b~@Xk~?2NfZ)D1QHCx-f?$j+*!_yiDro8
zTMs4owFr9a$%mkxdiQS_=&6U;m;QjBy64VPA`Z-V=H7G8cg{WEosYxEg`OarwIu!&
zmyT<_rX>A5{4hYq53ddu<t2&AR5_5S@>*V1C|QwgwT-dMhwlf;^TTh`Q#FaEKan*;
zGc<cZRt?%kyAPyQljdj-w-(LQUT)L0k0%${7`aSB_K1{7ioGIth|a!~$vv4<F7h|b
zao8ohl9M2z(uxEM-?ZhpXS3OYpz4L8N1ZirH@sLA#+E_jA&@~x{R4x4#g-qqooIeE
zDO5S=#3DQSdyTN=yW3MdfbGc!JJQBRlS+`rOtl)cwm*}E`UETcqZRcmj{u7m^^mCS
ztv)e<4a8b2Xf&hKEp$_Gw;b2^9pMgh?3cd2*cP?4SgF1!$9lB^Ro@dQh*PZ~bU06}
zRRcc&C}6D<4dAkmL*dJt)D9_kdd7prX3dL|DmH;$4D3b_$v6(U#9@HVnq@M~*3Dvi
z6gLUN2zzJtci}qL-Dc!O02kO-bC!&<-{#E7MRZspr>}dBT0OEA5V;Ak1#3tzAx()@
zt-Et#8dl5YA~}8|j6~g73+rynOS%z#B?^i02v<M*VeLO{<881t7{HRM-)JUtfg-N;
z#}Ak9I~7|My2QE|X{lq&FoZpvn$<Ml8)rx9m(SYbq}Tb{P6>Lrf$`$rAUmiWVr{EI
zqdMHgFeQ=y96Hb9p5cy3wx8K~AY>qb#cVyvn#ZhL96IeycWmWMstOOh#ul>UB*Xmd
zl|8(!AnqCd6mT8^WrsNgtOHmbFz>{X|7(q7L?J@VG9-f-ilOpX%PB_QP%;XLL95B2
kttY6K7kLmu7f+}N?^(pLF~1SeP2anX;|x(m!A|n>U!*?ZYybcN

diff --git a/Code_objets/__pycache__/ImageProcessing.cpython-310.pyc b/Code_objets/__pycache__/ImageProcessing.cpython-310.pyc
index 08735fde6bd45504c90013cab1f8dcb071789803..c99760e2bcecd0066e7f4f9d7b9ae4529e83bce2 100644
GIT binary patch
delta 1979
zcmZuyOK%)S5T5RN?(D;kNwAH<Bmo(Qga{iF2oflYW1NSu9n8b{q1Ae)cRkB`X5BM>
zYDSCX2mulYYxn_cBo02JT)6NDIB-O$??~i`IKVAb^{k1rVMbk3U0qe(UG-JX@6UXF
zt`roDwgS)hfBsURJ9AKqNaJ9CX~{ivPgyLwPrHNgExAMUiZd+wZmn19Y>o$27KWZ*
z7j~<{E9)#`JglndrTZXHVNAjZ`+>wHR?13Dfs*tEa{D|Ly0jJ4t2nCALe{KtG~+su
zBZZskJu=;wLk9*BgBnC5>96FaHabR4>HI7(vC@GJ4haFSL3jb?^iY{cxr*N-GUI6C
z)Mm@AM6B$yov2*HW6P~X&a0H+3TuHYPPtyK#yIn<tSfRT$K8ef$m&&Yf+Qmrt`+Jm
zDp#7#@+y!)kc23<i9sx4rFRQYr9Y{~HUZi3Qv?Rx${YL!j7t*Y(u77z2Ljcg5H4Dy
zhcr=PhJ(7Qt9?Tg&D9e<)@~>(?<YoVG?1H4%t(*ThOti)E4E_&GmW#@O7zH#ERg41
zeOPJl(`7BmC3cce3ULlx+KqfnMwF{cl8f_?&GWG>=Y^QcbvuTTg8uOw?el|*Ym6wM
zS;)9Ltz(Xh8>1V;pk3^gF!YW&<NX22^4bfKw)Y$&%q_-OgOG6y$OFu!(<jvG)`T!P
z3%xzYOCS^adf>9A&{u;U77D%A3@VY(s)1h<>UyOmRL_U`&hE}G*QEZo=SFM7SYuv&
zEfTp^7Dh55Xw=$u+Qlr9IiGEpGhN8(cDbux%=UIOU<ebYo6RT`ebNtZ>$wOEc}Q3h
zDjbYsvIX547jzfK&IEiXdeFfOp!1xfw3ToSI8D{a0O?mXYEhfmfDnxgk^b)cETNy%
zzwP|qa8IFK`VXVklQ_bgW4TBi-2?_J;ZVUk=nz*{L_|A?AMIj98#)Z*P+g`8NuUxt
zCKe4stYd*nu45l6vWV1lkxr6)`U8DY=L6t26?En7as9M7+v?U2W{QsjaWrnEE9%Id
z$4i4F(BFa)VifSkLvZJQs*$~Oy*GTK^bQ^lzxx-qrmT0kfF_Pphe(7Rbt_ZPO1Wp_
zJSbjIN44oISAgr<LA!c%_BT=9V>JP?DU@GLztes^jaL_DWi`aJ@waiIl=}L@J6TJR
z8<%lS<m$Y#D_Q;q8X3_VAZV@E{{>jPd0#bd5KG=f<ytyxo*zPgCmM>04W$)?bLm&+
z!ssiwh~$VqK)~@2fH*e4j{HFS&|JQ72_>ooIKK_NP<h~G4sW5BY*Sj$V*YIUh4tm^
z918EEktOrX=TRUXeu&&hNIpjL2@-VA|0iBTN0$>T=}PX~%V-U491B>+txyd%{b(le
z7a0%u61rGG@+lH|U>z_sW?wtqlZ1<)P`$rrkC4lEP<IB248kmMj+wb1Soi!XzuFA&
zKQ!s_YLoF{)YQ_S^Di4RqOYg_<i~p5kAqS(ohV!*eQ8)2Z{r_^_aQ-yO2l$R4@WR?
z%vg5#W#sT|96g-KtUNwOm}4_TCLEGXiC87eutqG~QsFgmR>(;$$H;D>`>$=Tw{~S@
ZgdJ8nW4`Ct0={wV?}?4lsp9iQ`xgjvz03dr

delta 1128
zcmZuw&rcIU6yDk2-ELcH$`5HkAqX}Gja3vBA_fV;1Dco^gOH{y)3T)9ZDtoDri6nr
zG2F=L(WE_i=$VWD2cEpU2NMsP82<z>zBj9&=x*lQZ)e{7=FK-V`$J#)(|#&tN$}(s
z-dDe;4$>i6K6v(c{()5Jjxvk&a+Tg^zC(k+^{SE8D6?{%hLi=4j9I@P<k;q*1t`}f
zO{paDDRQ@$Fa<gaa-;^dRuMlPiD~=|Sx6cfkBOGde~__N4JbCDvjn6mwLq&)2r|-^
z#8+MyJ)zQ4o6@EhDw{eqqphsSyYj9Ak!DkFlU*E5w5&GdmXb}CztZM%cGR`iSTBdP
z<k2T#se;SlAGHxJQk?A~m-W?A>v$wm9lx;y%Vu;tjxA_Rg}PXl@9Fs>*2)Cvz#_X!
z!&13cE3E+}p(jWKSc*w3(g)3!RsKOf%fISl;~lb8AS?^x9a%_5nkXigJJMtci0I|h
z#=^{LV5}bi@^Z-Y2q#MTy}ILyF@p{8cgEYC4Ky;!Yr(o(sl*yt{@i>-RQ}1#5B1=%
z9&RuiY@E<#xTyn&{fRro6eTE3;T3DRPndC3ZDgPW4L>-?Th^mN6Q@S#$lrRAUjryu
zY!tc8dy*>`(4c}6dwLOgq%hx&Cm+Ws;j8L5s5io2CtuvVik%afWHMY1yN)0PCy`Ad
z+(5XAfb#$KNkhqEk%#un3CxDm={}`GGO`_i%L|u$Z<#Wm-9m|Jgc$@;FdPCtlbX%_
zZ9c;-pFBKB<;lb)j4dJv6RrR&7_oe|?t1f{Q}gjk&AH5}(MWN<5FGuSKCcT$yLl!v
zdQ!d%L~irN%q&Uq{mkV(ygjTB0S^fqM8JKDOP)oB6*0{FV?U2}i{Z^fg9AKHrj#b8
xYTBj(uVJQ5-A;&zf*#kcd0X|yj<6!K0*4J#>bYLUXAe;ywf>oeZ=O0s<e%|x;&=c6

diff --git a/Code_objets/__pycache__/Main.cpython-310.pyc b/Code_objets/__pycache__/Main.cpython-310.pyc
index 68af849b8fc70a0c48ed4b41d9d702408da65197..a0b1bc93be8307a1b2f8d23e2810a75c30885253 100644
GIT binary patch
literal 2678
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
HvA_KeGk(Ml

literal 5721
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
E4I4#6;{X5v

diff --git a/Code_objets/__pycache__/Menu.cpython-310.pyc b/Code_objets/__pycache__/Menu.cpython-310.pyc
index d58ad8dfad2736a4aa7de1d20331852235f347a7..ce9d7b57e75225fab452216fc37fa6b650f79b01 100644
GIT binary patch
delta 204
zcmZ3ld0dk>pO=@50SK0UJeR&`BCjl?%|z`6#yJz$OxNUIpq|3NkdcugRiK$6N+VTx
zf#yO6AWvg~7Klz^3<hIOfz3&b@7NiIHwSX+GBVDYT+g+ValvFw?njJ^H}mjBF)}XS
zoX)Gt#JFQ}FaK@E1Cuiao-uBo93a@wcy96o!TG#`K<kS|fCL8v57XoxAwTva0U%FP
xd-ENk7)CbM;+)jfg30D0W{eJ#^F*XrSs3a$94GgRNO5tovN3Wn@-VSH0svw$Ht7HW

delta 222
zcmX@Exn7eupO=@50SL~-ok(w;$ScceG*P>Oar(qH)8z%48KTrvg%@ZnWME`SRbQY9
zqEi@y!B~@ja}MJ>c1FR?(VV)BjI$<pa;;>XH`$o`5#z$mVmwidj7v8c@~Sd1Zks%v
z|2E^k$;ATC7&lIi66|L@Gx?R^d|m;drNtsZf`fsFaq=`FKPFAB&98-G7$^IQm^#^k
zB{&#47<qu0gHZs8S(v#Pxfq3*8R|J4IDjlJAfJO7#Nq)$1x7v~n}eB+4XB5S<q-ht
CA25~x

diff --git a/Code_objets/__pycache__/Parameters.cpython-310.pyc b/Code_objets/__pycache__/Parameters.cpython-310.pyc
index a1fef98059f7080b27dd78b68da050f302d94867..b0b5de2665bbbec468cb0efca8cf3ece29f80928 100644
GIT binary patch
delta 725
zcmZvaze~eF6vuOyOPjV7#6=f}ih`-wY8CNE@wZk%OQlnTP%0@RHf_ANgR|l;_cu5Q
zDku*6Pq?^9CMUts-NE~&N`f|l@4b8PbMM`|yZ64YzIY=Zk1F!J{CqyRzlaa)&B=+S
zSfr+y7-@~z#3VK~De3rCQ}yD^)N+cYTI@`**eNwb7AY!*_JM49gSuLwaaeD;F>fe4
z6<)FL+7Bv;h$P#MMI^;LBF<SN)Q@?;xM9PgAMY!BBdU1Pj>wD{4!x#Ql5knQVpk27
zPXo`wqd6$UXW;N;7S^~J4VOmdrD;$;4o-C%%`56J46YE@;r#?)2>|AkkVQx!uSn}V
z*=0C`=tMVE`rOz-wN>^uS3a2nv?d<)Qd)<(BIT;ng{z^ZiO!G-)&rOkOOfTV9L!C~
zI%EqH*chg$fUD!%;x<zBnvtDnenbD(h{5RjC{h~CrFF+;&12r;tKc^ve`|=BXlcbO
z;2qEs7@zj*>>yBp_#5=Eg^7ABvBzZC2=gQ;3Q-|LQsgPLZRdpN;Q-bxi>qhthSjcB
R7l<U9c)q&QLv;D~(r>~xj`9Ei

delta 684
zcmZvZKTE?v7{+s#OB-9exKt2_B7#A*wpD9Y)cUW2);~BkOHopaXxn(LgOh{eE;slY
zIts4ps(u0q4h|yt9UQzTQ4*{PJon!7{_ef^O}^qE@mM1kizxExD?C<nSF!%}Nx88U
ziySE?R(eEg#3aP?s7c+NYO;c2sTR9XEOt&!%_6&sp?#v#ra>HSyKzu&-CW+PL>Dt`
zC#uT?_e5N?L@17ZT->w4(2x7c-Ut=X+9An`$<WK_h$I|V->X#&l}`Ylfuq@|%(F0D
znL?Blv*FUvv<wZ(li*al(QH%yVDN;v3-2cYO8_uWL*^iXx?({u&Mv?VqGSJ|(sQEK
zN~`QPS3VsFv?QMNQZkG%FQx5G;b<5s<t^#peE?Hprz=0Qim(7#hO9vXjbWRSg0}d&
zc<9=7hmn(~ep4N1L?&`MjFJX(Xx(;L^O(2zBKQ@^-#f&6q_mhr#{EF^h<w_=X9I~X
uh~J?9TU2otO=MM>HbUG0MIi%H<OevZ*{8e+14Ksw@fz*byNNE}9{LS6ScE_T

diff --git a/Code_objets/__pycache__/Point.cpython-310.pyc b/Code_objets/__pycache__/Point.cpython-310.pyc
index 9439b4b96538d8fb0358552264e1412cc94e2503..8bddbd546715215a73f05cd2f67bd9f319f53228 100644
GIT binary patch
delta 1041
zcmZWn&1(}u6rVRUyWOT~OlnY5zgnqjS7Pf2h?jyO=&3=>MFTPkyPJ|WU(7~nLm+62
zRq#^hC_;M>jDLp*PyPXmH~#{U_T+n;Rs#;a-<vlxZ}`36dq=7F*;0FYI>B&#`t^PN
zvc=d>3dWbj;2v6d1>qs{nGd^YJG@L0_XS2GU^}7=zAQ1<^7b=1c(ecPWyL?Y%gU$x
z9G=cb)}wa4)%67aa<XX8(e9&#S%f~UL!T+u=dlN$mDmu9LmqLpg|<Bukqm=IErP8G
zw#`#`FhTqrNSZI;fo)QJ6B4G!*C1uS@y9S@&Wm?&#(WlUVb<J|n_Sx_BTw71*?tjR
zG+$)}=FL^B0t@D~wZ^qDKdcL|XntF-;F{^%IWy05gD_3(*a164j)a?{#58etL6a~p
z*AwU>t3y?4l5_-9begP(%CFaIfeu>T>v$4UY8rYou_(*q*F`rSIZCyv%|NLrp;WW&
zo1y&#@}@X(_O1rZBnuZ194wv71W1tpjz-=QjyyKuh@^-!uqoLACXCVohRtGSzQ=0d
zgU@%Jvham3v0ZYHNmjO~k<nDlPIaof+VpTX{w~^+?$p5W5<-{lumkAxzBuH75@8d0
zUm^->;YcVsh^+8=C(t^H8Ihz4Bg<<y+S;{Z_4G1cXop~uU<F|a(WFvdqZ)=v{gX8Q
z<0jsRHbM$)NI)+;#&=n%daK^WR1zy*R6hmucRX@=-1x|KgMGkBMi1x(dX661ZwU0(
z$4L~!F7`5Gzb_H_)t)TOZN<2~+H(qXaV@Jy;JR{D3TdQCthf}eGc<Yw?5++vTB$pD
z6Hh|^KklOkuB{g-dx^j$AnEjNglPI$6)$KsPLzqq?gl-fvC{<vieil%mV~s0XZS@C
S$CZ@O1)Qn8Lo`z?yYdGQMb&8l

delta 430
zcmY*V%SyvQ6rDSh$;(uw7A#s(EC>Pd8+<IfYLIp(NGnM#C2b=UkyZjeH-aE~SK`WL
zKfyon4}@&>7u<BCH(f}*!?}+$=g!QXr^0ylFv{g@Mz&meZ+{EMKC@!lh-2G?I8Uy^
z0v5n6;f5cufY+HTeB%GvU&rNR@9Kgi#Z>M`o&KpWr*v7)344Tija&i=Yp{g3vj~Zp
zM4o6=iGbDF2s~Fywf<4BmGZ`bFifQ%btC1<REt~PW0l>U!XSmA(kUG=Wn&F?XG|(|
zFlpKN0zR1d10gsV@+!>Z8?QkD9dQpud=__5!m<`xu22TGDHA=pXrx*%I%}=sNNYkF
zZP|nk3}w}FxzaL~#2u?B#Yq&q_#v-XHi?Y0@k(%>n+(52dky*o&z-}u-l3Pg@&!x`
f%U&m$$xPrnJ{U`mBNPzhxu5{QtPMRoCeMBW)^%2&

diff --git a/Code_objets/__pycache__/Trajectory.cpython-310.pyc b/Code_objets/__pycache__/Trajectory.cpython-310.pyc
index 074bc8f3824d01f6628aa6e2931e66119f1012d4..6e420dad93b877411490387262f423ac887e6b80 100644
GIT binary patch
delta 1136
zcmbVM&1(}u6rb76=6jPi&9|ioEn<XfmC}k-rM2}Sv{XG54<a#>h9sL!I=exO2|*&5
zi;4^=^wO+o)e4FqM-PH{_2fb0Um$p>7eS=xd)p7NP!H}fkKerad++^r-m-6oSBKTI
zs(J}L55IrNExl0h`WgzHJg{ZhMpPoiByDPu+eay3lu4RYlIxVB*TLi(wIskw!Fhws
zQRZOEb+_qik%HUwfb}+MQ<@-6YDb+rMVX7andhdXMK1apvxE@`tfowf?mk3}vCGg7
z*Lm1E0wlkwv{fvRjS{2~K+L>|EU7Nlq;}9Eb&2`vGDNzJ<rZmo*Ca+0q$V?8jKqmW
zArfl$Fuz5a8Ye}<fmQIa29OvnI`}e_2{XEx1}X5Sm_9=OqwGdi<Lag;zPeph%of$y
zrV41FYE#te-=ZL8o2Z@2{;R6--gKFsngqk56XWDUs1B1T_}dXPT9ayy1Y9{@A0i9p
zX~8(=e=u^6qyp2N!e^4A9pBlsUYt#HJ+J4)J5{3@F&LPk$Hlckr0)c9_&zjIG%+;e
zU@{0!ir0aDe@E7{CLaVxDki=Lb{$UY)ly~QK&7lL=;cyAt=X_@<~4(l0<GgW@}-KF
zoy%)xmUkq*B6bI>afL^)sLfEcykTZL61&33#7eNYYd?g%)DLT#_O3aVS097@5}g!3
zyN@|fW7@PB4ejZgL3jp@ie^fbLq%$cFQGMhOMLFR0~y6|vKJX0H-jE&J(J~5IHu(F
z_BmmN`{+IKHvF9C#JsCVNkVi{v?AYVUR0xlN)gUWVkOE#8lWc|c_qMHw-eC)SR9G*
zC@SkXjCpSIA&d{8so11Ez^CF<Y(<>{l#<rF57{w%i)Z3dygk4%0q3+nEScMmEd!#r
zf}9I8age?g4-)s2sF9-%j(xa&ExQp#v4Jp>dudoKCMSDsg<hk2slv;dtYPp|$ig28
PH^r~ys4^0wj^BR(ng$Wa

delta 1084
zcmbVMO=uHA6rQ)cNs~=BiTO_~D%gWPlvdCR(uzMVh}5>|p?Hwec9J$fO_SMe>mebB
z2rWVp87O$MyL!+TM2ZJNdhqDUgC~h1c&-Npul~H3(poAaxXXNeZ{GLbd^5A`m)@;j
zW6m&ihR;Iz_4LxFvFfX97<qB1I8497n8j>x*xl1WOyOXudCgHUQuD4QmIbbG^|r@y
zFSC4`<w5i|prH(~2DGx;-?H4r-Mno@TV~_>7~@RCx1rX7l{_bz*|!M5=)HksnxV*N
zskWcm(?ThhH;8i&F-NIE73_e+YQViU1v5d@S!Q;q3S3XIs=~bqmShfK=8zrcJ_ooz
z$qG!MDzB4<>jh0X)jHS_uJ4v%3GS52&#?b*YcA}X659t&B@URXw_KrYpQ~-$+dflR
za=_HT+y2?rd}X;UPZjX8V1V5W*Hm27XLm%cSQV;j3XhzQkC=n^>ELx#zH)Y*bsEF+
zlTn08IUE>;ez_Ki9XW>|i#S0LCrA)nK$s+QQN9gyToHi0sg^R9=t0&QZ+aFdL@8IA
zHk*N|32SO*d@uH!x!H0tlg$;ajA$yQa?^KhqEr~$(aVwGd_)s5>gOuvOe@n=_$_f>
zeh9V)$b=377>4#AZtb}z)S<wD><ah0FJnermF4j9&<N2{0)t>kJ_;8=$YA6<tVknz
z4=dK9X&99+qv>N=l+Ze}IcsNkzqfc6Q>*e@^ciGjr7hx0V|-t3#XiG~T#xs-@)$pm
zALBe+K(?;7Jc}Z7G21Gj>Bq8|5OH$X)Xa*o#3{;m5zMtjGe|e2Ke+)z@<sBfi`+kz
z?~`^{g+z3&E$CE5Yhn*@VlOEw@=2;2Hs!n2!w~rrw6>t$Vnp6aUxJ8ylOAku`OwYz
b$+DQ6%9y4YBnABpgekiZ_qlq*p#A&>SLg<c

diff --git a/Code_objets/__pycache__/UI.cpython-310.pyc b/Code_objets/__pycache__/UI.cpython-310.pyc
index d24001918bbdac43b390957180891882d316a121..d26ef227592781f64a23482cc23af63b687e5f37 100644
GIT binary patch
delta 137
zcmdmNe88ADpO=@50SK0UJeOWPk=MqBIf|K)A%!7@F^46J#hoFAC55$xA%(S>DT+0P
zF_=M<?IlRLpC;oiu7Jd%#N5=9)S_Y_k2@egGp{7R03<fqkXv-)oHG(~Y(-)~#YId&
Z;ub4dK@l@ZKpjM|Og5AhpFB-c766<JBXs}(

delta 104
zcmX?LyxEvHpO=@50SKhsPozgr<h8M5ieh49NMT4}%wdjVc4tUoNnveaNMUVeiegD&
z3}(<|dkIqRr^$GWD<H8bF*mg&wWt`#V-3j9%q!X0`%r?LwMY!8q=*SfOm2{L008rY
B8C(DW

diff --git a/Code_objets/__pycache__/VideoManager.cpython-310.pyc b/Code_objets/__pycache__/VideoManager.cpython-310.pyc
index 96cd74133fa8fe645feb42105a8e077505bfff2f..5d76ee88c89b7894e9d867b2fa10899bd4c1b2e7 100644
GIT binary patch
delta 746
zcmZvZL5tHs6vyXHCe2ur+E~}Ex*K;7i)7VBVGANfSv`ng4_Z;ELI|65w`<yzNxHC0
zMM1wn8Sp6W!GmW%fCs(m2guQb7Z2h$a9*~or5KpsWb)qo&wKy8v)@##*s_X5Js<vj
z-}ybVHf<WwuGZ3k1SEinwb<xU1L~u3trnPXNs9+oleneKe9{TRxZ(HwoltBul$buc
z+Hu`gEBPuZJO(D8!fs)x4T-lXKSL9$vO<5YWqJ}1dV#BFED58wKoxNcaX}#i?;{b8
zT-5G^BYka|m7qxFYwgF)qd4nF{((!y5+)b-u^(?c>hy(!5;-pBA<Xmgs~q{By{Kcs
zeA3BI;`QRxi}ypZq2dWuFyXK|JLg6x`SeiV0$7r=aOKi6s%s)l=f%uHKk(DgYYV>{
zUY9=$4_=|%u`AcqVMzAK7$)R7eF@4JnrdUFzEQRGy+Tf-O(*K?(SS6GxU7m?E)2Da
zGQvinrl=rt<IdpQg2L1nfjz4B)JQXq*t7k4p`RSwQE3VKUxpPpbfjsV)ANA*#?H&z
zMq^>lRF<T1|DK!}t8hYoG1i`~;6>|*tB6fR4RHhUulo4E2u%fWnxv$_2?u_bm$}Am
oQ_o|raWq|3ZgHo+iZWR8Kdp?{yKyjx!drlX=2XxGB?_nMUy2o$rT_o{

delta 514
zcmZXQJxjw-6ozw>TYFnlG?ilQryWEhRuC#KB8Y<ucCjMZC4?re#k2`GX+a$woXZ6#
z2OT@RI61rc2Qs?4`UAWteo_yd=MLw6&&R!*z0p!`DwUK(<aeJt<x#4pfg?9%OR{7~
z>5(P@X>?eJ+URb*+K_ZLRFAus?bgk{*|AwmLF-o#@y0~%i1eR$5{^LO2AuL2Xuuq=
z$ZzvH35jnzZH8JlEf9h+mROOmDf>|1mr7Ai1HV;XH^Z3k4*FI|JjXoOWtK;Aa)`r?
zmeciE5nDtkMJ3c3ktfF=$=MznCPiA;H$GeR-N0~%Hd_`dUlvf|qV)H))o<y85!(jH
z^ZTilr2<Y;m>o<uRtKJC2DZ^=X3wtj_o)M(rOnL5j>HdKZ;M~k3Q#_#izj8=5m#VU
zL=CZl_%;4q$ndY@B7IeWN)%|C&QL|wqKY18`1vf0Sm1i1ltIJ4PTWl7C<PTLq~#B+
CYHp_h

diff --git a/Objet/__pycache__/Main.cpython-311.pyc b/Objet/__pycache__/Main.cpython-311.pyc
index 6c36253f77e5d7c3c77b1afea31dfd4593f3c8ea..9650b6d6c710b4caf08a34c7840b5ab85e5d5f0e 100644
GIT binary patch
literal 4962
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
Mnjz>8HOv+M2a_M{ApigX

literal 4467
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

diff --git a/Objet/__pycache__/main.cpython-310.pyc b/Objet/__pycache__/main.cpython-310.pyc
index 5cc024724307d9d45be4574c2b3f472aaa136ee6..d0b4158647e682823c630cad49ac967424325081 100644
GIT binary patch
delta 873
zcmY*X-D(p-6rP#=o88Ukze!B3+9I|Q5riUM_!E&<uPS1%MsW#FsM+quvWa3PAs4OJ
zBEkDv@C8JD0<XOCKKKxVFW@<oQ0)xoJKvczXU;dX`=|K36ub-qkHC0h|J?ibAy}Dw
zg+P)HkyNsn3aUL5OnXC^+FQZ`Z^U-u2#4ZcGv<jaT+OZ6OMKyLZpXPK5P{}SoKFg(
zpgE6=NlBD6cjIzW5f#mEvbZXi?i1-r|CmVsh>2RaE_3@V-R;(7AoH-&=r+`uj6gv_
z7LSQ&O7@tvO52}*eP^^dRmQ`~E`@8*4jGXMF0yZ=pMWuC0Gg4NQA&oka-@-g^fnpO
zAy@8*ViwE;^TBdpG_#+w5eb2ZnD<qHoiQUVQ1t?ssq%|8Gb*IF`g@}ZiHfR(DQq@|
z1EMlCVAvRWRMCZ=s$!(&ECH(>L5r{qjQz_%<f;0i0aJ|=rk?<^RN5fqopi={Jr-Fb
z<5`uc=5RSWo1tbFT7bS<$w>MhV|5M>ffqP0`Me}!T9~IUEaJIP{dNNfcCKQDB=FAe
z&hB*Ey2jULR@&{z!!K{F2h?AO|7LIlz+}@Ob~0%LO;=CD8ip=F0c>CcaKdS>uGeNf
z43kc;ABJ!F>z>@anjCDVKJ0l8c51+<CHKGvCcqFS(VZ4eTM(UeytAO#a>jduP)mJ;
zRSdwS=@z)w^1P}EJiQDsv-+=+gTwUt^rJIwUcqJ5o8Cp(KxiXuP1pIQjf+4{xWIho
P=>L<`Jma@L$mQ5ytS+$?

delta 688
zcmYLHzi-n(6n@V?&yMZHX`GNkTd0IY#Dowm9q0xVAhio8q%0RIxpqNrI#f!OA*>yc
z|A8|LLSjLTEJ*B#nTdrRiM`^zO9YnQci(&8efQp-{5$>AiC@NX2=u+X{B|VY#9NCG
zlqgVGfLyI8(d3r2&FV;pR;zGJPkP9E?7}aF6oxxRP=+!z+$~yVBqPJUA}$k|815JC
zvLic&iy|$%vTHaN8}e@NA*euwuR(=NOJ<Y4Y8_kE;UrU$im5V~4D^)-$bbhXM#;xt
zUoC9c@9igxrwA~EoP=Y$dP@woMQG<vg9uYsd&+81+50fZsjtNhS)~XlLW&jzG~RP^
zjfs!>v`|OfkQL?7FfWMNI$qc8JgN3hj;Pkwiw;ZNY|d>{YC!FbHO;%m80ZaF%s4$_
z*^)*Wr^N8TLRp~u>jtO?|CqTssi0gMWU0J450AMsvwNV2&!(IC)rRkcV}~%**BYoU
zIM-Wz2))3z@>iC|GJ^$rXPvJGHE(z7($4GbP;dYv@wh&8@8FG37w#hrZqhGudY_>F
z>6Q4P{^AdMRX};df=3`gVAQYA{q1ZttTw4qjR=0YCuilW^XgvR67%dfm)TbBGu&d}
X!-n-|5qrCo3aGz}p}!YmgwEw(*EN}D

diff --git a/Objet/__pycache__/menu.cpython-310.pyc b/Objet/__pycache__/menu.cpython-310.pyc
index 995153ef28663e9975adb7abe4c3546fa8d2f720..83015087dea9d2d6546eccdd7ddb7b9648a3198e 100644
GIT binary patch
delta 261
zcmZ3ix<i#WpO=@50SIi^&Zo<7<c;CxV+Hb9fY=#`i=8HybDMM2ved9FU|+~Ec^!8%
zBgbST9u02a#LT=~%tfVnnyix(c+^a?fU1jv;6yNpWd|e{0&%ejkl<hhK_(z%VPyNq
z!py_Svw1TQ4-@0&$p`o{84D(B@fR}go;-(t1!KizR{?$gQjif~a~y!Ib(5O~`Wa77
z78VQ@tpv%qfe23!0kWp3XmYKfFC+Kl(}F&1w^(w4uA3|)q$64nk^}jus1r!sVooe5
TC~BS@D`d~^$i~RS$np;WI0QMX

delta 225
zcmdm?x>%JrpO=@50SH(>pG#-m$Q#4W#{%Smurm-BTTL$KHlMtWyP1)FvK5a8TW(@z
zo+iuWTpl&aAfS8^m<R^3?102VkQSlI8+n8o1vVe&;bCIjH2Df&CS(3&JN`n(U6VKP
zuV5^n94VmBUjots*5?3Zt(`nwpr7%?WOcz%(F%}^8;I}(5g=oW3MWq#^kw9ld|%Lq
pwI~ZHGTBf_N3;$k#R?)ifW$54#DapNrpZM@_UsO9j694i{{W*NG)Vve

diff --git a/Objet/__pycache__/menu.cpython-311.pyc b/Objet/__pycache__/menu.cpython-311.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1dd123c2ab29bb7189def5dfb08111f7f71deb3c
GIT binary patch
literal 9098
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

literal 0
HcmV?d00001

diff --git a/Objet/__pycache__/trajectory.cpython-310.pyc b/Objet/__pycache__/trajectory.cpython-310.pyc
index 35ca0cd65d6446c011005698b7cdd58aba4f8d3a..4f22c7283a097c3f0f0c0ab9fec80bb9bac23711 100644
GIT binary patch
delta 20
acmaEF_TG#;pO=@50SHnU&u`>Tkp=)h!v$CX

delta 20
acmaEF_TG#;pO=@50SK1=JGYTLMH&D`fd-cV

diff --git a/Objet/__pycache__/ui.cpython-310.pyc b/Objet/__pycache__/ui.cpython-310.pyc
index 403d169a1c35e1a378410a8362e2153cfbedd86a..64e48af625d2e8ce57e84cb50d9d8a511d05fcf1 100644
GIT binary patch
delta 1880
zcmZ`(Nlz3(6z=L_nsJ8iK@H0w+l-=_Xk4N!BC@)RxE_p}n3z%&6i5#WLSv(-v<rxq
z#tqlRMAVol7k_|fy_tAbk9suG#6;hFRfvNFNq_aWuip2nrufl#xyfob&7cN<dyV(a
z>C0bPAH!A#xM}eD;7fFle-CeA?w~g49}FJy@#TEQ*+5^=3$|z%{GPvs^@YIJNA!en
zLcFw9x8HdtFB@P?gSA|(6>43HtHTB~zz{Eo>d#I(r>JKsRwiaW*o&7##z&RzN+|u|
z7-~a{%MDYNmbL05%+7XZ$XeK5)>?`imcA4*rA-BKR{&QEHIyXFRT{%Gkdj<U<Q>p(
z6-_yVSJBjA>BD^FtLgoGHLv8=YQ9y(?SKI*6}MV($@g3fN+*vlnOsfeVIa!}0o5?9
z1XxOtJoaR66>(pHXt{qt3h=_x2hk+JO{sb{k>A2SOO>W-Y$~#uG;xU6Q2i%pR;#A0
zQ&W-;&B*`TtDe{J209@(#A|`9+Zs$+qsR@4Og@mwPeBgx2I3Y1S2hSp0WhT$U@1Wp
zCp6hO#Osjj+Et)hHV8-oK$Ze5B`6iSo*M6h6OtlL)!0;AGil-wUqkgA_Fk)oTSu!q
zQ$3lrRL}vx&^45ph_9o#;{>L}*Hio|-{1xJ`(XZ!$bwNe5u4r**LG_7!GpxNquXz$
zz8y!0x7f^xVyUO$OMXVp8sGewDkipzH#P~D8yWA;D%RPUxSjKob&9Q#JaHg5!4l#_
zZn1G3{=xLb#H;KA5s4J#oB-EejIa=4J3yS-CxKLAbc55gfJ$#hnv6~?I4S!5*@ERY
zPQ&aKkBYKIPo62+CB%M~_aXBXvR#CJgaI)!XHQNanwS}5b_Lq~2m^xU@6I}hCb0(p
z$+YEn{lC@sR6(a;U)IHxdweU{lXW>|W?$hQ<1}W@h+l=hY(#Vy%{8uJ;5y7DOf=)V
zeFGymMP2bd<1Cs(;!AN${%thxAWR;mZlA}%CD9U%u~9J;ZJ4Ia!?G*lYqSW;GGevU
zlwH8GVR1MXO&bMMgrm_k-rm(F9_G%?ux-rZ71{~BhS^7tw6z}O`@5fGh%TP)BQOyc
zuVYW$3_FhL4umd*9s~#B7Q$VGdkFUt9w0nK*nohe#%I~v(5ADXL1<{wdK43v5QY(k
z5UwClQ#i;aaFXcvBFLW@TE`ID5f&ko0kpxFSSoz;N?GQ3`MjTuJrT?1*ZWInv9#ZR
E0AD1wQUCw|

delta 1769
zcmZ`(OH30{6rDHFQU+&AO`w3SZTV;#4GX0TNag20NF;8IF>&(}3>Yy}6|AG9;%7iq
z%=51pqb6!JM#9dxaiJ^Y(nQ_6RTE8EX!PFu9$K(8ne*O#_nv#tnat~0_jH#vV48*o
zzbD_`^*&uOX?+M<B@h<EQvgqfPyGmPWv*xRX(K+**T;?;u-C`+%sI#4EBkf(jc4+P
zVa7CAQ)*qM*44N=Y*+&{cnYdNIYpdKJxj4lG3%A^l{^KR0;*gMm0umd>SuBBFl4#8
z1r7cBII}IMSe8IjInq*;pp50{In7rQcR6sSJiiiRDPchw&*i$LtdYoDU|<t@E9TAQ
zH7H|nMX~bi<7;>$Z&9wAh`R@TH7ah4;!+G;it}<?`dxH<2FP+iKn)Bk0hSUZU-s<5
z%{2G{h?WBaQh*nfF$|W1@^RM?_oZjLie#$6rXriO92-1MgpV+6t#a9_Tv80fDE{lR
zji-6LdP8f8I}Ik&ircQZ>0uW?F$+rneNsN2OKu0UZkGdD4hTpA;8F^(l%N@xx!hLb
zHh^f^KOhAFR|>Fr+MRcB8<D%<`zO_~N~fkGo3k7nyo2g@LGw=KZXK;5bx%4ezXv|h
zj+}GX;Oi)HzzNJs7<@gQkMIqivAY2LZzQQjd=t^>f^luTh7VjrygR!6eD2+Gbe`&E
z#85ZEDagG=VXvfD<D2hM$xOTCmTnQMsGRc3;yO!;$KhuzBX(C-3A-Z0Z1K4w?mqy3
zBiU;4syr%^m9g+a2<>`=We7b0NoEfLsm?zLL3SyXKCJBaXRu&M9QT!rP*vAF%&eG<
zm5b3TQ?l!b{i5o9=}}}KLvRsJio1(;h8^5u<}tGyb8?}`j<QoTIr~gb=2&F#|5m<e
zp2M-|uCkH5J$^-ZmYvI+*}M3r|2Sq&hy}4D?4s~uHU3L@Ai$R}ahufb%Xo5C^u#Cp
z!?+z2-{XCe>$tsv@b6XX_GvsA71=~JyCo(Po%58P#j*?HXCek=k?OW^{%)T55|4`U
z>f*v%KoGG+qL2>^?h~ywkK7VFiB0w+96~sZa0KBR!cBzR2onf*5H=y8+~h)g8}7*u
zi6P-0p6x{#ML3TzhHwFa=E;|#X{Kgp@lbsxL$wiBFRs+4rry?0Gj?CRUee)Pv5*!1
F{sXSIpBexF

diff --git a/__pycache__/test_chargement.cpython-310-pytest-8.3.5.pyc b/__pycache__/test_chargement.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..bed2af3036449cfaded3317402fe03f409368ef1
GIT binary patch
literal 1340
zcmYilO=}xRbY{P`TFG)`J9g|iO58LRY2{lFrIeIHAz;!#bXp3_O7kqOv|r4OVoS)U
z^qOlgCLkU2JNgTHooi3|3pw@8N(r7}-uK)0xkaPl6Fk5F{qN|^A>=>J+&wj9Uf>gZ
zln_Q3O-V>AY-FZED9NnQrW=hDI+ex^-3oi5SK(S%Lu{meRuAi05C)aKnKrU!*vxjq
z9ZI17j>Ik5TJ17xO_6V|?lF5!!#3=!_MnZ_K57rvB)pIK5b+VTClCHK!sGA+?!)mR
zVa@{*K7=DU+0v(I`3R1033K5Dp$88uczR1dxK)%uwqT#t-Wy>DI;+QPtOtFbXv}<8
z|BHlY;7-1QGZwt3;Zu0J`gUvctg@kRNVoAx_v=;HP)2{M?2C8+DKhrUEFOV!E7YI%
z7Y7%`sCYBa21N?dFwSGndSyQPWT3aA*PrS0E>(7-y@vXWUk*-%*!X_KCl&}Knb4I{
zK~rM4*7Rm0vzIuZwQ)nGgBI=*HCTtiNb21fvbL(N$&I-*Rz6}&)>lDQ%SLX?1~ZrD
z(mo`0!mL}1*&obz=)bg9&8k*{wK}hq{l{PelH)dz**=0kWToh^XK?+`$KgySMc(<T
zvoL!<UM^}K0mC9^Ai6usD1@@gSdNv;5}wBy_9h;PO5#P)WrAIalr<@mT$y4nloOXF
z<V;x^<TGW-1U<}O%ThU_Ok<(H148m*uI!R0xl~>jCwW>FW!F*OAQli|AQiAehy-|~
zBk?w7tZb=sRy0<o%*v01KSJr}@6X3Y2InPkfnPh%VOnJI4-$ssbBTeX;W*|az+_~v
zoU35N@<?ZQivD5`!Jg5i0rd=T`wnSf@W-gY(K=H5%kFoW+$>3Dk_#2QDCf~v?kFnf
zI#e$f0=RBvkHZyDB&ga~k#fJtd~~idi#gZ9RSgS-m?im$*OBMDTIk9tmIIvYJ>#Yp
znXg}7a7(j#ulRwMwTicBlQ7_bU4x-iR)Ov3`u|t{>v18A%|hFyrq%9Ml3x~)7;=F8
zDq%R+V8cWk?%rL4F(jk0RE@30mbFB(z|xXzwDs{dxmDWNQHd*K&nx7O0EZ(v4m;I9
zm|msfR5`Pf#aNtfv2yxV`Pk?Uwgq-v@*`cNp70&e(e~cYS;1y0{GxYR^bkBDI5@m5
aypHKpAD?G>)W@L)v_k`=@tQ%~L;8O!AAUms

literal 0
HcmV?d00001

diff --git a/__pycache__/test_chargementlogo.cpython-310-pytest-8.3.5.pyc b/__pycache__/test_chargementlogo.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d86cdf7ed8ae115c53013759543d938d3abcd92e
GIT binary patch
literal 1316
zcmZuwOKTiQ5bo~jdF*N>Hu8g*9I{dHVGbGPY=q*(4#8lSV1*o(gh^|<wL8(g+|%o@
z%j{_l_J1&j)zN>cArQz(f5Dfes#lUtNI~_Zs%xt1`)cal-97;c|FqMeIU#@J<zr!R
zc?jD628$$;7Gy%*&PtCFN=iQQ>DCiW0`RaRETc(O_9i{Bdy>B-lfLw20Q-&%Wd!>`
z?aJOc(}^0a;Tw{kIF0+4kcEt6X8k9nm?}GP+xOK>RGG>=^j=8>dkBiQ_9s{j+0c$$
z&<&IHg08&I+jtk`7rx>ve-*64F5K`}<cvxty_XTZ2qD6kwBw!M1zmW?FPMu8I*7-X
zPDsqhmOuO9yKgfJ8LkD-nD!QEJAkDluc7|W$ZZT^<4Xy)cO<5kHt(qYB%296RcWJi
zrYZw%=>Q(Q|N3xNm+BDAZC;tfN}boG_{ykkc4$;<(rs7?Aw@l{lV)L~qe7IYQXC^^
zEmAWe%lkt9K8NQ<i>hseR#mo0j*2=HMSBc~ZA2Vud~bQ(sLF;}UA<7+SifzG9JZ#0
z60Bb;DAe*+yijpu`#ExuHp0y8PCYlx+_;PG;g@{pwNzU=we-~bqG+H|Y)vCM8jG~I
z{--*aGt#1W$cAj6-DZ1C--Bz06<!Mh?1Mf6ZJ)tn0OB?9VjP2#uf50Q*E=g_SVubA
zv9$+2BK?lNAu@RDxwqbi%MjUo-UnaQ(KqBRLyu#(H(u^MLUQtInk0!vVlNdgSlu#m
zKJ{Sqp5C8=0pzc5mIv1nqpU8QLK*eN$W7@8VUr_Mk76GX)ecc01^CA9EH`<n0P#Yp
zCie6`*ffri4Yo{gp>y~-=yuP<x!O(v)Hj5eZrCC^qywk>R3Csf1HBQ15TSFh-Gzgs
zEBGf@)WDQ>bj_|>_r}Y+PhqT17UgMOKpIgAEt962E{9iCJATm;Z}Y_LL(TuKm6sx~
zK818G*3TKIdsKf3M;oOn`qDJsv(f21FHBywcJQ!Sq&K&FX|uqQPej|oROWS+X!VEA
zjk3KPlMSzJeF%1ch|v0T%;Ej`<f$8PjjcPh9Wpl+RH9UA`ccszP>znuTFwh~jO4e7
S@&Osrh(&`aih@4n|NILkOFxnT

literal 0
HcmV?d00001

diff --git a/__pycache__/test_chercherdossier.cpython-310-pytest-8.3.5.pyc b/__pycache__/test_chercherdossier.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..25417afddbde93e39f88d3e1f99cdcb58df095c4
GIT binary patch
literal 1057
zcmY*YOK;pZ5GJ+KN-N9u+Rn?dle%eMTgSW2rO2Tu(qjN42@s!%0s?nAS<x$r0x8$o
zTyxGXKo3EI-D7`FuDte?{Dho3q&Gn#f%DDBd1z)xsrB`g;PdY957SQ_LjH5)+oy-*
zF)s6z5+aD8C1KQKP;~-ANfok)URb)U>n$;hJti#i*ke79-`j&St=8CDm9fmncgpo@
zgKbosY?BgLdqY?s`im_QE-CVj#kPo+l<mOg;u7qjb{VZ#mV{kJyoR_7JEzzG4A>sq
zhpVu6jfn1b!fwDW?635j==lTey(c1ueUu5@@bcz+@=xr)l0hFXi{9IS9l*ij$0hcM
zF}FN+Pk&n61}E>p-6h2e?s;|}?um36umQwq`xyo<lkfMC9m3(_0oHbeS%yB#(PHFK
z&=+K|_R&rH=^(Jd$;?K_d<-R$=t;$=U}Fy_vy<0Xj@4AXm{(&}LO$U&*J9Yz(~kj0
zTl(rVJseOQNgowG8=pcu_{ApUGg-E>Ha2_Q%=52oH*e-Gn0CmG0o_Vf4>g=?*@EqT
z-LmnQy%d9;d(O2Dl(8K%H#Tf#h3;*kfeTqrZQRae-GbJxB#rlo*v|7O$2xR0a<prj
zlAFTz)nDi)1!xdb!=$yLYM|Ecp4s$yp;~p(e$+VKZk@~erOM4j1JvhIw1v$sNPfY#
zzjY`;PK(yAuRK;XH1ai;E34@$CUxq{7`@6H>?@jkNT#4FX!YDir8^EAHheO(-Lpn;
zoDecBAjZmTjuVLa*!Z0!&tFPBoE*o_4dm!x!&4<|n+au%1f6@oE^n||VZ#dQGu!#2
zX)NWK4+pH(+$I&5b*WVIFVVlc(K+$?;i$lxMh$3#Lmt&IQx!jIVN#6z$xI5+ZmqsF
zY%tMpl@ezq{Ej~@F^^E(A_@KS_GzDXJ1I?ZC7pz(G{g6RW~e9hQm_$ZGzpxZ(f<MP
C_CWjq

literal 0
HcmV?d00001

diff --git a/__pycache__/test_multithrading_logo.cpython-310-pytest-8.3.5.pyc b/__pycache__/test_multithrading_logo.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5c0355b28dae0907d99d34d4ef2e093187125f88
GIT binary patch
literal 1718
zcmZ`(&5j&35VqaF^PAZuge3@Q<p3Ea%pM5hf*>fTNULQ<Rvbo1EpOX9<DLGK?agLZ
zJtw%KJi!WS=9t%jC*bNUr+tN-D7z<N_dvH?RW6t9s?VQY4F+8V-|v@y&%TKe`p0&z
ze*`*Dp(zG}A%=4_#ZHsLBM76yp9Z)c38xW^kUTCr(@xQycDMfCwC85@r+wxz|2H%p
zuz-c2hb&?-=v#d7E3C!v3pDOr!A|I4Oib{+pfheFr;Zkx^}qXKFgnnlK~sN%&}fY}
zh!RcK9>W`qk@nXCBOAOzI$TE$+F%;PXlH{~7<3mjY0zo!7qaqJeuEot7cuWXS_KVh
z{H+~AWWVt)5%U`#WY7dohL`A%$nAno2b$=Zg|Epf(s2`|!zNna+CV*ebh@K&Gt8pb
zgx=A2)_0wktUq9}zPBL|LDnByA49hCgQJUk`_-&^u`G_OoTnKrsbrJ7oL$*-F!<G5
z{Ai3#AS^I|P^hV#acx3Ic~O;D_K?QAhUkSMM++0GI;U!GM%7C$rC?lgCM3_abj$fw
z%}eRomAi-YN>?r3L2Yfbb1ur0Dpi@}ygV07&&}=Yt~nR8xi-EM7u>`%UKL!+r3v=w
zG0!D%2^qhp*}`=6Tyn}pIWysrGtEw3QI-}|lxZ!inWTm3xn3J;0tJO>6VMaQrRisL
zo-NYtSZo9Hs;b9vyGy@KF>P}kY<t`EI-;0uN4nPBx`S6~T`3bRTb0|K-yrz~Wc~KZ
z-W+P#tGQI7)O#ggR0aJ~^K8DSxzcHImTLjYxRTNw&TCRHO;63M^Rxv#gk{tN5V6<A
zU1+fv<1X&QpWq=0ag2w4jQd`n$T5W7V0Hiw+Z?lh0t5I%a<pnSUSZ%YaNJ2>2OHqJ
z<1tx>4Po8}*xX=<h#JrG)6I^7-@au&?J@#P^Dhpc%`J73oG058D6A#QOw=?_9u~Yj
zoBUAM<Hw1jrAhz^E@`GkRVFQmctT(DEIC@Zp^3zh>VXM<JU-=m+%p8=_0&>X5&(4~
zm{igNZZkbr&J(BUi2#zP#y_n@X+l~99hvd%*2aUqjR&rAARocX@-YY#A5+CsSjzNS
zrIg?@wQI?*Y=k|$Ry?%UeGs2RQ$r9jiSb=;2nS$ccVjm|hY;jLbD-O;+UG<K;evYZ
z(!yinE-JtWzK~%Z*$eF8^v=GADL?=9Mv4=`6D2IHEnTl+N|O^&iiGhbbJ)up;7_D|
zh!23&AA>frP$|s?+}nZeMhuuItEK!Jdh#<XKC$9cEB-6oS+06J@C2H&52dZXk4MCX
zk4FIGnE(!#%JiSs%k+KkqqJUHichFgT-vjqNPaGb=BD%BWukY!E=+bef=UzVmIty2
z`x)=>`M!H&-0LEDt<Tq@;EwJN{{Kzg#NQSbJIncZmQiX1;sF}Lxxr83Bp!A<{{po@
B(sTd-

literal 0
HcmV?d00001

diff --git a/__pycache__/test_nouveautestthreding.cpython-310-pytest-8.3.5.pyc b/__pycache__/test_nouveautestthreding.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b7db4f230e6cee64220aa083eded1e5add967254
GIT binary patch
literal 1490
zcmaJ>OOF#d5Vqa!N1ihi-m@zRBQAYl=E7<vgb)%OxG<O5QzX>%#-2<w>F!`Vz(gGh
zDTo_agoHpdNB#_F<SQrs0;jEVCQ-s+-Kr|P{HprCa+j@Eok08c-434lg#5t4YU40?
z0HVKu5=77;=}~7{?lD41&U-$c&jh`|&4j&BFyXx=y-0B3gRO}`gkb9;5;d?5*%b9-
zrk=?9jPzQv0lF<WL_@Yj^Ai`X&)$qu0-m;PuX|)$wvLH<EH(-%HgT1p2TtOxpAaM2
z?=v*#4dX|72%>L+5_HN8sYpd<>=AhyO}&a$o?sWq-(<>OgcUm=vA3@%to?~6#nk#L
zEe0~?*4HLg#(J_4);Fa|hn8kviHcy|ufO(=%3SV^q|#Yo_6m7i=IL!C`$v05YLgV@
z_@zw8*f&Q?imVvyj!tZ|U*;q5CMMO#KmpNs8mDdeI8{hbA2V1q?0X<CqYiWy*<c>`
zfC-47?#J_;F;}==;kh<cQjdp5TR$s=eC?v1s~S$XF{)G~uT(mMB%0vU2tbFb7MMQB
zvY~$&#10G$IVERgN(>cLuo<HZ53OiLu3}INP~Uv`NMdHW$#Ut^gF)Q^o1n`^fUfKP
z9^eMxIv4^_E>0;n;a&$;MC&wyPazy@aUzr<hy&{#bQW<!89<yB-3HPJWa<fT0FhoK
zQ*OY{D3r#ZQ{S-Xp5c{Wv5Tbg1;0XE4?KrZ*zegisJv6Z3eKPmtKc*^g9q{AQsu$!
z0Oo?z(0T5h-x^loITpdbLI_nGl`Az=07L)<Hju`0FglLZ1};FPZEc=5KwyJ^90HCO
z8z5VSa6DW7yvz#NhS1nXG0xAy(w1u@M>d=vqE!RWMPw{BY6}Ml)oL~5P%7CH>nkv;
zw?RcvlqhxDWILb%d4>Y$Ux#TMB}txUMUqUq2ac}W3%a`Uwd{{gRu*04`EGaO?cO<@
zL|rZWWg+zB#uL2qf7WlWE`Y<kneHB@keIqT`D5+2^~reCM*og8IK0rd`CxRCEJxRp
z(FwlD-BfF-Ft}YMU#ZMUTU)yD<;;C`*z6v2s?=o!%<+S7)REx|aEU{a<}yiaXRU1K
zHNLfq?%d^%6#O<;XmEtMml@s5OEDhG`&cB7g&p7_@}e-}AQu7}&<^X+tCaux4{>p2
ALI3~&

literal 0
HcmV?d00001

diff --git a/__pycache__/test_recup_info.cpython-310-pytest-8.3.5.pyc b/__pycache__/test_recup_info.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b4fa344dffe4931e1f8c95f4a81c7dc0ed4dd8bb
GIT binary patch
literal 387
zcmYk0&q~8U5XNWIHf>6apit0L@mA2}E+Pf*y?E;-)MRWHlihXyAUXR4;!y;9^g(<G
z_v)#y;K^x9s{{KD-*09<Rt|@Kpi*Cc`Aq$LWBym0%#@y)k>rrG66UPwLDdR?LDimj
z*me@mL+s`OhVQ)<<gF8Ug}2~|F(BIB(jCd!4NN*~%7mFaBE9~6aoUVkQ5*i?(2Os}
z>wvgB{2P{XxtmQQ-@A3Zv|JcJn5sJ6yW>>V7LAP;#-O%bidf^L<`#XlN4~pbeLCK(
zrwi>5Do2S*%M6X-V(B|db76gyDVJu_3Ht$hKp$%4=PW5?g^5B<%Qg{sFRR75#jHr0
fM2(qKDHnG#R<-Y4Rx)=bUNH(VA;~F>*ogfCrR;H(

literal 0
HcmV?d00001

diff --git a/multithreading.py b/multithreading.py
new file mode 100644
index 0000000..5d2d61e
--- /dev/null
+++ b/multithreading.py
@@ -0,0 +1,39 @@
+import time
+import threading
+
+# Fonction qui effectue une partie du travail
+def tache_lourde(part_debut, part_fin, resultat, index):
+    somme = 0
+    for i in range(part_debut, part_fin):
+        somme += 1
+    resultat[index] = somme  # Stocker le résultat pour éviter la concurrence
+
+# Paramètres
+N = 10**7  # Taille du travail total
+THREADS = 4  # Nombre de threads à utiliser
+
+# Exécution sans multithreading
+start = time.time()
+somme_total = sum(range(N))  # Exécution en une seule fois
+end = time.time()
+print(f"Temps sans multithreading: {end - start:.2f} secondes")
+
+# Exécution avec multithreading
+start = time.time()
+threads = []
+resultats = [0] * THREADS  # Stocker les résultats des threads
+portion = N // THREADS  # Taille de la charge par thread
+
+for i in range(THREADS):
+    debut = i * portion
+    fin = N if i == THREADS - 1 else (i + 1) * portion
+    thread = threading.Thread(target=tache_lourde, args=(debut, fin, resultats, i))
+    threads.append(thread)
+    thread.start()
+
+for thread in threads:
+    thread.join()  # Attendre la fin de tous les threads
+
+somme_total_thread = sum(resultats)  # Fusionner les résultats
+end = time.time()
+print(f"Temps avec multithreading: {end - start:.2f} secondes")
diff --git a/output_image.png b/output_image.png
new file mode 100644
index 0000000000000000000000000000000000000000..1dbdc6e565ee67601207b8f27bc8203717c1c713
GIT binary patch
literal 38801
zcmeFZWn7g@)Hl58t<)wYBsX2k5v02t5fEuay1P@@NJ$GwONSuR9TL(YNT+nSfUt>Y
zIOl%e`}_O(`QQ(^xMpU}`mbIySGbz09PY!%4<Qf;u7bR@Is}3S2mi>RnBd8L+Ex+-
zlB}&DEura|zJH?<X1aZK;d65yJwz^?Fjy9Zho@<e;68pA5j9NA=Dj9eG#!jaCn@vp
zA&R7oR2Z$ij0!sZb1u{Su%B_A+_NuNxwjI3J2AL22ovG=MpN>iWfcd}q3^#jc-g?l
z&dtuX(t40w(@G=X*wlz@JoJs!ZbP2E2)I5Dg+TtsExP)`w{wo=<`#S#RL005;-k0H
zP!x!8J|7i6V-y1}Lx#vn*1UqQlJ5S-0GoOp1QJ4zfIwP*rA1@Klf)ag{SIh~e?Bvm
zOcDAN1)__9p+f%3ItXUUU#%ku4?RxT*_0h15W7E{<5UpHS}q?|xvMTDF3-s4*YVz;
zMF?azA_WEsWGLpNieb2U{EdN|4iYFwAPIpW6UuKN)$e8Gi85QFK&amekU+#s__9OY
znXER{NFi$c=8}-ltLf$vskc9Dp^(qvV4n7GM^})*4j33NwRwfM`G0@8>DWbsJd^_a
zN*9<4Sl6e4sF6uR0Th8nP=E^rl0ygf1c8J_0P-OaTDJf9$N$HK|G$#3!&xi@f#mP1
z^q?uADflUDMg`O)R>xH@4kgbOWuQW6O#-e~W5m=iP#_VbY0;dnH2j$HhBSZM3>8v=
zj`e5jF>kB%95|piU7oyHwDbIS=&>Z4${Wv%P=fH|!O<a^qfjbj%xmVP>r%lF^O@Sr
zWRkrX-oK9J$K=P-Xs!$S;!AF@ve6-UK;Q%40|ozzY=1VsoxS>ODju@|oj|g;Wzls$
zx%y{JXOBi|wrR$|1sTK{y!_Ma{I@`Lj8yXL47M~{NoeuRUXSFMPJ884BR<2c_C|=>
zbKU~9Ey}cgvK{|g`ZcM|Y(u3~g;WMh3j99>tJ!%*REll2G59Upe^p83yT+bCsCty4
zfvVqTqTlVf-By?j;T>!25S)A+K}@%1MXiL6+DyDNZAs(gi<`p?%=`2J<)<!*u<Xg)
z96^V&8^5F=dwv?O&y#Hv2f^0S8=O8t2_qnuK<}#~o_rx^8&uG$xPG!emi`pXN5$Ee
zf6#;G(U=9-DcpYu`TK?mUHo`Y!a2_sDWuAy*#dujtfKDmo4_J|QNh~+DL+XU3$Y}Z
zga*<*svO@@LnDyPsX}|WSa8sTFH9n@ReV8!(q0U#LxeF!nB4hG?;}gW7YpyAcM1>M
zv3bz?{PFvOG-@Fq!(gbiHc_jt%>BEX>>tas8qt_N8MlLXas$d=Ieax*cRa*_PzHgQ
zl%o8o568~YpSWi>qP=TQ`V*OF1VAI5FgDGoRe~G|15#|OJsVyfd|ekBa9!7?Sn_7y
zE_*ViTa3prmnVW6C<p8sgGJ9y^v63UW6m_3*$W&vMbB(uy~+ZLTsecErXN;c;!X?w
zZnXhwpbr8DQJ6N2iQ8$RHpn_FBCKmmI;^a#G1=F!RrjEc=ZjzbM+lXcSzilE%O<4j
zL3i%Gw*bWNbUb5ArAO})@jY$9*K1jgFN}<o$9zYf@(i0cTdeQ^5@-+pp1bI(uW)66
z9$O%@gZC*#V<B8)LG7uA2W^~3yg!iqv_)58#RYQ6LZ>nm!dJUyO~;!m#`r}C6+7Gk
zHR-xCjWZNw7sI0P+f7m<4SBr=RTwGdDK;%8z!rT9=mcPl;+WRihBj*N>ic4$qjt43
z1s%Bl7rZQ;s&#oI^$U75i;{rXcV)nz?BxkU9Kkw)Z>A5A>Hc*&Zp_q`GhY-7Gm_k%
zSgG}gHTn(fP2jK8doWu4XeEG916Wnfm2}M?HhnBCJ7B<d@&8s8dXln3(O|SwwSzS^
z7ii#Yfzn7QvG$De7@L+KK$A-#YPhF9miH0M6?v=bI(_pbxr9cOFWSIa26mZEF@fTe
z*hmlQmxH1ly>(9=R^B_~@2c6snv*H^;GQ1rRT~S*dv|kOw&TOg8(*RxG!Zks*$7j5
zm?cGq;>ZQ&4<-=BbIuoZ)r{x0^Wr~D{c&56{fXS`p)q><C?MBA?C3a8$d7`*<YUG=
zd~Al`A6VIIdI$mtrz}{JVUFnAPb+4|nj!xJ6N8gmEXqR(76H>X<<~G-2;~PD>Te-i
z{<|OkFXXzn#XUdVwBo!9B}Db1l9e6ALG=VSrTsN;N0VAzXODmQgs$7sbip1@|JZbw
z7_m}ay#;!E0-(UOj(%i(f#{vRD~;f!RZ|eJ)nGi%#Dd7H*CiIRwZ%Y|Xb`Z^ownod
zblWDgnG6;9)a>W(wC{fy#>X`_*nTPUafbW_ZkB2yEt<K+Laeb`e@%Bx@vPv)ZuaZv
z0o!w@q63V0p$R2XQUt;0IVfDbXZj>Iv9ap;n(WzT6P+im92G7@dLD)=B^-SV>hn{l
zm?CXh$2x>==5SkjVMeNB!|ih}7&b7|8k3TTZ{@Rcpz3y{UDZHo_p?H8ZiW-p6$g%P
z`K)Q%H``sTU4Pp@s|PF%5#96fDsnf9_AK<)GK~WuUK2<LlI*nm(ID5gu+P0dE7>+o
z_KMCn>hJ2FmCE14d<_F{Y`2en;VilED%J2nmj{A~|7s+<`plmu$r9xW07bWhTAsvu
zX=^KEXI*R18xmuAx!0SqLtCl1KmaiYOLWYj^-AvRvHO<^dX}ntptFSF$|{ey=6{-R
z#H$9BvS=%DQZ{S0td)QfpEY^;pJ^bIto>$(lB>ouAdZ5PP_@q_i<cE`GAY;??*eVJ
zrlt3FOWex9E)oEZ(LfX*f+)=*UbNsqj+U=P&PKqH)X}`>dU!nZpA((4xYjy=+V6G1
zGWg!~LSo*Ol@B30QiQM~EBEvVjmY(83pSGfM_JwwJYcx8=`YYpaW^unPUW4b9i2Ef
zH#tc2J(c2-=3-wpWAwF(g~pi9)mZ%~D9;1jzd8r)*6e(yn=oG2iu&C#qN4o-n|?3?
z5&}m+$ZbaVu$EWRqh=!C-HhIr+j)8l{}3&;O$}Jz+~q$%<#~CTHtoQGJHw9p@f{4+
zw1kn_2xx~XMHsTth?+-D<jZK%8M0!&7>|)cVeV#$Tk_WAiQvmfqUu0Y0L)<Z+8TRD
z54Y{wrKH<$vaoLiQrzjbnpg=cjR$LA7>yC&y+OeL57ROx?1@51iNBuh)LWR1S?eqU
z`n97qJ8J6TZ%(2}^by{LS7(;@6445H$@NCbiG<B#E$+zJw(9UUx7-=cEZLw>GCZ$j
zSE)hw+q;`cz?QjjDip^U7%GFglFKBUi@<PHUY~ude&K=qLlSDNsF*Q)So^BIW@x;k
z8_P_=o-$iVXq?bQ+T<57P7MUs4`wz_fq7en@|9SK0+tdIWuq04D++pynlC3)`-2!F
z0e~+KMT!3wI#bh6@v>Q?#nyH-5sNde_;CpyRlZ*vtf%GxO(C(C{g~J{XsHGeWw#Rz
zF#sY-SH*~HlX&sNuh@Hg0zCAr4CL3O5`52gh(!EpExM(0xEXtb^h+sf9?(40JS5U7
zJb?aug@DoKNIHnNsZ)va77ML(tD-!f#j2u$ZtJ?y>UjM2u*^PD9ee9V5(|Z+hqcRM
zzh>LTZJbCOwo93i-`f`#=DQCbX21UZma-Vqf0c3nCIpV|sP%jMb=ktjD3n?%@$^Pq
zXklA4w)B@fV>9YSq@y<pj2ygUTG)G?+DOBBBy+ac!|Ns|Sz$&;kE8{r07)MIDlN(O
zk@wwb;exM#(!zt!*id+2!lG-lx`0C~UkRVpJ@<k{u0QPM=9$6UqjvJszSQDi64y&d
z4&c6n0;zv<4$&`8=bL|F-8c3HI4n&nVZ~V=G~spKvrZrO1G<V}0VXz+@W~pWv<g54
z%fJ}%+Re}E<PMc({AVQ<BPMxVtq1K&`xh~#idkjV>v8OfP7kSi{-Q>MS7|Z!@9H)D
z<}T^n<W!A~4#WFXoKPj}Uy2A-vU$08nLl~WX7W4Gk1h~R5(*P{5Hys(ifyF9V)0&W
zh{{pzD#fCmAPplC5>lW3ai*$2`LGM*WvXu+a%|Sysy}a;VencDzPvTEpbg2nhz74D
zo`|&^=#G8vDt{JBF9~&Iphz@gzgriV$^0|MzigdzO{1z<m-r`3;Yv*5D&X+$Xqv!%
zuF&PSx9zd;>4@L6CbyCsDzWa2QnR*0?sc(T-$KDK5GkOuP{GmpCE*l5Bhzo*^u5wd
zE_oq4mv<na5cNT6EW|JU3m)rczu2Emx`D&}7-BAV^)(yzSPDt#kz|OiIH&!2XV8MQ
zSt&l}%q?}q+ZeOjm#3`<QvJ7w4_KC()cs&Gz@CP(S(f)AK?14>VAMpweq#VzBR$4h
zj6D9ZqS{&+H<B`axV*1;#+C8vUTRaSu_u&TuISSD7K;4swDS*ovmXjb>^k!qMXP(D
zvJe1*)lm388!0_bsw7Dt+8FhHDYE-A|3F@m#2wj)&tibfBoh)RiFe0hzd_!M0!ROg
z;zOj*dZ<?)DbTZ+R5kSRBK45BUi0Q#gUUjjK2K2JZMnf!3dfTV%9?HVYl7?@eLC&f
zz=T+6LyA8h7HvoE5Yz*M=#Mxe=)N_#>*yh{Wqobr#zM}rw1kX}ctBt4V4LsT#yM4D
z6vGFM?#DnFs&IB7y=SC0>YIVDBy_%>vou4xd*-K<GqhdpqVKIQMjQ!@^8#~y1v*Ii
zVQ_R$=?%Ffl8Vc8+|8FTQM$@^;qUye3*&DMIu1Np89(489u~L-K^-B0@8TOM49IQ&
z4!P&a@l1#qPYwi7fuSlobt+jVfu)d_?Y2B}e^Ezh5fI#zn6G9xKdtc5x!3)Iv?;zV
z3v*#l(z~5n2qArB0S1znPe<s&ATPkXOs7iFfMK`GS12~sM%K*5$&ExY_39$nwSYrk
zzfB>+PpGV7wj*~WVu4{1W;#V-2!b9#C83{7(R!nHn#6$VIQfJcJtRCH@U86@nb+c}
ze@;JY_cq%*$DX4>@CUP5BNprFuc`<ES*oxQSkUkQf1rLb9xd=uC$Udn=oIgTR@+Qu
zbq26*2NYh5Ce!gk>q4F|rx)ST<cC^2c$8Sk0EIt^4e1Rz(HHF5-w{WHqh};JK`xuq
zIGKxuj$=iN$}|rOPAMiRbY3@II{)Vynf6C7_>bA>&bczyblu2`)jihWY56ydZer9D
zFcje5G7`7Ve{jf=Q7CCT`@9hwC!P3i^2G1Pce0;T*{tQDRRu~TVdiD|erWn@;?f|A
z1UdlgKE!$5f4EFPa6^M(#Os;cxb$VC^JM`((@Zo=9j=^wQ{TyL&WD&|#<0()Q2185
zGForV&On*HhKFhS@BG)vCBbrMM@FXg()0sZb-ZkUHyfVMU|6SJ>MMAs)iN)^!#@84
z!#*mb$-6s9*S>z6(`=5N>5_W|H#wVDFHokD)b@UaGVnG2vQ+TRQo%v5VS!J3rOyr4
zTR7q~Hy19g&ca>XB|&mbgF2P4){7e~a(`96l0#&Xx<}p+lt!obVDd~EpB^j&0>3Q;
z4jPDCutwc>qUB}mg#(=XUL}Y)a(o>5pz5C6Y4@vRfIF>KzJ%e%h~ef118(BT$hk{v
zk$+2*$^yamZo71TbE`W#fh&kI%aWISr!sbKXwt^1;v$+(SJls?uFvJ}jLi$P48Hh7
z@6C!HPtYG}FA@FB71^`SldB4p$PUrXc}&BnAD7+(2^R#Sp*8SNplKCK%V&aB(uK6R
z<>RLLk9&juBNlA*@^`&_9y63DV$&nnYG%H;l_`%Z%Jmq7pt0y+`9xz#-v;I%Npmqn
zUn?VXq}Zn$$H|;k_wrYF^Iu<x6n%~rPns+3RrGo?1&|?v!Y%W0(Byd?*itfKzg)+o
zmQxn)zVC(RCfN!G9DnFhA|{k|PJN`qQm(UHiuVLX7$*5s5IwfXj92OCQ*KA-$BB#d
z8GH*2YMKStLP1ZCw>KY%VX_CBBe2)SLh+-!y^F|A)mt=0IjF>!>EQFjV&rIScUqXi
z7@tNazP(&1KI@l!;w(@?V{l`hEs14BytvHqE}md}h4m0huXBA1lMeI*G)CdX7%1Ov
z#BDSBsbsnO{^fs7okels&tIAU8aw|^v~9eK)UqJ{GEka?J3Qsd{zooP&VNaLn1T_@
z!E0dtS9aF*=w(w(-<D>Y?PPV`%WS3cubNo90B>Q&(_Ftp%{E>Rb$7bXi;uR^Zdj5)
zhCI*TH@>7Ez^U}C>h(OmOxy`Q-><;fTYghky>uuv!6#8pc%EIuA<p?x)RcNh^{ljq
zu23h2rq4Gx;3V(`48@l~Qmy)fY*#+cA_G@5y$NS;e7-XE!%A(gF<FcSgDQ_)L5?!T
zOx&uaFCizs3uH|GD*NnNXd(v;1|P4hFrVKK2cG_=r~_UxTCe!!leUMo)pQBCxjMF)
zb|5zu*1Vxj@BFY4W7@X1Lq;BeA5Z-{ZRX8uUeZO>LOR4}ZSstWk5Z5n*0%N6S+B5S
z=QOa*VB(e2o4;hqss3>c<1Fcv1AZx!Ya!C5*!#hnUBnL;Y`Uh)%B)7B`=S7gx-6*@
zqd{uI_Q@Ca34H7{ST`3`d#WTEVM}zLooKt}m)}h7PUA8r@sP3qk7gyMp#%Fmfplek
zz(alvIC^*A8%<x%?P^aZit4l=hsohLwd~tlHhPbqBS#yKj@8~@R54^E4swKj6DF3S
zM|@^EfB#o+$DhRyLS9UrKWK(7@VC<&69rLqNkz<s9K8fXFuCLL|4j{uaV<!sJu@UL
z0F|;#%=8M|Aj|OLkV!~?x}!uX9-r0wOEzTCA10b<tW>SlZ*gf+Y2wR`O($04mqj=m
z4hy0)btRRrgv2l3#{8y_BlnGdU4qtYmvgSi+Q}$_53*p|D!r+MeWE^=Fa|M741P>F
zx=imH%c7}8wS~J@%Rrhxro)!)AJ^EK!38M^{FhttgS=mtim8Q*-twh?-<_nEyU5{3
zz)U%VTTs+H;tB>2?i_VOGrm&@?3SPnaPW({mI?Z577M924xayIxD*-weP(lL&1Zy1
zc!9!C21nPavbr-O^q@C`kh5kbwCg7cGx(!fkOv13Chb07C^B@fQCx`Q?Xzur5l@uM
z^^k6GD~Aj$Hy}HGn^I4~`Y$(3oP<J{jw$#q0??CYIxT-??Bq*fCw=+b$KuO0^UYrD
zPA~uNI%P(N01EF_XJR(a$Dw7<HwxNtKAA9FfplR0Y3FLLGmlZ(BrtOg(ux-$OlkH|
z7+XqNmN@_;RAqn7j>d=#Zn=20<Z&Kv_Bn^NbLsG2!jPhb{cDDC3_W%hgwpX;d8m{T
zu%JCqIjb4t+zb=V$WVYdwMFqCZ(g2)oPoizE|JT?->uMl!vrKD2FZPU+VSN3%0azn
z_N{x&wltoTSsES?%gWKJas213sPaZ<x+@=1)^yd|x>43d@C%lwNA_g51B}w1zKXeh
z3PQPfk-rzO4oBtJmDSCBaB?d~{D`ZD<eF>qTf~z-J&@qtW0_qd^ysuBI@jPLe-`PS
zqnv{@j9-BN)FRKAt=()4cu-iCl@c=6I-F1T<}vHd;X{gvI7Ufm<(o8eK1C$vBfoNS
zOpCoH&bC>l>X}S>PqcxxpNN7jG%S8qCXb#xC>>G$5_h+(n`tO4h{M#8-a7)qr9Mkg
zX(>0(<n8FzG?y32HB&Y2ntz47_a2nP{?R0g6sEaLjPVklZ7*Bq&v}h$0v%wIvHF-7
z#?oT_&w?R@`zrj#kZ^xt3q7++Q^%O7%_p(n_rxRK6(){h#&H5q|LL3GZwgywIrUmf
zRx?P$%Q{rx&(@&{WKlZp41vUh{)PdssZrJx&nyo>sP6a}NquW@W~2V_kkEEEv&i31
zalI@=j23$kL7Ree{!V&{GnPM4T7+9{bW;)XfF(F?uEo+P8TJ};;5uhGY<jcl<*Z5M
z3{4ORAX6C=DW1~`V{UC`-@#oDM};QCFyG=U+T^#L>ApRbV`ji>t_YSlvP$Nw6hqgc
zMbL)duOI@?H*xre)-7h80wI)VVkT4AyV*+b;_f!^%&>hM0F9?d&<f6Bos1w1!o0Z@
zS0IE!wr7t55Ha9wO!{h{L4VheBI)Ic8y5e#!^m0pQ5eODPT~mR=r3ouV#>xu)}*O!
z6v)JLjD99t#^9qc#Ntqgo!4LFt`d&?=*FXC&tLH9zJ)P#Zfl3xmAL|m8e`Eiaet@~
z!IylqvB#zr93_H|9*a6NV!Z=#&b@kPnN&|B-;2qO8Gm~i-UvGz=kUR8ikMiW*E+w#
zmA*(GrxN#={;{V?VQ|5XR`=|2)ys8ai{FKUR3+;3FO^W`X~{oyDURjmJ)kga>N6LW
z1=e?`MP8jsn)sN<yvUW=yd~+mhM(_0utx(Gu#lF%>&$Q1V%@3a^7W;ReZgKqq1veO
z5Z<eX_&>bHd<UALF|RsAX;J1VKyoXrPW>90ZduMlzSnbwCHID&R}wmJ=7{H8J>)@!
zL(APQ;{FLjD2~~d5dS2`RK(lkc~FnqHoh3Y<{&K)%}86$Pf^m!2w1(6FQo(NqIgbb
zU`_JxQ^r8_SOtjj<tsVj$HLSR?m2H)E|jA8WkB*$ujotSU429FKx{-4C9k|*3G1u-
z={l{tURmPzc>E+IH*u4g9{F|5n9!V-$@79$#qIMK&bFL6a724lRK5L2^OnPm9Z2P|
zJ<DkD0x(P*yJ2>Uiq3=1B}3<B@e=ooM$Qy#(Ib1^VtR^m(Bp6xg^=^3!DLXlW5VC@
z43@M#Ld;kel-+D}B`+u~iYZLIwFtz~;j^J=J|bi#c+|zR2PTo1i}5@EkeX)_0Dtt9
za4CY??8ZJPk~9GW#_IizArSqIj|Yh&sd&BbH?utyubj#YFG}_e4y3eIw0E+0QV7VO
zp-+#?wx)nnJY0~^8EOHJSo(Morb7r5$1L1u(BTR@+T(G^6ZEZiYnaG>iy2olMwvTg
z^Uu7KiJ)-lN2b8}V(OI0Y;~ZGYEEdqfqZSh81QJ3I;Czo=LGT&g4EMETW!VuxLe+k
zxSfkSx4g6;a`E<b)u%sGb}pRTak=48wqq;pipia?#2)2JV`d7q%dWZn-?^-&ts}co
z5H~a-HhX8ESYjv!T^_C12pr$SlFYv2!qLAoh>p@vipHj_7!D^32Bxzgl)i|k51nIh
zf-FBx4w?z<l-?KAoznZ*#6x(1Z>&Qy|BVtGJ_IP%mwQM{@5U1NDFjN}El(-FNF?5G
zs`Pa-{x<(AM;Nttd2x2Ho;@w<@5;h3y>=1?9|DGMJn&6@{^YS4O_)k(k8iyawYcrt
zlgY{|CDdLkfRm7d*zpbf3$Wd@g4L)U#%fkxvAS*{<jpCs`VEp~j$)1!ir($afo|+z
z$~uYH6q6~pNCcm7;35r2lQ%k^q^&}1N<RQ8Rvz5Pv)@>WgW38bKdAV+I*pTk1e5Tf
zN%^)Fac<0n&Rpe3$coyV3`JSfAJcV0liwkab(zR=!I>(d33JRt04+b$Jyr>-J(dLR
zn-0S-btTD(gyJ1~bC75XY=JD1InR!io%IIse-N<rF7pR(4-%%EUW&wT+U0wquqP*E
zYek#}I_LiJF^ow1Cs059(13u$w^Z}+;%|}t-bH=<ABC|O@lQ3eHpqq<%9>*iYD8iy
zL<<W%c!|)^kMAwSu~zu3n;7c2EUrme!Z2N+^mY27CMT$c{M2G+#G&QLVh_ZH4H1KE
zP4lZ}*2-&<TFQRvboOp?HSe-3Kc}tvVR@_QeFOO&W=qm1U70Y-A>NW3Zi!z9J;$=Q
z^Ue=w{knZLBApAB^ceL?RUv))aveQUJ8BhLRKoTFf5fKuy0nhXgG50KB*g;lLCn6}
z-TY5n1dNh#IRg|=r?Qv4dEVf!Ca$#TFb2@ZT;Hsnd?8}^dpW-fUH{-l>#P4I)3_*_
z>YLT7jgN!iSB92j+f{;jsvuhJ=n#{kkLD)1yM)v}WJauuY2(Ool&(_ZO{A9sM1UFv
z9lu7{7gQ+bD)5dQ+dwlcDqrWBf2dZ=_OwruPhNc?pW;Q@cqqY~H1;#1Akr$nmH<Xe
z!5@Flb&t>AnLeY3IVp-=E-*9F2Y&9uR5n+15lcuG(%Jg?ZlE-pz^kDQxog;ArgI=i
zn7aUldsayQYWr7dXT;Y?PdFwg<$#7?-J+kj>#!cYoYvWU)lv8O!dH1bI^k<8X3VFm
zjyQaG$AFd>e_DO3(l|Nk>cUBu!wj3lqG-GQvlG%|R%=+VzGB3>bnAKZG6YhFLV`qm
z92ZNd<o5mJ{urKNc;-$IsN1<8YUFJ!&d??o#;q(B-1e(#qDOZqL-CRvxf^$_wBuf=
z^qDKDgCZEquzEB{QbuA4AC-eNWcxV<gHG`^HfH&&Lq=$24?TL56yv0SYMalkA){_m
zx5^IxV{W)-c=%ZQdma~ilQMo3hO~jpy=*2~h%x=ugFTdR$k<Ew(Kq>5{2S``l?aN~
zyV^8PBnS%<J8gbv4k;SRSljP=#bvil{<zXVuUDXwTXp52?BdORLHK;%n>Aa7u}9l5
zX=vT|oT)zg=XlN7^<cH+8i8&&Bt8lxf^C{>e$>olY{T(AuTR=~9rONT^)!PH7`CC%
zk@_Iww;Ff1QLyi}*U5Xk{@blrckhg4Ie)Tu&x9TLfAQ0snGHad$KpBn`$#5k&v3)B
zUCw&$MLA$tC>v2#xKg%x3!C#HwJBHnMJJKQLg^!UBo*f{w&-GD@z^UsiB~RNRydU_
zZKUCOTnv69lvd~4)J(`2<+W3ZlERm<7@Hcik~SI3{u_^{-wnA~gCjj&l9)?6hRFo+
zw#bdXj_?pzVv`gS8|TLz(BsW=vD%YxeN>@<D*qN3fO)*|zXoQQv3Imq>c9XqASoB+
zEO(U8WZrK^+bL7ph?&KGRw4cX3$mE$RomnH!9FrdtakugmF(E1j9#(R9ta>OL5fF@
z^GEPaR?2}nd3S4GrYM!4-?rrSU%nH3Od;Oz;pe!G0CnTrcWgg4NB^*OyzH_hkc9f1
zCVn1@du=@TrtPR?$&uL#mYoqiO%d$z$&{uy4obW5wu;7PV&Fhg<g8@7X7-V^YzdZT
zv){LOqMStCZ9=A#Nm*!r=@GvbcuinP+>?aUe0TP4ub%@eEQZ@QN2xNF)*Vv&qgoMl
z{%Mf-SX`*>BMV;M0xb-JiD3C>)V~*^_iHXbhs*6-q%&F)h0q~>zl@@%Gii)l<&f!G
z^<1(z53Gw1IC=|cu@w^^#8U5giy9>)=Ku1tE<-GzN1}`RHx@yvV8UtynvX%WpGR*V
zt{B>p9Q3;eQ-l~cmy<B=mva7|WAn3r?5lJZzwgR^@TKZ*6?=Ap=4h>hdhWMaG#ItX
zIZ;4c`O<IgTU}kPSnohr#kom+I}8ixoo~;gaBT$W*Vd$QVi|VRQ@!>qYfduGU?09X
zKKxMHmX5Kic<es{rH$iJ&9j*s`yyp}=It3FPa5h?qtvE$jRw2jXl{NSV#0(TlfrWA
z{0?wh@BKQJcx3}Yi!tNf;VLs~?*QX;*ljq3FxifOu_O&e+IsXu*v^IYVbspofl5uz
z^5|9t5oaG3P#s(P#`i&C&0NeUDoI-ZJx{+?S5Lut3yuGM$TQdwRa-*L8K{5a7cn54
z5uo97;ZIreNP=M{YR7({a?j<H*SP-=At5phPhvPaz6$Y0)TwGK=LhzlS)VMIMn>MT
ze1wN{dW$u;-Ymf`L+QZaL5WojIJr=lpVhF4JT{WQYLl_AdLm((%a7)2pG<bJF%YsN
z;`?lft}ZkPCVBKKM+Y`Cw8bqmjRhLc%)@rg<I1-Z&hftnU$EK+S6<AXh&+w{(A!#<
zxPmd53|!PN`_}72g{woBVJb2ey9adamqw7S77m*=ZRE4T_rDbou;(ho9wci&Y%&^K
zw!Any`|Ww#C$oKGI{b|Tz7Ncdwaesf=vJ}vd$=F}RvatucetDo^~Kr4+}{|js)(_(
zlYzaw5#1I^``y6tMg98lh7E8L6sF?ihk`y(+LTk;9IksVb#yfNyMO<JevYisN)H{U
z#8<Fnq}VGWc5vTS<12X~g?ucU3fNngA-g3~a;J7I(dA$Mo*>m(FDd_T`LaX0!+W`G
zD117N<u<N4QO>w2ZW<|kyJwC@_e6~1*wN=>;>vteRU57!MRu8LRcJ}niLSpJ^Y$j_
z_B-|NChU{ag*C_GiuyU*Zz!uGS@+K1=NEp&4I;#Wupm<(3E>FY#%+<N83;vO20z~^
zV<GO}{BMqAyPqa0EjD#~Fa@23Za@#+hlzyqGK&y1PG*faxRPkIIhn`LF<s&l%RyYr
z9`1J!C_Hv$BuHOSl;z3VUBg=axEXwDM5yWaD^#DrFemA1&6vP)x|#`vs2iHLyaT1q
z#2uyOXwfzLmoP62qk;ISwL99jBNl5h_NO&j&m!lkx#XbR_0m<e+%Y-l?VByU$f_x>
zN|Tw*eUY(Yu2NF#J+$!UlYIK$o+&>t5*qgI>PK%1PWOwup>&)UMi=2O+~sx~L!FX?
z?`h$ZP^JhW>=pNC+1GrzODrRC>4`3WNybzbW&CY=Q}Y-r1FF1pY%w=99`T}})y!tP
zjF2!TX&8EAdwv}0!p$8M>R~Pw`xu_rNjMl(Z=h`H@OF_RpehYF?8vJMXBT?zcPvUN
zQ4)MiD=Cy=#vPS-GJWU7SnPl#&}Vo^N3)-qs2;T@l<UaUW~Rg4-O?UA1M`)EZr8@G
zv{pP7re2}9>mPO^pA5McJJhlN&h9~Q@y?OBoZIK0VPmwbjJyDZuJ;*zcu;S7J|+Q@
zic)~@bkZr|YOwe~gDGxKssIXK;0>Ri%(yP_vpDgS?{y=elx)qqc!b0;{9#V|IxdyM
zi7<)AhxV4oP0Tf5XF||C_d&3{m~)!M^hJ-4&SXb!(G%840SYd*%P@0<6m*-#CpgN<
z;d|y3N3ZxTg^UZZ18Rt&t>Lpd%Y6Q}*ICnrtA$Qz-ipYmO}Q*@w-RZIJT{)N-T<AX
zO{Oz&bfhOed<GT<8#7A?v-27W^6a-KPtxI^y6Xz@;57Lz`ooXbNcaNXH3K7docWEP
zR?9`M;(QFT#G0}jtRZaL97aN7F+4OVY)(Kp_+FW=Hbj{~Qm|Kc)Fks{g$J7}{%~W7
zBiR^8!sSiVGW^19@0}Gvb}_{>sdc7ch;w0A6-|r+vGgS4)0qm!(#&MC#)Z5C?Tcp?
z`3ESH{D@flR2ka=GZKcep)DN|sJxNbVTcPi{pOWjb<*928E=kIKW(7z%X^}xLzx+&
zbmgzI6t!~VTyF4H<<3E7!fQ%W@x&Bt@7a0Bqt&gSBFQ?i35|wKn?sit3KP1e(1ihg
znjmMhp5q^%bke^OEXb`uoSC<8>{|y#-xNUU7!A!Wm2|`e_^KRBgj`CHpI%2Z`)5NC
zu?H!DFc%V2!bbbf440c+?Z7|6S3CnFLKd~}cz-xGC-W+Xw-aK;+9(9ax7Ixfl8;L!
zm#q)zT<<kBmx2+&^Q88c{m3d5%5`Exd@ayOQtbOPy{1O|7<ie_k=4;ZiTQGb6ez`?
zdYqcIb<LEaOXQ6Y;K&W1S%ggZ4W<#|!^Oz}cgR^6^Ysj?Xh~1}EbE7zG~5xnVdV`(
zYu)B2V$m0>PFQ$?^u~}G&bG&lmO^B^ZJU^Tp(OcK3pPr6B8PZhpa~P29mz!zqz%N9
z3y9^cm8Rc@T9ws`{+%}W<`vQARoUC@BPm3IY|3!|qbJ6od}BON?*FF9TR{gWpL#(k
z{%`>v*|8&PuDzmQ$xj8(qqnVQ*jPtY{luUj#PscR(x~-26viid!+nJ<-Tdgrr681^
z_<kOBzl$CwiMgk?pRGREOXL;h`s~|OJKC-!{!*_=^zGF6mBOD`0s0>c&j4BZzqa-V
zvo{Qf(<(`$Yg}%dU3d}#KDU8(JkchvATyY5ekeJZ_n<)$CT+-mz;e?^XRDqS@{|lN
zEb=^jnuJRNx*dq#b22PRS`D1i2z+2@i??I_vVGUhQ=DB!_q`jlEJkn@QIa}(?8-&J
zby&;$55x{@&0R!Qve7k0AU6z`S_qLEDs<F$z#@=rG$yPl`+{mAVgGTtR~Hfapn?1b
zgYIePifC**$6yb?V#BuTn3!($-Kx$xw~$&h?a8Q#MlGq{$xcID0Eu@>YRJH+!p|x|
zS#V%rGUAFdovk1Oa|vgWRCl_iUxQ51HFK6scV^l~jVC`JM`FYp(ewEfdZS$lIyWis
z1j%!J=};YfEHEjWFk*8B_@c2$;&}v76^B|0_@G6*aU4ed!rV-e8fy7MNpnS~-|IP1
zgO#Tt4Yo<2WQ<{kUsQqCdy8JGvgTg(ChGzzKa^37N4FU_D->Qvc$BX5iGT3D?Yht4
zkyLJ&9sHT3JTi)|mIvG5pC24y;QX3$7l*v67Qrl;nIQdZ25j0_Yv$z>l|<j7jnRZE
zf_iPbFK=+n=-L=<46ESSp{Xy(Wo)s-2_$tnPTv0!DkKlNCrm$PttHk$zJBjYYD{Sw
zQ~S_NJIm!-ha)ix^K}FtHpc`?ULx}ws?J6HxBJYVyVcKx>Y;_IDgeHz0_|kdRyM10
zd{rr^Rh>dtElD=E>?e#A{z=hpWq<q^9{nEY%tE}W2QAqttDb0dfoq+r7?F>p{aLqM
z^Ft^tq|y&?Qv}9+`~P{XCl3sReJ7~0QCbgES|4~Vm^l-sVH^v~J|D;p<E{<+`GZB0
z!k|*CMVgrewfB@M!Xs3kfRuc8q`#{o9PFcJh5EZMb@3AhX{c3kFJE53gPS)L#;h}g
z73Zwx(KUx3mtS@@RIXDk4v>pgJby~r^x>b440-fe8cTh1G82K3l%3G^y%}eo@^XbE
zz43iy{X?BoELnm%NjgOA`C}Pdn`JeZ4K<hYFIBWe)Jb?IxsKeM=3g5M87Y0XBD~1q
zC~M;9JdfFi<*(9$o^qu>((+kWJ7v8`jX+W!dj@TMPJReOENSY}_*&KL5aZZ6VfAGf
zxn7^gi|-lQ7nC3NF~YovIZ@U^Y=1Zq7dON(?%{|3L&1fk^Aqz>m{Z@@+hCgNAAVGL
zUdDTZIbHtobb;}Cy|ur;Va6n;8`@2;_LjSax<;JSquAp_ic0BuK|&qBpz_BhZzE!w
zhHhzUBV20eUTr=AQAdZu_kk`>vY9^f`9=1=bSCyRGc3hqpM%qMaJs+Yb^_Gg`Rhg>
zoO@TOHz$09(lS?O-H<VxXA}n_rP3{=77>{Qm9*r$^^3-N?%=RXo|&z*$YkF?$#@Pw
zh%QCc{=p8ikZB|`UDIz<(u%n7mV-R#iav;PdaK2H5jsd|6GLhJmC{=Dy^xe{G;B;1
zFbSX@O=+zNoF2%ijGP`U8q?_$vQ88l+hxpcp<{ojIBz8o@1S5AmOV3aUefz5OmQ-7
zI47x#@%19zxT_W%k;(Iujhj85junkxV)?_?g9X)7<#M)t3s_@Ea$+#qX{G&cnvm#F
ziQ(e@l%wwri_YrSBAHg)tUxyq5eCzWUW)P1xLFBQL@Y_gXr{JDFbAczDv-n{lr~v!
z>DsW2%q8%Mt+=mx8~mB4iw*?UT|lQ@yf$ujmssf8t{<Yn@S<Q<2H_sPAxy#LJe}9}
zQ2&tCkguH{4H4@O6wijL@{<U<ciH~%nPIHUB_`*{tX-A!*Si#@2f;e*!?J(;AT!dI
zU#j+&g?`AM;bTzF0Vn5E(9Zqv+%M8C`05{Zp|B6Iv8SE#`{-?Og9ZKg=O33k#~JZo
zgjPg-$>a{>>%Xx0#=@IQWkY|3Sjx6!il}<&mv~yyGK_!D9hzzrni}Jkc6x!^LyxGI
zUdz|sjqTp+?%s7R;;@hyEd4oKMzC%EhXDCN)uM3CH*9>~C%Pt@8DuEsAMb2dJBkn3
zLsLG>{PrFpm$k)?gGtVs5Eo|%h4O8_{Ozp*G8H+OMMRd%QU8!+tCCOaH_lDhT71(-
z#SM3%c`A9eZ}xa>h_j3FQ)rNlu|{MRAspu1A@k%xxddP$vf_*ysiANw71qP38Ty`C
z?4H>&<Eqfii>mqXp{?vv;zP-fyNEot3loF6-lrW%%Isp>WV0DSbMduM=!g$N{i23;
z{DdTcF07f@=27LRD0#0lzh%t}hVvWmRn6N7w>>O9{;8}AoLyIUny{(E0gYj4n8I5=
zBh|Gwu{C8c&Vf{c$xQUGb$I%R0>BEvQ6=StKG4+=UE9Mh&u)ImPB=ezDiv`lU3g65
zFG6Em4tmiY75>cH&@eZeUMVCkm-4uOGVXet7{lDJN?WU0(!!J6*zVHuXLyf*f|LRK
z7z%V{5*|4-UNW_SgI(Cj>;(9AdQvsdk-qyPeYY<2=4&aD$Exy}SVJN0*D$11r9o1D
zC2vtV>Xc7EEdU<@Q?HLte%p7bvZ0z{FHc%U+b6>xe-Zx=S(oy$;hg{4>mYf3-h_R>
z0QuTNvl*MPDV$Cg$Cg*Wy<Z5Jm{%G=;p-IA)|)?!%fB-?wzRnYusN1fbrVVIuTe$N
zdmVOh^!C~2@lHB5hth?0@x|S3E75Q*B0;c4;Tqi7vgG}Q#>bMZm`Yk4%DTj&E(F9U
z-NMma)$PSf^Mim5%{n`#6A?3j7jwTU`J{$_P0DlWpY>v0b8M0nJ=y~f4uk(VwzvUe
z$Yrgu2w;*A%`G;28bv%G)i2(Y^X0=~FPXqZ%ktYAnyMwz5tU(ES$vax&z@uI)nw4&
zR$K`G`i=bWi{YW>;b;1~P(6XftpD(0wICnSUk-u7&A|40OjswuIxUGB3klO`-=>(Z
z!T)Mg1g5h1ryNAmp8UBId9Y0-!H@}#$|c-AQ0Df@7#;$`y&Ie5u*Rs9E5F|kY>6#U
zvQjCMDlFWXIMtZBd8risi586l=6CB|i?$-1Ol#(Uh-SD-WmfE)(IptZX8XqMi)g$T
z3*fB^Sl9F?tX~v#Y$?Q{t3k6s#8%?c)l@yycOb4`T<kBlhe{PT3OIC(^Z`5D)!<J$
z_;JKa8*p6uE&eL-D2wLa9=-j=2miyX2ZE8ou26W0bGnKr%a(d+^dc@7F~wLyMd-tk
z$OmF(&G^O8l+5>TEJ5-NwVVAmT5lZI_3yfE-!GYvY`yBedBjUgvb)kDk>~z945t1S
z{G5EZi;Ffj*EIZB!f{QLZ&T&3K#IVmxqv<yIC#lV05}upn{3vyqte6ObJe3OG?4+g
zd~eDCOWFzGdHTWf`<nmFp~pWV@_=IOSHwTqT*d<PR(tQttIf1y;9=4*E1gM(&UH~B
z=AG?lU`Y`(STPkp9fFu;WwhDD-Np_!tW+@xWQWJKWT2us6p*mt<Cp{OVd{~Eh0}Ia
zmU5fbj!z`X_;9#A^u}%okv_y`%5Pi>hW<;0^8XUiH0b%<dqvY@U9*mdZt%W%;L#0O
zd)L!&YXYTnQcmA(8#sc4KYNh<FD%T6Sgw0m@bn$P)5Y211BG;l5F>#Jy9D3{*`wD)
zqM};8-%Bf887X)l&i?>24bvICt#|x-r*8AVdji_P4@Z2o0`|+TNHSWf!d~(zIkxSZ
z<^?vzSQhDjp81S!;ej)#QIXb~9?+aD3|^B3g>g4^{dCzL*#+k_oJ;TM&KnP%;BU4V
zbrM&uTU%<U2#F(L>SPoKF;349-F`Ewb_Uj@0%l18{V@0+8kNi?RC(hL&Ho7T_}|%n
zeoGr9PZ5>A%gN>Q(?Do~3iDq}#tPWfjsnjU20u&DrYOMEI_DA}!X6)e=giAK)GAu9
zs-Z2SO>=X63v9c~VR7_0tqK&Bn3;Di-0N=S+kh{$jxB8eBg<Hb*b^YrRd}y@y;vuI
zWdAG5fE#vPE~S2b>h%djYeH#0W`)dtp|oSV^q2lG#5SBw%gfY`pav40PeEl1ix%<G
z0+t=s)Q*1<{D1c(IAOp)VTZA)6DzdNL#IoL1Sy5>N*WL(EA%*RKA}Sb>GbK~%fSZn
z!z<1T=MtfZuX-_U-d;ynaOS;1#0E*v<EvwQ<-^f;a99ThAE4me`bd-%xRJ;YF+oqe
z2b*r;ZS?4I=M^)YBZn5ea_6)0`Y|b4#=pJqO(VIqHP$-<$$qY|@nN8~;HmneQiZIl
z8>y<B-uEOW&#20!@bWtaI?6tun{lqv9_`PREGn=RP;X;r0y*IDnNf~&(IwkaWfj|-
zvQ5CC;C5h&z_f*cP^WYAeYI0lsun;IchBr#P`drHe!!oxJGe3I^3$);aytU!gsZez
zxtUDMeITMGYF$#Am>>)RJFEOdU+qNX**C)SrmO&1F%8^|9sgzcUn`Q^PZ)h4MI3#o
z`;eE@DWeDpVEV%%!+rURIVo-0y8eUhOZyphXKSn^*xSk_Q|oKMBdGq1ejnD!_TmFz
zi1a|D#f|OU2n4=KW0y#Jwi9!dBwD4pf7xflQ&DRx<@z4@KlC-hfuLDZ1U567)Qb12
zJlna5y#HtR29-zf_0O*2r&S<2yur^zV@ZI)pE<#{<?O2_=;re>2Qc2-#N@n7P6y{C
zMJ#~&qf0}-OTB8>{U79Cta!3b&Ssn2Oc&)%6*~dev{R2WMXTt8zSFCsx1iD@1AAb<
zqAiq+jl*8p7_1gzo27~aB$<|0QeLN-bNXQmjVbJ#*00IpgW~t9Zd0mmb8lC)eU`PG
zuz@Gi@+E0}lSAvw6eO?4>$BHDV;t|z+jaaj8X)}aJj64z84Fl}O560^*Z*0wfwLj+
zEwzMv?U8RTNRgy#g|q#wI@KCI&JK>={3#Zj4sc)L=FJ=zQO|6{;QLZ4YZ5O_hk_9d
zPfU0oht1~It0Ku^Qg(AbYfJo2j_wGDHEkadd;(H@aQVHsuVO$&tNc}4ZHAm}Rm~nG
zL8*s{=^f2vOoe-i5LEliL+xDwkoHN?0-8!GZI)Q~B4=pdl=bWd_x3hqNCD`-X6%rR
zTsn6s*%yi#B6MP9J{-OPG(}7s&JC^AeY{i-$71KO^z!uwoT59xZU`I4Lxm%VyB1+B
zvTl+N?NsQcXCJxOUAoqPW-}>OWb!$ewm6n9V9;L<2XUlZ2QY(z;v6`wNib(q29-N+
zwb{1q1=>&6CN>APyXUzV(?hWxr`#jXvEcTz%+oJaXsL)N*r)tKuKQ|LDnMh(xmrUD
zh>1pKD=v1xZV$n+S%$YhcD1pG-=6~E4=tj!CTZYAHv?4tSi}iMQCd`Z{N7i?V-f%4
zW6T3NJgk2~jI`*1`z(l5IF`&k7_Q4*LI}rSFcM<K8F8g-KS}jF1R|1`iK_#Q9C~TZ
z1MOYb{~_<4t=~FQe4Pm|w-wNbclMQ!s&IN-z_qAPy>v4weP{8=P3%5o6#K{$#^Ef8
z$kik<6yf|QU0~8b=|<oCS{V;@vIKR~TX~Be69$Z?+Ii3wJ~#&MOTT@nnj3)@ni}ez
z8&)`=EkwPU@EVUt@4GDJl3-$%z{EcKCV7cz6|KsHpx#?pbfo-#4M;oPcV=Syvo~lp
z;n>j3ix2>6=L2}&8{W4**~t!CcO1os^#^{xH80f48SUt!sPX<qxb}N*vHcd&N~0x^
z<PB}4%;SN#Eu66nLJ8FyTZ_N6!_ItRnF5oyasAomTYm5=U_^7Mwca^`5Mgd8xeoO5
z7`7ea{k3jTkw;O-!?)KK3IPj4$@UaN`xxx!{;@rKa`>Uc`#9<M;&i{*LBzm=7>n$s
z-N_XWaDmv?)Z??K1R~d`^OL}&ssM#L*j*@_sZyVa<eRNuA_RR#>K+i|=h1L|hJE=f
zo!A0yg}XhKo<k~{H<)-l<(?9LloVrCy#I#Ee%0U{dqt!oXiWRwOBN}hjxf7S3tZcI
z1+Fp18@<WwyZCz~2lRaoT+J*KEPel6ZCautZbxM&+u!Ib2(dZTo=E>thDz>&tA_Oc
zXZ!+@xn2omf)g!oHCB&pQ(~vO<7S3}p3hWHN^~)aIli6j1F8NTFU1(X4#yGBO3lgR
zzg^&TI&7BK4J-4vlk+4{sRCg8M$>6rfqiefw-+1QLQrhFY*h|nbdce;JL&vf1YIT<
zw$Rk?79Spezxnv9|0@HoHjf%OFC&R9@`!TmcCFO^vv;SsTdI9M%b@}Y=qLw#8sjt;
zN-ZQ(OS3@X#eZbZEAM>v9>kAZJ{n%cHH@JWGe~_SPBHCG)iH2SLjhuiA_)yT_RMxZ
z(p}~)b$RZfPgK|l3|+?W<`)(lno}VdaWCRhg^0>Y<*Gt|CyPR8c9b8OOYLRPuRi_Q
zDm4^}wd*^1>er^_S3iv5BR(4p3yQre7IOT2^Zsn60)rB5Y8GtNHmYWdV-9Tj^#`B=
ziCoxYrug!P_;vU#2P!?0@^&?&Ap6aese=23rWyex$}(oX;M?W#{?`6`8v|nC$*q0s
z8gXgTvMUE-99;V(y|Tow>!H*U##v0$1wof9ePN@~bgaMdW+Xje>HWpY8)wS$a+P19
zAZllQ_AMVYnd?9wRbA9)Xc$}?ctU9{W|4c8^+L?Cg?Yxu>CqRFyl#N;{dH1;#qD}O
zy5J*&Wy?hiKrj$e_wL?`^NtF49Qy92R~b<|J!v3O<Dc|bTvy}XY{_H+=OE#USCVHr
zessJY+s6%GfngpwW?7?4Mw*&~NUZXYxcv<c%dpvdi+C+t%>aS42WPsX7i{NF{f1a+
z#Fd*w;35`n7)i5ui)mJGdoe!nv}3?rd`;hRN2M4G;Bba5%bu-*D!>cS>+N3syWA?J
za)0qI`wzI}85@H&&&=g$c@drKmG#`Uq{+Et?hz1(vPS+f|8lvwR39Mt%yF~UxJYWR
z1&R~F@3ad)vNuBhXA1qi195Q&2D?lh6A?$tD(4~{;huc$`5tFfz|GgHZV44WmTwo}
zC)h}-Xb@$IIF;Ufijo@o|0tlcz9q%u!9P<RJH(fJG=opL05rM-fQ<v3g^R$l(#+<g
z-K|9)q?F;0OOmrX_jr8{iqKT*i?`XU;Mh|Bq1tJ{SI^wg7nk582YgFEu~hdpRo#^M
zz((A`MgX)xAa%Y)&NNfIrWuBR_WPidUDLK)FL2Y5`?N6<7L+i9cBQk`2sAt3{Klty
zX8Q7DU87MZk7H55uL7Q<Z2qU+))Se*(|ZzKHkz*MntaSsm-E&)KbxkRxf6%YrJAE(
zQOjm#octAjN@<<b324d&H0@#+VZ^-yXBJ<_`zQYqb1X6t7`F`u3I?$G3e<nUt2@s9
z?WCHM;RwkG!?tOVzulg6X!GLnVBztM8Y5tcpB_aGcDKPQoJK5*>qajw9R$ZqDXnY2
z|13TLT5+!nK(x%6SHg8Hc79Irpi}%gNi9z02lf2P|IoP?D}Da)dEx8eA1O#9%2}mi
z#f5kCU_V#tSB##lGewO(-*GaU_{UTSuRvjA3TrU{;e%b+SWZVhr6(}n>{t|z2M#A9
zfTr$Lh=H2;y>VvQu98Y){YJCq1XycR*l6(VUrwjhfNWGFJ!*$Wp!PyW>qPG<pHm6)
z=VZ3|QZ|zyI9dP$+*uU8-~=X7di%xj!)!o{@_#V_(2sv1fAAiZdooOX@J*}o*$Yoz
zM(?^ko)=uTfP(rX=m48>hf+SX9N@eCT1_$eqDBGiWt!r-QU%wlr<`gbXSA)Y=Eb=p
zK}@*ayAYH8IFo&*7@gXCIRjxkvs3DdnCGdNEX8EZtNa7;_y0v(O>eg}J@z&0$j${x
zOw2E&x<nqxRHdMo4={qV0?n-8xUff2cr-XRpt*_1<6v|`!^d0N(-_77vFT|HM9k#B
z!R%lzAn1{V$FgUSl&tY;olB75zzcqcHJ=@o^*NPw4!Fq5Khd6Tel~XZowpQx8iTT#
z&%b1xsy9l6(n}xFqh9)}#jVIo1$OsC`nIZ(V?Z$WbUg&{R|QBq(2miU2-w=zIp{3%
z89imV$>TZ?zrXe^1+)|(knx+}8YrzE19m_CWt)Em$F3s)@fmN?lHk7>{!2gb{b?Gv
z78EUwYPU$~`?Y_z7uy5l$BwD$#$MRiU73=tgDB8Wa)anGZ9aMk_J09{krRkCpuTtX
zd>pk__)GbRi*Rl2j=J~2Q8q-bn@WYIW{5u872wU?^<!lpsKf)gnUHe{`}Xdjt|c`y
z>AyRFCFc4)7XL%-i?x;$z05PCf&+2;y}TOk&@px}eA(0V1ccCOAJzf_da<596Yd4d
z|AAsWnC902&SOb9;C(jD<KVXKS=TFZuO}l{FF;HdM0)A~?1R?5|NH%K;{50_QmVO(
zuKMM33bNDGl*a-SXTa2>RD*j%axSx)b#6rsMiwG!h67ci^0U%{B^Bs^c8*Jd1rSO0
zXwbAL+4{TNZ@7VPoq(z_CSZuv=J%rh3SLJ-NvNt5sDn>t7vwoa9}ii1O|t(RFuXz}
zs8_CgQd|J)r*J?yn990#%)T|fH-N-ra(yaG3OJt{-=v<5J_nNN0pPuV;sF%RR~N(!
z2C5e2uU><-++4#afBp*t5#`0UCLYh6?VA3bvOkh~))b`sYnrcDSUgRE_GsXMuN`Qo
zJROP8i`m&AEPE&SlA@*S7+^OAa=bpna#7G3PHK|!w*(1f)T;7$nbZ*ImTZCVJ~(T1
zTeJLH*BPr*ss_%LsINV{;DVsg;2*~#uc7@j&bl;C3upfAt#^qoH#swyZsmvfCgy*~
zt2%*C9KfefN?T8KGZ`n8s{IdDdcN?MPt|^2cS5&aSF5tQ!s7u@8a#_X4D7qVd+AcT
zbk9Qim>f#TyL19c#|U6T^g>g`z(K}3_lE3?_)rsY)m8dS8B*rIEeL%-_6MP+IrFsq
zbw@*rLK>FH{~_wDqoR7huPFsY2}MwmE-6uwPH9AtmJm?7yE~=3L`tMvT4DeZ1xcm5
zQF;)8p?S~v`To}XmrIxT&U2qW`|Pu~;)+|~@kT()_8IUA1%ZB@G@Qdzx4gi7q<{TD
z#k3d|VWq>T!Vh2Zg=39*!;{oFtKWQ+yW4RzSz%qY4q_7fVv6Il-ldOMoS=-WfDfhv
zkqeKn{*kqI3VS3F^{s)ZnYaCn2G#~3%eq{4g=>g{Y&Pls{fXT3X4t5+RcFdnb>|s?
zBuTf2Ae^uww6)T{2zj*r;tQKxYciEI9~O@#+&W;DX53h-DGhc!Gnf!d>a;p4Q6Z#f
zF<ZO!NE#174$wS^<)Ca(YGLL`qLTh^!RhXP%Qk_|OR$2}d6lw_iZ4KGQ2Y4nf4evE
zaSk!lZr)~{(;``Wa*M?b`vfA^n=);g-|Qd57Bi)e&RYv#r4K?kRHCm;LSfzr7>;=n
zs+E^|!)3{&jVQ(m-27hE2tS7{#1=2)^+XlT0K(EV-XwZI!WdWI?JluWZ#?_Fny=gp
zCh0~y`ln5l4v4vHDEeM>qY`7!%(baO*(Wbo%cel;;bdkljAE38!Z0)IwH1{1UN$c!
zr-SEN7qGoK37tc_FHkFV&baURWN9htIr&%iq-Z;&TRHVcsre>q?9}Yj8nHv*-fVf|
zt%)vt;}zXg9BhJ1GoyLjPm&_+m=8PxkwdVKGzhr`ZF%))Co5;Dh@f=$XlssjLfePd
zi0tDm)2lKBOl#a~)Lh(ph5D+5gI&O^6Z;68^r%Zke}c~~adzG4Wx>G!dKg}c5!=m(
zVU(qlvZ032`(uU4C4>6dSy>N5QC>E=l8&4-827uF6yG4F1Yac!Z6gqT+rII7Qvv1$
z@lGoMUg%4o_Co7+1$2W{+t}|ZG3WSd#&0)9xX!x9bVg*nIT;i(uh2i=#s`s?vwt!g
z3j4CGm<*y7YQDDUg`!T5GGBggUm+V^Uncr1X`Ot>7xKT(?W(m9Y@ip-GD#sXA-BEl
z;!EF!m#u2(od>-eGd2SSkda^2+pPb%Qn)zg4Y6P{()GydPH+rwJP!%=y#e}KRUE-5
zmP~6%R?EldW$Waj5P~#^*V4wHJlS2Tse7le)(?4WU)|M*^RocGg}@Otj7P(cU>(wt
z8~H-BtBVJXW;-h92+s0eyenl^f>d(cP~s|vkOvf?u;q|RNc)x;{-Lwd$vPP7bnNeK
zIrn;`0{Gx!;#?SpR9HS~RBaFQROZi&-+xo#+}A>wq#38$IOg%d@lXM;@^-B2pJQz1
zRx%Hj4jw2qtK5$vj~6M}`mU@ecT6)U_6V>XR?Ew*rm%vNBou^RRVxs5GU<Kyop=!j
zJ9~)#`t;@Ep<&m;qeSQn>pykw`0HcD1}FG$G0kIS#^z|LbUtt^yUW+SYsQiby+fo9
z69*)zvZj6xT^NS!!hYi>8I(56++6Qv3cwWchtQ$V+;EP!8e$hWWQm2P90}x13Q<}n
z<+ANK<a=~jB-c@V<n{CCNJwM3P_4<VB4VJ1vnFGmceXZnopIyLy6wx7r4roZxCs&^
zMu-G6Ju&K|YyTkP)+LOEc4l||mRPg^D}MSI))S6v{xP@3AJerB3Cy$~Qz0ZJk>l6P
zTGmx-o=$S^zCELg_kDWIE0|&JGXJPe;yjJqP_!#%qA28sV9~P1J|+Y8%EfW3eR<5~
z6WyJ3@3SuR$T=<kVWExPt+j*Gc6M38sN9p(Sh*^jwxQJZxJ30yn^yxSS4~_nI-YG!
z1nz$m5t(F{tG#eDVrgs3K2u3)YN%2ge{sf5eeY+Zh2poT1`KQZ(fg*Omo3oSM<c}|
zF6bQbqUZUMNYI|@0Z#d4x*(%YMYY=#QX&MkmQ1_PT$JPX_78^HW^fZO>Lk*VB>Fy#
zckPMoZ@BB<K6?hU`e%$yzm#U3<ZAUgV<Oco{EOBi!Sm`$U_rZ(Sgq#eOE|l(>4-Yx
z&KI{5(M~jL(SC{;rfeI!1E)aooY~}Y)1h;IN74DWBAaBZFlqgLB&zLP<oA%FPc6lJ
zQ&6OM$Td=ZQ%{uQ<hZcxrpO*T{`=j_^dahecj*Er7$R&8pWacs`qzIwSk>1F-9CP_
z&pw%mB1rPo8j~TQ%NeFz3kPDHWp$a}Le@mAt@>`N`<*T%&V8EOz)DyV5(vk&`raM>
zV3%%;G3GiC&tD=nYR`!mlsuD%2wxDgks=N=<<;-s-0#@<ZO%BlEguiey~*UPH#~5|
z<bb5TXiVD6g-Ce*A`13`B9Y53mcAO?=VweVvX!?Z9Zxz5W;i3JFOC|zGk)>`cd{il
zS3kp|6_z2kV!_FJM0?iiW4xCYq);Y}@uL2Oc(F3|iaS~m=x)pdhuDio@5iViuj<p~
z&#TL|nHPxh^(jw|{{1E6DC?P?rC^%tKOyNo!SPk^vupmg$URXt7B4(^WBJ?l{u{r_
zpUz-@Y5;&G%^PnbG$gIA7*LP`Phx55#cUL*s0Z<qB?T_zfx=GjKQQ81p4CS0>A36T
zaw#s0;~AP7v(lDw$Buuge>~lQ<CqTu0W@bd-sifj;d?Kn)zag1sZVWofEM23(Xn4r
z@|ahu#(}~0i%2qpV?ay3_4DnyCXeM0d^K%0Ev4*{rwW6{i`y6lhp)K2c6c32&+_fN
z#K+1gEeP*gB)_7~d_MKdLe%p3_c!YM@lKaAO`u2g;YTfdw9Z-A61=46F>G6}OP)?p
zwElh%*>4v)06Qu+#RnBDC8VUon*8myhYx*xuF<-LkutN?b~0`_HW|X90<6*ro0jI-
zJ)#lj8Vp9-(2j@b-;N;ajwwuECrn>AvF6n;{~GD56ZsC8{q*Q_>)mkk3Z73I2z(Ms
zxV-?`-l5Q=h^(6a9{!V#RAGz<6pLNbNa4%Q5Vl3U;yTBPt3uR^9gXnPcIc&FrVCBn
z1Qmzno+;ut93vL}(K}et*NG)h`vBuM<dKXYu<DwBd-2`8q95*Crdq`AoSDk<j)2zH
zU7S)7nTi`xq;htA7i2sxt-|gCai*H2zUW9bB&9oNvL&r84v9?f8%bqgpFoNF0OdNB
zVZsMx&)BV!^CQN{<t=G6NaOxzm{u-k_N@(3Wgxng7Ev1F`1kLD)F9n1RV>8eaGIKZ
zoZCuT7nHfL#`*bfQB%Duy?z9oBnv^Jyj*g~bc<FXz*iIMm5-_Mk5Cpa$snf&M!K*j
z#6S^&VT1Ucjk+jxIg$I8&*PxYiODkOrPq0!RHTlTl`*V83C^qoct~Q;rrFg*H+4hB
z0-Dq1iZ`z}E3Eg|^x3pbL&cQ*(WSUJ0U>%I_1ePjQ`_E}NjUt6xXLup!t&4lz0qn~
zql!NtvEBz$;lw+Fz}USt>tYdF3Q)jt9*g&RA^i6aTj6y{ufAn+aVEr?oAS=?JTYtV
zh3*<|IWB{v66l~&_A%<j8}&R2DVCYnV_YLOIQejlS?qDRW1IGp?dvr<NMTJQ53#N7
z`m1S8i&Gp2?pmaLh~J~N>oZL5)W_MzCI(h7e}n7{rk8CiyK4NMp1R8i_Q|=bcw0|V
z**PBDqBX`$*zlqXCsBF_ilV;qw_%K0dOTE89I>sr2f-4&dV?Z6_r&p{YwZg`gzE+-
zcZ#)~zRXt?_1#y>(SZ`3hJX!^jp~W2cxIq!ArL&qPzk=PCfKy}%-P}U!p<YYtPh)#
zAs`mFBlX0So4LkdLiBOuJZtN74X4RdhpM@u%AfQ-CDBQ&p>Xd>qU4RTGjW)vpwpS0
zP)=(1wLbCRz?1{MF`OYhMuN4C-LjVL7-gfnj<Kja%)jL(-R|o@C6$Ez+K@!D-9Gc0
zyLHbhYse(y_&skt_cdQ4$tQ4$brZ9`t<zGgzJ&J``s)Q^ue?Ga{blGiB&T!1$;V1{
zN}gg;N=SD_EqYVW!PZ|~(&LrhyDW&tU;EL3kv#TAg9J6ils_N-pJZMzq-c|{a6@Li
zjtXM;l`adCeX0<MeOXAz{ClxK-g3mUf^9}0Yek^Ro}C~iY4QGN&*#MWolD$^1zTN2
z^G9AvPa(52r`0xW<Ve>|E?SKE>X7yIN?%j?MyeCO7e}-!-RF(Ul#l98Vg{+kVXw}w
ze9Wdnyr8lF(Ino-u~@h==Kk)dnw|Ew)=M9ts!GQ34!5A26YhAm@*!;2PnPt#FJA8I
z9M|eojnw=+!+)f65_{$9EzY=C(#wh}t$q4KZ-D>?W$ep*5x+q*ij(xbC3XOI2!~fE
z+0=VB@QYIO5Q9OPMtIbCr~g%<Tlf`<MaDTtM8*v`tTOl}k_Rcb9YSPpu^ly+XBD*=
znyn}ax<WJoH=>Y9CMyaKalFqgHk1~bg2On3-=0mcUB`)o5-*z&l1U2yTpG|R?xWsY
z{lk64RnCPIqRXOHsd6;(zKS!L^Zv@~gcy7oeTvuUd5%Vt5%W%50PSSHHMim}@Q>n}
z;zZH^CbYH%cp?zs38@vOzvy^~fA|t{s<0O#W_%e}Pc%TYWcJI#Ye=%YjsX~eb;iqC
z3s*lvx*!^v)?FIRnn22I3a-%8?(2y|<FoIARgYX<7+lA!?phEM9@^f&J9#O9CTN~i
zr*pCumU@_>H%6Q$@e#j4g1QW~lY}<^C>8%`{|H1pUokKG8YG(F8i<b7WFqVsesRKT
zUYWk^hX>s#K4_f#3+OKVVTcw_?^Y&7XGaYHsQBhv*92<_aGv0OE@~dVhD6YZVr+d(
z<CF;}m(=UAl~aCE3J|D$;4%CHtqe<+U`><#zt+#IrQunl3wtc3x&3#wi2sb|p1gJ4
z<P^-LWS`$h0D90DKi2J!JxeYzH++A4>B&6^0oQp{1Z}_WUU|=P8Qwo$=mXz7bKgd(
z)uC|0cU_;)+uQJL_5(H=>tQm`fs}~bdyH-q`XY%V&fn997)x%JN8VX)py|+s?tgk)
zHw0^3H<WHrN<r&w=<88W_p!gyI5c5kRjsgKf5oRWEvC-@BTjbfh2jeH|DLj6ZWV;I
zHIo38nyXr0uW@Hu;~n+DHm-(P1b|w!3JL(VY0$1Q%Cw1DzTr*LzepH{CK$ATFwj(x
z^+or0EwKscRP8_axlX&-*Lx;PlRAAa7wJ$8!)(ZeCyoiXtp5Xk_~e3`#C?`^Z3Rpa
zyh;z6dLNAbM5NcarvDcmZ;qQAW(&JMLk3HD*8hi71;rlMMDiMZ5m0(8*f?fcg9tmL
zmHGI7wbJ)Dq)ey;hWpe@zuaQTT5>P>!TnPgfKEGz3>)V@ilC*`WGGns-+x034u<_u
zoGQ&&hn&(cvm1@`hVoa@G1#gLDX&;I^f4abhnSA}9$8&b<&Dvtp3(7GB|RiV|E;ih
zC4BztkmN3F`dUX|JT5^OLllk&m#UpM+=DO-<8UtnGJuoYT6n3r)J@m>t-4@-%(saO
zj-b01ja8x}_E6sVy7VCI#LoZF(HFZEGqxrFefG2!eeKYHQP4ktRAHS^=(TTF7dyHs
zy?_D99beBba;2QQ<y{O<)KjJ=0hYKax@$^KxCM&?jS};vmM!(Wf0>lg$#h1mlIa=c
z@==VupmfI&Nkz<h27dwYA$=MUNZ;jwfUHO;%*O&OHW7a6wC()X+-pz)<9pT-wQjmg
zv0$51`wy(J8gF^`qd)CpzUJytzYn$lD>Oh3I4d?Z$P|Wf_{Kd+c*K@}@#I0Y>l-Iy
zISn%+Q{iJmYjmTQ;C~y#Sa9wrzO=z3{lZi13ng*^#%Z`Zkf{_H=?g>UrT>R^tb&N5
z_(U#<XCmVF1k*<S9|71Ec8Uu52;igTzYw<U;FVI@MTf6TI0V<|WWy7_GRLR|Q2#X1
zz`6GYP)Lc{kFJ}YRxaz`vYp72jQ}gn<UOA?RE5>bBoGa$AcJ&+rG?tJH!-UKqpA<D
z77g+?3_)j2p)FrWOFoXxXhOmAZefJYiTpYt4ZA1i9ihV|9Xa)&iSQ^d=~o6vX7ulK
z0!&@}G~nV3$NZ_*Aa1A0K~L42XzQBKPetZJ{58o?D&8Zw9eb1(DFSVwASI{W#-q}&
zX8Xx!yR}LAti8ofz{2)#jtJ>1QMO&J!AN?1|5NnGUi;)m=+V3dS9fW@EXWV>9<=PT
z+O0uqzF`7Jt-cj5vbJ|Eu-H3UwQL1M016<GyBK^;bOG9)i8amw;SNhmTuDU5&wt#>
z-Ny5ii2@d1kg*m3SB37QyWae;XZ{x#`w^?KdK#8GO{*P3xB!cQ^;OE`CzHLT+&PF&
z-x&(}H;>1EPlciv28HygdozF{0kW%;F?FK0s>M>Iiyheo^j5Jb42N}<AlK}`(9;3Y
z=L=<^Bqs-R=o54;`L1u@Q5Q|e5c^e+^muNk!qf-|p1t`m@gB&w6VT>9vkcZDIJ>`7
zq?G1Y>)^n&h9<Kahmpl5Wz(_uIF#!*LXx<o?u}??$T2`fJcR6YH-ci@$IVXD+KeTl
z_tgE@m%|yg#iTcPLgO5{rYU!u|C_IMclgjbjdLYifo))(J^@4&ZVq8*XHwxUZ39{7
zhf6WT-fjL?w?{Sh3%$%z;AnNSAn}Yl9Q%$qn!V5-R1?WMsoZAZSazMf<%bQ=)~@Fz
z=-DvrAL;tOgaobn;n?pINKD|p<RU<<@$G#X^Nrm@Vvi-}`i_51+_p;kEbDyewQjm5
z?Yycxj(BqK78medx{<V}x}nOKJ(YJfsZaG)g-6nd+*eGCpHocnW$;{{x1&G0-(!$)
z{CAX)d#>itsp<zZfeKSH{K1XEe`=@pjBC6j%-$lX^uJH{{e>>zl#U>~@Nxp?GrPp^
z<3KUzVo1DRhOcRY;?;N&!C}#_Y$F9x_PLy~vbn}uH<E*diU3HrD^8mP;Dpd_OZcxT
zGL?d|zV|dRH+=591Dfn}FZY~DDI<UEgd_&OFm5ja3Y=PoEk{nIis6FxeCGChORI@4
z@=m7yWnXr?B0zv}6`lVWQVcBC4XpEK)U`urjo^{f9tV8_vd^DcqK9~D1y|I5XMaAo
z-BgSxSaEmgq!_6$uW);f^C7Lv)o+oKD|4=z#4%>23b1p&XDjOCm)AA?yEEjps~?vL
z1;vU>dJK8qTud2{rrvYIyCq`wdz6Rcd~<lVXtqeN{^>1Dx=L?zAP6>Zq*ws*Su3+o
z_8u4<O5^?`V~eON(2)^({I3lK<~!rmlflN=E4Ahbb82am$YG3gx|arrZzf`8)c^aC
z8j6acf=!x~A1|)S4&q{2Y5{-X<BH6~t5_pixWz+z%c0{CV2tPQKPTLJv#UIq`~XYx
zp?!I)UAg|<&Z!{?*HlXYQ^#fPoJ<h6q<;W}90PX#J2=Ivmx}-X*lF->09-u&{C*a1
zJMls1@%EQ4sl{`QG9#jnOy)JjFSBhKz?<MLf10~<3K72%2Zh#eqH9TR!5FIt@#x`B
zl2@sJAbIF{xXRX=<CS*sI!Kt_FDumx*B0{o^6LD<M*6Z|uvKCgG<u$vk^(a}Ss~Zu
z*neHkfBi8+n1Nv;e?M$J$IEest*Y~~OPhbj_+xvk#hcZ%bLcIQZ{#aV2#I?ecxR2F
zKQ3bdEiEs6xc`AthVy#?qHBa_L{RFZ-li9a@V=#0y>=51qTll6COK~i(fOif_F;Eg
zv`;eJ@;BT<L;yJkLtOUBmFaZ7e;=QBAz=uJB`REKPXm=g1v-3}&HPghtxY6aUhog!
z<s0r;8l{r5&c8^K*~0CoukptKVs6+UVoD4BuChms&E1MW?%bR6l%n#WUmJtH0(Qw8
zio;mZhS+>5(F(nHEmH~|3cqV#@NM746@pnwJqZjpX1bun0{8@)f1jXW3fDik%?m46
zyq8_5Y=&IOqbhrUAUl!vTY?v~3aoG!1+)I^zE3aU9?3Uq(-<{Os3?iYGQgxF2y1NA
ze_iM?-->Tt)CT<s#h9aTKPsDR21)U{h-?ST#UShV?8h*}tq*+t0Vqm~MIFn|No=T9
zb#)PEx&rjz=QoQoo`ljxr@Xi(L0TELL0$}si<%#5>-CGBd%Wq}K9lX92>&MAxBcHN
zDC^EK>o}u<p(lpj_CYlLGa>}x;VYd>Fcl%5LrL7MhL^CKhK=g|ZHeQqrf(bC+;?0U
z@93y>F$e4-Gi5qk<elq=n&+w-Dw|bB5D)hKeE9SKzT}G5=I85W*A;(ytd?z?%8=1Y
z-1$LAaMbsv*;r$@q&w$cwL<x5bS-XlZCWu9%wRlI;m@lQq=4mG9yPBKQCe)Lm|bH)
zyx>2Pde_h39lHn82D9VewaLRyaEv~iNSvdh6`tL-Bo90h53g}46}Brybo#`$1I^ip
zXdl)Unp!mJC>&=3GwI3<=ir|9{&#Kt6ifSI&c;GsN_|b53WhUI%Ctq-%~{B8K;Ac(
zq5{_~4I%Ki@J#Gx_BCM7vAl>}5jVvwXc<F~j#Kf8x?yXVDY7mdk+fHm>q{T|p1@<s
zelDO>dazXucbB)nFOy~V7&Q&Od_u^*AV~1YsdPq73iyu1;@#>}7N)lf`vsITLf~56
z`uaqQDgHcvm#0GXjaYyN?7G-fH)@min%3t@JSF}zICwTp@(p`^wM>fmZ{nl77jGGD
zo*=U>GLKicc8J1Lm>G}HP55_`gv|XoC$SHEms`<!t$bOu_|6phh<~Mn5aT7hZ&b1&
z#neuauijiD_BHix98Qb2y?O4ro3K<is|+!C>UzR8N8(NIb6U@e(-c@G+i>A_4{{+U
z=AsR*;;p}RLaKLZdbpVo_FEtYFr#TJ)_R=#3}pqIrn2Y8X_KbuRl(Eak4jQGs*ia`
zM5~dB&oScOUYnTWLodM1D$xGUHr&d0&UGRFfo3!@7cFyD@BC1D-9M^d;-iVT1<{;H
z{gCE|s-K_yw=z<Tbh+p&wwBQ9>j{0avf2fQ+Br>+GPm6NA2{PaQf4{bFaS17xz2xU
zsTeq*esA$vrUX<3bBLujKkv(jYR3S1S6FsQbFQv0ax<fd%6t|{KQR!0b<l;t8W5<E
zx_ZMLFH^xx$8Rgy@qDx!EP=z64>Ai3pq^c<sN<Pz9K28m*3}rM>7CJCcjY_ZQB2E$
zHC`sUMf~z~BcDrD5GlD&$2bzZeM}Fit&b45yIm6-a3CJ8xNG4uGFf@>qta!FyZW!O
zfuYBORpNth-#O6=;p@Y6Jddi92Fy%cD4uM6w#fCssh7uNbkmRrXytrzAD4lrz;|G~
z<om+!*)8vCP#GuvjX)+)=Ebx>xS`VW)Ly(x2~&CxMyM<!e&tX5W93C-Eux7uBV*?5
z-r<Y~yWd0(xERNZeKjEU(hw|lSoMYDxRHpmGNxC-{GN#f&+Y^{@OLM;ZR9I^(M^O-
z!;2(VX-Uc@BALW*IP&Dk3i<Q8_}aRtLFY^~I|z@4<f)9-g?!X+VU(+i+NSWPcvgph
zd<i#7E4szo$^EETGAQ=xf<zb8s_542uuenghX18<?R>A%@E=W%!t;H^pB@plw-d3D
zvu;s7#7#I;_*&BD99W6F6&4&9w~m{5U*vtpnopf%{P4I=6%?$0@8M`{OMY=c?d4>i
zyhQvjr`0KO@NcP_JcBH&lHfsLDSa(Au%uly+4>)4Ww#5@SFCUaaw&hKH5xFnB#S3=
z3Fwz~FC|jks(j^;<3X)#>^oDO$=?t)U9VVuVsPK7wRBy4=IW2mTZMjOj56qJWXQXR
zd71dF4usz%Iwuu2&~$E!A)U5-;fvcv4K!)&8MewC4qrY9FDndZc+(e5a;{B^oUR@g
z{{6X$+7;i&o^4nU`R(|y$-elX{8!@*767VZLZS?K&jh`N_2{}@bH%XyNyRZI7T2a*
zB+&jye!nvT0hO*RUD-CIbsfeZJY0g}el2a8DjiS{o=J}?UQUwk;v4h+F@BNsexYQD
zNM5l5l}E^zQPOh4lq4uet|uBp^8D+%*C$TOp32Fkh{c)AmMdzOv{@9xXk<&S$o6m)
znVOp#buWq(*<QfoZcN>0Y(tImHIzr>9xs>coSY~uA#L|xad_Gg3B|l5n>hX5vTjFP
zIn0TR?d-YMrLiC(t8bhcJMw(`eDdhbepR!{obn$Lzot{$o=R=*^0ZMy@^ien_0*tL
z)h#o0us%2`{ZYoir9<NH=hcajeQ7)QRaQ;g7T5bGER(MaZA2eilb#E&3&9fBbh{bt
z#+s~Vf+2-Xn=3rJ>-pZ-tPq3Kz{RvH?{xbrlq)K<i_bknRntpUx-u~LKAxAkTqGDf
z4j>(nRIdKUpK5Ut8FX3JY+7rKkhhrnHBcnz_rS_xUq1JjG^S-4)~JO*wQ7MjBty!r
z2YU1w5ibzwcw)196AL$V(cs3m64x7__BwLCVCxF`(!4Jv|J7aSj>b&_wiu{rV!4T+
z`e3T)Tn%82EsPW>0v<4)DGZv9q*Y?x{VlzZ{CV-C=p5phgLLURt^C7Bt`?m$G%EEe
zJaxcT)*U68dI!{5ARVub&{MeTnDgq}z-x?n^+9*J36G&IyPVNGeh&rs_v==fi&QTk
zUr4vgUq7|HV<E;~6(PChVJl0`KWbyZq9G6ShG93p^mUuI<p}*_DidfH<TiMt#CD0~
zQg%;{u^1cU_o{PS|05En3qMk6bun{=1P235Z%C~pbQvsM7u3hwUzH;4(VvR0<U@a|
zF-7iklLd3i52N(6PVSTkJ{Mg!EkY@K32$ki@Xi!by?3uTZi)U3Nt@GGk82%PJGHXu
zQP~iR182xX@cEBl>he6f^6XzNt|@j}WYsQa#@7<6Su(W_Wio}IV5Krn`Krpj(|kYy
z(p$#5+>@))`x~mpGP<qsD=$SI8UC_dUf-5QGdUbX-p#5s|0+-4h)Lf-R+5%Ty~Q`b
zou>XNa(G%$@Y<5m!G}fXvG%6u7!jX>N~4kr57m=_@cKleon0wZPwByl;3)I(UpIwy
z!C`g)3agPy)z)Zqv%BQe79!HwcLWa7P`}hz7j3p#%IoyOI;M@WbMFRI-(GW1ywn!#
zy~&w&r!aGE(Li!}Gj}2yTkXolyJ4c26%2qG4NzJ%$~kFvL%|D_B@PJ~=-3?;h@KzP
zJ5$fU=cSxu?JvvYt-}-ug?nVuTp)7p?Kkh+X-_~Noe}$M6F#|H?|JCYr{Hqn!DB)c
z*&199G1UcWqX`S#BUVGA-y@&QHv8oJ%vb0Y7))4%`odi#6upt$D&mlAdnW5y28uDu
zXk=>KCy>}=cWUU-jcQuX-7a=HeU!fujX1v7%y+Di^&gdC6Niww5;_Qm<K1U-An)tb
zv@%Lb8)Ow@=kC+qfEq&DTm)Ho6GI7X6=jV`Dx!KcdpvR?c4;DTNIK~Hq3j)jOuMoj
zim;PiewJdK7gw4)05r}L6g3NRqG~{-I-Z3&o(Ur($l@?)bMv5k^WpRF_22smED0g}
zKTPPg0^z^-U}u8o{wL^M{9j>8gD)s$j~ACYgpksxY{LY(RX4Mo9nns5{|#qdeUY?T
z;XV2~=N0}{GIxnalvISQACxGw9SQe}K34ujk`jD++-DV<BYjV6>!NqI5VEjdC#<$d
zIPDGbmk39=DC=1S9p6W_53mwpjj_q)xus05tkN0iKrKIzPZU7Qj`q5^Y*QI2XHX>R
z>ZJh_iTf+{=~hf85+BT`pVO^vNPlZt$E_rIXgH|xqL_M~x7!sC9yre-3*S^);b0<e
zaIO92rRkC*N>9p|+U1jPYkPtW(s<^TfNew2pwEDa`Z0}W6kR<Of0!^waJQNke`3`&
z50~g#RNhN+Q2*|Iw~Uk?)If3FoeIG2bWP_eaOHPG!<d4@SNrvr47C0$o70A>aT2K0
zv@PSKl`Pgz9HqUY<+q!DO{-AEgDlmIedYKK$8Ui#Z?T4tt)@4;UiST$(QujxV?8`?
zB+QDfRhaP)x=&ZT<iVePn}5vqe=pRwfj!VF$2AhSju*Hhbn{ogJoBMlww})kUda6;
ztSx%#8Wqt>bza+J+5g<W>{z@Z>Z~^2Y3gUlN`6`UKz9ai`Is?WllYWGRRp;P79r@#
z{nXP9CAs28AjqI8cT8MVmWmY>EBW?XD#+V&3Vk3^D(*Z-aQO0#ojnWRtoVI^(!IiV
z;%8rSa=W1KJd0q0A@gb8jwl;;QgsaNt%{}>SANF)xLi$h4>nE;vT$<o0Ln2-vRwjN
zTP&pE6BDY)`HHL)TMB<;+nsq)_d{fw@3!#JCn92^ne`J!EA=HLKKW}j4hc-iW?e}$
z!(Up{dd!B`W~Zg_)X)|0m^?YervZhg&q%j(OQRg;$QM^dSDV`Cob3|tJckSSrr_{q
zv5LuK1QA2%L(ohrpQ{NUC%b;=2$0=7^^Q6w|BXJZF-s4$lSuSFW}@we(%<Q96P9vd
zIM#hT=YIaLTMotlM6V=mUVm9bj#h<mTE4I1Xj*5_fv1DIU{piM^ltV#VjM;feH*_|
zJv1dn4uU0h<U!ZgD8=yBlBGK8O#C+#;8z3^F8Zo4x?Lz6X#%MiAi>ptj#k0Q{JLf8
zyg2a<yX3!O_xe)0x_#Cit1gW}<3f*^L#4K~TYgTEh=H9s`4u#<J==u%0OMlL*@|wI
zUAD9-bv$;KBq)}!64!meSb-=CYb*`wx_@*xi1;}Gln%3z{WCy0bZN53uKoLnuV#j}
zB$enw|FukL+-%TvB>8KeWi;_fU=&xW{J(osS7_fyUni@@?vuAiT`4!7Ud3~PF*LMF
zKq+)EnG)^`@s3|mYZY9ZCjkj=u{e!?rCf%!m9F34>}}HoISsKJ=ulPDMkwu5{n5XP
zlE65eg~I?4y6Z5W5JU)t^_6<gzIHIij<9)q$)8zV7FSB7{KXY&53=2@3p8HpYb=c;
z_65-K26zZ4r)_BnU-tAgSO6)DgxY$ZA*{>6#DlsKq1M5f*BX*82$p>5%z-X`(!Ygq
z&u{2@9GpB|U!Jva;cfRMTQM>JV()_OqYL)8CbGDxv|x4sPRV!YrT|lPwNb;J4<aDY
z>AGAY!pCD@z{f?JfM>n=mCxi>Ds7NcVjq)R=Hq>(9}~n}=vvNJ*oL`#s{Q(#AQ3?N
zdgY}r2^1^R%$>0lm7#TGKnlZJ!@;x8<?*P*XC1klJ=GXN9gIa=0MVK5W-K%+rzc&l
zhWF2e<!NTXIDEuI*$AoaT7{~$R(=#BSS^RHg5<caQ(Pl9**#_urLkfROv5Yi5U$xh
zPmg65$J6-t1tw3{9lPG)zH%q~p)fT}X%-gs?>Wv|2xfltsONg$0C*+WiYOHZ<mED>
z0y^ja%s%FB^7@JvMaaM<vHJ9aZ80nByZd#w9gq`&a0ZZ~0_^x-hmeTVe4V4H!qe)V
z{lP?QNwo@yuhq2&eg{*KOAs8El&rgI`D?ltw4NI5Z6sK|D(-cQ<2?zVh#ljZydJ5b
zTp-Z!3&OqGkLHwS2y0kv@@z-<zl1w5a8}cVMiB=fq?Qj%2)UVoeP26QBO*VJiy<a?
z@DAB>m95=m&+%(klBSdm5%j%SJev8i+j?5DroO70Z&fUCz_cGC0vWw<Ltf0gg<zA#
z7v1OM>tw?;YO)u$*dOq6g7vBs@Xr;h$G7;?A8@NqKiGc@HXdcqucNTVH2*sR7J6r!
zG)Ugvap!%N)zi_GfolSaMsM(F54)vx3`E+pSat}q6tpgE#Ycq(QvnGB2bmg4is#Pl
zKTUQKiAwPzQj=T{6Oft7AuxFv#PM2qBc^9Nf5@l6(RuM?(3h&}7ydXK76ylbOtr6_
z%`d<$`qQVzvo=@G8iXFBWu_qW#tS+_vLc+a7f=QCJfyMncswn-ej1)ysmhbzz*C5#
ztD*fWn)pTwE!*_j5JZ<e$&VMN^FJbZueJ=I>yg;#;CA0UHc&$*BoU8lpUbC+bh;_k
zqh{)7w}c*`e?%JZv+HJV>A0&6yEr+J=n3+g1ef`38LcNiffz$VBepF4pnWrMIO=^1
z)NfK%(;R{b_j4%D<UG9e#w2%#K85x%Z#fZQa2Pv}Ju{*oHi?AWV+24oyKSkj8Cip{
z5#&l_7(Yqr#*<~IuuN2yYIVKyM}W$R<<}WHjM%Ku6EOphF9I)4wPHDY1Li>zE0YU)
zDpe-!HfN6o*y7lb#5Ad5&`>CLCIe-BTBpaCTDI3%6XbN`Uxc@gkzRrvt{jiWA4Z32
z>h#(7(%p_)8o)YRJC7O~e2mfc88!!)^qMDPxo$llkHdW#kjA+uifB_tAEWs9eNw9d
zm)PNl7}s7LL|}*sz!_J_2TIE9Umii7+2g+JHDOpl?`QXPYmJ=Vq=-qy&`G}OY4V%&
z<c#j-Yn-lc)~f-E)vbK~-p^sWgx6i|nSEhMjZe8T>Pi|)93b(G)R#qdM`7J0_cX;=
zcu(3&57(g*m=@bgH)N_%nMsSAX}6?7t)~32n#L7>64(s1hqRvlFC}dbdUF&`UP@<g
zNQ3E3D;_<@yhR>g=a>&rLDTTIWX*YUI1O;v6QM{%f<x^&MJMSglk?h!ab%XnSXAf(
ztoKF`G`odcOUBqo9D?9Tx|ErzZ>QX5-zsmVh$#B8z;Uy0>`#W+Vm`o)lWuJ?$3+rc
zz8D2u3$-$|+YX*}jEDLZeB#=L4Rj0L4*<5=eT4O_a*B(3!SiV4b?)v#h|rq{SQyM7
zqgEqi`=Si2N9#}n<GeZg6MwOG*v0YmETD^Hs0upAwWsA)8}Uh`G3JA<hFtRaJefqM
z;$OKQh!7i^{La=2;86xPxE{mLOK;-ms!Ed<sh@0GQ%jHD-6EiofDajuxGPp}&0@z6
zXW*8ubn{;v@CKc~b>pl4x4lVwtx?GpB$0cs&deOwqi0|S_W<s2yfWv$Y+tp?otVvU
zWmBRRKQr&0XVADBkl}EO;eC#n&>ocv$VVg_&lC%vNKpNi9u$QOERacK(zo?7{fwgd
zufSgbjbUJC*%pZ<$iv4bxX;u95t$vSpa<tc90J|asL5K<<%fVRvZ9X`(@hG@STq-E
zy!W_Cwohsb*FYoOml;oHckwG^RlnYQk_LK&+KuptX)!O`Hg6@-brh~xeKQ;yQrHG0
zF^frbNNl;9tMaU<>#yJh{`~X0jf$&QGNT-fQLf82k$bn`$cc0vOw)E14vb5aRL9iX
z7)K*z%yW$ik3)wwx<N^4JTlr4T3H-6xS6L3kXa$(L?Uw+h|t9;7G=%iRDL${N0Zl&
z?i0)1xm*2W1&8gc{u}3l15V>NH=v#%-Y(%7j@Qk>a)kL+Aq(>PXZxF7$lhp-7_=*4
zdxqff^!cjjM+_B~S&3uMDa%_@?Z%o`(w*QP$Cqj?EngY57C7c}+4HX(Qn`udWFpSD
zT2SUq*a`OXd+Nqloyk?{@CK;0xq%bg^OpC`)Nho0>A@Xna{{qAaW{i<6I(?bBz@IH
zJ9I`mPiJ8xztmHUakq%N`r#C_GK(HYLmeXcVHsV0J@3=u``Q7-0W?+&NXLMD{qKJ+
zeF~%)@m+p4h&#hMrfoOO>DK}G(I1x!N5jd*Y)IW%Dmdh$?I#u`rs3zndIk3fE7u4;
zeI@TV1l;K9JJ*o@>r-wL)NERf;6?BqD(s+a@@lyjb!1&-$V9exuBPi8Q{b(raa5^F
zGwz<C+?Tf$Kdt$9Lo~OzKi;N%a=I2HdM-PITNAoPacCNlk5tQ&tom~=^Ob`A_i}aL
zGL474CRnr+SLc*S0y;qgGQspL9j*#b7g{rYtwm0m@o3`rV&0NppZxtv{T(W|FpF&x
z7V12NYTEl$0psN>ZVVry1kQdbH+{8H;|$T{a*mmvpy?KK-U;RTJ5fn|{WLr0XkVUG
z3~k>P5xV6b+#rFj_kI%K@>86>Gaw{xF!D#U27<wAQQ3=EAB2Ao5sSJ`BbR}N=30y`
zmnV=ooxef0<6LL>Ucl*U$Fl;q0tv~M+2qW7elMBuXl~@;!vf+Gz%pP0DewC|@#zKO
z*7UE!oj+MSau6`~#?vILRZ|Xp0$88CNRT9O$Z8k1p1TZJX!POSdtl&slJ~i_)2f>G
zIFe{GiWrL*KgGCVn<y?9;%61_BI@=}s%IF=;I@{QnDNAOJP>(K->I;Yp*0H^Bbh6r
z30_4W2Tdx|7>kXksE1@VJWp?A3jTErchii%^qf9VE7>{!_?)<&HxzP?RU}1kZ9OhT
z<t~&v4h#fTDK+Pw#&gUROWylTFo9fY6H&PuFmDbBiS12Mzv+7p7!TRt<Ji9h5P)nu
z<j{2}j-EobQf+Rqmp&hE_{lF6HJDj}rIq|KQpSQSsX+X@H2a*m1SS{dr!k;`ize+M
z@2-n59xFEwj(O7*iSI||j4k-DXxgRNX(cltT$@E1R`w1r#0Py#AET<47oYBr`Q!+^
zwNiDtd~QYWuJ1g*T0)tf!`1Whdgdx=_=(C~Cxb|8C6{PcD7d`2h7E9~<hBYTiPqTq
zDCv;uwwsybGB3V#&1SI27M{CLeT*!5dC>TC%zOS;VTS0^|IAzrcK9-RtFjCR+L?SV
zniGai{c!d0XhZ4#m}~JC>&x0A?#SMfY{}Fxke@T@Uh2q7e_7;nW3D^d$zI4#?+(}9
zzL@gUyS{MbfDz!1$=s4JIG^IbG#$x;0pSgAn#*JP{yP$`^EB@|WTqOQvoK$!Lnp$A
zS3AY_d-2j7vQQ7wryn^k_E1T3sts7Amk7%jEB;I(ex%muU#OaQg@z!{b0E^^^g$!|
zG?-n_Seo7I`_dQ^WLpD{Qhg*op7UviQzz2V_BkhZyM4Gl*L_MWBiGwSj*GEn#=d-0
zZM-gSf_5G3BvH8(8#kyM>B+nnaNE!g*eJyv<Q#G&vr5-n+=V=B5W=K{>bUW0m>(4m
zJfG(ZsLAg?%svsdwAM85HIhXw7+jeCUi`gr>nG}VZtS67ydfigD8A_kO5hJy*dFv)
zfApPG#@FO8d5h)02X?I%4GhdqGZjnVSJR)r^OtJOQa3NoJoF9ZAo3)pq7oQG$rK!H
z4WKSE?G_4d5P89NT~c*$^l2bnlqoRqrGTRn)*v)7tV4!dn*R?yXjLpcjE60DV)ZE=
z%i3#tIgGe?Tgez70-?q&G``t?r`ShRapBqEBvr@EcvS@|(^?4rh9nE10yOadgOs|1
zrg<km7`kAUg=y=eDb1pCIW}qVQmo)e^(x5n%YdL?Y!KqdwHq!AwYf>I^!S0H3}+Sv
zB|?^fQNjuZj51UHIAmR68-vbl<2)PpU%_)CrV-tmZa5@XhA>GeXmP%eUk@6<Z`v7^
z&V0#8NQbUN_*^Xl!)|Tc?yElYo2|12bM=kSI^kU!v~|js$al_@lYGCoc(k(JJZ-wn
zo9#`%lR1Lp`9hnM)F$%x0v{(^USj}+b>QiVH`Zh!TdOLd4u}4Un7N$haUZO~Zt9jR
zjQ~$RJ-=XsX--W6_Zd22jG*{Fzlr+El2zbc@uqmLX8Z?X`nR*|Bg0l?2XkO-c$)>g
zD|oOK)sRJoFBF_g%wTHyAtbD+(&PKH&z08)LV<TwpnJz95w0{)!cQ>uqa};>^>;GA
z0(3dsZBUerb(FKryGA2=Lo5~?EwnzK(PmwDS$M|zvdW2_fbK%6ai~zF1&W$g@Aw<N
zKM`io?_kj}OA#Ci;XVbB=LI3R;}D#f%+1feRK4?Rs=seyKXCwmm@l)$D$&JRMVTc0
zD4VWi$!m$*{%2*m3WYyL#w8wErC051?Ryx$e+)StAN11u&7*yOp)i$aa1Gi;g0y~c
z59ZCEr!Ga-?FX20oA^&m*fFdU4@_pv$a%Ez3KM;v`Yfn7SH>8<qMja(o}Mn!yQ3<n
zEqc&o+jC3wvJLOr7rU#s^;F(UV92?XB8fPwFBw3Ew&205bI(N^$*BhxSx9a3z%g>E
z#=`FV_osZD|JV?@b!4o!Da#cTy3?SEi6dO0w6(`|PA9q-9L}P>8M&{!D_j=?<qou|
zy_5;TrX}%vgmaCms@3H}l}VOkD0Ui5dm9BudG@;4AbB>9PdQk-7N?vKAl5#q9A*t@
zWIbDc?CBJ_oO6-dT;N@2_{SgZX;OAIzbtS25=oKBLzCoUdy}WcZQweaLod-OfnHH<
z)k$dMYT6An7<qv!cTv_c^GQRvr%7%ElfvxCwD_Q}Hp2qX2rBnWAvF>;D4HlEEF+Sz
z<D7RK<(c*gTvsiyN4OZh^Df-Qd~EitSI2{F+6-+abR<Hr6|yIuJF`!ow-gvvA(7H5
zqAO#VZcz88)nk;?Na{`r8BBoliAxa7>0S-lxF@Nr8&j|1kAGwTnf~7X#@niyx_r|v
z*!R-?sqTm?ToX%7Qq#W=5}#qo?&g`bsY2DN9uw!X$|+cX9CLT5T(<oc^3nLE_sJ(>
z`G(2&xA}OAu{(KOnA3SQ>+c5{)!;HraIAXjde33$!G(v;s48D0oLchoQ{R&E#LwR!
zb$%q-Bp9h?I%#E2UtW7UI4Z&_^>%?z4eq?M$BcFpxt<l`Rk+(pyPB-2r`duz812$d
zMi6Bi@CoDHrFS7-V~bh2rsC~C#hw!K#gIGMX`eBJ_x!2YpW3X6@pTa^E5~uqy}Jb@
z=Ndt=ktU*5nj#k1)D(F{{~hc0)PAPmla=_4$6EeRU{}K~AHRGtFF&x5Cp@ce-&;Gc
z`+cT=^7O(ku8HkrLwc}mJxeEvCt`HjNyzr6YmgDoN!+sApO8l$8Hz2m)O<i_|N4Eo
zgPrAbjjuHAGghOD(2#G>!kt=sHx}ly*kZDVh!41KsZg>X__o%@e31AS!-x1q>M0{D
zT}`b*=@C+-AM)r5jcf7q_DQB~Tu^i+CS}ec_heB3gPNFY8!BgSc;yh6n{cAeSQNa$
zHTL1aS(BmKz-d#N_haK~W_s@E-(?e57oNJaUrTy4?swmKKeIzl^WGJ3pXxSS%1UGk
zy_(qhW*=d-eG^mMK_C+avAZ5l`5IG>r|7$QTd|a?D>N!h`Zwm4{!yK8@eFb)3GXIM
zR`3XtL~(dGC?O7bacvpSN_Z&;HWhB0MF5fmnA-hKvDmU*d~kqBsVY-(WvIs3btHth
zFoL~S@})SrMVrk$JUXayui{*LWYQ$MqdfR6TJ7@Wt9dkyl&cVURrS}7TJKfd9`hmW
ziL!cAssdI+;8Y2IOjvF#;&|aE^rA>r)E7x2x_BeY4|8lWTC_!aoaX~j4m3f*tyBf=
zfSgAlm~Q`e!T5&k-soC?-gNXR;zpJg|BkdfPAn(?W&~z55bpo5hk7Z_5dF1;MbKe0
z+;SOvrCLbdAdGBs0l-IKYa89ZkBDFYoaDRgQ1H~`grtHo3R=NO2G)45>f3)+v9AS2
zF-VV$Gbi+ny+-EbT8C@V(O|?(_yMq$18Wu7cC)M%c`sDXVrK?c6hDAD9vPQJTO}VQ
zK^a^<#^S*}Jw(pMD_3}jGqE$xcqj^r*Pw75)2Cz2sMIR@cWuae@UFH?Eo$O&N>!{D
z_^lAvU~$o!rN!-P#qWW3O@%7ERJW6RvKo^7sP7;G_Wa9-{?G$2M9-glK?@?Dp}b}H
zu@9bucU|1>6&h?Tyh+d{*QhL7^WSwp^kFN4vIL&uR<ef86myRpfymPF=IF?4cP#*j
zrRw0xfa}ioat+cD`E*c9kt;8%=e6S%8h}DE#b5E0X|q)SoyzOjaNX*fPTF;&_wLQh
zy`AIP6*jcn|Gbh{YieVmL&U-R+97|vp$P>h1NlXlvF}x4Ea*OC+h(1WzxioSq&+QE
zY%A5Kza9pW7=7Wf1U<}y0!{j};Gh`b*>wO*c+jY4#Ni#sB99Z~e{jl@Crrda{Ps&?
z&$Z24{i(Z0?;v;&SoRpI?4(%MN0>?y;8UvvXk|+fi}~?^+aKa;U})l@!q<b>rHOO-
z!y$O|vh9S5ha7ejO^~{z`t<9?rQjI$=ihtmZdXWRJc+1$NLe;E{yw88Y7y@83+(Dk
za3z3*7ZhS?=;^0~%oerm#9rGBErU|dB_&7S$r17W-JzInK|e1I?`A7-!BaRmRtdwv
zk_3x&0s5iaaq@BriR6kmAG6Vo6#VXW@br6flK7Ej#>dsP+j8xPYE}AK?5?-1tn&aV
zF#-5z#;>I*knzruRlP7mY7Yh|i@VuRCQ>as(d)4CsNTlL1!tIj<ObR_G;!@~ISw&!
z9&s`f%!wP65wE=ys&4R9H7d<An{m$+W`6y?i-~Jog}}V{rF4w!Jdf7NdIMfjt9Hwb
zJqZ;DR&tx2!)I=O7y<n>LGKel>&~?}#ROJut{)J~9E$`Z0guKpuFksfee*Bp=On3r
zU(NP0by50Ur{G8r6GTV5w+NgFR_Y_8Fai|8=&%}IqQcavF-fuiY%ruo*uBzngy@!~
ziHzOV0+L-e!K;fuM6Rmi#;BMuqFM^6o=t$+rr{%DOnExL_krM@SrZx9MLyDV3!FVW
zTBHe*s?WWUii6s{(euHOY=oQ(QuOZ2k6JNt-icMq7D#F5L(PKiF4adq2xh;3=9|rt
zb8oA(pJ%LH?w5Ed7!b&>t8%!U?{qSAr?^=w24TgUiJTZa9D~p9092P>ZU&#`654b%
z@SoMV;tWaADx<c7K0}$q(K|ZM1MQtAiM3YllzUo&H%1od>&G%Aj1hYloL?w@pg!T^
zWPnL@q%bMWEbZ4U)jz8OQp~t3UlPn!<`nzlzdS&1spH5#S?8U5)(z^ab*?^-CwA*<
zcfAy#wSU3#SmIk68CW5;yjGN_viiFzZY-)Kw=XfGy?^yPll6<(_#wt%fLRsYTgsay
zM+@}0Cv;gYSNMA*F)+c~xFx}zxIvW?tu$fIy7}P?HEpbuCYq5e=o2l`<1^Q(myhz@
zBoV`qz{8|^{luuuD}}<?KGHV9yN~JMXL87=v-mP@Pua-<dr{f%_tgh{tW;f>Wghv?
z^jr8+$AZc7PGltS<EOVl5uv60OD4-)#S}|RVJ4$a%8t^T6#Gdcm0~uqt>!HfbO`ND
z(VvmKlek-p1Gg{?(O7rl?=DVdE3YLR_3PB-iX8|7-S`X6X!06Vg#UuEa98#teIF?d
z%uF!mCRA#}GuJ3E<*r?3D3f>zuGVViO#y~ZUZS#L3rjDL?zhITpM<^XeTNkTe&4v=
zhgBtr()+w#UCHvjiAZb-GkuA$+-qEn?$ucXaABtRUu+NA+c#=S+PxMv2HLwYm2kRl
zf+Mhh?-(WWEd4LZJIbr{o@4PmjYQ}OeN8~;K40u`eN6e8Q1Ts-{-lfGqLgCP&~*Mb
zUMv^%f_PoCSy?mk8@TtfRe^hNfzzvjE?RK>Oo+l`ve|S!5O*HGHLmYSCA*_$bQoLJ
zs^o(FKWk<1O6C*)<r=mLT!bhc_;5!&`nidLw^r&Gk=Blc3H+5=c?2U*3@=c+X$x-M
z<Rd7wm7_ysFK-so9v5#13(TEm$t20TFBXpeXP53CEet*}<(|^wjmb_W0&l0g1D=jy
zg`dstJ5xV8j_;QmcYFE}<t3CKI}t;7*~@PlEZ%RxQ4qYVm&I=Em57u$h~)=wV+Xz6
z<OGTlF6R2;FJWpSH;dlCAAI{gcKgfM^MU>(RG^vSwi;1v>C>ZG(Qk^3=`6@6_|fy1
zqG94;-J4%7MbMc@9c<#HhuvBsG^W-#D8{`w*Fe!SB@)cwMj%?iDCz<g)c3$fO|+&$
z{)o~yGWciG?gipE4*NU~IHVKn@F=k$l?98a8q!w00!AgGyy+!YF7_`Ouz9q~By63%
zy>~J9_rql;zq{ZY?YH^bz3fqPl#ws|PxcY4mPTb^9i_ea5`_4H&*ncLPjGn$V^~Zq
zHnT6sdU3XeE^}S7D_$A?#4Uw-HfW1W;>~@B52w#t;>Z06ais7t)5r6>(a!N=yv3$c
zu!h`=zHN5N8b^M>;v6Z~iV>!e)hvqC>Z6d8;CYX|0Hu90!P6gS)%Fxx>v9c^sPnw~
z{5z+Me6}=G?22dP$J;(X9h|BW<{wW2kH54=da*Qk#58#8M%<O@Pv^G;wJh%?TV}KC
zJ5h_+pk3R=qi3v-|Fc@gtN{n^&|Emp)kd-ZpbhB38(Z;pPPxR%J>%t@GY(}QCa-4l
zS2PrO*qW8J0v}3Em*FIa6Jtplp~BeJ`tQA0i|JLI+_96Sc_OV%EtE?~v>v;T><c}k
z_TvPvbgkDi%G+DEuk>n+!|?oZ@SW(~Hg7upmQnqAvgj8N(*x%UC1v8K^shQfW%Ich
z|7{65IU)tL^Dx1)F^e^-n9gyZ(%^1za9{JD(wp)Fxe>phE4rDCwMMO7s#bLtX4H&*
znzRUtk?frHNgu2egqEyFLLD>bw_P?G&@YSC%<ic^C|3)KQvf$|bM~n_<1*$sO*^$&
zTZO}M#u`Ku_<meTywz-#r&na(5MvpAfI>e8Z`qj`dfj5ZeBcF;*pl7BjfxpGskCck
z)7mlHu$rg6Q=jo%Z5D}HpM?!#^?s40ZVd|(8Tj;`LGhza2{k0yOC{}JLOP%c1Tf#Y
zF3mEXDs3nZdf@B4dj!k9HThF-c@JbnqoaU%A~%sbJuXt0+O3=1wGt@C1bcJ-m1eEO
zY{if`rnH51UJ*Pd_fN`{JUmtNKlign3TkM)rVBIAzyTUZ3?M+GUg?n+tjL;FruHuS
zJD-=uQ46`lZCU|raym01gjk)J+QcHc$L%8|bG9^`LB#JdT-L_m?B)9j?#}l!Cb@R6
z*O69K*nasQ-0g!AY2NB<Xi1%v%OPsZITpWTUm)OB3cFYv3YtZGMYJ20-EaL$G|Bs7
zKpn}Yyi~zB5Kp<J4H3!5Kl>Hz)%ZD#3lhbqEpK{#FplVgFoMm$mv+tO<=!NUEwBtq
zbR6Njry?BT@bmEGB{e&W>(-$6$JlMt#~lNqS>McG(65|uITQ+xVBdw}a?BkeaXh8>
z0k%v&-AU`h^iY|;7A|dOeus~{UYYWK3!Pf-SU`>ob)yR6)B<KbhEF6h7HR1vW;0=@
zoa4V*)sa{`%7@o}$1E&9c`pVZZpQ(}^VxzUSwjKJ3N%**<E%e8AZa|VGV5c4cN7N4
zPvBt|Q%_GlVyi+){qq;cxfjLJaHp6utuM_+ZNTSWN7zG0M2us1{<~w?+XG9oH(dGo
zygQGCfHGpD*&6#smb$G-D@+^=&@sp0FzUHaX3+^!8w+Y2^CUd<0xC_(FSm3{{u{uy
zHT3Ih?Us%udZXX}wHh_db-7!4aw~e~l6ELDR!us`Pwhfs<^`dZi1i0ma7UoI+@xt&
z=+f`8sau?R2I>JM7_VUpMz6MAFGC2*S&pPl@R~Pa1sS87B8U4CR0`|}EbVAwET_n*
z%=^RJxNi{@Gq~~AljRtll`9$&BNTm8pQek$@?MC^z-lD4m`*%>X#M;{qlS0TpLb#b
z)7;UcltsF(7{Vc{6@G+pz*3I3rzH?c(L8av^VzV_1^L%)_38d#2`n#+&=6v*SFQR+
z`P-47cy#59)od;1a<{HD=70GtQJf+lJ&wY3x<QN6_QIvJO?*q=^*oURO1}G8ban>E
zmmVsi0z%Y~CvO2dR)?3#!pr6b>)gHbx8KAeIN`vYs?mM&eN(L@+q>p0sIdS%DVH@r
zBC#>xjR}CDJ=?#0a6dhFpZ+AFj#cg^k+PejVd_X5Fofr5c`~rkdDph;JIv+^9f4{?
zwd{!>^C<_%5b8kLtXs;KA6YO&&!Js$JWM;{_AVmbqD;n#k6F1CR$(JzGc!|v?zZEi
zgLI5$yw}SR8^>VSZ0+8ddg)Cor<;mz(d)FgRdIUi8?%EsPZLCpAwwH^H<!C!bPDB}
z>rwR6P=<f5NH23VJmKr+U&>VxJEuQ~>nSu|7;fOA=9loey-PMde?PGYu7w~YZg}@L
zPXyxPb97N==nwmQ@WVOi^6oD`TLxI~hmL24Bt_2|ow<WHy!ihAYwy~Bn!4inw@@sD
zMKnYOA*HswU&cjVf#4l%jAH1}U~L5iB3K+yV2+3sXhj}niycLD#Es|L@EikL#a6>`
zL6EW4iNJUS!k{Q3gGvS}4A}RQ?C1Rh-d}EV@5#x{x!-fX-*Y~n&-dGR-Q#dniD9P|
z;y*wY#3$I(=jrR3awUI1;ab@><hfx;RN1+;w-`QI6IJdnumG&94e94>E<4TWYtU#8
zXwtZy4!o#Bk@I73DG%NX7V;8g$9GYv=+&lmH?_a^C{s`NTIfYPr%n78vHni{WS*zb
zj9|qDciYhzw^NCYe-I7=b+yN&l^2J1tKr^8ND&GxZNIfP@IpExa<jP{E>jZlEG+ZQ
z&eA11Vrj%EkyQtkPquVdJ$1(t>(L>@sg2WVjT>_L=H7u6Z`z)RWZ7iG2N9T6gh8-$
zh2n9OUB0#sNeN%K&#|j&)8}~`N=M|kme{b5HBU7kWlBI=ILCvsj^e5k1-qCtOy+I0
zEYhv2d~3RInw)>~O+i<~RMJ@`>hgpL!w}whZrj9Cv7Y1C7ML&ZO0kao3=z{%eaN5_
zTa4PmU?WpWdBuB_(n=bVYKK*<7(0!u7C%9bn_fo8;WDmfDcI=uaQyFl6|FvVHsJ@k
z?579*2T0=1%b4cCO~mTy@HxgW5mZs>nb0$%sZ*?BkyTj0!X=bsCMh?sJwqXzhCQ(l
zvgn7XM8+Z|xh`8XLcG4BDEGI+5Mll<(oam2#OkG6b6f~RGmSVp5go;jU8awT^#?<R
zR!WW#=?0XXC%JF#hLaunp=phbF5AgFcH6742km4IAA_->N#9)$jEQ747WLp&V(>Iw
z6xw=GbHsMN?gLIVD+`iPjVc)twG}IVT$hf>XR10f1*uF6^EvCFuBBI{k$VF`jX^C@
z&tr@=1SY<WMtGCh8n_d(XwqNo(T{Xm$IRHsSSFq%PMlEwWd=PTVx9)R_b>N5EWFOM
zi_Bi9XFFXWpnou8HKX5U?fu*nxivqJdp@U1a32Sf3%at<Sf5Ud#n}pF6rvdJjr~~d
z?fz|6mD^jIJUO|3#yJKU1<-w+o+3PkP?7cgiwLZ39DlLb^wJjo%w8AiqIkD!d!sFM
z;RZxvJQ}PY542~m8OGHPS>=8Cj|vwOFZT(#X+^RxtBrSt9ArI?Giz<7e(E^CvcH#T
z+XFWil%gBH56$2#`W2A0$MM+*`3y~)MdMUYmqU&bxpV^r<hM~EZ|gg)G2o>w#HIiY
z*C128NgBu&0ChOs@RDNKgtvDu-wne5TEZySRHxv=hm#aUn9U%CrKZ3m)LBDYXGW`-
zR7~qq0Z_|EfyGn0)jxEr6ez?=0rp6ASm6#T&sk!T5|HGRJ%nR!h|_qMG#hCHByk6(
z-6mA8T++w<+2412QNRQP73jiDP6D%g?#VqxUjTuA8Vr@_k4{!FR`L)mG9IFU+LV0i
zY|iZS{7ow-3HTbbkwdVvmcXYSO1}8%pDLzL)79hE*XBV|{~wwU1O*+mMp3J{qWFro
itu0f>zt{)Ud$z@=Mg&sJM&WI8ey~60eAF5gm;W!1mGvS3

literal 0
HcmV?d00001

diff --git a/test_chargement.py b/test_chargement.py
index a7ed873..3283d09 100644
--- a/test_chargement.py
+++ b/test_chargement.py
@@ -1,9 +1,11 @@
 import time
+import threading
+import os
+import sys
 from tkinter import Tk, Label
 from PIL import Image, ImageTk  # Installer Pillow si nécessaire : pip install pillow
 
-# Lancer ton programme principal ici
-
+# --- Création du Splash Screen ---
 splash = Tk()
 splash.overrideredirect(True)  # Enlever la barre de titre
 
@@ -22,30 +24,30 @@ splash.geometry(f"{img_width}x{img_height}+{x_pos}+{y_pos}")
 # Afficher l'image
 label = Label(splash, image=photo)
 label.pack()
+splash.update()  # Mise à jour de l'affichage
 
-# Garder le splash pendant le chargement
-splash.update()
-
-# Pour éviter que le programme ne se ferme instantanément
-
-
-
-import os
-import sys 
+# --- Fonction pour charger le menu principal ---
+def charger_menu():
+    global splash
+    base_dir = os.path.dirname(os.path.abspath(__file__))
+    dossier_path = os.path.join(base_dir, 'Objet')
+    sys.path.append(dossier_path)
 
+    import menu  # Importer ici pour éviter les blocages
+    temps = time.time()
+    
+    a = menu.App()  # Chargement du menu
+    splash.destroy()  # Fermer le splash après le chargement
 
-# Fermer le splash et ouvrir le menu principal
-base_dir = os.path.dirname(os.path.abspath(__file__))
+    tmp = time.time()
+    print(f"Temps d'exécution : {-(temps - tmp):.6f} secondes")
 
-dossier_path = os.path.join(base_dir,'Objet')
-sys.path.append(dossier_path)
+    a.mainloop()  # Lancer l'application principale
+    
 
-import menu
-temps = time.time()
-a = menu.App()
-splash.destroy()  
-tmp = time.time()  
-a.mainloop()
+# --- Lancer le chargement en arrière-plan ---
+thread = threading.Thread(target=charger_menu)
+thread.start()
 
-tot = temps - tmp
-print(f"Temps d'exécution : {-tot:.6f} secondes")
\ No newline at end of file
+# --- Affichage du splash screen pendant le chargement ---
+splash.mainloop()
diff --git a/test_chargementlogo.py b/test_chargementlogo.py
new file mode 100644
index 0000000..bc9a592
--- /dev/null
+++ b/test_chargementlogo.py
@@ -0,0 +1,54 @@
+import time
+from PIL import Image, ImageEnhance, ImageTk
+import tkinter as tk
+
+def adjust_transparency(image_path, charge_percentage):
+    # Open the image
+    image = Image.open(image_path).convert("RGBA")
+    # Split the image into channels
+    r, g, b, alpha = image.split()
+    # Adjust the alpha channel based on charge percentage
+    alpha = alpha.point(lambda p: p * (charge_percentage / 100))
+    # Merge channels back
+    return Image.merge("RGBA", (r, g, b, alpha))
+
+def fake_charging(image_path):
+    # Create a Tkinter window
+    root = tk.Tk()
+    root.title("Charging...")
+    
+    # Load the initial image
+    charge_percentage = 0
+    image = adjust_transparency(image_path, charge_percentage)
+    tk_image = ImageTk.PhotoImage(image)
+    
+    # Create a label to display the image
+    label = tk.Label(root, image=tk_image)
+    label.pack()
+    
+    def update_image():
+        nonlocal charge_percentage, tk_image
+        if charge_percentage < 100:
+            # Increment charge percentage smoothly
+            charge_percentage += 1
+            # Adjust transparency and update the image
+            image = adjust_transparency(image_path, charge_percentage)
+            tk_image = ImageTk.PhotoImage(image)
+            label.config(image=tk_image)
+            label.image = tk_image
+            root.title(f"Charging... {charge_percentage}%")
+            root.after(50, update_image)  # Update every 50ms for smoother transition
+        else:
+            root.title("Charging complete!")
+    
+    # Start updating the image
+    update_image()
+    root.mainloop()
+
+def main():
+    # Use the specified image
+    image_path = "LogoSymbole_canard.png"
+    fake_charging(image_path)
+
+if __name__ == "__main__":
+    main()
diff --git a/test_chercherdossier.py b/test_chercherdossier.py
index b38b987..4b59e22 100644
--- a/test_chercherdossier.py
+++ b/test_chercherdossier.py
@@ -1,11 +1,39 @@
 import os
 import sys 
+import time
+import threading
+import os
+import sys
+from tkinter import Tk, Label
+from PIL import Image, ImageTk  # Installer Pillow si nécessaire : pip install pillow
+
+# --- Création du Splash Screen ---
+splash = Tk()
+splash.overrideredirect(True)  # Enlever la barre de titre
+
+# Charger l'image
+image = Image.open("LogoSymbole_canard.png")  
+photo = ImageTk.PhotoImage(image)
+
+# Définir la taille et centrer
+screen_width = splash.winfo_screenwidth()
+screen_height = splash.winfo_screenheight()
+img_width, img_height = image.size
+x_pos = (screen_width - img_width) // 2
+y_pos = (screen_height - img_height) // 2
+splash.geometry(f"{img_width}x{img_height}+{x_pos}+{y_pos}")
+
+# Afficher l'image
+label = Label(splash, image=photo)
+label.pack()
+splash.update()  # Mise à jour de l'affichage
 
 base_dir = os.path.dirname(os.path.abspath(__file__))
 
-dossier_path = os.path.join(base_dir,'Code_objets')
+dossier_path = os.path.join(base_dir,'Objet')
 sys.path.append(dossier_path)
 
-import Menu
-a = Menu.App()
+import menu
+a = menu.App()
+splash.destroy()
 a.mainloop()
diff --git a/test_multithrading_logo.py b/test_multithrading_logo.py
index f027b14..6d58413 100644
--- a/test_multithrading_logo.py
+++ b/test_multithrading_logo.py
@@ -3,20 +3,17 @@ from PIL import Image, ImageTk
 import threading
 import time
 
-
-
-# Fonction pour afficher le splash screen
 def show_splash():
-    global splash  # Garder une référence à la fenêtre
+    global splash, photo
 
     splash = tk.Tk()
-    splash.overrideredirect(True)  # Enlever la barre de titre
+    splash.overrideredirect(True)
 
     # Charger l'image
-    image = Image.open("LogoSymbole_canard.png")  # Remplace par ton logo
+    image = Image.open("LogoSymbole_canard.png")
     photo = ImageTk.PhotoImage(image)
 
-    # Définir la taille et centrer
+    # Centrer la fenêtre
     screen_width = splash.winfo_screenwidth()
     screen_height = splash.winfo_screenheight()
     img_width, img_height = image.size
@@ -24,40 +21,41 @@ def show_splash():
     y_pos = (screen_height - img_height) // 2
     splash.geometry(f"{img_width}x{img_height}+{x_pos}+{y_pos}")
 
-    # Afficher l'image
     label = tk.Label(splash, image=photo)
+    label.image = photo  # Évite la suppression de l'image par le garbage collector
     label.pack()
 
-    splash.update()
-    splash.mainloop()  # Garde la fenêtre active jusqu'à ce qu'on la ferme
+    # Lancer le thread du programme principal
+    global main_thread
+    main_thread = threading.Thread(target=load_main_program, daemon=True)
+    main_thread.start()
 
-# Fonction pour charger le programme principal
-def load_main_program():
-    time.sleep(3)  # Simule un chargement
+    # Vérifier périodiquement si le programme principal est chargé
+    splash.after(100, check_thread)
 
-    # Fermer l'écran de chargement
-    splash.destroy()
+    splash.mainloop()
 
+def load_main_program():
+    """Charge le programme principal (menu.App), sans interaction directe avec Tkinter."""
     import os
-    import sys 
+    import sys
+    
 
     base_dir = os.path.dirname(os.path.abspath(__file__))
-
-    dossier_path = os.path.join(base_dir,'Code_objets')
+    dossier_path = os.path.join(base_dir, 'Objet')
     sys.path.append(dossier_path)
+    import menu
 
-    import Menu
-
-
-
-    # Lancer le programme principal ici
-    a = Menu.App()
-    a.mainloop()
+    global app
+    app = menu.App()  # Instanciation de l'application
 
-# Démarrer le splash screen dans un thread
-splash_thread = threading.Thread(target=show_splash)
-splash_thread.start()
+def check_thread():
+    """Vérifie si le thread principal a fini de charger le programme."""
+    if not main_thread.is_alive():
+        splash.destroy()  # Fermer le splash
+        app.mainloop()  # Lancer l'application principale dans le thread principal
+    else:
+        splash.after(100, check_thread)  # Vérifier à nouveau après 100 ms
 
-# Charger le programme principal dans un autre thread
-main_thread = threading.Thread(target=load_main_program)
-main_thread.start()
+# Démarrer le splash screen dans le thread principal
+show_splash()
diff --git a/test_nouveautestthreding.py b/test_nouveautestthreding.py
new file mode 100644
index 0000000..dc2cc40
--- /dev/null
+++ b/test_nouveautestthreding.py
@@ -0,0 +1,53 @@
+import threading
+import time
+
+# Function to perform a computational task
+def compute_task(start, end):
+    total = 0
+    for i in range(start, end):
+        total += i ** 2
+    return total
+
+# Wrapper function for threading
+def thread_wrapper(start, end, results, index):
+    results[index] = compute_task(start, end)
+
+# Single-threaded execution
+def single_threaded():
+    start_time = time.time()
+    compute_task(0, 100_000_000)
+    end_time = time.time()
+    return end_time - start_time
+
+# Multi-threaded execution
+def multi_threaded():
+    start_time = time.time()
+<<<<<<< HEAD
+    num_threads = 2
+    step = 10_000_000 // num_threads
+=======
+    num_threads = 8
+    step = 100_000_000 // num_threads
+>>>>>>> 73f7a464704d2fa11671ba78a16771abe843918a
+    threads = []
+    results = [0] * num_threads
+
+    for i in range(num_threads):
+        t = threading.Thread(target=thread_wrapper, args=(i * step, (i + 1) * step, results, i))
+        threads.append(t)
+        t.start()
+
+    for t in threads:
+        t.join()
+
+    end_time = time.time()
+    return end_time - start_time
+
+# Main function to compare performance
+if __name__ == "__main__":
+    single_thread_time = single_threaded()
+    multi_thread_time = multi_threaded()
+
+    print(f"Single-threaded execution time: {single_thread_time:.4f} seconds")
+    print(f"Multi-threaded execution time: {multi_thread_time:.4f} seconds")
+    print("Multi-threading is faster!" if multi_thread_time < single_thread_time else "Single-threading is faster!")
\ No newline at end of file
diff --git a/test_recup_info.py b/test_recup_info.py
new file mode 100644
index 0000000..339bbe0
--- /dev/null
+++ b/test_recup_info.py
@@ -0,0 +1,3 @@
+import multiprocessing
+print(f"Cœurs physiques : {multiprocessing.cpu_count() // 2}")
+print(f"Cœurs logiques : {multiprocessing.cpu_count()}")
diff --git a/volley_mire_detection/scripts/__pycache__/test_model.cpython-310-pytest-8.3.5.pyc b/volley_mire_detection/scripts/__pycache__/test_model.cpython-310-pytest-8.3.5.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cc5e0a6d21db85a3c4a6ef9154bc067e9bda0a95
GIT binary patch
literal 162
zcmd1j<>g`kf}o1E=^*+sh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6vNKO;XkRlgv$
zs5mpPL_aSzJ3lv3w<I+=L%%FPCnvQsJ~y){H9jR3C{&V}pQm4(T$EW*QmkK+T3iyJ
co1c=JqgPOQi^B%UEX_%^0~ue;1SD7(07kwj0RR91

literal 0
HcmV?d00001

-- 
GitLab