From 46e3aac8e65356c8d505fd39ecad2ad0d2308e3c Mon Sep 17 00:00:00 2001 From: Fabian-Martinez-Rincon Date: Fri, 29 Dec 2023 09:59:11 -0300 Subject: [PATCH] Estructura finalizada --- Fortuna.json => assets/Fortuna.json | 0 assets/Fortuna.xlsx | Bin 0 -> 90573 bytes Fortuna.xlsx => assets/Fortuna2.xlsx | Bin README.html => assets/README.html | 0 assets/data.py | 37 ++++ requirements.txt => assets/requirements.txt | Bin gui_app/main_gui.py | 74 ++++--- otros.py/app.py | 22 -- otros.py/app2.py | 99 --------- otros.py/grafica/app.py | 123 ----------- otros.py/grafica/conBotones.py | 83 -------- otros.py/grafica/emulation.py | 9 - otros.py/grafica/perfectoSinBotones.py | 70 ------ otros.py/image.png | Bin 90444 -> 0 bytes otros.py/interfaz.py | 86 -------- otros.py/new_Input/data_input/__init__.py | 0 otros.py/new_Input/data_input/final.py | 76 ------- otros.py/new_Input/data_input/main_input.py | 85 -------- otros.py/new_Input/data_input/pressButon.py | 18 -- otros.py/new_Input/data_input/ultimo.py | 65 ------ otros.py/new_Input/data_input/veintidos.py | 79 ------- .../new_Input/excel_processor/__init__.py | 0 .../new_Input/excel_processor/main_process.py | 45 ---- otros.py/new_Input/excel_processor/nuevo.py | 36 ---- otros.py/new_Input/main_input.py | 200 ------------------ otros.py/new_Input/main_input2.py | 98 --------- otros.py/new_Input/main_input2copy.py | 98 --------- otros.py/nue.py | 86 -------- otros.py/popUp.py | 16 -- otros.py/ultimo.py | 94 -------- otros.py/ya.py | 105 --------- tempCodeRunnerFile.py | 2 - 32 files changed, 84 insertions(+), 1622 deletions(-) rename Fortuna.json => assets/Fortuna.json (100%) create mode 100644 assets/Fortuna.xlsx rename Fortuna.xlsx => assets/Fortuna2.xlsx (100%) rename README.html => assets/README.html (100%) create mode 100644 assets/data.py rename requirements.txt => assets/requirements.txt (100%) delete mode 100644 otros.py/app.py delete mode 100644 otros.py/app2.py delete mode 100644 otros.py/grafica/app.py delete mode 100644 otros.py/grafica/conBotones.py delete mode 100644 otros.py/grafica/emulation.py delete mode 100644 otros.py/grafica/perfectoSinBotones.py delete mode 100644 otros.py/image.png delete mode 100644 otros.py/interfaz.py delete mode 100644 otros.py/new_Input/data_input/__init__.py delete mode 100644 otros.py/new_Input/data_input/final.py delete mode 100644 otros.py/new_Input/data_input/main_input.py delete mode 100644 otros.py/new_Input/data_input/pressButon.py delete mode 100644 otros.py/new_Input/data_input/ultimo.py delete mode 100644 otros.py/new_Input/data_input/veintidos.py delete mode 100644 otros.py/new_Input/excel_processor/__init__.py delete mode 100644 otros.py/new_Input/excel_processor/main_process.py delete mode 100644 otros.py/new_Input/excel_processor/nuevo.py delete mode 100644 otros.py/new_Input/main_input.py delete mode 100644 otros.py/new_Input/main_input2.py delete mode 100644 otros.py/new_Input/main_input2copy.py delete mode 100644 otros.py/nue.py delete mode 100644 otros.py/popUp.py delete mode 100644 otros.py/ultimo.py delete mode 100644 otros.py/ya.py delete mode 100644 tempCodeRunnerFile.py diff --git a/Fortuna.json b/assets/Fortuna.json similarity index 100% rename from Fortuna.json rename to assets/Fortuna.json diff --git a/assets/Fortuna.xlsx b/assets/Fortuna.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..018f865e61ca7784e98edc4eb4ed66a2587cc614 GIT binary patch literal 90573 zcmeEtg;!K<*SB#{@NlOcY(hc7k z?)zEm`PTdW2k*yPdRS+lb6q=r`?vSLX3%?xfk}A}`yTGSd-quH*`$TEKSR5Bj}ZIb zJ&Jp{=oa_Ay#gG)0<4Xm`Z)Sq2?cw4uoPmV^W@({2cG}`KmUt8&|~!V0S1J$ouIut zt>Smd2@Bgo$luK}l^u-Y!2n6I?3iJrxuz!)vup+y@mRuUb%SAw>1*^0)iNe+$}03> zfmELaqGT{Or)S`;p^o4@Udg=7$lSW6?zXxIpG|$=#nimGMb8b`1#6F5! ze(K0%P#RZSo~r*V)=h~R2gY9x!5pQOOgKD{jV~CyWkEw~O(F{+&|aX3^eWoQZC+ZWwcdDOOA-ax6Qa{Kk-J z@Vls9uLxP;^6)*~_itz`CQbd$kK9L>&>uI+NR47ijrBDB9TH%np46@=3sb{jfd&q(&k0(#EG#)(V3HqGOSJ7Nn@NjU6 zUH$vMYAxxgkO>_g#XAN#wR~2Td7rk~qTN|F+N6r%ZWX+yNiu&seKb3A`gO@KBE>jq z=f+x=6d$*uC|WVS8%r;L&-gn%zNh9VV!gGho0bMt&wT zs?pDxe;jGvAh!P{_i2wLUU$X7-@)h?%w>x}4f~%-lB7)TlLw^F8Bpv<0M7(_2tV=m zbGP&Mc1KmVVq;tH6)Do|h;P@=Esb0i-ytxx9%5FKtL*VLR=jtdlf}c!>LInJkad?; zYMi}|SXJVA`5m#tR%0J}b>+074ZS@q5lEmSOY@TekH530i+Lwk`QM6)Wx% z=*Dt(uxTfEjbOUDco_M$_e;(p4aU7phRha&M>caJU$qeHoF8yuudrx1jlq-;EsUd= zp&Kz}bv0J~`@7_ZPF`f_zQowp0xl2i-cE7ax)HExMp2DrNLM+$FfQ5bd}Z1;@#@t< z9eSL!U|EQ#l6Dakmd&|}K1$#d3X`*EU*72^ksfQ_)v5{bGtx3da$1)?eD<-aSocaJ zDRE36SE3XmMN;lgP**7PJk+@BmW4kudA%cwb+dGwRI_6I!9C<9%bTXnjW^vl(bQ|M z{8ktylQfpwP^uDroAN%|M;!E-Cg3%9KQY#AzW1(Z6??B%PoSaA8Hb<2B6XdC1zap^ z)J%Ncr=iuQg32JF8 z=F8L|U=8F^1?Fif-dn@r5=g3WyosT4I#piMmk^aw9Jbz4s(nR=c*EUKL?hmKUU^G6 z=)v*%uU0;jW6Le|G^HeIv_-Ey!>qH~T~s>KckVMF%l~nz&wW(L5ihV7nmYM8h=Tt? zUx9c~w~pMlYQ#KIcx>3}5dbcQ&LD=zL}(nf|&W`qhY-+`n4JrY`pqHs(m2K&GMq zT`?M`%378lcA>HS>Tkoe|Dx%N{LHjfdc~QU)MK$yso@vVlo5s!4T#dyD0pz4kl58Y zdpR49d*r&pb$@ocJ6!sfp8jwAoJIHH;;d)!7!%IA3hiLPG4dx)5o7F+5}WmPfr3^S zyUM=|4+~$2^!66D6N=Hssp-@wY{?EVM1<&Ge)p#NiG?o|(V;ZpdwGK7W$CfUzL%{+ zwNvd|k0bkroSQz7f3k)|o{}^ctg#rl77$WBsjX)hs6Sd;IPk~(aZW%RKV@>?G1)O*E$rQjgvHReu{hIl z>pIgVwa;tsjWm2_)O8viZ0Y-HMfrSl?l}p`PwVvkyj`-B4(tiIB}{2{cy2fE^-o10 zQ~zf!-?(m@-~(Ac4CFK2JzO*(m;b4G|DDnQsefod!wNk6zx$^xUH4%Rn6&p#^b+gv zLP=F?oJT8;+Dt_?GfVOJ5|8Yc!)K*Si+Z(zw&fWszKbcR5pp7P3(nK=PY5T1OIaQo zkZvUi)0^-I%gb3UM6pa&PgFfAvr&q+@_kwx-e>F|ruy-hmMV<~zJPzEFemMc+>)Nt zt(B64g6|CddS4!A7gg(TxVEPLY{H@BerspVhkJQI*JHb7f3URJ{+;v4HD!u0C zhdBhr{XTJFnlaXd{UjBB=9EJ56mP@n5r}Cv*ysE6cfL1>3~ou&u>WUOuum2B!-~9j z@3bEC9teQQzg5BC#nCaqU-<3+DWgaK9;Iu%+mB~ar_!4QX$&fBjMKn5%TD zLtcB2XJ2_DcI+cO=WXZr%gM_pUtob2)@Yc~F|(Tu_yvQY!#Z^Ks|g9c)d#M*WN6k4 z@bkVX9`n?30qrztQI*LCc85JWxZp$1pW{QhQ8EFfIOdqcOD6C4o!_KRFDLlSS&61j ziN%@nS9O)g8rV6U)Rk9JxF-fOpF=hM0)k7==5x9m4rx*o(ndlo;Jj&O8HbMN1Rrfw zh>O2meCYa1>tAECkCRk(9p|Lpc#^KSVdR9{h0oVZQY|8Wt(eg_OuEASB5ToPS$vsuJ*PcGh$LDtep( zGjxol$U3gmizIhBi~9+|(ZvS|^HX@i4C&7C8N+FL;38bD{W+2cNVnZ~zaiy;r|F}_AOSk*hOV>Bwo4z;wxjE~IJilb#kG%eSviqsy z`moeHNBWL z50g8peQ&~vC?hX-KbK^=Pv>Axt?|Zen?EA*0h78Swn;!;YIU#mGqF zpqo}Z_qC|f0ph$;D!C0UHZO9>!=C6k`14B|yXz+%ZB`agd?fsob>*)LOA2A72jKx0MNW57om>g75Sta z=RPHe4mN_n?fui$_15TqjtBp!M(V2|)PG4+cz@+)KdJ}EcPT@B@k{G8p)G$fG*fk+ z!|rt)78x^1Rf} z+Z?^-2oUAt=q^e7!{AZ9=IDOPyWLd9Vm*~rKe=^~^2atm`JG3Oz7%=3-Vpzi#TTD^ z=?S^;B~!qRf`SM`^)lo+xo>(LEtz+}V=GJH`d<5kMU!2`0%E@@& zQ?lX1mMVk;^fC3u;W;H$u6(Mif5(38cYKO&b~sP@fqLZIM7^3ui+9T7uNC*? zS6b1}Uv6{Yn{(vsaR$81QhFvGrpKS&#FKmd@gj%v(|76j3w)SGvue{%6(134mc%YSw;1G%8ha1+vL{WNx`Eqc$-C$3nB)bBEUbD37hx8GLRM&}j&3A93*+?UET z_^hG)LUm%{IcllD2okq-;K@%J0U;@YcpVBNwH+D7AxQ_!>fq8(#N_YJpS(SW0VwoN z5%SNS>b4V_bju0&P{1mQj<&G|qbA1+`q}!ErSy?ST*;aI^xuo=)G+Uziz>RL2zh8D z1NVZz%Rr*ivxn#Tv8qvw&0cb#jNGZ!!S#NUj+|*?_OmeS^DFSS?KwuMy^xFVOj`u3 z_9K_RxdN~!x~t>{(YGJg??-LzBWUOkr6*rfHn8ZN2uhM;#ii?0lfPTYl+;Xa{!lum zW_2Tz_Ln{FZiSn@BJi>Yq_gSGP=&yjLkEoB0kz#Wys zd%2)@@>^{B&qi7USp$N&IM-8d#T0&vXb4CKHM)K8}`;yvxTb2!R6X6oB6CzSeqa?CG7t zRFG>snBKJ?W%6@&da_lQ7ftQBo2N4;Mqo`@?^-plE|vx7acY?ThEO@HmU6Pc&V4V; zZz83v1W^rLA+P|y>Wdt!z2Nho8DHL0Pph?!NDB+YTic6eUPV*KZ0p3TqNzY0e2NQv zd5QhYlZWb_$ELPhxiG!loLn3=iUmpar()_Rs zBiBq9mSl9CN{LlkhQDqt6mKu0@*Hq{6t^Stn0uFI^ZgX(CLYk65=`h<;hIn~leM?FjHrJ-mL_uVt{8|qbY4nmVJEFFsW zwOBfH+AH5NH<04~?pe}CeUNS?Kfbn9t z>wEOYp9%=!JP-m(`Umf6TDExcqm+cUWi2=!gu1>^vY|@;;OR-0nIAzuE!)vr%*BNz zXrOaK3RuKNni5&Z-|DU3$}8Di#cAmEppgwrz9dO$_T_hdCq_rs6yt7>l#xFD@T4v? zD~n76c_7C(9GZLpDY|QVlG1X}xx#fm%~2C6Y;v|EHSbOAOGZs_sRc1=Z5v|diPtTH z4}>?>8J`cg81+MbCBc+z8i#o5lj=w{`HdwslUr>2A!_{)d5v9PEsn?THIIq40vXbO zQz_tK;!ZL?PpWen0FV}xg#YYV*XnhaL3eUAb%m*pgco4jMj>+pN*qv5f6S29YBUP@ z^%kbYva{x6KSg4Wiz#6>?(e}mGqvwf-4R&)=7rXX1h8yo`gMOL%EKP5p?^9h7xcYZ zvmPE(ze|f>=i{aXQuB31dx2VEX9>TTizn-i(a5{j7h0pzxR`!AqtZt}R!3=@3`>6` zJ&Li3zciiRBsy%i24z?Kv+lgvmc|dsiO2j#{+_iyVyv)eUQ*M0v+Q2;uXY4QwEO#C zJTA()UNV|5gQzGpLsgVm{z^D41S}`Q1ko*ebXP*SF{h2b=#NE9F8HPJbkeK4dN%`C zi}36CzY^P0l-}j=)%Wzo=uz+D^`A+`G)P(wz@9bjt5pbgJZz=P(Nad+=T4a$|!TA8|`Fy=EpXmO6j>iR=!{i8PmecN`R;YAL zvCu~y{Yr7r^8H-%wib3&C);bH!O9{5%x`W0{e5W}uj2bh<^=<)$b#n<&kH!WZ|6o*D?@G%|W@O?AAiJ92-wi2aL9W?M#q$>77N<@=rB-Uu`UeU*Rn zGKYm`=ZW-;$R1Rb$=j;E+Oz*Kw=g&l>{sh1dy!Bwn?!EC#wJ0S@`7As2S*SSJ=<4) z%_fF;HYvZRfiZl;z_Xt}2m_G*N3roYr$pZt4B)~~Un*Khs(FMr?KVari#om(hoqYP zW_zZC*Yb-;G^)Y51QQ)$s;i*m0NXoa8-2yt@%;EiPA{$r3>)9ZI<7W_2J(EEvACCa zw=%lxr~w}4S>+~c!l*KgobYw*0{foeWFF;FGn?Ch_I)7BWfo(V%vU5dOXbTIa8d;k z4;#6?>rT%m?h5rcqffC)`SL%&j8=x>i;mTwGG0!4HgRJK`sp-r%M3wTlybwy!e4xw zd&sAh(b~weo~x|^`upP9N-YNy}!y;9P@=obzU=X+tfl2PB`(tjOxqm4qCjI z=XFso^U}R*KJ>!$=H7bfhX4*r4=#-qz*{od1!~$xKxiSV-55?qBU&qT(f!z;0<_y! z?@4&IfNB&ThiVY?fL_DO3PmN>^#-gPcl2A#RP?y5vqx#u4WP<22^>j;PF>f{P zEIfBWt(2KJ@+Xb@509|d&+dQo#zapT!Vv`arA5`=qKLJp*=-&1hSvk1m@@8K9_jP^ zyMA!*wFpB70J`L|X@c=T$3#^(Lh0N3i;frv<)|h~W?y-EDnIn)u5xZVa@+som!5}P z%+@NQpASzSe~wwCc<~2S@72mDD1heStcPcpOdNqu@Tt97Evc-D6v`j}g5^*74FCz> zRz+6*XHp5@nDo%=oZ5h27^BrjYTjc=_r4!JH zSutnRceUiVWp=fE<^$#e+&@S$Oz>hUMIaDd*@msOj^u!WZfx#gxM;W%mW=hYKjX&p_t>q<;&LD*Cmc)7c-_m{w?JZ?qIXdW*!IMWTv zbeq^`HVEELlUTuog#>khS@53dWprJ~25s%K(f4!iAEmjeG5M$!c(8Xt4LdCDY}oK1 zI-h9&WD3D@lh#~uj_PC>+U2s_&T5x@Fhk0(?qmPTax>NuuA@4406}$WxxX2X8YVbn zk%ek>EiIIjWxloUuw9g|kNCSs&-D5h%BSeqPj=25n!T*|csl-SqUuZ1F9xgWXF{=` z?{9y9`2OkBPO7N7eOz=$8cIyI68Ul`kmd66S0T2hQlSTI_PF++n5|&*f2q=i%svpND^`S>M=!IQ07P&>c-E zU(iFw#(wAT?TNa%PQ3d1{h{0IgJ%`%iGlvz zA}O($7*)f_*SVH&=a|LHV#2FT=Lf@c?-P!vDqmMva5Hj)Cj6=4NaGEgaUEWUMiCi2 z|0+U=t_FUhv3frq{;@->t&OaLX`>-FPB)c3?IsY2r?dbU?vY;u1>-d?I48@bs}1V3gfO#a62qHg(eHEYMJFEwe#dv&IlV2537Pl% zCbW|pQ&*0MPKL3HhOL7AsNX=kHND(l&VJX__-8YdbhS5jkD`do>tc6VU&H>j30OvY zkRyqgqe(rO5PuK$RJJNLR2N2Y_0%M^Mt?JedL=7~avN`WRq^DngCx((aBV#vNa};* z1!2Bse$|YwsAZwY8wk#7ZV318cczDy5)#OQFk_!M5b69YE7@!5e0f~ObgABlho!<8 zTYtICO@fbSuUHiQzY+qwUx~e;?Vqz!jn{jrNrlYAS*?l(mijIMqVNx&_AB#A^RO(=kh8fWQf^LS zuofpLQ4Qg~%_U=Bf-jji`9)Ki=f!zcghTMncKcR?wz@E9zO6Q5r}*4I@1v(^MA)1h z*M8*jtyM1Q_UJPH5T|48UdWZN_)I(s&dfV@fFq9H_J*du95oSbWs`T_h+re$*32JY z2Sx1tHUmEbGc24+eXbp*j@cDS>zp@*o0hXj^_jwZklNU*oxeM4f)qV7g`#q^9Uo(F zz=eAZ8S%u-X}f=37en+}_RVI77%UfmF^Rf4PV78N{`TvO&q`GiC0$j*&!d|&x9%Wr z9x?MQ*biAxM?TDtBGwVyuv`wwNYK;u%blkKL{kHedur=E`S zklj}84}U6p?N2>hmxk8bmUMf37+b{6X~}Wiiy;}TzWJ}p85W;rOVvFi5sD=qecG89 zw=V-OyPoqFAO^dfb=FG(id8O~g`Bi4e~~ES9bSO28}Dcqj1PhO{%|Lnfv}5Lke4Wj zI|2?jhD%km!}=@%qdCMjL}W&;18Sa?&Ou{4JvX#|F85RhmtR^metdi@=L!{Y@Nj#R zUY%uY^ImDihI)$V%T5dLt6CW0LPbX>9GBY2z)IyuxrO%z{va_Oc*%@;SfY03_Q#O z%Z0D=1_Z`)Uvd3vnfb4MXcVCx@b3W>%mYEP*eUTbS^jhl3KB{ScifzA_6gS(f9t~O zRQ-t+dsnmKx0K!ZL+BVEM48{tXU^3-L-_~86UlYj+QsgT(07e)9(J;Ss!rz<;HGWt zRWm6zA0PbtFr9q^OX1t`F^^qKsmr0M zuUULD98%IZ252<%2RVTsj3oXe$G2(N(~*=Z(>R3aRs6B9>O^Oi`qOxHMJ(4);Oqn|J1F%1y)n}W zvY91BymTlVMq+zhaGyOkU3jXkZX{dgMkNc#C|rLu|Hj={cW34CtJ~J*FIE+k?P*&@Q$biVC7_ZJS^vUP zo7TQ$sl51>t07Nmg3rc^t8%7C?#!v0W<`%?<@Qc3vd8$y2>sj>QZyMzq4XtRb{8Mo z)}LR|Hlo2=;F_`v{e_ZrY|+ZtiDcvmjA+;H09uCRlzI#}!${r8(JfBPA{*bb@E#cuP@CCr^%KDX+Ul5DkJ@JTn6aMGg7| zzXf`x#!H_Kc}TzRm}*)Lan9>qS3p*dv%X4s02|ul7AqTPB_rGp6~8|lO-e*(gimDN z_B$M#z;ZZ2d?SbrG@zYmX38LSIlprBu?YVer=e)(Cwh}QO9;}-UWz*gq{;bS|qI8;rSujWLif*UXL4@jh3mj{@+J!;|d>HbR^E z*^gSw`2awd>1yLP3>!;aQY1wDf+gBjM7UYJ`kO1%=Y_8lwP&VR5OMW4tPDO`e^`MD zpcTkLuMhG2Wu^@&gy+SCjSE4SMBrB&FR;-!%UuP(d>pd+n1Exu0Q;P4hXWomBO8!gx-J{JxkN z86tStSydl;AWj;)U#Bl4tZw`kzGjavkP_|*i|9C%`0gg!C`EZ^dId6AhQ2T|nuJVu zx6#TIB3WSSBt@&Lfjv_Bos!TDq&`Uz?eH?E#I^B>Upz4}@WZ+T{A)y8%)A{z6;jjPFLNJ2T#mp1Ke-UP;9{SW zO?G=IXZEF500-vfl+89NHa1i{QiodoKur!fp)SpUQ9a8||NOyZroAoSo}Bg+Yq5&o z<4+4yNhehkN=3{j5gnl7DfcWE{uPbKe@11{?sxH)egWn8En7_nDV*t1eC&O*e1Cu~ zWO2Ozs7m1H9=_eN#RnXJ1m++XahW$}_f^{TK#dN(+CS`p4&d?nLS`>1p|R$V(H=gD zy<%5r?h%aEg{&Z`&#@wQU?gywUpV zNs$FBXjnM`Mo1?)I#B=b>R#*8T@lvS-*}nkEBpkW=qy!b1T6Z8L!&Bw_bj5fyvj6P z>Jxz5=%JOH0S%a|=F`n1`RV>UOYAinhIQ}F&k&(+^Vr8q3)M(E1 zuWyuY)o(PapY!^>$_Bu&(m6YoxlEmhg$i^F;}ID7Zp&7|PaYb@kDbT_?*T|P+v(y` zm2c7?RMN?RPvDO*_T}Z5y9IjlA>ORMDaxw~w1|Iz;sf@9_<^Up!$1@?(MWvPdG7DN zc2xEZ^S0ZU4!<{JKC(ExkN^QVWd1K4vh<f4a2+rJj79%1g=v`gjY%2=>A-25!>*p|1C&6?1l**NVMAudB{H_lDKlaKfPP zqgrS)e{>2Ee#h@&tfyAzXuQdB`P1LeU%pdev41Eh2M#U}~?`fofNa3E=w%Qyxbz5*mxa>3)4}tgZ z1L%;d>NyA-w}E`uIhMGz2rC2`(}PJtP61^p*)K-ql!eA9>l8QKoMSbL|Cey!Eo*lc@F9?jY}R_@dmeQ|mn?zJ?26 zgr@?Po;MK!`_~ngwr3ZY1qN_@i_9zOxVq?$yc)flWA3;)IgPwI+Ff7j`tfU%Ir4h% zG_U>oGD~WLox)s$-ZvUAd=Z#mD87Dvr=!DQxhqaFt9El(36aDQ6@`ZSje@%PHzMfNe^yhr-BbpwEs<|1mO^< zg%gzuR}*jS0y_rvYA^?@>1CYd|XK{e56p&&LxdmxVGoIprT85;)}UJd6A zO?+Hdjx7)&%J!o!y?$x{N2dKMABHV7>)_jQ5{FpWdpUb*DTqQ3D`RbyEE>I5b5(qO zh$J(?MqIuJ@HE$EcwS(R4SENOOU0CUTfb`fYgaI!!^%J+R1=F<+BV10Z8$ucyC~%>ItNiBq?XHKU9K-K84%*9Ck|O zSD91%empo_4z*)S1Qz}du2#xHG65m`@`F9p8uh>S=l*FiLcf)iuEq11q zl=3Nw=!=C~Yf;1(5fMOdx}*{3XyCPIWv=c0%V!8+FP(vbn3vB}fv`?w#`Z={tu7DG zFKLk64E1dTe%zPCR#OJ+af@+fcK*Sr(pb-v`)1s$E>$Z70Bin5D&Bp^G$|qrWXzSq zDI@#I_zF(WKb{1YgB`dKFe4iV0m?;NC*MEXU{=nx&8$pp0CB?{zA1PK7*+kq{9rvE zKM_Ov%RBIZ1StD#xezFUOK_*Ejw8A7<9Rt?rxg~8e+6*bQOp<9o_2vCwsh0qE8AdI zV3&&feTX!(7sJTfJ!G`WpQ4^K zBHk9#lV?|yYDe=oAV;~~a07~IQa%Yn#lF6_?l_-CdU)#a(?Cq)ndMOYgX|FFz%aR@D_*j`qX`qZv z)i+>iAB}(Ck;%gjN2_+Iq2~Z>RPxc4h|3{|hZ5i-5Z|HAsf-O-7rb`ql1E9mh zCT5G8qCh)vNqY&jPTTrL$c0Y_oNr1y^nkg9u5B|!^Ua_-MZZGgP_M*^Mr zb9+S6{G#C92c9?$E^7RzdO%u>q}!z6t=c*5{Pb$DCN(d_37; z?~~JUm|=-NH{ihqesd6>e!Mx;scuqtMwcn7h$UFnOvRJSj;1dr0$%7 zTt~Oap3(XfJAhPE%U1>Z>i1;TUk=0i3v1;PQd>@R3HcIUWX+C3$~vX=L@bhflRnBw zu>myuJZp9roC#Ln!2B-IYlFV}40WFvUk!jax3T~wz`r>}0RJK}6$k(-`r*^5x+jo+ zcEd_hc4c!_^cmm&5HMSu3%}Qd;SrE5>7X-KRJ=-H%CWwgT3}Niw=8MR_<36{$jW`L zgl;G~j{3%hS*_e(v-~RJzGo;G8q#m~D!8HOHwR1%#JKU1yvQF>-70taxagK}r9fWraq9BrL5 zvuES|YZlz8t)wT)fBR`%J{~rni-Hm2oWY}*j>1S2kJij~V0dW2YoO=-ck-QXfMo@U zvrycC$~(xy)9wTSGq>i^07yz~Ay1|<2k_3lbk~3s^A_BYsnXcje~8LMI%8kwL_Dry zOClg+0e;}~stH{);;J?6Ug*}#njI0$yfe%^8MZzL@Y>LXv1^{QXA5=qb5s`jLcZ5{ z&8?P&i*bu0Hfgy44I4Ym^-$|Fd4%Td1A1q?SyV@K(1LA)%X7t@B)|mSK#BTmup^ud zJIn$y9y0Ca&{W@tNzvy`OGenhgtJ+XM$ys@T>-(RZ7qkz7=}maD5RrCqX7oBk+5Nt zgm8~o51@ATVUu+S%5Pra5~R?9T2|0npOoOkN5(Tb`g~KCHBep4YX*MRw~w&t`zEfI z`6LEj%s=JwU1f8~zi?MphGS#V9yE&#fEzZDEFMbgdz$GWcQTQ4xrLE z@abtLjo+oxEm}D>xU^*yT23x{DFw=@bhvJ1$?ttL^Ex_q9rw=WC~>j{?G4o!HMhp{ z2Z)I9WyE-Z-v+JBsY3RYXgJ&c9p6#K5J!UylLId z{pFBUdTU=Js;|HF?b3kzM`a%!@I}@JorQ^g}x$;5fEU(I?NCmrkSNe?IdfoT&SWY0fYfj+02RwZ43xBYhPu zBLF1wQcXoBAU_{N*>iFRvc6m~S7aHFmTV=#x^TF*SuyP&wC|@=MS6{EU@`bWI{bVRmssq9LULY;3nBavNWt ztO>e+hR-D1MI-4xq6J!}<`Bhtki8I6KtJK9^oRSqT0XXAV;a!jSYOZ(dgB6K_cCAYUg%@L5*3o>G}@j= zxChZTU}0R`W){%$iVgpS{Kcm=k66I^*!F{8m~UvyK3@-k2YRPz=su+8)Q-hwUN5)5 zXN>aF$zSejJ{nZY7a?9$fmIbZAD&UcGS5jRj#O{#F!3cCW~@-oM(7ASg9BLM3NggI z4D8YghI%-Z0bBNCjO-jPBMw_C&~RLO18E?~^cK;u=nq^|=}R!b(h^z4)sooW=j*q* z|7F6I4>wvT(WWNOydQ8@cRCM!A7qQYgp{s_JWMv37r)Mlt>S%?J2c})NeWb~@xtYv znA)=of{Bl~Fkwbw-1)ipJ97Sv#hzV}@)2S^Ku4OvZRL8}NezDHMs6fL7wXx1u4h}O zOO9JUh979Vgc~#oJ08my$m(S$_tv##-@Ik&)a*r^lX zo>E(-H93KqG0`)|qM*t7bMD$JRtL>-(5Lr3s%|dj^bP|`sk9sC&X9erN(zl|x90^c z_ep-zVz-ia$G9YmD$EXMky^$5A{ivOrXweaIX3Ko_pI2Qi)s9orY|I@B~cM-=pReO zLKh0i={;9DW#oA2Jc8I#$%zDYOK+?i%AhazLOFZ}rwUr1WA5a((}gN5RN zL*$n8ITr?bY) z%~To!Rl8_>1RmeruqSFBkL3qyC8=ZMmO-GAR+B!Z5iLu}%m-#q)H7~_w9q5 zR4TttMl)83a%>MK6*+|wOG$YD)BZB7x}jQ3ssj(mf4x-9msnXwwaLQo_ga<4juVqW z)!s`zC(AaUWE?oD^qs2Q@-C4E{s`pby$dlgGN!GV7MNF`W`sgkFe#2}!aIBTdal-$ z1)hPq_1wFR-vd3D%sJapU-m}Y zq>#WDt*Ze%QIbUAYHN8YW{EhFijSWc*WE>@Z0sV<1`0PQLypL#P=4e=uM5T?LfZ}_ z#>_TOn~}RLMdO{m#5%6RPzkTZ3s>DjuLr&~C{ZFFU&61}K1`~T8G&kfJU+r&t>Nez z54!$r865{KY42Xa;IgFK>RR|l)1!LI+2^+P*V_9#eR5NnK$1#M040ovm z?0uJm4f}!P+$|`{h$^gdz>LDGfoiNY3Xg9MZOfwv*yza%iG&#yzeQD=T`Wo?P>A6r z4HlJ%j$RaK3o4mFO5MBA{~>#pkf$ugK%}lKxC%Iq2b!)|>GI#)Vyz?BO zN-7YJjNx@<{tEv{v#8*dJkVgI0qtF5dG2#NV8+^l9@j@BLJAlEK>hbrX;!c?Ez0|P z4pLM^GQmAuNE_#n8g4pImX;#z6&%3JZib;GSTyii4p0hJiQ+itrY-<7Gg}5vw?75> zDtzC{-oz=J*~WieSxhgZ>Ko^R5TXC9`uaQ?-#)WCkE*dtZgyCj(khOfRDd+GrB zxay+Y+%a>1VUxRwIvWIxmnh{CVq_c#pW7fOmng%Say zvd{M;-d4(@JWQ&-pTJ)c1yNbymhejJi|?C_Wo=6#RjVW}p=$~8LOmed_!3(qhn_52?2VW;vzaWW zoOo<{&Hao0`e;)OR+_%g03e%Fe5v7RX0^R!`25a~0>(#B=HfrRvq=W29- zl4+U@3m_*obzrQ`EOv+L0pZKB7>{knu>JA!d730O&Itceyj%|WLUL>-0lNwX@(ysz`S^s?c$0FMdSWpZJ$3np}bB`PW#(Eiq_tmnac zpeItNV#mf0xX;$Kp`Xk`bEFpFMR>j`C`nC#n3CYS5*W|BzryUtl}y(JUI_KD;g*Bf zN^H#>w-SNMip@I!*@t4$7=K{4<7Gx`NfM3ndOj!&4}0_= z41oT22OYxoi;lv~R_B{P zwi=Bc|HPHanHU&#>P6V*`>ICn{QdD4yqkFP$b@$tKB`t(=3(aal%Luudf?TFcCBW2>vM>#jy}| z#bC0;Z)~OFh(i(sR*kv;P(R52i0H8L&F7{Xe`A2)uV6;`H{EvsmWDW2tJo({>96zx zDS$%z*UEf)>};rlp$XMvJ$9LhH+Lt#QuR{@Naq50QC$^PhrkV7$Yp8+_pcFEnSMg5 zBxk-X69%?6Uf51fnL#Nd;9cQA^H0WtW1-Rn0QLJ8OqP&wH;=&r;I86RN%}^`Ya6P= z5n#cFc`@LGG9<;T2T|#==HyI}<+pL4qEW)S0dS7dVT8eMO_-t&%2t z!Yn{(?hd>cGxbJ5hrcE$;eA#)>xI!gV&Y)TJiS*LVDZ>qR`f5F+0vg15Sf=s<}SmD zy=Xu;0VD^OADEtQYcFSR%xIZSP>ic=>;o?CC_Z0t_2)mCzR3#f!*JjbI<`Q(k$Kz$ zNSaRPs7{ewcuCIpF^p=IclSxVunI>dew@0ls2Wc=XJbUY@~3?h_l{%=|Gs;glqT@1 z7Q>9nUG1U1PqBZf%tu&N9v)>Ewe>KY5N0uev~e+#G<42R|9EvS2G*BcPmpUK^9Nib zxCYkv!?dL>9a(^5NktI;ad2fBKehg(Ec?JrUx2RV$IiI_o(jeO0g}pYOWRY4(yU-} z3$>zclEOfI&LW4p0;GNkj7 z&K7^RdX7!k*c(g?boXxDs8@%SZ{ny(xnd{cYUPd?7Jy@Z82Xn6$~S(mf#n|%ggXPs zaJ^HNpjcss!R2dC-k9oqC|K|)SDRf&50GGQ0EY(2j}wBffGW8FGtx{1@vDxG6G1CU z|XQ!N%W)(uo|92u&flhNl3y2XAb_Q^%Mz^i$Kbd**OZRG9>{ zHU0sN+;v?!MVnzUTr0OQRPTT)71BVdNRIeRMu+<%C-rU_{QKV9z_x%okW{J-2Kh~P zF|sA5;;xiz4q^s7GQy*+S$CeYzZ+Y<_Wc>AJs)whz!ShxBox@eQ=AeS?0;len{LyU zSw!KScY;-*WpDQs5Ou4en&hg1EL`o`hRt-_6ufc`7~Xw%azflnqN1R0^DSJEUF5p0 zi?-*@owm_Prt4)ku^B}_Ar%VWT{IzF>~AXePOE0X`9yNN{KI0k5p@@~DHJ*YY?i&b zFjJ0&XeiF$5+!|l(Vt{3foLKz0G8V&qcmgP+`kjf;vPR|k)|&|%$%@L!KWsumGA6a zoj;XYS>tjB44nfE9eXp&#&gFxoz!)4 zMkQUY1q}uB>)o)TsszYBAR1Zs6jXFdqdB7L!qx|HK;L`<>Npc*MNbWUrLE9o0~*6+ z_ZvXC!5zYRWsqV-`ga>8Z))FdG=XpT8v__SfYvO&dKHuEm@-_C-;W81+HYhfxaTfk z3()=LmZ*I;H*+fBZ-rpHtSm0i4oJaU{tP!~lGJs0(K0J|XDt z)bB+qy8s8EeO!>=%3Ory<=XIQy!&qCgj*G`s4*AruYg}??ri!*i0b$`uFABzgr9pd)iDNvf}r%KrexDd62?IeJDAu9g$2WbOJS|3|Q~9;@SScz@;lP!>Kv zVj!bXmL`ce%IfK{0v<3(!lo*j5TKT8FJnoP2R?+klh|r%M@Q8GXYj(W{egY#0WWB3 z?-B#O;{AYKRZ25`{;x>lwEq%a0TH@?7olLqvPjd^|A<@w-#sCfc1|{D&7(5YcmJyY zV;Jxc${@S%VA3~0$x87*$?uYz5!jOfz9B-jyy*bKg+TAS3Xq0T&%1DeQcQ6$3flLC zu;qYJRJEa9?U0>QP&W-XS#Q4(fLt^KfuNS;yPe9=Ru=Un)Q8w-SFi1B`y8_Z7ASmI|u^=U_q#~iPG)PEDv!tMe zh_J-cNG*~g4T3=|9g3v12+~Nrv)uRdd_KSD`~Gpc>@_=c&75<_aUSQmOD)hB9)MM{ z{J9a%XEPrDwX>n3WC4^iZm&%B3#3MsNW|6Z+5~DaUS99?m5jD>4`ks6#+_2Q$}Yj^ zlnDepNyKQ#*?sB8?G-3JMVEd$$w5x&Q15#Zovv~c=4cNK!15E>Jjd2{>I>5vIV^n- z=bIk`;;EPP1_->N9MIiT>yYDO=cRth7>kRI068h{@qGgCI^@Rx9jTau#aCLR=gnlb zRYb+~^UVNO59j1+nsl&!oHP8Vi;S*5*aGEAVPd&6YLyfJm*fjSIsRz^32@qS`o{+# zdAS>tO@HI8orr5dIGnu8%0f$tqlt!E<&;|9o>%iVhO5#I- z`9@UqJ-6ZC%eQNaLrH%PXzN*)q8v^oClJ3fV9rwb3;VR!H}t;e4`rH$Tor8{rlNAj z?&>gdd6k(P3y|Ylmi37%p8x{F8sZSvF6nf%=gf`R*pX6YllkT0G4jZEqTB+2CEs0I zsFD4YU_im+ZLyGp_katELJwcV&$+0r)0<(hqFtF)LPOdEI z%GfGhF2Vc+N*qF$54PEP=@CZWl`|%nMiNhGtm{Nq%`S|?KHW;~$mjI;S=2MG+y+=m zZbhrtKZN{(eo+AwW(nPHp#VtqzYy#O|!4eef>$E7jT^p)}M4-{sR8( zIgm{L$94sTsv3YlA8^PkBQg+s&o zUski+mV_fJy55nz$C`lDtx6S8#D$SaEW7>pg5`f&-e7NmmUhDK&>tyQ7}JyBFa37v zKC@c=m0XC&Ze`z+G873kLp}sG{rR#*KnkU5`h%AgQZ@5K+4yPV8%S?-9?}?{90-5& zdG_<8z)7=X-El!Vo$zWeJ(3P?9+)-_smfbwSr1oN%htrvL*?wSzi>~kSrQ`eO)a?F zs*UiI+&K~|RB>hj#eEuC$o+4--m|Lisn;boRDDt{^GE{y%?Dl&VGAT4lIRlJud2Y! zs?j7=Dr)iUyMhRLIYH-yCL(VuHCzvr@xanAdQfrf3gW3eLSpsnw!AkTh5g0%ytCBV>OIFuRkFh-IxPufz);L!sPVSA zn%4Jl-#5hF z7?&~9G9)E8A{2sauU~F#yC{6FHHd%I1Cen&8oeWLPq-Z z6N7|C+KCpehyTl3C=9cTuZ-b>-C>6QkcP)%?c=$2lQJ@glLKAfQp@WT#J+qBm$lb` z9DgU1J?an5tUOAsT!q4p9+@Elt--bNwI z)TGhMG$kmD^t0Ys94`v_>vd3FrP`od)b3*~xz*t~t2R8x>XKP|1;vg}C<+sP$81a> zT1IS%iEI(sFi)J3&2LSY8$ZvIU)s9DNS>z$6Xgigh!%sCMWGT)9_ zUF#LD)#svJ%NnL9gZ;XSKgJ+G=h|I;}oiBCiLh^MKnVM#0QZUdI?24H= zMF#sc0d9XJ)0o;l8nOBvj`}LxLUjPd=)52cV^p5lg_=TGi%0~}c?ofhwU||Du#u!0 zmIOl1^b8bTQp#0ks4J*&GXq<)K!05`W165JKIH z9+)u6-P9j=$lJyve+r|B+G9D~j%6@hE3U^f6Ssyp?cxP?SIHE%xJXeg)IcPsdgnq^ zl`nTr`_^y0gX*sg!-Hm3U)~C2g8@Snd4QOR@$~eZRTXjd@1{YK&V%{#H&8bhkjSC) z`VU2#Bk7NKi*rN^&=Eh^an{jpIsji7vWw^6UA?Th#kJycEVIQ0(_w~cnNsN?w(v@} zfey5i82{^p94=(M*J+DZbUjZ@t++A(a!ssJRCAhw5+-h%m|nS zMX7QfY`L%8&vR8x#KWJJwrMv16X?{0f%>*X`hY~&{$iiFsW zi>HM$pGllzVM1Doo^-5NvzS;3fFXr48Uxi64rEX7i*4_g{*|8tjQ6#8l?5iU88?sg zmcTrT)16)H$^C<|R(FM8yIEn3QVZ?mV;Edd)8PZRl*n>~?uh8sA|oo{-J}nF9qPLG zqHgI{4DWeVsXUvPlW;Xop&sF<`O{vu6(f$dGCm~mE;yQXNaXEz=s938j+Xx!$*kZ( z4E3GU8wr=0fOU3Bk4~tFzPI2~@OUfJqkdk?0n5{-yer2Doq{zlu|MC_ zhiajy?jv5pp33R9s1WvnXr{R>6(b`dbYhC((nPr>#+b?G6wM-C79JHP{X;cR74$e180fzaE$zGqt(w)seTH+bH zz1yslLWi9K=rNyt2s8N_2tuLRQQbewz@z_IariEiFA zEGpn9c=|(bmK1kpHrIcWhdag$4~K#X1|#_L@-6UIRTz)LnCi&O>2mC(AjFHe zQ4-l&$84FVz^;73uK1a2qq3;MWVjbVXMwz?ju&%J@RHU#8RH!B)5je*&RUsB7Gh-TVH0 znE_bdStv6K_MvZs34u{Pc?#EpPv(YFJ_v&pvb80vQw*Gj(zC)Q$x1`%jl+p-{^q1H zF0(K1J@p=@o)t6&p0NGYS_nkLf6PXa(HKR5Geoui&)k7xLNNDtIHM@LuteBX*mmfr zkAcl4w^{r@_c=x9oM9MI^nN%iwW1=5t6#GJ*3{r*2&dG!wA$I;aa(C4-8kF~gu^h& zCa3+VH522J`NCxq>(GgeSD61qQLh;$>rh;TXwD@Da#UK;c0hzi%hV_}EkRCz?pBMu zY`3hk_5Z^kopX%61cBCt8F5*FK|2bKO+C)E0s#%~LS9B=(e993j!FN^)4irxW(1uQ zg7#v)JKh2bDeqbHhm`?)$S2huVSHSCdc=DtHd|&1-!L4^bgdJ3SOA)YHoOhWXufG8 z8LcPElq31@&#Z-pB?|;0D0BGtt zda$}??ECJ-Ra0v?mz^4|6hRkIkPmh<-`yn_EK1O&<}z($m<%SYCpXFg&H@#AIc3(UP5|Pe3vo0$hq`RG zYQ_3^ticQiA*e1sFNXVk2cO{vqqS3YH%q$Q6;fkD2XQOP5*e>a)sZ=(C%PHqzgHwX zu#2CS+;P#!T4NOLs;0yuv*x^R3!+XtrlZ>qXZP1}3m>CA zRB1P*DL{wpv43?=mu$i=CISh5O2@avMYV}40PG3Npq7X~pRSrh9`)ggGCU^|@)agG z<$Qp6JBYM=;t7Z}r6wik@jvXKrGZ*rQKb=kH;iP#HmC2ZPmYtZJnq7q*A zKKbdNiC@+VrX0#+l%PgVEw6m30eFgEjJ0KgrV1mAjOnhYKlm!!FU_$|$_v~OGVP>T zL`mKdy58s~>r*5q2)q4`e*e)GT~jI)sqP>$GIIr*VWR8&9y1&9OVY*<6S*8Q+D2B| zjsk{KR=@Q3$&Xj`wZ)g+k$h-t{*8OuFl$NoFiBKpzroINf+m%a1d%Cc0Vls|rmiQ= zn%t$n9jvqG{DObp#2eY8KcpCyWGpZ}+KX`4j_e~Al1O8yrQgN7CgI0|6~S5=PSBF^ zn+`X(+Zv)W(h2w-XYxt((V7Tf-3dz`6b1@whmxDP_4$7NULuDawWg_U<-{GN zHEI-^*b~PIamkI&NkB=!U2L9|oUTaHp3>54^<6jC`Yd zsWNP_Gu_k}{YKWcXf{H=ygSQbfpbZfRva1W|3L*_$xdak;_nT>ixD1!AvB#nm)eB^ zUtc3$t&;t>%tDbm6~6=#jI#jPcgkvye{t2yXkI(n1N&0w9R#_RidLuY1fd^IcNo30 zEckDBR9ShFX;_A~2oT>%Z3?dfaP+H}m=7nqk^VIQ)wZ9?mi~w0m7V!;dp#pHA^^-HhB@rBjKLQbdw+fyLhBnuM{pa zystACF)BwBzdAOe1g1}C2+d-UD({G$jmyE~@fx{Y)SKCrT-1xlgL|&^@HG@^`Wtrh z2+c%EaVHM6ARd_@l{6$IB1{Gtf%6`_6Y8cD3tF&^R1nPa*|Y22Yin&}8O9*^IWtH; z$1+&qRyFH8k;y$B4lH>ct8E$%X$Y=up?u4L5C1KjSx_C5rPM=uLkkd%p-{PuzE>eHS2%G=Tdp#+|k} zeksVcBJ4H~Gr`7)8_@;=LE`jbj1iheKfQP7SJ(Y;lIF#QD<)dQvXGJYLOL^J_tJmF zz{Q{Kr9C~=mE*U3vK$c~RG&kQ!WitLB?2uDu#^M`O?gkrbtk+I_pVJge)Q}px^u6n z)xS{Uw6q6(LpLR%cNvd0AFNjIO}l9t{h4?UTs$bDU(yw;y_p&nA7#p}UlE&62Rb!YQv@!JOutt(_Q7DgGS@v(c^jm@PBOb0&a^EDCm_AAr_<> zAj`fPj#G=(hw{|%9=TpOJoj0y%E_I4?9HKO&y$MoAS?A_ht@w%b+zl4wff}p2F3B$ zgt&}GH0-j<$QcJ&uN75MX>q3X_)BHc_uDG7Aro;*UM6{a^$o8gn^w@u%x^w)Q>GKx zy&NJHh27rg^5s-LZK8$l&z}q)JuU+O_aNNz$t_WsI=N^QsU@cP{BdxBwP-Fy`i}1O zXV0g2RQ|7=Pw6b(?=b9iJRH26SH-O8-TfjFDuJNRQP$#annejTZRJKmD?U^o$VvQ7 ze)Q%A$;t1tv)||2%Zl@@K|2SEr#=-P;34%|Fkg`qpP=Go4m) zUVopQt2F&_m-B{n*w^&8bd@RDDy~mP-r3{Pq$6+Np`K~!S|s&HX^k|qSh=DCPrwId(#z^7owP#AiwSRJfPaut${S?UYybtDZ*ARo|vdCrAQYdg}xd zU`Xof&S}ZFyd|9ut=+whiLgUM><*3g^J#lANHOuo{pC@k+S~N$1nDn_FqiRlH5ha2 z=?tRyZtKxEB7(=PR6OzM!TOM`*vpjr`p_wbE9qFP_zhTA(@$nBZZJzi`(Hs~zH{^& zJG5_}CP8%()b1);+`XhpMOP{94)vm_ zZ5t|q-ubhz;n(vEq*n31rkwi>tT@aGs1^vSAxahf{x$>H=}QnE4s#AmPZL{jZ+0#C zLCO!?HyJFFxmZ?OB=C(Gd98~9`No&glVuHO58AVm8ZZTj%5`h&mUAv z+qNb!%GMQOoTfGx$AvYNoN?$eS6_^&40Zrhr+H~U@t z3R&WsL7*dbc&QSuuJNA+p|E|>Q2uWNw~*uV8onXW@j5O9U`1Y7l`W%h{N|8#h^mDegb=)iuHypnb9CZsJPheJY*RTrlGUZ!4fSW*(a^3GAG;4VO8P zc4!a@Dq~dH07Giq9_#tNDd=h`1i2If6m3J*z3_T>?ycbv0YG+sGrj>rDi8&BLr`%- zFl@)Gvi%S3YZYnZ2nWw704Dl4T*&)r24ZJn)1FbYMB{U&gWrEP1+kUh0K*C9OFU9* zV<7ML7oY;-7nJY~8A(&|Yy+EC2jFOsuqovJ!ZW8kWySw~8YlKsQ%pylB8aI?Vc^5n zR)^TclI4@{VKN6wfKxyq8JB5dh^unDfr?UqJf#ta2U3Ix#$1odhxPy=5_iOIa-7c3 z>-5R4EUig2|>d`pm9^18TCqI86D;4KC!RlwQ?o5n8n;|CRI9vc) z0v2RZgWW4C0OR zPj7}~9ah*>p~;NUZ`d<@i?r%g57;!wXvdZixZE=22*W7FH}3$g0Ti>VFNr(awru;a zDb;le5_ir5^xoY1_j_!|lB@<%jf|J?BP!Z)c|x9&Qs_iXPL<#qR<;qKq)9iP(OKX@ znSpt8tvJP2HOkOPG7*(AUH3ZWDQ^cp@p`_5vzmMK^==!GIiHjD?;M8r#;x}M_6U&VJ5gUU1}P#* z1h8bGFi$T#dn;Xl@Jn80zORaQjfXmt(vWnkS? z1$}tp5&^pdIt~K1M>rxe;fHNxMc7B`xzE{!`1XkXjjN{ZH>&<7Zhja70xj+g`1roo zFHq1WYKs8{SX`@fuX8N`nkLA`b`K_Q2!)N=5kR4)2C^D7N*D7+(M^(%?e=;}GU>%` z^e^?V3f_t3a3H!@2c+p2~l_79DnxmIIgUcRCw3uOY5Qm;d#fT|$}(%XS!8f&lfb9J_y*|hYr z)U*CpL#4UFD5YUjxn*qxJQ0b|3Fk4|d>wo`E}@7*w{OK&$K!?|$Apf7fChq$DLf8ne@l7E+Ain?>Ir&-B)TK-z=rLL z+Fmr3f+qDI&~)-#5;q&Zh`C-T_K_Mmb&uB*cqpW<%UM!szSPwrkJ`vM# z+t_q&080~Joy#OigpC@Hicd^qJfnPo6N30|UIOm^Q`STa4yoH6l*lQrk%t&C5Y9NM!+u=nLUzIFZKyibmZyB?0?7gg;+mn(Q2; z+oA4`zuY8*sD3g2micz+O;E71$9+c_kWLr5@}V_9jK>G03F(`_x_~B2NuWdNYs)TU zBbY$$595AEFQwiQlT$v~hRZl}?eOT$fkI=(g>UdXKaZd7$ry9t< zbfe|?%ZPO+;6Bc8tc|K8A?BB!1047tKA;RO6dUy^f0GT9tlk&GRYOV@&<;t&ao-Tt zzDQ09-=r}X740@!L+Cq|5l$gMvpok@x`2@rZ8c|;-SB8||v zr~L<4e>D}e<&lu$CLYJ(N=(Qp$)pw+$ssW%?c^uUK?=6k7&!A6NJg7=tNO#iiOlL$ z7^os1H-TahsF?!zTKL3(n9S6==d22W2hz9a<5-z%hMKJ z_UcO!SS|@Up|GXGVo-Tz7mqLlRcUGzm;i+h%>daIh8z50wq9slHI>8bx#XtF2%btD z-uX*<6}Tr*htjH*u95I)P__j{QwI525->Sk!b}~5DC!6~TT)%r@Y3E|@mzQ+-c=k{ z!A>yP8f-E_zob(sAZV{Sp5*Y(k^n`SYgGf3O-f|79RV$f%wN;-l@So=J{L^=zZ@5M5eN?jt*fR6wxlBXa1959IUyz5s!UyMYzNy=zYB#U$XEbl@~_at&g{O@ zLN`#7(O5dAh)aDs4vn|A0&)P={2+k13w`w7#$)v0hk^Xj7^uQBRfaOpN5xIem__1> zr>4W_x3|%gO>Kccw1phsi06=sfNCHpj@AIg-VXK8kz&9>{oa3iGNKs&p|Sk@;Sf-w zb8;hQK!0?yB2rhofH^M7^PEpy-4e=*dHeCWYkUFj&(z*vRDKF{L#RK-GcW(XD^u;) z415j5Hq@6hp~GS35mg|`99nH_9t9)$W+&qAUo$X15BRlC9#PsceUkz1xY;ggcS~7= zJRk}+0qpmbNEEHDfr%cX`0tE9&I*q+@KwQZuy(=3OpN9q$OuT-Ut=5@(7ZXML{MLA zqj~va0s!oJ%j&y%%AjfpG69uPVqB>XObT}!5G=l_AkoxTf{;t#m|q;=lz?4{#eRwf zzE(^nZoCcn0$jNf;V#93lLzLqJ5G|giYh1tV`rW@ZM2waXW(n%*43{0PL{2^<#N6b zdalR;d@-45(WnL(oeqrN5j002q{{K@EHjN+*hVy64@qn}GH<6uXWm3?>7KIa0P-l6 zF5~@q)UC>3q<0BA0-zp;!G%arTleE!!}5ZfG`sETecccKoTXI}sUf@!h*_c@&HWBX z_P5j@%OZIt(wS=iX5edsnV7a~CYIweukSOIW-8jCyq)xc(PrSQHS&~p1>i-bMunV6 zkm@(O%Q~PwC>}xv_Ffcr4Y&8e|MY{g-sLh$6Qt4x(O-VJLtR7-N(UEgegZOn=UK3) z)1wEjsM_9De8q=AL=^q88$?dU$-HaWotjWGmxEiP3YUu8BbaCoLmBrQSd9r2hv6|| zA`R3QklX!$^&_*o*oQq7xC=l~7Rp07nnPg~~`P-8VI|I?6EP*KXh{HyDunUK~oul{IMf z=Pt!Zrs4@OAY8TJ#?e(Weeh8Aa zmCzss+Ax6OvThK{Zg%g0!mDFzBm>@sQ1*ZDUL1YMD8bBspXtg>{@R?IDn*ckod?w) zBd*_!W#~8!eEk&`rxQPGoQ#8Lh=jq}1y;Jr7!K!H8L#&Db7b*8edbTa@ouyX#*AD5v_MUNLW%s}ij1opu?FxMVz^TZ06YhD(i=xu zdy;G}T8mr#GuFlZiq0w!x+|GKncD&aVxhA`$3jmg|EdSkr%-pyDpSV_m5>V@tSu3^viwzSyIr^an+_$R)>PMZ0ZF6GZQ0+39{e>_K{Hf<^1=7 zY@U*WTAH3zzChiR!{~8YTpGg}>nS$vrvZ6-Y0rU`q5I+b6KNC%A94j?RsgnJmjV&b z=?elfoRsLvCEUYyI0tZ5!Lm8`(Ffm}OxXZ8zQ(EaFm$Oy1|YR6MC0smPb~OuLJZB(7@z6 zGlO@%eF4IJyre2(_s=tN^?<_j8pBa*{zi%n6TKIPa8D{zuyWlA(wI@}g=+xc?>0}v zZ9(xN<#JAhF;Fb!FQ7OLIM^fUsBRpiowXUR3dz5No?9+1C*Xf33xeJ{A^pP16zi?Wpe;SD5LIXE7|4O}Cb4nYE_!h-6A z`bwj^K__WB{_TtDKPG13#C;t49LEv8KZ5E1~pG7N=E!Moor95L4u*iW9uV zwW%z^vlx{X#W~2>!ry=+E$JXa?19l-P2MqDMljC5=%?vxv6$VdiaU4#)ka(h%Fg{Z zgLYS(RU|Wx9_?)aJBv{HM-RenbKN`RW^dENu4G|*_C|`gBgO#G1^%JaF1o!T=I43t z@{RO2mnCzsYxoKeLy7I8vz2mn;L*i?+!DJ24$&&(FOt|kB_Bu;WL-?%s3?uOF7a3& zDWiQuBxo(|S2Zz%`GtlvpH*iC=z~J}3<(=o{cXpd6+ngTLDLd>2Ji&)$+w}>w_xfS z_9Fhko`I^V(a94O>Wi^3X+BK~+PgdLCyS)whG`w7UG;7EZakN*y6t>U=hQV8%D9~8 zb;32GHZ@fuPsG0=uO+8;lBol#LK}k8DB9JOsb;rCKfQ8J)S828)QC>EckDPVGm8O;fb^>f|}QuUG3Q2OHz z6)ydKzTx=od!p=78ELUf>3AFY-^T;;z;jl>*=8cI0YapJW@sEwhyf_OJW&*`hVFdr zV;PLUzrB13q##rnT$q~3dxFD5G~3=*ACF+C$JUMXPs!KAZMh_65#Nj~14DRR_uKwB^3)M$Zg8e@eS$lj%~0u}}sYM&1FCR@LWPq9Be5^z<@ z%)Sub8e(CbONb5Z3g`)qtjEZ79QB}Jn1BeTY6 ziwoflJjFf41OJ9>&3UC7VBtt+Q&7xg83Bn$a0gfZ{&pm!2tPsV}qEXhPVzb=!#w z5cQoIYS?dpWsBWn4YdEoP)0g$7ea52Ec}2;FoU4-D5#p>NWswSkq5d9f-rD{NdhXvPInIkGyyr&PM_|iCi~vx38Qfj$h5wY3JCg3?#2aby2zr&BWFJMlnX^p=VCL z?Gp(Tg1xb`wDLKmZ~$2X*l=?8xN=M|4X~`fcHZPn zj1f5JkPfgrBPd2DAc^Q$bL(l*?Un{k&cw7p89=4T0>YY0LW{N)t~bFY+YlguZ+5ic z{BJM$x09|*(&~MKoi(YFpfn0q0@`MOLG*!QYpka&_$9p&78R#9+KbpAbSY9FmprBM zYfy345R>8n5=_&F?JwZHI2()MkWyvR2T5XMY?aB1N|(a0rTNkX5bueYS=tBSh%Pux zGOJo%dKnKyt9BHQzQPo)uPWYU^O^rXiZc>bnk{9g5E>i_3B&!}WBTnjAjEwhisz7& zTZT)wlO<-7CKVQUdd{OHNOYYw%Q1R{pfH65QO_Fi1Et}T^0bTChA4Fr1o2jmWC$)d zZC6gN5Et^L4K%(y6g~!(U*Wx_sIx%^Ph;9&xk6)D3eISyr*q09$_GJt&mO504UX=} ziCi52nZM`xfL?CA)V2z$fS}q^zQ74cmbldD^MI@#)4v}kKE;{ai_e0|0o)7Fo7`Qt zDQS2R)_egJbM0b$yJ^d2IX(|}1Rdc{*#%D|_(6i$Ylgl5kT~MeniGTo3WJ&T)(5F; zO{AO7Qh4b0xK&-;5v3X_f)MPr3&wSG-O5-ZY9((vHx)(@frWB_4Qd8->Z$2g?)w_) zKe?&W;1D%b44CKx2XG|wx!P52NlJ8iy!Vl6IkF#*tHz(IPWRjU2Vr_%=>|n0 z(*?x`@YrLaX8uI){1iEZi612=TB;e`bwf+h4Ox@Fu4oo4Ywmhpe^O!-?}#j$>6x9UWV|DP`lazshkp) zu2-xac+Md#sRSD7ukhZ|D?{u=sC}VFukG}dj2&t~It;~5$1L=m^S{eg<@V7t3F?`S zJ{*>Qb?jH&dS9mCS!_p(V0yHawsS!royVw=Fq`q-3VH&R>3=C7Cs0zOLzig!k!SnO-rcni!9nkxwa|>-F3etW zye;>@!0M{*j0vQ#(s-65SATv5U%&xPU$OYj7em5gJ?RS(hHzCmN4!;Zk$H7YU1^e> zA1R5*$c z%ausu-b*U61TxpA^1Q!CIewl`_v0`n_Q&CmT$f48ABR2+`g3eBrOR`oH8EZR6FgP- z5@Q>Ta_`PN?1<-lEth2|p4UvWAb1Or(|l4&TVgifikLF)Kk_UXwAe}@dFyKfU)^uh zOe$q|$%xUYu*t&2&K&+I_(^AjB+l-hOU&AR=IHy)f&Ri%RpnL9^BKrT~VouvHLx6v9MkN`zSz1gRNx71??CEK{HxAK32uTN!#h?vYpHy1TZ zKWU+JKYB0h^)bOoN&WcxT1Qi5jWm}`1?c$D+j9|hU!5kyrc*M6$J#wZv;JN(p~*)> zx`YYC3~mS4^28*4*ynP~8Z#Rqm*g%!!=^1k)1(RWfpNl$;33kVu_EIkuXi7eRAlhf z$IcyRYo~O2B)PrR{N|nh)pGzUvASTQq@$&p#@j+?7eiactI}1qCvqG#bzj!7={jvr z^44#SCqUi_?!0pvbQS^6hHAM#raCFSLA@o?(X~ z&&6~)UPbVpZLXChJ;2>pGU{0Q{1{(!igiw_10u`H-u7E-#w{Scxt8TVK`~vVUKn^t zs(Znir;Ok{_#qur2kevb&{tx2bRWvV16%rE$zd%fUDD}$HyK9X0nwf3V(yo&jadjB-KMjm_* zL5NGjgzj3MYm$$X#)IR-d!5$<*Qa&xY3x;;_qbqOs&eWP(YEUrk2c3gX0;C~lH)Gn z2MLzcT<+*3gC~tlaikHGWXWb1W6da8?i||lphx4R;0;M)Jmlq6F%DR#^2D?)e!ga7 z(W$XJPd?s@j^Ng`>+`*HSRI=v)+zJZ1Ifws<~^DS;UM*=0?u zz1+T+JQ#Aw!*Yk&JK?vTsQM#X#mLHlj=fn-2%(L+oV06pMRho5pm8Ve+6PBE69Nr- zO3mXk6&^~>sWQ%DvS5=N<;2B>Kmg^(THn&=IHt}EOBlAbEk8M_)Y_O+MeEF{m2+#p zzDLOqw&MHaK$GKD!u!+nWgZy{K}55Ksu3<-CLOF0E}yPA>=nPbmfw~S>KL33`51KP z-vT}0c})v6pv!>!ASGaA<$Zs>ff0g-%{gET!t6be^zLYZ0QR) zR}1_x!;1#tj(`4UX&PS{kO@2ns+(-{XpgeEFKH1jEIK6&sW(IN`ZT$uqTH$zDws!o z4Fpg%W&}2O4IQc@q82K_*WI0?tg3l*%4P4Cyldqvk>pUH)4O9>x~$?7p!q~72dy4o zk+9)j5X=49#1vnd{5*lD&R=0CHcc$>p;MRN+7`MSH zxNk<##BkQd^WJ|DJYyq>y?Dd*e%H5h&PgNCwjyA#7mD5SszLigdAFY^h2(T7jx7y} zyaX0bUsxC4WjwW{G49wbhnW=Ac_p0$QVunw;tjHLc8OZ)r2Ete_q%xjh8YB&kcZrj zA@u}yq`;*r|3xphfpe>(rZQbws64WuV@0zbr`t(i|ItQP^DD4X_XGyGQ(IAoqSX6d zTxh^KNudsfKNX8A>-}-pHn{PN$n*Gdjz)dsz2ZLPp@ZjQQIdE5gbS7LJr?=*tQVfR zgd{-&Qcv*XRT=lkUZ{KN#iE)3un{6te+Ku-;8DEhq**n-Hg`9A8^8S;#3gm&!`pA~ ztP_1FP!{ERvXZj%CGQe>(2{s&b2Et%#+-D?JY?lmU&&j4`vsO1-mV6|-JzCPt~7s0 zO4Ao+t(jzgrEqj2X@?QN;WSwBZ2jTcvFQ2n`DXCno`>iA!54JYvFPD;g5vphr3JxU z>zvyi8(<%aJTV|*m0zjoI(TkgH;R~(a4&633US@r{u*Z$!)%?312MU0%nzzQwA@o{ z-~02+j$i52nJEjcMQBLHBVG^JVN3;a7t@HW{diaM;#;M*56A3&6RF>p zV%S_W_=V@MI7BoxX7Md2IN50a;WZ9v1}iwC`x+;u-9Y#B{*~QP-&EAFlT8d&At^YC z4kS|DMO|-Z^SjkGKTc^5 zR9gSaA6x!CUs~8%pb1{ldmDW4;{3E8{0#Tm>)^AW1Ls%&`}^O|40N0##Ar{2I1ivY zg4*Haf6e??9D`f1yg&LHToWW3kYta_l;)$-PZnriSzVt zsx0*Bmq?(4)eMX_rdYO!qubNsTi&!9)WLJQQ}p8H z=5=2eXVl&HgefuFW|K8V)fVtog0xBz_iDjcc-Fja{I&1QO2FiC$E8}S^emu9cODej zSGl73b$za5C~5&U?yQW>u`2Z*D)0 zJNUh%UgG2bHH|C;JtRE^tQ#2^SH6s3CJeZz}T`jiR z-N{P*Rg(xW%D*C?`$|iq^TucA4XeXZ*_ z$lowH>rfZ0N)>Uke_Y_%d(rY`LB0Ey1p(fKw~>@kKg}H@mVi$;BVKb7UDL*fJ8?9~ zw~Ey*rf`R_I=xRY%cyozBPhjRAjWedX!C$+4LOIoNU_sn!=(&sB%9_#>R<+@%`3r% zZQ0NBLTb@04<8NY$-9JLq}qh<@CoWZ5Dy3$Bj$G?sFcwq z5f@cqAE*H%sTCk(e>3MRbMl%m|1P(zllq*?Y90H6317e{P%bdcN!ybhJ6TwRWrZEL-usr}EEvknET4hv(bVrQ4^i z&B1@yZYiG5fcFRIr+>50_Z4aM_fHopga57u2ObAZ9tL-2D4y?r3qG$rT7DROe56Pi zaO(E7vgLfgXd%BOqbkL-uF6tcs%F?ayv6xnwr|@#|Q0>HWOz zl9@tc!S~b21d)|IU{ts)xU-Y;)9;J9;PSM1OW^6TcY6F6mi&&^XRQe{&!1?XJ;8iF z4V(*-D+x9||Mt84x8>;zlk?++*5~JME!L~N?Jcqs%5T-}c{w-NmJjrd$$s;H7U&#Q zoU#1lh4)U6?eDEd*O}~Z@aePZ_kn*IzJY&OJKsN0{9LsCJ?QVu>3PkX*Nt<1tsr~e z;A^~!DM>Fx1dq@u&zvy)BE2+z>6X>MfjWj=jG*>Nss>uAAL_vdi=rciT|_d zqNHWRKSp43NlDpSpL4!JGGfoATNUw+a^dMJ{^(I|z6= zVK98>oXwk^4cAKj1y*JOUiQ1#hi#ijPL@{cgO4mXX9^fj3m5{OH3uJR4fdq|KW|d@ za4l?V!GdZRqFM1YiapC!%l>9qGER8fUME-A?ufT2D@X zR|f5T9S8LBm-#zM36Z0@hg$IAB&YwM zs}edT)}=nZe0S%rV_kyr|6GNV7V5+4SGD_kSb82;u<1Dc@71z~u=T$_U6j6TSY2E5 zKbJ)LqT1in?ZVigR^R`o^LoAS?G|G`-|hGR{(q0hT$%3czLxVk=XuWa zob$fMXcRV8v?+dR;wr28(nPc~XZ|${*_IejchBjWyFG7sZ)gh+_EDOtv-JGpmkH@V z#R}idv{NqF&tG}hsQt|M`3Ytj_R0m#{JNKR@M?uu8+~<*;~kO@N@m~O&Ivx`bHKV%(t+l)wGW z0Walm9Jl%&8hkP!*|Js%HA_1hoWwUL=`>&Rjg4EkpPq=w|@dCuF9Q5{0X@~x1X88_ZHgUN-RkT+@Y5< z-+caB>&=0SQbF3n^=&5HlL_w{4zRzfaMzn4n;&c9JWbIe{?6^#Dg3qK4JYot_qw+1*VRw2MuhIlz4L*WvWvpgt4j>JCK^t6dGg)0J-a{8 zy>@;}^OOgJ7dAMxYKrpmHCMY>)E+UhOUrv|HB$NZZMO0E4O?9kLI9KkcVwDXoNt@E zeZiykD;2x^l+BWxCh?u7DGuew=X0J=#g^7{Q01rg@PeO3^!3W1Lul_bN|4~);4NIg zf(IHG{oYIYd(gV`ps*`J}y}KV08%S*1*^17<;O)Mw|;T2EMw>g+99jSAtr? zCG~p|HN}tKJMjLiGljo0XiThd{fWEpy+W3O9bSz%1fu@HOW9fB=_Tiu^pzRfuVZo- z-28oG%L+x;(LI~|0-v39F?l;vI9n_D>7^bS`L!l#R`5MsXQn=}h+1NGc9?8ZdX%r|V$oyH7iHAF*_^V^^#}j#7`nig)|Y%sW&OyIww~dh67fRGpr4 zZnFp54mm#}T=wO##=G9lU4xv$lco-{Ia^^nM5ubJZWjB^bk}tcwTI+A@A^sm_@QCr z9=_NSee}-S%`#oN@SWbG$D$0unYvSzvu&CJejk^+Pj>WyI8WJ&^XFM?eVla3E#ed5 z{0T|Mj|RnMTy*OiQLk}=<9XtbP{)H~b61xuZU3o$ewFgk@N+G>V{_iTZV#z`b5?L+ z%5f9Bhx^A{n{09SYwCDxoVr7+rc7gy?{AquPWVRgl>Qj@g7Nz<7>r>raw{HOuy-!| zU*peImp6o-@9bLqD(<_GpI=;kx~F`}_qB21HL^Vu50vL$Otn}4W3i}i;WXaMzYe;V zL>}VaPQAInq$fgfS$lcHqFru!Kbn6t{M7igYsV6A@33>-HN0GTua5AI7AxCod*{ku zM-9KA)~oTa(VUhGcPE>(EV-YJzH_ZZ^J+}+Vwb(u1}}YG9p5c$A61#R#kk;=p`N_q z2G_Gyk(N5wUbUB&eY$Ayrr*MUR9n{Vb0;Wv^U&VI`{8dU!zNWv@#jBkHoQA|LS+3Z z;r*$taW=a$_8r{y)VcE)4~?Ld8oQI*tb495uFnjr@DM)VqiNLr)^Z^)R}>f5_UgCY zr?SU(ShRj-HYEC!O>UMaIz0Ahzlk?C>T>s-7WC$?qDtP-=%S51<>$wGl`HgabN%a7 z;={aTohC&e)oY4v!Ds4a16+4)%+OM1_v}`zPsrf2>h(QNn^+d_R}`$8JT)(swN>7* zh^NmnZt&Dwq9c({VcXMVMbGbApR+d9RA@gqrT0{%NqXTn*L7>-3OjYxwI|Lt658pz ztUF^Yyxn!>g`?UFyR0dR@$Iwg_2s)fyl&`sK3Fh1wbrI5IIygtQ+JWPYx4HGoY-Bb zPS;F+tUW}$PSB7x`|`b$UdGPDw+<~j88qb0A8W<7ZwVeg{S^HYvpb?;^~y_@s2 z=j`gR(fF(T7l&K?$^@;%8QPEd4w-ddyLOc-A8eeZeQr@nQjzxj^PL6uuZpf`HJq?8 z(^xHg)1hi^DY=#Lu`@b~#>e_(6phbGO9)IgX^LD*sx!;M6OJ!J<>iTdJ&M6co-De_2qr!|YRw z&!cCTSI(+#DoOaJq-+Nn`y|I!^;7MajXihjmEOFbTIZWx)UagBcM&uEIZdJa+U|QN zbnfBVRNZdL$Uo3iV`|~wk~;ig>ax4+cSXyx(|$1PyKtlIdgc9FW_O0`I)+|Q=Xg~r zN1wKuDO6gt-!(jRvEa{r#~Vge&p5K9{m|1ZtIHn7J?u%l-LhIn_fg{SBQg|o7Qgs& z$DgT_PJNj+!tB%NK?URXUD!B=eSG}Bc9m0yzJcj7yFcYmKG;*p3w)seTXBwJsJ)E# z9|@fqr*1Ylov79y{{1!!UXP6Ct2d+f%*!!x4ZlCxwM(uf(MI8fo736uG5c=%ztHdgs;zujQRwcuL5tlLn%cMaEH^4^%XV;2-kjNDIB}1P z!V6Q0y}P4*oXqYBIW?}l633CH43?4qAd1z4Q@gtuPx1so= zJaod`bFV6se*b(S$Lski1#XVE^3W~Cl~aF8+Yi#WAhK%OUz%d9zGW0Q?l2rJwx~CC z#qO7{kAh^n3$sIEBm1LNSLHWede{Bt{+_mD`IdbfnaVX+Of`W&@smAoUvBdfot;uE zJ4thD;@y_n^_jv>Qw#25XVE+O0 zHxV2S=zODEpJ`HhG{8{iFY7U78#n2*zM3#5$=7Y}j~l-6`?hD$wlP1c_YA6>arh9d z?eVT-<2d2Po8K+UH2h}lDcQ6^W~k{EzdTH^Q7o_cWdCTh*r-YSTN7NT2>yIj@Ts)v zIP|XbzA#u61pC;q#G7|vL1*^D47UplY{aI2VX*R^bdc|kk${i8)5=WtdRvDk@?N_f zHI$QDtTO3_*M9C~hdZBI;94DqellrphJKpd!cWAzhU+Pum73vZCX(nQ{#xQ1E)2H*8uz6? zi0;d)Yk0+P`w}zyF33TBYq8I(%HQ@4C0lX`>K>%t=+2kt-5T5n9gUA+lBDnO@<*z3 z6`kEC+k~)fLZp_7TnCC3w-)8RpW77K>ZrczAPnf!<;Pc!*@m20sQw!|K-g`G5AVlO zae1tc4WEf^8J6&wlbZ3V;V@A41r?2vt)Ihhrt}`O>^}3w-wb+f8`8Y``_ zuhJDLFU8M^yjt(&vHG18wtsyx%rTo7VsMTR&rR|3`JeV(Z`|5S2ldhw_lXpoBU?ur z&6d)6X%VdPj)nLC9BMeM?{NN;Pb@UNe(dbvv_+>-(_s52U4;uHKYoGPrr61pZzw3E_`(IW)pP8+%{(4uAaS{{HA|yxadB z-4i5#eEU;AzWw%p*#6OvZ~qv_TM+X}UzGj6>Hg2Izvyo@XN~u06kn>Vo_go#Ux;PehMJM1<>SU5Ha{~*C7Tr_2U})?vsxj*wBw_sP;dgRbn-4`DhzV1H=|NXP|b4_FZR`|108{>1%PjE?(|6OIq%Dl+=E6XG2Pj@tw zJ(F}}kou+(!%iDEhCbRq#OKtXTWXGdzxS zZZ&@V^#)Iey8z(7UfIV#@Cx9hk(qZFnyA>?h@MOq=3v+XIbS-y1t#&w?e~bIa zQol^`l5h@#%a=#`-;9Ded1lAeG)!0eE$-6f9_gI{dm12?t%tqF-*y`_bLH*aF~1hJ zI+m3!$eagqi&^SNmxObSo3(TBYRmA;BaKuxq3E7e>5aWJ@lthf=aoQLD3$rBltsj}R?3tpueI?W+J|Kw-+`!cz=raxZIx}!X*>6EfBt2Jf0&A7d)i> z@|u^XGs#S0)LQX;`xL&;)3JOLw#vkF>yjFSf{YVtu(b-uB__pb`j(%4H)q`K$1^wH zzM^dP$9IKrff~;H6tttpTzQY8*RNe682yf!?-Nc4aY2Mb}3w`Y& zdt2?3OLU?m5weQK21d%}C70wU;zG;(>fV&An%~fsiJ94WICUj&b){=E5%E3Qryc`d-vzX<5Ja7*jJN2dynK-y`R@ut3M;H>MTa9>-kd zU3|RR41U5v^5>I-?Apv6WZ_cFgsmm>w(r@RHsOlzlb?6axGh^Dnys@}HsfZ9s-;JG zg7?eUWfraLQn}koUnD*J9#DiTyFn~&P&8{IcgN7T)gyyrYme^S_4MAB%+`ocpDYDT zA}VM8*#$86))c+6=)s589KYOD1?OmzUGZGiI&Mqm+(@@=Mt~4bO7}wNPX}v=`nkt3 zdAXA2Jh)${fb<3aU#?$-!n$u%8Qzm`Jm0$64KW97? zQiz*uP024aPL?%$9t>L7!b#tBR;^q9a|N!$Wi9It&0+2jP;LG^@OaTO*kZ*3|F8{< z3e666h53IwT`=ZMHGYVjhMG8j7^slKgO#uX&-=}!>|-}@Vc&XYVPV(^ayLy|Kp|jY z4jGu;F-c z^Px160c)ibIXxjlLMDsC#ZJcKwt7yMj-_7yzRiZ(@~=bdxAzM2LCc^ zXR=_;H*Iw#*_H3I?8m*dd1U$~6XojW6Z5EgWJ^*SC>ZbJ>8(UtC(3RG8*H*ydTC>B zMufcc*8UfNqFLT|xSZ*?f2%_YU@_dskMmHG^QUb~mc2+MX!`&q*!iR5gr_p9ikaYW z-kLsgFK{aZKyeC~sODd@X%TMhhj9M|yWsYU=S`W_a&7WNyq5zP z`c&YiTZzBSm z5Gw4@_bd8$_j`q+f;7|D(|6(QzXEad)Wn4?mNVe!(ts<$;AZ<{o6!a%Pml zbE#23?Ixq*3T=jXkx@>}D1{eNqr&K@yuv54cZlv=dP#KOSw$h=v(i~*Nq!pm%8??r z&MEs$xgj@4>TOXV;NpbtlDBc1w)Mm$^Pz7Sr+jgj5&pQlZYq`(lcS`B-%&_~|Kr`V z5#JHvXPOb=UyG)~KU_eC|Fs_xezuzbzjhGeUuJ~wsU{_S(*h#=zwVZKeoutIYcCc4 zkh@~x!xhahB%_M&mSxT(qjH&1*J7nc4Jsm|zKSgy@dFv9Zbj$PxhFL$kB(XzTc*b% zqpmQcs^X^uUJ2VKclS88tfk)Y1drxM5AhCuwaOJA_;qBdv(sEIi3n)dHxnNI6>L`3nK=1 zMinQ0vyk9UOsN#^^fXZ1nOFcRYGg*WNRK*AM|l?8=v*hG zrr%>QtU_w8PCDvZu}#$tGHN3;>TIRdsBQbnib=&bM8QfuC$cO< zfP95nR^RTKdHbu)U+x_OaPv|fL8nxm0UZ@f0G%@1!B49R=#0250i7dH3fxL$RF6bb z*Q|yJTX7jk}^bn?}+`p zi%%9^N$_4SVg>HARt{ph2i<<`ZHOdwu!$a_ze9L0FJIQ*_Blgt31jRmKkdkd=n~0P zhbg7MjVVKbaC>-FmdL`@Avh(^Zp)PGC?6whPxMU2KSVGX~qTLHQynV?kAW3@aE(S?W*`*nH=~>E5)9dcT`oBy|JWAMdXc~ zAg}6{yL`(KH@hI6Dn0?APZ{kVmXRYjy}0m&3q6mqV@s++Y>|^bBy87aiG; zhPBN6wenE3S&30sc{Z0b#?5ZNb@T-v3_Bg!X2`P5O9G;hpTST0*Dvzwjzu^=1@gWe zj;O4N(S^tx9S)g{{BQQC5hO>U;jA*KW+~;QWJ&ri2|la%1#Ul)ga^cACHyq5=FiP! z4f##yzeL+dX{2 zt!YikAnLeJT?u>tI5r*+{1G zto1(%LM_RBuz*5~5Uj@tvLFNH3N)-3Ci(W%D&cH;+3o8H$J#Kf*ub5{QJk)Q+f+mQJ@_d zu8(oRv)ybFJ_3O}SY2qAsz}cdIs^o6b&GP$&rUv#f~k$nJjMyCmVDh=+U5;ok#9+%090s0E$E>dzvn}mr` z_TbpyRIqtMOR1d%C?XZ6cOV=)&2fTl!o*Wr9yK1maFz2QNdP~G9&rTnX9T((;K+6l zLS;3rGbUdKBA<>PFQ4RRzjUH;0nT2CI|C5iNQa97MST*Cs>1M_r;%Q z51mL1{seDwFioy-RL{GXeDhcs6Xg_ST4F38wZIzELx`|2gqnvg5eB5raMBptPKze{ z68=kHwqZvU04C@I0tqr-0MD{bdgOfb7$k^-9X6hYPcDxh3$jHypk!%A3avyjQ|_Hn z#GzW76Y_$i3c*Ul6swPzMuUYIl?BGPrGQ!}JZM-v=F%6E1jJmNrklI1L>_ssinRt9FN6H_0tMuZ zE+zBeq`cKC1B8#f3UI3*aDLk;1^vh$iA({b#J~?4kB0QNI!hu{m{<(?QXb;*hR#61 zwfs7=^ZB)AC5`NHzdw7vEISrN1XsnH1(}XC&Oe%75_PSd%L%$=)pfQ#1C_l>0qNbo%dOk@Q>MW zR{t^cXVok2Pgd+yP18n$oqKa6*g0@6FUO}0L<2H{tw81;7m&^9lEXjSXG<1iV2L^y zDNzBDMWq)*M4wJU@|qe3+A<u1`PPN&f+a|W<4RV$q2RbDTOP+n8)yC`@O^h?c zB!1a!tkdfA#RhNhZ6+a)pQSa;ZTD#(LKF2ej2jwYV)U#eAO_3A+Ct4hEBsFk*@>e3 zwpcj!%JCdoH)3H2wy z+|WrOdB*!9VOrW>h`1zV9f(RyECgwSS~RYKcq^r+|7(Vf+>2=ZN0IZleepVwP|(sX z01Kz@Alm@^c`s4{c@T#GkDd}^tohcF6rX<7z{&@a-EWw7C0D7ebB1q$92r9%D7UI^S zNTB5DA^K{0`|(pd4+|KYc3*^aZrp|^GyO_)4qR?wL8y-E9Hh+Kjxh;@2fi#y{mwW7 zo%;m_ZUy#u@zhS+8V^zSZ}%?rPKa)Ny6AHgJ%-gG^MmMpSYc^<3PxT~BYusG{wPjw%C?F1my)v^A zR!nP?NT+F~T1GJK)G8pJGpEzfLhYDPQ!M=v63S3KYYRuA1!Pbq`ShiPwbmQ(EnlDZ8l3w_06(+gQ5==MEzM1 zJ*Qhq>ytqZD_4AR>e!8QW3)b-bA9E|Nhw9Ds%={iI2BlA|7%b54~yn5*kQHUMUykp zyF}i3;oI=sCb>va|A#BEWV9N{VaZ3%3I+a`(hUU zSs~}l-k!3a*y@iUR%JbHsaQBIIlUj=h(X+ z71=4ss7j65C@^01GG4v9eCq7tY|RCS>oS%J0)lbS3fBH89%scJs|r(R_M5GBRsJ5X zf7)pBGfOX#UtQZjA!qb8xqC1}$YwJ3;4ORG>=f4VF2YU|+zH3dEiY?^fe)vV%Jm32Z`VV4Gwo$;}xbKd& z+P#Uo#_&jo{*AcvCYRycWw0B=AKf8?yGd(>rGalqtFthdF! zcM2Q$-S;1O#lU2Y0P8raK2}pk-({!cumYCqoKQKDM~*Z50*HDQkw~h^qMrPN^xjsm zN@TQk_mTx_t?xL4B>i|C51yv3y0tl1AKoPsa+O`YskGnz8sTTFRMN^fZsn`5V5xo< zDiMOVZUij#hW}i!o9{1>v4+imQPVu~0?`kalgm88Y!S%&K#A7c2y%h%I$va|GvmZJ z;yYE3EDG|3gHjdf=5^=}i?yAQdzF8zK)ey2--xaKGUYt&uBpX%ys#*5X@>#=?+0=m>s>D;ok9F19~ZRn({EN8aNWcwPrA5`{e*tqxrU@bjkZaBv{ znlLt=ZHo5_q9U>;H#5#b%EYBLoo9eBQLh7PEs82P60X{zHGIt6aF!c^}-=c=r)`~iFxxATqFoY^P4Zxf_hd=aijhwRQU z>_7>c_9Jam`w7;F5ybL5D&f%Ah($!AsZ9KQOLn=$=nmSqR=wuu9u3Z!Brlll%=XbZ z5G=}m*1mCHlr=0PARzG&kyUtHt@&9vC>k$?V`=0j`1U+&CfEuA zZixzYPrlAdH^b<{4v#jC@fge0Gb@fo5BED{Qc6n(9#8VLgN%eSb;j zSN>80et`yn!}ykB`Sw=~f`eY;W%!JuCTJYAZ56&w&b9FJCbpAm1;>0lMKLnIpc{2- zIQl7qiew`ifpCG~7sYxCpCNt`6b@Ys`5`vIM<;Grsey0m2i735zrbyRLwgsYAn+GU z*A|hW|5nLdaEFB~*IPEPz;9Cr?0cML(WFHsePdk_YkyPA{R1TqCaA~V6H5=o``&+3 z+4Pmc8Zq_xj<=h*=EM1ZJ;>pf0Uenk@3>Q*B!0$l#hb0mTF1^Tl zb^jH61$y8QX{huvA9}xgvV3CMTVd_}yVm9hvo+szvm==6M2q{dnEOmctmIWqTQxo2 z$$vhRBY3kF1TA*JBio)b@lxhPKhZO-bScpxJl$82$%m`&NqR*+FteulIcinw4iRy_ zni|!&Bx9ZZ!l4huT?5`<#$vqpP4AM)37T(hS~ms1+JwT9(qg>2_fP`0p^hVmTK*q@ zKPdPW%Lqa`hrfvq#k(ZO{n#3+OByeP`KMGT26w0=?Y$M$AIY_*SPH^Y|4J~}ud<(G z_ewOYc4}0iR3r)>R$z1QA`MANEDCDbp&S06ITD6^j7XH?3uw3_jl4M!2lpZGhg9yL zRPvwRm#FMNTnxdEf6FYYFhY1=-yt&T$XLfSV5Hv7I{d*==uEuE8+J(?h}bGHh%gMJ zKr8KFKKTAlRzAdN3IZ2V_3P)ke!*;IwKcc*>n9@<(D5O zzDup^?YPj}s@*FpO6(E2cINlKaqY=S>>Ay>xOb{;PkwK=vg^3ny$#oqiIlacc;{vL z(}*s@Pxrb#=#%JRV-gE~Z40Eu%cJ+IpRBb> z?J3~<#u-`8;rs7zdZXKZ_vy&QV2AGGZAE)@YlbKtfc>t6HI0DRn17K?j|eAXU*Fec zQV)lZv94OvmZi0VWfKMa4Tb$01;5A|ai4xR5CCA8QMU{~6Jl*RIIPdi3ESKA41-vH z5=z-NWf_alZqMQTWYxa^IlH=#>I4#=sAVnjnusTc7?q5~`=J5p2jcBWU^n zTZB}4jdzXj>>M53yVyLjam5zSV3Bf3jI4P}U{ykM0SFqq6E%2rrkjBta5TtAnj^ZZ1)`1z=&)uqLRkw7< z?jQ0vU88Z%^Z3&~_NC7;k{K|FpXsW|Porae?{~063Oltzn^y(IG@qO$6p2pV)M$jr z()Tn=bS^x6aL&4t*_$>E-2$WLDh8*lWL1ZAYmzwS5gD82!p>BEoK>|iI^!nMaYxU8 zz`036%kb{)?nMP;r#D7vfe!Ti3Y&l7hGrJ-*{B2x2DD*AiCw9&eW|)ME|Jx|Md#qS zg6%1vkM7x6rq<>)ic6-^*DGn1Ij}jYf3R+4mft(p%v>97Q>jWKFgv zPE{-(B6uy?k-WpTypf6Ok-7Wemp7iFtN=SP1{Gfg?7(6UvnL`yYrxK`(W`|Z;EC48 zC1C(Ja5Bfxs=hRZyaUkw>a2T%Me#LBhblB>P=#O=t|l!(xKihqp~Km2z+D{bqJeh6 z2>QckH!>`gkJL3l{9}GjbgrEUh-c7qcMyj!I(RD}r3B*^I#t$)NM#g4^D3Z)M6r>~ zBh$I<0NDtVJ<%UpvVLeF=3g$Zp*lgX^kqY|b@yKPQQW4J8yozzH^#*v*>q#?IEU(w zrz~Kd#Qe!4s|!}<>#})GypCcwHs7vvQS&=Z_X(os&m@kbUI(nnTQD0A#7jNl;T$8@ zg6=G$X^=D^ip_$%w$~acb|lN7kK_la3dSQzOguubn251Y+f;*_FNARoa$NJT`)N1E z?VA8-!suL|%rU$jTEfJofHou&hl@eZ1ImOHZ)a1qHNY~mPmRXN<+WP~(hUs+rF904 zK&1tN7>=G&aC3uE1F&J8wIGRd%)h9nvx>=?b_*I)50kaFyo(@-6EYP9$iYwgR0-@P zs_0$h&?1(TP9>L+)M0S}F&kkkAaC;1Vh-{EFt>)e=ZS!1M9;1b7F{2lBORE>S)+!( z^rAqrp4Grg?d^^o1Z$G)nZzV(9ZFEco4^#9)Cmj$5X5YiMk7gDq1j1P9Kr`N%8>H+vk|KE*{)f9p6Z6FDWB?Xg|Pqwk8I>E);c5Ot&ui;b~1Kc59u zRyExbTqZR&xQdA!V@yL0ErB4jBrFTB2~C7iqHI&L>%vWQiIzba`955?12nIIydZ@U z4FAQ#fqEOo*!4)@QNrBZ{t_lq2@E5E3?2rY0ItOCfkMMZr_#d+1|N8q`f&t>| zufT+m^%F1izMt&xiF%cDU3xf>5$f^&xxX$z;#~A>yIqB8{ei@~`wCq(MC&@2oRH`y zM!-Na88|}S1l|DPW<;5DKLB7{U_-!}f3!@rTu4Dt=#)-DK_vG#06}b5+TJjLkOGkZ zRqtmxxp(h?j9!ai4Rgp!xy56x#rAa){FM>7|8~w4tsd54DUfII`9s0d$IrTx6-&^` zCALzUXgY-Mw(AfzPLhw`*IM}+3SPD5Cq2L^PYwaicuKfhV;5z4$cjJyVMt62{8|lO&`HsH@FBug#>Yf|SoO zl5TG~&{aLIgbDf@04a-HQ)hmp6lkXA3RY-)N~|y`gVWyI+pGNUbP&%#wTV#IQd8ZU zBZ4*0{t8GbmNC5U99n8>P*Ziz!Q13Z!?zn+qU{=LR|@f+dS9-!ns`D)U@4r|hiDSO zhg1d84ye0C*CYwIYA6MOkM#?185mnwyTz)HS0awlN}Z0|1$M2!2S+4S&i0cvLiY#B z+HAm91Vb!9(iGn4p5XgfdI72noLF3gB=sj+@FY1RN=S;G*{-<|CZkP4m4~0%SEp3{ ztT%F2h7p)Nr6qAU3c-OY#54bBuIieptwd-vw9FI zP0iGtAwC;qV;J_sWZD&C5?m%04Ca!mDJ?_d zhNa4oOhpAU>lAbLJxeI=w_PS91SJ>oZXxC3Wdtk?ydhRzaY1qQj<`dToRWi>gjTnh zf&rCDEu?<0L+uVYO>YnDHWaTQ#*!|}NLPX(1L}u4UC{f5=`5#Jv|t3(krc?VTI^zi zrRf?dO_Pi_T$O`KH~gbIj(;*W&K9PEL9c*r$O`lH_ASeq%5*iQpkx|pKM1uLNVba3 zLGm8>cgiNoN+^19!u$i-kAD#Gn7n^mz@%185-H*eIgOZAevU`B0UHC>O>*iGZcMR6 z>Me={?yk9Bocv|!sM8YE{s|daajrVO8{+U;jl9~NSYXvyjBOH(SXdhkQ85(UC4~wm z2^h)5eT-_6DqCNk0M^>jbtI?NKc)jp`*zlvUFJjb>uD`E-I3f;U-jSoS~XMnl-tjd z(Ur<-Zzox%?o~Cktm}_uYjW+3@zJ^hW}(*C#=)Nq`=*01SS58H!p@wi38Yd=Bw+M=_gS)XE1w&FaFXxR}U;vhV&0+N8pG))-*$_e4lt zK@$WdX!W5TLn?@lBH3;iEcihsOo?XzZ9Xbv&@k}p-F)iq>AazMewSoW)(Sm** zAblxoVu{lBfh?C+dZ4ri$LBiVyAqMXP%qlIA(fwJN*2t$WzMQbMvMZ78W^bd6s_j0 zdm>>QND|s1;>-n^;s%jEcQ61lrBJFveK&@CSezrpb3r31O7g$TgR1;oaX*5W5tK+F zkpcY*v49~EWouYNEjpW4ixJg`!cnvG*-h$j0G+SRp>8w)qG_8=UqLLZm!nD51ZgE6 z-cjpiyrZYL1u98n2UvilqVm4#Hb^8%s=6PMG(=swsm@y;;t zDZz7^CxAP%ge(=*&G{}PNbk?vX84zOI-=cXC?dcnW!upTBPr;Z( z3j@n11AV`DeJBcrX-?RS%?a5l3u~JLno0kV6R97hhwOKuxeb{BB~YS{#_#tJQW&Gkr+NV=;$R)+5&fOkrK9qpDN1Ie=E#`Yf5$ zcEoL3+o2Y~z^@cSzk-H?_v()CUk?GPk7)4!`1?%Fk>>cc?n#tV+#Uqngk7sbI=But zrnxY;j14jU!ULd=6aX;0ELPnv0@o)K4=%0juP(HE0ZaL$k?#LV!J-L$>|#|-rn&m2 zvunHC#m*bj_@sG*MoLfs?e+VKl$Akuw}XXuk|fc9xPnCM|Aq_4%@k%iV@FnO@5o2e zxlUj`8e9XZ>SNXv8NnNIe;YC}Das}A(eM`+6oJF#GhUvdP*AIj(}|F9Nv!(;Z)9V{ zDn%RLE2a@T_}?*AjdK$@;%Y${fGU&*ZO)0FVM)~cs!oGuiu1mZLiR8vH6N>0_d0kr zoI@3%Rvq&0kVK@XEIm#}@g)AxlX$}$iK$+Ad7901EF(AJQPWzQ3)6B$_)ax)x7sm#m5$(`024*M?wm46J z>mp5L3C6n=;RO1RAzHCy@*fX+Ke*kBvuTiwH$0CoT;tqToxkOGEOu4?)wtxy`V zF}{(M39%)TKPIn#K#0lB9O$o^A#*kzyGxlv*UJf+!ZYQgke7po2B`cs_(7$%1@anz zEuel9XN)l|md`3o``YeMFrf9&RqIRY8OT|Q72FtFB(;`Q5XT4@dV5LD${`fOPokJ& zDutLvqviFr?@1Wb%+S+Ee)N@QNlA;x;k?&G(?4qX!23u5NeD=Y9~l5(siO{uL`Oww z$rKuOw?pshBmQ|F2htV2?FLXuM!hEF4U2V&EM61s`Y}`H#F0-2&c)q%H3TwDYYB=n@LG*T#(mLA7^` z4FDMdCPVWui58$?_cW;{f#QoRf$_eZ+A87b&_w_Zs3=sXm24$68@sBfv${!pDau#U z{L5Sen8U0_(xE}S!xjF_;Q4M+Ln6}Ge@Y$cI0wi_h0xYml#g_c8``Krg3t^`T1?Bi z(4O;uNzSV2nhT&!gpip5ArR9NkAjiB52f*JY~L&~gw{R`%7hq{@p>nGt!vzd89k!$ z3>$wz%&_+Ui>yxPCWxZFPYF{nF>?`MnDSI8QF#^%*^6F6es4~-oD1pImNG2@dt#h` z7QJ%lK&H+B!VS;6kivtW7kXiY7eEg_69+=C_LR<&k;Ax#29n0<_c$NyU1~AP4(y$P z6Aob5IOwAco0{GLhAoK|Cfh52e1I6W#1mjkISG8Na|OtApJHFGKQd{|chKOM z36Ghkb7|DaE{v9mcd!PCakhXGW;zk0p-5;D0x9;bDRq8+c&`B3+|;7z*`XpK(V?bZ;VOJI;8ic5Z)=BQ zetsD9M*UEuKRls>ka{|!pDL0li8xXTFK6DDg=7G2G<}bS^aC%*Kmuw6Cv{zCx`3%N zw|IesQIRodgBn&_Kr?$>S_9@e=C-lN0VV8$ex}2af?3qFwAbrPIFV=;Z5+nV5n=`K zj3K~AH;;PS_VQUylzuTuz!#)<8!L!pwok1r80rmu12j2D9Uo*^Exv#b%YE+@CRm^e z!3m`S8YVY1@#o2dO6ndtP~rb1wrONOn@s|6yjn1I>~2xOMEKB? zPQ>b<>w5XVP(R-tCKNd&k3`VtUJwy5xS(2`x&|M>&;cLj4o0a{11VG|02ugP#Q|Xa zkVBQ0FmaALGTO^^>|jK;~w+Z-P2M?mo;7y@pGhkisYw&l)!HyT^};tUBrjG$Y6icD|bze5reB~MfhV4QZO$d?1R^^uJ+eVM@jZUW6v z&~^^R{voDb2l4V>Yq~IHCSj(~JxT}KtHxMj?`fr6wrCaCxY+QQ2Xrn{6jZKl*puyw3{T1?PYt#phBA%Ee z7BSNa9L4oUgWprZn(nu`2@Ot=@OO5EmR{GhuPNq2X_ARO9Fv`+p!c&naS!vvkO_p& zgdfvlpi~BxKIVmodmo;KOv)1*=r~;=QYAoIfgwD5g?x@Up1@)okpp?mj6R}q*DHaGQRa>zb9R_@lwjUp{M{{%MxZ%1a4%`Cqg& zZx?*IzHs=|1M+MIwM@R@=4CHxB|ZA|$*5{%9Iha8WoYaEGlt4hcggn^ID03W&7BxmWqXO+g#mBq20 zBZ4L^0pA}=fLprbZgD*-%f-VI?Or)T^r)OkNF*y1$t0w@owsa^Z{j*czFcJBR}E58 zT3WygBvW;fb#1TL!@{uj;TfuL=!15+C%okThq8i+9L0}Y2FnB+2D5_M!6#({g1~{= z)^@{li`CDnqfA@$Am6L>R>(ZGN*@;WGpNQ`a8-Z+Jc0Lkj^wc-(swD!raT?aMYM|@ z{!;QZ>40fSOv{fl%@;rRMW4XcBwcQ>0JfJpvr|tPOP;f!&jX{9gLH z`$Rh8yL8+J|La1Z!4tN;$svVC+{CI%=*_F+_!%%iWdaLCFkv**a&wgV;Y=|G?)_fJ z7$0ZbAndMvE39f*$;u%)9LRgLnzrt4HE*?QRSC8Q!Bsu$G=`E&SkCs8D$P6OapeKW z55Rnry1feo0-77@`;?UO8?3XDLsCEfUy&keyS(B7$x~`Hqh-sSVI7DBTNaw=6LDYV zITIp@*Pj%A&4iw*1Bvc5?{O3$9Qf(2bpf&haW^MrX_Ra1Nj#{t~~ zcxs|gsIr4@)*lVV=c3;VCD)3*OClK7metaNd8^N-83#gJ9!#_?@y!E>cD1k4!?$eN zAqa2vZ_lDzJ5}VYdQj!yf`h6DS#K}q-UFNgT}I_6y3C`G(hM--?3{Bb<&yu;bs3+w ztu&?y44FUdI#)%^^<$HV=E49P$W_yyEe})$nd3Rm^cn4?1I#;X1y@kLt`oC=@ZdE_ z&zZMh#XFvG1nDa!cF|QupMfS8UY)XZn>IzH`tR^wWzGY)(WXz3ws*!`|5BQ;@Xg=p zuyf0f--YiM8QM%7YF3yk7#d)k^+Is; zQKqrjh6>Ng4}=`z8iwc8w*%Y9Zxcx)NhvV(AH&7Qe}Byd3xY_i+}~B0UgcT~ z4e&2|2L#pbmA+>@n5SC1ocOF+ja&TxUV%I3C+)QXLxbn2-nUUOxc^D0{b!JHF>>fR zg6hJ9&I(cac%wwV^%~bD9(R@a;WAa4l}K8$!k})54!z191>L!75y?!0g~x*wNrf=L zpz}yZ%E`YdSI;`+W2L1mf#l)DrE=$W0isZdedY^kLgyfZ5I>*580$cKyQh@E_smRJ zy(3XC`2R;x!QJph&$e?`fxX_Qez(b-r80u&l*2l}@ z^AQ{Hn=Byukho!I+r(QWAmKRPYzbO`>S}_I>~3H>aB!gBIjZ8e*SW+mrS={-XP&?J z+~T>#tHiU!Yq7Zcvz%JGxg8mw#KM~}6t1<2i>{BL9Ylhv*lVY`!A@WVxs>+KWm-DX(ANo%O~MRNb1gN6b-_@X zZ9yX}tdGh8jC1@nK8x&%ZbAbegOv4=%;6-fmks)AGl4Zk<+`pgm+ppf@+zzSKOB< z1vr=e95N|x*8(b-D_E;tb@xFDo?pGEKV*0M=CR?!R1tYYR-o}2TG#!?@e0R5-+ zi!i59in8PaZMImRvtF1OJTG0RcOGN2h|(6ZkEA=z z3d1(BRCf%RA&!1K!@a0;)xIrGiOV{(cxwRBR4AM=Bn*PV5+;%c-I9u=TU6njB~}F_ zLW7L|TdfV2fngBwtQTNbOWJC(yP#jpUqc&)NkR-9)#gQQm4~B|u@D-?Am&?PON>V5<04|a>i}1hz14kKb#j9G!`~(Nt0YS1o zII5tV7Qd1nRz32l5K^PQP&$x=Xo-K?$U&oy(8VJi+C(6fR{YF@($957r8th;3RpQg z_`Mf~zzIQ*N~$2b8{04ZqI!l@3JxX}Ni$k4LLvmPttOC289`PYqSbOi&$Gf>P}UMU zBBiP%QSN6zTY39k!^a{$-0epry$@+B04Jg4*nq_OT8eK2I}<%~zK((PI0x;jh8#g7 zaPB%n&6%%OA_wZ0Pf=j_PXd0U0tO&fP|j~zNeFk#13+xxC_quc+tP!z&tanJ$S-Pm zvhxRTdg}!IcN5;g4-D=Ofj#uoU_u6|o|BVk8K8ra z&;krlAeQd&HpRpT1Uzk|$&yXH%!@-9L6dd$u)^z-Dan1H<|ymj)UnnP=}cAC5cQ{n zG5Ccw?<-del*lQ7_mLG`h}^L)O=(EME#=I_bz<45Kf#j3Fjd3H_FPD>>>Y2?aRF#c(hhYY0 zQYmIb%B3ADZy8t#HILwdJG3qGwLFjtfS`1MtS>P3Ns6~(A5-Oy**avTEDV()SLEPFbX*gX zXFw{KQZ3>df`5?!{2jS*4$7+}5p^-m!QuK8nhgcU$4Yy<->&X$j_vIh^or^Py-m=2 zmgCyhGS#K?WT)aY*UqPcp5(-y&e6S<(l$iQ3ln-&};LQB5MSr zzsv232ie8IkUf8wIvFO@yA&MzHNOQb{#ypck(u5@cWBGGC=+-O^3e9Gw;C5J_Z+t( zoDsQ<21F(pQ&p{FfF84biqJ9AcCf3$lA5jk}gm(1_*x(7Owr}j37YWLLjz7@E3 z8uVCnyEVVv0Z&n6;}>7Fa{_xm3*zBlSA{6Umt~ar5s~H+^_9<#>lOPDOw2G*> zjAdU6g#=#Hh)(#@ht2X1+PV0a$R$5S&h^(TgL8(r@a~yxgl{W}Dgqx2qvaLf>hZ4+ z7O^?^axSQvNk=&GzPUBNmvU>2EnAacLx@v%?N;+@yO?i9v2rExcFD5QlqXuGsm|dy z7M*}F+07?_QpI74pw#};1dT6{hjk6v0Q9R4NL#p8aJ2P?c|D6mSBd1H+_|xdHKp6y zWK&Pp1MTLU<9psI_tvz*WgNQIXgz#V32($c?cVFW9OaXfbu(9mX#7$*>v@Dh*r;=X zYr?E5tJV!&Ar}&#dV+s!; zVb3@&9J(>v|FRpb1__;!aLOG5twpB1^~*|DYZ+{9c{ialv|fj9zq{2`Cq(X+BLuKX z=8zTGo?nix`DzHFsaTX*H4sJWw4#^ozmEj1?69*|aTbUe*3jo@^;WRsOkNSLoTDlq*eqw%Z zY=`*i$g7I&DMDkdTQ(5JPKf<@hq)c*xizN#(%y;c+#3%#rv#vqb^Z*z>!N7E0)51+e zROZVnr-C;4pFEqf`b#U5yg09RuM^y^?`wmS$+svD6bIM=KGH&W1~9ncGzCr~P~fxQ zicqcnWqKc~RyszV;L3?_4|275dn+K6p|=Ma#TLDY(zgvqUML~YT^2}qF6^A}T=?m3 zq2v;o#@Rck87gjq)nRE6WdjW#??|FR$O9+m%mq&lJ+<0~6@0bvj_sWgL&0}RX(`Vf zMh;rFt_(t}rZVRsne*_d4wqo@^$ z>oN&lyUghj^tP}YMxlU5pssi8g%RzPNC`bRh!F$WzNHYjA;vqw^*f=38T%V>II56X zRRay8v9I`gsfOS%>RgslYQ1yV-U3>*9?UMP3jFzbOu2QLpDKS86l(L*nKK4sr?FI%P{8*lPAvi5#@xIu zsp7!y6)>yx-l4g`H=xIs8k=CM-sN62s)>Sa^DwQ6&yFk)z zj@!l>A<;sp&94_*Eov8$E3N0A;L?B=b_zG${~GBvFw9|D2|%7ih3N&7+hXcX5<8fQ z^<@H2^ry0xYcfKD9~hHUrRi<>-qlXcVOO1!-%;W6%Af#>8i$o=iI!syVS9WA57M!C z3MmYNh~MZmyQ?{EZ@2HKNBOZ}p^5qH(D-QJLk1JC6nR`LsARtvv7-V*b$5;#3fM$Thz#fXz9@W@X zP)(f*1sk!yz=SAxsf~eQ|L^MXOA3dW1w+Ty!s@>Ft>`XTV~(Mc&YlZUJ)((5R834Y zqC7~=ep$(0z{DUE45F6>%3K53rJkLR0l_j3(hFB;|Mgjm>9uCPh=+a>zt9fpnHe(M zv*2GhTQ3%IS#p=TR8H5H`ZZ&`JM4}yW}t)t8^&h-|BDklv=JvBqlX5z&ZAKZP+J;> zw7|EQi~RvqxV>0}xRJc3*wLIi`Fsy$ZlZ^thDyZfwCU7!MnKzzHtq z_RG&O?h9Qy>55Q_Ji&dEC+cp$3sW8=!bSE$CWDM4r~ottjd!Gu#`A?zm-&nm!a_fQ z{50zud}k#~5xxTiBBQ@^STGMdD~y)^4lYzMuKn6Ne$z+%=ICIfp0ztORZY|`owK#b zGdO=BZSCkyy!B>|)6Rxm(QR9u8sF<=mgxMT=b%~0pQ(2$BlOO%ela*bQE1p}u+Str z&PyTbsF9LuLc_YJ0rOXH+WqZHeY3FRa~GTrnHl}8H7zo=_X7NI>GF5Bj-IN2{?e4& z-RrB@KCQZ`I3@7j=BEKa?U5S46yDzyR&(0tQrg(#$)#&f1q~pj%9~(K( z&cNV#&AY|lEuL&2GBf6aU%{TU2@47iopt`9Ks#rytBf`8lb%8|fnUAuS?3qwi|tGz z?|HGGChHsSiC48L(9aH;S%piI?bqBd!QI1d($+pz|8;la^tz+hB460)zT7MxLQZ&X zX!r%XQ}|f5W!SE<(NiDA!&c1)Znb!eL@)s{A=mUvT#nW5)@R>}pmHKB;eo$#lE}_3 z`}`%f+^(|l8w>cdu`k3!=mvjk>A%508;{+%Jg@?;<4eg8Wt<{{l@jodr5~C z=#O;w+re5e&gwkB^|F+({J&qYcWpk} z>5dq#YoX_zUD2#GIpAMa#tSvhW^runW(Kg!Uf0hKst#)S^zExbZNA4!^u4qHXoW$? zYhcjWXE^9O859nKa$%6h*?i99T;GQ!?!l_Q2{7&2LozUN8+>NbjP~xBMRu-6KUzFE z#8TH7E5MH@!N>Lf5IxBC{Yu~-91}V*$n|b&)5+nl_0EW9>RLoQ!N>pXgpWUN!F|1k z&$OMZX~}83+_Ue~fa7oY6|ePf;m3FWpZ4A|ERL;d7si4F3lhJ3-G35s-Z4=T_{VniV6Xe4jzuOvyd8$}(lAXGZD!c1Zefi5ImV&i|L*^A$6H z3`D8=yt3~=0{TSUDlb5W-P2R>Xk_DIV1Hu&=K!~fm0W#)NhafkFNE#%V}~Pupn0i! zf%SRp&$)LZ!<9=%&0zoj?aco)-d4u=AJ$ASuPV@CpVUga7TB!*%fui}>ddPC7iw%z* zWZ|H$9x*xONFxe@wCTed!!}df)6=vrj`5(TyPVlCJ>{86eNN&aj~&lN=TVgNx^*Lt zVrZPl#6lMxa5EwGBD@9|7$Q21NOXb z$dR${Z^sTVxwI}u=_7Z9`%`FWA~$RY!1CI}hAbSQ0TWa#ZGwc$!HR4=*u?=i0wh#p z+HPvQ`ya)OxCs8SP#TC#$DHVGU3ML*hft5m*gT3gpiDx>pi`gE%oxqOF4#t3sIo`M2PTx5l_mE%6z8JII+hlh3G$X-9?t=PJ^w^7d|it-i8DJp#T^R6^G-xV2Ra-JAiDa_f4B)=E??&c`#jCs`(UEB4CE!7fmI zjvaEIcm5M;U@n28!KXjvm+vRQMujlb+pkpO+k-L_fNl@Ygmi3KR|? z-adS8SkKGVZ>)3^fD(c~;$sdfVJJ@qabWTxAP2i2hVo0bhG?*A10bZu{-CaS@n5N_ z(`gdKE%*J5lgoVJ<4HYd33iQh45w*1&`d&`_BsJPfkcU}*S?gJ>wT3<%a^{9a9ddz z+u!iZf+dRJ9{=NsQe&3H4cQ9gfd{jGHQrwUflqh!#>7$S)@xO`h*ab?uUH-PQ;i{)I&k1S{7EpY?)J6~GNS1ip3PIM1R@t3PIf4fR( z8Wi#SlM@-L`M;9%Lk@%^oPWVB%J4tsW>3wn+l>1&Gj0CJzkL z<^XT&^t8M*lRY1D-5)8*McH&<{eoJPI<>Y16d*M@y+$SHAV!t+uFNd_xBv(2FZDiy z)w3$HUI)($G{wB@mZ0s+LV_V3&@diz(snN>C+SQZFG;UI&I|VB8X5KCs-D8K$>1DC zRc2j&>YSlq0{z-6e;+s!#QGj1LALLABv^rra_ihwy>0dm#P56hx-1LtWo}w0ijQGN(BPa0uy;4VCVfxGDXF88eVp0QVQv{5W-SNA zbdVE3q$<&&_2r~YtlQ`HdMd6HkW1gHfW7oF%zo_b?WLxg$i_!zaUJCJ*!Km8TG0{+Z#VfqLukb8u+@07>c6Rhx34o z|DZ^1rbx!})%WtG6*9C1-XUbB88(;MFr8v2=B_-Zbo(@Z8k5-b3z>L}@z1SuW}h6C z6_k^muVnjJ52UDMlz7_DKIVQd>Q{V(Qa!m0CXdX_L`AfS%K*h@)rYAOo6<*`Jdr{2vF#?Zoq<2o?J)8>fB{DM>ET@rXf zaVQi>>?GMKspP7|+X)ewoj34u17mRtp1#J$jZumXpvX<#R+dA6vT9XbwDB&+zHD6F zhENtVTx{Oz^P;+AhL?-5Ip)wAc{f7rj=EJNAtnd!?xF}?BA+6|nYn#0+XP14ecd~B zlwd|}a{c$FBK9lOf`xo@Q<%8oZ6sgx9F=hWv!R9G5w%=5YwXrKKV5TI_ulktZYcjm zdJYYfi{|sP^0YAIWso6`4U^fkEF|E_4?ag&8zdEz&-aQt5n^2y83)Vvw#%UJpKy++ ze%e!@Lu9nv=OZw#n~4kd%B>@LYI7xmo14<6gz!Vb@*0LrgVF>ARXiaQnOL zw#yl;Eke*!b-d|!ZcmzE3SoTR7OR5X3JK5?PIqq@VeV4cIbJ=x#sC)QM6 z>^N20N6y%b{4M}TQGbaD<~cNkyc9GHCIl=5Jc#!s5dJdO-KwB4=zakKfdM+=Zq49q zZenBd_{l`?ZezWxp%sbGhUp`|ETDdpvCbab_lc^vN~(TVb-pr0+-});?kxP}?6ge) zb@p*PB0BmD-6;1JNRlW)sH4`%!ZBc922WSl27xcXllNJ1 zFoH;ds6_9mtbBta!n4;D-jbsp6g3<~@tTk^PYaa#-6gqOfZdD5R(6dJSOCMS?OJ=QB=Zzx8D*g3mSM&sgkWV5 z>iAMe5D-d=$5C$}eeMj{hL*uaWE{-Cwc7NIe1*we9XIYQ7C2%Cx%DG<5Yjd)K?4RxQ&XEP z5WLCFk}O)<=>wVq{bkQ7ueV3|%u%*g;Ow?a?WX76pLVt2%jXNswML4)In43r$U-8v zS<2O|=deG+mk+YDUP_JMe__pig-mJ6$~P^nmLt~Cq`L>pykfn8XeYk(QKK&&o3cAd z#&wIzlvkzRk*)=`1_x3Q8dsGSU|IEoh1ZXF-$*R-2>{NSNMxDLzLyM1%`#pg59R)h zf^|V!^oXb>p|Tp0Hd;$$hUgW=J9=e`8c0oO#N*R~%naVUrJfbyOz*>%*sg_jCw!HN zIeyuV>bV2GH#c3_2e}K4_s17<`~&&?k%{bg(;US7*FO`R6j5pDwU16K4l-^J=SPPG zuFiJkcxURNh-VL(WI{y0cH`FdVW?+y`8d+*${G?FZA&cTID09hs_a786*HbJdA7SO zy@8}%f!5XIx3}g4b|@+g^>eJWLlQX-dTP59+A9s2c({L)-ni@O_})3+aXH4}MqD8K zHn{J}FwI%vZdW_g2})aGt5Xbm;HlkBz_X$4A9-U(J0$7w^gpGu-Ke$=wq1IXh-6o!p7fI8TZ_1!Z+!StIuIc19vN&AAgYV99z@cX1k2x1oLkz7ZoT zZg1~I&U+^@gs@`HNv3#ZY>TK~iglXW%y{>OxLjqKG%$yPKOHW~37>0`;uePjv2=j- zz0L0IF^nQ+E|2!l#o)Plk}KThx1;GxjdGzF`x_W7d@s~yKadKYGDt0juDP_%-_{ti zNPE+cVuiMq=m<4Tk7y01kMX|o!<>jogT+W>eSel(KgPttg*z}VwkwD^~{CBWhw4Nam$9CtIY2!CFa{G2Hk?W zgse8n{U!QhH^bdDohyy26Bn|y%Z6?u|2IDuO)ki~qY@J!4Sfw3!kL`NDbY>Cvzre` z=t4M`7(`ENE!z`xYm@6O!Wab&R>yb{WHPmG(rCPLeDimYuo|K}c{7nWR7)E(uWMgaw>xwMtKc_7E>W%Nt^d(mHo6tFF^j-dF)Rm%Bier$U#?&Di zJ$da~?QI%Y_Oi-wRWPL_GJqpx3m#U6r}y*~2VFA&N$&(U);|@|+Bj-)oAA?eE)GK$ zn=;$LU~Rw35SgYu0^v&*>y*OPG}}=(P4Zyx6c_H#D)Zz0+LUF~oirn+1a->PA{;4z z3)|cury?8qeRb@DeU0I06UHTIE|F*hXD>vTO2Zjx>Yvff5YcFA-f}DNP}*uk=G){z zmCnKIj`0X#ni3kDcM5s%k300H^z3YIFKU~AaN~-d#)Tj|=Y|GKe61?xNi0xH%$q?J zondN~|?$t<^IwngvJ@o>bCI)Mqp1PJ0rTO}ui9z*o0qc_KBUL18}j zvPLa=5kQe7)P>VXj@V6DxKPKK+Sbu08fx9v^t6IDKpC2LrGF{NnVDVUBPkS9iZfKh zjSTyjG5e6RVohk_%SpURSk0ebap8pA{H0A7iqZDAcF}P7SDqe}irtL2XvQ#* z%!wbJA`w>P)r66BSl&I^Txf_5j_d2G&Sw4=Ztg3-#3S=J&h9%2`n`sR1d$D&5T3+!eA zlNhC*$NqCai^k#F>q=Nd?dS*gv}}BCAi9kpE`p`3yunnzwRCy0WG!cCk0mnfp;`W z)xD*A1D6xyZ^|3#LP9Dn1A9NBqg$}fm1vC$xAGgk7|>%C(A z55o9Xp;8sg3;c%fStE8RV*Wm3mXSnHHpkw!*)|Zf2Nf&k&KxARiUCp=EE7`g=Cq*8^9rrKHi;9Bv3YM1Di-RNX4Ww$f+&b~gImcNQb!DXSWl8Z)o#VxZzmH1UqxeQRYdtOr@TR?8v<(sqs#x@-E#Yrc(~GWiTC&x`aRV0Ep3mvU8DHXLA1XwG}=bw z{CtToWvMNMn{$<~8&9M^r-EV>;g^WH(7EBhjHEh00V!{9>#ZQ4!-RSELs&GoJMB&A zlOt1NKV$n>r!1e|ceV3W9Z@!24KZvTDb(Iiv3$afXjse|m|h7bFuo!+GWbyC>r8s} z$tq~L@!UfHm^bxf1aza&WMzXP#>XHJvz0>FTb&{nFZZ(OfTVzc z%b0j^ZfAZ}V){RU&2LPNhbp9pbwQGg+bz?nJkp6CjCaxW3SMdW9mG4si~P!ays>v-W8uRpy4 z>?0oD)aD_5ka}oiLcLZbe0tt2vZa{!Od^IlP%uXM^*ice)$CR(u9APmT4RRhpd<7C zBV#eGXrYw`A7C;7uo-e6wq~X(-3ZEIai**>%lJ_6<~v>gNO5)^GTkf=YhJ-JN%L6k zbu_w_%_wqmnh2Nva|%Rt8|n$leiG@93NN>>eqW^_-@H@txD=H!4Q!n=dA#Nb;ix%L`N{0Bha3iPoP*z^ zPKA8q3U#3abM;$F3o*;dewLv}Ya(M27G5D>W1tEl^{2X0HiXnBh=CN< zVIq;UJO23{N0>{eS>6F=uGyqA=D2pa04Y+O>Pa2x^fQPEYxtPfQrRsiPnv1#C`><# zH^#z;1{5UBXgMT|BtPFhGdIy+jwfJeJQ7BM`FV#HX%l4_AIIEmt1_L@61DcC5I4sA z-n{!bvXZ&mEh>l>?lqPF9|!VpV7|v45D!G$8fDTanXV~)ay%p!cJ#19P z)|WBNm>PT4HPq&fD1PhKeuFYMH?61oQzdKF2GCz$%qfw`#wA@z7 z=KM0)yh#)La&r-z{zIv~wf6RqTovBNal$%SuuM_Gj@mi?{MZN1rL!iEA(S(FDF4RC_ zGS1e4J{Dr$wHlk=dX+ydHxrWhG0Pp9HRc9qIv=Y;)?fFv4kf8S05OdI7`eITsoC4S zL@UNN&E9F&+f^w+x1xfCYlJ*qj1Lmq>L}B%A@HQPF$eVmE{-cGa&ue1TaN@FeT`8BQ#u%Eoju%DcS5 zbUf$2;aCEv2H5EzwQPyu@<<0ImyTJoEj@;&LU1T8*mwf!L+;HK={Yto#BT5MHplq8 z+XByX7T?4eIHPfKg(C?+WT(Pr-F&ucA=FmB(lvMOCt@yE~O--~jvnoh%lP2ESICw@>)@fbXIc0tW7@2FKW!joLBIJ7IYvWsNYS z7)0E94aivtPb;QI2xNm#vGh7evN8THn70n|) zLV9^zw7g0i_J}1!WSj1|{DwAC**6|gM~U0--i)^77>JImawn6nm_$C8>0hZ+!rQY(Bj>_#L-Ir>I?sJddMTACAxW; zDE@fgw2$KlzGMX={`dWvSIE3xk`mHm+iu59(h`u_y>QWMlWYWQNcS|U?U^6%y}uDh z5EBvRa(v$x=j%J&{V~<(yE#2^dbiYqYZb(Pi!BPcLElC8c0LV9Es9}iZI#uTuhS4A zIF9lD!gXmk-ViFOV|>`-iPxN87Wv-qe0riP!^qNe2(Kphhq?X?U)RL@U_Y08a~}4< zdHy4jB2B%?3b{H`_iOSq5r)HDVb#EZ&H5LwYIqq#d`Lol&T8lDL3Ol$DW=8blly8w zLO_Ir&SL($i#IoLG%;3kcC@fHd$^f5j_tGcXM6^@h`&NjxOjg;X@dnBjX^{v^MWnQ z*$RzA2uh?3qsmuLf<4-d%WQqdt<%WsNK0*#lv{=UdrRyH&P$T8b@|?0{}Wnw&o&7Q zdem>0AM6h^<=vO~`KKf;#;o!j4`1)N%7#$O=B!(eRSKUcALM_o-EZ5MP@YBbk*6SW z)`{M7zY(_7l?(^2(^mP@?VMrdR?zwm8oG$EAl6q?>uA+mrJ7HYi`YX;VSLCkwo8B! zWPx49h(fiOHjhCHp*-YyVhp7`;+kxYj&Wcv(E#(4N%Q-dIOZA?z&Y{SLM(bCx6p)o zKV~teIWm_)=}RO#(V_VCQ}-V9gf)^)`qSJ~!eJZqYa*Eee-7vRT%=<*6WY)LOIU7w z{Wxn_<)ODpN_eVnC7QaYH1h}f=<@)5Y`;l*nutYAxToGQ&`)$rFfVJr^T>U;m)REp z8TxYxHw zjj+wX9D2>rH3^k*ZqH#N(D6nYjM6uzK+DQXhIU1%V0k65D^!aln zxViy*$8QaVcHGW0tlpr&3H>U!GBif99FzWbfV4sBr8j&Iv+X|8dvWlkA zdZ+VOmu9K+BKy1!cwW*yTt6Un5gL}Lxy)s%IxcK&@Vv*a(>}@JtVl`hld-hPnW9m$ z^!d`PoVlw^1;<(`^jx|UAuQq=V`Y}?q;_Iv{U~SW+XJebBCrX1$YS)lawPb=RrdM< zKqe4BPjb5=KnUOIpLcTm*LY+lt4WXEsG9XWF9SWnj-`Lc$urvK&IVcbj zn->Bxk=*tTlwNcC<@{`6f^YzQK$5%N{!p6NKG#AT*G3<&e<0jPp%+1-0V;zCWG=Kj zvD{CS{QYE3Dbw?vi7F_wyVEU`@uySu&_LfsFe3FwYMe*0tp&YYq9af$XZ%xnR25@S zNUwf4?zP=#7h!`%PD8Ci?hb`E)2b04c$$h#zO-a?M8VeZeavUw;8K~CLc-OF+RE0Owh~1;UM~l|meWWWjmY~|pHkP*&swxm? zuelbaQ7yw--!mLF6=gbnQik`fvOU3CtR#H#RjV6dH3!$@yPW9q6aJ$7`SQN;=Y;Zd zTJArv2pP6=(M0QW{3VCCLPT?>-_osQjgDVPf9AHs@gk5U3EB3eDMJtS`9{Kh9G*oa z3uOhU;J<;jN>I5y{psbEa&hkA+MGSZQ=+7O;7DM9xk~qPFPFZ$#}Gl7S15z86SlgC zzdmKdw8k?|6y6;@Y8Ji!kSmK}d`&5`z@t39rSv3;$A5uIE;V{W;`Ez~H1oDu z@ZD7(k|tsGqFSWE+1V4EpLKcg3c&s>IyMZp)58fnR%xGlF?;idzv(JaaeV37g}bY^ zuWfjj#u8E19Qi(gmc=+Z(!BWhYd6;KY6uYd zQJ#^AMmmPzWG)R~puKYK{|HR_s6RGLep=XMzkbGm$J)Pm;~#B1dKGf34D=MpbE0p> zsl9d)viTyjg$da5irD*fy^B*(H`~9A9(LtudNSLyB~>6p9v1t$nBzu;>MQ~tXyG^fZ{9^2>*P^uUQ z6f_fkB^sZzaWA7Ml@dm`J)?K-59L|)#T&8Pi>FYbIb9nR7*z2;dNq6*l`~}BD=9yw z3`}P%Z>_#CzxAzHL;7NtG;z3(T`|8)kv}i*+?#G%@P5Z=XL9d!GEm^NnOgWbtd)eo zxKeGe9-jG{ox*vX0O)rEjWf4a;B~)ir0jAKU5EQWFD8npCCVOH^<}Xsd1ADlpuWOW zx2sL>_VGlSA`CZ{1Sa6^vu9Akg7EN=Brkq9{2btUA^y$(k^PbRv!KNI8Vv&C8R!bo zQ$HgEYaP2s5Oj3X(kS9SILYhwgC(2~hn1Uej$d%N=qX-D_f+F8 zRH4mzlcVCM4MHMQ4{E*pofH3)rdciDZ_e?fv2H@Md-T^v7n-%10=kWu^qU7VU+rWQ zON!?fs@;bAhBBYmuUB5Xnn&m`5@hetxYaC_>a~4YAe?a;70@ZM;rMpEySiwbAo*Fj&SvhTI}&S)(tvmm=YFp|qBbs@MNrI3)BWh_!e zAfl|iZ3YFO$9hkG_DekBgzMClfmQHKW9{$#jI2NQSAXq?p;B{X&V{XZVK6x9jE$-V z?HsHCJ+Af1+uVi8+b&JX+i;k1JEM9S=iot)TW}?L%xgUE?lF)@Og+9Ocg3q)eS;x~ zd+r#hOQKHsJSK1*egG}yC9Al3#4tfNm#|a7!vQ1KF7t>Hf?O^!r|@;00j3o20omcS zEG{9Zck3_%2q_q>6psf0PQZ1{0jdjVQ_#Lf@RT0tkjb*O4xJsiIA+Fa+0pDk zP9Qgs7swA31PTL1fnq=jpd?TlC<~MaDgu>(sz7z1CQuuw3)BZ10*!&DKy#oa&>Cn9 zvBr~@jht%gJ|)H zy$))dGQ4K28LXrzfE+>LNE_TF&~yOB$h%{LzL5bnxOze62RXsB?+ zthT|gvaoBrmOI=zzAMyYi>vDcLQ^xhP;oSC+dN(OpQ6rp38EOMZvkq2JvAtO6_Wa< zO#dKeOTWiE3$O8=_*Q1C+^wpochi79TuAeEZX0{opp>VV8oj)bp>XRfl$AU!> z#N!EEuH=IolqW7Kmk!{O-lBTz{Rmmj|0Y%LwOqeVM(}(6QIeoD(0SSLM6w*+&!6nO?#~(J+C{gE4?FLpEqnx8CYrn{>u;K9kUc_ zzW>k}5{eE~{`k)uM*1l3yP7)rToM4^>4ulA$0pp&?T3kSDjG*5QBjD0n!C@&jYRq z7~0uc{adeh7Tao1L2CDd0Py}x_!DR~2@-zn_)my`Rl+Em#qkNqHWw8z5IFyZbBgqj z62Hn4zY7w74~3(eup_4k0wQ<$Zxn{`e?@s%)c=k0_sd?t)q&%J{I^%X{s#E_G4*eN z2*C${-w&<-7X7<6_FGh0`cd@nO4;8Cf0uNABP_@~ApHLoc>V_byF&6Ca7p(61Mqjf zkYpFSLGf6|Ef0pYxUu8(7)Gezd>&m|2LoyE4RNv|6Tz60jm4}`d`a|zoq~C zuIaZd1O%))B*g!?hx%Lmzo)oA#gjDu5dSsd$xA%}MJsqRd= 1: - self.display.delete(textLength - 1, END) - if textLength == 1: - self.replaceText("0") - - def replaceText(self, text): - self.display.delete(0, END) - self.display.insert(0, text) - - def append(self, text): - actualText = self.display.get() - textLength = len(actualText) - if actualText == "0": - self.replaceText(text) - else: - self.display.insert(textLength, text) - - def evaluate(self): - try: - self.replaceText(eval(self.display.get())) - except (SyntaxError, AttributeError): - messagebox.showerror("Error", "Syntax Error") - self.replaceText("0") - except ZeroDivisionError: - messagebox.showerror("Error", "Cannot Divide by 0") - self.replaceText("0") - - def containsSigns(self): - operatorList = ["*", "/", "+", "-"] - display = self.display.get() - for c in display: - if c in operatorList: - return True - return False - - def changeSign(self): - if self.containsSigns(): - self.evaluate() - firstChar = self.display.get()[0] - if firstChar == "0": - pass - elif firstChar == "-": - self.display.delete(0) - else: - self.display.insert(0, "-") - - def inverse(self): - self.display.insert(0, "1/(") - self.append(")") - self.evaluate() - - def createWidgets(self): - self.display = Entry(self, font=("Arial", 24), relief=RAISED, justify=RIGHT, bg='darkblue', fg='red', borderwidth=0) - self.display.insert(0, "0") - self.display.grid(row=0, column=0, columnspan=4, sticky="nsew") - - self.ceButton = Button(self, font=("Arial", 12), fg='red', text="CE", highlightbackground='red', command=lambda: self.replaceText("0")) - self.ceButton.grid(row=1, column=0, sticky="nsew") - self.inverseButton = Button(self, font=("Arial", 12), fg='red', text="1/x", highlightbackground='lightgrey', command=lambda: self.inverse()) - self.inverseButton.grid(row=1, column=2, sticky="nsew") - self.delButton = Button(self, font=("Arial", 12), fg='#e8e8e8', text="Del", highlightbackground='red', command=lambda: self.deleteLastCharacter()) - self.delButton.grid(row=1, column=1, sticky="nsew") - self.divButton = Button(self, font=("Arial", 12), fg='red', text="/", highlightbackground='lightgrey', command=lambda: self.append("/")) - self.divButton.grid(row=1, column=3, sticky="nsew") - - self.sevenButton = Button(self, font=("Arial", 12), fg='white', text="7", highlightbackground='black', command=lambda: self.append("7")) - self.sevenButton.grid(row=2, column=0, sticky="nsew") - self.eightButton = Button(self, font=("Arial", 12), fg='white', text="8", highlightbackground='black', command=lambda: self.append("8")) - self.eightButton.grid(row=2, column=1, sticky="nsew") - self.nineButton = Button(self, font=("Arial", 12), fg='white', text="9", highlightbackground='black', command=lambda: self.append("9")) - self.nineButton.grid(row=2, column=2, sticky="nsew") - self.multButton = Button(self, font=("Arial", 12), fg='red', text="*", highlightbackground='lightgrey', command=lambda: self.append("*")) - self.multButton.grid(row=2, column=3, sticky="nsew") - - self.fourButton = Button(self, font=("Arial", 12), fg='white', text="4", highlightbackground='black', command=lambda: self.append("4")) - self.fourButton.grid(row=3, column=0, sticky="nsew") - self.fiveButton = Button(self, font=("Arial", 12), fg='white', text="5", highlightbackground='black', command=lambda: self.append("5")) - self.fiveButton.grid(row=3, column=1, sticky="nsew") - self.sixButton = Button(self, font=("Arial", 12), fg='white', text="6", highlightbackground='black', command=lambda: self.append("6")) - self.sixButton.grid(row=3, column=2, sticky="nsew") - self.minusButton = Button(self, font=("Arial", 12), fg='red', text="-", highlightbackground='lightgrey', command=lambda: self.append("-")) - self.minusButton.grid(row=3, column=3, sticky="nsew") - - self.oneButton = Button(self, font=("Arial", 12), fg='white', text="1", highlightbackground='black', command=lambda: self.append("1")) - self.oneButton.grid(row=4, column=0, sticky="nsew") - self.twoButton = Button(self, font=("Arial", 12), fg='white', text="2", highlightbackground='black', command=lambda: self.append("2")) - self.twoButton.grid(row=4, column=1, sticky="nsew") - self.threeButton = Button(self, font=("Arial", 12), fg='white', text="3", highlightbackground='black', command=lambda: self.append("3")) - self.threeButton.grid(row=4, column=2, sticky="nsew") - self.plusButton = Button(self, font=("Arial", 12), fg='red', text="+", highlightbackground='lightgrey', command=lambda: self.append("+")) - self.plusButton.grid(row=4, column=3, sticky="nsew") - - self.negToggleButton = Button(self, font=("Arial", 12), fg='red', text="+/-", highlightbackground='lightgrey', command=lambda: self.changeSign()) - self.negToggleButton.grid(row=5, column=0, sticky="nsew") - self.zeroButton = Button(self, font=("Arial", 12), fg='white', text="0", highlightbackground='black', command=lambda: self.append("0")) - self.zeroButton.grid(row=5, column=1, sticky="nsew") - self.decimalButton = Button(self, font=("Arial", 12), fg='white', text=".", highlightbackground='lightgrey', command=lambda: self.append(".")) - self.decimalButton.grid(row=5, column=2, sticky="nsew") - self.equalsButton = Button(self, font=("Arial", 12), fg='red', text="=", highlightbackground='lightgrey', command=lambda: self.evaluate()) - self.equalsButton.grid(row=5, column=3, sticky="nsew") - - -Calculator = Tk() -Calculator.title("AdictoCalculator") -Calculator.resizable(False, False) -Calculator.config(cursor="pencil") -root = Pycalc(Calculator).grid() -Calculator.mainloop() \ No newline at end of file diff --git a/otros.py/grafica/conBotones.py b/otros.py/grafica/conBotones.py deleted file mode 100644 index cd8a308..0000000 --- a/otros.py/grafica/conBotones.py +++ /dev/null @@ -1,83 +0,0 @@ -import tkinter as tk -from tkinter import filedialog - -class MyApp(tk.Frame): - def __init__(self, master=None, *args, **kwargs): - tk.Frame.__init__(self, master, *args, **kwargs) - self.master = master - self.grid() - self.create_widgets() - - def open_file_dialog(self): - file_path = filedialog.askopenfilename(title="Seleccionar archivo", filetypes=[("Archivos de texto", "*.txt")]) - if file_path: - self.file_label.config(text="Archivo seleccionado: {}".format(file_path)) - self.print_file_content(file_path) - - def print_file_content(self, file_path): - try: - with open(file_path, 'r') as file: - content = file.read() - print("Contenido del archivo:") - print(content) - except Exception as e: - print(f"Error al abrir el archivo: {e}") - - def show_window_value(self): - window_value = self.window_entry.get() - print(f"Valor de la ventana: {window_value}") - - def show_numeric_value(self): - numeric_value = self.value_entry.get() - print(f"Valor numérico: {numeric_value}") - - def automatic_operation(self): - # Lógica para la operación automática - self.result_label.config(text="Operación automática realizada") - - def next_step(self): - # Lógica para avanzar al siguiente paso - self.result_label.config(text="Siguiente paso") - - def create_widgets(self): - self.file_button = tk.Button(self, text="Seleccionar Archivo", command=self.open_file_dialog) - self.file_button.grid(row=0, column=0, pady=10, padx=10, columnspan=2) - - self.file_label = tk.Label(self, text="") - self.file_label.grid(row=1, column=0, pady=10, padx=10, columnspan=2) - - self.auto_button = tk.Button(self, text="Automático", command=self.automatic_operation) - self.auto_button.grid(row=2, column=0, pady=10, padx=10, columnspan=2) - - self.next_button = tk.Button(self, text="Siguiente", command=self.next_step) - self.next_button.grid(row=3, column=0, pady=10, padx=10, columnspan=2) - - self.window_label = tk.Label(self, text="Nombre de la ventana:") - self.window_label.grid(row=4, column=0, pady=10, padx=10) - - self.window_entry = tk.Entry(self) - self.window_entry.grid(row=5, column=0, pady=10, padx=10) - - self.show_window_button = tk.Button(self, text="Mostrar Valor", command=self.show_window_value) - self.show_window_button.grid(row=5, column=1, pady=10, padx=10) - - self.value_label = tk.Label(self, text="Valor numérico:") - self.value_label.grid(row=6, column=0, pady=10, padx=10) - - self.value_entry = tk.Entry(self) - self.value_entry.grid(row=7, column=0, pady=10, padx=10) - - self.show_numeric_button = tk.Button(self, text="Mostrar Valor", command=self.show_numeric_value) - self.show_numeric_button.grid(row=7, column=1, pady=10, padx=10) - - self.result_label = tk.Label(self, text="") - self.result_label.grid(row=8, column=0, pady=10, padx=10, columnspan=2) - -# Crear la aplicación -app = tk.Tk() -app.title("Mi Aplicación") -app.resizable(False, False) - -# Iniciar la aplicación -my_app = MyApp(master=app) -my_app.mainloop() diff --git a/otros.py/grafica/emulation.py b/otros.py/grafica/emulation.py deleted file mode 100644 index 311b237..0000000 --- a/otros.py/grafica/emulation.py +++ /dev/null @@ -1,9 +0,0 @@ -from tkinter import * -from tkinter import messagebox - -Calculator = Tk() -Calculator.title("AdictoCalculator") -Calculator.resizable(False, False) -Calculator.config(cursor="pencil") -root = Pycalc(Calculator).grid() -Calculator.mainloop() \ No newline at end of file diff --git a/otros.py/grafica/perfectoSinBotones.py b/otros.py/grafica/perfectoSinBotones.py deleted file mode 100644 index 0e2a06d..0000000 --- a/otros.py/grafica/perfectoSinBotones.py +++ /dev/null @@ -1,70 +0,0 @@ -import tkinter as tk -from tkinter import filedialog - -class MyApp(tk.Frame): - def __init__(self, master=None, *args, **kwargs): - tk.Frame.__init__(self, master, *args, **kwargs) - self.master = master - self.grid() - self.create_widgets() - - def open_file_dialog(self): - file_path = filedialog.askopenfilename(title="Seleccionar archivo", filetypes=[("Archivos de texto", "*.txt")]) - if file_path: - self.file_label.config(text="Archivo seleccionado: {}".format(file_path)) - self.print_file_content(file_path) - - def print_file_content(self, file_path): - try: - with open(file_path, 'r') as file: - content = file.read() - print("Contenido del archivo:") - print(content) - except Exception as e: - print(f"Error al abrir el archivo: {e}") - - def automatic_operation(self): - # Lógica para la operación automática - self.result_label.config(text="Operación automática realizada") - - def next_step(self): - # Lógica para avanzar al siguiente paso - self.result_label.config(text="Siguiente paso") - - def create_widgets(self): - self.file_button = tk.Button(self, text="Seleccionar Archivo", command=self.open_file_dialog) - self.file_button.grid(row=0, column=0, pady=10, padx=10) - - # Agrega la etiqueta file_label - self.file_label = tk.Label(self, text="") - self.file_label.grid(row=1, column=0, pady=10, padx=10) - - self.auto_button = tk.Button(self, text="Automático", command=self.automatic_operation) - self.auto_button.grid(row=2, column=0, pady=10, padx=10) - - self.next_button = tk.Button(self, text="Siguiente", command=self.next_step) - self.next_button.grid(row=3, column=0, pady=10, padx=10) - - self.window_label = tk.Label(self, text="Nombre de la ventana:") - self.window_label.grid(row=4, column=0, pady=10, padx=10) - - self.window_entry = tk.Entry(self) - self.window_entry.grid(row=5, column=0, pady=10, padx=10) - - self.value_label = tk.Label(self, text="Valor numérico:") - self.value_label.grid(row=6, column=0, pady=10, padx=10) - - self.value_entry = tk.Entry(self) - self.value_entry.grid(row=7, column=0, pady=10, padx=10) - - self.result_label = tk.Label(self, text="") - self.result_label.grid(row=8, column=0, pady=10, padx=10) - -# Crear la aplicación -app = tk.Tk() -app.title("Mi Aplicación") -app.resizable(False, False) - -# Iniciar la aplicación -my_app = MyApp(master=app) -my_app.mainloop() diff --git a/otros.py/image.png b/otros.py/image.png deleted file mode 100644 index c917adb9dd6e0a75009b5867a17d07ac58e6f2a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90444 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 LQ?W?FGUWdOcs&Ps diff --git a/otros.py/interfaz.py b/otros.py/interfaz.py deleted file mode 100644 index 4e6bfb3..0000000 --- a/otros.py/interfaz.py +++ /dev/null @@ -1,86 +0,0 @@ -import tkinter as tk - -class MiVentana(tk.Frame): - def __init__(self, master=None): - super().__init__(master) - self.master = master - self.pack() - self.create_widgets() - - def create_widgets(self): - self.file_button = tk.Button(self, text="Seleccionar Archivo", command=self.open_file_dialog) - self.file_button.grid(row=0, column=0, pady=10, padx=10, columnspan=2) - - self.auto_var = tk.BooleanVar() - - self.next_button = tk.Button(self, text="Siguiente", command=lambda: manual_mode(self, self.next_button, self.result_label)) - self.next_button.grid(row=3, column=0, pady=10, padx=10, columnspan=2) - - self.create_window_widgets() - self.create_numeric_widgets() - - self.result_label = tk.Label(self, text="") - self.result_label.grid(row=10, column=0, pady=10, padx=10, columnspan=2) - - self.close_button = tk.Button(self, text="Cerrar", command=self.master.destroy) - self.close_button.grid(row=11, column=0, pady=10, padx=10, columnspan=2) - - self.index_label = tk.Label(self, text="Índice: 0") - self.index_label.grid(row=12, column=0, pady=10, padx=10, columnspan=2) - - self.create_custom_index_widgets() - - def create_window_widgets(self): - self.window_label = tk.Label(self, text="Nombre de la Ventana") - self.window_label.grid(row=4, column=0, pady=10, padx=10) - - self.window_entry = tk.Entry(self) - self.window_entry.grid(row=5, column=0, pady=10, padx=10) - - self.show_window_button = tk.Button(self, text="Mostrar Valor", command=self.show_window_value) - self.show_window_button.grid(row=6, column=0, pady=10, padx=10, columnspan=2) - - def create_numeric_widgets(self): - self.value_label = tk.Label(self, text="Valor numérico:") - self.value_label.grid(row=7, column=0, pady=10, padx=10) - - self.value_entry = tk.Entry(self) - self.value_entry.grid(row=8, column=0, pady=10, padx=10) - - self.show_numeric_button = tk.Button(self, text="Mostrar Valor", command=self.show_numeric_value) - self.show_numeric_button.grid(row=9, column=0, pady=10, padx=10, columnspan=2) - - def create_custom_index_widgets(self): - self.custom_index_label = tk.Label(self, text="Personalizado:") - self.custom_index_label.grid(row=13, column=0, pady=10, padx=10) - - self.custom_index_entry = tk.Entry(self) - self.custom_index_entry.grid(row=13, column=1, pady=10, padx=10) - - self.update_custom_index_button = tk.Button(self, text="Actualizar Índice", command=self.update_custom_index) - self.update_custom_index_button.grid(row=13, column=2, pady=10, padx=10) - - def open_file_dialog(self): - # Implementa la lógica para abrir el diálogo de archivo - pass - - def show_window_value(self): - # Implementa la lógica para mostrar el valor de la ventana - pass - - def show_numeric_value(self): - # Implementa la lógica para mostrar el valor numérico - pass - - def update_custom_index(self): - # Implementa la lógica para actualizar el índice personalizado - pass - -def manual_mode(window, button, label): - # Implementa la lógica para el modo manual - pass - -if __name__ == "__main__": - root = tk.Tk() - app = MiVentana(master=root) - app.mainloop() diff --git a/otros.py/new_Input/data_input/__init__.py b/otros.py/new_Input/data_input/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/otros.py/new_Input/data_input/final.py b/otros.py/new_Input/data_input/final.py deleted file mode 100644 index 6c867eb..0000000 --- a/otros.py/new_Input/data_input/final.py +++ /dev/null @@ -1,76 +0,0 @@ -import tkinter as tk -import pygetwindow as gw -import pyautogui - -TITULO_BASE = "Ingreso de Datos" -INDICE = 0 - -DATA = [ - {"SIMBOLO": "W", "SIMBOLO.1": "W", "SIMBOLO.2": "W", "SIMBOLO.3": "W", "SIMBOLO.4": "W", "R1": 3, "R2": 6, "R3": 8, "R4": 32, "R5": 5}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "F", "SIMBOLO.4": "F", "R1": 4, "R2": 11, "R3": 23, "R4": 5, "R5": 12}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "F", "SIMBOLO.4": "W", "R1": 4, "R2": 11, "R3": 23, "R4": 5, "R5": 5}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "W", "SIMBOLO.4": "F", "R1": 4, "R2": 11, "R3": 23, "R4": 32, "R5": 12}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "W", "SIMBOLO.4": "W", "R1": 4, "R2": 11, "R3": 23, "R4": 32, "R5": 5} -] - -CAMPOS = ['SIMBOLO', 'SIMBOLO.1', 'SIMBOLO.2', 'SIMBOLO.3', 'SIMBOLO.4', 'R1', 'R2', 'R3', 'R4', 'R5'] - -def activar_ventana(boton): - """Espera a que se abra la ventana y la activa""" - while True: - try: - ventana = gw.getWindowsWithTitle(TITULO_BASE)[0] - ventana.activate() - boton.config(state=tk.NORMAL) - return ventana - except IndexError: - pass - - -def mostrar_registro(datos, boton): - global INDICE - global VENTANA - - registro = datos[INDICE] - valores = [registro[campo] for campo in CAMPOS] - - r_valores_text = ", ".join(str(valores[i]) for i, campo in enumerate(CAMPOS) if campo.startswith('R')) - simbolo_valores_text = ", ".join(str(valores[i]) for i, campo in enumerate(CAMPOS) if campo.startswith('SIMBOLO')) - - print('Datos Confirmados:') - print('INDICE: ' + str(INDICE)) - print(r_valores_text) - print(simbolo_valores_text) - - - widgets = VENTANA.children.values() - - # Buscar el único Label en la ventana - label_ventana = next(widget for widget in widgets if isinstance(widget, tk.Label)) - - label_ventana.focus_set() # Establecer enfoque en el Label - - pyautogui.write(str(r_valores_text)) - pyautogui.press('enter') - - boton.config(state=tk.DISABLED) - activar_ventana(boton) - INDICE += 1 - -def click_boton(datos, boton): - boton.config(state=tk.DISABLED) - VENTANA = activar_ventana(boton) - mostrar_registro(datos, boton) - -def main(): - root = tk.Tk() - boton = tk.Button(root, text='Siguiente', command=lambda: click_boton(DATA, boton)) - boton.grid(row=1, column=0, columnspan=2) - - boton.config(state=tk.DISABLED) # Inicialmente, el botón está deshabilitado - VENTANA = activar_ventana(boton) - root.mainloop() - - -if __name__ == '__main__': - main() diff --git a/otros.py/new_Input/data_input/main_input.py b/otros.py/new_Input/data_input/main_input.py deleted file mode 100644 index a4296e4..0000000 --- a/otros.py/new_Input/data_input/main_input.py +++ /dev/null @@ -1,85 +0,0 @@ -import tkinter as tk -import json -import pygetwindow as gw -import pyautogui -import os - -TITULO_BASE = "Ingreso de Datos" -INDICE = 0 - -DATA = [ - {"SIMBOLO": "W", "SIMBOLO.1": "W", "SIMBOLO.2": "W", "SIMBOLO.3": "W", "SIMBOLO.4": "W", "R1": 3, "R2": 6, "R3": 8, "R4": 32, "R5": 5}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "F", "SIMBOLO.4": "F", "R1": 4, "R2": 11, "R3": 23, "R4": 5, "R5": 12}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "F", "SIMBOLO.4": "W", "R1": 4, "R2": 11, "R3": 23, "R4": 5, "R5": 5}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "W", "SIMBOLO.4": "F", "R1": 4, "R2": 11, "R3": 23, "R4": 32, "R5": 12}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "W", "SIMBOLO.4": "W", "R1": 4, "R2": 11, "R3": 23, "R4": 32, "R5": 5} -] - -CAMPOS = ['SIMBOLO', 'SIMBOLO.1', 'SIMBOLO.2', 'SIMBOLO.3', 'SIMBOLO.4', 'R1', 'R2', 'R3', 'R4', 'R5'] - -PATH_PROSSED = "C:/Users/Fabian/Desktop/Fortuna.xlsx" - -SEM_ACTION = False - -def activar_ventana(boton, result_label): - """Espera a que se abra la ventana y la activa""" - boton.config(state=tk.DISABLED) - while True: - try: - ventana = gw.getWindowsWithTitle(TITULO_BASE)[0] - ventana.activate() - boton.config(state=tk.NORMAL) - print("Encontro la ventana") - result_label.config(text="Siguiente paso") - return - except IndexError: - pass - -#def mostrar_registro(datos, boton): - global SEM_ACTION - os.system('cls') - - global INDICE - registro = datos[INDICE] - valores = [ - registro[campo] - for campo in CAMPOS - ] - - r_valores_text = ", ".join(str(valores[i]) for i, campo in enumerate(CAMPOS) if campo.startswith('R')) - simbolo_valores_text = ", ".join(str(valores[i]) for i, campo in enumerate(CAMPOS) if campo.startswith('SIMBOLO')) - - print('Datos Confirmados:') - print('INDICE: ' + str(INDICE)) - print(r_valores_text) - print(simbolo_valores_text) - - ventana = activar_ventana(boton) - pyautogui.write(str(r_valores_text)) - pyautogui.press('enter') - - INDICE += 1 - boton.config(state=tk.DISABLED) - -#def click_boton(datos, boton): - boton.config(state=tk.DISABLED) - activar_ventana(boton) - - if INDICE < len(datos): - mostrar_registro(datos, boton) - else: - print("Todos los datos han sido procesados.") - -def main(): - root = tk.Tk()#click_boton(DATA, boton) - result_label = tk.Label(text="") - result_label.grid(row=7, column=0, pady=10, padx=10, columnspan=2) - boton = tk.Button(root, text='Siguiente', command=lambda: activar_ventana(boton, result_label)) - boton.grid(row=1, column=0, columnspan=2) - - - - root.mainloop() - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/otros.py/new_Input/data_input/pressButon.py b/otros.py/new_Input/data_input/pressButon.py deleted file mode 100644 index cea5b11..0000000 --- a/otros.py/new_Input/data_input/pressButon.py +++ /dev/null @@ -1,18 +0,0 @@ -import tkinter as tk - -def on_button_click(): - button.config(state=tk.DISABLED) # Deshabilita el botón al hacer clic - # Realiza tus acciones aquí - # Simula una acción que lleva tiempo - print("Haciendo clic en el botón") - root.after(2000, enable_button) # Vuelve a habilitar el botón después de 2000 milisegundos (2 segundos) - -def enable_button(): - button.config(state=tk.NORMAL) # Vuelve a habilitar el botón - -root = tk.Tk() - -button = tk.Button(root, text="Haz clic", command=on_button_click) -button.pack(pady=10) - -root.mainloop() \ No newline at end of file diff --git a/otros.py/new_Input/data_input/ultimo.py b/otros.py/new_Input/data_input/ultimo.py deleted file mode 100644 index e03055a..0000000 --- a/otros.py/new_Input/data_input/ultimo.py +++ /dev/null @@ -1,65 +0,0 @@ -import tkinter as tk -import json -import pygetwindow as gw -import pyautogui -import os - -TITULO_BASE = "Ingreso de Datos" -INDICE = 0 - -DATA = [ - {"SIMBOLO": "W", "SIMBOLO.1": "W", "SIMBOLO.2": "W", "SIMBOLO.3": "W", "SIMBOLO.4": "W", "R1": 3, "R2": 6, "R3": 8, "R4": 32, "R5": 5}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "F", "SIMBOLO.4": "F", "R1": 4, "R2": 11, "R3": 23, "R4": 5, "R5": 12}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "F", "SIMBOLO.4": "W", "R1": 4, "R2": 11, "R3": 23, "R4": 5, "R5": 5}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "W", "SIMBOLO.4": "F", "R1": 4, "R2": 11, "R3": 23, "R4": 32, "R5": 12}, - {"SIMBOLO": "F", "SIMBOLO.1": "F", "SIMBOLO.2": "F", "SIMBOLO.3": "W", "SIMBOLO.4": "W", "R1": 4, "R2": 11, "R3": 23, "R4": 32, "R5": 5} -] - -CAMPOS = ['SIMBOLO', 'SIMBOLO.1', 'SIMBOLO.2', 'SIMBOLO.3', 'SIMBOLO.4', 'R1', 'R2', 'R3', 'R4', 'R5'] - -PATH_PROSSED = "C:/Users/Fabian/Desktop/Fortuna.xlsx" - -def activar_ventana(): - """Espera a que se abra la ventana y la activa""" - while True: - try: - ventana = gw.getWindowsWithTitle(TITULO_BASE)[0] - return ventana - except IndexError: - print("La ventana no está abierta. Esperando...") - pyautogui.sleep(1) - -def mostrar_registro(datos, boton, root): - global INDICE - registro = datos[INDICE] - valores = [registro[campo] for campo in CAMPOS] - - r_valores_text = ", ".join(str(valores[i]) for i, campo in enumerate(CAMPOS) if campo.startswith('R')) - simbolo_valores_text = ", ".join(str(valores[i]) for i, campo in enumerate(CAMPOS) if campo.startswith('SIMBOLO')) - - print('Datos Confirmados:') - print('INDICE: ' + str(INDICE)) - print(r_valores_text) - print(simbolo_valores_text) - - ventana = activar_ventana() - ventana.activate() - pyautogui.write(str(r_valores_text)) - pyautogui.press('enter') - - INDICE += 1 - boton.config(state=tk.NORMAL) - -def click_boton(datos, boton, root): - boton.config(state=tk.DISABLED) - mostrar_registro(datos, boton, root) - # Puedes agregar lógica adicional aquí si es necesario - -def main(): - root = tk.Tk() - boton = tk.Button(root, text='Siguiente', state=tk.NORMAL, command=lambda: click_boton(DATA, boton, root)) - boton.grid(row=1, column=0, columnspan=2) - root.mainloop() - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/otros.py/new_Input/data_input/veintidos.py b/otros.py/new_Input/data_input/veintidos.py deleted file mode 100644 index 3a90b5c..0000000 --- a/otros.py/new_Input/data_input/veintidos.py +++ /dev/null @@ -1,79 +0,0 @@ -import tkinter as tk -import json -import pygetwindow as gw -import pyautogui -import os - -TITULO_BASE = input("Por favor, ingrese una cadena: ") -INDICE = int(input("Elemento a comenzar 0..10 por ejemplo: ")) - -CAMPOS = [ - 'SIMBOLO', 'SIMBOLO.1', 'SIMBOLO.2', 'SIMBOLO.3', 'SIMBOLO.4', 'R1', 'R2', 'R3', 'R4', 'R5' - ] - -PATH_BASE = os.path.dirname(os.path.abspath(__file__)) -PATH_SOURCE = os.path.join(PATH_BASE, "processed_json") -PATH_PROSSED = os.path.join(PATH_SOURCE, "Freegames.json") - -def activar_ventana(): - """Espera a que se abra la ventana y la activa""" - while True: - ventana = gw.getWindowsWithTitle(TITULO_BASE) - if ventana: - return ventana[0] - else: - print("La ventana no está abierta. Esperando...") - pyautogui.sleep(1) - -def mostrar_registro(datos, boton): - os.system('cls') - - global INDICE - registro = datos[INDICE] - valores = [ - registro[campo] - for campo in CAMPOS - ] - - r_valores_text = ", ".join([ - str(valores[i]) - for i, campo in enumerate(CAMPOS) - if campo.startswith('R') - ]) - - simbolo_valores_text = ", ".join([ - str(valores[i]) - for i, campo in enumerate(CAMPOS) - if campo.startswith('SIMBOLO') - ]) - - print('Datos Confirmados:') - print('INDICE: ' + str(INDICE)) - print(r_valores_text) - print(simbolo_valores_text) - - ventana = activar_ventana() - ventana.activate() - pyautogui.write(str(r_valores_text)) - pyautogui.press('enter') - - INDICE += 1 - if INDICE >= len(datos): - boton.config(state=tk.DISABLED) - -def click_boton(datos, boton): - mostrar_registro(datos, boton) - boton.config(state=tk.DISABLED) - boton.after(1500, lambda: boton.config(state=tk.NORMAL)) - -def main(): - with open(PATH_PROSSED, 'r') as archivo: - datos = json.load(archivo) - - root = tk.Tk() - boton = tk.Button(root, text='Siguiente', command=lambda: click_boton(datos, boton)) - boton.grid(row=1, column=0, columnspan=2) - root.mainloop() - -if __name__ == '__main__': - main() \ No newline at end of file diff --git a/otros.py/new_Input/excel_processor/__init__.py b/otros.py/new_Input/excel_processor/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/otros.py/new_Input/excel_processor/main_process.py b/otros.py/new_Input/excel_processor/main_process.py deleted file mode 100644 index 6b1138f..0000000 --- a/otros.py/new_Input/excel_processor/main_process.py +++ /dev/null @@ -1,45 +0,0 @@ -import pandas as pd -import os - -PATH_BASE = os.path.dirname(os.path.abspath(__file__)) -PATH_SOURCE = os.path.join(PATH_BASE, "base_excel") -PATH_PROSSED = os.path.join(PATH_BASE, "processed_json") - -if not os.path.exists(PATH_PROSSED): - os.makedirs(PATH_PROSSED, exist_ok=True) - -def process_excel(file_name, sheet_number, columns_to_select): - try: - file_path = os.path.join(PATH_SOURCE, file_name) - DATOS = pd.read_excel(file_path,sheet_name=sheet_number) - DATOS_FILTRADOS = DATOS.loc[:, - columns_to_select - ].to_json(orient='records', indent=4) - - with open(os.path.join(PATH_PROSSED, file_name.replace(".xlsx", ".json")), 'w') as archivo: - archivo.write(DATOS_FILTRADOS) - - except FileNotFoundError: - print(f"La ruta del archivo no existe: {file_name}") - except KeyError: - print(f"Columnas no corresponden con {DATOS.columns.values}") - except Exception as e: - print(f"Error al procesar {file_name}: {str(e)}") - else: - print(f"Procesado {file_name} correctamente") - -if __name__ == "__main__": - sheet_number = 1 - columns_to_select = [ - 'SIMBOLO', 'SIMBOLO.1', 'SIMBOLO.2', 'SIMBOLO.3', 'SIMBOLO.4', - 'R1', 'R2', 'R3', 'R4', 'R5' - ] - - try: - names_files = os.listdir(PATH_SOURCE) - for file_name in names_files: - process_excel(file_name, sheet_number, columns_to_select) - except FileNotFoundError: - print("La ruta no existe ", PATH_SOURCE) - except NotADirectoryError: - print("La ruta no es un directorio ", PATH_SOURCE) \ No newline at end of file diff --git a/otros.py/new_Input/excel_processor/nuevo.py b/otros.py/new_Input/excel_processor/nuevo.py deleted file mode 100644 index b2ab257..0000000 --- a/otros.py/new_Input/excel_processor/nuevo.py +++ /dev/null @@ -1,36 +0,0 @@ -import pandas as pd -import os -import re - -SIMBOLS_REGEX = re.compile(r'^SIMBOLO\.\d+$') -ROLLER_REGEX = re.compile(r'^R\d+$') - -variable = "C:/Users/Fabian/Desktop/Fortuna.xlsx" - -def process_excel(file_name): - try: - DATOS = pd.read_excel(file_name,sheet_name=1) - SIMBOLS = list(filter(SIMBOLS_REGEX.match, DATOS.columns.values)) - ROLLERS = list(filter(ROLLER_REGEX.match, DATOS.columns.values)) - - DATOS_FILTRADOS = DATOS.loc[:, - (SIMBOLS + ROLLERS) - ].to_json(orient='records', indent=4) - - except FileNotFoundError: - print(f"La ruta del archivo no existe: {file_name}") - except KeyError: - print(f"Columnas no corresponden con {DATOS.columns.values}") - except Exception as e: - print(f"Error al procesar {file_name}: {str(e)}") - else: - print(f"Procesado {file_name} correctamente") - - -if __name__ == "__main__": - try: - process_excel(variable) - except FileNotFoundError: - print("La ruta no existe ", variable) - except NotADirectoryError: - print("La ruta no es un directorio ", variable) \ No newline at end of file diff --git a/otros.py/new_Input/main_input.py b/otros.py/new_Input/main_input.py deleted file mode 100644 index 3615780..0000000 --- a/otros.py/new_Input/main_input.py +++ /dev/null @@ -1,200 +0,0 @@ -import tkinter as tk -import pygetwindow as gw -import pyautogui -import time - -INDICE = 0 -ROLLERS = [ - { - "R1":1, - "R2":6, - "R3":8, - "R4":2, - "R5":6 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":10 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":12 - }, - { - "R1":1, - "R2":6, - "R3":8, - "R4":2, - "R5":6 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":10 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":12 - } -] -SIMBOLS = [ - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B1" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B1", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B1" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B1", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - } -] - -TITULO_BASE = "Ingreso de Datos" - -index = 0 -AUTOMATICO = False - -def actions(result_label, indice): - - values = ",".join(str(value) for value in ROLLERS[indice].values()) - print(f"Index {indice}: {values}") - result_label.config(text=f"Index {indice}: {values}") - - pyautogui.press('tab') - pyautogui.write(values) - pyautogui.press('enter') - -def search_window(boton, result_label): - """Busca la ventana y la activa""" - - ventana = None - - try: - ventana = gw.getWindowsWithTitle(TITULO_BASE)[0] - except IndexError: - boton.config(state=tk.DISABLED) - result_label.config(text="No se encontro la ventana") - return False - - if ventana.isMinimized: - ventana.restore() - - ventana.activate() - return True - - -def activar_ventana(boton, result_label, auto = None): - """Espera a que se abra la ventana y la activa""" - - if auto: - global AUTOMATICO - AUTOMATICO = auto - - global index - - def buscar_ventana(): - global index - - if not search_window(boton, result_label): - return False - - boton.config(state=tk.NORMAL) - - if AUTOMATICO: - for i in range(len(ROLLERS)): - actions(result_label, i) - if not search_window(boton, result_label): - return False - else: - actions(result_label, index) - return True - - - # while (auto != False) - # if index < len(ROLLERS): - # if search_window(boton, result_label): - # index += 1 - # else: - # result_label.after(3000, activar_ventana, boton, result_label) - # else: - # boton.config(state=tk.DISABLED) - # result_label.config(text="Terminado") - - -def automatic_mode(boton, result_label): - """Automatic Mode""" - - global index - - while (index < len(ROLLERS)): - if search_window(boton, result_label): - boton.config(state=tk.NORMAL) - actions(result_label, index) - index += 1 - else: - result_label.after(3000, automatic_mode, boton, result_label) - continue - - boton.config(state=tk.DISABLED) - result_label.config(text="Terminado") - - -def manual_mode(main_gui, boton, result_label): - """Manual Mode""" - index = main_gui.index_current - print("HOLAAAA") - boton.config(state=tk.DISABLED) - - while not search_window(boton, result_label): - time.sleep(1) - pass - - if index < len(ROLLERS): - actions(result_label, index) - main_gui.index_current += 1 - main_gui.update_index_label() - else: - result_label.config(text="Terminado") - - main_gui.master.after(2000,boton.config(state=tk.NORMAL)) - - - \ No newline at end of file diff --git a/otros.py/new_Input/main_input2.py b/otros.py/new_Input/main_input2.py deleted file mode 100644 index f9432d0..0000000 --- a/otros.py/new_Input/main_input2.py +++ /dev/null @@ -1,98 +0,0 @@ -import tkinter as tk -import pygetwindow as gw -import pyautogui - -INDICE = 0 -ROLLERS = [ - { - "R1":1, - "R2":6, - "R3":8, - "R4":2, - "R5":6 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":10 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":12 - } -] -SIMBOLS = [ - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B1" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B1", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - } -] - -TITULO_BASE = "Ingreso de Datos" - -index = 0 - -def activar_ventana(boton, result_label, auto = None): - """Espera a que se abra la ventana y la activa""" - ventana = None - global index - - def buscar_ventana(): - nonlocal ventana - global index - try: - ventana = gw.getWindowsWithTitle(TITULO_BASE)[0] - if ventana.isMinimized: - ventana.restore() - - ventana.activate() - boton.config(state=tk.NORMAL) - - values = ",".join( - str(value) for value in ROLLERS[index].values() - ) - - print(values) - result_label.config(text=values) - - pyautogui.press('tab') - pyautogui.press('tab') - - pyautogui.write(values) - pyautogui.press('enter') - - except IndexError: - result_label.config(text="No se encontro la ventana") - - boton.config(state=tk.DISABLED) - result_label.config(text="Buscando ventana") - - buscar_ventana() - - if index < len(ROLLERS): - if ventana is None: - result_label.after(1000, activar_ventana, boton, result_label) - else: - index += 1 - else: - boton.config(state=tk.DISABLED) - result_label.config(text="Terminado") diff --git a/otros.py/new_Input/main_input2copy.py b/otros.py/new_Input/main_input2copy.py deleted file mode 100644 index f9432d0..0000000 --- a/otros.py/new_Input/main_input2copy.py +++ /dev/null @@ -1,98 +0,0 @@ -import tkinter as tk -import pygetwindow as gw -import pyautogui - -INDICE = 0 -ROLLERS = [ - { - "R1":1, - "R2":6, - "R3":8, - "R4":2, - "R5":6 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":10 - }, - { - "R1":3, - "R2":17, - "R3":4, - "R4":2, - "R5":12 - } -] -SIMBOLS = [ - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B2", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B1" - }, - { - "SIMBOLO.1":"S0", - "SIMBOLO.2":"B1", - "SIMBOLO.3":"SK", - "SIMBOLO.4":"B2" - } -] - -TITULO_BASE = "Ingreso de Datos" - -index = 0 - -def activar_ventana(boton, result_label, auto = None): - """Espera a que se abra la ventana y la activa""" - ventana = None - global index - - def buscar_ventana(): - nonlocal ventana - global index - try: - ventana = gw.getWindowsWithTitle(TITULO_BASE)[0] - if ventana.isMinimized: - ventana.restore() - - ventana.activate() - boton.config(state=tk.NORMAL) - - values = ",".join( - str(value) for value in ROLLERS[index].values() - ) - - print(values) - result_label.config(text=values) - - pyautogui.press('tab') - pyautogui.press('tab') - - pyautogui.write(values) - pyautogui.press('enter') - - except IndexError: - result_label.config(text="No se encontro la ventana") - - boton.config(state=tk.DISABLED) - result_label.config(text="Buscando ventana") - - buscar_ventana() - - if index < len(ROLLERS): - if ventana is None: - result_label.after(1000, activar_ventana, boton, result_label) - else: - index += 1 - else: - boton.config(state=tk.DISABLED) - result_label.config(text="Terminado") diff --git a/otros.py/nue.py b/otros.py/nue.py deleted file mode 100644 index aa3c51b..0000000 --- a/otros.py/nue.py +++ /dev/null @@ -1,86 +0,0 @@ -import tkinter as tk - -class MiVentana(tk.Frame): - def __init__(self, master=None): - super().__init__(master) - self.master = master - self.pack() - self.create_widgets() - - def create_widgets(self): - self.file_button = tk.Button(self, text="Seleccionar Archivo", command=self.open_file_dialog) - self.file_button.grid(row=0, column=0, pady=10, padx=10, columnspan=2) - - self.auto_var = tk.BooleanVar() - - self.next_button = tk.Button(self, text="Siguiente", command=lambda: manual_mode(self, self.next_button, self.result_label)) - self.next_button.grid(row=1, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 1 - - self.create_window_widgets() - self.create_numeric_widgets() - - self.result_label = tk.Label(self, text="") - self.result_label.grid(row=4, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 4 - - self.close_button = tk.Button(self, text="Cerrar", command=self.master.destroy) - self.close_button.grid(row=5, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 5 - - self.index_label = tk.Label(self, text="Índice: 0") - self.index_label.grid(row=6, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 6 - - self.create_custom_index_widgets() - - def create_window_widgets(self): - self.window_label = tk.Label(self, text="Nombre de la Ventana") - self.window_label.grid(row=2, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 2 - - self.window_entry = tk.Entry(self) - self.window_entry.grid(row=3, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 3 - - self.show_window_button = tk.Button(self, text="Mostrar Valor", command=self.show_window_value) - self.show_window_button.grid(row=4, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 4 - - def create_numeric_widgets(self): - self.value_label = tk.Label(self, text="Valor numérico:") - self.value_label.grid(row=5, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 5 - - self.value_entry = tk.Entry(self) - self.value_entry.grid(row=6, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 6 - - self.show_numeric_button = tk.Button(self, text="Mostrar Valor", command=self.show_numeric_value) - self.show_numeric_button.grid(row=7, column=0, pady=10, padx=10, columnspan=2) # Cambiado a la fila 7 - - def create_custom_index_widgets(self): - self.custom_index_label = tk.Label(self, text="Personalizado:") - self.custom_index_label.grid(row=8, column=0, pady=10, padx=10) # Cambiado a la fila 8 - - self.custom_index_entry = tk.Entry(self) - self.custom_index_entry.grid(row=8, column=1, pady=10, padx=10) # Mantenido en la fila 8 - - self.update_custom_index_button = tk.Button(self, text="Actualizar Índice", command=self.update_custom_index) - self.update_custom_index_button.grid(row=8, column=2, pady=10, padx=10) # Mantenido en la fila 8 - - def open_file_dialog(self): - # Implementa la lógica para abrir el diálogo de archivo - pass - - def show_window_value(self): - # Implementa la lógica para mostrar el valor de la ventana - pass - - def show_numeric_value(self): - # Implementa la lógica para mostrar el valor numérico - pass - - def update_custom_index(self): - # Implementa la lógica para actualizar el índice personalizado - pass - -def manual_mode(window, button, label): - # Implementa la lógica para el modo manual - pass - -if __name__ == "__main__": - root = tk.Tk() - app = MiVentana(master=root) - app.mainloop() diff --git a/otros.py/popUp.py b/otros.py/popUp.py deleted file mode 100644 index d77d61e..0000000 --- a/otros.py/popUp.py +++ /dev/null @@ -1,16 +0,0 @@ -import tkinter as tk -from tkinter import messagebox - -def show_warning(): - messagebox.showwarning("Advertencia", "Este es un mensaje de advertencia.") - -# Crear la ventana principal -app = tk.Tk() -app.title("Ejemplo de Pop-up") - -# Crear un botón que muestra la advertencia -warning_button = tk.Button(app, text="Mostrar Advertencia", command=show_warning) -warning_button.pack(pady=20) - -# Ejecutar la aplicación -app.mainloop() diff --git a/otros.py/ultimo.py b/otros.py/ultimo.py deleted file mode 100644 index e352a31..0000000 --- a/otros.py/ultimo.py +++ /dev/null @@ -1,94 +0,0 @@ -import tkinter as tk -from tkinter import filedialog - -class MyApp(tk.Frame): - def __init__(self, master=None, *args, **kwargs): - tk.Frame.__init__(self, master, *args, **kwargs) - self.master = master - self.grid() - self.create_widgets() - - def open_file_dialog(self): - file_path = filedialog.askopenfilename(title="Seleccionar archivo", filetypes=[("Archivos de texto", "*.txt")]) - if file_path: - self.file_label.config(text="Archivo seleccionado: {}".format(file_path)) - self.print_file_content(file_path) - - def print_file_content(self, file_path): - try: - with open(file_path, 'r') as file: - content = file.read() - print("Contenido del archivo:") - print(content) - except Exception as e: - print(f"Error al abrir el archivo: {e}") - - def show_window_value(self): - window_value = self.window_entry.get() - print(f"Valor de la ventana: {window_value}") - - def show_numeric_value(self): - numeric_value = self.value_entry.get() - print(f"Valor numérico: {numeric_value}") - - def automatic_operation(self): - # Lógica para la operación automática - self.result_label.config(text="Operación automática realizada") - - def toggle_automatic(self): - current_state = self.auto_var.get() - new_state = not current_state - self.auto_var.set(new_state) - if new_state: - self.auto_button.config(text="Automático ON", command=self.automatic_operation) - else: - self.auto_button.config(text="Automático OFF", command=lambda: None) # No action when OFF - - def next_step(self): - # Lógica para avanzar al siguiente paso - self.result_label.config(text="Siguiente paso") - - def create_widgets(self): - self.file_button = tk.Button(self, text="Seleccionar Archivo", command=self.open_file_dialog) - self.file_button.grid(row=0, column=0, pady=10, padx=10, columnspan=2) - - self.file_label = tk.Label(self, text="") - self.file_label.grid(row=1, column=0, pady=10, padx=10, columnspan=2) - - self.auto_var = tk.BooleanVar() - self.auto_button = tk.Button(self, text="Automático OFF", command=self.toggle_automatic) - self.auto_button.grid(row=2, column=0, pady=10, padx=10, columnspan=2) - - self.next_button = tk.Button(self, text="Siguiente", command=self.next_step) - self.next_button.grid(row=3, column=0, pady=10, padx=10, columnspan=2) - - self.window_label = tk.Label(self, text="Nombre de la ventana:") - self.window_label.grid(row=4, column=0, pady=10, padx=10) - - self.window_entry = tk.Entry(self) - self.window_entry.grid(row=5, column=0, pady=10, padx=10) - - self.show_window_button = tk.Button(self, text="Mostrar Valor", command=self.show_window_value) - self.show_window_button.grid(row=5, column=1, pady=10, padx=10) - - self.value_label = tk.Label(self, text="Valor numérico:") - self.value_label.grid(row=6, column=0, pady=10, padx=10) - - self.value_entry = tk.Entry(self) - self.value_entry.grid(row=7, column=0, pady=10, padx=10) - - self.show_numeric_button = tk.Button(self, text="Mostrar Valor", command=self.show_numeric_value) - self.show_numeric_button.grid(row=7, column=1, pady=10, padx=10) - - self.result_label = tk.Label(self, text="") - self.result_label.grid(row=8, column=0, pady=10, padx=10, columnspan=2) - -# Crear la aplicación -app = tk.Tk() -app.title("Mi Aplicación") -app.resizable(False, False) - -# Iniciar la aplicación -my_app = MyApp(master=app) -my_app.mainloop() - diff --git a/otros.py/ya.py b/otros.py/ya.py deleted file mode 100644 index c4ab5a8..0000000 --- a/otros.py/ya.py +++ /dev/null @@ -1,105 +0,0 @@ -import tkinter as tk -from tkinter import filedialog - -class MyApp(tk.Frame): - def __init__(self, master=None, *args, **kwargs): - tk.Frame.__init__(self, master, *args, **kwargs) - self.master = master - self.grid() - self.create_widgets() - - def open_file_dialog(self): - file_path = filedialog.askopenfilename(title="Seleccionar archivo", filetypes=[("Archivos de texto", "*.txt")]) - if file_path: - self.file_label.config(text="Archivo seleccionado: {}".format(file_path)) - self.print_file_content(file_path) - - def print_file_content(self, file_path): - try: - with open(file_path, 'r') as file: - content = file.read() - print("Contenido del archivo:") - print(content) - except Exception as e: - print(f"Error al abrir el archivo: {e}") - - def show_window_value(self): - window_value = self.window_entry.get() - print(f"Valor de la ventana: {window_value}") - - def show_numeric_value(self): - numeric_value = self.value_entry.get() - print(f"Valor numérico: {numeric_value}") - - def automatic_operation(self): - # Lógica para la operación automática - - - - - def toggle_automatic(self): - current_state = self.auto_var.get() - new_state = not current_state - self.auto_var.set(new_state) - self.update_auto_button() - - def update_auto_button(self): - if self.auto_var.get(): - self.auto_on_button.grid(row=2, column=0, pady=10, padx=10, columnspan=2) - self.auto_off_button.grid_remove() - else: - self.auto_on_button.grid_remove() - self.auto_off_button.grid(row=2, column=0, pady=10, padx=10, columnspan=2) - - def next_step(self): - # Lógica para avanzar al siguiente paso - self.result_label.config(text="Siguiente paso") - - def create_widgets(self): - self.file_button = tk.Button(self, text="Seleccionar Archivo", command=self.open_file_dialog) - self.file_button.grid(row=0, column=0, pady=10, padx=10, columnspan=2) - - self.file_label = tk.Label(self, text="") - self.file_label.grid(row=1, column=0, pady=10, padx=10, columnspan=2) - - self.auto_var = tk.BooleanVar() - - self.auto_on_button = tk.Button(self, text="Automático ON", command=self.automatic_operation) - self.auto_on_button.grid(row=2, column=0, pady=10, padx=10, columnspan=2) - - self.auto_off_button = tk.Button(self, text="Automático OFF", command=lambda: None) - self.auto_off_button.grid(row=2, column=0, pady=10, padx=10, columnspan=2) - self.auto_off_button.grid_remove() - - self.next_button = tk.Button(self, text="Siguiente", command=self.next_step) - self.next_button.grid(row=3, column=0, pady=10, padx=10, columnspan=2) - - self.window_label = tk.Label(self, text="Nombre de la ventana:") - self.window_label.grid(row=4, column=0, pady=10, padx=10) - - self.window_entry = tk.Entry(self) - self.window_entry.grid(row=5, column=0, pady=10, padx=10) - - self.show_window_button = tk.Button(self, text="Mostrar Valor", command=self.show_window_value) - self.show_window_button.grid(row=5, column=1, pady=10, padx=10) - - self.value_label = tk.Label(self, text="Valor numérico:") - self.value_label.grid(row=6, column=0, pady=10, padx=10) - - self.value_entry = tk.Entry(self) - self.value_entry.grid(row=7, column=0, pady=10, padx=10) - - self.show_numeric_button = tk.Button(self, text="Mostrar Valor", command=self.show_numeric_value) - self.show_numeric_button.grid(row=7, column=1, pady=10, padx=10) - - self.result_label = tk.Label(self, text="") - self.result_label.grid(row=8, column=0, pady=10, padx=10, columnspan=2) - -# Crear la aplicación -app = tk.Tk() -app.title("Mi Aplicación") -app.resizable(False, False) - -# Iniciar la aplicación -my_app = MyApp(master=app) -my_app.mainloop() diff --git a/tempCodeRunnerFile.py b/tempCodeRunnerFile.py deleted file mode 100644 index 67ec61b..0000000 --- a/tempCodeRunnerFile.py +++ /dev/null @@ -1,2 +0,0 @@ - -def main(): \ No newline at end of file