From 494c85703c76c4123c49937a32584840b6be1470 Mon Sep 17 00:00:00 2001 From: hgn Date: Mon, 15 Apr 2024 00:06:14 +0100 Subject: [PATCH] update helpers/location to 'frosted' ui --- ent_challenge.c | 4 +- ent_route.c | 6 +- ent_skateshop.c | 10 +-- font.h | 3 + gui.h | 142 ++++++++++++++++----------------- input.h | 16 ++-- maps_src/dev_tutorial/main.mdl | Bin 4315584 -> 4325056 bytes player_dead.c | 4 +- player_remote.c | 30 ++++--- player_replay.c | 8 +- skaterift.c | 5 +- world_map.c | 6 +- 12 files changed, 124 insertions(+), 110 deletions(-) diff --git a/ent_challenge.c b/ent_challenge.c index 861edbd..d30a5dc 100644 --- a/ent_challenge.c +++ b/ent_challenge.c @@ -36,9 +36,9 @@ entity_call_result ent_challenge_call( world_instance *world, ent_call *call ) gui_helper_clear(); vg_str text; if( gui_new_helper( input_button_list[k_srbind_maccept], &text )) - vg_strcat( &text, "start" ); + vg_strcat( &text, "Start" ); if( gui_new_helper( input_button_list[k_srbind_mback], &text )) - vg_strcat( &text, "exit" ); + vg_strcat( &text, "Exit" ); } return k_entity_call_result_OK; } diff --git a/ent_route.c b/ent_route.c index f5b51c5..8564eed 100644 --- a/ent_route.c +++ b/ent_route.c @@ -21,14 +21,14 @@ entity_call_result ent_route_call( world_instance *world, ent_call *call ) if( (global_ent_route.helper_weekly = gui_new_helper( input_button_list[k_srbind_mleft], &text ))) - vg_strcat( &text, "weekly" ); + vg_strcat( &text, "Weekly" ); if( (global_ent_route.helper_alltime = gui_new_helper( input_button_list[k_srbind_mright], &text ))) - vg_strcat( &text, "all time" ); + vg_strcat( &text, "All time" ); if( gui_new_helper( input_button_list[k_srbind_mback], &text ) ) - vg_strcat( &text, "exit" ); + vg_strcat( &text, "Exit" ); } return k_entity_call_result_OK; diff --git a/ent_skateshop.c b/ent_skateshop.c index 05999f9..7b41857 100644 --- a/ent_skateshop.c +++ b/ent_skateshop.c @@ -757,7 +757,7 @@ static void ent_skateshop_helpers_pickable( const char *acceptance ) vg_str text; if( gui_new_helper( input_button_list[k_srbind_mback], &text )) - vg_strcat( &text, "exit" ); + vg_strcat( &text, "Exit" ); if( (global_skateshop.helper_pick = gui_new_helper( input_button_list[k_srbind_maccept], &text))){ @@ -766,7 +766,7 @@ static void ent_skateshop_helpers_pickable( const char *acceptance ) if( (global_skateshop.helper_browse = gui_new_helper( input_axis_list[k_sraxis_mbrowse_h], &text ))){ - vg_strcat( &text, "browse" ); + vg_strcat( &text, "Browse" ); } } @@ -823,15 +823,15 @@ entity_call_result ent_skateshop_call( world_instance *world, ent_call *call ) { skateshop_update_viewpage(); vg_loader_start( board_scan_thread, NULL ); - ent_skateshop_helpers_pickable( "pick" ); + ent_skateshop_helpers_pickable( "Pick" ); } else if( shop->type == k_skateshop_type_charshop ) { - ent_skateshop_helpers_pickable( "pick" ); + ent_skateshop_helpers_pickable( "Pick" ); } else if( shop->type == k_skateshop_type_worldshop ) { - ent_skateshop_helpers_pickable( "open rift" ); + ent_skateshop_helpers_pickable( "Open rift" ); vg_loader_start( world_scan_thread, NULL ); } else if( shop->type == k_skateshop_type_server ) diff --git a/font.h b/font.h index c229aa7..34441ca 100644 --- a/font.h +++ b/font.h @@ -57,11 +57,14 @@ enum efont_SRglyph{ k_SRglyph_kbm_return = 0xa2, k_SRglyph_kbm_escape = 0xa3, k_SRglyph_kbm_mousemove = 0xa4, + +#if 0 k_SRglyph_vg_ret = 0xa5, k_SRglyph_vg_link = 0xa6, k_SRglyph_vg_square = 0xa7, k_SRglyph_vg_triangle = 0xa8, k_SRglyph_vg_circle = 0xa9 +#endif }; typedef struct font3d font3d; diff --git a/gui.h b/gui.h index c6ebe71..c60c51b 100644 --- a/gui.h +++ b/gui.h @@ -2,6 +2,7 @@ #include "font.h" #include "input.h" #include "player.h" +#include "vg/vg_imgui.h" enum gui_icon { k_gui_icon_tick = 0, @@ -80,11 +81,8 @@ static struct gui_helper *gui_new_helper( vg_input_op *bind, vg_str *out_text ){ return helper; } -static void gui_draw(void){ - if( gui.active_positional_helper && - (v3_dist2(localplayer.rb.co,gui.trick_co) > 2.0f) ) - gui_helper_clear(); - +static void gui_render_icons(void) +{ vg_camera ortho; float fl = 0.0f, @@ -105,7 +103,6 @@ static void gui_draw(void){ m4x4_mul( ortho.mtx.p, ortho.mtx.v, ortho.mtx.pv ); /* HACK */ vg_camera_finalize( &ortho ); - /* icons */ font3d_bind( &gui.font, k_font_shader_default, 0, NULL, &ortho ); mesh_bind( &gui.icons_mesh ); @@ -132,93 +129,94 @@ static void gui_draw(void){ } gui.icon_draw_count = 0; +} +static void gui_draw(void) +{ + if( gui.active_positional_helper && + (v3_dist2(localplayer.rb.co,gui.trick_co) > 2.0f) ) + gui_helper_clear(); + /* helpers + * ----------------------------------------------------------------- */ gui.factive = vg_lerpf( gui.factive, gui.helper_count?1.0f:0.0f, vg.time_frame_delta*2.0f ); - if( gui.factive > 0.01f ){ - /* draw bottom bar */ - glEnable(GL_BLEND); - glDisable(GL_DEPTH_TEST); - glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); - glBlendEquation(GL_FUNC_ADD); + ui_font_face( &vgf_default_title ); + ui_px height = vg_ui.font->ch + 16; + ui_rect lwr = { 0, vg.window_y - height, vg.window_x, height }; - shader_blitcolour_use(); - shader_blitcolour_uColour( (v4f){ 0.0f, 0.0f, 0.0f, gui.factive*0.8f } ); - render_fsquad1(); + if( gui.factive > 0.01f ) + { + //ui_fill( lwr, ui_opacity( 0xff000000, gui.factive*0.8f ) ); } - f64 loc_t = (vg.time_real - gui.location_time) / 5.0; - if( (loc_t < 1.0) && (gui.location_time != 0.0) ){ - /* yep this code is a mess, i dont care anymore */ - glEnable(GL_BLEND); - glDisable(GL_DEPTH_TEST); - glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); - glBlendEquation(GL_FUNC_ADD); - - f32 t = 1.0f-vg_minf(1.0f,vg_minf(loc_t*20.0f,2.0f-loc_t*2.0f)), - o = 1.0f-t*t*(2.0f-t); + ui_px x = 0; + for( u32 i=0; ibinding, 1 ); - f32 dy = ft/0.79f, - scale = dy*0x1p-4f*0.5f; - - m3x3_identity( mmdl ); - m3x3_scale( mmdl, (v3f){scale,scale,scale} ); - v3_zero( mmdl[3] ); - - f32 pad = dy*0x1p-4f*0.125f; - f32 w = font3d_string_width( 2, gui.location ); - - mmdl[3][0] = fr*0.5f - w*scale*0.5f; - mmdl[3][1] = 0.3f*ft+pad*2.0f; + ui_rect box = { x, lwr[1], 1000, lwr[3] }; + + u32 fg = 0; + f32 opacity = 0.4f; + if( helper->greyed ) + { + fg = ui_colour(k_ui_fg+2); + opacity = 0.1f; + } - font3d_bind( &gui.font, k_font_shader_default, 0, NULL, &ortho ); - shader_model_font_uColour( (v4f){1.2f,1.2f,1.2f,o} ); - font3d_simple_draw( 2, gui.location, &ortho, mmdl ); + struct ui_vert *bg = ui_fill( box, ui_opacity( 0x00000000, opacity ) ); + + u32 w; + box[0] += 16; + w = ui_text( box, buf, 1, k_ui_align_middle_left, fg ); + w *= vg_ui.font->sx; + bg[1].co[0] = x + w + 32; + bg[2].co[0] = x + w + 32; + x += w + 32; + + box[0] = x; + bg = ui_fill( box, ui_opacity( 0x00101010, opacity*0.7f ) ); + box[0] += 8; + w = ui_text( box, helper->text, 1, k_ui_align_middle_left, fg ); + w *= vg_ui.font->sx; + bg[1].co[0] = box[0] + w + 16; + bg[2].co[0] = box[0] + w + 16; + x += w + 32; } - else - font3d_bind( &gui.font, k_font_shader_default, 0, NULL, &ortho ); - float dy = ft/0.79f, - scale = dy*0x1p-4f*0.75f; - - m3x3_identity( mmdl ); - m3x3_scale( mmdl, (v3f){scale,scale,scale} ); - v3_zero( mmdl[3] ); - - float pad = dy*0x1p-4f*0.125f; - mmdl[3][1] = pad; - - for( u32 i=0; ibinding, 1 ); - f32 bs = (f32)vg.window_x / (f32)(gui.helper_count+1), - x = ((f32)i + 1.0f) * bs; - mmdl[3][0] = x - font3d_string_width( 2, buf )*0.5f*scale; + f64 loc_t = (vg.time_real - gui.location_time) / 5.0; + if( (loc_t < 1.0) && (gui.location_time != 0.0) ) + { + f32 t = 1.0f-vg_minf(1.0f,vg_minf(loc_t*20.0f,2.0f-loc_t*2.0f)), + o = 1.0f-t*t*(2.0f-t); - font3d_setcolour( (v4f){1.0f,1.0f,1.0f, helper->greyed? 0.5f: 1.0f} ); - font3d_simple_draw( 2, buf, &ortho, mmdl ); + ui_rect box = { 0, (vg.window_y*2)/3 - height/2, vg.window_x, height }; + ui_fill( box, ui_opacity( 0x00101010, 0.5f ) ); + ui_text( box, gui.location, 1, k_ui_align_middle_center, 0 ); - const char *make_smaller = "\x02\xaf\x03 "; - font3d_draw( make_smaller ); - font3d_draw( helper->text ); - - float w = gui_font3d.offset[0]+1.0f; + vg_ui.colour[3] = o; + ui_flush( k_ui_shader_colour, vg.window_x, vg.window_y ); } + + vg_ui.colour[3] = 1.0f; + ui_font_face( &vgf_default_small ); } -static int gui_location_print_ccmd( int argc, const char *argv[] ){ +static int gui_location_print_ccmd( int argc, const char *argv[] ) +{ if( argc > 0 ){ char new_loc[64]; vg_str str; diff --git a/input.h b/input.h index 12d27db..e66a860 100644 --- a/input.h +++ b/input.h @@ -131,21 +131,21 @@ static vg_input_op *input_axis_list[] = { vg_end }, [k_sraxis_mbrowse_v] = (vg_input_op[]){ - vg_mode_add, vg_keyboard, SDLK_UP, vg_mode_sub, vg_keyboard, SDLK_DOWN, + vg_mode_add, vg_keyboard, SDLK_UP, vg_mode_sub, vg_joy_axis, SDL_CONTROLLER_AXIS_LEFTY, vg_end }, [k_sraxis_replay_h] = (vg_input_op[]){ - vg_mode_add, vg_keyboard, SDLK_e, vg_mode_sub, vg_keyboard, SDLK_q, - vg_mode_add, vg_joy_axis, SDL_CONTROLLER_AXIS_TRIGGERRIGHT, + vg_mode_add, vg_keyboard, SDLK_e, vg_mode_sub, vg_joy_axis, SDL_CONTROLLER_AXIS_TRIGGERLEFT, + vg_mode_add, vg_joy_axis, SDL_CONTROLLER_AXIS_TRIGGERRIGHT, vg_end }, [k_sraxis_skid] = (vg_input_op[]){ - vg_mode_add, vg_joy_button, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, vg_mode_sub, vg_joy_button, SDL_CONTROLLER_BUTTON_LEFTSHOULDER, + vg_mode_add, vg_joy_button, SDL_CONTROLLER_BUTTON_RIGHTSHOULDER, vg_end }, [k_sraxis_max]=NULL @@ -153,10 +153,10 @@ static vg_input_op *input_axis_list[] = { static vg_input_op *input_joy_list[] = { [k_srjoystick_steer] = (vg_input_op[]){ - vg_index, 0, vg_mode_add, vg_keyboard, SDLK_d, - vg_mode_sub, vg_keyboard, SDLK_a, - vg_index, 1, vg_mode_add, vg_keyboard, SDLK_s, - vg_mode_sub, vg_keyboard, SDLK_w, + vg_index, 0, vg_mode_sub, vg_keyboard, SDLK_a, + vg_mode_add, vg_keyboard, SDLK_d, + vg_index, 1, vg_mode_sub, vg_keyboard, SDLK_w, + vg_mode_add, vg_keyboard, SDLK_s, vg_mode_absmax, vg_joy_ls, vg_end }, diff --git a/maps_src/dev_tutorial/main.mdl b/maps_src/dev_tutorial/main.mdl index 2ec47c5b0e5dd98e96993f11f29c1cc9aafd8173..4539d9ff2266c82dd032a91e2a57b7dedd64e414 100644 GIT binary patch delta 69557 zcmbSz2V4_r^M3+F(v|=L4W1%RsS1LHlHCUuR8&O7hP_f$?5H4MuwyT)F7~eISy0p< zWdm01{X{+MS+JK=56kI)cC)MD<+%6#{qwmb%=ej@XP$ZHnP;9S>y_ruHY@#mwprM4 zkx1kO??&)$0PkU=hQ_DDxA4j~7m1P-B9Rz?@hRhmjY=FZG>P6=i9|U|!s3 zOZwFd)(|3*3feXB9yv65z{o)<@#BUKN@hi}kVqtfZ)?6SB|bG}!nk<0Npuk{*;C&P zK2O&Vz6g9~fcd~XepCwR7&jt*9LpsVd4w7*X#sz;ZIf92Yy-RohEk5=`eshyRIs>y zur$iZX#p)P=a3;IhjMK2VGV6k_=Yd8ZS>&b@k3IEO=N8u6HP4yExEDOPS6tC)o8O| z%aB1M^11-|-RDHAh!5g|8wFp*^8Z*Sm z2A{b-L?TD{&Vo0qC3#q4QVRUdzH;NKQD*hctP`lYpv5V{*k1v(aQ%&*kYekV`>(-*3H%jP;@e{@+3}_eIK00DR=jfmt;ax>ivQ|{)Xoi9ykf6>lY zrgVU4=WA2Cg=ps+Q@W*S=UY>{m1yUmrgWfa=X+B+NMyBBdFH3Nf%z?!11wv2yV#qo z@9Ic?FI`3&BbSX{_AScV^R~MIzD3k>C31mpHdd3_4}cb_o66ka57s}6spIMZS!13m zpu~0ovL-xrjKYC(=c$WS8c-fQ^*ePCC_%20dTT;eQBCaw;9x7sa_^j9JSnpN}?_SCD@iqVfB8>WmD}Qd5BvdMKbuOsI0|6Hvk^DyWtX zesWe)V}TOlqKewxAV4lqQVI2}f&ULuBcYl!G@Zji4S!k_NUb%YBB>id3D(3>_KrWP zB&rKgKS#L0q%E5|WkTgpl14w}a;Y$&gi#bwnLr6z%BjO9oE6ju6RMJG?(|bj6*bby zWQ297olgF8!B9;d>ammQ2%VjO_83U@a}H=DutwH_CBeT8<6}q*j{x%c>tymtaBk>R zc(dQJ-8X47+sn~!gS`z`N1Gu*HjcUmdIc(pvT^xIrBa<-0vZWz*(SZb@YzMyvk4>* zznDv{cWL;;6FJmzkoN>z*oB@;iCqI^-tZT@&WkA=D0YW{tx^PQ87N=A?H+XyC^px! za&M@&t^s0yYLJ_n3Uu?3u^F4yU`-8k3;01fQCr;taG}l55*YYbhHDae^pP)VKXC?W znw4yu%n7--Zwb?KgR-O`Yy$G9x-?cdugq9Y=H6{iZdf(18uw_w7_EJIL2>cJP&{g* z4hcQQP`w)ev|=E&+=LoKU24o)9@a!nX`1}Bd@~>pE4V$HYQXaHPtIX96-GVnQ|`=9lM*evv*M{ z%#TPkb4WMRYg%)%r6Qx6&#f${AO0hH36uYLWAWP&FhjiTJrmiSQ;3Wi?oZx)KBk&% zY-nQ9^MVdci5XdZ?&)MfRwsI6B0Sa0iyZLMpL~8H@qZB(iDW;G-c_h32TTYc<$e4A zPqNmWEF0qR+VEi;iGOcFc5_=;O}MIaV{NBqL5vNtUF&x!9b)pnw_4|p?s` z1ia<-sS;U-(D~X6Y3(>*e5_7NbPH; zrjmU;esH~^*7^j<1sRc?y6NNpgS3`Yb({Vqo#a%k3F#-N7MhTua_Y1R86&6aH2Wz# zP)?C1lOR;;>4r(K` z^#`g7+45{V)~;+MKqlNK&=uV|5|97fl% zE*0CtMfNTh+ypY|RAviTd2TnTePMV_>Qg&`H!u$5;5DlObw9)rgQKK~g<8NLvnX*( zS9$Ufu3hxam1Rg^8CZxdkiNMZkCO8hy-Qi9g_he&Q!+e4KVNu_Dnq4VV1j5d@Pd0q zbwPj~zL7Wd;D7S6&NvIax$xb>jq2Uf(F%h*2*Y7)i%&Y_M9*mCBg)pqQ(Zgwu=qw7Do0TsZu9>LciF zA7d`cg4P_$ImlIZs*5>yL6Adr0_r|b<#N;~pjgfVYAdv*bv1GpP?vyO0u<|_}S(H6{@Qva`I-agjArQ#u2T=rPL0>+u|(r zL-|?xP+!BOloI)fE2tpkEq+MFbDvAN&l2wQDfej~%C?4apCh@?mE7lX?(;48*)WXd zY0rI5;6699pZVv)o=e3qsKXt6sjQCmDYK6L;t*rxN96nj*3_aPU5s!!&1 zQ62@4@kjkEw7@fz!0bDtCMRz**GA?ORC%nQGYRfsC&URH$iB?DFf{(n-hn)%9J)5D z^ALPg+LChYT3^Qg=@%%6GT*stJs4wJ*G6W6Z0DN%{axGIm~~U+e;ztnt(>;Z-_W{F zYb5a?OQ@_=H|6l&$PjVL5&b%6JVWKBYBY0C%Z{AEzJ|3UT7?hm;$Y}~CK8oQYRpjg zQV%HJ*nMKgSoA>0-cP00r#Wa`>W(Wb4vHl6J~aui3W_&Oj=e)1ntG~)x|pWXQNL{~ z3qPtPzqRuYe^%gN*r95T{?zK3R%N5{XM;wg@9;7X$@p2gdwAKoF>*3W?;0LApoL*n zpZcitG6VDB+-O|1p(g*nL6%4A9Df%!f1z{u!y~7e?<0nzZcFBsEPgQpKf7UczUAbR zjTKRL6z-i|rccoH(NY);)h&|NX~X(Y4TZ9F=$J}n;|+$vT) zwb{bFyCOxOT1HZ@56x6uI<%Q_TQLxI3D;9Py@O`#mCfYcds9fi%Wud^yI_N>=QHAl zySahN)4M62582NA@xBRaRL?j6uKuZ1gPnCevLmH0`Fhnm@?~@xGx<5?Q>wDYitN*U8BfCqRHywm3ITm=^g7(Hb89qoWpipY&|c|Nh>o4y zP}JcdYJHhQJ^!%&VNKOT$zE69lLr)si5;;TlyIUob)n3`@!)g2urG(B$zhR|r1S7A zc+0*t5#Ti5u+u6XxBo&Ndg7=kIr0ow&x=Q%f8M0-K5=MN)I%HQEOjOyW>%2*FWNG# z-w#HcTi<7lB4en;BVm;0h*FWHXiF^J6^qhJrIhaxhy2_l$@YpoNzE_Z@A+ z*IA4*lnM^}xew%=%|NZ%teY)$Wld~Ul^7j8H>Hi`PRY-oOe(mqZS z{&H$JL;Ra##LK+%#QaHPaH|H?Z#NtjOO;v7)BWSoIdMzs`;G33r@`l$rEQYX&Ceh6 z2i%NTC?<||GbGKnLyMY=s0)t{Dk4k&W9~%hz^PfB!DOPk1yiHu1>5oc=+EN3a9#o8>1{Ymhk&d2+ z;8de$-4(-1&4_N-CZU2~_8o4t1C09VLsKkmRT*i^=F-GZ~k@W6;oeYRXGTwTDF` zQnWaq+;Z95VB04E?KMxO_P%VaSawvubt)YE` z#f_CS`dJ%}$9F|$LmjmAz+kb)@s)eMBX*~5hAnZm50~zL#<*7wMu(`GxQ`+U&)KL? z2o_IMXg0_Xht(^zCQGMuBJ+38WE$^EL0wPFi4|?dZi>t8>_d)!)uBNNjOINA$^c>5bD z>oSc#DMoB<)+kJ;I8qt-CG6WIMYwkSM&_GOchuJMDG~E&1peU8XgV=gd|MGLp3cle z1JUKam*~!2#SXgP@9iafg|#4$^<73fzMa9`+nR*Di0wq%b=kOCdCeeM^vgQ3v_~_t zvd>a7Kg^3cIlVnhI={X%@qpM^iH zGfuDXD(<4t{Jwt+*=$&A@^SJ!^4ykIOxp$N=zjZHoX+Yh)@VL=oKAXnXhwcny^w75 zXEY<7*c%O(eI`RmYi%pJ7@n$rPCB4#E|Io2FsU{p7< znTs1)pO{KcKl>Z=Wp5>+@@$V@R87Y(y42(!(j|r@#ExXY5i`h{SJp6L0imefWqZW9 z&cL%A$Mve=z=fTslfNx;Brh{d$WfjvnV^Zy(fHf$s71+4{9@gj9mLe_O8VamASDr5 zAj9nw$x{)2Oyc>rsBPn4kiK+~ILD%qV;0TL z*2JN=$m^fH3>O_Y5N96w7<^XF#2?X?hKl~{)0lCWXrkYcWO{UhxUr&7z+cRI zn=-<^M+bU+g4n_Fj}xoOJ<|io2D9#xR*yUl(%SlZQCN*9WA>piXz zk^Q!{AlL2eMQ(lbk`d{m(YwD3Y26|ipM8H#$&gi3Q1IH5^xj2chkD01Zwi}!Urk<- zWRacf+68x>oQXOQQPHCph#lziMPT`Q%sO~9*mh&u>>~Q!BC)2Oe?fk!bhs1Q&nu6V zJefxH95Mk}o)ZxfNfYtpMKu>%Z5FL(`>103nAd%6$;GHCsAt07620|eaiC?bh7F)W zCkc&4jA`=@cN}A2kq2Kp+DWMnB;8AIg*iZLCrQ&WL(wZfc z8v5^&&hs%e@=Yu{wQL$L^RF3#iLF%JB=yIWN&O>-5{KyV#FF$>bbk3X{O{&9`BM(L zlL6kYBiU%!xg6w7gRkk{p?azi2*=cF%#R8~#gSNsK5Rl`Zq9JLj-|2Gbf{ zxA;(c{*ON7$3y2y*A_TBx@tQ<+S}WZC!2_u1&pPi<45xKpbz~oQAq&-j9>;a|W{k_%KbiYI^6p%3d1 z7SW}vU`sNoy6D%dU~$ZynSb!dqH|ge{k~qk2M&A2p91Na)vyeYw0O>`bWG1BdtYrH z!a%66=@?!}U3{*glU74;K8ek3@k1sHWatVS;J^0!=Kp}-uo0HSa?g94^piUe`m|US zy!8NGv0Ch-T+uSJc>HP5f36`;Tdxsoboz4pvPJEqNC$^&q}vBGbY^5v!{@8b8Gh1h zxO-w0UN-F4C~|DwGSc!$e>7@!D$#54EvE8j3f{d}&84^f%aAhEK9oGO_9W@hcL=)O z zhy&NMBku|$?>0a4XNt>%-L6rxt%6%^zit{%lD|D*mK3_8C0Cr#D4*{5x3$T1;#%=W z$KRf$kcESvFNqUOe9i z{h4WomOk!R@<=uT56r4L?C)=4$_(`zl0(uNa+lZ@S!Opur5~>lwee4%IFg%&)$6{H zH-Z`x(_f?;j`!2!{50rlxXG8k!1;A&^UvhRl0(E_@7^%}R5Yq>9vZY;QP$B$ONuNW zkntZ56Mk(;@U=c`GvD z?I&`_{&9v%hd5^0x$(j}tkJ3}Aru zkwkD17ANn?X z3vsG%6J%V=HK*W@VQ5D6Gz0ZEfrR ztBsA})u*~-!QBdS`;~7c>6bE5kNS@IfAI7EhbhqX$||$+v?L!(72(gq+A;38C!>Dr z{P0L+D!vV`IpSv@y;di?hb_x&NIs}I zLZ*E=TD*{%f>tln9m8v@ts<_SD*MCpV;J4JUijV?O&G@|8EBcy0_~yXFZk@&8| zS$LuKxSEOl(B5-lU%S^Obd5`bTo(X=Svau)7mS(AVMtl1oYeviYXS!e$rrP7gSv+?DIu{GVt zg~vZchsVHa_?lKVJE*N9*p)U7?-5Xw-)Dre;8RT6Kn4#F>-)nZU6-l2rFBh#54~4& z<=o(gTgewAekm#MtV44WvhbJ)n4jxoY5jbtN2?viV%GgfU8v7mCyo$TFHtY9hv4m6 z`8JIG*|O30x#X>qo@mpR_IOZ;3|*P*gTKH#*H{YrhWj}FsN@ag=3OBu;ZQq#>W-%9 zUV$fG=vtHCbg;ko3xFSf_id}PQb z-3Pydcc!ne7q_t!u8lfM8~vUSZ#vY*C8Oxwv=;cb`ZZ_7^v2>^(CMOF zxbU*Z%!@}Y_s5rd)#R^jeZE=hj}LeJhZ(GGfhKze;IHa;{)Z{B-U@@SR)L3Z73Vsd zUU!HC|N1dO1w+?qwNZ4PZQ?1_?+O-g6CbE{gzmf@X2SGVPq$s1rjwm{%Ej=78FR?N zo)LylI~c-2S;vrd!UcbSJ*q~`o8AJ_!+IKi+cc6;T>He_Y}^RP-q++e&5yIzg&4Mu zzClFTN)5_(E_llIsG0|6RW6uma*L`*x#BkBYGczc-XYeQ*J}E(1+jRik+C&Qug#PX zSS)@vxhB8q)^R#M%4{U@tPFj&N8{Qq zH9Od*-og3)QuKP#_m7r_o{6PIU}ueCeEZJ0v~w)ob2Y5bYNylEU2xvyj?0z1;NZ+1 zp*6eV{IQM zU~isyM=h6Jo&T?wT>o6T{V3e%C+uXIT4uZesO=W89P`6Bde(H4>4j8=b`a_i(H4)k ze@DQ>NqA|Sn*630UZ(tXgb#kU4Q!6z;l&r9+?VNsUoBb*4?`JmOOjK3@CBhYJ1`B> z-`wevV}mo%#?nvtL_beF(xoQ9>89wb()BMnPESFv$LsOhc16=&_sPR8KMbmE*JU3r z`lmf_Mo2K;er-u}w z6fnJ5_jEUel*2ByFz#vLw86eO>0guIw5UGTu&Fi}u8b4@WI`@4Z;BWELtSE0gz3nt zNqr5S+aaRL{2eoPpbMULr)H8i4LW127-OQgpfjyYO!@h`#AFKila*=Z6FmH9mB&{; zCIUuvrpdzTzK_90R6_Vna5Z%L9EI0c)=XZetHAWym)04VL5&VfTvYAms=t*Fu4z|u z3QP?$y_bz{7m82b)U}3wAv@~+vrgS23&Ugf)D)<`Y)n>-V>tf% z2mjBLt?3k)7N2Hr;rP>k=)lyVYQ=3W1_>i(2V8K;4P`Gy_{tfwaKw+8`$499nYT@> znH{%J3~w`do5R}z-V%M>zB<+eb?_)z>6f=_kO#GZeR@=MXJ9ItC{ATIWNZq#)vQqs zm$Q$a{a^W6z3iiC?6;}@-dPYpM4gNm3!EJELv~)%FTYS916FHEs1zpj=!t`-xf z0=4n8k0S~L5H`Di89*t^4+iPDp!;tE?DLGg!2gN=zZ=A_Ty_dfJGcw0ApPH0LFw0` z#z+WKQ+|l*8bQhq;2-&Qu*_-``2R6TSOtH;D%kYztAHD@PH@qG6A-50|H99X_`ev$ z`@hC2;C4np|8*6Z1nK|A|I?!azwX~VU(3G`xYMp}l3LX1Ub=CoX&bSW#UBI}G`6=M|<2+HVQ^0zN z)n6;W?tArf0~Zt~%ZBwoC_uH%G26kIRtF%xxeswSOAQAD@I9_2@lrO11s4 zh{M-PHh;-PNuL&!+~YdXXSbH!Q^>Yvw?*r2?k5B=T(+i;Qk8U`SZ~n{#dbf*7_~=s zkbxsU+$QP;$Dn}KCzuEHTT8iyPU|33D6h8rN*rz03R(M$47A@AFeaB}SFCb8Ov{SZ0qZ)v)=T0{p{GdSo70U3RPklb@Js zz^trz@23Kc-I~;!iQYfS@O`!%+_v$9RHNUKCkrvhx;Jmd%t}l%G=7c=dZY(r*3uXG zX$Fal+^9nzctDnHj>TZjm=t`nVc@0j5SUz_<$CCI*fMWs+33jziO*-=fmM1?p{PIE z;GAQ|o8eIa&b#$i!uO(&E09^6%e23z8+s`23hJ_pWXaf)fF_Lk#AE~W@*R)sHN`My z<%r`qN}5i{H2l%EnC~aj050|ozgKdiTc+W~GD8Wy;f&OQ-eG`9Icfj4r2gL-2FF(? z1vM20S(F*}2J<9r=S?u^gGUHMjyxjMV#l2wi7TZO4If+lnBm+b;JYSw)Wph5lMKIo z>>|uT#Sz&qQ1tM3VqZq6!Cd=Y7*+0Z*-#6MmgBs513gZIf+ZPI%-NBX4eG-Q!a(Cr z%f4ba<*p1~m|?iu<9P@lQmJQv-&*FzjLyq2;PP?-&pjhMi@n{`ozaw}8CFdZ)*+p9 z77TxXK8Cr`V6vfp2OYmY>8i7`P}x(fOvA}Ki?zJ&xO0HL1xH0sya}m`o4jyzFaJY{SbD%!@jyhUGU83u7(+DvOZB^-U6H!Q*e)uD+Q3)HS@@mrO%ji-o)f zx~i8vLR?Jaz2)w*dZ(}9U7@*-eq?WXYX#=CwvK_B+tzUJ`hH>3%H!oqi96tj=^OEK zZ>$Uaxr%4uZSqKvuc@P$Gv+*#Bk5)s5_ytVWkP&ZCd=)_$LYV5<-U^Wg(o1nm&LOq z9x2}}$uTPt@|kp$e6d)Tyt$!a+*%dlRThkvXDMWd3r;iSnju0w#HGu>%COr_ybKwr zl_9)k5~%3X8gf(GOt}IJ)cG2+zXTXYuMZ>c)6J(y>*;f6%I8~R&HLP8#L+_x^}7E8 zgW?+E7Ra5G*F8*(zH3KLa8$+g(NnR(2t zibTWd6B*z@PPb;6+*)?KX@a4z??l$Azr&8%ewjSrmE=O+xuQ5aY=okoK4+Rjslp73 z#Z~y0YHM zK*!8fX!IU=ip35xFNe*<;j!b8n$tp8oKk3&y1zV1g5Adump7#%j+YKRtmFdWy?gE|CIj0p77PB9_8rk$!rxkt0*sH9i#C`J?Xw!x!$eOc(PCctoVngZ9 z`0FuO@P?hH@J7?QXBF16KjN$KeQz@X<8)TAyxQ)!v^_7{5!3yC;L>xzyR>Ob;+H4s z0&gITMGYQ6#GFn8j2$nXbPnX(jHI-L?>yo|%tWw(br7Ay;(P74XcHFhA$F`D1Gvp{ z)^X<)DHkkQ7t>>ALD0pmRoYpMl>o`QiOy!p@4B-*S+G{Al)W!1Ec_L2jtl8?YnAR8 z_3n?toj_i4KUKs#Mzc;CA&FR52DJE38;w3~opOWO(vY3e+|;K^r800xr{b9#(}<~I!c62oRcf)@(w@a$v(^y@Y_3<`51{to}JCW zbh)cE`jttTxmY}wUONnPmt9_$5KMnZ4xru5p&DoCbFSaPV{=scEeM89Ooh8-4g>VKyjjso?|={BRVMDbC2_b5<1 zReyUF)=n(L*OQ#g3%cnTfKSr>*e_3d!5FNk?0e8u&XiF4C5zso8;-?Zix<$?IH2az z_&DgLWqw`Gh8Ofm7Trs)Wxo>WbK^k4^bTFQ#*uW>@qjj<`;CXOJfus;L!;tYAI`r0 zbi)*AY)yA!zY^%o6j0mmZZEFUS-(34Q<#aJ>BAE-O0psKPC+laESX)alOTY$?VhV0 z2TvOhS)wlD@f;RkbT&onRi#5qo=p?*@=4el@dP?P6>BZo>~l$g3sQmo#FK|1H{l_I zfeH5oyfPI+=1%6(5Xs*>?EJ&9uw%)G>{)E>!w}%Nr#SX{8hknS^VLU zjF3B^cbbQ~m^ZJ2#j}(hL#_bc&%!~#rIR5PUjepwzEZ#fS?nBOGX^&lu%yWlo|^4v zg3kb+)4-{ij-l-w=#`UU@$GR-3qB3-)^W~s=L`1r=~I(2wWRWnL=dh5VXS}p0d7#Z z_&aZ`-Xk6J5o68v)Zw&dTzBRL^r;z`R)bl%?kL&=NlKkOrpTC;^%cvo-xb(}c~|gv z%|@YdssoI*F_~0sfG*B0_=F#Ant&XFuQU8olWqimrX8^&j(6*eJ`{cieq+kr2>hz4 zjR?|m$Q0?&Wa@5ts5aKkOZ9DsysGf4a~3| z_96yfWQSgvMMJ~Bt_~Xguq~K3h6R0&G}yhVkG{RH!`K=VN5MV}%K0mcI~g{V*Fy{H zr{c!0^_2&(zH;otuOm^+)5FApw2dWvW==9-p|WkebBJE?U z-cbhKcKFsDEnD6i#UGBq`J7)-hS^zsZh917F~!P(mK_1Ei|&5t_iHUs;sdDCjV=m2 zf+c%l6cIfPaCbk}0u+vP7<-}SIr#jNTVhkAQGfa&B)iK^Gwd$r_uyZb^sNG+_C zSl6i$$SmOxqF&Am0S~mW3YFRHDJ4el{J;y-ITlvdvOU{26U$D175K_o`HM5VpfyA1 z6ZOKy2BT?om4($9Su^iwV#skzAvUrlz`N-5d!lQr4rt1TV-R~bTOBm?VTn};mKXDw zm~to*wfp;~5R;lZz~6?xO^EA7qQl=F0nWu_B#Ym>dWHCHZaXybw>N-u^O{=6N{eMW zmk_JAwnbwfnhE_@u>6;s<`L~8+oCadEFp%u?L}&7bx~IKVH|PodDIWPEkVcnaZ+S` zWgp=-qYWRwbez;GS>{mZD-qJb3_Z}FlUkjrCkqH4i59$$6?{?P1pOSC%@E#m;!#B5 z1i`LK7JoTtB~h<@B)Sna0Qlcx)*9Nu*-C+Bbh$-b-PjlHv786EaeU6e@7U=tV$Z}_ zWZ!X>peL2Zzjv1*_p5CYF4-aUo9hg7)jGfn*&jGA=#aX=IKn!=Aig)!ptkEh1Yabv zxVhyiA|XnPj`zR-=X_W0Vih5=&-g>=%fl7=^4YzFa2F3miL=TDy>ToaE1E)#3`;`W zD|Z7w=gVvsU-f7RQRz1t{W^Ui@N;+piGd;A{)ASi4(-3 zx9W-nv$Irr%MJ$l%XQS+rm&n9 zDaQrAf?!psECsN{md^xC6QW9y7|Lt~+1wD-8tm3yLOTcgkSROyxIRg%dLhOxIQjawZ<7+S1^OfM3a!jtUI`w3vbO}RjAbYk4XqsT+q^aQp|x) z8>~`GuAg`2Q#_qJSfy1=em$1>2KD~}d zO87VA!ZxW>&6g`XMeW0nA6Shq>^KF{P7*bgB6C4c-QTX^L+Ax~gReghVdZmS9yfQi zB|2UmiJQO4fPRg;fZZN=bapupfBbJm7b&8b#b#=Z1gNrvm>asTHiEc`Aj{ z)%6yU{3VLGxo!|z@u!Ug{dAs6B@4Uy0&j9KNzkmB51O9`Um*PbB*gwh?0I+4BQ=~< z=7WV@lFt${n;_z1{RDwOb-v14*5+asfu9>JV7aW0K_O*?<@H~Qu7CCw@Cp`pK6{vu z^|(Rw>Dx`fr3*mEgLo0TSJ;8a^nnXh@8yyuf6w>tV_dJ1IUuZ!>ka>#q%3qQeT{!# zBc96QAO4)j;ftTG^Y3TGb92BIbl*}AKS(YCJ#Q1B(2%ZFDP?_59OQ5b-EgJKU3`ab zvr^?Nwx=hoR3%E9JU8>}YfK(hz>Iw}U%H>|^uD~?-oCUr6;7$1tH2w}Q|@y3ba&sp zzI5}2;H6$Ho^!u0_js~Ws?Fn#&t3&d#bdm8UT>pu1*_P>-0i{ft%t^?X8fVRK%NJuFMu!*XwWpSU5+>t@wv342-wI?^8KwMqr{mMbklrQPuaHCu^~@@yhbm`SGh|@re%e^)E~}Q{UVml zSpFg8Jv8~zw+}$mod?%LzSFXUs(Iq^^zwr$Um5o3SjgYNu#-M_5E$}??G5=ve>$l0 z7SEs?A5sm0quHE8sv=pJG>LW#@Li`n>7h%_qAMYlK-$y0^(uFn|N8*W!~N;oY-{&A z9vrEm@d9Xl{h&TaX6i>4sJ4q`S8pBT<}-tCSP0QDN8hPXHCu+Id|a#DxVJ5O-rE_D z?SnSg)zF`g!ZbVeyro?;uq|@k=`36#cpL+FJubDwy}!3Xq?rrY!DZLDV-VmovfH3> z16hn)!r8|lKL6;k8jtA~ft+1k1s#>Fj;sfVakMfVy`3)Ldd+dwe6?);-=qE6Sk%$G zD%{wl5Fv8q@sJK5pSA%98`%z<6viRK@HyPXa9;i{IBa|u5kHBaLwY6H3=3)ypH&u~pYirqNT_jpD z)EuxSt=QWnwROHi65P!VI^i~!$VR}_#l{sSkNSb7ve>o-4bd+g#wp8fWW5I4IY1t6u2feq3^OcizksK@ZT2-_e_VY(Oec+5>RO}5_Vh2_g5rCiF*Rq%&RjRkO zwe-ek9kMAQidQUv+`YrwTA|#qXIasBK!1DL4t|^S2lxiS7?HN1NCt4Xfn5XzQXfz( zzBH|fJ#z2!?gKb?)(P?f{_gJ+i+ljD>Ju;UC;3=wF{^2zMf>1J;KTq4_0K|$$D|{mSJV24SCTZsdX21FVP-=+x3bmfJttTf ziDf@3F#6?0>z>sLH9^57Yi$trBMo&~1qIgISsHL$9?TauC9Wk9Cw^9&8- zl45I>EaXoe8ne5-;C+u0>tw8>_dUFuJ`;HttuEmY1O+89i%T7UAvSMGM|j0mz_~c9 zECFZV-rS6VL(DZB*sK|tRbQDuQG7TBy>b}`xJ@n`>e5*Jz(9;x_E#!u`vL)OEb1B1 zdvn@#eAU}@G~L-2a87Rpi%+V*79VpHN|Ntve>S$DM`nOU6M24F3GdE81H^vhbhz~C z(-C+$ok=YA$pDu#=WPTm#{hPw&eO4D-wSqrV)Zx-9`|G1r7$hi%m-+ffj^MtPyx>_ zwYHPow(1M?{TB5g)0DzE#w{49?GJorJ-f2_B}}7#T528QES{ln{J`4RyxJ@T(r>3L z>*-S;Sr?DTe(XNcjYC=+8{&G|y1}ljsRpZgey=?&x zI|L~#Xqrv9q{ZT^T7Fb3r`f0_yVuUu@^a;@95FW*U$a$*I!5~fF1Cl!f0|~4WX^Bl z0z7M3h;gR$ano%w>SJxYS)!h+dZNqt4XE0=xcju$=Fe@Cqc425d>WRvv4!7>hQhg^ z#WF7eENE*Bi^ufRB96Wk3UMD4X&VBGL)%!JcPa)=Z(s*!@_o;(;0m{!ZBg~>FB`h7 zgHprYs$nL#YQh|{mvETrC7cjDrWbaw+N>cd-$;X#g6V~y5U2lnK`11Pp0@Bq*FHC)PtNl>J#FnIbC&jn_~SN*@}9P#;wQ8$&ej_n^|=T)vz&x3mZb~f9v25{ zwmcURK0`;Ldyacqe62H7`Ej-?nKoh&Qf56AcnjiewMtEsD8lnqXY^Z7rGd`->;yOI zy=)a&a;2CE?iz#q{B77RWFHia?R$ZWGjLs(cE%QV0d94r_5$lZl&XP;vo5z6bbldM zh0k0RgYGo5V|SYkP_b69d@f-u&GPA`y=_BfGIN;0^RFx+C|G6sq#?GYV%Z0$9;o}A zGjQBse`}#5<3S@a^%QeAusf2pI!W+;OpUjVkf5u_1-gReo6z|Z^Rzq`^_X=Efx1{h~UIjdvD zd>yk;I|A8{S!3jdC{6%R*?(=zScaycz+S@yevd@p-~GahVLDDmmlinz&Uq&;5xnqi z(MbsGOMBpWIyceQN*34w{t>dFx3JO*KvsG2#P7wLOFHyo!VN8*)dPcv7!qy!VAZx; zzJf`b0OK&-ZiQnwY_~FDyXCQ5c561>aCzKgqU}{Kr}67cGs*UMvuax><#V!KPa+ zk4H|n)hbN3W_nRRTtl-PxtP!&oNW7AhW#BEMVyq3Mg}~G;ism22DqvFm{7v{<|vfZ za4n-UhJ4iw7?OppJK>i)3TZ}cWB4hLn+fiFvu39tpFI=g|4fz>EdxfO^>KT6K7GMV z+ZS>yZSf?gZ@)y;{rUkA;G(X4v8|oCWKa8s5U$+fs-i$co60%NfPpQM``0Fba}(~d z41yrir5Unn)eNvfnXrO-EralHRO*2quwZ&5ZAV%Zq2n%-K#3s}6p`wS-P ziVMo{3KsB67H=Hs$*9*PA#vO>VPu-+5X_Ux8QxGjbvf`w42)$KuS!CariB8Y3%JsI z-aw}1#RxLSeHj3brqQ_?7%gEY89F`=a^{;0Mc-&@~UF5Y4 z9<545w<|UQ-nn!yzNG zKa|p+_Cd$nJ6#bnq{n_}UnuirgjKg6oI9>`E707e7qIPKQI~<{e$B0fcBNz{bsQ9M z43P$~-0}V`;`HVO^g2QZB?4D6q#0~Ou!O4H#NFKq=;CcV*z~w%UBU7%+weOv>tF&3 zpM=Bm=5T2#;04oe5a~<;nwzsrzyn!)QN~r`!HEQP;OG|~*C&I|6$; zcU(!2`AKNy^D8h`F2z=zwVjV)V@iD(cOnTLiapMIna;flHgz}@!Mqp+k$I3|arl{& zzHt*~W!SEs3^gYSefwG<@JnymD#dMR`&+iY%8;NG#@#OoO)K0-&@uHOu?@QgQd_Oy ze`tsj(Mi!hK`Q4Kr2RXwLr_(tJVG$(mM#3G)Y5WQaq9(1=wQV)VV%imsDt~p99k$(x)aJrDW=Yu^sB@+|L$y4tomwSZ4_L^&(INcUa@wi2*xL2c z+U0=jy&DU7RXep3dmkFBoeTJH*AE2?zK8_;d6RD1EWkh4SrNqJagk~}$z01=;i@@1 zQms{vHH*=X1-|_yIFyAeY+*NvR1c8L27K*^^hxy*q}?u1-Vf`lhTCqx(}#+u#|}n! z&0Y&Lr0K4PUwvlS&L>73j6sWY&5&_r=_BLR@QYdfz28GFgZh}+&MTXg~0s;FxCy#*X{?nDD;O5J%)hQ4`RLvqmCN_qstuT$9eAh(|ZD* z&Eme-gS6X0{?DjV)}w5$Dj1@kFUR8Fv|;);8iqc9Efg$I8l`SvS1pMN8`*y@K_0J> z+<3gkQs(g*OP|Mc*_2?KDtNqVldYWvn zNIaf86JpOaqOd}IAjnLOw zSbl6a;%QB`8V+)>YKk^ZMZm!xLYx6XLiP9yZia7@eo~;71ozgU`(bmB#2Yvf_>v2)PNR;%Gs zCvl%|5$dl)6ZbC?s?y4>utG(5%m_ZuXtuHW2e}q6(@jQ)p2Wg}p=7I%D_RlKZ8 z3Q8?o2{>0!rEUWQJQ@v0_sY)`e3_TKO|2D6=ttYszSvc90O8|45@nR{1QBi*4%`l1 zHcv_C*D{^79aIP2+KXQsm5xGVya9(I8V+mQ)!~wzmy!fitG27pV*37%ga3m2C%-8H zLY}V71^KgW(}QmTuAAQ)@Uacy25BboJ8={G<$iTf zWti7)?tg%>?9|0W^uSbj5@T3Cq&%ngUAgPn`Nq{oE9jI7L8t0lSAg@bYQK3h0i zo&q*(`LqbB5!{O)eU2Mfip63COztrXu$aA;gxis*Z22dRB zEP?B|IS14O#A2j>dQk1H#OxN$=Kf_i;T;8n+;w-2(v$Bv=?Exn)2~0r-{+C670;h@ z1a_q8(c=TyJI&oQ%v;9M;$v)?cLWBouf++@P@ATm4)A(Bj=~JHymRuc4)IvrQP5$U zmciJj_8R@+qv}55Y6UtkP@`hy@d~ycHmz_WPi3*|lC6AA>tUY1M*Ym=k;@@hv30hQ z)_a^#!_T$C<2QV4mrsUAeb}dGc)G^ZGr}5RPx7XZ3h{X4MHsc|qeVO($3Aj2q50>K z^-w4jw73P&)Np}b!SZ*Jp41+=uS4>}<Rw#7UB}lw>H>3t5a*o-pqHH=3du)$ zTOBI9s`r8i%HHtIbkc1Ii-VIJpgGMOAiYuyCm2p?&TUwgeV4M&UT_P({5E*-N$YQf zYXN)z%o!ec2SOpwygzD^eMr!keFu#G>&jLl;8Z`P-*!akyYdbgIb=9n%sIP55z_vy zdcDl@lWz?ym1{w@`APvBE9ZP1iug!t}Ybn@emk~E3M6b{owA(J=8X0OEbrO} zFg{I0&v^zl+tsOZ^!eUd;Nyl_@JyW|o=!J?4tvb@rA<-sX=fDRRSF{9p(^z`jQITf zx+u3mi-uL^3V6kH==OB^`7(s)VL3RK=@`vqujgfZ`543IWN>3WZFG&&3ZS_SP$iqsueVp-wSc<1f4pub?WJ zv9$-$qU~hVweNg3gR+m$roMt|#cqEosO4fL@HNC!{gwUD;FL1J*f`PWyjH{QT=9!f zM4K)Bk=Ntp5Y5h|j*x!esz+c7!#iB6nSvs2JrY)3?pp|=*MaG%jx11!{ED{_EL9gv zfaZJ<_zuPukG~^Op8?3+`!nF;DR3ej_6~ejcrOcYITD^(xPMq!Q918myfLfp;fY~W zP~seCIM{KpXN)_iNiFQ4vc56zHgSCEAY>L4E(C41l^xtT$Q}`W+YLg_S+0N& z`VD^0J8We)0;{KbMVy#62qEu-!dWv?1^k8gpA!xf2cy0xDFIJa*;&ihj~|NWi-zO; zsB>A~eTxxdW_luZp%b`s;~LmoZm8_;){`B9ZBzaGf*_u`!rd-H;;9@VoJayaK%ona z!u8uZ0ZZ}#h10%xYg+>z+oi5h$LFwk@AK~5sC&F=C*b8QZsqT)Z43MnGbZ!6z6x+9 z*0xCxZ4W5?KlLjTjyE1Hq0{$(W!)btJVg`N((agC(qf_yW4uAs2Zq`~p_%NTRAOa} z*X%I6P)SQdiDKz>?~mNBZLQhVSgbH_A>W%R1NtnJ+vK%Y#diIZ-gG=Z%%9S*so> zZXsKcaH8cbzTF%{-aERZ=p(HJuT@3a*-27<*(K}`9-V-Gm-(&;^zDKB>|Xz`wKtEq zvF!i$ZEV@t8TU42*vPca!`|j?N~TPaF(Pxus0b~jkTQfWib{j1RGPNT8a1diszg%K zpt-xbe#fz#tFONIKhNuVe)sEj-0#nHe$Mk6*0rv6t+jJODZYkDFIY4uy+_}iw?-69 zoZgEDa!5wc8L=}QqLTxephCx@IkU?3%~>~iEp_q7+hqr_$Pc>p&FQq`6=K74`E^B? zL8S_(zT5fioQn7L&Dr{Fa(HP(GX~M)nm(yHQycWlxua5M;-$CA_;pD|a%!LKm-Eog z{X%{2p+Tki+nMz$$%}@RYEme9V70pv9S@CW=QO>SIK3z$AnkNk@ zV^~4aUHrmjWB;7-?QTxgHycxmkL|6Jb9yfrm{V-dmPCBbm{M(14!kia=kQs(6R}^$ z(0hA>yg3I;49=;2`02!IYmQ|XUeNdXMBRX~r6#0KJ1`_CXX8(8zS~`m!@RX1_mZEF zWzW>x@<*F4C8`jMAHFi9y1Sc}k++q0jL||7PP^ zN10mrau!q`l=H-`A0*;qjlYvsAZOIf0XduZ9w6=$xoGY9QYDi&UcEikG8ME;Gdk%&N}mLHc`i0a?&HY1FtA`G%4wksQFc;2LJ1= zFO>b)TV;s<*IR42|7!j@7uqx5ici<)cAnw-JqyCU^QL)hc>1rO$L|_%E!L<}xSc&T zuhc8473aSlkLN3!)Fe!}e?F)3jGxOi9vHuS&8>NDsXvOOKDTQ`ys*mmk3Bx<^lfeD z;2$-pi{CdlTT$wd)Wh@FJ>e~C=d{*M!foz= zn>iEOt$Mjh{5JQ>j@-^3{FAfs^P4#$hwgcj1;uZl%d9N*O3L*7QM~Wc+*2z{l}<`M zI_bCgdVZU_>akE)b9JdANf$;W*&x zcU@h$d(H>>%JFo`>tk-g-KF^3(O+iu{^xdO56AY$A^CRrFs#fcy||FZU!f=Wuv0fY zy>mxI{BVoJC%I_GUatnLzuvKe_~c*fQa|;MlKdg&-cma{q?SCjvQ_>cV>#zeeAO$f zGcL-X_H9ziiSJ`MA2d3fE92?QcY(Absq@OMZdHyiYPa@JO2qdUNGp~6+-)ZlgMTTI zwzFhv*XIl5^m(>-&fg8k^8ORQ&L1jAgWD??$eAANm2=~Tu|&LJ`LtH4C0@&yQ=nXr zoUJe2LOed<*zz>KZQxy}>$o_SPb-|7b?omp5B%OOXYNN^xCoto|0qx2r}zBUX6@PC za-Qt@6!l5aoTbE^1cCS5e8ki`*OH`)kl=WBsb} zKZAMlgKhP~tL_)$!3-zu(D6QyOx{&8)=^++OZbe6}{X+@6?iQ!Q4}?s)6?*1UG2biF~Re=&Ec zR@(IBvSpvckH7ZE)@JLLk4=hiMW^ql)*lod?7|!Ii?!1-lTs%Xd;9dSfu4Wk;l%uP z(pnX1`@yjIgx`OBVZEsGG#(MmtdsU;a-p3E9v%=K`~4gqxYlKS(%fiuy|iH|LvQR9 zFaIX`vtHUa$={S4N7>ZHe8^2{kk%o&$`6&;dGSlx*am6Slg^DkY>-wXwPu+K@yQGI z*#1!e)9IQG(^@6{9F1z2mYsZT(&JmguH8mBb#aGg@$x@6G^lfWt+{0yrLD`CR5E&^ zX+p*MVR#crJ1XWlo4>i@dW z4DtWEFAec+-P7*;=XNs0Hr3#6Fmdl2V!t%u!gA*A=)h>+A>K6JyC7{^{GK?}{p+4M z#Mbmk`y*+4w7O?n{eNAvPN#EE_DuWs(|>-pn-$GlP=w!mp84a_@C%NbS?R6*^+VJU z_lK*=@gJ^6YqQep|MR=n>}XznJ}3OwZ(zePe>0mL|IKVvE1O}7pVWr*Hh!#|9RKlc z?&9q9-wXfihrx-NJEZgMHSt5@=v0UF%zu7soE;7Kw=2y$rq3??Kfkfe-PJSw{G=lB zpHA|#l}0BPw~Xd4;3?U*C-~*mKfj+GeNXs_OLUTW_#x%E-syu=&G=r}MMOsP548&(8RzWrbns{m=NN<(y&Zxo7^;@{;s3 zerXv^yd=GU((LHDOVWoWwTjLio}QglGrD*+CuGo66inJxb5+n!2pIv1Lj=67gS}Y~EVBaB96yxh;+mzqe^#;zgpMD;%oAdXm zCa3>gb>W)Sa=B|#%TK6~^3UHp<)&tquTegnXw5s7|9x!AKfeTzT0dOAf66~U7?0LJ zT)sxiKff!F4&Wxo|Bg8N_2Ke^`D5ySkCfk&l)f-+Yx&%?t>?VfGwHt7pH`?}nfgS8>9E|lH-5$ zwlHOOMW~dUGQ08vU!^uLTYG0;Zk#%d&EKlR={u7{V>4Q%zFlwR&PhMVa*p3!pw;QW zNRFC~%P5lCdC}aRkNm_lf<0%2c<$J78GIDa+pzDh@JG9yr)Tg-BlSPe-o0z}teoi= zH`!JB^u5f0D>I4|nRC41?g!tVmGj$OE%}FO_HfU#_{xl;Dfgz&&UyW!4)pNXVEjR7 zM&Z;eo~pKc&VboD^X7LWe(>ee{BZ8dj2-EzlU~jrzvtd|!TQH4#y{HTzIamxPn#z{ z+c*9wd*H@Kk5xXsIh~iWIZJAmia)Y%G5m?gE1r&TTE^xSS#|n9(EaFnYrlJT!&x~^a}V5_aaQ5f8#n$P zpWyYalO79y=>5yR8KnA4hqC9=8yD@`5S!w&#&+*?)r+&ZUvG50W`!{8*OKn*CaD2|PeHJ$fcbkhgv$HP# zc}jev_O|}^@$g{pB=MBgHK}*)i1<0*yi*%ng++FLETdS#J9&_^e{>ao#N;2w&v=Z* zH2a`n%X(SmN6mqgCn1}xS#l`8;yVW>^WRH9?$5IJY++aaHF5Q=JAYb zdGoiwZ)50p=t=suJ9@>ApP4%EwvGJtWBkszU@rUO?H?BIc%S&R7b%bbnSL|EseS)m zwc{zmM?cuuDs1xD+>DONW54Oxs_5zGm-};BPJ^!}wcN=Mhf6P=!1VEN(FSbGXj?Fa zQ~bFfmWLH=+s59?jXl@0_ep;2y!;(je){{ar!qS7;@kBU2ek1={J?AbpKipK)H1m# z+cWr*aa6OC%?7fy$4}Nte7xDVBjfdyf)u|u=I^k@(Wadl(~~FPF(pycY!{m_=)@O0 zHt}Jk)iWy-@v*xyiZS2JT^X6F4IVwPu>W&Ks@Ml`J&i&tk3Z)#_tK6}@XH@1yd)wDKJ=@}Ij{Z+3n$w|HjUr3iU%She z9cIS%SXd@1)4o=b{|=Wqb6NiyG`B3_|-xTR+Y$U3M_$B`_R@ z1xBDlqJyNPxxd!VpL!|&SQrQ6qYYPQmyec@%gkSP0{&FE9Hs=Op%bH|O<5&xnV+3M zbq4NCxEijA8XnKATJ{>uYheM*4_t@FqT$C`(Dj&0;6}J1a1**PnnyZ1`Dtx_T#hfR zVOg}nVg9r4x4}BNHLxCyqJ5-`-+?K2!#!|kv~N>Z`CFD`=P!Og?tSn8JP4bjW1F(7 z@(3+yb5^CYPZHSyJ7IgkGb}f1_X*Sb9~pfHo`t6a&!Kyw;imnE$6tn5;HAI;^o3~N zCz(~FGCebkBpr&jcF*>&yAF2G&Mf;W*)QNr_&o3xdLsI6b5`lHr!c>VAK<&dkLcG? z@%u^tg!vo%4!;KeK>rgRo19s?#GjaX`PZ29K@$9xC;Dr0X2r6}*oB}lqy+reybDBA z?V5^N0!l*hKq>U>XocxC%yLj3$_CCs)1$4XD_~ZEs*n-zAM~ym9VDGx9kY7Wu5V_^ zXzX8^Ws29smqySS>PPeb%B)m83sYJ^OURBk{FPZgtqo>7Xb&AgKPTG9h_dHlc7<-x zCD0x16wNuo8PNl?H}nDRp3#aEjOvRy5C*}3z+kjrwDp0k(y13?%5WGFC0)d-8w{&m zF#70$tb%1n5*!EPVQk`;K3o$W8& zC}~9Pl2O|&nfaqBNp%XAJxTBsd<|a(zCk~aiuYz;e~bAO{0Dvv{EU7VH8lMT=AZBv z{1NyY{Wa=MI>x_Jo+lX!K>om4Xc80zhyD(Eu~S0KT%q6_D-6~ZK~v#u@G@5vHC7Dl zr7!lgj>}>!p0v0)ffA>Kc}k)#OkbSbCZ)h@%!}|FP0~W_SL}3beJKsrl|jowIqs(|N zaDg6#sxb_M)xc&|12(kKqh`)xck{U+Rvq=g>x+|HR|7nmj>8vFGsHf}u7#~HwZXbr zCPp2o3)=Ode!vDc)VHB^m$9%0sCB+cHbnL1OKLn>&8d!Wgk1tH7VMAF#>CVnc{%<% z(liuiq1n(3US)#js4?}U&_vsY*0q3^V66*m1+78bmzKUb*19&}O~OU+eiFw&Cj{T4 zpe?q(v;zxSWuErn0zads18S@z*i2t+Xq~TPbJn_>&kM0msFwqMdEYu4oe!O1KY=dj ztEhfgco(}H+8xxF@GppZH>^{#b`M;6B@F9{?Qq-mfeWE8^vo0O9$h;<)*HJ&Sl=H8 zU=KtGqJuzR2E!0Ar(O(0VHljpHu`>dNrh92haWp8VSV~>FH*sQHvJYdiTzCh5V zYJ-+Ez7)STIuhMYOkbYC9u@4-XzM)D*L||nV`H&pCwa$=1Jzy=(1~yvyi9&l@QqD| zJ;cnZj-P@(6&}I99DNeimmS#CLQeIqVR#a!?sS|h;7Yg(^yTr;#GK7+p3S0Wpw?w! z&qVd*YRF}bIo0vAuxEqsWOLAmQ2n}$y#|eW>6(i%4-CkIp*V)^Ae&rDY(8q;2y7Rn zFD~q1V&+uGUyHo}u7m4gBQbq>0DB>7Zei4PPiE2BJ%kqHE`b~1MzFjC~6Z)E66CXU%tD z{(JZ#_{JtvGXb=n+?pR@G4?_j4L`*~a1_peuzw2t914FyJ?5SRzrt@|?02x4zSz*Z zKfs)|Zp5Ep%*BqRMqixVy4YX*-``M&W0of$Z!0A9#p~4EkW;>`i~ zXM?^t-m&IXd!NtRilWwa;+;7DCTd_9tLw{vL{i%Z#mE(h5>OI)64RFpu}cLz4J{ER zWz{JiD~%}^kakEJP;J$OSb4M@_zBas>5J>@Ma-P)_;au;Kt(tozY=P!6Lw`(UoyZt zmJ`cU1;h2YwyIDqr~|ddhSv3=ku`3MJN4WUtB#&WOkbSbx*AXun&a0(b5MQhh+R7$ zFDjF@3A8{n(K=8U>OuYB8*5G8CgxO|H-Ls{S4*%a2iihAaDDpX8k;f3oa*@Y*d3rFoCo!Z z>5E6aEJ`jGH_~yMLnk;NTwmwl8>`Czo0wB=?sjxRt!s(h71ft+(14gZ)$x^~JAM`P z0<=cl=g1hWgVO`m?gj>kzu3B+-73onC0*ae{|ObD^Fu_t2d%OtRFGCBpO!Uz_4IcjVg*h^pRXWek- zk0&i|#uiSG2RZw(Qz_CHC%4HJa3x#?XAzqbVg;~gV(ZJ*VBIX34RgT9hS!8x47Jxa z8U}4>q0bqOS?pHK4KY`n%q05acxWFRzSQLVb zQ5)!6pl$QQ6q&Qw-F!ocEkS*LsV{$HTX!S)MD$zu8Ey)(|6ni0)|X{KT`bRXj1_P* zho58adPV-SOaU}8)CPH*w@&%d1W>r>%hXw zupTm?J6nBwh~0tOOkZqhT{mjXS?fmJ8DcK>6qD$SlUug|?t;7FGv?28PY9mC_Jq+F zPZ|qvgL}aR`fzz;h~0&B$HqL4J^@ccF6eKAr(iqm0H1FE0z0t}p}T^U+W8gYB469667e zNAMZu+KX*$pO*w18xWgYXwlOs1$myvc45!Jv+x|~Ypc)03viIJZ^C};OVFY4BKAvQ z>}AMeQho6XaEX@$SN{qDSL>D?fOm+!iaPMMfDNs)-Wuah@H!j}s_(cr;2G-n!G3r% z#9qLD3tL~_j`4rb5WE}S!G0HJ2m28AdtftjVnb_Yq2{bD%a*(!V%mQ3p)XEu-3M@r zJ^3Z-92}=F_OtF;)SR_%qhEyB zm*|tk^uO?u;N%v51*hQaU_V0q8*F(3`&-n!`T+hawt6LehyOkN06zvEB5%K+z<&RM z8pM7^t*egx3;OeU{vZ4bzkx~B2EU_!z@P9JYzi^sTd@B|{REyTe>7<*pQtxtT2~-H zZy8V!Tx3eHw^HjDZq^kdRv5-$7eVht^~FQ!AvdRbDx?xW8;XMS77MT^Y12Y-R&1#eEKCIRfRu zffk4jEv$%|v$z7B6Jiz6TY_)Q$*rphm7p>#CzcUn%do3p>&v6~)-8&$d#hqpgN4}V zqWWS38=6yX`T#4hj#}peweKgUy_9-=ajZ2pz^`+!f<;g>#1>+gVZN9FDTiaBtE>gC z&~IyNV;jo^o9T-Uty_hfv)0{QC&cQa*AvqhC%3L1EWut3bA2h-4?&JZ{A(6{IhzGp z=y9}}&DY~MK#es7o9T-Uty_nhv$hf1IK-Nu*AUZ}x$!z?^~7olcM-@!=b-xHmC`G! zIrVPTmvJ^ZPflOf%}{-54)!po+S|)O3)H&Du-$7dL7m}N>$HL$*iXSEXdPk`vD;wl zOAc7)`+*lFFH#5a+Y&d{4z-uQ*w4CGP;=InX3w_AHWsUbGXcYZIJt!#;47u=RW9XaDyOg%fGC1SWwW zhx-sWb|GpreX*f+B~f$MHf7KB#WvO+`$Ed}#mTMf2j$3@0qw5DFN$GY1pT2G11(T5 zfF4XT9(scI0BQyXIy2ZN`Zlz#4mt>bFl1u;7*Jn)6xfY1=F}l7V`3L$G^BVa+Ma~I zoR6JKfjQM@Mn0JsMy@MV>5KiW8-$v(_G0$PXpg_aaX8JG zWDLpC;N%vLg-gt%jfjm8F*O_iO2(O2`7$N`gfy9nd~7!j|1#=)YC0i|(--?$ce$VL zOsSV4ReI?i_R<&oSyv#Qt8uz`Gl~1b-~*`t z(-%VgAZ+G!wQIyY6}>g~bYx`w{@L5+>e%N({9YPg^;X(i^WI8(dU~3AW_m_?#_7+2 zYrwc?V`chOfv*{}8NDCwgHyh>J%Hg2y&nb$#BJ}<9|2>kcL(P5y_@jEfD5tiK_<|* zhj!w_!4~Wk@B@N#IL^Bd)qdV-lwkfm4`CD|@G$xaY=uYR30D6&Jcj)^c$PhZJ_(*} z-s~r~Bo}`hJOz0nmvOgHza4uA>;!Ff7x-bq@tc@G&u#*Hz)u`|Q77GpK8jkDj4e;Y zGw>`pv7b7;!QTLP1nxrbhC73QPw>4jdk4H%^HZy~#NOcl_7VID_2Y@3Bvl9c2{X~) zU2J{T`a&$C2ow(LLhb~8)gEJlZ|}2-7X#~xqWX-F#qS!M;<&<5BuB%gL7l`V`s!Fn zCFbWO8`#Ji$2^BV4==z`{Qc-7)M=|91$`L%c(9Lq{9mN-V*;PROW3b)-1@U?51=pO z55^t@ui?Lf|2q0M9Ke1DJqVjaUfcYeu!Y#G)Vv1T>O-ji!^}fTo_tZ+#kGs(eLa74 zcAd=hsO{p~Ws*)r0~gn>nsj3{N4YNAu()>Vq`#u47T2zydXRxl7$*m#p9tk0oi`d< zm$9vGs9hv!WYpz`+LdBMDC?g=NBCXPUeFc16YCG&_FV)6g0Hrtc3|+; zLEx?AFz~*0C|m;iDo=l^^F;V`Kpg?&;Zhg}-bhaYeoxyavt-_kywRk4GSi#RAan)z znQ3OQRX=lGjr#mW)xQRv53wktYi7ww>TPF>3>qBz_mV3GRaj!E2Zo z(}&TmP>GsHQLlT(9tWSQY=>NU3U&lv&GGhZX9%dfU^hGsdte_t6MWTAL(c|ZeGZ<7 zm*53>5nc|y>L;OBg0K4N=yhm8{8jXgfvni)gm0p6!Ts0|!ui;5!+CH3|5bPm-obwt zp2Gf=2A{(TI0;__U!9sSx_wS|dh&PJUq{D!ak4DS7rjcT+^>ZG1HZs;ps()97yU)P zX;Ko`SbSe(e!kIHdoyi5)SNNxWJrMm(eOS@F)3d(^ctopPRK7via`m`SDWUImXdE; z7Ta%h{9sWI^i@BUln=go4*1Pb22|w7C7iE4+3>0%r20k9xlj|T2R%reTESOqgWt88 z_j5~KXaMzs`ca}`@KryG)DM1Rv?(-$EN@UWYB0cWQwhYi1)3fFmS}5e2W_A&v=6rG z=add;PKarr2VI~O_)(&3@KryGbPImBB(5?(&TnVJwV-F)%Lp>KA#VHuqAD@aLloU=dsg z3t@5aRX=px;E}WdBmPO`EH?NMtj72DYc|Bdn-QN@-U7El1nb~dSVhj5>L-s~upWN{ z+z#5ah~0_GeEQvmn!hV4`r^T?Lb3a>?*-M*2b+SgZibD)zaM=N9)>MJr%?Y0_Cq1| zDEc_$!V^KSre<64)u-Ue;BR*)?8MmvyMp?eU~ll%eXu+DPovMm3-Daf^QqsD{UUV7 zehEDUhv7Z=06q-9>Ia4+!9S7|6JctKgE;ek#QqMvxBm(B)s6Y1r7Ow*f&DA|4u68aS~zdC+kAfJO@e%o4EpNk{L$Ad zGs~5=HZQ(4DM9^=Q7CFRm`hYq%vA8Lv>2+dI;3FmRi|G-O$luCz7>}QebwpxxS_8) zz7(W^Z!W(v-p$Zg|AusaLw5Jz%;K@~1by50{rMbJUv-d8^i|)nd>^lXZQl2H7q73n z$X`HTb$mtaN-&ji-{ZTl_0^xDvY&VjV8nmZ&8p%**{*`R%4)$^ZD7NypiZXgU&PME zHtz?x>Y%TBP`?d%)$uim*91?RFW~c}qNf9%CEq};=)2zh(xg5$b--thmoZO0)R^ix zZF_klnjZ%Z@Kx`h8)ECLo_vne_oQruHii`LepuTz(+InORV8riESylX3 z+3itR*)jO44Q$u}RPSzm37&^--j`=5&{ut_`_k7}9q;9#3v>?pia#ZPl|)wpZ=>&m z*A0CiSa=K23wi{7kLyM6;H!SZ=ox$)dmG*pdI#-+_9K2Fs24$B=nszXAEUuQi~*o} zL36fS{ba1QYi!8fMucys#pv!*-@$5!1S7p$+w+$9b);FYu`D;|k` zDX2S%dBxRNp9%IT{LwH5#>3d46VS_ouR4BQ@a<>*WnvRgYb<_=o`hpSoeU1t-$UUP z^m3RQ)b|wMGxXIR;QNmLG#HM3B|06{Y&Phs;H!?mBKVj4>rM-@Ue#2%$^DTb@o-U`d{SAcpm+z|Zx z$gRYVU=^$epBCK`V(J=L3+v$4VAp4F+=eZ8&|^JntRC~nfAWnH-(~KN+hILL7OsU4 zncyyBAHhAaG3YFE_hR1%*1ZN7VIM&IqgSK%qt?vCb}{-7z^(Y};6abSh7FD|(ZeJk zf}_|U!7*@)cEiq~-iUn+s~K|~^=9lDa?inB?Caq=&{vnh^C4$U`vrIz_D5T9t6ehY z5L*~hpM?YP8oUCp!t23T7gE0f%&U$+i2WwK5p*`OYd~MU7HS3mEn;uOd+?4I;X@c7 zgn&V98<30_+4y}p4CY>h{lQmVu$MA()@Xl-9)%-8rxUvp^i>aFcMkj!4}wRwHUU?5 z3{+QqJou^&J`TQ(&CiEVu+@3+DYm|P0vxA*6}ivQlQ0f@5=;dBiLQ1Ud>#taFW^h~ z2EKx?;oIP=Hn5?2bqu~W-@|u7KjG~7A^7TKYRpYQ9seWtPY_#-Ga5#L0rfKYPbg4- zhF{<}@ErIRehQJKZb3h9C2Wg#y(Eev~W-XTe4I z{XknC41WEkuliB55wTRXFsSD<@7cju?NKE7_BG#$`QyLo?u4EP!&sU0r?@XTuqbF3 zLrX&OpcfG93Hs`V!7hcL2I){1N(XI1zFhEC$H&TqfQ>C^4CS#^x5yRitL_m8>h~gd z4q6E+!1?%{Kws?+l|x?502fvbssx(_^P5u~v4IUOP%A4yX;Fe(+Tr)D6Ck%{PLEL5HA?gRi!w-f`yJ zVK+gup=m;iWkcLYTgCXltWeMlZ2@hdCA5aN!8fMelzMHO+T5CUkP|c$b;0_od&F`2 z%^2GrJr6nrjnySs9}K9T106$wCr@*5VV#1uBHuaqs^iZOzKzYdgf7@>3+Rfiulk6| zarzBB{*@`X0H-^s=i=7@eYH-od*JtkUT`7w4tf#VH~6aK`vl*9{h&XXdzV+1?<@N9 zj@N(Ry-XUY$>0I#KxmI$2`YlVS`7w;ygC>>2ZqAMK`%jv1z)v?=Z1NEn;!wg)foTh z7P(>rs(ZwN`W3J*MMptLt`DX0(?MT72Zpi%`l{Cu7d8e)g9{!TeAV&xGq3g=$^TU) zI1aVIT|6H2)iUJLLSD7OWyB{yA?%`XHt4IRU}CglU7eD#%Lz?^5v*w%s;@f47W!&I z{NdD0$2Q-L?Z^gw)z5#apszaq3hWthC7gv{0QA)&Fw<`Z4PeB7U_A@H24=%oOy-W) zS8ZTJef28%lA5`w`KjQB=&LR`8T3`h&%<5-^Mn4){Qvv{+$Y8PDY`ZkT!*@_MX(TD z@#5gCe^YNWbJl1Vrsf9J{3KWc`f46>e zi2tP8HQx^F!FP~5g0I@ZhUV3^(2bfqQS=|ke;8UQlI(`H8J#ZI%hJV7NWWcWu zJS{v;^wl}w!ZyOa;EL}HzG?#-npf|JABb&2%`bz^ps)JXgkM$YtB&928^DtU9tYLm zGHegFnhSml`6)bv?H9q@P;)zAH~6K+3F7ae`s!!+?+5=~bPw@S9J0NrhwB;U-G{~u zoTPXs`Z=m^V~?jrPs20#>OOb^TU_w-@C9Su0Kd4|kN*-}!q_kIwO@pn;Zi1gqE!1<}8W8}mDP^+70(tv&!H zu=Q2HwzN)v1G!RYn%~{~<>(rSfIwW=W2c`kh^t?oRw7m&Ed#1!Y@)BOz^@4BV4JUi zT>;fs*W%w2@~Y!2`n_ic$x5)Cz%tNR{f4#*w!Z2Ys*5;&3!y5$`T%?4Tx@;S9@T3-UMZsNM9`nE~Ylr0vDMXeAV$ag0EhM zzY6MLn|Dvv1${NPnB?`LK(#?V67^vT_FQn0`s#I1ghlA9XM=~T0oc$(*D(0%TzvbP zSDnwVvm0ZRkHx>|Zh~V#ok#MTP@v8QPo6Aj8nih&hq%5v8?v#RfjLh&eaAdO?r~^= z{TS+DbkE6EZqf__t#Dd{UxrVDiJ-4egEk?r=71NHwy3Y31LWIb>#L5ppT6p=>lJ8^ zZN9XJ5cI3WFea0n5DHWqbRan%y$m{H>t|BCl?lJaeiZG3b_KuZz8HppzB&RXQ=_j= zg{9C9e>3_A`R>>;0~$84p}u+&|97|m+x#8|d70K%hmso{@~Y!|kn0I~Iph1`_XT}* z5cCRpwKq)k{l5>!5*m8vcpbvUu{c$*O0fN`3^7~doc0Q zpe@=X!EyQ>7#kabaVd0VPzwUhL0`>*j>GKYi8D=!0N1 zw)rva4WG!5!B$&(NomF)1F8+iVvmPQ7}yBEA?S;CHki}Dk|sVfy9_&-1x+J90b5^n zy#4gmad0^`lTh;$z5Y+eFrYSOKm*WMZQ#SasrXYstx2pl=&SW%22J(XQtQJ&pR`_% zuP(u#hOMtU-iL(xQ)B$!4HQfd$)8Ciu_gMV?V~XV>Sr?eJJh%3@6oxi0OrAbxQW_p zQHk65K1g4Pe?6#W=ur;zV;YrU6N@lV4yG|+2mT`L#h^N9IdOfPnBNXJV5?8T5^R0- zMsS>ddB#p=>{9HTKwSyTy#5=&h~N3{rHQ_G!Y^TWW6%nG^8Dg(CX+}unAjVwSf)w)gS0mfZ+Yu<~PFw zps%u~`2Y0%pX0Y<{{TM*Elq5w&Mx=~4EzWE8GeCB;9>X`jQs|`!ym!^6E$w^FYtrO zJLpsB-)NrXXwn$|^v%3u^MH0zupOgcAejw@<-t}xB?=NVm$20o{6gS*9peWf>l3!R z6MqMo!{)CT3EHd#Ye)k()CStB4IQNI&M1Pv6-`C8ReLzOi}2jjR?kL@LNO=~Zg>ea z50r#b$(&94HjVdB4`mGLXVR{R!dbMWS+CCnf;9j=Be;R?8&!@Ztkcn7)~jbJ4h zyA{?2|5ox3VBZZFK|grW&zLX61e`Qhln$jqTP*`OkRIq3>wH^Xjh>mBEU zD}$43t1dhPJg4?i>*8;r){S}=+n!ZU+x#a-FbWWSjNm@>ar9|z@MJs!RjH{4HgX}k z;8veY%wy@EF_#}6CFcYiN#(^n2OUF z$AESt)DNQ7){g8A!aT+)Hg#9lWUH)2zAz5>sZH)f`{n+2<#``C`Q78 zPUs?>G||*g*~VKEcX6!(*0qK<;9||^z&6IVMcaWr&9{f=iMyab=;dO~JI1lGL}S&) z4sx(bCo$&McL1B&$ObmD&P8h5JP+!t;~6IW3*X$I(2@FSuB3$I;a!; zNbo_5z6Sm8@XtrD!oL#K8qD(pac_2Jz;ceMbt_SQcfXfjFTqdYJE@bq0WLll`&-z_ zn3MUd@zSGVXA-*zoFK6q-2v|qH@A~t4DaB-f7qQGPn<2_iKVUjDu{8?&4TqTLR-BZ zy?`;^b>ey-B!NW<#G~tMB8x*Hjza z$VAt}wV>^SE+j68sWH|UyB}P{zeCA?6H0d(Vb`@3l@)LUJW5R4n0f04QLn8I2B&a) z1_WE}4^C+=VXH&HTE{yUI~F$_^f&M*AsBKK!GeF<1ba7)qTOAATEq(2nj>b699uJp+ z6MKqzSSAED?m6JO;UctE&xMKLSZxod$JfKA8Z)P@8W-$Xd}19J;Bgae7p1Kx4vn^3 zp|5(VT$GD+@#0t~anUZy4e?M}>zI}7ArGgqmA*l1BoeB-%p%oe$}2Md!ka~-d7#b- zwt6+V0QZ)MP+Rpd&L-!0eQnh`a~|IQ9)DjNp7{n7lT_gfAQ@mxwUM^>M^5VG=M(cX z;`P#VMBA8n#c=EWOt&1ivN76=iRqU?W19(WNoBAnK zTb;y25(_bJS+ti?@3?Qki?y|m_0y~M=BaBLH+;!B&@Hm@HL#g2IYse(sPF39#x8~N zFp~dF`?&0KvB@->2GhZK2gVxHR*f6$2vdTsCTh%&q*k?$wz7uR9jl&77GcN?x`EYHB)#W%Z zz`hPzV_%OhghimOE(W*I$(&qUb+PU#CpM?8nm48&b8-!LueKAqh=i@0Yel>TxCn7U z*1A~hU2tOIH(tE+^xB*MRG1@nRHQF%^2OBit)@iG5p@YmjnG@U8oLFzHPRLo~ z7fr9iS1kHVcp3X8a6yi7{7vXmc#Zkv1r{zNpuR})a_oe^0$X1-&!G4io7mJXyg8^j z8?OWpi+OXaf~}e}Zr#nkf!V-SI-yNn`D*kQh=QN6PmwdP9%PJLtGYlJ{x`SZ}7F${0A9OR9bdLXEU+BR{QI#@NP?UQWBuA#BEx)yGQ+u$TQZFL=L zUf&vRYhni0!{-!vW2dd&jylM}=CoDwcR**jGuY||aExQkX{*-W1@E($KV!VMdN<0L zSiFfz8>kkTwCJ8-tM>-9HwIh14;<$rybD#GSlg|14<+`7s_%xlw|Dt1rcG?>Ev>h+ z`ydf>5ysW`Xqc!mul*pkZxMeBdlRuY&}WD}2m0FP4pNiIZw_&DPk8(-mPC^;7;ryD z7P@s#rmw9&0Di%2gQvlmi`Ew7jy3MsL@p6?F)sQIh-o}X(c9I8|2 z9OGoUunnFHx*gpSe8s7<{9LTRC8(1f3pwMv@r^l7 zTYZW69&G)+pdBrGBeO{C8LWNqbWpSIr)R-^sOnp%ty*g*yEv08aRtt9FSp3mi#cPe zwT?;n*s-`{QwOO|7Po139`)1yn_8a`W&szjcKc|g7fIdbXr3b zcrDoK>%mrAK^7RdPFw9vlY^)mPz+q46T7g)Vn4)o1N61sIBOllSpIDi3?B(uWP!E~ z+$x*9o88^!^^J$Y|I`*IRtky+b&R&X?B6{2#?;&{wGhT5J``ah$8!f)UM z|8!FS3AXwRY!ANn8;tn_b&UC6L+nlB)>)%%Ur$o)Up)Q>ir_qq`T+eAa58P1*vyz} zT-(~W7~_Q6stYjoc8Kerxftt=sm1A23JN&jVg4%!Z}LaAA7CE_Uq(6LE_IK1h8uIY z88auweFd1)Hs&Io)Q!rEpC5dJdUL6a7Kxuw z_k>?N6vEe5Q-kduF{gT%{F$UCeo-Q0PXRWakei81jIg0ZU9D|QRU;B7a zbH>bl5^VKTFn0nz1M|nCgRk(b&cu*JiE3G*?dQQ(PX@HV2)6nqIL@iQ3buL*oX&n< zgL!*cuZ@6*9n}WOBnyBG6&s%weAT=QEr{xiHBPLp znoq%Y586u{S18!(>3q-AD|N+A=B{-y+NzB`B%THCZq>u8ZF6%rSB({j?wy!jDRwrY zRB)r+cz2{nrWiIG9k(6swED)2hn(uZ_z6_~5>OIKf%Puae%dZmKMgw_O1o3PA>anO zq2kVRr)aC@edPZg?^HhapM?J%uYxNA+CGiY_sN5KpG5c=x>K-KA4l6m`@vv8=r_eS zH8F$WHzA=qz?{WDq4E{@#KH-k#JbC9I1wfU-Y3=%dl2{t&75jn+xqdK{g#(k@2`Cy z_DheN1kZuWPz5RkTQ#m4_j@Yu3Cd$TrVM+lER=)tu$}x)wpX@y zAodteRT@+xQ4Ot(W)=$`KJ^cF60NjwbLY;AK)jkc; zWb`+Wzh89ub>S1Jw)$vTgmzvE{qCwdYFzaTFzvF~dr`l5bJ1>;>fveyt)UI% z!29H!tSz>6_HbM~Xb&AAX2Xtf9%!ph&S@w)!O66Ll-yS|@dK^Qybp-J9^W-3xBD zdqUNB4>T#j@z*fW3+)Yk;6iZqYe4m7b1S-qV_cuwO3;^BKe!0`gX0`81HjloIKa5g zjPqqV2z+S{Mu)(~9{)QDyur!x7HF$OiTkn{hF%hE)t6Ca@K}3je06wMdq%6CtlGvs z(~XI*4s)K+!$X}K^JU-w)mOpqV3D>3<{YRk#;qNJ?V0b{{u+43>t9OTMZ0(xJQ7@V zZG3aawN+l~ZQ_IcI@p((FBk1ZV_!~ABu-*{6!vHs1EZp;@9^&}4tY7N;KXtGmjx!G zlY*^IfXOfg9H*_?$3t`nb8i4`bt-x}OoQpcHkXJ`jWVY2A6&SC&{Z%4oO(QzftgSa z$_D%D;Lk$6E_zM0&U$NJElnMKB2 zj0OE5s$UoifWG6*S>p@$AbY?w#Mh|yo8Z|o$Tv`5-Scp2fWG$p z;2ZP((6|jeg=}aeeVaMnxDCbe?<7UrU(PBQyB>QHECx?QPsi(mt=<3&VF}zAY}GNI z#*V)h`mixwp%-u$8UL?G^da9DE`dgd{^)zKg4oTl0GzxxXuC+qXshP>_-A}JNldEhyC4_gUJ+w9P#vso+!|xe<-%~_VIK`oEpY% z4KejL@Vc*UPCKSygE3&jptkBss67Q7tgTw-f?U|TV5{-N#MY|%iG{n^_25RjNaM!v zWAT8Cs1XuwvAfG6)kf|@Ro^D=#>6h{6?U^Zcd5JFlh#AxvDQ{SEFK;YojDgW-|LGj z6Pw!Hw@3GgyIEUZ2%hcw30qB^{Wea#8aywY#BugXY`qI{5zeJL-+Yh%bTH|0Q!UW; zWok~nJlGEO#BxhBxpvfpW5HHG0&k@+qOK0At$IV@Tf^;8Gw2;?Ovj&XRixl3gT4Fk zb~$keqT0Z_5!FexRVUL{9lwil_HZFC;7+JZTw8U#d21cB!Q<~6)wvYh1$RRq=nwY< z+t|I(3$#^hHi9*YTE`o|56Z#SuqpW3n}e_I!dz6p0{qp4hP$b6(ECws^?_hdL@$E} zVGHPMuVRbc>h6r!Rz0M~x?t=3=4mcgAgY(1Suy(Mz1o$d!@p)0i7H>kKb7tefQtaT zA^ta9d85`dGHXN))@J4R9*BSOd&RNL#!>fmnPrlF#8Wytcr3G0RP#t?saR$Fx}a8q z`p^Ix23vJZacBf*gKv3_p-HgS65v<=O(83gjrxOgX$IB7pZ2!^Yl%m9|CX7SRtBdn zv;%FmY_wv1R;5waIqrPu488%hf|lT$g?alquk+|TzqWPG>pHAA=6L&50qgw3i0o+I zitKJFZ7~NxyQs^&?DA2s-|7^MHrNLm~$W#JV~zsE}3y#O^Mde%B+-H3$qR^P^01VvrE=pi0Q~h zfyLwQKxi6T_<#iLzlwE;1RkOmcjC1t8=4c<1@=gch1T#lHwV@ z1{y_M*JPEC+BV26le_oB+SUG!{>aQ+5Iw#ot4uU^dS-)YZ0XE0(J!}U6{(Oyxtm`I zd|`ON3J1Gzw4!uo&vefT_r^I;7AiowJPY4BoC$THF4Tki&;S}jBWMgwplR+qhqDT8 zaQ+3++z&GgE*uiehGx(lT0l!^1+AeC6W$fDdyZ?x-kR;PUimB7MW~6dh(cI z(=Hu8VN{+%?^bQye)Q#|rcD~#$(=H>n0+v`j8UlqPa|4%ym WYWsiP*}m}qZzlH&mVCee`~LvL4r#vt delta 59876 zcma&P30M=!^FN#cqM0NEfdmLBaw;Gy3aALlG(=QXR8Um#SWhk$MMOmb!5ci$Q3mf@ z@fJ}60tve6qOSLaC*ZZX>$&T$c>ilAGZ@zW{@ypwGfC>x)z#J2)zvjU9jN@W*rc*( zu}N@(Kp=2}s})==;Yyf1J|-1D`B%KDKu{$X2rvMqr6eazj+@382|Ah!1S?hr+X_>? z1%lvJBW(i;0t5mJC|ALiIDXQo#4#x`$q8d7F;zN}0)Y@dWn5WGOlr#XoRUkVodTFV1w6{frb`B;5*Yoa!g#pl*w$7Ksku|3Q|f2QT8VG0pXDbDZJK`lg1g? z;5}-v!S-43oslvrAuc|JD~%dYO*XMNsT@x&0V!8Nf2Qvx9B1;B=_v;52?W{j#RqW4 zwyZ8p*{I1=#sgjuPdx-F@bM9(6vPVzn`>Y+fRh=a88OLxbAr$zZ3UeNnhF@3F=gNj z3FEjXoVHN?O9{NJliM zaupu93y5J9obad! z4^62y_C`H4rN-L(G+NM%+GPK|rh>Wy6ff0{vTpI6@}nY*s1Ry7P~Ura&WIXM30r;c9T^j|p&WLiOZUV(?<40LKey2jHen5TiVUAJRcyjCyNCou=A5f0uHDN^mynp^)0`>?7tCeJ7+IIUD!T!R3343M$&g zw+GMa)(oZt_j+GBLG$&lr^b2wR?Tk#1wqf@Vm^Pdy`>v?OO1-&2=&ce9MybXKk6#T z<*5*gaQ#k2QoUV$9r?2HMy({Tou&!WI%<;Imr@&C9U3i>LY;*A?w|`3o)=JGfbxWI z%pA|By1Dt{ZQ+|KTriJ;YR{Ejp$dWO02EWNmU`*tD`vtEQ}0bPs%>i@tRv;zT23Xk z_Q3f98MUpouOm-6H3weqr8)1X`JCXaS)5r;X2dq zAdl~Lu254wzSpUx4tf}MzB%=~2h;gF4>{G*^Lr&3HOBLMB`0c=5!I2p3;5vtV77xSSC zz2sEO4jyV>4!^>zoZM^1uY)ziUv|{k)GySWL3e_f>nvRF|6HN^=ffvbg1u7RI`k9r zqqen^Q)@bS;GLl+BV9(F>EMfZ;V35x^ZrhCq}1NNSQlzldpWhh+oO>yoI399E9UEr z#;HHOeHzImoa)f=JDG)36O71QoZ8*dhsx@ppk8$JXsmPur&@LTUa1nNh8dApa4N5p z4=6I#TTb2Y^u5{}oHFLySPkl=O1 z1%kO0*4Y*J2oVTIgVMdI_MKhD*}Vh;E2y{4iW=70MZ6wJrjfl?)S}KV#8x1gMh*hY zcM5|VfRt|;Q0o+wRaY0WeV9PN2-s##kwA_GvI_cm)tZ{n z)dg=0Szj?QW7OKNuHxE(0zocx@_-$63V4%-Ks|U#Te1yH;41_9!51lI=kF@sIfgA4 zEO2EQ%ozp-Du7Rb&il7AXL=Df)-XKxU8#TkTM-PT1LzKfNGr;@nvKIdB`C@sg? zhdKk)WuRiAY#8-c-8J+2`u=2@j}mQP8HQjE!6gu6cvYzfn}ow{jDcn_=H(9;=q>2U zecF1)qP)!m&;?CbzAjrIirE)q7XHNyDO0yE2e^NULHTnBWTNI{{=X|H8C7P4a+Uvo z)y?ASYT%Q3HLdH&_V9mdoeQ(Wdv)(-%VJEObs1jTQ0dU6wGMS)aMO_VZrbc(SB2obnb3#pk$F(1XfW}uj3^Jnz z1P=Dqv~&M=-)cpmAV_T0>VGOX8d`1+EM783DgLz&UQ`z9Xte;E4$5pMaPl&AJYGzl zLR~N?>I3pJYX^0yH|FiAu`IV!xPNDC$jJB*!MH+`&;I{$f5fmA}ox;!@QxHt6_H3z%U=I8+>!63c@_F0QlAy z3xs!DO4(mZ1@-fwu7tT!%ldg>YU+5uz8Fbi{rh5wsZo^Ff3%rNikP}Kun+TL*~NzP z8&vKQJJ&_iS8uOz@y0ZUnZejM3x&qnp*_BpI=IN*@SRddc61H`V=+;?y#UiDu&(r|y#KPWrs&i@IxneIz9fJ*X`u3njtyTHTwE zG3f8tdnoTxJLMjmJWWmQ9F4v03r&xl4*JcrC8*6`A9U2{Qa4FM&`q6py*HXZURkuV z^tnj6I_BQVS5^s{)ON2l#PjF6ebWY@Q@6`VD)*F|WaO9Cy1|>Lq4)AyN`I=g#ADcK zUBUHu6l0W%N~z_u1dc5&f_ddHXgcIUVx?`>;c7djEe@7ho4@3xjm9-h>Fs0u)BezBxp-|emZdHkSL&wrzW z1^Eu$h1V?fZ?+FaTfQDvQ{nfN%5{6ir!o$<)b#va+&v&brSCDlHM;gKoTReuDXFS^ zQpuwiUv(XR8HU;jZK;}jc9h3`spM;inYvgi1#KSIfkO8OODdC}>dsCchx-0}p=itf z7>PvK?H}E}xvuCB=!`}EammT}Pdbxwf26tpq3CjbH;k(KSt{}W7Dn0#6VPY6l&bmJ zt|Qm(S zvKyxSGhME+_h_wI7_(cW^fJ*6S)75w;>N1!(OWU)0M#@z&7KX8n#nDfY2GbwubbW> z9mTBvtGwvIJoSZk$>Jsr>^&<0R zs@JOwiD$)Bwa>Iv^mOPH>hi1B5;3t-JvcTAy&QCa`u1wDWK!2yvQ_p(^tA6zYSe2x zn;UMYH7<@p8tZwvny!l`>8$%FqYZj$#p_mbCPxeSTVUK1t#@y17Ot%xh{;T7*HvsESimCc2-ZRnbmku>xg;sv!8+2v5x+ zr%sy6k~zB1*)vggSZoDdI~G&^&mL=K<1hs#>3VXi%6w!JlH*5c@A07K?-$!^hR^fR zq;EN(QS3{rI9;5M0{*rk=_|P)%}W)mSt0Pz)Sk%IqhLgdx(Q@8Nk!_sRnS8FZhbVX6542fkss0w zIPI;@yOD-gRQQl|M=0&}zuY-v^KlnE5(7iGt?q8MtTIV%>;`6H%LYt8~R{F#qPZ|EsqHHb95gnC=b!IjWULv~r2& zN@8=}jr+6EQqxX4`p5>5*svN#&bawZs6!WQg?7G39V+(vWuRq;ElIi(f(l)=0qaO- zZ-g2hhWY5sTxX%RSMBI68^NZoe?7Isq^)#iY?8od{eXUv; z>|y4p>AiKICNpnmMYDF9Xx*M=-TIu(ROerycW=Zrv~m;37Hx)h-)XEWEY+##__CQg z+G#W9CSCJaZAFq`HoB6f*3sdcVS-+*K@}ZZC!=i%JL#Iu*kH3U8zg?T{}!yB*_bzX zeChZtn3FQ_Y8Knb$McY~rDF<=^IKqLEdxFliYBq%wAy|G}|h)0|AyKee}-&Sl_g27YyvsF=Gx6Zxn3 zsOdLQ-)#Qv#YMDo8`e(hz5$VEZD*tC->y~A;oC5!wM%D7tj z^)&UhRN7`c_E0KwSEz=A4Ydh7)Oiq0=+qrpF73Y)EcnCZqTd|&S68%72eA;WsZo;- zft1k0n4jW5BD0RpJq*P^2C_GYLG-uPPs-DuWg@lBwi4Ru2==7u0Llu%*2cqy3jZ&6 zDTLWzw9e350BAZ9t`uU&q(-quPv;)}w;Gj4u?0=$2_0SpUSk{*Yl^VF|Iww<$3d2{ zed*leSOFX0nl_qr4onhXj7@4f*K3QhV@>AM7A^G1c=@@k#b*6DiC&igo6&-*bu7ht zU`=FelTKht)Bo~89XK27_9Z%I0x(md9=pP7;1X)H z&oz^cUR>haTwCHR`aD@0VLFX;63;}j`A^jJk!svdduO}I%Z%8YokjMsN+%mC>OkZ$!w$#yr!z7uPVh#dha<=pmd5&57OT+4Vj#is_4;ML`qt8UL++_ z5BZZx7t+v@VeiX;-BY5ZyPX$Vh)(#YqeJ-aa+Xyae_piH6w9QEOQNB~A1Z5dL_<1i z+dQO#tCDj`B$4{;BgoZ`8K}xEzQRzgS(-Hg73)giMHH5O7dU~zOk9qJpK~7#VisH z9Q=#UAU%H)E+x|cen2V%!cmtEXLXP0;I?45bCYn1^j5FWiH#!I(m%51%`-AB%V zp?5(9Za-V^oNvOZk$M-5clWK3YeicCET%YlKTSVGQp1a@et=IRa(&zA#a*; z`HmL6z&{iB#jZMZB3)lSpi|o)f-T8SL93mVxBAy?GR7dfF5k&KIH`S4!GW5O7 zR&WyN&~$MKRz@#R7rWz%^EcHIP;92HNEdgN5RRLg>2*tb>T7Nv+?b@be=B3o_49`Ul~gwODYI;{UV zz3t!@&?&Z{;IP=qMEGasOno={VxidEtjFv=YC{-R9u-TaNsIr~IT1hU!#rD(bofEB z9o_q=I8Zuc`Z8Tw_Z0m_&%X`a+Jd9va*Q}WCr|fk|1|ySg-5|P-foArA^VtECJMPc zRR8m2OEniNkBL>n=-z&y#D`2vv!5*3S8 z#L2Me;YI{C@jb{ZHOA7^{ARC39V|*!Pw2(vgd0QS_?i5?gKk zPKnfl&`HjyYNGFwD^lZ-C4F@d6ey1|1@GU6=x)73sH@CH??j(0fP&DUp+NfeX&W-| zg$7;Q;-sgy?vW_9sn;aAcDSeA4zhG=GLo}WXpa{Xl{EdmM@4{p5_xTVDq?x*Y=DVN zXB;Y|sUc*YG!0qP+n`ap{)HsOEc=$~eQsS4u;KJvN^NI>OpYsXbRIooGQ+UhAdXbvg*iYn_lI+goka z6=_%?F%9ck-f3Yh`6PZ8QW(^&k`Pj9=W+eY=Wm-uW(D&j(I6pI#6!{0^0tdMlgDGG z!N9Rri;@yjN%5%Ya+@P1WM0K&T3;Zsqq6}eQXHbokG;H029J;9hFM!8CCXb9T{?x8 zPn~Ix!W_dGF#{}M7W)tq$uv<=c@Ml3n)1ZoAg0QP*hm!Jdsg;h$|N*A$^ z+d`>*zJxHvuw?q>Qo5Iz=cPxbd8%puwjSpB6b#(g`gg5pVJ#qy|N}?-P5G%1fh@J3( z(+^fcYoT+Z4>JN1X(AWM7{!z$4CzFx8M0NM<*fLJbRv-08hULm5rn@mf-AlTEO(id$FdphGGGhFI`CKt)R)@sxe#yx@cfoe z<@DB4g&qBTBTT*{ZnFZ;1H3EQncni&+Mc%CM978D9}4-(p_`!bk!i;Qh0rM#_Kj0k zo4Sc;hY{X~ngv{h>T_;8a}~5zn+cVYXy&@N><9!Yn@LG!hN!Id&=U70#MPzO)qi!E zjHX*0)5#3M#N%gZ;?nXD>Qn7wk$u2z9XHjYeg=D{o-!xTMvg%5PJ9G@L&#1e_IPZ7s~4yeCo{(q}N~#s=Dl?=R&daG{_mZD3oj?b3~NC25@$%Nc!}_Z-Y8qhqRgO!)|~hpQ)%EpCdKkiaY# zsgGdXY)%a)cW!TKz~El>5g{Sc^JbvJ$O!Vyd>@{-`VsUquy8t>vNMdVaO=b4qQ`*O z)HUMNc8I?b@y=p)^Fz#e9z^gu?7Y`=8Zx_*Qc}I{FE)U3Kq>?%(u7@sA)+H`plq z2{EZHaeF6ShJ#~h=DU`2=2lvmgYgDiuGg&}8HJ+TK7#RNbBRzZ^LKLLT}2)55K(Q+ zrNrR5Aqb0oOj_r^;PLD>=0UjZP$ikP?{BU$UEjuBh9BO&gIx2=XP!^#4)rfDj6fU5 zFC%TcV|s&Xbf~*|67KEQpB#6lIqw|R4DX8b@5n)2`k*;mPlNM~`Nd92;~wUL#DVZ< zWJYl)>iOj^@09T#z~7yIKw`F`sPyYoz*(ovXYjfk*U8&UdZ8J&-T=-HY?X((ib!{^ zAlL8eiKad=;oJ4_1pe#okC36EJyFub=HSHa`V!@7eg!}EcQSeVkFZ9)+k%YE$s%Na zy^wTU(1UYex}dH3B;3B)XELy*398dNc$r_Y#r?V`qUEm#^0p9lhjxxH){$O0F{tN> z>AYV44E|!wI?|>p5#8!G3iyLN%9M0McXJ7m5pj>azHJ0L)O;!6hW;`9PW|4Khh_{! zHhtIga;g|yFa$^LH+mvcxR-CYp*xIK7vHu>aqJ8)BPs;?5j5Zh`OQ&@dT#OHZBfGD zX3fu$abYTSW(WZ|Ydd8R^AMp;`eVMW)E>}Q`-7`UcWg9@UsT1*Enx6)!5lI%I3De; zKM4G+Evp$k|LHigzT*_MfBp*KXK_(az;%i!a+%u{G;cV?>+IjtTp=tzlEcf5?+N~* zq$Z=aa~Qj^bsHESN$~`r*&yQ4%lv*g@%0ah{#UDPGN*4}y=-lvGweR)n=i$Py_1~v zS~%>Zd~eG|DQ)#S^Ynd$=?;QiSeJ?x&krUIlC`NJ7D+gM6oRJ1wqa$K^xPUJaKru< z*M;Vm*G_Qm)X?8TN{ISjD%%NsyR(m;;O3CW0E>+f6l9*NE1xov*8w^(n$6(p`r%N) z>eo)H{eTC2P6eD@3zZ`*CK1ZCK-E&f+XTsZykLZdLOA)|jR20XdIZ$J+Dxu$53^a4 za)##o$zE*hoA$OtNi=rTsWuTk?~|3yg4|c;Q4O zH11L#tl}E08f~E>Hu@YtF$D18jv5~K7z4QDfYQ=*z zfc16s*lp@Zd*jhRC$91ZQR^)>ni6j|`j8igk3_A#--7={;Lb|gZZqiOTg))Bo*KFt zM($lk7`bTHK-7Mw2yuAoW{WG$3%e(yp3ipDnGdb(>4Ys7-GzQ|+Q7iEr)rA@hL?OL z(Ab+Az*q~_Z?(9BTXh?VV&@7W7cSfm>HD2+781hWA)NGiIRbsU@&Ytr=dEZvwEW7? zhy3t521$=x;&841c8g_VY5%Z7^_gQE)GPYVL3EP495RsuAV+cQrg|K`T;1|><2{)2 zAPnQqzE)(v8;NR@H|fx>VX-_2^3!#$q*J9vy*{B4FJSmx8YYv~o88o3w5h=F>}3v< z=#Yg(>gIZnO#Bo^-rYO~(c#usc67Hx78W>ptid%$I~Q%50rw3xZy zEo`oUI~5Q?44m{UDYEQFUa^nm`Ku0D$ncOWS)}UXSRQL&WQ-0xNjAH^pB(hp2p;!1 z47k&;rKD)c9dh`HNFI+m3^E?a2vF^bJ{+daK5X$$ETq0H^BHcKulXmSvN~!QobJs+ z=h8O%j4Ps zz_B!Kj|z(^BI5Luvur*e+y6u-t{!uc-s{X6g-6#3BYZ$r`jN4EpN($TjqmcmWp)7uu_xcSr5fnR~)0PRo>4221Y z13%Ket1Y~+MfCJ)i*ayQccui$>`pX>)ciiutFKgjZ zbo;wd8rjT)C2i^DccJvnBYT#dqpi4Wu?NGi-#g8YXBwS&AG{%3yXn5gVw{-%&nDIO z!#&X-!<^x^z3_~UlJ5NshPlN7Cc(@KTf^IH$3F>!%?8#Zf?GLw==7Gz~F}$kZ2ln>Xn|>*lt;9^}42jGgza4Y} z4((>4K>8pa;M^6=vBdPq;NL0&M+Pd1U5uY0fCrfZHu z1AG8Cgx=0FDY5X~bDeXI5-m90m}2=e_@f1Pbyn{@kaK7&NU^3ihZ&R5Stb{zx>y0t z4pn|yI?IaSlvAV|G{UYd`N6;xZt039O>V@h7;M*a2h@Va zSYZvpvW>*{IDfFH|QsmNH-r^Q0Bhhp8aJK0?k@p zh65ZqI)axF)gL6AT%A|88Sc3Yy@mtM-t6Qs{Da=bm9+!>!|)iMzofrRMOe%WDl3F7 zfm1i8fQAw6Ve7_jfQ;(E<~Y1+8Ng_q<8Zjg9Pkb%kK*W5CXX`Cw>Vpt%z^sG`58A5 zB~0FCoX>F?MrfuCVwrKyV`xB|x>N?cp~jgS*K)%$+4oG1!=jc$tHucuC!}P#Y$M(z zGqa?pM!}BaELv8E;f*O6tzIV^+9Xrs1+0^)x)F_WC}KTiSiyUhV7TirUPNY;japcd ziFC4Ru;|p?N(d%3G7CK5uS}G5us3i0)Ee0&Vt`kzI#Qc~+Lvvp;BE*+wJ?fQs}|%A zIBun`z5zJvX#TZe?1wu#=-?)%!4g*MS{T(1xDQ!gnu6ZABm+L?JlxcsWANjn33AQ* zRMhJQsKF)mjNCi(ZmZY7O+)jYtpI1`dei|v!+w)G>23xx|Hia8#t-B~*TJmmd1*}r zXU^<8aQ@zKY(zG^FYvIwT*6=<^{_j0$&$zF>p;(0OEa0iUj;pTKLR=SW0M>E{RoC- zzUe5{8nB1D`FI|$ek4-}@0*VRy3Zi4L{yZ|Gh!T z$BJ22@Fem=XVsx6nP~s;yU-?U`TAK_3gME~Bf$OG#X&jSDhPWG^5^ zx;0d)&vS5wjr24t2{ExABLfD7qmDk7%nEWH^2K#&AmJSB*3G(L1&aVXx2n=Wxp$Rv z;9-?(NQ2g|475-$Tp5mPIw+XM<`g8X9_hg68qClPpEfGpDhS8TU;r<@Y7RcZ2-B7< zw5r7LcTPjl;G7F^yTLqaq4O7mMD^Trx?2CiNZ92Uk~3q~Vyh5g(2X-Z?U4<9GX`AM zJ+B&wq86Ql`mBagEbjcPE;C{vQt!RO^JiyUsff4!hjsH?4Mbx*{LbU`*;X<3b&_sbF9qqu6;7mApJ0YqKTGRNu`(0-Y-{Pg(P(P9Tj~g zm4HJGORRZ!Bd7>}^1(|ph3wcyODRXR>lx{Be`j2@`VT_2Bx z?N9J{1K?86rK5G7XUC(4?Zt4Y@(S$YdX|76{?lWk&NCz)U5nuROGlM}m|<^|b)vU% zXku~^h#52590FpAm8n>GxnngrCOb(APFW@4s$LPOzIZcWjBT|3KU=}`?A1vZ$+XL{ z=-G_cJhSo)NF6cZG+FdG7S(j?3;5JRxNq!z#!4lH8_@8se%JX3naY%}#65NVw7UV;O{v@kG&|~|n^5i*b`5CuX|DfG zs}QMh5p@OxunhTipt(ccJ@WjHSoAt16EXxgV>nl56-XpBJRoZh#-eKv6tL*A^V;JP z@aJv4PcAwhi$Z3qVSclC6oYH$-67L-v1m#D0Upn0@Z9tpWZl_VRP^&F4%e1EvT~CM zr6zhEC!paajCWok(p`jsopQEPM+dEgN1dLpthx)+5`W>@vR_%rL?742BmasEaNzh0 zY>Sk>vYJTzu_U=-$g+5}?vLxxS2o6mzP4IM5R)t0=~|QV=-9wBoR#T@&!AIiaft54 zW$1x6+Qz);=loOtx&v?=k4MGTH~Dc2 z70VUEho5fhIBTSeFU(DcoZ`729Fmoe8JzY@N_l9_s3Fma+E_n`sL0A9v4aE zDndIon*8N-9NHdM&f(g4iTsFnV>ZEQ>HY300y+@?~No_Dv7nPmT%Tq$haIOLFBc6-{CozmWZV z26Ffhv5mujn8_Ue!_4RK1}1_SM+y!PJ!7RXV`3!j)KO|j&pHFs#5hFqY`f(<*?`2+ zqCN7BO#%{!SM34UGxlf>k17D%cm{BI<4oab^Mdy*b&CTj>DB-p;10&a99aM zpC<8z!>bR-Rd{1Kq8$#(-HD#hV|8Jf@u)iI7|F4DKy|5cP@_kWu&~pvJIKrcIHa;?-c5KI0|MfNSHA$l=cX_T+)8v^}Gdcii86X!1A# zf|{vTsusSqLhb1YE>EWGPk_hI9-gMEQrM%#v0*%}ER##63(AJ7Dk@yjqUlFh@>!{W70giVp$W-_nfNNu>v!Z@z9w@vI{w>0m~iZh zm(So1&$G(cv`IlTPp$);O{l7>Kmm8h38=Q}63L}`4OMa#){O3aPVPyy(E3ikpWl4!VBJ16fh+v0w8 zvzy=zrNC$GKvDEmcbQUq=azgFh6QQ6Rm;7kgnZ><_+t`TNbMB{71`bHA5u@Q;gTmH zu;<91SpH#8@h%*H{S#P_#!s2%%g8yrz_fD|9r29G@}5Emiu}&9iptyfJI2XLeF`JY z?AK-&nHO_d!Bdc79F{@Z0oF<_{!Bg`Ym%UI6@ExqIoyLuWQ`MCh*LY5d8vhYX`Byp z{6FN+9G>BM z$X9du^tPVCwekoO{WKG~>~hi>5)?Z09RyzMyK8`E=Uf3pXUCTUZCEA$mbViV`(}re zmz_tUmjj;g!6)jQJP5z8ZHp$-Z#ZVU4QA!=)y&BY zX2P#kDw6PLUB8m9CCu(K)6Uugg$zGx`V(rCUCc>aTdhzL|6Jci`kot!ig%yl8}`Q( zA;K{em_%-BZ^%H_VTvty^9Jv5)cwQ~Q7x1`;IW&8&|7Y@$e}9xbjll~QFsq`?6%wiSATt!z zx<5K}Vhzde#N+@n?mGT>N)fS*(;#H(pmSiH=k;6(k+5R$xR61NMADO~MiX5?wiJr{K*(#Z0r_lOnC5UDHBim9DgtuHb5{*qc z2^ixe+ImX`Y|QCid?0)5{0VtITMM2%^-(Jby>i7wLahH&EmF=wA@`p0Gp<1nF7(Pj z4K>64d9U|SfUkVGQUNq;gKP!#D^C3^moAeT6J9T92A@54EJ=ba-r6WcV_ItKu&PuK|gNV{&3Kb!+$t$$l*VnPvoAn z=d6P>dCWORzTp-M*rmARqEu-h9xPkMj2L^17S%=pS#|Z&2jrR6V-VJ@JMXjA9ihvg z@u%d7USp6`mMh?e4e%rn?*wMFv3NzEoi_#{ujBk}W_~B&FRA;3RL&TShW|qGcvUAb z@78JK(Q?5AHP`C~hPNmeA^k#6BtPK<=6tJzb;Z+1QDcjrh9y&ee|a~K*`p7PMO*1a z{$?b*4+wOHUbua|$YUjaK;ZmOUMhdU2SwQMIea~X55MHD3I=@0n_fJw>QHF(FTk?u#`6bg3Wh39i-kTj+UX3thuZA1 z3P>_1`ove58~n9;oFYirg_NR5+F`t6I6nKB2+i5sOvlZj{P7@kPg@a6c&-F2c#{;K zoQ+pZ#0lFN5h_|a6dl>k+{Uvm7&TcDVs`yug$|UV8_l{-?U|Rtue?Pza~BIKZzBsSN#B#-C*% z?+R>X@0|j1g0L1@Ae;V?=*CzP@7~pEFeKwM#+GwKGqLm{qS|b$L?$= zq=S<8`$nSBvR?r!yaOjI)}_OgxfN=TTJ4EMg{Otw)S#;v85si!G_~Vkw8hbjpLz`p zz5tV=cJ+hNk=27aeyvA_0&ba~99{^FtS48`QTU04QEuCLi5@vnb7-muHMS zIt@dG>+kV+34`D6(hSASib4gI7XfEBFVdYY<90?4W z@j`6i*XFNh)MuQ4OPd>ZK);nAp0f#KzRbsm%Va%vDt;v#=G|m*%ntM88dUBAPoDK& z=^M=^uG-XHiqBHwbj4Vf(fQA!W5Wy?ZT?YMg748pkzy!8t?gt;U_ZM9Vq0(w#-Chs!H-E+_sAQU|X6_XyK6W*5xvNjQX2c7FOl z0;BFYRbEB|{vd$Ahoh?=fzOq%eO0y!@F^eK1OLgBa`*}6BSl$v!s;cZGJBVaS|?s& z;wsZ(bsOt97+w#5Xyl%cImAUn@b<8l5?S_ZRrc_J_Q+6-$CaMe3gOue^?c<}PwR3y z(fe#OH0X2$68OZ!>cd8P4>btb;?xYKWQL<0>>-$wP5YT;s!YjxKm4gY?4aAv=f1_q7f&V;;uSm4m?L&h-TgmfKge zt&w?~`PLfxf)?asHG4wm>NDF8!whHTJi@F~g!Xo4fM$b0Nf`8wipSVq^!RhC_b}Rd z60E~^{j9w(VxsIOdk)C!?6t#u`~9s|@JBIr^|yX6#LF)pj-orYa)7>y`TQ6y-e-QE8%GiJYS>)6hqq&7a% zdZQ_3MGK>>yP7eM%x-_t&pp6c#{SOrsl>xt);Kpf5hYR9?_}&0<(R4xtT#59q8wxP z1Zy*l-CyAt3nqe6#``cFqiB*fJa01IxZx^zv{6VUMtL&rT?mJE?Iwdy8|RB0_Ye6c zhyRd|a=2)U_14BTlEWH$Ll(&Ayc`xf6hew|8X8Ss{m48YNwS{C=E59blU$g?>XWQL zW99VIsn*_2qLrao>z{1>=4s#_SHJ&f-N*C^e(<<4qHtCY@$11f%vP~~c%AS^lgDO7HasufqyJ2TcR1IgP z8jnoI?&J=&(EfmPXD3Ui*$gMxBbZFhKOX@L(*#|06OO|+p48O#OR;$`F**s^FUyAc z*;+=H&2L7BD--A13^h7jd2z0d*7$JcJR76Km2|~Co1s`5Z9U&+6sD%9&$sD{xzh*d z15e{YS^B|zo0YIXn79DY#^bj1CWdT0Wvjioz$Wkoo_vl#u4~)r4aX?89#d`8`w+{0 zFLt{J9qZE5teh*TDzlX;iS3Uk20Vm<14*V(z#cC7aNSlyc=yz@_^!?-fJa<`WYY5n z;45n02Rs1&J8J}-AUf)Xt(2H1Xc>4PaEbdD_>C#M-I2raU;HC5@DAW8t^sgng;`v3 zgSp^ObltFf7j4#e+Ic_22J^WN_7XyzwS!HHu1}D3=6=1|(7`@M*uwEoKRNB(3(i*M zc-sdO7oR?7`O?3|_!)koy13rkUR&?oVv+;i_!B4X$bK!{TX2q+6W`)fJl=Tvn_hmk z#ZbKQkU0JFY72L~@hmy*aIJ;Akp1Z}-TPXL;aGoq*R>XUOtCoTdJApL^_G_hV7uwg zt`6Q(s?4J(td{=b>fqkwNflSDgeOoDNeSb}Z=4)aCx;aFF&*FRzaQsuIP>@q0{hKQ4&F_k4syjM338c`eUi9X z?c<Ht5}JT&bHbBPtzb&Fc%e z^DA38D!0zL%!Ww3V8&+K#r-xFwPJ5+wRT6GVTXD0=}30_I%>C1k&~f2`GwG(6&?z9 zn?7L7@nfwFctas{N3zDTh*>HNA6ol5a4FnTXN7S7$YFjQU(`|HD~h|s%H37C+qacr zUm=^pP0F6Jat}C(jvLIUEjj8Of@81gFJ;c|m^IzH+_@{? z@Ky^oy7W$IsEgL2!nwJGSibuk+rX8=$wl06yF;s-4g2erYw_dUkNHxoz=EykHe>H8 zmR3*o<$jG0FoCt(#GZY=^lUOrN<)%c_k4h7Nt}5bwQm4G&ypiy>z0bC3 zH!#PK%QLGlfU!osPhvauv--_3ZbQ%iS7&%cvX0nZM#Bldc`tXXI3@FMI?F`cU<0Qr z)&&kOF~5bcx(Uj3y(bFX0dVP57j9FKZn)_@iMaFddB8rvUoB(s;NMz8u))`nV5CovzwFWaR=mSYNnUHho((RcEb-I*_=2EaOthT7MI-xJmnm)v%k#G zX4nURTT@mFaNWJ#Dz3{Vcbr3n39my`7KVLGv-mwz=--xbTRi9XwGhZR^4+B!BjMH9|qK?7B*W?d|^6qnNVt@ z?>obT#nJw9|7hs#llpf2jg9D`^A#Ki<~woUxE|9D51mtlleZ-CJlQqSh2hVBFDroC z5Y^8VkC)Uq%V4sft8w-se2!i$oAFyF+TeYcFILtv3T|?(-~>{iC`O zG!f(3g3cfBDg76woUO-$GxN7pwx3W}*~o5Rp`$y-dbYG=N-lPO^1Xx+E+z$n$oIxADp$W|(ah0WQ{B%A$5DcgPN$RtLiiI3L?`Bc_b=6C9^^IFwUpSR9}wU|=5oE8QDyl8EZ z@772EQ95o$Uhtt?!zz9EO*#2vU14!v@F)i;4fwCpB1#mzdRku4?H!LR!@tbat%&_d zPMXdEjXU&XsqrBEP-<&z$gpU&zL+r4`w1Sgexx+Eg;62=xj^WTjZuG$3fY>r#v}0W zLM7ct#JW_EgO4kH)(j+F+73W7>!h5C>31U5rMeaVSLuj_WkI*71(nsodrvm0`(`ef zxYLOseZYdsdqMvyWKG3)%%exkpA@7xEZ!INv_4IXtk?Y~N2B%TOb zX|t$u`n!UYKh{0JuPms(bYbN-tG!K2oif2r@0zm?)$sCBrEB>xz4eK& z!npADTu*x&quv;o9i9PY3rd4dc`mFJS?)b)T*gd)TVo3rgr}jM+u8>bUo?gmjjixQ zp>aokC^R z!cOqNMzJIC3c4-Yn!?U@VfVuU*cUj6?vBn-jw#LS|lz9jh_d=K9S&Z1vMrz*1K57-NE5q=6>LeE7PE&q)D9sYpd z0)L{HqvT5IC5rro_1{sS2>)UKPKfs8PA^|78*y&P1Gxfu(dxeT@-U^>{{!sCDJ^+@;zQcZ5#RAn;@4ukLl4k*jV`iysb1K=&=0N;^hbL~b4sMAL>IPl^V~ozLtrQjjOw3Y=#AK$ zU^I*hj6sJ-EnY|~QEn{u7MKV(2PUE8;MQo)^t6=Z$yk{N)8V#g^{tr|3fzH}7~C11 zp))#pBBOAryNKt(e7HAoA9{DxwF-CEj(q9)qnTCGt5#Z0as{jmx+-|%)$l~L=*6@W z$!oE)5jMfPXxL1OsRLNegq%Ghk;Mf_o9n+(@I1Wo7c{r=S$+x;PWVXo5x)> zJ%72ciO<3h@O|JM`VE|q<`hg%>2w}@34Vr)fy?NR@C*D3zrpYD2blX4{tB_Vzv0*D z)XcP$SYlE_!asybXf`mG?C>x79H_&c?mx&$Y|dIP)L3$ZeR*9T?Eg1agXgzXhETKNeKpKFJ z4beu>7~W)o4Ah+ZX_!Rsg!W}Z6R_6}Hic%OKSPhPIM%-A;Cqcete@~c$*V&0J$wti zv9tsm-DE3pgJ03p8a3AjoXlAI&}*NMZEN;=ny(JIwy4hy#`1oX(AbXP8hDMkJ^ChU z+yUOfcSJjZdW5)h)FzgeGN22g91X*+#XH>Tda#%7XgBDN@1X{IqP@VH>iFxRH@+|0 zCn*{{C$)G?-us1HXJW6Q+Ln^P@U{1bTo{D*Qt*QvAMCZ zo18V(@#FC0;W_*S^d;0-cH(aiHPu&)A>O{X5KM$ga4Q(g3tO!B}pk<|NisC-}7chmKHP!K7 z;%`Dn!g%;9HwlyDqDu2pQ)1S>CHxM)hqLelm^%ly8jEw-XU}=C{v-SpVsjJd84G&X zv*!ZL!_S2ga53bD`^0sLz=Zq^HeN=(51n*BN_L}Xu+uVuCx*{{_~Cr(uJ}^ zih}A?4ak*1i$i_9dovdI*NvPt)$t|qrJyuiLtF+m*A8D6HI{NOyW!`Fuf&=49IC22yM;Txe1qGKOr zRETAmf`+8+)jK{DnnH8nzs8x+0^F0axUUSxSW_L}65k41LmQ|~&RD$4{zn_FsrJEuEw+l_tXxIC5-`2Voh~&_kIm(UsHU0)L1$|9dg!G$CrnW#1+v_XtfZVOT~Bg z${2JBP5kFV6S@NbozR5t&?Cg=s)R|bIhm99MD6JXzHanJ&8fadRHw(f>i9nR)~Hvl z99$P8VX`d2_2_khzNn4;(Ei{h9{@Lm*qjqM)|%?11JOZX-(YaF#^Q#{fHl?eu^|NQ zc+?L?i;)jBblQ)7JtW3{v)Z7SgoUu5ceU<33X0K;?WXO#|Q+$#) zAuev?O^_R(6AHlSkjsxBgEyA3VBa`&JWPP0Z185(+%4c-#^QYT4WY-Hy^Vdzofwjh zINE$P8HRsR_?*=!Rm-;;+Hy4dLfe9P*PM(J* zi#B_j?+v+ms9$9o%RhMg=7V33{s_OoeIa)le?Q(>7Jz*V(M7P>$A2pl4-lAq5S+|d zoX|%8^SJSvy~DUnOG54;)URHR#l@ZDVOR=}zi&w67CA*6igd5}pV-H|tl$#^U1kJqasdC45b8RmgqC`tcjagm}}~=q^{o zW8nA9YeH@<>SV^^g!cKpv^9G@&FeyLJ^Cd%V{vi&Ho!)R@()VSUEmY4pTlM{Pe)t# zr>7L#%aLs%+zKzii?Ag+Ln-DL-M_*PQtzQVgZjPt%fYMfhxiq|V}^3&ykcI#{Y<|L zZ*Dib9gM}f?XzbOYJDHxt?c!d*=G?<=+y&o5Kb`o6ugS}w-i~ZCHEQL#x;01X)JEqpKh$Fj{h8A0L=&g zgVV(3w&Bm9#_|Q&$0i3Pd`aLA50dx_b?0A$1C7NA?K^;4JBWIkzX`c-(U-^>i;I69 zEg8c7{T%iOQoaZ?9sYnnVFQEA$Hung=2x=@TU|&(R7;NMKE5zd%_dSUc;6NM132iKoTC=$v zlnl92=+Y3Ib8-7hLm4Owiyaeki}2;~#i&v~L+|&E7g_-H@w?&Ln3nEKVQS-y5qwtRm3>y#qBCpBH@swWh8{eF!(C=FRCt zx)EwDjlnsrsm|?FKn7~xR=j5|6V$1!9}k)k_>1*+7!OT}&5gr1Lye_5*yppqPeDE< zy+M2xd2=mL#~F+B*>@DRW^Yl>Y)ibkSOtQy7!%^+HnxH>_?pyP#|DgL0^Yv+(e=IYfo&4aN}gn`}2o9m7`nXx#b zeaZA#v$p|frU%|!D|}CSjK#(6>j@>P7YBW3^1Wi1UeJS}D+6s%I}3}9f-a!%O<$it zNBW(_*a_`RMXw{i9%|wJZqHag#CKtgHMK9=fibaun7TCgN3W(}EPkt#hX!k^-wOHN z!vJdSiL1j6cw=czzjIhqo!l=k2IB4OORR4bazlyR`uMkqiBB*H-;sv)(2U$*VslOL z3mIT6zGb#A2U;0&LVw~R)XWV<9cL`gXJ0?mn!WuvBg4G@CPxr7VUZgt4g(jraX1XN zjy51SGUU`u;z^9Nt`0%JMiW`cFXko@kD|}qO<|m|IG=qJV>DT`c{Dl(CgR7U^;p1I zT--jthaHDbrDr^vO5Rxbl0N>sfwiUd`7OQkPoU;^xd-58ys^}zKjtJBRVSa%0GsYZ z{Yvr{ygAjcAJZ6QU3G$q_{G#0!6f{x;F}tAlkrQ?C5(F+9){b!|nP9^#m<_8K>?7n(sK{da%BX#d7&8amK+j!hY4XNW0be}SRA29JrvGmIJ%N(+ zIBr4w7kZ2n?xb-p-o_pHdr@PV2W1#!O?85?jG0fohu-_p`@vWizzduSYpS1!j=)0l zV;I*F7U36WuW}{1n7~Oas!sk610KLHisqi?+csMq6TwH6K7hRJP*!ZYQQ<-<>bvhfjXD5IG=q#pw{g5o$`}-ay2>3&8k%`?AGryc4#09fkE^as%rBjD=Lf+Njg2)EY5w zMc)^DJ2Eo<-r4ue)$!FJ>wUE9`)GTu`###+)7#WL(>u~T&UiZ94(7cZD>6@IILnxg z=q6YX-}}<$I|bj&`$2$2-17!KA?pKz>bnDL_V{kX4+3t)zKtwk>>T>64+fj?IlvDG zuHiV}eW=dY2w#Nt6Q05pCb1cP8lHh?;W>8yEIfyQ9=yx8pj*MaZ5?B>j^qX67vUxN z*9922l>TkR|AXzIS9gFPCe|^21M4U3B=IurX3#6Bi|#_7M%PhK#LI5j1AD=RH&gcw z{z`Z`#J(?k3uX}e8C5T_$tH3` zuApwjMUB<9Ffzo>otJ!murD8K%=lRRU1NO$cQ~Bl2pAUBMV!P~9R+#F`8ml6oXDOL z?)|U})fFtz34tjMX>i@95?MlcNeZMxfP}0%t(Z5~OibsXlrIt+m zBC546wMyc=sH<{kG-+LGiNrtoS8u1*E${{d8!=Aahz^lT8kQ7w>(1Ex>r?Y54vk8! z=Wl5H(&ihOuAutH=GqXe{_yELt4`1zd?$7t__nVPTpwb!CB1z^to8%nN)CbnFc1cZ zSmnE(=KuG{xI;(`h0!n!Zi2CJGmL`?a7&2Q@=4L`1!=`QPsL9LKR`_jUiAambkwh2 zRO6ZGoiGcyoC$N_&Y%U8qCKyr70)rBcy2Uld|FCUzNF|!QxB3_6z$JNDkXbV{xE+; z@))T{AcDuiSgph9Toz(=Ijn?2OLvR>g2V>O_E=NPGz5&M}ll+_L zn{3GM@Q$I!VFP{>w8fu*Ht;&}QFsGR5}$%?_%9j%EqvuA{|572NT_~j`98$zS@;2d zf^+aATnMqcfc}diRxiQN@Ecr?>QCmvypk;{*g38E$p1+F4gZ3V8)LOA`$|NunbZ4a zelGBrgPf2%#Ohd<%oAcYFZgRjA;=$Xy^X(v^g~K=NU45s;U|>%-~Re@jh`b*hFJA8 zNU0F3rNQ5QDuBN?m4}KUR=co;N+DML$)*ZahpN7L&>UmZ8dnl=t%gNbQgBYuR4yhgD`l!DfW*qHK1X2ufwL7{1uda<@TwnD+Mxad zYhB+KIzT&U4;@3S`Z=Uih}F)}1-iktL6hj|j_>YUaX+Z^K)Zqs`d)B7^oHx8Z-`Yt zr1T51+8+kMAh;o@pCtx|SRDcbLp&6{5k^7#;rwGH+!PY(H!LtZ#OfFr3pc|!m;kqg zSRI``8a$nc=oI{9Q2p58XAWa^8r&A*>F5lY1$PA9NB`^)tDcydA-)s63+{!xVJ^%I zvFb;X`QA%5VB()svT+99f`^HHb2bfTfNxbEBDWMCheu!;JO=)el{xic*a^#tSHcsZ zpGs~8Dzlhx6>5D|Vl?AeTHe@t{8~``^sphs>PA=>;!Wsgcov=xI*$J5@Xv(Y7W4(! z1}_GkLeKv~tZs*wLcGJ1@G`+}cqOQx81{r%-3z-yybnD9hu~n)cJ#l7KMbAlN6>fS zLwFB9fR93~`f=jp5PzJ=1L_lkPvH!F2B+bR;ME#T`X%~#$mzd^@8KKx4$g*H^|Qtg zAy&`9dAJBa!Ueb#;!71VtJ%@dA)#J|U*He;HJbERMoMEpV*C|S>fi7WB$EFZ^&>+P z7^{A|$QJ!GlRrE8lk$IHTTV)1U z1ipW1f*On7A$q4Oi1&R?Q?O?LVID2VP>;ba`Y5!nI<`6fD)7DT`@}w^ja47HExg4{ zVB&9v>!Yo~uQ1(Xn-Hr`;Dpvy-%R^(z8Y`cliC)HRi8V2E-_Xe-wxj%t_gb7=a4rk zbRh9I`VRO+WZV%tLs#e$v_sku2j z9)ceX>dWMIfw8(j_@TtZ;6@k;!-L+0jta5r_z@v?KI^ZO8+}D%@#p+81SZt6;6UTu zG>$_j!1$oPNckdUtnP&8LVPp1A^1t?Eudy{K(~fib^OE-Pw*+mh76cYQf&;k;f+;a z1s!O-jlomV=`by*udKd`8mn8OHgnuTd^@Pa$juC~>X;eEG5+CXHVlPXc-5nDm&U4R z!GXrUjL$~rfaBFQBUXMEcFSSf;E~UHR4N|JD$M7fMc+eT-W`eOg2Wo`)B)L=YF1!Wr!22OK zr+2(HW9NMjJ^*U5_#cYD8WO5|o5cVJ+NA#w{TMz9dMmlxz*zOlUCR|W_KMadc4MD{ z>V`iLvFiBG;&Ig;B>i8u8E+{)>gFYmB zgI?_qIYLeKb8J0wdC**-c3}RzAy%CucZi+WdV9!+SFeEqY)r1BH`a@PIM4=tezXu2 z2-<~QS1?w4249#s8HzwLND112dhrmejxQQw=e1rRO5o90{D|DK3DuA84m9pYV@b3O zl!9xB+kvs#8OnybS`OS;MJOM<8?JyC$2*^OwX}aq*n?yx0vkNV{$^>cwx`xM)Kw?& z%Z_SLHE45kEx=g48Ztv%om>q_g_=Rr(XJG(llJ8l zjO$P<51sHGL9Ieu4LW-LHL3A{8;W8VxE8uY*Py-79wAnppj(KYuqX5eYj5+=@}$6mEro(p!NmtfdSAz=s@&_5UbANyI65@FdA~>3qXD_R*S%xP*=yoIJg2WGq|O6l)i2Bc0%O(j^YQnA-@pF?mlFzINn9rQ6Yh`Ne3Fq8dw`xr z(2CT9sIlr8=P*|NPQN8A!CN23wRi|MR)3}DclySv;~&O93QOTU@i{P7{S6@UE;E6N z|7mtvbQwGjzJe?dvFZd)XkC2-I??k4YJD+yAjYa2_D2b0)$vc_SHTMSn)oZ$k0-t& z@V1y18r0jtjje&z;EvaZSakv?w63lMf8AJzT3-O`!C3WIlrKYFb^KnRWnQ4T1=Iz+ z75QKA>Wkp-o1emFygxC&q{4Q18GdJ?&&a=z8mpfZe-Pq#(O1Y1<&y0}yKkw} z)YVh)F4%Y6SDD)}?}cP>c6FHe)sRzde4qLUaF#Q$huEL%jManiVW_Jg!6xzBt`*hS%U^fVN}{|~l-vHA*}33c@gaG|f@OE^gV>kzAscRuTCKH>xL z4c@wE;9D?`X|_}Jmr4_=6MVy|{T6;C_Zw^=_cZw9!b6;e?C4+Q&G~D;x)}=K)u*5! z-dOb)RQrrqQY(xm`&R)=2p)w;fJ9uEiE+B!CN_s{&u^V#3C?OABOUHV|5Gh-CRGvzoTQsuQGANQ3+Evtbq(t9L^lHesyh120uNIH8xWc8FESJD+vc z_55YME}nWU{*!w>0u!odWM*hkoxq!?0r=M=YGb&AysoZ6@jNEB-9U8$Cp1?7B~GTN2i|%E&PFRRR{K!z3C619d*XXR zNyh0rlIslS)E-`cizd1ZD1h2 zFZmlmFZ!Y2IODdAjSa#KhK>wsMxrSgtF2%m1B_MQV&#A##FbIM1{sPsRvqtr#%g=& z{a_g0`i-285pW}3ZSJGJ34=_iPB0ul5(YD{0dajW7JVjIGoHjGU&APTA{&}S{wBP! z>UiffR!6`@dd8sENBjIg7Gpwf$bfoatUAFLEHIvU9H=$PrGl~QSI1MC)OabqzNI^W zP9RqABfc4LtUBJW1&znY_{V%2ZVAPoDfqROvFQD7%z?&f4E`SVW%(?62RO$}m<99c zosCM|6EA|hi06P>k~vC)aZFPIHn0g3#o=ZK>?FP$e-Ee*T0q{|Nv!XHxp;Lu+>19> z=Yivl%P`j8QSQUf2X!&r@AJP2O#Gei9wssNo$wKSM+Pk-Vq5ouGF%;nn*4Q+^%E%9Atl% zSGSuFHGC`~8v~rI2vQ6@PAAZ-PUs-L=OR1tGiVM}uR4c|y9sYSy_yrv1-T&)c-(o> z-_d+%{v6z59_cUa^jQ}C6)j6#2A(I*KpR6N$OPYx+zQj-Hkb@gaJ3)f5&;t(peDpfpL{NYo6@)^dR|~@e>i@E_Wc){L;stumJ%uI`?}T0W zBGgl$C=>(hA5hzX7AIcFm?I%JZ!Y#B#^8R6HmEM*0)CXphJP4!!p%(Nq;B8=au34G zc>5ja=1YJZ(W@RrN${T9O|J*ClwJ>Tuh-v6OI-=#n#5$!klTemi|zpjdSkv%t~9-6 zz=_<*i{Ke3OU~=+S+bUZf0~-}uOs}AoM*Efcu?ihw|t6m0*}O_-HG1;o)M4wE%ak> zphxlwHNEOYo+UTof}RD>im_+O#l1Wg=<~98X7s9;$PHwR(NGbyk>*OMNBBIxGQLV+ z6LD3%*Un4iqHa*{wbi?6FF|%Zr!~Q|s2XqL=#5>+BX{$j)o1ZBkIL)h4Ww6X@QA!d zo;K_5+M|%H8&37oIL1rmDfg_Xj?=5o<5{!cGvL|Tgg@(BOm}yQCW3g<%V3;?hH5ld zhdlTisIlIhpKr7B`N-8IR|`^M1ar0vIcsU5KOOyuT5YsWypQYe0Gl1`z~Qi&$)ACP zEoP250am@@MgrVKJA~z9p!!r{AaKTsgS@FOhIj7xxI< z{R{Z-U-{#N62+Sdj_v&)zn^KpV}MD+0!R@ zHLIpx2llDg`?{^MV59Vfe!;8OeO~uDIm@foyd$pG0> z@ahzB1D-7}pzVKfob-Fp zt3z2xW`vyYUi6FTciguy8SHhepK0y4PG2l;e8@P^BXZ)~VIxQKJ5BZ41^jskmIF`sq4YTjIH-?uq|ftuB1gA1rml(m?X8>=pMQ}F8OfPPHy z>ezsOT=4367?YiU+!PI4l$la%0`?Y|2-fVmIe68&wOgY7U#F+!xfMGJCP#A?@%by2 z3p$l>8Z^UCM{kE2pjYnzckOJ>u2C-n&L z32M!W=Yp5Ty0v?QSFM@1FKe8ea6#vERThFSg$UCg|G-tQ`4)9 zQR~L`=~=rdO?7v*%H-hry!|1@w;vuRabAbRyqvsxGYeC_O`2XG1miK;rL8*{pLor|(>S z*Sh=v%f;M<1@(O<%xZFweiO}akw1=KM(#~?FS-3-thaW8o~-)vkhkW~!S+hl9AD7? z1U>ZeH?=dSf)-bKtiHmjDEb2D!GWY87#yp2D|I5%nC16h`X z?{rPNBL|zb*}+*yZnHbL$BjJ^ZT*@5hoJM>x)#>K`k<@P4X_5X>c&}h)tcir!X{W5 zbXD-GW1Q(1=_*k;nAO@2X=)#ygtgmv`~)Ip8#FQP8wg1_OtRlK?z zK(FqMdY(@&6Z31_-K2H}P7#~iL%bi|2X%rs_aP_H+$+JWFT-BYThprtzk#uVB_ya1HDQ17>Ve?ZdXNg{?bEC6nB*Yp0ptcZ=)!I?YqKBYJpg092WPKi_zy!} z3H&0*CL8ol;88ibC)5*LC)#?RKQ7BE=OLXRas{dhHv$8ScTfv3U6 z^v>a2=2Y`~dtb}JkDD%Npt^zA;4oyx|Nmy}vqw#4qM~5G@sViJ1H5ZJPUs_~A$USP zAx*%XC(WESG4IW7O>fRUx}?YSC;Sb5>3fvg2{;MQlY0RCZOJVhA?Fq#7XP)ty=^D) zANcElC&FJ1l4#VcIfD0uSX0kY^H+v{QR|LZ?bjEf=84W0ux770Yn%P_af;wAcpKgU zWBt29t(mj-UhwMsVC@6=5Ue}yqu^Ehvc_litB#4U5yN~O0@XpH|0HnJo(AiVw_mT?XWjAk>s9-stA0t#9s3e@2Gpgu z9;`dwe!XhnkMI*%)2r4m_%w78bLmPDS10@#F2gV2z+b^l=~XBA4Soj?N1XVN;8p8x z`cE(xdt6wre&H+dUl`A`lZgZW4qnZwyHR!=U(ECBW?WcxVy~Mw&WAz0_|| z{Xg(;jDP$W0yQBguV|nedp0~fo?_&_(PU#C$_waNuon9q`wJ-Eru3{60nK!CDE$n9bXFX zVtUoZOQSE*w;l8`jT5`OLZQjsxsmt)CM!eifuGI&(4F~~;qdew=lp#RYCdetAq+=Sj& zC4bW@$2jwXG;H|%S%ugNX&Eg@!7V?i(8cph1+;2mJjT9&uw&FPVP#I21v1IGF- zjM01M^y*f$4eCL9u&f!2FK&aI@DzJ`vtqqx!K3y}sK%ZFdsX8tT+^%ZZ9#1pym@n5 zQMm^153}u25Ab2Hzs4hZ1a*K7RhYCmY`}Y$>s9kUyzJ9EsS9)fz1k5vfs1A3>~T}l z8SFd3J$BMR9e4{2)HO`v^FbHzIl+mX#7R$5_c80k)#rd~@m)c$`Y`p8((5nkN1$AGsE?-C!AF#F z5Atq0Yr{Qra{b+PC3a)cf?oB>#6bz*W7vnIK5Jqht}Y}lV!ju?H}nC$dL3L3eZfoH zFU0!ieg5}4^$$hWh5>K`IDuYu;(;&-ycDvGNwRWY8gqluAuts5>M(FYH{ol-ji|2) zd42pFe8}!isNQUP)tgMOI#91VkuNOASa3NL566#yk?KwOVr%s zf!G5KHmUmSt6m&nqZ2vMNnOOnTtqdOwV*w2Ky|F%%{k^UeLhF{q&5nz20p7U^6~!^ z#=xggeNLJdqdp<|gh5kW9i;au*5?PG8}zEr0Y3S(#``Hl^e(2lxZWPusfu@O)tr5= zOyJw1oY~UvgW5-#`86_{_KOWrr&(x}UEcqvLNzt%f z{MTlC6i&~bgVu!PsAu8yhEc^j{C8I`Je8S0hYJ;nmK07elcx-}DwK&Z(6Zv zRnN5SBOT=|&EYC&0giT-mSEl4-G#FoyBocI?!sN!Z_e?~Qx5EF1$Cl1`!mZ#`D`7r1FpL#GaHSmAgK(Bi3 zdEmtV)gsY_NhC!PrbQ)>d)=dU~Zp=bNe)!+o$o|J{jBkWd6M>`nw``XX{Ow zS4H)TrRPsfjOz2BVouBvwLzkjn=-3L<15iokNY>8iAyXN&7qXH6i49ywX$sDyl$&A tp$RmFX3!k2f)>ycT5a#Py7j)J+5i3Nr=PYL9^dA(`P(mCZqp;z{{ws$baMaz diff --git a/player_dead.c b/player_dead.c index 1dd8c76..72eba26 100644 --- a/player_dead.c +++ b/player_dead.c @@ -178,14 +178,14 @@ void player__dead_transition( enum player_die_type type ) struct gui_helper *h; if( (h = gui_new_helper(input_button_list[k_srbind_reset], &str) )){ - vg_strcat( &str, "rewind" ); + vg_strcat( &str, "Rewind" ); if( world_static.active_instance == k_world_purpose_hub ) h->greyed = 1; } if( gui_new_helper(input_button_list[k_srbind_dead_respawn], &str )) - vg_strcat( &str, "spawn" ); + vg_strcat( &str, "Spawn" ); } void player__dead_animator_exchange( bitpack_ctx *ctx, void *data ) diff --git a/player_remote.c b/player_remote.c index 5b6aef0..43c5607 100644 --- a/player_remote.c +++ b/player_remote.c @@ -442,6 +442,12 @@ void remote_player_network_imgui( m4x4f pv ) ui_rect panel = { (vg.window_x / 2) - 200, 0, 400, 600 }; ui_fill( panel, (ui_colour(k_ui_bg)&0x00ffffff)|0x50000000 ); + ui_font_face( &vgf_default_title ); + ui_info( panel, "Network" ); + ui_font_face( &vgf_default_large ); + ui_info( panel, "Status" ); + ui_font_face( &vgf_default_small ); + char buf[512]; const char *netstatus = "PROGRAMMING ERROR"; @@ -859,13 +865,14 @@ static int player_tag_position( m4x4f pv, v3f root_co, ui_point out_point ){ /* * Draw chat box relative to the root tag position on the screen */ -static void chat_box( ui_point tag_root, f64 time, const char *message ){ +static void chat_box( ui_point tag_root, f64 time, const char *message ) +{ if( (vg.time_real - time) > 15.0 ) return; ui_rect wr; wr[2] = ui_text_line_width( message ) + 8; - wr[3] = vg_ui.font->glyph_height + 2; + wr[3] = vg_ui.font->ch + 2; wr[0] = tag_root[0]-(wr[2]/2); wr[1] = tag_root[1] - wr[3] - 8; @@ -877,8 +884,9 @@ static void chat_box( ui_point tag_root, f64 time, const char *message ){ * Draw full imgui for remote player */ static void remote_player_nametag( ui_point tag_root, - struct network_player *player ){ - vg_ui.font = &vg_ui_font_big; + struct network_player *player ) +{ + ui_font_face( &vgf_default_large ); ui_rect wr; wr[2] = VG_MAX( ui_text_line_width( player->username ), 140 ) + 8; @@ -889,7 +897,7 @@ static void remote_player_nametag( ui_point tag_root, ui_fill( wr, ui_opacity( ui_colour(k_ui_bg), 0.23f ) ); ui_text( wr, player->username, 1, k_ui_align_middle_center, 0 ); - vg_ui.font = &vg_ui_font_small; + ui_font_face( &vgf_default_small ); /* medals */ int cols = 0; @@ -907,10 +915,12 @@ static void remote_player_nametag( ui_point tag_root, for( int i=0; i<3; i ++ ){ if( player->medals[i] ){ ui_rect col = { wr[0] + (f32)cols*w, wr[1] + wr[3], w, - vg_ui.font->glyph_height }; + vg_ui.font->ch }; vg_strnull( &str, buf, 32 ); +#if 0 vg_strcatch( &str, (char)k_SRglyph_vg_circle ); +#endif vg_strcati32( &str, player->medals[i] ); ui_text( col, buf, 1, k_ui_align_middle_center, @@ -967,9 +977,9 @@ static void remote_player_gui_info( ui_rect box, else fg = ui_colour( in_world? k_ui_fg: k_ui_fg+4 ); - vg_ui.font = &vg_ui_font_big; + ui_font_face( &vgf_default_large ); ui_text( top, username, 1, k_ui_align_middle_center, fg ); - vg_ui.font = &vg_ui_font_small; + ui_font_face( &vgf_default_small ); ui_text( bottom, activity, 1, k_ui_align_middle_center, fg ); } @@ -987,10 +997,10 @@ void remote_players_imgui_lobby(void) ui_px y = 50, width = 200, height = 42, gap = 2, x = vg.window_x - width; - vg_ui.font = &vg_ui_font_big; + ui_font_face( &vgf_default_large ); ui_text( (ui_rect){ x, 0, width, height }, "In World", 1, k_ui_align_middle_center, 0 ); - vg_ui.font = &vg_ui_font_small; + ui_font_face( &vgf_default_small ); ui_rect us = { x, y, width, height }; diff --git a/player_replay.c b/player_replay.c index 7abd993..5a6323c 100644 --- a/player_replay.c +++ b/player_replay.c @@ -726,7 +726,7 @@ static void skaterift_replay_update_helpers(void) vg_strnull( &freecam_text, player_replay.helper_freecam->text, GUI_HELPER_TEXT_LENGTH ); vg_strcat( &freecam_text, - player_replay.use_freecam? "exit freecam": "freecam" ); + player_replay.use_freecam? "Exit freecam": "Freecam" ); } static void replay_show_helpers(void) @@ -735,14 +735,14 @@ static void replay_show_helpers(void) vg_str text; if( gui_new_helper( input_axis_list[k_sraxis_replay_h], &text ) ) - vg_strcat( &text, "scrub" ); + vg_strcat( &text, "Scrub" ); if( (player_replay.helper_resume = gui_new_helper( input_button_list[k_srbind_replay_resume], &text )) ) - vg_strcat( &text, "resume" ); + vg_strcat( &text, "Resume" ); if( gui_new_helper( input_button_list[k_srbind_replay_play], &text )) - vg_strcat( &text, "playback" ); + vg_strcat( &text, "Playback" ); player_replay.helper_freecam = gui_new_helper( input_button_list[k_srbind_replay_freecam], &text ); diff --git a/skaterift.c b/skaterift.c index 01f2768..d661fbf 100644 --- a/skaterift.c +++ b/skaterift.c @@ -696,13 +696,16 @@ void vg_render(void) glDisable(GL_DEPTH_TEST); vg_lines_drawall(); glViewport( 0,0, vg.window_x, vg.window_y ); - gui_draw(); + + gui_render_icons(); } void vg_gui(void) { if( skaterift.op == k_async_op_clientloading ) return; + gui_draw(); + if( k_tools_mode ){ ui_rect null; ui_rect screen = { 0, 0, vg.window_x, vg.window_y }; diff --git a/world_map.c b/world_map.c index bc2ab5c..3465776 100644 --- a/world_map.c +++ b/world_map.c @@ -203,11 +203,11 @@ void world_map_enter(void) vg_str text; if( gui_new_helper( input_joy_list[k_srjoystick_steer], &text ) ) - vg_strcat( &text, "move" ); + vg_strcat( &text, "Move" ); if( gui_new_helper( input_button_list[k_srbind_maccept], &text ) ) - vg_strcat( &text, "spawn" ); + vg_strcat( &text, "Spawn" ); if( gui_new_helper( input_button_list[k_srbind_mback], &text ) ) - vg_strcat( &text, "exit" ); + vg_strcat( &text, "Exit" ); } -- 2.25.1