From 7bb09a38c13da14203233190502fe6732a856825 Mon Sep 17 00:00:00 2001 From: math65 Date: Sat, 29 Aug 2026 12:57:37 +0200 Subject: [PATCH 1/5] Add sharing of the controlled computer's sound The controlling computer can now hear what the controlled one plays - music, videos, alert sounds, the other side of a call - alongside the shared screen or on its own. NVDA+Control+Shift+J starts and stops it, and the controlled computer is asked before anything is sent. The sound travels as a WebRTC audio track on the peer to peer session screen sharing already establishes, so it never goes through the relay. A sound only session sends no picture at all. The sound is captured with the screen reader of that computer left out, by a small native helper using the process loopback mode Windows exposes from build 20348. No web API reaches that mode, so the helper serves the samples to the signalling page over a loopback WebSocket and the page rebuilds a track from them. It repeats the protections of the existing local bridge - loopback only, a port chosen by the system for each session, a token compared in constant time and a strict origin check - with the token passed on standard input rather than on the command line, which other processes can read. Leaving the screen reader out is what lets the forwarded speech keep being spoken while the sound flows. It reaches the listener faster than the audio stream and with their own synthesiser, voice and rate. On an older Windows, or when the helper cannot start, the browser captures the whole mix as before and the forwarded speech is silenced instead, so that the remote screen reader is not heard twice. Which of the two applies is answered to the peer, and a peer that predates this says nothing, which reads as the browser capture and keeps the previous behaviour. A connection that drops without ending the session now hands the forwarded speech back for as long as the interruption lasts. It used to leave the user with neither the sound nor the speech, and no message, for as long as it took to turn into a failure. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01AV4tMCFa9DeRWUSGbKuCfA --- addon/globalPlugins/remoteClient/__init__.py | 33 +- .../remoteClient/audio_bridge.py | 162 +++++++++ .../remoteClient/bin/nvda_audio_capture.exe | Bin 0 -> 767659 bytes .../remoteClient/capabilities.py | 9 + .../remoteClient/configuration.py | 2 + addon/globalPlugins/remoteClient/dialogs.py | 12 + addon/globalPlugins/remoteClient/edge.py | 4 + .../globalPlugins/remoteClient/edge_engine.py | 9 + .../remoteClient/local_machine.py | 12 +- .../remoteClient/screen_share.py | 319 ++++++++++++++++-- addon/globalPlugins/remoteClient/session.py | 3 + .../remoteClient/web/screen_share.html | 261 +++++++++++++- addon/locale/fr/LC_MESSAGES/nvda.mo | Bin 31352 -> 33586 bytes addon/locale/fr/LC_MESSAGES/nvda.po | 68 ++++ protocol.md | 54 ++- readme.md | 58 ++++ 16 files changed, 944 insertions(+), 62 deletions(-) create mode 100644 addon/globalPlugins/remoteClient/audio_bridge.py create mode 100644 addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe diff --git a/addon/globalPlugins/remoteClient/__init__.py b/addon/globalPlugins/remoteClient/__init__.py index 375b04d..6cd5c6e 100644 --- a/addon/globalPlugins/remoteClient/__init__.py +++ b/addon/globalPlugins/remoteClient/__init__.py @@ -204,6 +204,7 @@ def __init__(self, *args, **kwargs): self.script_screenshot, self.script_screenshot_powershell, self.script_toggle_screen_share, + self.script_toggle_remote_sound, self.script_toggle_remote_mouse, ) self.is_connect_dialog_open = False @@ -1003,15 +1004,41 @@ def script_toggle_screen_share(self, gesture): ui.message(_("Not connected.")) return configuration.record_activity() - was_active = session.screen_share.active + # The keyboard follows the picture rather than the session: sound may well go on + # arriving after the screen has been dismissed, and typing blind into a machine + # nobody is watching is exactly what must not happen. + was_watching = session.screen_share.video_requested ui.message(session.screen_share.toggle()) if session is not self.master_session: return - if not was_active and session.screen_share.active: + if not was_watching and session.screen_share.video_requested: self._take_control_for_screen_share(gesture) - elif was_active and not session.screen_share.active and self.screen_share_took_control: + elif was_watching and not session.screen_share.video_requested and self.screen_share_took_control: self._switch_to_local_control() + @script( + # Translators: toggle remote sound gesture description + _("Plays or stops playing the sound of the controlled computer on this one"), + gesture="kb:control+shift+NVDA+j", + **speakOnDemand) + def script_toggle_remote_sound(self, gesture): + """Start or stop hearing what the controlled computer plays. + + Unlike the screen, sound is useful without anything to look at and without the + keyboard following it, so this neither takes control nor gives it back. It can be + turned on while a screen is already being watched, and the picture then stays. + """ + session = None + if self.master_session is not None and self._is_master_connected(): + session = self.master_session + elif self.slave_session is not None and self._is_slave_connected(): + session = self.slave_session + if session is None or session.screen_share is None: + ui.message(_("Not connected.")) + return + configuration.record_activity() + ui.message(session.screen_share.toggle_audio()) + def _take_control_for_screen_share(self, gesture): """Send the keyboard to the controlled computer now that its screen is requested.""" if self.sending_keys: diff --git a/addon/globalPlugins/remoteClient/audio_bridge.py b/addon/globalPlugins/remoteClient/audio_bridge.py new file mode 100644 index 0000000..20136ab --- /dev/null +++ b/addon/globalPlugins/remoteClient/audio_bridge.py @@ -0,0 +1,162 @@ +"""The native helper which captures the sound of this computer without NVDA in it. + +The browser can capture the system mix, but only all of it. What this computer plays +includes NVDA, so the sound sent to the watching computer used to carry the remote +NVDA speaking, which is why the forwarded speech had to be silenced while it flowed. + +Windows can do better. Since build 20348 an audio client can be activated in process +loopback mode, capturing everything except one process tree. No web API exposes it, +so a small native helper does the capture and hands the samples to the page over a +loopback WebSocket, which turns them back into a WebRTC track. + +The helper repeats the protections of local_bridge: it binds to 127.0.0.1 alone, the +port is chosen by the system for each session, every connection must carry the session +token, and an Origin header that is not the page's own is refused. The token goes in +through the standard input of the helper rather than its command line, which every +other process on the machine can read. + +When any of this is unavailable - an older Windows, a missing helper, a refusal from +the audio engine - is_available() answers no and the caller falls back to the browser +capture, with the forwarded speech silenced as before. +""" + +import base64 +import os +import subprocess +import sys +import threading +from logging import getLogger + +logger = getLogger("audio_bridge") + +#: Build which introduced AUDIOCLIENT_ACTIVATION_TYPE_PROCESS_LOOPBACK. +MIN_WINDOWS_BUILD = 20348 + +#: Where the helper sits, next to this module. +HELPER_SUBDIR = "bin" +HELPER_NAME = "nvda_audio_capture.exe" + +#: The helper prints its port as soon as it is listening. It has nothing to do +#: beforehand, so waiting long would only hide a failure. +START_TIMEOUT = 5.0 + +TOKEN_BYTES = 32 + + +def helper_path(): + """Return the absolute path of the helper, or None when it is not there.""" + path = os.path.join(os.path.abspath(os.path.dirname(__file__)), HELPER_SUBDIR, HELPER_NAME) + return path if os.path.isfile(path) else None + + +def is_available(): + """Whether this computer can capture its sound with NVDA left out of it.""" + try: + if sys.getwindowsversion().build < MIN_WINDOWS_BUILD: + return False + except Exception: + logger.debug("Unable to read the Windows build", exc_info=True) + return False + return helper_path() is not None + + +def _make_token(): + """Return an unguessable token for one session, as local_bridge does.""" + return base64.urlsafe_b64encode(os.urandom(TOKEN_BYTES)).decode("ascii").rstrip("=") + + +class AudioBridge: + """One run of the native helper, serving one page.""" + + def __init__(self): + self._process = None + self.url = None + + @property + def running(self): + return self._process is not None and self._process.poll() is None + + def start(self, origin): + """Start capturing and return the address the page must connect to. + + `origin` is the local origin the page is served from, and the only one the + helper will accept. Returns None when the helper could not be started, which + is never fatal: the caller falls back to the browser capture. + """ + if self.running: + return self.url + path = helper_path() + if path is None or not origin: + return None + token = _make_token() + try: + self._process = subprocess.Popen( + [ + path, + "--serve", + "--origin", + origin, + # Excluding this very process is the whole point. The mode excludes + # the children too, so anything NVDA starts to speak is covered. + "--pid", + str(os.getpid()), + ], + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.DEVNULL, + creationflags=getattr(subprocess, "CREATE_NO_WINDOW", 0), + ) + self._process.stdin.write((token + "\n").encode("ascii")) + self._process.stdin.flush() + except Exception: + logger.exception("Unable to start the audio capture helper") + self.stop() + return None + + port = self._read_port() + if port is None: + logger.error("The audio capture helper did not report a port") + self.stop() + return None + self.url = "ws://127.0.0.1:%d/?token=%s" % (port, token) + logger.debug("Audio capture helper listening on port %d", port) + return self.url + + def _read_port(self): + """Read the "PORT n" line the helper prints once it listens.""" + result = {} + + def read(): + try: + result["line"] = self._process.stdout.readline().decode("ascii", "replace") + except Exception: + logger.debug("Unable to read from the audio capture helper", exc_info=True) + + reader = threading.Thread(target=read, name="audio_bridge_start", daemon=True) + reader.start() + reader.join(START_TIMEOUT) + line = (result.get("line") or "").strip() + if not line.startswith("PORT "): + return None + try: + return int(line.split()[1]) + except (IndexError, ValueError): + return None + + def stop(self): + """Stop capturing. Safe to call at any point, including twice.""" + process, self._process = self._process, None + self.url = None + if process is None: + return + try: + if process.poll() is None: + process.terminate() + except Exception: + logger.debug("Unable to stop the audio capture helper", exc_info=True) + for stream in (process.stdin, process.stdout): + try: + if stream is not None: + stream.close() + except Exception: + pass diff --git a/addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe b/addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe new file mode 100644 index 0000000000000000000000000000000000000000..1567b03a2b4eb7b3d92740f4ca932b8dc0940cbe GIT binary patch literal 767659 zcmeFad3+RA_6ORX1p)#Ugg9{}YQRJh69r8qNH^&~H8dIp5m!(&E+`;$18&&R-9TBk z;tbjmLB4 z!oHrihkkyYXKRkleak+_-Nos2TX zMaMJa&*$+p44SD5=FdaM4CF`g41K4Z@07tv$Ded*JMszleJkL9Y*8;=~%HT>rZ1RmFeaxDyWW)2~e#%vpNx4_~?+lb9{n+n}KOf;$D*P^I zR@8yFem~{P%cNnG{aE7Qw{d^vPCboHIgK~!&`Bt6!KEwT<_YN4}%x%7xaAK|Ah=#8Vk*gbxmbuk2KYDCc zQ5uCZlo-YOKx2+Vqm^jn>&e`!`E3M>i~PpAP%_uY&tz`7q^`i*@$%Ma{c5}ywM+4} z1hC6GU^mx%1Di*bR^6BFY4%7@h9SkM`DV!yv*w%cEB;FXXwo}+gYT! zW-Eoutl4^%ZUW(&jk?MIeR+7dfCCGqjz!{jeQ1pp>4qd?lB#*e0{Ma6=L>T@?Jan@ z4eg>5UTZ8o*Pw|8*4E9jYmnBUo9DM|*R_9iN9J}tcH4GOfNF~1J)Y@@;?`B5 zNNPB8sw5}T5GldODbg!8jgOhq)C#;!l($A}@&pcdbFOtmj!+6&-~P%4JOE$)(p7Su zDkq}~GB%)Cv#6BVZQpnz#~|sSNYag(<>9)thN#2mXBY{2^Wjq`e95LuKQT2rLmc~yIR`@XTJ!+?@6bMXIiR*H!Y%3eTUl2(Nb46Dz*;|_r@SFErEbaj7fc|POGxD+ zJvpSuMdYF#?FGM`PwrmH7N$zV7ABa(Og@qYUth>_n{*@hi0dFwZy~A8O=`lYk-H*@ z5{cbmDB^;{P)1Moe0)>3r+ounPG>h`t4c1uY|^E6Kj2;G;s|lPko`yw8Nr876T5p?kNnmlH_=JB`i}>YV-5gQ?tx;3n9!g$WJRsGZ z@a_wGo5xmup~dcCIm49IU!&)pzRap{hPjwU;eFYY{;vFxhhE|)BOz@4b3QaI|}`quAX21)f=rMAbApi zXlqbopgj@P;`kch)|78e^-0$!o~weD-^@BDjpG2pakJpK*}gz3dX_`BJ$48mofyW` ziC*(ReF&xWWT4m=G~Uw9^I)LvET#=3VQRsZw6+x?BVJ4c5HhYT_US;MzN`nmt@T*H zdojxsH2aM;r{{&tA-!VImEL!QmG4H5ONEKQZ*f(bZlVD_w$iH`*B9$efikZLCBoyi zWrz5|K4!RBH=0$U%5Ae=(9KYB1qP!A)Himr^&)o7I_;G#urC0o ze#ds|H6*59S)!W?S3UW=;wX~zq zx+SP!|93Am9rWyf?7L74q8nh{72cq+Gh{Tz+VZs6eaHY)?_QA;?h!D%)fnCV&rosf zUXc~cxG#lMC#=Xuuf<-B>4*@wW9xvMnUm z#moGi>Zp;&q$q&vMs>a#7VFIr{j`qJkZd#09)M2xjn~W9`ePrq`i-@*#=LXPzIkUG zeR~BeH_iMkl@tvWv_R&|1!7EznQ^mFNe6Dyho&l{iUOWRYdNN+@!x;OG zmnrTQc;z2V0oB+Hjww`+6q}4Egr22=MWA>tGhu*5Phe&ve<;9mp4c9*c2@|_9~&rx zphERc_B_k1Q1a1YpGukNfo`g$PDk4h;K4t_*2#zZl$9alQK=m?2R7-+D&=1ow?Z{0 zKGWh~BhaB6wspv8j7)Mc-oMt@!C*dDTnoks8gK>n_R0zt!z&u8e0>O&Dwv-fayKYnXY_^U-C_MB$T3%0AxLyw*IhGEhfIq~^ z-=RDCArKktREl)#$Uh-kf`zo_yO9}Jx115_86fhwor;ir!`0HwEa!a@&+nD){?83OY;*nLtXOP z3m&}*vj8>jE;`08L1?;+m_mp)FiD*Lbu0`><$tuhw_>gmy|s9SaVrBj>&+sOdU%6VAIYZXqtZ&wXsOe+X&dW_VEJ0U z@79~E^YMi-9WsA*4wUEhyPB&DC8fE#h|lKg520sgH*YCSv}=oXlESPmlI{=X2Pj73ZjVhZ@kaU)5-_Jn+oiqW z?nsWOp7fz-@W+1Hp7PK9&-i-Mw_pIWe7!V;+I3JJli5dj2w9%!vv`Bzsbvb_%X7Ks z^DIw}2No156PaUr=`9gF(ylKq5#Nbl?X`u9gYLlisId^3{6a=Z~;*)>nYf0?M^w4HV zBhcP>Lff)}M_fV}dyHN^I_t5{t%2N=&kjcux=DqZuDZus8Gtuw>;bJfdx3Wtf=sX} ztMUFUPimNJCn5LJT2gPL3S#N@BA*fiY0k+TDW0E<;?dPSaPe2PusK}FGpuz)0Pkx4MM^9EkPgX%s zzKtZMCs#-8C29T0RO-j_^~xPIZ|#z2JqFR`BoywY7B_@0N@y{7j#3hx1HPj?S|eE= zoPI0N#1LGJG7pd%_(P5Mg0p8*I2HOz-6rm7Yj1~|73I1Jb2Eo0A49VJ8~l@|=XmfD zhWVWn2s->{-DrdPZ7(<;S_e(NkCCS`1Z5vUYpEq}J)_NjK-{l5vFJo6h;_STPd-A+ z``DB9Ncw(z@)UD3?8zmwpymU`wf52Qv^YO?dP!elX#*T&VcT#%W{nf=r7~zy!6&g+ zi?iQsJplH3TE@w*C1$4E$2h@*ndr4I>8O`MS^ICD`ser>Y_S0y>}YqgeN;z%Fs~Lr zC9~bW;E%p&_lR`6u%q;xy!KWk5d-B&xo(rgDV8xH%_QN$bh(5{_s<~xQ5LEp@kb1m za75LN9FH(udqE>esATo-v5?iBZC+2^5~rVFJt1i=c@Siuo0iteOyR8K&?A(zmN`Xc zq>K36B3~SiXsBWkt;BIkOI)Y4#BoaJucFi1X=0LgZZe#alj)3+!d&EZq?h7NyZ z=k5&tNmhHo9oGaZH*3jF%pmLdp8>D5gN*jK?1M58W6eO9Jdn7Ax|AlMLf9nJG8DBJ zyaKY(kkYtA4D=*=gI9Wzd|Hks8logA z>1oPQI#iL_RaT9m$~G;2FYNp-ZMrI`o0o75Haeid>@p5eW~{39Mkx}VR^Tse3-E~- z!xe%uhLzIFza}K3zM${Ud8G^oby%S@sOSfpyvDvzh)@_%O_(nBOZNI{jXZ8%on*dqfX zv{$2Qy*#XAK!WZh^$j4X24orEI3TrHu7JXq0YQCtKonDhx&pHikrplf9(+tSAWVdv z1;@i1w+IRZ6|TpCuqp?n!X1#eSbzf}urMHeazOCppF1E-uC$d+lrkKUM-S^55c}mX zq3f0@Hd(w>0NKOA(zJWzJele4u$E&*fTm9|qua15?~k?T&6@1r-JGK(;^34TsN}wB znEA-a(x5`wC5M{E~{pGWpSgK-jycNz>4OAH2{vHv2}(GMNj zy%NK*1gw~NC)`Iy0~BAJzk4MHV>2hdnS+6f_Os{-T*tjwuMu>V+vS&N!nKGKTg5;p zBL@!IOeXgvmW3Ui_&3*mj7Gn)5hYqip+xFSl-Lc!1;=0_hM?!pYH(mO_n&wKAi1@= zRIwerJ#Q$N3bQ12{t}9zY7F5lcgu zjs?&n{&s5l!|ud)T}YeOP>xvn7rWE*OH@MOhLuV;>en{BKK6=y1cwJy0x|8b$Ek3E zLXn^V{a?QZ1>0K~h1ia?RN<1bu)~RdlJ7X0M74;u3X#fqpH5`S^86cXwBn1B#6M^X ze3iLhY6bxx3^_o)h%cBtK=l}TTHMALRLtTJ@C3mKgH!4C_(a47yxq8+U3KHsk+>o!Z3hp~{At@3TYkQ$*$zi9_Ic z>UzEL<1Cp-gi1H-47B!UuZ_1u#s_e6gWfN#)=D_JhAQnKXn!QWjSpm8s-Q5gSW~`! ztYOy$ApInxb;g}pZjbDzq=F3QO2^iht^}V<)USO0zb&(RTUP*UWEU_U zlxRW4Epn81jB>o#y1RPRP6x^D3he$cKzA)(mOWY0G#@jVIcc{sJ5k zBQ6w7dmzR|1|3WpG+JQU!=v?B8=RN*2tyey5|(`@k0Ds-s{RN$U{-J(brlu=;@%H| zXGbEHc+&)Onn?>6;#>vGf=h+Xn{pV!R^nxUP0ts_(;8!9onI?i1F@fn-3mSbL3Pvv z42RLqT?!qG+*2B~Meo86GZsX#@o4dr_=#8$8-)^k5w#d6tUjF%0N3-h_?}#kryiYD ztU&KlkwB3|EmZiQfxm@7!qVc+cuL4cFWp<`toHz&I{_FXpeEzVk;VSygou5T?W($(S__`m?~w(F{^cOJgG{og zMuNoL95x|^xrT6q3kr!+PjbQ-$5wCo9Lv+Wg&y z?7^x#OFGq(hF(RM03vur+hot+NOb2Zr_vLhDhU?9Mpgj4;$*36=<9q|!OS$s=eoVx z;yxH&>d2kCc48BBO73((hN`Akz%-$x1*7*t4H|plGuXCl0H@@65fSN-&+&*V{g`~- zJ^7pV_Q;Kh`Y1sIZc!n_c0D;d3qr?j2nLky+t%-i8(5q9y0^)`0X6k!AY%Nx-TJr( z5rkkk!nxedk$nnEGDRia{TU4X_lbT58-XCO5ePzWw&CEEp$Y6A0MTJT4d}IP&mbxc zmG}uZ@X-lg1(NueLypwgI1bL?S5sj&sbEALG=70&$q<+L(com7GX6pA`eJ`(9cDu< z_>}rIq8lZbE&UlS(J^ASe>nv~*4Sq|2;2o->WnXz;-g3fWgb8&Vs|60I-qUFH~$D{ zGoQu|BJ(m|k!|70KfE%DZL}Bk2Pp07JBzo-*D3Nvc36mQrPdQE$2chO$?}})r3=ka z8L(J?6;L*Zy~7714Z5)!>0EHQkHFs2W8Wf3^A~axuy_FciwGSbs5Rsj)_OrkoA$&V zXFMq#tRPR|dLL`B655!EO(ydJpGid+(nTi{x=GI$Qd)~pBm$pEYTpo=(oh51+|`W* z;PsuP0Kp^B7QBCGMx}|?MSrIQ8Y-TMuBk;d4A+A`^ndaI%3ofce zzK{7110=djM;|RN0u!L4d`^k8V7wW*z8QAxq#-iw}YU>FkT1&gSQDQ!*ly z0N>KOrDF&rq=XqB=|;gs@5$Oi`4;=(R60)O@ak9C+A4l5m(wcF0`%hn-5&G>L;|zB zWY1+B@E2^h=xBdTeELx0Y5jD}AWPe<;b;q(KR~qcXHRE4oNu8koNu9|eb)B$3?Ql+ zMT@581Kp2EpnL*6 z6s|bYBn~p2GCp@^RL0w&OF?=rmF$t7o=Vv-Npss{AA7}lTxaRswo^UAv6|RmZ)BX$ zwcMDQ!PO&l5V#EJ+2_D6cOEYvDZ0)gMYnO{0n-jzz_gEr6EGILNZ=;if(1bA&+x}u zF{wEmAO779@DwhEAf`P9R8pS8G^A2Lk{r@La_Ds!YeJBbiAWvMge0OwQ*95$KsrO+ z9b0YFQ!_@lou#ut8LPv4;^MKzTcd`K1L*j>ZbE1Ps}6hi4wDSZ&zi+ETA z!wRvz;FZ7fEwNimn4KaG@I?I2&GS5zAj@c*J!aA!#d_u0s&i!QoW*k280h~I4V@RW>zMHbXX?V-xwPCkvbqZ7NaswfM~@pt)#DNUl0FQB;;0^0QTh&DB# z3Mi={k&mp^by{i-C=mIuPMa=kA<~lZTAem) zV;(Xak&YSFthaOUvBLex%KU&vVa~iJ?NF3XVOF$4ia3w>_F}-mO8mO9#_M_8f{m$sV?&_Zd-%e8Vfw8o{Z`_> zZL2_uGJFNPZ5V637>sRc4S8Gqu@AapWes!-U~s#-xYV55!xQNCYAC6DgP6U==A%H3 zwk+iF22Kri^{T8aWX-xxlCzkcrINFmJWi6cnVhYXbC_Hu$vI5UQOUVX?k~x?OwLuw zU6|a0c%li4^}WQCPk*&bgUBEfZ#kcn*(^b(#Bx{fcN z=&!$a8VfhN5(eW!Hkv;3+N)(^9w00vQdTHJu+by&DvbCLp4M@jl!l;CeU}phXr6j~ zxiqLIG9hpvRk0R-9xhmh{@@%mS@7!$h~jfwlo1z1fp7!sbNAJB$8nVec5sWAy#5^x zr6eM4?w>=cnmA&0dEYTYJJ?>xX)j;!bfZkqMB!p+G^@~~)?&8A$YXK|(qtcM5stuiHUz^hAr<;)>_d^X-VtE3{|XT4z>DKy zVCEj=&MIrxB_YgDm7npszV7p2>9--nVoZTy8BC}!$zL5@hrLx_X|cV4g#C-*?sP-< zSYHl6jHdK+Zd&<3_wEMeIq827sno546rH0W;2CXJuMKL93jxz;f;fMduI{2OcR!53@rk8US(sgl&UESHza`*(v~A7cgshjj6Kcsi;OpYhl5sV4^} zSPQW&0z;f&JyU@lTNd9A=v(K#2}3m;E;B=6()rQJ!CkFg{ka?ROD*0PS#F>0uKe)s zhC^=sracR0sBala!&(p!rG|pWDr*@kha9!UNEg|F`O157SOJdUA+q~$k98Jd8K2k> z34)oCiG5tq3}JvI+)C^G-B-^r3`%Oi`EBwvpn{m%}i7=7Z4oo1$-u~ zdvt9L83Au=DCx&0#x+6s6QRYb#dR}YfiIEiX7ueg*65ojZpM?y5`PZeTb%E@ zXKbbxqiH{kY?7NFblCDqwiHOi*;Rj;HNx`3=3-^aRWI()W4+2_UHwN+Avz43jN9|G zu9|Z4oU5*wrN1zJ%G9gECr`afsV&e~44hG>bMK!o|0ZI>p-+!_C!4OqCFHk>7(Pnt z6Kr(m8^rqiEa%d1iPBTW8-=4W@8lC6MI5Ibgs0G-wb-s&>~<)GIF0xbN^g3stUmz4 za_|xVWE(59MI@VD7!qu2vwrr#ev8IhkJlF7?UwZ~F9zD+hJTy}ZrBRwGL=#i1!U;h zQn=7ZHOG1!<=ETh>@D|SaX5x!2)Ws$ya83PKeY^H@hFi+!w|NtgCYuwBB_;vwqhdb zONo0J_;9NTfPx@v!?{+YQ-amX*IO%`PY&XD?LgHx*gumFDU3!LvIVyN038WX`M6_v zJAeaowprho4Vgn;I+y_?IpJ~uBX4=E!0*3jNG59wr7*Oj?q7a68%!3QeJY0JTWY}~FB2F~H>kzkuOR*}Cn~`Bcq@12t zQ~nM=3#G&P?)GH%KV(eAM&^B8#^1IZ0yivno;Pv~xWd#XE5fq0uk zm0!%NVgQY)N`EE$p2cy*hW&!m&S&iB_BSa+gpoSV4<|`CzR-;gyZ&Tf4xwVY#h^XZn75BdntJEfj*N;Rlb zTH;B}vFzvZ59Y=Xmw?=V%BGF)`Fpwt7g0Ira+Ru>=Kbf^Lep>t}p0@&J$hks{w_0Hdx*(OKqgY%S zLky0U1r3lP(1}y1pb_$-%!v?E;H<3>^F)JNPFt!Z-tI2iTwyD1FNP&^)q#B|a;+zi zp`B7Bz+}Rzhp?sG8Sz^zQvm`A1M5BmW>a zw_Eqa(_;%DnbF&Cj_;aoqL!S4ELwW|kC@5&0kUfc$WHkSkdHM3+55fI+5`gG0}&3; zmUUUIoOJtWMh8F~_E}g5mV1SD&TlF6j%|bK0+oa)NTPVB9vfTPICF+Ot;C!bB1&0f z9Tv2kIF-hsn)o4D*=KcDb7utq*bOe($v_TEJc~fVz9sHvi9aHPL7wv6t;X8$l}ymyq#0(Ixf-;1VJcw$qb*<7g1!3IrdtWnDo8AF9~n z7>h^?Pn%Wy8`XV^3@tbCcYDY3si!bZ^(O;`ui;i%$Nd{1inkJkI&uPa6EZ%Bu4$%x zV9Wa!Y7%UD|HgU#(|PW7o>~7@`T5Rspz}P=a~fukKa3;?=8-Az4Kh*Jol~lb0>X)^PK5C zuaKvE9<06p%+U(|70&ZK=Q+Z8p6Wc0>y+P7|HP20e}wbw?mX+qsPw-%&zqg+anAEl z=eg5?yTy4v={y%W&za8C#iP6Py)&rbzb#J}pP=z#tgT#~4~eyv%kTd-;8}8#=7MY43GZ$X8jq@?sm_ul;gx2oQ>fLS8OL$pNHx58;{BJ zWFaejC4JgSSO*VZi3?Kg2 z3s<7OSlc;sPKvdiHv5?5=$GB5AMV<_*&7}VxRJj*`xSnM|Tjs5rrp0eVy<}|*P9kZG zet~zawtes5B5 ziSFq(rx(`U{Ic3(&j1EMB(*BNKE=bCML3_BSkKMi{=#U5CvpfhXKYo`#T+l%Po40d z&yTfT6Fw%^HaoJJtAW`7g`MT7Fe&ny>^n263z@M^=5i`ynVX?TT7YI8rjdO{{z3$z zwPpFyw)4WhqiyGedmw;_rq%cc%nNmYeGy5S9Fxs5M`Ofv!i8~0NJ}^Tg<{*){zR0@ z^4If>dFm}WU%|7d(yvM3J}wp|E7SdV`xl+-ofJOQIvL0(8gAME8lids%pYsO0%NEc zb1Q$L)l0JHegKx7_as$wnFBlWs_Ln~F!h^^4%RJkPQMzj>c;D2v)N{K9>VvxPc!eu zYNBU;n+Jk&`(*PFbjU!~p3}5NTy=@<$(u7Swx?@&9^S$?#rD7x-Yn@kkyB#}uSZ=k z$e)j6T$o)N0*of|P8pVQ7>ONL6z{Re*o+tBiNmlf>y`wUd-k^Pz50u6k1Kp3NZr4X zjK4zs&(Dj1M&xDHfAiu(J@Jl~2mn}W`I4ADIJW25Igh)wA8sGsI2>z+Y_^_}FtK%s zmPpr!2`{`*H!sdl{kwzS#JM6@OH>oNg_jUH`wYB0a?kBT#rU*GOB!ZFm{diMO7(O1 zJI8Ly_b`SPECj`5!WFALC2WCVqU-`oADKEP-5yAe1N(RP_1L(8zQ};UM zo)@~tTC?W7l6oD5tz89P%r5DO;B*P72ut2a>s_6fx~miav46UmU)~Ts^U846$|c&e z^SrTb6LCs%&Q5iDL+WY|wrD@+dHPIRP=2&!y^|yURdvGbUI5V+2={aPq1W%l?BI3` zlCC|t0(E0JxP$82vU9!V4Y6(KMB7T|yv`Odz?`!0w}rHPnDad-2|a|JTElRD*@ON4 zqIrJ7bl>8^*}ld9%wrLUkzM^z&%#af`7d1D`J_bqJ^A=I7W3g>ujoBU^S@kroAZkZ z1~jhX4H)KmAdjywv3_nb(jtYaBi(W0%*&_vrXidgt2iZ0zCl_(^ts2b9UZr;lZ2+w7wPIU2SA<8gMVi}T;6Ux1Oi=UUyR;I#dY0HM{ z^V`_L$a?85M7wFB)8U2E;d`aS3o|;rHuZPak2L!^{ohv~onvOlS_|hCVp{!eskjCU zuqT49fs&7ybwaFl$eaqj-kawsyxLR5kz6seFxJ|G>@Uh8@@z-{#dJ{Br0G2l)9)Qt zoSXszf8f?xlzKz-v$@b6kC2Q9imUO!W@nDaWBVPC`(!*)_blOfa4;7kA+o^X4vx=4 zcYJL61^}Y^qwJj+gz;dv$kna^(3bhURg=P#s-}gpVzyI&~N9S1qcRbTK8~8xIfU!E( zcA*v@1-6d0U8KbyL&sxn6SeqQq;!ago(!{d7JBy03GCSpE6{^I+hHx$q-R=u7pm%} zh&v>tOKPCQzi$7UARmr0s5->A_*o?%Uukhz9cZbuTp4-Qk&#VJF-JyXA|t;L8Oc-% zYf}%`E%84GYHB%?M{L5ue7@8Q{mt4qaAE*5gPF}|QfxXzisIACr zN+ES>8zb1B*}N#l^7W~|(f^69@~N{JpfK!%|2a|g$szAzzHLuctecs>g6Z6>s_5hT zZ`LgA^!FPLh-1Q!y@6aS#%W4}Ub+r}pIc|kR;TL1-PQRy;oN9Nad;3V3p z_GR+9a)YW13H$axr8Yu4{)c>ORs*GySi@m~(gveirvzQ+q{15-UbN3NvEKb$vYOK0n()+ zD;$Dmsn9E5jOSP0aVr)s4Tw>uTfpn>=oC~ zI2Y5M3*kGC@zul;dwYR(%+WNG-f_Bsk)$cx118KQC_vkMO(N%t;eM91htRi0;#s~9@2>el-m%K$DSKZtH{*$Vn0<1QIJ1SElB z2z0s%OH442m45Q;cfjjm&qDCkpkW^g0F#&vV4l%N-$o3Y4ui)Vh@2~IFh8-5#35z) zurB?R`XkXj{Z%|8_>5=!3(dUvQSDuPeM>0uqL$c!1r~^#mbecu++{K~NcJ=~g~(*@ zVDA-XiuGJbl~HK0Hp-qcK^C3H8Wz@$(s=#??~vOJ=92#G2U+1~g$a)OW^}`za}0$$ ziWWVYsFZ;(iAw(tRK{kYBD3>g(kIHy503I^@myeoB++Ns)Zp{RtdUh^+9GVM<=~!v zZ0Et{eIJ{wjo1w43`UcEB*qVXl!?bfkUQcrpaYN9*v*x$Vr9rrX1y6sz2c5~$;^6B zpk8Kq$~W6NuA}^=ndPJVl+Sm{AKy{_?$olFn;88V((cwWYaT+qA^=fN4 zgS-E5$I}8)d3d7*;BLfz&TwZ@&g*vLutfoBvC6q{3#R*Me_gOaLuJ8yyg| zEo`eyqkRa_20y@j(R*cI#}!)lO3m%{C#o9M#Q)5!v;j?c^Q?2{x#GdqRhd}75s4M6|Jbz;)?+m9ovo8!S7k1-kl&B%-7KBfm*T~ ziz`zDG#mG0ZK~0-bu$LV7zqU=Atz_EgHixuW$K{-NR5*_`t}w!Ri+8jhSuFCKir0h z_mmc~Zd+j8#=*LcaIG5-Wj%(C2hCY02&57Dv1+}mU5V=K`Yv`I_8udtEj!Z}ZNEZ` zUxTW6n;Y(dec#*K3*yfZs*eZ^~HmwU8kSM**RDufo(>!Por6EIvQEn z+~pE!dt|P(F^1>hX`T(myaIk#wm%Qedt)2hy)AIP zM4j0SKoz&wpV>d$>y1P9>2;o6ol*U{L{`c>dy#V{PHM(|8B*MB74*bdfdh7PCDjL2^u zQHXt#9y>P!!twio(8iZfi`TL=*07R zb`7eN=O-ZqL=6y<{=vg(ux{mQp{pYQfO7k>gSu>%cI>Z+ZBUCx6%6YTzziBY>W}S! zS&|8JjKGA7y&SB68JuZzOo?3Bn2QO{&@s>($4G~;8M47E@&0`T8O1Ra2>qx|d8>8$ z3HFU>H`6&C2P>VS`>7Hi_?Ufbvd@QNGH=P$h9AReF>VRDPSiPI?+|qXG`)Q~KJ?@$ z>e_%g6`uJNxINW{=2YGKq8NOEa?vw`h&I9K1Pl}~rc@YHb^8h;MDN5)VG(ChOMV5; zQC<{-52KC2jc`Zp^N|{B&DRnem@RtUjZ=@m^))V3>F90((J89&Q(%@=yt{&@Gu6&DHBZCp2<8(@ zS5(#bace^$Z$;$#szHnjlpry_KI}_f;_wOCX^_JTWgnq8%3B_WPD9tt;5y4bkWQ`| z6fUhgFPu|#PNYlpCT~snNb=@NOipQ);3YpIE;cSogny}<%Q8%71(}mG+#>1CkmUSi@JWpoBVvTuA zqqURXjk3lA$w;NDS8x;&9<#?|VV3?rN|x`on$l$>ZwRs~f))UKh$X|a!tXlI_jmgb z&54|71}DznHzexM* zF88J0SNJ;dMxhr2ZkS$0AQrW_tS_v^?*az5S4G>Vg|Cjb&A=VNvf8p!)>>Ae>H3RN zz!^n^OhJ!kUhT(K0U_hcCDFE z4*Fu(5DflHHF2DIUPu7qX>lcRhL?HRkQ$zaL=3P>^heufYl-bBnjG0u)osoM>v4FX zh|*wh0pc@SGC?Tc7v<#A%hf*Z`3>%pX>40rv*$Ea!J;WPb$L*)(T zjkP#3zO=#c*IElOSLb}9d@a}nt4cqsA53~cvhTy5Qe#%F1G#>PlRO{EsZTPPf&EX% zOUr}}#`984x%=-WYd&_taLT<_%{VboSt{V9Eu0M|PwIa_BuHDd0N~B3p{nUx`~@Tv zfv#X1V`|#ma1%(Z;#4hxtNLJ1eEB9KPZ$K#lN{f>t1(WGR$Q+oPDUmsmDg&CO zqa_Y^04{^`N*#5E>WcXP?^E)d?A=HL-&O^*_+*q$>i>@7`oV?px;#}OE&d;*Rh_RT zaIp%)3?sZ%*Te0_RKF?=)*^K37hFX#gQ5Z@gXGI4c{KQN4Ej7Gi?b$Na^#Wqb3EC@ zKZBMKGHo$eFRA;ZmGGZW;0J8F@aULAVbVTKo3c}k+CEc+aV3}+VD{JCC5TQ)=;$MM zu+!`w6Z=#_hJHZf56SePiFXss;5LUoB+dDXG}dq56S^pUFhYy}mg(5id>EV-ECr@D z=Pak31n4NRxTF{M2PBxLCIZy8m{6fQdOWVsJ|2TwhxIwouv&{d{YLO>ZTPT&=|xmm zi{FjDBCuMh#S?hr95Q##VYqmHS8oXe1gGRgL*542*MT5c6}TGqZYlzAKF5xzxZ4^W z!D5#(;%=+o&FmH9Zc}}Be*jSWT+I@fpq?||gaSkS7lQ<}60ZYuSH93L=WYJw;0H9i zB8#&fbWdhGR}myw?uLCwljWbW#ndtEcMxnR_gSWZq^rc^O=KGM;CY zJ&^Rh=8v}KXp0z}Bx=cPT8NwLx=T-#ZBOQZ>c0GG#@rs#30#2+&3H)Onv(+v6o z4{RV2WOEGm4YV$Ya~Qyl1q0DHUeA))2neKt&Ugy>OE!k_ddJVDVhuukbWUOQ{?4L~ ztH34XXxpUliLl#R{1*<8T_74H)^DuR7T?Y^cRoIoAL7Np>2;>|moe@8`rX`Rlr%pL z!RWd|JAw%kv`^wh)S-0PIe5wNHyG-J|9&=#r7?Vd1XSs3(LJF2E~dv;U^RV{LwqIQ z7*aa|a$ytS!!m_mZTBL3(&HY8IuK{@au(h)GM*#}f;>-+Fl_u@K4*n5 zs;blCE6@q0&u1S7<(*g$iJPqm?#uI3&CudJVNBLR~if?vn$AhBF1gI6P~0m7Q%w>qKr&zxa$ z1~}1AdIY~#Nr=+V8*$So@q{hJvk|ae2C$FbND835d0pSww^>@88)&q<9|Qd;w?pw2 z`xc?_f1#?j>}PPQwRksVM%!-C;@q24{+W=eKhtja)@q3(<&9+OjW_n=LTSE{@KO-9 zvBsMEN{52?za@NPzpg|OcvM}BiB~u>5qtvuqhuW#7>i@$3gH99e@F0Vdcr55fG2!x zeT@StjLxx-{52nr#m_)SF7r_gUiLbZ4{&WDd7YZa2X$lCb z#k*p-qivAuDP)V*E42jq1KDt>5MaR@X?P;u(qfJMl)!T};>)pC_?v!3bCBtbG|f-O zTbd@5Q5pAjD|gCX*u9|>TaDk<$@zCWDslrB5B(E1QT0Gd)d zG_a%gNEEI*MZ0?wQ38@t zDkI%&#oX7`)?B<&E@-k|Ml+;V73#6ZH*fH}wSK7jMls8lr0w-*B8lA~kvi-L>fDF9 zILQHqvTFg4e25W_mHFHXuX8|AH<6V9u;TuX4hqkfWu z$S+XHLA`?TahnB%UiLX6^3BCL5l&ozffw*lHY&qC2Y2joD0UBYCGkBPEvNAn&iez} z0B%rnzmzv}p2>FI7OvLfPcWx#7SNyTg}s=M&opCREde_f9X2}P5me~&r9>>kO{cX2MT=pzT=T9M1uHkTM;tuusvVV8cB(F+dH zvl2UOwhv>Q_o46mi$U|v624PI^6I}K>~w#lz*9>V|?(9Y__?MDJ< zQtcDMhuZ<36#w8Ye1q@Y-{s)G&5TLQ)JBg0JyApUsU2xG4-<@j7KRHF*HtdK+DOs z%g}D8`{uEiwFW0wu|)`b9}r0i@D%FnvCW*{d#k)Phi~=Awtnl6tvaU4d-!LukG_qq zJ{oWBu}{8@H6N9_8F;`QouI|<2a)hLMvH%nHw4W*%3tBui6GV)xO=#2F0NoiuCXGv z<$dhS)e;lItNz$Xy&H*Bi>#`1!dIu`b~s12!@6x9NtI1fMS|wp@H{8x6FKWCSPshT zDpcc!4YmRdX5zkh47Wfv+5i{3qr|?clx{EeaJvMIEdXrmPRqU7pR<9OeL7N9`$2OgT(FwR;~XIAEHSnV zP{6_OBX49WdN49vl)AG6eysJ#@JX@O!y{dqyWk>0jC)hQUb#z)Uxk{wdAivp)_O!_ zQ*)Q2k(v5nNplyh6?;+}tL8v|IQVp72mgslsOp>+KLHsILb$({fQZz&s3=Hr9o6lB zI^N*popJHGK`UOW$yhC8)xto ze1TMWlh!!e%Z24AFPAVpf@DX5L@psd5LkvbFx!L8Dd@%RnD{~$Ts2}%eodeX{jddg z0ODORrv&fp5x78Lx@+$tBZnJ1up1oX>28v$x=2erggz)&Up!K8)hH|+0xx>tarS4u zb-psC#5C?rV~UB)m&D&$gH&P2S-2hpC8BLtg5RY!RS&P(bICuKD1ri`Vw=C!68E4? zYn(5!?V`ZAW;GRCU#EE7}kmOae$Z!jIo_0$sUJ z;zbzcvyGg!i12I6uIa@7a4S=)2(|IWJy%~ON*{%%k&O70j#i|ka>=} z3ZHVX#`@+KSS>WFtkr6(yIgwFRmQ%F$vEsNKYmidTifvuejZAC0BZh)`51c+HF7Ww zD;BhTLJ-HFv1dyfEjvm({!%ye)Fh845|lv&L!hbD_~eUi*H47v{ru6sre%!@x}mcq?(fG#n)a7JQN> zK?0!MmgSSc6IM!L%fp*FK4lm{BC~q#I>$STtWlnk_?=*@`(cQ1&K@oW!M{MN=;=Zzl5OK+i^WC)BpT^pbFqs+#bJxD(FIinZp1r_a9Bfpv5Te1Y0ipaS9snRlQ& zJFH`{#-XG>d_OL%&y5Yu3f~qqHrA8#P{3)>zV}6Ue6S-wf=%J)6{emNz2*Q7pTOqx z=9I-+yUckoW_h7JvAqQ4a0mo_Nc-<1d8t@hU*Nn@>k#diD{S#M;U|+fZsy3iyupl) z`tEvz@sb&YUF|Ci{EnYFK74MpZB*n2SKq;F@`NXKNB|dMCTMp*433Dl`R3KcwjnTH zFlQLfTD^kf{@Swj`jo!+=-wCGx1{mw1Pd4Xb2&kz2|JVgRYPX0^(9%LQ1nO^Y!X-v z89UGduI@P-E-sBP=4fEa25=uJENdQv*V3l>5U~a#@jB>Ow1t@mx7uY*gY-fHuZ4!F z8U^2bJdUTZ1eo_z@GBq@=x6{O^fL#Jm7y$Gy9#4ZG{wtXe-`^^d z+wVHx{5=%ZOEodm84r7E27jmbJ99e#RuEr`%&XkeJl-0hn2%HEJG;}9ita&) zO(+^)8~Lcy4tiJq1c6Ub!ZkG9^h){Kg*3`n3Qt8N*|CF=x5yxlkJd!~uEvBV(9j-WY23JKHpu#Hx_OfiQ*7{H_@=b^lqgJU5GpHq zqQp^z$cjacq@l!Nj&|cP0HF5!WP>W;e7NS3mpV2{NPI;O5n#03*o)(xL;+T2FK7cK zbed80fmdn&1HpdR-=(|xDu0snY!DWwl(8DV9<`%wSfuGjacLVL3ClUzL&*PdC4T|i zEcao*gWu9)L#P_91p9O5#aj$%c3oK9uK`$*xdAJvnmuK^Bw+SzNf?(Y5v}FGU zOANYm=2gy(VMz^Ku5_N9a%;-Tp4Sx111j@GPXHdzLN0Oe!?EPzGKO2qa4L-m z-{JQbJJS*57qmdn5=GAvs|2|0Q)?Mwy`8CFs!Er}&N>U*Es%{La?ui8F|NN@4XfpY zhUd7XY5N*>2-RPza=$z1y-|D#`zM^$JisBC^=s6ModwhOJd*U-ynK%q?}>I^K%@KO z`J2wY!&yWejFz*IYTd?#AMP$lS;GJuAPWJq2VDf`faUzQZvk6dw3p+MEI45YwunN( z4&SFk=CeLh)_jBnwswHnm6C#!Vd4ua!sDkm<^C8TjTmoSOo7$QTwL;jz5F55B;Wga z8|u(vP_XrQEq7o9tI|*!4Ssq>|52 z^6IXsQ_}W`3%qnB<)Daj9&{kigFZr0#XXW*{Gy|&*H2OWcwpy2(ej%dige3IefJzH z52)$=e})RZ59cMqYpnL*OIqxCq>aTU8VE7qcf}+D>`>&7eVe1je-7sxXLbUH zo%+2Xl^invi;Ur%mKU6IeQ|!Ol<_K;kM?)2m=}}AmxF~5@?0^6PB&*4(n>mtU@$T5 ztSRrHx{*-0j1_#<3}tzXqW3MFw zh=b+heg9) zzE>aq?Xdr$f4KOgVyKpQ6>$s99Pv?wYsc}Sx^@O4`J632gOrReT90F{&h-D2Y9k9n zW*sh&DY!31{O3X>;W3%l;5nl(2)7F_d6xOAsx#swp`9y&)@dU_9sClKqd~0)hl3Ve zi?!wDOvJN_&tjY;vMq8|Lga{|_tTH+AkLVZA23eGEHz*F$^&5+Y)V3C)GTMoM3B6BvNSdXR5(Uy)hm(a%J`1hG z1d_rhahf3K%a6^?$KICy>MKvqTSP0)(h_};Vqb^#V#brfPKf8BZMkp;#=RTwVnMpA zkH43nZU&fxlovGmey2u{J^(p=5}P#+zTK~R7%JV_`~ztB%>Sv~>pQi3=uc}`{FoIx z|Cj!L%+pTk{`Ne8c1QnD?bdc`xA3R6D|YAWf`ism;H!pC?G_wByR8Vu9z0(S>eTMx z2hi>ooU1tacK`5E=J+0noxSdVYPV0PcKaMae|O@T$3gZtIOQ4`3S2_QiFpWc9M0Cg zUv=D%^8@$O==3A|O8WP%|4;1>=tSqA*k93?A7k<4AoCnp58L?+GY$y-hN)==`~o*!i4M^&=j=^Li( zWXDK}{WaRf{RfUe0v`nX&b-#k$J55&pw3*pfg(6*5XKKDsp(yE$a9;sJmB5*`ghvy ze$PB8e1FFr==B4*Tj??SJE19)^K`R9rfP)<#yR~BdcXN;<0|xhKmXwAn;cTp!B2W} z+J44$fBhD@y#!~nI{JP<_e#;<3z-II#GC?7?Hmbt&vD2yLw5*+tn3Joq@#9w;m}K* zF2G+Cc0!FcSf))pkL_voMQ}9fe4g*9~ZK{@x4shKIX^$d9jm! zLyHH==YBZf47r~KeuVQm3Ooq3_k$n$Q3KkU^Cj+txp8HScGvG&OT`c1!GodX#yKti z4;!WFwVntI9xzs<4#B*h(aj_9EwcvRIoS~T)Lw*=`^ef<%)T-v-|(gX^sWfn#cC>j zu@iS?05|PGPY1y{uXn|XXH_olMnJ=^MD0{D;_pA?$AXUG$2w?uK=On(hNBIq8*rR| z_7lf#r*+Wd#(48aCw}vP65nx#!H_^z(6D(T(!*l-l|_cTjm?>yEP*{pf8+vttp+KE zpC7>ds|NaOSgbu;Tl6^=xbPF>c}5%KdAPnoD-HE6LkfOOz`$E587jbpL^xY39pBf7 zcoAE4Rsparj^Y2Fx^|4-)knE{rTjd$D%x;=2UsBu638 z-YiG)y{kiJO`bc>dhD|z>v+VSSTtUaqOmW$sdqa_hkol^(+z#wo3I@UUxKlR|-510>A@dcHPXo-b~ zpz8)UVQ;loJpxvMGCSVB5s4Z08?$Z?e(4Rfa@v2cjrHQ)oS*Q7VVox`LdhX(H*!ht zkt)K@^cPlpt>0n4eof^^TKon%gyFggzeJ5x{~wE!hAMZ5|Jq?A4^*G61&KTK*%3d^ z*WwQx2Sg8=uW!W<%+P)$3wFIhBecgFifgI(G@rwh*5t|$X)K)Z`Ci&`L2ure zw!*oOQVM0P0g2yGjQXUBb7!o&53}=Sm@s~wE~JztW31Fa?B`^obFg=u*q5|Zm~j=a zU5|SSASpJ+s)LN(e?mM(?D_OA|GS)6mmZ!LPIm!t+jsPtPnlF7HKBbqkj{{^A*U1j zfpfx(sOA%tY6~dM7vPY^NzPN>DlY2((?|%KNmk=KIoDhOPFx3k?MsNX?2|Ip zdK>iTaaduOid?qDow;g#o{-XumB5y(eb+7fWr-0x~KZ5 z=^Xc-YNf8U_{y%pKu(&AEojQ=lU`gJ{T@5?3!y2ep`d9AoH4jr57KNk$M`S*@YAvQ zo~`ILOc)%gqE{DEWBVJ;C zLT3wTqr0Y8lg-_UNsH+KY58 zV2PC9@*fVTviMLmCn-5_=P&!$x4*=Q)rVA5Be)Mf z`&$iOm5m^{qYHM(jIH)KkZoRBZzt`U#;d$1AfJVChP@1imw)Er)YOELm_HcGKHK z5ZpZgP-kI>f)mBTj8%*GhG53pa`4kHurfuQM>p`Ft&TE-y;;RMbWx_fST-i4{#aFU zPNat@L8q`k8EKa@6yDDR;A=!i!bc(=ksP^M$o-(`f>t% zvYIk7)m6FBXD2xN?1%L%<>TP&X8moTsQq&=81*|sYCv>YK(QBi#@^O}(@$W^<)AYL&ps3zFMdLCR~*L6I*2SCYs+eQ zJbByYk)GPJ^YObTS4ML1l4bV7A**iu&7Alu@KtP2C9WuefydPskrC0`yx3&@IOH{Y z8xPL^StNHSCF}j)kpUX5MZd;@pA|^?Zip}hHgLB%uu6|2Qm+P}ua5Kq=vk4T1Phsm zhIy06b8w>ltM{<0{5GD~Pstmb{Qz(7rPS8$-{1qPf%OP=Ar3ys0=E4msG6Q8Fl#EZ zTpuqi0$An8=?fehI-f)-5tqSVC^ zEget2T+&ecyHsEJdk)M_>nt`ao4m2t55@VTAIF&YFtC7MaKROtjn;pE)lo!45#9W! zcz~oXVe_7H@zkti>GBzpYkz@L4j_{2QB7DaA}+4+Zysi`9oDu-`J|X@@dh4>=x|*+ z&Ch>qJuZ&A2kF1W+Pi9r9^fkOfi?4Z)Ae3bVQwKdK75HcNa8Rpu}!+|%je0YGA-U8 zB2ZP1Yr2@6EEoXwWq-?{Eax5YuSu4W87l-4J4FTbW-+Oto5y|&jUIrEF8lI;ivRPc zDGXNwj5)C4HkT^e(TgAdnIQWH(1qLk5X`E=*5&x2nDzzhVL9+O*ki20-aZM~@^G!! z(!Dl!4szF^+A;V9gaP{mU({lM!JFC@c!!*Ym|iH>RadcOe{3~EIE_VG>4lp)%iCC| zO`n|4orDZuYo(WO$8JQc*|(kTYQ24}?v}&I-S(M;mtH?RfI&%Nf${)~M>FO9{Cgq2 z7cfN#`GY@i;to?Qd8P;*0DoD13E;H@pH#qh`s1DXS>Bo0Q3(fi_KC zVwNme*w`V@FaBA{^AV71=PdVCjx6(sUye&#%>B(k@XP3&vAL`12Q*^?9_v>Mde(+t zQigBHxAUM3ekyNnc@1SxcIdfkDd>4ESm6K$q#ueqf}U9m^y(z{bhB|BhSu3$)&dfm z6RBU4Hq$zLv-+n&LJkN8_J@?#m&pG$pbKmx~^;5ZxoO8iiY+ZiT zdg8dwKeraXoB^;kzeNY>y`%JNJQV!FxzBgT7tY<($);}R(qv3&8?bWqazD32=@5yH z-Uq22#@v$M`!FPMYx_gF3jSLBQQmHJ20wA_u}FwF>GM@!QCMKFEH%aY72B_8=hIb_ zbKa7ZIHzWJ*$uxR@IFAqE$k$(x>4;>v&byz)v30{>5uqrcCcuwg=z49Gr{lTN|WGJ zl&e0YM>982juYP;_#b3Y{VrX{Ft88zs4HNccaJJxSjC+DNarObhHCz~ZBZX(4nzjM zmATut2|O6DMcnJczUq;8%M{im3;Ql8SUiOaw6K5O8;>%PppCrQ_qin8br(dz^Sz-p z|16;14(KUg^ClQ^6?=t3@8i#(qjg=etRc{Fz;&{v_hGxtm0C-S<4SRG*;PETn@HYP zcK_1Fyh#pQv^ZZ=q?#N3DeTCdjMNYefdlmKk~j38ZS}34kJ}-s(Ck4oTMC)oh~6`( zd5t}78h4{jYuFWVUJC;MwZIxDy0yi!bnDN>no|j1+O`=d!-1Dkph|%#-+-jI+--`b z(+or7_)-s8R#JoT%OCVb_gpZqT+-D}I`1xb0^R%^dpV;aH+LqHlov{kywmOD$4v%1 z&QT!Yxxb9_PUcf?gi{a`BC$CAG|BRk2^;K+H{PcrLZ#;wZ7oiJwU6gN@Vwy@FsL;5 zA)Y$*bPP|VZ&mvJq(_J0-gR$Np_S6{kGq7@XHi!%Huq_*#(ez0_4fYywI{F;bAXr7 zJ6_8s)D;^NAge=}u`-3b+S%O&&vdD~-w}&j7mN(4DE|-4I7CyI*c4l_> z>c+7ecli(N)AfnBeF-&f3E4+1zT6){plWBOHOwCLV5`?wJr}2s|0#_; z#Ly(z?`G#qvzP2)whC%3$){Qh%@a6tV9nCP=X6G`e}U;D)Q)K>^Kn{qsJ!9{iG8?c zn3@`(-v;)@VhY|tDv~HFD}X;MxZI@^>Z;e3>bQ2|^3{9%*jZ{vxL182)AzId6TMPw z6Uup<5TWgXxyl*Kr&FCrB@4kuK=XGa!59!~hcM^zmiEC2xqW-w1UFlm{0WfaCr7Uj z9?L7R`G;lbTGcanQ}aNY=Pb@1fcI~q+`q%R|5dpkswsE3QS(h>*O&NN?tfYCyb0BE ziF%GMcbD?3sFCT|E$~(pro}&uI9w zLUAMiyqh`m!&-k+*INy1MfzHW)Jj*NluqtsR7xM^HJCT>1<=RSX~l-& zG4LGbLSlzirP%hbh5|JEwtEq$;wQ(I4>SMlb>iyTyQ(turo7sK-s0?&Rp6V~n-kH! zYT0i=Zw9$Cv0CorH!8oIUj5&cyY_AgNn@g0Y9H+pQRLG_kfxM>ily~Em^Z#&ch>)k zE@FU#{}u8By?Vp*@j8<7f1y{!*$vflsr{aBv>i^A(1#ns_k z8Wh25tQtiRDjbxoWAAFSg=R@7c2@h$Kv8^(Wj2FjAnQg!M8w|MU*jU*oSHP~v`MnUTU~!iZUmMG@-0t4z2gauiHkWHAOI_&! z%i!aGLvagTFB$IljaK}1hIET5>Gi4+4FArej5i9qI7(0Terf!if!6%PTu{LE2~^dt zaNpyj^%`<-cB2g3aMq*Rxt+FBarfNIvl8p)0^FK^Fr(`eHzv9t!pOdIY;)(jC zf8Iq{%~9B1sKo}7Q1XMd0h`HMyEY)uFXGNp$LzGg)%WKAZ71E57agJ3@hBvDW`x$6 z-hG1g_ZsK?8{DlQweug?;wLMO-1_wl>mI43;qyKtME*p)UytrNXo)XO{vrvJg;22` z2+t}|y?jab!?B>#qV7cZULY|^FEyIdb&0V-v-!N`ns@GEhSb1L+zUvA1@cES`9aq} zDIci2F%-@>q%Z$)PK+!6P3VixQs{Xt_y@+%G<^wFxsD9Ai%Lebtyc9HLs<0w)P?s1 zfm}D9A*KW;JC7{gAjUcSTx{Q(dxgE<*YSy~f*)UYgg-7|h{gEo;=&i3XaS~|&M(Z@ zKF2?`7UtJ8^k8kteL8_{V7|XV_$MiopfBntSDBgUdKrwl$`NeHu`lDY@AYN%dGGkY zN>&-exlDx1ZpPYYf}=^?`G&j1J+AZ4OyPS{t;opq`OLs)Lv1_$1@Pw$BvU-8?S#a&Q>jgHK{YUGdpQC&)@|VnXKIEFN<|caPNk*cV z(fd}rd~0iAa#&k;W1_2Sw3bnrKTvAGjwlQ)Cd~5jhC&DP)){VC4o{jax^pI{+u4px zDqWTY#(li1Tpi;-?;Y{Hn6Y#5nc@M5a*lp$@zSZ0An>L!*-_?V<;0zbIECr-mo>a0 zPTXz*Y3_PwbUOSU8Y2Is%`&|k8B|1~>+_1Ia8|grK^tQAk%e`?`M)HHdY^c^)qDK^ zX)&%vO7BI9BL_l7^piLMecJt;s741yx7N9D>1W7Xpnq<4>^J#h-CE~!3Lxj^9O3#m zlPIM~7g+3P5z#?iSE- z)9C720Cj>~G(gpfGc^jI4*eZviUT_w^b=>iZa)#N!7lm<^$xC|IGLx{vbR2hz(?5| zaMo|k{@ER}7siX$*BDP?FZNz=?KfmEIKLu$G7557t%AH}ZxWaae?8!+_MDAxRokA~ z_t$y?p|jwe6YHQ~tFrisHJyv%W3L6@J2QnlgWD4G*|ao2zNBk$BEn33A@I*wo%v3k zY__j6d%lE}Zs)RE7l+a+@FjK@0J9*^X?0b&!84O+jJgfrg+{YzZWb?C8E`Qm?wospmMHx?DePR&pF8&g8$=<;l107)V$2lo?3tN5A4ONJSz) zqA=FNFp1BJ^`C|>3s{qs|Dz_Qy`e+MG4sC6lApB_em$H5A4&k;#<7FBq2YzOp~}Mk zKacnBc3^OA$ilQxGR#yp(fS*(&1+Bm2&cZH`k6xdmbIU$JBQ>gToa=&#rfk}i@Fnw zFL%zjb89!jWgW}-U;LUriEF?5mcr`XFVO+qxEIrdY-4%|+$SBK=)Rv{^h7r~xf|}T zN^r?FQ*?G^_TF$%cfxUgtuDi(YvdBVNr^A^bJG5PEr~C3cW8f>fR;P3c42OlkN`EP ztMUwLk`LAS8_+)4bJEeBbM0_jD`5FidLGwCMcVS4-0e)upO)MkjKc@6Nmu=aTSW)b z`7Kn(8hqxU_k$~#+-K6^eehIAI)3hQtEFT?71O;GoI+bV*m&30>$R-)xgc)EO1~f- z4o;15a4Ls>UcsTCmvK8HY`f)~8Wvo%g-M*!N}wUNKIhFi>BPkPAF4mwQ0K(B9v^38 zOXBmJ(5-YA=L>$BRDdU)w1DeXH*x#e7dE!kKSqd_?`uD^J4bpB&^#z(=?cE6sQYQ5 zpr}2J@aMfBxK=BrX(1-oL}%#*VOXgJQ`2|?L(9EVtI|x~ILWX0ty_7;PYrHbIB%2A z_uF3nL#AMsqAkx3mh)KE@Rz>Uf~j|FUQ4Yq1Ko0r_3wf1Mm_PR+5f_0#(x~>UhF?% z9prgu^4)XvGthmppTOga>f^QkV`65vW?8(eQQ&p=DylNVTE{iJ4|MBU|1wLuuja9E z({=o{Nx4k^Pax~@(-Yqx?C#4X&aipzyg_-ZQ{afgw!SqyYyz6C;vfCgj-V^D`Uf zQ{fnzXT$Md#Ow1kDrm*J;hm1B|@$rv)=bIkmWPFK-zoBYFGiCX2S;E-oz4WRZQ% zeUizd@2ZG8+2D3lI$M8S-b4BvsfP2WvK_nd7s6T^eXr#LjPj3Sl=+(DS0CPFh0qn| zV5BEIgPZ$4af2Iq*hKue?JHR@a(&7feZUvfFiAibUJwrHaX0m`HgUsLu>J> z@!t0^4IDxgKzZ+YNv&Y6V7R_@=k;!p^YC7jpK`SC2EG+PC0hC|%!jvC_YZnWS=3s& z{E8}F4M|0UNO@zNwFQFhPyG4EelCD(SLz1n8i#*fEv}up)&H%KTV59iF-q%p!cVQm zr4s^fz1F()2*0)`x;|j78u0AR#>3k+u*u>ASgdXdV8%5A&(#K z{V?g*+R?69z)-br93ohixO2gbx|0^UdmFi0Z{{eG{K-z}f-z`;CCEen$W`Wao|h@K zCA|qoa<;u1`QUyNiU<^-I$-t3*FM4O3~LqW=w6*eT6(X>mA;Nd@4-(X5?+ln}px@O~Nk}eD(gPOrFaRh^9Pj7wc|SLvi{!Ll!2jp5V=V zGA+|!?6%vbFof-NDZa<}oul8xo^-cfnQ)o1JjNIL-#MAW)iYAWN|v_VgQ$R$A=jWi z;D~-z59}HG$r^r7Ove(rtL@7xt!y&Xc<8yc29U}B)_dnV<$f{CMOna*t%6-{b}>&~ zZr-J@496~Hvm%Szz9!fy3v=7*I?ox{4PoRyi`qO+zJU7Uz;5&mq?iAvM}=-)3!eN% zv2qXV4>|kcujTb2ejRU~^1cm(@ZUC|8+4WPo4j`ZGY?;`9p7`jdZX@S-dD`r%X?^8 z>(c7>>&p$jsv-5JUX@(l-V^-m$mIV(o>ciAnL_-)<&yl^$RN*q>zUO*nS8w7KF8}^ zs@9=B*3+X->by;U_9imyWy?}x`Sgz5svRSphYqB7h(YBEx%7^@LVAa^un^zIqKf>Z znZkrY;n~Xfe7aJeM#`h46gnzO8X3%8R;kOas>C|~$Q?n8AejNG_u?!Bh;p04a#Mx) z-?`HkOo@T`b3CcZy^jI!)7KLcm~TtwJ2+50ouaG{vJ`;jIF)f(ZrO=vcpFgMfMIgO zxa=YPt?S$eGnFcIU_8?t#>!B*-@Ag*s@bRVX;5{-1Kb1!@tIt@Qcq;Ez#}77e)&&p z^<^jd&+t<)@c=B6v1j|6rus0-v}a;uWD&WXLoHEnc_#i|v}ROyGj@!6^Tjb$e~ za^AKxt@rQY)9TtOXzrd4MNO^+wT>-mPt5F$C1$ST3cQ){CEwN##qDCuZp$xc8$)qg zx2S;dmwyDqCX8bwQJnr9&;A0v_`N^mSuNNG&@Y3RW?p_Dyu6E-7lW6>c-d3=m1jR* zjtpL=@Y3PG^oWcX79^6*G!{>ZXc}t=8dX(BQ;-lpIGwY^ER2h_^dacNq(OCeGe(_ zANSCDV*nn zF4CLT0fM)%zT3NMIaQlU)dKlltoHXcs&ow)Gli*VeqnqJ{mCpD%y8&J|Ij!Zg`e@6 zy3JY^iku~{{2*{MUkfgSqY$6C3kWW22UChTHo^c_Fea`!6~3EF$G6-#J~lVKBXQlQ zq@d`Dl;kj!#PlGyYB(k>(r3n@@fZG6&ED^Az=A>5jbt8^`ra5YM!Tc3F#iZQ zIAvIpU~=#St0Gl!TJUI(uLTR#?WkUXO{ZJU$gT(dPHt5ymOa#IM8D^*E5d}-b~2Y@ zp&Wa{?)AR4HE1+LH%nTT9&)(U2dx^Kn7F>3=%gMeuU07)v8t24fv4sPJj!(PSkGfz zJrcX~e4xo8Q1(N51h-di=E)-`jak4(Vq9E_L*gtcvAV&0`bRtt!K5Fx^hz|P;2QUX z-b3!v9$r?%m3Nlz!f5cS(s4(!QV%^lInjJC`Tou3P*j<|DHJtay252bk9MMAxWL9r zkoaUtEcp)_{g~z@?(8!y)6#l9tlwY{sqFGxC6!ozo4wU@;6f#tom2XXXs0FwLdgi4 zUfy~SU8~QMw_99#Z)U31j`R}oe3#{}SmLf~me^X$lFbSM;J^!A`9h(G>IfuL7IG8X z3{vC?_ef@v7~NYwP8nRCddo);X}4~PkFqNeX}s&ONsWH*B1SMhRBp?G0hgJ86u;dc!ANtlQOy=VroQfe!HzO3#vprWtZ@0 zc_(d@ZQ;-IOSz>m%Q4=`?EdACfL^lJ+v2<@@_zx_QhrbMI}&4fwd$>WO!a#pn-}W) zzSZwcQy6?J-%;K4uykTrLYuf|9k$vuaogIep(@1xc%2+h&PpR|A-;t-Gi$%(!CMJF z9N;ngwOn5!)9+2NQ0x=hO+NEJ7kG^%Wb*OPfM+1SlE3ybswec9Qi`8>z7BO|BeD!V7v z&*rVh7rx}XRbTi#p3N6F^}U-NyD@Lwm69nqhX+*G`8Lxfm+~=EsI*n#cYq2a=0>~J zX4rs61_Own0^!g~dc7mYLTf3>2wJmB4(&B6L1+aOqAh5lg6G86_Gv6&6h+IztAI6HQXe=TJnY(2>j| zMszLeYxC_IiY-y`)}LSTHS_BV)7LtR=>6IqbUuEWJ{9A~g}{#+urtNcp1uhJ@jHPt zDTSz5>0kLn=9jMxN}A|O3I#sChv7{RmpjDC0^W48^EgL8Tf3xu#NPAqKY^hvlK2pi zX1~L-q4~@47}U-4rYZ*6_*E-)eiIrxLmKwpRRs$16#%KTGr=jwTf#i=`>Nwm{CxYw z(Csve!M`y6>EGVK;c1y6A@JdnqaxnhXHXPR4;Y)YN{VX;N$B9CS7S5oSCV5 zQcW^5z9XdpaH8uMaMzyJKj@w~FGQhDzKu()w{BlUDbU8fu<<2f zfzN+MwHt_c@UYG=;V2+K4WOA1! z>!K17<>mcj@v;zqR$X$W?i=WDt8_Bq1xuoqJE-4(j>@MiXRG-b@{i5`UjasO9&~$Q z^p5qN;>L`Z2K&7OHJ~7J95%T5W`+2vt~}$r__>!W&llhCI-SDT_jP*MHIuQwu(pTf zJaL3oTf;K1E_7_ASUQ1z?^H+B7Kqvs0(>|CFyr9cUf+J4BDT0uqCXa#LSqmKO~%%6 zc&gH-*nmr9l=oD#NJ*!a2YP~5z$L_9o!Oq57gI!rg$E5+?w46tvbWr%Smr2uvee~& z%FOJ~@Nvnpl;?4yB$-^%gCAZorFZ}8xe={MXw9*>y!4f|7n>-85FTAJDl zj7t2;0Ufj4*fMfvvKJyS2=~p2t{_|5qxg9471nIscqU@9gx+YuBT2v-71Cdz9De#r zm(CrAwdsYrD8e4DGOdq((EET!Au(233Sa)r(dnpP^PFHECewAipPFRsI{wu9O`>m( z?x5swz{Zj35C1cr1r0G#$y99T`W)LAEuH!mT7&zUNxN%TN0GbiWaYOmcFT2!^%|49RFM2sJ8wIXa7r)JV6)(rg^}R^8Sn zaCr&_*~)PTscNMXUCRI?f}ZF;OYlks-mqvQsg?(vmvb~wuJ)2_3jmj_`WddHoYSJ1 zc7w5KVO|mdC)k$WJTSjOZoQadq-OF=dyP#0)=lGMrKjlJ7lniua z`Wm3T2QOlPX8NF+Hm7mgfX(@!(z&L@o-IlKr}*C_{R4Y~e7y{kq*skjzHL1zGYVAA zNiCfI`Q3W~Gtf0-2qqnf)@Sm+LXzgERL!4fia(k$Ncvwh-@RM0@l5`u#6G7t@Jh$k z_EltSAL>-RXT}}mwm>_Fp3i7!+D_CrN%9t>?HL=@O#ddKYZl!j^QUu`i4d&~l-x|rQ9P~~kR)%z?%>GF2X^NJVLn9V>fb07}tbU%EHxY1Dh z2w*kSZOxS3Qm@D$N;<^}&d8APg!*@OWJS%oZ7YmVDr8~)7q0rnb7x$RPKqsk6lj{& zieNU2F;uo)oPiy;h#gdXF+h;@veGVx$%8(V6EnMJtR+dm>K^oai~oBEza!IE5bw_9 z&z-S2Q@C!%%^0an{+=09@7BUm7h2knW(cyiFz+H>%a_^ujQL342kN<(Fqn6>X2=xh z&uJ}m`Djcq;dsl)uQ-pJ1$;Dj*Niz<#QdhjJ`T>R)-v)qz3QTn1m-GHP!W}%oGE^Q zi1~2K$bTc|N&DJbIGv^M93&;JakKC-F0f3R0BcloJs3>n@hK9@Z; zIveERW1q75{KA6&(eW;tq{~#i^b)wiYR$~t-*$4k;PVK$mf)0*;(MgUUH^fW6sLao zGlPEPI7r{;CGytsS*>GUsBlSp>03k}Z$$P}(fX7az(wC<^esb?wg z+%C1rCXvN@>qc$czs8nH<^If^Nb6rA_-Bc(FHu89^c;yC4}h$RiVGYSuY4Lz|D*}- z;sLvXRWr;7E#wcqaFc`o#M0gKr_Wq~3e(0^o)1oraB4 zGWD6l*$uiuPFGTBDT{ZxfEZHBRH?Gn3Rc^_m&9P;Vy>sD>o*fneOZ7$_tv`-vYhpy!2Sgdm@alLrmmpDV?MgJ?AI$ONYLgGN| zAie?6mQ?hQKlD6W8T-`IMB^ijT>CK@w7*$7?+fLT5d$kJk}kCWNwN{=&Dj}SWhZRQ zqS#LJu~o_!1f=e!%9h`+S9+Yz-BrZdR@oF}N|K3rU3^i^FxUR`+gIEcu|CDah4gj{i47MzcC6#r^+aqE zlP#5X7ww3}hSv~Zo}8|@!AUbpe2fLyaODxW^1R%>s9PrH#u|dd0?ayf-!h zI&=3WeM-hIzd{M&$Rz+Z!hQIZACIGo4S1V}O1hv&LxqMyyV%3$8FM$TJ~4!VCD=70 ze?*-NNdy>n-gz!G@oJy^Osp}e8)RsGEggViv4tb)hJ5=Byp_nJ6B;B82?5G9b+Wr} zg)~5qgc??BK0?oV;n&j?zOLeAFMFN^PMbr@w@)c+)RP)$o`Q}tJ8kLReXGxQkJJyY zQNQ<;70;sJjdxR>nD=K5z8!Qi!&65p|6T@8oxd(0z-NwY)OM^69dwxZNuMRV`EM## zY#$+<1?&@}aQ@5KIM@7o)S4TszUCI)h?&ka{=S=}p_FTk6E`#kLQAlfXV3_O=b!!{ z(#U*vu(V~+<~6;4r`Yl#0nk^@858IlfNC27zpUB_MdpW#=^-Y)Ep9D^Ig1uXlEM3b z(LSGac*FKNe-tmzAV%Rpri^NzcZ*PXHEb<4?6=f#O-pJ0E{b3+wWGUl%@dJkTis%; zDz=Za2G$(lV5ZpS*Pjlo-}}&qt?JUvHJ=+r*pD?p-&t_{M#d@ydS)T6nnu3z#y8N& ze>iK*_IpoFBM&Yb6X@XDMy|Fm)z<{z%|!N^B|b|Ybj|$I^ZAWPyQYJEJxf{wy-#Li zUGR-YN}35!@GM27DYX=P@OF?&I4^nhgB=}Inlq(JsW0U>&m0Ugwod_sll$5>!WCKP zMYeQ_VMeBa)_xfGyKPWAm1qbVo<>$GY#5Jrx{hit3ayZtzlTWy5>=o&7x!LmrJOm| zTwD+}wEnhHW^OHL)u%qoFGXoF$VzG3VCE%?PY;$JaR~yRvBs=RBhw8fu>-IQ6N_H< zED>o&)A3`0-UEIdZ(y@1n%vC2_E%0}*6`#^-NxKA<1;huTdp!*$I^n%*_X-#u_Nh} z1~VHT`i1)^7wV;FGX2kT-c-0Wh{ZevUGfj+2aB1eX!iVrW^1GQ$*hbzuZqgKnkKr% zOI{!z+p_v(|53&STA(?tYv(VSd5=!#qmsXlp;7Cp+Qt{hEO`Xd0d z%5!}TxuItA&*CkToGR~6^t8gbAzcZrS|euZ1V>MWV7zzb)1!zzU{}P_`4lgz$A2*u zyjUu@*w(*2mMM(4UGG{5knh;s%4#?kx_pWWI4L0>2W+7W*d}+Wklto1qTCX>uQHrg zm-f)aOQPxW zkZC9NFz2MXt0jbkJm&f)DqAWyl$s>5GN6t=2uJE3;|NJi4HX4Dy5IRF9<*9uh$*E) zx(TITyY(eg`zFmY+9$jZt%!}SJ^^3O;Af?W^8NY2nVW-@l!;nM;R7)kRqb}RmJhW` z9_SZws5V#9;8K=o9(xrnstdFr*JHtuf}${iFsoxI-?4)QeC849^DI{5s?reeJffzm zN2K(C-u*>SmPNZ(<$#_ExyyEpvzne160nl!o(~i%ma_{{%4=$CxMiOxkv_xKHN|_F z12@Z>F8lz)tlZWxms7=)OuBK>eRu5?HoZj4dd75QSUOVe`J2#@ee7@+N}QV>@^z$& zawAyRt;mJT`jc8Igej>rUWE~OWWwwDp;3$ z+l;l6;xPZ<0)K%iGwUQU)=YzP@TpaOtc5}6`n@jfa_~i3*ze6gU3!2UUpZ9nKay~O zJsV$`>#I@CO8LE!#N+L`*)p-@w1O?vqJ>RA#XmgQUptVvEA8EU=*XH_?5LB0L@sPi zB9LftC0Ch{-NS*z){?rh9CwaFA>EwE^WV{0l%;ALg8pHRpfI5w#0}4y(S(iQr%{gd zS&Ey63x>94PaFgT!sWWP{(zW099fY2)MdkPpH)ar8nMaW^NSH;TfVr_8KO0K zJha22z`QLAJdC%3QLOcj8immrOcM(8`ljV7|L8m$nttJC5FLN0-?aCU`=8s@*Ck=m zF93PM#+UdC#(=+)hBeKt+7??qC2?2B6B44OwxAUkyJK6vU3w}1ssaBh(e-o7H>7Be zE1AZk3FLF-xc@WXF*M5Po}dk&GedufLRrOCOy4((&`Zw{jjkZ)``*VZdxOpQJ#Vez zsYAao`n(jmx2ck#XB?SCBS$oQW?o0cP#sm4+r(H1(^l=)BLK5(Kq3Iwt&g(uDOAyv zS8fL++W@mc9oNurTbN0AxaqyjNec0DOz$MTJS;TZDj1KjAlrK6VO&alZuCtb)HiF9 ztM@N#8__tgI%yg36~ij!Y6H=SCeQMI0DrBl|2$R8`q)o=9skg}$* z1%d0hD_4xP74l;m-TDBalf)4AtNk)FaQAG`9-yxxKhizY{jEv5$FLjOxm>Hqg&`PP zhB%mq9(d&Mfu*^=agjkv|Ffz7%7HUC7Ei@}*-@S@uKLASeM{?*7@zo6UgNuas{P>- z3|oy$1z*=aRgS8UNiT}uG1|vm`e)R`73IdczIXa-6G8bV=8qmFRXPFK@~I9w6v7Z> zmO%Cuh};d)=fu!B7j~pCJ{Oh;bz?fuVTLAQyuX@ZG=ZsD;`)D=%1JNpjCFC$jUFSS zP3#2MPIwU1M#OVD*m9Sp5M>rre>AL$YrOaCJ!rhNI$e%}zogHGm;IiMM}D(4Uw*Kz zuWoQ=fBr#^%QE3)T$oZ3Q7fS9=~YhRh7Y6CRd?B{^=FPtam9}%ZMa$Dd%yQGt8;~8 ziGp772V24VMw#-_DlH+4Mb$kPH);w)3by*mJ=ZYL?B+i51l$KnU#6lpd4Yki>Tgq@c#ZZK5srs{6B zoHZFpX6 z?Z`;yzKoMykXd^VHUn}U0#u$~Xd5O4e@0C4w_uQXj+Ow2>XxEV?}J<^;@2^h1?-3! zp^D1v;t&{BXKa^e=ymGToTT4*ttwr}PWacU(%pZ0A#l zW2`SL6zrNLkjFGnrqxQbz{l7DXD)G_&I0pM^NE1fb$10{ zs^b{fOUeKY2i;hby>mFtYL&y&l5f)dKuXj^IMF)TRY`qV8_`!Tz<79df!ZZ^QT}SDw3cNz)(1qSuXf<0z@F5p zsF4iQH3R7vas3H0(C;m4%=isaGd(m{Cr=}QM|;pJt4=Fxyl}i8`j$U_{<~d zG*OD68h7u(_nH0030f`92~muS;QPYIhFbBUv^ok{mA3*-W;-2pj4w~O68k2&634sP zSQMv14S ze6gzhIAhO=>B^N__$xE#kCdIHo3N}tilmC)j}jw1I`F_?Rp5a|TGZB(aVR}(7hW@B zhG)e)Nt$%kKI}p(wktlV;uIel%=ee;wKuJgF>|!6YiSd4h*d`8bC(U%o3YIOh7;&N z4ZSwN`mrl@P@|o+Q9(dCnUPvFIRemt#Pz=yUqrBm)Ht#o+tf%mE2b1^zRdxN?{)Hb z9jE+w;KW`TXxPleSd8RyBA4D)$B^JfxW6=?eo+CbUG{&Tt@nG#r)F+?+bXFsCDEO2 z3zWfcP8!GgZL>#d;PaSHK>|DrU*gIoy!R1Kp$i* zckXbXjL;3)C!|Xao!h*q+I{}ruK%`*B1YyZoAlA^L)(IC1Fw;k}`>(${yW8UjDO-DxbauJ9Vq?B=Fqto%bg>3G0H*#O5fhP%PncjG7z;xfPAO z4CCC3TU#5(IsXLXDzO`UC-X~L=dorbTj&|nG8`>^2MQyR78hyMb@wJQQ`QE8SYL~G zpSg;1YhIm>ErPnyp*{fA<@XEkQi43F0t>Nu#sI4WVZ{bMI(FF`*HDjCP=%TgVYaH>09y-zP-wYQH@It##&-l9-BIPJn}!*R za2HAJ*i0FWl3cv+PI`B7cd^ghb=wA^*$+@eR{c1FANsg6gZIng`i9CnWUW;-l2)^V|eo0 zGu-H68{-N0p)xtQxicuz%0i{`>Dx+MiSgC7 z($$j*K66!dH`b?krvDzHq>fw2gaEbv7UIr_!Z4C)C9*VPTy{79j_*{5(nOK<@U*EA zqiwENc8I+`Iu4xjJ2+gL2Bup0YtubGcuy33k;?reVJE-bNP(#+0&VbAX^=XJbsnW3 zDsUJfD3U$_Nwu?JY%;<-7+E8mF_mG>A61}^tS+Q)UAy&F+S6($hcm35+fCY2K13dn6nRd3b9 z5c|Nh3W0`AOc_r#K6UTnYAe|z^0-wU%pq=}LI}DJ#d^WLhwf5PQ| z%cXyD7!2QXgNA77S}AqY>y&N?*(7Qj;O+FIZs#&s&j8qHtm zxR2yRUGn(O19nD`S@K8*ka2*FnYTpDf&^LdlP)F{pG!B^VGQML+hmc3;`9?5dzGHW zdn8SP?cmd|_!MM6u2ajYShw9*Cv5NT+`|VJ(s33gvtr&=3-?Zg0}l({1gB#&qD5pQ zMSP-4p+F2)IRkQ-exk=ilO~v|I zIacyuM^M(&JhP~a4YsYa73!yUjO%QUa+%2?g$eAhj(J!))2zzgkhu02BC(LZ?WHYr zs%56|?m$aNR3oDrYceb-cwLm^RF&cG?hHZ0iE%x|-Ro>Bnir`*d#A)3Md{Smf*Ij{BI! z&!_Jx^+U9yR|qLTx4Bt#*-;L%se2ervZW=hkp_1B@{8$~=C1iDe~(#xuJMRdR4m|G z<_IO&Dz>P_9m6#fz?MlE3No+QKIqt7Znf{p{2<5d)Dbt9Bj?o(Rsm)KFhqkYZgGo@ z@S))J9_Ajv(h$M0o^oV6G@ugKuD(R~R5YDACiL35D_<@)xeuUYeF^GLk|-$8BNOcl#ZD^7@z#|ik4 z)i7~Wu<~pHv0nLl{az1Z6lCPLQnph>H1(16=}ji?lt@-=dS1&;y81ewg0t+y)qu7E z&!B?Q;Bk12!h|QMpaJ83keG~DoU>jjG}qh2T)v+(DO3-)fmD7|5A~7nTc!Q-fOeHx zXrAUm&q_j7v7>-91VtU4xP*JoQyu;AkE+i!PdgmY|H~Ai$(S- zzPHYVo|SQKlO7kn(tQ8S| z&0^&)gZ}^kI=oDgdjrk>UZ6zFZF1Qy92MugXJ|Z@xb}G}lS^-97v4_w3kv{4$ZDQz z>dpKAU4=g{+TU2?F~FVqh8dy8%H4PQs1@DPM|3f9Z#tP9K5*1zL0gL9zZOWLswsFD zsw!$KZAG+BOgCQrywlU=`Ug{grr)Xr`Qm3{g8T5MiFT(EKzx|D9Z^`BR0x z5CEo?)U+wBX<7Cg1DOSQe+7fNqkMqbMnxjI)|<%z(~YJ9J;cf%+Ldldj7OwdthBo;dE;aPEtd(;Y; zMFhWDk1DxkKj^GewfjIcpe7L!j!=8Ca@YFhK7^ZBT1;tlVlr2TWA-5g3$)Kdwn@cV zxpjk@ClEt^#2GIMc=ID3r?Oe$6dtwt;ST;xZvit~PBy=gIQK!`<8yg`A@L#JlkwU1 zyl6A@vp?j~7ZOJd>hoa^WaA5oMg103B0Zm8oLjXxwsQPS=Ph1$+2YwantES-2pNAy z#x}xF$@un<8FF&jz860`Z`zGUiCITl2hNb^<<*`WU-v*;@K_| zZ>UcJ5iyyqdyvV+{%5AyF9&I!0d))*|-g)G(jE*b!5n?Pn<5 zBslSC5UUkHeS#X9r~;1euAyGGyO=i=B##q@Tn{7c!~7CUbOxe%isixG$;7e;>+ec3 zX5`+R8LG!tPPUbIv(n@P?h~=ZwK|=LCnl@DZ%=b#iLP(iQwE3c%l33GPoLw-VsWZ&~>C5ZNCm1y6FlA@x-Rw*Jy}(v+n--~+*v|CG zD$w^jzDo7Dub}{4YR%$>DgYQ?AkE{?UQSZm9k}}e-4EB`c4(FEXdg|F%PlJu|FO(y zSYbco&h+F~EsAB|WBEkYOG{*V(871CZC0bM7sJcH!B$^}QS=b_QGlI5?wL0B1mdb% zsC}Hp`k{e2yK*a|GA3=Bk>1->Lgz>Dm{PC=153xu_6a|0a%z`lJJ&Hk_}X@>s7tKB zf1=x{MJ_0!Og1cxH$JE873* zJ%me7iLMP(BVN2H=B7W9xL${OsW_^Uj34pQ zYCGwJ5fPsj`Fcm`0L+wS2)S|=J<4bS5;J5{fK>ZdnW0lQvTwJ~Z;B<3-p*wzTKtKB z?}93=`d}TRs8tac3Y}h&Pq)%kjZi0h#bPQg z0+WFm;!7bd&sa{S9A5NZ59SBWlxyB2kmd<cX1)zdSZI<)%A2yGt;f*{dk{g-CLb}pv86ad0HU? zLg_7?Q@%0@%9-hQ-^jr&-s|Kg@ppmSKUPjqTdQe%Z1rKeRSROPQ-zKN974?!pEEW( zROVR;li^#CTeTv#dbN0yy(qV;HMaW1LWd$qn0U?#WATd+GB9fjzWu@#GRV96&-daK z^E?P#6O5mgX3)4;U1+wk(6Kmxx@S+r)KuQP(6J);`0xHlNBvO_G0UNwW2*sc28?J& zzqi(bG4skak{l;FcXexK(u@p!IuEKg3H`UCCM=G)nxmK&;OU+ubrZ(y!9vIQ!L18o zBVTl+_dHSfa=iCIfM=x_5ZK8L9q8CqXN-c;xm8yiSyuyKN~;Bo+fcnApnAPa zraJW7=fJ^+Amb~HK#1C%CSP3N+=gubP?vu1CHfID)7nH!W;kaCx?&-~6AmEdcl5GA zH>^`NjWOd^uaF3?(CU{4Kc@oO;^e=&oKRAw<`YKEnnTLF`6nP2%nN;K5X%|Zi<>|o z3+pR9m_t2&Aa<;DzH}uZPQ&)X&gE7ifpDW;LVt4@k#&(<5!GSZL3 zA~{LZYJh2k544WCIHg-P2TW1Mq-7=;?GI+R(Omizu7aQD7vlGQ(OO>51F^Y&IVD}b5*yvktH?`THjYpqVg@Z0@Y}fgXXDu)RYcXpZl`1{6nZ0mE{Wt+9P0 zu$f-WVa*MYUCbZc^)u3bKwv-duu(?6mv=vUkHk+5_z~b~U zSBt@B%089cHpc|=49~2qSA<-cm0z)G#}I9k#eHR2g~H^t2W+(cbz%WMkYp-3(A+@X zVhB^@aFS;6wtA3gz~728?1Fus4_=zUMq8MbC-9`h2a zO8IDs$`ahq@bCcLD^i^Pa1$uBK)OFuh|fGt=hx~I1m+IvR{uf_sBRc*rv8Qab7bI} zoz7##(J>INiX!yVLRflE#KnI|3cXVIS9yc@Zwk;6j}q)me5{l1~Jah+UvbN6|D}U25g;%^L*Dtn`h7Q<+`P1ZMDiBWm^$>RpMwjGH1>5%K4}-DXfAW>)fe;c>N}av(boTeR3fYydnQw#?QDLv;b$TGvE_V5E0p&jO(cD%#=M zMpsEMYaQ~f*T{=zQhTd!(Xn3bVb`ej6mA6lyqYDD?La{GlWbd?n-NABWR&y;EWtX2 zb=!LM5lr-Sf=fC{(SVsahWAspxp*OJUi9|eYln{+$R{aX)#R4eK`G^Q>r*X z_*q#UT(U;>n;pTMVdiGeO|xNcN!Jb=e!s0n>CNH%i?2cq&fP&21JDh;x=b?ZfQ#NM z|D@7OX=oBH!WW%efq^y?Iqn2jIdU6ZC(mkweEOTYRo{$d zSMs?RwhZ&Th2J4UPlHC5DDr&*C!XK*g>#74K2FLZ$DkwVW*%`!Oil-R9`Z8|Ar3b? z_khaXapiZF#rpRlzUI+v1ASo=N}Gy449B)FGjOB8Hw~ z-Da({F+;H#M^1tf%38CpneZ+*gvqnL{n-{)`8sdy0>kY`vLg5#cVH%J4`jd-n>QvekG&{07Yx{}m z9c%n0A6+UiG=x5P_j9^C=qt@o;OA(2V<^y$?9lLTx%wFu7U-fYSf(@(CW*It#PsIC zPtRV_o1*5k6d~e)k|22+*i!TlamYVkbvTGWc67G4(ZELDAwlbG; zah>7xAZMnpTlMHxFlY^UG$eAP{26lmQ8NZMZOdpFU-yU6cjv6LW{nMRW;MCZV`KIm z+Rdzj5N$p|LKd(cYU#`c20x-NQF`dOS(u`I949SYtn>H6?OfP1cT79TPMkA*&J)Z zNwWLB-?;6uwdHAfs4&|yG1VAgTENu6m&0LIH_Bsw?VNRi27Mp-0&aVwdl_G1dsRxH z4D)sl0&Q^K5ueq>yvgx{~VX|qgzYIreE0G*tHZ_8i=&YDbFAQ6AebZg8 zXIk=uRXjru&w@#PaI|zQ;IEBpD{BoW%Q?(`5~LA~DYDMem#rbjH%1)w_H!9!As)Ym zjjo_QZ_U>dKm9K zxX;${W8G=I$8Z|2&dKUz(79DNn{g^6IVKGfJ;LuGK&Yd6VZT(2Ngirbb4svp5SafS zbw2PgWY9A@lr&9x$4gr#+o`=Opu*=)$+^DB_Vdh8u(`u);CHDsYEB?&y6L=vlhcnG8GnE6LH-3F1-7ps8ph zo}+8Yb&_Nfv)RBo*%ad1O5Ti17*&ISKOw$gP3`Uqps}DiopcVL5Grh&)P+Ydf5EH}Z*vr%&QC(Kz=dmR zSNZt(b@W+ylL`AG7P_6t1Uc?jD9SsVQXFe3i%?rMz89hQweXKY`}5!)g|%7JnGq&Eye#+)Ghi=;P6Vs5WsMM73J#dHlf z(+N`W?~>g*8>*NJJH(yKFN1W<^1n`k*U29%B1wVlNqLDwsF!_@`-AxqL)DQN$Ha=ZlhYkTr>Nu}r{O>1^<9(yI zH&Knd(Jt<@0K(+T*c4$=A-)GCG6otM^nN6Ro{wMjN?pvm#XVo3=j+__c|7;jQsDi_ z1~^fwnxn1$#-)n(jd|bT&lplQa_Bkl9?!ia!F?PfhaPP2qkpUE8{Z}Pkwf3yZ#Dn3 zj98WbjsCvi!|&?%6+eAfzYh{-S9zmppz& zdyTzU(@*u&U;DQT{|W(IE8qWpaLnH-{55|1u6~d3)A#p(Um?mY{9pHfKkxru&Qc34$IfK~Z8q7*1h`_CC_y=dW5&(HM@r6D%TH9Hg7!S0ZZk;(ab&CVd z%nrLx1Ih(!u!1jN-IyYx)_*?gvyQ1$iI*=(f$|GQUd=M5f@f|_gcJ?}B=^C@(q z6-p&=s~O029?Z87+qWE><9D}8lr(|mD)$ARpiZHV3ZagAD_m`|CvB1&u7jaz(mc2W zqOTvJ8kOH=(2%1gHn43`i|nc!GVHr<)z)!v1kw2?aF>tk-A6y{?}metlJ(>0r+y*~ zj$t%o{5ytMAo)|L83~AJrg|y|jYC&Yn{F`ip~yKBjxqZMNhZ5gfu?8g_Y%!i5U0kw z^AvkfO?8H@XY-ewILxi$PBDP0^csH78d^5ZJ<1K76h4Y-8!VV`=`adt(EOq#D)3nC zNL>@B)7>0`uS>o--3AYY$7&x)QT9Chq%M4SV_2y>05eg_&vc^1F}d(IR{prdz_O*_ z-f{%U!i|9dmER)}21HgP9&PjA`eg2vaZYW?dZ0i|tgLmXSSvt6jlH0T^8R;G#fx3s zG&C2|nDPp1Y@XbC_mX(0;Rs{2*?-umT1A_^JkN)aY8+|LuKoszDmA$D(dt4I%E$z? z`cs90t3W`eVr($cSi-I#g*{C?z63j|F`HJlYmMQ=-bPiR9gyJwq{J6Mjzn%Wp~}v! zaoH*5X+nw+j$p8OqNQbM{DOMOi@Ykd>(m*-@WWrnfW4a#vs1Y_s->^*cJ!osu~vG= z;f`s}=%w6__M{&p4s<6d%vT#{x-HSCLJ1a}pXl_{sX!!A(?d2%IMEae&X^u6z{@yY zlL8yXAisXqjA1^OBBO_U^LJd9ZOsjE&Y@6D+fcZJz43f!1b4)(**meVb@UvH3Q_-6mnw z|J@maF{o#lNqaM>we}XLMZaHZcfZS+e1ieGp@v+gAs{N`)Sq@))>xeKnGzq1BTy3| zhGDYk^6S8~bVL6$af^;r8^Ircl97=#2JgglG6)%~tB+QbH}%O_7H!(pGdKNSyZ2?y zNRRZ-XQI!T+%~Pp5N~wYKI%&zbTaLUA}tBo?l%RaAJXD~m?6PO6B)9^8}?)Bhk_19 zQwad>SeSo=v5DEZyHz3}e>3=UoyHWh(atFNT}k|>4Td0yOuyjD_z!)RAvgjAU(ky> zT^)+T(#d$vKEz6z<2J^Z{!7_VdVWOW$1OW62B5!W!y4HDbvVpx=)gZZ(n91VzBKcxrT7Om{BCCyoB>s9GiquAp!Q4vPkELAQXKBcZIpox*D(NOV{fHIZ9N zTNpT;sg7suIOSse9naO#VfK6LFqyvAlz!-{m)mzdGGd!&1Jcz9iLM)5`jWBI3(f6n zD5lQi^T$XpG>g5<+DV=EwdUnUgm*ThilCEO2y+p(-#`GZY*pcHhSVe4szw=-_fH(dV@X2Z*hqT zQv4?O<$C>?!a+fE<{(`>!-)z5@heCGqw4l?!SES(FMhtBAt5V|f%<)iZztF{#8ShQ zL|2Ynij(S!5DO`@HZH!0V5CM8x!kjAUelPu^eIZ2yYb40ff}Bs=X51|Dlfm+%Pi1R ze{SC4%g^*BKq3PdzstTb4$1Y`W%_@IB5oFS*AmMm^-DX!e@$QVr`D5r_2@)oEI@k{JWM82AxCmU~80$lJL^a5+p(2g8z*?c?lPHUbq?8x@Ltx}`yNTOR~ z0mylLbUGDaQYn`PaUuQ_rOFQ$$9|xfS=fq@WB*)}Ssd%OFKxiUtz3zQFphnYEfu7G zN~u~LkdI$zfbsM6LlqlIU8rZ+dxd}p;-~Sdf25pZDe)%#5YRPi_cnXk$w0nEYu87& z6gH02PIUiG@Zve-Ky`)f#I zAkN~ECX~F8xI#BNx%Wlj&jyK$l=$Il;^JuHVkMsJC${tsQLrhTKCiLU%j4djj>#HE zB8BlSdN0Hu(N8|UksqDiAMdx%*wK8C)zATdS6_?qBmd;;c$_X5sFOX6bP8ebR*X;Z z;XbD6r9%87E5ldb&W~>pd2aqGr=#E1D$hUqmmF1hND?sqw-gp>LJiEO~vnH%l}AyW+%LC9EX z-tXLj=V$?*F%xe{-KZ5vO)`}DhU_v+1ue-h_Cu>aSwVCn(v^ytqc%BVO{tX)@sT}v zwxZ%z6s_y=N&hUORMPaKIrcLU{T5p_;O-A4^9H<12Bi7;-DD~CILPsd?$7d6h;RRW z9Su2>onDBSc(g)Nu8=_36J3u|kOVYwXLECIsEGrWx_;_^ir9)PvBQvQ*hK5R{?M&wt_^le@ zORcJO4p??_`dLF0dX6^l2!HbeI~Fj}b-fQX5c|tdZvP*@Bx6~?5uarfqb2Rcg=?&n zs^!ATw*1O*;ZGVyhg_KaOoR)k8LKVqQpyD+`^=p+23nmkSYG5z-Ak5VCbI-2l$P2Eh>Mc zS>h2tlImp8IASm+#0a$nyU>g&p*gM7(c~QpB@ZXbjS%|Qxp+e=7IaZV9E)tw2BwY? zTcmiIJC5I+ZHFTtzh`%PQ4OUiLm{2^21B0fs}FnQf1)?GW2S3ExzPTr-#Xei8to!4 z;tkeT)O8)tKqL9S=I5Ji`Qme+;q~gQu(D>UD|WsatKL7V4;EXNy0cA0b<_vi|1txn z4r1&QITKdrJ?*oxGJfAA>TOvv1*`M0Uw63G?|qv)naYRT1Yw5pxKlsbjWqi<`>4S_ zhp3S^de3plD6bFyk7LB$#9>{Vj~;cAGi(x{uy43aBg|55#=i;%Yop?=eh42~ROm(B zf*(aSPgqm3!G~MnuC|5*j`z*twjcdp?M8I8GA->B@R<_ClWwPzX>DAi>1@iKK~$D+ zLz?1(P4?IjFl3@rZ(|68|D@x|w1XW_p5)wI;KO46%M}BI`@JE^2>exxyee>kLfE%a zIwFyA7i=r%Av38Azo+Z292e1pA>I$&woA4xa3JA<-g1VF!EC`o1{%!FYUi1uFQ4Kq z;@L>^ExJzYg(b~R8u^3#QVJ=vYm!Y|w0pfna7cilR=lCwo9#+xjSx$L5AA$XajMks1bajlBZc_Igrd_2ct@M9#2)-2{s42ZUi1`)b@7&95EqRKJ zDvIf0cPcIPFR~Omu9;=L2O_-8j?u5#M{AGg@sGcD`?~Q(_od;t>LW4vv-(yVz%FPqvzZ048Y|Bo$huNw9W=D@8{kvyLo} zRw1pkM5n4MBnL98LjE3OQ1p8z%9~KMA|l&!ba`8#LLFFwiEhqd(12K&=Pi+lV5=FO zq7hSO#Jn^0#m-x2f>2+8Mf1G51_{H=T)(~+t}_7Sj?!V( zL^s$3TDYh>6V+s0lR~H_&%T+Fe@MlideWJ=66?we@p%)*iR!A{dJ$@&7 zI4B`;%}TsxUmc8|d@ZtF)3Z1VSVPZg(Ub^1Pi%2a_{O^edbIM;(Q`zUo~Yg;*6f|D2E^dj71(hv39vK8kn4b|5|l z#7+U%Li}zWbX0=~W)z7>O_9k{k93fhTUE`( z#mai{@hYD+>CF}pK2p#49ezaDty$8v0v~Ha!UbEVsP@id|CFBVGlcCR47#bgQ_b4S zSVpaNaPJuPK0YL_i_zj};<}HE5|_9}!yXu5QmCcPQK@qjs!BIXEG*=n5;aXH?RTQ6UgjSmeqCz|GDZF>L z;nwB0t2mE;}EyHv(*r6|!qWxUHeEfZn*P(w4`K$Zi;@)!T?xE2m z(r6}J<~z|>aQ8q~pDNE9^_A5j9^ zAP}5i9)&Xr42{@7@@N$J-!K5UEYu@bX8KEL-%xqQ`0pQeRk-6QXXur=AT_4v@my3i zghG zF541la1dr%=CHEdH-AkZc}2F1%?Oj;5_h&Y=brgx?!n}>?ahVw3j~iD0}mVOql__z zdanSr*1bmu^4{^*Sai$QdHa);wum~2hDAH9CeJml51-YD*1UgzG*jc>H<=#$$~#ZD zLxrRNAYbE{`Mj_HBLW=EoYq@e+5}pq2(wd|e#t9HnR>hE2uvyJ30q0Db_|UX_A?T^ z5D*<+lPeLGl3HmfW81iS4r5>E6WvjA7&x@0VO}OaNLy?$VKlZsV2xIYFa4!2?qAuh zM%)u!{uw^Q=&vGWoiZN7VE|2^!%&@jad>f2ZEP#aZ3+Yc;ChV+B*bXiPvs%|ff?r6 z9*&5^JB*Cdzx$FC$ygKa+g0)J8MF8x5SY~=KecsebON4;=Bug@wC-I)>+w-quZ*j% zL6@`LC=Zv#dpWg)@0~aW_-pRL2`GS@-T0MiSd5=hk?~P;rafz(mwr8*=uaA_{7_Um z#T)Xgj}qg0NH&|R7i7Q}^Uf#Dig>F*+-qS@sQ(@kqkc<6HGer%A^z)^#>LEgQ}dKh z_nvgaty=ARw@NECr#K{bh8~?jjVD}hgK1-__P>r^iIF8SG2Qm5z^g8$?badz%m)B*!vs#L%n$>G*t znX*Lcw#?Oh$d38V7(%{ko(^j+7w8jh66%F}ae9HXZh8?Gz6aLM zdsrInxbgpZ`x5x5sl_ET&9Y-``v)>>`VT12#x1SKq5Hmjgk<9^3+3AhlflJEb2&N=tqnM?vv`|TI?l1&QMb*e0^=095RGLO-`7e+) zP!}l=N(gyS(3OeP`_QrO&TFJ`dI*M6I7PnR4C<1HC)(*5aV^S6i>(+KD}@2X&So0!+S4&P zir>}jaM?t;K=B1~?`YQdTFt-opoi#S_mI3Y46VlWd*uxO4{v9LpG_m+%j z&criv3+t>@OP*DsyTZ^aQBcyM-1uA9vwsy7EvIK^3{^C&^rZ4xxUw>d7hE9fd5)XA zIH*e71$z)Xo-aeKT8i?z9=zu*QSkTWYPh8sP60m|SAV0g{s~uQomcyeJhv-w1715+ zwA&3jd%-0cSW&!fg?yIgwdq(fo-@9>NKaKwvkJ?}NUCjJJH8sm!4z5&ZWMK5F?#Fz zeHpU4C6UAMmKl9P(C6X}CJ=5OT2?MD20s`fao%68kY`>}00=wWy%7A4Ot}_Xfb2!3 zef9SX^rr~dt2HLc<#WP-l{;`2mAzvzO6t|tM9*%s^>EB(W~LOi_cKJIB(GU7TPQ`m zZoTYozL5*{$am7$?|Wp^Y}QVV?CYNxE2kUgynZop(qAw{w31EbWcy%Zkz84~D0i?a8tz(HUAc0j;( z+(8=LrnZsO1u}=zgK`C%tARc_K9@huB7c3Y{Nj>4?dMeY7tQOD`~~!t8v%g+pMsc3 zoDHNe#a$E!Y2!a(I`77^us_WAd`_u81zw#3uBp3#6#`r)K(xru_xJe53*@c$M-=1U0}Z!#x;=j59|RMz|O}Ay@9PD!{T^7$PkPcXO5H#|7`fRp%G(;hF32 z?G5%8`#>&9Fw346H^`=ns~JqFId zr5{@-idVL6bW?cLQ!Z(HQs6ub?T^vze=F@h{=D7%mWcO5^?25Z;9l$`))9dhDHAe@ zwq*mD8*RHm!zR=r)X(e5f0@A#S7<=sLZ^Y&(CAF(v1P&xfVa&# zn}LL&ZeRNJqTkNLD~)yMMUqXxu|temi_kYE8f)68J}B8h^(BIGe_bf;o}t@nCx^0Vd(z=|sF z=G*mXdfrmHrYIn|J{JzLNDuf#MUC&S(zExW__q>C3JFXuN(hg>H9KX)>6g zS9si{0g5-Y;+xv2xaE2r=FGRr_M~vC_B%cD6AHB_wI_a#yn%O7Rgl9sGQJbw0^>WN z20X-ffGY|u#N{h*Cgd-C5U-DD) z;Q1?rbGrRyl6y%Eh)00PLs!~e0$3iuOq(W6P3?Nk3xn9YHW8sg6Qw^qhI}S z(f@maAL!>o_0M#7zeIN`IiwEFtH$~sJTfvEn_a4#)v=inXK$!kCyJxDeZ+YLS#tfr zkv=dLtv*t;>N2#dr-l*GjGh9|&lcpP57N$SN)X;%tS0`+vjBn4c=G@19%ZgVyYoNR zq+!2qwoUzz1{Gd|UbI6qKkcx(qx8r9%LUU|HxU&LdbK;}s~EP6lo+}e_Y(!x8om<< zA0UGs@nu(Qm7m0F7j2!|9LJCimQHvwQIMlMxsV!LR+svu=4*oZf|owxlr=Tmkn$l& ztMRy^=6hJ-v=<-YPb-UCd(76&F(0kqB>9Mh!M`9L@4 zLxXrjUfFWo7a5*(o5Kbg1?(dHaK+jN;SLerMI@77FuPyEZ3e<$T%;!ZI} z(p2$+AHA8YQxNb@p*dm&=i!P_#Z_kIt}>(aLKg`lbgDSWacmk6*Z&SA6PfqAm z3WFf1i8kl8da#6%UU(0zO-WU#(JI^x8&qVo**x(N!32K88I9G>X2W>JT>LD;-9U%O zeZG*w%vB;&|9n|(g&t(SvsV6B=Bu^*O&m#zCkHRyk5iPCy37jP%lu6dmY0P_sBc!9 zTPB?U6u`neAnNpUlX0^+lBiJrZQKS1)O$B-Vr_CjQJZtxBpPBlNMV8Nj&V>h39#aw z^}}yw{liX(E(SM0h?jG#^&3{q6f@>n&%k?ePD9&)`yPM6cC517OJ<&N%cPf{yYg^* z>svO;dD@&|s(0NVP^vOGEIqrd)uE$GW&*Mi0u&rO)yhFx$C6hMU-a_LukSIwCn2A<(K+Um#|91TRj)&RI+{C#9m32@n@AZPoZ;v4W@|l@ww1r&4Np ziwPOM!2>MP!74T72SQ4)(MobQ02kETpU^VN|SIAU86f~%l5cF&$K!+%*ce{AADdlXWAIvDT zpWjPA*=E+n5Lz9!*w4)VkTx?PKWdUB3ch?)X}WVqYhjh0&mSQ;5V;9*Cp1q7xv|2O z2Rnjo5QyvcrC^CjV#Js)0{AGX#s{?LZTx^@{mbKUym!j1Ru2^B%?FhuuLIw|1w_LD&1~u5TG7 zssXje^cJNHxB&Q+@7UzcsYdx0bLwbQGoBL%l|&C82>+=tvg6Q7L-HKsNEM{Z`WnXmrD06=Kgv)2xVMu)({o1g!v$S7pkYtxy^T15m!I9Cp3K4zNwK2n=A>pIiINx{3E_8m%v>}(~T4! zD+G5@VaNdy^~f!wDt(Z;mNtg*3~Dyz%HEdKSg|~t70a{1)d2X^(s)5RZgPF?cfb>d z1ye(4pldl&eYqVkI012+Y;Q9+=^~ZNZkH9n-btS-?A?7O@O%Mo;q0D#`N)yNn_$+* zxuvCop)$;vl;DVqWI|`P)nzl(7zXIsq6RpU0|Z(iowLt6H^axl`qjg#)m~}?6p$}M ziqd}M#q_-f+!G&&hZN%|91cyY?SW6=6D@zDTb_oNX{ZF^L=#8~nrv&lsY#F#cBXl9 z3Fo1d%~Gfx50m=r8of~#M?rn^h}w>ckJCY6V(+L z%p)QQhT7$AWB6Lw+v^y;bq-;=PmzLUH;UR_E(-V8(DDu#x)@i57JmGTr99oc*>7L?;`SJ?44Q znc+Av;==hka$yEvg`CqM!|Fio`wT#e~RvqAW`UqL`q29nMM-BaOYAnxUQ~qG@uzU zo(E%tD2DfS^Tp?xc>V$!BfZUfw8?^JawxNjB4mfmy4+nny{t&}_8xFk- z(qv#rzrd0 zX+&T7F*gyzBtP{yQv`ODuQ5ujJb@i6U_x_!m=lG^Le1p^`Q1;^mtkE|xoT(L5=t#e z{VW^Yq6dR|hE5ha^%Qnr;tu74#)lFXS2*iE#__baN2}8@m?V>-HkiMq+VJ#Z2zS%a zTPyZUj7ghwF|d+`*_HZv&l5tJT{;B;^)OL`M=VqG8RWFl=Cb>c?JuCa!&rnjPgqtMJFi^@zJPqi_E(=!vT|d!!4luR}tKb zsFq)~C*!GIb%q{E*$oV}0D+zZ;3Ci+{ThswhQ*Vz@F)7J^u3i<5Y?GJnH{gg_f4j?&4QwmvV z*J#c5Jy4=iB|gw<-0;ogL3Xge?m&~8YpZ-@;EKY!?IHKs3{nqb)oKixA(D-xcGhN+ z`XyfJm()0VT&MBsc5ww(z`O<-DbV)?=XUA#zd-Q@Y;A_z83ASnPvRL}AJXd>L;p># z{{&SiFIhOP1lUI=$LQ{4H@u3wV`;@SI`bn;h6omi8>XEm$Yd#YcAC|i*forKM>hZj}XWeP$5863NBfR(i5yZ z@dL5ZSn=?1;g2s%jx<&<9e053SiuqaLY-U;q)D!zHf?t^>Qd35&s+fx9xWLEBKzbS z=O$Tz9B0A1D+mG05^&5u(v#%<#Msk$QVO)Ug#>F#YCht#7zps~m)x=Q@`h}E{nFQ0 zIr0Rhv8b=lk-E>P?n9rFE2z!P6_~74qTnvPI+y@_K#>+UchgS?0*;_gA)wR}KU|f^ zJws4=Dfb0BiGmv4Q8CN_98jNCBSCgjfOfLkH;}WwWRucdlvSGDK_owJYCO|agF1T> z4Y}UJ+7^-IUGX;%g^dd4nkDYPKmst1Dt%)Gi+DPPvaAZp1D4g52h4dQ*wOauTLL-r z2jNaPWal^df!u?0q~2YK!~ux*>NBX9DN&a?(bBQYQ~-ngdUu_7bQL+O6ZdpN>$e~W zUi!<@2fV16(&-ZRYVe_vZxh#nel9MuXsP|Fxavj6X*@C!o$95$-1QeNpoRy9=GwNt zK;tDzK5jB8k|QyY$Y6&_B$0ELJc4g3vvl$Qf??g|G@V&WXyezBv-IKDDSvPVSbhS@ zS230epxu*0jG2I>lV&%EIyRDZB4h+9_hrC&m-J$5IV5ismEHMWiYoYtxV2fyWpO zkMwnI(qM@eP6z#P{dul@YSK_a;}s>9$RPFfxRNn#gzJ{dfn`aup*-fI_i{lSD9fcw zbi2?Sq1HbF-+zKqYod~>_j^cgsY(aq{HX#3`fQ>08_pR}XRiPS#(OqdxO6B#e1U9A zv}{!fFo+z`ICU6D9`N()%IDcN5CAs@>3ELMl^oqp_+I$%xBawpu~{W>ro-MM59({0 zfv@vl(+qs6d(G1XMD?U!_f~H^;!ET2t58N%Xpc#*KA?C2*7|4)f>HOk>&u?xy}w%N z21bSm!lSjA1HKjlS3EF=d1@`AH3GWm;AGfzUs33u%dWhGis9}_|HG57C>(bywqfjv zLuzmPlfG)ZoX)Z&@*!M2rG(Ns-SFcXI3300xw%m11MU%-1{3VGXlf1!&bVU?(^1v3 z7+w+(2z&)rU*L-gr_TeS8b?j3dM+0SVHrknkh0SuIM_v`Tc?w#t&lc~6ElQsm58nP z;&5$+YN?9+7AS26PHUvq3jIMvdFavWyIjg+xlH&vgYr;3irwA0d<1t<>dYX{r2J`s z6<-bIecJitRcxs!Uu(K|_s#mO7cxB%U)g1V*n4>L--;GU*%RSPZFtd}NB3b*?;GAEpadL`{+u>+6T9@!21nP_4i^^ijYNN3 zBO^6E9f%1oMo}GdsoYE0WPvViJP{ImH6klv2r(PL>*9Mxgom zf&73zc|ejbuiX2~Q0Qm)yY0S|M zgcN8OB0WBc)6yf$h_{-qT-JL9VS=dR8a0HmM;Jovk^R zODmj9S_v00Q@s{U#Iv7H<(0&#t#C@z74>+VbJx90zo_Zehh&gME!l{eCmRth_X(P_ zIs!)(2NJN49;Iz3WH~4IWcs)8ukm{AbIPRh}jsw)xH%uMF zvubmuNFwlgRg(=~dtUR}^T~tKpA$x7Nr2xZ6{3wCzs1FlV)pmbR{=jhf8QnPD0xb5 zjMq2f>IT|FaTxa8fer!Ma@gruc-^sT4QwHRO=|Y^iTLE@KK9&scd2`DX4k@=dm`&= z*prGzu_yGSC?U_je)Ozn&z&FfmR=)j_Ut0Rfd`+*XD9GP_S^{ev?z*v8LQMARWEi{ zNHHI;wQBZU#4CwYAL+%OTYpJ%D9j0a0#0GiE@(TlC*(lbGhTy(^uVD|b*K?={nY;p zLgRVoR2fqEAME)E9$XBoBy#|c}zH(a>oC}3T4~J8Beww8o_27Q?x7F;J5N1#PAg> zl}C$rG|~>oTFqaR|D>IMw~HjF+4;_LFrg>tC*up0O(S39%1Q|zcn=!z0DT1#bWSYj zW!POCoMr?)RY-EqmHw0ymZ5ydiFV04>|t4k{iB|*HnOrQgXnO%KbQ{sCvC(mmYxFj zEOZ4hMn&%cuA4=m6NQepK*xQ`j?;`uEcC1tKP?TnVE64|6I#%?_rXZH? zNo??sR!#eI!x!o6GUe)QLAU*0dPZO6m=e&_z>S876&oH0EUDC}9%PmbB6UPeG;k;f zpJ{9HY4C6&y;iz4{BR@5GwBek~JQ&u? z{4*xsX%rqNKU%2io4mB$9hAt8?&7en81vOW{o_C?aq|#9QKj5tH9v!y3N}mm1#@2e zVs>I3Bs1L0%zRjC4>QT#`-ggOrvVi~fMKkFRNzboNNVz2twFAjB)6J=jQM9w(@nWz zniB+nzG-qE@8C)7q~jhmgk_=X;(1t7E=Kqkm$y?1_w{V}?k0pm%BqW5-yKDs6SbZ} z=XX!ay6HR8RBF_dcjG?p;32GON`wOG zhqYmS^N0FeIv&fzw8jnlL%AUSLX3UFS~89j7B&7F=@g`q_)1u|{H)wJBJqWv2gij=GW4S;NI>}t=fxg^fCkS55 zN?Cd*%3j#YcLr|=0*Z3YDGusAVS^XnL@cKz={5N3$#l5;NdB8LM~;Q%E5sT(sUOP} zp&iEEEqWAo4Z)l~z~1ZyJrRSTU{pWC%3PX1*&oNn6!ilEq|`sFUwnz2*uBqD)2*aH z4XEY-ES9^jTDc*G^0`!4Faw0v2|sn5@C*O}=}e#L5eEFTegSc6p*-LURu;|mX>z?) zT`!KQWy;>8Yd=vdXY=rKI9~>aLXa)_A^H&-aXmBlM#AEqroBergi0p0l6q5;92(qB zpxT@uR-^D5p6l>JJ^l=-pEqb7ew%dAEt@a9&F0H)*?g(qrH9Rz-LmuMVRU!T-zki z@(rAWpMv24qd!IF#GM;a35H&al=$x{kH~^Ux8kltd$-h=TG(L<@$4m{ybEF zj+0NF35CJ&0y%9b@j`i|3A|8HM{_mfM7N%vGq?dv#07Hy%kZ>naJ#@hF1BP|p;u4M z=;>Q_(Ykv^7n$0zNF8V{H4L!*SP;zsh$=j&r}mlZ&C|6NezY(`={2v35zH$B1!V%} zc+I3(q@*0v1t<}`tRjw`O87#P?(D8+Y}Qnu1nM;wH*!-pdQECpUz1AIboHK86|koD{xw5TO?xfqjpM@Pz4urMlvP3C0?8`6 z10FoHGv_Wdl>_p*$K3IQ=8|oW4>Td2!9fBq6YGWV6!5JVF$mgc0$Q;GjVUl>5yyxL z_mLT>IHB;y^l2IMTRa-Y|o^Qo~n!gBeKlVnZY^3B6>`3}*eVI{x&()p22F z$3RayD*QC##MS!^3|6{51aFzy^~rz$EfR zAA)$g8p#vHip+_bDHIvFxr4nZ0)7F3UE=O|G|aAsZ(~3%X>TFFH)d_-n7sv(WjLZg zkM3)pS|t0J=haXGS!HvQR7Htw0#7?3o95+T)JE=0EHu3xgRHK)tN?@D9$^wSoxKPn zq6=wga}M4s3&50E08EL+IzWcRdf@jVu?9GolG$ug;(?npml+T5Ej`LgXEkVfm{wMy zDffg1gxLw9aS7IyY0!L<;s;JkiUBT*N&5%5tQT-QVbW-O`w);clV;RiKXz=!q;9F%RhfmBb%8zK#egFx%!4?s$7lanT-DrW@_sA|Nmyn zhH&>{YPygEHd8){bBXIf_&WXGq)+(#c69(|YOnpW0Q~LD)IjAXT=HE?;qSiF-X2yw z)Q26*kV0b^Tp!=BdNMr3uT;mL==BnB)0=DU55oE@BCzT%_-#g@#Z&bB&h3htUJ6Ga zlAh_GeUrXt0AjHAf2Hr~+2QV`Bz!8*OuM2%Kn*_Y++eN(% z)B_knJJ6pVDANh_+;oJ?y`r}^|MY5IpJ;X_S!8-DLhcg;P7PBO5L}02#~^HkSm-RB z-+cB4!JJ=6{euY`IDDF>S|g(qkaYTxAzCLpBs!)orepj#OhHx^i5hN3*_a^NTstM6 zrSBiq^ls7 ze@5mUWqC4l6FW1q?eU#q?g0*d?angzj=8Is9qW7gey%zR_r``_WJZwTc{*?51z z+yrh=xr;1Z6f#@{w7EnyXK?Uv4zP(S`q#N@cSi z@A-u*%Y^zF=Lh{rcDA7&&&~?Hl!yre%`~!5Y(l1GFyr~9c9@!)XxGs?;~Hh^^#GH4 z%__d03GE-UKB>G@!2Qvu`g;SnlTzz}T5hD4^nzl-F-dOH)n^8OvQ*P90 zSP$jK6ubhS!i-7@#>9QNk^>v*^MQ@zY9g6ahH}ps*(c58Y%+nCWLRr z0e3{x8z_c1AUko=C)|f9r17Rs@TFsW2as&`L$aSh!tG!t#lAymf__4K6#_VvZh}dI z9*>!!K51$IE*4U-tTwRmy(VZa8oe-RH(ps303wPsndQ}Z^{8{imHOeh8w{W$E&=e- z<%R)*u4CCZ1P2)iPSOzM`XIn}K=8!qIao*cK;Yh{V(W>VIVfpa<%1#D2g4jPqGCf2 ziZte6sDuZ|t}~g8n)!_0d`igKX+%L_T*p;ipqttYHYRm9_4Da zTDjv(c!!}%b=aS{xvIL91hW?YivtP5j>#Mkzf1Mo2Bqv@dUprE7Z2*0C0qQ^Dvj;% z6d7!LRkSNbU#K(`+TpcuigpfZ=P25#frNIrGC^jQE3+!cqYlr5#5HSCD>_9-GjLMB zv*c22bR7i>bfKeaoQ>(yx(l?H>BWAdrpLE6-hr>uZ@%<TKxw<2PGAXA#%sMGxRiEsgek*sohYb z-enO$!;ldFR0RSlJut0=h8 zVLTLB7Jd`8+Xa(y+GZMKY5f6_SFA<*h$k6frC|=gyIgp`C3B(U^c6sm43pMcqa43v zz3NQRYKN-&%2KVby@&%kb5Ranfz&Ef8MxZ^v%BcAi3TDZ!7C8;uex23b^!qJqWo(7 z86QmFp&GZ-)%bA`LgN^g*SXTcKUtP63c`d>8^%0rcAz)F2Mqmu8fo7|ICOrFzau!QLD&Lr`BI#^(gCav;Y&Fxc z)zmC(bqorl4HIzlzA3J8gP3frbplvx<2_2vr?U0xU=QX1dKLDfa3EyZU)W1*LG+Rg z{yN?8*YSqG(Ado`hzCC=7lPp6GS~Y0U^lNG>z}ffR?e@sVgvQzBWL!@bOTnoeDY2;)fq2;s<+*Ph?rXjaHv5hY|<_?z~n%>la$|vT60?P>*Ok zqt&BI>?Ys?Of&~**UJ5@4B?|1Vdg9~74Ax3%6$^p2(BrME`4=XAimb}Z}|nTmzH-u zBBWxncto$B)~`o25G{|9zM+;^u8>F?bvlrwymC=G6>chKwwqGiSuNiu7tYVlg|pMS z@Y@)H&=8Mj24n;_+|iE_cpDft>SHH*70bVn8z2=&9;7((I^jrV59VgD6L0 zcUM*b_CdUN&l>OqR=sb3!7v`Z!i`Q{^2QguZ3TWlJZR)b4IRh1P3pNN&)-Dl$af;c zDPDvN=e0Wrr>zc$;Ze+fIQhm|0MTkdl?<8zb{`K|9z)ivT_(h}ePOm&6fr419rPoS z^hw6vkbnBi>Q|_&{t-BQ3R%($C0ESrD!Doaum&ZEZSp>nh(yNCY8tFs`I9}|6Ru~R zbSRu2-BH3)ZNvIkfbNJts)HWgZLvbHHD3Rk;PW-1d*?iCems>l@64VeH{;G;#+ zX6dXi?*F0GsjBJZ>dtvH`1QiIGD8&_se4{*6t4yzRZ5A()$0h8(o;%xINhd?Km<>_ zi6cCPp}6Mgt`Bn17kW0gEN zqurgxpga|%SKO5OXzCJ=P0v4R4QH}USNW*=@eVQ0$P|PxMV7@vY*taOk`2^|*V~Sk&G&1vhMHJu(rjnA1qgGPK z%Pw3eG?QDf+ni0%t?GrkJ^CpB$<@L7L(v7xT2f_rAKb#~w;Qg1d#D_If`#K#-{z`+ zH5YuZR7-z>`F~F3^A&3V0~uXB176&b#&5vxc@6J3Q~bxGgMQ>^AhC%nI(rLa$O#f@ zSn~mTP4Ds=t{3m51nq=3wIjwU8ZhI$M?N5j%%@sQpO`St5YEro-1AAw{Yse`CU}c*l~{}js_O&L@dig-SZRF6_9t=h zRgSY%xI|vwnR#BcsoLAw{%FCSp6MWrlzO$u=?pdxbEmq5Vpk^~07S%w@R~$Fozul* zeRG`O@Hws;%Ujrl<#1##Y=YvxyKx&au5$J5v*cv{p8Y?#M(xkPS%3bo{%kkD7wG-_ z`tzua&&%iYzO_#iAjrv)!{-57v}6{~dBdO80$T)cjhh`oX5~^F$G(^LjC~v3gkxQH z>=o+LvCekRc+y$tX1xCtr@l?%v$c@~|Dc0e{8{R}{l0o4qkYEDmdxL$3xMTe9JIr3 z>^N58{%OZHL}DFwY+X-nu&I@==#X2c$)HM^f`Gc2aFq7c7NcFE9X|zK#C9XC&N}xz zj&-UUpmbuZ^!suow#;r`87**r_iw-(%d-|)cH-(l!#14ZBy~rzX@%CJYP|chCQv=G zb>XzqDLv8Bi7O30E3HMN!i{aH8e7}gd856dv$1V(ct~s0`UUUS1Xe_1(~8g{5Kf$k zr`Jzhxo}$99BZGdoSZ6a5qydEKqR)p_gs5*)5-3i+Y;O690raG#}IPNER5k&yYm(<*sat17{3Ig$>Oopu~gg=5{AhBFdJyns+Y z)dV`H^6X_AjuR63L(oNPsS8(Y>TiH+O1{=($vFfZs~QvVm%(aVR)HMpVMgT9LB z?9)RB?D&VJu@waR$i~jOQ_7>q&mS|TxE@@xj>t}a`0Dl^YoCgoDHZi4=GsEJrtm-i zK6|Z(Q@t9e5_W53c*h=2sr(Qrx%=_NuG#^7{hy``GcRi|xdj6+Aty zz>aO==`5Q7O7U6A;64a#_-&aTpRvL@5y)#1@hGi~tqR9BG;FJlo=((TQ-)i&w&R_A zc=y9orvL{iWVl)vj+psNIV^wX81YW5ISq}-v zu!Kl%!_2^+Xp9oSPHb&~N7P#AzuQ2(+wsxaI6!XdSBk$YWxV{`Q)L` z_Kn+)wQe1TXBywDu$pr5#qPj6%ki<{ZS383p#_PX@inFFos=cM%@S zoh8Ua<|I!WX9(-(EtkGn(W<(iVJYUZ+6j#cq%_i^?g*8Sg(c8dRS@ec2K9+0=B)c^eawC69=&!5QW zD^IUHt@2c@Rc`ul1s{Xeor}+$*h@9BHTZD_e}KoW=3nCrUVQzp7oUFm!ABQIko#)v z22QF<%B{PqN-7(_9AquJuA~xgfvG6&URYH!)oP04k#M}y3CGXqs*GQQGkWnRQ@i<9 ztLZH&j|;ap_gD)*%g5LF|CF$ZsV3GvalI3L8R}bKf!UJN9i8)h7hxTo-{ALRMC>`K z5k{ZNu~_y^&vGKvw3TO9o>O^l<#|TFO`py@_9d_&gyWl9{tX||PBfLM>Qn_w7_VnR zn_B12ZM5`v2!P?(bJn7!60ZHk+Azs!Xi??N`wv^F$Lz!@C0Fo4+m1Dr+=qtFJ1=eT zX}qrFia;d(`;td+#ctdP0(aDe-nANA`5Sg_K_vdTjBhQvw}d`~op`8ZAwSVqF@bB) zKT6GfC$5iea<<~dj1j0|th71c85ocI0S#{fR%esGTk77u)pz$P+?5;9=X~;qxF@EK z)7*zf;nbXP<8v97qa7;d9h&V0kwBLn>X`SviZ7N2>MI-HD}?R66-V3Jm~DAr{-+Vx zwm%{e(0aqp(~}5w)RlAcHy;HyOtrc5>6!Ry^~8_V)7C9~joIQsm~^rf(rw4@Rp=o5 zNYXOz-V&x;YMR$uP0aY5kho$@k8syW{Hlz78c7`SODslLHojempiyALrA4@8-BOgN z&_0*`TPZB~MI}>-=~>nyQuXl?#xGT|*I^4Iv8PK)@vA2G2`FAX=U@YGB=(<)Jrh^@ z^j9xCYY*w5orU_Ezf0p=715E4(NPXu3w!HE+yf(H!qNrwG@wAxK|i9^=SMtO-PF3^ z9rkc_Wn*VW^fF%;;UUl2kfG+EqtnW#*){d?@rfxDlIH=nKt{Bn@x4Iw(#3_im+a(W zyCB@8%Giys)x@su49AXhcwufhc3u~LbSL9LwV5BfuAi*Bt!e(K{(-86L{c310;>`~ zk+{N4b<;c1Utyg3yC;5;EXN?qZV(i;57RUsV1x31)ipwna(jU+?u={ zzZDnV<})1qOF(t#9>!pkjvKXdUDq#UlF(Pl}M3c#% zmc{$xA?_+ulcqn=Kfc~`;CnM}R3y$8a(f#dEUfsub zd{`tt6CT`(a9L}(vD=zI!Hx}!#8%odL?Fw8oW@2y;)cD@XKbVE2x7j8;dzl*7=4b5 z(4EOkt?+~20=(9MCO1UlWB0|{GTg#Q+%60sHoE38Ab!ZI=<)WFKZiF}UU2t}D*Lct z_{oMZ+Rs0%=KfUVFk9{)Y%jTE!UuOepX?0F{nnn3FIx4pvs%pky%*u!AC)$K9H>VGUeE@kVkc_X&athlR`5^z9P5fU zYZP995Dv;XJ!44cd?M6SGaO$E4ODxw9bSJ39~br0YTKlQ@%>L0@m zJGLf*(?DY{5hIf#iHm6XF&O=P;40gB^OkZl7@3YhiFoY+D%EEOOrY0dg1k`5~OB%CpZ|rp`+Iq{WRt zi{Tkyv=<_H16|^}QN#un-G?MiXj@%LlBv8o@c#!b%(EMpBL%xGfFFqKuCPP@u^Pz$ zQ}(Za!&)>wFlAnJw<*^~e~8~}*f#Y%CeuXH!gU-KPJ|J%=i*@%0opHx54;`d3SBI(?Oi>^O@ z5t%{73(0)M3$(qiKmYy+6AsXy52>cfHnek}KgE0gPraW1W7_j&`uUsq{Hfy5p8__$ z=|g%(^dQBfeddbd3+gW^uDjTN>VhjTix$tRzasqPRaZxgFTU#P`tXuVE-jun_xuYl z4nI{q=juBC4?lh7`MA4a?)l+ou9|n*)mIgl)`pi}aq;={E-s!|Z^!Ca*k!BiXD*FK z=gvFokVEX)IjweL>H_5+@j&s)9 zPhE21g$G}9RsF&E)oDMa8=|-R&1CRcO-m$p>fMppIrl|k7e5e*)jtx6UB4KOlg{m{ z;K463)0$&ljdixNXPM(#Y-UKiRcj~Ch9E8Wz(Qt>X;_snTjEVXd!{hM3x!&zFnP8L zR*q>f96*ocQv{x3c_elb#13h-ib(9b65A?+adiH67&XGCEI^ z68%-H`4ik*UQmr60VfC_RYDI{wmz$HVrwK3DLJTN@_|ro2T{ksXM&?JaXna&8snKq zxA#1WI0f48h|y3b2q1c1T7r&2=MkH$;O8zb$B!^Fd_O!Cnc`DQ4wB}`5**v}68R4v zei(P;YR^lRi`kj!;7xSEN6Yyr0HDqO6kc`mJ^bP0l9w8ayQ!tBgRzN=axv!jeVzPH zcaoZj=rZ|7JgJ*rAWir3H7(XnThY{+jBcR=8J|B%VR3FAMqj4jRr;%mv8Viu^3(=# z87c*C0p~4X&)@ze)jp-#SM_TDm}(EdAQS*vbs)}!iLl?wA$~ z0!3WTh(B5kXpa@--YaE?saDJ2V70a)wYga^bk#Z%8rY~?f9mHTX|YN+u65eWfS z5HL~I0E6t|`vu7=15az54rp-V8w(0Jx^$D;@v=+3_!2`%S3+03At z50@7ZP*hX^XeQ+a)(YhRR>``7s7~h(M-g*WqGUACcc}#R`Vp78FlGk+XW6m;5j2Hk zFV@7KLq5v+00Pc{dyVf08sE*WFQk5kYF+{r zPyc?5-PT=L(bR)e+2c4YKR*|tTwXX{Q>aiEdrSP(a-eS^!`q5r{SdUanjb)y1jt5! zKD@Cz?}ovRonK=rlfv=S;drjMn&Hez&|d*7iOC>r3|3mB23N+9D`fj|59CI1biGPd zeNhoa3_YI42l0_gG&DXtD~+YR{09XVr2jG)Mc!juFgn6ng6We!n;?Xh9mnyNQaP!` zhTnjqLMo+-B#)$@)AB$ddarNf+~{pCN}C^M5AhQU5%%BNnw&4~tK)US`O{?ki zd{7XK#iq<)y?dmZ)WdT9A!#+Sb$M0E2|4(4d>~TxZcXz$5y1nRvD;Me3dcIL)TE{x5?Tl%c#YtRw%C{1(mB|Z%tm2Wk@gYS0ZN4WZPev2im z;xoroL#ctMX9H;A_geYV_9k)$RU?B{(CQcQ{w%qSG;7>3Gt z3B18bgkG$$e!je7QnciFtLat@@jx!~bx#XEw_8p5xP;W#*Wq|%B!X9Pe*|e0k_SRz z!&D%R^0bgeUUx;>2_5t%<--NG=70Kf4a!DJMuT-Bt@2f%l&^;~Gr8b<1wxmWnSr zfV77R{uk4Opc5@?th=!*K+4?0FenCkzK_9M@Eq8tN^I_ebb&MSQ`z_?(o$Q{QmD~P zpg2Agl%43SCbreEy0r+%tSF9_oDeM|ljbC^M`BFpVM+fXCqw#?H7b!ln((yb-@vNL z1tR`c@KwR$fn+XP5avOI`PSPogJz*O)E*S?HCnO}~csBqYH10XQWfm104+WIKs_mwd|b~j5<9Fa_QOI5 znYC~gZcJ=FAu;BFhQm zt&bs@n#=(ZN^f~0yB*hv8YQGkvr=e96pehs4K;EM6It9-TM=8HtU{M&y@1LJiV2x2 zP7Zyf)pS9x7Xi?cDD@!M(AbaBwO%=X8%fYo&gouGAH?cJj|x#pQS>Zi`mrh z5qI|VW}oK2a>)IOK^LLTf5p$_UAUorGk*A1?~o{q#C5b!PwihdvE?=CNp`!3%X`t!GZz3ob<$LS*M2xK8jBqwl(jSAV^SS+X`sSufI46PJYR3?~@{ zGGzW8cta^Vj1P&#!wz964L2saJX8~E3tQ8%aMnP$xl)M(OO84v00S#;KmQ0zp0o=l z(pCL?`8(w91SLqaEOQ>-7h}Lv1>6(t_?6IZ7dxpvK_@*kAZxSW4K3>TV8$&Hdb{o| zTSMn%*VLpQ#ybmCJxlPU2uYUM6D{Yxw;boCW%DobmmPF)3;h{tFUIOK{~asupa|F#YB4~2T>*OlMprt2$dhCf z9&p$4`J5_`h{X2|BUlG7V?7^hg&##xJNglvrgf26%K6(q&~%}XY-{?z6$8|db750r zEPNz<{$8c^%$PkzbT&JW6)UX0n_6Rl$EPblx-^4ggz|JPMy-qz9LYw6fQIQC!3#Jy z$>0LQAme=Or_Ky_oR_opkCO$bJ3wl5oE<;V*LnPUhXZi^a(Dj##;#Cq-^Xiy!?fLV0(AwG#ss3Dr_s;P|2}y;dT)#dIRnZm1`wus zM|1R1sS?GXWc_gHwdnW!0(h*3@hvqW!}X$vdP$<1g>QT%ah@24I_Fgq|6^07o`0rA z&K*}&S_h#8bORXI;Ltxl4$(X`62HW;<5y8EYXCq6W7aXL1AP9FJMS_3NSwPenhRQlg8vkH&Z<-`YHT@|CriB zl|}_cY+fPvUr@@BUk$;(cMkd(Nq*ly_7AJ$(j0+go3oGmvjx8qGW^C>!U9h%wjovp zd)O-TdFJnm!^|i_I#-0_I8^LRK(e}SN~CPHwmdXPqauM-cH@5n(Ot1>;)zFIrh;J#%OkQirGS$>~6E zw?+>TtNH;_zfKreaRuij&kUeqC0w>59O|ko2nV`xhL=`1egDQmWCXGg8;gHE=PhF>JQ}}1opc-DqTkt@yL_~W*Upn`WBeCi` zQ|q)oQv^!26Un}Ry~c;phRK)@B>}Sm`i{2Cu+nY-fGMvpQf#dXY5N*~Pc#1d^zqY} z9dH=^;pz8&{i{hk@~=qWMyJRfCX+tA58dLsKibYa2?C>egz{g`L~DGg9Y0ab{6Uej z_DEKmSOA{SQQDhaq;&MXG$q_U@T9er2H&M`Z~z>X)`J2V?W0BIp0ZafQgAB_Kz%HzEj^24_SOV-q@;pGG z{wE~o6B4cOI6jb%p-;omVHiL?dVFpMIS2t)5uXCKb`l?H5X?{zJZ=MmH{MIb1qtTD z6G5hEb_9iHmkMOai2=BaQ4T;3iG*INtFz0X6(kgkl)V%InylkKO=le|g39|qn`3=L zSbq&5fh{-zInH5#73(;BS65lt?3ZWdPe|}4djQ(Qp*HQfi$xys zXZG>Zy9Ni=J*KyE7qwaUPOzy=7>QXlO4y<*XGoB7l@W<2f%0ln1#M>)S zCg)zlWXn#5ia|3()>zqt4{;KHCq_)=Wdz%IAQ!d5x}&Xd6+HRG*qOYGmV@S4p8)tR zRg^AScub&+KeHt zzOxgjlzh)_Ocpth9e|c%|Dgt9jglu~t7l84%1S`%B48S3=gBlGt)I76slXWZMnQYB zw;=543pYNli9PEiMngBm&nc7;>D6eMu1OVR6$zF@Z-Y{=rG_w{;?D<2)cn(3@F<$= ze1K67CJxEsxENfKdV-Q!tc}MJ!bmGJurvIMbYWw1i9gMH-Gm;<3VIptf1z(YP zz?c6(HPUd%CvrJXVA3jV6~YUY>pxhA>XD3i8ua$#Hw(StZ8*OQ0&0~HIT!(2VQRdg zSG*d-kg%9zk@N5911TWQSpV}GxY(GF+K?Frbr_3^E1a~G$!L7@lD6| zjTgTb3yb@qPyu5y9f+0B%L-HbYJVv{2-A$j-jv~%6CKd@`*NCgC{@?ldz$*WjCrQ{ z(~=yiEM#(IA3HwLmmj%U@VztsbS6C|KSJGrf07@Wa3TiqCr4sijB*7_XXaP3|M06%)AfrR9Kn)=ici?aODV zWC;{-yet*;$&X*(kUgAnS;q4iF57sJ&Z!&;mbEa=)n+b`0-mxweZlek^8IHZgshP! z-<}G|kl*oIev!}A`OBTop9o3ddPu(V>)~)nk<=1}97@frsEMQK6JP`>smu!~MvZ>Y zpR(#1pXs$mnqUvK*J$tUKKpbtoaiNh&!&3U{s-gL%E z(8C8ohEt<`^r3+M$IIV9gq^|Pe0-nCqNsLAD(LcgD||!*0Ze&q@%A%ndbb zW-Rs&c)2iSNGTOC)-tUu?%`VWib{ zM`k2T?7W~POGd#zbcTR;lrh3iyv#g__Si24Z18cWqhi|$`9aL|ud>D4vxoK_Z>Q%= z#H}*960Cbufha}5e91+T_{5q-$sm<78Pr$G`R&KimSLXL#0eQ zcP?e3@*};aw90oM?{cBio3`7?`jf0=E>0a^+3@#%%Av(ulU8~ z6@ryXANu1awwC*i*A%+RlPvAC(X*wnZ+d3ar=q{JCr^TYFG%vXQ0Lf)0A|acM>%DP zgjt=b<=Va~%)0eiy~c-&Ccb*M%t>0NUH7LH{1|sVB@K?@%8UEJc>ySZc6~GT4f#&+!?;(y#Yi2qSozxF1W$zLx145T|%R{rj<*wq9pugjJ*G z8GK)mo-Vnz03xi@B^@Rww2Pfrk2Oaa*v-x_fdudjGA94oQC`RdMQ)zrKiF0T{kyyf z1bFf#9|8RHXTk(tNaD*PvU_Iy^?R+8 zF`3(oXD?`ngS#<_wO^ zNQJM(0#60D+ikd%d&U8$6GR=&pQ8{zUQy0CTtDQ4WXxl#V+LkTcKjHHE(6~FrolS ziQUB?^Rr7DK87oP5q@~ZV}i{2XVAZ--}r3MoY0uc=x2Tex$|4&6_YIJ;okkzVVzo` zpXWswrkqC4^u$PfA2>kOAmmxvkHE=35R%kr*Z*j2%Owoaz2;PfM%8zLzKCbmMhEku zX{oguUcC&AJfB$+)AGXHW4<>j_*$1nWpMtuupQWe>}}U91r|MzQN#)HJr*VkzZ>T zu$^6?J%6~y$E}oy6EPiWCVjZSt7^CNg8MtaR_>eiX~;bY9ws7SXDZU;tzEHhJtHw@ zhQwTBQN_N8a|fyc4Y4Sn))TpNxIHd&f% z$jGPQc$A@$#Gdm~ql`Z+dI)q5&6!L(huWiOPh6iGB76CvFHgV|ho3Yjba-v_L-Irf z=PC{&wqpXtnfd5)7z&{8IfI%xcPH)dy1wmiFMMZ-mk=x=ET(|Q(vsnT z(U%WJMg5uZ!~O~9*1GvYNJgX#OZ?#=1m2FpH_C+%x#{=>wtoa(<<{7B;4&20L+D4& zpN0KKf%-$i^!X+Kpi5Qx4;I7DiB0DYrPx)4bEd}f%WNzWH1ZHKx6lk;Bg)XeW;%Kp z+*3pn&Y54*nv6_!XuS%T66-_QGUF8gh0=NjhKvoeX-BRKMiN(iKPT0yJkpOX(IqF2 zgf5Aq_?aZ=OMlQ$jwu_q!Fi&aL+-{Ej8GRt8u>~cJ(T;hnjV=X#PXm5W z^zf^Cc0MhMsJfy#d87?kxJ%&SlF2WghRW0?&Ms1UQ@O)jXuFl`iL?2{QXQiErrMpubdMa zJ~jHG*Sky(n`g&%VOEGHkHKD9=ll*#&df)qa=)GmT__a9_@;xr2+pXG8ExQHi1Y_x7} zm)Y|85U^r9DhncIQsH79x9s@D@H64V=*5u4@EI&60k zFY$xro30S!kP-JgzhwRg4za*7`@+?K05H@Rt74t zGJmV}4Iqt0f5>Upj}*({>Wg><>mf!Umnr82I0x-Xo0!*8(M_bQw*Coge>wItwkKjo z`L70{IZyDgi^$n{88AvpCsbI^ybSB>+`5@gI}GcJj_EhSq2Yflhaz@O%9{h&&0!a;;P-zLHf|uXlIJkj6aWKhmOG6nd>LM z>MUSC#1Ie_dm#nfSK#**MS`-wYY6|QaD_9S5+erh53$*A17)y3_=>+H_?W-gA$+^| z;TsS5ZeG75_!`)+W{z)zzezg--@GnGVdAfY@V&K;@IgOpLjj{JHsP|hIP)kFwcs|? z=PqkWPR4VLCt2@|R=w`;v4i{n`K15nUroPH{oow88$ct+_|6}2_h`T&or@)WELw6u zAge1@+Y_cbj6N#K%0DdvRv~LecHS`}ZhJ!9{v}+r%^CYKu|Tib_&c$#iiL-`zk!^Y zIE2*syC4Tb;PMx?#Lh)sBaSyP6;5}Kw9TmSk)>ATnlq7U_7h&|?=6Q2ql z2LpA@Xgi?u1-^LoTAbtlzBIWJTR;Lv^O=@fo{fT(*H1ZvKtNWNm8Y;`^9qo9PBD;L z`wTfQ{h!vqqcjY_?AmLvH{W*n5=v@8C~DsG}eWdOA3@j{3qIf0MItSL}$_ zIy1TYxwJvWT(Zm!+XikRfB!lCK2FNQ`w9}3ro!0wRRD*)tbETWFCCSrtm%=ZbGeV- zROGHa>EAFr%d18e_D#!p2{D6L zCTWM3+1R~jCuZ*MT>UJ$cUECXg@B~!32u0r%l;=x_USYTd@&0Uz>IccZjZ~0Bkcgi zw3v`rp_@kXVJZtBx~*h>9v^`FoEygANyUdk9W!6@Ki93}GrF6RuUvOc5UZOCJY%0^ zykz{O?&kI6`(YiG%Hn6V^Tyl6lL*S4VKOAXrB-oBNK6%ci0bCnYX(DfNPoa) z(#mUaW{bYYTpidET2J=J#A`7w)=;lO5%^jF=ANG{eoFKMaZ7GQMK>1U)^CN?hgg#^~^DI9- z{zY+i*;>3wO7xuTPuUZ2us2YS1>0!{pfr_|(V^B4SjDlir)dQtk<}4xO`33tCl`5Y6TCmvTvcf#}@;$+68*$XDf$_V=@7^*2>N$g7-~6!#zQK8%$GY=O zcq~+jt9;hE$wDxJfycEkG%ASgr6m6fdx^Uv5w2e z;au1{CEM!^y0gc4ei*a&hq?H zjW}hCupY)UtUj>II-Co1FM&0tqxvW49R^ZQ!5>h5@h`zi$$C1%i4pe#V0 zv!6IGa)Be9^b*rg)p%597Wi6bGhG9pqFw>;@mhk2k{Hj5~DBKh7V>ko# z5Wr+N7IdBQPY9DpK65I<$M)np?1lI6DNYE^h2k>Ic|P?^ReCx2#o^|jbM3(AcIa|K zP8)y2FpcC}My7MfL=};AIiJ6?V=On2dny)&QZE74KVSjhxz$VKK&irVRmCf{%B$>0 zQj`p9 zP3ZY&6W5azaN(vAMc@IviU=VgD0_|$L=JqH5Q)`6V%6AH<_kgFvK2_a&6~m8zl!zF z(@%XRh#lDiGeY#)u`?iiyXU0-?%HKYR$8}BYzMoCp~n%B=X6gGs-E~H?4n2{)3<*B zF_y75;7g`y+<&5vkZC@Yk{6m7Es0O>wiCxYILNc4t8qF`7mp8feIl~R0X+OnbSd)2 z%Mc%&QgR5B!541jD#!BF8kKjFEdf_Q4M)qrJK5MT9BO(J)O9O%b0ATJbv!J;w;|05 zbp=%gi;%2B+7`7yREmkQ!vHtH&tdh!gvb5h!+v5tUGe`YJmT)3gjwa*UQn7R4{Y!W zKxl1U1+qCf&x_UG4mk>gcZ|j0 z6FInRAABwveM80VRj7!XPzh;YgJfdeakAKpBcCzMW}NS*W?z~m4pK(>ymOKTZ!$Uq zA7unV(+R*M&!&+=c*@8dqE>Vh?&D4fh^}e06PddsI_po>T{@(z@FjF z*3H#GqDMTe9zlMrn-QPpAe&rgg#+u5gE#8yOiWG0a|_k)Z-=T0A^n9S z$zw!Hnb^J_9gDDzIFo%hvv2-$`I7?q0=+a5NUCDGXFkgW+LB2x#Be~f!xz*NQ*M~P zzb{O`>UATZnnrHEO61gw*BKu{T<|6cz_^K!rT&V36C;}W{gbv{4D7|f+W$unaKwwk zfIQ3>&@fX4FVgS}lDiUjzO5pGU?iSLpB*&lNv($chWm-xNES}}|C|?&(kV~9Nc?Dj zQ#6$)!eH$q$lv?23`!1RGw4(mP{{lk0a5Xu)#o{J&0KF2uLGiso_sp=CWI)PQ^q1JR13UiKTa;N|x zSL7u30I7WWA%-jdl&jz0z6RAA63I~Bm~V}KqTDsaF>YQ#weaDUam*s-HzkfUel~H- zf4$)OKX@;Z51vRF_O=nI2?632Zq!huRMfNltNC{lRJT+;VfO>hnOx(1h4;}wC)g8q zkwX%yN{V^VWmy;f>lM^ldR;Zsf9XBmJ!tKXmj=p>X}6>i@HGi*Lp9u+j016t{q3C- z^uWGBdyj|Rf4=d0-$(Y}cVCT%Ej@ZLj7>aEfG^VSyde(Avy*(|x$^EZv&zS#kUc_oHiN z4YvF*hy^dw0@c5xeY-NT>s$LN~2epgR)kv~DIv?a;sKieR|Hp=4c9`Q0bF`7|8z z@6V>(p-gQb7t`P5&Bx1KL0u2F*xB_J^t)Q^cjW z#M3Q2hK++3!pj2C)rtty5*xt|ICo`T-7Z+++=U&~;#s_!>Q3|mXBfZ?QNWBL zFvkKIPc<0%FNHS5NgY^XjUcv<;3;3mV}0GoDx8tcZcCGII4pF;(l~4CA5rU*PeHz& z_Z~1EYyTg97YiCHQE*Y|)D1;=23H@u&xVPAPiLMs`9@*`*J4sz;qC^;g~JpNA|BvY z;Q6rrDfn4%0N1jBvVN%Z`$uu4^m*{zoqO;N&B(IJXFxzEdKSs&Cg)%rrX)q1<)Dobt6=Kb_h_x8w^5__;ex@Dja9i2U(#U;Xw)gFL17bFOYK52BbYAuQK_7 z;2}|q8hiMeI@?90&VV?C8&`k>#~uV+f}JkqD((OIqo5Q=u}VC)UfVxxe`^JVuq#XO zVv;#6RkBLr4ViJ?E+R3>dhqm?#FQZP6(=1*oPe@iD4f8@5lC!kOWkNefOXrwBI|et zt#}{>wU`YAgpsgF%*F~?58f9W-$lM-5yEO>SqL-?x1}}Uok%?YXL4qYcWop#o~K1i zC>qAOfKKJ|{KH+%XpTjOfzO$ds5+!5k~bO0Gz`M2b%E#{s8k$k?2Jd}sXw4zW?!Co z^(egb=tJSa*E17irr`XUgQV>Yv~_aPFcKfnH=F%G_TB_O>f-z#{{)DHbAy6{A}$gn zkwXF~N#w|q1a@HqK|t}0OR|AzNWvamqD6w0b={U$+iJCywpz7nTW?US;gCZ-056cL zc+`H@cz{;q3i-d^GxPcEXE&Pw+S!m-)u8Nn-toLiALml z*t9N;>1)KyWS72@O*!0_8ngTrBhszfq=ov%!c0`QG0vDdVE*Y0rHINv7C%ad?1wI1 zGv&j*b@*TzACD*aFh?{19=KSh)4nCMn zO8YiS%AMI!mA{TUjdX7-gt!Cza@mI{6%4cpN1oYe0>gtbUJKR8HsL|@Hdc9xLz{7W z9#lt{00gGW-=Nbr)|oiV$w7v}eu=BnA^6uA6jJjZG0!=q_rRu`=nooRVYOlX_(e1u z56(5#mpp0oL=r0{e{U7U(I-EA{FI5M$F#W(6y#_!>=SOlN8M-fU+s*$VJ;YL$5Croe76$vPg)4O9 z8w-bH-72Kk4!FIeIsX%?>`(Rkwo887Dn|W+o(-^`>av&Ubb8!cT(!Q1LtEJx_4hE~ z9&byOwQQCLGGXWyXm`X^56wqk_i?Prpmj=h-%vxt^zdr}!PZ+4`ZZzSu`9+=Mt-8b zLI8amS;5Lrnt4pIWXV=KjIH#{*78`X+GlW^q}S`JeQq^!jOoMUazxKiWM;ebqgY9i zt+4ZOM=EIN5z8ARNCxUm^bm%-8OLE@XxMqIBphky0cUe*=Yi98;_W=PO2P>{kF&7t zqMk>2!u%Z%zM20feD|#4Jy<@nhM0EJT87pgDe2Z4n5@`d4We7%zdH==fo?WO-ua$N4-9 z3hnbdjURWs8!PGe89z!0=UDx5SQ1W*AMYPQg&z8owL*_){Ln>@Xm)1bdAwUiILE?w z_hw01+U1=`d?&`?D>NgRyBj-mwKwdcFb|J@xyo8J!Emj{f1!DNC&Y_?=X&jijVw;Q zy~9k5qehc5=KJ4!J@R$YtHiHIzK;We64oQ-cwsIgLbBGkh_Ol;x(R$T<@y{ZcydJ% zb4W<3j=iWpuG2vtXKXA*tY0bZmBeC}X{yx8G*zNMG3}JTI6*t5x4vXnv?F=NAe6dG z{KT4ySPw6Mu{nKLqg@!uqG7ag;{|ui`svRY&FqhkW4?U#7lHt-&6f?rn42g_dPh<- z24Z}Y=kvLKfg{kcDuQ=)-u8swntV(9Q)sLaHQE>PfN$!hoLtn^r!%=&`gNqK`L`qO zN4D4md?`TUWXt&Zx4~bjr%$YT``#^bMdSX3|QnvP*yTbrd%=o_1hd`o;hg z<^0q_Ogt+2A@vE&HR6!m${DGgj-H|>k_7~nI3GP@Cv!1^q`g!QsL)SRLCA|1Sf^QG z5iMiA(O8$?`nCyAV!bgs6FMLRYl&|pbwid>AGGNgy@b)F^rjZ!-rJ1&8G3p2R~VA5 z`3Pm&V{bt_^M(O0&@w!ng1~wPoGAcmz(Ic{)Oh+efMdoOj2H&0;x73I^WVC4X>f*1 z)1MXeQmxe@e;DCs2wA`kH|yVzxr3~rmg;|9V*PJd^&d|C1cJOwOu5+L1`TvI@YCzk zDI%rbO|6kdi*p?G5%eDMa|^u(+!dpfP<2wtI_^y?y)%x7-tYe`2FIlLp*Jk_{u^S% z(VO~i$LeylByp$)_lO*1+q5^7fN4adviW)?V|DZWUBKK&o0*fcw=`{Qcn#pc_y*vc?o9+Q z;S=NA%MjOAVCR6ATb_T(| z$>l#VBsyH7PgV2#U(|D0SljTLn%{2%EpGe@v^es+coItfJdyd2=oRDUKPRMr8<-?L zwHaGw!MEryy-fZzGGKir$}l)@0}QCvsm=Cr_6`hZBE(unvGytGY4!_795ehQAwM(= zzZe^2z^=lD(Px`0L?2Lhqy($}INmyUN1(4O1oOI*bXRC)HhuLyfW%C$8tG7p-ul?_bv@P#W3+2eiVIk5&|h3cKN4vi!7$ zr>L*QQ@T6!I)J7-LffWO>8nK}gcqWb1yF%Xs+3u>e z_yB;2`4z9gX@$zA7%dX3^W#C#o%G#!^>1KfEUH1B-!%~kIQp!w!O`bJ$TMow*iRoE zNnIoK!K}CdVRmxje3H7Owgu-?#TYzIpzKduQ2>;)O_Wzs^9X$Xz&G}ldMg@aDnIC* zxx^QXplfN^0oVn=cQ5hnBk*N@Ts4aaB5^e6`=7)wr$zj3c#iaJ4L>qCOz)%rYLsH5 zll$*%atM}2N4F8~3~~ByuCvswO?SeT8tV~jqgAj-CjT0dq`WFk_N1MfFtv}2M-t5Z z3(^ClvEUY%=?tCf4o?QlL*5EcL#16Tj_|HU#koT~`*JT%V3iGvL$MIPgoqE8LX{V1)~K;Z6;|QT+)z&2^}6wZ0_c zHM|uYAK)Ait+6y2v;Sy2l1!1L{}3Z!IQ6ze2p3Xp3-ZUW*Cfav82iu>k{+q^&BRvu zV-NarGynD9Aa*3x4ab^f^2Zz8U{T25$>qH#LPTH5Y4<}IG2}F}e_e-uIVSHdZy8=p z-YW%A1CA+wEEfH{%4sxW#2PQ2OnI&B;4$cR&FTbtrEE6ob+MV)O0T`EEcCkVUy@#; z92{+=B98PN3Oe2kmz37%wS0wzUJER8mPxOlZ?)2Eddu))^g0hfo6&0`;FvYj1u>G- zYd98fTjj63rxWP4eWOXQ3(Uk;dhJ2aYVudv*OFeM9L?z!IJ0$nO~2VfuL&z-m@6_GFpZgqgT_9V{lCVIvsFKdcBJnar6=s&*)n}H9i~tlo3hx&-s|Pr(sJoEZc4k zRN0==>hz&?2RbZpIU_hU52s|;HDFaeQUc#U3}Za<5<79&^_uQ1Wd`#5fczal zu^^9OHy?%9AO97juaDjpo4XSq$uFC@CJwWM&BoB7+~UOiz3xDJY&TYS;H2OzQ253i zU%B6FTaKYz2Ikn7M~Uj;3Et|UZTY)+R^d2)gWm#aGF~u8__f=9 zf8z&;laD<&BB{Uqik2Gr)B~WqA^t3$x7>D93dR%(Czy?bM39G`j)DOHG#gJdYjUoh zzr*JH91?T60^u!2uSvAJo?MhxS=Qm+)tPLOWdU{M? zTPA6;hSRFmI2#`9`A3TOY&&4eMm0#)M|cY4UC4f4=^sAE4FzuK%^#M%4yBQcMI{v3^(PG;romVYN`JJl34#QsQM45o@6GD8(-1B zjr{cjG&r=+C3JmBqCXlTzC&*bOO0gux_|x1LhpZCCXxDay)O+>ys~y#8!H3!;oXr>lAc2q?ag1b9tm) z%jFaLwhcE}==C&&6Qi6ay>_7a#^l{6-~e+>des1^0mtOeTSPaY@5 z#^_bvGQ1dnjRnwV^tudi%=UaHV#Lu)mM4<>ad!h>eb6p1+*_OYEfepvKpyz(ax&2djWE|$$hdbMT+!nCmW>w*^Rd3*ocx|+8 zh0Rm%#0l^fw%U5l9qF81_d$Avt!8uJR43-xwr(fE?ksS6Z2oHN2H~ULZtLdUixBSL z3iqrJ4&bPFY}L|ka-i6m^^(l+P@DO7n8Y!&kDYZN9{I{vyMaf-Bg?niP3ERT0Xytv z+dy+=cR?3+3SQdbY~gp9IGtKTpa0~39MwHyE!98C^U|YL8-CFdcKxeUiuh{@_yJJ zrmV$UV6r>wC1Fy0Q3~s2ejia_QP_%cwzm*v|GKu=hYA#6nT-;2JET~N`KC%7nu7Xm zME&ldjXSCxqKxe!a>0}|cM7U|3bw}j#+yjj@?QQ3Adomttf z)pTc7)9|ebpzvn>;=Nh@+Ll)`UrQZls5-_jnWBzgjIU$c@*FWR$$Ew>gKhZ$`9an- zzuc6LFH!!%dgn8c4*464!xT{2?yP-WQr-?%SePxsWBqcF#TELtIO|){w5rg8T+o_{ z-;baZvehlZCpS`tZq2|rMlR7WScXqw`R)pBfITIa$O=HRwP=$m&h1fmWGeXO0LbIZrV`9F?+JA-@U_@&*%zzla5%q*GN z!8Y^zyJbc@r$jot(TvzeUI+a?Y+F%ad#igc7{(ds=S;zlCr-8#aQaK+8YgL&--d7G zn*4UIx+ZW;x3g{@CecGED9MwzT0lfMy4Wt+vqubG~i-y$R@xzslpLzml6FG zZ|M4vbQHgikc_3U{G3!7{I_8 zx(-_I9Nkio#oQv$B{^m6IP)aZd zJ|9l*zQaWivEL5uUyb!DtoyCi$KYhI$ix)=Dj5*i|9@v*vwzb^_5#Z6-PXtUuNfK}xx>$8EJbIG zZEP^=LFlZUEoEEQ#ZLQ0lAdnxoLP922%E~HWa8DcfN zz2laY6>S=@u{e+x1Ll-_PzscQyE?h}I=@xjLHejsYs}DdtSMIyE zIw&Bu$&qqKYj>6_cY_Z{redAE{VnY=_BC85J5o-CEc2si6tr^Z{?pgX8G6r+O(9Z_ zGEo4hA%BU{_Un5a3S3!7=%Q=D=_;INp|OwZkC4t7sw06ju^-ew+*uz$KxM>}m|;im zl$Q!PU*BuZk!uAI&f}I068Zn%JKj~#x3*7Xyjyv<8t=~gE9z|`swg(zk>6W5&u%JX zcdoX^mhxWf=h>ai`G_e6DEX}?KVlMB#G`0vG!X7c4@QSOav6+0VDJH#@8!r3{0im3 z#B_HElXEAc;XH=WMYub`0K47T+s+xn?!R>#dI}{q=0g!50btJes%?1<1$@rt!`Gxc zsMxP-1W3pJ`gXRP&c?h5yTS#Az&@lTy>P`v>G%#MKkU4;qEJ1~9dV}|tr#D2p9CwB zk~D+=fe$7j&Jb)C<{+cX(xMC4R!sjWfnntG6i40RH2*lq{`JV}Zi0l1Qa{^My;jUb zKI_{A<`so@k3$~4j#d`fUvUi8xt6LAs4Z@so(8$8v-M%lFL&GW(*BQAC z0AbStN*0CI!Puo6ja^O!)URAw?-ZqME6&=EIX(a$Nb{Y+r=o1wvb^r7TbDK|JgV2k z(5N$t;3fPSDHDy#$%>SBND_BwH)ZGP#gWS}8Q5*Ri9H~Zv(@zh)g@8R#dMoQ>1lh) znZ9D8po;CL$()3T@xO%ioMssJI5tAoJr((^#Bn6H<;~ckx{~OmM${u*{}$X@H<@OwpoiF`WtbLS=xsuaOXQphdX3upJqWeaIy%DHp^?wG zLw2n8E|^&j%C112IO{gH*}py|(4hz?`(_ue=sZ$V=sv`h6yhQhDbx)y(h65}Am7+- znt-y1Jcb9#RM-_z-*ZGd4|iql0}ui6HP9c=a1#Y5JL>Aw zri6QUn;hzWiUYH%&!T@taOhnOc6I+aP#8k_)`BFXvR$E3!yMQi;pmt!A)#u$^;CVwgGiga(DT@ zh%QH1Q8*1eRT%03uIWjx>2)MJ9^a8gXtyJj<_Nn_KjH`>EII?93&U)QV6zf3VG5Zr z1xyGRRPdn-WdKnmEnrQSMr*RJ;6l+%qHmyfk(QkaIxMC{XChPDkP`Hx#ao)Nc^*S28kHo_94^O*KKZ@Bu0-~$&DKe6AN#P4CvNrLd z)*R&c=t4iTnY;YtqZCbnbGf*m%AtO}3sY&R1%~qE3fuU#`Y4fAA&dbS%KaUuf&)8j zY}bu~8RA2zi*$MZ0U#9V;d~Gy?4K&EBWxnQrF<|{Dmzd>{q@^PziAi_>thnB5IyUC zODL#8=A0NA1?AV;z(tfcow)~m*|gAtcQkafsDw$R$?Lx$oKBpN3Oz-xAvj7qS2REB zA+Vv#KJHZU;>o07r-p4pUTk>C)Hm3k!hVVjc?!iUL$UNv7g)<9_#-EVDbI^@vtqFA zM7{4iB_vOZjG(<5H-IFFM zH)b8nutRy?Fc0XMaZZ=D*E;Gsd56qi^ZmS8|^yY)T-yW)O#Y>8E0c z6;cNcI)OfGN7Qsg$1QLeNaq%_xGKjP+-Lem=O@hj4YAzAYDlWnoq!LxKR5d;F* zIS5-`I?~`1@KXaaRwd9q_qkWFW4Aw`lG}M?B@-U4te8S1M>9jp8AeJ={b%nGwa=LP zlXN&E&XOLGrG$F%b!>wN)L_Fhun#t3^r6RvNgMb@y7cKsvEdL^onrHMQU|A_aB>^z zF%3we*#v(N+~!;zV?YUC?SIJ)=0dMK2cn>_3S0n|%s4=}zgfV>h%VEEgP|@kQ_{>X z^p4s{@KfQXmNYTINcw;_1G}M+#W0WOem|#(DrDA!P$H^UaySyAG$_gnlmSKg)9+A} z-;~CRB9Jo2KWxr|?T=o^7A^X=2w8M8M)_U7KB5w^S6qx}Te!E1GLe_WI!ETNmBQ0VUyL~dYZYL?Xwzk*AKMJZ-4e$0s{rFs z!a(}WVw`S^gMHj^PGJYWg{uoC?%XZt#kT;a3mYZFh;Xfo&Ut`8m`qZF@^WGdnIgLL z6K-~ep}HQ_>@Rb;f;mh<4knrV%76j}TwtJY)|aSp(xA{ngQm|E*P1{!AvI`l^d11& zcO~)1ydJ}2TMj;HXuPC{>ic*SAXcuo`+07oJLFPw9_v0P-(goIyM`a+D6&TcIZF0W zEP0~vMBkgW-RyTqB>;?RCS(ReAhPbS`0TCm`a+I<*6=^XhqL~8M5oxF42y2$d#op6 z6hv!B;34IFvUAWU<)?vK^mPFZ%X%su~RG|&T1QK$|R*($47jIV`w2MX@`}D84%Ltf9 zD1JaaU-woi8UZ&dr3G>fC;oxoJ>yjX^CCIA?GVTX_Mg5{;A-##+ChLWw02>_% z?332=kC8!qEq?^?pm-{CIdEw#7i^p-7Bba_pM`Q+b6s=;`+59g^^a|cp)bM4Yv{vY z(L1kTbalB1ez7LNfI zK)wNsRDIJ-lVCz#Au!ota6>~>3OWmS7FMu#!dw9R8NTilZN3Y2!#Y z29P}LMX<@?9&B=gKBO2pMS6^r`IR%jOOT(*A6YVB5(CD>5FxSfGw7u@Kuj#2W%I+Y zFv^&vW3f=W{dWRr^b)gl3F`rzm0%I%I!x&f1_I8oAF>W68uSud0HYcx3-{ZWe~8|n zdc9?j;(_~sMke*dq1jZ!I78FY!KdNEZd3=IhWA6TCQ8}n%6c8DDk>{aqsnRrJouog zoD%Ndc1oyw3M9KP^g;~t&d`M*lxZL(?7^M68~vZULf^RRUQDsAxB*$h6h^-Qv9Z~m zFeieP0WH^u`eQ!^hvxn>0Ik;tV!U^T20~i^^erG)KF}`cz%=Qnwx_zSn3n!Po4`$> zdfU^}p_vIyZ+|ozz+_9zL%A$pkgh*+l|U<6ZhY6bV)`HM7OF>4!_!laAk~rR7=&^m z5VcV!c6)pZ`04Xz;m^Z(LZ!t}h`w|+L9W-=iTf@+&u-oGQMEs?&Gd|!)FMRYr8_Uo z4lICJn(n@^Fk`0N4_Wl8Tra|UB;xJTr?p{ipv0S`wkBWLd6ZD|G0>U&MF8D)RDbVE zMgkC$8g6<9VqA=u`e9+>a8UQ&ge8d0v3cN4M!48dtbM~Hk{iwQOdvC(ub^m7sRnyB zW^INw9F~aA07pTAXQ(nVIVDX8a3YC)8J*lQxB$zEQ0WLFq0*P4k~L%AS&-JS)5uHk zKjnDtN-6X-I5enDQ=H9;n!gBXpWKWoKg<9pVWzw#fU~nFVWzy#M}1JB8#bR4(u7-I z0F@vnjzYH*KSy3E1YuKO!S%gsQb@y2JXWa?c&?$HN5g|L`Y3(HV-jm~KNYDGdW(xH z1DxS3cf^BLlEn}fKMP#Px^+SAb2hfC3{DdIox;(`CAKnXsUOH7q6c4+k*R|_i3?hQ zEBEC)Rc&Fn4=L@h9IvVDA2Vw6B{R=uLy$|BBhDGD^TxM2| z(fEXLWEz7C`%Ii8*S=x7SwBLb+VHI99lQ9ZG^{Y{OV*$8Oc4y%^8TxNOOx%tYL53j zfEa80k?Ir}(L`t*hVwAC1*U++7!E%5^-T z1hf*2U(lUHk=qdKUxZmy!=KG2-LgM9t!Dq<^CzF?hCu~2X_W7vC+z5qT$KK`?FP=f zUkdcKotlr(4$gSLd55i=BTe~7Ic+zrhpime*5E}y)d4qp+f5kUu@bc-(4R}Cjulg} ztOj5D>x)7=u<9_q8&@5sr(@M2O=hG#@?jGCmLm;|Y&b*CvOekr0xm4;Y=_9qWtJ*r2!8gx_++fIOvEb7q)_j+g_sI_ZsgXmQY_J7%%6(2lj+^C zb}~I3YbO$yINxD1h3LOCx#}(zF0{c%$?RCG&{x0-OV~v~(A?)%XE0zF<(b@|Ez%|Q zb8y_Ct1X=g;89+Z&&FS> zkKX8Ig3~PS@5;bzDQb=9(=a6Fb}!A-V)a3@c4>b$IYl3HF}e`SG$DH1i@xfRz6N9w zgMc}78TMyi{uHI^7)OyG7T=%DNP=&N7V#ZRd@qZu1#A5YH6DhVdS7>Jqud6ySR85B zMpWaBT@-eyow{VD7+E?KRFk_|g(ipB2ZIPfDpfongS{l=!#fSgjQ|NYdki{w{XPTo z3B!BHgtuA3n?-mt40z;k?8XKDNB1Dr%VjJIV>@cdcCwN(Tg*PQPaM9|tVq9e zaZBjFb}P{R^a=~QD@lKLKCvbrJ%|mN{!8VVe36y@sytg-B!5#FFuq<2vLqj0f4Tyt`cqt~epq~mB*XW?U`zPE57T-5kX8K?Cm*#kzJ7zf-{koE zEy@gLc$lE>DYAB*g3YY_5QEps_jxCJAO&?gvlGdRYy7kHd& zo6YS77(O&{fgidHtntqyP?18MY#||v_;R@&3ZXRH^Du1K%Jp9)s0Sk^CSd)gY>Qzf z+uKlTM`VG%t|q-&x9@WCD4S#0cYO`Qh*4(e@z{6$gVcZ$vUU5ex@F+kj*uY@YMT2= z(XEWXvE;n(WiNH11#fc#O4A3ZtkCHS{i!te(uXRfTei>HaU&4EbgBhm#XlB&zo$J> zSkxC(rl9jN@Lej8duqj==xpNqV2K6a44$a=#Qx{+2($K2CcXxR&vKgXGGuY9zvcnkG918+0Sl@m<*&KXnevwK z*L)ee4C$}=m2KJmc!9sBGtOUgE^W>SLCqZ)07WTu%n|qX%3t#y#Gevr2SW@xZ0@V# zQloI#Yzp+E{@S)2dSa;Y+l|HY0oO4$A_{PzRgyogBGkQBHd{$N!FTjcr{m@=agLkZ zlSA^|N#4)+0(ahfVpLuZAZ48aAjAPKY(fphn-O9^yY z1D=9IbPktB9@mA!@S2LUjGcVh(=`$N!> zsT)jsgYCeWTJ-hV(#}crLoo;~#{a_!#`m9K{DS21IbYK+ISqXfJ1Y2N&M;R%V^-y7 z6^0+qfSwkPT-cN$xmPBRfkeN7HAC!n?MjzB17KHG+wzx?&WVLw*eLisICc+SnJ)!~ z(kpWy`o}p~gLdFPj~$F{IZl@2xPg)7CH>9{F=!b5=KkOqjvv=?{8(riKSWo6NXGa8 ze@spqh3mim$mz_yE!PckqE_cQfFS)l_is!IoPxb8`igDBW8*hIWlY7N@~P<2)}cpx zEBIN%&9U$`Vwf3Bc%!K82&JaIs9Q!1jM3_;vCS)B%X?%spzW{am>(`miH9 z^66X=ZYzey+Yrk*)HO=Bpz#999DUD*^tlbbe$K20=k~)+Ztw9mx4~&bt;2OQPzWbY z*mJQHWKakRya8^hdxiCFR9^{bJk&gE@5D%;Km0yFXCq=%?9KtV zPwd)UAAo&JXT(b4`YAeY*hj`17rrF6S5y8MYw*V&57oxcVmuUn;|*vV91rEV@x8}G zwl_{>u$PRm+oaqhS|0di;X?4s;o))o!WDD&Ify38X}%Yh9OVb@rD*jBweVMt*r5G& z4%1_u;astoba)s|h2U2YQ&%Wj-C-}<Lmm2@x5?mHRLFyM(Vx$M)wZL*)-E+Yj`&XQAa1nwXUKlaQ`YZ}@A)N<`BT z?JNCp5eK=^dI44=x2krIXNnw`fS&-5J9ggycC0%J$3$$gr{(Y8hy~PnctVrz1?!e{ zEXCm?Jo#=FJ<#<4HzSP}-ava(Q5q6MhG-wn6%ABF2f&T8`r!>mNCF!@lc*qHb}uL| zx(l^cb44gUn!=dapx=&@fi>7ed|-ckfgj>YfIp;x8NSa)ygg1+eTAW?c$SiUH?k!hut@gkxLwCi2F! zVc9h~+&#sx?22L==caJ`(0(8jE*uG`y224hqB)=fa)|%x3`=51e}W{T{qTw#Nk6y3 z5l5qGh#&XGj0;-FR%gU~C$9aX4#4edH3#&M3k1I_eK^EO>5qoxFR?w%t8Ti)Vei`Q zhlI)Fwm^S~wApQh#n3Pae6W1cCtOYX!-cC|HjU-nk;zTjJLn+?*|NJ!_H=3jCH03>`N3X5 z^sDP-e_;B*6$0N@{oj@d(9QhcAh~1EYByDMC9onyZ*q&DBTA1Y@Sf5Cc%IRzfVy!c zHTy?HKhkg|X*4O#+-T`6jMq-?d=&yOJ9#uO?9d{kQqY41JkpoxfDh-Z)?@A$={!-$ zL6@Q?FpO*ZD_0TPDQu1$xZ5o@^fh98ee@&38Wr7!^n;^e+@X_2Hr)Ok;SRBXYr|c} z_%3&DYWOn>7(oH`zvmkz6T^Yz4~yht)LGVM45+qcP;jCQm<+?PEHVPU@aDjkhLza} zTAB4g8JvP?W{_jL2>g>xT&?;N*qez-KkHx56Zp3^@D~CD=R{II5q#B6;Qxvb`1d{r z{z>&cela4rSOj$6o9Ty0`D&l^kL!sdl!zjXqq!F(sR^P^la|7&?^!C@w&88auM%zg z#|inS0f*Cd=}m;M9UDjRn7)wyabhsS+PvW+M;EwzNpiz6?ktFV7=6$+V~WktyG4b> zImlfhnQE`^LNZlv>?#PhhHyO{{upE`mMD0IXvyR&DiqqyGX+9bFN&{(pWFi!e=x&> z1)#xCtBm>(`Tz%nt0$zpT+TeijdUrlMNw-9iRb?KqzA^xVkhXg&Y~9}2h%uzxf89Q z`!8o{j#)o@C@(>a)KdK{A<|n%$JGz|7x>FPU9WsbOuvop+&&(odR%8<_OHj*Z&$dm zKOIjzz}W@1Qwy*O9h|JNOUD9r-~npJ97Hi=+N-*|m9$YiLnM}m9++uE;=lulsmfmt zBN^&^C>!C5%cx)yE_3KhAly^YjjbdwaR_a1_=TM3l&+b!SvobN#nSe=L8waRd&? zHUqLWc|WH{@Z+O%QO$2;$!aFNM0Gk+zDZRmtJhNhR)4u3+&P=!lAm4hBcpc}w%Wl= z7IvBgvyF~Z45^SIeP@a$CHlEtdQhlZ)d)xJFm}@ z=blFUHND_qged*zFox@aeL&FanWtb#e8JI};h8C|{&P$`vW3KeA?P)*8#YKyqo|O~ zh3-x$YY`8`L5bud>h+>fT}D=+P?u#|8<;tM!u-q-!ZHI+}DOjq>1ECV27^j=Y;a40Y&nM1GSsPf9@~MVB9WY zOeTzZgn{&!ufW#^u5-m=ml!y?pbLg4(OPUO0~flj*xb+87u%TT8xC~mCOXhfKt8lH zkMuZ8!vEqL!0!h5Ch}*2<40%uLhD~dl)6rSjtE&g;%5&$OZ ze?_l&I=uu^h5i%$V|308s+tV>g46z3A(O?=ZzVn{``-b}zfxxW_R8a;ySi?5Zy`xCg+ z01hIV>od*$@qTuZ>=vXy9x_DZM?(^MZpV%qNxkwqtDG%fd5_L!xq3vI^(*~iO+{4E z_oLr$t&Wo`kOAsv9J15BMm`dLqJLfs)U&vQ6&jG~4mLzW)++$HlL1+B*!RQ#J*#8p zWR2S;r%Hzg z*7EiP(LZuX5x*FJ#QW<7O2{0?k;x%y)0ngfgnn5)D^%Rydf4w{j@?Yfud0Gslke80_ua`w1PV7=VwN;0`_u*D) zI_zx$@}No`GyJ1n3^lUf`Kt`Lh5-=-$cj;a4SE&Yo)&{%BEbqxztbJ?z!ZHMIr<6- z^HjpjwZgRM<1(G$Y-gkr5;HtCz6gwPh8Lk5h3#rxQ~L!Y-H{1guCy(O4SHX8d%o9oVlC)*kOGF6z|wa9fs!@W3Ly)+^4TY3U_#*P`ASL zd;@lL*T(>wJNI+?+(q>p86ngUGjpI2Q}SY1Da4vHcSv@mH`FQrE{qEcQ}r95N6^>c z4-_i2JeJ;b3p4R`_(1%r#?wkGu;{H20qH%rT-EFsBNdw_QJKjA<3+jEe6 ztNwF>(x1{1_Uy@Up?gv38)E)*PjmC<_6-j!{t)sfY7!C|H>KPNKO(x&xx<}YaG~qZ zg$8?Zq`M0X9aF{FI|MnnLp$`X#hl~8NC*0-ti4n<7NkL0*4-h=1*$Ja#lw$|il=T3 zyA6J1PEb98(#{Yj1zdL;7aQIUeTULa#cMV$H#8f=;x!wSfRa93;FEOD$#o1d$BENx z%o6I=whgaHy^K^4{7#{}TA>@ie#BXp@Sq!<;6b+t6C9{32aTl{T?W1AiVYP}A#{pj z=4CRupbIoB7C$;z)Nw{{`q4d=A?q1zG!TS^?ppfM^+gk+vUa?i#2?u3>y@g0!Pd)3 zZaH7XTEkL<-t<4Q*j99ee#JKlqqDCER=8nXw1xE*^&&$-2i7ip=|19e%^6OML!Ib@|mb^p0um_x_>=b%uz0F7DCm;?%875yx(DxD4u(gH3c*_JOs-Z1sZpa-4CIP{-` zi=8{=6Ig|yu0%|1nK~Y^F3{hdNC!G}FzmbR7~0ilyDd4;N&3TqF0MXOIF&c*hwU$= z;bxw@Wq{Ym?H`x8>x9jZubfPx9^yD|Hdoe=HycYrkv zEgN1Ee1MTy^jkEoS%n?{l?e*>p$1H8f&w?FE`?X1FlQwc1_g7*JGVg1k5SpeuyN(3 zQ(MY@?$3{&cROh0LcMizhcO|C_p!3G;ZkolhM6MmZ)_rt=cJWQf#4-DGt6xI8q6G9 z?{kIzR(s~kl z%eGtHGQIyEqc^6BpX$qsBwrcyj`5WfrfQ1bW+Mu_KwbJA1OHn_OE{kx}@9xn` zd*KGB&C0jRC|^dtJ9jG-KD&|>bEYWfFtAm-49Ql?c*|PMc-i!7VSI!UhUl+=9 zZfe$ku0D{YoK@s2SB*M1SLy zWaaZgygWBa7w{ix|KnP0|NG5yG;9CI>dy>)su&PVn+Ey|8@7^Q?BRy)SO7~^pgd&b*@`~Z8#ThJd{`AO`ygB?HE%SxL@ zNTlBwBV=rBfq5g^2W%UMHM4DGuiKJwqbN^v`^Lo%N%xJ-`rUjSp`6Ubajj*5{O{xc zOnyuFFU6YF|33bQ#c`>% z8v41;_EyF#W2}1nhm`LQ0qf-QT|JhaT9WU|FG69)o)ur1|7rQ|WKqs!^4-q8E%)!% z{^f_2?`DmX?b48sq`rXiXy$R_n@m3Vq2#;YUnu#?z&|G6%@Ny)3VAxIeE0SgA@|&g zoBmv(so426p_~@^?n}67pkH_tH~o!{$>g8^ zh4Q_V+fw;feQvg!SUp3e{t`w z@&0>>;YYf}hf96f|Caq#+WDeKlO|aIX8Wrp!;{%xow^A{EPR#+&ls6&#=WOLdJZROC8&xq1PW8Mq(Y? zewH2p$F`r1fIKH?Kl=;`6F$YTKW*85w%CbrCQ%ixWTmNGgoZ>E%unF9Us0Ww9RP69`m#D!1uylVq^7oLZeMeFMevi(F-Z--b5tqPc3Ujza0nKb;N4wp*@(FIEQ0F80}c%_UQor)+c zjr7Z7>2sT<9~qbaQk5Ro#o9`dQS?+ZLSp-V2DZ9dbU)CM6`UB(^?7GF^_yy-8&1=& z{32$WBoZKOiwILYIzavT;1RST_{iL}#c3;C=M49FfDvwPBS0hmg9-5u0)x2tE8^o{ znq@h5ml1DH9dCXje)|0o!eLPfN0VRFbIrn12oZj>3{MCW_|FgxaHumEJ#N#ZK0PtU(;WG0Q_mR)v?ZjTwvPk8!c=U4$*l2 z^9P$p(0wSF4$m7#c$pDYw=cZXXqZ09fgmRF;%NfBWIH~9H`}yCj5mp}SdSG;Si~;e39Bg1x@b>*^B9R_?Z!mv#_M-oVMr3^(j(~xoro)}w+dYK zpN|C&k?uI&vK2%>pJqkv{c%>bx8tpKM9)%)ZbB1REz}r41a3Fz>?c6Tt*G)j*;}%A zprPmonJRJ#`u0{3n-0Xt3Ugwt;E2O+cszFNB?(DmlJKU{l7xd}m`Mb!?JJ>w_*qu6 z{sGmAh2=>1Ar-LO&_Cz)o<;|8R+0{)^SjL>#B~r2eLXjkTJ;bY6RCt^#q|*9C&T(-_?+m6F;<|_t>W{S ze3n?h@vOx9;q@kKhzd~p51Nfe> zQr9N-9*_ypW5Ov?+gspq2DRo$Vc!1&Nq zSdWPF7VFlf1oy#u4>G3KpkqJvy0s-nwIW8ecYUMS2LTRob`d6ReWLB~UB3qllonp$ zBjoQ~vRs^HrW>zD#UK~(55&Ts(V@&8x^W?H z`mdWNA3e^9=fdvIKCQra;jBKeL_ORLtHajDA1S9#+AcKIfLmo%Hr`6@B z!3KCsU~uzFncs&dqv_7brC^j@y7zeq{kS(C0SZp6n|^y~X2XX7YOXH=&$oD(*BJn9 zib~8t&%&2Y8dv}gapu*8GT?6#+FuCm5Xxa-C*}i?GE-AOWEtS0rSEHyVI+!&W;K2~_^BuU(BaioV|8-4G4d`=r>6LhLV!x;yy_8Sr7XSI2%zp~we9SPX zUZ7&l)N@5F%qPCqhww3SYeosM*ZZm$>}{{<-DM>GZV5{DxL@lJ!?vdZXT=lb-o;xi%hCYGUVo|lseja1ScG8#h)BSzp_**Yac%PQ=UVwM~q{FDFsqo=jsUJRs$MHB; z)*0@(zn~vpzs$ighhJH z1iliD=PhWoK^{oJ0A-n8qrXSXC?c#im87rXNC*6y-hxw~V>KiaO>F*xF2Fqu<*Yml zvt`CU`z1JIMT3i|DHMd{m0lVN7m`- zS6Ry6EWMP+V5KJY8WD;;^pv1nq`wAO0GWB20Qsl@xl50VY7okR=LJ9P)92$HW=WR> zc%$RsHO&(6HkS!_zfSsXu(Ld3RepKI$NBtyxl>9En>u{GBp_Qhj(N(|h45(k~ouSmn_$hwy zMiPtuhMQ+ax?IO-FU+p0oK?1P;SkqzL%efJYinw%^nMtaDr{du;_2dbBhIGOazy3N z)-AOdk9rBRg8ytjzoEH8tSA-{A>VSKp?pDE!=XMpJE)H(NHmiI3y&M<7u}4{rhJDA zeI^edbpPq>jn`8KzC62r>4kZ=+v}Yv>z%n526wx2%i0IuTzZ{tNbogh-Fiq-(5_OO zbG0+fU5bh!3hxitgwpFBy&E85rqOZfsNth+%Q>t$>t5^$x2fQE9F781p3y+;HJE2< zx!Y`$x8YMhW?qGBonynK} zpf61wg9zHyDcZCAL;l>?izP`t8{b(P7X`o6&U_2?bcRaO8Xglyj^KjfDKu~C#gfBC zJJa^mDN7IK1=5!9u-)`AJPm-2t@@LjsSh47v#Tx%ixfLO}grSEwxS^oRNzUBK1sMf{4_LeeK7y>r}q=@XBzL(NgIw>MF7Zv;vcHH{QSRee*HkGe2t{VAHsFp`EZqNQ|G4u=OuAHPw&R*h7e4S9RxY)v|V?oT+&3 zg$rU%+;4ALiU>D8=9kC6uS$5Y4@-EP)m^KQ@dvAW$+YQON#S$@oThmsecP$~(prgU zx_Y;(dxpAeUI}lhx?io}-l6Uvs{4L*H|W7Te-MI?>t`TXVs8^y{#6O@dlTOGY>MZX zt6w~^_x$tY^Q+H|PjBG$-@0=c<&Oi>|NTy!0+0)4mz9tgZ>z=XbeiG!%=YHltLK+{N*KTG3Zu5Bp46@hO1bucyudDzWI?f9Y09OzJ z`>aZDHM5>oQ_U>E%P4+La6TA0SZ%+=J8N1^*|osZkMt%L2HCx3KHzXRsbQ}^TZC45 z!0f(2rMII$-~p5S%I!#3URhBQL_Wx(q@Z|+-R-qs;|;J;plzV0$(~+6iW8JT2A~i= zZwv;qVp(N%camd?>YNR+V>%y~O7&BW)z-)dcw<`4Uh>bP?G*$Y|EG9oM+3D+85i zS&O|z3+*1zXig1CpJyMsu>a7Us+ov27ysC1<^v11ydik2!asz}E%(m%)K;<|jKij* z=0GE!?+JJvY%H#7^o|vtGOxqGsJe{!w-Rjk%<_Yt#NiT9u4aMX4$N!qp6W7G`;d;P zjJY)+lF{m_YHDg{dCIOuw>_l{s0T9jmd5H6nI?M9nH{u4#}m|s~=e!gUyV_LxD3j|SXiYWN%7mX5w zljWP)I<;A->+`BOj#gVEh{oE#yrU+YOML1s9Whh}YOeKGk5=_lP*Yv)T^LVpi9I?V zjvqu1zhv=@=6ZI2|JmSXPXMTt2W5g`=jRkT#yid*T$GzVV(^HOg^t0w=NC8z7o6`H zH?*)I=lpTm*_t*@bAq4npgE^cFF7xJNVYwDXtsUYg3188^6J@Wq&0z>vYIM?myR=P zXZt+m7*iH_XGzL*=_s%gqhFp~g?H&V&099u?9v81M6Z!&XCd$_!LY<(vl;`u7j0Yi zT%v!f#`mC)Rx`J@im5wV#R{LNdNxHLAy?S#{f9wRKnw0aa!7WC04K<w+y0NToti>D4@a2DdWOJW?u5#Y{Ue7CX zuXz15_ake1AKE?4{piAV-^{tc?PIbQuBw-JZLISz&;9zVw-=9*?<4ZXed)#Z;$Hi0 z{>+DtHXXpV8rNoAeAiyVoX~RFABIW`-*+0}BC-5~esnHblO(9B@|LqVLnWgYs}_;M z&B8qu_ypO|SF?Z&=&1&0v)Q5|Ybxvmv;neSnxzBFVj#dkkJiYp9D~730T4QPC5k#^59bc)-T9s}nw!)zmI( z_GvEKYa)8qtTkgoA@7Oxa9nb>6<%JRG5?7F`n~Hj9-Q^9c@diP({YtUBuk*+|3CRg z)uENjd3o&3$xQ0!50vNS&GM9&qIan&(@+b>yU*uYR9fv_P>NAtc3@6o{4$T9^CUBV zU{S3Xv$e$E4X++)T7)ZrYp1&N8?TpfG3)_cGt^b0-udk^%QN2#-#XGXJ>d%Ao!_(7 zl^A{^?}XF8T+5g~9ha6dSTLU4o8WVkgE&75i4b!O_4Wnxni=4?fSWDlr z=Sb5X?;UAcjZ4SH=gjwyH09&sbK;fuf&8`*;SZ=dJJmf6u!=uC()3r{PxKlFxF?$C z#*by1vAAov)_!!PX&ElUDZstWKbpf_uhKXyVeJr?`F92GD{=qoiz7{U;cD~ck*40b zAHvlU&$5%US5;yV@>G$9K)<$)O_f;kZt0qNjBuvYRGifc&Pv>0J*ly&8}7^0ozI`B zXFKi};mWgwF+ACI4dMh-W!NLQ-=?0E#ZC5YYm)fqCHa;tZQ{3RyT&Gy|EMsj4fwLO z%RRFy^Rz*BEiX^IPR#nNFq->j_tUP&7qThWm7uM`kOpxAod8&xvO>+QYamQwF7LBz zmFDEoCq7_W!l|n^Kfp<+jC1ky>GA>cWlVcxjRDQZU`=!g(2U8r<{KMQ!lw%8ewaBL z+u-??m_>N1FrEjiueAqikae>!Wi|6XzDnw+Ak+qZ)t1QDc;n-|m|CTr-2?OG6% zaOkseRd}i(u0V6<)kKMXUOz;CAZYeW_DpTakRcj%gxYne>$&~3*;O^OKv}caYJ7hC zwcbULDM@A(T8_CX6>{-`*HwAu&MNn4S^c!@g4L`-Btq{8DqJqhD5{$QCWmP#J?a5G z=g4eqy1TQynz}YNIdB!9)!5V**T)?io1VhuI-{{^`{|8MH=fqm)B)GeU}Dn?*Y>j; zo36ywp<83qPtzNlJiQv5qCFd%=HWVsc$Xs0E_`zXhH-s{=a#NFfCn!ld@XRh9r3&M z0USHpRmaArL3roAGve`j1YzBf_w6=>^^oE3p4`~{^ZI9B z+y^u^t-&?%oW`aH`!_Z%!TooDv!zR8(-d5ce-P!n5!d+$cV!@~pTyCn?!@;#(Cgt& z^4bR&Uf`SCyRqrcGi4dpf`-}1rw88uF{-g?H?G%kt;h8xE;JW*y=4K-KEDQ?0H#`~ zBsO9V8W)pmOZ}b-1XS0^2>`-4nb6KTN3)j}h`HcGJh|q2pn618K!0;C-bF)fy{u6k& z2J?1>L+7H#rVS_;+HL6s_mpuCcd3@i7K|%Pv*WK_%34BB6TL<3NeN-Gm4!I*SEiGL zt|70*qK+z?g(~rGeC&+mBw2pBY>wazJYqNLt*}Qqw)2%CH zI%ADD@%=6pPTLXwX33j&pZZQGME(-rpH|_WWw2Nk;o}DNoz{Zc059OucuJuh6B+-<*VW3lq})DIuLPgIJyLeY1LpiIDgmR__MgJd?F^ zMr)pF8vb}RPq}uE=Bd^^0SzPb>}qH}G|vL9tfthnfXfn^XR%gRhIjORSlB@an3<)O z&D93slXinvezA7mXsvvvb~)PJm3Z=CT!jkEd-;_ZVav4gMHuO@j3-i-d$n`5a;#5P zsYr<8*M{I*fSU99+Id>}LJd&7Q?#q_w??~4^Ul*okJc*OTE#_L1%`88LiFs zYqJB|813>awW?{_s8ORebkY1z+a$!M*nMq9E(gXFP9t95GwM{BiJ z+CZ%q>BpR_)z-rBTdVbJwE?_qV>Mr~)_=6-o2HEcs=hMK=f#4A*H;TEOp?MkSL?6& z{0P_lB^p;IYbw}>`7hJ_W#}R>a6 zJ}b$0;^b}N`yBQCT6H(@uU7AmFN^Ulah<2W2h`ob|9XYr`~*0Q)cX>3C+^H+sd}$V zi2q~t9#VIX3(Vse>iv#{_;;!I->SQT&nor)hlKclRPPTae1BNI|3%#mIFG7#E58x{ zC)D?+)t%p%<{9<=H+8376wAC`y>GO{XPPbQ-I_1qysW;zrtbX4YrA@XL){I2*s0!k zt2<%ydQZK7knsIu_5M$FCv3)#s`t+l;(w{$zeU(>2H}GGo_^PA&&bZ8@vwF8B#6MZR_fU5OpI+*{x4P2~iFpiG??ctypu;fr ze!jXJ_~fYf3)S7|uZmju?o{6=sXO_Zur5*Wm#Mpf=T++6qwYq3RoTM#D)qfa-N|qK z1=agPb!UIevbFT1<{y)2O5EBkm>Y{fUWhF6%OWh9l-C5Iv(TVIm~B_j6;(A5X-Z4Q zJ$qP=7Ob`c!f+h>Vto-nVnGB6D2NdU!~Ei(gH^g%bon~J2I}1fa*8045@1XW1fJp( zbW@dcJypYpQ5(Uh3q}}E%x{jTszMYqr!*k$*%zpX;luDyI$jh~P5@*<8Q#Kg=IxTd z4S6>4yCeJ`bm60tip|XM&kRiaO?OB$)5)Otncj0Y$}|* z$X_Bqo~FVXmp?20iF02S4l8)^v%ZsOt#S+_B)*SGfS>q2CLuiW-KoM2{!M(JroxT# zTi?lpGgY`z{>1mIRXF4Fm-t?p5T5vchmxlZ{z`oJsq{wsw!SmZMJgOyf{35>o#CaW zv#W!pa2=pU0dq)`7pWSuf=%5YD>%sZr8YinKMhL&zS5O=PsJ2 zK{sE@d6am7c?UXp!&OE3sR-z?Kcd?-SMCk9OnGVSQ!Fl@;ui-?r?Cvs!axHoO)+D3 zm@?gWv`0$2pGXythxlmLIq5}1f;lxdB+1s7Fie;W09z` ziVIrW+(342?(mTb?LaEUk71WA3lxV3(gmx^MHaKX(6&PjC4c$(>LI>@P9Ps6eY1PL z^xsHR_xh#sJ?F3TZp5#TYWd0JQHO7KP?+R`D?BhI7Cn|dvv5kW!!*W)Q^MCQOe5H8plW1Wc?K*4PEfp^Os7q~-R^ z8IubQEM`<+TV1n2l}_MYI@c4J18iy21OqXYyuUxQ|Lj5b{U_Ce*FBsS= zCN(zo#MK|yFkF}7a^o6{s~B`yFnGZQBkVqO&Xru-1aHB@K2MH_j`DI~1e^U@`y8wg zR@c}e5YP6~5}Yf9u&laRu5V5ada|bu5g=v7_?!hvy3B{;SGaW4q#qzCa zrFNQefvsRJ3wz#$8sHmcuZ0zIc@2n%@dk=GtWLt9Rv0JJmlE|dBbhDsA zWk&?}05d+Z#pmXk0DF|3mSw1Y!6bw1FcqEc4bVKTf9)XqqDpU7IbTpAwE2fMa{pQb z@MAL?o2DhXjPI8rjL%KevHp+Wm(M@)p7mZ(Fu`u+d;dJ)2Ei!&Efs&Y1IkBh?~mmB zUU*;0UnbYr!J(P3%MJ=FXtL{MsGD8Y6?m%oS!2^(>Uv?NeEwxf-rHNkW+Lou75*je z1Jv`)mN*8S6TSEUiOlaomG48hHa2BN8k_FNMOatWXVDF2>cg17ke}HD&kTykqR+o39RM-m-D* z;YIh9oKpDu*mj4m|IMj`Zyz=6vI#TzF5?^Zo{=x#d#ihQb(df9cd7X#9`>0068{}< zOZSXiwBAv0T6OA^Pp-ag{5J>3M%zyL|JXYhIGM`F|39-A7E7}(xmF|hkg*n9p<&lr zmu0Y6!p^eGE^Bw%U96IZkP2;b*-*wUcZO7yGDNl#L#j<=l1e3QLMqk&{mh)R&K|p^ z-}n3a|GvN9k5`}GpXWKx{dvx1X3sej85e$=`Ip#<(}r}|o&D&^J~hT)mrse<^+e&K zZAX`OXtQSRhYc=wzo+Axi_yQ|vO4_vMY9iwy!Jq&sLYMYP0JOim)~U+qwm*Xi!Y(& zX+LMZ<>#0yK02n~-C1t;R2}K#^p6+$nDYMnlBPswKo@v+LTr1<74z$igO)FsnpeQQ z+xPAI2u3u%G&VF!?Z0pq&KMLiAxaeV9zAZ)hA7eT8QYnJ&!a4}U(UU4OO0sj52rsm zQ>SP2ybt5b9WHW2Q?BoydQ|nFSmb@-CI7{9aN*b^Zva;8z>bZ~38vVNas#nIUc-*! z+By0D`uEr8W>&7!*L_Y5ytVUhZMeZq|Zlgt!f-Q8v#Eq;Y4791n`UHU`&1 z{$c3Sk-^F8*odo=iN62$QpZIZ#;9v~73EVh;m+jZfhS4wWT?I;<}+gUQ~eywEK z`g+N*r+vx(8Y4@Fi{398HXSM%w(7zTUD%}ydv#&s;gaQ9bYZ(L?9_!ly0Gw+EYGY9 z+jL>4?s;kB`I7ndVauwL+Y4SO8Mf%w6HB7R`Z%lG?p#vxI@qgRAFE4hpDtXW3m?>l zg)VHGTC)7q*(Jj^UD&PbpU_>W8+GAYx^Pon*rRKYS=WD~u6@=^CCAJ2ZOO1pSKjb% zmZyGO?eor#u+Z-5tMXiVyW2Et_wdoMZB>N3PktxcGrF+(c;x||gO7$ST_eo)Knj8&#j2i~7JT!4y@|#oZ z9&mmTwsSh$@6O(zq6?4Gg-7ecsk(5QE-W_Px%=C|ycoyCZf#;rOQ!U^xb7=g(#Wna ztQvWA<=cOZdbD$s^G%1R^nUZ(+Zw+dvgsYCF8^{}c!e&!QWtjU!c%qOJYD!1U3k7O z?9qh>FYYw#!*4{-7vK0Z;?KS*u`@6H(t5h}k1ns8ng=95*M8)!J8RDj@)pJ|8Fl<@ zrejoo_vNP=9U0cH+shlyu6+1`sgEDuacEu4`@co6dn#Z{+GjBho_z4WHyq`jk9%_4 z=SR11bd0Or=<0@$c6arf|832>RX&W_aB0ETRgI<lF>r9Q^_{10YJ{5HCOtr?{9F9f9yS@~X^?~Sc;mWefuMhhs z@~CA|_dZWnS(bcD-%mc<^>D4=xLpT-{<5}hZ^FK!qmRD&$I7^=HNW`n`+X_X4tGe( z{`J#IT^<|Qz3t`QBYyh0aMa?T`~1@T-&5;uW`4RTi@Ar@aUGcrw#vpQ-z(iW1j1N>EqirR(kLB@4x+MTbI&#*(~d* zNnwW;Rvme%|L#{jVe>Bt=R3Fm_Ed;2>^?ZnfDwGb4~NNzml%} z`jexZytS)*ob!Q|_dKxu{MWTdblm-)>$LG1-Og7Po%4qE zTr#nL;%iS;?=oWSy^pOrbtGom74HiXo@O6)-ZiRq{*=JpFZDimOJei-b8mYxBe%)+ z=%{(+D|}t)#GC7yjoUc?Q1*+R9m__Je69ZWDKFN@eg4dpDcxty>N_O3s6ldJ>!E!k ze(rdy^Y<|4>}SsYxPDUeefO^K8N2T37C+s!u3}SjnCF_<0Att2U7!2v%jHwvsPpZv-JcHWU4D7oYmuKm)oxqCPvw58dVb>3o|adRfB9>j zLE|n}i>qVZ(xqASvLkEj&u%=|wDO182}@6Q>izO4>o3hBM>smq7}hZAo;#ymjjFAg zetFWXzaI;_??Al zg-3pyeDs$eM~8gf>et?VHZPBRveJtCOr7fnJlOp}{kS)CoVT{oi&V?K)+*@JRfUU>6>^fdKVqo8`pPI9U_lZm2cUff^_Nnpf86T_} zaUr$-)CKf-`G|5sl#$Ne_s3D z6%&TJ&$hBGZ&N>^d&`7PkHy~k@WGcR#Z6uISWb-=Z%z*WCh9r!;yt~WJQscPz6n3C zXk9O1--ag^b)DOM>Cz3+RmNs+FgG-}@biWH`bKPBUv=Q>hL_*&vMMTjktf;R zC;P>=KaVmw`Z)KWJRkbw?qLVoW<}2#rJ2RSBk38}EH?>AaKRMvYqVUOG z-H};s-kerBrt>;mpZ494*$+g!cXgdncsgok@cAlle=~OQfggUeJb!nixaBiKf1i=_ z+S}0^oK>6tv98ZcZ}d#Q*xmNxlJCARJiK5*pEVs^NsHP&Td?M}hL23IbW7~?(7NTL z+_xlJ?-(9qeC6J58xq8k@{jDRRpr#X<-SjTGWv-ohaUc=%1guMUF?Y}Z>l-0zO-wev!QDW9c|oZue&+(PT7bKU0Mm)ZI8xKF`V6(w=e4R#`yu!Yd?Eoa8Q-(ZZ%%~VE%J!_xIS`{7m8Hh<1$1M?=zlH`F6*tpijk> z(HAdN7*e!iMU$7i?5eWy)=n3nUvii7K|*cME6V~_M|3z6w)8o!Uw7uO_q_A%q+eb; z6gGRBSTB06tF-0&BX@Nyd^vXUslZP^U)KMPy>$!1Zm;@b@16U$o8O4P;8y?6td_Uj z5PNl9^TS~)nvuU_cE9&^lUl!+Q18Lmu}8wT2eN(VT|YYag&3<%I2^Y4 zM`7BMk#$l1@TI0#hO;<-N8R`y(Y5E0Zu?!ju%%7WosY!VHO}Q1Kbki`Qad;(fYx1W zUlm=roGyHeE^O45@91?TZSEdV*t$c)wrGBXuqwLk^Ww%;i5z`6Y+(rfPp!P&y1MVx zuRr`GY|8)<+&k*efWEr0(A8I8S6*{n_)cB;v%E?3n;twG=KNVW5@$TURebh_UE97u zUHSlBI7k-`)`joWh40aY)%!S#=To;`=)ys|{+hO4sHdGT%ezflXG9+go7$G~>$#(^ zd}o>b=l1yKgw7XLR9F zbJra(8e4QuZVwdCTI2kV6lj2%3F&-cSl z#>CG3;i+@44e7BvPq%-m-#5Db;~eAP+pn#c+jQfv-uI-YKdhVouP$9E3`iOoyR32K z;+P3Pe0HlYzj|MXn*Y(ncUO0-^?2OU2cDTx;pe`$nRMyvrWKs~bdNi3#_*KO`}=O` z9;U1Bc3rrsF5FBPuB8jt)rIA&?d3nW@Bbp^R$aK7E?ip|uAvLp(}i!-g{$hq)pg;B zg4%N?%{mhH*f*@-y>B1$q+R;(zQJ{jFQ;*QZn^uRI=b|sx^N|3_#NGPsi@mtK^K1a z-d3N^Y{mI2$aj8Sd`K5Qs0+WfqF;hJTJwybsz-eDp{_n>!pG}s#vBe?aMgeO7k4!o@Lrc|$FqBN=_7Sv_t<3@>RS(m zt*;?OnxWbKt^D&?JfCNGhJLqj($TQT@1{K=A%oTXxYYT!jV(F8p4NQ^*M8I!wsk(A zuPYbq76Z37s$uYi?XFDwcAPreT~~j!E*vqYWO-M0;o38t2?Y(?cHchj{=x=r?(Nf9 zmtTFKpxQpJA40X)51n-B_gMOlYnO8<%n?ERY!!apGv|S=pC9mq&2$icBd97 zk5VmPy>C$s+d5V{^|a=C;7(osW4ikJ6QS>)+mDzweio0v`aF@ky|r$8BV9P;!1D_y z3_TJyXD0I%!c4R8pWBZZgKm3OT{u7&4%3BO`pYTqj}j~n z$A107$|hrK#=dx=+A}?WNXYwqTm3Ero^Z#!@xW*Kiv|w+I`+`CZx&Vxjo#Hhbmo#K zD_$_an6Nza``^0meEjmv3701JYpg53vTl5v=)%o)>0f&5_LI*%_GzDWUqwvruzt z(Jy^Bsp8bLAL+J#s0+{NR?xrE^!;&*>V7$AY3*NLx#~Q2Ec?DAVcWLL<3*!|Gj!iq zKdB2(*M(>4!c%qOYP#>QpVDogsSD51h3D$RPwT>u>B0_Oc$zLeTNiGuYu^*P?T_oi zBYv&edc5ZQ`=sV~Us_)4NZ8h3u1C8+Gxm?ubDFoD!+2h0JU^+iZe#05?@#=k?;{%# z=KK9Wb=w^SvQmaE@q{h;!@qsV=Rbb(=|R$m`okX#nLU5be!`Xf;W@g$56t+n>-+WV zo{nAk@V6gFt$n8V>CjFet#Fb)z@NTT=aqj1PYLV3_(6MM>mT>dH_om0n)UR@J!al| zxXwezj9>TpBQmz$&wYEpaB#YL&Bk8o_q_4YM^~l}?=iJs))%+GQ}ujq=8DthH+y@p zyyZ~*r6Kd*?>FL_Dp4=L@cN@;hd}B-F_BY#|%69$xfYtVR|7N@CU4Q*$UR6zY|s0f?Ji||S?%}y&GsT?ds*!_zNfUijQ*LG?Pc}Ps%&?c zk>9RtFRT5IGPbMhDNot1hMh{db$IvAqq*mzkMAWZ>Rxn>5$5itzarBArUZEhM=bZh zrlnYoNw>EQMd2TK*cbU+-bz2_&$>cpB$%*4LxEUq6t0=j> zJ!$1jHxlK`IehOW?s{E~B_m4azsFa83eP58yJ7sVODK^)oVI4C{i7z7%-@>VNR0bO z1@xxL${qOO5oO(h{})}*=5JRrzxK}jGE3;6)7mUwpXGbMO)~E<%xT>^J##eAIs5Kd z@`ZhOJzfik`){??JRG2z67q-pU$|BFc5bFj%p8^ID^`=$XUX42wx_K7{pEJ$o~lwS zV0%QSa!+q*3E1A2JE{CP{g#q|?d_B|Zzgh=r|;fkZ5#XNg!{&e7gCn?dNIZ;QZ`?C zyO z!S*#zb@ac_E)(d&gJ^+^j;;sdjFhF$yZcHf7R;(_5M1ia-UsU?Kdgs zdG-D~>k3~tZ-k)bt?$ax)e4CP9y?@WH+{af|dWVu;y}!?-+~;SF_qR*8{Do6V zuipRXRPF<`Df_!Vy<17I-XG{y(%Z{O?^V*9mHP=z3LRynSFfY3N;-=|^|+%lPs#65 z*exoGTTgk)q1&LAgLujzH?mz~yNH(KM`q=;Vmw5d6! z{#^6$P(ce*R{LhA)@|+%zgzht=3g!^@;|)1|7-pIPoIyQ?fcjE-<#uibNv3v@&4v| zxw&3$t{3?`B&A;u-P}KJ?jQe~_K$z}_3q8`{@8i=$gGkkLdZjQkJ z;t?BT*2cxxQ* zSne&v#z8^C246xhyc;Z3kRI)S&s z8OV#zgZ=vpaRzUL&!CHVC;SOr!HamFgF;vFcK9|5NuVz>egMBSfVacZ1BIw3J-mpT z;>92#)*&5P?316O7-K6n=#_mB{Ucsn#b%nS1HlCh7_ zcf1v@n#vpvCOvHT80qj9nEHeeE%0{O{V5?L@m6>SMdOR$ve`oP!aLz@bLk`A1oQXP zM;Q-Wzs)+sTVRvJLd?ROq3tN?@RFB4ycgc_4da{|2hc7&@2C<#e8)KBi{NkQ3|^cQq5?XHH$n%xh?h+KfqgbD$jA0YtSh|a z6jTc@8FEpGhIq-1$c%TvI+uj#fR~I$v3TB_C9;2J`Qjb0{uRa)FL@fJ<0Ys5!ak3e zeB@X9F4M!SC=V~W;5Yh?mwezVeaA~~K-=+>zackXa?S6&XCE*5DJsNE_WFZyz)QCL zlV>pScK8;$iub^8QP3F14OSEe5sEj$>QZ!N)&;2!JQ})?}n#%NWBBz3+wU#yA^MO1tNF&---rt1#g3&qM)&~ z4VJ595JtQa&PVm|lF#xGYg4>rZ61J&z)R-xvH%NS@(!~ z!@KEt$yAh!mwbVTe5d0ji_m<$WS3g>5ihxp2YWZ-C2!>++Z}jG0}l-E!%M!$!^a-H zWHpmPoWM(dfzIM3=kh{=i+IVT20Xo!9^_+(rmPLT+=-lc$;Ni}1-#__Xa`<$D01T^ z7oY;Xn_t81LWVI~z5xiu3bQLd|fr2tQ?!i11ikIArs^cZw zWiwWINox*cg_j&Kp0UD9u0a;O< z2pz*q4w=t7!Arh|&fz6jFJK(-k}-=JhX;dvthh)Qy_Ye;OFoPW@RF<1 zF}w?UkQXm`=UZHF;3bRDMZ9G4KE@;`$j7JfM!e)UR0}Wp6*A!^Ywc%z@RFU7886xJ zZT1(uq#Z@$CC3&pR(Q$4_ZTa@OnBC|3JveP-vr+CTPC=V}r94*C5cKV)uM5d8M+wqe1&T}5YOTLN@;w2~i!1)v} zxeuMeOI9tSZoH%oUByf8L?IKo&Ve<4WDVdYA4Dd+H*>`UUCb%h?h*N!J88% zaV&zr)eI1!c*)o61c+LA$@}XDh=zE{eaMWL{Qb57(E%^n+Y}&T@m9DD#p9ju2V}z+ z!MOSXB3;JA(P#E5a(n( z3~R*8Ib=D|Ce@X-4YxFAOo(^EJxCDmfhUj!?}gu@S=3boe?-&qqDg>gh9;Aj=V!(J zC>L*mJy0HLtgtVdjkm!k&{E3e`Bt$E<>Q_39duRJ3s0ddvR>Hm?f}u0zL;UdR?IKo zUzy<-s1VO{#A32JKosy@E6)y#-_b7ly=&_LQ3dV8^K7w5LkID8cuP2C#u5*CK2>zU zOAbbpDU)YcMJCF@^E|3}4o%1NjH=jza`7(MscnETl9%5`5E<>5-x$)vWoW5P4-cbN zcn>@-2ve=B~ z%ejLgk*ps)&m@Z{&~!Y{C5vS!2hTIY;u}=J*z%mP_~o7e;lhi114Ig1h37e6v8e;= zhraNvuUHVp7~y%|S3DRUAcF8b%PVG~bo#|}x*{LhWq;vo=vX4xEwBj1Cs7w1*_E|~ zx5LTEig&<$$cFd8PBF|e-U2tH>UbBty&Lu7O>hK?z}sOCa@r^dZa@Xp>w=A9+4o6f zhI7zbd>*`r^6{cOWuSw23w#Yt$Gc&856YGCa2raN@vsQZ$4l1e$r_+u6Ksm2@n+Z_ zH5@@+*c~;+Tj4M?oisL>isJEh=tZ;fl4sCTd=WJDVh!UZPoh;a4LpZ-$TToKj{f2; zum|dex55Nu!`omovf%A72j$}(@JTcjp9hyBJKhObAqUWDPP9JR;UnfhFRz=-T|LP`zSLHEh*d4?Kl(@Lt$(6k~xm!?tJ_c`eY6Y{W~xkK$!scnS@bdEr@5=xa^N`>f-i!W^>%O!(5b(cfeUFhvR%6Jb=z}?c{+UATQnvzd$GOMXQUA8B^skm-O)VY2?M5U@Mf5 zH^X<)TD%7u9%Ia9+h8QB$2eQypy{kBxq+!(FHs-VH}QL7QbfJb}E7gBNyqk};t# z7PuPiz`NifR4CUT{200LUfB96(va5zhock3+u#J$kk3I5xCe#cJ@6}34_^cgv$^(Q z%^P7mB#5`bfv6VV1}7jB-T_}kP4O<+VGiR@`z`QcbWZL&aQ4%*4W9?sqZ4=+49H{O zk#)fbP(E$8!Jp7s`Y4{^^A3u|+u>&9B8>|kLtfcm*!EeDtFpgv5h@_P6TXd1@;Vci zpU?W2YXJ5|9b{kNmq?Jl2-aV~ypzTZGf)fGgB@;15qLMOuuz^yDF=>54!j*6KzVo% z9Jq*jDbog@K|z%1gyr(tFBl&q%takY?|@C7WBl=E_%XUlU0zsjG4Zm^up4TKx58(T znf5zjqb2N*lxc=ZD3mmIxEV!LjtgEy9q?i)=N*(vT~@dT<>Fni{PV0^yb&%$MmdJ? z2)ZiA8OFT8m{XS(?m#U_?}nq7Q7_&OYdV>C>N3I3C{nf=K8Pal4!9L{z`NmD)PgdL zVE^Up3*@yy2MQ%#atlhvyI|M~=9jrP!C17Ec3R;8l#I8*Of(B`hwq|7Jny#>zo1o| zclgakaSL+djW7n)8b&#A1+wB@@K1DwbAedJu>r;6dGD3{jYeU@O9rlH-{kydgm{?^MyCV!N?}pEnJQ! z<6ZD0WS4UUQ`R!(cstyTV(~6`9+~k)@RoJ#vv?znMyYr!9EEc5b~qCy;Pc@4^^~7V z+hF?*%pKkWk0UeQ3m@7@T`~=vjT*|la20AnybHdA((xX+b`xt)#>2PKP#F)+o4IC^ zV+iBWWX6hjfeC*1QdsbkKOrMtY+*dmInql$f@Tx%fV>xs&qb688@QMYycy;p6LTTC z3C$;-cYz6hH&ZmlOZG>#@VxU&j6n|Oh4+Ao2a#RQ5v;q7x)^^GY=PqC9Kp7zA$_sH z&d7+j!k3YUG;X+NJAIUM2X`T>jECJ{=J+Gi!OFayPs-VW!Y2w5g9Lc3&{u<{Pp9_8>3GQs=E#98u6zJxq@ zH#F@e59uX4A}{HA2bth~WTJ>Pl3$<#d=a$1MjNP0avYjYdfq`McpsTC<0Y%T&bZ@w z*O=&zrn5it{xOk=9C#ay+e6=@h=&g%E8YQTAxA9r!gXje-UWZz%bM%SJif*89GxKE z4BMhqyaf(Nz3?`ejE3^r%?@)=Jl+APqXc{&oR6${C#<=TK9ko351=5fw>@y;e)eUV z7dCmD;{fqyco^B4Uk{vkfb~GU1I|D;%E^OEQ99lU-$Wj~8-9ik;=S+>REQS^T=Sq~ zcoS@eBKXW`hJD^)Ez)-@9QQ8m#M@yGT1t8coPk#1^I-Y+=qKI?+oGYAV}Y^A#b;70 z9EQ?~x4|*UEkE1B21nS3`&hDR9_ycsS+A$TWTg_23{ zf}=m6zj!;Wd5pU7CRl*h;yrNlhn$aPdYJGLV}iHAsi*^G=E2mDIcE`Xhs)7H;$4zx z7v2NELKjI>1UnW|Ch-<%L;LWO4it@-`~>CFUoX7%6V?gwCfFb4$nP%PdJN1rDT#}+$$9L*+u9&G;u#{uFkuu&0x zlX+qEj~oy2R=5DA%6j1ulz{ibi>MxH#0Abrs3G132mQqUh_}HNs43}P@G6SLi;JvN z6pOdQbmYL>;dE4;ym_$JCH6mPs-#pmu7ut!p!Ye2TFMj2?f|lZ4 zu*q-Ki#NkaR7g85a49_EZz=t z&_&93z!~T&J`dg&94JoUO)v(zC_1;KI1jkm*xP<6ZmHVO$8g72NoFalle z%NWAGC|~A<9+XTQB+V59`TGOu;Sw|y?}V$+4$`~e_=>7vv>gR0|Y6P$Aw5Fw|eI!8I8UZB{CB4yv<-M29>^xX{GA{X8Q$KFo)q_M-7kx8b9?e8EjWm@1$l+Jo~ z!Mja?;uzix$D;)HUkB_`pLI{X6^=raWts5yJ6VT#6Fh{rlg0yAHwYBFh$Ovh`A<>9p2uUwSqUnb|{B57I+fH6Yqr!ny_DUY;nQ?O&N2%4c2JJ+~G~|F=Qis z9;|W~^MyCU0jL-4x4}D`(|6*{Fb3sPmlghj9C*R% zajlpGnHT|e-Eya~R6Vu^Rd@vRw8+UbC8!&$?43%rD;<3*c5Q5&5hy$Rlf zym$+&6%iC$gvz$sFN%PqMfJ+3~#lSlops^Vy2`A&b^1 z9nU+CMGthQD`N%wqC&h4=Ac--13rb~@p*6~vf^Fvbu<+3h9^)0-V4tnm;4+De?uGb z;vV{fhT=`IHAP^2sezHl$`^860_-^Wv1|C9Q3u6nLcV>L>X4n>` za({&dc112eOIqO*XgY1qgO^b)+21aKVl)cH+u?cC3tt2qMo}-`3{z2lG-==xw2F8q zyfd0HmucVtWWw9v0#se5fvZt0-UW9dC*BPYqNR8bY}%DNXqy>6f+ph~@Bp&oJ@8v} zg*Ftyaxv`h^w9{TPyu5iS-%_SD!duCLk0BR0%On#ISz0jx{9|!I~pqc1slZ5_K_Dx zp?cJ7g^!}yvOTbNck;xrHei3W5pRRfqV0Gm`~dC3dttR6%$H0L`=f(0J=}nf;a%`I zRD>5j14U01${Mr6C8#Oh3BN z;?1x#^2qN-U=j-AdlfsJiX!oOa5+lHyWk$=#Czc9=or2T8v1gc<9jwEY=P$E&9F0a zji!8&kYa=DN0=D+{FBVY&$2o4G~SPdb8 z!6D(&3E}ho{Jw&WSG>Cy+Zc*qp8Kwg zjW<>h#u1_BO16sj3f2&JIZu!`fM;fFSF0$h8EOdq7NxvaeWom^AXWs7m{UP)3=Dq0 zg7~C-@Qe!LXh<+IpM}VnZ++fTLB@;PEsUbYtj9%z+?k?o>I}*bGn7&Gs{zY`<``VV z#na_>848Apr6B>HVd6qaJN&VVefa-{N^!G>%a11f-&?sOG4J29C4d|ks>Kob^46Dv z2^8HnS7vwKAp?(_7RbQs_5ZBAcDQ)mygPurm)g8;$Rk%<8JN+o90@kI3ugPTKL2TZ z=}$(=YKrcWTj$+-2Y$_c-SL<1>xf?$9qb(@euxe%8YWJ6ZAZ-XZodVd9VX873MT54 zxM1gSv9tF`_i%1e%iKY$`vzPYCVuWa(lcDl>K|M%T)Y}zE`PZAd4Tkf4GbfG$-pqu zzcnzJlwS-Ca10km1~n(|o`hih?}LMB^wlBj4TZzRZ$o8Z)iBvo-yHL)SX`{f1H*NB z#-R=mx7X(0v0A*4peBFcyH$vY8Z4&U)O8WmFqpZKFBM>J#Kl_N2wsz$xo_nr_8QzU zKa&U6XOO=-H;`B3p@OR1h#kgas%=o#K~M+s8-lo>djyp0ZiIi``PQObTV3?COggz< zv#zaIUpSm_g0E3MaHv5 zQnL?m2RVH&N8h1rXT@@&V!v``wI+k8#5h%?pDfgz5Ym<>E$LT~R#&fozo=dMezBy6 zA#{=9JSDvv8oVpiAREcQ+P*n4F(-F0C%04AZPdjaf6-04o( zmsQl3ZJl?mt-f)WX_^O{uaz&`UxhOHRqvco$|M{?D^4r>|B~7UV}s;8p6oDC@@hjc zRw-YdyV`ON8Mor{g90_}_m64uHW3`G)?GaAO8(+7&6iaaOU}8RW0i95!j-vG<5UX1 z|A>&+o=Sc-UOV4qtu5Vr71yt}rL=acl>;z=rW6^o|&qN!G^%8 z2KLV4%#q|R9%Fr9bm3Bt_aXIy+lz3P+yD1%p}}oK1C_m%bE|J`{xpR2qL<0#GTBE$ z+A{6&n!RtDk|rpO!`A=r_8MwcSWqj_Xs9MCm_uyk-ND|#BHuN^E#({C5?C=@*(2S) zIJu9iF&w#y=SN+0Wl^0kb-Q+-(0X;dq?$*icH3Wh{V`9j-%`%|C6Ak${a2Q)ZPShT z0Pbz!D#W0&tUMe{3}(t#srEzNFH0QDb!}49-Y9j)huWd#MQE20b9q}id$2Xg9pKUI zhc6o(hIax2j|T+v4g8M*EW_gc&|Q;#SeXN5onAZEscli`NTnLDQhUCXW22tSWE)4Q zS9;jF8cb^u)bV*9=VY^)%^N#(vGLvkJ6}ZzrKvJ(wEg%d9KuMQ|C&Sd#7e?sB1}5 zp1;C%=Pwzr-S1?X>b%Obia$}1P9N6hljZ1-bAK29Cw1w|`mfX{^XU7a50|#CWIkqg_XW2E((vGR?Zy56<%Y8~3R(!4&M90&E-svQ$;UNw(O z?Y6)2ay^YGdH(QSGycr>(x0_*HvlT)HMH;y5quM zT~in*4gc5>c-9a+o%<>c+A9j)=XT5g;cJT0)`8p?wdYhdEay)Bo(DqrbE&Vl*{&=gV*T$>sTpb_nm}$M5uC(#j?g#2Myo}TCzuGkVcrhzMxx3T24ZO&q>~nXk^d-D}>aWk;5#yHg z;vVJPU0NUhC&p=yty-@e*W&Mj)OdA{ZZxc}5p6zozDuiDKi_IS`n39V+U;sxGR-v2 zb-27X%ewYGU2)&E>rLzByiU_yH^_R_<63ETYU5;C>bX@LFWb>i(++)KWLSGVDeHSQ zeSfrV*Ve6#mt)h9&--O<533-;IOmo8grZz~tNqqp<6d_?U)s3IxYCa4+Rrw1E6u1I zSk2H?{pQwP-c$UYj<&s}eTFKneEs;S>rU_;>@mKJ-3R0OE;fhnVw3qUHiGY#PnY~m zQ2hBoT~i9L`(8mUTVW~Rh4KBF?~63*ft(N2?)$+9YWL@&Rg#Qrw##>p-%Gd;1g00H@@a<*<-}_E0o}Zvf zeDW(EFLm5>{I`~=J08?l#!a0^UzqP6)Uaj^nEz2)&9O`!hkJv2{N*^5*3Wx`6aJUw z`JX!m#cM&kzv<2=f4fHHKFsl{xGdJ1E>DP&KmXhjJcxOhe+Oa*xpq7Yx>fEk+WlYk z>ajtk8h<0y?QhrZk7^nEbZY#+!qVES)}t@Cv~!b8qdf;}uLX4b`gP}0Z9Z9!{@nX_ z;lHX&->&~k`7+Pn^`W$Lv&^S$TUlOTw!XjGe6q~4q|R4ae^XJn%lxX>maX;rHmU2Q ztax?1N`Lvb;&ZK9U+J_Jw@14c)U;}u+V<(kR^KkUUCpO0Q=d<}P3!gL{asj_SL^>S z-@m$D_D7X=e56;eW%YH)^!hbcS{iM6`f<~zSI1hVe!DJw-8pv2ZHCG%f*%M>51z)G z)JuFJb@l2WrT>jft`GGb!123y4XN?kG0=KtynNS@BTBuFtYYT!bwK@@2C+o>+$`I# z`MjcBOH{s-blngxQ9{u(Fqep2yeK=4Iw(++H-?2q!CtJbL-Q{Ot4>qn+3ZJWBzCDnA=K5D%- ztv0=yPo>PGetuQsl=k`l4wB`+H$t)<~Sk^s>rQWkxx6**R zv&xHGbIXaUsllR3Ujug%D~&dOo>Gpw{v^97Yg|&U-_oR}SGUP)5Z&kE;&UJ$@G2RO z2=$wy;&?T$?>@`J>bDZbcVHIZ$0l1K+oIja)OPBRQ@%2l^uBxA*e~MceMVd~C(Fgp zJyp{vORh7u@A@@RRWr6)AFhcn%g-w%&9${QfVH+lu0%tnpcMRG#W%ut@%gae8DZM> zS}91IN9(WU*W8!u>sOYh4gEA;ZClx8UMv6lc8sTur+sad^=(titrQeo$xuhgkgslS zeP#KhO5W1O#TYch7#LzOamT!`ysDb^hiiP+4R~#OwH&oh{g`Rf&eN3LPw~EfR=w8G zEKQni8n338CDQo?e6)(%KswrDrXO<>j>%%qi|HP|ply#PsPg_q_ zO+Ece@nzlPEz4KS(e_*GWt!5;RNMG>)Q;QVrPXiOwom%-QuMW^KIc)wY#I*~Y3$d1@MMTv=Y5HeAUc8a#mh z&nvb6YWlyUtS_sS_Vm;AS>3KpEB!o8nxh(jLF2>A@Y=jtnlxIkO%tw3qxDra@v7JN zS+=#GCS7S>dz{sJnKxXM_eQ+7{47o0d1d%*n)vV=@clGtvdZxDH1XRsKKurJKTVn} zjh|PB-=>KVzX9J*lP0SSKTi|CP2b2Lwd}jSm_?P<3wdZ?dU*s9%g*@x5iAx|ZWD(CHYvSV9@S8=% zxI*Hr#EJRW@>XBV??e)3*2F~;mrtBU6PHZfTH+Ek zaZcjg#N}(^YOSN}#X%x=!L>RZ#JPwo)Wo@ovn&Y`Ci<-YyGYzD;$k&%wbqlDxCBjH zG;wa??3%dA#1#@(+P}!9{`dri=?WbR=PP_sp<2d1UHF6&{#9Yf^Zs&cDQv2+gTe%b zc7@XvE>^f!;Vy+o6@I1gs>13o`0Ht?Fj8R;g~*0!p{_5P#Eg;*HcH~-3sqj*h68m!d!*36|PsfP2paJ zhZLSr_^raA<^K9^RoGaeMd3h&=?c|(pRR=GDqN`0sc^kQHT`xayiegV-S*Fv@Ht)l zRV5s{LTRVM+Z8rdsMZs%3tN_a!i^QSQy8sq zxWb1N&R6JCxI^Jyg$ETLQ}~&}uN0nFcv+!XU9vqPO1P@R+Z8rd7_P8`!We~Cg=)Ws zDB)Cv6BJI^V{Cnb|3w(?@4!rRAiKvu0&Z zNJ~!15|~=8jCU=cHw3 z#3p4Vr_;na!q;|xQ0%7++0w2PQZjPLTc8aO65>ZC+&^Vpl0B6INfT)B=ZVkEOixWo zx3>xJpOIwGPR-2W@9c)?l=PIGlqkj}ZDdkF=^>3(uvA}Z1FcTDw9#jW#npJ zi?e2>$#peJ+~$i*8#y*Ab9@GAZZ8pT7a_z$f!(PvEh#!5j%T!ZQiL#QLCqteB+il;R~O#LL8u%bbu><{}om zNRgeA<6E}8^jwCW5#FrRwWCNB_@u_ zEdw$pre(0Vh!13FU|Lqr_#`D#h+4t@i|dMzUb9N>mtm#jCFg&j+@hOh+qJmjSO5N3t1S{R7^*QXPLVTdc^c|lfN9K6&pro{%n9QuW@##5f_VkoK zBgT-BRewU=(w}3F8ZSc14dO5um70_lpXtleWl~OxXjv{XF)ER^k4zhtHZsxQPxi0& zB9USo9OcRM>+=#54%!wn#7{ReJCv$wd7$+u<#El!loe_zN_Qb@Lj0tI3 z98!2WgD*T$ji@F@bL7dGz}vY*BI7bPaTGh85G|=ELldqg60=is5;IaJCXUNYPT}4l z4phEztRqHo?2-A$DKYf~M-t!0>VhOm=_w;KWepXnn?lBCr^v%cYDyOU`HB>yTbns* zCnlz`w9+!N=`N|pjI*cY%AbQy&&(K2fFDF2mojc-DtRXQ98n_I=j@F7B}R`#t{c>=5HbSO5Ga+3krrlk6#?r$3yQ zF@eKia-uycD`^}HA?w;oOAtvTGP82TVBv57Xpx;ZIwL8a*ImhVMr-BqUaqes+1s?t z5s9NXMyM-nWG2(WLgD^&--;XM4+Rm*&Ph(oWKcGEv#Y)qp-% zwz8?}^;?Q_jS-2yQ`)m))JS>hA;dy4YE=4od42Jm7{$WR7K?pk=MhWAs7wwO;sr5^ zqx49z%*Sl8PK=t!iG|$j<-S5nW`+Ss9&Z=J*#}3mVC7nL3RWNsm!FK0B8x*`B1e^hA}aIR`HX|Hm_f{djBATWh#_K7|IYn$k~l!q(v>1|z68^uWo?ZL(?%GS~JVVxj z{_B-wPir|YyCvt^mh5RQ<-s%srnhd{x~17ajKWGjRl4+=V?xP1$>fpJrI#mwY~K}F z$>buJw0i0Crlus>OXQk;efj=VLWxxDJ*1P;l_$>=B~orDOOXm{VMFIK$ z-O|;Y#bqaZZ^?R3Q18DgT|K_TsJ50O>i8>NmtTJN(H6k^3*v7#TIup!*Rfip*QFVs zla|hfc*%lWkWMNyJ*9ZDTL|B%2K5h5EY2v8EjR!Dw~fGJqp%oCsl8?y@$PT@=^fwt z`PpPcsrgGO@@CY{5x6-5|0yHDd&GHKU#wm3S}tt7OC4`?<~dzXx6|YFI?pH5g^w)OV) zj`jKL*RJ2O-m~7jzG!{OhFTk%Zm?{yZm@00-7srI{szaUS)1}VIXAgB?buYX$+OA3 z>FlN}o5W`0=31MZZZ>bWY>wTWu-UfRzBzaEtj&3wotxKg-m%%e*|WKD^V!Ws|Bt;d zkB_Q4`#*Q~5C{Wd37bw>1O>vd2Lw$>0to~%Bmsh=6J%GG$RgO<8h5N#W8KhV9obPV zajR?FXtknZP3uyuwZ>Mfwf1fLR$IFI`#$H~=iHgx$(*13-uiq0@P0Crd!F-s*7Ka@ zuJc`SICMDgaO80GaN*(d!?DBlhgToocDV6y)8QS54;*ej+;aHH;bVu}4!0jZepocY zKMZoAL^u&ij7StFiW0FzU1D{jA<>xFp4gE{!0*QrM{LiJC&WGMIr&XqH{7%Bp6&NE z-IKWIz&(#i|Bv1Cp^QLiSDuVP;jZ#sv0e4MR`1%jt8rJ;t{uA$>}uZCvg^pMW4qdR zweLE0K`-}F+_Sf%k*x$CleZM#mK2UTZcA)-1!-2*FO$QPOnh&%bXg$z&p#6Y27(N&| z7(G~YFm|y1V8g-2gG~n$2b&MJ9Be(x&$S{y*uA+#9{O=-!x}LrwQ4?rpxe#m*wpg5M@UJGSmQwx?}R`<~-_ z#NP1UyuBm#7VeGht=n6_clF+ez1#LS?rqw;V{c;b0U5g^GI}4%_=RKyN5~kK%P6jv zaojE=c|gYU2%_1x@56oVh-pYhb%cy-xs2>;#I|w&cIo*6>H87s{fCJ6@%@k8*K*&H z`&#cicHf8hwcmIAK5;1TQ2C+Qp}Ir$hgKhIIJE6he1G2kk^2kpFS@_{{@DF>_t)RQ`u>Ldx82_;`^W+G66zzz&`YR~gwRWLcaoC9Ba#wxO3$A31wU%(CowccH(0m6u#X4*GFI!Ec8e# z@yryq=x1s@H%^w^UwC^r@FVc8@EsA;Wc^#+xxT@cHw%wq(T3llkn2R6bJA^!|2mkZ z}qX6K9xJd6 zXV--%6r^*>5&5+R=b2ZnU$H!bbC0O;J2jHv3F6Y+#?6sbn9naOeG0AigQ<|PJYOAI zzG2IGIF0VHLb}?v!N*lT-^#TcmTnfI&;$fC%i~klX}q$-uk4_Lcg?oKNpXr4P7E(! zgUfp2_i!)YvT_jhI@HxJm{%6BDJd^2T~Jw;Op6s)*H#o)#;eO_#Y@X#W%EkQ=9MhQ z%cLEynzDE&C{O38nX!0D)x3pe)wMOra=o2%q=Wk$cxhQpZG2{NC9Hv+@tIZC@mZB6 z!tWqzP*oGFtf(btYDB=PVe@BJ7SEEN*3=ePR*Im5m|L~5PK1)mWpk^l7suyT)XXie zEh&#HhAam#a{;uK%#Fp1=at51R2R7 zsV*)lSul4&WpQm;ylO%1tg4E6v*N|o5Rv0xV%1fZRkIe9#TV32HM}ho-JR;PScR)P z>{OGhm1V`?>ERG#3u?;ab7h!BPlrtME0Hj$#jlj;Br2_1FoVgx95SP;VxqT0WiY6H z9BQn%G+t9)RgElIFt4PxqG}#~l2R+6+Ul~}1=aIvM4m&QS+$@#K6?S$sj^~jMJ+C< zYYs%Zc2RLPY^^SvS%yZY$jm64S2nYv1U*9Zcc7IeF*^eWIK=8QsGM6>S}}9680e5G zSQYb1O3O;bActBpueNMfS#`X0COFDu1JsCqId<`9ba?DkE51Ae|MZqt}YaVof;(;@OV`WsZ0H+MCQW~2V*x&O>H$| zf>s#nRLNjf$LGweS~L#LaeLeoNYDY z6bDaXt0^v@DTb%gN-Aqh#fVhej9PK3Ls1T;jtn#AR*2J*Af>YxVDwlp58a?rjC3lh zFe+Belp_@yt!ADW<$jqtS&2yiLnl~tgbd*7#&|YnGD0oGq1KrjB~1IAxEp#kX;j3gI)#P8t)*8xL_W~ zzp@I6iUg~ei>#i|844|kzQC}Fsjyga$sDw#ofi}-jhvKnDst*c@2uk5as*@?O@~bRm2;jzyAc_}qy3HP3=lp6S% zye^5QR1%vUAgNDOl$9V8=DPsOTnAB|f*|=FMAWzd9YxeS2z$C+R8deMe zQSss$EW5BKjAJE)HBRAVvCsjiA(ck=%CdQ4kyBAqUNN(Ftf+G+XO+>|UssDIW?bo- zS1J}e^_UvwR-s4OqbSX7;w-0nW-&%^)my~b4moKSjxVaNs4c@e9i4_UDs#ui7giL< zG2EQv)Xb}*=^$2IQC*C6i8$A(;k6XbuIA0FuqTXFoUO@}Y8nM)=vK^xE ziSrz?%CX8Sdp%YomN|7a0@Rh1&zd2YrxM{&RIG4l|%{W=60HIdwRZ8RfZ*2d?7XTf>^AqT3p~%RigRC zTKh~f64VIP(xlL}|xP>LE{66+{`)iH)F&!|~c z924p&LK37Iemd~85AxKpSJ*G_F+%Sao^X)&^)a6Cczp4hbWApOlJNMvxIqPXZ*7Y> zw2-E$LpM)Y6ZohuqABu-lF4C~Ou8M6EgHlwbngsqvcO^LY2gAK5c($IC_08uwt(4k zdaA5I=ZK3jWpsQUkC)PvWz(WWlPue@)Ae>77g{1f?6+iX!*`Z9ahXq^3<)ep@m8DI zWD~_9oU5Tj_QPNt{{Q2U9mnx2_^#VcV$kD=z=imf!yexDU?*T7%lkIr-px3UiHD5( zA(1;hv=4MVv=5{`v=695d;F8lMu*!0U+STKAob9GL@3bl;64!IgZls<+#{y2F5RJh zz>{=n@4phTJ{UJk%CLf~qBVC(RduP@advjEsW_Wu>3cs*=$@)2+1(cS;kHAbxpwKQ zP2wCy_c`=x+ZalkND@28@d0W<+R|?_^rT)?(Nft-f$@*l0+!Vq?oU;GU%(!ET48t+8>k+*6f9R&2a1 z=c;npicOH^UaFjD#U{#fZ&i+1u}QMrN0modCF&+%<$2#=Hbo?A&D~bAX`{$f#R*o; zid7|>@S`zZ%28WL#nMfpzba0pV%a7!KozG^apop5P!-Rh;w+@1Di%?(W|KHc6=zsw zO7Y1`Q>j(DF)AX;wsI84ihNawp)gJiR)sng#)~1UP>;eSF;o>+qcB+vQ-ubrdg(TC ziYjcgs+VmO!&RZts$RZLj8KK`R`q$?#Hp&#WL0l!5T~ia4%9S=k*bhD%^ERE6%Iha z8ZlZGnyu1fXs>UsuQB^pC!dNj@6>r~>czdV{YTk_- z){2g8(Uy%>^deCjfGjKE9vemU4NKv(_X-=-0xpBifs;g0TkEuG{sT5OR`|kqT|YXF=UYVG)^~mXkKl^0RF%FdaTvOi zXCpt2TS`(qR$DFnV+)9K+Eyg0BI7iY|7l6|#iT|_m`pGCQgBtZg#F*>h+ z(@;Ie!KxtHD{cP78uli%1f@Jl`P7mUf=Oc!PB2x>D-*AHP91Af-L~4Qe)2k#$#^++bEf(Rh=Lh}~*MMSGZrCb*=WRSIS;3{<+y^xTSVjLKLc{$5Eky8#C^+>_Af>A zShY)6Ny5JaT}Y|VqPy!iUbJHQSn-)6`7QZWL{-Bwc_*wIIs!IvnzuY9Ug4qWV&q#LNx^)h`QY)1vh+w}U@saKBQw`-uE8THqA*A~iXv92k}yRQ3RZ#|RwCYD5&gs(utxSL5~@ID?6K3Jv6%EfroNhK;E34t;U5}Yd4%{({52TKUNcTcqDFB z<$zVSe%T6fn<@oqh~y~WuIvuUk&=l!6fsPXgW;KzJF+8WN}iDJ{v5k9tl8<^6L)6& z2LKa{rE?y&1AF3%tAdnP)Wqo02u?$B>fD`u$~e^biKnTH?aJ;l96##8gJ^7-*v)aL zM%ZIJBO76_Y6Lie%XjDD#&SFnGLs%d5c?D?4@2xm+=^b&AoeRtgjap`y7oYJ&To-T zBdp4$>sM`Ay2^g$Y@;}soi_#JM$}S|tZkIZd2e<$&0d8F?s8x`MGMO;gYrExluJ-h@y`zb18=$!eyg;lsvQ-M6R zV-}C$dJRtH)gUsShq8O_p%BSFj0>6eI#xWA-IeIVs=&i-c>0X#-^ z)-J_^e1S7$eKhF9FQ1D*i8T-hm)+tEs!QVYs&EifT!ZU3HUZZl%5bS5=^&@1c)_gl zT45=MnZ>wV7mt+}*OZNmmsMBeRF210GuE#0vXW|??xwTQIQ~~8I`LFBlTPZC%n^P? zE61t)N~AEZ6X9%BKoM~=ldcbP8;PJIQT*}` z@o;>Z3idezPJ+tR3aLv3&W#j;C6sI5^Nw}T(l7}Li=LmNxj(|L%o@LAaj|;HG_awY zK-+0YYBq0BwqJX4zc9=^314|+_Dt+}3F;+jUNS{`;*}M&%oP4Pz>H^~IDto4WuZGz zk-Kc=Qen*slR+YPBlgSXekgb2id9JaaL*nvICuFP9LHF*`_ecPaqOzyxOCYH8Pvqd z4?>#%QG7|mUcye25!#d3ij8P4Jl?eVV##;pj@| z@NgPqR+AVy`1I0ouKJ?M#Y-cTw;f)1e@GS7Q^jCN>F|tY;oxgX0-?nO`w^nx#GVw; zd#QqUl$p&yh>0DZ1q~JSe?wa!&5&P26aH(Vm{jTqHCGMp))V67B3^#oL6*urX)cX~ z($#bieXbmQ3OQCp5~Q!vFUc}VJu8-Vt2JT(xBm>>ld+jvO*|;ag(9C-L|L+xzOY$4 zx8~wOZ-xw|9HCoAFpSz%dY%qXsA4XC$jYWT%s|yteEJ^1*CSRQO?BRz8aMa73FYru z*|hfY-qg0G?@p8-wfa*&qJGm5N-BDcPd+yMnAN8*lz4Ay-qgL-Hi}v?40AkIwP%YE z-N)MZ5>W=sP;@Km@obHt7XL+4<3y=3BOP; z9jDL}ZBqy*Gd+0xN(|*#sRzKFQQ)8zu?_177;VA}@vCZpo2~&LG~5PY!0v z2C>8HXCagig795@3h}_Duy$CdP@BAr{TJ|=(!)067(~I84pyj#jpG|O#;aH0u}2&O zUMEdywN1eZNV!=%iC>y>oi&O4{2282@af)WL(l1h=g*Rq^m^Z}pv>&`kzF7$Vrse| z#AB=R==3;YZL_2a4fcI!HPQfz#*W^$3EQkfGNBjz4C8aUjE40UE0@AC5|mT%nI^;W zRjUhyV>&)l@acY&EtNX)*B}oe@pmmLnKc+KgjBNXsI3-zkh#Mix1rpC)@;f&B$bmO zDtx$960zN*9zdJ5lfsdMTcPmS=rRCClEDjMK{Yg8JqqV=v9(lhx8^NHc^+*J!3QCb;QO}i#VCsVd$!m z(QospTs&R6Lk_)64v{kz)_8Je101;kpObpnQYoYy&WJ0VA{?JplIGdzr)lzP5lY+1 zIQpT@+PMlntg9WCr%$8t@HXJ+*rV&_)oV7zSIQ;n(}mQyAK>#2)c}vT4Xn~b$}_n% zeD;RWZun5OoW`Chq*-h(NT=h|g&L^=$Gktvr#Z`WQ=~V5E9I%%=dx(nei*0(K17%2 z41O%heZ3gV@#)R2d}I*CWd%q}@i~P?yBF=juIW;VTB>IEmwM7<-3ZVn%#TN6F)fOt zeQ8p^3)I{3nciS`iJ;{#vs8%Am;|w_@}O2`eS03|{8IowfzO#T=l_&LQTYkVFXA)I zV>hMFZ=SM1ZQn3lvahd7YExqWhakpv4_Qj?0)x zdc9*qWlsq6a5M`qIl#*u@D_&|7>dN6E?7-9+o_2}lAE=2A4GRqCiaY_B^Ji?WOh2D zVfOD3d%|W%L)h%^EB5cW*zp3DTPBusoboc55o{dI$^nt)$s71=!S!`3~0fYg222*uL{PtA+VCX=1k{1iVbVsw>6Y@w>CEr!-q zv{^fERARP_vc;@vzxk!QTy^u1FmmAfGjc2GeOE zOd=wML6+Z#V4KgrUKvciUg_)fdZn-9^~xYl zCE>C#UF$q!$eR%COM3y+r!HXPpT2u>?nmwEv+67qGtfa%j0Fn#(0=6bYqK14~e zDK{tkuSM11Tkz#6!50imzM{Dgq#=H)=r`Q?4fxTF2c`<7J%L`mq>^&qG99TrXT8lwD)RQ?|MY#!!3OnS!1xB-6o3Oi|KmA% zFhi5qZNX)XrJLnJq5p}VWa7|IV4((Fu;OB3ds0>nV`-9&=sv6GM>t-?9nh<6MT)@_ z?b{otTaxIu0iLmW6oI4)mgO1OZzQp7rMso9{66xgtcDFZX2oevYp^Vz60$~kUjeGm z26flcsoi!`iEeg2En6Ns_Qe}2A#yFws>+vTipbFZIOUZ`*A-3)-3WAdT*q6rUJRFo zPq6v^7``7| zb=Vz2ri-v`hV)OA_1^-9EbkHfHfgR!xWufyQd!s1p^gspMR}MsWqBX7EBn!_EAg7j zab#mFw819TC}V^_ z-|A1I9-(^qwFV{OrzFxy%DH7Y8I3n9`Ufa?-Y2~Lx>DlFGmTgJ>8*ysKTqlJjZ?qU zR1fV5e;D{v<=aSu{XF3UswK|_g`aM=n@FW9CVR+4JIJs@zOXbnK*fK92Fd0*OFULL&y(nvG7x`8m%>=)#FR;S1eoCTLijPYWX!T zsPrc-*N-7Bf5G{*-{O;P_s1QwU(Ckos;T&7qu+=F{fTD}iq{iqBZBv|>|ppgUE#rJ zz^#yc6E3lZWsC1Tc?nF(@;2KE-?a_ro(}|+yB^+wZn@nR41zO|g_C$u$SS}m@OLnj zV`nBlSx?%Wlwe+~+L7zE=4W}sb}dd7zKrwz4EFF2ERoxHf^$jDAAqTc)N@Jli#G51 zN-|FBL;oE>{M@dvcn1KvS$l(lCjr2ZMT?6_#5*>UIuwkPBE*3G07r0{FP9qdzV6ij zn}EInpD|HKrz_d~2HVU#XfV0`AowukN%MyVah?w!Y5oN4jKe4Ey>#X`+eGStZ`kH(ZUL(=WCB}{&p09u>;}rUC|!Ziz`iIP!p=T?a^~2~ zG?w2EVbl_rghWn*O|OLmhb6rZ*S|#0-;?l16+U>8xCE{RMb<2PSWsTWQS!o16X1Az zI#Pp^wNmzJYcMRCK;79|Ih^|QAeu>6Q+FRk9d!-uiHSC=95Ai3t@A;%c6yP>UH^`+ zUK~8$;ozO?y#e9_gAu%!;OPtaWDT~#AE}IYCPdjRka!o+4D#>}_xAeWrzG(uV15H> z@8T2qJ_`T9&fiG2vGfj2_HRPq)<_JapX;>EWj-q|xrv-+KM^3UI$@xjP6>)szIZbjD zc2qzOEZ@8=U&!zIg~#$z-<4{9;TbQPk~AbQBVLm#s4sPi$7xaXnr8&9YEYt>z2-Tc zRw&8#B`+*~;-QdI)7#uXQQXP+q)Gl6sq8HW{)}gYU0P1Jyg%caq-K4xAjx1kzdSCP z`=M7smrWUB7v)>0ANPz?YYdu)rZ_R8>);oyh&Kq&D9fTI@SbEZ2Jk2VUL~`6&HA`a zpbA=~rBo2%%S}bV>LJ2?dsscYdvgZl49m&I%0O5ngf}!0S2#UGMRxWX*k=h{~0Tp$)Hk5%fhhcDXl!uW;I6mco$SkCQ z40p120s0GN?g+|U9GrAR-fg$CsYy;dMdsj06=4vO$aaiJa)(srjDYz2Dvtt+K6_>C98wQL>sSY4tj#^woDTzY!g$-Drl1mgiJ+g{P2F) zSh6oqrr2C=p^w5TXb|k_M6G|Sc`7&qI4cHDa9UxI z<70jn4g4ojHc#ufK1BY7PA4@dyL)p)_2zsv3k~MJHRKe)hpKKp%${20P=Y}M{g=A4 z-Q$Mya6E$M4U7w^&98daX=!`bNDYOo)B$Of-PKgSqrpa}VmWaso&~A7l1-_Cp+r*` z^sSRL!bb5JDH4iy$GQL*QYf+*MeL3&&8oIi1y>0X#xIQmi3PuJUN1mN|K=NsVzs@W1Z~j z?paPX@(ZswjN11&dp{A@;K8dFN4LybwJJKjaxm_PhL}=dN%l12NhjO;3Tpa7(QtgE zeBW$RTT8{WX>S#M`7pDRoU=NW^9Eoi;a05ze59N%o3UqIMqf7&?Kb+NyKp^+=<9p< z5>M0Ki}dvtefceT#J7!mkK;unmfstgliLf=Jb&HqUGkm41^$yIZE#(t@?JD; zHi@$QJ=ghzfrK9?KJY(uroW5aIa~hs1w7^zd{mr)eTm1+S^o72UO4_*@d6QM=@8`WJG#ka${?kD2SBKrR zU}$f@Z?1ok_bXJjg)HxZoyy+cJ(q@N2WHQ{d}ZLU-|~JSHiHRi7ntj}C_fhjz8|PV zj#5_sURK?&;=RG|E%p!acB}Jyy_*jC2Y&-*=hcLz(a0)&$7>Tz_9! z5e&Q}yGR$RnTFy#e{YbxT<-7bT@4cg3;n@flsKrG?jMEN`DQCIlpAxUjDdCjF0=hv zH^Kbgb%zT4S>CUNdU}EwCH;OHh3s=;-k%98u#yryuo88z;D%Hh2N!oX4*JS~_$EH| z2msyDEyu#FfDgl9clyf1mpBz)p7HqdPNlt4`kG5$3-Kl7Fvus}yf483YB}Vg8WyJa z^7kOeF}MV}soi3K7wQ2j!r1ko?fL=Z`KGEzL!Ars^p$?^$#%o@+5WzMZzXOqwY>lI zK}#<`I@BAq7w}&3RZCXXaD+NVVwnx>Sz2{}?Cq@Zu3OHxOaL$74)-sF#fkOdDYA4xZg*6o+e@u6mOu9Uk| z$@S;@y9TT`>QKUP@N3)tqsf);sk#TDmWGocI))mkZk2+5lZ?H*Nr4jpcS90&zft0G zN}GZ`-Ddoj99mG80`@2Ykcpj$_xE3I0=bL#R^M#03X%9dgwe#1>`pN72^wJ6rPKhq zeWcvHN`GJ~v?QQes#~np^_O-}x3j_9b+)YWWAZy4o%Sa5e{Y~jV!U`Z2aVCkKd2Bi z^wdDFIvKYM-hej}vKW4Ko8u3jj^P8Epz+UI5e=E-XAUp`gwBv2-ljc#;|c5{(D%sr zbg*(Jn6nrAv#5Jc_YXkwL@-b8Z_o$upxpD{! z!ge;MC%CuoyDaLbM3(O}bu*mT6}T#5(t zCG2_(@^WK(a|b<3P)q)`*mSj?$Mdf_;ct3oD{;Uy(H{r=^>Brqv~< z9HA&eC<+mZC_*s;p@<+9c{6^3ki3!;nj=F(cBJc1(?G{h?clXY>XLB@%CsR4S5X|U zq&QsRLo;tiq<@r?2UTIHLI~wXaUp)5Img*_#AO}#6RPKNremH{9H>5KU*JNAmmA`6 zJ?X!i^j}5oa3#gzia=>j%v0J0uKozE|14~J4mSN5t{%+^m1cW>-bs~;0#2FO`uOsm zwkLK4#?PyKS9`C=L6^#BX;+8aD5P;;e*MQIP*5;N{jHThy)XvP)8l7x$E+D&IBCqX zi&x?IDGO>u_0%QU0b&xx)M&N&{X*1-J_#e-sj>=SejVoA&OdXRZQ^z=&IwmPo z$G9_fjGd_+G>8sm>NAj;+*|M~y7b#6WCV4dg4JTxd22`0i{Cb3->Ljh1$>MA-S*L& zR;>OHhT-#tSN47y2gb;~F>CO6@)o@6G{w}E0@`l2c$O^+ZtO=73FeP5~!wA}>w^;#A2Y4SFV(QDS9@p;FiFY#Y&1m3^_51ms= z-U7T>_KAF}+Lw>l9W3#^ury<(D$~&&$sal z9Xv15efUwDYG03B@Z|PVqI>njgYvWmczy2^5r883vff=aUscV&+g(+ss_Img6v_t` zK0JzA?d#rKDec`4g?1eoFz{XG{)ef-Np z;cctFU7mw@SBLMQ=V=dK-E^t%X-_L<833&wm{i+Afhq=$*$1;e{0hN*-{N(iO+Me# z*3T&W-m}{2U%T};%d^qv`>&!fgba`BLBB}Kg4~Az7M_aUZ7-KrfN!3 zvCfJq;V}sR*h1-JDO^DKRUQ5JzVx1TjZgL< zuLzXcuRQVLN0;XNuD4#YJX1Mk1B-QKcZhu5x`Gs3>3I`pg?vpvKw^a$EW6>rC zN>ElJ#0z{6;zFS!e$Vrn*IE$LN3)hY{R8LPht|}!Ykec9csHY0&3ep2;W0F;EFSP& z=SBH(@5}V>W$$ZV&z7+7HSgOfvT?5e0bJ=RqVa|rFXrnp65V_qIv7&Vx|YU*Yps1$ z+GkzwLFrqby_6<0Qrm8XcbZzJ-5DeyCwd4rVuKEqxJzZ&|Rs+V{S7 zoc_J#`2b@KaxAphM)m2U@7ce*1DzijkaT?me;578&E1r{d`o^PnT}NX)RsR1Fr zZ?d`d)}n~5(|zk)#ItL=NTm+8?gaH~!7;isUM_(m6b8icQ?_SDUhi^SNW z^cm8~o3&Xa6-JM+M4wz~EZ@VPqm*;8TdHzg^(rEhyCjo|AOfdqBW5G7TCD$~5%pW1 zeaJGZ#}?q*&wXMj+UqbLEy2Hb>mT^15F&84mV);{`yR5MqNZuHevg0TJg$I9{W-}Y zMU&~9x4Y;YuVvFD)9o1Y$U`%ReWnV(>k2KsrXydc&%oY{5;X=$$H?&KHLx41yG;Uc z(&^YceHsrIp%-n)1h^{)L?-w|7fS&OO~!rT?U<#ltCVdKl29l;41w5aFGw^ zZI63)c!mE%JGXt}G+)8^WGs&aK9S|aTdDl~42VyZprf^0z9!Gz9?gLJk2$e%HJ%OW z`bC8Lf2EFsm22?6WFctw`S)jdH=IQ$_*QINfx}wf@WxJAplc&|wnKOYC>K#J9XBY- ziuD&Y5GAZBz|fN`0{5)hm~~6ntS1tk%T`?25!c}p!N;N8h7z4Wb|?vyMx;>gMTs^G zyj~uP6iI)-h&|lIrZAHFI=)+{kO%n4AH8*0<>_e9KgFkIYGzC}*b)ZJ5MYWXXO>e1 zOq)Rt-2!zdY?7YhzYv>2X*Y0P4@|QGvmcnh*pij^^bzq953EODQd7V3uYA=Fk^seGGNMp zX*6KY2ByJ)xe%Co1LhjiWyrDb0@G@c^BOP_1LmK=G#hjcM6z$g$BBFaN^J(NMZmNh zFqZ-&3>NMOCSj2C959z)a8VZG;o)s~9#~wByZ(p*7qPtwOj8Cq1>gdc+>lu4-H(93 z+@`311@b9zwNFyhjT;5$;T7oiCdVI(u3);if5Dyz$aFoo<4D5jAbg?`vNKGAKX{*P_8I8x-7#TyV#!QQh;`XBOr`hU&p{Hk6n{s=#NG`HD z2Yh(yE@^YO7ezC5vzCR^3UlHb!9mi%{6n$NcVvgqDszTd*(&p`^bM7_4n={=>V*A<2( z(_`$dnhPq@*t14snCnWS;Ny(F^i+6M%b~T8J7UD4Ff8X^pwLj_$SFs%hbNI25!;d- zptSekwiujN@*^6IRVBjE<Z zG@mBGhNOWUhd+650GjA25Gc{reCpJ4tDFzaPLPo}z|h#t-Z(AyI55wmM#*vf21&Q> z>%bg9Ig^|}0dvG4hn`J&*dV70n4?-wFYGx1V87M^(_)ZwEii4sWb*4?TURE(UIOMl zEhoJ_e*orK277ouJ+9>(g;VSeh}d{OC0)v%q1Z!ub=bP28J`7fCcjF62|+_=e(}5< zgKU}47L5+>Z7bxcF_ZF#9xJ4y!_@6+V2)^eHls4tFGAl2OfPLu9w=me>b4J9kk!(Xt&SFP|mB>;L4>J ztgr)P|69GDepCxnla{k`^Xe_@FAyS0m+eJ_y@0%qn=7j6F!nJ~0?eI_;dY$IQ9jG4 zS~RvGQIa+rGr_T$TPMk8+xKM|eCOQw0{xn>n&T|b8YMY}UG}1tTe)-0TAC0lIWdvu-=hD8}r9I-({+LVqK$rID32AR| zY0qSO+Cwhw372+{OMCeVX)d_$QeGN$)){6m-f07(!Ru{z1^jKyG#2oT-xhTNPC@2 z`-d*=jV|p!b7^0FLfYwNSShVMvCXA@n@jr_xiSv*WrY9p-b)utnfE&9IKmJU1oTZ2NvNgYP^OeSv;WIKu7K z`Rq9{%419Cn8}xLZdgc(4x7ub&o#%DI%B52syxm%JEIM^4pS!4k$~M(>}=W2+48xx z7rC^zyR>h2X}`s#z3GIsPjhMi(51c6rM=Omea8uDFLY^db7|k^(!SQEJ#j+XC%Cj9 zb7^mIX|Ho>KX5|Yqb}{OF72yb+6x`+c7J~q7}L>&BZtSjBwcp)HnSIy*KzxwKAIr; zrm@bkna8>$n{D6e{6uHI^O*1j`ZZw(w^!%m*hD(iQohr7>SlX7xtwz&!&s;N`dp(; zElcKcY+{J*VakLAd%=`RbVkD->+Hz?B17bPhIQm{)+On(v##X}%sM)9HD#S+GiP0r z&9?7xoDeZ(-52QBgah1O8L}?St=u_gavkS}JO|q$Gds4|=gPVmPRQB$W6!YdD5g** zY{yB36w0Kvc*m$sv9%xJZ24T;D_z<@bZKvNX|L$5RmMv>N{%$P~QG?!+^)B%&g<1-}JOFyHXw6U%R zU<6)?k_q!oV4}sDF%OVEnBOzWX$7XCC^P0$VCoH+Jj`z`XJ(c&6PU0;4!s4xzAUqx zCSYO)%)_M1fH?+CyP>^&Xrdy6oWazL2FxsA+6=xg2PTGRpEI@Bt-#b9FfRfVHQ4i4 zvd7^2FdQXB47z3kL#y{pHq$SxL=5)a1PmS3W|H#*VA>5ae4j9eJp2rpHUnmGPxN;K zhJMhx*??IMOu~S<9+-MVTkHoWX22W)ron)D511AMCYXzyH^g}uFi``B-e(*&V%&&o=m3bzN52t#X3^or3CSn+$X981Xkh21q zRs-gGU>Xf=aR8Vm1Lk>P!iM&G4;Wg-Wr|NWu9&qLFk^vfG+-71Lu-;uy1oufs{ykI zm?i_}MPTX;m_Gs2X2A5tS~X$7Ob4dHfLRVqy8-hJV44k>W?))MGRN>3=`vvc4NR*6 zGYo67HUoyvmK7QL#U@~4GcwzJCosaG>uF#b4VXWYJqFAm+_2VQz?1_MHDERY(`3Nx z1SV#{JO@m(0rPucA_h!uKlFD4W(qL%hPF5lm_`HUDqs=@%y)rlHeg-@ron&_xR%>w zz>Ef_#gK=~NR9z>2QbYB%u!$(4Vce>X)|C(;Q^j@173vmohK;=rr988H85=k%ywW}4Ve3Yi5mQR8JKp1 zoIe6nWRTN)F#5XzQv^)RfLRAjb1ZY5F9RlFI5xi%nCPs`avmZ%b24L|2PRyZ8S^$U z?FM^31xC!wEGIk!z8mZr227&?QwU6bRc2i^z{DytV>SXK48C6tOq0R)yMYPM&aCT6 z!Wis%mFzKKJ_06U@I5#bF*IQM6J}m!nn|1h+dp??hmrpSOP1SV=|iyB~B3^tz+OtT?3t^_7w&~+za404_% zdkk`31*YAA`4cd0229Q=Xj21b3^2klW>x~zZpg#)fr%I}R{+yyz0Ow3^OrzFRK37-m#!LL(*X)@Sc1WbzovzT-l;&UM| zt%g3ho#YrWdw^*(V4eb|(SUgqnD$wj+p8UzRs*KnX}}obJRF#aLCy?d8Y(i|vjiAn zi1Sup>J9eX1Wc=;FW(DH#4xA41WeeFhwlSJFQ@V1UuVZeo{^|DjPt#LX*9%V0x)5N z%{9O@80^^yOuNCaZvfM5=*#228yH^H*SE228I4_-??A z0;b5&Ps@R6GQ?*YFbM58nl*$S@xM1( z$AHNPrqO_z2uza!GaHzw0keuQ2H(F%_88)P2ia4Vd3^pJFfoHYKLI9T!2Fiv%*(9n zU%(U@{OTD+KQ+iX4VWgwIlbwGsm^RqE$K2~HUN__V7>uNqXBaen1}&$6qt6y`13I^ ztp-eJEaGg?H5iyS17->^!hop(rqzJ?D(RY^xh?JlCTfuLI55oy%xl2J446LvQ*Xd@ zABQo)fQbUrV!+G=rvCKIzOM%+Y`|OtOvHdW1WbdWUpx;?%pm7Cz_eFqw)tPcL=AHC z#v>06_DlgLV!*_J5eCd^V4?<0BQRkD<_=(5=4bZ(L15|)a-Ih!X2ARxFhzzK1}8w* z+|2e22Bv*ZX3SJznhfjk8em!sm{q_e44A8dX*OW?15;$cv;Y$`VBP|z#W1IQ3QVg3 z6P}1M%77UOOuZpDDu78CFsp%y8RqUrU|M3C+q4Oob_3=hFs%km3ova4%&&lHGWhiu zvd0j^?vpS^8RU!vrqO_z15A+tvj&)$0kfTS8FK6{U?PU&+y{Y)8ZfT_Q)IyW7cdC} zru$^X(0~~QOrrra2bg99W-Tx+2Fz{1gbm}*gTO=#m{)~KYs$I-q7EBPDPvz#~=m3L=2d@z_c0sS_4e0 z0ka*LgyCMAeZVvtFwc=a2F!=R6rGv5-2+&&G#W6YfoU*c<^t1duxB$c%?8XZq|1PL z6qu;No?ik}Z@~Nmn1}(Bhx@0R445gvgbkRbz_b|rqBqdQ400X;rrjXt*T9I<%)v~SX*FP;1}0+YUmpS!Hehg z<^j`gz^nnL!GO68m_`HU4q%!Lm-J3rvdv^EY6MkY|}<*aLYHGhj{y zrrv-l2ByJ)Sqx000dpZR!hqQhOxS?A8<>az^F3gq2F%OAG-beik>6v{h%WFHNwV78OuS5_D!Z-2TIWr)>Q{o7m1`V$|>3&E9%Jg z4k#i;PM{d=m7?oHP#W1nz=e1QlxPaYKLb7GY}VdQqWFuo4+5rr5o5xr_Ao?SIFaPQ zc-0FA>w4N@Ip+b>uz)dnNi~Z0MYr;eut&8Z^vk#LrBG*1u{h@Na% zVx@oovlN1_`M{`5AUWNcobvxWz--pKd?|HY_!t;^qm&nw63llYE_ZWh|t@#GR5!! zFsfIQE-dxa==u{d39T!=U#DZX-(%24@3k&EPqk9I-(iWLwR~;tqKie*SoPZt9=F@# zi|(ga!7pVG#fKv4HtJ?znst2OWSVUkVg4`T)081TB=!Nar>7djJNvzWw}46XvN6(@ zEHrF%a`G=?OarC9cQR%LC`Boln?Y&HO~(8blvoO;7mlzKY>(7c14^4cJ0K|7_JUHc z$KLc~IGs6YGGIOVI}sA3H|4ny*|^f)WSHZI0Mlle<4z}x)-_b?p&izBJ}}K^u@^nl zVy+=MIO9V+9e zA;MIgb@L(ondEE-Mvbdv^KZdL5l`J-1||=#sD2Snt+Y$Ixat@-=voYn8dpgd$#Ls? z0vI)_6Q&d@2e|b0#2MKU+8)Xc1gpb#0Wbp%_B;#B5-kUZW@+S{QVU%MIop9za{<}> z5ae|4V2u#>1EXdT!e9zW56@ftg^i$BX&xDJ>_xU#9|7WROz@jGBqa z=Kin;3>~($z#P}Q(vMN!0H)HQi`Hyy=c%ZqTeFec1CZ0)N39dmt=S0k5-`!i_iI^BY*}iDHnm2biW5uJ41=m_qp(C@m?J zk3nfpp?ENFH)PQDMbD>az#bK6%8gva$K973fKly5m>$5m^XCp=Xn;~<3yov$zWgI# z>J0hw2Ve#o6-fl)b67-~~6bl4h!iD_Nv{AsoX zFt-?VwE&}f6Y0u^6n6~Y0;blW>#x8h47zf$=2iW)bHBy|Q)kds3(O&dt}Vc*5ukIw zZUSbBLDzSIdCZ`T#@^^M=t1;48+%`ZoCqJsxkD^luLq7lS|=orkOiPLrX0&m1tqE} zU-YO|4(-Yd^0Ww6BQzbhTY#z8QBB{w-vx$#F%2-tp`PpR1qDku8iYX?O@o;a%xZ(K zEhNXF>keR4oJki>qe#o}FKN3Em5cX0ubmX6q z_R!b@o2)VTroNZDy+RlnRl*<$N%3LiTfoq-;i~mU`poW#GP=`wK>4FqDQGVrO^fl&-TV``qgAPvTiRZ^(r_bLs5k;A1G7`>N}rjlfyp!I zx&s*1f~0E&3YMe9-uo9Yd$g|f*?Zo3LJT$NdL9^+8>A}>irg`ry9_HCt&7^-y}bqu zz1bcx$Voq+o{e6jvW_q~L7c{~7l5H(tyaA|{h5lw73x<(GwGsU*#KEE3A%9lHO;mk za${k&a1*J6lB45AgKKL8hqhd&LP9Ma70dvgHZHk6Tv*oSAk&7XJ#si}wPrArk z_qGI>UmA2>4NR>;S2HlG1v}UE53f63?}NVqMr9pgCa2ZaeGS%iT35&&WKgC7Lsw=q=~@Gf%ID5?T|*dyu6@AJ)zVD5 zsK2)u`ulT`)5>$DJH*n@c3`4d89*K4lYSP?KR-#15rZ4*=r}@W@8z zn%rC8^*HZo(DgN7RBn*2=?I`Zh93iyr*);Dg_mql*S|8w@F*}U>qyu8km%M`(|}%J z(DfEDEe5}+SB6)pR_bgPUUnfyzhQPSaEDk1vC7ngxjZ-~!5z{FCx zeh5m!pzAHdq;UNWlokV5?~CAj%C)3IP}*%d6l>TEN@QBH7ngz}3|{O6rXhvvaZu_P za_gjT!PkIkN#Xhgl!!rB&#lPS>B$z32c^isRSisoK5Nuf`pRF*b0O9M6Tz8cm31_m zI~!xJ04Ap8^m72%W6XYFqFPSsaU5fwAvqe;BdwfYksPh7cUsK9foU+v>AwxD3j<~n zFs&NXGp()~V2U&*y z#jx3csRX9gfY}60ive>dFcE{z&jHhHkn=GxO$JQQuVBs;3)U>-K;iUZSb z(6t>HHFtNe>q%gqGU)mvF#j~@8gdEG=AG-B4a~C!T^oT3VWpcXhIay^=J(EZ{Ro(& z23>yurk6oi->;#)NWYal4j%7MWRz(fqX?gB=w6FS%RA~5X+ zUB`hLWzcoX*I}8QsXN!T2$-&L7wX`9dcUp(rqH14Nnq5Pq;p*#0yDy(tIwr)w9BBY z6d1LV>0H-^B*&oZZeU^tT`vQpRy(9?IHKepH$DSKt&s?`6&NV)u#IR$j%j-$sCDO0 zH86B{R;GS&2{4TYIfsE+ZIJV8VAPte^B9INL!7m)^to{+Fq;j!)&rwfdY$XK6PTwA zx}FE7(V*)SVAT4sb6rC&$5ER>R}C=N8+2U(j9OK8uInLSJ~8Ne4;Z=&E>pYHnStgN z&?8tEb~u1*0?<#foqbYyHO7@-RIQLcoIYkdqCXhWR;oI?@_jYJZq|@i) z-UUV+WjP2!(#CQ|T+JBBk@agpX@8x$$QNg0t_L)Rx&91Fcs_Hb*ERJT#xU1cL1}!H zxzg)8qA|?XeLL3kGc$9YqcP027nG=uYIm&P})k_ z!qg0BuHN5Z40D|gN~4baYJ}a1BXjN580PvNC`}Kru72R6yipr-jlYgD%(WGiM$Huh z+|Bj0#xR%vddPW#bq^x%r)hk7y+~{M-O?%eqF0E%=IcL zt>tWCdaj{2FowA{fYPXSrO%BPjbX0r8)0EB>l%?{mt)~VjbW~DgObn|5|=yjf7BS} zn%)F1t*bi)L2n$5t2KtXUI3*<=iwmDK|9RV_a??LR~(eE9ye(Gaa(w=#xU0(L5Ui; zrhbbt%ylVIe$Fu*npW3~8pB-OZ-&jfSEje{8jWGDzk!l4a9wx{W0>nVpwNws6azIH zyQ4ArR>m;bRiLyPbiJuD%r*Qr$k9C|9|dRQ_S&d1%=IWJEw8bKKLCqYvoV+VcE&JQ z1t{VT<{Am7oV;hQ+cbu`-UcP{DswG|2zNAw?O+UZtpcUtJ?2WCsae;4jbW~LK?%Q| znJfPe#xU2}ptQZ4nd@$iVXn79Y5YZIuKYV0!(4Gt#IKoaKMKx>!+!1780LBxl!Vrm zo@>~*8N*!5Kxxu3+@4m~L5*Rq-+>awbNvyN zHrn2P@-+j)yqj;xW|6IqA|?X z1Iy3WW0|=YYYcOJ8#6 zY7BGrxCd>absbB~RjV<~brUGjr&*Vi?_k$4d|hLhD|Z+CnwOcYPGgwsc2J6*WUdgY z&>P3_O^so$-n%i{RA%O?(-`Ku6_nUZ%$1|{&<^YRg~l*fzdi6PmYFNAG0b&0DD~Q} zE@^fBT4R{&YwbPUsTEz=n0x`!y*LSI^4A7~774c~{+#t_2`G={kjf>N(nDd}U_ zt})Ct7TveS;MYYO!(5Mm(xkckY5n?}#xU391K`rpNYC{(jbX0ugVL(~O23}>A7l)3 z%>t!ab5XB!HqNLUHHNu<3QGIWIHRCA&1~NHUdAxjB2emo%3Rl2IGd=Iv97x`hPmDb zC8F0hw5kN7y)oBm_c4aKE(E1Wj{xb{qK{|{bNv~VR^47%tVaH4U4@4j!(3ZIY11(b zrsaA}W0>pDpfu|7Fg@4!`x(Pr>p&^eIX?`#*e+-9u*NXg??DOczMP(G)OQ)fT&qAy zJj3mkzE|F-G0gQlP}+11({mLZW(;$!10|*{?3Ol$%^Jg8e*mRXMnkP$JK=uJl~TG={kbJcNAKT)%=)Cl}eTl^Vlb_kq&zBi4l>EKLmmtTD_r z@nJ+mXH@zaUZOF~^?jl|$GXz{mG=l^m}?y<^?Ie3KJt%f40HVzl-B22SNc^-(f1g` zTvve7^ke2qze;&YW01V%=IKFQ9WXx4D;MQrRx)nVXj4>)aw}LLy_CByEKNm z-X_WswlI>GYsiy~VXkGMg!MYA2wd(F;9iYkuHS>wrgcq9t839yjA5?tgA&%WUU^zw zf$uYhxhg=3y~2JCOsne&jbW}~KLD2=qfSlBwL)W<>uyjYFR-rhX}P-okTJ})36y3X z!`W%M9@iM=`WqkuZbER*un>B{HUI(Q}XH*2bV5Gfy?EldpF^0LW z0;NIg8Vej_oxP(P!(82-MP}-ZnguSmUv(P8Tz7#I(HS)YTy6{htTD`0@*GynA8>o6 zx9}>BVXmh^3BSl()6!bl<;RR+uDPJZG*?ktuG=++x!wXL+RC~pd)?6({ybxtYaJ*J zI)*F2<;O>D+y;+o40HVhlxE$(76R_(DmlU!=DG@$qMxvZF>tvpJgza!wc-WHIm%o$ zX}R9i80MPwB68#9%v?`t40DZq3B5pDxHzq@2Q-Gc#vVlr8g%W|80N}-8Ijjq>(j>Y zDve>TKYN*}`|uP}zWUIL|Fw{mIPXjHZ`hPj>xrBROn>0?;& zQ^qjYbD%Wooc}6x1@TcE=V6bZF^0JofzqgR{tCd|TzfT!x&8o3RIdTP0WQ|y>=nMs z80PvKC<(nXUkxsI_CBjI%;kR#t*nm%9&)-#lGZsI!(7*a(rh^5Xw?|z>i#fFH&=}@=0F;RKt2?;dWAEQJhPkHy z99&vgG_9^HHHNvK10||;%}A@O3l_Et!(0`hB&s+Xm!;*pS!0;%=b%J1*TreMB5yK= zxt4*_t}RUO*L@npTz>#1s?ViRuXHxf>40CM)rF9njMWc;7@;}xX=E{8wz1zUG zLSvZg0Z`gzvaXAui|umuJilZNbIk>%Natbt_S&g2%=JDfLhIU;*00HLGlsdY0Hv{v zElkh#n#M5K$vBj3FJ-Q)()zVQW0>o4P#U#`>Dw##4r7?BiYRkf*T%Gd?b8_M`YR~H zz%{pxG0b%rD2=mO*H=*OZm<8=80IQ|7eGB87NX#6%zul{m@%3%{o^%=HgY!ZplwIktS%XXT4u(408?tEyf>h;Rn9P}()u4siKh7XDjfn5*OiM5CJhY6OSduNyUnxn3vAL(JuHkV3Zg)DIcM zTw6hDFmS!3G0fHPcgT4I*IJEXuE#;CH*j_Rh%wBy7?d{o6bW4?!l7x>yBgT9?`jNl z{fp#`q^CBB3#V2^7CvfYuGsGx!(4ZPk~odI9s=CW)vhtjHT`3>^7|b5{orz<&$_PD z80LBvl%`*0=F0yAW0-3VC=r9Mw={;iX8jkAzw{N=^cFs@G0ZjWj~GcF&TQfLG={l~ z+hL)B>s5_muK1sz>wB4X9n~1-8vozO!$&f6-J>zgmGx(|`)`ZOa}E0hYf-JMGOex)G={nE10|+)rRVyS#xU2|Pa$4kZBNg2iN-M3)1V{_ zy1M>_G0ZieDDQGK#zOJ`VeWn4tQxmJ{yj6vL@^SI$BFgp1*s~IcM_lzqxqK-zE%ueF95~yo$i>wa?GYu-6z^q7thgg4pwGp)l#9pcB3xB=dFAj-CE|-FtDLUx5jEi;N0#l;sv~8B-RVzB9!3&KhDAo#O3tyo91t4Q835vmDGSMW=1c9B;Xza|0Oqgd+Txb&uPw z6>?T|E(5b((b))Qg`#uv4p;)4hv#!Yn3amoZ(v#~I?)|bLq(?+41HEiSbf%jNs3NE z#_aOfu^t6EUZJ9MDVRplY3tNUfT7Qm3CpL$PB~saZf$|3`_z}>`92OzA4R7gOdHX0 z&(r^aq0dwa%jb~RsG*`W70h5oXAzk8iq0=!Vv5d@JLh;2Mdvaw6^hO>FomMy-oIMm zCB0RO&M9Du6rEea%u;k#f$5{@?6V8@N=4@!Fr|vlV_<3(oef|Hiw*{M#>L~X&#u^; z6rE}?!xf#SVCY@*VdF4=H=F@P$K7A2fN4;4YQe-6ov*zlfP|v zK3{;T6&-iKcisbQouYFNm<6KauFs=jB8tv>Fbfr(!`kO~T@{^bF!hSgKfv@>beiKO zHj5OU6Tr~B=EM5^IxveBofTlBiq7sGaIRByMuHix=qv!!py;dxQ?BR~;YDpr6`g5d zDixh)!7NjBaw535QglkeELU`{1v5v{`6rl!qO*I)9B-bYGYZTKMP~t+`HIduFe??E z?t5d*D>_wRRw+6!f}u|p2piAM_rbYN(HR70nW8ff%xXpFUtm@!I{O#mtS&n4bLM0) zNkwNdm<^)S2fH%w#{O4-f?2ER9M=iY9Pro>%Q()Nl#l=Tf)(e2*`Vlr0j96$xYyNv zJL4G99Y}>Wa=N zFlCC){b1sX&iBM9Iz@QvYNhD7&l}Ug%v5xq1w)^WY37$(=XWr(6`hi<*b79*y>46r zX0D?1GMHM?ap%+SK=bS?tiR%57AQK;f?25K)2tiLEs9PQ3_WWK%cmAhgQD{l7<#r7 zrqk^p?8}PIbTITRB~0f9Fe??E-HXh#i!hz(U{;HcyWd{~vqs4$|6n}Z5gou87q363 z5ToeSg4rlK?(y>#82Yh%Si8C%f-^s!nVWgx&ZiPgOGW2dFa@IH&Zkp%^XwulpBgaj z6`eo86e{^t6k{(C9rwDr2uzWpvk^>J(Q)_tz#isVL0G%$h!GukoxcG?&kDkHy7k2V zuINkyL(dArbe4b_py)K~h37wt&HyljMaSLm&w!~=bUOD&EYWe-Cl01c(Rmh3x#+n2 zz3ZXo9zU!;cY&!89d|yTgQ0u#FrCO@*uO-_U7zc~&^>jS&PFiRqT|lz*u%{|b(qf8 zU}h^i2{3dI8>X{sAGBR`+GMO^{<(Jo7`kT+(^(2;zUa8;SDPcuJzAJf8JI<)cQtjyno%7o9BQ2h2uA=L0Y+MaNyAy-Tnc zU{48a*F-Q$MduYTZ4{mMM`N!P9e2A%fQcwN_kvk3I_`F@1=Cg0>3IxlsOVe*rnjQA z985DbCu~1$cdWTb3#;>3FfB#LJue;uL-#~sIvc^X7aez<`}H;VGGRK`f$1VT?mFl8 zGxs22I@7@vDLUVSp)-G&PV6}Jg`)ET7&`NZ=?pj?_h^dFdtm6yAEq;`6nnR#^A4DK zica7D=u^>g_xsae<|{h;pMd>Tblm;*AeeeZr^|`xQ$^=4FiRAjHUn_4r|8@QW|^YX z_9UDELRo%zFbTAqx1M$vJf$4&u5XZ|pqd0>_( zI-i1}Gk=)Q-lyP9qUcNpQ>^GTfLSU!?(N% zqT}8#UI#;G$gq4mjKqD4=(y`M8O&fsXDJwO2VPeJXI#8r6pS)w$gq5dgK4SgJOrjf z$!7zYwu(;aXmj=p%V!>#LeX*e`xjv7>=&lfwG8X3qEiK?M$uUcrmyI@>%7w#JpWO2 z&IS_|9e2M!0fx?OVeQHvi?N~ToCRi)qVqVIp^8rPaptTQmd`LS!xf!Jz${nt$t}lN z6`j2?n(d#T4h2JJt+0F^0W(W{|^AMOuMduGN%R~oo#>MmW zq;s$)C_1%ZRwz2(gUQF*5>}tX&c!{EqVsn!Z4{kI1@4IyotwbWSt~4`<`ZyFr0C28 z(^b*gehXz(f_D?Iz=%NOauy zgQtNRuISW(DN=O42UD)-^qhhkDmoW}sZ?~9f+MW^R<^r@nA z5g0nNg|+KdFx8^t-Us)dfwfN2xd_ZGMdxEMNkyk;748`ooh!hsRdhZ8Ge^+<1 zMQ1vg8qsmj_ZPr4!Jk^xIpaWAX1P=0r9J{$7b#4SD8w6z2IygaA`G6aVmUephBsQj>q@J$I@wk@PFR zmcSBCDN}~-isfC%414v3rKlCZkDhwOzc|($Vc6?!SQ2M*hVEFqT*M4}4IxV-d%0uX zCk%Ui2TReAaIfAMGs9lhur#g>_j*$p_A02xjFSv8Br-0p##zF!*L+wCPUBd(0nfPD zt5F#C>UjyBPPy_E;p5kly{d&_ucfe*e9y7k!OI^+?6t$C%&^xfuoQ_G%}U#=Rv7k5 z!cw!IV_oa?>V6qB>{Sg*wTxc3*IUA{SDRUQP9m}VN+77bqOnXE_Id=CqSHA;x7VM- zu-6HfBSVSh9*1`b!(Ly*k{r#kx@6?#XL#@x%&^yVSUky)yzI)qAq;!9y%Hm;jALQ> z%DA|fM+(DU^I>Tm%wFv?eEbamD-3%bHXA#&tQ-5n%g*p}Vc6>pSZWlnU9Mt=y@tUO z-+{+`KWB!26NbIMgC+7GZkId5QCBm=UMpZ}l)3Eo8gLCW?DYaH)k>_^bC_YT7%Wl6 zYmqSQm3u8#09m6tI;(M#Fzj_BES{_z&%n#x9X=C=y$Y|xnjq`^0g&*=J&&l#!m!t3 zSd!aue~ovJ4exqp*y|Wrya;>k>TK7g!m!s8SR%WIduwIC@YcVX* zox;5~3d3H9-2g9%^$6Ooh~R-G{Hm4u~!=WwsibD3eUv9QEDgnKs&pg<-GTVTs6?zZ0=A2htbEN(#eX zky|kGb+u z820LN7uMblyf6E63+}QqRtUph55ZD0JlyLCVc4tN-56v4V=wn}fVeR1wGfu%8R1?( z2*X}o>o7KQxrVK&Idbt_o-7P|)x(lFi(|RHeiDYgdftPXBJIM9D>5#Qb)GQn^%N`- zsiE8JS7F$z_q`aslA*i5E)s^lUVz0L#_e)fKKDLm*sBDV201Oet8t|;?6nM*n9{CR z^O<3<0k9N_m%mR^DY=F|F^u^UEet;SFs)VIpPOx;xVXqr6 z3Bz9b3s4PN0e0drslPea0AbkcYFOgZUwGkY#>HOm2*X}GJct!QYUqBlG)Nfsx*C?G ztcPx|H-urYW)GnnvTk%new>&8)p5eG*QKyTWG=hC{vix|{Q*neFFe28v+|gSnPIPL zSgNIlZm(B_VXtNjF?S?Ge_T)pa0`zYhP`IN(kRt%do2@&y_)|WbEgxJ!}}4z&yr)E zAPjrWhNV&Z>lJwUGn2jE5Qe>)KZ45d%duv_%O1VQ3Bz91u*5sFmpj7`gki7Fk7CUK z#{K2?nj{Q+Jq}Bwc>Nn0;*FH)i`(_PFzj_qJ$m_9j`bvXyM|W_!(Pi_sh1JuuHnv) zF~eSiVM%V}SnhT`DhzuydmOzicl7Sc4-kgEu7kzteUe2M;SnGsgufflt8u{#1>Wp=#Fzl6t#oLy>c6Y`)`B`Sz zYY8m%vPSLa^x7y4d-Z${BTCxU)9H1eFzmJ65=58hY$rIqqQbCO4J`Fi`TkC?_l04v zHqWE-Kl1!4MPR$X&Jl*ao`oeQ&z6V5t2yGCi&wT5FEGPir@#`C5p@!9JJy}Tu-6x` zB>&(H=?N#or7w=P|BKA9R|PC_i4_5Fd%Y$Md$n)Co-48F6HqyV|J7(=*lRv4H8P@( zhnL;1AB17A;+L?_%ZPG6CB9l1_WBr>h@^gYXbz8g`osV`!+V5buhp>B zh*ycztJ^=AVXrB$B&8ZOdhJ**2*X~@mLg~I8Uru;3@}g__PP<4MwwqjoL(Ob!(Q!Q zL5ACKHOR}(@Ooj`Ya=Xm&Dm>&)9cb#nPIQo*I;SJUS~MHrVGPft6}jZ!%AnnhAd-- zy<+U~4g2)9P#E@F4@*ME{CQ5VlDC;*uPb1wm(^yJv-0`x zFvDK6V2R5aU^cw$)#e>x*sDzf_i=J>KG_-TOkvoo7M5zc3-}uX+4JiQVc2W$cd>3L zcO2t{VXymPsgVr*xrJ1vh2IIoUS0l)xhy~Pb$d-0hP_^ZB_Xjsq!4m(HJiW3411Nr zQhz4zDegPp8-!u66|mGvtRlqW2>w@ltYC({hQrbzvCfq2=nMA0M;P`>l0_e z412Zx80``-ce~CJhP|GGB_dw#b~XQm8TN|8k`ym@f88YvdwmT{fjkFrkKQ9zF~eTh z!BRhzt3fNafAN@KEev}Ve~O&N>uR{zmA^_D_F4%`Tr%wK2f|kz>wwRgVXrE($j|79 zIlbNzhP~Qg8S-rk*y|Bk>PNBH_UK~!-r;v)*z342 z5ldcuv;eW}v2ndH?DbDrA~BBjCA|E7g~!I8tC?Z1QLq#!?RrEQ_F4~1TwVj?$Dv|! ztkSQTVXs?Yi7H;-3Bz8!zsB0DcwHk5d#!|}MDaS{8)n$63Kp*$pI~1^Yy6)*aJ$|T zhP~Ra!Fl5#_Ieav{xe_pnj{Q+ErF#$V$riN+iS;fnPIQtu$1i0vB--f_+LFF414_- zmRQ?xuafVWVXxV+RCf&b`cN45ihPe#!EWJRlZ0Wf#jrF)!oBui%M5$n0!vbUzU;0> z{=b=FuS!@N*6~ca*IC1D)-l6gHLw&YUVHz*40}BSOGI9!-vgPAd4=8F!U(EN-0^hq%EUMjlF*;I#_ZGOUgR7J-h7o^6_NnlD8otweb zD>|Qn8KCIw`!n7HrRYooL+^nKYuD3Y7Ard2Y{2`e6`fPTEKzjs1rt|v{sX2#(K+H5 zyq{XpxeCluMdw2>vlX3Azv4Cjip~@;b3=6acYn|iTItl2mxIH-<9ZP~%O#e3tZw%k z=0!*>l06N~3ej6`k+FtW5O^QVQblLK-|-$*MP~+> zgrf5bnDwILuFtN2AZJBq9GDG?&NE=vC_3B!iTB4TI%k1dujo7q#w*}8(>;EEBL=a; z)`a7+qU9?(wP0E*I{yJvAUf_kAD)xzwN-R32h&E;SplX{(b*>#u@s$2VCa2hVfA?q zOnXIV+q_(_kD_xbn24ftH<(gI=X)@PicVRxTyL%TZOgjIWWCN$Ne7p{QTV1`_+J*-8pw?NUk3`|^f-1BrP7&>o+wQHO0a=l7L=QuF5 zzlZ5u38qTXSq_Hw$}pXsw$JruDmp{J&>k12a|f7e(Q)^C63l8vr&G&ZZ?2+q4wyzo z=TR^V6rEqe(4G?3u70g@y(NlH4H()B!gM|XlTdW_-odQlVLIc%tX6dD!O)r+rt>qH z4T{dOJDN2rOy_zqE%Bl?a}VO~_fNpknh>V5Zvk>vbmCz8Dmu@ADOPlHcgppmiq45( zN=3)LZrliFxT5nBn8Aupq;;-WuIP*d6H{~^219F0Se<_WQ=#Z|-`ULNFr67-szk@# z@9%+`qvUf?8!(E_HDKl`I^Te)Q*;jACD)s;=v)A1k)rbon0iHL$6a&1WuoIAKSROL z+7edhd%&zvbiSilica_4a=oPJxc9G0Fe?%bbg{(icYV#x!xMlai7Cyf?2ER zyac9Ebli2`rkz>q!s^@~%tq01*XKGg&A^1|ya&d^OSN6kWcb|DZg-sd6`c`ankhQ> zf@!bld<7<7(b;bgoM{!E31C_(I!}P1wKuFjzkn%FbV}OidL@d^m0;Q^I&Xp*py=$l zC+>F?oxxy+Dmu4;X|L!c!IUXF`*y%SsOVIHi7PsffhkmUegQL6(K&iAj15KSN-(n( zowvYrRdiZMaQ0JlP6tz@=-dT{_JXi+_!XF9MW$z$6r%PWzxwMThe7AIGucR4}U)otMDO6CL-u z+Pu*01!4VlBA8l5=LRtAm3%$~Q>W;(>x3493Crh9F!L3iS}?R`hUt6?W`XFq_rVB$ znn7z+n9gW0^@`5lz|fiyrt=M$#iHZxudeu+49&qXoylO9C^}Drp)nt(^E;RZMd#=) zIIAl5w z+ykajblmOQ0A`k=Gw1-EqZFOnz|<%@UxLZsna@$~d=Bbr)`YO}a{-t(iq29nGzY_U zS{;aeS=Q^C+!4Xe*>V9G?tolmoa%~%c7nFJ=T=zI!>#%h?( ziHG2O2Y0aGnH?)&ZoyPL5ZrgJfvxuWB)^Q&NJtcK~dD#jdCbOwW= zu^Ogx2blSa&X-{NDmn-Bz?n^S-2FZe42{*We75O{eNc4V^%(?)#%h?(ZD1Ni$KCJS z_rmiZMdv~=OGU?>&kJBG6`eo9EEgSjeJ1oaV=Sy)pMY5@I_`Y-J`~S(lzhg6Nh&&z zf|;l2{140;(Q(g<0f(6}7S^u&z-$y9_qzHcn0h6jV-LsK4{4a^0Pgx+4`zv?^9h(X zicVo4oJka&31HeQI@r+=(yYUCYS<6XO|M3MHQVG80yood>#ffT+!J8 zri-G}?`Z6&qT`+yHDHProln42ijKR^g~yn_2y52_Fx8^tuJgaZP+x@UoOUeka}}Lc zV1_C>qx<4atLUr*Lp2P`=cImE>qN(0=LRrwMW_35IMa%byFLrR%v5ytJRWPEqH_}% zs$p2WT9jfxRdlWaGgr}R)gSw*qB93fouae-30N}~olC$hRCIm@lTdVyJJGZ~tUfn` zS*hrJ0cNR^&p`vQ_KJ>semxF`at_O<$4OXw6`f1KtWtE|0<%GM+~aVUf!MnhowLAr zyYPMrIOF2yQS-s9S9HDy(?)dM=dptanOI@?PicS;^#R}88 z8%#uW+;v_9rclv2_+;z_qT{a51z?I4omaqg6&?3DY;_8r|0p`Af$1$e?tJb5Q>y6v zD;+EB=Q0PJial4+nFgjr$)^EKOwrkXFz#hU$6cSnU@8=yJHbRn$6cS*V5$_I15Pt- z4?C}31ZI|^^Dda-NE zV=S!BgU-UabS{)&eLGZ6`gHI;fy3Y z?*2L%Or@f82blGuNblmy0E612ubS8kAB|7f;z68u#MQ8i*W^9D58^geCP;?#yvrx(B z7ck9s3t#8^pM!Nw(YXywfui#*80w3#b`3ulV?)t-2h18p=a>qd`4ycf!E97?j-P<% zKZ?#rV5se3?W&lFv8w3&38qldnJ@{@e-xch!1PvhPKe|AkD~Jo7>Z@up0#S>gC!JDfS;=3cAqye8HqFAHougv2qvK z{Fd;0?0>Ml@+z^8?aMmdD#uh+!ZUh=$vw{zy<6GH%8_7bUo|bo7n@w&Mopz!cy;)n zK0(K+GsOteZ|O4chQrI$9oKHi&{TtT+*R!XrXouZvgBYebF=gyGgHBss!}Y<$JCbp zo&LU-@=;Yz2hErUxA^u z#kKyhV!?Dg7gc)aa4@E-6w5v8MuMqUV$BA#REhN{7*lzQ2sw_)NK1z^qbw=SwiAsuasT>NbL@QDW^{h0~W3s|bv#JjHU4 zy8d8jeKxbnJ?ch-S+B&RQCFjkx(lI`z)!rwcGz3NcsFIPb$^GY5g$KgdeA-UUbDPD zrC2wz&i}=zi^!-8-V5`H`H?bARU`YT+xa{^hm_uNkGf(o9^S_2dPc;tP9r8&)$F5g zG8o!D!`9X7z_e6iJq*TFKKrP94a|Ir z6`0tObov70m5rDHq+}pSn2|nwXk@7Gnrpui3cpZT!7vQSUSNH@0aOyFjXGA zcYLO05G?fpOF1kh{WF>AuoU5AMNL&vFz<3$BG~#9rJ=*b(OZOj@3ofF*Hyrq?I1)DO+HG{RDZ5BBtxy_x8pfTaMI1U_WU zXCkna;N#SMOA##9duHa-pLFoyX+AR?mikedmUCf=pOa~s4od_dd2PHf>PAjL+oKcM zLhZVObS7t7=D|{ebG{$z0aC^XVEUG)V2NIkX?X>fMzNHQh))?ac6?Rc%uMD(FcJLP z6kq2%Sn8h4wEPT9$y1q@ybDoPeAtxl)ee@}%bAw_Vewwgv>X9TVp*o;Bv@)*&$LW{ zCHhXL01M^+;HMG`Y)NPz1WH#&u~9-Swt;=q&*Wj0*50D>^eo7+&zU2Jl~qKigE=^TpX*qAxi6Bb-l15m z?*IK)^#v(@jgesTp;**9JK&FC%B4PNq~prD2zP%?s84lBeMojk=u{WeDTVT(ebCQ` zd#;}_c;?{$Gr7w(4NQ%q^LJsOlk)r=me@WVJ$M%7=sR7^40{~`OO0|Kn*^p#QNB+Y zR(=#p_mK$ZN!i%F$y-6nTw3GIyC*z{C)SBAI<> z4J`4_T*HH4r%`1t&ZomA%y2#fVM(55G|Xpk88!0bud2b+Dawn5Vdd{&@rHyeceoTa z>|oBuCR%@3sssD!dBp6M$vgl{O@R3rmb$dXv~@i!v0{F%MXhOZ8N7G}AcNNxmZAW2 zA}oo3awRNv*q150yqtYge*6d5=YBA>cN>OAf`2jdF&OU<&Sz_`HvFkmk^MQtOa1gR zzWNavR%BUiOiev+|5VAd!)Ev~@R6-DPrFzXeasbI{SKqGTkB*R(wd0hf#j>Mw7KYQ7( z0pslvzQf)PrdD*av>i;#EIOQ7t1EH0rRW?7rmdoLF&MK-P}{e6w*46}W^Ey6J(w1L zVbWiH2ZnY}a{{5C(Ao8AKN~-V$&wEX4g}L6Iyf3RbglwZr06UKV^+58?aH}|*F$2S zK&)*!4f(qVn3a-`yItpi>7(RxH<-1e<8IfdU`iF8J+9{UnR4C-dGfj_DSLgvG=q-m zi{KbzY9g4yO00Qc%t}kK#yMj>4Ti>QSga4h#FSV+6O-COC{_=|vQKHPufb2-C6@i~ z)V6M5DwJ3!fHC_Q#Tx5u*Hkbxcf#6rCzvWF)@xwQ&PcI3Ioq`sOhjV2+tqpw);c9t zZ!l)hrC9iwa&KoUN#L3UhUTDYS9|=MJx?D1Qxg)a+vv(kQ*gJs;Aq-~DOT{5%K<-! zj-0G=B5V%)O?MoLa%jMs=eXk_IR9F#&%EQ?>3Uo93_$tpDfv*&#jx0Ous4_zsk3_y z4hB;jQfG=q^@)rRuTLC0b$t4A)Q5CtgNbtu$>7~iUfuZ|MV5zP@%GEKEQKW^maSdq z&nZJ$6Z|tc<;vIZU}()W zaxkXy6zfvNvh%(J46V;$>(Aq08kAVCgE4(dvFL1L50G!c3|C@pcRgMms>C_~j2SHy z3m>iEh&2FAnG$Ovn3YN_nip|pUerLRh<~zgHyinR-uz4^WmybM{2p_cgxcYH*Rp&E zOLbW$lUuW?WlvZdkIiHbvn<14iExIgSQBB11)^U`Ub|-MEVL}|!jcRyKfw~+Ez@hS z8#c9+!cr1oCc{$HI@9YaSm+bS=t-cd#{IC=#L&aYH`~vtUjS1uBAoez7(8F~b&Nih zf!EXKH)5uQFk5>?>VbUBh@!T;htwc2bOH%mkjyAqh0NZr4!4-oa##%qf{7}zE&^lL-t6tF1v6J^*K=ToE3rNXV^;O-v3>_LPl?s> zRy|pQqNvn{Vw2M$(d@1AFibLN19iBy$FU* z_+ew?Q!tfE4S$oCW{muH*=wuM(<>!ssv$k$v=d(dW}(y&g>YPNfSIS% zaILhIV!6*qEpErErNr77%zPzQKQL0~R4hB`31Auq^E|cNO&-+m-nq=!bD5Y+pp)c# z8MlmAo5_%q_Y5qJ_h;Ta{1cWE<-Xtt%Pap5R17B!{~ly7SR!Y0&Rr18?=!x4ILz`o z8J3y{Gj%E~%ayRi7GyH_SeEBtiC}m1^ZBP``4*PCK-+WiGJ%4Ca(h@x0{QfUC4n=C zuRIWzhKDjO=UA32$m{M*<}S;)f1Lz zAm`IyNho7=n&mYYmRO*rkHS)~(8(sz{NGma2yJ2Q8mRRm{LN72&lvt;O zF{^R*Se0Pt$)stQJJyY0mMO97!I%|0d#ra!M~U?#m=#K_UGC+TKYOemU=m8KAz+e9 ztQla;4w60ATrl($G^~b?gITM@N`Nst5ygsPB=~z}YGB}xAHXD)SUcW__eCnP4gzEL zxa_e8fmx%(ii2r}S7U}fx48j~**&wzdK?Tr`wFY!3NQsqte?P`eK~uqo#&%IO00vy zv{zyc0%LZ3ishcmlfiiCi?DXh1=B@|^)wiBa>yR*eK7P4EiBf0FvUu&o&UxsknFJz z22-HKih?OoVod^LPBPhJT??kI5^Eut0ZObl!I%>f#d6QDHDKs@U04m9W0xMP#3}@1 z&RW@H9RsF|5^E%wG9^|u7;}ot9_wB(MM|t!NJoja28=l$W{=ez=LmW>7*@khU}h?@ z`hqbh&+M^Afhkd9T>@sd5~~i3Il)pa`iU6EZ^4vGKJHhK zY=?V`xk^3)Ai-KS)) z;r?I}63aafPXx1GiB$o{+?8aHbv>AsN~|ZqcpbveHXnj9_dD5R{RSqf#ELA$tFx3? z^!z8PJpbtjosx0pKF;-eep;#KfT_pNxBO=p_rntJjTYcvH+>q$>)`8_*O#yq1@1k6 zhovB(yzAdLwH!p2fLAFjjo5ene9B-+DEVAvdHoHRIM!cZ=OtL^6yjS}S(cy467XvM z2rPkC8~{sW;7+{1#f*X_fhQV%teLRXD6OaiQ&5umeA`FvRFl$`GZ6AdUoZ|QspOA+pMedYhaQm-iQQjZ=CC>O&L z)ENj%O`uQ5lO^DFmBq}5B^nrY&%;u!9l(sZO0QsU%A+_41%Q*Ke6zcahBy`Sn31J?Uv<9 zSd#dun6HztEZ@Tt59l<1VpB^;vf!z`uhR#Xf`DbPWvPIrJ`nv1%TfnRG@$b=EU~_s zvA%?*AoVKBh?loje=@?a`bh52^BrF}uALU~%1>+f-5~5IS!aV;BRdhjHr~D#f@!Pl zM8ASDI|#)Z1QFgPe7)VDG*2PS>C62({KLT%DzS!xF}n=K0*n!`=`|BfK28N;vF;=t zCDsdI%>G5OdOBl$3Z|{ZvY*gUZoh-+qr}?tDa5*&##r`t^#MaqA;M0u!@-m)v1WoX zJ8bs;x(iI9#B%r7OJD{ou~vgIyKwe)HGkSXg$V1f{lLVOSOdVA{XKhsO#stZ+U4%A z>%mkgu^yvXsdYYkyZ#BLRARYLu2Nj~m& zodKp+$>)4xM91B(`Ct|(I&Xt1Qrh(!7<2l{-mbl#HFv&dUbx%U7tA6hpYdSmPSfbP z+jT3L21Vx;Fj1vl>%f>ZWcGIL@Eo3gOFr&)9Ry~%l1~&&GcaN8Iv>nRMQ1*kxYDk- zz?hR~_ICXnOhoc=w`+$bcm=7F&p}{%i;la$&H&S>=v)S-MrqgIiAkNGsa@`M<83gs z&WDY|Mlc(dd|E$m*4427Is#1oUg3AycQ@JFbph!}KJIqi4W_S>&p*J>7z-PRjbNgR&Ylf?-$XgnD+%rW^hhv;63gC` z;pD}@3|C@Z3dY=jQ7piYSao2!NG$hx<3%v#O03VonEN=2b)+-apJ0lVSRG%&D#IkEt28PC%=`Z(v$`xR$l~@bFnET4??Rp(dX&{!}r{9B_qr__UGT)z4 zEcg3&x`7$0#EOEMr^K29#@zW*EP7v?opTKs>UUE^_t{sTHntRgVxPCR=JqhM%^g|%xkm?cWA8^M@6dWuDBoqZ4c1{m`kfS3_r z?4S7j0%oS<<6fioTZ&gcDEXWLX0D=hBbXJ64m~BVQ=SsP37y1IeD4|TFRsED!bGxu z^2v|HoXuPdrg2Psl=Kk z413)SONqof06BAB{#W(Fu-7ZFRQKWx$;+RW?EkGW?6vKym^%^+zy31gVy}oW?A0BX zx?+xnx2tDd>~*p*>@^;idg(80td0z43Bz8u!BTPo$8viu5{A8AC!I^!tI!#1wJ_}U z3t7t9%N^^e*O+0ii(#ozyj~TCy|!J39aiz$PZ;*<2TMZn8ZQicT?tFk7;aa`jNbBO zY~3pidp!+Hbvb*{OtDAQd&02Sw`9Q}pmC6w6TzSU#p~BjuVegN%gP4>u$4Os!^#K1 z61y_o>u_P%s~;>y*MxhWDGYm^3rpjyaIZ^*VXqrtNnXWX!QG1I#eKrC*Q2o1T^8>3 zk}&M`7Ayr0jVy*j}Xt>IWSe(e70Aq;yR1xrNn8YB#R zodHX=c+uGKFRtOa!m!s2SYk(ThVJ!wjxg+X2P~1p*~`5bJR%HxJx4mSss}$;mNR@; z820)XEG3fRc7CJq6?^?p81~A06J8R_-L7`Ru-AUD#FTa&Aq;z+2uqRd1@3l@5{A8| z!cwiYYql`#bt^1U@p4!GVPV+o8L~(<++Obp!(N}mQYY=&-dXvdg<-E2%dx79mpfKR zVc4rXS)^TbkLF+8%ca7w*Xgh{NG$hBrd$~InhHzfVLW;}ArMFKzq(u)_PPO8hJuM5LoAHtHD!Wp{f@;YJI>rYtX5-W}fewN(AUEgAcz4nDA zIe}w!b7t5_81_1mbd+kugki5qq$3&n*-=o=@G@c8>ju)16PnxWQDNBYHCQ5jxLwa@ zMDSyME)0A92bQFG1)mjghArM^hQ0QHrBT{d~#_>C5qQ1Vc6>$SQ0%lV{u-djKhV(u-9v_L}VPg`|E3A*y~SN8s*H7 zkM(i1E0SP_y$**ZE*ZMV;c#KtYX&S063g9Rw+h2vkHJzcvE2Rjjxg-?4J;+HicWF1 ztJS;Au-AdGG#tv6cYB>G40}x_9q~FJvF!euCk%T%O*)bxRl~p7|6^g;>t|SMdUJ+l zaIwc>`+qXSUWda{BwlAZy<)ONuE>m^t`sRlhq@-O!PQW*C7 z6Bha%)zljEx_7%>?cQUCy$*yWc{F=n3SWQy;3oodyIvHAy*`1ZA&?~$tAN%1P+FsZ*e*44tW*AuYRiI?A3XE@WDVL}-8 z`W}{oYW6zO>D6o{Gwih+EOioV6uh`K{#S`4pM%&nj0?kFm%x&gr)np| z%kJe{g<-D;NJsh$AEoQ?dQKSjdL5Sf8@L)Hon9Xa!(Ly)QXu{1j`g!J?6u8D$Z!J3 zs&K|?D-3&eBFlNd3@?F~ zy#mY=hQ02CrDQ65?S?L!0oZ|qcH5X^T(K9l^p9hc-iCd zKw;SHXjlp)!!GdRy!@|*3d3IGVTnxRSoAsMc7}6>VXtRkX{cc@cdR#sVXqHiNls_4 zY6SA{&pFpdVc0A06O4H!!&8M}uRCFhS8=QX&KfQjhP~b*9m&vr?)^#__WBu?n8b3Q zu?to)!(RKqQY~YHKE2$oe0O2k>j+pHq#7}J*`s%cFzod(EJfl)_YU@mdPx}edKZ?6 zRO1q-SIbYCVXvcMsh`P}pX2nZ7KXi^fu%uecrU#C^9_%UgfQ&&FIWxoi+Si z820)RmY6&#)RSo!@mMi z81`zFM9$(xCokLU5MkKsWLRp%%l*7JE)08J1xtaP4=WJM9#IR0VXxO=@#N$%+UfPV zFzodMEXg?6@H(g0w*O*=z1qPNy^+1#)#xe=dmRc(d@_4If>`8fE^gte!m!skSUkya z1#sKzVqw_p23TT}p?gnxS{U~F5SE0Th}?V1I$_xBPgo*TxLxj8`+va^0o!^|mnV^(pCG#$Knx z%bqF!6NbIE{SsqCs^LC;?IsL+b%Z5W&9QDmtbF`$E*??6gki7aVJVQ4xx2s0gki4> zU}==O96=DfU3Uw^UeCi)bU9~8=Xu*JAq;zc3QJtP`Z~RS7KXjHUyWVw8jj`m>Ld(% z9STcayxbWM5Qe?ZfTdARU+&eWLKyZs50;pmD&1Z;2*Y0Y!4j7p)*tUEi^skEx-jhZ zE$Jv;JATCsdmRKzL05V=96edO2Y=dUfC^#Q>ps#skiF)@t2zER7iajHFzmJS*EnxT zESk%<*Fa&|>oQp4*K;pF055wzyjK|ZdJdMNtHQlL7KXikgr(uSaIc-eVTQd9gr$0R zxYtR-u-7uzV|rwPMePr~BOVK4Vnk%Tbp^%X1)mxp_K-!a2pyTB5aShV)~vxTd9Z4*H%M_L>As z^@SX(CCWxSgt@qeR|~^lcf(S1F?;O}++OFO6^6aufu&x&g0F<t38EbuY+Ns-+*XVHup2VDZ;SV-(jKOiD9L)I@+1xcwyM< zK3Ga5R`B(!+`_MgVXuAG;mjtn++JgaVXymOiD|KfVXu9DfR_?$k}&M`BrMeu%U#13 zjm)su>99nv=E}Qk7#D`UE`z0DR=8KKFzodxS@vZw_kBvEFzj`}f3O~Q4)>ZM40}BY zOZ|NEV#}MbMDESB{12Au!REQbrk_X6&l-05FV+NM{Bs`$n>>%`0j4H|+1j7;R*HNU z;?=XX&*$a%Ycu7{BRmEs35Is{O+Sa6nJO^!O6D+~8Zc`WodsYPDLOBL*`Vlr0A{hG z(+H+nB)nbQ{b*h_9oDYB!4!n(@Vk`@@bXt0D|tDKXz{YH!=Te3IS0oN*Let-_L1K|FW2IGex`A1#=$rs%fTA-N z%qm6aQZPdmox8x$ya;R8vtY^;oe#jQR&@6KAJ!H{rwq&*MQ0(HnTpPOFf>oY+O^wH zc-NSsa~POLMP~$yMPOPgIwydkH8ZR}XM$;~=v08|t>|0`rclwj z4on|K=N>Rciq0Z1C5p})6id-bg6XU1tOrx7=;Z$bM$y>|%wR>QCm7mO!usn(Ffm0Z z1}3WL%m7oN=v)V8u%dGxm?}kQF&Nt8!rGMpGfUA~17^6Q^9Pt3MW@ZLsG*{>ADCK2 z=SVPRiq2_Z7AQIuV9FJp%fT#CbnXIEq3Apfra{q3fT1%$Sbu#DX1SuX5lp3`v%_yV zYbiPrFjb=CURS$=S*_?C2c}wd+~>^UU>X&jDPU$PI#+_(sOZ#!p|ed`ofm=0-#dK2 zSPo{6=(y{%8cZ8SXCs)oqT{Yl>y6ke6`d|%<|#Tyg6XR03CIdF7_Rc^^zv(OCy(vFNz#yzTE;>lB>`m?fe^uYB+?&Zjq+az!T! zW?6*Cp<8Dxm`X)wCYTkX<9;RKEnun@oq8~<6`eQ0%u#e!gIO;+?sokSW}c$6>mRwP zGh5g^JrK-%MW-*AW>^!9j=MhNz|<=`SA%Jz==>eb5=AEgrclxOFPLSDPMbe*&J-PY zor}S&P;>@^DG?oaeWrs+DmwGPL`BCvzn%rNR?%4nhR$rJzufKm9n1zrrvskG(3vf4 z{2T$M**@Xx{BSU3qT{a5Wnc;vorl0wDmw3iX|L#P05eO`>5!A>by0Nsf|)Bi?*1wV zQ>^IB0W(i@-1T`JOo^hi5)7T$!sh88U7ae!M&jd49(YXao zGtA|%et#THouczL7&>bi9e16-2eVMo$#0gII%|dX`~F}SD>?(f6iPns`85g5Qbp%R zFkKX#C&45Xot0qd>=)Lq-@vR=bUJL4=M^bB$AVd-=#+ygR&?fpS+D3U14C!guy(Bh z;}wRl^ZCv5ygs7iKF@ap(^AnH42I6MCLj8A6#vRie>n+ETSez;FvCU1ozDYc3KgBD zV9G?NnV$^4;(R^=Q>5su14Cz8(=K;D&9+4i6`kF|#6`zFPfrC?s_4uCGgHx724=9L z(<~oro#?pNvCd#(icTpQI@5;LXB3zUMQ0|MI?-|Ga}Ss*Mdwv8bfyi<=QA*~6rG>I zELL<{waD{o6rDma4T{d8U}_befnext9M-N8U=}DkaWDx*=W;NM6rJ0_tWF=CeZB`%uIMytg*`=d-0kWBrc%-A4W>+V-1+neQ?2L>14H*9VdL;-Fmn{0 z1Q@yp3Dfxo%sfTs4=}Su$31=y+ab@Jujot%Gf&ZZ3QWDC^Anf_ip~x@=6OpLoz7tB z-XW|$CxTg~=)}P+RdntEvqI5%6%5@wn0(xI{v1qF(b+(ZqO(&$p0`%f*&j@!qSFt| z21O?ZhR*z9?YaO=v(Dk`{4HP#6rH8SC_4WI6H#;`J7F(SbOwTwP5Jp z!RWZ>#gkyl6rHz;5uIkv{`vw;T+#UnOu6W|^Vw-hj z?si=cX0D>M5X>CWargUDFm;N~Dlqdz$DL1p8$AC}bc(^yJxFu(lzBa*-(|V!FOLVa zSkV~W22Bt0c6hEIF>3CMW6iiD+ zrw&XP(P<_c^abm@La`K`@4(Pm-Q?r$uRp*PDmtxq#Tu^Y90;aJ(J2MfN6{HgjG}W9 z7&`NZwd+POrHan|Uoo~Rz6di9jtn;Gd?)QDcR46(F!O*>f zsgGM{8kj0Yr0M-M$xGO(;)fm=hRsardH9( zZ)eVsCLi~@(FM!`MW+ zxjWVkMQ0G0m5R=dVEQOJ?}J&b=(OF#oY_pf-1GEOFpY}NS}=5GGdk`%cW;kARdmh= zQ!YC0b@di7`CY>Ii^svxna$+m)_EID8%5_kFjb0r8Pc@NJ$?@CfagDoP9>On(dp`3 z$7;ZoD>@6o&{@mmlMfyL;&Z|>FqMkVYA~x6o!q@JHWZx*n6;wguFv6M<|sNtz-$y9 z_x?2x%sfTsV=#1P3#(822%i5aI%k8)7ae!I?gmq@=p@0=na$+mZdYMPJpWO2%E7c( zbQXeHrsy<+i6}b7d*k_!qEiKi&X8g4dId~U(P_O8&b^|O?+<2t#p8J#n6-+|5-@ZY zHTk&rix0qTP;?r>&{;H0XS+f?|G`mY8{}y2^)Tkr7w23EhR&j4^%)DMK+#zMW`Lse zJ(%{2PPa}NtEu-ha?bv_j&mOZCYmJ{GZ%yDk|h>13&5CnN@kC>5)7TOUG-s|7M*bq zqQtrZAJJ5RqEp@Ta%lY6?b->`uJK&_dy1h?#R>4eFfYQ=5O^PJ5|*L>(_%kVrY}d|n(sE{cR?nwA)4N)a@M{G8JgaqUOpC;=6RMX zdg_le!3>oV64uhx4R3QA3dkCKHDzWwlW7cqrMduK^ZD)Wflvs8y6z?i9 z2_@DuV9f47vHHV{;svj-!E{k#wdsyK7bO<$)Fl;&1Npoh_fCBbbZTnTyOrJSRAR$2 znUrM;EG2jF9!I7ZElbN{%-q{EnSCwGF|Z^9I%ipyDp>08%+$GwESz&HpNB2WKVYf3 zEz|2$%kncU3DMb_J2fS}QxC2@^-l0L(y2z_kAuL_vjQ{1-J@4~2Ogv8<#NEE+@!;HE^xG90Z%b{b&2IWJauWq;PDlmPNd>#hl z;jyag-hl(Y1;&iA>}_8Mrc`24U)WQjpckGoDzOd$W5z1Q3VtpP=W{9;dcNVWT6U~y zVA?9NZlzeM(Mz$~IdgszOoha+mb#{`eESTh6%A zqbH0UKe5|rZc^&+rx7cORCBzD^S2hpyA`E4+M`nUR;lk^hu2;orM*&?PhcrI6z#@$ zo8Eu%jNJgH4*$L_G2Vy~l#b`!DmwN$_BqJy@V|d`D;rrk65mQbj(fdsqo&da_WH4M z?D5mB$_UMpz9{sAq`&GGH%zJY1u-owj`||mgud7yeKB!l<F2>vP67pb-fIc|GB%&9s%bjX8pE}FpoW$&;&esb|y7H0g+7++B~dgPR{Ez6lk zk;xf>H@P+^=jtZp+){ELF>%a{36sjkY+24F$kXJ!Ny7Nn&e?7kc~PAcO~|=ea;~hH zI(1sy&)CCEsVW{umDw@30u$ zvgVUsqZY^-74d_lzv4BjB4mv+`3yL=cOaJE?pu)bLt&0Rnl!_8jvZDI!jM1pdqWdyI7(_bVa${%exH*D zHvGzRSWOKh&hv&nHul2k2%eKRXKW-9H`_kQXa1zjxC$s><@Rib-B0ju;z1xXABQd^=^#)G?JNXZO5dL>SqH{g%=k4_@5Mw4-Uea1ug8w?a(+^Bj!zvkt!&bPQ^o{_=OD~nlXJwm>tT5uF?G!7sf~!4>I(|)oei%I z0n0gb9!s?yIw__amJy$uHNjYJhox6C)AArJ7X>WOz>>c@y^^GK-h*W$zVf4g221o% z?l0-rLGMOq)7pN_s2w7XhyiYDlH^D}Mqk_1rsF z8%zQ*FuQ-nJ;-%7UdSnDE-)mRacxeWB_G!bHofxq*^k!*I?xIXTDRMth!fZAm|M^m8WCz9{GFCgj{H!a2ur zI2@f>=9K8+Xhn6Z&hB-Cpn+gEGL!N;3znO|=dntrDX^TmHq&xFEDr}P55V$U!163C z5BxjR>kU{w30S^?WxzUS>^lD)m1vR5ivQqw5raXib4|$D;CWFa^P+-7$lp9KqB1Xt z*+c%Fzo7m~G@-u^k8ppD9eM5;_V)j7(Z`IsRxst|bitqYKDbMo*&)Taf3mhunxWtG zke4$Ye{S;hDSb9B`hhA>%pv$Qc>Ps%Ce?$|`LxE@c{zC0>9~$cGc8jLtv~kM7?@^u zN-^g-R6OsDG*ggbN-Z6p?}H-T7Zu}2;RhdwIM%4R)W;6BW%WT&$3^{4y>0sa33Qvg z->J7vztd|)?2Bs1D|cQ_1c1FL(%7I8Va5j4hfb5hi~5Ut$@EtYr;aJlD77~hu}qyK(1Doax)e+z)fZUDQvY5cXbECr3c+K|wDutWluf5B1|u>1&1Nx+hG1kPgtOGj8@0ZVUK;sMJLSn2|n z39!@$EVE!~2v}~1CHddXoF9WF@?)l@0hUC-@-Zxp0m~2MwLa5p+au8~vGCgKkNM*< z2zL(j#^#Lqdh})LKE=_ey!LLCwRdhH4t>LG?-E&iSHp@M$W5*pSTM{;pm9j6hrMoG z0W&>$qgj>bxF00RTfo$H<+G@L55i~KdO6eD_cEkIbNLfYE;ERLBQmDX^IP=NoD z4;qEe%eZ)Lc_G4U%a{q%aMa9PR|r28ZEyIW8S~lJmQpYUKc$&ejKQ!h}fz}j*lEYY-1t~Y7o=rQzTahU}vog2X{4(Qwk%M}5g#iX-==PA!h(+aA_^BCT^ z)ycTFY*t1x6wH@AE9+#Y(4G{$cvdc!nSw?-?i6TNn)*=AG(O$4a+$;`3Tn(($qOci9 z^UTb+htf3u%D8C8Ekr(M#=VDFG_Qge&A69fGBb`^XJ0hqR-?3L#$AZ9WnZ*YH#A|! zMUjP>ai!3q7Wx;@xI~0!+|n@Z2 zIc(x!#DTmyQTuV|D<1P}WgG_Eonq2YD!c=EcS!YqPzc{qoeNL_6D#|j=Eo7Pp?PY} z&-qfZ(kJuAUuXrOoXHxz?D`<^CKulwht-E%DCbxca{ew7%y~L~*f4%#?p>4qlsY0D<`X?+vw^J|3bGd4cDV&v4R z3cnum0-#G{ectoQSfI`L<1{k2lTqq-!_lbz}RE zT%W1q$4wkHe$z)4KcGIzkou&(d`5o0W4x$h_GsgV7czkOlAr!J7LQD%9p@$VDn7NTv*D*GB!Rw^~yn+@2L#$1#=f(EadAv z21{eW(g4db`I*cousqlz)3O1UUAN1$v@XGWq_)qr>OEu z4a;>qWipds8M$+&<#Jg1w9T~4gXOe#nU;rOd3<+c$(8YJ`jp1=b+|hUp1|z!Oedn? z)s&T=SIG7A7djq*yE!D|asO5Qp9Wmff1=tK|Wk&q7=UyM)x?QpLX$4xv{*StpVZC&g4NgtZ70G?~ocgOX!`AY9ulAQuhw2RL+H^2sQ96Rj@RqE9N?jlH1i_ z4mmpA7b%^&u$*&DriJ?Jv4DkU+}C0mJ7vt6it$q`O9IjB;8ho}EQCeId@9ycu>6$P zG2QnMSbFv4UMA=rSY8fTK82;RUncVnEIp57OS}he7ID>WpIMFnf*Fn*!_?aA#fy5R z_HG*K6xpnnImh5EaRM`>u>&mkpO|TB3(NEYnU;NEnKUrdav&_f49c|hg5|-J*}|jO z^bU>Qy>XKqJpb9Fw+-^~R~yQX_evQFIm?1mo0#-#7#7LsT}rNji%0J=8NJK#?^q5p zF5W9kig^X-9ZV+8(g;sBVT3;{Biz5^sK{8`k442Axnhn;TtmZ94X@0|)_ln|tjD*h zUUuoE@5mZ>w78gb4XbdL(9X|u58_>~C87p*Vakf?Q#6BXn0*ypBJ~+Rb>hh2ds;?} zNZGvVQ_>^Kk+UK2G=mvAp&1KREVwUGc7JunW;LN=bxo*PbrUM~RSGwHPv8H~>$9K< z^;z14`ox=1pWmfE)98g?{7?Vw!!svPBYXS=Pv!*kKG>8sd{GnX zlW0PH8k$g_R(tdPV5&Y-%`-={$)&&XN(Srm%P>@*v$EEw0smt5xc_(cX=p-yRyCnM z1^8i`xl78v$L$%cPx_gxsSiJ(t!qMk3`6xfHEVqme^GswH=#ajnoyru6Y8^{)Cc<) zy|fq#G{&etDJbv<&#xq`X8aVSzw$AAei36| zbhfE)Lc30tcG0{THFD~h5qJYtd?YKz(F&7uBOp{wR7bYM@|?6MPFxZW%;y;=VCVbvC^%GaVuPvH*efby$0CyAVfF0 ztd_cTOiK^J17Opx)F)sB?`6`}u-l$lpLE-=328fz%&pk2;wbl*>ox!BUS7Jx2=6?&987^h^Ed=`nv>$e8E(?)MlVFScU4ic7e^vd`rn3%HlF zGriXH*vJXKf{CWS)vnE&ar0T3=W>ry&WA0=@FSeq`t?2ny^y94P^;;Bui50!die6wvkNVNmtIgLTs|~NTE2Rf{r7iJe zrRPoqw_+=-v~*{tX#R`kVI^r#iRvlTtD zMbZ0O(HpGjL#^mNt>`PaD0-=(DZpi>>J1&@H)tk6F<-SkY^& z=r3E*^S3B^nHAmR)sNSo;(1o|KHFsMXzAUm zh+DB0&Ni!>aJKPt=Ce&k&gr)Q9MX2a+uDllDo${JWk0v{=*_*Ho#|E0VU z+N{&X(zbF+Nk28B4~q-jGZxRo)6#&YXFVRPrY-5w(wj%iW<_6SMbEdQ*IChDu%ef2 zQS{|j^a3mT0xSA*D|+b`MPFe>k66(cThZ5A(W6@weWew>ixs`WivE)oedrcNUu8uv zvZ61uq8IGE>8OisQS_u0y|)!TVMXs^MK9l?=&P;hC06v6R`esS=gD|&$yeTfylZi}Kfv!Yj9(c4w8 zud|}}wxZ`-C+ckqvp+H86SaRv;uE#!$4Z}(65NWdaH3w;gcG%&GoPq4a!#M9dxo@~ zPt;qnUBxBbU)fK~Jr;1~vopQg^4JLZIjpp6v(B`0td%x_S6Bzm&&B1|E_0D}vRcWb zWwWB!SkYHn(c@P1*;e%A7Db6(-Z5sSo>D9(NBmL}aE37t)ny}jVIrD0hk#oB3v5>a& zYO@vFRb0b$&c2fL*ua&~&h)C|u@SP`NV_&`z7J<*Iaw{>eArT4!mVIS&k}#srAJFX zkCy+3xi^82;fN zn(=6~(sDR5n8XAyG6ZmdfVfRe5(PWp1QG;sz=TT>6E;9V+zzL>O}PHw>guYl*VR3m zsn@Ig=aZP#x2xX!zE`h~?yj!alJ;>+`--J~z|uYzY7g3dra`-_88);+#k^r@U`3m< zVhdt^xrvw$IjfjAI0v@Bpn>fw=C{zU?wo3`bjL= z70TYV_c@=e`92Iqjt|02#w=n8n(nQpSoK@5roP((QU<2D# z)NP?%-FsDgB}de*W!1{bW%leD% z-L9ggCGF>0+N+lK^DXTcgfSn)YKN2d^DXTQmi9JF`@<~ld!4jjU};~pv~RPt|Bj`- z$4PserTqp=d%LB5d#F9=acdWEzOD=7M~yZ{j0G*2Q&w!j9JkQKXcKZ)qm98iu>Cs? zY*(Yr7TVRlUA0&8NV025wQ_QqJr}CjXfVfVyISh+YZvKpBX}>9Q+(9e(tQuMSCjk7 z-Cwjuo1-dPTGD>ErTwU-eZ$iJoltww?*H4M-PH^mTA^azur!GIab?98#Qa1PF&}bP zF>i1VY=6|_lKZ=g`7N}o`(D*v$??2vT(xp?nLVdfY@7uHBR|WomZI);O0tUZT^)*# zLb~r#Rw!im?P1gf(K4x`r6ujlmiE1t_BBiUotE~hllHe*+IuYRr!DPwhuVXv`-28i zr+QrIL)GI9KL=+SR?T+AFy??HW+6oLpwl zEh;w7dVHk6g*zLyT`k4@q>`+9)2{OsABA);D=QST`^GTpf@rxxMN3QCr!4JlmiAjL z?XR-5FF9$iTH3c++E*;?%a-<=owV02?d_KKJ1p&g9cm9^zStn4xi9b9t~{SyX3v6(jRsE(wOuXs zxE>{0_2pe_SU{3BWcQ@9LY3M5urTU^Xt_m2OH10HVrjq2(mrl!KiAT};-tO9(!OG8 zAF#B40-r4h{t0Zq!%6%3miBQ=`@LstU2@I8`w^D*RVVG|TH23V+BYoi7g*Zwa?+l$ zwC61C_gLD0_#o|#!1HTP+JA}D)Pfca?xY4R?dz8IFIw79J88ei(%x=qzr)hLU};}> z(*7|^`#m`9i+H1Z(b9hJ19h3e^Y=Juzthrw+R|RNwBKcE-*D2tY-wMzv~RbxUubE+ z*Gc>JmiD8T_6^Lnq%C$oAD_+#NZ|R*6)rp2pKEC!u(YpR+K-0XgBkYwdWOYe^Q8rH zl7v`_UV#$>+I)uXu_r}{GF6m0pvnj!vk2r~g1i_=4-(Relh!Z<}&`JdGfSfm}(D3XoS4 zSSr`Kt_1PwxBwhp$8}Q;6p8x`Iw@ z(WwhT)D>`>BfkYkQnOOQ$dN4N^}-v~z#DPrlZaA>Q0BC<%db`d@&$ri17w{bFA$R9 zDG_lp4wrx|5adljzD8=@2IL-s+zDiZAfEtoFF{TNS=5rt6GJ!;5o#|mPawPpWzHwa z4}r81@6DD#Eki#W2GXD(7 z+XF<_dJ~X;IAPX$Kai)EO=Jy7=_(Uh2lD)@P2>kaUPO>{4xE$u;*?qDw}5OXmi{h~ z`=SZONFv9LE+CK4h{#gmRgPWNL25k>Wp2=IAsloN$mfDu(ynI!`B$X+5RxTwHIR?i zOyoKsXV03*D}a1IKqQ~P2l8uzd=SW+>L%y^1kyfdA{#(nNstF(v6?+;micWUbMq#$ z1IS~ZZ6duu{+b|%f%HAcEK>&Zz2}<9Jdpb%)k5gi8-VO3$m@Z8^IBO(`sZCh-i#0r zYrP-He-LC1Nai}T%vXTyCCHC}lnC;GLG&GhJQm2S3DN=NvKN?=4*=O9$TNXlalKjQ z8X*5fkn4fG^@V1cR{+`n=O(fYY^b^h=o z%8b9xx3xCD*tJp$unh_3C+)$+<5+I<$WPC>~#cvsj}N$~yn)@-8`Zo^w_ok)i$&Yk=h@)&M8<8X*2O z3HVi<)DmT>l>)`?*#b?kRxw2 z%ba)UoXlh2WFn6Q@+SllYXI#-U-C|r`D#!`&bhrneoByoKyFs8qgg2juAlc>|DZHKHP1wyB8lod~C+zL(U0 z>6 zbJQ4h(7LWpr2hxq3ude38M`0+Gd#AcJZ73^5mUJn>K zC-WSQsJ4*0gk4{^IR|Gtp)+kd+T@xTZEo4AMw`91t{^ki#k-ZC#eE(gS4Dop&r41C zd0qRtSedcz^fDQ7ueTC-BW`RFYQ+ek?aCalNGeB_rT(9fhF90LR|T{K$YX9ZJuk)t z?L)uTB`C8Il#zY#=|CoKH)|DvyqF-TfV_(!uLSZ9g8UtjZU11(`3R7w66C8uE`GOJ z<~Km91bHx~^sDbM%RC;)Iqx-*Cj*$nFoDa=s1Z_J3DpRD{b`77_ky?5a88`(OP>jW)V<;@+MF zPcw8R#ALlxBgwjs@Lwtw`hV3(GOi>1LTe;Zqt-gg2)l6_zpiioL-d06CVIige@{K} zm@Q70>~8QYcx>gPfe#Z#n+q?+QwUYYC-DbB+COG`em{^BK?*?rnjp^u@>PQTC6M3x zxN0vU`t3k&4G=jK{WFj!e8SZAA3#PwX(HbM@*9Hu9LV?AR2dx!z7@i&;~2_uc$4u{ zk+9OlSU0XlfEbUdNcaL)O=9hK&RI7YTI4@fB-Hn)v2F<$F1E^vR_=JNiiDUsC3u$G z_9o0ImvmiARk`%z2# zx3Cxp_yo4MJ8AE>wBKQAN7qogg12U0u(WS?(*B2*_FF9NJ(l(lTG~6Dv~RbxFI(F8 zTH4=bY2WLl{gIaT8!YYZmi7fpdykX$ZI<>$OZzrU`-G)^z)Aasmi7fpdz+>G>6Z4K zllC@Cd)3l@zNP)imiD7g+V8dA9Q9b*Ph-dj7>+-?KViME9Cy7;$b(%xZdzsu78dP{rNN&9y!?b|KwtCsdZx3n)fY5#(y{d`ONvZej0mi9#_?WZm6 zBEax}VT^U(Y-#VXwBO*Q{Vq%Uy7jhn!P5RU>rL^JllE0h`ZOZ$MOeZtbd;-vkZmiAjL?LC(E zr(4?ZaMJ!dOZyF$_I6AAFT))I!MbkMN&C%~_C-tkHcR_AEbVtWY5xmL`+}vt&C>p9 zOZ%FW_9aVu)zW^xrTu-D_R~(A!FZ@08>IBB1V9LPh~%`(3aWSk&>1mqtHG6dwezHHWdCXj0gG7aS81bH5i z?ys1&mVmsIAa4fpq_3J~{sGA62=ZYdulkx<=JP<>zHTDl2l7&aoP8KMTfbqJ`7Iz{ zBgn--p8id<%uXP;5u_K$!!gvJl~Ma-Mu0q@Amc#3MUZQN9R44()^$L>Pmr5{yyjbG znKuDB_uD3N8;}`-{40>35ad6Ayx==#t*-+)@4F`QGaxS}$ODd`y}oajc{GsU|DlO= z0eK%mvOq?EWR|%C$OnI7A{8Kq?lqA`Anzi`O+bG8=VqC=0IB`LMBW4Bd%rS~j{ter zuTA9hKt4^7?*ln{*4ajTopTv>I-P4G+kpHXL7oVtaGqJFAILB6Ya-78^4|NKNCn8# z9$+Fb0CFcmUJc|||4)@sPj2PNkGr7<`EoePAj@yY5ya&-wlBo!vj(Yk%c8T&KCi=)v`S8boq{Fsq{VE;xF{*h&b?IQD|@Iv@g@gr8bY4~TV3IANsgnz1y z{1e=1<{m8ij_{+hVqIC$;O)t>I_FKjE7{e9UAQ7D!nY@<(R>8ieLh|~1xTR%sFU_F zOZ&Pyn@;iRUa++P#f4Gr<4)QqE$!!9wl7=S@3yp0I%$8drM<(_ewU?PyzZl(uR3X8 z!#iZsrn|OTo?pSpPRi{59QL_T?F&xY@3FKGSlZVu?L*eNmy1r?ueY?Xs;>@p)LEyo z?Y`2o{RSuPH(1*5vb2v|w%0A~OHSG+thXn|cca1E(wi}f(RRN+d|Mif#&>L2_qoMW zC#K6YC!UD3qhhmZ@cSTUEAfLN!JN1TWT_W-fSGoTz5Ye=A2q)(E4$*#1Uq^3$QDVY<1D-a-nPj&--a?P zzJG)+;eXpWvDR8`Fc)~M!f9uccPx1nX1g3xN5qZQL!rLyGKFS_yO5664?nv z^#X|u18EyF%RCcEPoIfgFXW7x$Qyuc{IQAri$H>rO-fz^(jLUTM7{`Qkw`x8a_E8+ zgdb#?Z9v+tH6`x>GJctPU$76z(wJFh7|1FdDP%}F9+38 z1W$ydoX-HMVihmqTp~XZ2o|Lw@@pV6w@!Od=AtXG$|e5U14Ny8Eamh884LPpz!}I| z-jw_tAmV$O&_6E)qRxDfwU&V__nWoe3q<_Hby?=$fvg5mCz1aWa)`(70n)bLl=B-P zYq+_P+G~ZG32zq9oBXy=k{|O7wEGoitxJI14$UFwNg(6+GerIbNc*5!YYE6Y`i|%g zlHognv<;YLJ_TfnwBYxEtR6DU-1kcGA+@#v$>q#4PXMy4Tc=hko`lj&2hl!&GHp*Y zYn6diNn6YVX}{bovkYYE=_c||KvoW#$X!6xTp%s|PauoX9!AtRfvjV+36c9f6S{B@ z5+c6`BtxQQFOZ(gRGHa&tyHU3YVy?R_Q0z-l&KPrO#tbDH^OHi&l6=x&;4^C%Op15 z1f+*>z75D~FuzN??gTPEtoR5Ye+h^>U0Igd0J5}CmC2Xt*^{N2`aPsA9`>wrG6Mu@ z2hyQy3CWiMSt9wvVA z{`D##IXt+ zw4D_ZcGQ@{36t#%QUI%2H%zCRp776lSK$b~+{Rl{o$jKZ-KlLM1wbune#)*F( z3uKXu61#yc5u{&~*{3|_6=fRv0UggLN?0jkWUZ23FpgS1x|Z{JO) zi)3cZ_8_8Ofii1kRKFESJDHb11VqIAZ+@ff`XZ1;Em`RLF%YqA3d{VzBIFRe9s{I} zFf0K1@x#pse;JT*GD>_1i1=Zk2snQMi1;Ek>=)nk%d{KX&ze9Sl4xlMB37Uw!>0gQ zA+{d^682o7)dMo1$0)xqPh>JZxFUPEDDxaq>wxmJKwb(YLy$KCStJquVIb#g$)eU* zfaLTT<<+NV#ph?jN>mJN|24|==m__``m;r%_9|J$U08yD$b8xkWQnW_b^=jnyqqnR zXL^A2ka1%e$oYh`C(87gmYxK%4YfmW+yJCXMw?dv$&oShEkHs)A4foA`I9+cM>zh- z+>SDBWK{pOkW8ZPn?TeKE@{QRqL!YCgq&^15ecN$6M(2aFtXNDfh?1C_$UySxki@p zL>Uq-RUlQePPiUO8}Z@mfUFSh?*<}%vQ1%nQT!#Jfv8^j0hG!0n123zP%Di29|?ra zR_B~Re}9%)Ya5Vls1nwCA`r126CBRYV5TlsPh~RlG=8Q1k5MK^qUA7wT z0@3~5o13avFb}G`Z0W;4M;ZB~OX+$ukRAk2$Z!Qn|07J~BS3P*uKxxyPR6JQOoAa< zr929V+PfmPcL7-=GtogH>m^G?1vuP3uKXu zB$onNB5Ulcfvg@e`78>Ac!iQ00NEhz{y`uedgU-(n8K$^nao~d`LjV=q)>ZUxd#=I-|iq|dbCzk%dP@BUvPN6FZG->Wf7kTvavK<*)a zel!sAlaV0)^+X^WI>K?sQLoHRWtNDa^C+{b{Ud5k16d@T{}f0YL0%;!6aW0ZK*)Xf zU82^trlsEok|B}s3n1#eCfODbnZlj{V*Bp`X(zVt1VYyd2Z7v0yio?S*kfwH7RVBb z@SA|Fke>TiAmc>NzXQ1wUJ1SWH6RNl>b?&Is*H#_cN&~YM704qP3;1*LA?58Am{t{ zdQujqe<16mj0YsQ&$R1LfOHVfuK}_;uFA~f``A)FlW8aO>8&VpFX8-tA&2y@(?HY- z`LcEHGXwvS_<1OhHWKsOfvk~Hs~5<}peyv@6+o8z6hmCfJO{{%9uoxeGEqj)G6H!U zkT(5fKp-Cg(oWXcUjd>{?vk8;17zbq=2&-O1?@#z=W#%8CdeKj88X&Q09hsXO>+Y2 zR#qH8J~cNx2~uPQvWPNmq^GGubk7xKz6eB&S`g*OStj$~ zDr_fm9uFi#`rwlVLj02lvP|M|9LOT6H3j4-^dQIsUDpCx)AKUm%&P@*rD??~koE&6 zayO8BNRRtIkQK7By8kt(^(?d2?*I|)9zOAS5|F*5UpxiK8i|%sAUBX&1t1+{#6AgR z)i0y$dNGirq;>uZNDqplpieL!)Z4W77fCz8K{GF7rp_&Jcfh&L{%L5?1O z3dbrnbkoc&Bz~TVGC9(lE(5Ym?ryFF(nGxZmq6CY81*(FlVtt;Pe7`q)+d47tbI5( zHQOs@=Ix|kd>LgnNGtyU2#uDrX5ldsnZFBUg|tNnkSbYS3<7D_{_(ttsVNT*#4o(t zdIri+qzYs&@z`^KtdYL+S|In35#U`wRfUN9QQHO$=?*UP7ie;@|0BIwB zzF-b=$cX(2Ad7lFEfkBTD#C7(MDKQ#sgjX)07%EvP3_MTa&+_xKGQ(96WbR>EfNV! zK$cN99LL@Vq@DDy(?B+erS}3^BO~PfPofr?cP<99Laew1h|1k5{gV~7NP9g4$QrrZ zx*Ev(KGV`y0-@`TTZJ50A*4#l{|aP<$XNrjjE*59R+jmxs71Vb!92>4(dIEg+R6C5 zLzLNOddw3D@#?ie)-N-4y$nbP@y{(lGJ4!72CMGvBsT6unH-6qyG1Rs!v7YKarim3 z>lZ+lcbLd|3+Qp=dBUTB>?I?~lYr!irB4CUPPC5!S<$fyM`mV#w2|I@J&-EtDX#%C zPFnDNK*TvYVbt9PBu7Tb{{phnV_NZZAm?Jt3~N2^6!;u4%j^Y`yTU{c0Xa=#^-58O zMBVd&tUlAM^>;uvbn6I9KLccq%-#0@Stp!-0%Vc&lm|Z>{<+qa{3IZ2Bog)k+0f&> z&~+)0b<(EO0wFPWBakYIgf{?L>oIk`8_4Q;=6j+q0vRWFH$N0epIPgH&q1^hyB-Oo zO6=MTq(`qnj+NzGZV`uQprC(cQD%d*`w1Z8fQ>L#UkGH4Ag=_nLR#nDKo&@>egw#K zA7MtqSApcn?D;DoRnnIq^jt&&nRgx!ME=?{XP<>m?XwS{;D4TqGF8305a1CYIda!O z0c2UP`SVkyQWfP+6K~9-%mx{suLshhBg!jQ@QP)kw1%1(v;!Z$0c93R9DWqY3PFAb zWF14A7}do8kb?qYU;a9f9Etg#0+}Rnc>inBUSwQt2XYUIjZPprV#TFE z7QiLc^*kUw&>nj1CLr5MnOlLZlE}Oh$O;)-J}2bpJ}92NP1dk>A?u&-h+1Steb%4I zc_;MGLx3!jk#;+fDn>{d33x_b7JC>3LpUU8s z-U>vB4gK>jAmYw0WcYp{9YpfyfGm@K`ZFLG2kc~QJZLfcB>B-mGNc#u0O=v|lLxZs z_nr2@(uzPxUw$!=wjR@p+kjMcZvu_X$ABymIsXmhLR<+g{V9+P(SE<{FiKoxmic2K z9b{}d3ZzHhjSdd>dxM8-wmF9R7TqxvU-ER(zbbs*|nGwIcz z0a+un`Pt8hF5=a8Ao2$vp7kR9Q?w=h?L?WQWK0+aB0MJQN?p$c(u2Rk5vdGheB3Pa zY#^(;%xw9@OkoOV@9JJ4&SS;p%m(57LZOSSx?d~gkTvbU0O{y6b$tcMIzi5U0csJ+ z4*{Zf>Pjn~0A!8$c~I0MZQ%)o^pqQch+o*_mVx93Og`@h(yk*xl>P`1ak6XJ?sp40 z<7TZN09hoheD?KtvQ66J;XtYc*$JdWk2ZLII8($fre$LL0hC!Hqt@j>#!2)}16du$T>AAlFQiW=%eX4SzvqNwp zEAxl^Df$H&4=)C?K{$^BStlMl2Bbq<;oxi9DW64iA3h(Zh&NB*KQzf1Q`Uf zPB>o)q=)qP=K@(H$lHM2qa#7g@91zDnPpqdO;b33S-gMm@n;z|X08g!qz`@;h{_%= zqwf3{p}mNo+kv#{HKee)3&=Q`^|AsXW6P+hMMmsnKzhh3<)lE!jDNk5Lq@+>16d?% zfVTiyCjIMuq6}GYd|n`A^xFWksy!yGc;KI-H<32|9UyCDw)$fr1DK$MZ=`=lfwYsA zUKz*+X~FA&93^YN8-d(F{PPANZF|iK|DZrf>wF2w(zsb>1IPyHJLkR_aR_Q*99{&Z zeVm_I}G6FmZ$Oc)rJO;=bv9t$B zReKEc#l#$!s+G#P*ATOp?*>aX?l{n?4!HGKsnoAd7mvAvn(ngv@#`03!AqgLYv1 z%YocLVtyIOIFWN3kbB6}gO3AIr>w|W{hFvn+Vs~zmPu^1--s9^z55SX@C1me|)16d<;({3OcGLqzgtV52_EVYjV+4cz2 zuA6|gk@@}2Kzek9qiSYF$hnVM>nU`5kdAQ^IcEuy_1t~DI8~V~ zWit1YwzvpoR>=tY1Rx!{56;vple6HomqgvAC=>1z#^sDBbPbx?r$w3b%vgOj5Oscn z^v~OYs4q<zUCL+ogi{4#HQ`(odtznwBH* z9{^b*t^ClJV`L*p2apXChdChUlUThHNQT6G8Au0-)fWRIMu~fvl0( z_>3q+FeLavIiOg3Dgv^6)2XY4)vF`vf@Gvz3_|H-b*h2;%hEexvlvyHv{xXn7GSdDK zNDsMhy5B2d1!?8q29hCV`hjeah{^-G%kLK|T227DS&#f6mN_X961~p{vZz~7lzFv4 zNbkNC$hx*2mKMdnW$_CwT}7E&NX&m0NC#OF{R)Ws=32(sgI=(#@+3r^gIfTy)kPb3iJs*g8U;y)j-gG+qI?*myTUVR#nm3@k{cU(M^g;faV`)WSV5|Rg18Niu}s72cAIw6^O^%X$Y z$x3D!$RhF2dx7jFt@BABIXxZ;gQK*ovoe-UNKsP#!8OT^N3Aj?lSCI0}(8mtlQB*WhT87HH}qyG{k z66rhLK#r20G6-ax%uUlk*2viMXFw(i=eGe7@fG%q_W-$rMAW|n=^@A$fT+x>lJkRK z1CRBXc0CD58_|9M$T)&0jOWXNtdnu<8i5cwe+FdZpegxgAomh0ZU@p%Mu0nkbPzdT z76|d!cYrLDSk1f^aY#ndZ9wiKWu6G6O3EA%2;p-S$cnb>cy+E`gpapr?f#4p2umcx z^T$yuLq^dWkaY|bz=PO$4UlnS=`BE3NgsSKkX!sQsy(Q68psOiJ3jz&7m3XKybj(V zetsyBHfToE2XfkhWcHbSN20_h=R!agADMAwx-CW$w$0@Bv2vn{wI(%GQWSzs`U#X)qSS+_GKWX5AFoALE^9n$P#%5;sNP-x+!N~ z$T?slFBAyrm45*wM=X6ikTu;F!om*&St5S^FCgp0W4{3+mLS3>GU^`kM(`og`vf2z z-#1sVyMatzVD`8nAZhvDQ`jfvFWbs*MnR|e2BYo%oZ$=9eIgbOf zN=E)H5YgUYFDL-Hm-LhwAmSI6`BNY(#Luq)az5#&?*y_=IIjX(BgoxAmdJ?oHBpPK zPX8Ckg68AR*DGakS=8%!!R$eAfn9y3H#!8OZTIjM>r4gTkr6)+i!!9Wrh#OLe_jS; zk@UFN0$C^bGVcMhM0(RVfULnk;Y@TdkRCF&T=Z7d8ZbHkK9CMFoBt7zRoEw5NcPG> zAQ|HM!$3B4M4@123dlNr5NJiTC0_lKAX{liU6(BinDV_uP-w)nQMy;Qt%nE6phrAuSNRN9QkR@VQwuyno^wS>!86cz01Kt7cdM*%a>{bl5G8v<0fNUo{ z<;9|w9$TO$^L8MMq}Ka^+=VMp7qsB_fYAA(?XO`M8Et-FAUfv7*MjrKOh%qr)E>y$ zi!%2FQl$?Efpn0VzYItliG(5$v62aU)4Zrf#@?3!St1esS|B~-u5AU#Irgfh>_#!3j}@aDEPuaWWde0!WTXeupSS z`rrqF+;qEOBfvb4x~WVb%iK)v zCN4!81g0_mTqO`FyC42vw&}BhtRFPJ@n-@d(eh>>r%@%0u@xXW(q10`vPk^%Wl@Wc zY(SQJOkEHD8`J`!Fj{s2X(Ro8Kah4330DExAiAChBtty*dLVm=?SBKLgT(3`Kzc~e zy%Wf)e&TVwR>Iu{P97j${Q}D5bQy8|2SC+WRnx6S@mam2D!7;rDMlxrIYHfsq&1jL?mFq zG|PDA-<6_xrLLvdW=_bzrwcQM6QzklwVIhM%zDLQy;94})(f?|Pr&oUaZB@FdFEtc zsyvYc$!UC0UmL(FEK~UYvRW&7MO-b{gQSxe??7_FYQ45Y)r4fPeyR$_HF2I&cwIjK zi=x3^O{?^w!Qlg!d4t3GvEHE}uRpu*@B!~o@7O?gbkr(4U8qlDwI<0yeJs7;M%Ai3 zQJF7KO%w~YiOgl?nL~y03_hjI3y0tx?~W-r75|*iOw$YawmgDF4fAFS_43J*tUp)v zL>4hk0V-{INm|$rCekSlWrN zDaw@@Z!(AkOPCCt%G3nPR_n>-%F|WP^X7$4aZm$NZWXWgg0S>NTqZ~s6{hO56SYd+ zJ6@?3WBjCIR~CeE&6Jy+t0a{xPouAR#|pD0yg0)<|EY2j?c-Ie=xOLC=v|Q*_fAYz zj`=%}3R5M~m~$xOCvY9??G66bC;lbtJ^R_u#tA6d0dN0k@1d->FMD8cSZFHMN+-mI zn3^0hyyG({cA{8BB2N2npRpP487)nf z5FV7GfddED#96)%3Nvm;Bdaa$McE{3!R;vUFcrrqL{nTqXvul zdS_>GvQYEtwL-Z*J6O!-3;0hqo8Rpr4AK&{qlke@o4)6`JmWRD+bdU&%^lAjETUsx z5eus}*d0`nMa{od30S%NWJyf0gR?MVHkw|B_H*@#n^+Gb0&dUp5{ zj0YH&g$v=ynMw_Z4R{z((Nm!=H=FPDve{Fk2WLgsvDES84Rv*!owrb}&(%snAD$Pp zV&Ggk#vxYndj}7z9;Cs+I56MYHQ0NiJXIPwb`?CQ#!1K+OuUls?noHEf*}q=ms-Ar z-Eq*VRzB>+p&=R*;i<+o!wA4#JEg~B82RaSQyZe?xzXu~v)F~hl RX4PvrMA)Jl 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 2023: @@ -70,7 +76,7 @@ def terminate(self): def play_wave(self, fileName): """Instructed by remote machine to play a wave file.""" - if self.is_muted: + if self.is_muted or self.audio_streaming: return if os.path.exists(fileName): # ignore async / asynchronous from kwargs: @@ -78,7 +84,7 @@ def play_wave(self, fileName): nvwave.playWaveFile(fileName=fileName, asynchronous=True) def beep(self, hz, length, left, right, **kwargs): - if self.is_muted: + if self.is_muted or self.audio_streaming: return tones.beep(hz, length, left, right) @@ -98,7 +104,7 @@ def speak( priority=speech.priorities.Spri.NORMAL, **kwargs, ): - if self.is_muted: + if self.is_muted or self.audio_streaming: return setSpeechCancelledToFalse() if not configuration.get_config()["ui"]["allow_speech_commands"]: diff --git a/addon/globalPlugins/remoteClient/screen_share.py b/addon/globalPlugins/remoteClient/screen_share.py index 852bc88..f01a230 100644 --- a/addon/globalPlugins/remoteClient/screen_share.py +++ b/addon/globalPlugins/remoteClient/screen_share.py @@ -27,7 +27,7 @@ import gui import ui -from . import capabilities, configuration, edge_engine +from . import audio_bridge, capabilities, configuration, edge_engine from .transport import TransportEvents logger = getLogger("screen_share") @@ -78,6 +78,26 @@ def is_available(): return is_enabled() and edge_engine.is_available() +def is_audio_share_allowed(): + """Whether this computer accepts to let the sound it plays be heard remotely. + + Sharing sound is not the same promise as sharing a picture. What a computer plays + carries the other side of a telephone call, a video someone is watching or a voice + message, none of which the person watching a screen would otherwise get. It + therefore has a setting of its own, and its own question to the user. + + The browser is still what captures and encodes, so this can only be offered where + screen sharing itself is usable. + """ + if not is_available(): + return False + try: + return bool(configuration.get_config()["screen_share"]["share_audio"]) + except Exception: + logger.debug("Unable to read the audio sharing configuration", exc_info=True) + return False + + def is_input_control_allowed(): """Whether this computer accepts to be driven with the remote mouse. @@ -114,10 +134,34 @@ def __init__(self, transport, negotiator, role): #: Identifier of the peer this session is held with. self.peer_id = None self.helper = edge_engine.EdgeEngine(self._handle_helper_event, self._handle_helper_exit) + #: Native capture of the sound of this computer with NVDA left out of it. Used + #: when this computer is the one sharing; falls back to the browser capture, + #: which cannot leave NVDA out, when the helper or the Windows build is missing. + self.audio_helper = audio_bridge.AudioBridge() + #: Whether the sound arriving in this session is free of the remote NVDA. When + #: it is not, the forwarded speech has to be silenced or everything is said + #: twice; when it is, the speech keeps coming through the relay, which is both + #: faster and rendered with the settings of whoever is listening. + self.audio_excludes_nvda = False + #: Whether the link dropped without the session ending. A WebRTC connection can + #: sit in that state for tens of seconds before it either recovers or gives up, + #: and no media flows meanwhile. + self.audio_interrupted = False #: ICE servers given by the relay, used as a fallback when a direct link fails. self.ice_servers = [] #: Whether the peer agreed, for this session, to be driven with the mouse. self.input_allowed = False + #: What this session was asked to carry. Set as soon as the request goes out, so + #: that a second keystroke acts on what the user just asked for rather than on + #: what the far end has not had time to answer yet. + self.video_requested = False + self.audio_requested = False + #: What it actually carries, once the far end has said so. + self.video_active = False + self.audio_active = False + #: Set by the session, so that sound arriving from the controlled computer can + #: silence the speech that computer also forwards. Left None on the controlled side. + self.local_machine = None #: Set by the controlled session, so that accepting to share this screen also #: hands the mouse over without asking a second question. self.input_receiver = None @@ -147,39 +191,167 @@ def active(self): return self.state != STATE_IDLE def toggle(self): - """Start the session when there is none, stop the current one otherwise. + """Start or stop watching the screen of the controlled computer. Returns a message to report to the user. """ - if self.active: + if self.role != ROLE_VIEWER: + # The controlled computer chooses nothing here: it can only end a session it + # accepted. Asking for one is the business of the computer being helped. + return self._end_from_publisher() + if self.video_requested: + # Sound the user asked for separately is not theirs to lose here, so only the + # picture goes away while some is still arriving. + if self.audio_requested: + return self._restart(want_video=False, want_audio=True) self.stop() # Translators: message spoken when screen sharing is turned off return _("Screen sharing stopped") - return self.start() + return self._restart(want_video=True, want_audio=self.audio_requested) + + def toggle_audio(self): + """Start or stop hearing what the controlled computer plays. + + Returns a message to report to the user. + """ + if self.role != ROLE_VIEWER: + return self._end_from_publisher() + if self.audio_requested: + if self.video_requested: + return self._restart(want_video=True, want_audio=False) + self.stop() + # Translators: message spoken when the sound of the controlled computer is turned off + return _("Remote sound stopped") + return self._restart(want_video=self.video_requested, want_audio=True) + + def _end_from_publisher(self): + """End the session from the computer which is being watched or listened to.""" + if not self.active: + # Translators: message spoken when screen sharing is requested from the wrong computer + return _("Screen sharing can only be started from the controlling computer") + # Read before stopping, which clears both. + sharing_audio = self.audio_requested + sharing_video = self.video_requested + self.stop() + if sharing_audio and not sharing_video: + # Translators: message spoken when the sound of the controlled computer is turned off + return _("Remote sound stopped") + # Translators: message spoken when screen sharing is turned off + return _("Screen sharing stopped") + + def _restart(self, want_video, want_audio): + """Ask for a session carrying exactly these two streams. + + Adding sound to a session, or taking the picture away from one, is done by asking + for a new session rather than by renegotiating the one in progress. The controlled + computer then gets to answer the question which matches what is really being asked + of it, which it could not do if the streams changed underneath it. + """ + if self.active: + self.stop() + return self.start(want_video=want_video, want_audio=want_audio) - def start(self): - """Ask the controlled computer to share its screen. Returns a message to report.""" + def start(self, want_video=True, want_audio=False): + """Ask the controlled computer for a session. Returns a message to report.""" if self.role != ROLE_VIEWER: # Translators: message spoken when screen sharing is requested from the wrong computer return _("Screen sharing can only be started from the controlling computer") if not is_available(): # Translators: message spoken when screen sharing cannot run on this computer return _("Screen sharing is not available on this computer") + if not want_video and not want_audio: + self.stop() + # Translators: message spoken when screen sharing is turned off + return _("Screen sharing stopped") peers = self.negotiator.peers_supporting(capabilities.FEATURE_SCREEN_SHARE) if not peers: # Translators: message spoken when the other computer cannot share its screen return _("The other computer does not support screen sharing") + if want_audio and not self.negotiator.peers_supporting(capabilities.FEATURE_AUDIO_SHARE): + if not want_video: + # Translators: message spoken when the other computer cannot send the sound it plays + return _("The other computer does not support sending its sound") + want_audio = False self.peer_id = peers[0] self.state = STATE_REQUESTING + self.video_requested = want_video + self.audio_requested = want_audio # The relay only hands out TURN credentials to clients which asked for them, # and they expire, so they are requested for each session rather than kept. self._request_turn_credentials() # Seeing a screen without being able to point at it is of little use, so the mouse # is always asked for. The controlled computer alone decides whether to grant it. - self._send(MSG_REQUEST, allow_input=True) + # There is nothing to point at when only the sound was asked for. + self._send( + MSG_REQUEST, + allow_input=want_video, + want_video=want_video, + want_audio=want_audio, + ) + if not want_video: + # Translators: message spoken when the sound of the controlled computer has been requested + return _("Remote sound requested") + if want_audio: + # Translators: message spoken when screen sharing with sound has been requested + return _("Screen sharing with sound requested") # Translators: message spoken when screen sharing has been requested return _("Screen sharing requested") + def _set_audio_active(self, active): + """Record that sound is or is no longer flowing, and silence forwarded speech. + + Whether the speech has to be silenced depends on how the far end captured its + sound. Captured by the browser, that sound contains its own NVDA, and announcing + the speech forwarded on top of it says everything twice a fraction of a second + apart, which is worse than either on its own. Captured by the native helper, NVDA + is left out, and the forwarded speech is then the better of the two: it arrives + without the delay of the audio stream, and is spoken with the synthesiser, voice + and rate of whoever is listening rather than those of the far end. + + The speech is always restored when the sound stops, whatever ended the session. + """ + self.audio_active = bool(active) + if not self.audio_active: + self.audio_interrupted = False + self._apply_speech_muting() + + def _apply_speech_muting(self): + """Silence or restore the forwarded speech, from the current state of the session.""" + if self.local_machine is None: + return + mute = self.audio_active + if mute and self.audio_excludes_nvda: + mute = False + if mute and self.audio_interrupted: + # No sound is arriving, so there is nothing left to say twice, and the + # forwarded speech is the only thing still telling this user what the other + # computer is doing. Silencing it here would leave them with neither. + mute = False + if mute: + try: + mute = bool(configuration.get_config()["screen_share"]["mute_remote_speech_with_audio"]) + except Exception: + logger.debug("Unable to read the remote speech setting", exc_info=True) + mute = True + self.local_machine.audio_streaming = mute + + def _handle_interruption(self): + """The link dropped without the session ending: hand the speech back. + + A connection which goes to "disconnected" has not failed. The browser often + recovers on its own, so tearing the session down would be wrong. But no media + flows meanwhile, and that state can last tens of seconds before it turns into a + failure, which is long enough for someone relying on the sound to be left with + nothing at all and no idea why. + """ + if not self.active or self.audio_interrupted: + return + self.audio_interrupted = True + self._apply_speech_muting() + if self.audio_active: + # Translators: message spoken when the sound of the watched computer stops arriving + ui.message(_("Sound interrupted")) + def stop(self, notify_peer=True): """End the current session, telling the peer about it unless it asked for it.""" if not self.active: @@ -190,6 +362,13 @@ def stop(self, notify_peer=True): self.peer_id = None self.ice_servers = [] self.input_allowed = False + self.video_requested = False + self.audio_requested = False + self.video_active = False + self._set_audio_active(False) + self.audio_excludes_nvda = False + self.audio_interrupted = False + self.audio_helper.stop() self.helper.stop() def terminate(self): @@ -198,8 +377,12 @@ def terminate(self): # Signalling received from the peer. - def handle_request(self, origin=None, allow_input=False, **kwargs): - """The controlling computer asks this one to share its screen.""" + def handle_request(self, origin=None, allow_input=False, want_video=True, want_audio=False, **kwargs): + """The controlling computer asks this one for its screen, its sound, or both. + + A controlling computer built before sound was carried names neither stream, so + the picture is what a request without them asks for. + """ if not self._accept_from(origin): return if self.role != ROLE_PUBLISHER or not is_available(): @@ -208,31 +391,52 @@ def handle_request(self, origin=None, allow_input=False, **kwargs): if self.active: self._refuse(origin, "busy") return + send_video = bool(want_video) + # Sound is only ever sent when this computer allows it, whatever was asked for. + send_audio = bool(want_audio) and is_audio_share_allowed() + if not send_video and not send_audio: + # Either nothing was asked for, or the only thing asked for was refused here. + self._refuse(origin, "unavailable") + return # Remote input is only ever granted when this computer allows it, whatever the - # controlling computer asked for. - allow_input = bool(allow_input) and is_input_control_allowed() - wx.CallAfter(self._ask_permission, origin, allow_input) - - def _ask_permission(self, origin, allow_input): - if allow_input: + # controlling computer asked for, and there is nothing to point at without a picture. + allow_input = bool(allow_input) and send_video and is_input_control_allowed() + wx.CallAfter(self._ask_permission, origin, allow_input, send_video, send_audio) + + def _ask_permission(self, origin, allow_input, send_video, send_audio): + if send_video and send_audio and allow_input: + # Translators: question asked before this screen and this sound are shared, with mouse control + question = _("Do you want to share your screen and your sound? The controlling computer will see this screen, hear everything this computer plays, and will be able to use its mouse.") + elif send_video and send_audio: + # Translators: question asked before this screen and this sound are shared + question = _("Do you want to share your screen and your sound? The controlling computer will see this screen and hear everything this computer plays.") + elif send_audio: + # Translators: question asked before the sound of this computer is shared + question = _("Do you want to share your sound? The controlling computer will hear everything this computer plays, including calls and videos.") + elif allow_input: # Translators: question asked before this screen is shared, with mouse control question = _("Do you want to share your screen? The controlling computer will see this screen and will be able to use its mouse.") else: # Translators: question asked before this screen is shared question = _("Do you want to share your screen? The controlling computer will see this screen.") + if send_audio and not send_video: + # Translators: title of the remote sound request dialog + caption = _("Sound sharing request") + else: + # Translators: title of the screen sharing request dialog + caption = _("Screen sharing request") answer = gui.messageBox( parent=gui.mainFrame, - # Translators: title of the screen sharing request dialog - caption=_("Screen sharing request"), + caption=caption, message=question, style=wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION, ) if answer == wx.YES: - self._accept_request(origin, allow_input) + self._accept_request(origin, allow_input, send_video, send_audio) else: self._refuse(origin, "declined") - def _accept_request(self, origin, allow_input): + def _accept_request(self, origin, allow_input, send_video=True, send_audio=False): if self.active: # The user took long enough to answer that another session started. self._refuse(origin, "busy") @@ -251,22 +455,69 @@ def _accept_request(self, origin, allow_input): # The user has just answered the only question there is, so the mouse events # which follow must not open a second one. self.input_receiver.granted = True - self._send(MSG_RESPONSE, accepted=True, allow_input=allow_input) + self.video_requested = send_video + self.audio_requested = send_audio + self.video_active = send_video + self.audio_active = send_audio + # Captured natively, the sound leaves NVDA out; captured by the browser it cannot. + # Which one it is decides whether the watching computer has to silence the speech + # this one forwards, so it is told, and an older peer which does not understand + # the answer simply keeps silencing as before. + audio_url = None + if send_audio: + audio_url = self.audio_helper.start(self.helper.origin) + if audio_url is None: + logger.debug("No native audio capture here, falling back to the browser") + self._send( + MSG_RESPONSE, + accepted=True, + allow_input=allow_input, + video=send_video, + audio=send_audio, + audio_excludes_nvda=audio_url is not None, + ) self.helper.send( command="start", role=ROLE_PUBLISHER, allow_input=allow_input, ice_servers=self.ice_servers, + send_video=send_video, + send_audio=send_audio, + audio_ws=audio_url, **_capture_settings() ) - # Translators: message spoken on the controlled computer when it starts sharing its screen - ui.message(_("Sharing this screen")) + if send_video and send_audio: + # Translators: message spoken on the controlled computer when it starts sharing its screen and its sound + ui.message(_("Sharing this screen and this sound")) + elif send_audio: + # Translators: message spoken on the controlled computer when it starts sharing its sound + ui.message(_("Sharing this sound")) + else: + # Translators: message spoken on the controlled computer when it starts sharing its screen + ui.message(_("Sharing this screen")) def _refuse(self, origin, reason): self._send(MSG_RESPONSE, target=origin, accepted=False, reason=reason) - def handle_response(self, origin=None, accepted=False, allow_input=False, reason="", **kwargs): - """The controlled computer answered our request.""" + def handle_response( + self, + origin=None, + accepted=False, + allow_input=False, + reason="", + video=True, + audio=False, + audio_excludes_nvda=False, + **kwargs, + ): + """The controlled computer answered our request. + + A controlled computer built before sound was carried names neither stream, and + answers a picture, which is the only thing it could have been asked for. One + built before the native capture existed says nothing about NVDA being left out + of its sound, and the default of no is then the safe reading: the speech it + forwards gets silenced, exactly as it used to be. + """ if not self._accept_from(origin) or origin != self.peer_id: return if self.state != STATE_REQUESTING: @@ -286,11 +537,16 @@ def handle_response(self, origin=None, accepted=False, allow_input=False, reason ui.message(_("Unable to start screen sharing")) return self.input_allowed = bool(allow_input) + self.video_active = bool(video) + self.audio_excludes_nvda = bool(audio_excludes_nvda) + self._set_audio_active(audio) self.helper.send( command="start", role=ROLE_VIEWER, allow_input=self.input_allowed, ice_servers=self.ice_servers, + receive_video=self.video_active, + receive_audio=self.audio_active, ) def handle_stop(self, origin=None, **kwargs): @@ -352,8 +608,19 @@ def _handle_helper_event(self, event): self._forward_input(event) elif kind == "connected": self.state = STATE_ACTIVE - # Translators: message spoken when the screen sharing picture starts flowing - wx.CallAfter(ui.message, _("Screen sharing started")) + if self.audio_interrupted: + # Coming back from a passing cut rather than starting: the speech that + # was handed back has to be held again, and announcing a start would + # be wrong. + self.audio_interrupted = False + wx.CallAfter(self._apply_speech_muting) + # Translators: message spoken when the screen sharing link comes back after a cut + wx.CallAfter(ui.message, _("Connection restored")) + else: + # Translators: message spoken when the screen sharing picture starts flowing + wx.CallAfter(ui.message, _("Screen sharing started")) + elif kind == "interrupted": + wx.CallAfter(self._handle_interruption) elif kind == "failed": logger.warning("Screen sharing failed: %s", event.get("reason", "")) wx.CallAfter(self._report_failure) diff --git a/addon/globalPlugins/remoteClient/session.py b/addon/globalPlugins/remoteClient/session.py index 9e093ef..d68ede1 100644 --- a/addon/globalPlugins/remoteClient/session.py +++ b/addon/globalPlugins/remoteClient/session.py @@ -67,6 +67,9 @@ def __init__(self, local_machine, transport: RelayTransport): self.screen_share = screen_share.ScreenShareManager( transport, self.capabilities, self.SCREEN_SHARE_ROLE ) + # Sound arriving from the controlled computer already carries its NVDA, so the + # manager needs to reach the speech this session would otherwise also announce. + self.screen_share.local_machine = local_machine self.client_count = 1 def handle_version_mismatch(self, **kwargs): diff --git a/addon/globalPlugins/remoteClient/web/screen_share.html b/addon/globalPlugins/remoteClient/web/screen_share.html index c5663c2..94feb8f 100644 --- a/addon/globalPlugins/remoteClient/web/screen_share.html +++ b/addon/globalPlugins/remoteClient/web/screen_share.html @@ -41,6 +41,13 @@ let pc = null; let stream = null; +/* The native capture, when this computer has one. See openAudioBridge. */ +let audioBridge = null; +/* Whether this session carries sound, and whether it carries a picture. Sound can + be sent on its own, in which case the same element simply plays with nothing to + display. */ +let receiveAudio = false; +let receiveVideo = true; let since = 0; let stopped = false; /* Candidates that arrive before the remote description does cannot be added yet. */ @@ -83,6 +90,16 @@ if (pc.connectionState === "connected") { post({ event: "connected" }); show(""); + } else if (pc.connectionState === "disconnected") { + /* A passing network cut. Nothing is broken yet and the browser may well + recover on its own, so the session is left alone. But the media has + stopped, and that has to be said: on the watching side the forwarded + speech is held back while sound is arriving, so staying quiet here + would leave that user with neither the sound nor the speech, and no + sign that anything went wrong. It can take tens of seconds before this + turns into "failed". */ + post({ event: "interrupted" }); + show("Connection interrupted..."); } else if (pc.connectionState === "failed") { fail("The connection could not be established"); } else if (pc.connectionState === "closed") { @@ -92,6 +109,19 @@ if (!isPublisher) { pc.ontrack = (event) => { video.srcObject = event.streams[0]; + /* The element is muted in the markup so that a picture always starts on its + own, whatever the autoplay policy. Sound is what the user explicitly asked + for, so it is unmuted here, and the browser is started with the flag that + lets it play without a click nobody could give in an off screen window. */ + video.muted = !receiveAudio; + const played = video.play(); + if (played && played.catch) { + played.catch((error) => { + /* Losing the sound is worth reporting; losing the picture is not, since + a muted element always plays. */ + if (receiveAudio) { fail("The sound could not be played: " + error); } + }); + } }; } } @@ -109,16 +139,145 @@ return QUALITY[name] || QUALITY.balanced; } +/* The native helper captures the system mix with NVDA left out, which no web API can + * do, and pushes 48 kHz stereo 16 bit frames over a loopback WebSocket. They are fed + * to an AudioWorklet whose output goes to a MediaStreamDestination, and the track that + * comes out is handed to the connection like any other. + * + * Timing is the whole difficulty. Frames arrive over a socket, in bursts, with no + * relation to the audio clock. A small buffer absorbs that: too small and every hiccup + * is a hole in the sound, too large and delay piles up for nothing. */ +const BRIDGE_RATE = 48000; +const BRIDGE_CHANNELS = 2; +const BRIDGE_TARGET_MS = 30; +const BRIDGE_MAX_MS = 400; + +const BRIDGE_WORKLET = ` +class BridgeProcessor extends AudioWorkletProcessor { + constructor(options) { + super(); + const p = options.processorOptions; + this.channels = p.channels; + this.capacity = Math.floor(p.rate * p.maxMs / 1000) * this.channels; + this.ring = new Float32Array(this.capacity); + this.read = 0; + this.write = 0; + this.filled = 0; + this.startAt = Math.floor(p.rate * p.targetMs / 1000) * this.channels; + this.started = false; + this.port.onmessage = (event) => { this.push(event.data); }; + } + push(samples) { + /* Dropping the oldest rather than the newest bounds the delay when the socket + runs ahead: the sound stays late by at most maxMs, never more. */ + const room = this.capacity - this.filled; + if (samples.length > room) { + const drop = samples.length - room; + this.read = (this.read + drop) % this.capacity; + this.filled -= drop; + } + for (let i = 0; i < samples.length; i++) { + this.ring[this.write] = samples[i] / 32768; + this.write = (this.write + 1) % this.capacity; + } + this.filled += samples.length; + } + process(inputs, outputs) { + const out = outputs[0]; + const frames = out[0].length; + if (!this.started) { + if (this.filled < this.startAt) { return true; } + this.started = true; + } + const wanted = frames * this.channels; + if (this.filled >= wanted) { + for (let f = 0; f < frames; f++) { + for (let c = 0; c < this.channels; c++) { + out[c][f] = this.ring[this.read]; + this.read = (this.read + 1) % this.capacity; + } + } + this.filled -= wanted; + } else { + /* Run dry. The outputs stay at zero, silence rather than a click, and the + buffer is refilled to its target before playing again. Without this the + level settles just above empty, where every scheduling hiccup is heard; + one short resynchronisation is far less unpleasant than a stutter. */ + this.started = false; + } + return true; + } +} +registerProcessor("bridge", BridgeProcessor); +`; + +async function openAudioBridge(url) { + const context = new AudioContext({ sampleRate: BRIDGE_RATE, latencyHint: "interactive" }); + const moduleUrl = URL.createObjectURL(new Blob([BRIDGE_WORKLET], { type: "application/javascript" })); + try { + await context.audioWorklet.addModule(moduleUrl); + } finally { + URL.revokeObjectURL(moduleUrl); + } + const node = new AudioWorkletNode(context, "bridge", { + numberOfInputs: 0, + numberOfOutputs: 1, + outputChannelCount: [BRIDGE_CHANNELS], + processorOptions: { + rate: BRIDGE_RATE, + channels: BRIDGE_CHANNELS, + targetMs: BRIDGE_TARGET_MS, + maxMs: BRIDGE_MAX_MS, + }, + }); + const destination = context.createMediaStreamDestination(); + node.connect(destination); + + const socket = new WebSocket(url); + socket.binaryType = "arraybuffer"; + await new Promise((resolve, reject) => { + socket.onopen = resolve; + socket.onerror = () => reject(new Error("the local audio bridge is unreachable")); + }); + socket.onmessage = (event) => { node.port.postMessage(new Int16Array(event.data)); }; + + return { + track: destination.stream.getAudioTracks()[0], + close: () => { + try { socket.close(); } catch (e) { /* already gone */ } + try { node.disconnect(); } catch (e) { /* already gone */ } + try { context.close(); } catch (e) { /* already gone */ } + }, + }; +} + async function startPublisher(command) { video.remove(); + /* A command sent by an older add-on names neither stream, and asks for a picture. */ + const sendVideo = command.send_video !== false; + const sendAudio = !!command.send_audio; const quality = qualityOf(command.quality); - const maxFps = Math.max(1, Math.min(30, command.max_fps || 15)); + /* When the add-on could start the native helper it hands over its address here, and + the sound then comes from it rather than from the browser. That capture leaves + NVDA out, which the browser cannot do, and it needs no display surface. */ + const audioWs = command.audio_ws || null; + const nativeAudio = sendAudio && audioWs !== null; + const browserAudio = sendAudio && !nativeAudio; + /* getDisplayMedia has no audio only form: the sound of the computer is only ever + handed over alongside a display surface. So when the sound comes from the browser + and the picture was not asked for, the capture still runs and its track is simply + never added, nothing being encoded or sent. With the native helper that detour + disappears: an audio only session captures no screen at all. */ + const needCapture = sendVideo || browserAudio; + const maxFps = sendVideo ? Math.max(1, Math.min(30, command.max_fps || 15)) : 1; /* Encoding a 4K desktop in real time saturates any processor, and the picture is displayed far smaller than that on the other side anyway. Asking the capture itself for a smaller frame is what costs least: the browser scales it down before the encoder ever sees it. The ratio is preserved, only a ceiling is given. */ - const maxWidth = Math.max(640, Math.min(3840, command.max_width || quality.width)); + const maxWidth = sendVideo + ? Math.max(640, Math.min(3840, command.max_width || quality.width)) + : 640; const constraints = { video: { frameRate: maxFps, @@ -127,17 +286,35 @@ has no idea where the mouse they are driving actually is. */ cursor: "always", }, - audio: false, + /* This is the sound the computer plays, taken from the system mix, not a + microphone. The three processing steps below belong to a voice call: they + would fight the echo of a video against itself, ride the volume up and down + and eat anything they took for noise. Turned off, the mix arrives in stereo, + as it sounds on the machine it comes from. */ + audio: browserAudio + ? { echoCancellation: false, autoGainControl: false, noiseSuppression: false } + : false, }; - try { - stream = await navigator.mediaDevices.getDisplayMedia(constraints); - } catch (error) { - /* The add-on starts the browser with the flag that suppresses the source picker, - so this normally cannot happen. If a future version of the browser drops that - flag, the failure has to travel back rather than leave a window waiting for - a click nobody can see. */ - fail("Screen capture was refused: " + (error && error.name ? error.name : error)); - return; + if (browserAudio) { + /* Asks for the sound of the whole computer rather than that of one tab. */ + constraints.systemAudio = "include"; + /* The person sitting at the controlled computer must keep hearing their own + machine while it is being listened to. */ + constraints.audio.suppressLocalAudioPlayback = false; + } + if (needCapture) { + try { + stream = await navigator.mediaDevices.getDisplayMedia(constraints); + } catch (error) { + /* The add-on starts the browser with the flag that suppresses the source + picker, so this normally cannot happen. If a future version of the browser + drops that flag, the failure has to travel back rather than leave a window + waiting for a click nobody can see. */ + fail("Screen capture was refused: " + (error && error.name ? error.name : error)); + return; + } + } else { + stream = new MediaStream(); } stream.getVideoTracks().forEach((track) => { /* What is being watched is text, not a film. This tells the encoder to keep the @@ -151,15 +328,60 @@ /* The user can also stop the capture from the browser indicator. */ track.onended = () => { post({ event: "closed" }); }; }); - stream.getTracks().forEach((track) => pc.addTrack(track, stream)); + if (browserAudio && !stream.getAudioTracks().length) { + /* The capture succeeded but the browser handed over no sound. Saying so is far + better than a session which looks established and stays silent. */ + fail("This computer did not allow its sound to be captured"); + return; + } + if (nativeAudio) { + try { + audioBridge = await openAudioBridge(audioWs); + } catch (error) { + /* The helper announced itself to the add-on a moment ago, so this is not + expected. Saying so beats a session which looks established and stays + silent. */ + fail("The sound of this computer could not be captured: " + error); + return; + } + stream.addTrack(audioBridge.track); + } + stream.getAudioTracks().forEach((track) => { + /* Not speech: the mix carries music, alert sounds and video as readily as a + voice, and must not be narrowed to the band of a telephone call. */ + track.contentHint = "music"; + }); + stream.getTracks().forEach((track) => { + /* The video track is kept running even when it is not wanted, because stopping + it would end the capture the sound is taken from. It is simply never offered. */ + if (track.kind === "video" && !sendVideo) { return; } + pc.addTrack(track, stream); + }); /* After addTrack, and not before: the senders this walks through do not exist yet while the track has not been added. */ applyQuality(quality, maxFps); + applyAudioQuality(); const offer = await pc.createOffer(); await pc.setLocalDescription(offer); post({ event: "offer", sdp: pc.localDescription.sdp }); } +/* Stereo, at a rate which carries music rather than only speech. This is a small + * fraction of what the picture costs, and the link already carries that. */ +const AUDIO_BITRATE = 128000; + +function applyAudioQuality() { + pc.getSenders().forEach((sender) => { + if (!sender.track || sender.track.kind !== "audio") { return; } + const parameters = sender.getParameters(); + if (!parameters.encodings || !parameters.encodings.length) { + parameters.encodings = [{}]; + } + parameters.encodings[0].maxBitrate = AUDIO_BITRATE; + sender.setParameters(parameters).catch(() => {}); + }); +} + function applyQuality(quality, maxFps) { pc.getSenders().forEach((sender) => { if (!sender.track || sender.track.kind !== "video") { return; } @@ -283,8 +505,15 @@ if (isPublisher) { await startPublisher(command); } else { + /* Set before the first track arrives: ontrack reads them. */ + receiveAudio = !!command.receive_audio; + receiveVideo = command.receive_video !== false; if (command.allow_input) { enableInput(); } - show("Waiting for the picture..."); + if (!receiveVideo) { + show("Waiting for the sound..."); + } else { + show("Waiting for the picture..."); + } } } else if (name === "offer") { if (!pc) { return; } @@ -322,6 +551,10 @@ function shutdown() { stopped = true; + if (audioBridge) { + audioBridge.close(); + audioBridge = null; + } if (stream) { stream.getTracks().forEach((track) => track.stop()); stream = null; diff --git a/addon/locale/fr/LC_MESSAGES/nvda.mo b/addon/locale/fr/LC_MESSAGES/nvda.mo index fa1efe668158fd2364f29b15b5279113f552f262..8cf486937be4521c87c28cdddb244c27d424721e 100644 GIT binary patch delta 7396 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 atV2P`Y{}NVK+tg58;+bAKYZDeg#Q8`spZ)K delta 5670 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 diff --git a/addon/locale/fr/LC_MESSAGES/nvda.po b/addon/locale/fr/LC_MESSAGES/nvda.po index d28feeb..7ee6c30 100644 --- a/addon/locale/fr/LC_MESSAGES/nvda.po +++ b/addon/locale/fr/LC_MESSAGES/nvda.po @@ -1574,6 +1574,74 @@ msgstr "" "Kerberos, améliorer la compatibilité avec les proxys et fournir deux " "méthodes de capture d'écran distante." +msgid "Allow sending the sound of this computer, after confirmation" +msgstr "Autoriser l'envoi du son de cet ordinateur, après confirmation" + +msgid "Connection restored" +msgstr "Connexion rétablie" + +msgid "" +"Do you want to share your screen and your sound? The controlling " +"computer will see this screen and hear everything this computer plays." +msgstr "" +"Voulez-vous partager votre écran et votre son ? L'ordinateur qui vous " +"contrôle verra cet écran et entendra tout ce que cet ordinateur joue." + +msgid "" +"Do you want to share your screen and your sound? The controlling " +"computer will see this screen, hear everything this computer plays, " +"and will be able to use its mouse." +msgstr "" +"Voulez-vous partager votre écran et votre son ? L'ordinateur qui vous " +"contrôle verra cet écran, entendra tout ce que cet ordinateur joue, et " +"pourra utiliser sa souris." + +msgid "" +"Do you want to share your sound? The controlling computer will hear " +"everything this computer plays, including calls and videos." +msgstr "" +"Voulez-vous partager votre son ? L'ordinateur qui vous contrôle " +"entendra tout ce que cet ordinateur joue, y compris les appels et les " +"vidéos." + +msgid "" +"Plays or stops playing the sound of the controlled computer on this " +"one" +msgstr "" +"Joue ou arrête de jouer sur cet ordinateur le son de l'ordinateur " +"contrôlé" + +msgid "Remote sound requested" +msgstr "Son distant demandé" + +msgid "Remote sound stopped" +msgstr "Son distant arrêté" + +msgid "Screen sharing with sound requested" +msgstr "Partage d'écran avec son demandé" + +msgid "Sharing this screen and this sound" +msgstr "Partage de cet écran et de ce son en cours" + +msgid "Sharing this sound" +msgstr "Partage de ce son en cours" + +msgid "Sound interrupted" +msgstr "Son interrompu" + +msgid "Sound sharing request" +msgstr "Demande de partage du son" + +msgid "The other computer does not support sending its sound" +msgstr "L'autre ordinateur ne peut pas envoyer son son" + +msgid "" +"When the sound of the controlled computer already contains its own " +"screen reader, do not also speak what it reports" +msgstr "" +"Lorsque le son de l'ordinateur contrôlé contient déjà son propre " +"lecteur d'écran, ne pas annoncer en plus ce qu'il rapporte" + #~ msgid "This file is too large. Only files smaller than 10 MB are supported." #~ msgstr "" #~ "Ce fichier est trop grand. Seuls les fichiers inférieurs à 10 Mo sont " diff --git a/protocol.md b/protocol.md index 6c9615f..613f460 100644 --- a/protocol.md +++ b/protocol.md @@ -461,18 +461,27 @@ capabilities, network reliability and transfer timeouts. Transfers work in both directions: the controlling and the controlled computer use the same code and either of them may start a transfer. -### Screen Sharing +### Screen and Sound Sharing -The controlling computer may display the screen of the controlled one over a -peer to peer WebRTC link. The pictures never travel through the relay: it only -carries the few messages needed to set the link up, and the two computers then -talk to each other directly, falling back on a TURN server when the network -leaves them no other route. +The controlling computer may display the screen of the controlled one, hear the +sound it plays, or both, over a peer to peer WebRTC link. Neither the pictures +nor the sound travel through the relay: it only carries the few messages needed +to set the link up, and the two computers then talk to each other directly, +falling back on a TURN server when the network leaves them no other route. + +The two streams are independent. Sound may be asked for on its own, without any +picture, and a session already showing a screen may be replaced by one which also +carries sound. Each combination is a separate question to the user of the +controlled computer, which is why a change of streams is a new session rather than +a renegotiation of the one in progress. This feature is optional at every level. A relay built without it, or started without `-screen-share`, simply forwards the messages like any other, and the clients then fail to establish anything. A client which does not announce -`screen_share` in its `telenvda_capabilities` is never asked to share anything. +`screen_share` in its `telenvda_capabilities` is never asked to share anything, +and one which does not announce `audio_share` is never asked for its sound. The +two are announced separately: a computer willing to show its screen may still +refuse to let everything it plays be heard. #### Relay capabilities @@ -575,7 +584,9 @@ credentials are derived from a secret the clients never see and expire after "type": { "const": "screen_share_request" }, "target": { "type": "integer" }, "origin": { "type": "integer" }, - "allow_input": { "type": "boolean", "description": "Whether the sender is willing to drive the mouse. The receiver still decides on its own." } + "allow_input": { "type": "boolean", "description": "Whether the sender is willing to drive the mouse. The receiver still decides on its own." }, + "want_video": { "type": "boolean", "description": "Whether the picture is asked for. Absent means true, which is what a client predating sound sharing asks for." }, + "want_audio": { "type": "boolean", "description": "Whether the sound the controlled computer plays is asked for. Absent means false." } }, "required": ["type", "target"] }, @@ -587,6 +598,8 @@ credentials are derived from a secret the clients never see and expire after "origin": { "type": "integer" }, "accepted": { "type": "boolean" }, "allow_input": { "type": "boolean", "description": "Whether mouse control was actually granted." }, + "video": { "type": "boolean", "description": "Whether the picture is actually being sent. Absent means true." }, + "audio": { "type": "boolean", "description": "Whether the sound is actually being sent. Absent means false." }, "reason": { "enum": ["declined", "busy", "unavailable"], "description": "Present when the request was refused." } }, "required": ["type", "target", "accepted"] @@ -643,14 +656,23 @@ Both ends send `webrtc_candidate` as routes are discovered, without waiting for the description exchange to complete. Either end may send `screen_share_stop`, and a session ends by itself when the relay connection drops. -`allow_input` never grants anything on its own. The controlling computer states -what it would like, but the controlled computer only ever grants what its own -configuration allows, and the answer says what was really granted. Only mouse -actions can be replayed this way: no keyboard input travels over this link. - -The pictures themselves are carried on a WebRTC data channel rather than a media -track, as still frames compressed to JPEG and split into chunks. That format is -private to the two helper programs and is not part of this protocol. +`allow_input`, `want_video` and `want_audio` never grant anything on their own. +The controlling computer states what it would like, but the controlled computer +only ever grants what its own configuration allows, and the answer says what was +really granted. A request whose every stream is refused is answered as a refusal, +with `unavailable`. Only mouse actions can be replayed this way: no keyboard input +travels over this link. + +Both streams are ordinary WebRTC media tracks, encoded and carried by the two +helper programs. The picture is video, and the sound is a stereo audio track taken +from the mix the controlled computer plays, not from a microphone. Which codecs +are used, and how they are configured, is a matter between the two helpers and is +not part of this protocol. + +A controlled computer cannot leave its own screen reader out of the sound it +sends: the mix it captures is the whole of what the machine plays. A controlling +computer which plays that sound should therefore stop announcing the speech the +same session forwards to it, or the remote screen reader is heard twice. ### Braille Support diff --git a/readme.md b/readme.md index 83a0b67..750e03f 100644 --- a/readme.md +++ b/readme.md @@ -26,6 +26,8 @@ version 2 or later. * Two remote screenshot workflows described below. * Optional peer to peer screen sharing of the controlled computer, with mouse control when its user allows it. +* Optional peer to peer sharing of the sound the controlled computer plays, + either alongside the picture or on its own. ## Installation @@ -219,6 +221,62 @@ no mouse event is applied before that question has been answered, and the answer only lasts for the session. No keyboard input ever travels over this link. +## Hearing the controlled computer + +The controlling computer can also hear what the controlled one plays. Press +**NVDA+Control+Shift+J** to start or stop it. What is sent is the sound of the +whole computer, as it comes out of its speakers: music, videos, alert sounds and +the other side of a call. Its own screen reader is left out, so what arrives is +the sound of the machine rather than a recording of NVDA talking over it. + +The sound can be used on its own, without watching anything. When no picture was +asked for, none is sent and none is encoded, so a sound only session costs a +fraction of what a shared screen costs. It can also be turned on while a screen +is already being watched, and the picture then continues. Because adding or +removing the sound changes what the controlled computer is being asked for, its +user is asked again. + +It travels the same way as the picture, directly between the two computers, in +stereo, and is never recorded at either end. It needs the same Chromium browser +and the same relay support as screen sharing, and both computers must run a +version of TeleNVDA that supports it. A computer running an older version is +simply never asked for its sound. + +Before any sound is sent, the controlled computer asks its user *Do you want to +share your sound? The controlling computer will hear everything this computer +plays, including calls and videos.* Nothing is sent before that question has +been answered, and the answer only lasts for the session. + +Leaving the screen reader out is done by a small helper shipped with the add-on, +which captures the mix of the whole machine minus one program. It needs Windows +11, or Windows 10 from version 21H2, since that is when Windows gained the +ability to exclude a program from a capture. The speech the controlled computer +reports separately then keeps being spoken as usual, through the relay, which is +both quicker than the sound stream and rendered with the synthesiser, voice and +rate of whoever is listening. + +On an older Windows, or if the helper cannot start, the browser captures the +whole mix as before, screen reader included. The speech that computer also +reports is then not spoken a second time, so it is heard as it really sounds +rather than announced twice a fraction of a second apart. Braille is unaffected +either way and keeps working throughout. + +If the link drops without ending the session, the sound stops but the speech is +handed back for as long as the interruption lasts, announced by *Sound +interrupted* and then *Connection restored*. Neither the sound nor the speech is +left silently missing. + +Two options are available in the add-on settings: + +* **Allow sending the sound of this computer, after confirmation**, which + refuses the request outright when cleared, on this computer only. Clearing it + does not affect screen sharing. +* **When the sound of the controlled computer already contains its own screen + reader, do not also speak what it reports**, which stops that screen reader + from being heard twice. It only has an effect when the far end could not leave + its screen reader out, which is why the condition is part of the wording. + Clear it to hear both. + ## Controlling the remote computer Press **NVDA+Alt+Tab** (Insert+Alt+Tab with the default NVDA key) to switch From 2e10186f83a1bd2895ee261159e86a4533f01279 Mon Sep 17 00:00:00 2001 From: math65 Date: Sat, 29 Aug 2026 13:25:02 +0200 Subject: [PATCH 2/5] Halve the size of the audio capture helper The repository refuses files over 500 kB, through check-added-large-files in the pre-commit configuration, and a statically linked C++ binary sails past that without trying: the helper weighed 749 kB. Optimising for size rather than speed, dropping exceptions and RTTI, giving each function its own section and letting the linker discard the unreachable ones brings it to 256 kB. Nothing it does changes: excluding NVDA from the capture, the loopback WebSocket and its checks, and the offer the page then produces were all measured again against the smaller binary. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01AV4tMCFa9DeRWUSGbKuCfA --- .../remoteClient/bin/nvda_audio_capture.exe | Bin 767659 -> 262144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe b/addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe index 1567b03a2b4eb7b3d92740f4ca932b8dc0940cbe..d580cf5f5925bafe4f46a0b6791f3064e04601e9 100644 GIT binary patch delta 67105 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 WW-4n_R%Q-slTNt<7v5kS_WuAI1Nh$n literal 767659 zcmeFad3+RA_6ORX1p)#Ugg9{}YQRJh69r8qNH^&~H8dIp5m!(&E+`;$18&&R-9TBk z;tbjmLB4 z!oHrihkkyYXKRkleak+_-Nos2TX zMaMJa&*$+p44SD5=FdaM4CF`g41K4Z@07tv$Ded*JMszleJkL9Y*8;=~%HT>rZ1RmFeaxDyWW)2~e#%vpNx4_~?+lb9{n+n}KOf;$D*P^I zR@8yFem~{P%cNnG{aE7Qw{d^vPCboHIgK~!&`Bt6!KEwT<_YN4}%x%7xaAK|Ah=#8Vk*gbxmbuk2KYDCc zQ5uCZlo-YOKx2+Vqm^jn>&e`!`E3M>i~PpAP%_uY&tz`7q^`i*@$%Ma{c5}ywM+4} z1hC6GU^mx%1Di*bR^6BFY4%7@h9SkM`DV!yv*w%cEB;FXXwo}+gYT! zW-Eoutl4^%ZUW(&jk?MIeR+7dfCCGqjz!{jeQ1pp>4qd?lB#*e0{Ma6=L>T@?Jan@ z4eg>5UTZ8o*Pw|8*4E9jYmnBUo9DM|*R_9iN9J}tcH4GOfNF~1J)Y@@;?`B5 zNNPB8sw5}T5GldODbg!8jgOhq)C#;!l($A}@&pcdbFOtmj!+6&-~P%4JOE$)(p7Su zDkq}~GB%)Cv#6BVZQpnz#~|sSNYag(<>9)thN#2mXBY{2^Wjq`e95LuKQT2rLmc~yIR`@XTJ!+?@6bMXIiR*H!Y%3eTUl2(Nb46Dz*;|_r@SFErEbaj7fc|POGxD+ zJvpSuMdYF#?FGM`PwrmH7N$zV7ABa(Og@qYUth>_n{*@hi0dFwZy~A8O=`lYk-H*@ z5{cbmDB^;{P)1Moe0)>3r+ounPG>h`t4c1uY|^E6Kj2;G;s|lPko`yw8Nr876T5p?kNnmlH_=JB`i}>YV-5gQ?tx;3n9!g$WJRsGZ z@a_wGo5xmup~dcCIm49IU!&)pzRap{hPjwU;eFYY{;vFxhhE|)BOz@4b3QaI|}`quAX21)f=rMAbApi zXlqbopgj@P;`kch)|78e^-0$!o~weD-^@BDjpG2pakJpK*}gz3dX_`BJ$48mofyW` ziC*(ReF&xWWT4m=G~Uw9^I)LvET#=3VQRsZw6+x?BVJ4c5HhYT_US;MzN`nmt@T*H zdojxsH2aM;r{{&tA-!VImEL!QmG4H5ONEKQZ*f(bZlVD_w$iH`*B9$efikZLCBoyi zWrz5|K4!RBH=0$U%5Ae=(9KYB1qP!A)Himr^&)o7I_;G#urC0o ze#ds|H6*59S)!W?S3UW=;wX~zq zx+SP!|93Am9rWyf?7L74q8nh{72cq+Gh{Tz+VZs6eaHY)?_QA;?h!D%)fnCV&rosf zUXc~cxG#lMC#=Xuuf<-B>4*@wW9xvMnUm z#moGi>Zp;&q$q&vMs>a#7VFIr{j`qJkZd#09)M2xjn~W9`ePrq`i-@*#=LXPzIkUG zeR~BeH_iMkl@tvWv_R&|1!7EznQ^mFNe6Dyho&l{iUOWRYdNN+@!x;OG zmnrTQc;z2V0oB+Hjww`+6q}4Egr22=MWA>tGhu*5Phe&ve<;9mp4c9*c2@|_9~&rx zphERc_B_k1Q1a1YpGukNfo`g$PDk4h;K4t_*2#zZl$9alQK=m?2R7-+D&=1ow?Z{0 zKGWh~BhaB6wspv8j7)Mc-oMt@!C*dDTnoks8gK>n_R0zt!z&u8e0>O&Dwv-fayKYnXY_^U-C_MB$T3%0AxLyw*IhGEhfIq~^ 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 RX4PvrMA)Jl z7q_GvFiXVCXl!%5)W&thgt}vHW~zL3X$k|q zuh#h67is*hXvL3via`8TRhJBestN&BNqboGhsUt}tYJ%DPp;1y)*7f~iIu~IScKsA z<*1h%xhy;C<$I6d_9m}}H+dCHzvQc9m*)oidWYgm43BvE!}|`5jvUVU%N-?G+&TFo z^L+!^L)kpJ=qoj@db#Xqeq^|JXmIRuCBQG!+c!3NBx?#Hmk0ZYvfgMmKR7g)9qzka zGig`|x&}x3Ns<1+{6Vj8q<1Kr?}KxszW$NRhP|=DL)nqTW2AKUXtwY0*x<-8R9|{{ za5UTR|0A0pi!FX+us<6*iAa){d`Bc|lVy5`hes~&9q!9EP|@4po0IO!j`n4T$8ZPR zH=6CuXJd5s4<2etk_Z_=jfgljGCVjoG8zQL2))>!Ju(QIGMsWFLxX4+X~VwJ!2<(h z!`VCyzT^smWI`n=vG4Hcs4!F!YFJpi2d$kO>b*Qkbl=Euegtu)is3217;QTvJgd4CkvWWr(-j7XbBE*O%@5{S0sfW7(dHNN zyH#A|`&aiJ9z~=N9vB`OMKlhe`wff?#q=jlRcj>HK*bCTWv_K6lA zO&IRgMZ{{~K=0@QrNHYTEoc`T${xuMZCYyoQ15~Krlq7!UT0G(H!CGoZdNK#+0~TF z%}Pm?o0SSw?rcisW~HP`S}Hd>(ue6n42apWF|lk(2v}VXS}h(n zXB!G`=yachmMX^O1V=^4Zc z#Tub^-%ygFzAV|+jRR3mg_{}bm+H?R8W9s)?7SH<1AjJExKGUVx!%!(Vr?9@;3g_a zt)^p-)Y7^dHXNy<6*XT)+#3lQbdn8yMdah%Q1gW~{|3=cq-*xgR_NWoA7j(l<=((x z9!v7e!@h{w7eFR>>Ll;D^e{=3S~4~Zp7`3AWySJ7xkHdzBS&y6ikqmR!7F8s8OZkbkB*Gs zws4bv?Xw7)D~Yg}ZicYH7B}SsSPUkV!|*sZI*2u5R>nf)?mt+n_Kjcx?%$PL>u~?Z zO5LzwIcu$lgPTi#Xp9*Vdi(nOFe~`aMMe(eu9*;8@>)CkJV)Cx;KvB5D~4 zr-)nbUMx39vxj=oCnM{C14ASG@C-#Pj=dbl8n}i^%44A;o+-d5{@tlid6*7Ksz|aB z-_Cu#eFwz@8QcSn_2%ic7`f&RkBklO$DNF|$nVX8#o=MtE|>7cF}c3M>``F_)?c-2h8AAyX(>2cmTGB`SR7*Q#v4iUO|(wFs);N}@C?!&_ehm8k6jfx%`>>C}) zkL=gooW8h}k0Ax-ztfGrkMRrlO%-Nm_ZP$qD?BU?YYZML)Mh6OQv@5X#Gx_oZhX-` zj#s&Ou{{&Mxc4swV)T7Z0Q#qQm?ZM`iJ<79zf;EGmtDY%FC3NASDBf?TO;wR+N^m9 zr>&PS9W*iNgqRD1{>x*?ioCG$S!HMDrjziz|Nhd{F_bs^upcO1g;Xt>fisq}>gj zhvx7;ht%#Xpf^n&D%B?|6MfirLhbj1;*h`Ji^h^D8rRR^$AQumwtEmI!4`+0^U21f ziY~*OdcQAWLkX#h{TsEh8uk?7)xI#VR-uE4xSm}o;&^HF*|-9^a<#PYR3sV&IE2h| zM3n&hD|68%!wc83NpWnJ*jx}DHxSds((LRYHWtMx-(Q%mkIv0tgIHudk;5S*#`Nn$ z{_dYV@76h-eP5 zIHqyBN5=ZGX^%({JjGO@u`{G0s(~uHMu@1qG zzwB5a5vAyeRROs$TB+3I6!cD`~jN!*=1P&EWRpw&-vrp_y zL{tfpM9)}xy3{)}A%qpNUCi#jBUMo~&gcDQq_?YICcf#bS#l58rV#f;)&2^0w$&== zY#1(PW}}ne*yP;wv6(`73Nt;169gWq-9I-yeQID33$?)+3?@-02i@G_p=SXxwZKFo zQw$22xiQp7`*Lp;8$zcsvF9h}>ek>eGF3`!ZCvXsV80_#q`rTG{!AxxX7zgDT{D|5z1 zRDW0$@K~XS?=Xnt!qPFFQ;cbN-H9g<`$(lAFcH8f%h9Or!>m>>jbW#?HLuZ2ly!J* zsCuED4)%tR7JLT?N@AZADICjFfmE45quc__E+`g~C$Rkz z-7zwOh#Zs&p2@~u%gXt_E(k|6nn9ST}iV2G2f3K#i?I( zHcFXxgTA3WN+4XKaiK5l$44=8bzGW=7V^6?#1GW#)lqRH8?Gy5eQ|AUEEl<^s`ckb zB2$;HWnWU2f?(*YOijf%Pg1lb1b$GQjvB&cL3!&!Vx$t!N9g+Fx%e;u_b}!vGc-7k zUa(S*y8#F=#53)X;wA!My@I{VDhhlq;sV0n!tfOfK0pw6d**i?x(dCVrFSR2bNHqP z0WCgwAcD;ckvbw);vXQ8E7a}e(oUiZ>xIFYQeE6l#N5Bg)dW_Kf%%8Y6Q0373~7Ti z_y%K&It#~36D9aNe&vD-`{wXzP-I~q!g2FKK-n7jg_W_-E`kc;x>d=zCf4FuztcG` zxbCkh2g=bI(7Hx&xJe`Kj}~ZnaTDQY z?<3|Y?Vi0=ZhbVm-GCFUp>q=s^`8hfdV2 z^{Nu0%fvj@Nhp)xvxubZ0*#Iac5_W6)}v;OR=51hR@SV@ni6TQr+)S z{?~DYih$J^JX)IY?~F+SG0=8Bjd!HTSZ^+?Y__#uhMjy_ye`c)rg3Cs=x}7i3Q=+h z^$#DCFPuh`we24o$>lCjzK++C{yVD%B7%1{xslPaWI0C;4ILg%zKj=%$rtg>PGeu- z6{f$%cQc<14EFb96W?aV4iDoEB;NVqg_(GvIGQ`8Z$$0p%J<<#;K1d1fAghif#_RQ zalPNe%j}`Cf#kQFzLe%$6^fe`lq$t>23Tx9rq zS}qak!>0bDM|!)wL*o7`mpvfNNwlC@%X0pD->V)9+$+sNTf^!In+>%-u-6(2Yq*{poF z8JWQsjhm_NkRLv7W@u-ZZz#S?_kFZ53?B*6vvbEhJfp_9%D&eQp3Lv`^1HlI|N3s! zkrnWL^ekTX`ouR?71J6APfCfqyr7j@5-1x9H%!Gz!Lxoz9gh(FmPa#RWq3YsUNi8) z1U$caONGrk*hFFVp|y*T@F}(YkW74J=qf;c80IXXSqqx!InA5Xl(eR8Yf73jbh8fT z_ig=YTvMer(WXi_OGNba(4(7)_DeTS#4oLgY#MthjU}NmTc%MvWXm)*?bMb=%@$nO zn%w3c)SBF;-LTnMuY2OAEx4Ja=1tv9QefP~R8E}wpcn>!DmC&?@g@6iyu$Jd6IadQ zAQCJ)>NPs2;e-LXdKv2K^iN2s97l!$u^gU|$2?5tI(K=8XXeGCMLb~>&-2Bn@J*NA z;h)hUs_YdzIH+_SAXA_8k7k*~F&2}#Q@-qG3Wj1kUf**3G)QZd)Ldun!~-~}gE zh=m(9Ja=-z*X3MW6X@K7SIIbA#?WW`Oc-ZViZ0FIR-6d2u;AfI!fXZm*YGC7!$~{Y za`{vaYtf(`u-Qf)<74YF*CBKXfz^SP{X6m6<2djlOwr4i=o-_zI^J0 z=7`03uepl0#LCt4kwsmoRInz~@+*VF}DahB8#hOj{YAXoM?WO$dv)ju75Vm3ZnDmNs>X#UK(ThD4Ob;)1vt z)C|RGiU7Ms=}?wYyjv6xuf%Z*Pq6F4qjG%OaSVw8Llv4B>PDhA@}S#p0Tsec6byo; ziIPF!G*L1d=}lCLhJ6!Nf~hPLWy+oitjI^;Kn4xPxFFMWUK2%?t|p3V8zKQ5S`oRR zWLqI0N{S0%O+O*T^@20$x*9H@2UdoZ}0Gr0wo#c-X#Z z(6%m$Td$q+Hdx=h;zd`fFf&)hC>A_t7{#HeI4fA}!HRqO5Zt7T6Ma1#qdASUNR2yj zc?Vy|msayZ!5Y4B5`QVDr9nYEI2B>aWvK|04d+jN2`*CP8dy zOhKd}{6e~M%$gcB>uPWUJ8;D7BlGP*^1L)Ne=6qr%_ZXTjsLM#{G%KDx_CT;0kAPMPqz1TaLazZutIIxX-R)Eg|BI`KC6< zA?`(PyikEAzO)|Bdogdwv%!mO^3Xh9y8Wg&PM`=d^W8C?S>xStw}-=o@us)a>uloP zae{shZ#`ZAgNtD{-_wmg8fcpdk+o>_R6zfwStX>IOM(> z>~%6_;Z>+8a(r&a|L!QhOw<5#c@#HW2D`^hJ^nBV&Xk`Vx%AE?@#6L>@dlBUDqVwo z33-1b8NqRPj_-d8Q}Sv!3*q%x=&NwHG117pVqenjYhTiFZC;A;v@slPR#Iyt_QlDJ zSMJh2N%Wj#B^cl&OPOdoO-`b^kK30t0sE4YM|~R`c}YHrFRXPoBRQ6ZitGfv`f|J` zbs7D|?2zJx`^o7R7wPeJ>{WVvx!7fTLebcDdVE>eHHR2Ln(zpJ8faFLwc#tRTY_-V zqc7nTVjy{gL~;ccxJ@`TGO9LRLx*?MHCiFnV8I?Ac8yl-jcO=T&BUH-Xd5F%6V7th zqFdyQ+R}={_?@*i*QKDZB`2n!uO)Y$xgkl<(#^!q8NB~!&HZQ0ADAPWf1~7G(L(8L zXQz7cB|frlMN#nBQbdgT#IFUW`XNs9#)TcQg*v(wTd3nlpsQWJLf6W{^JDi$+~G^u zG1R}m?@)*TGE>aV{I0k;6M-b6)Y5=*MsWnPvwaStwQ2B}Mt zU-g849Ez=WceF@Ew`{#c-R9*;O?;y7VIQ=g+11wDWnPZ3HZOU{r|Urqx_rG$8x~h2 z+-wjAaBU8sZBLhy`0pgweH#Au1M!AUGEb`6>Dwi*O8OYirPC{Tfq#4o0uoxfn--9@ z@g7mu#<^dOtM7`GFyaWWbi#->7V6>^vFHdiZsj|mgx*DKli;M6X!y}99*4U>4M@CD@S7Y)VE?P38ExDk{IJp!xI=LL_Sq+Mr zzE3V@HDPj55(&x0%vee;WyEV@Asy?9CE|ly7LTq(FuWwqdvY0J&d`ktThn=?!Zr)> zbW;um{uC(=|HUL^Eie#@u?1ta#}~9UZ#sj=kl3_N44+Nw*wnEHT#g~quzU=chUH`EG+ckj@o88gj!>ft^g)WA>yY6Zr{9;0A|fGl?dNg zVp<3?X?HcjA@<=)GxdD$h&^vD>J!aIt0h<-$1JI644I^&@%j_J>PL;uH?e#Ilf?3h zPU{Ke@#Hrz_X~>6{G&KP#E+JA1gQ}o`v_M_ z9UVg?XeM}T>+BNokWFk-U;dv4N^cQrHMD&%8B#Q()>}>V z*P?%lcy?4yoopElHh9m9fv`MV#b-d$JFT;c$Y8UF`X)wo-F*=s{vRGAGU?;m>=qqBJ)LzxjbXSt?$g6{~p1wLwG(hY!}w2zx2f_Q2Y5%PYY`kS{>+5|{wlEtR@~D$HlQs>vuZuw_u!_WSgD@E>Klw4 z7rs#;Og__iSH|XJ3SscMMBFstNbD0c;@;VD#)%4H@WGNyHW>OH&Q1a;E0>~xGx*ez>w z7<952sM;I`z7?+hQ~Ch4IShO&oEfOv90uZEnimPGK8HmolSNpc!=fuY;yhd<9Q?{0 z{hb{BL1m8qpg-`!0kylmltu?7$Zc>Ax(A<&Y+9aML~!t#$VTQcF(oi!CHy|L)rYw9 z3m*4(S^j1&r+^5zfr*!NtuS16W2&F1B^zS-WI#Hf+T`lR_nt{V3 z87%}&$f>S5v>pdLOGw7xxMB?IYV8gtgzDWZYyGWTzq`f?g0Q;g;9y25#VriN`kF=S zp6ISI0zp;Q`W?KWWVrc2)#fnRT{MEh!Gf?phedZ$H-rNRRhz?LPtoiZ4kQc#93H#y zPE!p|4lHza4u@{BCrOTv4ir>v4ujpnt8dpW6k&Z1i@no@1%H2*voA~uEGBw;f~!aN z8WJ><)v#<*T3kDzuB{n3_+ATfTgvI`nnUYu>=t>lU7esRYyA#BP%_+H zplWLdt$Uz4#JRuMwRsHicE)XPgnm(%r`=sQS2I3u!>5PkI&za@`B=lwjoJEO(LWu? zsU?%-G5oVzWI)F1n(+{bib#u#>kBl(20~Kcp19R(WV8Yz@y2bg-Nz)EewnB zl*o^MM&wfwX>e)Ma127O@t`@kq>5o1UTZo=gI|-OS%rR+mb!Yhbu}ED@Pt-8zIP@Y z)=z_l;|gAp;LN1{Ckbi>6WMshCU9|c;`r>kfjow%{I9;kk;eV@D^3uDms<7u_sXs= ziwa4BkGq2u8DByQOp4}B2gE=aM;TOyvN#1s9 z!UpnqES(z;j6_|Ab~SY|_MB4@X>j2@zEg``DTBer2t)=SOG-M7oFm5IlVapJ4m+x? zm`t=yO)m4WcE^loj`ib=-xd9;JE zfjWkbY8kg#*ai)mFf=$VtkY4w1-7einEx+~-$Zu`)}QjnKIcaPYBi^%Fc|3$aEiw% zMh=6O|Glr=V1N~?s-H*H0o;>4#w;% zdN_f|eP5!g&f(DQpOxpjHB!~)FzEDCc}Gqaa`2`thr_D-cp2MrM6Yq(zi3L}Gm&GI zxNUWCjieHY;B!%9i8B*l0H22((VSVJI)}rqnja#phM_W2V8aR6fQ%H85*NpSHK?S~ zM$Ul}@L)zt=S~qR*pXkG73oamWh*Y@v z+f=x0q>%LZxZcPZ4JL-F&_k_1&qF%iUXkO>n=B*oA&$+;an2u0l%{>gX4si3!%$j! z422IzoDcJhaiK3PJ$}OG)c9#(ieJ87of<4+FIJ~G7T2rS3g!ANJ{`;#@Skk*M^o+*HM-$1zogT3CAgeD}$1A$$*NVTxaJD<(F4Ul(2rpUh^* zJRDXFf$nErT5>q7IxT5VFE#sYIUH79gU!8|mHzBy`qM=h$GXlfw9ZWz!#WJ#M*fK= zEzM?6qF?lS$e`D8yi%Jl)F$+?;a!;$2Gy)}PUk)E_6^Bnm2!{{ulyLjXA!AD5Fu`pM zlZh#T!^F3U?Gh<~!^5|S!^053;n9`!T@Q!bCPF!UJI@5)O@wmz;=b%)aAUTYc_U#7 z;_$*9RXV(41ZiFl8(?KBIDLq zU$OFZBIVZQnHhySyoekIAF&}KCQQyozypEm5MaY z&B4Y-vtuT!!(-YnB&T*ECw(Cvt@aL86L8WoT?0BwlF5MNXla-wTLtZH=6&LL5m7vFv7c3 z^Py7fqm2~6Vc_RQX81xTR^~9!xsf?6v=9yx|HUcx3vhaqe6cNraF_(|=y^=E5Dt^z zWipS67Q$f?W?p8sk0FM`#>k+|iCaSqhmA_6%%P%WaCoSs${Zd_28Txw`oT+f4jU?o z!zt(lDR82aIGoH(&CFh9By8p|BKej%4Mzkq7|Hz03?@lh7 z>!uhLew=C~mcp;@$UMwEoJ1O|sNzq9s5 z>oh_knu$Z3giV~~_3h_glxD4W5X=CNjwq=FcXRPMPn`X$+Bkpd_7<7;Ic{~5N4_W$pMhcY?ml^R$tNh3V^vB!;)Oq$b^s zu`(_0t!ZS~i1*ICD3Jmf3|b5`riUH0acombta(1(ZHP&O4Qoc%WLP6>qfFY2alesR zhUa1vYjbFd&nP1qzghECke=DUw_x928+RA%`)esHh5Kt$5Thm4!XWXUlhLZ1%1(i| ze?OlBNA7b0JvRoKygBy>mMn&!FddzVrfnpa$ClfmV8(4rH7Cjp-<+0=NMd+KOG@E! ziCTOIq8O}Ta`eZk$P+)7U97V6=C$4AiTUGcb;)MIi+* zi1U2?lb6$I)KD0MnV#gr4C5SbapD;4{14=fOyeACmMqQ7WeZf8aXjS2l%x5yzMIO- z9L^XfO);8{gH<{MIm4mv4rg>{Nw_^X@0FQy_&!R9jgZ3O63IHwiJ^$76j+HSW44)*Jv<#x@x#cV zluFxi11aFcjihMW>NLiHB$=GpipoqO$Pz@R&5}2s#*yU3UsNJD5aZ;rd`PofrxK9y zB2#3UMmSQEfy9(KGK0~k$c#lQkR6J)IF|onQd_4Ijt%6d%{Ps}jG>!GbS8*phG?SH zv^~oX))=Pj+1$>6ol3wai)DG$7Mn)6CQ3a6T$#ZdPn9{Q+Ctf(8ZVOLPn|p3k58T( zqq0)rrBkDGZmu*lEiFxM+`FtOJF+*+;Z9r2LoZILMSV#r`7AwFK?3&lcrkC6wd2*^ zDb1|)=bJH!ztKgR=S3z9O^+!Oy#+br!$+ZP^9`ZtG1ZybQzRP7Opm89UM79lV_+%{ zl`<7ieqwMVQ@i$Px>D2Q8YWp+KIJnFWv0gyeID6y&11s(JVTj^r$er>m<;Z^(Nhw~ zVHcBuT{W}|yBKjCc5WHnnf`6=ojgq(Z~%w%}yH1!!`#EAD6 z83h|7HqG?Dg-&XkQhHu$CKWrQt3=wQ8Eq-r)=WnB6pd>}9m6`ErJTP)kBZ{33QlfT znZg#8m$uQ4Z$cg*VXl8ikU5hP`<;zC=9G>o)3F9>{rX1a#TbK-9bKgRp33i^@obU;T zo>8UV70FLI=JCl+XK}Jn^Xj!ixjs8MpUoHWpR7p0D3cS;=MK)F+EFdk>N`3zJL;u{ zdc&Odi4x-y$U9Ms6U5-9v#jUlGfsR=0Sq2ugSJjU??i-1&`gqtgT$uN7M&Cx;R(<@ z5?9iRH0+%2PHwTqXig5M+0xuxWXsX496S|CFz@E4h!74RE3v#ABTJ0t==!C(_fAn(K`B7@CFXM1O`(K0w}{1n*Hgz=8^MSQ0CdDh$- zN$u{+%o4-#SzPvYw|0z^q?x&l1aSgEEiF-+TkB&&d_s6Px5a0IS1ULNWBpzbCW3eK zSVV~Sl>?uo1n_RelB97M3S)J;b~jo?1cysBL%TmnxOiR6fJWkY*2onmdiU=$TvyCM};u_gJrAqwI}WxXS2EaOliQ7|R7)awVj3iliBNh?D z;3Mt}%<}@>JY`8?GBQ%C&!2LqM8z;TiMdsuMefvOL;{0}pHJP1fy~6NR&}kH>fx)D|E9<{pZvB46ugTFY?pmCNz<%ca4o>lg=doIM(ynVWY=;a#d6z2z znfc3o9l7gR=|p+P)&IJ-_JG6FYb^vm;8fQfT94qJB^<})7=uAwt=++dP`!I)t-p2a zch^`!5LVY59Lxx%xP?JjU$bc46WujNAgIb(zk?T)3^yOB+8hSEi$*XwSP<6du;?!8 zhH&7ZYI7LuDVn{)frKG|!($irqo~2jfrYNl;m|!>es)QYj}8=6Z4QIo!9G0K?Qday z4vW3hg$0l03sVA%NwH8Z6wCEf&aJZ7kf52gK4Rj0-Puy@WGUu$Y=DAkTNwPpwEU4^={*|M(I-a31&+_fr0_pal$%8YXd)U`DO2j6QUZc8~` zU2|yNjorrz#j9PrzN)PCJNQ7!aC3pGtr@iLf$9+F{$AJSF~D zWdb3aY#Bul_BT?xb-xyMY?(F4j zp*rQd`#D||gPWSGTnQQVSuEtp;?6?X=de&YJDq750#e}7cXe4* zND6%19i+(k5>jB2bPMNrUnmy?NkUWL3%ebAWAGh|5WwJ}=P*u`M};u>VD?Dzwo?-} zkjG=`+;CvTY%?`=F~%h-g5e1*i1S!MEq0|01{)&~8GI}$=`eDR7=urWk>fb*sJ3D< z(Ka=|pvAYcjt@aym8H?{E!Y>A=GgUFy^F~S`nT2#Y4qFXeV*Qk)4WdSZ@yjHROF?1 zfB)d1F*h&H;&+;>owaSPg(BU6>u388CI;#lHmW&#vk(nF)K3@&oSHNp)ePGm96p@i z?F}M~{qq_2ZCxx!^=_@zcsS+!EZ)J%fx0wo43pG5g{USU%3-il0WZEc#CNxj3l>XC z3XC@E{py^K|BLRwiEf7V{#gyxs@T4Z6{}-&M1^QRF8gtUBY9+K@C0Zct#4B3o}DjL zv!l-6-5B*X3kPF%6}{Pdur-oXox`DfqEIh5@8MOoISe{?o+#D5!qilySg2Rr-C@h& zuZ5*1%l)z^qM^v%2bfyxB;B!%9i8B*l0H22((VSVJI){VKG#@;^ci=%p zq`-w0BmtQeqQo%EFI9U_$Vro6+{Wb(&Wb&eWL8x z<4{zfbD+ftV)=|_SZ4)XoTwDJ@xqOgOJVHlq!Ky779%M|zqyAR<;5M_V$!4YnlxD; z%X=|mS=}O0-kD(OIE{8DkYufU;)J>fV+=!XMA})Sq+uWIS2emN8FS!*H8(t(eoR^u{_XOwS zIdzX1IUH7Ssm&K^6JEKFPdo84&Z`$rh*hW4 zQs@j&**f0@FXg3k_Wj>Fr&%uPc_)W-pCT%d`sPeVMH6aLwCP}A6z1|XYE%h9 zii4a*yD5Of1B+E24?}?FL6iN?I}AM8Z1&jb!Qs4zv}xW5R%8LR64uEabk=oGPkhi zp~OVZ9G>K^oz2je#^Dy17Mar*I%5TDhAy2xR-z8U)Ff(-4qYui?Xu>Wnncaf!D_#^ zgqfVfMovK%hgV__X6-%)f{8*oOoaz^W@onlLP;D>c7|sbu^4fhUF%UC&GZ~nOF)Epj428YLH$)`E|Hj~Zay;%}!4)4umb9e{ieF~#0mBir` zjL#`>qLMhANWN-LV-i6eMkH@FhY=CPU?lTcGnhyL90uI`HJK2b!2l=3B5cKN1;Y=a z5FQhmV1-9S%3$!&>8Uv$3594T4zEo@DcUD2DVj^`&(&4dYfZ#mgl6Gji$#MWL-T0e z6eIaG!y$$g&BehULyRWF6QkL*?irnuT2o=j&^#Q>v59bmaF`ewvb9qjxENwMY;>+{ z4i_zi!^BLO%^_pT;qVDlXLHzuQaD_64s8wa4aGzElxNwiQ_iHO2|rqmw1hr3MnZl9Y$#p zO2tEok;)jPR7)nxX84ij180z=f*6cc4!<<|CE0S90w?z4Yh@h&8FrW|oY81T!f}Ro zTFnN|C%oAqC&AueR*!DYDv|AkGg>=nW3(7aAkJtGB8R~zA$>T5S%O3cM>PsFKX^06 zu-Jr|#Tjl=3m!$#%t<2uKblLDV6#|hrLS*6!$UKztOBfk*S*AYo+aB9*67%S7_ z-kL^+jd%ghixMe-!Jx%3V|v&@8^<=444mgVl` zKoo;SjoC{Tbb{j)2eFD z-z;<+XJF?vaY_ufw!N*4=v&+Hmin!=UZqIiTBDWLG;B5U|D<7rA&$XL^#t)zs-K}f zjcyeROM%&Dql7v~Cuups@U?Odmjc5J{$VLb#&%BgSh6%Pmn~3X=Jt>iQ;z1-`fe&S z13RO|O);8{gH<|{JIgnr6b=`ilU@78!5}S!!z3mnJBL$@I1W3KpPj>t2;wu6BeSt| zcWFL9d%cpx=Y-pH^IqARk(9&dlMWjpg~P?jQqJ@am6QS})%2XW4oE3cDX`*)k>RLR z+KwAY0UvH8Mbm!^M=?VxK_sUYqasygaDpsJW|}aJrits z>(96x@hQYl?pGNYM$dQ%}h&6lN(- zXSz?>r841tdOU^kQl=gQ*-anHR6O~K){V^f+N0@8O^<7sv|jm?&oq>o9#8Zn><2JY zSnzp-_l$;l9~RYPp*xqLLFOj@j&a4Yk!)Vxl*41~%zrnJc|FIjuOS zH=Q9yj7VsaQLte{I%(hkFPzjgrS!biOsacESBbPqGul$Lt(lDXDH_*|I)-&fdV`z7 zGzMuy4u=m`$Eol!hT)GwO%Zta59X)tYn+ataHsnJFPR*qnBdk`Bv!IAgcUJ#%N{86PKjbT^+uoYqi2D zZ>BUK(?qUlfrh+j1B6wgK95|96(;IP&vyDft$wOnDo-eTedn4NZ2y{9 zrHf4@^fE!Cjy5kU-Ne_i1++nMcWi;sGnk}nF@}&o>Yu_-@ce6Rn(mDrVCe> zkVSpEs{TDwm@eVpMa(i@<@oX0QXPNQO2@rx<_c5gSqW*S%YC;fz&Z+XOXtQI5TFE;;H&YZ^{6YYu zf1BnA1N7gMrGk)$W~_-ejwPZl3KDZODn2HZm8FF$j;@#$+B;D~{25UD|C;-^S@G%?6qsge0(hBe zDZRz~@es*~MYYkIZ&fhp$BrI;&L)$^{03IOD|CCunRC;{m3qxuep%rlzpUi?-COX- zpFyixPIl`xW~s)u!EUVA>t<~wCdu*Fz4;rOF->MdS*f~w{9{>&a$oKR9N&CF2 zE~}%X&-H!1o?*E@SF5I3WV`t3V^wYMpl%AQTMQJ>^a1dG@U>&{l?&q2agHy&9}>--Zy#Vb9__@Ph#59x< zjU9_l`VDbAsaLFnrO=Xx3|-YQRiMga5N?;PwhIvAz3NryV1d4$iJ=17yGop(30mx* zJMN|Hkne`FZ#{!$>Q>0BQ~j%&xih#{5qmh_Pw$Y1j^ZJFvWWG4JG@Db${y~@bY5(f zqqJWZ7~kVSgHo_GgBxL*#IVuS1&Us2wC* zbMy{sNMrE9o&Kk@NNBJVsC4D$RHMUg}2Bu zeJr+d>*O_!_KoI#N-vE{vGqY?T5O#Rs~3*=%j;8FSpkzJ$dsWHq!AKy$l0UAiaO2= zcClWej|>63PjW_rm8;o0h0<}Hvl9XW`ysQv$l_GQiv~(SxD2IotX6hq zwc4(YO?p$$;MJLox05?l0wdJ^{tG_A-{8y{?`C(ZIk{0$^Ut(qBW2Sa1{v$zm%57`$ZwPoXf_RxOmLL($0NfCYe9 zl{41a@f(-9pxx0Y3QA;v;|kM)!f_7T+S%1#-$z@H^JS{2JVKVVE7pfSF~|A@pFQv6 zsa7o0r}54F;Rvt6R<{k@rQ}t7gzwdk!+s#s&HX@zj{u0&S+lO;R8B|pWxyQSEJh)n z47c&}nDS^i<=o)Te-zGj^VISuNt8zob>(HyiFk0~9r5@>&|Ei^Get8aF$%i{!nr@j zsoUz#%mR0|Y|@DYY1B!nx4Q~Nv-M`<<`=mW425ckJiB`w>*b9S5QzA*o5>H(9z3=i z!Km{wEI;a8<=9VKd3+I9yd^!`>8Qq-v+XVVy=yO;-~(V?hYo-}jD>Ir_oEGaegJHi zh1|B4zbZiy@oTI=}H(%*}oFkG;(+^ zNMN#aG%H1;yI3H_=Jppv#W^p?uy^(C;UVKMKl)T@D1v}A{X+9dNkyiyv(vdUi`h=} z9tgWoi9jBQ*%5gTtPaW7YUC;RZWhBROx$^AX5fmzvfTQ_>fT$&f#{8lR%|!;8t~RK2kwWxkhv32bc7fm$bIr(vcv5A| zN09&AJQNzmHNMT!8Yuy0Y!sEC*h7b7X-)48X_DpzetlIy#24e0y$2+UAdA9ecPPHn zI?vqkqF&Cncgcu_dcyjz{=7C|B^!Zi|GLibqWGbR3j>_+V~*_d;-Ao_5XG zg{a7!`}t?MTWKJqkb!y`U__m~=RgH32i2 zlkyOIFl2em0f^;SFQN#ep63Ea4Pr6svJhjqoh-_nkTG?7s-nihWa*t{(S~!SAq=Cs zDC9E|A9;)skU<)ihInIHmPZ^z8O(99MI9We^hR)pC9A56n!_4CW!>V4VA+Qg!Ggi5 z+l;!153||!M%Ct(isL`putM6Z+I(AuI3B>1^E`wmkcUu2qWMp0WC1jZEP$e*mu-qZ zt<|{GT7@{8SCX##=9TL;@?3j`KJHh7KMSA0qUZ!#Af=J1*7!5k8h4di@OHRiNdAx@2-U`u7HHR?>Y!ktcavK$K_nnnRc(FvzKp^>T9_%qcScQEBC z?zB3Aha6k45xAx6M6<+y(; zN0v|-N)szXDT2Xr$r8&$XhL}iO+*WWJdrF!KqL!6MB<4I^`axE_$ff>C0GE_92G#a z%dh~;=w8pi)@!bRn)@t(<~<9bMkrGKSt2DEO{WB-NW~UFmR1o+6DtAHfoFqMm?34- z;?Bfwvc-cFlWzBFg69xERXDzmdlP)$?f4_YY>#x)VGai$-zwOSXZC)EoSRb7gZq}^ z)A@i)C5nMk6R`=S92SzVO&B&gLSQ{h^s8o?UEQE5s$2GHa);BH-PIycw!1~>Y?q7Bxo(GMaoXi-xHz1oC&9o1%tPo7a>@J+mdso5A+L*aqB&} z`6wHAAZRZTQ3o;*dx-FvbT1Ks*hfSl_7LH7>RuuOv5$yAl!!PBS1;M%xauH^L>xqk zNG1fT=Q|T#O{+_|t?^vs-vSibw*Vyy)^aXVumD907Jw)OrtCqdcdz^p1b2)c2=Dkl z5T5bBr5{Y_Ee-9|AX)Ao@PJTKs<@uQ0&m)Tuq*LX2L%oe&A$TQx?VYS{7ILGxh2dN4)+;4!J+|`p`-Dfg^*qO753N<{gPMHSg(XB3h9Ktp%)oKic ze1Vs}wrHv7xgrgFbOc~L1@p}(3pGC&2Q?n&nJe!$~3l%()v?+46dgh10HfW@tGdTJOGPs-dJzk=+F{|FN8g9DX z;juUlH}7cw9xgBz%*N-pvY`;{fXeYa(sU=h^|JG3K$W~DPw}v7wp5*-!9{O9?l7raR%HO({;Vo(2VS>UI zX;^M;D+D$uQn1d!y%BwEW$tj}vft$|)rJ+D;ne)?Y9TAWgc8&J)G(j4q%=Qt{nvGf z#Q)Y%pYed17r6G9hWI*(@VMU^>hmPPV}5Cfe@r5VRDp*3G6`66KQ+wf&HO*LQxo== zhWIK0LI>l2YpCDu$4^y&OP2(YlQCXxoNu2U#@|$lhWx@i$bq?^8fN~~wR(jA)OE*r z!Pr*H-@5k8?Ydc-Cyr^M*q<8aGrh9s7_h$_1XTA}RDs(py1>B!{b!?ooYqqX4h~?O z$MLE=uv^dnbTGu~grZ-LE%#Hy*e|e)O1Hl>MEX5+flbSGEBm$biSG!1EF7X1B`G8} z{>ILMw3U(+k}w#Hz!S+}jG*vS*@vyE@m}GWQ9j>0+#=U93x5)47^j6MlN2I_!9+HpXyFP6MIO*Bo)L*(2k@H_W^M z7~|!14`fDqe~0Z9<$?H$xZOYLNVTr{vCU_!d4C+?naWlx9CV<@^>%4)*pJE-G|w#! zJnlTN&Ajs|4Za3ds#<)Rpu(6?WKfx38UiV#8-GUp;(n$uFC6Hv_#{o+3zP)SVJ+TB z$+-?*LyQ_JdPkpmcJbUg-eex{U}QgAUq`-5wfzTtS=3Io35yggyNnEcwHe=1BNE;+ zTE$w0;kQ+@!dv9lOdoD^fr29s7%c|7v(#?|+8v38o9IO3&oX}e?O}#X6c(Jb5fMSa ze7?ma>Nr5I`4w~Lm)KLUuvqMD511K`$}-SK_XOB+cKd7Gtof z*EnXXK?{m9um^4a{p=eO@4}Sfj0E*YOb3jw?T0DM!Ml-hz*LfhBqXw_9VizmSd6Z5 zr}AH_#x^;qzXr!E+h}U$Om79AT`c&mp1^kt(^EhgFvYO{2 zj;K0|14bx2*NoHLbKooDb{yhbG)u?4wvaQGsy((7BtGIrriuEkpuWmCUVKVBJcayu z7%5SZt8)cpf2exh&WUD)OP}aSDGC)@l1AL>5``C}_Uf2D^$LrkmyipjrQu>PNsFum zr09Y>(ll%)nZH%7MPx;w`mLcbljQt%Q2uug%Jk0y>E8WwwcFf@5o&k}N)$Hm>bVZ| ziCafz8LQu_{n4k*9lindtJ*gBY>@pxAA*E&v1-E`g3R3+j+S<(xkEy+R$+kT#3ncT z+x|%F13_TGY?+4UsMW^S@Ek&l5(Qh9Ld)nIFg^CL6{w}u+aIdE)!rT`C{d8mQEmG4 zVRbjh^GYPw6CGBnFJpnc--|`pTP*xh^a*ys5q(Rl+OEg*?S`&6l0NMYZ+fF@^syQp zRoDY^0rD$_K;P8t^)%l^(KUKKJxtu!3g3-?RS#VwOAlvn`p7%R50^%d?4?n=s?rMG z4j&NDx64%McJyI%X?UCxOlovX`eb>&Wv)iIeEG}X?2X`Iz}D9`+5uk$&$ZRmU;fB< z4ueR5x3yK&LmN|nBPW+;Azm3yw7`mRLs7a$EGy;zmPENPwEl+J@@nb6iqY4!S6moz zn;5(#OI@Lc7d_#s%*3*Qc7+;Vq`oz4EV;ldZ1jkOF(g75iziyoLO4s=q6u5XrH)s0 z_$z%s4`El~BrI@n@42a-U1BT;4!h~DwIZws>w^OZZ>k1`ifaW=lPj#mg=KgLCdk(=J zEu=%~qx01GJ@jEiJ2U$A{g=k?p??XLK!yS*>V0|ZK*U(y!%^wv#){zeLsalFD-Ov@ z|2;IY!y*mKzL!|wtL6?CPXw!v+Vl9{41T{HRyjk0jd7^wfA9pnwP}I2Ozz9X**sQD zzy7yf7>BmS)P2I+rFbI>pQn46PijsXhKJuDuVM&}1W^zG-#e|hYf+x|;SHX0K3pPQ zcW9qnrjI4sCv;(w`+Ao?7S=D}VL}s?PVTd)ks7Je#)EPPuadQqh3(;^atBXpT_RtI z6M68kSVL1#a_&MsnxC*nx8aeMB)@=!F4ypJLbj$7*Xee}d~A)N2&6F)6`!K5n};>J zO(siQH_TMK)|rHD*ECZXwF?rrqjo`^YDbf0-2R-^?dN5}WiD`H_t7y`%(WFBT$)tnd9STOf@oPW0A{#C5t|oCO|GPAXMPC?hRLOxm}X zXDHwtZ^eidggC6y(sbpt#37alUly9Ba|&%TzcqbRq&YAd;2O#lX{aD8JYp3IvW_j? zCQJoS2;|ztcePBixWX!*wNc2VKtaG!$Qkbn#uhm!2z?*KcYr~uhPAHHI>ZEN5{y41C;=ILSQIp#q5RSqzftVgckOEa6n=kc7RD zA>v`k)dxI;x#+o$WFhw8$PHz&}**~&dFW5FA>rRr>JjBJ5fuF1AB3H$|CUuYL82*oE&vf|RZ ze3CPhqg#Z~T#Mf*&h`)WY(D9~h{b32J615~0U;0KuvmyB```0Y21&5w^86h)7EcZ+ z#`IE>e~k1c_!xh5D z8wr}Ts7AFZ-y_hZX=CNCB6t}aT`o|KgG&dBGP!ikt%HD7Rji=>F;1cOg$gn{P}<7~ z3L@jW(Ebbs>AVSws4G)&%0rQBixiYQiz+Zzrr_eEvAevWVC)%I6plg| zR;U(m_>|&Rdam|?DQuPu+fiB{`eU@M%CutrnrAxLxt7WyjK2u0_&_IP7HpA%a;e|x zAlu6VQj=+Oka#<&Td&EXFCxrvNO>Z3`$12>>#?oNwTnm2HR6g~3&K{W6U;cKK^t?! zjTB_C9yG!sF3ahmO*K`2OClIBRji?3GigZ34N$(et)lC6!a+TRzKUqSslB3a2bgY8 zgDSc8qv$p8u!cBDm3nwp%rd9m*j3?=vB4{Dvv9^ZlU;7xMHX* zE_L}Li$&GP?K!3$-p)vRm4i`uuy5@x4c$~1D`iiL zEEQ{Ldx0Yo$f`I89gc$q4lsvzKGdj(6$(2#6LKL13c@YeFp8{;6?Enrh+-pCtJ?DZ zrsGO{OGK}~GLXUqRgmlrSC+zM<-DM9Rk~GlQ$%%8BI5Ztv$P6k(SQeY2;(Z@-IXaW ztZkhDhZU*?ly>pWurjvb7D*Xf0A{hh?b?VX^0wBmr|mD0yq>ae`+B;VV7Yzb zw!z^&_H8ZQ!YvesyHu~+=PsStF`@Rkdfh&ED+tiXO86V@hgdBTBEjeWFJ9J!lj+M$VTG6ePlZoo**e z$k!>>j6U;qx}Cj^lG8SkrDySkUI$g0!wZgcCnN4io+Hx}UzzEOuXHpqGV0cgUrSNB zgMZiU7mxmZXcRXvlfnxxs@q9jz8wu}FpsL8)Ro&s27lBtS_!H)wt3^K9L0mg5d0f- ze9rghbr{~mLwQUO<)J+Chhiv>@v9KLXB6xOnB1B?lnIODJ$zs!_#(`E_^>$M!v_{8 z$BW*>hsE(8K9c(|?_nrG_8!g-IbJ(iaqto~zbv32R)N zH(#A`6ZB>b1s+~;`^IapkcrozaL--G7j5`rh`WlTZ1EQW-N0bw?7Q6KE*~Xug)2U8 zybf(p<|I#nZV%CCVZNXDPuk~Iby*$ZSM~JU*J?ebYf9ZKc_$+V`dn3y^X1d3BA^P- z?dQQ9u1$@n9xV`F zuVhwlAI6IUz!BXa69{`Pj+Y=lY!dB3T>4?idWk2HR`eXY-iP7ZaO>5s{Xhu31gm%7 zOR!1^g`k<8wTFoubeWADbdeD^7IyFMVIzetGm*l27GAr<-Yyw*Xa0*+)v){*srmtq zWPM2%>d`s0iR#*+O%z{$uiOpz|C>?ke*Vp4RlXb~88;_p&V zd#2!TBT=4;zl{W&VE?5#;qLsGXuZ7D0!1F^%y7X(aAlh{0xVBn1bDy{L@f>&$f(6$ zNo4GlJu8~9S*ZQ}vQR~Wf#tJ@WC&L#8p0LHX6>mxqM&&-I`6gMMBTk;=zYUo@oyrfm#7wh~z#8(f%;L|3%4;WSD>xjo zRT9L_R=KZEMcCXor=oIrL;86l@Y@$^K%Q!}c8fa&^WQBbKKq7!4iW%Tj^e{Z*!Yce zwwIx|;&kgj)5*8uwA(dkn1c8TAL%d2cwXs+NBke@acCm(_N$Ve8nwZsXc@2BYd?1gPy| zUC)S`Y9T)#@mY`YdIq6S*AtrcwyM`_z~RZ9VLjQ-;eW#4>tFc%2mh)b*YhoXM5Ki@ zB_OP;`(`@7ox`bQAgDtGgqr%kSwFYX-_@qx;lFi_7f@T(s-Ax$U)yfEo!{3|Iws~G z$I_7xACs4ZGK;{c6xX?{{QKx|gRImSoJz4XV~=dyNdfi}CiZyQVR@ zhbQh4UcLDST%#0Y;7Tz-I{>?4dc3KAn$#;A9DEaGIbGBadV9C7CNu(!QGUtX{HmXM zzWHMY0H_|ne)dq~>9n#CN#z>j_)zP5haF?+${pEibUvJn7Yq7aLraGKe|YHsXEEPw zKVSxa;KK^I-Cp}D9{+s6JqzPVY~&{|Tnm@jMnH+|sF{>B$^mNSn;)!eSR&(}-1e5Vz9I;p4T z$JHH%?6_5#pXko_LHNtK01dz}0N`IC05EjEwKa;~Rrsq%y|V;?A*??~Cw7?1;i{fs zGfqzN0bvIXV+&1-_;S0>#q2F zr&DbVQNI@q@PPJH*KQSudQfk6w3;jw|E!ud?o?vKG>@)EkGU&6trzt+gY^W99gi7L z{7g3!TJCOrtd}$SUE@|CB<55yja%j?iB*02VSGc#gD7als7If#~7RD+*fH_;shs! zHapS@p77*B!`I=@+wfNlij04N_g@u#*lM|3Ni~(oU%Ms$jYa$b6+>1)YlVNRB?Je0bfSBHLR~e~ z?{|wW=|LHj`SFb^H-E00$1enCel9fgllzq^hCOm?{=7N1_@)jYWcdfos@g z+{t?RV1GjT!vbOm{hNQ`nAd__f2h@O#}_xU zVm~Zhk00HVqfHGn1BSJ=39IGG)lTch7`A&_03qan$lAwFnBZuEGqQ%pwyVmu#Gyk% z>rTEC85Ds5n2@drlW$E}R|X-7yGm$ia^vcQ0o2@A*16$e^P_76NdbmI-j=Iw%J4(CXVE!trJf(7sA9vYhqEU?T? zYr4C?$JX>q81Gm-)P8fJkE+sUi`=?rXA?vxq)eu)!sj^eD}teo z?;+qg;Zj%*K}%3TIa$Ht=CD0{#P@VqWzex2)?Onb)lqcyWXH}|4r0?J+WYGF{Pc99s2 zv^0zX=*HPp1@@LHv;5dmFvaW8v@@k_^A)Pr&&7(zH4i~V!VHXC?Cg4sSKzL65Wc!~o+qwBAm~78o zMZl>m#a4*>rR(5gQgYAL&}QZuZ$a^II?6YjMO}LXLAS|K3P+Hj-3GC%g$v1pqEtAS z-K?AObV7z_07~05ERoehyPM8Hg}Op9`M9y4;KYU5W9upxJI#W0s`&vk}t)qtxy4EmgTz&0?-Bj<8u+ z2OX>C9g8G`+o5G<9Q*tS&dO`kBMYXAp6B%fw*MC5Y}T3Fb&%xP4uAf%KW~Cc{^jbV zW%ns++kJ8n46gvpZ&xoEE+Yh&uAbq2wfuCornSQFN*s(dQ6RR!L7>fet2r2NUEPhY zq93k?TPd{Wx2q>$RV_bVEkpZ$$xl~Hz`l}yxjF$=m~DZBV0Z;!e!Kd~-H$8wk*YqM z5(je=gV+KGF}X{SNP&a6i2%%RS8p*WR(+9!GOZMlD{(NcM+!=nIXK%11?Gz!)a33v zwwoFp`sr$Kf=d47>ZGN@ZVMa)!z%#u+tp9*&g}RWb*eoAcCa8hG?Vr`RK^q}m3E(;p z2?yRPiiAr_%LhJhz|Sn6i(vNlc~IZN)k8iA#&FUejk<$BtJB`FbJiYw?^fsCAKmln6OP@) z3Ps=Q4a_6jYQO>ufV(~R*oE{%6Ww4D?0KO96>}AWhdva z(eU%fUK?RSa^tsm(|OY)bL18=HjFGzE)+04Gx2YibMV*b2PMiZSO%D60v_BhoHoNz zdvw|!QOtuni&Y{_L(H-fBi%mj{^(s|+`hFt-Kuknk-Plf9mrr0u`Cei1cJ>L9O3ju zv9s#IIj;-j-tLTgeO&Z0l*cznb->?*K4F4RCx))Wa-#;e=SNN~Ucwg$GQ+wlW(ur$5?*Ui)%HzSZlcc&?@{==*KHz>*Q*)A<_C#Xo+4x28RT zml+S1(h?fti`V!h6rv_3-Nh^+d@YKOwUUp*qkv_y+@2yJ(abtFzady#!_jx4HG<3j z+n6N6b7?1jJ8ypzqohi6)T^sw}P^v|y^x@G{j4Mxxm>Ls42rORC7oB6}hG5+4n zv6T_1t;ltP1$5hVg%92_OQbs(w>^s?X4yy@WD)TA;zg<%BvI@1j~{JZ{A#B4&x;@b ztU7*FOmvuzV2kZ$3WVflz_@kJhY(f}LEjKdll@drPn!v%rf@4VF%nU>0IQ;hRq@Daiy0J>2pH=>$VK4R#wh zH9=o~tL(1Fc@L3o1jA}+iDUvg)0hD{+1)~fl5d-q9m7_LxJ_i9yh!G~iJuq!k(S6v z^}rh5+WqI@JN*HYhuVYRX&?4~bO+V-sCVA`tIcxZXSetLjP|&ifU{$WhK`+nj>DNv z4W&TB1XBI#y!~fIQtf(Z80`P-4j}Bi&}+~d!~SLayf>mPPu)4kS@T?ySAP0ovjaA$ zr@Tb~%sE}G_eeg-ksi6$2(i0ef^#yTD2;YB{#5epU;!djKA%>6#Djl%ZQbxf(=N)t z5GTACFCk9XT?A*CL+oO#RdTzxZz*eg`+PCp{F1)4&(HfmtHG#K{cQhk_eGrK!B`}! z$P&=c04vdxejizE7yZ*@gBT59gw`>_p;dEBH!WG()97vRSu+x9SiZmAK!owBy|+1~ z^dI!$3P~7l#ghQ&a0sGH-t|qZ(_Am9KN8NAf#@&l-tuYzh4xL7eVBP@rR)$`Wz}h* z1`*13Ga>ToBe6vLe?ArLKj+IHRwHkD;5>(q0oi7hgC`9>Q3IDr)&j`z8TlahBS`-C z29mR;zs$T~PA%^c)zjLl8NbH|s|j@&T1>W(k!;cUdm94Dbihp#e*>>VGvS~wl%ngF zaYmwQynr*Awzgr$Z?d28hkR?+7si(<@uN-aM{h8?#?{&()LI)>&*;x9h*Q{ku%)gq zf4}ViyyV1e^^HEPQg|@Ni)39$G;}~gLM%={iqJ@+im-NB0-5oqfrDG1hI1nnX{uWwHAvCdp*L8zEPq^Eg=jEiQ36Q4w4}8kEwA4|L$s-MO@Ef62`pgu2Z)UGP-BIlkVWM zO&S*BqJKSd12uQn>(60(NC6=n(1g5BY%#++hq#(zP`zx)%{p-uuX%$LC!BiAl3W-Y zb}p(boY30CAZ`Qx;AaUuO`&oBulnk`&mBt{6=a8l~m&jKYUw@X+elwx4n zhrzjQ1b~*vMYEjabl_T?ZMUldV!;rJQZ~BV-QO&cIn{ll1VlQw^4L;lEDYhrjuss$ zjWv=wykeJ*u*f-ScYgnlULcWq)E@rciY)Y-2^sk?#l1oGqjN;|l(CdEy3%N{Psfxb z@iS^^4zA!Ar=IZwye%cW+xPl<`D;nX4DQM4e6t!OaZr9;;f!2U5yJSFbX1DZVjFkX z=WRTL1;Y7L?#R(BYIV{wy*Of3Z_Is`CUg#j8Gc13mD$zRkKSpw4;gw`!_QpFI&{kNFa%2c?GQSwvQ2u7O4+Mign7hTmD~UD_r09+! z7P6XPgLM$fH@f(u{fC+FVH-|>??a-EL+mkISL5}XGDqr1gp0|=Xh~}O*mulq0rV_) zmZ#p5L6I}{WW3xsT7!>!05hx4ssEeSXt4n`TKe!*%_%aY2l1x2$Kd$-bO&Z3@SFTON=D9fUop#RqaQ=xS$ehi?{+^E zRCu(P<`l*UCb={enB!Q1Sf#Q81y*Te?!Txw91O(1G;DV?{RL_hPTqn zum1I*V@?rra5lccLHB>JdxP#N?>53M!wUaRyLTCEI+@YEi(UMGXXDKs&uk*Hus~y7 zK-$VbBlWUs8*cwe2UT(PU~}0tbK%a}8QRVCkfH8v>PZ7J1| zhs`K@ap@Qr>0T$LnQ%J%x&`4#^Xvrn%V4)$(w#M95Ry7@13#>2)oZ`5$%$q(<{)X0 z2k=3VscTOV${%T*m^dM0@rTyHKK~#eB8-onJOeB)&MEyeK6CIu;T+BKT1+CPBFX1| zgtG@yc6g{;#xczPJ6awsF+13VHm)aHz;HK^c7vZ47H+hdcmOa@Nc-A8TaO^_B4#f9 zFx$z2+^TkSFcu-h)?=6bAWT4eg-`1VZ1J^q2-8sJ{MSs4R<^b0-PGGHomfV0S-z-i zqRrpYZbKgdBIgN14$r&YD|iJ)@COE}0V%yubY@1um&&h~hNJf7=?Tu;=3pg*e~MGZ zx_Raqli|Uc(w$@EjJk>sQ}Uddj=1nn@wBB1PJ`w97Av_8Ilo4=VqhM z%<t?svWzYYnWjD!?cqsOR>+_CW-E z83)u=e=srw0DBhUm^QRoMUF#^neX9tYW&x7^1lG?pE#02 zwx5%Eb#nc^x@eEix`TmVth~IvC)2G_S@xl|En|mnPjSv>l6GgFjFGCpf!CMpV((Sw zV}FA)D$jcwh%^DQPlC)UO=`tGaLiOsa~A|sGNkRhVQ(4lmDqvq7Mdat?2!!~*cm%B z9c3AYBu)V_(;2U}FgXId-1b1!-SBZv=hduRMTSyt-lUrX-|Z6iuGjOE9qc%}b-XQP zqX=i+_UWMCzX*J08#zfsUn1Fz6%_fBjISQPK8|TYEN@_%@H|>gMFvrzIOs!tNmPj$ zZeJnpaDCZ1t3>h$B5#m5fk7r3d4tGt>rUU1GcOMKnZ4wv0WWeK>BG5sx`N#B|Mc!_ z?u(rS6H znnCt;XtQt78@f8_3?Zm!i7d;kLn>pd$avWe1X!!xm>=2$@Mx(>7Cg+sE*f5+kh|u} z?}19+v13@jT-dBJCLj)56lAKZUVCK3xLJ;{>yfYvua%IxBzviFu>rhHWHMqKf(-b@OU{f+0lt8aS zT0$mcbr8zl(Qz+z-;p|9;c@9OMy!`52DN;SG#>H`#I+Faf`=A@yoCiofiCMKV-97W ztdHK=>Ygs`hA?u&`@yeK_J*`&7O7*Qt@hy&S1ItKLzL|@hnwod9i%sH)7ivCJH-Lu zR$DZLd@eB_b#$KgI!1}EEhWRGEkj=8R}$wno73mHnD{88=5vWa2qSJiI+uj3FCU>0 zX!03BG7S*u>wUi@1Ih;#`h3fgLw2yOp~ERE>_pS!=D1RxLGCbHSdxn2(QqfozI4W` z3_xP`BEI79UP)#VjkPd-O4kt1dWg*Qa1nk-qMjDuZ#^fIc~qfw#i(|x0IHTXEuADt zsb93uDZDcp;0QMop%qP5u-=^=sl7d3U<9x(VCT-=oI4`^bkZ5hEl5isjfcv}+)85n zWxulPNqKgRX)gPLv!&4Iop}+!j={FsEo9sToE`$eBrt1;BFuyRqv}`#Vz|PG`o)~vF z4YJDFNVBS7qF(TgVlh-r2jeg>MvNSRvR-&mrnaCYr5zbQcXh+u8H zxSmg+fP-MZL}=CAMK|Mw@NhGx2)947@eXG1T*5JP$wDL}ahxsnFqtgiM#l1DTgo2M zaRAPSni4M$GaxJ3tO#=e?yu@)noMOSj!78cGrM&tFvHzHx*bG@p|`Ep;6LCs^P1aj zkE0`O4_t|5hh*0f)<>mqEpY&d1f$-6NWx=-S;^1H79exN#6IoH)h8vGx}3*yjf5v8 zJ9dZga7j3WEIzF>WEuy2C-w&nT6*;5?p z@9MI_gD4bhYiU&s@q*2#onUhJ6Tugmj^S=a&(g3{gAY%KzIQswD`da@0uR|K+(*M^hcq=7xA4)6tk%ggvbb(wb+biT4)(CH)bqf)fTRj% z`P$>4;PVT|n0bf;Nv0g_`C;FRV45olI&%`s|MsNkVs%(mDP=5@*qXOa8=mMPuHiN_ zNK56n3S6vsfO_JtEh2G(EPXa8Os)&LZpDT=Bgd6>8leZoI)#y8rOHz4xhx>sVx<1P zu@W+a)ex%YP@+VVLZS*@@47YPZkUt&M8=hQRf=huco2v0&T#D796O)(1;n6pu^Q(p zofdTBC%Zt|H^aws(N zm(K5p2}jAWBYX8HGWIA2H)>eO_}nv}&R|7KS({t)HmAx1r)LLVDbfyXDU-Uy-9mce zj|YPeO^Z1UJdRqK&9+^`d#u(VrI+yeo+dRqWNS|cV>}-}L#No$6pZ&OGgwwIvINPo zf(>_VL~Lq@N=o)et0Y1fg&-cSpR@W~7GTDiT6(Te1}AvL2RP^)5$DU>&4AGLcKmc% z&me~&?OVu6Li&j49yi+Va)n#@taam!!HSnxkvUplUiSZN!~9aVB3m8a!R95z#Z~wF zarFcDPar^H;sw6OeM>V*d-nR9n{_WK^RXKK?2X`C{MJVR^RybCU605?-cmh^#W=hv zh!|i{yge7Qi}<+-oT?N6%ryKdul**#XSuS%^Fj%1-sTEbyJwi=NYVLFrWI+W;mY+I zHg@#O0;JP{5h%1yBbAnO*+#P0`Z&~h5_^RVm!Ol!EghxdDm9pr9>@0aqm76Q&mG*{ zvDw4WHD;ZMcXV(tuplralN<$JA0~p`{@MPMGq_{CEOB5x@~r?4R)sNt&qaQ0%}oGz zW^bKRALWc@&%!31J6h&!m5EwH3X!pnX^ZpIClRpq-?L3idt!j3GH)E7jYd~C!7rM- z$Z8Vbvz5m*t|Tv`bw-N>rP|`qpW}7C7zl*%g=ekVo!)>n1P6tgeaQkAcZTM=Q4i!;p@<+2%`K4uc9IhWCkfUN-LPKPmU#l#sN`}#=R?+(5 zGbPyqw8V^h3NG-N@yCrHdY~{E3xGQZ1-epJ$d6?1N$BLHdxl(4+#GSIagqa}_5X#B zl6avPzNJT)naIuvPtS#cHBs=7mQ~y=K>CTvPYthSa%VU&uX}lor0MG+ zu3O_)X@O|I8`O0?cAex(eDPlWJAw})QQy@zVrjgj*eGREIVu~$q=A#61e-VNS`NsbY* z4mcxu!XuhrHykcMky-XZV49{R1=+c^kb&6k{4Q<2;mR6v=hS`UIOSP9XJNQ(jJv&X zq4LPWpNi+<@xC-iTGU!4Xmx^> zgTlEjJ!^0s)<^`KN6ftXcpW=$?UV$m4L~^~=bdqW;>2jp9Nt!X-PVYln_SczSZ_x{)s>m8LvU>a5{+)(b%an~}Ggtnk#8vsL+& z5_Zg-7v!x%9}l)4CQbeg#ZimzAv?tMKBY^F?Z=NWN8TZWt~cJs5A zYvF?->V`p(#U6WBVHo1}E-`CWSaj?!?zHf5Yr3b<@jRJ(c*ul1ADu-;@d2R&S{B}F z_{ncfPMsX4Sh5j@q1Po@gc<*nk(RT1izBf)gU4Pte>B7djPY9S4c;LjWnUZ=Xnceh z&C?iWOzd*UMzlv?GhLCk0emotAkijlDAGx%_;nVw1*dV}1pdI`*$#hZjD#gidJ?Jwh2f58Q~ z#N(Cp?T0)!c*!3p@9K6jp3&v#XuMeFpLU~{Ab46}ci^hfKm$ta6wWh7ODbW$wAa2o0f*CHlZbfrL0sdeVtj<(E&HfNAh_s$92Ib; z+%U?NV^m2{4!y?x@?V?nFMhu?juB%=BlU#`X1Q(dXpmr*S=H=qNeT&cWaKGdz&+3t z=DsrvcGM!Xi9C-?2bl#&AJy?j{Mi=`5*n=fdYs?|Nb`mci%NTY9&ttW_=I^n$y>1p@UzilI#{{C2^_9ai&?JX`a(@jeOOg1kA(TAfe zyT39ie!MIK8^Gk92W4hh#Y`b{hQ%IvRKu4ttau3yrqQn1BcsG08{y>UrTP9CE(geG zI)%~07K1L`+MR0dRq@@ibFf&!(6!VB%&d6xEe` z)k0}4lRJu?DhGG?ZGC*n%o*jYgfRiBFlpP&JcV>%i#wldoW}EkeN;a6oIef6Ev?{@ z3E;60#gp49)zd_7HNdpby#%L@Iv4ygAja>rS!7I4NO(eTk^;~dtkmTQ-ulY-FP`SV z5?!86iGtZ?PHQG2!(m)|n_2w!$@Mkm4OV>6H4c2wha;Ri$x0@K4_$6>_FZ1l2PN@| z_=&J)RvZ9f5rLQO@ZcT^c=4pDF_G!|e%?R9RpclcjoTU@6FuZ(9NaR~^ca~uQ{Z_2 zOZ&{>>4rGF!Q*Jq$8m(x#KS|sNMscRl9;D1{~!nnZcTWPv!0DWd4wo^$fqEMBra~> zu1hb#crDGILYqSa`*LV+2k(24=c3mc^oRX#BU#mQ2a8Ae7EdGTV>0D2WmcpbeVr)h zRUCr<^=yrY(x=FPU2gEeSFE6;(^Z`70R2-=?w3pAJa&Pq>+~=9;+K{xR`|j5MAkS3 zx`x5A+DJp(dNk&T1j}5^laYyvverHctk!w&1n!56A*y5;O*R$TH&Hnnb`Pts-~Ro6K=>2IP}&v-c$Y9u>jjXOhI*Ti&cBZ9pG8BX%<1 zV)EW#@htEXuvT9>7Ko9JOx6`+q^m3Tp@v~|iw6wx5ExSD)0RJxztx5M#AQkjhed%f zqa?W<;wSwp*m11nSQD^d4fM)U!H Date: Sun, 30 Aug 2026 11:08:44 +0200 Subject: [PATCH 3/5] Ask the relay for ICE servers on every shared session The controlled computer only ever asked for them once, when it joined the channel, while stop() drops the ones the finished session used. Every session after the first therefore started with an empty list and gathered nothing but host candidates, so it could only ever link up with a computer already on the same network. Two computers on different connections negotiated on local addresses alone and never linked up, with nothing said anywhere about why. The controlling side already asked again for each session, and says why in a comment: the relay only hands the servers to clients which asked, and the credentials expire. The controlled side simply never followed that rule. Ask again when a request arrives, before putting the question to the user: the time taken to answer a dialog is far more than the relay needs to reply. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01MNU1WA7oTJLVQhrZXzsoY3 --- addon/globalPlugins/remoteClient/screen_share.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/addon/globalPlugins/remoteClient/screen_share.py b/addon/globalPlugins/remoteClient/screen_share.py index f01a230..5286bb0 100644 --- a/addon/globalPlugins/remoteClient/screen_share.py +++ b/addon/globalPlugins/remoteClient/screen_share.py @@ -401,6 +401,12 @@ def handle_request(self, origin=None, allow_input=False, want_video=True, want_a # Remote input is only ever granted when this computer allows it, whatever the # controlling computer asked for, and there is nothing to point at without a picture. allow_input = bool(allow_input) and send_video and is_input_control_allowed() + # The relay only hands out ICE servers to clients which asked for them, and stop() + # drops the ones the previous session used. Without this, every session after the + # first negotiates on local addresses alone, which only ever links up two computers + # already on the same network. The question asked below leaves ample time for the + # answer to come back. + self._request_turn_credentials() wx.CallAfter(self._ask_permission, origin, allow_input, send_video, send_audio) def _ask_permission(self, origin, allow_input, send_video, send_audio): From 86d2a3b003b5d0461adecc31a27c0c8bffd77a56 Mon Sep 17 00:00:00 2001 From: math65 Date: Sun, 30 Aug 2026 11:23:13 +0200 Subject: [PATCH 4/5] Carry the sound in stereo, as the documentation already claimed Opus is negotiated in mono unless the session description says otherwise, and a browser never says so on its own. The sound was captured in stereo, fed to the encoder in stereo, and given a ceiling of 128 kbit/s meant for music, only to be mixed down to one channel before it left. The comments here and the readme both described a stereo stream that never existed. Add "stereo=1", which tells the other end this one can decode two channels and is what makes it encode them, along with "sprop-stereo=1" and the ceiling, to the Opus parameters of every description this end sends. The payload number is read from the rtpmap line rather than assumed, existing parameters are kept, and a description offering Opus without any parameters gets a line of its own. Both computers run this, so both directions carry two channels. One running an older build announces nothing and keeps the mono it understands. Measured on the page itself: the parameters come back parsed and reordered by the browser, and the offer now carries stereo=1 and sprop-stereo=1. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01MNU1WA7oTJLVQhrZXzsoY3 --- .../remoteClient/web/screen_share.html | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/addon/globalPlugins/remoteClient/web/screen_share.html b/addon/globalPlugins/remoteClient/web/screen_share.html index 94feb8f..38541db 100644 --- a/addon/globalPlugins/remoteClient/web/screen_share.html +++ b/addon/globalPlugins/remoteClient/web/screen_share.html @@ -362,6 +362,7 @@ applyQuality(quality, maxFps); applyAudioQuality(); const offer = await pc.createOffer(); + offer.sdp = withStereoOpus(offer.sdp); await pc.setLocalDescription(offer); post({ event: "offer", sdp: pc.localDescription.sdp }); } @@ -382,6 +383,33 @@ }); } +/* Opus is negotiated in mono unless the description says otherwise, whatever the track + feeding it holds. "stereo=1" states that this end can decode two channels, which is + what makes the other end encode them, and "sprop-stereo=1" announces that this end + sends two. A browser adds neither on its own, so the sound captured in stereo would + be mixed down before it ever left. Both computers run this, so both directions carry + two channels; one running an older build simply announces nothing and gets the mono + it understands. */ +function withStereoOpus(sdp) { + /* The payload number Opus was given is not fixed, so it is read rather than assumed. */ + const rtpmap = sdp.match(/^a=rtpmap:(\d+) opus\/48000\/2/mi); + if (!rtpmap) { return sdp; } + const payload = rtpmap[1]; + const wanted = "stereo=1;sprop-stereo=1;maxaveragebitrate=" + AUDIO_BITRATE; + /* A carriage return ends every line here, so it must be kept out of what is matched. */ + const fmtp = new RegExp("^a=fmtp:" + payload + " ([^\\r\\n]*)", "mi"); + if (fmtp.test(sdp)) { + return sdp.replace(fmtp, (line, existing) => ( + existing.indexOf("stereo=") !== -1 + ? line + : "a=fmtp:" + payload + " " + existing + ";" + wanted + )); + } + /* Opus was offered without any parameters at all: give it a line of its own. */ + const eol = sdp.indexOf("\r\n") !== -1 ? "\r\n" : "\n"; + return sdp.replace(rtpmap[0], rtpmap[0] + eol + "a=fmtp:" + payload + " " + wanted); +} + function applyQuality(quality, maxFps) { pc.getSenders().forEach((sender) => { if (!sender.track || sender.track.kind !== "video") { return; } @@ -520,6 +548,7 @@ await pc.setRemoteDescription({ type: "offer", sdp: command.sdp }); await drainCandidates(); const answer = await pc.createAnswer(); + answer.sdp = withStereoOpus(answer.sdp); await pc.setLocalDescription(answer); post({ event: "answer", sdp: pc.localDescription.sdp }); } else if (name === "answer") { From 18d94f1aa8bab951ddac579edb393b55241bc2b9 Mon Sep 17 00:00:00 2001 From: math65 Date: Mon, 31 Aug 2026 00:03:06 +0200 Subject: [PATCH 5/5] Ship the source of the audio capture helper The add-on ships bin/nvda_audio_capture.exe, but not the code it is built from, so the one binary in the package that is neither vendored nor third-party was also the only one nobody could rebuild or read. The repository already answers this question the other way round: url_handler.exe sits next to url_handler.cpp. Add the source, its CMake build and a README covering why the helper exists, how to rebuild it, and how to confirm on a single machine that the exclusion works. The build options were already commented; the README explains the program itself. Its messages were written in French while the rest of the repository is in English. Translate them, and rebuild the binary so that what ships matches the source that is now next to it. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UonSBbAsT8n34n5aH14puS --- .../remoteClient/bin/nvda_audio_capture.exe | Bin 262144 -> 262144 bytes native-audio-capture/CMakeLists.txt | 24 + native-audio-capture/README.md | 73 ++ native-audio-capture/src/main.cpp | 636 ++++++++++++++++++ 4 files changed, 733 insertions(+) create mode 100644 native-audio-capture/CMakeLists.txt create mode 100644 native-audio-capture/README.md create mode 100644 native-audio-capture/src/main.cpp diff --git a/addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe b/addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe index d580cf5f5925bafe4f46a0b6791f3064e04601e9..99d2308ad8ddb8d7f06c9216513137b26812b620 100644 GIT binary patch delta 14497 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 KIdam-5C0#&*`W>q delta 14627 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 diff --git a/native-audio-capture/CMakeLists.txt b/native-audio-capture/CMakeLists.txt new file mode 100644 index 0000000..d83cb55 --- /dev/null +++ b/native-audio-capture/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.20) +project(nvda_audio_capture CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +add_executable(nvda_audio_capture src/main.cpp) +target_link_libraries(nvda_audio_capture PRIVATE ole32 oleaut32 ws2_32 bcrypt crypt32) + +if(MINGW) + # -municode selects the wmain entry point. + # -static drops the libstdc++ and libgcc DLL dependencies, so the executable + # can be shipped inside an add-on without anything to install alongside it. + # + # The rest is about size. The add-on repository refuses files over 500 kB + # (check-added-large-files in .pre-commit-config.yaml), and a statically linked + # C++ binary sails past that without trying. Optimising for size, dropping + # exceptions and RTTI, giving each function its own section and letting the + # linker discard the unreachable ones brings it back well under. + target_compile_options(nvda_audio_capture PRIVATE + -municode -Os -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections) + target_link_options(nvda_audio_capture PRIVATE + -municode -static -s -Wl,--gc-sections) +endif() diff --git a/native-audio-capture/README.md b/native-audio-capture/README.md new file mode 100644 index 0000000..dce7d7f --- /dev/null +++ b/native-audio-capture/README.md @@ -0,0 +1,73 @@ +# Native audio capture helper + +Source of `addon/globalPlugins/remoteClient/bin/nvda_audio_capture.exe`, the small +program the add-on starts when the controlled computer shares its sound. + +## Why it exists + +A web page can only capture the audio the browser itself renders, or the whole system +mix through screen capture. Neither lets NVDA be left out, so the sound shared with the +other end carries the remote NVDA's own speech over everything else — which is exactly +what the person watching does not want to hear. + +Windows 10 build 20348 and later expose a *process loopback* activation of +`IAudioClient`: given a process id, it captures either only what that process tree +renders, or everything except it. The second mode is the one that matters here. That API +is unreachable from a page, so this helper does the capture natively and serves the +samples to the page over a loopback WebSocket, which turns them back into a WebRTC track. + +When the helper is unavailable — an older Windows, or a build where it is missing — the +add-on falls back to the browser capture, and the sound then includes the remote NVDA. +Nothing breaks; only the exclusion is lost. + +## Building + +Requires CMake 3.20 or later and a MinGW-w64 g++. The shipped binary was built with the +toolchain bundled in Strawberry Perl: + +```sh +cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release +cmake --build build +``` + +Then copy the result next to the add-on sources: + +```sh +cp build/nvda_audio_capture.exe ../addon/globalPlugins/remoteClient/bin/ +``` + +The compile and link options are chosen for size and are commented in `CMakeLists.txt`: +the executable is linked statically so it can ship inside an add-on with nothing to +install alongside it, which pushes a C++ binary well past the 500 kB ceiling that +`check-added-large-files` enforces. Optimising for size, dropping exceptions and RTTI and +letting the linker discard unreachable sections brings it back to about 256 kB. + +## Checking it on a single machine + +The default mode needs no session and no second computer. It reports the captured level +once per second, so that the exclusion can be confirmed on its own: + +```sh +# Everything except NVDA. Play some music: the level should follow it. +./build/nvda_audio_capture.exe --seconds 10 + +# The opposite, to confirm the right process is being targeted. Make NVDA +# speak: the level should follow the speech and nothing else. +./build/nvda_audio_capture.exe --seconds 10 --include +``` + +`--out file.wav` writes what was captured, and `--pid N` or `--process name.exe` targets +something other than `nvda.exe`. A level of -120 dBFS means the stream carried nothing at +all, which is not the same as a stream of silence — around -96 dBFS is the noise floor of +16 bit samples and shows the capture is live. + +## Serving mode + +`--serve` is what the add-on uses. It binds a WebSocket on `127.0.0.1`, prints `PORT n` +on standard output and streams 48 kHz stereo 16 bit PCM once the page connects. + +It repeats, deliberately, the four protections of `local_bridge.py`: the socket binds to +`127.0.0.1` alone, the port is chosen by the system for each session, every connection +must carry the session token, compared in constant time, and an `Origin` header that is +not the exact expected one is refused. The token arrives on standard input rather than on +the command line, which other processes on the machine can read. diff --git a/native-audio-capture/src/main.cpp b/native-audio-capture/src/main.cpp new file mode 100644 index 0000000..5e981cb --- /dev/null +++ b/native-audio-capture/src/main.cpp @@ -0,0 +1,636 @@ +// nvda_audio_capture - capture the Windows audio mix with one process tree excluded, +// and hand it to the browser page over a loopback WebSocket. +// +// Windows 10 build 20348 and later expose a "process loopback" activation of +// IAudioClient. Given a process id it can capture either only what that process +// tree renders, or everything except what it renders. The second mode is what we +// need: the whole system mix minus NVDA, so the sound of the controlled computer +// can be streamed without carrying NVDA's own speech along with it. +// +// A web page cannot reach this API, which is why the browser capture used today +// unavoidably contains the remote NVDA. This program does the capture natively and +// serves the samples to the page, which turns them back into a WebRTC track. +// +// Two modes: +// measure (default) report the level once per second, optionally write a WAV. +// Everything can be checked on a single machine this way. +// --serve bind a WebSocket on 127.0.0.1, print the chosen port, wait for the +// page and stream 48 kHz stereo 16 bit PCM to it. +// +// The serving mode repeats, deliberately, the four protections of local_bridge.py: +// the socket binds to 127.0.0.1 alone, the port is chosen by the system for each +// session, every connection must carry the session token, compared in constant +// time, and an Origin header that is not the exact expected one is refused. The +// token arrives on standard input rather than on the command line, which other +// processes on the machine can read. + +#include +#include + +#define WIN32_LEAN_AND_MEAN +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +// --------------------------------------------------------------------------- +// Declarations missing from the MinGW headers (Windows SDK 10.0.20348+). +// The API itself lives in mmdevapi.dll and ships with Windows; only the header +// describing these structures is absent, so we restate it here. +// --------------------------------------------------------------------------- + +#ifndef VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK +#define VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK L"VAD\\Process_Loopback" +#endif + +enum ActivationType { + ACTIVATION_TYPE_DEFAULT = 0, + ACTIVATION_TYPE_PROCESS_LOOPBACK = 1, +}; + +enum LoopbackMode { + LOOPBACK_INCLUDE_TARGET_PROCESS_TREE = 0, + LOOPBACK_EXCLUDE_TARGET_PROCESS_TREE = 1, +}; + +struct ProcessLoopbackParams { + DWORD TargetProcessId; + LoopbackMode ProcessLoopbackMode; +}; + +struct ActivationParams { + ActivationType Type; + union { + ProcessLoopbackParams ProcessLoopback; + }; +}; + +typedef HRESULT(STDAPICALLTYPE *PfnActivateAudioInterfaceAsync)( + LPCWSTR, REFIID, PROPVARIANT *, + IActivateAudioInterfaceCompletionHandler *, + IActivateAudioInterfaceAsyncOperation **); + +static const GUID kIID_IAudioClient = + {0x1CB9AD4C, 0xDBFA, 0x4C32, {0xB1, 0x78, 0xC2, 0xF5, 0x68, 0xA7, 0x03, 0xB2}}; +static const GUID kIID_IAudioCaptureClient = + {0xC8ADBD64, 0xE71E, 0x48A0, {0xA4, 0xDE, 0x18, 0x5C, 0x39, 0x5C, 0xD3, 0x17}}; +static const GUID kIID_ICompletionHandler = + {0x41D949AB, 0x9862, 0x444A, {0x80, 0xF6, 0xC2, 0x61, 0x33, 0x4D, 0xA5, 0xEB}}; +static const GUID kIID_IAgileObject = + {0x94EA2B94, 0xE9CC, 0x49E0, {0xC0, 0xFF, 0xEE, 0x64, 0xCA, 0x8F, 0x5B, 0x90}}; + +static const int kRate = 48000; +static const int kChannels = 2; + +// --------------------------------------------------------------------------- +// Activation is asynchronous and answers through this handler. +// --------------------------------------------------------------------------- + +class Handler final : public IActivateAudioInterfaceCompletionHandler, public IAgileObject { +public: + HANDLE done = CreateEventW(nullptr, TRUE, FALSE, nullptr); + HRESULT result = E_FAIL; + IAudioClient *client = nullptr; + + HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **out) override { + if (out == nullptr) return E_POINTER; + if (IsEqualGUID(riid, IID_IUnknown) || IsEqualGUID(riid, kIID_ICompletionHandler)) { + *out = static_cast(this); + } else if (IsEqualGUID(riid, kIID_IAgileObject)) { + *out = static_cast(this); + } else { + *out = nullptr; + return E_NOINTERFACE; + } + AddRef(); + return S_OK; + } + + ULONG STDMETHODCALLTYPE AddRef() override { return InterlockedIncrement(&refs_); } + + ULONG STDMETHODCALLTYPE Release() override { + LONG n = InterlockedDecrement(&refs_); + if (n == 0) delete this; + return n; + } + + HRESULT STDMETHODCALLTYPE ActivateCompleted(IActivateAudioInterfaceAsyncOperation *op) override { + IUnknown *unknown = nullptr; + HRESULT activation = S_OK; + result = op->GetActivateResult(&activation, &unknown); + if (SUCCEEDED(result)) result = activation; + if (SUCCEEDED(result) && unknown != nullptr) { + result = unknown->QueryInterface(kIID_IAudioClient, reinterpret_cast(&client)); + } + if (unknown != nullptr) unknown->Release(); + SetEvent(done); + return S_OK; + } + +private: + ~Handler() { + if (done != nullptr) CloseHandle(done); + } + LONG refs_ = 1; +}; + +// --------------------------------------------------------------------------- +// Small helpers. +// --------------------------------------------------------------------------- + +static DWORD find_process(const wchar_t *name) { + HANDLE snap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + if (snap == INVALID_HANDLE_VALUE) return 0; + PROCESSENTRY32W entry; + entry.dwSize = sizeof(entry); + DWORD found = 0; + if (Process32FirstW(snap, &entry)) { + do { + if (_wcsicmp(entry.szExeFile, name) == 0) { + found = entry.th32ProcessID; + break; + } + } while (Process32NextW(snap, &entry)); + } + CloseHandle(snap); + return found; +} + +static void write_wav(const char *path, const std::vector &samples) { + FILE *f = fopen(path, "wb"); + if (f == nullptr) { + printf("Unable to write %s\n", path); + return; + } + const unsigned data_bytes = static_cast(samples.size() * sizeof(short)); + const unsigned byte_rate = static_cast(kRate * kChannels * 2); + const unsigned short block_align = static_cast(kChannels * 2); + const unsigned riff = 36 + data_bytes; + const unsigned fmt_size = 16; + const unsigned short pcm = 1; + const unsigned short ch = static_cast(kChannels); + const unsigned short bits = 16; + const unsigned rate_u = static_cast(kRate); + fwrite("RIFF", 1, 4, f); + fwrite(&riff, 4, 1, f); + fwrite("WAVEfmt ", 1, 8, f); + fwrite(&fmt_size, 4, 1, f); + fwrite(&pcm, 2, 1, f); + fwrite(&ch, 2, 1, f); + fwrite(&rate_u, 4, 1, f); + fwrite(&byte_rate, 4, 1, f); + fwrite(&block_align, 2, 1, f); + fwrite(&bits, 2, 1, f); + fwrite("data", 1, 4, f); + fwrite(&data_bytes, 4, 1, f); + fwrite(samples.data(), 1, data_bytes, f); + fclose(f); + printf("Wrote %s (%.1f s)\n", path, static_cast(samples.size()) / (kRate * kChannels)); +} + +static double to_dbfs(double rms) { + if (rms <= 0.0000001) return -120.0; + return 20.0 * log10(rms); +} + +// --------------------------------------------------------------------------- +// Just enough WebSocket to push binary frames at one local page. +// --------------------------------------------------------------------------- + +static bool sha1(const std::string &in, BYTE out[20]) { + BCRYPT_ALG_HANDLE alg = nullptr; + if (BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA1_ALGORITHM, nullptr, 0) != 0) return false; + BCRYPT_HASH_HANDLE hash = nullptr; + bool ok = BCryptCreateHash(alg, &hash, nullptr, 0, nullptr, 0, 0) == 0; + if (ok) ok = BCryptHashData(hash, reinterpret_cast(const_cast(in.data())), + static_cast(in.size()), 0) == 0; + if (ok) ok = BCryptFinishHash(hash, out, 20, 0) == 0; + if (hash != nullptr) BCryptDestroyHash(hash); + BCryptCloseAlgorithmProvider(alg, 0); + return ok; +} + +static std::string base64(const BYTE *data, DWORD len) { + DWORD chars = 0; + if (!CryptBinaryToStringA(data, len, CRYPT_STRING_BASE64 | CRYPT_STRING_NOCRLF, nullptr, &chars)) { + return std::string(); + } + std::string out(chars, '\0'); + if (!CryptBinaryToStringA(data, len, CRYPT_STRING_BASE64 | CRYPT_STRING_NOCRLF, &out[0], &chars)) { + return std::string(); + } + out.resize(strlen(out.c_str())); + return out; +} + +/// Compare without leaking, through timing, how many characters matched. +static bool same_secret(const std::string &a, const std::string &b) { + if (a.size() != b.size()) return false; + unsigned char diff = 0; + for (size_t i = 0; i < a.size(); i++) { + diff |= static_cast(a[i] ^ b[i]); + } + return diff == 0; +} + +static std::string header_value(const std::string &request, const std::string &name) { + std::string lower; + lower.reserve(request.size()); + for (char c : request) lower.push_back(static_cast(tolower(static_cast(c)))); + const std::string needle = "\r\n" + name + ":"; + const size_t at = lower.find(needle); + if (at == std::string::npos) return std::string(); + size_t start = at + needle.size(); + while (start < request.size() && (request[start] == ' ' || request[start] == '\t')) start++; + const size_t end = request.find("\r\n", start); + if (end == std::string::npos) return std::string(); + return request.substr(start, end - start); +} + +static std::string query_token(const std::string &request) { + const size_t line_end = request.find("\r\n"); + if (line_end == std::string::npos) return std::string(); + const std::string line = request.substr(0, line_end); + const size_t at = line.find("token="); + if (at == std::string::npos) return std::string(); + size_t end = at + 6; + while (end < line.size() && line[end] != '&' && line[end] != ' ') end++; + return line.substr(at + 6, end - (at + 6)); +} + +static bool send_all(SOCKET s, const char *data, size_t len) { + size_t sent = 0; + while (sent < len) { + const int n = send(s, data + sent, static_cast(len - sent), 0); + if (n <= 0) return false; + sent += static_cast(n); + } + return true; +} + +static bool ws_send_binary(SOCKET s, const void *payload, size_t len) { + char header[10]; + size_t header_len = 0; + header[0] = static_cast(0x82); // FIN + binary opcode + if (len < 126) { + header[1] = static_cast(len); + header_len = 2; + } else if (len <= 0xFFFF) { + header[1] = 126; + header[2] = static_cast((len >> 8) & 0xFF); + header[3] = static_cast(len & 0xFF); + header_len = 4; + } else { + header[1] = 127; + for (int i = 0; i < 8; i++) { + header[2 + i] = static_cast((static_cast(len) >> ((7 - i) * 8)) & 0xFF); + } + header_len = 10; + } + if (!send_all(s, header, header_len)) return false; + return send_all(s, static_cast(payload), len); +} + +/// Read the request, check the session token and the origin, answer the upgrade. +static bool ws_accept(SOCKET s, const std::string &token, const std::string &origin) { + std::string request; + char buf[1024]; + while (request.find("\r\n\r\n") == std::string::npos) { + if (request.size() > 8192) return false; + const int n = recv(s, buf, sizeof(buf), 0); + if (n <= 0) return false; + request.append(buf, static_cast(n)); + } + + if (!same_secret(query_token(request), token)) { + fprintf(stderr, "Connection refused: invalid token.\n"); + return false; + } + const std::string got_origin = header_value(request, "origin"); + if (got_origin != origin) { + fprintf(stderr, "Connection refused: unexpected origin \"%s\".\n", got_origin.c_str()); + return false; + } + const std::string key = header_value(request, "sec-websocket-key"); + if (key.empty()) return false; + + BYTE digest[20]; + if (!sha1(key + "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", digest)) return false; + const std::string accept = base64(digest, 20); + + const std::string response = + "HTTP/1.1 101 Switching Protocols\r\n" + "Upgrade: websocket\r\n" + "Connection: Upgrade\r\n" + "Sec-WebSocket-Accept: " + accept + "\r\n\r\n"; + return send_all(s, response.data(), response.size()); +} + +// --------------------------------------------------------------------------- +// Capture setup, shared by both modes. +// --------------------------------------------------------------------------- + +struct Capture { + IAudioClient *client = nullptr; + IAudioCaptureClient *capture = nullptr; + HANDLE ready = nullptr; +}; + +static bool start_capture(DWORD pid, bool include, Capture *out) { + ActivationParams params{}; + params.Type = ACTIVATION_TYPE_PROCESS_LOOPBACK; + params.ProcessLoopback.TargetProcessId = pid; + params.ProcessLoopback.ProcessLoopbackMode = + include ? LOOPBACK_INCLUDE_TARGET_PROCESS_TREE : LOOPBACK_EXCLUDE_TARGET_PROCESS_TREE; + + PROPVARIANT activation{}; + activation.vt = VT_BLOB; + activation.blob.cbSize = sizeof(params); + activation.blob.pBlobData = reinterpret_cast(¶ms); + + HMODULE dll = LoadLibraryW(L"mmdevapi.dll"); + if (dll == nullptr) { + fprintf(stderr, "mmdevapi.dll not found.\n"); + return false; + } + const auto activate = reinterpret_cast( + reinterpret_cast(GetProcAddress(dll, "ActivateAudioInterfaceAsync"))); + if (activate == nullptr) { + fprintf(stderr, "ActivateAudioInterfaceAsync is missing: this Windows is too old.\n" + "Process loopback needs Windows 10 build 20348 or later.\n"); + return false; + } + + Handler *handler = new Handler(); + IActivateAudioInterfaceAsyncOperation *op = nullptr; + HRESULT hr = activate(VIRTUAL_AUDIO_DEVICE_PROCESS_LOOPBACK, kIID_IAudioClient, &activation, handler, &op); + if (FAILED(hr)) { + fprintf(stderr, "ActivateAudioInterfaceAsync failed: 0x%08lX\n", static_cast(hr)); + return false; + } + WaitForSingleObject(handler->done, 5000); + if (op != nullptr) op->Release(); + if (FAILED(handler->result) || handler->client == nullptr) { + fprintf(stderr, "Activation refused: 0x%08lX\n", static_cast(handler->result)); + fprintf(stderr, "If that is 0x88890008, process loopback is not available on this machine.\n"); + return false; + } + out->client = handler->client; + handler->Release(); + + // The pseudo device has no mix format to ask for: we impose one. + WAVEFORMATEX wfx{}; + wfx.wFormatTag = WAVE_FORMAT_PCM; + wfx.nChannels = static_cast(kChannels); + wfx.nSamplesPerSec = kRate; + wfx.wBitsPerSample = 16; + wfx.nBlockAlign = static_cast(kChannels * 2); + wfx.nAvgBytesPerSec = kRate * wfx.nBlockAlign; + wfx.cbSize = 0; + + hr = out->client->Initialize(AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_STREAMFLAGS_LOOPBACK | AUDCLNT_STREAMFLAGS_EVENTCALLBACK, + 200000 /* 20 ms, en unites de 100 ns */, 0, &wfx, nullptr); + if (FAILED(hr)) { + fprintf(stderr, "IAudioClient::Initialize failed: 0x%08lX\n", static_cast(hr)); + return false; + } + out->ready = CreateEventW(nullptr, FALSE, FALSE, nullptr); + out->client->SetEventHandle(out->ready); + hr = out->client->GetService(kIID_IAudioCaptureClient, reinterpret_cast(&out->capture)); + if (FAILED(hr)) { + fprintf(stderr, "GetService failed: 0x%08lX\n", static_cast(hr)); + return false; + } + return true; +} + +// --------------------------------------------------------------------------- + +static int run_serve(Capture &cap, const std::string &origin) { + std::string token; + { + char line[512]; + if (fgets(line, sizeof(line), stdin) == nullptr) { + fprintf(stderr, "No token received on standard input.\n"); + return 1; + } + token = line; + while (!token.empty() && (token.back() == '\n' || token.back() == '\r')) token.pop_back(); + } + if (token.empty()) { + fprintf(stderr, "Empty token.\n"); + return 1; + } + + WSADATA wsa; + if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0) { + fprintf(stderr, "WSAStartup failed.\n"); + return 1; + } + const SOCKET listener = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + if (listener == INVALID_SOCKET) { + fprintf(stderr, "socket() failed.\n"); + return 1; + } + sockaddr_in addr{}; + addr.sin_family = AF_INET; + addr.sin_port = 0; // the system picks, so the port cannot be guessed in advance + InetPtonA(AF_INET, "127.0.0.1", &addr.sin_addr); // loopback alone, never every interface + if (bind(listener, reinterpret_cast(&addr), sizeof(addr)) != 0 || listen(listener, 1) != 0) { + fprintf(stderr, "bind/listen failed.\n"); + return 1; + } + sockaddr_in bound{}; + int bound_len = sizeof(bound); + getsockname(listener, reinterpret_cast(&bound), &bound_len); + + // NVDA reads this line to know where to point the page. + printf("PORT %d\n", ntohs(bound.sin_port)); + fflush(stdout); + + const SOCKET client = accept(listener, nullptr, nullptr); + closesocket(listener); + if (client == INVALID_SOCKET) { + fprintf(stderr, "accept() failed.\n"); + return 1; + } + if (!ws_accept(client, token, origin)) { + closesocket(client); + return 1; + } + fprintf(stderr, "Page connected, streaming.\n"); + + cap.client->Start(); + std::vector silence(static_cast(kRate / 100) * kChannels, 0); + bool alive = true; + while (alive) { + WaitForSingleObject(cap.ready, 200); + for (;;) { + BYTE *data = nullptr; + UINT32 frames = 0; + DWORD flags = 0; + const HRESULT hr = cap.capture->GetBuffer(&data, &frames, &flags, nullptr, nullptr); + if (hr == AUDCLNT_S_BUFFER_EMPTY || FAILED(hr) || frames == 0) break; + const size_t bytes = static_cast(frames) * kChannels * 2; + // Silent packets still have to go out: the page rebuilds a stream from + // this and its clock must keep being fed, or the track stalls. + if ((flags & AUDCLNT_BUFFERFLAGS_SILENT) != 0) { + if (silence.size() * 2 < bytes) silence.assign(bytes / 2, 0); + alive = ws_send_binary(client, silence.data(), bytes); + } else { + alive = ws_send_binary(client, data, bytes); + } + cap.capture->ReleaseBuffer(frames); + if (!alive) break; + } + } + cap.client->Stop(); + closesocket(client); + fprintf(stderr, "Page disconnected, stopping.\n"); + return 0; +} + +static int run_measure(Capture &cap, DWORD pid, bool include, int seconds, const std::string &out) { + printf(include ? "Capturing ONLY the sound of PID %lu, for %d s.\n" + : "Capturing all the system sound EXCEPT that of PID %lu, for %d s.\n", + pid, seconds); + printf("Level per second, in dBFS. -120 means complete silence.\n\n"); + + cap.client->Start(); + + std::vector recorded; + const DWORD started = GetTickCount(); + double window_sum = 0.0; + long window_count = 0; + double peak = -120.0; + int printed = 0; + + while (static_cast((GetTickCount() - started) / 1000) < seconds) { + WaitForSingleObject(cap.ready, 200); + for (;;) { + BYTE *data = nullptr; + UINT32 frames = 0; + DWORD flags = 0; + const HRESULT hr = cap.capture->GetBuffer(&data, &frames, &flags, nullptr, nullptr); + if (hr == AUDCLNT_S_BUFFER_EMPTY || FAILED(hr) || frames == 0) break; + const short *pcm = reinterpret_cast(data); + const size_t count = static_cast(frames) * kChannels; + if ((flags & AUDCLNT_BUFFERFLAGS_SILENT) != 0) { + window_count += static_cast(count); + if (!out.empty()) recorded.insert(recorded.end(), count, 0); + } else { + for (size_t i = 0; i < count; i++) { + const double v = pcm[i] / 32768.0; + window_sum += v * v; + } + window_count += static_cast(count); + if (!out.empty()) recorded.insert(recorded.end(), pcm, pcm + count); + } + cap.capture->ReleaseBuffer(frames); + } + const int elapsed = static_cast((GetTickCount() - started) / 1000); + if (elapsed > printed && window_count > 0) { + const double db = to_dbfs(sqrt(window_sum / window_count)); + if (db > peak) peak = db; + printf(" %2d s : %7.1f dBFS\n", elapsed, db); + fflush(stdout); + window_sum = 0.0; + window_count = 0; + printed = elapsed; + } + } + + cap.client->Stop(); + printf("\nLoudest level observed: %.1f dBFS\n", peak); + if (peak < -90.0) printf("Silence: nothing was captured.\n"); + if (!out.empty()) write_wav(out.c_str(), recorded); + return 0; +} + +// --------------------------------------------------------------------------- + +int wmain(int argc, wchar_t **argv) { + DWORD pid = 0; + int seconds = 10; + bool include = false; + bool serve = false; + std::string out; + std::string origin; + + for (int i = 1; i < argc; i++) { + const std::wstring a = argv[i]; + auto narrow = [&](int index) { + char buf[512]; + WideCharToMultiByte(CP_UTF8, 0, argv[index], -1, buf, sizeof(buf), nullptr, nullptr); + return std::string(buf); + }; + if (a == L"--pid" && i + 1 < argc) { + pid = static_cast(_wtoi(argv[++i])); + } else if (a == L"--process" && i + 1 < argc) { + pid = find_process(argv[++i]); + } else if (a == L"--seconds" && i + 1 < argc) { + seconds = _wtoi(argv[++i]); + } else if (a == L"--include") { + include = true; + } else if (a == L"--serve") { + serve = true; + } else if (a == L"--origin" && i + 1 < argc) { + origin = narrow(++i); + } else if (a == L"--out" && i + 1 < argc) { + out = narrow(++i); + } else { + printf("Usage: nvda_audio_capture [--process nvda.exe | --pid N]\n" + " [--seconds N] [--include] [--out file.wav]\n" + " [--serve --origin http://127.0.0.1:PORT]\n" + "\n" + "By default, captures all the system sound EXCEPT that of the target\n" + "process, and reports the level once per second.\n" + "--include does the opposite: only that process, which is handy to check\n" + "the right one is being targeted.\n" + "--serve opens a WebSocket on 127.0.0.1, prints \"PORT n\" on standard\n" + "output and streams the PCM. The session token is read from standard\n" + "input, and the given origin is the only one accepted.\n"); + return 1; + } + } + + if (serve && origin.empty()) { + fprintf(stderr, "--serve requires --origin.\n"); + return 1; + } + + if (pid == 0) { + pid = find_process(L"nvda.exe"); + if (pid == 0) { + fprintf(stderr, "NVDA not found. Use --pid or --process.\n"); + return 1; + } + if (!serve) printf("NVDA found, PID %lu\n", pid); + } + + const HRESULT hr = CoInitializeEx(nullptr, COINIT_MULTITHREADED); + if (FAILED(hr)) { + fprintf(stderr, "CoInitializeEx failed: 0x%08lX\n", static_cast(hr)); + return 1; + } + + Capture cap; + if (!start_capture(pid, include, &cap)) return 1; + + const int rc = serve ? run_serve(cap, origin) : run_measure(cap, pid, include, seconds, out); + + if (cap.capture != nullptr) cap.capture->Release(); + if (cap.client != nullptr) cap.client->Release(); + CoUninitialize(); + return rc; +}