From a407667cb3ac000648e81709f97e5ee92d6e2cc4 Mon Sep 17 00:00:00 2001 From: admar Date: Fri, 6 Jan 2023 22:39:31 +0100 Subject: [PATCH] Added settings view [WIP] --- clock.py | 145 ++++++++++++++++++++++++++++++++++++--- settings_not_visible.png | Bin 0 -> 24458 bytes settings_visible.png | Bin 0 -> 29417 bytes 3 files changed, 137 insertions(+), 8 deletions(-) create mode 100644 settings_not_visible.png create mode 100644 settings_visible.png diff --git a/clock.py b/clock.py index 9789ae0..57164b8 100644 --- a/clock.py +++ b/clock.py @@ -8,6 +8,7 @@ import traceback from kivy.app import App from kivy.uix.floatlayout import FloatLayout from kivy.uix.label import Label +from kivy.uix.slider import Slider from kivy.clock import Clock from kivy.lang import Builder from kivy.graphics import Color, Line, Rectangle @@ -17,8 +18,8 @@ from playsound import playsound Builder.load_string(''' : - on_pos: self.update_clock() - on_size: self.update_clock() + on_pos: self.update_display() + on_size: self.update_display() FloatLayout id: face @@ -43,6 +44,61 @@ Builder.load_string(''' size_hint: None, None pos_hint: {"center_x":0.9, "center_y":0.1} size: 0.1*min(root.size), 0.1*min(root.size) + + FloatLayout + id: settings_button + size_hint: None, None + pos_hint: {"center_x":0.9, "center_y":0.9} + size: 0.1*min(root.size), 0.1*min(root.size) + + FloatLayout + id: settings_menu + size_hint: None, None + pos_hint: {"center_x":0.5, "center_y":0.5} + size: 0.7*min(root.size), 0.7*min(root.size) + canvas: + Color: + rgb: 0.1, 0.1, 0.1 + Rectangle: + size: self.size + pos: self.pos + GridLayout: + rows: 6 + cols: 2 + Label: + text:"Volume" + Slider: + id: volume_slider + min: 0 + max: 20 + value: 4 + on_value: root.volume_slider_value(*args) + Label: + text:"Wake up brightness" + Slider: + id: wake_up_bightness_slider + min: 0 + max: 20 + value: 20 + Label: + text:"Reading light brightness" + Slider: + id: reading_light_brightness_slider + min: 0 + max: 20 + value: 1 + Label: + text:"Wifi network" + Label: + text:"wifi name" + Label: + text:"Wifi password" + Label: + text:"wifi password" + Label: + text:"Calendar URL" + Label: + text:"calendar url" ''') Position = collections.namedtuple('Position', 'x y') @@ -65,6 +121,10 @@ class AlarmSettings(): sound_source = "Woodpecker Chirps - QuickSounds.com.mp3" seconds_to_sunrise = 30 * 60 + volume = 4 + wake_up_brightness = 20 + reading_light_brightness = 1 + class MyClockWidget(FloatLayout): grabbed = "" face_numbers = [] @@ -78,6 +138,15 @@ class MyClockWidget(FloatLayout): # view can be "clock" "set_alarm" "settings" or "calendar" view = "clock" + def hide_widget(self, widget, hide=True): + if hasattr(widget, 'saved_attrs'): + if not hide: + widget.height, widget.size_hint_y, widget.opacity, widget.disabled = widget.saved_attrs + del widget.saved_attrs + elif hide: + widget.saved_attrs = widget.height, widget.size_hint_y, widget.opacity, widget.disabled + widget.height, widget.size_hint_y, widget.opacity, widget.disabled = 0, None, 0, True + def draw_face(self): """ Add number labels when added in widget hierarchy @@ -106,6 +175,11 @@ class MyClockWidget(FloatLayout): )) self.ids["face"].add_widget(self.face_numbers[i - 1]) + def draw_settings(self): + Color(1, 1, 1) + # self.ids["settings_menu"].add_widget(Rectangle(pos=(10, 10), size=(500, 500))) + return + def update_face(self): alarm_settings = App.get_running_app().alarm_settings @@ -125,6 +199,7 @@ class MyClockWidget(FloatLayout): def on_parent(self, myclock, parent): self.draw_face() + self.draw_settings() def position_on_clock(self, fraction, length): """ @@ -138,8 +213,6 @@ class MyClockWidget(FloatLayout): ) def update_set_alarm_button(self): - set_alarm_button = self.ids["set_alarm_button"] - app = App.get_running_app() alarm_settings = app.alarm_settings @@ -156,6 +229,23 @@ class MyClockWidget(FloatLayout): Color(rgb[0], rgb[1], rgb[2]) Rectangle(size=set_alarm_button.size, pos=set_alarm_button.pos, source=source) + def update_settings_button(self): + app = App.get_running_app() + alarm_settings = app.alarm_settings + + if (self.view == "settings"): + source = 'settings_visible.png' + rgb = [0.9, 0.0, 0.0] + else: + source = 'settings_not_visible.png' + rgb = [1.0, 1.0, 1.0] + + settings_button = self.ids["settings_button"] + settings_button.canvas.clear() + with settings_button.canvas: + Color(rgb[0], rgb[1], rgb[2]) + Rectangle(size=settings_button.size, pos=settings_button.pos, source=source) + def sun_rise(self): alarm_settings = App.get_running_app().alarm_settings @@ -211,7 +301,9 @@ class MyClockWidget(FloatLayout): self.check_sun_rise() self.check_play_sound() - def update_clock(self, *args): + def update_clock(self): + self.hide_widget(self.ids["face"], False) + self.hide_widget(self.ids["hands"], False) self.check_alarm() """ Redraw clock hands @@ -228,7 +320,6 @@ class MyClockWidget(FloatLayout): hours_hand = self.position_on_clock(time.hour/12 + time.minute/720, length=0.35*hands.size[0]) self.update_face() - self.update_set_alarm_button() hands.canvas.clear() with hands.canvas: @@ -258,6 +349,27 @@ class MyClockWidget(FloatLayout): Color(0.7, 0.7, 0.7) Line(points=[hands.center_x, hands.center_y, seconds_hand.x, seconds_hand.y], width=1, cap="round") + def update_settings(self): + self.hide_widget(self.ids["settings_menu"], False) + + def update_display(self, *args): + # Hide all dynamic widgets; will be enabled when updating respecive view + self.hide_widget(self.ids["face"], True) + self.hide_widget(self.ids["hands"], True) + self.hide_widget(self.ids["settings_menu"], True) + + self.update_set_alarm_button() + self.update_settings_button() + if self.view == "clock" or self.view == "set_alarm": + self.update_clock() + elif self.view == "settings": + self.update_settings() + + def volume_slider_value(self, *args): + alarm_settings = App.get_running_app().alarm_settings + alarm_settings.volume = int(args[1]) + print(str(int(args[1]))) + def on_alarm_button_pressed(self): alarm_settings = App.get_running_app().alarm_settings alarm_settings.alarm_modified = False @@ -270,6 +382,14 @@ class MyClockWidget(FloatLayout): self.view = "set_alarm" alarm_settings.alarm_activated = True + def on_settings_button_pressed(self): + print("settings button pressed from view " + self.view) + if self.view != "settings": + self.view = "settings" + else: + self.view = "clock" + print("view updated to " + self.view) + def on_touch_up(self, touch): self.grabbed = "" alarm_settings = App.get_running_app().alarm_settings @@ -277,6 +397,8 @@ class MyClockWidget(FloatLayout): if (self.view == "set_alarm") and (self.grabbed == "hour" or self.grabbed == "minute"): self.set_alarm_timeout_counter = 0 + super(MyClockWidget, self).on_touch_up(touch) + def on_touch_move(self, touch): alarm_settings = App.get_running_app().alarm_settings self.alarm_set_timeout = 0 @@ -334,6 +456,8 @@ class MyClockWidget(FloatLayout): alarm_settings.alarm_time.month, alarm_settings.alarm_time.day, \ hour, alarm_settings.alarm_time.minute, alarm_settings.alarm_time.second, 0) + super(MyClockWidget, self).on_touch_move(touch) + def on_touch_down(self, touch): global sound_process @@ -349,6 +473,8 @@ class MyClockWidget(FloatLayout): if (0.85 <= touch.spos[0] <= 0.95) and (0.05 <= touch.spos[1] <= 0.15): self.on_alarm_button_pressed() + elif (0.85 <= touch.spos[0] <= 0.95) and (0.85 <= touch.spos[1] <= 0.95): + self.on_settings_button_pressed() elif sound_process is not None: kill_sound_process() elif self.view == "set_alarm": @@ -360,15 +486,18 @@ class MyClockWidget(FloatLayout): (hours_hand.y - 0.1 * self.size[1] <= touch.pos[1] <= hours_hand.y + 0.1 * self.size[1]): self.grabbed = "hour" + super(MyClockWidget, self).on_touch_down(touch) + + class MyApp(App): alarm_settings = AlarmSettings() def build(self): clock_widget = MyClockWidget() # update initially, just after construction of the widget is complete - Clock.schedule_once(clock_widget.update_clock, 0) + Clock.schedule_once(clock_widget.update_display, 0) # then update 60 times per second - Clock.schedule_interval(clock_widget.update_clock, 1.0/60.0) + Clock.schedule_interval(clock_widget.update_display, 1.0/60.0) return clock_widget def kill_sound_process(): diff --git a/settings_not_visible.png b/settings_not_visible.png new file mode 100644 index 0000000000000000000000000000000000000000..37b433558d7fdac72025130bbbfa534d354082cc GIT binary patch literal 24458 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 literal 0 HcmV?d00001 diff --git a/settings_visible.png b/settings_visible.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfcb68c177f272dcefcfce35a956852f0625640 GIT binary patch literal 29417 zcmeFYbx>U2@-I4AAP^vUaMv)%-~{)N!?2pR|hf_v}~Tm!*9xVzh% ze2@IjdGA)e`qjO^``6i3Q#E_7?p`gQ?zMaEnQ(Pgd2CEFOaK6Y4OWoR1OSls5uXE$ zCy0?M8f_f_fZWbU`;D8XnJ0~ti=!3P-jc@6+sTr~(hF(@0C>$7WLPH~3e{ykS`d;U z&%Y(b+0##d`=Q*C{+*vJaY^TxsBKAE5Kz$ z6eo-K@tX9|@#y;AU)(w{JH*7qbJH(dj*1|5`&8~_cF)o3`5{Sw$cGM|+kueTn^x{X z|4*AE7WQpMTfU$2@np014nuA(rC0+NF_y5RMr!=FOCQ`ZPyMLcmL7xO2C4=gL>QIN z+%;d`25u^z)j4Mqu7YX3A3hU`qbS^@7?O!RJ#_quzI59D>0$Cv0i!qj_t|Oa+_#e4 z4e@}jl&|x*rxPZ|kH>@eS)~+h)ZjL>#yh{e)m@J1?CKM#$COu_7uCuE-lD;y;`BGb z8_p}w`rC~`b~%pVZ+^_@7Hlg#3o61@4ht00FI!JW8f5(2GMD6ZI2Fxq*O}X1o;?Ro zVGHeXeaGGuEvtB89@Ep+pYVcYdn^(-F}>=OHh6KS-k;-7txq}p6 zPrG?nu)NO5#Eal

T_o(51_|`^3BQrnyLRkS4^fd&Mi)v!=mG*hB+`A{z zv8+AdC-3y;pMf@HNG7K99EM)odQnFcd(RvTo60eo~u4OisQRVeEb9|{CJIX#~Ar+EU}t0ksFk%7Ut0zJKuQK_XTwMm?ZG}l+!!%aePpy;K0P{ z;L!V4YqHM9rX|Y%o4VwA_`&M^xSYK- zN;Bi~hobWj;r(xYy=MjUWUCR33w7hmlTcnv`od}$UrF@_=!@w0>|NF(&ngRTuwAnj zr(2CcP#SQWrqk#9ugCjO;{@SiNwjBtG_!ctG0&=<9N&9<9)ws_KLh5=0 z+oI%$tZTcKX=yxN3mFO@-btBMwrQIH+?4<-%iZ@XSkMPI;RNVz4kr^`kK~don*;vPX3)3HG?Mw7e4j#x-XB ziv-q$ZA{^&tf<0>I*Jd15IEekgTek@n8AmYon>=K0{%H2O# zWR^XjWqshYnv*SAtPl;>P@K{mOTWM0$IY(sPlXJi%QC~ceM7kS@JmDrvE zpfCxq&YT}SSTuE>ALe#HzvyfK4SyB{RZr!(fbTQ4d7NV>iaep9f}BsEod+veAbFK; zKJm{TUd5B{ppb3`i?1muM4Y~i?@9Z5*{mSM4zSgWQRGm-+3Bi8e;q|7$C&OctzMds zN;y4!joS3DdoTj9+!Ag70=KuNz5Nf9ToNwqJRxRsVv-R-y zRS%P3jV`Gst+t<`BoS&1Q2&+sjjsmexe}~G!=r|oItne{tPJ^*DGOtls)l84xVhc3 zeOB>3y#Vz{3LV#Hsg&rk%|?p`rAx-Z<^IY7QB3SN9fs7`whg~?OGc#Qdr9#-YKYT5 zHs0u=0Ap5r_Zv!72ftXak^jPsVAv5)p#GG5B$qoe5r0`Tr@8+8^ZVvk`8HlTb0u!y zU6!i6@e&qUkCZo8r3Qe(j!(HI&KH1{n#{8ak)039WTKyu7lV>NRZA$u;W8u|%h|A6rg@EVOxa4j>RSa5wYZM(^KGYpDLg8r3`R={fh$6^lQK3bRN)ZJ97 z4VD>PHytUpH`fNuEnuNs!pgKK;Q|P9&UWmdsUWW97UK^a*AKf-WU;wpC?m5+20HWj{nM zg4LyG+&1qYpah1slrYAKo=!q2t+) z0XGR1&i4p6WSTp1!K5Kn)rM30Hd2Xt+v+@K!ULJ zoanbI?3}!6_i}eX);~3&WMKo2S|)#3=aAY1_G^YwU7wF=CKvKECt;iAa*itRQwTyh zqPm-IOOcDjabWB$xe13>7~_pc_h@TqHaLeS@hBc&+_d$6*nYY?l^C0>8dkuXie8LB z2lwV^cE6l8&!>9PD3e;Zh=sR?mX2bNzLU}BRtb}+rilGMVkA@`YvxN3C{pjN&F$5> z8}`gd07FWt*ft~Q$=7chKi9QXwpNZ`7UJeZ_4OGdemtjjTr4;arW-5INvZhsuCf2j zYLJRWirEZ(g?vy0K7gfDk8~fjD2Bnwf!yy3ugrO$iB=XQ!6Y@WaD(}CU+)G}Cbj#+ ziS6xHd$2&NN_rM652me$@KEK7m<`?Xt)^?Fcze3v2kUo1qP4V+Ieofu5$U3uL1XS; zh{wbv6>7G|u2h$v345oeb^~f4!CkRo7}rIgWvN-reyb+uIKKnnrOLMaH2JCW(Ip|P zkquZ=idnP|PXuY185Mk?cV~l2m+AyNi3;Kz<){!=2W$0|*`-zI#T6KH{50#|ewvFF zLr9dpJ;`O;8BTP7+=+s8;&i2%PTggp&=xN-GTzKU{P1?#VjOFlo>)O^AB6-G^!XVo z;j}P5v3QDgQ(pe-qlx`I3Hhkc^3mz@^0q|Q)5r1K3g`*>XcD^YK#%FyZjyyOX-|Pd zH?pXEJ2`D#jq!}WEWyC0f%_Z}ZxLsSa(#X=n zCOjRP#0n?jB)S3TozY$Vlh;d%*gomFufv&}NGGE9I~z2NYs|ae(4ykeY}#E_d}tW> zT&Rjg=GdB+MhktO0cws5?9u+hWrG@Kr8-L)hpG`H*%-7x=A*)FALij&WIJG$bV^Lo zlHB;cqgBHRMS8(?%!l&bYFEKp=mSYmVS3I(zRpV#ij5cL5#?yzHT+=lWs8={irLTgwiQ)cIYZOD-~SVetjac99NE z>5`O(<0qVF`@x&r7vt>o#kjR?O0h*=*!XUdrg3t+1caQAf!`yL2y zF8YN0GDx>L*({#s>2BEP=*pFGflo$Mt@5J5dt#KbD_Y!50DZv(r&N+1|Kqj~5On4h z-)A7`8uc^1P=;qXn1Yhv1Y7wDd>ZqY+tNu9$&!l~M066c+vK#zISVvulwh6^-5(_}Z=QIf2eGaEVp?`oQOW_i3%VrG3d=7f z-3lsPV0mNq87t8+kFW>o-`u*1AIGD12q1I5!XnecMbhhhMl%?RirQUM5DAiapjVUu z5b~SsOH8|mkB&UlMdR)EVcA)lQ%nEMF{Lz2+`zOA{ZQPqPRnqNIbWVR*e=?>qM#}f zxBvYJ;A)5-rME;!g41Er2C#GT=iMR;>(9*51%6ZiqM$PkwaI8-V5g1bMBlZLf0dwN z+rlIMPN>FP0OT%{8RK{yQnM;P%iikR$Dofzm^9w3wL5V~Wn)-C&io)u*v>MhrDZT9 z!Fo_+Ux6ZAY;=OTqqZ!Zub0ry11*TDi{6S8PWb6yin0R=cjOOB4Aj*Zr#8JE$LFZg z&d|MUpsI@GZ(DXG>dIaD!mcbL66O8dXwF8B#a9ic-+l-z`%J;D8~cjTJg+V2ScmgH zTw#BAe1ZaR;@y9RSGR4Pu8^+SvJu48*U<=msi>!4dE35OF}qEXa^b^LDwlDYkk z(aG}aeW}=(GD;>!W65wZO+g|8m1G*&65j?1JBHv+gssxg&%kdb3Tt7IcU3X@-#ejK+@AZ zR+bXg6jrp#jZsESH<>Rx*3SYd{Sj6*iW5abR0G&Wq6+HyZYUR&wx~Z10|$H5(hPWU zNzp~E*eC;9Uwq_KFWq7nEFTO9mV9`s!SYIvDJhL6YD`A?`Mwm&v#%?RXEx7L@N5)} zro&seWQ9bJRtPqWmIZR?K8Npw`b3thrNpJh2S5pW5)>Gu;&)^qx^d=j%N)zYgp^sQ z!|s`25k^>2PCBQYk@QpR;cCk-N2y{y104Isi%}SpOgU_ky`F@_JwA>;%Y@RKFy8bQ;RtA;Y~y_O8kL@_UV&jq{;efW#RrIOIycbRu}T zEXSLEGR-6rB{eFDuUo~|H;L%Stl3YUE^=(C!d0`HQTjym&s)H~dG{=X@n%aEUWwiO zA9S6Y?|QF%1#}D}CBW!3A|FZTCak1Qyd{+-P#2^NFtCT6Btph8u8#}Q3{;0>32P#F^f%>W0i-t$S({cncG)FVG60&^<_wEishGxN;&Tp(r!b3GKIXEhvIk*`5s3^>0r4GrP%HkX5btc0 zQ90p0C~0{f(RS(YIfD}a4x`U~B9$xtL9NWp-H9cpWG~x;^NY)pwKaYbw(y(AB#YV! zIjRwgcGP}02*)E2ctI>T6_wYr3*McDZ*J||c04Vo38*XbA1{SLF-^-NMvC%7$Qx?5 zrcX@S%HNyg|FqqfUi9_Yt4Ut2og)f!Cr}!Z<0d#LB`V~YuUMq0xYHeVYMM3k>V83( zdVN@ke?zKew~=|rDfLv!qUv`slJ(*Df|AN4v)v##O-)QG3MS2Sv3?7YpJZ-vBVHF_ zw)h97I;!_UIPY}%bHkX}eKMHuN!ev+_xs$uj-SIb zofn3ls>LMBK5QujOtvz@=M{4y%Hs4_&iKCYOs$l8U9}>`z6|-g|xb}3sx<|q- z8v7xav-!qn4ecavFCO1$6VdVXk8 z7C*dv%s@e|3tQ1%GtZTfDty4>)(U;eRUie`dx0Sx3Il;W#=3cR-j1g(fNNZ3UZqan z1qs#S+NdhVTYT!Y1J@PX{!}Dy8Rg6s8W{;lsUiRQCeXxW;3{!a153wFW{8rrNU{yu zLn)`!UgBTxifnU}Lp+B;`{}!A17XfW{*ZhHPAR=nZyd!9JC&d1csO+ti$lk=G-0<+ z&dRsUA_86CC#wg{E49jQQtezk zb2cyI(6rTZplu)V({~Sf@{WK)rEFEZcO+*>`9{rv6UjrmvTs}CmltQbZ2TLY64QGY zeTA~q&;{5m$u<7SxO2P>4HfBuftwKaPfRXkGBmI>SAEa^u);dQq@p`X?>h-TG z$TNNwiX}TsRUpbfkESln#7*eCj8ddJGeHNHI!pUg4gzfo(VN{oegfQeYNsTd8|1y! zDi$D2nUazKl`qKcY)`O)eG)tHJ^UBP7k*+!ADE!oi71t`hZ`gaiNXd1O?WdPOY~AP z=J|ffMCZp^iBIba@1I)D&d!ad*x*TR*2ZT2j%PBZ5S9xj?)V;|bS<{DJ9a0Wo39ft z!7aBRPtUlFow@vA@jk~!eOu3MwgL4!z`$peF^a`W2NG2S;_>>Zzg$1ymik>QE zSH$v&We>+~v=f;E1~K%@Y@qFobu6V839jItM?ZY=BDRs@74ChKXxsi(`fIv}3zEs% z3#O8?te>zgN$#_%^5qNYT;TN2kE$=zGN@Fq0eJ?<%lj8~#UZDP1fi9}%GixA1f^QX z2ao`kkOCO(myhv{r^%bgQeg6nP}{C;PG{9gHeNDETRxW6?`$j0L1c2go7fdTbU9&A z(QaTic!dZ(UZvDU6^~GJFXy~NI@|qOVGGe6MwZ=M#b>x@*DCZoTgH{U>AJTb!(X78 zf;+R`KXtJP?8Q~rccw`e8spS4c)w}K6?Mvu;(E^3&}bPDWy%8S(wQQDD*g;l{KP}Y z5?<)ZvVg)1Dd%^1`E~#jT7o(%p(QauOLy`rheF(13SWxy>)DpiHs6-I%3D$t zoc_hz?c!k8ugN%Ljm28MlOeayN|b1ON?eZXL&j<#o~IfzK(JzWP;x^GDF~#Tp04Z5 zA~~A7!_ZTKSu3J(vr(%X=nmI>Z+YRx={6Mu>$!dHai)}l*R%bCmf+2sy8 z3rQggt@Du|HRG;m36r5IC8mLWk&fwg^BtiCkNZoR(ha;l%{)9O`~muCma9)d z6A2B*LY_-uwS?-ac7L-V=44T^P0x~Y$NQJqp1Edz?^M@fa=(-Cne3;2nzr5gq#-ZR z7Q)XNLAdInr|$Cu*U8U8NV#DNLW|ROco$0y%2^E4dl&HxGZfdfNNf{bhjfR$bJC*~ z@cP!Wv`MGto&f1iBE~(DHVgyz$JCO?h2f{|3iz;-#@KTwtl2aX1K_hsOG+_uRbP+W z{pBvU+)(y@*&P~+aqv7C%4CJB|49oQ`<3;ts(wcUup`iy7m*8*=e-m!Ne7B4nRuY+z7n$f~qG^M-8q#wsc$n4cdx_NH zlLpo8d6BbSm!`_}!`?ymSsPst2ga79vQ;woOEBxz zYWVUxDus8ZlNN}s*1FWta>)0DMDFC~1b+&OO&^ZNF7*xrO~*dx8M*VUyC!@7w#dpV zwaYzzBcTf{DBgmK$R^H6{EGT6t5hfT#U-5XY0hbvvzT1a5y$8kq2bHQRbJJgQ68s) z`nx1yu6wXgX@P8P&;xAw_qPI8-}ZGJt}96I=RHMQ{SGN4FY!-~{YWVF5{JbC^&3K} z)IraN*xXSlD3B}ZEX%K(o0|L`9xr$|FHzVaE)hvzF(Uu~Trnu(J?I-1Wnl|P7>60e z(cF^53+9A)PYM8th+(U@CWLmfov4x8HOXrK^Ly4QRvTq;h|mNrlY9~Vn4 zA60D&A3F;n2%WeXrihm?LIBLt&5XtiX7AuC>?KO~mt0}Q_dmm&bTogFxY>!)y-`u8 zk#=;kq~Yb@<=_I!dOF5yi zH2=^K=A@$XPw@_}fA<2yADmuhPMq8vT%0f%=f85ey2*MVg#2Bh|0Rd3HsW3Q= zqq~cRrL2dggB$(7ihx-Bli$hR#r`jIAQqgK_LeXNsVibt?tfcS9;~ANPmVt>u!h2% z{^CM7``;+tpjQ9otbfz(&&*%u{Hr1e_J7L#H|l@b{ueQVN<~Fj#?iw4k9uGkQMy0t z3qu?&pb+7|z6x0KSnyl%Sph9AtSo@MJiHK~kR`trkc-bkkXw+)f{({S=wC#E9bDba z94svVh(ZYGfFk7ZSaO^532}1)h4?{yKwgl5CD5Fk9|VL5T3VR#3tI4)nVJ8K2sIZd z0+nX=|Ekp=Q4oYEAqycZK`U-vprEA{2*@kI!v_=s34(wYf&x~SmJl9ZJ`2mgL_sWs zh@-CRtN@BI%TMXyVrkBXhUI^ zT5e{4yvfZkz{ADEC&VKlz|YIY_b=SKmM*RcB>s`f&Beh3`iuQfScDPAARKG<2d4-D ze~lw-5teqbG;?!w(ROsS7p42763rjZe@?3)(g|YbW+r3iW{D8W1>zCr;uhxO*9LJ5 zbAyDr1z!HS{TF&i2-M2^|Bw1l^3aIe+~UDqqHoY|91DcTYKnVsYFBb zS5gR@S^UieS2GVw$X|LQWc_W*!p6+O+7eMc{tnlFj6?qyP!JU2H{<3u;{$T@2?zms zEi4eAFcUNf@>=mDpk*lp;xqpn6#gmQ)zQk$)6B(E(i-7Mgs%|r{L5D~EPn-x_1|^z zw6XjX1%$(ZT-?Av4&xH$5fJ7P`n$t8|L0BQM_>_R#tQ<1%!Lq!30MjMg?KH^ftG^2 ze1iN|+-8>i|1SsrA23l!n4A0mo{7A?{AN5BmfVP3wy*^9Ld-3IX8cxMKyH41D}Fw1 zh>(zl)xXE(f7ir+hyCB9D8l)t^8W+3BAovpWdDueU$zQF^#3-7*n$u{8s|T^w7+c!$Ke+@A&3_j8Z~6B>?)s0r{#zdSZxR0oUH@^{f6D{^E#m*6>;IU$F#oG5 zwsb%|%X%VO-n&|I2}Ha6#9T>U2Ji@|001t$->o7>o;oS$xdH$j^nX4`UIpSFh(UBW zu!=1DCejnaXL!gp3Hbm34FD`7sqHnpzu@VXr1P!kcnOSzoa@QsRteHH&meV2E&sF{ z)f-0Vg(nGBlvh{p4$iAl&ksMN14_ITj+xSsl$F%qYC*$zF1)>-=>I4vj~)Kjno)WZ0ALA5rbJxs5};d#Q~$PrZdOuPl$FH6oh;FzfIf=E z!O>jlPcAHL0Kk0nIDBTZSZBw$kD{>yIde*oE^QyKCj^_F&H8Ewlwb=DuQd z?NAE2v0XVKJZflYIILn>1^^6a^!n}uea>1fLJYr@6ZbGwTU{N!A8bWhGNVV6_$drb zi-bog6>q-}Z2JTs1{WXTbUyIjg?87d?2IajQ^^{#9c;ZU&ZY=7HBLFka9UQvVQqjW```VgKxLRj58x7{li2aq zc9rR+=If@$-}j$)E5ZHAHEk*xg}qOlT>YO)h~?{)re}HYXcw{N(~S%(u(7g!tVB2c zj7>-^Uu%mc;J&NdOjp!EOT+-9;%eW1hPwpj2LOz%8LDgTrXb9|6W0$?)5DutO}*}g z?a>zDm<^JoaB$Ks3Tbb)7QA19t?vcu{PX0Vx8!>~b8<2B9by+lMeNW^14l}S$*-gq z&)b#Bk7BCf-~{aq?fDuRuqC68DFt#W6a{UFG3^uFHZB5LLwZa@&A9K0#Lp*~+Ag;j zT5Jlx^~>Mku@`;Jk1E#T>3tF>z^;VkZOY)PelVhXl5gN-2#*05uTw?6h(&~?eaKZo zn3@zEdi)*WW;~YZIgclYFapi|;qLlzt;PPZrT)I$a^S;Qf6%Ul5M~2TA%sKW_XW>k zBg>`lTt^hRov(5h-B3O`pLc9ohZXLkfPzrP;Y0i&6wC(>c|8$#o6K9rkH#`9(K@sK zkk3Hbb&C?;ncxT@gwdE(?~SakikGOdVame5k0d0QLe;S49l?v@;ArZhhW*9RkZiQ-*WbdOQJpH=1&7eNJKYYZIxYiULU!ps6;kkQ3FavmqB$8)7U-i&j(K<-3IUN$f_1K$^ufzl_d*u0fZz5g5 z{XrK>R)K}8oi}v=nDZ*6*?9d8&8k@2^)ie^UU*s!v(eUqm^HSgE*&e)A!H-j51tK3?Xg%FpFJ06I-kvv#owH2dWYkmLhmuwLbb1QDEb&Yw~ln?MK9Tf{jMsi zs;k|Pf6LC;^WPtMwrTCp*1F4wU=~o_EInqv=srA-K)Y?Y6+eG9W>&D&grifoS4=>5 zld?>}+)7LTh}Z&Vm{f+@y|xSL@d*grm)nu{7n)w@=H?a~HdcM_?9?eY7L}Eg+ey3F zw@!*D9GphJ)Bgtf=6SeC3;we+bbS=s$Vh#$+WfYJa`pG`!IbgOY5wqS#O5$HQ*G_( zr0y!Adl*l_e$6v$ zdR<#fZGltOe6|pfZKq}xBM+oEjzeAqZPwrr>+sZV@{n20IK?5iAt=->T|Ur>tdkayqR=%>)gcPe)jeQ=?Nv++6P^PqHT5IH*b?4`x+#b=h; zdnkgYAX11m4NFa|PY?O3J_L)T)uo+h_dIE)ryq}gFrC{1A9)|M_wcjoeSo-ZM1vGX z+#vTzHcCNDw%t$j-?V)c$GIYhNrN1H${GCoL~?;w*eQ??xYUc+g&RZBoFi8_jp9n) z7kiYRhDV!zkAnU_)k&S9P19{mWtZ*WbU>^D#?7m%t0v&M!2s%!bHtj;-w`F!t;!F_ z#5il=`gf#t+eiK(!Fziy18O`o{?^msR(A0nQ=C4E3lTr{#IWY>fWAH3nG>lp>e}<1NM(^$E5vx)%`*y{~ddhtOr+fM4(d;*~&bq=Y8|G@?hk&Ka zUF+#4rW5iWk-|^@wO)r*yj$-X`UoeC-6hqY1#JE7thM=>hog-}Sft$dH8$#5FRr>E z<7qaoIIk}Q0TIze{lj!$I5hQp)AX=JWBXAqRNZO&a{rCaP0pm61^$*r*4E8MB2Kn zHtcUa5n`iQb#9y~MU1{NZ&~j-!QLLkc z*w!YctF13z*7@JU;E-1y?CiA`J!%3X$3Mo_)*!H@R-=;F<&(t=O`CI!lu;35GfR)g zk6s5t9NqHq&fpuD2R|ZlcSZNxb1i2u?yoP$n$=cAzj7o|5LsswjYDax?SFGN#mKrJ z&fF>-*h867ul>b|hLsf@ic3AYGf{HBPM}u9&g1P8Ne_qXejTL*>Th|By`+cUhv69< zl5^$I)|YA2v~0A`Io7vbJ=|84M{$|h*}nHG??NEXcw4BbVHQ)xkg}gTAhoiXXI4A2_R@>mSbBLoJ(A8kemf2?_)Qq zvH1x+LkAo|J;8{d9r_URz_6;7tWxrQw{QW=r#K4w*FWVMo7}d|XIfxNBQ={tA4%N> z?g4;1DI;*~-t0LefIo zKeRVEVC}-gtNeX-ygK4!O98lh{ViX!YLV4tV5mkqhT74!!Pk>ng$i&t)f$F@22P&a zu9;W9je@X6C`}=?FRl0b+|DLvK--oI)diT2_zR&uI=|MiK+r+ygWCx80$KfaS|!g<=-gX{p*l&4E=!N&C6& zv2V!h4mb*AW{|}uBXlUpp3&ri6+%A3rJ%bAdfms<>=^kEI6(S7Q1(uZ_D?b9G?%KY zO9dpF3MLCoGj9=z?0(&^Vf;1D01ONc@Fwtr$Dr8eaH-9N5C*__CO1~hsFcS#i?lPC z##7@0z{tr%q%hQK_HDmI{dhkTO%TM|TB`;{M^zOENC9A(C4>boyEHbqPymp_792JY zjwN(HE0YfAB1r&>)N|hzbh|4N?JFj+{rrwZBQedOQ>59YDPCO=;gQ6qbH%_6K#h}o z`ZV^~&u%0dnmaDjAbLYK%Rk1--p*_cb$XsA zaU%3Dkc-0DUT6|1>_M4WdVKKINfn5lKo|zlVT^vbZ2MGt#$&Mav`b;5IsZiWwgZW# zeVWnzYUwfBxWcr<6k*hDuz7}%?Jra2eM-PxtC#5cFRkR;Mxek-GYctw5d{npV%_3= zE^rsSZV!8X8~H+$XOYb8E5KDP1Y9kC!}2lBBgobJqV{E&KMZgr?*U#KPIJ9FzS!TL zPKBc1;o3J%=XUaQ(4qq#6KRXW(Xi?mBkLH3?iUUp8s2;00s^+b<_C^skT`T@FTiDe zdq;D(NqS;bJVp^1Ef-|;$0y*)H)`@A)xEn0HkD@3r%A&Pa&Q4bOViUeMb|WRd1pP; zf%biQu$j3IDMlUmk3~efqle~WaklwE9(t$?4fxQL#U%WHYE=)6kpS8^3&3nlMZqC< zDFufs9F%0~J`pnr4iWmx5VkJ%EOaH3ebc6vy}AOW(4!enz|no){@t#L8mgXO$n=Rx zvwp4Z#227SI@in-0Ckb02q@Y;k&kRFU{OsxPhLmq3;ADJ?C9Rf9f@&au`kA52l7MlHewXsC;?07yd~NnO zPiqrI6>je?%;x{u;#-}K;OQ58xLVc3t%GG4$0F)`yi&4uqhX^FEeYqM3V$l}vHS7Q zl!o6q79b+sXe=njgi5*NvyDlTN>wzOAXoaiGl1pf_)UC#{9tZb9Ess?iQ5Z<-N7_h zTs0nmx?8|Q0DtHx%k0!zoN_XQsu)1x=XIr{Nl#6+^}tAm0B5HC9SK4IfXH04_f-s{ zKtPZI5vqNa7SjDGoFgZKvbVDjCn;@T=9|6O&;SwYvfxe}Y6l6Xfavw(0YOGrV@*bc zgJhZHHMyPrS$XzF7#NhBFVFz8T^vPrw-?eZ(}erGRp7dV{W*D8bRhuYjNsRk^#Rwq zu)ItGof6&kV;qFkp>#elvg|8IHr=lZ_<$S?>sg&^b&%|<@?z~GbBoW|0NK|y|_t~=W9RRDl2b1I>F&1vzEMpt`V6bZaajgMt) z!Gw3ZHj0XR7d0!pQTgL3*e-QS-wp9O?k^ACvi)9veI>v0MD~?hjL1oEz58diSOx+X z#cg;MLsFc!;aCZ5&Y}5y(%`&MzgBT!Cbu(lg2DZ2*F?JW`*-akO~xdkfo_3flBSne z1EOI_%E~G`J9D#yKv)Li|Ci*wn`a9LYjNSJLVXJ6zP;6b%#)P?IqW(E`b5`GLZ1gGJH= zoy`+7W2C(r6-*Kb1rnHy-h6Z0?xyHd&Jq#&aW#$oO%Al$6N}rIJor5XOTeLVoj5@X zkGYuwr_WC`FyPq)hWA)oU|O)sqVNO}UJ~$&S z=|O1Jkez-#zqN=sb(?iw&UcQqZ~|sIjp#UL*lbOBf5GZ=H1#hd3RZtKeboPURyf~u z5OG{jmzhGBb-(=H==bVs;G4N7Phzx>EMM{#%1y*0_)i+@6N7Bqa6x zw;kwBsQS6Bx=S;{0e%GqN-1S3muqh?B-ZL}VyVTm@}hSKV56q(+``!LBYN)2%7cAa zS%Gyf;x67e6GN%os|?kSbZwhrUl(KJ>hJe7Gq$;YU=!{}!owpYZ&@!d=9tN!q%94$ z@=*JqHBL`YXLF1hhmnW*!_#=IRat$0mLEUdSnk1R7`Lf3-`e%Y)f6a^=)9@!_U^gZ z?~ptz*mY5~T77lMVBKUmK^KZk@`<}_y%3RI3!Vq;Ezt4L%2jVm6#X{RI#sh=!tK~+ z{FlnJXL`mKRDhX|j{_!EZHNxei5l6t)U%dn%c3Dm%>U--8;Nt*^cpKa;qJSai%lgu zu9*ceyw^fe{LnE5oKGvW?|X%Wv7GfjCJeSEb1baozww35_+6i@?+RAP8H$aI?OgM; zpuUEr3=#`tt%URTDQ61v38hGWQeRWBYJ-5FzQN3O4do|5@L@X<%=dC(WZHs03Nl&a z0E3hBDy*=!Ig$2#P3N&5MVx{{LxY_anL@jMuEk2Ben@B=wo9=G$*bNTHh3(x*jwmxz&%3`EI^9IRp-2fZyB{6$|O)yKoNY8Bu*Mfm>1VVeoa@nD`Fn*Rg7qom*J z#a#`%d+kxG@9TLgW7jt~_@|v~MVv~opuBT@<+1nX=yzA7Z&irp&~%?Yxp)SjT{3KA zFfGALU@o0mtC|$!PVobTf7AomSbx8o4}R&@@L|krXaF8Mgg|1f)AXRY(D%-S&EZU6 zhNL?C#+LoV&B4Zro&BXT-&xg5K-q_=_sQ{$+rjz7k5}?TrWa-RnhHKXwJF8{jT;@} zk27hK!t9?~8G5cy=NjWj^P+}4j&6&zQmWV;GVgb#;X<={T^#y>L1$){QxiUxTLC8;^k3}wa|}FIgQ@Adu)}0Ss=+b? z&w)PaP_jv@=IZbE$_5Mzz#_qc6{MHaAOnN?$@h^Yr%H7}4B!dIkT(@-1`cX-tZ9ym zzU2>xHkZj2Ek5qmyQ{GSS`{b;tbLP^V{=$kn5j?~a<+ zoo?9sJZVq>_rZsKx_zx?1B@#Y*mT|2KfWT-j;*6SLi4qd2_~ZyFEdvzTaKqq3(gWf zFMLX1Lx{v7sfi6vLhd5T|$u2A-XqiaBrsicI?DCbK*tyd9r~a^o(@iBij;}?JsLw zks|=^N$Vg-8mIMOFXEWTPNoc^i%Xu|kA~H|i*o;=4(3X6MmZ3LE8cvr8}t6SLm)eE z+_BC7k-JY2`ZYPc6J9AVa~Db#)U00x0nd~+cf!(o;|H0KkBj;;UkTtQ^6y0)UlW{ZYt<$QA*E*E;c11R-Q3$ZBfPB{%AA|Y!;%(EJ1ze^h^!&-a28?1rhOsNkn%wO!*Q$$(70KU zF_e*JU_szc>u@p6PmM&NlQAt2sOJJlDVdzxd~lno`t|j9*M1aj$n?xbJ=E2U9(xqN z)V26BZBU*HDzDZ)lrHM)F%yl4x94cU#Sh-dw^q(&_Hy>{zi8Z)<8G>R_!=3-TjT~J z%;ACe z?KTQiR;X~U`k8JB_fRTkE6Qt{yt3EAIQfa1?g~$Pt~ z#aPj~&QY8-L;Hra2JuA6rdVxWFv#!waZiXO3vsQnu@N{kS0 zjhqoYInWGTui4AFjFZ?gJGEVy!BqoPZ9O~)q%CsK;Lq(Mm8XFg<_C`z*v)z|lP^+Y zz|7#2@>QuQMGg5R`t>+K4(Lq{w2?%l9;PqMDhFbX6&G_v9O5Dy7(BC&;B$`ltnyUsHZGZb zok&2Ke0{o^GN<}TU#8Jq&Bzn@aCfFXGW7%b;wk@YP!nTyyp+lsEr_wYL@k?|m7c{O zi-P5nLpYfeK_ULzw zec8rK*M_K!F-J#`{wIE>$}j7q#lZ72_KC_>5M`S!uWWrP0XTPe)K{8q;~U|VK2}z< zj&~~^+uJ&QPalf2cx_aX~Df5x930aHY<)72b%OM`HK1tNwI()NfVyLc!YMr_b zB;QM4QLZrUCA%3Y_M=`@tzaEAZc@=h&o(}*2t5z?!%F(q;JCCYe0TJ|y0>j5qE_2qrE0DB3-uc|zc75Kodf7@gsEht_v)0`U*F$Zwqg}9>HrlzHVdGOVWHYK33jkIv-$*=%21GiP^ zB;oQdUS(zFPdDgQ9u^75G?QA^oftJfEhd`_V|BgV)X?<|PIIoJBZI3xqHXgWOVN

~KZJTK?Cs#e6dKvK=#Q(4j=u36sG4bCD&L_)Sq*D1<}3LZcm# z(9zW5vG1@=h!c}^&QDpjKD+{>VX8}mfe7NYXg?bUHCf-`k3w}bq!{6s{Oq z;Cv+}zuu2X4xv+Zcg?rRbsA%(@cvCRisl35Ioh;SLVK^bN@HWBJWsSLR&d{qeDt>Y znaXWw7lG_qo*$Xz<6F%`TkW*+{e^=FeKVdopPiLU0}^%sgAQos%;>w4z~?T+wKrQk zkbIctQJ4Sc;2E1k{jGquL8InlOe`)l!4V1lk~gy-E;NXQFhTor#(HVG!Pz3oj|fJe zrsCL=G#+I59g70KflUhf9WPJS$3T8W(z)o%*&+rFN|^_4*G-fpl(}#B>qL5d%l}O; zPrNx`bo3-6e}jLH5^>TD@uqnAY10IR$1nV5 z&$RQO55Rh)9 zL2yV31%_^r?ik|T{9nFs!9EPv^S=fD85pMRw z=R*Jc8{smdibHO0Xo_h~1_1#UQBlz_rIwikzs;&0+DDI|H%wBUlD7U7YGn}0>H7E- zK4O&Za21xAD{_T1{n@vvXE~4T@fU^qqjn6&U?kw{_51gKO}%sdceew*C7zkJP;XeZ z8>S(1KRyhp%oaCI=8J9%+D z+I*3DB_=O08(j`1fgb;;3aWv^3rrf%m>HN=t83?#CVY3yYPuKin2;Zh+f-YwF&RtH`&bhu%Jq@^_j z_=Y9^lrQZpGATcnpL-+fz12IvD0Gfe9;#hkjZJ$JR+Ikuqgp44YQt`7*2RJ}vG}+U z!@GB+CiELrg3d}$XSX-UtZODJe%)*+8r)qtTmGZV7@!Sq5~yv8&-!G|NjLMb)sajj zJKmAhg4T7nfm}{2=2JQ{U>FV}tW5v2lUwH@m2)>dp)|aOi@l$czyqI3JkkiU684K}=`?;0Uw3O>d$pr&xH-{W^k)&EC=B|eKY-&&cg zJLIZRzalq$a}t9fG+9AbBK8(rn@Kmt{f=VDNW&k(LCVVXXvfd0J6?UKK%3^50{rP-5KF#yiOH3? zI2}28Cq5%li005rN%JKw7+Q+T$_a7LzdU>lx3jYYSC~}UYjeGq{VM(}Hzz0d_DN%9 z<@36yPvvhm^fR%x4gUo_HSM>ZW1Fou2FpRCW55*=6x`i|=sSh+;MLJmQrh8iY$Y!@ zDh3-|KDNcsKKhDJ_~807@a>mLvjqF%PW=;jbdBw!L&ZTZlOIPZk;mWi|8a6x<&Z8yiCK^d$q3*$Cl5&BSOX>-i2_ zP`7gOgZlG0>YWT+IsT}8R2;YllZ!jum$v=5lS>2tITac0?{osQQB&K}Phzhm$`7It zhB~bdGanN#bdurv_G*>Oh3OHl4|>FRswV?q~+Oe*u?Bz&9Geu}E80-PTlTj9Ch1-jOZZ|0Z#DvM(~vPj3V<|+|HgvA2M5x7z|W9 z96tq@5z9-kgkg|v|3*-0d4Z<@>bc)H2M^n^NK5)00dqh38c}30lk;`w4o9G_4kP`XDFP(l%y z%m9I4kY4Lw>pOc$&JO z;dz^3*|vzw=veU|A@8QsW$#0|$TN>;XKW3#E8IP9d{pP4AZG(}BcW<&pg3b!z&4p^ulV`rmt8VYuz_4!Ev=Pyw&Ezz%p zvFep4Amd+f%@NcnzJ0wj>j@skZN2_Y1Qj#1lsEWB(v$r7ye*UUnIBun6N;fBjTt=t zXJbb0;Wx-R?3QcY+V2w%%@P6x#T+-5to&Suw2}sHXwye!Sgw_SG>Y@yKj^Sc>Q#ro z!Eh3d!Qt9$x|a-#y{ItEEyQ@oClW>Rzu9tU>F65-8!>1Dq|}~T+G z`sGbuO8#JX0$Z#3^OM>LBrC(Qjn%vN<@y@_@SJ_2Tep@Dn}v)tx;Mr(Hy0lhu(&TN z_#dTahZO$~$2yn64`|#wyz$;gDkEEg8t{Sf8!XS>P{q&9MrAW1Ep&oj?Q7QZs zgCTQ;osrbK_RJRvEG@qhduy^~t)^Gs^j9OqD3dMW&Dr$XK{T;iQ;i$H{u4$F`C@|M z^Xv>PEL|||Km1Jz{$wu&&m>9N#+z^_3;%v#go)&X(RZ@tDqcOvw1ieT^(K!z1aVlo z+)%ggenHss>nw{N7smd0ocrg{MS23WB=i}WM23ztO%%UwAuw4o5#2M>xqZG5=CYnR zCg5iE;Y-^BzrLKGM`NLeaQNY(#ObZc?;=Pfm4KrZ)2u^?ub z&9F1Yei??+#*ciQA#^V0Tzik++hT?vRnL)Z9R5=l@d8l*HcNee+3|>UgSWnJoAc&W zuW1|8xPoHA>G}R3B9K~eJke8LLm)qh7%mE;j5kCA&O=;qZ_*d7O>0>f9&^RDo@=vC zib>P%M##7s;=TM>bl-ME9Om8glN(8vj`O@^i&Tg%l$fTDiLT!u4?9n z(R3^09wjy7)80i)T+iT?`UuG7k|f}ZeD2T+`;l)Pa(Jpz?}_%BIbM~+MhYnsCu`k0 zLqFbrEAFhq`Sy9BDQBJ?Vc&_nBd;Qa5N*)(1Hp@oeLbmxRlZSxF z{U?l!k*xM}kLLFUa?b7(#Z-Zu?r#5+`qC>p8Ii|Sn8nag5tWO}V`0`icXGDkJC5z$ z?3jh0=2zFk?uYQ9gcyzq9c>+JJ!!B^tVSA#q4x#jvGs>dS%{f>dFEOHjLxJpaS+LHdG`UX|3v)J)n-*Jw~93) zT)A93#&Hu{L);ew8h<8R=nD)u`t|>c-L=G@PGNb4xH!bz>MiH&gV}{m(sR{oYY1bO zBPQG>W@OWm!e^3K9!G7Xrn>el555EWtxh#Q$hO(V6?>yqk~&7VFw|&ai+wEx8X=*2D2G6J;_VF?mFC7GRb^pt@b#~pZ~S&@^&=+ z=v07O=|vQ%(ESm{Y%GWJE6Ud6!duJ_Zj#;vIgqNj)d1Q>|EPYkB13YRy5Y*x@~`Ao z!w0{w-gkdgV&u%s;Bb}49Qu3@9 z2MI9oqI*xV#=GUKtN5%(gcMTm`v}x+-wZ%&7e+KR zM>@dm#`lQ3pyDq;*>no|kI=03L2cGWMHHnw z+8sPnd{u7AOD$-k(sR7ub^%8q?78k^|6}e>;?N%o(}~Um<-E+edGb%7Y{+RWlAuHX zB*YIWC;1Kkk)OoEP?4`YmA?LY{cj}SpLdlc@uOyj?ho5TJm@hp)%9ab6b&Y=K$AH_ z$HllOiF>;*eg5yqY$P19UKD0`h{sZ=m}K*x-D2X${fs4EgT_OIy z5=!HP4t>i|ZONnt-&RMpli=@vMX%@DLK<1e{(ihU&@MbmNm!ey`j{?j(9k*>Ckc2v z(Rs zbO4te;yR4tr^K8;cb;VKtu7)H^~oFFwt`y^XGe?J4gAG+U0QEVo-zrY%p5=>xJzKe z3>;)&n-_HbBD}lP&b*3udHkg@&$RhuA!CMdb6lisX1-^>w!;@gldGw>7lcjxTQoer zazxC9`3_Qkr3Y#H+%!n|+nv_^gBwQ#0hIRy*1&$TtA0k<;4~=dP(x9JUyw-OY#9H;#lF{|Z0+*?`Ze2gN z19~0In|{{LRM5NX3~iD+D!R)n_+K1Wkvg8&n`@Oc&EM=%OAO?61mopXltvD6?U4-k zLRnWvCclG@1)J0Go^FClno#Tt|M_1KKV=KSRS-bz)9175cD0_85&U5S=6UpHrOZ+J z6!B2p@bIuc*^!yd$$!GgarU)iblct#j1%>2LB7o5=a$`QG40GMXNN>GOMd92Aw{V` zl8tYJP!*A`Me}C$AY5$fzoZUf5HYn9hNbn^H+Hk4R2Sw2GM2Qt=8pM?3_{Ql!W#)?hBkq^7)RT1Vs*}GbBA)ZYM#DPuTJ%#EWeo5@bpw)znO*{s4E}2B zQYBqL1PG;MPo;S!->fG#di?%USNtEW=}XPztFmIP{F&V3AN_ucx#H9-h5dw` z9a}J=B&P3CFb+vXY-5tcL$n`e}>bFtX%fL;mvFPbS_K8 zuBY3P-_SD#ojCW${TqBL{tDfrN7G&EzJ$;wD3sR)?^4(s!!TyN)H|s+hYGw)w1y9#< zyf&%EVd6*U`$t<-KU}7{Df8(2+Ke-rx79HRYr{4kSWH|tEz-pI@Q-XxN0(U3;-@U* zS5GBR7YV`z8u;}9m{m$#4pUriu;hge z18OuF)J|N)*6pGJ5JjvHM*ll9Pev3F*<*k^Cqzg*Y!wK!6=fbP{dZ6q>_!87ehlHO z(hPuLo3ltL6#G5P%Zg-GcAsVZjC-l^5*gle!4Mhz@`FlqqjldP*sBTw6;WVNRd5Y( z|6SuSaa;duZzUU9kao75YSYi}n4I<>OKdy6PQ%&}0( z4y_I63G2KX>`!fkDbg|C1;7p{DYs940(4AQG`)>44J5qUHtuG)*EE!g33(I3^0XD% zi8xSyjymByx>x+fm=^|r03k&^uam4N=}_xc!WkGL%QQ>zzR0J?Re~)cO-Ze?#BQ(S z(;Nm3n3<8&kGH|@4ML_EwfyT`Xew+T_8rvF4!(;+SOO?t~xlbB@<=fAX%x`?6|-r51FyO!TMx z&;1UN&lCz?SwO!0N>9{cW%)(7;ZDX#4Zy0`j!H@=c0>Ri3x2Jfl3ZNUWRRi6Gu-qv z&yx2i!*j?EfnCN^?UesPQ#u@`bbZ&qyKj!njie+|W@5qW9-OXZPWZe87?pG>Itf&V zv9PAOSA$KxlXV`7_tW^<+2XYT9aaigKt5mHtQoIrfHKE`@Su8Z;1YHwF zB{#o+cYG@hJk3cw5-AHfaWmdlB^-qch9*uc4uE6>aHLj_diM0s8pl&$ILPO6c}fE3BA z(y|j7_QdHfS_yQD1c zMtMQ}4(7rXX}2cF;c)0?zEB@7ChMIL14C<=?yeft~r_}S#|e!M3D0%cZ7D;+6y z&d>7yH^Qo3iTA`cP2BIVhNR2GW+O;Yvq<2jn2e~}((>{UKv;vuHod~VzOboh-30jS zjq4qq1^ceRXLr8R6=G(TXN&u=v*Svw4BF)M^pgJ{e+@&%G3H|-4<9=sLHyYsY5R^% zn|H2!_L|Ct)In+emQfwpOoT>Q7HtrSf{Y_f)gkY;aL z4HOFEvBUawzGnP~>yPhaT{{WF6a8N8XUdB9;nCLaPl zstk-}M0vPpD%}L+{ww$reIUZOuB7R0lq1jZrOdMdl62r92pZ@uS0$!z%HPm6t%3q~ zgJ~JO`Zk;zXjWxP47NrC|L>%D3rI2wm$v*>%uoA`EIBfhDi`WP2JZwT|*hiU-vhh%ds*+AyxD7sP zRYAz?)ccFgTDN}5<24c*DJP5E^nt~(>&A&Q3KJf&J-i@5>o>1{?kVsl{|(?0isAPX2;KDj4l;TPk+P#~&R{C^X}o zt%5`UW#|;0Y;0@O#Ke#PIR5I_8C}xD>gMw&WoIugDywi^f7z)I!BUJ1;(!>&coaxzN_umE2hgd{K=#`On( z0B>3?4%o^rqf^IGcS&@LRZn7-6VM+fI&@7=|J7PHr3ejfl(|MV(+mCfy=3aVI~xiN zkSwSR@>Mg_UexO-glzgj7UxN6rEbMG_JQkXSnZ(DqVG=6;jWi6l+R_lL1hBA zukZNXROMb;Mp(456E-bZp@liAR}i?qYTY|-H?NxciT`}t7JNs-^jirOEG+#9ahv{v zdqj_7!(4q6TZgym*MlUB|0!omG!B~#{8!OTx*nGysYyG#4~nFh-Lmw?0+LYFCap-C z!kwUgOX&XTP)>TZM*K&IS4bN#+S{*t>c}~n=nm5IcYj)3085?qN(6Vt8};vV(JB&$ zBZ*UiIKzJ{cgacZ@VphSjfE9;E;AjIkPW4A6{Xa))W|hw=JHx77p$RO5)os0~J{1L#;flOs?_wWtpuoNBa{+j% zpT{&RQPxRGTfKj;b$;%ffUVb_BVl5Z8fwMFg+=1Fen?MUo{jDid#~~^eVi%GRY`w4 zBU$fdY#NelC5%Bz^~AgBC@EK+A150lKN(hUB-DAV*n`R=r-Dk_*m*Fz@)2Xac6O+H zTbpIY_+$;)@*)cdD?H)sQ1cDk3tl2|y2uWEq?$bxrfJ$~ZUjMsIp@34lAznDtdHy> zg*Z_%5#&>H>x2-=cvjTO$%)Z}Zv+8G@x7sY+Ui)FvF1jSGGqZjXXwf9~0yhRivIy+bzk&X@y>e99 zayr{(H%%P+(>0hr(E{orrICn!i*9$>1gfM4=kb$Hp<6w-pAwXgX%=jf!&gG@Ps~AS zFVALkc;Ni)?Q&|RF9&aNsMX3jO;7HGu0;`MxyeFgPISS!|+wfH@y2NEnuBy`^V;1IjvaAuKl~!-nX$gIhsEo|)in z*x@6!q{_)$W&$S6fg#!m$vfFh52DtKhq%Ku;Ta)4-Xe2X>+svT^7{tLT=kd%PBD zzBtl8-0vqI#Mc$96q*e`j6Jt4OD6D`g9v05W%G;+!lN6 z3-d#Js4tOV(fwKh;QC+JYc`kGk*RZ8lWO%)5E*Us)8NU6KuCk{MvLtYn_G97fRsw* zS{eSRp3F$En1VR;-=kIclFYMX>&Soh3N5OSdn2S}-RWUyP z44hB_vNuR3m`k(BLg6C1Fjz&M&A@_@CJ`x32IAcfu1Ps@+MaI3B{`_o)f};KO^LB# z8l?cFCGW1cMNgt%9H&UT%DnUw2qe(sY}_VkYsZMiBH_KiJTI``y^WudfV6A_n%-%D zIq{@-xn{e`p*-0bA96l*Ov2p)?~qe&u&QWJTWM%OIap}SeP4y)+rhq zQb^>u2ov@Q|Neo_yX3~IH?n|N1p;w>Bg+elF0^k)_7$|v8|&Yw@jiR@Oq!O42Ol!q zDGUQBCVkV7eBBbw^{0%=7I@@qReh9CY-+#%lt%tM9Ouio2K@a@4Wi!(R=IkBJiiy(|w=24=u#$%91 efa6yXSHvkgkM-$(zxoJ%gurD~UKLB3z5hQ&bL_7G literal 0 HcmV?d00001