From 028c1a30c5cc34aa8e7422a374982f6d8c1d01b8 Mon Sep 17 00:00:00 2001 From: kdevo Date: Tue, 18 Feb 2020 22:08:15 +0100 Subject: [PATCH] :tada: Initial commit --- .github/copy-curl.png | Bin 0 -> 55854 bytes .gitignore | 280 +----------------------------------------- README.md | 40 ++++++ sync.sh | 29 +++++ wipe.sh | 4 + your-copied-curl.sh | 2 + 6 files changed, 79 insertions(+), 276 deletions(-) create mode 100644 .github/copy-curl.png create mode 100644 README.md create mode 100644 sync.sh create mode 100644 wipe.sh create mode 100644 your-copied-curl.sh diff --git a/.github/copy-curl.png b/.github/copy-curl.png new file mode 100644 index 0000000000000000000000000000000000000000..ccddca0e75377aa9d668c03f0a1821bd21a8736d GIT binary patch literal 55854 zcmaHzbyQp3w)Sz?0>z~U6nA$hlol;c(W0ejad+32;tnkmDDDslPzV%v_u^h8KuGvD z?>XPSrE-LB4>-WEkyVvNL8(c^zca@Kj&Yq|8@QsNJaT*Zhq_|T=!JqZ z-=nM`tLn!s5JEC<Wf~n76~&5%&iwT0(?TkObl@oJ1CJSS^fZQ-oyNbZzP{gg z<($Ew*}332c_>%X_fMqsT|xU`Lqw-yj>a3)%@HrorEJpV@I zHv+WGl3X89vAr4{hE$v9Nh&sjmkdm~xUMc4c-J%`dU2l_L_08^C|ynbNI>Ucvh*D3 zR$4|lxj$V#{ae50!>f(soD;tiqkx+&A3OyG1p(TI#zxRNqL{=1-KShF z)cX;%j!C2b$F9L#S;HW6FXPStu#fs>u={@HNybLD>qv&?IT@zj*Q?teDU|{L+sVAt zoxDJ)T0>$70jJhIX2eJ9+ljP}@2Tcu>llcgK;+Kni*cm`sda?)*SDkIvRr@A66aoVfuYiDna?6X&jMM{tOi+8N37GWFy$R%^w_pA*s#p!a67^1~%Y@3#tLxiYV6@sCoGv-h{Ae@E}{MnN7QL3bA=(kU!?e(%7<_)#j=7*xcYdKSOY ziv8hNI?Jr$cpiQdZ&0vN#RNEd)GVZmkmOYgE=gsBJLk3T2fE8p&rwNOX~I|0^CAAN zE^NlBJU@AP`CEFO&EvL{RQH3KJ#}r)!$@(D!=$ajv^2Eu)dBpy)0C3zdlswTb`lZd z-cpzMzpuLnw{8=qiX!{!66?;+Ty%1O8nwKGWk}iX#%FJTHkW*AM;^w zYSn~{h@VJIN70RH;)R;Mv_~58-*Aaq+Bhdg=G40gCR)|2|D~s=XG;=rZZKyG4cSt- zA~f+m5_I2+-eYRUptC&2B|3K=;)RyNxWO0i_Fx*X!amMVVw`8;$fa_=FJ1{n7!Spg zUS(+wa72PD3+E2-`uh6NsHHvW(WRs>#^i6cwyZp7GZ4$wHx>2Z67+3GsOArjQUju% z6>dm{yl>7tH26lUHn2ISvGb%-+UVovA5={^@7yXswAWH)n@d!Cz+t7`K*)YBf2MZ@ z?7J1iUO6U@h#SxGT%qn?DqMAe(wD4kf*3rL3k)mT+TLICV_{)wcRDOKrgS7)y)uhn z>UIw7`Ds!I?M24QP@msadV=3#`poHG)AQ%v#IGWbJ%g>vbU8f-o@};Q57RUdtRk

U7g-C2@)IC**@`sYylgyf!u?p2yyCWix$5Vo077CX_sBUYVItsXVO5!| zw9c+XACQ^G-WDfH#b?3dU)?2^S8C& zk_D%LbJ_+qlAthI3e;3wcxHxE6iw$N%d|6paeXv?;|iOiiGVmgU$8}c#>Um6lb$S2 zNFFPWqoR_Mj`Ih!Z*9k|Zynpu6fbX5^h`8SAFUKIhNOD7Z_?XI@SF@gF`3DqhPzuY zXl0xf$;m<9t1%mdJ1Qrq5S`4eJE5azENF!~Wgk{< ziy>5uFCP5#GUn33RB)4xQE%$%`bzm%HkFDH3N~d(){nPopiz;Qbx_a9Dw;>JCrLT8th#X;Jd$rw^}!_5;C>)l=MsAMTe$6DX9u|3{4?l`l4Iv!B6itH3uCR zXy)`n`>UDI!!7z!+35~6+RMu*r&W{G@ zB0A`!Hk(Mo<_$#rJenGU?Wv2Um%AkBq$GG*aSw!3NC*(U6anvlVB#xWom{FPW5*)d z(aNO3e?DGHy)=?A%ga07#%M0(1^HWVs_4!Jy{xbsB+S3&DE{Ld!mHQ0dkDfqPxL|& zua?`XRiCNqxCP-Q*^BfiNM7k*GE|A+&QHpFK&J^L*=3nACd*!wkFkn;)D5|e zb>A|nk-VC-AWNM!fm-|3`4^_rABa`B2y`$CIVm^6+`0zH;cN-saD`}hUhbar4(#&eY6~(n1C`8TCl}{@+ZSWV#I@v1AAzzt4_m{b zrX;(5wrR;#oXTNPh{i!V)8KC&md{DRl~2O)3R6p~OS^Nu{Q}thSTtVPz_Pdk5j9ZD zfe+HQ;vQf6&l7Jctg+3k$vv=UFpmfe1Ct43jeNgiiDnN48SmGyD$`IhcSRY8n|VusG~ z{g%V{xs}U^o8Y~U_azen_O%~ytZP)Q-!VDmiw#yTG(17K1PvZ?;h|w*DEB{q;(R?_ z74U=40H+;A_PFzIu(K3)xn^xvGND48N`hhRvckR(#!XQ3Yf-vd7F5^e;xzSol5{(i zf*g>-o&3f(DNDC%y;}IB(+1tEjBqvYlq+@t-9LW8p&#Odq3TYYK9(>L z-nMfJW7Q5U&6Vld`c&DX2s=|{rf@{V^`#MM(MhJjEiZK4DN7A1TG1E_6I@fY#-N|! zt|dRdeFf(;8h=62a9EsF7rFU8o=i(0buQ}2nAp*yubz`{+F4&u-^L>!woV+V|MR_8 zZv+{yn!VyzE4=rCbB@nOqGQj5XlpoPPIaSTaENYqh~ zKYmvnZUTvdvG-Pr-FqtGRlmAh)i&_g437yRWt_|;@aIslqP#|!RSkMkb-?6aNZp{r z&i3AHTHgE%ZfUrd_vSRq8-&@o=2J#7>2^bWxY+N|jBm!dYMNbNdFS)XDibMC>J8-N zon)+W!yhkj7D!LHMv1WCCsN3uJa$(ynt);sT|n`gQL%{#ELkN2R{7V5- zKMJ7G|~{9D3P z`ZoVB-UPwo4*b$sG+vAG-n{Dl+Vf3!Ssyb%viyXwwrS8-4H`c+68T46H(dHLw83-r z%iqpGj~FC*n5(RIu~em>!ygMw=TJ&eK%&Io*Y0;So9%hua6^{N22w4vc?2<4nsrXs zx$%hUz_C`f0A)%?{Mn`XDo#0Ro#!MwfFkW75*_YeUx0Y0tDtEDZW%ARvOa^x6u-P9ZINrhIyekKq zD>jzNV}ZFapX*a|?@8alF<<{>U;m?@O_rUoj$Lr!y?s!8Ti|^FBHFIY{k4Gb*_@Lj zb933OPzCHFE={*x$>eQLp>#BzmY-tk5i%aB4SuF3b@Qil@`TJ_4O8K5f{2_BIAdSf zjm2jfQ;GgX;D-BP`#Mf4iG=wb<_c`vw`!Nj=VbMrmR-eWqO^&c=oYy_&4+Nh_2JPD zfA~ext;pa0XIpEs9K(m7CzM&r+*1cEr))Sjvz&yOhjM-%Bt@}p)~qg7Bl1liZje8B z(CCR1oofi4p;yH|ko*c4bwSsubKsKxnDMpWktG(yoxM%+Bc^NFTw-L*os?GKT{ta&iM{%4 zkA;sQ>088Uq_p%C z5E(kNWpd2hk)%x%ABBW@SVg<@@7~Y0>n=XF^C7|}U&!)WluX|H)wb8#r+mMXdcv}G zG9l0YmX4>ujxfGCZ9jic9!mG@;6jeMX81j+bik1y1qb-h9kWVYyM%)*F{O z#L~;ZS*v%7fbh8>VT^co9!55WPArk%>Qm-U-*I4k@{VOj&(vQBma!Xx&z1C`IM`0b z&wi2V%xu&^87Ae6+}+&1fu6-bC|kDv-1wO))2f8f^>y=Q8y|tsS(Sjos{~&eBFZ@O zMhC~nl8}GkOFL4O3!R4PM8DG`8GK&DaK(1AU8h`NfG#$MWdvx6swWesJ2tOliS~(O zQv=fNtNn7TPT-q9;}stVc#Byvrb@D^!gI+yX2+f|@nsE6n*|OB5yuaIbd?XjDE&6Z zCc>$t*L)j2E4)w6^Q5lca^Mj{`41;I6}*QLsbS|EiuRZ#+$PssaYW)=Wx5!b<&|%? z-LxV0{R}C-)d}uSe|t})WiOfM@3YZmZYV`SUa9zg1Ld?Q@u(@&TT?HM$8J1(b z>G0bw5;et2^c5lbX{h+h8PRm(-nbH@&Osf6opGdXRsZBTY5>6v)H;%YnO6I>p!eqmGC*eEpJ!JRg^CpB60 zW$|LpA~D6Y6TbZU;AhisKtGl>vWwZzzU2mMgN095z_z8B3G8(2n$r=3Y211l#_*<+ zMePx-pHQig)q|=|6XZ2i`gc>uC8uE3?#fkTld@3OPrH@nt=>td*eCJ5J-JGH+&%65_@6laGpx~t*VqW zRIiUCv4*0TMl$EF4(FeVdmd|_@E(Fs{HuJVQxbfRUMQa+8|((dqNu8rnHp^Sl&Zt_ zrb5d;mwyxO_Tlg9-sp{;K5&zR&`v*LQe;MBncr;BXUM?0fbJMF$p^`i!>I)m+USoe zR~Dz5_lmQ$6;Ta@?1*NKT;s(Umg86fJ(Ai_l3XfO(!a2_L^UIMy%xG(Xd&csA3>hXXXw|V3;W6z@US{alZ0Elb&4Om|+(`AAR*0S05OJ+aL+K?R?qiBP z9olQiMzZC-3$>`vs-x2jZjCMteb3W=3o95kqpprizW`_8t)t|Rfi5u_!50g`zkXs{ zo>s3^Bbl{QK4z&z;GPGoJXOoIoeT*LoUgTFTZ~G6DFH-wwl&$V8ndnth4`>xLiDQ? z=8zW^>=-GpH}88*@4|1Fr4f_TDNUV-BT#3{-&fYC^fPHW4PDANp^SI=G!YdYC}_1+r4&O;H$E&IcPwW-85T@ z0bZy>w95B3&Ki^9THOV#<3?!BP9?r)mUi24G2T~fea5*fE;{V~G1Wem-#i7yR%hkj z-oxT~3kJpERp3(4!qBj$m*mw}HhEgMsCj!bWMy@ zAMq;GZAgFxe_A;x1WkM(G2o);o%~p-%H;8~Nzg{u>0XGUb?lX7dEvrYUG3jDK021L z!}(8BUUSvTv?VXh`92@teq^?-2-r%|0|jB74A(N1%8NJpKLF0O9!X`HubI3sbsK;6W1V%#CD=@UEVld;#PbWL zz~-hx^y+K8&4u$At8U(~WC}BbGwP$(A(3YOhTP&0Sv1A*Uks#Z8yRcgTZ`5VVMP?g zj1tIGbk46}%}hEpEf+^v82RQo7j%MihJB#7M4>^Lll+?&w~9;cPk2!HmrS_4MtxVb zXd>9u`K44m?lTE2d)RflA{^dUJTuBRGpSKK6Sd2U=n|?*tG4OgvDR z%BBs3FD^Kh=arEhas)EZjR-U}8I3F~A+Jp)XtD;j>TOWIQ+8$FC1a>wR-7d8L7L5EnM0i?SX6RDSO3|{-4u>Mj)F802{_#o^nRSMl-6e=0 z6PZ~aIgb>c68V&ulW;(9{qk8+dNOEvmtru?j6jy!jLxrd7P{;?%d&~9Rim0LXZ_nT zEXGQRg{k5h+%n8PwZC$x=fem<$u&L`=_FAa`CG)XwjbJo90=Nt@D z=n6)4qa01Cpcvz4lP4u8*;Fzek>Sndk&>)qSa*aHOB`cD0oZk6EL-zD$sPtO0b+ z#(CY`wTYIdA#1HCoQ$^-oWUS==Rq|TJHM@2xJ?M`q3g*(|0aKa2za9=(6WKy{+pY210f z?t2~ZC>o7f!tzlf3M9v2mjP6>)(smH-~szcv`=J1G+F1^FjZ}1(M8f}3~*S2nfkTs z=#8j2oLz+J%tUhO$8nlBAU-n14ww7WWPGa4hJ0P*Ao*fn|M@Y+KReR*EyzDT5^6%F zJ-EH!=f__Jvunb|cZX6$)avpr18$Hni_C6_UmHf)U zw2+hGw8-WMyW4;a57!{=!Uw`!IJ|7jLJoRG86zW7%sL0{FL-m{lxQPwP^0HlwOXoX zKV=C%qVXz<37BGm4tmlY`yE%01~caK!EpN0BO(t@~^Zxnknt zZ}+SSl+f2p*~0fekqRvn#Mia=KxhN&Fi`|`4a1TcI>5RgW+p#Ptwv(YZ(jS%tJh}9#{nOX;3+1I zlkC9#J;YO2VLgvBoti92zet`zRRJxHLum}9rDIw{5qE|(5)Jyz9rPL}a#`Z?b|8E; z7YP@sgM-02XOeaII+;z?4sk9^TLk>`h;oK86Qb$GW8RPoPLTMKOwBlG-glj$^|@{(I~o6$*Vo6Ma%JSSa>V_=6q`iGoV59#r3Cej9#c(XFr?1?_$2$-KXGL z|AH!Vv-aFEcRoZ919jU4?b=?i7j+>;rC7?7FOkA|-37IomT1~l>AfabE}=QY3uj9O z3}bG6y-_K6Me7zh3p;s#^KYoH5yj@O5D${lP9<@i3w~MKpFnylQj_c4jl19YxgCm& zcAlu$)Z_5W>y>f9*OLCsMkP&y$m+$e8b@bwUWPDRNA5o5eQfFLV48#-|BS^<7kqIv zjq@=P73}cN8-|E`Ack`pW8^b71}`@DFA*gw=3E8D*^{Y_TybvVcobc^!)nk(xQ5W_ z&x|?PYd?Dnf3aGf?F`?#EgwnE$I618L^OMVd(5$)IbnI{fa z!&?To6B74Yp}EUd3l2hAL*JozC?kobpL+E!MpvsC7DJ(bo0C+al;kz;x5pr2+7YlmginWo_$b|G2$2EfJgU}CTDM4FtDske~{V!Dspk)YpfPd2Bbptvfj zxS2`033h3uk>S?ovO>7R7;_qz+6PiHu4IV_fDWKezGYu|hMmAEeRQ|0m-of0ZScNU z<7XxsGkRcuteG-GI(v2)7V=bkv7q&c^MnGG>^P=pFQAi>W0+ZD4PiI7SNio?;dY-z zXN%xlh_+KQUOEBBTieSJnPE=9Y+*R5j-p>g2SZDQ6z?q6B@p zZ581tNN{rhM;)mE#`ZJm@M}RTD5TJN|M~J6pl6~RQO_Q^Q&FxeZ`_@arge46UhePj z?R}{VxGcX-E`vTQ5om$^`=BLss9{Sp&!{VyiZdF^{)$x#a+gAR-+$ z(XmPoIEyvyf505?V2i6r-AgDu5Z)B1bz&S#$*qe@ZW3)c@BJw zg?H8YC$+Iz;a5k=BO@d4^f(@)%QBM=(^q_bmT7&yJ*IY$E%?-|&`TPzr@r+) zS#2UO%9g9_Z5h0aIG|cv(nh}Xf$W2!?0l*b0}>e{NU0Tz%+hVwNK#FUW*xU6`-HND zZs)YJcjW>J!}Ry<=OdHyzdJ5|aAN{)g?oAvdu6j+3jMCr_H+(&$Li~Tu@{0V=dTpv zr^g1hwda>T79I8_O*GxHSx-r1mc4g!e(ZxE=-P6DTLKrFv z+Ke7peQr38g-mNQ9s^d4=THXU3cS|Cpu%?~5ohN&?Z`jA+Zi?&ZG3Gpgu%IcdeO%5 zkpyJ5=9gx*2D_&WvZn9!JM-@Tu*|>CwoOfMOf7Oe4L@d)zKLddqc9Aq{LGhA##WBG zAoJukA1Z^%Cev%Qb9g_`G-x86ruHpPUpIp?2^RH>A!0Lz%>_@=@gX5jRIulzy zjL73Zr9}x7c^jNY%^LnCUrYjStPEN{|3LncPlZ-8^n?oWXT%}Nx$XU$#$hi@vI|3a z0H0?xg~?0S`-9%*lVqI%U>TI4F;Z@Ga%@_e<&wl1d(2w_^*hB!IzJ9+Nr(LiiPKf^ zR=I2$eGhp>;fHnT@$F~1vgE_BynKX#%ZHJvB>@Dv<3r^8g+$S9s>>WjIq_$7bsoBZ zwDNAh1?%@$6fA|ks{LJq4w}GKAN^;KXP*TynrMT` zhAFO}8P`*GpQk5%1Wm1XZjTY!vK=?exu-8H;&z4kPbgV9Ej@|MhsK4rtsE+@30)`^ zV;=boT|1^M0{qLEqB(utvB+5k{XEFrmNsm(|2AFm2&Zua^oN9?^*q>0<}zd1OM)Qc z*=f%;^J{sCb+LsQL0ua9=IBLa$RkawyL010<;=splZ_|euC#E(uies?Vkp?B z7(+KqArJ1)aueU3KRPmpE-;pux|lwi3i@QXz=M^NscH!c8+tdf-}Ib^Q-%L`;j38fhkZj} zG7L+_woW^7=qvu@ulj$6D%(QBuvX$H`aeEwDS~pgkg2G{ujBuHs6E>Fwo*|o>*2pc z`jpoHVb~Y$3sIFc6Q8mG;c_eLUWVdciblJ`hkyHfKX;Rn96ypbyR)q z09?xSBlW2C{oRBIuaMIU2W&O4(}z*G-OzkclFY2Lc_W4$?V!)9FJs7q_h7Q3CpVX& zWi14sxj~Jc_x!NCh9_BJ*an;sY*?TIIp0`9P{7ZAr?9hpd$yanjaf|ac`#|<8>98A zH(+Hje{+eTE-~36H=|!0=f0}VtOZT9t29*m@A|I7a}Vcg|>Z`AMiqz4{qh9YOM&ZGA}%pX~a z-26$NK7HW--4vZx5zD~YeT5`TFV3Z{+?Um+kOwGzNrM$Eq?T*FWSH(h+K$}0zssBU z0mD{&r+0jM+CStDU-1Lh2rEyp^Uv;WGB~|jkchcDB}UEhE3&l^VpR0sl(e^55X$p- z|7DZnfkU`;o-FkaveIQ*N3ZNsf7Ige_Mj>)5O#vhLHgTr;(QLpgFc#> z*31fC<*5h!O(y&O3B&hFv^#ysMb-8FH0mU*^WOhv$VRG2?Y0Vhm3b`QfCOxneqg=0 zx_{u8x-3&K%g5FOHHZLdgLaU)n93>!-DOB9WjI~s_u&%>M#Y>VyCf8s& z^g+ks*kkVdzueOzR0-~(t9(5jh$E-LtD{9S!aRp+Lg#mQ>?$=Y-mU8Xbgo0Z zcHoh`)n-HIp}P5i;_?z7%&ud<51l>H#KFpvT<`48)kY_x2p=*^Z_u18e+n`)Bd7FHH`T;{l|KAfKVp6j- zr+4TckHFqy{LL#4`Qq3*9`NIKh8&}86<m@Jcq5BmUHvwXoiSKG@!59!(4 zG%mvI3SMICyXN)FpmJw>_V%Z=5k%p%Y8u=8l{m&%*IuTH>^j-ij6SnJv74jTfX>#BgtS z3Z!d70teylLEdsa7O{&ZW1~_lLpJD>f{S!;u|`3@8mdtvqvpsMCC=}D$1 zXG;c(oXsuL4u)Dm%c-&Rh9%bd8>z+Gl_)I01(HOK(ZQFoWQ`e&ZgY``{unGgzPUAV zbBUnvO&fcAl?NYqS?Lc@+NudXNLH7kF3nY>jzV4&iB$|r!|SBWMMwgmpR8bNZ3qL=jPW;HVM}whg_?^)q!;gjAO?VK1yQou& z*cR^8M3Bg=^S1(aYb*K12e6qb9I%p2Xprjn7wUGtv*?v8ywV;i*df9fuKWS43P8=M z%}dz+=M4P3~nEvFz4fENn6@3C-X`b`OM{( zOsa{i686|=zs~|43|PJ@nv?CEN7`1|Ze!CY&`%->DCu$bk^5ChkO19a6c(bv8C|G- zwZ*kW;uL~zx14D~v4tJNiheMmjcX2WlYR43!z3;)4kMGnEJJf;UF7qN`I2hnkh76< zM8hbW_VD~7Ew#;|5)RKHD9}$R!%zhuoevr3wE=P%UcvIKFrU5!2dO1WZwGdWs% zt)qIEO~p&Qo~~FK$Wgais|XGc0VX5S-NRC_kSD?#;>L5odyGeGRHND$BnfE5%Qjn) zW=*T;)!qR{%r;|;h#u|%UU0~Fel=zt z!T`Y?#rO=65FTlqkZO~$dCxraz^*ehy@oy=y-kce&p?>xk3H~t&Plc#3hfN;~XAv2+Nj`{PD%E4t=1-V9PSg$xzRC#7$Dj{j3>M^* z)YmJG>ER7_|2)XqRO*6yKoE>KBdXTeuaR!%UhAwGwIxXXQOk->R|uHxp<7H2+Aw38 zh%Ubee?RFY0M_yPH7%8RFs7ntpgq_) zVSMRpv!$#%T_uQAV=V@689064rrob1NN&WM9uX1oM#r_XTCsY!8&BKyGBku(k15>) z-0V=GQM%bwO?3ADio&wN`IH6GMonINZEW;qQ^CSUkIC`ca$X0=ns#onn;}7tDsS1r zDv{rypJ_uODu{x9MahanRp!VeLOjnLo=zBEW1JGUr=Hr@x!9#PclT@9LUPvqQUBk} zAQ3zGA`4qw=w_n{kHaB4&abg`$pA+Bl_Iv0`cD8rg^1|y^uNxJQ(!Vl#3#BVLL>d= zly0J(!ux!_FU ziB*>is@klk^G`!Dhv`z@st|hi6o?(uu3ks9Zq$fFrVq4xQV8(4zAN%F0$WYF7@bT% z%KBOb6g4p}x@^#M9gm<>OEq{)t_`1VY#Kr#s-|+Klg#OOtqr;Qg}W-bxAt9|TSRsP zj|`Pvtev>+vqF}nw(5LW)E)}8sJ7OdoSqIt~SU4=6)mlyY zJ;GEeHIZ>&8szS**groan*MA)YH9b}65aVnxDY36zB5IHViK#i%DxXDk0f38HmFiJ zo$|X6knmYw&Rg=?Gv2LX>n!FNuG^7eid60zF$*ThOc*D?05|?eh@|7S8x=jh&R}?Q zSTM@WNahs!)sye*E}whgJaYlp#^OxSTRv1lM??hyOGwf5)tYeY6BZr$0dte zYa$}ZxW&FXMGSnmkbLUJcl!P~d|^ilChETNvw<@OUzRQb^P9J3d|b(gJU(~}m~kCE ze=_VNgA(2-&s-f2WPID*bDRgKa9gq%1XQ~QHGpvxtpbZnrY3P7p48_5@%RlnPr<_A z68(-GjXzu7Kv*dHwAE`ZX~5@httt(9j9KBY)MJ?*T9=C5SU}Px8}BWfg_Ya^wZP;# zp|TdkD6r+$VK=%-kN9)tHeMhr$OKqXUnL1PvplF=dP>mw{Pnpo_^or3&boyvcQzSR zQm_}o(~thh1zMhwBxQMb-SW+oXm6VPXGGlXCe0*D=RETbAB_*O>baYPGtj7Q zj#QRf5rytEXNR331}sfU{W5Q4A}=E@V}~jSPR-#(s`McJLzkLk6>Hk_1S=V5i->1h zA{mjPnc|aU>)_xUId2pXevG?RuxWlzYj2KzajQ)&54{n|2CRm&N2OOP9I;eC&Nm2@ ze}{N9zaTg4Cg4G4;5N|L+>^hSRH6_Uo$I;X0mh?=W-aE@x~c7W^Zw8-OYO8 zqqXwIEGsi15~v5+ld=-QITdgsx1TFGTQSNg7+(iUJ*3usajK1!?`bgON5(a%^oSfY z$){hxrY%B|^g7KyTx{Y#WfDSXF_N$u@LR3Va;~GKBGz*>pDe`~w5RE@@J~+;%J8J6 zv6^}I>BD`oc>rx!#e2?XfYnS4@Hqmy0_do5C6~its`;t%B=W{R9er8BuB!@J z=4qPoe`4QaZ|zUpkJ5YqF@`xx`_h<0O&^)VU#4Gf)XtKH9i?4KZE)#v4uuzp(;xQe zLyy~A;k}kSPY&lG$k5fsrbOSk-XpDa^)?B#w!Aj*@?Plsi21?&N^D=rX^T}}o;*iy zt19-MmDwS_zMtsMB~EGMj-raLZ*3tL0Dm$~0F*hRtb?Tgp%P~-?>Fd%TQoDv*(%2F zoi@5Ub2`9hLAteiy#yHCzSY4XdL$|ks=-7#kZ4_53L8Vlr?G< zFXRM1cY8kkpKDeDjJK>L7ZmaWL+)QyZW+?b{v+|<*HDn zLzB%Y15jnGH{}V?gs4p84T4Fa`ic9&lfsMoDgp>Mo#H(}{eh3kh&yWlYKa)|T=j=3 z2L^T`zp1FJCuV>C{qpb4XrKwKED@l@4^Wc@Xf7J_w=IS=0!?e5fmOFJCHo1m{2r9$ z#Qc02{Q2bc^b0*BmvH3sTBlX1mh}kQi;^-*k2pZ?831%KpkdY2xeN2h=;i4HaClcX zRnNswIKwpWD-Yhl|-Iza{e9BUHIQ~{aB*TP%VXsa>OONU_6-b{ze6AL% z+ij^N6dURmr}cDLf6tk8ZDr}DTFvw3jinA^I!Of0n8PQf?x3Q6Xf zJ-0Z4B<$h%^uuBAbKqo7B{(sRUfBFRZdGY}#6&OUYP}kPAN-VbT>FiQ&5R7IhRcVT zknY)RGeXx7GLar?jPN<=MG_N+y@xD;x!yjOnl5Y7aQ(Q~@;0*4IB8QMXw)MGckLH` zdRhv*9th^V;=NO*=ZoZ_n~V?fzJK7%#SS4qED|M!c+~Z=(0h1Q`6cZAfAO;D^AnO` zFh$AQaPym>o=1%0JQ}(cIFFU-S78UmzyEo_w(l7~$kkSHv52EM)QEdNnTOQ=c~a_9 zZITqsH_84u_6O5QHH?x+7E{W?*xZ|hglf)1pXJJPNPx6?U8EX4nU!kR9>2~Zf1)ui z^yI0&@M`a^;6_5$8@8h!O*kcR!&#)LWbF@~J;r<<=J8~-mHj<<{;n_V^1iWQzDOsk zeHM{r>>Nlrbg}`W?m3b<1e}&iu>tdJpb3+SC+`8OXA)z?1tF;%^VW=UE{2@r63Ht4 zFB5Kh1*+SvuceWj()$I-TbX+_+k|gKZj` zO3&<`4kwE%Q{)NOnu>nRVr4Y0Xhp$>;KK9H-gThDW_cB7v65wvi}o^`PUVUKu^B=w zKF8A;n_RL?O_i|9fBrF@t>t^Q5irkA>E1#tMi=szZ|Ra7YIgWlBxiJ}e2vZCf0*CM z-^U5YQ#*7_3Soj)kXbq|p$x5ElKq#jP|zjZk^GC^bE%-xs0dGv{9Cf9Xl4lIq|%xtXo5}lNjw=- zfcQ)CXCKl*&n6Y|Swx1=Lm+-qRk!9;QbnCv1t5&op86s_0?nQyyJx@`U&Qg0rqRgU z`CZT77iBA5xQ|(m-zH>j%@BKy)uKG#eYEC{F^Ejw{YF**;Lto~}^I*G2$rGMHOIo4A z6VZ7O{C?g1{9fGApM|w8N7~NsUgHr4X>wXnBJ*yiN~Z3zR(}m(vET^g3bObSKy69| zoVem*;|4EhO{?J7LwxD$>DcHjBKC~vn`YEU9N~*W3cKRmoIZhi+@o z*B<77y9ePvc{P?3A?jFNS*>Et=rXIdBt_Q*+@Na8!;^ST3G}r5m$9J{rRRDX8yA|h zFHB#lyS!NWDY)X1nukjUn^lk zai18-G+v&Txf{21zGvsJ+O2ka%5J@lxwya~u6BJbVbEVVw}^JoZ>iuSF~5jHA5b^Z zi_zF%?Ekolb8~K0{?sZ!e80J?HRip#3*7k!A~wnv^gMuwj6p8CQ>+X9WwMOB(S(hV zDrUBT%LWAZVA9GB?=*l!z;*hbD+?!wypVCv&N6s#FW!7mTzWD4 zy1$qyg?OkG7_G?(Y-tbK$*@kH)IU~=fWdz@xBt7f3Yv+Ad`8%&%@OrU$+SK)pI;JEJy``OB!RL^^jxNJa~31r2AFQUchw^<8PpT zzZ{y0kh)tZE|c7p5Z}q2vBk%k7^w?(HVRHnEL{S(D@}$JUQ>6yb3C9&KVk)2Q=hsF)#LwjBB4 zC>^d3q#4Nh0~4i@US?T2zQ-+g+0_obWaV#4ku(NEI$90k{_}LcW+#Il8CECv=2m&4 zxx;6lwx6U8rW6yJZ~Y*J(bKhwFdS{J4#gS=1i$Y<=>wVvx9}3QzR?!9Hw=<$=~5MQ zbhl^JqEE`T@wwi$t_HucA{*Bh-2heFvBYT*n?hyFHjR!}_A5EX8jAl;PYLd9#z&h}s9Wxy!www?6@XW5Fao)*(0q2AE>nt6j>x_Vkm7ll`^8 zWU8HB)sSrgm7tw=L5{zfAT^;k{8s;uy|;{uGHmxnr5i*ei&xvnJ4b+y8d;)5Yf2hT(Dwy_EvKE1n1C6C7dId6Bon4!-#v_%E-r0P7I^n>%+7+mn^Hvr?l6fDADq zV<#KuUP;3;B+%^X@d3~>Uo_+dA(?_EF^lH2m;QPH&h9%-awm4IGA$v5U`hOW3T?nP z&q#sg)ml&`dUO&z%ok!RjM?q>`>tk0Pywsk?U(Z+Aq)44^n0`Vgn5EL1BWlBBlNI> z@%XFdc4IkytigAR$HtiM)-T#m`gp%a(Mhve)vl_M_#D%T11Fa#58>zyeefYs!4bQ! z0em zN=ysYoeyCBGR&7-#f@csN=8R2j!xc%8)$6nb$uHV8REEh?SOn zcH#*bur7sE1B3%#xr_BKd(63)u91oPTep}evK$Mc>aX04xPz~XgzJKG-W*~uAV@?r z$i^bcEYbnLLS1v-{8dQ4w|`@GxD_Lhbf+1)F@15Y9A{S?mImi*dw02NN_uAYaujm! zstb{q%mDQz=jA)5q4#7MWBp5FZSN6TP@MAX6~BbBNR!rdRA8x!{v|xR!4S&C!}lz= z^Z{X$Y^*Yzp?tK%CI9r|SH;KDRif(iaJp*SLeSITPPA#mgy3qpd0%zkIl=~A4aSVH zqKQb<)FBO}Ik^!~%iItei9}RC{c2lDd&w*1PJa3$kn<8g1-e?o1N#yLhxog$(W-&HDc}EDs<%rY4b{A`Hdy>Au#ID?`vqw`#)I)j`5$=%eR$TKN(Z=J7bW4 za{fJyJJA7kJb!p|7{u9s<>(sX>C!?`cOnDFg{^#zyrQLk-J?WpE4p+U)(O9n>Kb&C zZ_MSWCN5#a#@EBsWi@xp9?V*ydAe+~#<#r1*rr|&yto}iy{?99uR z3fLOCvIw!6alQ3_U<^0pBwi=Nlcvdl!7ROVDMDtnV33}9Cc z9d(E3xF16~s|;fCokPE^c6$?<9Q4?#du18>I$qlLxX!9fd5;}(C7ZPajYVC8+_4YXV zs&DUoyMbnK5`ikL9+^4Y~4CqhKU@SdqLo zr4+Z`FtnOsKQNyxk98u6N5JVOW{i^emSZB zAGTmp@Wx>z7p}BIrb!+}0}*O`LEU$FE=8#tS!zzjqV(A5S*d=Ge?$_EgK#R|06kec z_Wwy2_Rk!n|BL?Z-x82ceqyi*mqE0+{T{sq02ze&-bCTP4-EpfnjD{6+X!8Q| z^*a*wEKh)M7nd~ov^z$*%(nz6lvws$bhCYLtr=dTH?!fYKK!r+BtWr^@*^+b!Ez>A z0k{9RWg*Covd8%_pZRFE2vC$Oi%*{8@~FjE_q#A>gcWOsb14Evu3Z>7d*Cs&pfx)? zJ2mE4TQJQSiKw@>!SDlsJItDb>Ycabn}83zq=S?;>Q=3snLK=qVIT!YcvsqwNbo|od39SWAhiD3g}^D0q-?x*mGt|amn{zj#E1B z3+1!a`OB!06{L~|i;7vT=Mm|190LOJsu^;|fL=kxV0Rj!C&mOsEi6~O;ktwxKg zWelS)r@SzY8XbWuMVB!=AV-(=GHr!d!&wYySEow@N`;AwCKndKV&RcdQAy|m`U1IQ zZz+(0EC1s!Kxe(=*o}1t=r@vkoSGOshH#QchjL0JxtF*(iekj^4qe)BM7MFyznEN; zdii!4svOrkX_#qQr<>zsG(<;Z11UF7dsoBm%a?Lfn1|I2;hxD#Aq*;*cXM?y5_hk8 zwnFvn;i7+6+0c@-7*`J#>2r11MVmyX0M=`-Vi((t8?K+*%k0C?hCC&bu{ul#GK!u1 z9A^`BP>hSh&3O;H%b_l_Ner_?%|EY{2#+3ljeX{aJi`}|jZ^N5p>2T6amp**D;lQm zc~b7E+)Y$hRy|4pPT5ueyk$+OuaU*nu?Mx5xdYYl0= z=$Ante^bWBy#DjF8wr8X>J7e*na4XId zat9|kmpeXR+egxRhRXUg^$_3qyFsm0oM%iB9LgC?c_B*7&p+0V?uZ{)uMyJ3D0oym zIkf}p91VuQbOoThWl$o@r5Yhd`5U96v<6ThPIjNH-`!oE;OHOa{;95f)@3M)Cc;#a9CY-HE}_``jgod6Q`Oj5OH-XV8`$!Leb>Ts9s zf=6(d@an*1c6*j#kBd@O*fZS0@Dap_*A~?(QZK)3@S*ANrfuMuN8RnhH+V}z>67I5 zRO;U9SfxJeW5pPg=8(YXk*G_=GS@6Dt08R_*B1b+gwCU6_TXkr_jFWEMZyT<---Dq zT{)z4&x*|JNsHDh{KT6Kt?$-<&M@PtPQ&5NN#GHAY?MTgQSK^Gsqj%3g+;YGTnmR4pizPkhfm6=`Al%6pP)2_KWi`=)|lf@n2Lcn2Z&_ zfRt$PAfaW?eT0W64kTzf$&FO(0FFKe=} zzTWzhAo9Me%z$SGcXkUm4jyxMk$^dVWYTI&byOV^s@6CT7V!g*c9Bi1+VcPm_J(GZ zt++uE8C6;k_!t9YMzNko9;B0s2#>&w0$zV+PB#!*us-n3<~zY}M2^(#4E%@}JPuBa zo#O99jd9Gk&EVy2?86agK~0p)5i$-|FT=3yl83xn-iikX@mlkc63sLTaaFkG!M`Tx z=?;kQiQwgC|D}-=P==2E9FO~1ApKOi7CMolMA!|t<5(_59flmD34d zElbsGVTT(_P*`+N$N9+syt;3y=@_U4?slz_wPpBFVl?6GiUDe0P3KtFB`n_s`5 z6mVGpTEW0RZ1>Vt#3-ScLk6FcjAeTaXd6qrT;3g}lg=-h2e!P#Y#>Lk;~L?AONwYR z`3w;QCh)yKjqziyWBYlwI)VXW(X{CeYPMaP4m>ekxVF=Gn(IQY{?O=!12+#;7=-27 z(3{#FEO*mXq1~U!qn&ck-2GCWu`tFz|xJ@0v7`Vf*^=$ia`v@AkVN zxJSZ2xTVduaS_()fx1;+t+woj?ks(S=sC2}cwHT9Y~-~fT*%f#+Mi2W5J`M(I)7~d zx(V^98N@0hPyFbA>O_}rV8534{NaaipYQze>-7Q3GP{OkpQ@=>c6CW|C<+aD$2$SjqWS%hwok;s8Ge&b?EXg9ds^r#*VL__dvO zCCPcq@Iri}-Wdz&GaB8_K>C7v*B(Th8lKdhHI|{cc1d+C zx|v0Xluuh6%WqrmxdqU=VnvTDSdpX+DW+@W$@Z@9Akc~6Gc6;KUQ*FqA^G#BN!y%9 zSu>3oRs<#zqqyETO67xE5r-3tBa1RIWw#jmS+F{pz4?x@rl+G)#FTy zp8e8gYUZVVNXz864I5goqd>bLHL>TG)r=%XH(sW#3fnf10m^yh*wLuM~C687hv z@0~{b)ioJ!#tESPa!jyf#v-!%jU$FSKcoU>yX5n%yPJ~|6&%3$# zf#-F42iLhO#}8_~h4q`)-^^c0dX$3kE}eS4WD5{xB9}7C1QSwI8$Fwu)7QHy8l4^^h;qU^a0o@|pS5KDOwCbK5ccW5uLl;Fx?cTZ_oPDIIm4VVtecnR3;|)7OGEc@l_b+fNQROw7xC{ z+Bs(kU$u9{EkYi0ft$ulYq-=E?qNP=Fqmx*R5!~5HuO^-PowiQ5Zl3D+%LxpCs9tVQl&fUsCSY-q^-X*u|8slv0KMo6Jzymw*N z*EL@M)1A@Y#u!uRmgG%iGySQr`=y+7WkoiN)}k5@>%+Q{$5u-J!dWH?W-9Hl3JaU4 z)6Y8Fvfg@!Ka-P;b_U9FkhaA)KOU|k+VD7Q@VExsjeOL}`(g&NwV+Ar6OA@d$j!-U zS-J5y#P_b}19Hx~by~T=Lk9s4w<6>!2^?OQYgV zmWFaN*yL!RTI{WcI=d2?*vIdIX=50{O{xl3OBHRev;wyk`kb@+Wxlq&-h$i`4iM!>f>k`Q2e`1Z*a7#334~Q8&nkeZ zFdObY*^eznW`rNzuX}SuK%V&N$IAJ4wug9UjhD%n0R_7CIePFqvuG~G(Z$+}IG9TG9_N^2}P4Qal)NGsLq zr*2RzLyiz_&x`5rzoDDY1@F)K3v)OuS9<<38_geD{zL}cX>(B%_lqV<3pdAXe(KXF zV3U1b%dEh%xaB_=4w@orVENpI2lW_x_b-=U7c-TJQBF3mm8Mxgth<$mFaLSj(e1{b z@X9L8&Os=XL?eUN@3s9WWw&6G-=aOIB$fT7y`MrS`L*2{TXfg1zY5cS3}gpDpg1+IDn*$T;fJiK4~JA=+5obPDG=9I;s80Tcr^(Z+b7%2u~9N%byl5KvZ(+EI3k*LG@8G7 z^}4NeUI-gl2LZt=+q7s2FBJSiS`kOL&4+3&hri##0uN&Nf*SSe8j!lsaBR-dPj(fwB?trVHnak_# zNCQ-2jbOORDO2Kq1bCk>R5q>s!J{*(6jS3$6N6ONdmohZO*8Qj*opzC`WH~eEe7lL zKKqe#!A=C=w(sgz5xpsRd^c>?>`sHpgFRu-fqu`T3C0R%d!NZYgs1-o>{q1_)l5KS_r8PLh6JA-7Pk{4 z#hp>6-xLq0p75bFkpzJ@9i7p5p~J7^@tssnKVa_zqS+ac6#>8%a4P<*+w*^WMY+3R zydIh7o}?HiHC6gYz}l$V36qsYa*f2o!lVLn(N4y3y4jWUU0hs>S%+ZYqyQi@y7+$E za=jk01;nk7<)o_spc5=cear_4RG)c!;9zA{yw)*J5AYW`huDibHtsOmI_K#oXApo} z%kREiebmH9D5|JnB_tt91T1;W-w%N$L96?Zyi`puAYNtdczQT7?+QdJ%mosZcSB8H zhguW?aoGK5TZ0LP zoTKL?=A3Eb{x4@Lb!Z0I4FKsMW@OlQ7~pj72Rv#oP}2{M(Yo2OhrLm)U=Y>~5Mfbq z_dXHkZiS(&0szF~LJpn@!V#qhq=)Y%YSChU-tv@w^=ps7#G^U}^2-GPet!!Hxoss| zw@ihFd{-F4bcTSX)8d6$h|R5G!2NtM1>DvNg+Oy0h zOi($@gtjlD{8_KTUgHFA^5=B96AV9n zviowg>n$-A0s;a|LkT`zTv#Y5ER@DMH4*FNA6s57hvIEiv>dBV@(!_kqs+5$Ic)PC zorDbgy{NmtVf96z`{cD)X4GLg9JIG{On%%RdgQQq?oro11nq5i1Co&Tzu|Qp9Mb_X zk_XH>2@0_QvdqAcxw%wK9GucCf2W};KqAU=>bq#gA2L&>lV5)W+-`OPj;rEU9To}n z-Cqz;h_T>6G)6!iKZqx5@33r2tK(Kfqb^j-i(fPM#@4~MJBt=qDe89w!63{gEf($> z=1jTr60j${S}^z|FgcCg$2frn_-73$9qxH3~S>>0D7;y@F78wiGQe%v-nuV z;FNy?W3ww7*U=xWsqjc#-Q2*~8%BN)m*AWLa2qUi!G<53%B&cMn@_lR+Oq{Cprx^R zrJG3L<4&h6TJ+mZPFXc_@?tq1jf5m%S8qV^`IK3=!9;0qgcL425pWVYRsER^Gy4>K z&?@S=`C?2~EjAew$p~g?RzkTy_Oni7z`w3iNk(;3e2)eM6`C{XA)#cwCM}5HyZW62)B4#ae z4E%w>*zy&@@r=D&@iI(+at-keklL4A^^{h&gCR*l5#Mvd>REpl_BqZ9sEP zIB*qJ2L*%+&#CN|Y{r<1iED^!HrIs?#W_@g*7Hpp`L7anFPFudpuF`zw`5FGJL!gs zM8^2{9lEbtlsg9aKae>(`9~(SsL(Du5ch*RzRBZCG#CK+;vabd1ne57cExTl_D7Py z1`m%>dYRo4(z`?ff?wJ{=&$YFkk#>xi!24HY?xmzu(e-*V9=J#plPAx4>8G1%T+TD z2HrPe2JWrOJgyy|w^P*zBIEhD&3LD^E};g_a*NR1R$d54R=*^rkU2bQ0@BxJChWT~ zAySvdRNi?;MFct(#1Fd;fn12pCINFGab(oH31DjyljUAZt+cceGv_~FNBxg7--x>* z5aMg!+L|;*J_L_)QQyKsgmA>w2jzErE=d_QotJ)(IX_wWvfIM8S*y zoSQPp41THVff^Iu?9dW5*6!Fh$Y?un2s)2p6co5shNIC@#_=q)8(R z^dU?0koELG?;3?XJwOgbMZI*31G@!fG`;~`JLy<7de@fAPiT*D>cg)?a;T`8gO|IQ z_;a(G8V!pa?xXoCvL$O%@B4PWBmx>+F{vuhpsyYq>enhvH)B}QoOVeILwJVOXy9gY z{v*amv7;0Vo~_KPVeK=Bn2{>oEB3cUlj(wWE;@Ep3tW`dk%^VDZFiCYx-%C^8ig6U zZ68_gau^|s!4lfA{kzDB_Nrd$p*Q?-=_vZmN70ywa;V8b00g3jzZJE4gNbC7`D!4s z4t>iwe;~?5O>YM4oF*-5?_!G@Z*TSI>#^O>NC0ZSa1%I^))Dcm6ZuZccx~js$ zsH@$)Jz_66pn0C}Y&49GuBRx<=j(d$57(>glsS?zA0tN<6a#mM$2Xb+bt) zrb85c8pk8qZO6WmvF2|hVpen*va;=tiTF{k-WG_DE{^XP4h=8TVi`3_FSYT&R?nvx z4C`4%-L`fsf%QtCOgpDqU$fKn`iB?&yl7bZ%X_c=4TzWyZ(7c=Apcj6i~rP~tp+iL zTX3AO4iFfAmH-kT@^p*+KMW zi~~$Y;}_vLsn{J1=PPFj-(Zo^Fn16T8ST8<33s`2#6DscRHS#}r_B0vay7V}BU<>^ zilUTb=H5>#%6z^vngYwh26l0w?IrmX3G>FcxeG-GIl)j?i-=!wSm0G`GGTg$*3%G} zJP@YK6mZ#%CGoi!w|RY=-_3tbf--Ga?Dk1W9V_&zI2}P<`YM1c8L@|_8}<=I3=;V# zmRtFy$^Gt+kCg@Q>5HKX$eeP3V8GC03m>0({z3HN$+re919`GrUNr9?$JiY0;3^WO zrnv1j5-tVrJb!KQ^q86)F z)ualL?IfjvsMzrM^w>PbYYhYxfNO&27I9@sRHqG`X(=RIXsDTuorCfn{F*hg=}BTc z9%g%8a(W~?Yfq-N4koIy!YnFG)grbEmq+)39iM>Df;_f#F!SshR-1*x@|VtlxNRWF z`#EzK5I}LZ<98(nz}2YH^hCl;0xdQAaHP#gbT&!W4 zUKRsJHW9H3F<_z{4=GWNYRA10uDQBQKM7l`d5ZOgg^odOEKRk*i(gn_M;1O?S^l97TuL}E>Y@*T~ zcsHRj*@cETWwcZ_i0A$*1qA+5+%3}}n$Tlddd=2gO6gT`wjQ9RyN!I518*wcQ7`R< zK;?_L0^X;3<@nZdul%-TWmx8rl>#|5qDuAVhKJ=A0Y~Geh?+ZwQ+aJ$y5rX`&2yV= zV|$^*&6hjw{&9G58WZ9tX`#$3y#=y6odunr(*;0`Od$Q6+u9*n3X;3d1p<2_7|uCg;;xMKBXo8 z`l_yC84_-VZ44Z`J~Ldp>Phb5QXSKn-O+S+k-BWh(%SGK=>utVuk9>lhWk+A77bN; z3ou%yMFko9Cn^o@cG@&~*Bv9v&}3!7(H(yyYZ}PNDfJ9-iLsbu(sMtG9gg%13+n>{ z|I;q8<#`iQ)}}w21(7CDygv=3wLVzy&jvDN;O0U~&?lEe(B=!FKgG?EQMzk5nN!@M zH`8u9accpAweAga@=>aZ<8X9yl03TBjeI>;9=8X#?(f_cl#yj7CbEW$eOFL9tBPdn zZ*oZb##Uvu20a~K{oH|rGx~0;c4APxzMq`Dd$A+j-0xF1^W7L0OC$1D>mm1dh`$ev`OW)VpcP0&_M~HSrgAoN< zeS!}Z;4<5-IJ?HeiVmNkX(As^xv6J%$oYyT(q>`<9EJ4zjO+#Y^ea*Ql2zBqBowFO_1`uAdJ ze6k+TO8ikLdEhiEYpGB*I_h-qr3^djqO)#(a~9Q9b6F6EhZQ%m8`}`E#4F<$vacx` zg}a|YK9~pH)_cJz$m=dV?3!*Y@Se(4aVq;%`_$5>IsaPgA9Q5UTgOo;R9KURhYDl% zhv4!RW5kg|xj?x)^Y><39%S*$NNiGE=aBK^^19Z|ata&Mk1}7I;=(X>Qblzf%p>Zf zHVdp!jEzStb$S#_ZKr%-*+d-1HjG=Hlxcy8cxt}lYv(m=ebIC7i>?iYfpALNytJ&V zXpTEw8^|QlAKrmd4Ff3He6x?37n|Kqw44{sy(+AHI_R6?c9{+6&FY3ubTk5bzT6Ds zx3b5<9v);xrF@lpZHi{WvfIOO_iA!ddJVp$=009|uD8EEj)@bz!O{ytf>OT~3>|BS zBVMSp993fzeh0mKrUkd)bW~gV3`K?z6Yvs9V5X*{R@0T#*R5%YkUmUghYx1Y9p&EJ zs=H2qoMh=2-YLih|IvMO)TUMX7D?6GTH>zoURx^YoE^1UEuP$sXrMRThE7^aN+|+P zoonwPam`z%x&=8%BEbgrsQxIx7~#P6!C-}Y4CX<5czg=V;>^m_6{`+bt+R)XA{j%gZB&L8p>{DM>y=G$~kd*g7W zxctBwLiWa1$4}qy*c{@DrONS;l2W}U0oIZqh_KBz{-=?mXkK2VDSg@rSW_;6I4l@k z{C~t+{!2>ppDzxzY{n~K$H1U2P(QFtrL=iL`@RLCn9rYW0SdffS~iiVR+0vn65-oW zAUP!v31%j^6!a6VWDDQsL{`+O0#?8DHlWXni=ct+D)N6tb^a^Z?w^s1|EWX!_qIx1 zeLtzZ#jRhth4^qf2)S)EsCxW~8%faYJleon)-Uu?vHxb#sdU8!0ERyS4-PLQ#lTn0 z%H%<<40~}I^Wd_{e3%2q2Y88=^ubw{mn9#e)Z8cM_&e~pj*!h40VNiAdHBCMPp&y7 zbxw{cX6D+gCzw(S5`E$&h@kJb6K(gtgbxyL#B7oDQGYfsz9|&*L@3|OA3((;eg$kM zKz+07f)DCDDuN@UWkq^VAy4Z-3AI%VC zoO;ldORb{5&l*_c&ke?z5!MyEYB-VJ26i}X58p%mUoN!#9`ZE46E8fH#d2DjC_LLG zCrd`cc-05Mh|>r6H?8e&(g(HSxudXk;-JdOrW)A{3UG-P?ZmH>T--u!XOyC6>b}$P z8H1rAG&%jsR_Y1;^#iFyWVr7>tJy722wD_zQRMI0HW?&sE2BtA!KwmC%%xlHPtit0 zDAC`it$fS6tQ-B$&v=)JC!GT6iITjR&MSHj0xgT^TU#VDDn<-rQ{Biilkv;r&A%Tj6|lFX43X{=wI?wl#C6Rf2YrrusKIFZ({rrx}}|S2Yg+C1C?wel;Cq zwL@*~N8kC*p~HuGn!U-1Pj-8XY$^Xx;1+&^+v-s)miei0$wyk63^C$M`9zU{OEmp??jpoF*0TO zp2kjg zmptPBEp)Xhhp0{$-HDZnmu5c;PTN2W8J|=jsRY6W(!a?_j|@99Z6VnS9~K-|qa)Qh z_|{RVUISrA%PX9SoM!v(obl6xJMP7v7!`v9gL6#fE1o6X%2R^+JJKEuLa`XQBFkor zF+d9)1E)UOCkI5#EFG%6usUDYBGAbiXuNKyTb$PD_IMIfr=pGhQ^VuSixdz_!B4cn zf|Num+0&2FB;O^IQ`XB_%*cfJ3Yw2U#@eszwyZIWP0!epVodtVO$99BdjX{e=INjQ zCDzx|`oN;EA#BP(+oz_Xo6k8GmcYg-lmt(eB!{jU!7y^=yaG>=v3?0%r$LnUeV$}5 z0i|KXOLxJ#?9*Vh>VGG+AX%cAGNLw(dBBlJ#B4!|T#8?+;S~!ER+qnFJ&r3_oT6pW z?qZQL10^Ub)rYokA3d_8!f)*95SgVd=$nSK9HL*oR=p?QKn&>fRDgZNGWPNvTd4U@j z1*cx43a6@R_PI{KeZd8Rlaa|Ri!9h8M=5J=B&%A^j~2MOVAtN|VvuycHWIrm`O>F3 zhw}}wpqE(&AZ-4}tr2dkzernhA7=Y{LL^>Ir^NZvAa?;pB9*5MRQEmAhDsetyGg#U zk{4_*2sE~d9UHD&V37_m8+)aVfLq_T+L4iC=4$QXX{HATvn>9gwuyl>o2*W})4;|3 z;jUKN+e?Fol^r%OYtQgdpenEcEjny5ebpa>q^5BC+^m>L*uaO6opH}rAXR%d8|Z~g z7KoF*X^An_gwt$GBTLrCH6%;w?X5|DVX42Zc?ADB#E#44UIGjMXp|>IHRQY(z z<|pMm`??bSBvIcCV$lW?#Zg*br2P+sKv5mB%oLD93%W)95tJ%^f?Kd)86)w`gDGs^ zE=iGtj@sfe0*RqKyPeFhY3gLtys?JF%Km^b4(Kc|7~iia*8Ueog&DCtpJlr6L>Kgp}hx7{~!Wx*XcgZ0F2ZZv3!I(^yN(_Drr z!=KfwY0b2>Oj1j$gxaykL?xJ-0$*P0QL|?y*EVn?rLkLkvn4^dmnQjWJ>(+3LIfAu zd=BQ?UQzvF`N>fHpstt2io6A}w+a~tQQ^uU) znPuahYF+NI`-|F)8MtdU)zf&}$_mZ*?Ym!;xYqSYc*dP>7`OtrXE(4kZWgRcQ`kf4 z!o63c1(!<>gCWX26%|AycaXFfZZh;QISqYzZAm8-P@_ZK6eP?;W1Y@^#;U!XpgZ`1 z2_C?e_(ICOIjG^PNnp!Q{$0|I%}qd9u7@M@P^&nP0HmZ{#N(@3Ua9V*sS$%(lnGV^ z+F3vzQM9J@sc>ONGma+=ts0c184S+p7uPIQi_NWOq6`Q)Z_8|W))(T@*7jLW8i6rP zzJbCkIR#CrImC05kxl#ch-CrkQ4pv|!Lr0A)7~oY8l5#Oe`JTFt_Q&Q&iKiMb zsuNPo@^}TRYvQ)*>5TWj1(J(|%gNyK!R(W8$Rcli!Ux)eVXY>43=QQpW+LgBqy^HX zWVut~KBjLScy;Z0U&>`2h#uPdld0FLiBMhck4SL2FYQvs^Z1t9@Kk-=lFLnl30PnJ zqY(7=q)H^gOH|5dl$Cs6rY94Yh zqan4TAjKZcJ3gK`Hz(^Oyj~d#+Z=m6fF6BchU=LmyHvkuDD#9}UFwp*tCaP*>idHb z{*2a3&?lssmMdaGzC<&D7c8aH!(4%RXk8qi;g*P=qGkMacNYq)Nb!i{m!Z{eUY`VV zOZS11&f=W4X*0eX@SxmMYgDgKO`4x%i#YGDN-T$lS>$gdvnIjd31;mo@mH++#fCeh zJC`)$`aLiF|34iD{%Z%&e|Km)_1;a#3IGkRFe=6d1EgXe*GzP(j065+e;CL;qTLsK#s= z4DYb&u6>gP%L}ic(_^m2!cz^(#hN^}JmUo1Gnb#STk}2wv?{E_f7=FZ((Vixk&>)! zH2)4q#ozw)VY>|LvjC7X41l!Ztu^`ZU&?s?!x8+=h#!v}hv72uS#ErDrJ+heD-sT5 z$maQvjZV+cL60Ps22a@YP5DMMd!w$i<81D~hH;X=#hr_P0=9WCa>=^yW@+dfcDvd- zxM0s~V!8A40WFL;Oy;DAp(|HYb(e0PO&1Zzs_JlcN^{m% zKHCpj$-854AJFQ!#=rRi6j>@J&5FdjS$&qYNtIb2i;Ad^i*J(1=b-B-V&k()f$u=#gAPlpU2a^eOF)Ipv>H>;tANSsh$BL@$diobbv9) z6_Qr;R5{S(E#H5Q||Lkr5$X8P!vkl{h zTKo{#r)kd2^SjBzUqH3cXBbQlixeYz$D;IwIZ@r*{eW6w^8?>A-CFqyk-PCfPWB$4 z9`nLXbHBBLbDA0}eX@ufkG!9uHqxG5Syyr|+jf)tJfWE62Udnjex+pQ1vamo33BRdo#Ht0q~(|n z=N92=2hy%{vxSK(3> zU`O4t{C1d7`;Zfx9OyeNpB#7X60a>%C{dF3tySNlX33L^mxc(X%ogB5nRQg5+=#SiP{J3{Ht+H@xcV_neIKsr@`n%%Kt0;Ga*kSu9Lf zJ6n%}ipf^s$P==ZqXr1;4PDNZj|CX$?gABmFQDt7izRS#?Ec|mOF}?v7{DRKt90-R zwY437$H6x-XY+=QVzJsn`z-D7m(0?u4jacg2X$_VUuO*k<-Cfh!a>tkRoG0$d7E&h zo@IeHdiYD4zT&~=wrmYec{;#?Guf!#?g?pR)~#Exj=4@W zH9H>dn21Qx9C*BcXvK(0?|Ha_uyu=FYcagadih&%dX}O4CeqAlM{D&9Y#e;B$%QqC zyGW$aWxa#jmI5Uin)mt1HVLdu?DPDoNs*sWR(SC_T;;rq=$k@{QX)llD&eD!`*N)_ z$Z?b4aqDcitlnwSEWpWC+G26_$9qPyXgUr6V`H+hwpq*6e8j+PQ2?e*1H} zTAnOUJZd3N!}*e60I%tI@ThvC3E`xd@k6ujh*6W#nIfBN!t16xOU`{H#bFt9wh#Xu2ayak_W^?z`B!@})laxhbuIUqw8EOJ3yOxvr|91!wDx{v zI(dIi?5wM{ISKQgv7u1rUOZ%Z_3tgucY!s+x8EeD5Uuo&kW8uNh(6#cjW{W!4CMQL z)_%pTolABSFne>J!Da-s)aYEa#_4bH*p)D2^?f^QH$|@`(xhqz^)XVXKHDK>F;Lo+ z&A(v(As~>R4}_Gr(z*vhf~u|Guzp`0{6jiGA7=*A^-{t zSk(i&SG@e?A71SA4^=0(?0?-J{S!$2!`j5S$||rT_m=yPS+6~_msd6Dp9whvf&UWU zbnn;bYFEH^pME}m*wwNbMik`NE`)LlxJ_#C$eF~a`2UJnamPtu&TOlm-Tw)9c86IB z!kFH4G*6VaXADf7t-7p6cFk~vN%+;uF_Kb1J;%cxcRAQi5vsN(B-Lg)xN{LRf5+`L#A6l0G6eQ{<%_Ha^Lct2ji&xr6*(U^c|=mZi^92@7- zkZ9?!?p%7QYWU9K<;RsFVXT)0Z7oXoIcOCqek31R<{`3H&4&oL2gcCW%xO2Ne z7~_5}P_Ek&Zc~ZN`5p7z!H0jrLmqnKOM3ag)X&e}J>ql8h{)Q7;XJ{GLYkzM-JH>P zGm4|=$KAN+ty!3YD=i)L~gY?cHjPNhQ4xWHr4Fu z*GL>cnu&o{B=Hg^v1n>qOhQ!|EOZqD^u~2ll|+=2J{S{*n01GxQ$Dq%))TbOpR>Ic zsWz{DoodOWqBrDn$vxqwR~dN7TeIWi7nDsh^X*D{{(btT=)9=Oza3diVu9Yp;(Om$ z1K3jDZ>wAUwZFafgTBOgLBd2AoacKmzbUII*tmy}|8@>;98vSnnocO8#H+#f1QiXZ zLZq62J?e0Sbr3LvTjWw_{Qs1l>p#P`Q&AGx)5N=YjkOk^|2S1eq_54_ijDoZk) z2aBfcXzgiJ8W!Wl+8k6TkKY;cQs3Zat)XSO0Tt!9Cb6z33c^7#jooo5hEeG8HNgL9 z2QdDDJ^7Q7K;G$&+vj2z1@Av@zKHK1O_4%AvBdLST?%bn-wQ2IE!&Q;Jiu+gdh9es z?euAtP?bTsXKY%fh8uVocBtPBp_z?m5pgqKw|nqh8Njes>c-<$aT9YVZHi%WoORm0 z{pPuzb20*ubYT|X=g)Rp3U}ClBR}(f|Kj$rFoXjRFUN~}_KyH?C8rWW8iv0u*#L$I zww&k(?9;n4`A`<5M};w(BVOBrw_3g+F0PbM?KCx%P9?=nabu3oAlGDAF-re^Qvgw`q3fQGIv$ zB3ti64Bn|0GWhEVFfmh1h}G6UaLlw zq)2E4@A;z-rYM!(@ODqFmpru)CAWIglZEiCMt^HO0yY6t0=R;jA5SzSehlm+K6#MF zdL^}+HF5u%a?6O@132}FP^Z?gE+Wf!ychhqap;17^kydAs9(x9r0n$G8MY9xW9q5Q zFVApM-GCx$sZ;k1O0$vhNTP2h$zPlXR=8P;6oac0Z!4K|E=RXls<1}Zr`2ioM$C?E zNk1x5$N*eLH1PdSk2Kz8(?T4fn%{2x1_XXIk31pBcNi#D)>^DTHP$Ft=Ee)-^0Twt zmlUl&{V1c5)CyXAVw)zn*%w28olkPykC8)=4a>5>NN7#e8?7`o$shVQTL@80+S z-uJ$jwPeX!XU&}RoOAZx&nNcAU0p_Y%}bOsE&-w;vF9nAeokXo$G#5vMTCR2=Ay>ajg8H{4y$K6y9q;}0b>2+rfRuUSRVek_?xmsfwVE5n;JSrrg%}z=OSdGMQ z0EYvM9Mmz(<9snA*EJ+yjN%$va2E+ygqEgyyxmb@s!z=uZ3o^$w9)@ftpudT2}=8FzKAY-QKXU(B$s zx7*AvN3fwwI!*vSTYN&8BVQBog3c3|NtA>ORG5Z5mkT*?wn}1I^v@6aLEGWw4zp<( zcShk2oq>-pC*6ILm<@_U*oqAv(#}UkkUj#4?AFJOen%-}94!$=5d{oKLABv-E9l#; zjlO2z$;$?6Q7W6WPBwZ{)`KFJ`huu%)$Y-fg|*e5Xl7i(~Q>Ozlp8@aLxaSnD{4a z!68;^HD4|5GBdAVN;dh6_i_!#wa(?ZpO^o0*Cr{}@0AiEXg-=#&pK(tYWOYANdc|J zjB^T^EN~@*M(u4oWOm*L4b^gMu=-n4j!K1O8(>%k>LTX|9mR{EmBGBtmH&#;NQbvI z)|#yulK{Z`85V<{id&wlj~f}fn5gRh6DkDr@jATk!yfK7mE5v zAwqj?7e(y^Ym01r{0Wlj7&~v7=H%IycVDE{=1!FL<(O4Pfus6i!3*>Br`>u%RkhiT zf1DevM!od4gc)LNesd6segcv5VWr(174W=DiT) zXtCk)%5j+F!YmABN}Y6f6x=6$K6EBkh^005%pAskg&#g&lr4^ay#Ijc#4r38ud0M* zNM=asPvZ_x^a@2l=i|n@<>0)=TlA~lCN@ksF&cZImWO%cvqW|EcdNF2E(V49zeFdU zE423&r8`*=LWXqs=DYExP1Kw(*>7TB#15C^NG=>IqbrsPF$O;`+orIM{%D>O{Bh`t z*|sW@!9PQ$2Glj~#0#=$aA*rauGN~sTwB)4)|pXwqKYEqH-Fm7I5DO{>ZyO>1PUU` zeNkFEcJ+QI^?itYf?x}tjJlwf$jodbTR+%{-{19>{U}y2 zb<4Kqr&5jNe8bpO($tx}r+$754{KRSo0O0XDX8MQ)#|#8z+n7_lM5wd!=XCW>oiFlF>yID9s6kkqc+((dgKMVo zUse@*vCpSjLr_^8%P6OZZTXY0gC)_AnleLtckyvBorN;`U&8p+CFd-qoj+ef_4aYZz{gIPCPo7Ywq zP2n9JM+*l{xt?GCn1p0iUfi;u69}y>?siS2$D(Gfclj1T9};_&#+9qWTd|5iN-I4& z2~pcqR|_`K%$7D)-|?l8(${>08ZY%jo_?-yEpHw4!}=ziVDTaV2Gr?|t*A!|ULJn= z&Sr&wL|$Yb)}P5?sXEif6=aq<_qNw#0N~JEGqU}a^eYB+`72i+N@eANUWs2uAW*5! zAm@`t_36n1kk>(VQH-BO<8U6)b*7gZUE3#)q|Otv4QfhaQs(J=AcSu__7e;8 z>o^C}<}S^w4`nE~Zg-^wGEkF3%JZX+w_gG$s`Ztf-+Z5-90#;MAfZ03Cav=ZKw>~T zl9lRuc?3_W@V3#8Nh{ojOZV8rz`HJ1{{W@dt8``&h}4)a`j@~er+Y*y|9JGPmsTy` zXu67mt!XVvx2Q9inFNxfJQ`!WK z1^4n+P{VOJW{1fy_xrBBJQn0bRh6b7_V2S6zdj|~ovdn#{;JFqcP^re{V>^u3N+EG z*OI3pX>1OZ93`@2&eHBOYFinK6|OIHi?=uS;!?1Ff&_Fk_+RPd*jH>twrZggzb@U$ zzothyDWbMrJk102aDR4T?g_lyVCPtjWG~>w5`h(qonSP`s`*j_MUYelp?(P$Dh*4)jUjN@! z(nHUcUH#vg4qlg)xFf5qoV!}aLK=tl$87Sy6$NOu@{Wn}zn>w$@M;k!#Hr~M27{n9?8$%MAPoE1^g`!9&WMb8W3 zzbgm%?H>FxOwNDvw~GSA=!6JB%_LM8T5lP@Q`OL>%U=YIjo$^Tu=!H&$rE^FD&M7X z>aC25?frp%3qq_3J^!NU>tuR_j8Oj}a{IW0&ICvHm6{)tWsp^gkCmtjAa4b*iQ+81 zy`EfSC;jRo_}EPhC3F}{HG76QM@ulXcC4hxs>9Gj=$*nNnzC zekqbxWxtG;&<#{`?W4WHm{6K$en&(oDeXELY8>Xz6esm5wq?cCr=EuY51OR_mu(I? zle^G7F;pSMBjutuh}oZSXp(dMT3wo>Xrpb5TpjIU{Jb?->4yK3M>xI-fti`ew?d2l z1^YU>RhI$gLAMoDkPymByG&(Rjc3vSgRL5P%+Ee*!Sj9lo~~;5X;#yG+7p{gGdgKJ zgMnHIRXH&b!nQl^b;n}7d@!HqQHdW6c6^ELaTKzI+2P-&^rH$V zWf6<1;mix}sD?5lJu(NtpTTCD)e^j*n2&Nkp=I~gW5*Y!;hHpNU5Y;sKlF5|Yoy&5 z3gd_(GxQ|Dd6#*?skkbrTuwWap8UpThzbS0y!xqZq zAvrHeteN^j%Zy+5$~|X-M7NxD{Hrk?MvmO=Cb;0^pn_8Qvg7t!RjVxRV~J#F_l1ZA$~N-L2U_L4Xj%nNGv)XMNa0lXdf32C7jI zFpeHN`0CO zd&db}g5FuyEveCU{iS0X;`5__2GK`UmK+lxts87l2jwc)hFqnGUWIs_J|V++aHfzNhzI$v3m}a>00yN#uk+HreY%VFo%%6i1ae&ul)5Zkdh~n1 z7PrTYSL?)4Etq&0(Xw;sW^iLQlw)WZklfQEl#~1E-;@AZX%DS6Y%A1DOv>n<3%*H(?!CJ$JfRW_CnjnK6^~S3tnJcCw~~| z*v?#*{MGZ(O@}9w23C97RpcXrep8FtXq#yA)$KAiIG-D+FMdZ_sr$=Bx*?Yq93I}? zc>M8^y0~jGnp%~;?mo)i5nC)Yew;?D-KTrh7(w8%n`l-bbVf#$x=t@#y?=U5{O^x{LL@*LRoxKY7~4gCJ# z91k#DjjRIlGU6Uujj$3>hvnSU+AfRFySLG2EWJ|TJo}()#?Sdn@IoIU*V|P`l2^GZ zQioLbKDUzNgnaP&LP(w`-cy>k7O{f%&~wX}M7f&)DNV6+LD0C!`4qiKSVxN(Wm1MP zw`=tQ6qq!{31idGtXGh~T$o_CM!ltE1v0xp5x5Y!a1{{A08^y6aDe{-KkImK1^ zSU_DLlA#K75Fp}9;)m4t0AjJ$LSC!UmpgJ}N4Sq#1rszInQRG`){=&LMII;6vo znFcToGe}?Fb85=u<-H)T-3`Xg^iP1gy?z*j09THjEUxVQT^JKyYr57uuO z7|WpJ%37eTI|8|S<+gsKTM)(1g_Vsl&Dwfig(B-erLd}VuCKZuplMNmHeWD0ZWa$2 zc)m6xxfSIftg+xAMci_8g0qb&?-!7_l#q5G8D8tpA*dMP0C1|? zeLmJPV)(Fi>c>4#(!viOyA#qVcOM*Dl}S09i6Qo)+D}lKC4UIHELNKJ6pMh%3nsK> zngC8X;C@^@kOc?!JHNX)MTqi#`yJOv^mPIg4J_t`l5##k$%T7gyIDwZhpy596i~KM*|I5k z2f~@2?gsG$yB1zY5*=RFxb}2ShCZj`bmzVfmG=HDYh`#Wo9fL*^P~R>7kp;e=Jn5A zNX)shGDyFGyWpn8ldqD1BON6CfxG<8881_e@CoD2`g|k@(Cg)267O8VBtlz&)t9>q z$h)stiV)7D^@SI3)F(Qsxuz@ns_ef>Kbw80X1-^ESQwf(DSh|XQGH5^1q;wdPj&2> z%`MdxrWcA;;l`R$>!o6);A!mwZ045ECMYHk9BYx06m9=RS%tIhtZ z9tW4`#nJ$9sdNeEsZZ~6OJ1mXXR2 z=h{`Hw^Oe)96z~q9W3M2Qv1a1E^@68DJqHuIgWy5`-3gait`kc5*xA9EPQu=dkCD* zS}g49e`@!S^&5hW9_8o8JFZJQdKW%C8V8&hx2gFTDzj)jujAsMMrfO{VyTDy zdc(S_L`ZMChTI=uObisj9&MU6-xd?CP5OO+b~q4Z0OB=sNn-YCwnWbT_5jStaGqe9 z>%*UK9Y^*JLpzz|9s*7RL;AjZo{nk*Lhc%wQ#gqBhpR&U%AQg-5yJNakWCgjIt`7{ zPCpz@pxW$!^r1K{7fV?$PrKRuRJC)E`|p7<52^&vP2!H>nU4&v(OH!ZPw2-BwsGk{LZ(g1~n z2r3!i$DAl!bC|~t4Jlf>s4{`gXo-Y~N>*2iKXh_4^~$5s%F8fUrptxCPChopH2xF9{8**;TbI@plZ<-XmhVQaq0`Cy!it8>dXM1Wxpqh z=-z7B!VbD(IsH{EB4MlKHg%#lH4UtKc|n6pQ(jQ5->e?e0wd0P&7#c*0gNYkjB7_I zzv~a`eI9v^AaY7qtX`yT!j?)xeDCEj0ov;N7uKGj;|+=?t4c2|9sn(uHALvKl+58+ z151N{PCart|WQ3|ny1vvq#V0t zW*pVeg>l~MO0mherL&ib~=)F7ueYx7c$7Wazx1JK{Oyj*3n18;A= z$LHgo^%_mEdFW=Ikt@>>&k0I{vbT9E!B1^ToEjEWg~xmAb&OVdFLs=B8$e`Hc(3Ft z9LIh(dE0o2#8s&gQJ{YQ(l=3PRLV2h(jAJHbt4i*DhWM^9D9QU45C}0BkvN215hJX#6!pqnPOs1ykWPXGYEzRzM!;PjP z9ejVWYUVL_-cw#>p-9Ns1dJCFGBRshFH)0lk7hKkMO#U3t?mzhE_!&|>;Q^rc?I4P zB=X60|2%S4rL<$b_-Xn6DOrK`8-9yx)A z!^beiuGkF^k1MJQOHF^8l^4*H;2y}t0Q;Z{P$%{REJgrc!dFvDHqR!3FJCZ`M;XT@ zEoT8B*`*qttI5e5n66 z)|78H$OIF3OS)V7coGx#8SuUQ#PK73RFJRXF%$FU9U9)ozONvY)7OVcFiao;UbR#C ziB}GqkBpqSKwvCY`>GTJM%NzQx9(ar$|BAww?!z`N@dDQHpgKP6>|A`VQ4Oq5aO7P zn*LL5MRebuw;Dp4A3HxD7A4J;P!ciS)pq2rp}V!|*HSdhYgAPlm3+ODH~1sMxTojX z9a~}bt>--JjX93UVYx3%vXRw|T!SG4#t^=I0^~b9NZ|>R*ATyKjHcXJ2>6SRQ2( z%(!+v@CtgBc{LB{<|ba%!Y;0NdUQ3Mi}5+#V3v{#n&I}go_O?{i66PqX+P^B1zj^`a;dTR@@{p@BCmfP_Z+3Lm za=1kpT7^wSdFaplvaEGQG9khsRaR=kg4*`I9<0e<89BNTs1N-nr$&WY%Z`_nPw0~A z4>4qri{NeF?qQGjeTnDMtWLJotyedM3ATyq?rMr$+BqbMG}hp}&F7&WU_Pupt%`i0 zQT6L_V1M6(?$pDH(y#Js!g@bHsJb8B-l=~XWY#MvhS(c>yz_9Z#1v>Id;^#KT6}hM z*t0v?IA77P)%~5?u{r$H-gU@zans8P2(J*Ma+R7cLov9tM-7F;)Rsi0Z8u&t@u(Os zK;zN0sOgY&E5U&YFoWx+=$_vAW1AnGu5dxjLB1bA_+fo6j_m#T+3K<U@Qzy@~f&S@C+;5 zvHg~q-fucW9!p;jjAbJiSe%h#K6M2jS1Mf5rOd+tsVq=)p2D5kA#X8YwPenIte`7x zI^CDF5h@nH4AtayV5rvhJlUBSGsn)!bnjdrAxB;IbPk(Q^U2C{v!mGjNLU`FxTnXPn@h4nyQmWj=R5?Q@WEbGrVk&~m56x@kw@8bcq*zQeVVCH|Xus>9o=_LV zY+WHMp=DhMI1_J1-Qn@i(LeA-Dq_%B-8ck1PA;!_?+K-J1#)AXO5E`K+qP&BwwPD2e9}Me{<+G}}I~zn;h~)LA7173ZSVKAYPO zyrrseov7CRuvX)PsJ;u#DTJ4*@U{RJvXyu~(nW&XiU|KTm%B}Dd89jgRk>u&6IRqL zRONYmN-B4_>@VUMUR>;qnsV*3f-+MY%CwwM+vNMfDQL?tKx-&up*M~Rt5Z%>?{4WLus!$`vMJpT?wdK3m!c-qbbj2aUf(K#jh|ihp z!kAEDIC}O>=Ig+fv);Misxu$04|LGU3$h3nm+Ck1_UZL%6K6f|Z&dT)@l2sV-DCjGJ+H%~xmg5S__^ zqfb95{>_u~H|QPMiUX3ZufCFR=&T;k?8M03^6t}fHNBy;xEV?Dh4-4Seqyy#0#v%Z z=fE&oCA>}F4^3x&by1B*GlLlO4;3sj=m_^^mVP(j$M`0l9sc^b&c{HA*fpHRaL6Ye zY0)s)J+GU;4#&6@6JcSoMmMcP?qA04_(`yHvQgd6PK%K+zCm-=X%)TR;cJcqm}-Et zN$@oXx6Ab{L;8OW=yI6zQ|vc!Zz{{f_tlGtp$@cUn&iJ|4dQDyx zKBY>ykLDt2q!0I%l2``VKwpSxGoj|cjS{3l-ft#MMVt{@-rxs#BRia0$h7wgHAHdm z_z>9M{he$G4*v9S(q1?Kx4^+vNvU@6FC(loyWZMtDJ{?-n(A;8{M(`b*UteIJ7awG zfReGI9?+AZBYZ{x#A@*h@SgVkF6!Ceo^YrGy1Iy}I&D4$wjTME06!XrV{R)cY47w8 z6$jxcd2oL3N#EoLG$;(s;rIguel3TM*O`E_KA_FEaTL&5ES< z7Q}qY-aY0K5a-`eH#~k-;Pn0WWtX5Gm@K2MT@LV@Oam2ofNF+<>$)NB3lkBJFkTGE zbBEXdo)_B)3GsVx+8%WF-Hrh6tu&!EEK3v`L=pWs3jC#cYvhJ-1fQQ$x$q%=Qv{NL_@TPz)?gG|=`&O2^(^O&PC( zm(2G3GVSnb9bn=HpO(tiBHE-7(CgYwfcyFhF-=R$Y=%CoS*5Ol-L-}!I+5u=@1K3U zQ(lYu9^epDRS<+KphyE4_$3(x!AoDaRiUUHZ8=5u8N5BjbPBPC=S0i-kShIkw;-!D z5d|eT&EFLu9sEQ9m#e%d`8hN7O}92}G9q~Qn3k?ilS+nMMjHcPEQU)&WsIxP1n&z0xy6LlCaQ*s zaM7Lbc^K|FT#;@s%wZwF->a#bYd(5k0Vd-ja)7rFKjwV~Q>Qe49a1m%T}xga{mb_@ zK(^dS;AM{iD-*(Oz%yO^JBp0yZfJ?}o}Nmp`}jRh*1!$}dZc>bUfhQlElXjG`=-08*>E@p)WjV~r&MW{>qD`;$qc8N7N%C^7 z^tZ2mpg&}|=wf@@cl6aba)kK{)9vZVC;f(zaiBZg`1N?{P=kB_b7Q9rj?ASoRFzy1 z_n(kazL?r%e=fEClEKkl66#D}K#b)J3jPZ03c4PrL}FN`s}QG~off7Hc1pgK#BG4g zZp1%uasJ5zCU`degkrOn3>cx+A4~MfrCLv4 z43y}=#$0Gt7DPs)A%EJLMUYZu(zujA_LzE*`vX!ThYdz09M1=rVG8Z55Bjz7e&sQs z{;)Zkj05B!1qlBRh4F6o!o-BUq65`WEc=qANYn~gZ)?LgQLkxsQ$OFRBh{LVD8#2v zvf87ChfvXuvbCbL%pJX$;oXJ@1IXq)vA|))u9RX}O?QvfL&P!YFT2qi)&OFh>bk>V<-3iaY z?w?sgRrF1#OjM^?F{NTae}o{?m~{2vA?VQ9Os|9I8HKrlF#BuT^vPT~RyGCf6o%pm zdW@+t0PUkFT!85eZ*5E9i{z;Fh}r%clEkZb{Enm z6*jIY@uL~Fry8z>7Mn|0@m%XnEw1SRMs!#t!g&;3ZqLR@loy8Whhn}}!9H#2Q*l0Ue&X6qjzlkqS0~y{*#1c!1D-Q7} z?b@;d++5U5;VOeXU;{wVbKC2&o2Lo*G}`hI=6D|TH3~7)FDVRtkP0|vu5tl4#RH}e zy9L`ZbW??{JXG9@_%7q zwr%#r2BsE@IEF$pLp)EPJq*6|CdIuLykS$*A=7e23G zpM(sFaC8CQ68+_hP?$d~w zglHiS99LDu3m9$`{ecPr^}#b`fc|t(ijSPbE;dzgx(H3s519K<<1qbAx zF5c}`vZ8x!#3Z(_lJ)5P-&5o8kBRWde_4X|)8VnIL^TLm1juqp!CbS=f*XXdp@8zz ztAeZ}WZ_Z?W)Mbh^r}p;uq*v^ZQ&Q7x0E??cE1U1T4RA=Evyyt8RO9goIvMk14b{M zygACqn&2Mk4aCE`AxY?nl{BAtwWXqn`R?Y8-#<8>Kd88JNUH&89jR+k|8N3{vQH9B zR@Z(WBR%pD#%M(9{D-0vk?ZP`tO0TVS1~)vM*Twm6;uV@Cw@Q3h&!2HalnXGp>Yh{X4jyUdxtB)UsBHGlPrdzP>0NK9w@ zazLu94h45NC_6_QXb9CSniEg^5NPu0G@(gDa37Nwe@uc){2 z^lU?nC%C?=brmeP&ORaUZrP2KdTdgF^+iO5h2p#L6MgF2M|PBtpQ-21N;@or*F#o? z+iBk2hW7@DwLhcF=6)F&N%g}jAT-h}AQWh@Zd+wE(uZpFf%)Ulm=iydhS^2W^hEnK zqKKQfhP5u>GwF&y7tsgjL~w!h_lu@;b?*`r6Qgc!ZuGIi1G0$^o-I;n%v~&pzyIbh-2wMnPv?CizTWB|ar$z(aVw2NNhsatEh{Y0+mSW!IG&V0b zJ*2?+f`KIWeJQ!HKj3skN*9T~_W>OdP2F-z4EQBm81NSoQp&T3v`E09O=LVIBwrNZ zc%;@Ztq+lqmOkhsBO%#QumQ)seUbni^74@k@Ehm9ceuWVRnH)w>uSx-H1tu8YJ3+&6OwI3J}yhd>IIY`+sEFZ1ajfD_F*>3xBn7@y?K6xA*@W5>R!PW)U7Y^~zAi*H^v82FI*qD z9Bt|C!r$Xb`jR0Rp;hqN78vhPN=!R!l}n6H?eL?5M#V{)7cZDmV@kC{i4Aj$9R6Wl zx=w%Phe-ofViCatn+tH86Y?94I7rR;c)fg{Lteaw?v^Y>iqXCBZIn>a5}50aF|VhT z6sKq`nYlzICF-rhF=A8?pNX+NE#H>iGOAc0%3BtgG+4^-o3Z%h7u~s=x!UORxfhdL zt8l9?u5NVM?6)2V3UUuvgloGiKkHPda*c^~Rm0Pu#y$Bt*-t1ae_+Rh!EC zytX)Nj_0f#@bDl8o)R2AHm8|q^M$W><@U!b*XVNfS3e0i zzN8Hk!n5_`Ymv#P_xQoAo+`Cy2+CO)e~NE=(|VXB2p*fo*>a-uvfL*$--`%bSSpCx zdw&IolMC|t1(=2bF9F^fdXfPxNkmS^++4I69bw&cLcDg~>l1+>F2~G1H}gPa3T9H& z+3-H+qWK9%6R%>O$O?jdoEGE^wM7@Rnz2;9&p{g74u+gDfn6kab6Js}>k((K2+}C5 zrB?o##P*G6HG&$N!w+;^a=t5Ol2wR^9D;5udPYdv~N zi>p7%9iKDVCt0xZyPT%3c_qT#YWD)qf0r-sMXg%)la|hwasVI|{<(xFRMZWmhDw=mw<=m^eUTWF`vuDoW83QlAmqeKBX3*#yei+}{g3EUK zYmb9(lfp;RA*b}qOGob+?#`nWnyQ!?0~S>KOuN-8M4kihQm!wNMnQFs0?zt*g1ANn zdYj1dHl$JIphf%5obGR)90wZi<+`!R`XZ;Z*Ty7D<+NHP6ZM=;5`Qik{EOF;ss`q@ z+>7v|+%Lg%ONLxIso1q{xQ-n9=@`=(y9#||;rV8Km#%0tvrXK=waR{WexALUwo%`f zFE@{z(Y+rrlcBxpb|Z_8W1@ohTeg$%M>q2rdFwywqW`Vk?0M1K*>s^K>X~L=t4#FktSrL!$vSc!HG& zZtc21?S%H4Z@KNWA$)0cj(V4bDfu^){8-~&mIq*TRjP%Zt`xAdzqQm zVjUH$Ei0RQL4x9`Na(hxT(38E=~l;lC~JW_1Vv*CfS3H^`EbR5XZ?zY9*On zL&3`OH6n!5s7Ag!Sh0Giri7DPinc|~W?HgnXDRbNcGN=zex?HMg`+{fgKsVA?sjbqGH z5O0_POzkn)e8RYxxM-76x8i%8XMGMahh}V<{HH`SyDdp+jiBy&uF?F?CBx2z*;cTU z)nfBnfvIVE0)hFYM~AgSuC({i!KnVuj7W)LJ6A<*_l$n+LX4cvZ9&XKc}B#Eje`eF zL^aXFe_)Iqh)KJ|im6H+$Z;!29$pI_3M8YCf>Q=&NlU{+jWog6ha~K*Trl-l0kKuf zM#JTtZ)2!u^B>MKj+!N7V{kG-uUI6CiL8hN2n3|+;>Oid3%J_A&yR@A7bEU$tbse9Ml@#0K8V!~Tx11T)Z#@I6={#x-1 zySXsSQI?pd4_q_XZ$iWG^M`ZjNt_X;8oJEzi8$?!QqmB)8}ZBRKQw}*g9no@;*Gon z=u)%4^#uwhjX`vXKC##L?|08=o_54g*NC^cJW6omJ9w7kP#gVP#{?66+f`xEr+4aR z)#F)06&6y6_4D;qBikBJucDmIPbJnsaUhaN&T601UDM8sR^JDDuIy+=(Y+YWIo+s_ z*Q%$}tBe03%#Xmzl5Yaz-P^z2@e6NBIg}V$_sCwA{Pe7W!>Fq}E?wTTKOY!j5T$D` zg~xcz76b|6(%&|897u;WWqqBbwvj(}zisZEejG@%PapRl@`PZ|NAzaXz z;fpuA)b?JnZIcz=4?ewqI~gLu?f#`&;TrtE#& zqA#Ml5`kgzf_1KN-LgkZ)QQQ-(TRyf(8WdENs8W`PJj?;Lvg#_R4iNnJnHuG8zm%Y zp$i^Rewp18dr6&`%RN!5OE1;H9`3Nc`F~FXf%j?PKs;3JY6H|I&Vcxqxh{Yz7S8rk%AplQOw#5pT@E$643(4vkOT4_{;!ql|6186 z5R*6@{U)um7IfkEvmP_Gzlxh{u4evj(kpnDEPv$`U$eHx$5%ndG?Tdjv<%GJO}zHF zt=U{z+s)BuTtZw0=k)Xe?>1P%T1Z#>5jnnjkJTrnR>k{AHdRh;{pw-8T-K**580Uj z_8%Be5$_=FrvJ(hs# zPE%O<^E!d_=*hO+oyp`;peLa_?%TgYq%?an{@4#(qxC(JzlCw6n13n1ifRa2F=#KXTAi0!nFf*J_)9Y}t2alG#kv>H{9#{QnHZ zPm}%@h%FXzgQg)BHN5mitBp_0!o*M`94PUu1fP5PfC_l{fT-&6Q7>0P;QeGsPgnq> zaOn9mCnaLBjE(l4h=2-yEE)oFXkiAYR*L}w)o*(fF)nnUx1oo4%4`hPK!hcE5B?-p z<42)*`cbQlH@3O^&|juxwHWRguN6ap=^w>#rD(2hJFX7?B!EZMbmXt8`^R5qUUD%u zu(pXpty}HsFAO0d0)0C~k)=L9wttJv;Wx-{?o{zfSB_5DHAxBXsLnwLNr^Y1c|=1@ z>t`*##yh#UjbGV3$sz%LtYTOvJQzdLbjRkuhk3~>sXTSEPJipL!-kfrkT90$*%Qw@II%HHDaL$I>elDQPcH5``*HCZpP6p0Z!9)5@ zm7Bw5`@=>YwADse&w|;0mDq`s-q-x713gm3%mEc3fqLb*9ie@G8BGQVC$(j4eBVW` zO3AP0yn_E&_`267yvTj2XIxgT9UVt7dTm%7JU$k`ibf9Xa;$z1dL$%2h`*8%AqU5i zG^xjUp6S6?&&W(-UURhTe0gjBKd5L~Lnl`BVlYA%9}}?j%une>J8t~$y*Sz!9I7;p zSp1AlC4*$wm!PD(2-ii9{0d~ZJkfpZrL~V9$6x}xJ_Rs}9GjFw$Gg`w@AQck!6*P~ zKm)Ase;Y6WqR@G+?b5@QbEtce08hs}N3Epr6$)^cGRSvAdO55505Fq*2sQbSUzx;py^!q19a{py3 z1}6sx)z#Hi+cP8zY`g@(C35%hJCYpOwfQI&h-8E)_xb1l4F;0+UD(F{x&Q8g?-mdg z{tZa#I+f4zyqaB%yB}u>Uue?Dz8tB0Z9dbe!q9tt?OC>ZbyDiX+;Y9f>Q9rd`(2@M z0&G#uKz=pdy$aL2b1&m&*dnwrHSya=U?;|!_ zs$8Be(j&eN1L3g1d{(b5>BA-22!S}b7&4V&yL>6vfeFXdDbpA(&6D>zfuwWIDhm_ zhxl?s@a{EY{FIwbeA13$MD~$=lUQTu$&6*`NlaP$V!8Ol?bYJlDd~?by4^?7%{G-# znU}kmi$@tFVd92!g18Uu#k4WLVgz<~ z1z-&`s%v^cUoNmQ_{@agI%W8N_BVlvNjS{NfyrouYo6z^z+`bnJ6K}ag$}k z-8xUpn|}LCP4ep{^g)3cf#ve(l7_&T^y^i+L%^gqaGl073l|^KDYg7OxNwwqmauYt zTHC@k8(pH2HNrNu3pB(%nVK3o0-pCzos(1fQ4J=GDlP3=*VkCG~K&jgs9`s&|*e8|E9douv(A-DLJ7yTne`#P2_rHXcgxJb`3s zb4;D6@hTAtig~8iR0oP*d2Ln%GUm*7M3oF9UW+9nq@}kW>t9~qs@1r7UQT&WzlKpU zxf)k$jG1>z6B$U_sQc>*o9E@tRy(a``ZU3MzLOb(tHx^hEOV@l(TR6|?nXWx&B!3V zVsmO?^EKCyTm-gtfw7$RnN+IFC&O&H216$3nfn|W=@`y2mVg$Jq2L%_FVEmz5b~m^~?wx0-$EwM&<)*xj>I{a3TRu59Lw%{sG;qPBr(=JT zreER`QKm{~J645DMG)Yco14!T>}z6?EPWKOGqKQ4e?xi_LcRga<87Pl9rZ0(euBj2 zjfX44%Ww#crlnR78EyF;EhcfydZBPm(AXsZo&w7qJK4o^h7!jyFUqB61_LJ1nY~9m z_DuEd%qeh>%JV9*W`B{b4LjGT>!`W|jR5{+8Ju$QhZvMV%cd4ZXL)Zms%WgqyJ0w% z;Hl?Ga`oTPa|MAwVZstVKl0VpbSpUUHy1G4TbLKDAFu30zWZdCJ!;{`nB#pD~PG0%ZOvGo|bS>;8(kBiCH0W^PQ)qc5TuV;Mw zqv=jUdp#|rKE$E>%8|%v@Q?PCkNV7{CU2FX<>h;ID``;U*woBMsO3u@nf*vr4@p$D_Wk6FL!N=?*XX7f5#)!P5Q zd4AU4t!KBseSAH3{la^`;&Gd|->#jL@zW!4B)%e3x{ra8NGQ3q)+v9h{zMrvqd-iYs&-dLXnarR3qx7ks zC9p`}`1i8L`5+6c3E%qGdV2r1^|6RO_R;cTHL#m&vn=V7IdJa81lR`xHhpAHA6T+< z$K$9zU_0nIKd^uVwS$&%CLA(vJNTT1VHrEV-W!|H&-$Xwt#t?OI?R9?89ZJ6T-G@y GGywqiFtqCc literal 0 HcmV?d00001 diff --git a/.gitignore b/.gitignore index 859f705..ca52909 100644 --- a/.gitignore +++ b/.gitignore @@ -1,276 +1,4 @@ -## Core latex/pdflatex auxiliary files: -*.aux -*.lof -*.log -*.lot -*.fls -*.out -*.toc -*.fmt -*.fot -*.cb -*.cb2 -.*.lb - -## Intermediate documents: -*.dvi -*.xdv -*-converted-to.* -# these rules might exclude image files for figures etc. -# *.ps -# *.eps -# *.pdf - -## Generated if empty string is given at "Please type another file name for output:" -.pdf - -## Bibliography auxiliary files (bibtex/biblatex/biber): -*.bbl -*.bcf -*.blg -*-blx.aux -*-blx.bib -*.run.xml - -## Build tool auxiliary files: -*.fdb_latexmk -*.synctex -*.synctex(busy) -*.synctex.gz -*.synctex.gz(busy) -*.pdfsync - -## Build tool directories for auxiliary files -# latexrun -latex.out/ - -## Auxiliary and intermediate files from other packages: -# algorithms -*.alg -*.loa - -# achemso -acs-*.bib - -# amsthm -*.thm - -# beamer -*.nav -*.pre -*.snm -*.vrb - -# changes -*.soc - -# comment -*.cut - -# cprotect -*.cpt - -# elsarticle (documentclass of Elsevier journals) -*.spl - -# endnotes -*.ent - -# fixme -*.lox - -# feynmf/feynmp -*.mf -*.mp -*.t[1-9] -*.t[1-9][0-9] -*.tfm - -#(r)(e)ledmac/(r)(e)ledpar -*.end -*.?end -*.[1-9] -*.[1-9][0-9] -*.[1-9][0-9][0-9] -*.[1-9]R -*.[1-9][0-9]R -*.[1-9][0-9][0-9]R -*.eledsec[1-9] -*.eledsec[1-9]R -*.eledsec[1-9][0-9] -*.eledsec[1-9][0-9]R -*.eledsec[1-9][0-9][0-9] -*.eledsec[1-9][0-9][0-9]R - -# glossaries -*.acn -*.acr -*.glg -*.glo -*.gls -*.glsdefs -*.lzo -*.lzs - -# uncomment this for glossaries-extra (will ignore makeindex's style files!) -# *.ist - -# gnuplottex -*-gnuplottex-* - -# gregoriotex -*.gaux -*.gtex - -# htlatex -*.4ct -*.4tc -*.idv -*.lg -*.trc -*.xref - -# hyperref -*.brf - -# knitr -*-concordance.tex -# TODO Comment the next line if you want to keep your tikz graphics files -*.tikz -*-tikzDictionary - -# listings -*.lol - -# luatexja-ruby -*.ltjruby - -# makeidx -*.idx -*.ilg -*.ind - -# minitoc -*.maf -*.mlf -*.mlt -*.mtc[0-9]* -*.slf[0-9]* -*.slt[0-9]* -*.stc[0-9]* - -# minted -_minted* -*.pyg - -# morewrites -*.mw - -# nomencl -*.nlg -*.nlo -*.nls - -# pax -*.pax - -# pdfpcnotes -*.pdfpc - -# sagetex -*.sagetex.sage -*.sagetex.py -*.sagetex.scmd - -# scrwfile -*.wrt - -# sympy -*.sout -*.sympy -sympy-plots-for-*.tex/ - -# pdfcomment -*.upa -*.upb - -# pythontex -*.pytxcode -pythontex-files-*/ - -# tcolorbox -*.listing - -# thmtools -*.loe - -# TikZ & PGF -*.dpth -*.md5 -*.auxlock - -# todonotes -*.tdo - -# vhistory -*.hst -*.ver - -# easy-todo -*.lod - -# xcolor -*.xcp - -# xmpincl -*.xmpi - -# xindy -*.xdy - -# xypic precompiled matrices and outlines -*.xyc -*.xyd - -# endfloat -*.ttt -*.fff - -# Latexian -TSWLatexianTemp* - -## Editors: -# WinEdt -*.bak -*.sav - -# Texpad -.texpadtmp - -# LyX -*.lyx~ - -# Kile -*.backup - -# gummi -.*.swp - -# KBibTeX -*~[0-9]* - -# TeXnicCenter -*.tps - -# auto folder when using emacs and auctex -./auto/* -*.el - -# expex forward references with \gathertags -*-tags.tex - -# standalone packages -*.sta - -# Makeindex log files -*.lpz +github-project/ +overleaf-project/ +overleaf-project.zip +my-copied-curl.sh diff --git a/README.md b/README.md new file mode 100644 index 0000000..f81bcab --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# Overleaf Synchronizer + +This is extremely minimalistic one-hour PoC bash script that fetches your project's ZIP from Overleaf and pushes it to your GitHub repository. + +## *The *Why* and the *How* + +I wanted to learn something about *replaying logins* and *CSRF* in the real world, so I checked if and how my favorite LaTeX IDE Overleaf is using it (properly). +And yes, it is. During the login process itself, a `_csrf` field is submitted in the JSON request payload. + +For other actions, a valid session cookie is required. +We can replay this cookie (as long as it's session is active) and utilize this to fetch the ZIP without requiring Overleaf to offer a public API for it. I do not think that this is reliable, but wanted to share my result anyway. + +## Instructions + +Currently, this project only supports the (more difficult to set-up and maintain) private projects. + +### Private Project + +#### 1. Retrieve valid session cookie + +1. Open up Chrome (or similar Chromium-based browser such as Brave) +2. Login and go to the Overleaf project that you want to synchronize +3. Copy URL and append a `/download/zip` to your project URL, e.g. `https://www.overleaf.com/project/1234567890abcdefdeadb33f/download/zip` +4. Open a new tab, press F12 and go to "Network" dev tools tab +5. Enter URL constructed in step #3 +6. Under "Network" dev tools tab and then "Copy as cURL (bash)" as shown in the screenshot below + +![.github/copy-curl.png](.github/copy-curl.png) + +#### 2. Configure this project + +1. Clone this project +2. Put your copied cURL from the step before inside `your-copied-curl.sh` +3. Edit `sync.sh` and configure your `GIT_URL` at the top of the script +4. Call `./sync.sh` +5. Optional: Set-up cron job or similar that calls this script regularly (e.g. hourly) + +### Public Project + +Maybe coming soon, maybe not. diff --git a/sync.sh b/sync.sh new file mode 100644 index 0000000..31651f7 --- /dev/null +++ b/sync.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +GIT_URL="CONFIGURE ME" + +set -e + +if [[ "${GIT_URL}" =~ ^.+git$ ]]; then + echo "GIT_URL: ${GIT_URL}" +else + echo "Please enter a valid GIT_URL (ending with .git)" + exit 1 +fi + +./your-copied-curl.sh > overleaf-project.zip + +unzip -o overleaf-project.zip -d overleaf-project/ +if [[ -d github-project/ ]]; then + echo "No need to clone: Directory github-project already exists." + echo "If you want to change your GitHub repo, call './wipe.sh' before executing this script." +else + git clone "${GIT_URL}" github-project/ +fi + +cd github-project +git pull +cp -rf ../overleaf-project/* . +git add . +git commit -m ":twisted_rightwards_arrows: Sync with overleaf project" +git push diff --git a/wipe.sh b/wipe.sh new file mode 100644 index 0000000..815bc1a --- /dev/null +++ b/wipe.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +rm -rf overleaf-project/ +rm -rf github-project/ \ No newline at end of file diff --git a/your-copied-curl.sh b/your-copied-curl.sh new file mode 100644 index 0000000..896739b --- /dev/null +++ b/your-copied-curl.sh @@ -0,0 +1,2 @@ +# Put the copied cURL string in bash format as described in README and replace the line below with it: +echo -e "ATTENTION: Please configure as described in the README and remove this line">&2 && exit 1 \ No newline at end of file