From 49006ddd710889f165684ed34168537969092e48 Mon Sep 17 00:00:00 2001 From: Kevin Douglas Date: Mon, 27 Apr 2026 10:05:40 -0400 Subject: [PATCH] Initial commit - All Portainer stacks from Mac --- .DS_Store | Bin 0 -> 10244 bytes 13ftladder/13ftladder.yaml | 20 ++++ ...ackup_2026-04-09_13-10-44.tar.gz.encrypted | Bin 0 -> 96091 bytes blinko/docker-compose.yaml | 54 ++++++++++ freshrss/docker-compose.yaml | 18 ++++ gitea/docker-compose.yaml | 21 ++++ homeassistant/docker-compose.yaml | 31 ++++++ homebridge/docker-compose.yaml | 28 ++++++ homepage/docker-compose.yaml | 21 ++++ homepage/services.yaml | 92 ++++++++++++++++++ libreoffice/docker-compose.yaml | 30 ++++++ n8n/docker-compose.yaml | 36 +++++++ nginx/docker-compose.yaml | 24 +++++ ollama-open-web-ui/docker-compose.yaml | 30 ++++++ openspeedtest/docker-compose.yaml | 32 ++++++ pihole/docker-compose.yaml | 30 ++++++ reactiveresume/docker-compose.yaml | 11 +++ searxng/docker-compose.yaml | 38 ++++++++ stirlingpdf/docker-compose.yaml | 38 ++++++++ whoogle/docker-compose.yaml | 17 ++++ 20 files changed, 571 insertions(+) create mode 100644 .DS_Store create mode 100644 13ftladder/13ftladder.yaml create mode 100644 backups/portainer-backup_2026-04-09_13-10-44.tar.gz.encrypted create mode 100644 blinko/docker-compose.yaml create mode 100644 freshrss/docker-compose.yaml create mode 100644 gitea/docker-compose.yaml create mode 100644 homeassistant/docker-compose.yaml create mode 100644 homebridge/docker-compose.yaml create mode 100644 homepage/docker-compose.yaml create mode 100644 homepage/services.yaml create mode 100644 libreoffice/docker-compose.yaml create mode 100644 n8n/docker-compose.yaml create mode 100644 nginx/docker-compose.yaml create mode 100644 ollama-open-web-ui/docker-compose.yaml create mode 100644 openspeedtest/docker-compose.yaml create mode 100644 pihole/docker-compose.yaml create mode 100644 reactiveresume/docker-compose.yaml create mode 100644 searxng/docker-compose.yaml create mode 100644 stirlingpdf/docker-compose.yaml create mode 100644 whoogle/docker-compose.yaml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f23a9fe6ce4bf940693a6a64d4be207cb2968f1b GIT binary patch literal 10244 zcmeHMPiP}m82=_|nxx&8QdZcL3=~9`E~dL>yX)>^Y^#So_%B5dtJX}Dro&EVLMCYz zOCc8zuHZpLPkZy=)teX3f(ZUOh~PmG6!9c_7W}<8ubKB|-b~_Nb_?%?nQvyk-#7F7 zeeciAdm$ogbJ$uVvWcjIjoGC$*l7y$vn^E$;>vAU3-LrAHK~PPoBAoVxnMG2GGH=b zGGH=bGVmy50Pk#8DvOaddy@f^0h57A2H5yuV`H{1>^QP~=)jIo0bu8FnHL;m9>8O4 zVe7(%xvB8-63)#h;Eio5RVfN7n33 z222Lh8DMkw1zMxav`+(h{@x1rJSPY|7NP}sowdeZ(CtO{w0_URb%X6~#|s?zSs(r8 zyKldGE*smL8QVLMpU=B}nH(%Y?9m+>QjbD~p*3Ps69|>t_}%X#ZYh+^Dhs9XvBr29 z&4Z6eF8N>-$O%;(3Qa2QCIe-X!%vnk2$IS@xhS>^gy^qzJkPcu&3T2Wh zr%JT&5s0QRGTF=j)Gi9L8eB{`52qnrq7HI80PUtsSGuecwf+TB$tzPN8V7=+f{4lK z5gJ-&k;8zxj26ozD25=}MCA`;nmI6)cJV%F=b&X7FW=u<6EbomVp+3AXk;!-WIAXv zE*ASb)RqNm0jjjZmyo8#$)cY9VPRc}%D~2QreQTgDia|+)DlEEqp&9isxO?L=Z1q? z?MJInoGZQ@`OAJrP@H(<4w3e1D3m~fjio-_m1#(q zRVoGcl9#+PozI^9?S`PEAYw{-gof5Ks@UV-B3<;%i#Y3{+I<|2U>(>YxiaCI0uoYg zLCQ>VvdEv`TCNL`Gsed9|8J}&F=r>K2zg4{7=77$5HA`z9XT*H3B?^GAqOo>zi_y+ zC8Xy@#DZsw(8!#JIG2ykp4!C~M?%WikfQiy@_z=U7Xe;gi94w z{1l=R2wBE(<%t)Cj1(#+o{iE_UF4r#E~rLd-W@ci7VXQFGaxGU`42!n11U>*=e_H% z2nm_!Sju#?Mp7B$9(&aW7_1XLBH>acSby;BE5S1L=CAj5CfQG*V#?Vl4OKkQl+%)d zVnozt>;KPZ|Nnnl{fZ@*Zrh-NyDdHdYvJ99bTM9bb-z w<;(FnVM~2aVPn`Dv#j8_F6=n6xPtOf{tQS>InDf^%=}+0R8ODLpZ59xf8%Ndga7~l literal 0 HcmV?d00001 diff --git a/13ftladder/13ftladder.yaml b/13ftladder/13ftladder.yaml new file mode 100644 index 0000000..3d61cb2 --- /dev/null +++ b/13ftladder/13ftladder.yaml @@ -0,0 +1,20 @@ +version: "3.8" + +services: + 13ft-ladder: + container_name: 13ft-ladder + image: wasimaster/13ft:latest + restart: unless-stopped + hostname: 13ft-ladder + ports: + - "192.168.1.155:5000:5000/tcp" # Keeps your specific host IP binding + environment: + PORT: "5000" + TZ: America/New_York # Add for consistent timestamps + working_dir: "/app" + entrypoint: + - "python" + command: + - "portable.py" + logging: + driver: json-file \ No newline at end of file diff --git a/backups/portainer-backup_2026-04-09_13-10-44.tar.gz.encrypted b/backups/portainer-backup_2026-04-09_13-10-44.tar.gz.encrypted new file mode 100644 index 0000000000000000000000000000000000000000..574a462e4b31c6d30c042fc7f8167522d82f13cc GIT binary patch literal 96091 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%0AKO_&Y2~&`gv2^s&w>?VJ;j zzV6{iA#SW;i5A=pv@NQce*-Dnv|`OS%+`t%Teda(u{^u|=AzX+h7O*rrd-0oHdIrT+8W^p+z0m(gX|G( zz@braaou7Xf$_0Wlv2s30;z2U?<%f;P4zs}83PcT^{Cx$i7m@BP?!nmWAvFtj|L;g^gM!FoaC>5XKC#>B$k zVGjT%bDp>_PIw&f>$i6P*w?!$@5hVQ5)D^|xcrD&LPfG8WrO?{^CX)LbG#4&wV#oG z{we+rr-T#g287)1aixZ#?Tl^Pj9u{fyS?Wx9NN_Eg#~ltIqpKHJV=UEo~i^g75Od} z%!zXsPrv*pd~Q8b3(K@Kgm}n*oM}I)0*3}~PA#%836038oFa9DERIeywFUK2!KNsdrwG|3^XG>!i(U&F_64sauyD zAG+0th6qN*LZSohtr0~(h)v-nXhZe#G@6d%5Y$4)iY<^UkpXC4m= z`j?*{kZiQ6Q8}BvOjwpF;gl_Z)@0gd9^~V`rOfOx)-im#L9q_vUPJ4ZgT^K+elrp! zKc{JC6gC_(rjQSIp8&HphO6|MfwBw2UotgdMd*9jnyjuDri@_S{ipylJX-$MO!SA+ zB%k?IV(KP z3#)ij;Pj9!@!RVoaTFb0u_Zu|1uZ~f+23DRA4I*hkV%{e-PLwhMr=sF}XFBC04$2#t{#paQ8btWilKFhu8`?P+aJ45A zz0_mzBetV zp@ufsbyNlyts{C!kmp-fKRs&}Y4ARWJs%)7AbFd5sZ!4AJ@-69NZFArJEk4X_B6p| zWEqbWQ!Rzko0YD7N<fn`Rk<36AyP(iJHJE8=;A*4A0qv34if zK~L{_IsR=!uD6S21-;w)ZQrNzPKtGjK_SH|imbUi5 zaxt#oV{1h-8d$(RrpP38*qlBnv;neS;h?z$<06^iY&E^a+oeo7fd(MW%5?@^@!)I>QL$e_=}hj7cJhoBnm&JnC3BvD#UH?4~dX-VuX9g zr!mbwzh^yXN>#rENMj@Ex?bwJI`x)gvUOrUBeT0oJIj#8PbPIYxHM7^76!r5Sl^{7 zY6p)EAhod6g(E2@WX3%tKHz{sS_V&6c+>z5f5)&T8V`l^d_-JQg*GthbWTUZ;S?)+ zTT|eSJz;y9V+vQd$!}-?q4K4dpzalMoEHFik z#)H7m7oCWK=-ixEehB)5xtuyVX?}Z)#cvk!n(WG2*T6a5&IekiJ?3g!ygC6#^FJAb zBrz3?fGIoHe*<9_mH}(uDY@sVU-ptq>7(P+P*|~hFg_c@Opzu31A~q%HHqQr*cT^H z)U;ubyxl-qzRFW&Bh2+K_{5fK!|Z$Zy~jg^i;eH%w)5cdUT54CmqG-yAlm$<@)ktT zb;(Y+P%0JXf^u*v#KX~#W)RO;B)V&bXswy~71iNxH@bs_VjM@r+*aE4j6^)*pnMtm z*N=6-u;dAi-a(h6))3BB+;@`f65L(bV*9gX9CHC^vLB&>R8jvMu_i*} zn??+mS;`MYYy~7BFR2TlLxKoMsC05p6p0u}F>()SUg^A68bgAatIZ%|{Q-~$u{2By zH$k4`ywr_}`+QfmmHyv-77lQ+1(7kRFkFk*cx-I(xCoueui?rMmz?Ij|hgF`}Q~l=mq6YOyc2oW%sm4M+f*bjh!ibm>zjuOvpkd zXaWoWvP`Ze%~!n`ypV^Ypva3;u*I`*7Vbl%{=B4qk)>K^Qtx+Pr(l&PWrZEAkk=@~ zBH#cY+{vIk+VmjEq`=4?j>;w4ot}d+_K|WbFWXQpgAJIrx^CMx~?esD~~)75Vo zBK)kNGui*$+zA2PuBDW1ruOtyB{HE(@AY_rn4}cb_Wr(C4iu%=lh+KMC<3WMwPH$z z%sl7NZ2E$iUL{1ti@YBBO2Xu0tXWF1s^9311)&hIvQ>{}NmU|>w{jqMa>MjU zkTwVJHJtv5|Cg3vgvU1VHBlSd9U{|4-Iw-FAmEk2d-L1>2MDh6H2PJze|zna`8A5w z#8C{1!yqXV10%Vj$7x=J%j`2{}`$A;>9W7~8o zm~c#3a~!=xfLrNT_K6F8DTxfIx=DA$2NAR@Eg9fA6BTmYVr&q%+!>f4Kz$IY?{M?1 zG&REx3)_X`pfJy*o-qMfMA&;CqnLAG-|n${s&iGlZhduhYJ3&MfT zDHGezNER+PP!*NcrUUyCH-zA_JH`!2v(QKpQ(BpuryOmM!-W;ce5BTb#wlyk=nk9^ z7IN^fNNCGhZw1>>#_{0gnh&p4%Z@>mYRx&AE42Uoag8g4j5o`Ccy3+E-H7$d8L@`_ zJ-W%xt<6Zi5acyS3+mT#!^Y2<}`zKkuFHUcJkW<1w@P^=X`5 z`2X+H06*Pib`^qacv(@r4S^*#DQi$X9E?p^*tB4_1?+jzZ|k zaL1?1ZXJ6))Fqx{J3-o1bWKwMh`6sC$(#3lwab$Grz`$1THzKiiHHYeqQcUEWVH*lAjb@M~bm2#nu7|&MHzu85 z=}?c=pYGzyBtuAy>a-NLiGZvc_6(qqT*W8g-PNu(_MBIJ0SBpR> z2=j#7BqIte;?V1vQY#RaNXSBb={4i&W%-$dQk4M7!zK|7oH}*PRRrwU&w9Wp%ZuVN|)78xYl%G<423Mg$o)eJXY3bNO|9D!J16+cYd%A@Fg{n2^G9bG3$oU?f_t4aKMW&@tL7 z6u%<6vzij|1g4_a>qW;VQ+sot`F?Mc)W9fw1m%5e1j~q$b4kD+F$ug@P&ir~7h%K$ z$+LcfUs1HG;mX}Z6a8ZFqfQP}Zf_R$_?11apPnOMfl%()@&#lYRy1}5A((|^Qm9Zc z*k|Ak6nV2vXx#Y5DpwTA1b%QLjDS9XV(_^9LK%&reh)gYk&gTboEwf!OEqIc`gQ;s2Yp~dG4t%mchI(jj=Z^mwyx9#U>^)`bEd8=Gw6gNpHvuVGZ$KW}Y<7hCBE%(C07)Ln zatPO^qoeh!TAY%4!?^K&{L+J6-r=TKowA;gnil7+;l(^@Ra|RpJvF_cwC|5762#t+ zySz_B748|!8ktQ?`gtVZLYxS+DI?Sg=+AJC;iIK?L|s)SrQHRMW>WwVuU!PvCk>PK zRVO>%X4bC=ESB|9$X2qw=(i8@+d>J1%ePAL%9=F5{21Ags3bz2pt{*s^rdD0R#YY? z@Jd(H2s0N%&}v|5a9Vc^M)d7do8NJmSG|oGR~P$|DFC^NO3kdyi`T|X@Y5!>K|^~o z%q#qC9-e%~w>YKOfPyIdORj^A3K@gnRpJ#p5%ptO+h3xNze%A{yV#(b0_E?wKwm!V zV6+_j*bi(xaIs#z3xRA}S^pvKu{gx!hH-Kam6R1$+lCe_I^74{6FhaeMnw?C*{Ab9 zUgnVrL58=6>#v(BnA^AxF}=l)G_82b_p2^DD#lHin=wJUckNGt5~NlGIZM|h#>=*a z9#M;g{+HlI!XJbEv^{rmiFogb)yO*O$NkzS;83NU6T!xNV8rb{JcK!g8^^pjj?~H@ zXUlq!(rx^tQs`2Txjod^=OOt`_pfDn_(W2mK_U>)K(@XkR4+aR?987zRhqQ<8P+PA za$(>$3FN^q(R;bc3lv|ITbj*WV84XUS=hk7>0^46RL$k~0j+}ji=mIl%WG-SlLgCu zpjzsT9${#-s_O8jcwWs)($yCGb+Ub7POc797`zuovITuBTD8ZBkeLIDqYv1>j%D#cU4QpFrwTC)6D^| z$rPzIoPjq->ovNsnl+4@j{L;=8J&!t3Cc$ahW^+&hGbdGR)hy5;!G%gmP-yEz6OBO zN{0S&5b(~EQ-om9wD9+Y;>^Ae%)=CuoZ$8Qc|^;I0St0aU_EN=Yb8(1b5qc z&fl>}_}HDC1T)Wv~YME6>*{{fw`8dO!{#;I96y~m!%7zYP1W9loQ60 zmR2(dBPwYlarc~+VDW);)88xFljW46$fJu*bv%h5GNhNEGp$#@v_w|2w;l-6PQIL! zUITODEDlm~3b1;~Uqs&hiJ==mp5CeRq&<>f2RX6B*|kBSXgkSGj4ZBmoY_^>%vP0( zCv`-=q=R?PH`9Sxtm^ZwAwn}f7#mg$ghH9;o#bqxoh7^hy>Tk~hEjv%3+OieSyHvR zd!W5_UUIACRL8c!pwmLS7!SUlRnj6!X!+OV-G=)rZd_9Y;n~R{YxHBZVNS`w6w_L@ z<$zH5Zv}G=nX)%Xvl*IJ2kl5BTyrWki+uwe?zMPK5&*8yar|}?2|B+$G_v0GM$V^5npGaNes3T;$O9#^{&@+l%) z7IA!d9*(d*z4mbADZlcMH7jLeWMK2xBR)ERf;OA`tS}b|ed5lxQOH-Jred> zmt8ksx1+8!(y^Yp{6kTqtIfjNcU6e}1qS^u;9k^cAz#Pu^i3OPL&yIoLBTEG?*LAn zF(v7~jQ=yw_FD4tCWN#$;QscR;cnA9aGI#)Ip**7Vow|+IRs9{!!4A}`vohou-MjS zs1a!TL>-nWy4>kuWKCHH+Z$V{d1+8_F8LZc`s$#}woX%x$E3%%hhhk0AJu%+H z?Hh!U%qu@xJ6zv>F0(vB}%57-4Q=6qDHN zaLkMd7Wv9wpM-~1w8)FiTQleM%_1Vz?EkM%0Mp^!rt5zM& z|5f1%WZvDuE9}3jq%T*jL)7NaEu{ZPJ>Y=~9-tNEe4pM!&ZBK%z(YZbFAI?sYu71) zEMZ+Y&G!;T&y_)+BF1v565hDE0TR23FW`8gEbm_R;CEZ&TsXF&i)s{hMS&GE+54re9@v1$(^$p1YLh+S_w(ryc{hHN z*1T|8Cgppg$}oGb`GhlQi1)H;w9vp@W;2WrBD6OLTI?F>;{7mmjVCf*<8vCgL-`$= zN^1~kVY`bGZwb?Ey<)4OY1Pt;q6df};51Dx2}(4jZGBsTxFiCKq~YTwdFCNLk|sc% zeFdHwKqL0XQQFiY?r~LO22zIlMDi}j@zd>?)&lUedNj6KzL?ri8src?`5%W?Jru3@ ziU}tEl-pS6S!wgpmiZc_{Z)dWRgaV?6KJM@?>rZx?7KO;A|#Y%MM@v2D13mIkAaInk*sV?2w^wNLkKTH+qG~JK;pmNl1!f%8CO55DB;nfA} z&L3NUjh>?tQt#qaaH-5!0ndKp&;lMxAw3SFs9#O=1+GAOD1|W~cG|oX-i6SJv40?0 z_D05>W+csONLvYcy)3@um_?VOxh-?%Wionf51q;2;XoJ`(a)+-+`#hi+q64hLrU=k zQ5X>ECqfq(t>Q^;p^QgAsTb8|=JiXLfEVy!t`vu0Qz6p!o+5vtYxEg}Lh=yBuxAGiI{YT@n;*jbAn@WC1NQf?if(_5${I!(A1Cr@2ZKLdfKp zo_FFTDF-*qac#dEt~m zKB^ywQ~Y=Iy#-rQK73HyJ_%X=tF&q!s?-!plj|DEQ!#ybFcG*pt4c%yyITb8GzJx# zEX#JHI!CfbunUQxy^XQ|8Z-k-xkAkq95{)a-QIF;m>2k)ivZa5t|&xAC~%&#(c+<$ z9z^TmB0RM>%j^u)#=;A={a9D+d7Dtk3RKwf33dW~897f&TN5MXum$y!Pr}2$iV*EF zGc5l}?hUlb!x;w^ex&@K;|R(agzuDWsjdZ2`Lc{TWA}3h z2`m_d37FEAjO@t~e$~Exdd$*_RcX*BxGB@OY^Q&-`BAGvyH6u`*QvRPnWGA$45Rf4 zS|^jQ!rnxqab%!$r7^mEDmm^wZ0TQbtqJ`;TUr$v2br$Zvz7u%!ni~KA(Ok_1X?5M zYOQJ1=_fV0$N_CnMEDBuY5B`@;T^3u=}_LIly{FY#?*e5ap4a}Dqwrom{+8{XvJ)4 z9lpqhy)?=&sXqgt%12fLevaI!U>HAs;DZ3hE6ylVLKA_HKr zV)gA$ahxKIkZB|lET($DK%=H7p7*!HUR_R1zPX0S6Q6T+G|B%B;RRfXD?{j!!koid zGw?eR{^BQ{dye7gp<&?-pbMJtN<1?6@{`MkW9Y09k z=gIE&bJ`=4kmA`K4+l&1p+w@X-IU9KXD@s~tqjL6XQe8rZ8aMiKbBSvnfFlRuwP^b9NQJA`I50^{_*uF!2@Z=FR&c&}$B<2wFjtM;F zpzJM`-MgYjkLA%sA!$jCWJ6X+#im<>jNd~LX9W{NL% zRmJo;(oTi{{YtCscj{!a!s#-MlfLPn5lI16v5?mXQiEdt4PjQ6FzWvvY)SX+?_h2M z9N-z5PIFTJCKOe{nAHG%+|KJ9kEgNbXPORLA4VRzgd$ToLWw>P{ovh7D28e2?1=kw zq-=X;M)6?Y{#48}Gy%t!qe0JhnQ)Yg6q>8xI&_g_{l60=D3L|A*^_FK1iakFb5{TW z!PG#9sg${#yEBVUxjMGw8y$Otmi~0o6B?N$keH|}huTb8`h~ZlPIgnm8_Go}RJ45W z0-3Y>8?viLQcMrk5Pa%SR%3xo-C=Y8{V}1m)w1X_dOrfpa=Hrf9SB-Y7JNif*`!S@ zW_ONeGOtnxrpCrdr`M;1em9E9G=7w>UXu)!Jc*_NfgYwTGuIft4N9!%N$;K{uAtr( z&>#}DG@eOZ`vX$t8qGsObYN|#nRG5mzzPV9V;wIs zQ#Ls){C@}yP@R=NmN%z`9NP|H2nN%uB!OjBn^C1WUo8z~22R^`$B_gQ7D^$V9&tla zJHmc&6Qj>ozPswFSt!HjA&hsNP^(`9Be~ zOO;JO-ei$w&p9UfKZkn0TXF!Z=hQfQCkLTy-^&+^g&$Ae2B;lBp-aOLez0jK@`#ly zj`1pjb>Vl50IedKgZGwpP-UHHpCl7UF8MYPd13%X2st#AGu$&Y!1ZP}vq!m#LgemH zI?BUXpghr_OL0nKnNrQMSLYKCq@>`rtXQrTC{nx+>B300-rI@LXT|o3FK;ULgVpri z*k-W4-yP(@Us)tPyuDen*ci22O`6L-i_U*pAJgpTBaGL{Y5peG3HIW0Wi_|Z)WJ0e z*_~mjHg+n!%d(MVM35eBO2pP-f=6`Z30_n~DtN|P;l4EZMU8a&k>Nnwg@YO(vePG`Gm%}@ zU(Gw-p71$q%5kN@E3}3jDTbu3s|Dha`tkE%wg}=Vj9bOa9l4l2zEBfRM@q*0C>djymoT<^ZM(D1-8W}(m^}td9Zd~L=sb}II572tY+0E{hdkd z_!wPXTW~B4tItiGEHB5seCGXrvon?{|%53OQTiVPXYM zuuK)iqBTfooKqH{1QJ7geZIpSGdAEUvl_q#WnBotMh}Fyx~Y2N)IqpwUpp@7`1si(kprOK)E@n2-Hfw`g^Q@1}8%9(P-sU%av!# zTne(K4+0y1(kUWu@hIdtBY8cwYup=O~@jUv}2!oAlCo1c~hX?}yM6I32wjWaEkxzyj*{prPRi%sz9 zMd!FdrIh(8w*BI6p4lr*W@vSFW)Zc637NK#Sl*8M@{ZJxHk=&TbDGycN!fNStn1mH zyxetvEmr-Ssi0Le%#}B2c=)laa5~+}8`k@1NFuNB<80Bd!VPaACk)`Mx&+PMphxMYECI^al-JwF&1O>RyK-k79*jAL2bi z$XL5XlW>nK+t_VMvCwbRhBGno5Uc*ePsV7%U{W-!f=vrqY7Ny^cV1#iE?Wpx5WPH8 zF~#K;&&@na7FqEUktQ}Sc)o)kA7L0lA*xtjIL7(ryU`+{Rigzvc2xLLVoat9!w8}g zXM+Zgw>T{>Y{KVh2eTm=-g0gBvmbKTCl_r@XhJqoifrR+u4h#0+lA4nMvDj3fb9E~ zd~1uso9}$WZ%6*7tnr66yj0p3*W^Q#wK`K&eF z!UmJ<*e?Oh2};BXf9WGdo9xdt2?amHxtgP38oROf@<5h3Ms6+U!~yaUY1V7*ply%HH|sbjpzta+UdX0T>9{g0@-adaz1S5SvX;ekO$U(@u!g8?fC8 zUlt;B4J;!!|04qdtD8E8yikg8`?O-!h#&u1elNSL@Pl5;$0S+teh;;Qw=xq&B;EhY zJVlb^==lAij?O`4KCqybn^R)YIUR+J%$rE)jnid3V=Kuo9i7;=h1sAXSMVgMVGq|DqdS#&Kic zoGGas=?rlR#QLt42$K(;_85GkFhIH>;8V)mDL5ol0mO&OjE)j`0AxxdX!8Yw@Vz7GO@_IMfJm`4scgypj(w@^uvfpijW%yQNyF9zBNYf1aZ!|kKM!F!n@z_QQ=_IPG zC}IA7vxdaLoU8Jr4d?uD9>x72pVQ|eBQ1jmm0@_U+B~F|)SoM}o_9+^|EX|aPN-Jg z`3q)RMK+SvAin;UU7T{H*`^LaL#j_q{D&9jQl6+flEKaef#D-SdJm(oT}JThLT({r zCw&m->~v7(McJOG^w1I_)?f`jw&y!nL>QH5o`$>(1U;N2(jzjjN-7Rv?y#|Aj2jrC zUC!jZ>VP}tH9n7}Kxaq9Ty}UcC~;o-*IlS$*HUSLF4hqz zjeKH|(O+Y>t1KtO^Y6=Og00R9wEr`ZS`ngt)i;vtc~B9K+?hnmV+~NHkMCx*w*i*j z!RNZ2&1dUz3BpZx2B^^KZaG9}uu}F1|3oduFuD!q z2Ql`HL_*xI8~|^`imn?QIyj@RpLoiexBnf0P$PwHt&7v__wg&7O-r2PkT=13L&jex z!y=vulPi~Xab=pc!i-PUE>%6sBus=vqP$;*>py^7kt4W0)deDE3ee_mD2Gir=;L2i)nRr%R);OJPb-|N&cfbvV>=ADn*K^rB8bNsjN_RbHulHq z>VPd)H4&-+WHJ{Q23982rQndg0JFCaPuQJigIv~_FJaiE90j_|U)inm zF5^{=_~3el1$AHlqN?>|%alMttz(Pto<(lpEppTwza`Y0i3`26Hkin>x5lOZ?%Ik7 zIYsFlnm8y()Yp-#gy>V|3aWWZU}7Wu;^Rt|;MJ;41dJf76t4M^aqP1Jfs_mMj${}$ z*|{H?;5j1{9k^8Y0w^IEnbP=ohPp4G_X&l0hcQ8>I2!%_jYEKmU+0K7-#ufR#eR6% zGE?;0-_nzym<7;<2UP6ywYJSpQbML&#gkO>X4P^`a4TfYHs}909>`4BuB&hU_);j; z+6DT{a_RY>0ObL|fwG{UrT-x%I_??%>P7BI{Pl=|=hz;3cDEsEpu;pm^+g_n=Zp}^z=WP+ zRLsYi6aM`Q7*>Xq)U#cJ>hc}>9ZaUz$M_RAJ_)}qgr%egfgu16K56mF28`icY z1)qjtzU7Gl5?=3{lTfF58;Z=HOr7HJoejcnj5- zsQ-kIXexwbF*n6b!mkhGRd44}H54nIK71=`b|q6mJ&r3a=UD!m08Ws%RqVlnb2<~~ z`S>}M5x_OG?agjaG2dN4(A)v*vf$OONwPO=FTHc=<8Zo9-V&l$md-=ZiJRVX(9eL8 zH-_B-y{gSb%Zq???s2AYrKX_8QF7&cc(>%djj@?o*f6|O?v%0%)h{0A z7QXw9_@yy1{Q^jy0IUam%xL#NzQrk;;FqPByyw`a%Re>)L8HxJ0-5(&)Cs_*=Z#n1 zhhkgrux(bh9Q(sAtTlq-a83yV5e7k3Ad9;UI&v^F-HHMq5O=!f2h%gthe~{n@$KAr zF2YyN%6Y7~A^gWu%;>_9XfP+}2I*K}tbNe~WVzNSR}i(j$FsMRlt0bkPdu~b)6(81 z0@>2XaZCaXmx~ts8YYtsj~Yk#Mum9Ag(F905eNE8V+eQC_PpgQbAwmvOcA?rp296A zdcI>OjF{G~7ycU{Q_z%Gu;Zw+%Z5tiE9(ES3200(}d0CPP zO!tt+*;q8(ZNk(Cko?pXgVc7zVnHxN_hOxdx=CsY5o;M z^6x?xI!mP3jZsR5Y)W1(^5nj%nM-O3ADNq8t&<`&vXEuMgA~*Om4PLtr_$)UBlF`B z2wQzGOJ8z7A+Io~KaAEw<%@2TvU%{+Pc9{{qmziuF6y7r zbPHmMCyDBZ2pQAD77@+v1^q(aWjob_!nF00(#{=_U*0rAyHSJjhF7t8w)P2G%L^jyz^)`tI`d1&phgja!}uV!m4lK2pE zOwncjwO-ed2b_tEB1v=5Wh2Z5KJiT${{)JS1kc(#00j_~5}6f9*vr^}1hiDkesB9c z;=ayNu@KKzXrIO)7c5vARBKa7=j|pmCw)ueZPMfRaMN`3?z%wE0D$K6fw4Tfz{+k1 zDlF*#N1851(rC z`90M`rGtrI2>(46Q0KU33gi+D$aaDD|zx5 zj0elo{;_6sB#hUTN$=rfp;*tSUvwh=8I?aZL8b%_{HwQ}o2_PHPMxZ2jRTJ3;t9HZ zw;$;Yu$qOS^-QuD*Z-}WZs|$r6r?Q4UX=B&x9y3JdopO2&4MNBkPVs=Zw%nDPm#xL z2#BZHa<^^=tqH96&}qxuyQc@hc6GoetMr+EqwdG@o#Kd@EbN{8D%*M6Xpv?H65a*x zK6HG$2cH%!=i6&;Kv%@1ZeJr2-;R$7} z0bd-qXj6H4R;6eTmTc!1hkF#kfS{Fe|=4@n(p$oKyCI#nPE;{r)JGYe*6 z)Vr0gQHl4gB6C*s%%lC!3?nsY!31A(*^;EThOTqXLU;AJYxeBYQ`1o-${$VrSVRCo zNgoIJGb(Gz;zQ_iyktajwE{PL%2O6{5G3fH_T{*ovn!QamMl1uEw4dyQrY1317jq* zw)1DR&a6T+n|={}(Zhfb!cHzb|okoZ)gM0IgUJ3OovPb9<7 zkIdmh0cQ}bF)607jn5o&tP5mW`(2C^8kcb(J3Y>I?$MODBa%sK`+Zjf*gLMeD#%>T zNaMUrCLv$JYbcuJXjblBV7Pr-NO(}Q2MDRVj&awu@x%5M5QH~s)dlfs##U4~fKh@D zBb_PK^yH#(21UIMOBYsaM;hl8RMhM=ep-Mcz1<%4j0;XR>?azAL*OyFNMI+O#iYF$ zKaxNyF!wp1tz-XVbQt;J$ghgRpiJQ+3q*9O>u%z|lL$9+_CUQAox4qCSbM&GZtiCl zFwQq82^0bgpK$*=n46p+~>#%toxL=`=f>QEKO zEaVl8&?U}rj2 zgwD7sPJ6#kE2amG?EHN)lJnD#mJLmwp6C~RMKPPY&l1t+X#Wxa5kRzcqFs(Kc*+u+ zLJXO9`+q~+|2=dd8v`i`m)}ier#cbQayntnZ~M2&ui;waLnah6b}H}i;Z*xb=R-dB zv!w1k)NpNP*KuhVzc*e}vhps$#=QE#T|-9o!``30No)|iy_trg%ss%rPF-XFbT`>4 zo|U)U{p#xq3~X2@eH$>rq3Q3nnS<6PWvmqx_63ZifKOJINlI2X4k(lO-=v41W5kCX znVg86U|Iu6FY^43OdUR=c5g4lqJ-q8ak`b~7pB{Tt0#AQ=x@wpmvo42183+7TnGn; z>&~F?4Lug+4$5xho<|JG(BtpHpH?gWlg||suSgY7!hTqzq%J|^ZC6aX5qGD8+`FIBRwgpBB072Qf%e{@5;2&X?v|tid}x+mCBV>VKu8>~P2_ocEErI0c{s zVY_{?M^)NG(iuMK(~Te1C4Xq54dGG&*sjXvNu3hi!npYH6Zw7j`CUErs>^G}SEvxt zw3u2*hO@N!ISl;QuH)gifh~q4uJnUR2 z)V6nCp?wO+alqM6SIQjaC;|mNhCnWiRvgKFoJ#wyd{4$*m z6#*z0#*4KLu(n`Qx>pTw@=`E|b8Ns3r+Q*=5$cAx!uRX6iO~0mvEk`C1Ybm~BmtoP z_|M2fwi<6E5)kdqp(SB5id#HWz)l$Kv4TrOvw-s%;02zNF@vBl>NL++aCvz3LrXUF zZ68+Gd1yNw4?(+WH;D250af=pe}?=~S6?(i1LtAn==XTjV_DZS6pErvK3N_CO&2uH z=1t73ti??bI!_;)f$u8ozev=moL8i`SPCa~Xh93kC-;Q`4*v0AW~_-&%o;d2AO5Ll z!y71JkSWfWo13+?!c81Y4;@7}#VY^iu&|e0w!fA!$F;pbiRA*sD_wc!e6)q{M0QK< z{@MA=1MvsoB~OR#5-o(-J%(PDD6Fk*2I@Q(vBqyZ_S2pQ{UiWa$ln#phbe>%Iy~nJ zs|t>$q>Y4$+H0#GhW!}UpG3@MW|{FP?_f8Pz{(3*M|CeDr_s?y*Xg=6l9+qsH{_Rd zM!qWjmD%26NUm%8=Uov3{FFR{_q=OR(*Yr`BiJ)FxqXhWc-W&5 zwkHAQ(6LO~@aSfF8Pxt(gKd;Ow=zz^l6s%b=U0{rl?lLZ6P)oAv+qhiicTh0nfI`# z8kNn(=+h%N6=1S2v&FIcFkfP z!B?*%crlu7m~gKX(FhBWPae!EKl(|XC+}r ze8f}>Yri-#>2T2W6moDxh8+nsceAzy5BfRlVrs4wAhEKB-7RiQPwV}mQ@C~-2kQ*_ zD?xy7G+J@@0*;6@l9Nu$Uv79g;{FaNf{gs{$Xy0$NZhc28?XpXJ_VrS`W(>9!H33y zCRrC2t?I-WLVY~?SI$a1dPLbzU4D*$@`WImea$MF81azsp^FLpT?1ha(izhiN}yx^ z2*XgOvt=(4)qa<}S6xmyF(!PylIXPV3$$*r)II(xa2+*8X$~PE`10)+JAN62hcsMW zLaTPJNzE_s_N7wG0NkIRFild+2yKv{(=yU4Zfc+#IbMD?jp4cq$e_3FbHURA-TDnQ zpGHoT4>dZL%&&S!T3Ik-fbkb!07I(;{~FxtBZS)yj*h;u%OQ8;?e|5!YzbDnkJmU_cGLHFd3Zx4?YhS@uI~CJP zwWaf3jBLviWyctis5{T>-X?A{C)=^{6Tk0Z%WTUFs1CW43Q-CO0i1)cZ2w#Z?ezRz z62>TJQTu8%S3N}2Y&&0XabD|Oy8r^}04X@2RmRgH6bB7uj6>rBxNR`r?a?^25qIj+ z3-30~AtbnCe93izOHpC#He=e0BCbTu)l1$}aCu)ZD-J4{g$V3lTlqhzyy{m5hTjD* z;`XV1a*B&c8b(`*wmd}K-cr{G)w7RHC{|Y)Z13iHbvPSXW@E5^L|UtQy(~iBosMHS z-@>aCn3e0n19A6{;96=&Oa&s&|7&eo79*L1xiR+qDl+|x|6c78a@n|`YLY$Ii!`JA zT?Pzm-p|v9g@8Nx8$qV}C7R>S zFdwgsvK`P#ur#0T5f&OlWH``1So@2MM?oCC>X>S@A+}|#v+X*La9SRKVMt`BW9y&pFcn7Xia=)tytrR$6RLyH@rE^*^Vm4;Kl0kYVYOJFs5XYcEeDLvj@F1 zS7Gp_gw>eM^@Fg?rfh)8&kYM*jk)y-cMRFj&)}eDou=@Ta2`~_Z?2DonWAkcSfC6B zKv01(gS|Fai;rZ?%h+&T*%fpRO^R4YkJf+iUNWip;!SO7Zm%flhg_!q^+Pr z43LURaL?G8N>96S+@|K)q31UY_;Fd$Nitchl4;Q`E;_v7qu=5@16_*(Us{i-n+j0w zPpP-RjJWy=cZ-6n4{(lLRc}o^Uq=r=Qe{1`(&r^%C!qB^A-E61@|SqSIyL|4Tb1)&Odekhs;czasb~eT5R#gO^wn$**oyom7 z^8RDUj>lt*NzRS7l{`y6Qc!D@v>gF{kq zD-{X4(5m<45$~u|Md@iw`{u+v?zK z?jv{jiM_^?7(F=&s6~5UfA)LYlmlRG6#EWa2q|`dD$E#A;^)*U(`miR`6KoKANu@j zHWObn9M8y_%)~P2rO9ii5uSc{D5)4!Ssi%pg*_B4CijX-7V)e$48gTNG}rdCVEimN z?jhRm)AY!8jrwQQi$>**e?QlHPB>2a(yhwR)7)++qm7f=<+;w4g;cB1dNqLR{!wj& z_-{uICOl~gg%#SD5anOn&pfmsZ=ols>V#H;L=q`TI4QQ=d=f5X4<87SFod*R&1Fin zVCyK-^0Ne@&MIDy1}F}cc)w0$-@Xe4GFPq{0#5UgrCOQOh%Rj1+S+}!S^HY0FNL`> zIjFFST6Z5_65=)@hu}V2gsxq#9hxVmt32f#uW%<@KLOt@mX@%n_ zAU%)pci`S7GquIyCE&UA3$6&Ct6t%~HOvnL^?8i;ddBPb6ZI|b@aC3tnY~E22Ghow zIJU}lb}yAQMV>0@5i8PT-P7O*wD)M>Y5M%6+29SpN7c{vD5vmJhuxlOtEkMkKQ9g_0KYYt7rD%mA)^&OoMfa*3nlqk_xS6 zc#Z`?ya*T@0UyA5&0=FX$B+9k_6P31?OF?!0X0k-Mct0E4R?j7tB9pt#u}Kk zH~_^Yv+J?&><+m##sz@<0u=3ljP2SxK>MlO+;1rLlUE;R zw}BWEFRm6^t7B{b-?xre_hY3Daz8i%`^2Y1YzHjVf!#7KQ3+1Z3HYdT7=0$r6OduG9V zRZ1qIej%G6FBrG)1!Q;?H-=wTd!cA73K^M)-HDfP-hWu>1C#cS%-JBAhx2y{T!PVTtZhswgI}dKScv zn%-&iu;e*8MiS|li4xY&ev@Ob+NUKO8kQBx){I8Ax%g)Fa9r*$jw10HNj~)qooEEx zEzB?n&E6@I?OzH!e{v)_O{Z*E$!*1Oz_)!BsJHRI5RQijR=Gey^QBGN9y{2U8^^tq zdk*%5&VGlNmc=Qnf_!7zd-Mas|rJGDnB%-;{ufK}!0 zR?%{|#uIv32CkFvA1osc5|7AdgO|S{e;%H!Rtl%Pcs@BWR5;9^LJ+1?vIn17s7w97 zXcjB;!mNuCRN(sW#Q^oGqu;OwR80``)HC^qdkm&#gAO4WZfGejNHyZk4+6Weh*vz^5`%t4UjP37n`7?)L++_cJIb z91qT?5sdvCmSpx7cuyrgBN}d$&Q^~?Ew6wi*w4M8#p_|<1`hWzLmw0kL0*{T@wqUN z>mx^#*EHQmc_z&;saIe42CY7;(3{nwGo82lGsIIr+XZFEstog}DenY~z0c5V<|18m z$}%*cQ?7QlvSb*Hcu1l~uC00jxH}GAQZlME7Sk1}{P5+%KRH{+0v| zCbNQlQV$-WP49T#Ehc%G)^j_nmW-1*jF>t6~kXmGgaU+~luj zPCzT#sIrW=+uxz=T_FoWC$C;YI~omwt6$21Cm^g}ze64A4Bh3If0NJgo){>0&kJ70 z_O0lrl@L&#uM>I!qb`s=Ic}xw7Iq9c)%~;C1C4x(owr18CA+%^2S&1*bczTw*j9S` zp7jy+R}h1=e8BfYnsk4t$XG9Jq{!AJjYq)5wO%sYkYWc``eyhXV$w>ZR+@dSDypvX zHpv8<&9;&ihFFRMQQ>?)%?5G-nwxMVf~&RNh5nnyth2hUXElja4@!af9jZb4clZZN z={UuC&*kK!XW;-ele6CYdn(`X{-BTVy1o+&C7?4Qc7S1@={QA6+!J(|qrElR1jrpx zaVkr)2+qUYw*qWZ{pEU{$u1Q>?GO5kDm^TdL?nWaW26CQeAO*5W{Iw!hIurN~BV=%|m<) z)qeobvsB)mpD1WL6i=U3_^!H`x(Gccwb8oIW3ZaiGba$HO?d8cOG>*7S)lNMf`hgz ztEXI%1wWeD;f-jiRKqMM-*ZZc9Tc5QrXu8Mpc@re6y)mR$+aT|u#wagGDx2{ifA9`=^=+#AEY|tAn|bkbaL=@*v+OCpG(!se6A5Nqjb`-4-zuL=Dxw53sbDT+cH&b@`u93a27Z;)bTh{{JsU zQ=J0Qz)wB>3)W?!6ud9TbhlN%l|Oovgp1Z^^%=o||Fckl4>ul9`N&@J>6?KG2!a39 z_Dhssv{c(HHlsU0Mye^aSg2>_Su8$l7ej2XcMj5!Q?u4F1 zSK^-;CIM&*rJQ_T5#2e$tIPm0$twK%qEpld6L_nCfR*Qb1oP)73yCrvAheQ@Wxz>* zHDf0PdyyA*gQyvMD@mwyuz8Qk{}YeC!S-;g#^}l+4w-fz%A?a+0H`+%Rgqr<^TZpu zg|MNqa`>rldr*H_LmG^M=JevE%sU}y<>Ce(c z(P-vpqfMrt_8jiV0VnQN%wnJ}+z&Rb;l{Jz8XOImFvMH;%~Y38^$(a8x5l!R{cC)Z%o0Vlu??O$iAtjn(G0xg%lD!J%FhVZP=J%^G2X*U%;SmfjdP~YKBvNOe`qXJ@v`&z zL!ZLU@sK}~sBesG3g@ZkNS8_p(){GmJfiQ8U$;!9%#2MzI(+RS@|It-UH6`(}LTh%d9Ge`W}cS!|7CzhHU_|F zo{7w0@Gv8KvtDN*Lh!2!GJTZlj68WG8Spl3QpS6UO*5k2)6#Cxt23de<(OD01#pH! zef?+_<59?258pG?v0!2RC3r+1twN+)O&;Ax ztxWua-GV}u%^mf+7oB{X;Oa$1!`b^MLB#qFd#6DE0CE+2;j+m~ymxk=JenI$zj3|| zKtqUAu7XKZhsdW6?F3gr!xC!!p1{A6#8}3GD$Or>0{!b9Q<0_$(v@ki7v8rEjc=_r z3XJx29BZXCjY`{Fv~Pj*+)Y`n3CITCXWhfgbs3?ZOrz8rH#yqG;6^3h1>NX%yNs(a zC=;l2oy1D&wnU-9Pxxyi_?oId`3yZQG6)7r!d6-C-8HwAa5k;qeDM?Rb)QMrLu-*w zfGc#N8{SHc-zNGI)H5iyKnp~tTY3$cxmF7}i(5QmfORc^6bg>%{C)Ayp?n-HNg|g^Fu6@elmYErKJ~?0rmI$mW}}aCHD*u6)+3*mK_TN&G_u z(W_ABa1ylxet0$sYe5{xeo9uPTI=diI|${h?ZR)Gm1>mK7;fnnda2E~uL-+*Ft%lN zOtw~12h?*=`kE$94h?L2BP!73`a0LjP-BBO#t##^*Q&YoxE?E0BJnq3rt>w`p*sSh z^6z)R%Q({H{n-$hvpYw{vx!nFY8dBGNOcirm*cKe+=C*^^1qw0q(evL5XsAU~f*9je^9rr8r%w-~pvg70w8|q=eXMXts^HdJTsZYPQDZ`vn~r6rAxGd% zA@B@7KzH6J6{n%Z)jC=TxV4}dGXA4Vd~F28zv)V!Rly6aP`vw_d6D`TNzl9vrc64? zI?cX6vKE2*B+avf@?$NGUzO@NXwHqrQOBWFL#Qcxl4>bGP>6DyTZYCU!MtOsEerlm zJVQA!KStKJPe6)EHPMv_s#MO<JW00)CVsWE2Y2OnGf5}loVsnKHV*5GYRXkk z$um721LE1Ui=B z_Gr5q+tDaKAuU@2oe|}gxpi(V6-C=dZ2IZ5AwNYPk@+(0hWhvMxsh$ zD_5(4>)CV7lj~CRI%Ra^!1va1?vt;KKUX>hnO#+@xkTJ}Mn7JTN2=8noK%!XL83tr z101)%to?k4hXS)DzJlHMsQ}25&)4Wmc>IZ(Ei>2DK=29n1Lu3!dN|3nqMymQ=*k#0 z=%-IParAggE28j6f2VA`-tJ8omOb|_+jX*e`<_oLY_#W}YtD%%EHcWZLLsL*INao1 zK>ewTHnRf!1lxErh?Hu_8bYcan?{2+fg);z19rO!-Py-@W8M z)Afo>xO?K{9>%}hL!zsjoy$2Z?mujwJ?wxeExS~QRQX#brf##ha7ZnyZWK_@5=2O_y1a+~iyX zW<8aTvxXl!ac?l|JgGmR3g{%wAS{6a2OQ#1n&I_CDeRNVH7`oi8!f)IphTM~`;#*i zOdw|T;%yrEZiz{RrJ(K-%<-AMv3?p?L=B4_3O~6 zXUuEvCP>SHz$ALKnp^d0^hfo0j3>*n5Y--oNaQQ4(lH8l-_=E+ZX#oF-~+L0GJ$Vu z#*L^$0Y;>Qk^kW(<50rG?0PTU`x&fIB>$pjC54%ko-cpgX5)SRx#l^>;X~=@yfmAhU_38T$SP`{mXl zil&T%3iuzyk>tZ6o2H$Vf=kNoe%F&xLgM%rQpLl;zu3OJbeb#;e0>lPn85XZAuYtS zdyTQNz|rS#a%DAkm<1p1Fj0{OyWeUty$#I3qQm9aZcBVQh?Ys1cmP5`y}w%k?JH2U z8vkDVMl9Hy^XYeu>4K;Bo$Ak|8aF~HT1y$45dCFyVkxVY95_~tf|@N^;qNfZDhxXeU%*3?9;dR@L|&Z;aW9i# z>I%y~teuYQ|$L2|vzxs+cP=esspy;hL89KLMB4D;(0n4^F?} zg30uKJqR64q@lA)cR7=nSmzIyWp{tCEqt=uF}Kj}0u!?{WXOLtHtBoVg;0u?5;{gK z1BCdh=qC~&7PixOMDc1NxEz#25;xX&?w6x}wILK+w}r|hToFK5<7Q8oAr@GNqn zo^puU!|_(+V*goln85}R&ITjf$^E&=WRm@iutz&S9G}KnX$vjbTLbcL>CulBysfs! zK--hzhcdqpw~nKn@iyO*pb1csOjtTpD)Xh^cFS z@N?2VC$peLQmZj%ddFsS0W`J%R&7HzW@!I4016)tq zs&7a8+6Xd}2lm%XOR@UyzAXT`@*%zvh`y_zP|pfIp(ts)cmPO3-X3*KD~TT|&s)I~ z2gY#W3C$li@fVSu!CTIt5K&BEl1d)_}Ezxm_24e2q|&`E0+(Dv)lF{TNBP z>Hamx$zWIN)G?cbt|y(B!GB>@D_gca7<0jr(Yxn#l|IIF3;$$AgTPTp_~K$Z=cg^S zLFp3L#3OMJ9&O9NoqXER@}{P0!E;o4jsT_|rvHo|r4HGKvz%~7v0Ec+$Wl(%f=g1u z|DS-xo@F*H8jXs){OTGOG)P8=8e|XMTxzN-T+}vF35{P}bn4q>Mc$(2bguGW z$bfTr{1K*t+t$=?W?VIKHMQ71<8a?(xgJ~mL7K|J!7QyBWssbVK>j4FZ--Yw?VY8L zA|{L&#L^Sb)X`q5`s@RbS_FFp{|1g+>~g0Pu^fz?Kl7n~V zd^k@~zVIny&r{jl2qA}WXst@17H#**3ps5M@Hc((WGr~JHvCohPdO{&1to4s#D!xe z<(3wIsfore#LdySy>m0{`^dE>l=cto$*{{JL3`Wl;MvS;w{N*|Yo6n%oWXtGx?;+e4K%AWPuAqP)aC83m*Y+l4=wYa*^}BJnk1 z7edlvCKES9q8LdS1hAX z%@#CB5gdtLVm^Mw?Mmu=DBYwvVEiWpp&8fBd6+CUWwt~&uV)1ym-?>XF86y^`n}@O z?LI`ML_GjEfhP(uqzyLn7R*1fw1u`KJncG#Yi1sb3}&hhn9pkr?s@n8i-DBCl>U{7 z&e&xcm|@?>)K|MI(a#uCY0&Uo|AS=X4HVfNT9f>}ElL$Zv%g$ma4dSIrTI#A+l*R! zB`c*{E#`^8c2Q1k@S8xY0$|~jJBU-wpNvli{e$%M#sUair}FrP8FIRtTeKb#3Mj@r zMe-e5{&lq-Y2ibmHq!{aGZA*AkOz2yG-`mfc-lS&7$mHGm&E~B@hw!!^RpCo2Zvox ziD*1^a-f!Z5C1pzapqbQ;Rc0nyRF4nuA3TUCVySiFy?&^v9>eqk1=Jt85Nq!v^gg& zrqOR^*YU{bc-jz@H9C3Ku@dnbpEBfKYiHJ?Fk93)hNnYS$Od_H;mdE6Fz>LHXcCEV z961P36GHg@w_a&dO|s*A)Cek}D|#t;Q?b8$etmEVlD4Tv^$;#4l2kfk)>t&cS~Z3> z9>z2tFD-N|oqeO@9_BC2svxV(0<~IeZ>*$|egGW<_yh_C)leHy2D53cu3<^I{Ns|r zlbd2CSn+@(U+A&64dQVJM0}2;{mHFoCQmbY!;RS)7VBcfC_#oNjnH@`HsGi(q~ryS z{*(P5sD(tRNrCA_l2KE~qw{WW3Zjjnx*!w0kFZvMj*aDHOae$DA9WO9ji3IJeKmYm1D-m8am=9GDc7OlUGX+t$mK*(Il}e6I9{Y>Qz$(rHPtQpN%( zl~fx>e55vi-+RP>p~aw>+cx%YH_~W&YZBn?e;BK%UbsYmht8g_4h!*tF`QgB0amS2 zFu#p@o%JHZbxj$v&?bmkt$OLZ+KMqNpbB;gB-#VJgPr1Atl+W_qn|gt4&|O+7_@zo z4+X_0{H1Xau}rBG8_ITAVB5fHR+(!yRz(Q?UoSm)p)^R0>?)IDSFNmyBt`@KFd=T2 zy=NCtohXi1DaA7bi6mQ!t;z~HS0{a4{^pLk#XNn#2JZi52Z~Gp*z7%XE>QJ7l>6J? z?{%&I;pE|0dS?y7`9gAem9W5}zaBZ15(j3Jt731bYa(5y1Vzm(!c4$63b)2wWhB>M zp;^dXCO}vHN7Uo_aFU3~ulQ>J*OpWzu6wn_w%Z3$8=l?}pRexmFfCMES?Zw>X$Mx` zQ-AePmqd&Uw~X-{WpfoIQrsSph0x9t-Iw04jwyKrk?TboP$edoD_+6e0yOAguj7tkmMS zJ8k_e+M-paAGNc;&7{swc6vr-CBA2Cn22wptJbJygY|~MgeV`GosVx!HdgR708kyn~RQwVk?)mdqz$;jMAtNiSQsF3FUB(c$-!C5ys!P=1mZhkR8{Z>|NO z?c=B?hl$PhJCh@PZ*uE9aeoopHn_QuyoPO)oj7oqg^O$pukimQ#QgQkw)&AYiUY5Z zWc_tLyQbjl!529ap1}aZ{*#GDQ12fB4KeWq#_Se?f#^tCEv_n_1Sd=Qb_#sMYIx?$ ztwpTXMtFJUgSiU}8mui4>`YkS>uM}P&-BoG7reWQ2}qV_uXnrHylMjC#vE8+0wTTG z0n|@Gv-7Xrk)ZfE(Q|T3OIWiB#Fj@4`YEGe=q``+CpNeL{>9Pi#O-mV91hT0L(oGK zGvP-uLLd(`*-Eck?+_p`q!)Dh%+w?upm0T9ec_RfFcWEraX%dUNgupP>oeprIeeD! za0G}mW_Xy)cBi_dmZ%0^%2;kmYqr?L(+5{5wOqhf*R%yW*A?fp!m7H>#jg4cHSO9g z1uiH(d-QOdzWV}=EabdM3wJ8aL&tMclx6d(6N%kOk2Q^i6ZdiP1S~NpOjA?NaK-am z>!@pZYY`FHXRzQ%t=%?K405I7NQ|ytui89=gr808N5xl4CtStrY(2z1f!|I2$*0JpJA0FEbX0&K$h5VB8 z$CpuN9Lw;9s8J11U-obnQoqg?(V)O4O4aK`ekJtZ-5umBrRCIv$NOGtQDDd zMLaL4rMAU~j^I#f-^TG9g*e6s6s};O-8^}^?xxhKcPR5=+L$J9nH|CY#O*F@V~3uT z4ehCvR zlI2qw%?J4ktWbsqD2`0L=YLO4=XQZv@+-IqXt0Mhxk6TfkaOAc=H^ zlQY~0+)k5l0~C_kly6ZOM*ZeusngMw290BW#zB{A*6c!>6)|b}*T`qAP?R(}>S>1+ zB{BQEKx))`xy+XzHyV_I=Je(54nJ6dHwL)2@NslAA45e#AkNTt)!DbKEc9NmfT^za zVB@d-`j3Xq>)UN`RGuJ;J_%1|j)Uvp-Fe127U{A^O+H;gvPtEh!t`9!d`f$O?RO}k z)=t5KF-Gt|kWa|Zff7oQ?76{1@go(S2Wd#0Q3tq@-t`iZq$t;CO@NmeqE&JmB=-Kq za@!$u3{W5`g%-oMs!G`M8J_5lau4JiUH6nb227qASwe8cVEUPmAWpAyns_orcMuVgE;u_w5sx|7~KUAS!fAozkL%Q1@EwP z>FLb^g4TI)owcG=Ir8d+plV!94_g{m46BV^74U7aQqiUHSHviF^~&o-Ty268!+g;* zHlTPYD7(ASeg>Een^N=g3x#xb$LPf(n%>#0DVqjj1fHP|N5Wp)`zt7N0Grn;+$q- z@YmwS>-~)U6(xipyl>;|gH_x`)Dktqa`#@^$?(x(x6VP0ul>&*ZU5SrQ!X-QN zwjwFL7v$OObXFj*?dALJEX5C?IS?ecGk@M&`0h<9$u^zDT^7AZDE{JmB<7{%s+l7M1OkT!4?ca*VItVhi>pRF+rJP2J0u>uYj+?~;TR_Z?LsEvN>b(Pxz zeV&Is<^<^VK<6?i7-O!B_T5mJA=LA>>m@pH8R3oF8>+;+q4~$_iH=Z6;F1AXc*+Q~ zA2OHhQu|*z^T6+vz&HcR;%05$<>6~;<9zgDNSjlwO^L<9?*6m^TvR7Dav;|CyK;5R zUt52+3Fg>;-$CWOQ?1^)Z!4zT039KDlXO4T?@XCP82Q zsSzq8YNHv26z(sT1s_(wm@#wQ>!ubuE=?Lu{sq*qReB9`TDGMLg)RNg_gv|y9YQd?@VjcWPdi-R2S(oF8sf*7RC!0UoHiHM zhZ8f*5|yG;141lyooedB|9N?uzhEa5PR|9})fgNA0%YMV_>A72+LK8HUGnv`*3r^g zIc~`a^MA_Lc+H-X0RzMg23-C*yfEBZW90+e0p-wGBQtr5=Wr8O=gZ(PLN6EvAhutA zgno2D(E+Kh4YsPJnGzVcsX6usD3oXC0 zTI}1}A8XlRG|WO8LA%7#YgbqZEN_2gE{t0^p&Gs?D`J7KTc4P@haT)*S9QHI9 z{1dYwLRqfd;XLoQrrDmq*yDE{qehOFvCW0Bl>MJgDq;b~jojy|z#3ID$c@dFjSJSo zdzje)Ri;X&n7isuXJqdK?l_)KEFmHyo-e>{U48Zco;0Sp5j(0LYW{9nKLrH$9EbNe zI#w^P(7MjO9=4Z!+MLXX?be+)9w`av%S=ogslQnVRF2@aOC?2E1h5u3<9qGgHr%p@iO_&8*K z6_9@BV2!4?hFrK=nyzYP|8BeY+s<1R5T+p{Dd_mvIO$D1>e4vu(zIH1wqFy)(pg>- z=5}eT7Sl(@wNgS=X7x~f^H(h+|10qtMqxwp)x0K9x>P_4Um<+BQ!**9EgACDcQ|Yh z!WFh*z7+$jHFD*heRhvRk_75ZcksnlVXMOR{S3nC?Xp|(6bw++U|b7s8e69q((2~E zvvDW#K)SO!)p`pY?JYZ8ElHd2Hw_8fO&3!*xAyrkAB%0LgFs(iW9* zR!>ubmX{@vSq^Xh1>I$9IYNo8&s=^r@aMV1*llavM~`7-_%X|?pE2gAs#ne}|1$gC z?6Fx)*vb@6zSHKihl4Sj$tchTOPUSykv+hoDjSd;l{R!B3VZl{P48PO@vimXa+DUu z`{)pVq*+1E*Aw)rCAcYiXGyQ(Vzf?N+wL338Y;|s^bJ(@h}gI_Q$^SwkUr%lQ`*2* z(#K6o@Y99WtyEyzjo9=AO-QE&Q*OzNBf*B_k-;LJqngF1VFRNAH)7C)$dIJR{ zYK)xG`Ct@==Lk!%n5ug5+oo<9p#j48SK!DJ+6`e8DV*_E0LS>gHjX*1{y3H2fdH#I z-@kYj1F(wjP$)=~%TKT5txa7FU8>31SM%tF=LyBe{F!QehOyC^!6@Q0Ufcpk1@sKfQc!JO_c< zGcXCd{Hhj{8y1%qY3)F1rGHPxe6_zn?mn@x^32~7n%dj>eKR?k`Go`+qFle`iXAS^ zVet;5UubK^F~2vmJ^}?698r-NGNfs|r1>s@jAqvEbW**6tuiB^ujKUO(!>N^T=C}A z$i{GRp)kV*z9K566U>$TgC456O1+q!W|>u_P|#qG^Za!nkEPcIcp`HmHFTq+&$N&a zsG6C3gy$eT&MSF27uSBpdZg8q$}fU`x;u~-lmM9~UawL(MkP@6c1~E};=ch#h`nll ze#=Dtzz_kEJvJxy7JLYhb)V1f9wMLa?Gph$;C72IkTKy{2t2LaJ9rbn1I? zV*yfU;A=mw4XcM^mWRP0O;#zPH6$^g+rkURaLTLmJDqSVrt&k9bZNvkXG;e1?zK4m z(p6GJ@|d+wKjNgp*)eC1%dnB9a=;Iy_!~jT`H@BL5u$UMbrOc1RVA4XJ?Q7n2>9gO zuK)#UST@Su9OXEKZg(|wBws;pi9x!)Bz)sWM-4%6rw1K$R2_T-8mMkxJ6j>yx{C#U zmC`~Ncq*b4=2=S{GIM>lGUZBF_!40^kk^|e*GV=1k}DGASLtA!9Vj+3Gq;;EeNn8G z{gCOA7#5X~DWd)leMuSOT%&WQM3m5nlsi!F7{N^j2vqEn$#KyZBGO3N$fmbJ7u(?L zLkNR$HFtI~(iQQ_|F)_7s!rm}vzjra zOTC)2+|e5`nIgWD9eG1hW@cJHuJ#dRPuvVT)W`UuM{;!bra28kU7Y>w*(jc;Q`?F? zcN9G(290tu*Q?%cEr`VD*L)g85i!|@D0q@H3CNaWr8mf%lf5KA@@3pJ-`m&a`$4oZNPigTR4+X z>JI)-8Vbt?Kc$p(&C90V6ypNCrO2;q==A>!b}X>;IIeIDTZ+7jgNJQODR@1Nq-f$& zEILKh{Cj$4NkZ1wtA8MW%ot1fVlGxv@iD*#Kg;nVP>tCgO?oJq}=g%l0aL0A&6Q~sk3z?s&)=2k`&V2YGcw}Mp|o?YVTnql1&;7FhTbrf1|9_hoLjq@EO{UvSOlAYuwY|z~I!V6BR!|mT5rmH}6TqHUS!=~0^oJ*}?B5X+cK+0x z1AcbuEp%H_!-V;Q1*rrc_Z)G;sD?_NQ<$@ilTDc-ZPS81dI1><2K3^hP1(wDN}dS8 zdP|$}R>rE{exN1O$UtiJV}IJ(0}t=v8O9PJNrv29A!M zaWkDr4EoDhENMh$M&YwDCVc{y|8Z1L9P9|pr8kk86jhlYhPVJOhAsbg#PTZJCO(nV zrbUQNcS~cj-F12{Q@rT9FTbhGJ`UMIXHT|0$cVH|*JIVBz_M1LACUt844&xxg|$-D z4!4jRPm(UrvtvB3$ZVnJo8&%RUC@XVy1H)7O7v3BY43P?@g{5 zu>WGLi8Nr$ppeE>|F%)YsdTHPBT+gwCn;QMLif>1?K(D3k#%puo02=s&v_m!G}-7| z)4iHDHZ;-El+{?EL&c~{D`RPkkY=3fq)@JVuF`nSmjf8C=Wp&5074M2PyF!g>N*fQ z+7V%RN1>@FzI#Z!7a1WGzDWmC77btJRejAw!-8<2hl}Hidl)KeW`>U1om>cMJa~I~ z+~8aFg9ZbGcU16Y6h@tVK>l4$o|jv2NBpUkG&yDec7d4a?3soC}d-TaFC~H+Q@@F**yR z5RgNh#X`)GN}t+1x=EKl>8qJZ2^j7-Rmv4Q#;(4&UT7g1IvVBTO` zc|cdvl>k-&KTkAt5*_J7mL1kZMa9wIWOId424awLt)UMZ5d~F{yXw#c-yjl$;JyQ( z^D<;-2|o(QUh{bc%O)apkZ|1P&ECs^a5YXIkhW+c?kpl9ix1e1IqcWCavCVFDcnV} zvL6}3E&52h`f(r)7{_y!4P!$WAx89`=3kSC-r*r;tPDV{h%M$<6-1#3bXL-Gh7XFZ zIo+YIv#AaLz}~wG=glZq;hK(6(u#YNfMCN3yBLY+eH&_~Myy(U z^xHQzLN9N=cWs~rqb?wE==gaL627}B56==Y7^ab*@W4y}H>fu3zFMp<@p0HT_CU(} z1^$=e&+C5%k|+v@66!}lnkZbwGa$s=PL8*cS*xXUhTwfvt|&=C!zO;Hkxh)4W?%AP z3utNd7(*Lbz-WtmXtI7y;x%@~tXH3q>8{^5?ZmmJA@n&b9Q2Eq6Uy60-7>+@op9s+ z(y}vP*+yK_0m8U@_A8R_lT1O|);aU$VvNcMGyf$ZG+JV@6=?rRS*p1BCxeYuitYCoOLiL zq!;Nrj~4KkRfs8x$7N!0qb6IOU!%a*L?Qt6%Q_?7Vw>Wi2XDJn%Z<4p-B|Fi2d4UV zkgMxwb3;C`4yOUpmO6p(e~RIxIVYiFz%ryH!cu-onm;gM(Fy0m(gG$mqd6OD7u0_rF5LJ{*;&=ir|n8;y@ zLkn=225{@mtK#O!m_VZ$<@k6eA~LnVi!AveggGm~ey4P2W7YdF%=PRJ?)aAbYiq{A zjB}{I7w;(6zc9p*eW4ZzuF@_k@P{V|T=Nggebv6RuHV`VSOn`gz-G4FxQBBUIL>1G z7r|x3SADgK2$d2Ay{!v{9qhZ#N= zn_nJTsVInP42IY$ z+K>82H`MgsGBP8Kxpcanz4I3EW#HI#xA6M%>pI;KiNA0uxq6I$5=$-#L5kK~BQk;l z6%lt%3Ht%A&_Bns-nOOEM*3y;N=h1V3)m6WE&+r?(p@y9coI)PB|rUeakw(3;+`^7 zy6?zQ>vk@vOymfmJtozI%7s01wmcyYU`mP|;?u{IEkz?EyvqA_M&mx%?I>YNdYPCy zYAtf^{cBirtKE0^HcX&FyDSA-L-0Uz*HOCq3&|3o$vfO6I z*05Z`cr)6rAwVl%?ExXA?LPWy|;JHmnwYm7_HT7uGS_i1(qxra51hk~q@-IuYls5)3t{d@Be85I?k) z?qddBEvXWY$MUZRUeUKG(ts86&w)$euQpo+NkxV#)q$JKK#GJ+$QcQXl03&E?Bj9Q zyr~@|-GCRB@{7Z?+Lf-1ZD|!FTL;9_837uG$tl*XGn0t$W#OIBH$1-z2 zrio=KdYO=QARiMVWkxtgfK)xTnw!kJfsOL5GrUD!gS42t6rNHME@l#;bZQRO@J`mz zp)hjaAh2;&e2F&zprVpAsmg?J6X}W(IjyL(zaM1$%(E{|HEyO)6yOuA5HoLEE|fG$ z#kV5~{vO21Hh?nQ(#r#qRTasau7VC>NjHc92U-+!e%9XMbF|0RNlemletK&616E0V zC$Bp2THwPpl1;-IxZpMBISJz@#{BzrvbAy`D>mi{WX&czsV-{FC=<9-Xz_(zWxayA7H_N9iNIXr- z`@En)w$kLXsUjJ_&8g+9%ILsmJ=egLcCHxL5ZyrIw5@>H?6_;z5&d`6QzamnJ&~G* zGF4~N3`u+n@-L1OKft-EZZ>-yW_JS{Fu7t(EU$5j^OZ7svlL9;6=wpWBoXO%nf*Xp z>=(tCp6eB|wNQh{vg|}w|2L46%|^D4A?+dJXH9{I$O-UC5^2-l9-@Cg7KdgCla~t_ z@DOTMcCjkqQfpP!R$I{5){$%>LpfIm(w;?Eff@1VWY5nfSTq`r;S$?}yw>+q4<?vHG@8?sV2G*7ae?*b;b(11a&5*B? z#WZ6Vu8G3V*LdP{*Bqu@SovK1|5%S>WFHfsl;t8hLiw%szu*de7$UO!yydyI{u8u{ zJw{GEuPEXupJCDjk6d#oZX;Uqhh{@T1uyKbD7%speBpTM1sR?#o;a67e$fo6L z>hu9Jd>ao({vdbUA2o}qKr}A~NnwNARqlz33I+lPq)4DQR~L@KOSskH5SM(|%U|ChP7!lnf*) z!-cd~QvJz*m->nGv4Tx$^BO(haB0^fSnSe3bgXN3Ci5+ALgYxbVEGSf7=fJW>U8?DmzXqPt&H*s`)wzYEkJqjXh!Hke}j>|+(=0F0UHmd0CCYO%bM>i zfZ`jc#Tw$<7rSO9ho|B@$DE^KX2$_OIa;n;3UYJ{n+e{!6M6iENP_^j#w$&1(zu6D zRykFBd;T{IZTG76_13GG8<=oc0CBvyPMVkURdFL_mzhX=X#AU@y<=zH3O@Hfya7hZ zvejKvqZu*kLo)@u?CfeQeWOt4iunpKk%wOC5?lrDa`YXTkxI2%6ZOTx2Pc!FgTXJe zh%yJiiv$#D6s9bq0-`t!qkEwz%`eAG`&% zk1f?g`5qR$JQaorl*yPOhf-$919?UXvy-8`qTcr9_rh&1;6b)?a+VNmlb`sqPtfGW zJG?SW1t}mxypj7 z4+-pwOCXN0%?9IMl_-bW3o+#W^)*}o4FW<}2L~sm6{dj{$Q5^tu_;Z#S|DZLxhADJ zLcINejqfJZbU3muWwJ4HC?$&rccB-S46Jh$+pC7vUnw3N;Dy!kXOY)l@d|&uE7Fz( zMTNEd=(G-r)@)ziS4`!ydX{)$Z_DOdMX84(4oi*9KSm1{s}Ew$EtAAdBdK#Ra4-5h zs63V%g`r&H*=iUsyZ=ZEWfaG4AN@}kDI`Y()+b0>KIcJ3{~3COQZ~m<1ng}afRh>1 zBaQDe6Lxr>4(CEDkwPU_lBQ#0`BUstwDuv=W8f=fdP*cx>FL#u`Y2z-2b0YSf(CRP zY_ZVj>-6%9ERD%P%i^Idg+7F4CcdX)rm}80#`e~64lyff$2ndMSDlLv7TRS?f-94B z;ktZ*#ufFA_t-9++6Tn6U8pEhU)Q1}zh36%=!fAma4CJzHH&a6zC#aT1t;o;%D8+` z(w+uH6{vXu6F34E=ygAw5%<(3=$8<;Yyje5k7RY{k8M5_y`h*|oqcm;#p_=x66c7HN~**(_dzwO*scvf41#!4pwH|hA^vc7H(6RjHxhM9B)5ZV zy4?8}n6wrQuImIDHu?9loAXt;_%tf$32A~K)Y3OuR{YQULTesQz3%3aRzL2SiVrAB zn%pF%a4BkTmak;wF5u|`>GVAB47QsL>XD7F+^nAo2=e1O4=+_p8i*p9cSOH+V(S9) z@bhT}Yx z*kkFW)K+hh6*fp{47ci_+@e!1PbsWWrk3pM<8R+a0F7FTnfe8)=lqs`gJ1P*_ZuZT zW(E2l(TWKxGS2#0nS18zL!~|#Tyj(x?vt78Xj|5@ceaXFHyU!$wn$O=gGjfm*l^E-=X?aMhSLG!;f|3DJUq;* zE^PJ@qJvQj!zW3IRjohK_+!$g7gR9E8`)m`A#tH*Ru}*Hy;QyQye$vgvGUa6EeoZ> zA}+9zDoQqv>!gl9amr{P$_$#!5PVUi0>bP8(EpOziC1yQHr)&PmpX4a`&)dw$!C8G zQ+CLYIhq@B3v*C4i4P|KNeHFQ@$=FQRM^0pM)%Ir$jPcOx{c7bBJ0(z8p&fVQk?qN z)0oKx)EPYNwy*N2mi0WJHLfzIR&rrpF}wwrM_`3`MAYj*o6i-V>Jlqzqf!k(Bru<) z6B}**@WOs5kV`cQOA{hn9n=+q8Pe=&xrj3tsaP7tQBT?GFl+3Kl*@p$??72DqPso? zT!L!7@lU&X`lc~4+RIzCsjlE(dhdGowqU8)%)Bi38msxfN4J^c+TJ~=Y;KW^S)7WB z3F{zNtHoW7NXUe*L8}dM; zOpdragcS5TT`$4yh09-5i>g?R>ql|EF8<6>SNr!`vk+wlR-BihM=ptsD}rrKv1^xn zfeBxuPwNYNteM&-R-3?DCi1=s-7L(W+z``E8@0i`A4WciE|l)zCC_-AAol)QgMDYN z$sa*4uP8KEWP`0Do~JiZbA$M}vGCVoI!~Z}L z0Ah89uJ7&{sA`X(_c{k`+8j20Ax&&nuqo07>21G%QwbmSph-v9P7Q~owY?saoa5R3 zC5jF85c@!7WBFdJsv-aWLx^a~#s0GG1>Ta_wM`+!dGnV|n8f0?GH}ZPJHm01p=}8Q z-Eqofh0>D$m?J<+gGqC+nT(a?4;`vyG(0f|QFZzjLhadHE*K$>xGWo0rY`bcOWUFt z6DCh%Sh~+z?Mdp-+%-&>l3Hs7h2%rC!v-=sNryco4ReB_g~r1?;fef8b@h|VHDo$? zT^T<-6jXgK)I~6JghigCK110{+r4r7?66^zjvWeNTpA+CqRUi&Fuz+HsS}^h~dh68)ZjvyMBAC6GiABLsF?`jebysRCiFiwNj>>8MFqcrm6Ry(;4clqx zv-UBuJBr};M|3=1kWS1rZd%dBlBKZpnveqZtQAsbNm8IfLnZ;E;-Ku3!5XNCA{TEuBWU@mqE@i<6l^QwSZ{mS==?&22I_YH{YflY zSPd_u5u}iHpAYqZAUYvY%aM7a7%F%kR0=IKhvlwaK2as)1H{|Cs20}{5$R??O?ZIzZ>8pl7ruz z>v+?hT1leFGt0xG{)W$8vWa|-qg8r%+XZ~w`rdf-e=i`_P57bIWPV&DD8Y#73c}Sy z*K*-W*^gKYqo~3s${=nr5I(fa(fHlLcJ5se>55ij(mAe+Gthh=cFSx7Dj~N-3|S++ zi2vp~tc1MJk!oDkSNgKgrVgzMTy`F$zC`psIO-0$R%4AzPgk+g0+S$v*1CRdu}4ts6kOOO05F&?Cf0IW%M_C zLvx7RT)ttT;|$!=X70Il=Pi13=v}6e6T`VDapR z`rKLQKDy_}JgKEmwVEZ&qySIYte3_~`Cz?H&$DF^6f7hz8M*`Lw45=(ql6{O-pGIw zm@h3viLRoL4I(`HVc)~LII?mGOI7~PoGLLCs13PN83ao4LzgmTEzzU05?5SN@jX=# z5r4rJuNf#?JVeL^=ZUWW%zTwETYC-0ezRII%YWQ0fTLI#TO%m*YVrvY9HWcGhEz$$ehVFw5G2@1 zPvRhRc>3=xHFN$PA|G~hr+chDY>xKm!yrHPYkfym*hYh%CzX+fZC-n@Lbl-#7JA5Oaj?b;*`tKKmiI~K6-~@tAl*^v={w2V|M@pF?Lbvdeo~+G^ zs!iSQU}kb+?O!#Q(VN1GXFLE?*8qu0Nyjb@q#r6MI&CcLCSZbwu*Xp@rs_?p*-GxP zKN7}j!zT`zEDyBYwzAZ!NxJUozux6Vjd@0z{s~~NkAz|SflkptrK%8ijejDf2HVNK zq;kM~JQRhsy43U30GCmJJ zOTx%lYp>-}Ko|>IBvn^^)wc~URrbu0Y1E1*?J>zwyTgDydaOVFNHpfyxQvKqDQZ3u zE1@yD$CQC-zNZjpyBhBb$C`V34WAeKF?x!c%P5+)eW5ZXf)6mgJ8&q{oT2dZ96QbN zXZ4XMZ}3oqWbRcV5yCjvQF-}n5MK=Y4x{Z4?yPYThgVA3nS($Ft?Itm(>VT#g7_b3 zNOnSa!_Kmchw-zZ`8l)FU7s0_2Jc=g^G^tq4&&0M-H`}^J>jREeLaAW{V~7x_ArIk zRH0r2aA0rXAI4`Rqw3JvZ8lG@Y#R!cScwwC9bR1lJovT{61;W0mhXlGu5opQGy}Af zdZf2EOICt@K2hi``HI>2FDP>Ap&x;*FZ9r-x0(|(0`|meQp1PGAeXPKs0dF600JfR zA-~Chc#gLF|2qLGKc@05$c{gTAYtC%O6GUpj zX~qT39NGu^nA^gDXmjcseUr4R$K0YQiponbSmip zBIu(T16UsPVOr2Yc)yJ`(Kx; zg(^;iApcIYHypZ>?mG5mW6XiPG*-|F&X4L*KIF4uWrXNdRUcNw1y<8v|DZCV@lyzD z7={ejz!Xi#mv7AT?rd(r3VIc=dN6sAwM)iod&v@SMq!ot9ZF39asdvb;;V@F*V;753YGP0g8@A;ejI zt+tX;DKPlnZfdV~MN;vmutWILg*Y>J@kEjT1zZaA@|@-T7k?+v%-B|*j#{xZ zj-xzQ)y3J*UEWkZ2mdkudJH8XK3YQ)gr2`&fYqi}SJAVr`# z?evRNDfw`?_ib0XNch{Rr5Hn>nN7&!@6;e%@|?JfJbZ&}P(;1qZYDKrb@uteYVNOL zS?bqvsdVG`o?qu0VTVuFHDni`QH@?r$SzJS;;`_|r3ZbEjiCaO^}Ht)TDkCLd-2YN zbiw*odrd*1z-qhbZ@2R!q(I&CUNM@Tb<9;BRKm9s;P_N)vwv{5nEyC5(@XahdOeQLKnI{)n&YgG`7sMHF zynkOHd9-nGTFK(=1c)-JMK%m>B~s=nZq>frL#|eabD}|CO6H^h9U=Uvkh@R$2kjmt zvXjj1rS(aCqF=@a@p>(QS1A*R>~=c@cXvo?p9aMc;ry5K3Buz~zd6&5^gyHzMVIvwgRJ|sa(jOJ#5@muY84EvmP>s zXDqT80OP|l(l=imIcec>skkQ7dUq<7c;eN_24XjbjqV$UrO3bM6ack8u(Dy6&{d;a zC;14T<*H^9`T^+VL{sCPh4bymB*F*?ih#hnL?GAdxJ<ZR@27kg-*?)T% zjVlP!U&qMvV=QLlu+QpoL#*2yrQ9U^jc0*+3TU_$w@zH!J24ARp~N92Y3v7DTKuPK zlVkLRA@Tes2V8Jrjex|4=XKKz7O4$GR!@#gc6|V>dM-qpg56j}#?Q<(R8(4M4(Llo zr@G4sMlR`fCUIMR&61UuVql4%DBB=s%y9J99RQe{C|0K0Ani@kVbFhvtuue?ZEGD+ zoF(gm|D6Q4F2!PsG~IUdO5pZ7?qN0b9M8*k;0v9Z!&H%M2dC`l&?d(01FaIkAn&z^ zNt5pPm~e6~#Oza~04qS$zve=2)yPy)4sSkVeN3_fBPlB=>C4<&j8o+w^^GSF>R=9d zAV(TB7=iimx+XboLd}KC@s3~h-lBecyP(z?%&p)evRnRn{@Deu7xF{p9CG@b2!nWe z(B1KN4614_ryH`elO+^-2yqrP#qj7;r`fEPt%R#J>OZb#!s>8QE}o_FWt_Pds%qWF zHw3SZbujAbQv8C{GI>swij!*x5~+3Eh>!aI_$GdprSJw%k!#HNkQAU< z5gOd3Yw&khXGsXYFbHX(XBySSDz(n-1yp|WV;pMEN`DR9SDl!=hr@pzT56vC9oh@a zmoEo($O+DKqJo+C%w5#$2JWpZ2#lxyz;+LVHFP&b-X_kA5Pc)0{b3UD%M3K8N~*xq z8d#f~a&UXigSk}V+Yx=gOynF` z2b`Pmc21?N6qtcDA@0aGQpH9jrA~S}`BUI0E>(2cE|JUbeMywfj8VVSAFA@NdHp$A49X%ei=%nRP#PTnwaIl*A{9 zN{_(BX+zQifghfdA#J+cv_%f#VG$eo&SXawCC7rv`j%uT3!u{8%yzU+D(CcSLUrj$ z=2Pt?0+^;z^2UPuZ_JJpIQp;mpPeFf<=`|?DJbQD`6Ll^A<`C2J`v)ayRDw5e#c=c z^t5zuQ`wrX%;K%5P0}A|-qQh>8`fQ+#M|KQ59STxg+kCV{*~B^)75<}kC9lH7_Q=h zkmtz}%Ah_h1=s^BTJ&vV|v(nd> z5atf?aMn|i-JLu1lx7QkpK0?dgjXAyzhwI#yZ{=)4NDCxP7P1uUX z4cVAUUd#;-m8DO*i8a$o2xj&C;XFy_ZB>DUsh?c2c=42BQkqJ0-8Y^B53RC zHYS7Li*8_o{ycW$WpQ2S&Ld(slkB4R54Iqhq^@4)uXerzRcEhDH!cvvBi7*%3SkV@ z4XD_-oExmI)?YqXHv(bvpkdlCSA}(;(P8w>y}zN)Xp!2N2W9)j7wPP;J#ZQjh`f?Z zy*_Oev0Xx-ceIjfX7OtYW!EnAt~N}LhE8;cZEyxL*fol5&EWdex~xf9296bxNK&G-so3<&bex<(fF zX}ZW`)2mRJm&~`cZhf4Y^BR(|OpA{>uP|KSG{s!}XoI12N~9*V3F0w}6MGfmkjFim z8ht?+L`xdiE0Q z*^r94|8jna%UM47a=8GsZjJ;$Y4nI`JHTBbME%?fio%*|Eh4V3j~$s;KYkddqOE@? zjZw1gh4n+MWE-^xthKWczoUByN5~N-o12mMDwTr%&38dZE%b0uxWpvVL9fa37|M>Y z#$rv$-sM}XJ6F-;U;2Wsb2^W`S;l$Kruza@QCw46@W{4YmzSaHPu5=sv&5iG3Z*ew zsLJxaJ0`a?j$QPyiiV+Hu~i=%blGusVCEt#_lI4IujdMDTSGpFsMjuv{%u(uPAPQa zhNQgP99#cBL^uGe@i1r8B&;ERm|h-n>mH;b)6S>3t)z>1mlS6Z$Tt_KMIT~kOB-LE zb{mIFLOj1ccFx@XiTw{&@S6|p{1IouQfPq-s@LTF%9e^|uiqxc5J{^RlHcv|f~TjT zP7T<8eeJeLy1}c|h(WujH&?Ny6hqlCHhN-{^~D;LN9 zrdeQSkBKa)&k$g+;fkCa962&Jg=uBZ_XXYeRjY7+L)5S__1J9&XRpI-MyC1aoL-%8 zlebnVAz}3$;|Hr||NLLX|H$^;t+QY&sllBMs2r7+hSmBobLVO`T9fEL!1U%ObE*QA zixFl_J4ZE3D51DnP8+G+?M$3J@dEy*2J2yYlOz#RvcsC$3hf$ol1U8QzsBPHMEcO+ zmNu;cT4CnAMDH8PsX_snV=CId;=&}!B>}O!No5p;8Qs7_+8vH*PJP8dIF*n!Obu$( zD6V(CcX)nS&8mtCA-2Xn(~QJ*P{7nJrO_OTV_=<*x?^R7pf8}c zhNXW+QA^dz+j3pYHG3)}5}PZ2J)LIkDkZ#*5)#b*@(oB`!&+fBSJ%j27sM4P<3>dn{ty z`1S|>yMFFyZgdvgM#ll<(F6c&Ya%gF+Ot~nGXu2YljPp2!BEf_B4n)jWGSvevLM*o znn}##LVFe45`-qD*9U{sxBl+Avws2z((#B81>z&#M9MFA+XFV|D!F}|Q2IbJ-E!=T zMm3TZ&(AhTZ#c%*l*fVypanC_PJ5_G64CAri}#Dq6YFGyq^M+=ei+=@FZYQ46oWWT_fQ3!7>}r^v6_JBSux>;BOkqn%0L;K4#j5+qva;VTvM_ zYdTSHyZPhIvA+)#hkH~6(g9Rd3u$uT<;L!z88)CP;7b_Phlt@|;fbBT556npvJcDn z98Ku`<*p*HX#!7*%|*u(R`zSTLfjd04yVEvc#)47L+{_+QQo3?}H8)Xr=Q4OQ&z3q`k&O6T5u*?otRZe_#2g zoZ5Xgm!c!bVMP>>=-fmQp^rA=9x~w5n_$<<5gMYHWWwxuwexZTc<8gz$6&+K11U2*TO<5?(B=1uI1KV({5DM zB8rLu=RT8Wr6+R@QA#|>=1nI*8sVW)EPYYS&j69T)YJ12b7I4q)(zmBI z*hxpF=vB}@BTiqjL7}&u;Vb$&Q`J3JZoHoXgK*iF(W*(IA&kcrbLW_m`@};wqBh3_ zs2GUN_wx?||J%6G=bLBJ4aU<5J>-1J8AzyeWS8>4(Oc5^cU?-4`?KCcymU~ z?T3{%1-^#b-^sA-UQ-c zbQMplI}?JuD}T`f)(`h*PRsacLL`ub`&La05K>kxMq@{&-;E9sn%wXD-WBEEttpzm z4Y6loGAy=MN-KRILsK8ktz)fD%Aj=$2_m z^lT9uNUX5=+iUctxS>ZtCHaAo96w6=S~zbBzb3Nx^&+NjyZut!g~^7SLW^WyrOSox zA?t-o29`N+Y}HjkWV3LNn-R0(BUBC%9i5tMX(-)Y6FsGi2&}bgoPU0(BV}Em$1L@5 zEDvB#3^6T<$}wI8SCCFiO-dbPKtvb!{r7EuuW&Q7=s$fYKt1CO<)!X-t-<$7X{unF z4)RI7F?)WWR|7rV?a>Zkh7q~9e)dLqhkmmac9;Hj>qq8hH1O1kvk>)X6tNDMGY75{ z<7SRBVWpY}54^;S_}O$U&L=M)CH=-xTGnFb1usn4ujRet3;Uo(y&ssfcLt}p(^j?> zS?WOWocqHZGQC$xZQSwS^Aa({eK>(bo+65`5#3M;q(3QMf_ZH_`P=2-IqXy2Mr9!! zuni6DvTjI`%^fH4mH&H(09pgwP|Mr3HO{JEXHL6QZ`PV6sQ5aeWP3Pq!{`V#!d{k& z9HiITDxx0`JNZ_H$8W<*4ym~XXE4d!t}%P{0Tk;=E1UmQgYGkZ2`W}z{ z(Z*mTJ#bCqc0x(U3bX=)?{)t_wRTvz&vxK&%Xr%QZ=f~j|9ov)IqM{bODZ41ndeB~ z919zmhcX`=!;#b@0#H{PbHe`S`9d(lcubU8kC86!M5qeP0RJm0++!PzHK@D0&OiK1 zV@NW<=OKkkZzpV6q8rs`PBJ;LLLBPAwn&QPQE0P;_~o|?V<_YDwC zv_||(PvOSg6e~T?fl`HRc6;uxzqMVfvr_XoW4|iG_=eSThy}9p#*s)>V{lO)G&)M` z^&siP%ZJ3v&^X)lEoL_2PrV|ioy(}Dq&PByUt1{Iu*zpVV08u*{Gw|on;hHD&G?ku zODqmB#0~LqlOOBGw*JqbZbZh?ALU203Xp+fJHR?U3`P+k#GDX|fuclTl+7?u9wV8^ zK0gxa;TO_5%;BM+$Y5{QfxXcb_)Ah3nlXL62qF3>8)YeSxSytZV8kx1+$7k7s<&E$ zS`wkYFwfo`2w@Q)QW-bCWIP6^TwFPbd?M@Qt)tgGv*n~uR{b24z%W0mJS&wVd*Om*b zGcRCPuw#D9qYw-2kx>6W`?OC`bzDlHkFhk7=Dmtd9jxLqC*Uf}R5y;&?>+4t++B8T zSW z8RKvOcL_~OA!N~^c<*cz1Hhd-+ROzk>t`>d>e}DwQi;?J(2{KQdYQ0v!W5PNw6kG&**a!{{1Se%KC0id zD!DB#ZVKl(?XAyypJ(Vn$%vEKC=grXj49{tfUgmw5<&rLqQkxnW`Ngud%7}pb|Nic zAXk>VIc^%krq+cLBEm@C|6s-gQG&a?OyZ!BDj(k}in){ZbYvH_eGbwN(u;~U#@)H|#E!gyNA|9)WiAmqFZZT2yC;%ULnsIBsU5nTLCasDDsIaylm+m}Z>jwa&NHRqIxtss^ zA+rXX*er(#>MjSWOrJA}4B7I&NJz0Aa16>O@>2s(SqL3~8lNW))1+N9HO^AX0GMf{ zOBz0|oJh}&SqrOPkMRXR8krE9417(DK%n~vY5HD#S>YyCW_(ecbxiR=!>2J6zfW&2 z%@>}-(@KNe9kuWwmG2?ih24d>2?_W5Dlk>TCt z9m{O6j+!EigUiU04JA~9E#W4vK6!KS#f$Q6hOTKK(5fJ)lnO8%!UVpuHdbg7;{qr9 z4UMr~9K?M*0mrOEJuI(&NDyO@LarfI^Ardt$}6WHeA}3sj!sbTr(qQ9=D|Zje$x>o zs}iDh-Y6<&T^dMNlkoFZG_96CofWPR%$4kZ%+5L?R@wCWLe?Y?`# zL9>d*A~K#DXM$lJ;j?mPcBiU^|EEv)QN@|_TLX8&Z8+fGGDLu$NXl12^J|%)Nv^!^ zTCh@Kti@0(^A_~=!hGSdm+zD^as{M)xrzqc%cK?zIP=`i^kyz~7;#~EV0Zek$WFuT z8MPW$;?x$<480xA0&8@zY;CKlbV?ohP!6K7x6~GR5ncqM(4mRI=CVt?TvS z>X_5h3foyWV^p|kGVKz@p+CL)6r{$m-#Y?2enGVBr4?PSIL1!qO}*wCHZGGqqX{R{ zdR+B$ggo7g$-WP#;M9))o@YH(W^4O2v~~Z`ii&>|qAghQfu1d^$E|4IBT;kNEoCzx zU;LtyyxJWJ0bG6TU`YQaJBK0N2mCw#Ff`nmOO(YTk45dyeUmudV-uobYtb@&A~7Fl zZ>2-dwD_>4_e}#2`E^b~ak>3GI)1h|Ws}!|nDh8r z(jv)JhQA<+qdwW*-PPoNj}qCVJJ6+b_KFExHHV|7&#+8X#(m`M<=8dY?cFs(+L6(x z$iBXb$60@D%rj}7z^x>_mUMhn2nKRPfcM1!T~37`bu)_FQrL;>6(Bp^_YLIz-*F;s zGyXtS<&ymhN|y<1EZ1D-`QCEugf+IOrkUOQKp9sW2f~?#qduV3AEu&m@X_ftJN6R5 z)RFp0fuLB1|AMO80%gQ{qcT&J4-97iz$+nCJJW7a&3sFd9`;nd+(0Xs>G){4%>y>< z$^V+0xca#)uZvqt8zYjCoO>slqz;SJbRRoAWb=o(?)3vOi~8vCk)p2H<7z`H3;KMM zuhI-2Q1F?@sp~cSb4O9_jj39c8Ab?&ku~GMsRa6BpHaW#`hc?;a4aN#T{!pq_%Vp_ z9pd@kGKpeGzLcZWR<0IZWDefg$Me|~l_Q1jHURGU5YUKN(jTNk=K>{38zIsjb)`0u zSavB2hxaTE)$S))o!o{Vlz7aE?gR&=pY=!SOSbH->*ZGg!fI^&7wMr$a2vOXx`k4?hfWP6&3@eRC)xL6C zn$n8oe_PBHDWriVQ(; z9k%I^cff-uIMny2cVy5o-skIXi>6 zlSUwYP$p+Bk0*4)-t_#1eorHcRP_Y41u!IC?5EL~`?8Sb181ikiK^dL}&eU?pmJJq&c0 zbC0i@V!HEBbtvM#JLI28gq8Q|{g0c=&|VYUhXW~eP72Y;-R2MTHIR2hSTXWEA9>c*E47@6{39C+FuishqD;Y{}xREA{t`?err`i{a>xnI7PH)VyV4}MSQHorNskWHMzMgiU0zR zj|KfGZ&Z@^{m|p>$qSMby51?}ZzK+6R>3#x(b_qRdq^eEBoZNxYxA5`cQ_<3q3qPt zG?htN9UioL6ZsfLVvduU#m;6u3ai5!2&+NRQ+VtH6z?DL@atncDoQK29HF4iRwhi; zf6>H^wAwv6)N^wQW5%Y>B2lG{j`vCPCCroX5|D@M7RUo^GxG&diEr?M`{^L3&8Tqm zboBwcmM`J!ap81I^P#M1zO{!Pu*VZz#?n%*Qk)aC=e->_+p(g6#U6Vl7(kGw?8g2& zJ;Yx`>5OJ3Hg%AyYfVrwH$y6N9xro)FEgR9>+!6-`}lB@-OLG=^o{Hgn=!JY*1?M2 zYR;?08w6Gp?wTAHtK_=Zp^Ji3lmegAPkh8CT!(RTp1~gy@SQtHDA&?z)9ni5^tl^78Jlg%LX z@c_pmAsc>ull$6Qfw?+wT(N$~A4F0MOa_HX#GqW^JEo%0 z521YT%Lf%h*`)?wu7%anC9c~_d;ftBkW>#?5Tb$sPvogJBhj8vr|4 zR?92^uBv#+O{(=6j*4rczL5pPQmvjf;s<)7-usbHCMU$^MBO7tGX@$0+BV{6o!IPC z;Vil17gS_F%DXdNo1sNGxShMyG2O6MKv}>=phnL!6G200m&}i2?-j*q*2fVpQdPdT zaPMR$LBp8*{`(O3d_IoS;>1UFEQxVMrZEjQ?G#n?s1i3vS?Dmv2r)pn(Xb|}U?sOZ z|1Qk=YtnkuR@d%pM3CKYwQEbWOak%Ww!T+nx3Z*2SLotXLyDxfYoJO6N6eN{<6<&} zz60q-r|?6uFURnyGYADe=RWSKRd!|X_<|5TJFJnV5nKLgLZ1ACZ1i~Y6u=CSa2>pm z&$|tUC%IKmF8ZQ6Wof;tqR&F2=Y-N35qB=WoKn!MJ|r9=Da8gE1B%|5^mtxWqy3>F z_&WRTi1ITcfJi^&7Kr7Y*{))T6U`n&^m7z;nvSc0Mx64+8}bYL|IuX=xTCVgtNkwM z2H<*NRJdw_J}r7Ot7g>w8siTw`r+>+EO&p__?1Ey1}-ZbF1l`yrB@s6@r#@l2V|i(RX#!1 zP(eO9d9;WI)bbHk`vSRFiXm4;I)yX0mJD-$lpMy2G>7h}R5i~l7YL>}s8glD@a*GK zJyltgm4u$t!T6CtjOZPXN3!A_Hn?ju#v1M!9{@PZVL=^Q50NGQ(}2)iuE8gU6qskH`sNz6p8m z20P20De_=z$HK*KSX20D8NP%)L74Z84Fa z;!!N)nSZOUxKu_on(?ud%ISJE>=Xcy8xvg*aupe(n7Vqs>ho_`6hI|w3Y|lF! zrgehXN2|x|+Le@6O{L&-u8>t+{h(fwu2I(k>`tZCTK_AaMQ5N;{W!uglc!XT@n2(h zH(-kpUus2C0R|2>x3WI)LkBP^snU<6gMP=!loNI@ ztRMxg>RzB+NNx~dIBNXbL`L3XxyyoY4WYw!-Yp)eaMW@mGDBosXGu8-kDSCo@h`|7 zcCT2WY&8IDW~8Ht(lX?)ANu76VJ#iX6ZN#nKH9#nPkCuT5ws0I#ojvDrYG{Uxg4VN z6ZF@Pd%uyG;#y)5h?|2fEr6FO^y*lw=F|5TF5>PFb+4$!`r|iCqiIVER8NKL6L60(7w3O^Rfwj_i zF3COxb<_>YHMzfNqCoLSCT%Be1jVUCyfCPwNG21Wwzpeo?qp1nk0Zo|kv zN%)}Tm-Zb!zdpNS&_uaAsi?;?VQ)l66J%?6f#Z$rXvFXx{60eDE;F>oRB1`r3mCLK zOsNzTx4|%Z#0*#QvNhj_xVn~|hH$Y|*~-tv!|q(PdhVeo<2JYo3s;sG{7Y>6wl#aL z-q>-c;kd2nbhD)zuP+;?Zv3#6nk|^!xv)Lgw7UD^BDAshj|a9D#2(k;9*t$&z;GcK zIV6WT(3MO>3Y%*U0@0RLdd(By3-fXick(AUk*O54yGrhiOAj#Ak-uS`gOuZctt6Vk z%W$I((VEZVshjOPN%IS^Y zG;(o1=(Nb*l#2uFn!M4I(mlUO#9^G9z%FHC$637q8)srK6^F|vnris)d*Spy@WSBx zHaHCCJ0-GfgIPZ8MVtOgAg!Fki_Uh_iBCRM6@uO!0n)7@uG?~-frp`MgVHt9JEvcC zYm?X>RCE=$o*-9U%^}P>rR*BVR*V`JWi4PsFa1a_!U9^)yMtYhlwI&|NI{S_VuxE2 z&ER&{7u*%F$b%qYlh7YFL}jPzE?5O)SOAB=(7TcfpHIY8ng@hz?fbmYZDut=veI+z zVJ7heN8YOJKsn{y(*ZCJUIgr!w3#yF6DkE!2VkqngixXZn_txs>z_V1SV9NWfJvVBgt&XAUczuAeaA{n}-fh^H2K>U_n%sOV*#^CT9!Wobw zsj506&E(0Nt_e$*I;FtU$hcH+t!qaa&m^bN>QGL<%4jZOi7qeM3^10a&u$8LiLLV? zC}2-yXg;mQBl50O))^$q1J`0&w=BkcxY76=TsBshga(z~n^Ne@`ifXneR7tsW+Z_x zsXLYE&mP?SwHNxPb_lPR1J^KK10YZ>lL_po6`wY-c)#gO1-q~LrJ~i0_w>6P*Pf>W z9A`lZmXBvO%UN0z62%9RrmF)kIYVa}nqH$$jY1OvnPY(6Zp;545u}ING26YDx6OiCAwNz&l6uGbY5Q1~Em^@PMe?0!^$3*==!;co#YUeWd~&3I^$@EtaI>n;Hl zqbAf?mGHT~Y`@ zn2A3i9{*9hV`ZXD*8jcA65TP_Eymne%+sz)J$~8W=6dO&7n*5=+I$8|f%jl`d?2?J zXT9$>&R$;d|6tsEz%Z!-gZ@@J7cUVW<}mAMfFNdblD)D9-+x34c_rE|is+ZiZn4Ct z&AIz3%{P&0Ag&Jy{NBpBX*b1lFR@#H1i_mm*O?C1&ASxeg4pdA&^90DxKw@e2Put6 zO#_`s3CyU-A*GLAA%3;}S7t|^Fw)NM+SiKZ*@*`7_Qj?W`3SoY*8{h+xle1X+@ zW1HkwuE3*d_>GE#*{S_7$+E!>7T+V?Jzl)}{J>H8%sK_!%mWyWrVd~*jUSt!@Y7^H zxoNHgvsWZELB%A);&~FGF0hPn%NlP-3%NsQi^&wf?9uqTSL@=-YYCMDp8Okdl=4D^ z(r|T=LE^@;epvJd_m6)VO=+tF8OEn2QFXs5TbOtbQrqh#E8GGG7ba1a|8TeUPOc7R z-n%}3@KyVXGQf*k8JMU~a=}g>pP?c7V4WD-TPrN;W_oJA7&qR{8!J7OX>UQsAr!Q)|75N7~5Ab1Ud;0*TyKt4%$hI6V;v2MuD+&jmOy34%q29aA5%fRdHP zzdJuRespRP9J}VgkLv48%P;{!=@H#*7*ZMzt(@f|07<~V{E!UIu`?a;U87g<>aGau zOA!wK6#>d7(V*uaH2b7Yfd!QJ7qKuI+=wph{31Z?DKYadzQbu;P9X@uz5>bO^!k7I zSW-+zo=q*pHGXy*o}rg5qMFnw%-Z%8Jyrj*ys{)hAB z2>U}@J(-u)*PK7Nrizd$@DSa{y6uATnbw^LU~3xaJJv3{mJBo`#S;fK>DV zk+jemk19L0t-I2%tmJ}I2lu5B&KbXd;Q7m}PMt;vI}15z73uM(NJ!K_4~ptra+4Z> z;)al=r#4kHGrAW36Lz19#Tv+_AL6fwiHGPT)Ar9Dc=Hmr9zh#vv_YkX(VQ#SHaigd+jQr++_K2S5`2Zw4AB^X%kvFNvt9 zqf4Ohh4M2|=}#G`Ge_*1O6Oes{lenXt^|Q|5rNKLcBY}T? zG{>-FaQ%i9pqnDiH{*hdu9WNbB@QaCy4&U|@^ipMySe_0dQg5UJ+WMQO)z8VP6_W8 z`7*?ci+4(^x-l_<<_)JOdiF-Pr`*K!hTVQ!ZR32(B{?f9@chsWrnIhPIp;YYrS+v zyR17$r);Q`O!0h1$YM)z`)mMqU_w;_Kz8Mwh68_;6s$AbHtE=CWFHRA;S*1@%B~J1 z(90j^B0ykyRtZxSVv9NmU;UzM6Sgyu$GBbDV%Jw_{qmbot+`q3W5Q?{abt0mS{%LNd`Ajj~{X1Z9&B9ZVOnH|abT z4?C)m3uX^W2~@(D=>|&);9XdxEtuT9pH!>)a{3@Zo%7mtRgaUsf2Px!V$TlP$zXdM zn9))@q;b6^l*6Vl7I_HfdpWac3iye*e)!$@a4a+77?|HXp%mL_tN5T5ws>PKxqKg3 zal}S+$;(T)ha#8wh}K4I-G95K`}`c3Xu{+_`;2NIZ*s|-VKiqwe(>XzE@}7=M2?+i zs6}KRj^_JtjYB8)Cr|^Ad#@JBtXBZKpq11ThwJjZM6VLvM;{pmZ?2Xp_o#lyer|d~ zE*rAIxjT!vJ5=^3TZ8ZJGQHFeTqf14^K0Eum$iSRPp#_|;JZtJQH{OV)B4aQ>Qk0$=@7^ zTq7Vy6Ql@4?26A)Z)u|PU|^H2zOSJ*uO*aw3rPcB`MUnY>g3K(1=i-4D412UIG>6T zsw~|o;aHf?1-W`Ezj7a#HGvT?3==E^L#4LGxFeSAxV{^ak7ep8zr+@iiJuPDo=njMQQU>UBVDccgk zJAT;4^mlSQV(GH(8zNQHHGOxPHJll%`)pQV$_#1dfKHOUw_;!oMIoN5KGH+LRPXbo z)T6O+0YkvZPk^F>w)XD=v6k}4y_Rp8Ec*gHeYz!1_b5Hdwg#x~(gXJ^)lKmcrXr166Ego+L?;P>tY<4EjCG|@1|g}E;J9(v@cHE&-4-jhF_7RX{`<3 z6-iix7%ISFN_PS={xc0aW!*?-_dU~@u)_E?UzbY0JC?G#U zElk(yCK5()tne>xigzuEQllzgf6r?d_o8F%d4pB-D=lkGIrzHSFg- zP>{x)MFvP<$b;7$r?84Ikb%}$plxBA$3A4p9?L3f*Nk`S$cS%WC>jcWNFSpdhx1*EGOrR8{#3 za8|XO;63dzFnbJ6{%FWM8%d|%RE5@5ot~}ATr#hT77_?8QTJ!5R^}B?71I%o&le-s zZcbD$z-btN+H zdr%|0`A5>pkWFKSl4=|A)joDz#E-EgHJLAokVP>k$gijm{L8!dWmQh}KHr_7q{F?_>13C(}$I48mJ5wZDaps2%&pLDlq*Orklzn?YNi{wA2zh&t z$~wBoRfLdzLxjFo&= z?v1i4xbmqT|1RQTRlMt7DL#ekhb>qC(-z5;BjD$CSDqYOI@coSM>&M&n&+NTbW2PDo*`aF&en*v$yUxsxnD8?Xaez) zSk{iiY~_yK+?p}`3p8)gC^OJF+{nRg68%vuOrImz-u>8t=ty+ywpuB?x?-Kl7)e-K z%CEM0ibRN74_gkMUJdk=6o*yyCV~#ADLz%GK!fm8%^9 z#5VNSXE2sY!pFzSVskmUZ0+xJ@SlwBarj#d`a2K?^^3Qv5u0<<_uf8J7BF!T*Wn(# zCwcWZS;Z_bX$ymJGwU-I5}^$gA2|OscO!4m%UUA}A+L;wc$GBcFZ>-dUZHrnCWF0? zb68Z9V7kjR#4WIe-JMOhQ{T+vJb(C1ZR(fMP;_J_#S6#P9fYvg+wV?p>`D+0NEhEl z`tJNjvyNcnj#bSnN{)+C1@URU?UrZDbO^OVJ3Gp&AxXy_er^D{^;GYly+>v~=;*mw zwKmWVWTC%TwXkkIxU8spl1Vrl00A&rNR^kW|NWfUoFUhZFXh>(fnLh$Cw z)yXRo1=|z9sKIgY0Sh_`YF>hulM?h_bXna4D4r%i#C2N{(lB8kM__NUrZ|2Sui~VY zivMv;htQ}sDF;HTayE^vPD9~MgkWbnrWASqQ^#ljpz(}UcDB)e*pZG|cY(z>uYE3M zIz)^umt!vYze%*jF>J+t_~&FjMGuI`!5r?aFPNP^hCd59 zXEGUNNr97FZY(@tV8w8ZZA?6Ju6TnwTOQ zs*~uIfC>U~J1&Pk(^=9fi~##A7=~g*h$$xtYjY3S?npv-gpk^ktp>7mTP=4ADG_<) zLH6aznhMioWV#!DB}KM%ZbmD#?*F(~;S+ZO3LpG*oZp?&oXUS%FTm zm%&|9s9H`>6>v}#E3Mid7@Ee^tA%W|wpnS_dpQucerBAj%EDmC|~kx%Uj1fStbq9)T=>zygDna!o`z7i|t03zJ+qDLxtu6j(k?d}W=kd1~k<5WW^Lq4IW(g<8a!gz8%V zh`xt*z%wwgDSh@JF7{Qwq}}an;`i^e-0pr$|FPFJEp5a7^~|tN8qk z4XA)Nh^`T7i1jw4vp@ZdD+;J$-i8$}zsqr8fAd38h-{&fEy=HnQEssc;&sR8%RHSuYoFMRhD>d?_QTW9D^V5HiHK(kV!LxOnPy1w9Q=I#N zAxvs!b%nTUZ!wH=0IDkjy?8E@1ChidbN#0AbVTnV9kwu%doAjlVu@U)Bqt1mhLa%> z$G6L*G2w>tXJXbmv2csfeP+>|s@0TY4~9MO0F6U1QIDCnFquZ8mGoJOJ&Ks?BEOtJ zmwu`V4|2mexvgti@<=yn%Iey4sw$_du9-iY7FHYCyiGyD4W?x+6Iu14L~Lw7qO!l+ z-&r74`?{{`=0~x-IgOzxbAljh0R@2nyzX5{pE>=2GrTL-r9?X4oCusK>+|0ak&4|q zMCVGZ^59l4*xGJ!3%5jY_D(oL4M|rqe_xY=ZMceViriA=8M=seF!Lpg*a6Bvpu_HD zs1Kns8o{w&6b9+ju@Ph;DU0O4qW2Kf2 zA0yK*f|43@dC>j@GrdHH0Q8@R;=h20IJjAMNnrh^W&|<{oeT1DU~OtA(iax|RqWSB zax{Aq{nskm*B2~;Sq$0EK0xo3k5Kn`WOxj=-B;!tU*Q^2=B}f!55p*(h+q_7)q?R- zoTENU-dNnyRLpq7@(zAN9dsleqyleFakt>e(i~QNJII5}fZ(BzjZIBJu>OR_&_dFKA9*hO zIIIPDVca43=H#93cW_&NBUs7*0X039^{F+8W}m(F)P(&X#SX>d7`2@8)+4TunMty8 zNU&EAp-bU2e_u$rJ1QEHtSCUYL&&Kn}2d~SY}#dJ!Q)~fGFuql}Ys+PB==Z}joweH1PCSD{# zLds$xfG?622!2+o$vghHn z{e6L`Q)qyfRe4c@Ijz-(Gc*H0)!t$Il$KJk*t7PaNY;vHC+|hJB6BsNB>+A~-wq36wkFH=69O-t7RV>-nf-89vw3lND4dFl&#ew59l6bTE40@MT>1 zqq`h=VuvJ0;5;~p*`v&1)wAO-PVU$&p}5sJb42zBhz&FdKeP6<%e%#3Ozr)HyRJZS z1lEzac6pBaMsTwE9Rpsr2gw0$__+>|bu$f0y&Lq7-i^W619=-9QZs)Y*MIc}{t^M| zHNgM)H3EuxSONa`iJ_`ue~oLq5)eIJ_`A+|EO6saRziyTF%44J?BphGLN-9Q0PZW* z&DVU`zzuPR;k-ZdV>euytC%tqTkFQCuBUW^YS5J@?qp@~`Uo2!N;X_bHP42SWf~3*+`5C;z)80LnD2T%|5>R3Px8iMd#Ko)#JfohM z4TUz=VAP@1bO|+%If&?J)6dJ3L%(p;jEF6KY>Df40};&>Z5f4K1i93}+d;Y%ErF1X z=QVK1(C}5!4MM2I=pXO?ldSfq1XcT?wujN!rBmQuA2i)#z)5OZp-O7iSZ!3X!1qt$ z%nMR&a8)N){i^j<>@4){Ag2o(zr2C54*2*RBtzpf_f+43R*&UedVb(Fg=EeJud9chZKRpcDoPw@m;!2dr5oMsd{Qm55WuOf*I6{k?80@gP;uKZ^THT zS@2~cXT=cK-TI`E68MlYblDk`S@Cf4rTbhU2KiSfQiqX-dZwBQXIv0>Y_$$qpN`|Z zoCMQ>ss?=G|3Z_H^3J)c`ETs0yH?G0y*D{&IS`O^x#KzCUNimOW$IpX-Hh4VQxv9% z^^sdPs#fnAsZC%7uy(dq-mtcr@06Ebj!m}l8_Xo~uR-PE;BGYB$CL|>+6Og@(Pu6b zNf89WL@;-faatFFEcGFZH9V;{*nJ$=!%yiGV7!&0pRrXDM z0WSlA;$XdGomtO~*>N@N5%Oitx{A(_YyfwgkAT7sN+-mK^LCZgA)W!dSQ zO!(@*K6K0#gZ<#I$C8M$3#-6zIf%P?6X0YJgIZ8N@_aEK~& z6HmFW?tsb(Wa=U9?OV;jtBwINJ_+@4?uXrkOmerNXroeKRs$lB=B}i!^qhJK`4q)e zv%~fOK0( z(LYVg;0;oen*9Df$u3-y+tYiY{oU&$HuIka*>wdnVtFpwms7oNRDo}mDJv<&Ffc&t zoqBbgwnM!Wp?t>ha_^`3wV?#f8ezGT{n^fQW?t)m`0ZI2p>z4c_288xZvu4<;iN0| zWB_%3sm5jkoxIIs7GzAJ?Zw{p-QjQgPn6sQl*DPNhXDDmEtkC!d zNp`__J@rD=L{Sq>em_RMo~;wd)4saMfcQPvhBcH&MqodaW}ZPq%3MjhclVE20aQ(@@d z5Mb7Xpzu*~@vR3SfHB*6pN#|vZiEc$;zJ^4oN?WV{ts|DMKpq^AD{=syJs_Pij;$v zau9j5oum64?2E))6&kfQcpXd)sa?$96pz{3keHpQ7RTtS5NYTKQNuKBH5%AL44Dn4 ztm4Uie2u@h@_w$C^OS@O5VbSn(IJmH^k+Yg8m{2#vXoWI*to?3Lp*#{Y+#=|p(!tz z6kH<mlqn_4Mme1$nqfxCuAGjQ?aPg2wT&U9-Q^DbKS691am zICFv)An`j<)iZ(KGlk#wjuf9wFpRk6wUQ-n|BgR&Tp0dW-H zf~}My%r~G$N}-twVL9+Par`5UnE{E?YvB!PlohfH#XvHNDR)$d+DI5vF=okFQ2=5Q z63>Y??D)WGeJF2HfOn~jEcLK(tS1g6@x*bJoO-w-1}ug?U;l!G%GJ{b#8L9M@Y*XB zKeY}jt;2D6)9OUEf7V@fuM3wSU|TRq@NMSgw^5An<8X1YHrWT@1ZDTnS@F0qdj&Qod8BiWL##`4Q_eXxFh)<&- zS{W&W@-8%8CzXsyj^=zI$}>hjC&p&J6f3voMdSgcYyfxq%eSZul&r$t-v{)N@S*Ch@TXuM;yON)ls4fF8Gp z4_^Yl-oTz8zvd}k!t@@L0y#eInV2o^30&sXw0nMlRRCyo8iPkkt&IV`28yQYYogk1 zK(Xj6;I^0JEL4TP=`DuoHIeyaIactHKDv-CY8AEg=phR@AKX}%yj`?(aDa8frPN3H z-i7o4{Z7*V$Dz#PH`*kU^N^jc7H0<4Z9*ka<==1Tnz-DviVaXy#(?@^?Huf&x085s zqSSw26&CH`i{qzX)x}6sv6dt-^fODcZL&Mav^GmC_ztWFG)U%H5rO5QC?uZUP^rj( zuYvSIXkNIY7GY?)?OH@y8a+C8>PziAS&)b%ueR5*{Ns1}5EG;IVymw!D%opuy$*R# z2g!>dJ})TmtP-7UgF8NkKOq1xF)5!vQ1INlG~> z&ljsWUeT)2l`47Q;4QjW3t=(cbJC2he{i;Wi=C00P%KGxn-S+zuzM;cs$JKMwGo?! z7U!XEHxzVx+$saJm$PV{PQ&TU&!Us>XBB+18Xupz&&tDvecaCRrylX&DiSK$%cnh@ z+O4zsT*zihCoqqJoQ;GWIy4!8bVJ$%Lk}#NRcT^@Ox;xcLkiS~I7jR$o&73ht~OqF zDi48VR24q2rTANMl-4=ASo^ukNDktqvEhPgn5?fbs<4|-8Njqp`%t@9O zMb#cJL}Sqlar2ci)Cj32=;OmLX8p+(0!S>;ufGT<2;f2K}ASpBb6`` zQe6~Z5kQINJeFdV#g`$h_Cw3|r#>+ayZilyI=VY)y=Pxb2zLM4f<|%wjnp2bYKAYU z_{c0jiggYgerf7gK{se09mYN*ae*D5Fq|TglQ+hZjI#O+mlk1G|5Dt3l;nDJYI;Of zOJ9>dvMvR_1l$9%d-7W;>JLj;x>*8Hnu5pD4a}YVW9?fnn*~~YN}z*!jha3xFQ++u z!Ebn*-f-1o6=I_sKZ+AsMdig6dwMDfX;JouN%i4PX-W&(Wq`!S7^n<&_hj1S=FcDd z@Zol(*6p_+m*FJ>q|tekXfqZHn0)$WD2^!-(ma7-yYIpWb` zv;624FlF%G9kpgG6DV|zO8SJ5x#@4lDzrvd*E6EWC-kQHDm%==JOdHL`ZyYH*!mMu zWvPk7J1d7puk<7@i`lN@?qZ7TNiX?$i5RV&LiN0XkX){$=7FLUhAxSmk~VC)gW5ny31gJV1S|UKMpY8&tkcUB zl6RZP>fV&}qQc)8` ztas`Um;H)r?yvt-1fe09Nl|TgZ`X&b<0#p7a}>u!jMW!yuI5QdXT)FyP$#$_okxMs zK&oT2O}gifgMGY6wraME?fMfdZkMh1z2;sCbQt4OjBIcSezqlX4a@l(ZS$+QrM~R-%2wY#|W4;b9HI>IlzQ94dn0M%7hWfY8jXQry(#i^{R+h zCQlsk5A4zlxoiZMu2quqk!GpC;cc8ULTXGr2Z&1lETCWz9bf*~fUyem9G}n(+fgzTw#SZ)wuHp(;Avk9MpgYoT7ZR}<3r75+?#Ot+}%lYgo-jX`4C8nZzm;( zSzMO{4n7L}?$H~#J0kLMyjk?AG7yJySuqxa2G?03|9 zzy&UWls!^_mXUJBp2M)cJIAe(RU~P_T*G{=-k*KgyVWp(QYC1;Nb=FvYM`*edL7ht z6TC^|ZO5kTsX`uA0<7g9AFz!`Ib*AT=o1C`O07pp&{{PWx6pVom0Ihl zp_oj}ZT>(khT4f>s;|C`y5Na-Uk87rNtyl#-H5#yO%x5TUbSMp#ZkybWQ(uXnlIS3 z+7F%4(|lnFfxxz9{Tc7&RfCQFraa|5)0EQE)zXwKbe!mV=Cf$4fRZ$b6uuw3?*kmD zrcRa7dmr{!4}j>sfK(q4P;7*?lTvU{`<6EuAoGdJvzxo21a%-aXkmZ}rWquK)J%WD zZV4`5VN6tJH|#z+|Klfk^-@=aD-^|z57la}dj0esKYJ2c{*F44!4=w;CPPrFib?^^ zr3MKrj%ofx%;I$k^7)-Ssqb?q9z9&LMU;zGuA9bUJt{XFt6&Y72qu(hyN$1o^Tq`b zoi~-}j{BZL-xlpteo|o&v_)POz0&W>H7>GPEEd)~^BLgC_D37iU!-%zp?Taof-!lN zNi%>ahzq5bEOHrrg`a6ggil$=6CHwpK;f53H8SS5Uu-I}3ZJWw{NXht291(o9!@l& z#VFv;;qdaXUt%#zZSIe*wyiBb)^&m_i2Cx!S3;|d(BB$fSldSKs2H1DFWbcx8ZS?gv5HAhR9~gYQ*>Uj*=^)L$e1mlG2ga zv%s}d5fv;ijiW{1V_p7LZWn5WJVt~KU$#Bs5hUPCd*b4o5-mwYr8+4Q#Mi?)o$v1|?+^@fV zAr4gCNrH^3Iu(M_Lk4H7jd-@MSk`1q-+5BGI)zo`_UlOq_@jBSU@>h?6i&nOS%oHC ztbK<3^h-3}gYoSFGF*{ZA0K5ObRp;iv^AtEVWE>{v|G+&5~4CIf4Y*?oM4$cQbRND zwHz3HC5dn8JHsP*;(xVdzDehe)YFpvj?hlB?}5R`>VGQ$&C-~4P_(RlhZXEHMyKFo zq~=2?34c@AGRuWE|E1d5ZKsC>eTzY3slipb z<^F2?_#t@n$on)9aYfIsT!-=Tffa->=%-P>n4oR zw^LWL+sX=0BTQO&N=?!*c|T{!{2BAb{Nv}7ss~`+$uWq7br6WU~XLspVAvmyZrT6$%a(r7X3T9B^G}3mouZ+R=UG zo~iAJ6ML1HcuxM_3jUH`^!w<0S;j6h1ZJ=4@qL67M(dFP4*SCaD3W`u085&Fv3>65 zn5h$Ua)acrdvzWAa4?$F4pe6ScSX^hRAm}f93Atuxa##~7z$Y!3BkDi~%h zRUd22hjtV;Sf;sJti--Jb_GD99Cdo*MIC}k#AJdOdKac!B}sQovDIbPV(d&NXR;S( zc0~+O^~jSsZapHSH{u7#c*(w$u`tDw4T}9qF@O>=p9}dl-{ZM1iE2eXSoSNuZfu_n8`PhTLeluy%^kmf}?7?v1~br7DQlq7~1hz&?h z3d8MdCjPyWU6ShH@EF^jr9d-KT-aPjFa*L1$usz~8!s6Jea_>*i*Y7*FO!i17D@5# zK2Z>*b-zV-*ErBvDc9+2YuhK7Y%63Ac?*M#782UQuZiO^l}H(U$<+l$O(=6v_eQ{l zE3&}AMaI+508>x*;UG%fxQp?@3J~1e@cfyZrj$<6zvwE}8)32(WdQA#%p&I+_n-_= zDsthdl5fjYqM(6=){43J0P}GOTU4cC6#C%eEdI3n=EtJui0fPNP6vcQ2o$*kMA??7 z->KHuo-N++tlkQ8gf+%bt1=1t{z_Khsd~=dJE9?%?RT zn;aiF`oor@`5eYi3|k1NqkQ1^)yrhf3VgHSg~`oiQ_PpY6Yv}1{S{hK3~^Mr zgrV`ZkS^N%$KcW9x-0T#ZbF+lQ4zN7*lTyh_zNhBJ>^7Fe*#)3z5!+u860v(Zc6(>8v2IdY%>`l7TQY!enM)R;>y?PQzw`m#y9VJMM(j;5db z4v9AgoF@=8|DeJi5^KaRD)(0;>O<7*3^X5~jHF?BWAp2tQ!~RpFC?8F2ANn}+7QE% z2-EYAJQMjrFbq+y29bB373uPf`6EHJqDYokI(!W!OLYJZ^ZQ1K{>azvOc4;Ca=N-J zYKsDJ&!ulYbbMQz-f~Q6aRo3ci||~o>CeDbc@;q^hJbDr;OHK#bWqhqf`{@b%t=%+ zSr8sJM|t00v521ru00qu>xdY=NJcOl&L!GCQD=47M-KMc0D+TyCuQUKzeJ!9>o&)$ z?b?q-K8TYg+f6wF*PCAy2g3m?H9)Lx4QjxQP#_RPmj>d8Db+| z1c%(NLy-MiiAFp3%o=M(ZytF6Uwv`tH=y+-{2!Eus9dmAr7PH<*ieh*cbaHbut(epBSh? z+0CzUIlE<=P`0Xk~o=)wne~;GGa6GPOu+wHM59oE;0G8rq>Y{*y8z~ z-~*;lqyY}wDw8#VocHyVw;g~8;Mm-lu#LY zO>Y)S*0tSH5Caq4L4|N<8yML#AIdEc4lLG5CvPCPQ8osoe_|pRuuh=Hoz8W=P&dKC zjkeIaCsFc*9+{u@UTf$9`vAqHAIhubE#u8lq+9{fdi4Su-a^9y?o`u{b1M75)V>II z^rd2Ri@yi?FSt2dBCmjrh0o=D!Sd5|A#OanYD0U(QMv#}STO)ffFfW0z6S8KcCs>= zsYLn!V<76VTt!(0Xf?4gqF02_u6{<0$AO`OHbqiQGe4!+6nZLeLLwF)YfB`3Wk0L< z6*k<=G`7}dU20e1OHc`kl(J;yS^Ctq4hs;qr?TZ5dE*NA#p-3!QucX;sJ7J&Y?k?-E#)@7Baw7SGK0>qN%s=URjfNsT~1m ze$?pW@R|5=l%rNrt3YvG>T89L6m0<80#dOBCGR`|s!VvGGpa#47Hnr;*O=NMVSe3a z*KKgg$h$Gp=g#PxgJ;KUVR!4s4>b}4lII0TZB&;ewHRh4N>=aF9`Zz_6n_e-c;uRg za0TZhH$h>DXZ76rk3bKJ5wu)E)Hls?!6-*3RmI(wnk}!|TIIy?GjS*@Nk|?!!U~C1 zX4s;f;--0K5-he%rR-Y9X8=Z%w<0o3q^t{=j~ChPZhb_goDLqg1>mVWAX6ZbQa~X! zpQ1*IVP3~RNvpw91Xa?A%vJ)DTv>2XH(=9CPl!+lTRSB0&H@^9ojPkTL%`6~2fL$p(QrP${u*^IblY39H(ud(1iqI0Kj7 zV0&QfR!8rkzO=B5c19d_SE{T@ireAxyru=oB^E$*A$?ZKxAy)nZb0c)AFTMVc~FCX zd7QQ-?4yiGdjmMic-9;tcr%c|N8$Vy>%U)h5S}PGJv{QHDrN0=_CTova>y4@so-+# ze*nqf%Q!}SV0rP{OaK4DE{N@L+Z4(SD2|AeufUn2K;df8qb5YD1o})hrDP z#m82@*J5zuxM3Cx?z#Eo9g!$omA-U-amAah+f-ZC4rJZJG2Tkp5h!-SEuCk9G3gI( zJC+){mYKmFTu~VVks?vQ^W|4qA%P<+_1xBSJkZ=a?&Cl+xypnz_}W!82y)Mn{`mr} z+2izKC9v7Ar;y=Wo9na~jq)mr&a$VAh~O`89|c+b32S}ry71r*L8!GA?KIGwdHSij@81iH&?DPEi+*k5`)JV1 zpv$UPVqevgYf?*LGe-Tg)kXh%+{9xQ!u--9Bu^O{Goi?ppK?K7j=L1aX1S6H-T!|N zA(?iHN*jyqkcR@^efz-@j>PEe(*K;>+B>x4^977n);)g`A`l+6lcO^t%jKWljPY-y z_^jli8>sT|tf&XTP##H7_Uuw)nD*glKBC;oq>&0$=DpnySJMWmpz>AO{gL-`i-EFQHA0w0v<3 zV^j}YtzD~Lk|{*WBZ~`l6QxJnHAgho_nw;(p7(_VS9Mw+3C_@&zMH@q0+u~~>jnUEMP&N?FNwzk7>_AroOByt`7CA%E162#|{I^l2+r> z)Fj~K1Od1;K2P6z=?5apeWWYsK^i`3^(IxNnI5&2$Od0D**nXSXg{&aH0rSEtCeyf ze*}n$UwN9s2}%S@urm=dtg>Ly_DX;+c@rLN2*@BIHDsk@WQ8lC?hoxhpLwE1%a_aT z?uyy6c~TZ8w`jTu)fC|22@Kpv4@2XUzJ3k_nO8lf+U4jv6H|c^)|yr16?1ky+0v3w z=xRG-1o@M`8C@kU`=`gN#0q`@yiRbfUK_hs2gC`~sND!%T10x4VR)rzLD@AOP9a)1 zwv5&wgM!XFXtQO%@bPX}cHlPlk+>`*(mX{hH#TzF*uk-u@1Y-h9I5dTEj$f}9|i)3 zI4XNrY#7gA+P%>6r>WV0urrio5=`sP{!Yt|0#GmCt3M{7H{*OF1Wh zTAz$dEYpd&d(CJGR8d;OTb&B(i$N;32o-v+pZpSyDW0vKWK;ez?y){*1RbtmS`Kge zbdqa3Yivl`NDyg#^k;Gkt^ORX-wvX-2=uH9>1DkJDp~`|Z|#?3L*1U<58>q2O1{0n zb;&}$Fgx(%(f{W;0PoqiWjGqqn|@y#WZ!06$sc|Qk#v8h<_;|&Or?1(YLeOTmBhoZi#BGJ!NHk z;;r(@?p)Q-(Ff_&8?#}GhR9>cBhE1Os%4-hF0uvcI@lD~b#2fB{YYF+*qo{NljKDZ zCSbu_-$GUb{M8qMybjaC3SupSn2$jsH7qiEAapsahyPK_4DH0{Tj)G%y8nUGJ$nx1 z9B*N6P%=J^5UE}sR4+3rkY4?JDGndZ!7c4YFs9%TPi$@#r+tZwB_(1Jnf32IB9&p&1f93?Z zg6_{sfVcuUZJ~w!;U^kA&S@w(6yn9fk+unP-2U24;x)ZPfk4>~drvMXhr_G>CyF)} zKvYYH&cni;^J`^KcD)FxZ0FMNK3?T~55zm%Pr+1QsoVxtOZ+O5F!KMpVqGL#h?MGV z1lbHw`bz{QC4Vo7n+Lf+W`9QNZD{y{#EnMm5vjtXGLWG=nmaGwyQEg6BgSe=!9Mk_ zHBSk1(4KAIpIltVr%3eKa+EJ>97?+k9qXHrc$u_ZZonJ3APb)T3x)2KTQNGvy1m(UVpf{7t(26P29DYloVQH`uQ)I!RFMLBc4R&`ft~P?9;k zJ?#D!h5TIx_%epWB(>p6!CYSpbu&sbnT?8Sas5w@c8>3J z;sVURZ`8C0gr`-3+}|BcQ=EAEd@6=yO)z>d?h66XDW;1B+_H@X-7W^lS7#&mhuRyM z!?LvBGn=zo6~34DXadD8Vm1zEin@+G52HHQZjlsFWp+FSBz@bPP>Y&0*yEBHmJXJ= zp1Ok#n#n=Cz1(qH8h#muJ_gDEqvtbHnL)w{*XcK% zyZ4taYA&IJzTN*JIs}+BGo_at5Po?ra6N`RXN!?y0A2zKG?oZ=#F>a1Y%VDwUubSh zs1+NC%%Nq!hgN8ry@kV#{jMP}PkKHW^;U8mWAkRoZdm(en4!qM|40%wS4$`?F(o>R zsc$~w0sa6+oJj)7%Q*`DC1NU+DFhOFAT<)FE_Bjr2sVAfWEn_d=%hAtu@q@2x^6YY zrPsj}C0tFKR$9Bf1fxnV`tY^jz&5-Kq}S0erG|MWuDa)QLJ>jb%wy8fm~F2|L?Zh+ z1b;TWMOUdhlu%L+7ZA-~C`)l@Z4<6q^_eUc}x>1Nn*RvX}#=2oy(bJHKr z!}T>T2@ppt?&skHl&!?Xcq6}!;1%#|J9w8}D-ohP$@s6Or46yYAc`bo_EUea$#&gK53DFHePR`< zr>O?0W+W=AK>0EDS=hlP0dKD4SJrS)qH@DcevC+#*8|cg=dzQ2Fvv{D#I6@gI;wks zR!;gJT85np)-D_r?i=369F<=lU?je;GDR+Mm!3SrX)|Dv#&(0$VGK6}A{8@fQ7oCO zW8lzf8&11~-5*Bgp3FS3LD%jEl2EktHr>ijY<1D#~h045kYonLG1gd|uZ4rp)F;bHV zmn_n_L(}e{LN--wd-&u^F}Fbh{FieXV94xFE72UBWq*}1z>e&hFw3&h1sIX-`Raad z?^IPfTk@6Te2Zb(4B&?&3fVrb1PcC17uMoLTN8>@bE%lqRJ#;*neq1nj)9VOX_=K3t^B3@F=Y*#iN4weMu)>{MjO3xp0B8Pw;7`V( z#C%kdIx%L3&BM+3-9HxK$yrliA`ZKg6G zFG)_9oj#ZzSjjghX*oz{#&IzJ5H;cdim%O$Q2jn3YXD0I$Gpu(8aV4E_q)HH+TY*N zqWRr2LUL+*O+AW$j=+VS;>T|To>7lKrFt(%jyg5=cAXMV|_!0V8?)Ai+Q-N#1}M9U@0_n?7gvD<&)o>R*+2@&weDGz;n zhNOvkV}QXIkP$&<$G>f#U+Q^rO0$eGyCyT2az1a@M;2oM=q0oDk%t;CLubXWmg)JC z1uj!$j=6J}t+=EM$-93u`|#S%;=V9%l#cG=e7^bcYP;$xMY4s$daeqd6lL?<>a;}x zgX3csixte`>nyj>(3#L3EnNlFqLdnVF>*Lxk+uo=-%$NMf$&s&5J!yZ51|v$z-kAI zF>mcP(2$1BMq+;?W}l=VT8|2~D*AHgD^WRS zQFSN9QVs~ua#=W}{AvJPqDBZ|*XaTbDeg4aG1cN+Oz!2K;#Lwb~Qn?)~^n$4X{GmlemhSrGI(OOpQY;1mSI& z{m@CB?D#A$zu+5!#AS(4s9>gld|f86!WPBt++nb+;7*u2?rbN8=7!Dmff`j+BEaLp zXLrXB?k~(iZUHTG7&o`gd`b+&l&^wmvwM|w2^7A>^26Zajdu**F4ok84*LRP;M(i$ zh$C4t^Q5Lpa@Q@6;fsitQtATC#{j+(ZE}8%N>{L~H7jdtqeZ9Spz+agKy}e)xog&4 z(`;^ba*uh;FD(y^3N&f%IMpuQoiA+{TvE}rT-f9%j?B4$iG^Y4H9|U!pjepMoD1RW zqIx^TUt(@XOB_T&_O!!uD`@y6z3&)H-pjJV&)UT=&58E&(9a9L{jQczGFh5)n20nI z0k{Rr%dl2MQZI9SovofK#Jn0=FRB>WNCJu$&+m8YKh zR1axCsxp9G6l_h4ohRrO-5g&q;qIKH2!Sq1)>$8IOrf#)B|5(oJNjM z)fmEX#qjNK&av9ZLe3AZpRx+yesWfjP^}SOz8wC6n-?Eln;$fn-mVY}}KIMYmV_<^a(2*r zhc)P(0Buq0ux-(USl|59o~mJ+K*s|4u%(khRxSElCW_Ag<_8A)H;kK%xIe4%oc`R) ziLLAULaqw%3vMcqsqv3gKsmolfA_b1J&(uN!iP1qQp>RGdy01;R{)LFtTk{W=g%Jk z)9(SfasCh(ug{s@mpsuzP51lJbdJ5%2hm zxDvb&6;_%55<+k9m@6Jb?m3F`P~Xa(?OTrIkDZf)p;n*jGk$M*3GifRuR3>@8TotI z&6@*baH7l8;MaMCwh`emoB+}&;sEb^JZq>A0w7aAdgzM1X0VeyDDee@>sp6?)a`fx`Hz!{U*@4s{+){1iK_Q=3zhy#Q zX2^x}Y*1&J>3)Y*6WQpABIow-&vjy785xMsK`@4>KZ69iAAf`~ml4wzcQhfq0FxsaBhE@-6163r6Vjtf zZrhD_ERp8xrL>#WvB4BV*y%YkNJO1W2)RsGH*DOsG=M-{W6+;1EcqR(pz(30UyLB6 zT?{h9nbkBGV#N^yShwrJsA_m(nO%H2abXB_-5KL|39f%?)iVt=XR%G-2YJJj=VPVH9w~p>e`N_r218w)QknN~PCOS~HD|tB>h+ z^wlZJEPKGW(666AX(>}eB{Qm#4Vg-sPCI-NRMK3SzQJs`?0YE`$wbCXO@C@{XClTE zaC~?hOF;F|?QRY-DSqOImfVwj;nk5`DD!`s*5$Hb1he8AdP&Fo-}RyD-f{`CTXdka z{L)h}o8N=XIZXh-FdQIfRTA2W+gQ$s;ee-PFOU1Tod(bK%RbB`Ljat3e7$lfffldr zmu*S8mgRrK!W`uij(WBThou>pwF3OJ#uIIn+eMu0&VWlf4r5+g#dJ^jRUxj>c4VFx z&WTBDyq)adWqx))VjaP1FxqWx>7WIglS&En) z1*+%|b=OhZ$8C%m>2 z=+HVe0&Z!Wh_NN!k;40&E!{GG-9pCyZ=b2laIIb^RKXq9D!y9LZeu@@!rQRD5`sJ0G^1U8QHz}MT;|PW@|ZhPb2y|nK1F3jpVk7 z$>p$iw69N1P%TDP8&gj7eL#djDn?BY0KV+eRl{S}GIWy5wxG0_HCNyX%vs5DJ(gtx z541A_Wph7BMlULP2<`{;dxg6(9p&xUo0ZVYe%Ps4AKJbF;?M8_n*hZ=TBRwd*4Q~W zsr{WRY&&XB4G|!2vvyD~$JM>3pBA$?cQz_afF&*xcKw>@VTi*!3P6$!#GtcS0^*JW ztR|NBYA}5uTB`%iQsRdMJ=b040-_OM1Z}Nc6Y6Lmn$zO z2ffsXHhtCl!&`&XLdJ-YLC3%1=U8k}3x!uGNJ`Qb9;i;NsdU)y)j*hnN#*p$l!&~e zTLlZ8|M3;aH=pqUhfI^GI6YhC6dESgVlVz1N~OkG5M{mYjD2Uk^CY}xau=G-w+)T4 zdg~tXD)0$vZkb00IJar|+?b)C9!YXkt;`pQdI_*|0{_@1X0Q5OmCUg++{p_es4v-@}3G-QlS8!%ewD)ah~wi1^?anD(XJ> z^7kN>$T`Fz}(yj;}CIh(0Ng zE9uQ<;oD!?yXMc1pYy~~q9{#EnYT-$B^h;@ZNxXS>zSIRoz~63d+9<3@PrB;`O+q) z97K$b!Bo-=s$&OP?NjH$2V>F}cz@O-;-tkefX9>ySsZa8+{-^p93c9>Xmgw=SE>}d zpIo>C3G#8v)HMwX@|qP0SnJ(78qD`)>!rYm$J5dpi+lHlTz~fA`5J++3-BUX=Br-$yQfT2q)|DRJ;zP3X5C?aOX}31I_ zO#s~Z4h#?5zF4FM4?sLF2ch#6RszGMlyNsjAnw&fYC&<4x%n%RAn>9kTj4rUrZ}ho zdfW)oK)AaIg&~U_Y(W=Xe@}RlxlYLZf{hN%iS0AgUCQPw@4%jlFN1@#t9K>WZ!?yYpY z7^U(_5O4WNg}PA1L3UXr?IBu`sX+pBdX+;mF#r)n2(>}?)a@pNi2`PaAQbJk&@*_m z*gWaPT)a#W)huLAQ8oidLrrR)4q9EA)7Uq0tvqi zZTEqgbnVY?gfzeVYev#nRgJhM!Zw0#RahE`)!FLwY)K(!#LWQ1zpHs-Rzg4$+hLob z7WH|{40Wb;y{RI582EqIs!F3a$y@5q=eS||cfybK`)r3~OPEr$a@^7U zGJO@Qe%=*gC4NgpDCOu^rK-V2VCp{AtP0_cAb%~ad<|;Mxo33(^>&wHlN9?E{$A}Rr}go z#@ZCli~>6Mwn9G6bcV}4S-}1=`K?rGbW2kC0fI0e8`bT9))vnEo zHt3t0BigxNJ^2H*#DFV5%R_AIAzMOSU3~gb;Rl;?`u|v*uV$(t8de zfGxq_0I_epln7)av-k-vZ$@iIHxYef@;K$$-V$93D0*MSegMHADu~&6Mjii%&;>E! zl98ZkQP>Nq#5As;iVVsBgH-t_~Kn$Fn1xOJ_r{nsr&7ig=$U`&4jFY@8tejYY2nCy(DF}%LBK1$QwHu1}Tvm zrz?^)t(noL*;$`>6!twnLp1A?OS_+p+Hmj2e=iXUS3Xtirr5+)U+-sl=UUc%StXf` zao4VfGxToat>~2fStK`9*7#>KDI%cR{Zvlq zbBA12fDx`^0^mfClzH+ji7r~Bz&e9qpia3RALj_O<(vA@f$VweSi(zu!IWhLg zviq?-49l?b=}4A$KilK4i5+jc*MGZ*5q(dz?KGub>kVdRurAiYvd#1i4*;0#2yHRg z4zy&UNix=CL%%}Ao9vbk4q!ch@kF)N2oqUUuf<$wQkC{Wu9aPQhj*cO&Ky_G}#r>NoLzD|>bcIZeWR$_-LZYcs(_#G@hQ*=)b#0JA1kqi)r+ zB2W8A_~H^au;nVC)8*(L4&1J)1Io7D1G-z5VusQ)VlJ1f#G`*a&gp+cqHF;w6=1;a zat~J?ke#$l*HI_6)zzwVR54_jo}1}o^?aIyx!txk^R81-EZSjd<@q!~3BvS#=_JFR z0(|{61dwCIK`bdiB9z8>LXfE)VCOz?Mr}?`gTNSit6$aRV6t#SrHzQpuvExDpUl6C zm1}H?KWE}5!I?pbMnhz@yTr0W);SEV#1jN1U))(>^K;A96wlLL#yy1AHF2UniFkO6 zTALSzcB3c7Av2IJ?QBThpdZAoVc9&O3Dkpbxl=1sC&$ARU;L-L%p#;{S&d%WEB1t@ zvL<3WW;o0~7m-80T(N*K_nT2w2zXp2TbMHU&KSn+hLl@n!=xOLbu`VP2llPOTunVJ;A! z6rv-ht?Le4-NbBfo2-rg$fg4Gh?W$ogWi{E$qufZ-fnVao?>A|OE^>EoB+mqlrX_2 z2hn#g=S~1HD!8q)xKdSJ)wn%F7ZMXP3TrXxwy5rC^!@5S>w;ZV|GqaXE%Kj!wd)|> z_DC5f84tFV+p{8uCvd9YPPu%OS8$mT^Mg8truSJ5AjLlKQmL22O>hi_mCPS<+7Z@w zRJ30PN;CFZqR4h{61yg$gMjPji*5FtMMYTSV^&62>2K66f9KNa8 zTlR#E}YKTCT)WK+n$9p&C!mY<2FIN0QtOk$-lbEWH zZno@EfTC=4mWW`B07k4P81cko1+NV+kig@NE;+*27vwB&XT#7>Ynf=Xoetw8Pgypg%< zperA8tm_}9+nF<*n9|wW3^d!ny2}3?i+K$NI(^zvQ!oi+d}Vx-Wejevcd#9zADv++ zA?Z&Ri~1Gg$YGqChyq55GnvxKQ!c0ty9<^yi+Gu+t6zl3d99+3S+d5!rSRaN!#?EX zL+;(iX4g-onqv!TUtlaoDJU7`J&rCrhdgW|szerhQIMS?a^(I>X$>yfT&kh_l( zd7G-S+S9r&+A7DS@M$Jn8y{S54TAz?f1CxO24P2JW4ewK48o_pSH#-dw znL|Y{jN^=8b@7Dz|L6+5!L7xAX7^St2gBgA3AX0w3M~oTFG5$^%r=y|aqqIqUtd~i z{Z}mzcxadopp8o5P9)?L8Jf%Ao0bI4s?dJaad*do@&{HQY@LlgHv;bQ+z~!ZieeZZ z20r)8RrUkHgTm^Qj@Ui$16qm&{v?Y(~n=PNQb$eC?p957vF99#gBR1mrI{+pN& zw`XOKK?;5V$(wW(Mb1_C%(v;t>Vnc^5z#y+A^;X_8XrG(AL3m76o`FF95F8re{>=->t{z(kDH@uuupn11b z+;Pwv_RCo*tWI_u@+?W1^yiJ#O{5jC05rV?BaQ_A&pbP+hTX>ylQw{M50aB15Y}yy zwZa`4bgS0j6z=jznHBUe+6U|Ez)0lB$pUf~T|=SMLHXl)ENQZmPjk_6p(4-mU!l)~ z&l4!LTbWKWCL#LF4jR1_dOQfDnGz7#;Jp!*R+=BO{CYkOH4Yv;(x+XjDfCK%{fp*g z+(!omjW3`TVIM^@U?DJZSvO*tV)e;Zo!}4wRbgFvG6sbKA4*diznp)YFkvUsQEBT1+Ni&wP`v#x~Ok2 zTl_}P&GP6-VoCAw^nXf|cSs#Vfn<_AhQWPKqXXB>1&E&gz*LGzYF!k4x|*6)z=MeK zm;`rbza71ObAVd#ON5b>bLbvKuBQPwIBf7HLn9IqMaC%XP@u=#Lg5+vV;ZGxu&0vf z8LTVebA0rP3(=Rc=CF8W8}D$N|cvuEXnk+w!1QKag-?2u{BGzEoS-Q`~)> z&$VcUDa2s9^+T^3$d5l0Pt z`6=+`c`G=`3W+X27!-P_B9ARU-|Bq{(B3?i!yGGnPDHT1h+g>-ruw)&P<06SxqvU`R>L6q zpeTJL%PVh1^#gt!9LNCnATO3cWL*s}y*9=)?6@%(Kh1I5*hhD{lBG}lbk$dXnUNT8uZ&+6XA_s_f!>`LX)#5rFs;&<$O z>qT~#VZ+h0w36*VQM`FCD;I|J+xYE$MK-;R|M=?1#eyDmCe>2_C?XP;X?q_x^_C&# zd1nJ;lbXqV^vMPY&8LnMACz2luPH+E>Vho0O+IiYNTWa|p=py-0n2bL3~AOkRUpl0 zeA(|#n;R=d9{NH$#fV8Y!|TfljmKI^XM3*&H(+WJhnB)s~UmOJF;;jmwmHvZ2VwZfs}hmMEv5o zpXOJ^x!0q_9JmZ~eMWhc&sPBDtZYq2T((2?EotwXH~wW=rmAW&5LsF^F@8-c*Q=s!^; z4mO)nQasPNZ4YQ52c253r<`H9o1Ebu>Lt-=CW|s`UQ0{}BDXr>2Zm;uqnnt! zjI^mnQsq(DC8ttGOti%acFrRE`8CiOXIu!m(oC(yE4iEDCem!#fXu`+eV{d34IB>z z)G=pvs%PQw$c?YKFK^3;D=gn+Gq~7_!Mu5LNjPxVvc`^xSELWB-E0QzLtnPc&_Y+X zD#$9}@d?rOX4OhkE|rJaR zLTDu1Y6KHZZJwczuW|gO5yRa@{Rr_Vi>o|9>EyT#3Xx>^J$pBg06E?I9axyfy`$co zELFo8LzY)EPA`}sm$;&bBmvNV#<3@K#u?NcD`?hzwn`XiY+Cl$$$*gP4r9un;>FhdnCytKHcnbD?z(qA;eGOF~T1|n^T~m!mvI|{$GeLm1v`? z+TjE1&^;JC`)|qIsU5@%VjJ|*6B%$itJ3FN9rWMPzc3Q6KQ*{8IaSl%*RE1Bmo~KN z$+*+%4z6-4ZqwkS6LV@UXDaZ%{Iy@5fX%#S zWven%mq`}gCYsVvhZ`)lry?5NWpQH`O9`sxmil=9VLXITh|woMab;310VU(pDLV%d z6>{vy>_R|$)gULRB~AQWqc53pEXudUDEQ>FZj49nBt9ErC~Qv1*A)JkqJle4k$Vf_ zQ;BAhhitnr3R(St<>_lP5Vda*8yoDLzgHO5lztNTm#1utyj_#B-E5FfC(-`^J-D?? zBnqbAot{~|m6O!pEQ!=JB|ihmy*JQeD{6_uM-5*wv3h$~MNFDhBxcGli8QRZB<~e{ zsNYdcL5CmWpgWr(KW8peP02j+q6++;s~8eoEY-I%P3Y(eOL~(y%y|;p2w56^t>;bh zEOrQgkatGroC%&tpGX$tv4^wh7K?X0bxYXa0)Y98=T0u-!3DU2?Ym5lLV^auG0@BA z;YyvC?*W~t!UT7CiZv@uhR}uyq*B>FmECF!-~$ zft?IH`(~!>V4vn){YZROUXRMxH;JN zMNRm1a?&M(0?!)@!e{p$S*jOJ)ApiRmn_vb8&Gs7ck1B(WutuS~id9 z$c$HiLp5SWtZf!di$EytmfR$UZm1ZhNEO?pFH^EetN#Ph4b8movUrxY*>_M9=kq_C z5IjnCdFmWM$O2H;BE9RGA9&bAoElaE+e}HWLz3yERkf25zU(y29h-zQ=%WBx%N#-T z0<+KerN$i(#f_kboL_<&${2snLY%}q8IeTJ*mk?TMZZGubbc*mk@?gP!v@pspqVa& zMDO%PH_!a89vYWt<7jg1eqN?7T_tipr-6377ph2%dL^f{4brjg(*{-nD5eu5+==y_F*2~lo?!pihQT-T0_E_iGEAp#iqv|geIDlxuQ`7J&LG;ud9+!3e@0hmS}E;Q9@8bQTe zqon1IEca6BW@Cr(ydbWlZT|IOPYehG6NK_rt4AmtGA3)4N>~B0P#jC}7ODXEL9r&d zhR1C_W{1a?YSvws((c&E+mPxGJ+y4E0Q)DUPYs%zSL(j^rT-IpgX=W6ViXiavu6yN zDrgx7yn>l31O}eW{sZsmWPQCd`VWg+&)9=Wzy+DP<_Y6IqmDdnL|W2epG zg?BMfoteW0{NQzGih*#PJPnf05L-C_bc?X#*4uAqX1hp32>1nDI^WDTgJ4e1)-${= z$CakLRW3%323sm~+#iCjhTbp8gf?r97I5`vrJJYD8&+fiIz<*am_d598GS|w%+x#n z&^J^K%YJ-}=*`>bOuS0r?k1T|ZwonzjQ7P8CClODOHZb$(+Tw6u-!K=&ELqplAdB? z2}1ZjlJ2q|t|}iEF-gSprGg<03sA+xyc-*?{FnBOwLw=6ua1oPSnx(G9mQn)q+Mnt-ur zD;4w_qeFN-!WO2P0j_(oDZ-B0v1Whzgwtq}8vfrpJG2s2cB->Ka54=Bd!esSYJCZy zh^kI1)Sr!0a@91gnzj$F1|DouBM$^OOud|qJboHxeOWjzR^0)P+-Mv5l=O7}7xFm3BTTi}2?AJ-VVh*)>aJVn z?0S6G3@R3barObqpN+y1P6a3zaiXZqq6uIOjPFRz!H6nBZN6lLbhPVSrThoiU&{XW zu^A1;7f9`8keMxKag8Ag<0jLJx^*|`k*^D1o4@6rxsb6^V5`4~XeU7ftROhaOTG-6 z5uW`v?0oP=h!-_H_k8nt11hECaB)9)Ee~ipXoo6NtbW!X-1T-_<@v?_q^^|a#cega71CPzm2h&nn2~N5x)^(17V5(X?Bd`}lX9Mxrm*BItf+d;I_g>?*^g)U za?0vyw@_m02@w@rM$QM5S0o2o!AflscV{>&Xz=wRWWz3G!GgEI4gIP zb=>Aj>f*YBOL3)QXaX&xeG9}Gw zr9|}&YZf(HJ2KaeZ5+6_)z#7wx0K-#jm<~ zdwqd?Pt0YOnfLnz`L0A|5(ScX&5 z!12QYgcmbS`9N3tgBZvVNu;G*3+!{F4>#JONk||0^!AnIM+hR$xDGLJz>zo889`i~ z!^2)+`8+pMj=r2uWto% zB0LUTG2AJuB!GlAVYVb{77GaVGCk3h!`_e>m|IOuIvTPGrzuXztY-mlYd#o5HT6KFK)3#sw-Rf1_R!Jgp z39Ns6*LXm)C(4$SmUljHswL>PYe%7 zGs4ZEs|EMeoA(+u)57?k6c+yG5Af25r1W^6Wd1pdM3Pvp~e|MwJ(k|1EM_#}#lR!H=m01~7_fAk}24nc*3ATZ$*kI%{AYqrx zJe6H<39p!VbzO&6{6c=h+EK|bDS85c8~DDh1a!16pmC=b>+g+viM*OP6UH;LhqF@~ z5iRNs?%_me)dfWjte0wUH?ToLQ1+-vJdJ@VaoFA98^Ia$XQ64>BQj%L`bsJR+wb(U z(w1{?B0s6L$@a;$47v0^!aNbVColX-i*fltl^drpC0@~H4zPck2NadG2TtKpt@bE- zBZQLn#)VYc@C1vv1W$ysg}#6CGK1NrpJM5uSzB8uLBm(&P?h`}{uwORm6YNpXsC(-MVT-$AVpdi}tuI+{Z zLrt#UDKWX7IyVV2Dy68BY&)7qju$(At*BdOhN^*p`?t<)q7}X}W$>7Z?f_Y*^H2X5 zCiu%9qU90SqhLzAhTSW>?19hG-P?&xjAa{X{{LmuI$=vd89!>89Ep8}J58`!oc?@I zGcPsFlK3%~fI&vTR&FS@-Qo3hayZ;a*3a8_O<;Y`GEn!kjP zH$pYDWz~PRIKCDf|L9vsDpz4j%cxmRU7WC~oO$Iu(3sm{5fN_S{QnQ_8D=^zhnPsgo;AkRDO!(}pcL5Gwm;+RpYOWJ=?%~FL^w7(8L=ive2P;ghU z&-;{Vd@%k5`j&^M)LTca_h9>`vEBl*0lV1o5gzSew`QjM;ppRltQcpDo5iH%{4l{^ zEQYBi&ciJ1)eZoI>Sh!C$+Q87G3#cE2^j-}-e8Z&B_u;`Ka+uWDj}$29}-@`a4T3M zDm^aVL&Uw{Hyaz%mF;r~km$!-%u}m>V4?@dC&;3Isa%%m&(k#u6ssAQpTrj_igd+P znrwRF0hW&7C0@Uud=TrT0FUjHzePKm%N@B^kl+9fe^i%=ZfelcDn0Idi;q ziI;gMKq!aJFE8FyJcOI0BbdO}cS$CU+e@!;n5IYG>|<1^9`lXMCw3fIO<&Y7yVax< zwYk&(4C5DOJ#OEFHDR(TK9Bm)^3d)Ucc*9_C?N>9aqiGtl}jEceBh%wIq3fLR%m3zZtq3b*@9c4JzUUkB_mSVRu^}O&jdeh_Mp&!3NolJzW@#(w#tZWncwy7Zm;B_L z;R!fK!4jV8wG31k=Wq=h8J~;(^xKXYcs%Cxuz4x4!xrM=mygh2QX5UyzJX!F^|R+b zqD<@4I6q6>v_Pexe7a@lHG%3RX}ic0T4RPk0!^PfFXF#B;kc$dDm33rVgCz_WJF1~ zw)Z_@0w~(_sT$zE(-t05CsWybs+8 zajHH3Uube5uHwTM+PY6d_UB4H~MQfMdmKh$06A$ukSK^C$r$;B5MFWEV6+;!0 zrL7Y?l1DqmOZ+f5!Ot`k@UG7v%rQvfsSGqoL(CWpT+MxA-)WRPt%dWHK0(}lIM`E$ zt#t~eZvd6OxbYdB?Ks2Qoa2?e91dnZZb7V0TJW#*4NHG&*a{Ubt>1Q2-1F`He8d3*n7;>4-Q5LhOQy>k9)#_d1A z=qzSu@D<$q1;rXq&Zix^03nHR74!S486xw^KYZu+MfJj}cF-Z=->x|L8LXlWzN$r_fs^R!nlO=-DTX{zfp8|mlFa<_JS^?Pf&Z+ zVop4C7Bha`ogJ8?@-hur$K+?J@?eh-R?`<66M*GJ&cxe+b%fJCkxtoWC{L=BNr99waxy4nTn;I+73Mj;#_ zfulk9S_($g_oOC>rp2mH%3mi#^yB!L5?ddFXcN55MS_3B_fx~E6%8Gs;O@UC824AC z%MhoLLc;xv-y}I=fzX4kF>nKYPLmh$=-V1QH5j%r1zQp&JIQ?H3imHhI~sWd)}i2& zEZ?h^z&pVdH#Y#z_c+c>YtL)tZ8V@qHhz(D zo<(cyBlCn01gZ-GWQ%^^!n)W|2;XTVbcrpkamGRmZK@N*qwOAYepzF$Vb=ovVXKdf zap#XO%BSi4h&~qAXV1OOi=>~U2TjIJ3)Q-4-`^BOb_IyM=PlPpad_aXoB+&an+Td* z0{T3C^qZa2lNlc}|Lya|vfMdyjS-soy8Ipx1NM<@{&~T~7snx@!a0^32UVW9H$Ng6iaw-RFw_3M0SwC+DYm$x>O%!PYoCyRhL`F@6zK-p>fO}Mfmeb~f8wPus%D); zgK)k$YKI>r7Xuy&(_~&GrF7g*U>Hig@n@cK?-aRN)GarO3iV3Tm?eI%=y&6inyRul zFz$P5+`u)*08QJHRJLxqVfT*dW21pHz?MvpOsqr^q=*!o-z#Lx63i1>n^;nB!Mf;f z<~u;%3%r$I=U*hm-Tyc9jeRi)rdI9aHR358O|vj3&4jTI;fVS ztyKx~&zhxE(C2v~B+Em&NvJ{HC3T z(?)Xt*@6VU#rX?uv90twhnn21IOwE;#`+tTprtVF#-!)w@i2jKLt6fzxr(4+La3Z7 z=eqi1k=X9WPiP_6(c*Sw3@dX25@5Xo=$R(t)Cg>@7hFP-Adevr)VfMLq1w6d3H8X4HSMCG5v_T0~NqG98^r+ z>vBm`_g+c(3iPw74Ex*UoUF)DtHHTkRBtE^L&w*mVm*Jzxt_ey+qcm4ugJ!)-jm@S zIvEk+syEP!tbrvi-9)Zr#(%CNWaNqb&? z6bShWZy=HE#r)wXrTZcs5+P4^#9%h)o>GYX=miD!+ePmuL`D3&D$Qs^#U1hd$8V2* z$>}6h)VOo-KSTqd@nLGB2rJ6WAvgbco^pzjZN%}#>USvPGU1$ni8@rO?2Yq9{EXK6 zh3KH)j98bjGJ8#r{W~J@*TW5mPTD281!kEiFZ{=WJj@G+V8=E1zRIb}f71ix6=-?V z)I-$46G)L+N{T@uQ+1(_I*$eOP1oS4k8LXP_LMEcCSV#Pg3Cb>GzJont{9du&h}OW z*GX34{INOfwA##Qe=;GJno{q7)c|0|wyj4k7J73BT^}%<*O4QSPC@Wqw)#7DxT zo@Q${^5cX)d1F{*9ZqB@{K64 zwT)9re@<^O+SuDL9Ws#lJV9uIb(?dHe3_1Yys;dKy2{_^fFwt8e8VquvQAoRm|TdrB`Y@ixeao(c@pVVe~OhlwHB959p@OcCi?`=qU z6Ho=CfgXwk|A|}^Vo8(A(p;%$ndOWQr>qA86-f?~1lP9&seg6bikSOUC0)QBLZV4J z1vWLkp5SfKM<$Hz{>68+{DCS+(LuS{c)oB2L90XBLxsjiGRL=m2E&UUWVnHNKsB8#T`lE4(F-&5iMB(|n*ZMBqvf5q=PM=;E;@-4X?_!jn zX~K8ECl$uaB|`m;0B=uNtLXV?;ufT3Ci-enQdSr{_N|pprzCNF?n)oHHrN__8E8gwOYzkR|V zCow!d)~jnXjfjzw6=e)FO@n3Ob+eO&kSd#2YcfQ)I=S0Rv4$-&@aGSAx<$!rxlhHNA!4bOfAp!al)*^2_sD>M9-0(yWWl;*_)Le?~+^0-r zi}Ty5$HRB%o0Yl}pdJi`NDygWV2SL9P&FMsyu(cB5YH1sI_5M1Aryb<8K!x->HqsHF36;=V*!l#W1N zxw@3=pFQ+ik<*`p4lcA^gi;fAVBX~3xnb9M`4EEA8DwM(`z?f9eO=aQ`_$e&7{gFY z#96fH`j2pk2A82EimQ3GEintvc^RS9rs2Z6OAWOV+p0Ftfqp}$WmPm>mEDFgg9hKl69pZM2S%g@C;^#9xu()e3CYaMYA|4R^Oxb#$b@rt{hl3{H$upGmq`si zacK_SWUQSL`;Hj%sY6i9F0Mmvb0jP;YSj;lxd)>u*d~2O4klM#OX+q3rq*^TBj~DY zM7>bweeb;kv|wKqVywoQxI!BCC$TG4Y=P2fy#p6)HnZRx7J98yBN5dpD z2u?dA7cr#oBGfJ@$&x)ZYIhTR%zM=ENQ)f*jkGf#=(z>cYqtg_zZc`D?PHo> z3eP%UbsQrQam2BS8lEddh4>_4pD~+!4nFt_Qs^_3k23t)AXRzi%ve2P6Ds(#L08CGlgajPnj*L32fDlf literal 0 HcmV?d00001 diff --git a/blinko/docker-compose.yaml b/blinko/docker-compose.yaml new file mode 100644 index 0000000..cc1773d --- /dev/null +++ b/blinko/docker-compose.yaml @@ -0,0 +1,54 @@ +version: '3.8' + +networks: + blinko-network: + driver: bridge + +services: + postgres: + image: postgres:16-alpine + container_name: blinko-postgres + restart: unless-stopped + environment: + POSTGRES_DB: postgres + POSTGRES_USER: postgres + POSTGRES_PASSWORD: zZ8o3NahfCmXMzBLN # ← This is your current password + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"] + interval: 5s + timeout: 10s + retries: 5 + networks: + - blinko-network + + blinko: + image: blinkospace/blinko:latest + container_name: blinko + restart: unless-stopped + environment: + NODE_ENV: production + NEXTAUTH_URL: http://192.168.1.155:1111 + NEXT_PUBLIC_BASE_URL: http://192.168.1.155:1111 + NEXTAUTH_SECRET: 0543c607f3616eed8296e9dd62e3fc1eb5a077cd3ddd9618620a0c343b3601c7 + DATABASE_URL: postgresql://postgres:zZ8o3NahfCmXMzBLN@postgres:5432/postgres + ports: + - "1111:1111" + volumes: + - blinko_data:/app/.blinko + depends_on: + postgres: + condition: service_healthy + networks: + - blinko-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:1111/"] + interval: 30s + timeout: 10s + retries: 5 + start_period: 30s + +volumes: + postgres_data: + blinko_data: \ No newline at end of file diff --git a/freshrss/docker-compose.yaml b/freshrss/docker-compose.yaml new file mode 100644 index 0000000..ef04b83 --- /dev/null +++ b/freshrss/docker-compose.yaml @@ -0,0 +1,18 @@ +version: '3.8' + +services: + freshrss: + image: lscr.io/linuxserver/freshrss:latest # or linuxserver/freshrss:latest + container_name: freshrss + restart: unless-stopped + ports: + - "8082:80" # Change the left number if you want a different host port + environment: + - PUID=1000 # ← CHANGE to your Pi user's UID (run `id` to check) + - PGID=1000 # ← CHANGE to your Pi user's GID + - TZ=America/New_York # ← CHANGE to your actual timezone + volumes: + - freshrss_config:/config + +volumes: + freshrss_config: \ No newline at end of file diff --git a/gitea/docker-compose.yaml b/gitea/docker-compose.yaml new file mode 100644 index 0000000..b9ac027 --- /dev/null +++ b/gitea/docker-compose.yaml @@ -0,0 +1,21 @@ +version: '3.8' + +volumes: + gitea_data: + +services: + server: + image: docker.gitea.com/gitea:latest + container_name: gitea + environment: + - USER_UID=1000 + - USER_GID=1000 + - TZ=America/New_York + restart: unless-stopped + volumes: + - gitea_data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3131:3000" # Web UI - change host port if 3000 is in use + - "2222:22" # SSH - mapped to avoid host SSH conflict \ No newline at end of file diff --git a/homeassistant/docker-compose.yaml b/homeassistant/docker-compose.yaml new file mode 100644 index 0000000..94b3098 --- /dev/null +++ b/homeassistant/docker-compose.yaml @@ -0,0 +1,31 @@ +version: "3.8" + +services: + homeassistant: + container_name: homeassistant + image: ghcr.io/home-assistant/home-assistant:stable + restart: unless-stopped + privileged: true + network_mode: host + security_opt: + - label=disable + hostname: homeassistant + environment: + TZ: America/New_York + LANG: C.UTF-8 + S6_BEHAVIOUR_IF_STAGE2_FAILS: "2" + S6_CMD_WAIT_FOR_SERVICES: "1" + S6_CMD_WAIT_FOR_SERVICES_MAXTIME: "0" + S6_SERVICES_READYTIME: "50" + S6_SERVICES_GRACETIME: "240000" + UV_EXTRA_INDEX_URL: https://wheels.home-assistant.io/musllinux-index/ + UV_SYSTEM_PYTHON: "true" + UV_NO_CACHE: "true" + volumes: + - "/etc/localtime:/etc/localtime:ro" + - "/home/pi/homeassistant:/config" + - "/run/dbus:/run/dbus:ro" + # Add USB/Zigbee if needed, e.g.: + # - "/dev/ttyUSB0:/dev/ttyUSB0:rw" + working_dir: "/config" + entrypoint: ["/init"] \ No newline at end of file diff --git a/homebridge/docker-compose.yaml b/homebridge/docker-compose.yaml new file mode 100644 index 0000000..9076fee --- /dev/null +++ b/homebridge/docker-compose.yaml @@ -0,0 +1,28 @@ +version: "3.8" + +services: + homebridge: + container_name: homebridge + image: homebridge/homebridge:ubuntu + restart: always + network_mode: host + hostname: homebridge + environment: + HOMEBRIDGE_CONFIG_UI_PORT: "8581" + TZ: America/New_York # Add if not already set in your env + ENABLE_AVAHI: "1" + HOMEBRIDGE_APT_PACKAGE: "1" + UIX_CUSTOM_PLUGIN_PATH: "/var/lib/homebridge/node_modules" + # Keep any other custom env you had + expose: + - "8581/tcp" + volumes: + - "homebridge_homebridge:/homebridge" + working_dir: "/homebridge" + entrypoint: ["/init"] + logging: + driver: json-file + +volumes: + homebridge_homebridge: + external: true \ No newline at end of file diff --git a/homepage/docker-compose.yaml b/homepage/docker-compose.yaml new file mode 100644 index 0000000..6ac2234 --- /dev/null +++ b/homepage/docker-compose.yaml @@ -0,0 +1,21 @@ +version: "3.8" + +services: + homepage: + image: ghcr.io/gethomepage/homepage:latest + container_name: homepage + environment: + HOMEPAGE_ALLOWED_HOSTS: 192.168.1.155,192.168.1.155:49325,localhost,127.0.0.1,0.0.0.0,douglasdigitalhome.net,www.douglasdigitalhome.net,homepage.douglasdigitalhome.net + PUID: 1000 + PGID: 1000 + # LOG_LEVEL: debug # remove or comment out once everything works + ports: + - "49325:3000" + volumes: + - /docker/homepage/config:/app/config + - /var/run/docker.sock:/var/run/docker.sock:ro + restart: unless-stopped + labels: + - homepage.group=Infrastructure + - homepage.name=Homepage + - homepage.icon=mdi:view-dashboard \ No newline at end of file diff --git a/homepage/services.yaml b/homepage/services.yaml new file mode 100644 index 0000000..524ccad --- /dev/null +++ b/homepage/services.yaml @@ -0,0 +1,92 @@ +# https://gethomepage.dev/configs/services/ +--- +- Networking: + - Pi-hole: + icon: pi-hole + href: https://pihole.douglasdigitalhome.net + description: DNS ad-blocking & stats + widget: + type: pihole + url: http://192.168.1.155:8080 + key: yL4lBDboHC5FVPAZTBSW8IZvoxEQA0ObAAVyzrcll04= + version: 6 + +- Home Automation: + - Home Assistant: + icon: home-assistant + href: https://homeassistant.douglasdigitalhome.net + description: Smart home hub + widget: + type: homeassistant + url: http://192.168.1.155:8123 + key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjZWY5N2IxMDMwNDA0YzNlOGYwM2Q0OWYyMDc0NzBmZCIsImlhdCI6MTc3Njc4ODAzOCwiZXhwIjoyMDkyMTQ4MDM4fQ.aH7VzskO8tWAU1A14ieg8S98a8EQdyu_1PgE63Nm0_Y + +- Office/Tools: + - FreshRSS: + icon: freshrss + href: https://freshrss.douglasdigitalhome.net + description: RSS reader + widget: + type: freshrss + url: http://192.168.1.155:8082 + username: kdouglas011 + password: gyv!aky@gvz@fmu1AEV + + - Stirling PDF: + icon: mdi-file-pdf-box + href: https://stirlingpdf.douglasdigitalhome.net + description: PDF toolkit + + - LibreOffice: + icon: libreoffice + href: https://libreoffice.douglasdigitalhome.net + description: Online office suite + +- Monitoring: + - Uptime Kuma: + icon: uptimekuma + href: https://uptimekuma.douglasdigitalhome.net + description: Service & System Monitoring + widget: + type: uptimekuma + url: http://192.168.1.145:3001 + slug: myservers + +- Automation: + - n8n: + icon: n8n + href: https://n8n.douglasdigitalhome.net + description: Workflow automation + + - Blinko: + icon: mdi-notebook + href: https://blinko.douglasdigitalhome.net + description: Notes / knowledge base + +- Media: + - Plex: + icon: plex + href: https://app.plex.tv + description: Home Media Server + +- AI / LLM: + - OpenWebUI: + icon: mdi-robot-excited # Nice modern robot icon + href: https://openwebui.douglasdigitalhome.net + description: Local LLM Chat Interface + +- Other: + - 13ft Ladder: + icon: mdi-ladder + href: https://13ftladder.douglasdigitalhome.net + description: URL Paywall Scrubber + + - Nginx Proxy: + icon: nginx + href: https://nginx.douglasdigitalhome.net + description: Reverse proxy + + - OpenSpeedTest: + icon: mdi-speedometer + href: https://openspeedtest.douglasdigitalhome.net + description: Local Network Speed Test \ No newline at end of file diff --git a/libreoffice/docker-compose.yaml b/libreoffice/docker-compose.yaml new file mode 100644 index 0000000..7926efd --- /dev/null +++ b/libreoffice/docker-compose.yaml @@ -0,0 +1,30 @@ +version: "3.8" + +services: + libreoffice: + container_name: libreoffice + image: lscr.io/linuxserver/libreoffice:latest + restart: unless-stopped + security_opt: + - no-new-privileges:true + hostname: libreoffice + environment: + TZ: America/New_York + PUID: "1000" + PGID: "1000" + START_DOCKER: "true" + TITLE: "LibreOffice" + LSIO_FIRST_PARTY: "true" + NO_GAMEPAD: "true" + DISABLE_ZINK: "false" + DISABLE_DRI3: "false" + ports: + - "3000:3000/tcp" + - "3001:3001/tcp" + volumes: + - "/home/kdouglas011/libreoffice/config:/config:rw" # ← REPLACE with real Source for /config + - "/home/kdouglas011/Documents:/documents:rw" # ← REPLACE or REMOVE if no /documents mount + working_dir: "/" + entrypoint: ["/init"] + logging: + driver: json-file \ No newline at end of file diff --git a/n8n/docker-compose.yaml b/n8n/docker-compose.yaml new file mode 100644 index 0000000..fb02e20 --- /dev/null +++ b/n8n/docker-compose.yaml @@ -0,0 +1,36 @@ +version: "3.8" # Modern standard + +services: + n8n: + container_name: n8n + image: docker.n8n.io/n8nio/n8n + restart: unless-stopped + user: node + ports: + - "5678:5678/tcp" # Main n8n UI + environment: + TZ: America/New_York + N8N_BASIC_AUTH_ACTIVE: "true" + N8N_BASIC_AUTH_USER: "kdouglas011" + N8N_BASIC_AUTH_PASSWORD: "athlete-fares-object-easily" + N8N_SECURE_COOKIE: "false" # Only if you don't use HTTPS; otherwise set true + NODE_ENV: production + N8N_RELEASE_TYPE: stable + volumes: + - "n8n_n8n_data:/home/node/.n8n" + networks: + - n8n_default + working_dir: "/home/node" + entrypoint: + - tini + - "--" + - "/docker-entrypoint.sh" + +networks: + n8n_default: + external: true + name: n8n_default + +volumes: + n8n_n8n_data: + external: true \ No newline at end of file diff --git a/nginx/docker-compose.yaml b/nginx/docker-compose.yaml new file mode 100644 index 0000000..670da9c --- /dev/null +++ b/nginx/docker-compose.yaml @@ -0,0 +1,24 @@ +version: "3.8" + +services: + nginx-proxy-manager: + container_name: nginx-proxy-manager + image: jc21/nginx-proxy-manager:latest + restart: unless-stopped + ports: + - "80:80/tcp" # HTTP traffic + - "443:443/tcp" # HTTPS traffic + certs + - "81:81/tcp" # Admin UI (change if you want to hide it) + environment: + TZ: America/New_York + SUPPRESS_NO_CONFIG_WARNING: "1" + NODE_ENV: production + NODE_OPTIONS: --openssl-legacy-provider + # Add any custom env if you use CrowdSec or other integrations + volumes: + - "/data/compose/12/data:/data" + - "/data/compose/12/letsencrypt:/etc/letsencrypt" + working_dir: "/app" + entrypoint: ["/init"] + logging: + driver: json-file \ No newline at end of file diff --git a/ollama-open-web-ui/docker-compose.yaml b/ollama-open-web-ui/docker-compose.yaml new file mode 100644 index 0000000..c3e646d --- /dev/null +++ b/ollama-open-web-ui/docker-compose.yaml @@ -0,0 +1,30 @@ +version: '3.8' + +services: + ollama: + image: ollama/ollama:latest + container_name: ollama + ports: + - "11434:11434" + volumes: + - ollama:/root/.ollama + restart: unless-stopped + + open-webui: + image: ghcr.io/open-webui/open-webui:main + container_name: open-webui + ports: + - "3000:8080" + volumes: + - open-webui:/app/backend/data + environment: + - OLLAMA_BASE_URL=http://ollama:11434 + extra_hosts: + - "host.docker.internal:host-gateway" + depends_on: + - ollama + restart: unless-stopped + +volumes: + ollama: + open-webui: \ No newline at end of file diff --git a/openspeedtest/docker-compose.yaml b/openspeedtest/docker-compose.yaml new file mode 100644 index 0000000..06223fa --- /dev/null +++ b/openspeedtest/docker-compose.yaml @@ -0,0 +1,32 @@ +version: "3.8" + +services: + openspeedtest: + container_name: openspeedtest + image: openspeedtest/latest + restart: unless-stopped + hostname: openspeedtest + user: "101" + ports: + - "3030:3000/tcp" + - "3031:3001/tcp" + environment: + TZ: America/New_York + ENABLE_LETSENCRYPT: "false" + DOMAIN_NAME: "false" + USER_EMAIL: "false" + CONFIG: "/etc/nginx/conf.d/OpenSpeedTest-Server.conf" + INDEX_HTML: "/usr/share/nginx/html/index.html" + CHANGE_CONTAINER_PORTS: "false" + HTTP_PORT: "3000" + HTTPS_PORT: "3001" + SET_USER: "101" + # No volumes needed (stateless except unused LE path) + # No custom network — let Docker use default bridge + logging: + driver: json-file + working_dir: "/" + entrypoint: + - "/docker-entrypoint.sh" + command: + - "/entrypoint.sh" \ No newline at end of file diff --git a/pihole/docker-compose.yaml b/pihole/docker-compose.yaml new file mode 100644 index 0000000..594b75c --- /dev/null +++ b/pihole/docker-compose.yaml @@ -0,0 +1,30 @@ +version: "3.8" # Modern version (original was 3.6, safe to bump) + +services: + pihole: + container_name: pihole + image: pihole/pihole:latest + restart: unless-stopped + hostname: pihole # Cleaner than the random container ID + environment: + TZ: America/New_York # Proper IANA format (was "New York") + FTLCONF_webserver_api_password: "~Guards1345" + FTLCONF_dns_listeningMode: ALL + FTL_CMD: no-daemon + DNSMASQ_USER: pihole + ports: + - "53:53/tcp" + - "53:53/udp" + - "8080:80/tcp" # HTTP admin + - "8443:443/tcp" # HTTPS admin + volumes: + - "/data/compose/5/etc-pihole:/etc/pihole:rw" # Keep this — confirmed by inspect + # Add this second volume if you have custom dnsmasq configs (very common for Pi-hole) + # - "/data/compose/5/etc-dnsmasq.d:/etc/dnsmasq.d:rw" + networks: + - pihole_default + +networks: + pihole_default: + name: pihole_default + external: true \ No newline at end of file diff --git a/reactiveresume/docker-compose.yaml b/reactiveresume/docker-compose.yaml new file mode 100644 index 0000000..4560bba --- /dev/null +++ b/reactiveresume/docker-compose.yaml @@ -0,0 +1,11 @@ +version: '3' +services: + app: + image: amruthpillai/reactive-resume:latest + ports: + - "3100:3100" # Access via localhost:3100 + environment: + - PUBLIC_SERVER_URL=http://localhost:3100 + - STORAGE_URL=http://localhost:3100/storage + volumes: + - ./data:/data # Mount for persistent resumes \ No newline at end of file diff --git a/searxng/docker-compose.yaml b/searxng/docker-compose.yaml new file mode 100644 index 0000000..f57edc5 --- /dev/null +++ b/searxng/docker-compose.yaml @@ -0,0 +1,38 @@ +version: '3.8' + +services: + core: + image: searxng/searxng:latest + container_name: searxng + restart: no # change to unless-stopped once stable + ports: + - "8080:8080" + volumes: + - searxng-config:/etc/searxng + - searxng-cache:/var/cache/searxng + environment: + - SEARXNG_BASE_URL=http://192.168.1.112:8080/ + - SEARXNG_BIND_ADDRESS=0.0.0.0 + - SEARXNG_PORT=8080 + - FORCE_OWNERSHIP=true + # Add a secret key (generate one or use this placeholder for now) + - SEARXNG_SECRET_KEY=your-super-secret-key-change-this-in-production + cap_drop: + - ALL + cap_add: + - CHOWN + - SETGID + - SETUID + + valkey: + image: valkey/valkey:7-alpine + container_name: searxng-valkey + restart: unless-stopped + command: --save 30 1 --loglevel warning + volumes: + - valkey-data:/data + +volumes: + searxng-config: + searxng-cache: + valkey-data: \ No newline at end of file diff --git a/stirlingpdf/docker-compose.yaml b/stirlingpdf/docker-compose.yaml new file mode 100644 index 0000000..e090b01 --- /dev/null +++ b/stirlingpdf/docker-compose.yaml @@ -0,0 +1,38 @@ +version: "3.8" + +services: + stirling-pdf: + image: stirlingtools/stirling-pdf:latest # or :latest-fat if you want more languages/features + container_name: stirling-pdf + restart: unless-stopped + + ports: + - "8081:8080" # ← change left side if 8080 is used (e.g. 8081:8080) + + volumes: + - stirling-configs:/configs # main settings, users, custom files + - stirling-trainingdata:/usr/share/tessdata # for OCR – add extra lang data here later if needed + # - ./logs:/logs # optional – uncomment if you want persistent logs + # - ./extraConfigs:/extraConfigs # optional advanced customizations + + environment: + # Security / login (recommended to turn on eventually) + - DOCKER_ENABLE_SECURITY=true # set to true → enables login screen + # - SYSTEM_ROOTURIPATH=/pdf # if running behind reverse proxy / subpath (optional) + + # Performance / feature flags (good defaults for Pi) + - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false # saves RAM / startup time + - LANGS=en_US # change to en_GB, de_DE etc if preferred + + # Optional: reduce memory pressure a bit more + - JAVA_TOOL_OPTIONS=-Xmx1024m # cap at 1 GB (adjust down to 768m if Pi is RAM-tight) + + # healthcheck: # optional but nice in Portainer + # test: ["CMD", "curl", "-f", "http://localhost:8080/api/v1/server/health"] + # interval: 30s + # timeout: 10s + # retries: 3 + +volumes: + stirling-configs: + stirling-trainingdata: \ No newline at end of file diff --git a/whoogle/docker-compose.yaml b/whoogle/docker-compose.yaml new file mode 100644 index 0000000..bb77a9a --- /dev/null +++ b/whoogle/docker-compose.yaml @@ -0,0 +1,17 @@ +version: '3.8' + +services: + whoogle: + image: benbusby/whoogle-search:latest + container_name: whoogle + restart: unless-stopped + ports: + - "5000:5000" # change if 5000 is taken + environment: + - WHOOGLE_CONFIG_DISABLE=0 # optional: keep config page enabled for tweaks + # Optional extras you can add later: + # - WHOOGLE_PROXY=1 + # - WHOOGLE_TOR=0 + # No cap_drop/cap_add needed — it runs clean + +volumes: {} # no volumes required for basic use \ No newline at end of file