From 39b899283c3388a77a3cf05a38722f8c81ae6e3c Mon Sep 17 00:00:00 2001 From: Raphael Maenle Date: Sat, 6 Jun 2020 20:02:18 +0200 Subject: [PATCH] adds a landing page which gives an overview of the tool - landing page shows two images of google calendar and tizen watch and how the calendars corelate - routes redesigned to fit this landing page - redesign of coloring in css --- backend | 2 +- server/googleHandler.py | 2 + server/routes.py | 28 +++++--- server/static/css/main.css | 61 +++++++++++++--- server/static/res/arrow.svg | 12 ++++ server/static/res/calendar.svg | 102 +++++++++++++++++++++++++++ server/static/res/googlelogo.png | Bin 0 -> 5969 bytes server/static/res/tizenlogo.png | Bin 0 -> 32485 bytes server/static/res/watchface.svg | 61 ++++++++++++++++ server/template/base_navigation.html | 11 +++ server/template/login.html | 2 + server/template/register.html | 29 +++++++- server/template/startpage.html | 33 +++++++++ 13 files changed, 324 insertions(+), 19 deletions(-) create mode 100755 server/static/res/arrow.svg create mode 100755 server/static/res/calendar.svg create mode 100644 server/static/res/googlelogo.png create mode 100644 server/static/res/tizenlogo.png create mode 100755 server/static/res/watchface.svg create mode 100644 server/template/base_navigation.html create mode 100644 server/template/startpage.html diff --git a/backend b/backend index 183bf60..1a5700e 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit 183bf60fc089c76a9f1b9e9fde31d02b910d11a6 +Subproject commit 1a5700e9a0bdc404d0d2a49898dba78d872b53e8 diff --git a/server/googleHandler.py b/server/googleHandler.py index 4794035..fbf6bc7 100644 --- a/server/googleHandler.py +++ b/server/googleHandler.py @@ -161,6 +161,8 @@ def fetchCalendarEvents(user, calendars, startDate, endDate): def fetchCalendars(): # get client api service + if current_user.google_token == None: + return [], None, None client_token = GC.build_credentials(current_user.google_token.token, current_user.google_token.refresh_token) credentials = google.oauth2.credentials.Credentials(**client_token) diff --git a/server/routes.py b/server/routes.py index b9d6643..177ce13 100644 --- a/server/routes.py +++ b/server/routes.py @@ -26,27 +26,39 @@ from database.models import User, Calendar, Device, GoogleToken os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1' @app.route("/") -def account(): - return flask.redirect('account') +def startpage(): + return flask.render_template('startpage.html') + + @app.route("/privacy") def privacy(): return flask.render_template('privacy.html') -@app.route("/account") -def index(): +@app.route("/login") +def login(): if current_user.is_authenticated: + return redirect(url_for('account')) + return flask.render_template('login.html') + + +@app.route("/account") +def account(): + if current_user.is_authenticated: + calendars = [] gCalendars, colors, token = google.fetchCalendars() - current_user.google_token.token = token - db.session.commit() - backend.updateCalendars(current_user, gCalendars, colors) + if token != None: + current_user.google_token.token = token + db.session.commit() + calendars.extend(gCalendars) + backend.updateCalendars(current_user, calendars, colors) return (flask.render_template('account.html', username = current_user.username, email = current_user.email, profile_img=current_user.profile_pic ) ) else: - return flask.render_template('login.html') + return redirect(url_for("login")) @app.route("/view") def view(): diff --git a/server/static/css/main.css b/server/static/css/main.css index 663b61e..0ef2e23 100644 --- a/server/static/css/main.css +++ b/server/static/css/main.css @@ -3,9 +3,8 @@ html, body { font-family: "Trebuchet MS", Helvetica, sans-serif; - margin: 0.5rem; padding: 0; - height: calc(100% - 1rem) + height: calc(100% - 0.5rem) } #container { @@ -31,15 +30,55 @@ body .banner { display:flex; justify-content: center; + margin: 5rem; align-items:center; - background-color: orange; - height: 20rem; flex-direction: column; - margin-bottom: 10rem; +} + +.subtitle { + color: #333; + text-align: center; + margin: 1rem; +} + +.primeblue { + color: #1b75bc; } .title { - color: blue; + font-size: 5rem; + font-weight: bold; + text-align: center; + margin: 1rem; +} + +.grayblock { + background-color: #ddd; + align-items: center; + justify-content: center; +} + +.grayblock .padded { + padding: 3rem; +} + +.horizontal { + display: flex; + flex-wrap: wrap; +} + +.horizontal .content { + font-size: 2rem; + text-align: center; +} + +.horizontal .image { + margin: 1rem; + margin-left: 4rem; + margin-right: 4rem; + height: 30rem; + border-radius: 1rem; + width: auto; } .logins { @@ -82,14 +121,20 @@ body /* top navigation */ .navigation { - background-color: orange; + background-color: #eaeaea; overflow: hidden; + margin: auto; + display: flex; +} + +.navigation_rightside { + margin-left: auto; } .navigation a { float: left; display: flex; - color: #f2f2f2; + color: #333; text-align: center; padding: 14px 16px; text-decoration: none; diff --git a/server/static/res/arrow.svg b/server/static/res/arrow.svg new file mode 100755 index 0000000..ae77563 --- /dev/null +++ b/server/static/res/arrow.svg @@ -0,0 +1,12 @@ + + + + + Artboard 1 + + + diff --git a/server/static/res/calendar.svg b/server/static/res/calendar.svg new file mode 100755 index 0000000..5938297 --- /dev/null +++ b/server/static/res/calendar.svg @@ -0,0 +1,102 @@ + + + + + Artboard 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/server/static/res/googlelogo.png b/server/static/res/googlelogo.png new file mode 100644 index 0000000000000000000000000000000000000000..333bda93710d1668ca6452a507ab8a12c343996e GIT binary patch literal 5969 zcmV-X7p~}uP)eg5P{r~U(eijF2cCFhh?Nm(edZ%&MpJThhWwz@(-0^$F-{*_JUn17I z+3sLg+Vzi4cU5<18X6k!Or(1@AIzP~dE5=|vR(hr;A@RPeY$rIobJ5VAOhZFsY=FDobldUo%edYS z-0Z5CAd&&@`U|H!!Tu~^(9ke{cxrXD#Te7D^Bbq~eDJU;q98;in{3x#fcy&6(9i_Z z8pvH)`Jf<)pv8(e@v1*<}nQo4NV||3_dS;Y`KOWd1z>iS!e>8dF{|{-1XK-lxbHX z*~&CDG&F&5CpbrfJl3I%$}}`IG=U)ZA=4x$l9gXzfQE*KCJ^+x$Y?!4I1JFx(9i_J z^TC}|0zq#K12i-=G=ZQamfC5Xas4NB)unZyp$Vkg#omp@Q~}~EYV<)GpNp z=qP5*dBv=CcYzzfEoF^D$+jwmtTlvJ{2l);{{OC`ZGOF+H7$H!B0m3W*1oN;y<=N% z`@C%{+V39hOZ|51id121U#cShTor#F6stVg+xCq3x*v&kvH05K@qH`-z%VlI1Si61 z+jfIqxYMDd{I7F{@<9m?Lv(kGuldZ>E6ab|>IBl?dCZ=rtTjulMI~6Xy&#Grh(dOW?^`#xBDGk&PGT_t7M9%gZ$(3A2v`4`)7=9T zYWl2ll<$v=K&p(rtJrCrAPC`35Jb5BW?s3DPdT80@~!s_)u@Ca4> zT*w-aM6%axYl|R~1&Ct8UhIF>{_9^@Hxl_!xv-kfFZfhbqWUbBrqOFgu*-4%=aOHI4p z5lrK+DBB&pz^%3T#j9T8N%KZ2XQo+%5c!LY$X&dNn_Trm{$#MP&1Mk-H#m2^Csi48 z!wUzNnn@y%VtV2Paa4I;?OwCC6}fdLqri6k&k;kr&HtzU&?s^1oPup^$1l8D3qP-D zn`cFm>*!6LEshx5adS6o;pYj$`f^mc4j6F9~f=g&@96ZM~ z09NMKT>OG#TipCwgZYjNaYM(o1c}UTu;pSBcY_Vsm+uq;>F+d;E@aL1P2X!d>)g=@ zx2>W^*`wUTUnRnPDwD0@35F?N~#yWvyyEh%rMgWpa;zABK5E2%|jsHZ^ zwpQa6CA3D)snCr`MINi#CyQLfwg!$MYsKqh;^tq8SMgr`4dg_&ZClwsl}Vs;(a@gU z4W18sebE34?T7gDN_gI2j&jlo1Ol*P)?68KzildT>tXTzHy5~ht=Mn>QR3!f*gLZO zcJ0jL_8YE*yOby(yJ@Tw$VfxE*UjwMt7u!V${#n3r^N;Qm-RWLu21Y*d*X+S+?*rM zx6g*yAg`3CP9+JTL=|K&AqZO|eY5wboDaO_yfiJenlimpO$@Zd>(u* zx>t?ASe`VzS8+^-?2QoQ@wnJepM7o0l<~vuWgJZ)Dx<%r zxonu5)>}fH?Q-+jCy>gp2|h5mT#HIjLX zR|osXeX?4meSUnM`1(%^Qg~gGNUo!a9lf;VFtG|I15iDB@pT{)Ohrrzfj}Zqu#JuM zyhwi|R6VZt{_W5Ozq^(jOd{ zHfOvkS29Twat&R5wK;&xFf~!V~501JT6oBHum~Xb!i+cxq|A*k6CWTx#AV?hRLZB%xE&?fJ%}0sX{Q?#OsHzmXbukk0vPoJTnZsS6 zo{GT~0{sjs7J7ZcS``Rl_zg{$VSa}x06KGt8|g7t2Z$<&M~Q_@0gxo6MnCm)5`Lao zqJ1`Mr8IXc2Z+71wb=xM{23+ZhJ-tgyE2`-kRqUW3lF@}-k+4XM^r)2Jo|H5>j4|# z)5IgpE?MRc>0|dMUdTZlb(jL6%uD(VNT$}5bdd<9Bv0Y(fujynfNJmV2N6HRQ1zE= zpE}i-r-%vge`E?^=Y!juO(11%ev^Foh8B-%Hb+w9RC11H5O5(W8&{dlo&A3;9H| z38a{{zD-MLPCjOo==E^%Ue^fX7-*C<5U~_(;||zXAd;!A#JEIJ&UQ@fZ$ZQ8dkMOM z9dNM<)AJ%O(pMD|$h;7F5cIrUM680$VG4mf4DoaP+pbUljZ=w{@%<|8J~8ICi3EZh z{~k*66eZPq6%|xU;3X50oPCXWFkRB$dHnGAJ$Jq75{bqOSPKE_LrPsAgSqQG2^Ld+ z$*N6%O1AZJB7xjclmA#uym31e6UcO89%OOIDT&`?3IPpDGYJGXmxR*&GrNAzF_6fJ!=uzJ;AZWO?X!wfz6L8zi?U&K0IJI zN4)s=)ZDl~rrfv?e=&tXeubz(xv%Evc`@y1?ax+x1pd$FMj*y3lsp8E5+&X-9iF>{ z{uYvw6{51DJ?YRezohHP)tJ10M(fP_^}kKrgy;W%0x=(={Nf2L-4M{z5F!_Y+`~hZ z8&{=cH&9*1#u0Ndy)|An4lydWnL?nAqnQLk@zed^NW-?Ci|Cm0crn}YdF(UgPiibQ z9wA@QBGdN%NYuF;#cBX&YZ8Gdz5$_ZB{uH$)euM@rTW1DwFJ^e?9g3RQ^M_`J zAh3b0T%wbw@P43$zzgd)8JSBc7X^w@wf2dVCeeFh=vFV+v3LSSeR(ZBLD>}}ZImpYwRK5e^2 zaT)gx%ICo6-Nk_{zxfd2K75HOLT&saN^*wA(%H+Z zZ7czRdQp(tZ^=h7r*iVJ65#aYgNa?Z>%(;6Qf0{0w(i;|&F0m+9Zal#yd_%rm3)5W zS448uqkN9d%Xd4Z_UTWR7oZ5h6aX5NrYli%<|!eF!!L2`doW*)|0Y}*d_a)MddY6q zWf=0qV#Lg@b$f9)ctj$4dU~`5ENZu6Ict7NQ8V4Y5;xEv>N~Kvy+S0Ba}-Uy`zqz< z<8#(?KjZn}PGTPGRt58Q+fi|BHh~~%4lx%|^z~9PYkh@~$Zsw%a9Fw>J|8>`@?kMx zMt;+WKnRi!WH~kp&`Ur}RJ~bD9~J4`VBs+J9*G&diyE;qgcYHPLL&YAXy(H}DWdo4 zHN&W+PouV3pcEf*74NK=+WDbA{w3wQL+r>TL34q(j*lV{c~gjyfc>~Jn_RA)K}mGc zEgI!3AXr6iMQS{aDv*R<<*~ygFegd)lim>VtPLj(H)Wrk&vN|7qsqr�U0N z3m6JPKp0sW8@)7ef#2ByzNjH_8IB}mH>f&eAXG;q!hPy}p-9g4)~36>eW@M_@Y*0J zu()+zMC5S+-TB@6)yQVYsmCP7Eu0(m(S@+;dYRA#Wi`_Spy`oEjm1TS`wRsw9sEbOIWFBIc zOd}Gyb8#`kUPSRe7fBA8nmI}&FiV0!hA^gqg#-vodh*@Mwh^D8=m5uFB0s#G;JZlb zhac7*EK7i?GLFx##DnX_Mm%Ytb{3JxEyL+Z&?6&RD5xo?Io|6H%v%{m%Qfs1Q6*s^ zFuSWd4o4O4_&=!KOj66KoEM6j37#A^>vkl=q;2MG>xXjF)UDpp$O<<#Wa5%z9hN{r z8e-D_U6K>(R#HYs2vWFQ@>;L7^P4^_H*a_IN9Yl^dIEu=RmnEiNtAD2M{^yM1e)g% z#ZpKrbTpFg9+<#gZ%qWln+Bo1fcn#Rg0pjZZyJnzU>}Dg38EEy{>G2OVgT*j2w!bC z=%tVb;aGJU3yJa!;|N(BxSg|1FCXp6fNop3ONr=ZgCu!uq5805bb`n;Y?Yiu_m&`% zO9e5Ecoc;pGDK^Fq&7&t|5ki1MgVdlJRiI$m(=$*amQPP2jFN4cuXh2*C%hVly#ybtNS?fMsTH@Ft<4uUv_k~-QFBv8|nMP556&n<;Q8KqwAJD3CEs8Y-t zFNA#0=P)sVg$1PR-0^?XD#U@!VY@zUqY{oXuysqqaBa*v#pjXDPmolh>KDjkDLzjK zVb>RNUEfK=wbA&7Cb+ow9Fn#DogIfn(k5>^!90T1TdXVN1{*U@a1x6UkOvcdLX@ro zH-CntS6FWj_=LnfnSVLv&nWPCX<-5(~Bk~r}GnDnnkOjxmCE1_UNRbW&ERdtdG1bBJogx&BkK}AF@d6+j45~k4; z3Cg9m>%G>jhy&_Flzv&0Q8Ng65z4Aj+s>7;=9Q`&r9?hrFA*Iq!g$L_i39J4r~{M! z6#_G1Y}fx*R1dGeR2uzbm;i-9kf>KeAcQuH0=FKHnm7>Q6m!Nj7AK$tgz(FD{9Cvi zlp`jMZSW!CPH;|c!Fq+8Q@#nQ#I0^bB#lNK#jNSn%;HcE=sm=Z-`!|Lva^A%2l|j^ zcacNSQPVp^UKsy@u_X{KzO5gulXBEiMj(XBU^#1Kkdqr_2t3JC7piN#XX4C_5o#h= zVmrY-Fo1!iT%v}*#&*01ITB}1a3Vp?8Y_^e5a-4mawLVU_0(tsvhn|z?2nnFg`AaD z?eb2_kMy?XkRuUCoTo7QaRB>!ouGHXSrd;~fa(3-qC6$pWPC zf=ni&SE|U3)8JT#2%|qUX)>Z^#gT@Fh6WVO1Oi#bYN4T_p@Ad!Xas^hA8S2mXlNk6 z20^2$_l76y7@HTZp`kIOYv8@y_2**pAj+sJ%J}FACu&AcU>X`4$p<=eIjSqJw|Uo_ z*na>C(PmF4fc7N8iGB?Y4U}c!4Kv!LL3~YQKhvq0h-?V?kDoFP4UOaiz8yrp&}PU2 zSc8CNMJ6A-K%C3_&rCx@Be}@U-*^~Rc!;LXMyB;cqzDH*qR4T>tgh-FOhZE>*~qy5 zjZ&=+Av&@#-A=}F&vty5wFWdabkzkVRmnkTFJd?pqKc7vw&2T)F(l~dmgt)qz-MBu z0SyfeNYTUkdWakTQQPqs+pg~*azI4G9dCKK#yc#34r?uFXlQ@{;x?^9jszkz){4;3 z(8^P9XEwaA&)pjjXRQwn4IPOfm(fH5d5K`s-Ad5V z(7@OZIEkq}wgh)7bH3Bi(1_nKh&#b`Q9HCljS90XHuj;Rp#g_6?gUq(G~37|L!J-% z;95qQ@ITg|p`ih9Q`lk(BDsb;{^KJJX3ylkEl{7@u74XuXE0`F8X6iJZ=Ym`(reoF zkLFIL1OBMo^^W4M|9-9KXf+Td*1Ua z&h_Q0>Z-2l-rc>|TDw=rYiTH9qLZS-!NFmER+iU>gF}SE!NDVUq9{OGCauIcWsl#9M!);TFDxj3#7wea7@@0UY+ zAK(8!KItoI4~+kBs#R%Y?kAWR{z!0ew3Pq1G2HPao=M{Pa}RU*Rj2ODDhJl%3qoNa z_~jnd=@Jm|2po93ZA>MTrL>}iqXxnM-(FQ|cHeVNJ>wad%D)n)YFAkpPg6N2AM&7!RO|&b$O04Cnl#^I%J_2gDJ*n2wc*LT5vxovX z1&E<7u`V6%D;@FR+@YL^G`bm)fq=lkr;3P(h|f^IL|Iy#cxbS~mj<3-cEa?a*PwJ~ zx3^KQP$Cc(L^RNgUckU7O3Hv;i?=J-SaJ}Bk@ig#lj+9FKdo&h5QQjv zg!b#M*!4Ar8|>T-cKS&^G9{5SP}W38XAd`0gNK?N=jFfMW7w_5zy~p@s!l^dz#Btu zLQ#h*@rkbF!1sb+`4P2+7FR^0j=f!Zhp+UQ>gvB*`$C$0Ue_@id#>6X@|;|(e66kb zaQ_g|qSAN|&_=yDVZzKYx%8sq^i?0f;~YDU{z(uoW)k21kh`+H{JQiMq^BpvGV%cA z;E4l!EijofOWH4@W_ZD#2Vl>OBa2D5>nFunoM`8vV-G-r==7I00yrFFQV#OG4nYBd zSNG?;>$i)W<4n4k=2*@z7T)s;U>%h(##y0qzpVMcn@+e|B}-ddcOK9`gdoF&rnE{- zOdr(IJzH{XKIvn-n<4=xV@}-ukkQ7l*V8{lVahdn9|jzSX@k)bDA6#CO^ge|9;%ci zPC!y`&{XWGY^p4iCW~O`Xb*uxGhqS#KsU98u0f{M5v{r2sFz;Uq^L&KLx5*spnGS8p7St%v(k^*cF~R8wne*B?L*dddHm)pTp(@BN|LX9 z-wVO-*a~_Dngg&C>s_ab&fOh8`X7@~y&fsSfUo!4u+0Aj;Yze8j_X9znOhWl_3BES zqFg<|t*W;6dHN64+oja&?fdE^58?mj3Yxa2q{}URP2%y%y*F(d5YsG_=I+DfC=m?uFF!W;a?Rs}kaOQt zUap`aVwHr`V%}1VR!^remd;K zywVgYLn$L}iEAKql(^%=Zs-n+X2?miDrZ;J1W72!RwUz9P;Qyq?7TxS#;Ym9 zFg3+yLo4BRSs>SO5qY35WoMFFb+vGKcxX_Uk-K8cOJYT-jg2Z1Cu!U;nvi5 z1Ze03yS*K{QM$#;B@EI)dob#@T|x)^vmg#0Ck27AgPmF_b|-z@y3hZanH5j?S{_P& zEe4zk@CD*_kfqQE?e2SL|GR0Ix@%7D`}dK5*ivAi1!bz~DZh152EsibNB|o`WA{u* zCFQxsjZd^7y$iyY$F8rhhp|$YxID;jRG#CZrly7ZM3C(5SV*r%?ada8Q3ZiU;$hS| zUz)0R<28dp(Zd55c$$9o>|9DM6upNmnlsZC1!QFVEx#}T&qAot+jyEY-aI03r6P8vUiWtpusN%2G z8C_Smx8K=oYG{0vc$!b`m+1v(n}g|KIVP1+>LXJ^EGlMq!9Qua!)+MtuIE{IZsnf8 zq(lmQLZQl`S08GhcK6+_K1CI*5i9#Tjy3#T>J{%*?|I;8&-?<2knxX8J#3;c>AyRzL<2l zK5E$8kK2zp3@p3deXHRGoWBvE{wPP`5pqonwXV}SHTd$ncOAtUEv+;|As?XBN?7$<(*nq@?o7hJfuM6Td${+0fNt zkI)6~V=1AAqB+&Jq4F3!FD@bZPJ+EwP?{Kn8d|A|cNg(hi0AJx<9;P_&%{%by;ikV zA-|s3y8#(kLx2CSPV_by3#ic)CrftRJ0BcSkNdXSak~4FFbWyFj{h zugTvw3c=C6>Q0BqfXPkkYe^I9NC9PI3%>TaAN1WpU$ng#V|D(DK_uSuSQ1x0<%nV0gH8g z%9{gRDedKlVv2YC$`hsC-=9{iY5rk8E53@#)=0kLU#&+kcKe+#Q?De~`0f55yb*8` zTt517-$Smq@Rs)%wHpp#;OvS?EuAa6m%L4=a@k~M3@F7XB=me96B83FARu72AG#Ur z`p(#D-!qN@5;~fzkOqW-u0e!W(*hd{^`TFTsWZ^flBa`4+@vp51({Yd#ZA8`gaul*pzEg}j7HLPcKYcphbD!yNm zYazQS5%+4==kJAVLe~>9T-IUOhV4!9n)AOaO16pA1kHjTpsAGwh!krZ>WC@??*^8N znccl0l{G(IUAoz-b$eI}H4L`3ZeP^gK=SJHcSyT`glcQTH-?xq)ZVyxsq}Rf1JTR* z-8_2yXM#&b5C+sdqn*tpw1ZFW!gvL1oM$-X^*$|T7e*TYQ?fKHf>Y{49wO;|? zgDMf2wzJ3Rl;mdc1_`%nAHelqJU6P$%o}K=Gt~WSsQ2Cu_4h5MoHJag%}T;M&>+$a zkhs%e%R0!(}7bW@UaVB2vKf6 zU~&lw$c{ZMmYrS0(nz;Gz_L5%xGn|!cYJk)mtTU{hZXdy=+gzdM z_HX~&46T3u{JHn_^_84dcp)Z$K4DU)Jch6NK#eWb8!THl$(H;x>EaFYfw`y8y86cq z+OD9wjj+N_@20vt2rFSf)$Fw`mJqLOuUC|=32fL|COk%1W~xoJrrkzCgRaaNLGa+` zuGLdF-A^tjnyhS_(k0x8BB|$g#16G;@MDDb3{lx`I@1R0B3+5q#&aOwrK3#d+J%UZ z2a|%+=aLZ0Cwa3!I=^sR2*DvOB|R_2FZqu%v(`jmWs`SGQWekT_b^N8hGYwxQG>~3 z^4~R!Eh#BDR||6V)@evuCcl)UD?fQ?jtM!bl_i*r%*@uB`0UCvD%WvOSIUAdw zb3qo%;$Y9mfn~^9$Y1ut9(u0-iX5P3r|d#XB*_K*xaWa6^?FQ=pLxjR9N(;=c%vGl z2esK>t({(`B<=0Atc`3d;sfRCOu7mfcMjNvU2!iC&7qW5wt>E!%d4x*mCM$^E_4qa zHZDEkiLqmG^OJwU6__XoC2NA0MCV*|~txx)%Xx%~t$(X7R!#7YW{&Kme&u z5C_ch22iCG8)M>!y>$08mOm#tf9Ryta+@iqK z#XQdi7dR~@^(Qq+DZE;at)cQ!Hj49=MHa_|JZiAXN8KjhofIr`^CnEMMdO*EGvCIp z=F7Bbv&^MITXV>q4GflL zP~#z175;$?;EHxxt~Oqv`d9aY1MH=RFB5uTU+=eKhPrS)DAF3I=HO%3Gl|!Xp0O*4 z2!75}=bwXjP$?mY#h09ez3w9caT&dqJ_b+kEPOhPTnBH-DGW8ip9izSDMxzQC7-Oe z-myhYm%tkC3(Z?A%lJD_FxbAF_(l}~Ho>AU%UP46=+(U!crb&iH;9}uYMaxhf||yC+wX1(yGiKOGn%^2Jp@OCxmJLD$h7A;aZo2ktoke}k4LOIA$(I~GqoTz#-N zDSA78Nu^HRpAeEp8|z}p`YjhD&mR|faG?sTOx zsVSNluv{`JF9_;3bgX9=^Wdh|Du89evlQg-!1D^&$j&`{_$m-k4P5tzIaOqJs#oSR zu>xkCmLZy@k^!my;#My_>LUOEfa@?Ug@6cpH?JY^e9(gHLTLM;t-fy}{$tIixXK@W zoL*iCa?NL?YYdnDK>u?H=JRcyUZIy0Pz`2fB-QeiMZzrXhfRLLXVDwU;HN(AdJhcT zK3BMiOa7#=G0cAdCr`4`*!P6nUfI1iZ4P;<=zPckKJ52z8>PKm_xpx>MJ?4J`TPTvc7Dht<;nPq2@J>ZidjKKi9<26ca~a_0$IGShq#*XV3c7 zFSt5eLV4XNbt<8n43OM5v&jI9$dY?UQSV-I0I7FN+34X@T^vEd3}K>f%bTrclkaxR zw(9eG_J4d9FG01!;C>3GwIFp*)ldFOpL|^ls23~J@+G?L$c|*q2ey~y<3G@2uOK*w z+WqH;+x_|_^{FTK6`BgOP8nme+VPJTU`J7|B)Mc7gzh*_iwyYTO z`NcEah(ALtr`z%EPqj;aEzpO!2Px&*6B&|1(38d#Af{~?$k3wnuO!+#khQI%8rtOF zjY|3D(eQj!^<3cN9zrD!9>r=OLn{$YGE?mZ z0!cYc_!P?W{cR&>li#}iGS-5p!EcjsI$zIA4IJvT>1*A=o`eDQbj_~w-sJm4P?U=&)RP*e$eND}8AvkXnq(A0$W zS63e+tE#HH9D;fCr;$AJhYTP!TV{b5H)H#hKujDH>D@d;Vq;!oM<5dBQ>{x-M?Rtk z)YWI}1tG+;qwfU)bK~HtxZl>igZM{Vzbodijr7jG^>GsN^J0c~Ce%)%Hh?|WLhY5P zUYRB&_8I-2nubVmj5smL`mQ?4b-?d{4@mj=SE=ttGwf-vJ}0W^BOMRui)(VZS<wO0(S8kXWado?Ts*&Zqy;L)3zM{f>%hqXVBaf%~yDKiBzjv-u@O z8#IBhLgbGH@3yk-%Vql8psggro={^Z0;wZa9TT``|&p@x(~{QUeZlotY$tt$`HKM(lq zl=@xf?)dCym51KEJbsguW~TJp1aG5%;KzfY?L1*#Z+)b`(yNKU8P9yNC9T*~^je7J z+wm}gbV+uPa|p1YKkKJy@PoCZzTX3#R=)Z4g^mdH*l#ShGkL0!wI-x!i*~c_l1T@= zwz}&qL`IF)IusNZ-Y3R#;fJuAu>;14uh{r}3yW>^wU59C=64sO<*k#UZN{+1Xs%p3 zyJb-Crqcdd0Bb|@e4v?m>*yJ>$4omT^6S)T{{e(UH^68%3wCcCjR^axHaf1t2uc?Q*V}oTWUx^TDBbP~3 zo0na&(V*+l!&(vV0O*?J+N%aiIr>1(&}HR6wKBI%j0bU*mFxzw$X{rKNWIV=UIdKp zOh}Ob?C1PC>D6~-`2=deVBSud_6awKuq*+OLoJH?ie@1*6+4E&k}kGzpR9inbHsV2 z_BR>0Ve8}rg(O+$un{`S#}+BrqoxJ*XR>6!H2GF(fa5DGn$eBzSKCifmtwI^Se~85 zURfwMSMB+<(MoITGI-~`Hl>7i5VXaRDPz^~eNxxp;Z)*IugG8;h$KF3so1{%Hw=?0 z{TeP#f)q`Sb4N#Kapsac+917{+!I0kqTB*sgScEGYly&MdC|V&pnNRzYvcr zy4#~L)ehewc-rMCZ_lgd+UvF)1;>ki*oTx$OBaHV!yYj*G*%b!kCOZP-oekrZy(@9 z$xlN3RJ^SmbNhU50+jENK=*S^>;05#;fxc9F+FUk(AFsTktOOWg;eNWqA`?&E>k1% zkSB8mi&T7SQZKuY^BVn~KQLg>;O_Fz3$3}SIr6R^{%W6zGjp}A>*wPah>(`j+(~@tQksi+^orSUPxy%}DaRhU zDLS+DK5ti>wmdRt^rv86HN=g~mV*EC-(1^f3-yn;vYh(-ZvoGv0k1xxgVPo@8C1Wo zG8+v{x*EqheoJx-e@MvmFNbHX76sA@*(O@+Yl}-P9pZ1fI6oBBtcT80P3abecE0Xn z!z{R9rxvg)1-hZe5tdcLR<;D6|ET>+s}K57C(dQA$&+n0SfZH#tghMXZXkURiM-?k zjK9K3KZKR`UCOSF#WSL5>ziZko=LBf+n)bc2ynHWt+=ssF&$RSv`XJ^AMO>|u`TLQ z_BIt0P9?J0IP-4aH>7TeU+&g!i^jd^QJSB$J39;XF4cbfzR{ayP;unWBKK08Pc#_+ zEIBW@6tpS)?42MB|1T_cfHnGe+G}xV2(}$o7HR?mx9F(#kDq+v)Q`+=CI<**IyXd% zUHHgXWW7h4p+6|88-7&?BMh0DGbwVm!|KPz6pgCioZiJERiWc;HwIx(9}BkHM&xgN zyPhGxJ^J;&$IdUNoF?fdVio_uQEfG>g4^hl%lQXBl&i?%*dr8YR$neYxE&KvcO5vD zQ%eYB8ZWNWcNF*FtXO1>8#_06>|#n zZlG!6pQOaB%Z%CGROW=Uh$Y#{tK&3TLG{)hDH-5_SYtbsW2v4EhiAUrpH}7V0{}=J zMtHVf((2^w!u-U9Q^OmeFeP-qv{5|4S?^aWa?<8bISnCnY2n+9Ga-FI_#sO8`e6Hz z)!!NI1`@Apo_y8nIq&il6czJJ$-?^r#iAmUTn&e8kL&dayKU>)tG$0$@o=|!>*xLb z?U(H-hXmIf>*h1z&*5i^gy&XmI;tU_Vv3TX{EuvNv?Y#6f{$8;bHO3AE zm}m7JiX_Hc5MI@r61trR+ME=QSE$Ee| zGau$9C5U-gul`OBTUH==uwFlsD&Ch!{~E}&*?v*zKL3t5c1fykN+goV&j$Do{#^hQnjRZJ!Iluwd2!1=htrol*E)a z9m|)Oxw7IFTAS(GSY1A#qmlisSHN~BRjh^J$ zSf>29wS&{C3h?JI6q@R)9X)jqqMM>=mCpJ0nPDEzcnac)6oXJ-&FeGsd*p%ihvA^i zcksV!|NT4IRVMt14{6zdL-nNF-aF6Jm&b{t*klK}HGgspwD8%Z4S}@2$|4XWfQk68 z3o7ZYp}D`h=fOijfXi~r{+O<H13#@liUOBS3%q z_ZZo1pLr|MJg5Q4*0o=QX=Y~9ARPL#>O+s>v{zp=r0yP7zFOP?_p1cLBB&m%$30f5 zvp{gV!H_%F^WEwnt(WD&A5pRez;I!7+mw;LePE#A^2RFl|EW=oTzC1)vak#K(<4f@ z$FRPZD8w@xyJRc6{vczTKM~l+6$gV{Si>fJ0jEne31!}JZxrNRbYY?r(BMtU*W8}o zLkd4KGBS%k-}7}1s5WB!=w0ImUSS`y;yG}gt8#xl=0UA8_2MS%UeNoAtvQ6#+-eHg zI1IG>bB$e3-zSN@MIO&}zw|T@^}c^QbrX;4MKLd6#)T})Q55?m-$|o#K$wh+?%7#g z$V<&N`w)jut3XB`cnQ~4$=F(;{)+{Zhp_+`VJyFSFahB#;94xB59DHA!V4G^BJIjo z+-yY8c)-D5d6CFG2T@R1wVj$?<3Gxbglt^p`pq^}lxF*4t(+hDBV%Rr@bZeb!%8Ln z-MNCRip~p`uF;53ijgFRGRved;P*3bihC%N?o@t*r(! zDYDTPHJUjIxUch!F|Giuzu5YFOw#f_>z#firn6mhr%U6x=K(eEb$9`%mAconmzNC( zyxlgajI}9;SF=w~{l=UK>`qbuHoC^oc}MAs$QF66kjz97bS$$`b=9w^IzTj~9L&Hy z(4;)Z#Q6Mnj7TN*G=Faz?E(&7A6`ca6+|>AmBoc9>h_Vcsx3CWu8j25f0*nmWy**W zgBbiMby`b_Mu>AL`(h%9n~nxb~46R#75B6QWV#q9Vx zi`4=g>anAX5}lBpYL5sPQ3=2Lv6HsGj6a07*0DS8B^`h{J3P&Wf=Ai=k#oxEdb7=0 zfdrSh!A~mK6AS25!xL4YhmiR6_}%{Fjmq zkI@DT~wQ&c#v7AcGy;*S?zquTNuV@SGWp2i&X~` z2I8+K9%?PYC0G~N;-X6;N&8_=ndwzloh~d8x+;GYvS+>Rq5oQ>9DMyl{kPbCr&2Il z8i(WQ%z89Ck#sQw_9;))ZVsdlik0&mhmVtav39>;~dy62fGrb++{zZ-1*WloVR!UF>`Wfm(au=!xbbEh}c#^UF&CmWQe-_OxEkQ&rm z8Y@2N{^zYTQ}ii>l>j^&*QcC|mw58s^)1zs^uIQqPOZ?%RExvYF{kyfz0HD>kT?z8+NZr}Z`$;Ma40>LdxcgEZf?^NsJe z5s58vGK;ZR6?Iqdo2B|V_FAp6j(1`E{u69is{im7vf^S*tISQ__b17pY8gA>La8ff zAgWI1Ae5^G3od&~(;S+(ewQqyxOe(l7cfd3=dp5f*%s$^R~~*5FrSYf@iifUEhpE& zj$N%(X}L1;GS=}D?RY%8f7>UYelEG_gl=e~{hMYvmY%I=NbsBq$(|Y)d1~okO`axdH19~o&L70Zb4AoV2c@0^j;O-tM`BZB`qT zMeOBr_NU8;gwIhMyCt%F>=Zf$#9^gPO5pm z!b-)*%Qn>Bmy@ddgFga172g0pPnfT#C#aELkxZSqL{WonRz|fUePkwv+nz?Rk`;7y z#YwcxZ;+?W2AXvcz++ zwFdm5IfSujjG;h-9AFlj3^!06DemcV_EG$*EjoIX3g`J|5v`}YlUn~^(LfpR`{q)4 z`KZ`RokJISHC&a#nJ0tB66xNthTO;;e#qRz!+Z|wfvyLa8N_4vcAgwTQZclnxA#W% zPp)ppFWKAd-UU5(lm-{J+(HeDnKhBj<73@-Z^(x4g{;3)x=E-$(2L-A>b46{Pvufq zSC?NWMsFt$(?zG?33S6u%P3wt3#m8c*AP9UxZt^?d2US&cClp06Pf(BwFt^DVzcDz zUjpN)R4`k{)+>b#^zSRsDUSR1nt^!9k=_ZNSh=M5<3h>Q^=NO;*Vyn>?0x2!ot^kX z%+NHN^jd-RIQ^Ov9$v|{*OmLwOXCec>I8R!cDj6gCXL{*@!4XCQIG36suc+(yMW6+ z>D8H+s;523$0CF+O5DCJ@mc(PIG6};_*TNh6A1eE;F4a(d%OCt%S*_HH~#~44{w4n z3SBSKYV9g==vQDHNAhD)EXY#;*B+fM>~RVa@Ou6S=BpDTx963P7rxFK*b~kBN@(yT2k z9Hgewh7rqMUm{4FWp~FkE(DmF`&wFL6~`DGMBLAnQYd@xPRc&tVk=(R(|*fU)Et=# zZ}&eLi5CN|ucx-Pwe|gMZiarQt*%eRR{FUnZ5dWltL)}FeJbQ*9v0@(AY=KqYe?qP zq<<)+L{Vp1^qj;kUuR*gw``r5mW98>IJM`Cos%JB(KIB3iY&l;etV6ub-m{ z-*qU6=E|&OZf0gP^lCr8k)Aq?kzrOfl)83ds$0{G{#WtKXJ<;+HS-32pqOSwrJsP1 z;9Y#>^FKxzQ*^Y#IHA#hEx1R&m@{-zj7R2`L4Ayxbf@peo;to=zA?H(X+hcHj}a|4 zxW7GaBo|$YF`<%f;&bxgz<~WTHpP9{`Gq@eg{FNBoTpiYBlP3 zg4bY#&)N*v{-b`bBX@*}Tnx3mA!sktJsvl(*3-LybJ>mI1zr&$L5~^W*8PvN($2R{ zME6o|51p(^Y+6wL&#$AjM}$)pNo>{iwT*6henfET!>eKZ<{xZ1cLF^q?c(r0%N{1l z6LlcDv>Bb^sv;^5P`ndMlTNg~l$*qVlpnoupS^h3w;*F<=GI+aNaNb!AM zlatkd`MegK#!KD;eoy`FG$F7epF;Q3@MO5~bn+w&DR0b|vi~eDHnhjNQ!i_dDJG@t z%;w;<7od*Z8()2#zf{2JVjS|by%>=zIW?{WMS|~=A!2&v1AC!@;4tIVw`uN{RAw7C zNFm*l9k#bAe%rFE9EO7huaSZeTKK4tF(c1mG@e`UQwT9XzhG#Xon3>Ew`T&gO32R! zi!THVYb8%3#Mq$^nlQzM+ynuHNDv050U0m09)IQrIf$oszjDQi4aXC>VtIhhL>?U%1rl zuRVsdh!-;mLCYEdV%XmyeK5j#`|rsJ4IOCoqlQ&PNW2|3`JVQ-3b$Zfet+5>ZFS%U zaC97lT?O_(#>JVBWw_y)$M!!4A7n>EMBvg5QZCx{zIp97@qK4RkYu2I%E`&mk)yMY z??p8$CMyqzsHA}j{K57 zdT?;DXdfHhsj@YFkaBky@ouke&g&=PAJbzB{d?QKbcLTuhGD<=X_0BkiH=mn6Fm@3 zUg;|#@3NM=F7excW9T9u+BwDWs3>WqM0wI39bLuQOD^K2gbsGfaiH@t?J09{RI?=& zvJ#rv7x@`eQJtmXerG@F8W9QTiv-8a7;Qbx10x$M>P6Hs6;bNU2L~+B{7d}dw{zB; zz=znqOceNvpO|CyUF2iCefU1%aQ_oe?JlE6`%pG~~~;rNixrF09z4%n;S zr6YI`UeC7st-!O?bNZ=O-?=GI@9&!C9whTgyb)ENVo9Q{%1&k}w7Sc71Kc4T7qk)b ztW3#>j+M^BDgz6jI4xW#Xa1$fhFwYPw>yxca``EvrE7}k3 zExeNBPi;;MWICt!n>R!EV`_u3i3$OPQ|OCJW^l^1WLAf+Q0dfk(sp%AEMG z>u29jz(Ryw&dYYAGv^XNl(Y7m`_Xr0oJ9qnjpa6o4<8xA(G=8NpD1l4KRwX> zhRNg*(2QS{m@gMQXGS_SUNZfU@2KW))a12ZMv9`h=0b*?Tr1HKBSb?5vyUC0eD&(x zQ-D~yNNxcDABo{#&-;>>I*WYqJ#U8*uWlb^bBSM*B+G<9KJN9j0%r$s_ z$`9uPlIa=(0)ltxc`jn$I&4tmV(qq89N=P5xffaO6!nI8j$4Vi1f29q39T_Xdb>Tc z6x*%{K?YjkXVzn|8n%5jLZ4q$vZ7>$chgv1o$l?jwG?zZF8PltXkv#xie|cW<-LfN z1|Poej-gSPeO!h+r8GY7X8}#QH%&|_r7y*n4?gH(`mJF4(4@G-HDeaZ1M3LkC+QP`}R8V z)kCRhXV>+6(f5wVMAUHiApPG6KQa|oV+++TNZ(YA%xBYfo8z6fZsq_NF=l#mzL8hj zIn=J`xNZ>wS;FU0*Ov`(ephtLwQ0aS)u3oc1#xUwr|(_TG`(NY{4H6PDk|)??UfXj z7YKTPYPHy2SG<`>-3`f2;F1nmk;B22XUfdV{ic=t+a+xNJ*VcTD|>oA?zFY_eXv$7 zn)@BP8)qu1Yy74jz}#FQlFgg?ci|*7#}pPDI*LmA&Hp zshvLzRI%Wje%3e8{Y7j05O2fNj>3l+jMPj1*u06{1`+`C~SQk$c zoo~3I=B|8eAVZ>v84sOcxNwUFNt{WEC^xr9vq-Wwz4%xD%waMa>Pn-L7u*WmkB@N8 z_k6~nLScX-a=y}1Q)j1qjM5lZLXptrFd=x2`U*pQDrAF5M+8~K zCf7kKH-B)@0a~y6AQPtcU`I#W1@13S%)~gw6d%eX5!CRLaHEl60v-{8;)0@*V?+QV zHHhXnJe)6R{(S4vflBXE-KgVOleU4$+W1?>SX-nRo_DB42O#iCoPQ6DQXW-)%#Yuwa66pyfvg_KjF!k*?DR);A+<0 zSMRfJ@8&Os6dX6&Q~G_b5A_BOZgQHsH!E2GqY|O#*xK5U^jBKc3q>(R9H;;Wx5w&B z46a%=81>t}ViaAj211hy?Gmqb#U z)9lC8w5~@56LR(8`K49mc3+pR`!zBtG|>RD@68`)U%y(w(e~Fsqip-MP>7y!M|^7M`_jTXOW3>(zaDsa`06dX zeuuk5kyGV0zrXXl*P4Bv#lp<2uFl{1sv?^*Hiq(^H|!xCLZO$;bu_5<8Z~;sd`g=K zLo9RWZqr`Z%W8cMQYTW(=rWdK)cgITh*t}a2S@*bhsnt!jTLv=VAg5GIR^TFk48ph z(y4mNNLtHgRcS!@TYN{hzuzLNwO<2AVJ;b%S<;_ugD?Kw1MB+L2{l?q*T~YuO+A)- zf=1-F{~dkGFDOypM|)|XDGYj+dYlh6l!Hd~KS5_|F3wZCBK#VfX*rcne(XkQJrh9> zu$S*zcY22wn(baEa0Wdluz8s@G-qz&#q$%)r?IHG7 z$`s|}SIZELHUE)NB)c8<43?b7a6$_RZbkE|^aqr(H8?AK%(kJzJs2See3ML;>=Bf- z6Op@E;T0F$Vv2gZXTJIYuFiimqE=^^7W*C7E8YnKV@uU; zO2h0M&@Cc7mG?|`3+MEZKhP_RlJErnJ1DQPIH1X;b|L%Aqv))H;x4pKfk%`l-_gd5y) z$WAIyF+dF-8xtEYTfr{C*4NVU>YO7PQv{ai@b-Rufv+_ky|2c?FpHTlkrpH|_WlDG8s%El-vHsU^d3mH=|6LS|!qGTc2Ai{;C zgSd5!?yFnDQQ?|f!~85eLha?$J7py-)n9%{{x@0YRJGmW0=$DQZfuA%qy#8b+skfP z&*h@;Vuy7?%rUBmLNsvt?~@z1E{k$+C4GWDpLjg_XaA=dMJ4Co7bCh<${X?O!~4Ws zMVwdu#B0>}+S64b!ov+ZLJQco*K#MCHosNQr5zj`jQmd(-ySDdw}()h&Z8{yGThJP zi!?VjX1h6l4c7NExo(|K59rfC6P;#@zPK2#AlVa|o15Fd+4&ZhAD*ZAiT5ONg-B&h$;~=(Fc3+ zFYjdjbOG4I4=)AhWN22jC$LJl^>m-lU^l^XTcBOZd&Szd=C^i#;}4{ecxt4ooE5z%E#BswH z^lUrCRN;T?`v|1Ov4w}FP(qt5(mwJENtJei0z16VpFuNJ(cxUUmT?|S^ua|= ztpChwQr5k@L^eyF*fkMrGW~AC_CaPnly^%*L)KD6jhuLD^>f$t)IxILa=mVsF~3Jo zJyd(2y{gld29bXyD(5B2m42gL6ik&B+D?G_?8OtVB#mjtHXpePVtz{%s4p^ZY0_mC z6=lq1NKyw#a8J&EBOX;@5~DVm$NXP~Ebcev`~MmV_Oziymm&7CF-Q}6@7b<{UntYX zMDQLRK8#>Rt3UXF2waoR*Y@>*k)2<$#&DQoc}p>IdO$iLIx3V~+hY5Y9J;_YnvNTr z(39zwC=NGKE1HY8!)AoC%lpJ&2_FU_^a zUOGl5OHTim<{CigYC5bkdp(pMZ?4~;&I`PQP;0n$wy*9e(|37j;{%q)^4 zi-4S*y`F$wPhtghX>xQ=#X>&N2p|Q&nO}9)ABLaA`RlRd}*U@=7WAGO^Yw_pETSNrBvhKDvYF&mtdu@Ud2VHU)?gR5Jum zk0RmLRb%q+@EiW(;=7lHA})6HxXP^#ptv*OIW>cG=@IV{p&?W1lEt-?eFlLx4#U`W z{!@qND&?z~RQ!q;TjydWc9h*aQ{E3xUjr7A0~zr%qxaR{$rNl zrbP|!;1jrNqh6?@*Rv+x&x_tX!C!BAMEpGz6nGh`F%?h%ze|1na}H5%isrA%cWJ(H z`PZz1JxDRwX@0X3O_OYKAVs;2?(#}oV zZ^CLJUVTk5^a?^3G)YyKr0fOH>Z_8w!p(M!*DONZi>~Tx*(xtR@tOj6A#9z&cR4>Z_AO46yZ`P{ zbF;6y?_6u+dVcub7ED$s%zWkfp54*V)hhioUy+Q+;levX*>0j~cvgph7Z$D>hB7Oa zV;CAAyuk0o+AZXm2<;&O<9Pi;Kz-|2*Vbm9Y$J>l7Sf{Jx*=1t;O?fUTXkff=4GM2 z+iwNI6k=5@Eakf|6I4ht8%&ft(9lMqCm>s?A8@sP23^d@#~Wg7K&$y3%omrKuC7af zk|Es5IjHFHbWo!IxD4UoKq&@&9s}eNQZ2tbmqK1fKFgHo^@;jLrZlJ*q6n6+-wl#x zWN%l?`Fl?3%g?6sm}%wAqTe`x-fzl8nO{;oUy_$$A*VhjNIfsT<7mOIHk3V+@S;yr zuh5%A^};|vy-{XLkn6jX{@mQuR6I@}l^T?&o?t{XN9VUS`i4>!qJ*1TXEroUoAT#> zGD9?EjCyjy7;T`-dT+4eu3f_7>7%0PFrE@CmEWd970Zg=A%}jx;4N_PzZ&o^Q+VQ| z*!u3(rhdeA@j;zza04$^Qn&ZHo8E>i8i-3AF>as;+t@NuY3)!e^}xBs8! zzOpNht?L#I9^5TJaCdhL4#7RRYvWFWy9S5g7Tnz}KsWC0-nh%#=Nb1$-1^+3de^Sn z%jTMM6<}E|5nI+sp+GFf>T^iYrvK|6eSKqn62y|KG?lEbu7(DQ!a*B{X7Ax2R^aY7 z>QJA~(LW3M0BSg-4}9hCI?It{ui6Vfl#7Q))2}*^6JmEt>SZ;i^aK^^|Arj4{-!yI zjguNitpmlV`LrgMI>B!jnc(qEToK?Hzr2=y7Jjg(>Asy<&hK(@++A+-c6D@XRM|TX zW(_>R{xu)BY;sWSC>W&^n95~@j0vuVY8fu20OcJ#v4@**mOW0bq;FUX-5#FcGVMRv z-4Ba575voh-gfX;v=AOqL4xjSO@Ta!VUNiA{CwNtIL4(W)p1h{;6T8WKQvda4v30b zeso9;FGT%J*M)OySwmgwGcC#d8hI!m`rE7_Xt4j(!Sc$l=Ee;A!k2x~^1bUz9{XnH zK2ksP8wURs3wg1|BAm#q>~@u}xcVi&$|mxeHbqx>rOoOB+Nm!DtMn{2>pow5e3Y_P z0;rRh&ol#=7<@{D4C_KPK|v9o1W*=hoYz-B`|4ePhP_n#Z9N~scp9O@X+7F2HsYex zT2sL}jO^FqJRldX=?uV^;G#hX?u$>S3%jDd?tH(7dksT7on38lTn4OKiLgW2l}Tiq z{dL~>>kMo>P^tgYY+dwB-%Fjy&Cw(S6X~ zdvqpA&An67Yfdt=Z(1}g5j`b`0011Lai{hlRt&r)n}BeoFD;KxT3a3Jnk@NnLafOR zc$>oz$3i<(<2SH+&kSTG(T(tC5#$wWf4N@lJYEs(h8SQ;6K&0i<;v~iufd%-l#uX_ z$s9X1_f?Z^d$yp1G{`w~r6N*S)BbbQ&qAs#<3Nk}+NL)vAX;)LTwHIB;i?31l@jjN ziehU3=dgm^WF^L=J%|_3CL+OF>ZIV3OIo+s*dZUoB5&4cG%dnxh-FXRM&BYeXSAK(!b_5^&oLT6b%_@8p7e&>O@Wa#BsEQFsv>4ClhZ`*AY;r$vgE?1j9?g9$IfVbK(xDh@DlH`8bCsasQ<){&a z)Ad78hsGXW=07o#9hxm9{-oSY`5Y16l-6tbyC{ifH~0HMY#1_UiolX@jVMUeVBv~? zhSJ4G7%B*i19)svYDhhEJyyB#?NOjl()l;ZfuLuy7XhyWgnUxW5Nc2a0u)pPw$Xh%uO~{opZRy}%fqC!sT7}j z3w`a67AG(`lp89*bc2B`hw9e?cL(qRpbY!AzSX~E*!$_t_uwhz`VDBOdrp_uFr4mf zjPhoP==Fp9Ta)8ajQ4Ugs*J3C=*Hh^Xwh(eL zUvUWFldYZE->`cPmaJc~p$KU`7qPB}Tic<o0~ev4|OY`dr$2{)UVB>j(ss|Q;#KY8wz3tBG#eIM>d(h z)?6wK`o{&upIxEItp4X&MM0wVwXLRxq!GZf_+)2ST}o~}KxF{2H2&E3>?dYkJliHlvNkHR_?N;4s(*aKbk zyt+HBp~*(1uWLgQM7H!>(RKe((`e`OPvE`WBXY%YV7jHuz-y*h((!_O-P!s6aMh=- zw_R4Gwl|rR1Dmz7`p`?%Ps<@>24^b!I@Xw_!@6`4Wx`7k{cxRSdhOT*aI0M_OpyOt z?%TZ*cs`r=F{1!NLmSfD0)i%!>*^v0C?E15)dkTUmNY}@pJ`YUQ}BqGV4FOq0+|7r z?oS~j!v$m!1oli!GVWgoG$^)IFu0RD@s3y4_#vURzsm9`s_KFt&K+O4+ODlQ#RBy+ z$;0|=i?w2PA=a|3nSO<5fX7Am?X6p9OAaxSToV^>n!_sp97D zlb7I=W*fRr@rzTGEEH~|=S<#P3!M^QRqV?O%z-38V^d3sAdh26Q2dW<6wQOQp>v_Q zA_tJpu_XSfBZ6PCfnV+K0Iky-thOJuX6n993IO%9o6V`I%MJX_9qyOpL4`usxOo_v zo%4zz05U!+TYQM7SFT+C>w(7x&I^6m%5bYwsT$u3aP>mNg%pQJOVZ%|g!jIx%oen@ zCCAaz3Q3BcR%3=y{tt+se! z-s?Gtq8yOY1eQ(kuiedecl>7{Nd;Vx< zwBM|^Y8r$uGt90eJsE^b^FKzxL@Y5umH|7Jbn*8Bp-4Ioi&? z%@%;vW|_V^L8`th+EKct zvGua1;uE*t^R`f!R-_-9Z& zlupnZA&rfAS86c`d`3vfu`&G)jEkj|>S{#8ZJEZkO*|Kq+_P$mf_A8a1a*hsJESjS z?wSE+RJ-NBX&hGDgo_{TNxW>*+leZm_j1^zi9`$cYgdYvG&C6O`u8e+;dh-hty2b* zWqeaf#I^!jyA2F)AEm zh`&cirpstwWa#pd;TZ~x;Y>+SqV0P^nd&W8O{UWVr6_(weNm>;YwWvzyokeQGkHn9H1MteN4Fpz+b zH^A)?2uqs9Gt^CYa(jzPNS?>{*Ciq(*zBvw@(&Azk0w!1H}mk89Ed4|<lzNmpJtnKADD`lnKe+aVr95meMY|1h5>o0rw;1ji0|* zT3TIX<>bUS^^y`1E<<|D=@v)83RtX4nfHC){Gg%Hp=#OxWO{8g8t3eUkY^YhoCT;N zKH_RBtqD9PDw|Nn6+=R<>8mDb^EsT>|Q(P0O@S~*vEmEp7+%E zKtJFOtDwt){oj@x{dD86R={k*$A0b3=OfDxlLfw5CjAn?{BNTVg7f6~C(_A}Q&5 zQ`De%N#Nn*2Z-0&+Rgv1TWP7`1FCkEC>8VE0$G{d;+12-Q4MG@O3FnGHO9U=LS1YO zSM6);!ayit^q*f+^(sv2^ZC&K?C{_w0yHsX#-s2NA^)li`X$i|VrD_2RKRv`bhK7- zT3?}t^CO27+A$ac4KN4b;$4bq4$^7|it_T_01BLj4{pRq zTNE!5As(K4kt;V{5`~@7FUu(zGYcuDVF(`5G4stVQ|`S3rlaWJBRcICt zzxgeHei!y{q-RjutD^t4EO(1Vf;8=`k0FPQrs20fXR2K@b(7VD0nmZ@B=^$N$z^BS z-L13ovvQ7z0u2o<1iyx`j?EPoe{VSX!^4O;dZ&ca0NZdYC;bIW=eUQF#GjI%mfOhf zD*bTdnRkP)ksgbO5D3lGcaDGZSq@UzhXgtuj)Eh8_Kbe3pexN+JW3I@KYxW}G)o%jAwmKAn9*FML@y9pg%ktL zmhn8*iXP%4r$jHU6X9d#0bae?%fbdY@H7sB$n{?{)L3R0hJuFnnH4Q0#}!a|sPF05 z#i;M{0&4J4uSBd~W4Ny{cd(^hK9R-2Pk8z_1zr+@d|klTJJ;J!L!mnQ18o3F-@Ln@ z;}3!0EKias23BVCA98wl=$OW3civv35%|lOLV-nH&R9B43BuD6Tx3IdfMVpwwC;L+ zE|<-tCBBU8Z?x5UMfr7!*)9J1;D_!z$XAknphgt8z7MnSUD4Vt%N?@EG+pXm=x1+{ zTGH9$I_JOKx_PZOOD5(zqFFz@x%nfX#*@{;zq8-Zs9AbIC-MPD)ul}BV+w4GrDBFcI zn8pwdUASV1DnQdOT4c?(vr`&)+f)dAUIXh;8K}$Z>+>2cPS?3SKwxsuZ1D5o9-MAR zbFqqZqVQ(>ZnMo2g%m`>)8dem57cV1xnFZ+8G-_xr<^0?PUEs@tZgg{TZRGi=%Xjo07o>FD_0ozd2& zV|)r(bbA&taW$sOCfV4JzB)hzoR+F!lGhxsbwjS;!Jp9CVQ1k;+{=1vVB&IH+uT^P zRgzXn?i{1L`C+qzMDHdVbRHBp9@*5-wj|#`pkgsYTm?zYk6~B>2ywqk(2;nl&fyd~ zqh=>NejYb9o0w=ha5>t@gD~>Xz!TErS51o0h!!Gv5a@cXY?0tMGyB^cmNzRh&w-Wt zHcGJ&i+=wCj<4~nt5Pp36H`$fxu`f+>DEx41>kTxF901zL{374oK)|j{w1GqN*%#RyU~t7$hDeOUvUPZP*g-D9^Nqvy z+H&7EZaj(q#5>*c#s@6`w{^s)9jvCC;tQ6}A&xwyH4)Bt-mU^_U33*)9;s1acLj zH|M#h+H7WXJHW5QD+R?3j=2nHfB&`V3yGt&x5gfE=l8&Ff;!LW2SZ?Oys#fo- zY#gHmMJY-_+5V>4UN%V*d@?)QkrfCOs91x2wn9{9bjd{a)#e8G1!;HX6)XN{gGdE5 zs=ZDtjV`rjvoeTYf9_qXBlu_{nFocS$Q5|3FuYHXE=omTrp7p}9!B^BS!zCq{N zt|x4GZ^Q{p^rH6?ec|dS8A*Q()t&te6?A<)#rNa%pnAjobfI|Ka#Yj=R%Rzh%ijFC zcUHE7$rXELxk@F;9yOcVhbN~&LO~}3Iv3I z&vjb+44tQ{IxLyWi!#h!$kpJz;Oa~^dmOC#to5zU=E{Iuz*ga)zEs$AGuUhd|7CCP z=8>NKq6S|=Ku0ovhhj&Y+`@Vkh>*-!;GoS_5CCNj^A0c33z+e|zO~^H;m?3%b~ZLN zg3WHEt%t;(V!c$up>$3}1{xj(cpBo!!2t*b<8lMN)IYVPqT>qRj&cXyRD4c2S%`() zZJpM>b~=7%Dr(koBF-=0*ca+A9=B<4EqHs3C~F7x^{e3I(NV0{!ut<`%u>;^k_Z zlr7@Fa1n&WcarJ@!J52}Mj*Eg2@#5Ng@ICK>W17h&T+H;P9Wo9Cux9wn34)5W>8l3 zPvIf;iK;<|&K~2R)am|)yoVh}3WPXCMdhMTD!Ix=Fy)n0hv!QRA2;M5TTp+YBlLJu zbM6RIANP-eiLWu@B||z+=QnGJNo6U>}uwzhREgQ zTG(cZjKh6G4so=6kD{mEtZUSrSEFkaeh~h{Y~*Q>+6ivG-NTCm2*;mn z-IyQ*wm&DC(Ub(ASot18PZs;8I`E9>!Ir+_$T4$+jDw;}NlLw7Uvc@`j{%fuh4S!E z@!^f@4AJL?S@G|$w2)o9!V#W(?^kj`Cq$PTujwD4{^=TabTA3ta6jD2wG!&^3<$Wm z+;Mel$w@xlZUZ^OZ0{Ej64WX-$Am|Ca``s1I0O~AH;rBqO7j|QKBy|Tp);EIL}|a2 zbNmQP2#Ry>e`(#z&4e?Wr#3aBLyH_T z+k)Ifi(^2Eh!oozPx{p72@aT1&)xW#y6VdjiHc>9P4u@2 zHfaw#%J)cR&fn``1HVYBUJ#;vW^fKF**PrLzV{x)#a-klCSHunKSlrrt`CaGpg-ADg?$k=#nJRMTWuDbbWufo zxCoC!r}^IN>A1qRv^@P^HUkC4lIS&R&}yNe4Q_WorSwG$V00R=SEvQV46gRMLz5`d zEzaz|29!UHtHM{NOA@;AMgHLatXw9)9uC4XHwUe~yozW}-oD=T{bvp-T$)!G7BV-Q z9mc!C5O<26l3Q57p+pL?AZ1Tl>1V%fZ)#Bh7kpxSgTbXDH~a|iuW1OMWf}l^vMur? z3OuYs-#V?vWt*ZA1P39_c$Bku36EO7!xkWH7$c?XAP61>+Jy9}J%HaAp!^7Qnr0vm z5P=zR{RSpkX)ivt-lOEU3O-?i+J=+aF;fsB=-Y^gQpJPrF&2W9Q~+TUlORaD8}DD^ zyp5(CAw;h)YQ6Um8FHLoO2n%VldKcuqYPO$A=TbAT~W>nF6pfAXA_wBSAfChJx6Q zUd8vuZaGs*a!i@&EmiN6YRmwYxc2hJPWT5S zT&H!c2>sRwq(6p8Pfu^O`o`n_{Y-Wf9BvGw77v(HYGa(cd(hKntdit}PW;7X=I`U? z@DQoO5RxG3Gfk}`;2a&!m-4g4TFtC#Ck=oz>a+( z&oVM2qmM^kl(Jjo9vj|WvXDH1ZxA_?@m9W=msnhf9i@*5W`kjmP;)v#?A9+@_RwHg zV0nL0^kX@AMCjtGBRq_%{+uNK!m>|D9Mb(@Ob5Ezssh>h=gxsArUY?^zTw<|$;7FI zX!JdJL}z<=`MD-#3;ENyl;{|jCQN4Wk_%k#l8g1iCgMNNVYN*hI_|8~@6qE8!CtaE zhhf!Ooc`WeehQ_U<>bsaB3FT5HZe*)FX&akX7T>A!~CP)Ak`jj4<5$6N>TqlUCm!m zsOLe|o*f?;G$3^|*Vb&iWCMN31v=PS*rkW>^x~t0gIKSv$ie-v_GbatcVNz2&+`-L zbFY5z%m6&P_QhTpowge^2>zx}V_I66TdI>?!pYWC4*?ThN+m!1mjXfVML*#+oQ~qv z0C-Kf_N5%ecezz(<`0o1N^Gp8iva=f1?6Y%|6p8wHv7>o#X>-@JGnrjcJ7ON@^G#J z5cy0a*pISbHG_PDe(o9n;K;u0!rX=SB85|2&;9VTLXq68p%L*G+OXd~L8WN-it8(InB(*S2kxJt|}#ng@mhOnY|EtX)jB zwCpQ|a2Xk_7Cd_g1(fAxhf_^ah>QIYn~Efs!NW!Qb$cpSqA84E``3%tvD(6?i!7R% zWvk3`r2IUk3IRiDGb%K&P8Bfwx(d|lGvAFuBjzDFTAQo$^>Q=Urn8S~Tg8oy@NIxw z#g*z*X=Huv*4u;CySIb3butsWWyWK?kpFP|_{e50ovgOA=edtpj(f`?BYEA4%Rzsk z6k_Lk?Bcu7`Rg zPj^eLtZY>x_#U>4O%6)9t}4UXvDD>?jZXnVQ3w^YFBtUDD!1*kX%&h!|Ng<}TQQ6% zGm2F?2lG|`t*rT2Z$9rZQo04YQ~#a|(f;U2zjcWQaPGGGDP<{xGGt6AA2QgXufFiK zrhI>{D=9hHbXfP<*c}A9tET6lx_m20Am;;jk|OLaq}8j}{YFs8TpvP&U}+Kr4QsN^ z3Ak)&R`a174+YMmC?yzI`7L#|OX|)Y;|*=rD>~~l*E1S91&tiaOUkW*ap)^v0DXc?ygrWx`z6)SWd-?d94-DWq- z`y&`ObZPMgTtW#fPLb5StH;qJU_BV_+&2wcs_)1xtx9FgQIZi^^6svyAf00pLaASK z3*TR+^T>Q|%|0G1XqB_q4ArxCgh15=g9^o@^hiyNF@tF&y0$h;s7g4Z?&N01Ncadz zE-I5{4_0vHAaeo}CaTYtB+rQ1JXj-BD4*uO&@ayWmy}yf;$1aD^ZRgPYLc6PqIC=& zTmXB9&qCZ}O{w`4e0-+js4g4NXjQyXBbHbVnBI6}oIj1-?N=IW3eD8p7hZ;FRR)G& z2_jjg;V&=K={@>_g*6RfMz(%O?`l|5OP=hNk!TN6(Yoqo`BhgX^0Lm2I^q<%h;f^? zv*773);O(qG_q}4ZR^zipw^6c=b~L}n2|tqn_O(VmX%)sHR)EZP|eEj8FC@*h&B2v ztOQ&4Sw)dACarzzBnm%OM`ZsU6rz~aXW@6%K>qgSErix+Mvzy~*UK>=UkjL+_QUla zC%E&c|4wjkGqBLK^=KQ8!R&(_G2IUmR0G4phR3PPIYT?YUVWdi)2uElP^vpTfX^}| zi-9XkQTvxZc_%BKuY$w6P7!AzXA{+Sr<)Ge$CnXuA`+oG(E$$b z$V8I`fm(K_9~DNrp`1`q`G8Tui+R#P8}JSo{|1DV9| zw6hrdwHp3w@aXnK&l?CfOOOZ6TF_SGDZ+zXt3C~1aeJc;?5vR3V_I3UgH^Y1LuGNd6g83JBGN>lEi@4^_A_N&cR zo&#ZbHkN0<)vA7RAeuw?Jwm6=&UoRt!ilF_|r@aM|aeM{N*EIE?cNO)PRE9UcbL+m}2 zJl59DGqpTKne_-u%xO?OO|WqP+LB7;3JB$=Tl-27_qrDjE9jZ+Y3Og5gXviTVEaoG z91$-^5W@E<=yA2n&8_XyKCv$KmsUM1l2O>c%>F(o=`rJ_+%-HR{11XWF5%NoB4Ix} z<7ajl<6vcMD?zqlzqTOV7|^Xh;$zuUYQ^2ZbQq&y_vznUx!t%xh6=F$Y-mU*sCbgX7~mdb+ypizKliEO&lnC&VXQ zZ^Y{~HR`9`VY)aGX7&98kO3IPLzYv7Wlp}uLivjyuCr~DaPcfAs}W!SN9umZB@wjK|c!3@z7YloRV|?5agw#KDC2=Nk;7>XXD!j4uNY zWv$;^yRBb+l!1La{>`L*|d?t8w|?bSu@X%->X8 z8Y^{iSLJT$!)SI`IfU-%7AMAeOv~bXD_2&e48~F9@(NkiCZb%)~(Zr z{vYDARx=GD8fV^*W;)AFT9|;{FyFxEtyKX=Oq=ZVunteYw0)u1>2HN;$4_PsuQMRx)aOl%(06iKBkT{0 zL9-m1rPIBQ8F!A)h~I0DCge7G^^&Bo3?g9X>vK{~DIS!kKhL1&i^q0(mp9{WFxgt2 zSyfdeda^8%=*@bS1`6)uc{`q)bB1(Edtm&tzUXqlb~l`|qw0qDBPr_?ZF|81UGV(C zW7FUy?21ThmNANTyV!9Q!4+`K1bZH2m^?d)QG7Jyk(|G8#`j$GA&_;-Olt6u*G>(c z%(U6eKw*Mo;>ctYDmO+4ESp0Z$t1Z6qR^XSrx9CJ77hv=%&yP0BSeTkkV3fv=HHYm z)CkIzvGwodyT06NWF^oybrwBcTiGIeImYY~D%*5}LKg{C#NT%h4}@4XttqKqtXT#y z`X#u@GV0cKJt`Z#${+Pc1ij-eN{JVTXK>%Fs$ZaRz_(J}~K51|97f^87rOU4Djl{bF<>(tq1d!|_`-7vDve2#KDz zDbJZ@eEE@quY&c{`>AM+|0C7=MLl+@vb(m1tg~fSw!}0G#+6zKPxZM(E+3Lz0+&u$ z+JH$TYapSBl0cd4{W5k*za3 zee?d@t5O~*)`oNym+H3Ju|}c^St8}4({EX9lGo~mlV#0+Wdfr`U}fV^<>k5+*98KD zem=wi)c+CdzbCGZcG%w0n)wS&HzUVJa+s_QCHFh>3R#^qNtBYpKp3pA9}S)??5-q- zq%|iS)Y>XDNt9!aq)7;?Mc8ynRo}$1bl{RCUF#P+2gMU25ECSoDX<3pm9c~{6v0G+ARCdKo}#E$L{=m%pI^L=3p=G#4Ocbl4_5ZntSGIt^2rr!nB|lC3 zq4Em_ofQsI#dwuSo$hH96^pfx*N@z zUsZ>`GrEHAb?Zqw*@%ysqM>){k}F7FU$ot0qw$Tr-}A#o15d2Loi}^VnI&`%>LSFF zgZR`!w!oc`=~aW^`skAtuc}|zxx7y?)j5~*h7+=~c+zA3Uk?h00s_8n6jv(`rE*k{ z%BDWI3e;5nal-L@x^Vjz)PO;PmMTF}A!}^&0{-V%p|!52PrW$+Aa^{ga1zVFyFMo5 zm{&4$ueT{Ki+u9BR}$(Hxw^8=3fqOMF%u^p7msa_Ll~B_T z$`$sF6TR$(g%phOK2L!?W2}oCP$2jiOk`LYSR>F<+t$Ia##E%@QEEg5KG#?YQZKq+B{m$b zv;~J5?`;UlHMQT2YPLP?X`{k7o8La(jXdYbZ#Np2+IrmMBYlR1`IqzE*--xwbh;gk z@CM#QQq5M{+2N<9{pN@xaj^%iT9`9`vRi;K3sR!yl<%?vw_ns*i<7U<2mLsPj8-ag zlias+zdq-#-wBj&B%0yrfAPR0_AqNa@$rI_H45>gJV=hEx0^k6?^GOi)V3M)J6p^b z{>1in6B&<=6Cu+Iy{dfCGW+KKVyL_9`RuemlIJbR=AC+b@#(g!jI-W^j%qY#xk*l!2FTB8WxpW{Xx+;b18{LEMv|l5G&>qq)In zKgpXMd%jZ`F)M31)Zlp1R_nnKth#W6(eBUgtkQOM|FY)X`?vDK zoM&uOs~baojqra5xmQnf`HcleMIoJ-en!gS3Aj}0uxMCwi(0g^Cz|JUdHveRhB3bF z0loV3qDq3)^%^wuPkXK3Rs#~97{g&Z=jy|o=iYc9Yh&eUw_CdLy2;tM>K|M}c-K5X z-ewsg(|r7EF9T>sfO4n%yLTwdX{w8R%Mo61_`P2?D54)r3OfB6QGXJGWl`f;&3jNJWAF#2w zifCd{-nYgb&E|poioa1iW1o|_IBEWT)ke@o?CCRdZyP>n?KKr7>SJ%=z26o)-xPBP ztR>aGzoGxK^U`3tKE1aWf$Db%{KE~4?r7dP$+Q3cH=`ijdq2_>8m?o`pMqM6$h9nm0uzLX?(Jk*Rsj# z`Pgu#py@}PO!z*b9H1@k@V8mrpFl=%Ugcd({wa0ajhWA;POI=o}3Ku z=IX-#Z(!s#^G@O0VRJv*O1Vgftq_#NU;UGB3`kH@=nre2;JV`CVk+{0%RXSqJi74N zg>^M8S_c|gJQUO)GxYD6(<@$@{C&F+Tp*~^<^60q3jv)ZJ2yMC;v8Wb#7#1t+dX_I zhyf}3Ti{+b*>)~GBUI(c_h@%0BZvJW8Gr~3v-ueDL)60h-d^&qi%1G%$SsY(8Ly(w z9%pgfpP{jcdcsQAv1j;>vtlGhs8n33_`YA%m~VQxeH$X;>s`E^$|djJ($cQ(Ixgni zK>u}fudm(x6#0hG?Y4WkNKR&08B67;aHgah37Sf;ul}dH4NW1VeqLD6sYWO!q47U6Yd^Atfc55zEh z?_RqX$(Y+qiX8)<3wW%8?VZ|%m@OBFwF{cAKEf~u*mm1*0_HJ5t{AIOAGY@m5}hp$ zu6=95AHy%yaH#R)PDTRmm%Z=m!mQz7?=N9gHGY3zSicMKWG8J$IZ`eai>!Q1hD8->SMU7D9e$}idix2%gB z8jE;fn8UHtmfI*)pZ3+O^tq$frnlxB5c-n2U+Qz{YcYsK;CAk8VuH7ECe#VFYJOZE zUKIPPTq6I6fN)>p18gG_56#K^qf+r4+N^GNe=dY!FiL*?Pf)ui;AZ#bK8NMmN3`nB zoUHIYZO*~TAXz@kh`6eibdH-cdj6lUy2HKXQJv$x@J zi3y@*^V;O}=mhj9`TMlctWyh=1O4xa9>WAk=o=rsx9h$S8)r=0hWHOYEU3I626lJB zPv+FrJLQ9Ew6&Gv4lprx(Clw<2hvD99?p?p$_!j)n+29L16s_RHT8*WQhbb0FP-Xa zN6FmB)OzGEo|qgE+wNF!J5Ot!{VK)Qk2~qcKAGd)%=^$<8o z%fK45rcMpp9u6b)Ewsdz3die8Hd9J=Sz}}1m%?Nclp6iPrN|rBZBoMbuM`NfzxXhY zp2gc=4q`$#=z8t}1^R7vCwI-S-joI3X4idua1^}x%4>Gx!4b>GdVT!*Quf+`d(krC zu0ELh$lN#Vu|J;Eh}=Wb8A;y8THSA@MEM9{XG7hf z%a5I}xH{0Q)ZppiVXyO5`UZYrcOej}LwlDlzif{vh56Lq=N&5#5Au31xi7xQdIVzci-eNJrh-Wzij_+@4UCWeJ}iN-M#lmAw-CQNjaqe zxK1Os4}CU)gL?K9-Kx8v$Jkc(8@MG#l6In5YAlx3nlJ5%CxR%k@p8O6RaP+LvNJa# zDKjq);f1?d41a|jL>|8lQhm3h&xhZouCH@9GaDZsCgaTmd(4d<^gExPQj*;nG<#^t z5LbF&mHhJ7ly@0wJT9b3S&PgV_>8?u9@@9CxomE}JnXo*aF;<)3QNDQxr;6fN6RNB zqQh zEqREKFZ$ZWhFWSXzM4gl9JH9G)Z+={dLyJ->2Yct7p-9Pk}2PUubLx1uuF`{Yw7o6 zcBl3?f7VlZa-+AGGo6|2Q(LpF?#dOtI?cWP(D(+9{tQ2Cy?5ekqWYB2eIyO=mkOH5 ziCuTB7S25k1i}G(+@^+OrpmN9wW|D?SK?ajd44xqabaL1JqS1;t9ydS zB;!x~fsgZ^1GTOz!x!;V{(67xewjt8tT79N@%^2yPbu+kP#ycyUlnrHE3O~p%k3z0 zT|2Cec|-Iyw?ee-6i04JHto}u33e<{9P8$!&xjM%EOa^=xt}_Nkr^B5im(j ztg!Hfn(B{5W1Z9}xZc61MX9Wyuh$T=DGPq%hCknA|Cl*q%cO?UMXuLJo+ot~7%tK} zhzeM|)T$0KHsnhson_0tVQm2N+6o1 z44>oOK{NY7%N!ev|Ld74P{Z$S@rWL#6f^Qya33QdRU5HWP=6oX1E-^Zs3L<~q{gpf ztcf~x*p%Ft8|PxJbK2Lfm7|Aa4}S90Os3u`|1@mDJZm3IgT~y{mbfToVLb#f<)HEi ze%f0cP6954?%@%iR!J(hRHD?u4uiEPXHla$xN8kX{{`X2%(O@)kE+67)hItn<^tx5 z>WL8Jevc=UO2djz+n4)JG-=C&@h9#wj_kglEVH3%XTtdk)@?YP`y^b8GwU&)NvImi z4x+1B%gN?0LgsP7@chn+#dMCIt!4|zSDRZ}KSOwg*)m=}xSYYc67K{N#*e-`D8Ez;m;E0T9STY;tSHTsMwE3l%!x||2^9Z#QQ=*4 zP;Ye6U{(u8xKot + + + + Artboard 1 + + + + + + + + + + + + + diff --git a/server/template/base_navigation.html b/server/template/base_navigation.html new file mode 100644 index 0000000..2a0fd6e --- /dev/null +++ b/server/template/base_navigation.html @@ -0,0 +1,11 @@ + + diff --git a/server/template/login.html b/server/template/login.html index 301c963..c7a2c4e 100644 --- a/server/template/login.html +++ b/server/template/login.html @@ -2,6 +2,8 @@ {% block content %} +{% include "base_navigation.html" %} +