Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Created branch core-8-0-2-synthetic |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | core-8-0-2-synthetic | core-8-0-2 |
Files: | files | file ages | folders |
SHA1: |
8ff5cdf418c32c02df18d1b756c3798f |
User & Date: | cvs2fossil 1998-04-29 17:09:47 |
Context
1998-04-29
| ||
17:09 | Created branch core-8-0-2-synthetic Closed-Leaf check-in: 8ff5cdf418 user: cvs2fossil tags: core-8-0-2-synthetic, core-8-0-2 | |
17:09 | added call to TclpFinalize check-in: fd32610091 user: stanton tags: trunk | |
Changes
Changes to generic/tclEvent.c.
︙ | ︙ | |||
536 537 538 539 540 541 542 | /* * Now finalize the Tcl execution environment. Note that this must be done * after the exit handlers, because there are order dependencies. */ TclFinalizeCompExecEnv(); TclFinalizeEnvironment(); | < | 536 537 538 539 540 541 542 543 544 545 546 547 548 549 | /* * Now finalize the Tcl execution environment. Note that this must be done * after the exit handlers, because there are order dependencies. */ TclFinalizeCompExecEnv(); TclFinalizeEnvironment(); firstExitPtr = NULL; tclInExit = 0; } /* *---------------------------------------------------------------------- * |
︙ | ︙ |
Added generic/tclInitScript.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | /* * tclInitScript.h -- * * This file contains Unix & Windows common init script * It is not used on the Mac. (the mac init script is in tclMacInit.c) * * Copyright (c) 1998 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: %Z% $Id: tclInitScript.h,v 1.1 1998/06/27 22:11:40 welch Exp $ */ /* * The following string is the startup script executed in new * interpreters. It looks on disk in (way too many) different directories * for a script "init.tcl" that is compatible with this version * of Tcl. The init.tcl script does all of the real work of * initialization. */ static char initScript[] = "if {[info proc tclInit]==\"\"} {\n\ proc tclInit {} {\n\ global tcl_library tcl_version tcl_patchLevel errorInfo\n\ global tcl_pkgPath\n\ rename tclInit {}\n\ set errors {}\n\ set dirs {}\n\ if {[info exists env(TCL_LIBRARY)]} {\n\ lappend dirs $env(TCL_LIBRARY)\n\ }\n\ lappend dirs $tcl_library\n\ set parentDir [file dirname [file dirname [info nameofexecutable]]]\n\ lappend dirs [file join $parentDir lib/tcl$tcl_version]\n\ if {[string match {*[ab]*} $tcl_patchLevel]} {\n\ set lib tcl$tcl_patchLevel\n\ } else {\n\ set lib tcl$tcl_version\n\ }\n\ lappend dirs [file join [file dirname [file dirname [pwd]]] $lib/library]\n\ lappend dirs [file join [file dirname [pwd]] library]\n\ lappend dirs [file join [file dirname $parentDir] $lib/library]\n\ lappend dirs [file join $parentDir library]\n\ foreach i $dirs {\n\ set tcl_library $i\n\ set tclfile [file join $i init.tcl]\n\ if {[file exists $tclfile]} {\n\ if {![catch {uplevel #0 [list source $tclfile]} msg]} {\n\ lappend tcl_pkgPath [file dirname $i]\n\ return\n\ } else {\n\ append errors \"$tclfile: $msg\n$errorInfo\n\"\n\ }\n\ }\n\ }\n\ set msg \"Can't find a usable init.tcl in the following directories: \n\"\n\ append msg \" $dirs\n\n\"\n\ append msg \"$errors\n\n\"\n\ append msg \"This probably means that Tcl wasn't installed properly.\n\"\n\ error $msg\n\ }\n\ }\n\ tclInit"; |
Added generic/tclResolve.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | /* * tclResolve.c -- * * Contains hooks for customized command/variable name resolution * schemes. These hooks allow extensions like [incr Tcl] to add * their own name resolution rules to the Tcl language. Rules can * be applied to a particular namespace, to the interpreter as a * whole, or both. * * Copyright (c) 1998 Lucent Technologies, Inc. * * Originally implemented by * Michael J. McLennan * Bell Labs Innovations for Lucent Technologies * [email protected] * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: %Z% $Id: tclResolve.c,v 1.1 1998/06/28 21:41:31 welch Exp $ */ #include "tclInt.h" /* * Declarations for procedures local to this file: */ static void BumpCmdRefEpochs _ANSI_ARGS_((Namespace *nsPtr)); /* *---------------------------------------------------------------------- * * Tcl_AddInterpResolvers -- * * Adds a set of command/variable resolution procedures to an * interpreter. These procedures are consulted when commands * are resolved in Tcl_FindCommand, and when variables are * resolved in TclLookupVar and LookupCompiledLocal. Each * namespace may also have its own set of resolution procedures * which take precedence over those for the interpreter. * * When a name is resolved, it is handled as follows. First, * the name is passed to the resolution procedures for the * namespace. If not resolved, the name is passed to each of * the resolution procedures added to the interpreter. Finally, * if still not resolved, the name is handled using the default * Tcl rules for name resolution. * * Results: * Returns pointers to the current name resolution procedures * in the cmdProcPtr, varProcPtr and compiledVarProcPtr * arguments. * * Side effects: * If a compiledVarProc is specified, this procedure bumps the * compileEpoch for the interpreter, forcing all code to be * recompiled. If a cmdProc is specified, this procedure bumps * the cmdRefEpoch in all namespaces, forcing commands to be * resolved again using the new rules. * *---------------------------------------------------------------------- */ void Tcl_AddInterpResolvers(interp, name, cmdProc, varProc, compiledVarProc) Tcl_Interp *interp; /* Interpreter whose name resolution * rules are being modified. */ char *name; /* Name of this resolution scheme. */ Tcl_ResolveCmdProc *cmdProc; /* New procedure for command * resolution */ Tcl_ResolveVarProc *varProc; /* Procedure for variable resolution * at runtime */ Tcl_ResolveCompiledVarProc *compiledVarProc; /* Procedure for variable resolution * at compile time. */ { Interp *iPtr = (Interp*)interp; ResolverScheme *resPtr; /* * Since we're adding a new name resolution scheme, we must force * all code to be recompiled to use the new scheme. If there * are new compiled variable resolution rules, bump the compiler * epoch to invalidate compiled code. If there are new command * resolution rules, bump the cmdRefEpoch in all namespaces. */ if (compiledVarProc) { iPtr->compileEpoch++; } if (cmdProc) { BumpCmdRefEpochs(iPtr->globalNsPtr); } /* * Look for an existing scheme with the given name. If found, * then replace its rules. */ for (resPtr = iPtr->resolverPtr; resPtr != NULL; resPtr = resPtr->nextPtr) { if (*name == *resPtr->name && strcmp(name, resPtr->name) == 0) { resPtr->cmdResProc = cmdProc; resPtr->varResProc = varProc; resPtr->compiledVarResProc = compiledVarProc; return; } } /* * Otherwise, this is a new scheme. Add it to the FRONT * of the linked list, so that it overrides existing schemes. */ resPtr = (ResolverScheme *) ckalloc(sizeof(ResolverScheme)); resPtr->name = (char*)ckalloc((unsigned)(strlen(name)+1)); strcpy(resPtr->name, name); resPtr->cmdResProc = cmdProc; resPtr->varResProc = varProc; resPtr->compiledVarResProc = compiledVarProc; resPtr->nextPtr = iPtr->resolverPtr; iPtr->resolverPtr = resPtr; } /* *---------------------------------------------------------------------- * * Tcl_GetInterpResolvers -- * * Looks for a set of command/variable resolution procedures with * the given name in an interpreter. These procedures are * registered by calling Tcl_AddInterpResolvers. * * Results: * If the name is recognized, this procedure returns non-zero, * along with pointers to the name resolution procedures in * the Tcl_ResolverInfo structure. If the name is not recognized, * this procedure returns zero. * * Side effects: * None. * *---------------------------------------------------------------------- */ int Tcl_GetInterpResolvers(interp, name, resInfoPtr) Tcl_Interp *interp; /* Interpreter whose name resolution * rules are being queried. */ char *name; /* Look for a scheme with this name. */ Tcl_ResolverInfo *resInfoPtr; /* Returns pointers to the procedures, * if found */ { Interp *iPtr = (Interp*)interp; ResolverScheme *resPtr; /* * Look for an existing scheme with the given name. If found, * then return pointers to its procedures. */ for (resPtr = iPtr->resolverPtr; resPtr != NULL; resPtr = resPtr->nextPtr) { if (*name == *resPtr->name && strcmp(name, resPtr->name) == 0) { resInfoPtr->cmdResProc = resPtr->cmdResProc; resInfoPtr->varResProc = resPtr->varResProc; resInfoPtr->compiledVarResProc = resPtr->compiledVarResProc; return 1; } } return 0; } /* *---------------------------------------------------------------------- * * Tcl_RemoveInterpResolvers -- * * Removes a set of command/variable resolution procedures * previously added by Tcl_AddInterpResolvers. The next time * a command/variable name is resolved, these procedures * won't be consulted. * * Results: * Returns non-zero if the name was recognized and the * resolution scheme was deleted. Returns zero otherwise. * * Side effects: * If a scheme with a compiledVarProc was deleted, this procedure * bumps the compileEpoch for the interpreter, forcing all code * to be recompiled. If a scheme with a cmdProc was deleted, * this procedure bumps the cmdRefEpoch in all namespaces, * forcing commands to be resolved again using the new rules. * *---------------------------------------------------------------------- */ int Tcl_RemoveInterpResolvers(interp, name) Tcl_Interp *interp; /* Interpreter whose name resolution * rules are being modified. */ char *name; /* Name of the scheme to be removed. */ { Interp *iPtr = (Interp*)interp; ResolverScheme **prevPtrPtr, *resPtr; /* * Look for an existing scheme with the given name. */ prevPtrPtr = &iPtr->resolverPtr; for (resPtr = iPtr->resolverPtr; resPtr != NULL; resPtr = resPtr->nextPtr) { if (*name == *resPtr->name && strcmp(name, resPtr->name) == 0) { break; } prevPtrPtr = &resPtr->nextPtr; } /* * If we found the scheme, delete it. */ if (resPtr) { /* * If we're deleting a scheme with compiled variable resolution * rules, bump the compiler epoch to invalidate compiled code. * If we're deleting a scheme with command resolution rules, * bump the cmdRefEpoch in all namespaces. */ if (resPtr->compiledVarResProc) { iPtr->compileEpoch++; } if (resPtr->cmdResProc) { BumpCmdRefEpochs(iPtr->globalNsPtr); } *prevPtrPtr = resPtr->nextPtr; ckfree(resPtr->name); ckfree((char *) resPtr); return 1; } return 0; } /* *---------------------------------------------------------------------- * * BumpCmdRefEpochs -- * * This procedure is used to bump the cmdRefEpoch counters in * the specified namespace and all of its child namespaces. * It is used whenever name resolution schemes are added/removed * from an interpreter, to invalidate all command references. * * Results: * None. * * Side effects: * Bumps the cmdRefEpoch in the specified namespace and its * children, recursively. * *---------------------------------------------------------------------- */ static void BumpCmdRefEpochs(nsPtr) Namespace *nsPtr; /* Namespace being modified. */ { Tcl_HashEntry *entry; Tcl_HashSearch search; Namespace *childNsPtr; nsPtr->cmdRefEpoch++; for (entry = Tcl_FirstHashEntry(&nsPtr->childTable, &search); entry != NULL; entry = Tcl_NextHashEntry(&search)) { childNsPtr = (Namespace *) Tcl_GetHashValue(entry); BumpCmdRefEpochs(childNsPtr); } } /* *---------------------------------------------------------------------- * * Tcl_SetNamespaceResolvers -- * * Sets the command/variable resolution procedures for a namespace, * thereby changing the way that command/variable names are * interpreted. This allows extension writers to support different * name resolution schemes, such as those for object-oriented * packages. * * Command resolution is handled by a procedure of the following * type: * * typedef int (Tcl_ResolveCmdProc) _ANSI_ARGS_(( * Tcl_Interp* interp, char* name, Tcl_Namespace *context, * int flags, Tcl_Command *rPtr)); * * Whenever a command is executed or Tcl_FindCommand is invoked * within the namespace, this procedure is called to resolve the * command name. If this procedure is able to resolve the name, * it should return the status code TCL_OK, along with the * corresponding Tcl_Command in the rPtr argument. Otherwise, * the procedure can return TCL_CONTINUE, and the command will * be treated under the usual name resolution rules. Or, it can * return TCL_ERROR, and the command will be considered invalid. * * Variable resolution is handled by two procedures. The first * is called whenever a variable needs to be resolved at compile * time: * * typedef int (Tcl_ResolveCompiledVarProc) _ANSI_ARGS_(( * Tcl_Interp* interp, char* name, Tcl_Namespace *context, * Tcl_ResolvedVarInfo *rPtr)); * * If this procedure is able to resolve the name, it should return * the status code TCL_OK, along with variable resolution info in * the rPtr argument; this info will be used to set up compiled * locals in the call frame at runtime. The procedure may also * return TCL_CONTINUE, and the variable will be treated under * the usual name resolution rules. Or, it can return TCL_ERROR, * and the variable will be considered invalid. * * Another procedure is used whenever a variable needs to be * resolved at runtime but it is not recognized as a compiled local. * (For example, the variable may be requested via * Tcl_FindNamespaceVar.) This procedure has the following type: * * typedef int (Tcl_ResolveVarProc) _ANSI_ARGS_(( * Tcl_Interp* interp, char* name, Tcl_Namespace *context, * int flags, Tcl_Var *rPtr)); * * This procedure is quite similar to the compile-time version. * It returns the same status codes, but if variable resolution * succeeds, this procedure returns a Tcl_Var directly via the * rPtr argument. * * Results: * Nothing. * * Side effects: * Bumps the command epoch counter for the namespace, invalidating * all command references in that namespace. Also bumps the * resolver epoch counter for the namespace, forcing all code * in the namespace to be recompiled. * *---------------------------------------------------------------------- */ void Tcl_SetNamespaceResolvers(namespacePtr, cmdProc, varProc, compiledVarProc) Tcl_Namespace *namespacePtr; /* Namespace whose resolution rules * are being modified. */ Tcl_ResolveCmdProc *cmdProc; /* Procedure for command resolution */ Tcl_ResolveVarProc *varProc; /* Procedure for variable resolution * at runtime */ Tcl_ResolveCompiledVarProc *compiledVarProc; /* Procedure for variable resolution * at compile time. */ { Namespace *nsPtr = (Namespace*)namespacePtr; /* * Plug in the new command resolver, and bump the epoch counters * so that all code will have to be recompiled and all commands * will have to be resolved again using the new policy. */ nsPtr->cmdResProc = cmdProc; nsPtr->varResProc = varProc; nsPtr->compiledVarResProc = compiledVarProc; nsPtr->cmdRefEpoch++; nsPtr->resolverEpoch++; } /* *---------------------------------------------------------------------- * * Tcl_GetNamespaceResolvers -- * * Returns the current command/variable resolution procedures * for a namespace. By default, these procedures are NULL. * New procedures can be installed by calling * Tcl_SetNamespaceResolvers, to provide new name resolution * rules. * * Results: * Returns non-zero if any name resolution procedures have been * assigned to this namespace; also returns pointers to the * procedures in the Tcl_ResolverInfo structure. Returns zero * otherwise. * * Side effects: * None. * *---------------------------------------------------------------------- */ int Tcl_GetNamespaceResolvers(namespacePtr, resInfoPtr) Tcl_Namespace *namespacePtr; /* Namespace whose resolution rules * are being modified. */ Tcl_ResolverInfo *resInfoPtr; /* Returns: pointers for all * name resolution procedures * assigned to this namespace. */ { Namespace *nsPtr = (Namespace*)namespacePtr; resInfoPtr->cmdResProc = nsPtr->cmdResProc; resInfoPtr->varResProc = nsPtr->varResProc; resInfoPtr->compiledVarResProc = nsPtr->compiledVarResProc; if (nsPtr->cmdResProc != NULL || nsPtr->varResProc != NULL || nsPtr->compiledVarResProc != NULL) { return 1; } return 0; } |
Added mac/tclMacProjects.sea.hqx.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 | (This file must be converted with BinHex 4.0) :#d&bBfKTGQ8ZFf9K!%&38%aKGA0d)!#3!pUJ!!"Cp$l[8dP8)3!&!!$DS(*-BA8 #Q3#3!aDCQ3!0$d*239p8Bfa6D'9XE(-ZZ3"-VCS!N!1!!*!%!h0@P#[!!*!8-,- !N!6rN!4069"b3eG*43%!Vlj[`l('IK`!N!8"eHJ!N!B`,3!!Dh)!N!C`@JB!a3P hDfF4GYXV6Rj,YRLbciA6)YaSYmdBBB3r1DkYACkXpICkQhjj4IB4lTVKQBGRKqp XValPCi-mb[-l#5FmBq6ffAYNNddBi@56IFDfecNJqjb3!1-jb)rF2Sq`E8IBIMY +YTfG(GNfN!$`*$`c,`TdH)'Sec8SMh!h1HlP%dSfq8difB56b6ibf4-m*b[!1XM VZV`'0Y&T6RM(E['phSAYXfIIZFf&8qieLCAA'pYqjhAqiQQ0mZ,P`!EfGRDChm$ ,Jlba[EHBmDXcmhZcphTcNVhAfCRCb'pJ%`!XJ)"VP0QS3HraFf[ZM(rA%EiF@3M [f!,!)Ei$m2)G9#8-!f2-2XBiFiec6mNipkicj[9ej,c5b6JiHYq'F0"E8@idr,$ KPKVK'Um50h-G+9qa03YUe2j2A@R-2"Yrc9hCdBSa26-qiUp#aTda6qE'3R*VF2A XYrZ18VNp(0NjH[G,QL8(1CrUV(GQCXlDeNf[0ef1'4qI52ZhFBFIS3&lj([&jFD F1-kI6XP[QB9GA5[qpCBGAai)eC-5--Id`L8`4lG1Mc)cCa6#@VN5lZa4aF`eqcY hCNDEjkb*bTcVr0MC[-pF-apYZ-UB4`[T&*0'Ta4$!@BNZ1KfQ+",R4ZFXFc68a2 NpkD+Fd%hR!pGbjNjq*pNHr6rB5N%L0E!PE"irI9U1[L1a$pFKqqNLI,dpfMmPa4 l&ZG&BUr&IeQaAd`klRfrLrpZaIi-ri*!L[8X8@`BKk@+h4H(I43l(BGPLMd1Kq@ +ABl$[SUp6A0$l*Gaf&qacq&`J',rLX-+J5!p2P#aZq"`N!"Laq&`X',RiA#)BNr (i9$&ASl$5XAHUANKpZXip#Rf44ckEDc!f4K3E!5(3FAZMF13!'+Ri8$rL6d@"qi KpP`F4KA6E$4hZ'+rJ-1BBVq(`lKLIih$K'#B'Cj8M,j-+FC-Jb[%6XAK6SS"AG" GBY5p@M(UAU2Bqh$3Z'&LRm5"f5(f0cMFeFC+R0Zl+8E0KbYf&!j(+2C!(1kZ'*K f$m@HMm-p&IYTi3qaRm2KqaAl(4c@+[DA10c,aVU))m`8-HD"HSQ4Far&6X%"E#( 'I"[-e,'RiV"1X5Y`@+rBQh(BS0J(F$KD-AT`M'+Iaf'MB[q!`reYV%aX1PBajZ! "LP%r1%1-qIX"a4k&`r'+24-(`H8bmHB%aGk+`bE&2SM$CX8qLm1*L[f&X"Vi"30 19J`-S2r%Q&YU*dEIQ8GLR,FSKQi%,K%$rakNf)rM!#B6!rr18!cmHl"LAm,K)6E @6BarU'*JiTQ+-HH)+F6Sa9E&YZ(`F-@HJi2@A8b-ZXp@l'G`1%HahmEK%BU"3iq dX4jbLA-9!a1CGf,dQeNM4[e`'@*2`S'H%hX*$KFSTMP5VUBB24D+em1j4dFMpXm iJ0[k@d)qF*&Li"hp*-E-#hpE`Ml#CBKGJX2M&AXP$Np3l'Gad&UGLB%hp)IBRq$ `C"YE5XiQl'iTkhk+BQ!aQ%B-A2KKaHJep4)$Bi5",J@AcCfR'(8clm4q!iGR+2C (1(!RXDrL!1r6hclNBjFU"UpiYQ*J*I0,$,b!8a#MGmp6M*Qq6,(hi!$q%rXd$Lp 3l"paH+'0,5-hJrF4BlCHT"Lip@,&Q$d`R"Kh-F[%hSl$5aAl64aq9,%raH&P0VD FR2E(&)1$JEh%i!R-#$&`N!!j*FDmd80L2iR$6bMfmcJ3*rBC((j+XAr"i98fYLr jj+X9Jbr"GiL"lh!ZBQ!3R*SBFr,r&)1AA+RBVq$`1XAq')IAfpKqa)Bh+!Ef[e% ajZC0LP%VY4!$+pqL',J!eb$'2-#[LEd,"qD)f+rL!$B5qd-FhU(Beh'!&qK[Ir* YlL3'*lYD-IMB0BU"rH!j-IVpEXAS!9K%M&N#(iL4!amN"[CIUaLFicSE1i#Fqlf +dA[QN4MF&Hj-$-i'Rb8'2d'[)!B@[ema-1+A&+1rF%"L(m8"rN8-[[8K'eY"M32 pJ4KFRGNN"KBb,m5SpF1+JHQrTKKcpK(&Q!fi"M(b`@&LB"ABTEm$bHhS!c(dKBm T"Urq,FA!4@D%'(`$(N%-(2biBX`cqJ`aD[Z%BZJdF(cp'ARN8iV"-m"RBR!im)d B2"-YJKLF"dj+$)cqIFA!Lcp3M*k#'m6q(!Hd'[dG62d)EN8-r3,H33`H$Vi4Jd0 q36'i$Cb)'$M"M"!$Dp"KL$%Ep*-Bm`T@k1m3kP$86Jbmrl*Lc#[h%)1VS6-3Jrr mP@*J0hS,-E!$lNQ-'IKEaH"*Al'a3kN(%#H'Y[)eaH#&IkFBq2IhLX&rd"1)-6I `)',d%S`P4XhrC'-V@4mmP"JB$pFJKKD!pN8-MLUkjNV`)L[jV36H@'9c*6"!5Ip EL9iVkAqpd1#-ANG-kd&+qPm[G!dPrDmA2&P*rqX&(e25rhSaLdVkAbr`5%Rrkd@ [PI5r2ZKa5[TI(r3**If[$aa&5IrV!rG@d[rk`1f8p,mqB*L5rYF($&A5rrS`cdV kAcpU9Y,rqU%(+1PrrF!9*If[(l1ZT2reJbFVkArpi(K+qPmrZ)H5rYF26&65rrU ""8Vkh`"kTk6r$8$l8G,r"X!jP25r!I!!*Ie[J)i6dIm'J#Y+qYm!q)Q5rMF!A&( 5r`B`fdVkhb"kT+6r$A*Z42mEK*DN26pH6'XI5[VI),LkN[ih#+kST2m0JXmSkAq $`&-Pr@m)FkkNr`fK&dVkha!iXC,q0`5p4NRr'`)H+qPr3j`EdIq'`018p,mKF!B Pr@m)q+LNr`eMKTAd[f&LM1Kr`qbPk(r$d(f8p,pKk!Y+qYm`q+f5rMF-IU@Nr`f $$bMTIb2!)+-Y%p2cSk6rM5"I5ImEJCkPT2q0J*mTkAmMi'G+qYm)HbRkh`MR8[3 r4P9*ra[&$#[TIk2%'0(r4U&R+HPrSqbIk(qMR%A4rdE")CAd[e&`&5ApEa9a4I5 r9CKY*Ie[&6&Bp,p9R(A4reC"Ce(5reC")e$5reB4)dAr@dAF%[e[$2LST2q0B9D 9p,maD"j+qYmB0#QMb4262&**raXMaS[q0`CZUD6rMB(E+1Prim"P*Ie[(,LMT2q 0BfD8p,paR*Ad[h&S48VkhcJd(5ApEjai,rVI1,LhN[ih$TkTT2q0JbmTkAm6l+[ SIa2%IY(r*SKKS[p0S0G+qYm%H*+5rMF"R8Y*rjZ!&U1Nrde!4e$5rbD)Ck,r64$ 242qE"$p4d[mQ@EISIj2!,10P)+ER8dRrQd6p5[VI*1X@r@m5@Sq5rMI*ZNArQ`3 I9Y,rTX#eP25r+I!"*Ie[L[a*p,mTp&T*rjZ#hSI,cAcSC2"d0$5d-r#$rY-,q!V i!1k!5F`)Xd62k#'i$rq!&c#6p)CjSAIJ+"`"$!+I`"2`"H`"%jKrCKhmT#p`1cJ 1r!VZJJi*jdCV4-GMpTJ$X*UCTkrSNfLAD*!!F%Rd4rJ(2!LH#HpN&TJ0H"9B#Xk #`A"-H"6m!-i,9i&$J2R`%2J(A!2FKcI!&q!9F"&i"h`'AJ9(KXr!Uq#UF%*i*0` 6EJ0r3JY&!dAl4-Y$ki4[`I-&aidq$iH%1m**i@CSRq!9f!'[K8[#+q!C%!ii-h- -P`5AiEA`G2JmQ!f[K#I$CH%Xm""`'K`'Fm&TF"*X"8[J)pEI!rE#Hm%fX!jF!mr Jf["mq$6i$rq(ki1p`K[rieZ"EJPAEAlS9CSAGf2@M%6`8M2q`"hR3ffpj,C(ejd d2RleZ3rrNAKMjadFX$0!(qQ2p58aUm`kr@)ZQ&G`"b`3rF&Cm"N6QE(,kAiXAeB qVC`0bP(N4HeRqQ)5`AGkVZ3ZkcMCXY,6Gmp(%4A0jjq"lXrNEmifr9lb-3k6R"[ pEq3"R6q"rh(mMq&r'2mMq"r&IcrqbrK(Mac!rd(ilm(rF[`[`rq8E'b-'b2)H0U aP0,-5$+ZM#RMb2JbbSbMb%$1Jkq-U64r0%HhjM$m6q'I+8!"+H0r&2qVm$q'r`P 1K[l[arm!rR[`$e(+laj8!`29VNF!aC3`)A5I+D$l6#16`'5)%1CBq!$*e@b3!2l [CGH`2QVS08*LH0+QbD$"D54SRFRT@9l+YGFEhQTI&,Fa**`8@Zp0jI,#LP2l+d' 29ald'L@!9[[1'"H0FG1k1`1hU[IGLX)-,)2*ZA,G2HFF1MlqK&`!`@HYN!#1Y`p )G`&iY4dJRak"lS,A'2,FiLlVmYahAhcV5U9m!Yl&cRchbXTDIj!!+bUfp)%$&%# i$+U("Ql21efPY$2I2*ra'+%8CrpYLIkRqGUL1IZQ,QY*lV6RE1'heH-(-a-iRA3 #9"Pr'[)1l[1VpF"cPa3lA$#eSER4m0(eHNA'!keZR4ANECFa0aCJcQ'H6T%*bff !3q%m'"R)3`XjD-D@arq"q$mBraLfLrJr"2p,mEm2rPIL[i6r,[bAmGq0rfAihfp #99,',`IqQG+NErl12$@+bmRKSRp#b*Qaec"qV4crSrb-*3G3'X"VG&q-IVHX3I% jq#cZ"M6G,E$f`"f`S-(+%IY2b4%EPKB@,T+4)lUXqR88NPKp-ND8'pI&[-kjbhN fmjXYUab`e''P`d+(G3il'TBlV(0BjV$+BGR$NSG9$SXFeMJXF9MKX-"KIF2bKY8 0LaXf-baY@0Q`X'PV(jBJV%"BJ,$qB#R#-S6e"mX29KmX4eL+X2TJmF(DJk8(+`m @(U`l@(D`kQ$4`CU$*BF*`)*MV%P)dpJ0N!$!ND@4rC'CX5&J8F"U!1iKC@0A`%k !A3!l!2)eGJ#NGq4Zl!B!!$)2NVD9Xm%Aj'rNFb`0@"Z3!,@4bC((X5TJZF0UKm8 1Daf@25aj@1XdDTQ"aG+R,AX'`$4)BTh$-SG9$SXFeMJXF9MKX-"KIF2bKYA0@0b ``fPT(kX3&L'X39L1X"4K$F)5K"8)5a)@%'a(f$q`"'%&`J+%p3I,$eBI,$jBHl$ dB1A"`S0e"mX19KdX6-BbJX8JXS"J8F#@J"8%f`Ab1pB&,!YBBV&,BeI&(Jf'BiI '"Shp'3XQGQGXcPJNX69MCmEbJ*8C#c2@C5c,9RT(BF45B29HE!jB*l!AS)*#XV" %S)jLrm"LJNS+`Y-rUk"LIF!fJI8#Z`2@"D`NGZ%0YJcX&DN#L`D*K4IV,TCGV,T BJ"(hX1TL`F@DLmd6#c$@A1bVf'@ai',*a(+,e4D,,GCD,,9BDE(3BTh&-UZYa&J 3X4jL1F4UL)84Lb*@3bb'@!Za1')$`XD)"3L,)GC#,)9B#E%3BKh%-SK9%)XJeN! XJ9J"X3"LrF-5D@a$f%b`C@"$`DD$(JqfBXh"[S0G"TDZlcHf&Pf$XFaJVp'e''X 1A%MADH`jf'5`[Q"j`GjLV6)ShpK6X-GJQd%4ajD#"3AV$ICbE1ABbE%GBdr(ISk p&AXeYR(XkpM6XBeMiF8+M6dF@cM@EfcJf,qaI@2haZD0[4YE0dS#0N$XL0MXX(0 L&m4ULDe-F`IXBGM#X+GKNF+#KMd+HaLf-1aJf-#`If(l`Zk&c3Yl&lBZl&cBZ," [BG[#cQBX9GL*B)"BLq"K@(5`fQ!h`MU&a3I,$VSeYK`X4GL@X$KKbm('K08*pSG Y#VX80LbX8pL#X%aK`m)UK88*'a9f+Za)f*FmHp,rL1`Z"+A1e'KS%BKJL,TYXHm &XEhf%fMkJh$P`,j5)'cA[4YZ&I!KBZ$3YkU2%Nce1MLBY--Z0h,2I(T!$T!!%YK 3!IR)5j4!G*c6dKD8`&Mf1YK0T9L[jTVSL*QC4T[F2prYfUmci&1[ZLELKAQTVqU r5DJQ#9GDhU$TJD%)*`pl3@!+B4`f`U$Xj[f"4VPaKLQX81Jm,dVZNF5KFQh3lI@ LF+443HE&PD"3VR68klQD(lGA'$r&La64Q8'3!-LQJ68)RZm29&(ZQX'`'F[PDY$ A(e'ZH#JcejFV,PrC$[[C'NDRbr&`FYk5l4fTaAl95p,@[E-[jfDEYqJ@V@C-&b5 PfbDYDCKSH,,TQbYKYHi([MIS@Q(Cp0FEJl$4Z9D6)a9k6Edbc'Z1E&r3(Jd(%mA U#6MIVj4M2kbKAKf0@M@p3P'#Qa[HRaYJDadk`PfiD+h,6E'j+AURKHmTJmcUl(+ 2[M,S&&1JVc&6S,ZbU5q*H21NDr!(Cf0jlV(qr%@$4fDED6*Q1Mc8c$D*DkFDS8G XbL"V+&HYKihB46bhT"`%B9K$-mq[%cFfc-mHG955UB1Ebe'P(#64Nl`c$FlVSUT CQ5dZA6T9`qDZ,H'iCXYYecEKDJM6PpaK"L6XLilR#U89@m+f-a+8cK!0UcI**qH ",2iNR$Na#9iH+(0d2Tp%NmN+mQfdLQ3k)i8'R5,a+YkebTHlSSV$kfQ,Cj-)J8, Qa)b*PcbeV40HPPp3"&GHUJ#Hh'0JMf(d-,0HAQ0k[4,SNVNIEU$6GEeVEQDZ6cC d1-Me`!$5%YlR$BPr"IeCbjD(9i"kh'UaR'ljp!!FM4-YBR+MDDZ"[@V$U$"06JI #*`8'U6a-6[%jS99H16U`&36LR+M5m1Za(BJ`)DJjZX8@'ZDBIMakqde4Pj*--ef eP#U[JGQYl`C[daHYllBc(f([qQl,#Xi+De%BH1e42$)3NI-p'[FIQqmkcD[&5Cc VTmYq$6&lrrVZV5$K%lAehB3ZkF%ar9dJ9HQG98lNh5LAQ'#!4c%Q4UAj$E(KQ-Q 5XDRMq45j01M@TSl*iM0[ALdal9em[aIYG#mTe3cJTJilJ3cSTJi4HYJIm+RajX+ em+jj#E!+5GJ`%X9Ke6h*1q2dX$%BQBi+%'SED0(&`i#QVG#T,hEl[$MfDd14@HU Mf'RJK)QZ(r'$3EGVAG`S4kE6'aJC'[)DVVdcCdR@KS6M8UB*klhR&pT#6LQKa!Z p`14kh@)G0%-lqLiL,c4Xp[jH,BNGl8H8QbmBB!PK&`PTYZDGCBHkabQP+NdbJpV TYUf+@&a91!U%E$90QjPlp,-b)LULP5-aFpNpe"J*V!b0qFLD-c$Bf18,'2hX[KH -JpDUJ8(3lU('E'1&FBa[XSI1Q0VX(KL-DRB"#BBNUfaL2T)pG-BJ*R[SM0&,pY! CXkAXS60Q3EZ(QMl+(MUcGdlfd*QpF,+(cKJIC3qGfC-QHqM-RM(C3fGfI-NH1V2 r5[E3QEe5XSG1d9`NHqJ8$AZbKdl4G#9lk"409,+(6V'AXSG1d63UHqJ8MD'bKdl 4j#Klk2,XTHbKbl-AXSFZ6i1Bl+(,dp`N+e(bY0H)%542`kEXSF[6a#Plk2)dp-N H1Q2!PAe#H4SjC3qGfF%YHqMb0)c*(VSmHbPlk2)dlFNHZMah8FSHZM`0VV+(,Np $TqbK+a!MC!pGJA-SHqJ+l+rXS5Y-l(iL"Jq62A3&QN4P$ef"*PAC3eHJL8lfd"@ )-E+(VN!MT0K3#ZbCl+%Vd&!SHqJ+02$+(VS#MEHbm+4)A*-pG%A1VHbK+l*IXSH Z511Cl+%VdYBNHqL+a!RC3eHNL9,fd*Pphm)VLc4hbKkk)[&2pY!9DFD62A4&QL4 P$ef4*NICAe8N6XJHZL,h@-SHZK,a@[E3PBL9XSHZ4'b52A3PBS(XS5YaVQ32ABP pP$ed*4TdC3pGL5CJf80ASJ&2pY#9D&b92A3PpP,fd*@)%l+(VN6mPMed*4SiC3p GLCJYHqJ-PC!!2A4Ga((C3pI&2XNH1V0EA%chAHb6l+(VBLpN$edAm8$fd(A4X#T lk,U)Cl+(VSYQ@GP$ed9cT1bKkf+IC!pG&rXNHqLkD2)@*hXAZBABhXVN0V+(VNc 1)([SbZbCl+%V%ir%De,QE-XHZM,R42E3PAQ@2A4PQRl&ZP'QZ9Ifd*@*"l+(VN` m%,Zpf88ZHqM+0*E,(VSb$G5bKkj#VL9lk#VN,@+dVj!!*mJHkJSa9rC39iKVXSH k3Kb42G39cU6XSDk`el+(ZX)DC!peKFCMf80G)@q3!$h8&4U4C3peK5C6f80GS3P 0pP"Af&IC3efKX9If8&GSX*Fpe"8Dj@82GB8pPMh8hHbal+(Z*Tq3!$h8hH48XSI D1I'9*pCL1$ef@AJE+lcG%G(R&PJPSI@"NiT&F4M[+hAh,TpBiUGQYVa,HUJfj[* Gh*FQjh'GKh8HeAP#jc'G$jZX+$rl13q86Z)LpT,)K3G1APLBYF8M"B*kPr6SI*! !,PqQmhimXmY-mNfHM[FV[RbbZ1+"l'pJ(0$PbLhf0Y[cUFPEb`G-'CKd&A+(U9K A1UK1,&AH%-3Ir9`9q6PI[K9Yf@*R9j[EeYR4hi(MjPbfArU++q@lI3QF'm(E2[X KBGTG#Pil0-LK"3BQG&$2'YahQp$p"'I-TV&Z,09S196fI0&fUK@T!%ldkhG`'Gp l[&GXleIjQhrAYI,GiQhqcm`E2MI&HS&DNKJ"R$kI)m,-liaKKGrpm&PXI@'PM'[ QX`Yfq&pHm1*'H,VA@"Zjh-Xce2H@A[G)Cm'e9cN,9LpHAR4lHiE0i@iI6q[E$MX "fmcd1UIKEmiqE*NCFTGE4iRJ9[k`lmJ9N!$IP$RKkKqDLbkkD1*IrI4cUmcBN!1 @reGJR@!8Ip2'MFrGFFYrSkI0Zp,Dh3rrepjkDdT#RICc4r3GI1MN1JR`iFEDild QDqAP(5Vi859ap3HT@raD,kh'iK"1NTqiD'(6,jaPLPNi5j4bUjQbAk*GUQ6l[ZJ NqjK"(ek%DY,'X,Dp4N-!fZA,$)K,1dP1[Gp*GZ`%6e*MjhH5'TQYXmcBHTfP0fF VXQ9AqjGic"[*lFN5HhGe9N,hHCBjelV3QCiPiP1[Cl@Q0I+`*kQaSce*69hk9Eb )2I[4$T`%)12-+Ml'Z4%meK*P$'TjYYp*r99XE#6l!a`R#c,'13BBii`B&jZG&`L ,Fe08M*0M8)`cBdb--b0)V#A'X&,,ESa6K)G*ia)iV1HfKNR!-"Q3!"!,DiQc23Z 4X*B(%'C*cHQ-B$$1M&%`cNa"-)'''!2YcTS%rrbX+[EjH4(Za8R5m$M(pM@SYBT eDD)rQRkLB*`I0rMQ4f0XUh98B-M25c(06dc@IGLX'-[mV!M(iU3B$q,-G$3Ll!U DNq"@05mEM'!EN63pa+SiUG@A%+2L(2!T5DK09i4,IPD-5Aj@LNI"'-GB&'rc5J! T5DfL8T)F391@kDmh540YJkY0U#*9-pZIbL4E-#Y*-X#9T-6SeCS"3CmN1F@a*$X 'Xb3e4V3N09N2NfC@Pm@NkFhCLP#ZfVm%kKV*lFN5d+[15SKm@HCFkd)-c")"`RT @DeSM5%a5UcYiSY38(+Yi%51Na316GE`IEGG-iJ9#G9e-1a%I!c0L2I1"K@eChR) Ncm"B*jpaTCR3))9QLEV11#NVdbF(FBN*ej2bNL4GQTq3!*@9M&9F@af1TF"kTUi bbFT+6II0eC!!ZRC"$0Del"3KDKFN)&&,Mr'qPKe"IM-jKXlQ$ACp9L-h@5)e#rr YI*m"C2NH#DMPaD0GbikQZj8mdc!lrVA%'a!JjC'G#fEE(G'EC[+1-3e*6M-ARY0 +l)a$c(CUf6(KU@9A#A`Y2q,`cH41+kYbNbcRDdJq0M89I@aHAE1`U68&c5DQ8T( 0UiT&89SUbd5jJ6!6C6AD@a10NXa)0[)cIH()CU4mbqC9'9HF9Qp'b-9X5T2NfH5 k'&K0EE5[UR0&DCf45V5Z+%[8VMJPDfbUH0QmPJjVGLV1kZGHHNY"ph*R4&`[[@e Pm**EqVZAfe6JJp5@RKhNTiTfN!"CNkpP"0T+I*5GDI'5A9AM[Db@pZ$P0Y@(-,A GT*SfiDA0L5$H"61ZM6LpdpkQX5")R4r&KVNJb)cY"@&DUrNYLi'AfaDZ@ZL@jVF eb"DqTINGEEL1F'Pb5m9XBecMJTSFQ+&FE4BkDQB6jfVTUD*C4lSdZ598eE'ZQ4c V@"fd5fqBPF0EH&I,EfUdEF4VA0!Hc%bTc8#[RYY3DqZ`Pqh+hD(SeF'[RVpGe@Y !B2f#@@8[!m*fqUaX9)2$GRC6)@U#iX`0,GNVKXCkjUc5P`&N*hfZH8fpVi18p8Z fDhiY['aFdG(pfUMC[Q0fK*[UA`DIVI5f!PJ(dHTQk$PPa-Y[5b0HmU`fiZ9ha"% [Zkf1H-NYH56)EC2bi))D+`p5-riYXp#45+,dZSJJkDP)iU@e94)[Z5@6K,QG9Q9 #LCFhVj4i0ma+*A(q6*YEBNQ3!,Yp-*Yb5C!!QZJPB9jl#YU+LCIFN8aDZ&HlS#1 DY*!!VhE"M'a5aljDGPXiDD0ImiD-S@IiP`h&M(M54-!X[bDIe$'`PYd@81SSf-T 1**31$YDZQ"04@NLBAG#58GTBf,bK-kCe*5@$`dCb8dZT!f*pGIp10D81Lid,GZJ T$A"Xh$#RU'33fFQI)q3eS1bNYhKh%bjRVfJ,#c&S0P,RP*8-1QIbje[B%PFk'0U iCBHmdN,5jKdc!NXE6cZAc!ed5f2*J,@Ghe&Ck[!D2RLKkAUbZ6AENdeXq*jXEQC mXTNejj006+e289l0U"-PKdkG+#hbjIKpcZa25@TX)2*6!`186DNjS'aLDS'+maS YL8a30UIPJV,C$4Y80EICaY3)&HA0$&M9#K@P@5p8R&2[F-d0C41hUhlTbbM5r1! Y&'NQcVjMeP8mc+Gq9FFF(+BP0RQJAfBMZePUe1+da"JMrG+LV'C*VX12KGMkZ$, 6I1P3[*T41AVpYVl(2(SdZ-FqH8)Z#ZlK(4,VGYcM&kI[iBd54dhI`aXNPNcI`al lCG2hm+k$rIr5lr!HhL0ak)jkj"d!jKl@NKlIZUHeb99RmAD*bR6Gl1![6pr$QbH kTqrKM4!AllJRkJr[SpJfI3ql[FqG[SIeaZG2hm2l$akjjji!N!$dLrEdYi"V6Z9 l)%D2!ilE(I"fQr6MVlYLIQ&mr1PdYcIK2"QJB0mkBh(K54BAhURhi6[D[UI`(DY 9A2JKL`[ATUbm(F)Ym`PA@03Lp6f*&YReSKDTld(V1hV(2AjaqKkd[Q1Qlq&G3KZ Epj4Ie!6e2@L#LaUM22Ka86[8pk$e,@U(qKlH2V5S(HTld!3AY80p$eLmU1(THhJ EcD)QU1p"%ec8'28pD)+,QU8m!0cYV4dk"ZlKVFck1-0r,#r8pjKANYp`$aV&$%m +ld(ll*Qq4rr0HPR#Hq$"LeiEI3p[DTVa[)6hm'D`rAEFmb16pjJ(lYl34c`qppV MY6&[N!$@lmUki4lH(,2)Jr8pH)%kr$'UKrH*GIKSG!r[N!$Um-cS(Yi2eZ("d6f m&qU46CaUhq0H`@8(mcfD2GDHXHKFrG)RCMTB2Ue5b!-!A@qIc`A$G5R1eDra$PM (bZH1ii*ZZ8F,DZI3iTXMGhlq``0ccZK+[BIVpZrk4qQT9)!UimpPpQ6i*2aC$(T 2#Y5VfBCkVPA%Hc@EpE$SXhNe@aMhrp2i3Yl1r%C2&fYZa+0[[Jm,[HV8XT!!PpE eV6TZlGpreGITrkll'R9hlVPeEVieXl0eq+q4rGr[reiMUeA-kA*b1+YVR4rhP'Z $h+AjcFqq1pTGpGf43'#V-,e#mSEd(ZKJqkE(q8(`N!#ECd@$"fZ([*VAm#ZTEF! !kC@G!QcMdhK`36Qp$3ZUH&#bH,!fAVZSI8&k'baB20$k!FrG$[$!f8BE3hl3Y38 2RKMi!kPX"#(N"r[!Ckb1Qe5Y6ilK6GRD'*aiB2hD3PrHc5BRE9jCfjFmeGijKKN K2qLfH'#@N!#F2&+[Kihi12Y'qQeTDN6"iS(@QpAcH1!aJr1m&$9%#2'!amr[iS[ Vr9UD'6U%qN(A+rU"IN,1"@(YZ0,)31"Ah&bY%S`-TS54L"!2bUrU55ib-%M`S', ejV2`HU5YFAUE45R%Jflj$kE$KXHhCfechpCqE2[EdpD3!#(%Jal`a5@cpba!AQN h9hh[HaMqepAV+3$V"+PMZT!!Al,R(NeiKh*9+UCdYRA(G#Qr0#@JMLhCcR5![Tl 8elZM`T[V1+9VCArl`,#T40%#ircK!M1VGl"j3DARBcbZ,`G"'0EF(LpSEXe36cb Ha059PflJfG4aeX[e6Up`lC[3CUE$eR%R[N$$#9$(MSCmXiiGbd,q[BlYKHbTija eG62rc-9fAYrqd2$ilaGR'&ra)(b%6lVDi"PSh[cH2jRPVG&D&rRH[(jjFl+GcG4 alRrQGGq*1REZ8Y&eb#[DCK[VeD%I-1F)U11XACeGk#[Vm'`GmdLdTikGqi2XZ-j rTSjYCRJR6R[2JXXP3'e68j`q,9[Fbf1iBq0Z*R0f@"RCfl5G(rcMSULaQcAF@-H fi@"JcchkHA@,r'aE2*)58!II'Jc*lAhGM(pKh,0VTYdIM&YhYRA(,BalYJjR!12 HY'3ChjqcrCXZVGME$mF(FjrTkLh-IE'1hFapXBlGc2hk1QjNlJYe,$"hZbI,(F$ Ffrhi$R1IEHc0c(fKMYh-[9h'YjRl3KdlQEZZBj'mHmcpR+(rcEhcJh(VPkQflVL &FFr8`HF)B0ckJI5((q01[R5qqRArR6(T1VBM`df-DE'1h8cRqMTZC$S,GGb%j1d k[ShN#hAX"$eGKhNBr`*#V-%LM[Rm8*'BQa"Ga`m1V0PCakD"0A[Vk#lXISG+T9$ )pV`#Ic2I0a"2[i@85EbqM[0IjSUkM[2aG0,J)D2YL6lE@jd5d0HpR-(RdMXjqCi k&T!!FqHFqI0amDiaqmDh*&Rh1BFaba,emDSMlSHU0+0#0Ej!KAVPKUEkk!5SBd- 343B3S`&NTJk0pI3eYe-R0kUK%k!I4Zec!Y4KeElj1[DSIHI'eF$NepXk,X@,!I1 [bka%r+$h,FM-HHmQmm[-`JZIbYqHF6FrK#[eDjlfI36jlmXX22Z#c*cc&M6VH"5 RD,BIZqC-9*EckLr0+a+,!D+j1YKAQq0DhlecEe3@*m#m'TA	!(R`GRZArheG5 Kab2hhrNi)DajZbL$+K4++3"[B@&rjJ,eb-e*Rh!qE#KHmT)fjAefaZBr`f'F!(8 FYkDaZKhrYrF99ZUZm#c1I`dZP(i"&rVHI!4Fk([ckJl`LKNZY"Fr31$6rITH"mk Z[VSRP'Xqi96IlDZTBqFQq9ee,,iNU$IpcH-erqeK1QiPMpIHcl(NmAT-I4FlAHL VLm$PVEeLHcm(L&HX$5$IpSV0[C,B$H!9#jm9hlUNR$l"h"d9c03*J*aZ"D6Dp5f q&0$pSHNiA$EPc(m1!Lh'$E3TCqrR@0U8XdH,D4AL*0LiXrf6M6[E2rI@aTd&qhp ZGPU&rhmhJh0[l"'iLAQekrJ1mjTYb-h-Dk%1jm4qK$h-Ue@)@f$2JPI(1E[QM#, d6P+2&-cGi`CJ"+B1Tm6HKr$P34@XKPRq'J2Lj8&ZZ*IQZ1GHSZ5DHhQ3!,`Fj!l Ii-Z$HPi63,`mb%AhdKbRh%Z8p2'1!m*,FpaT,j2UIJe#mI+Jm[3q*HITGdSP@&, Xk"[fJK5!C9qZMXmCYq2!RIB+VH0D5edU'j0Bmh8,,lXLLDQqcHYjGM$Ye[[SMD0 6EjT4M%H[d"T`R)NhcDK00me'rPA1TTYA1CFHG'bc$XIA+l3bR'kq3UZ+dflc9fJ j%CLl'qL&![2-R8qBZlV`i&8T!-cG,I8+VEecIiH@i49D@fZh39@D8D%DAk"#IAj p8hed!Y54[8)VUk2jfUDU+QC83bG!2icDj`5S`hq&eP`GHp3qmr+LGj4DVp"5(h5 qLlKqKCCDIfIGE(5ZHI#QkdDG$FF6623VY*EAN!$r01HDEh8kkhq'qk+A&mhfBpH FCDr3bZTS[N+V@NIf#UhEqQ&8&LI!["U9a3P3"erb#UhEqQVUL&qKG9XGGa"YAU& 9-ZDJ2VpD$c`AffQ(X*jf%V4SDZU+*rM4X&8BPpb%*fYpdHjeAR(l[fEK'jmk%Cr %mKJI[6h@r*`[hiUfE,'cUmeYkqcSlm"aFblEhjDZ-J"1'!a`a(bZ1"4`ih`(BKm Fhadc#ZD8-rq(rd[`eP'qTbA[(XfCmrJH'2dp(Fi1[QI3LD+rC`TKRf9Q*HG,mI* *[QFVlcNk2eIe2%rabe62meAI#e62#eAIj6Ur##qCiRZalVe#pli%,pEKHfP5,lP ,Hi[&rUQ'PVTlPdpiH04-ZQAX5dl+5h2j,Y3hS[1icX-kMqSmSI1BcSG09T5IA3M MX"%'h&4RAY"%%KITKT9diB'6&aCQ`3$P2pP0*e4d5Br1"qRbC6V[al1HLJ(PQc` GleGmq@4aa32CAff,-XmmSlU#EV'hfCj26GjD2S#h"ZdVkJj6XDjd8*eBUVbKXE% amm*rlT3,M*PRUP'mc62CGEJaEf"HG8r"a'q45pk&@r28-6K-)ZqmVAP(B%rf8Y@ (SmPqpd0HHG6@&q8GJVVcc02e4AQP3h(SU6H`2cCrjeZ&(!cZIA"BCI1ZTD[A3jq Fmf6V[YA,19Cb(ik`+fcHmcr,dC'mVq*`R-fljjpBX050RqXZ0Zpj0#"lU*IEPa[ kj,khIa8a$p9b-fKHA'(c$MdB-GiG5jNi"k8IAq"Zm%(ek6QYrYhpD-4NPj9kGqZ qbap'E&KJp*&@rcjf2f)MZNr2Nqh(KFmLaSa30bBrkGrP9b%fVVbV@[Gpp$B1YZ4 p[G@r*c)Q$V@9Rf&[,SJMiS(-Q+%2'Mqk&PIMC*p&Q0IAc5'r)!l#VANPeVd[lJ- R`V`mCd,kIHHI)(D8qXTV1'3qVMNI-HDG1TDelM[MdiL*IqfZp&A+I,b%'''Hq+V [qe#Vhaqq%V&eQLIUNIPi,AXLqbX+a$Hjla2[4q`Bj@PRRTf2Yp!45CrTdf5V(ar 2)AD'c4[RGNRThl)0L$eBF`EHbReAY#2f%2A[[DhqA8aFHDMU)%rkdFIj2P0c`d( k0mJj&XIM"0Q@h2G8iSFi+LGqd1VIjjBK*NY`,[XDj[MiDMbd$Bm(F8GqAV8HB6E #2(Ah8cJmVC52BT-jL$-%$3%RG"f@"d4eV2`9$Ur'h%0a`VR[jAd2%ki)jKUkU(( 8aj8`Vqp$Nh9%HBG2iNUBerm1()i8$S9j%cFfjl*``X@)J@r-'@[rC#k[)[CGDI0 1j"hHA"C1)6E"(I6h!2)"QE2hN!"c[0lQVIN`$TZVdADFqclb!CXAp3RZB[(9Bml QHcNSAhNrc8'BemrkVYBFK(N$a$8l"f(H'(K9lJ603CJhc3faYKp4(5GbD%eI+h- qL9Q(eqM[@[#B[XGXhMh!5G3FQrHUPEKqDC*Ar[`cb0[IjRd5HBGIE1mV[K&j"pL miG-3+p[l[R)+BR!PkJB[$l(hRIS9j1Nl$9k#JpjF9Ji&Ce281TJ$H-XbQhHr@j& hX-dE"GkT'EDqhrdLBRSMXUR[rC`$llil2B#m3j8(jr2U+$rl12*@fVbl&4(lY,e 2I3'aA[%*H*6dqmAJ[SVm&,cN[-EHpr![)DrIjPd&,h[4iN4j$(1QhU`ki-e&QhG G,r+%&ik3!(-mh0Da"CLKa!YAJhrR&YQmMIXM6hMKk-Nil'2cZMPE`JY(IY6%qr) Mpb&2H'([*Dej1J'F8K%I`!R@4(c!jLd"$e2r,pc5I%ECZ5ari`l%K%HZ)Qkm`HD p#ca-L8H1r+ij"q9R`*802`)UpBcQlGa8FQFK6rMP+2XSH&-",LV,`a4lB2(Q5(! R*4jf*ALKaCY2!4Z9hGHKjQ+Q,Gi-S!BPIMEp8!Y[2J0HU,4MIr6i*Yk8Ii'C8q4 Zc$'UQ-c(DR!e4Dl%I)"hJMFS,8VEbNliH40[+SF!8j6f4%d34`9[lXPq6iYR-'p 5apT2)Hm%QhF5m%2`T[`*iUM'(h-I1#(prMMiUj)8Y!BDMX@ErF(P&1[9hlZ",i) hPH1*3aTE$0k!Ii)hA`(R9(fUJlRem+Cm0lL1NL*h")hkJMGR%cr38ZJ(qB)hKhd 8HH!2HA""$fmUSjFKEi[b,Qr0dr(SJ3)[i$YfAK0[bYH$fbP`!Ej0[flL6H9Gi+a '$i(U`RFm[+N%Q%8PRRd%F86Qi'l31C4ipTZ"ZaC[PT-I#-mH[lb*0qAlEN'Hal2 9Hh#[i%hj5A!XCAQf1J2c,(K6133cV1a5@R9ZLpq8[rjP*-MDf*2""5hHI*+pY,` FhLCiFpd0b"0H2SkBRBpccj(Z`Ah`6m'*3mL6K+qrpH`@hK`(28"TBr6aplE`CJT BUE5Am+lN,9,(8H#q5TXXh[D"&Ykm%6e9dZq1i0`+hRcTfmL6$3Lp(frKqTA3E*5 fCjq+jfCCI[-eB,q5EPK%R`4[+QmLEj201p28ii6IR!&Y3%P2(#$2p[#QI"Rl#Pq &hm-h2,`TEi)1Tl3Ej0M(@[cQ0Cb*akTrc*A-dediCk*[ASeCYhMc@qL"dXD+DcK cJMIRSUI+,UK3ee1,%RlceHmM36CZR%MZ,R2`!QjUd*b,qpk&rPQmk8&2eHNflaV -6Akr*#qh2c"DVE0jl`CR+KaMmdi#KLVT+01FF`qIFKkjLlIm50f#6IkfMYA3K"3 i"ARAIDp9ad1[3!*c4jr34D51Hj-r`5[emAhJMVD1eh)1G2r*HcpiZkhM%kcM%Y8 "Ej%k,L0qS#[5*r+A9V&$,G!1U11$j'pA9mYEppcpI`d0$%eKBe4ME#"08d`ZZ@Z *M!"-VCS!N!1!!*!%!h0@P(PI!*!4&J!!@1%!N!6rN!4069"b3eG*43%!VjH"CE' YHYi!!!%H!!&,H`#3!fN!!#G9hAQUa3#3"KPM%3!)XY&i2U8!iY1-0Q5dTqCS5Pq !I(k5%NT*arjJ*prjf$-VplrHR@26m`++hp"Tl31SGm@FIK8YjfVhcp'@0TbVh69 (@eCVVRCdMRCfjEQD2NHVa(1e@l-eHhmbR9hMDq-S90r#*!!!"J"V4cEVM($#YKe KA8FfiC&EbIE)3RQ%ND1E()rX##2lb2D8Vm`k@P5f(U&fA0Y(1+%F6r&*(mm1hhN %rl4"!l)Cf8UfC2YNRq6i)-*lFYX)rel#-m)[,m,*(T!!fmFkXL@E$,C*MKrCC,p 2pT0pj2FVf@IN0MP1EK[C&1M`!Ud$0SM`*haLGM%#3'k6%5FSi"fj[C*EEF!'AU1 dZBebC)2m2,YLf4UhcU6mc1YYNQlf84kldSYb[bLrVZ1hq'C[eQXG@@aJ%l)F@6M CSmjiEfHI(Z'P$G*VNTdZ[)m[QXZENZe#&V,*MLcN&J'`!!*ZIB$eVE1cmk4[r-f qC#dm-PR)XDdA!&m!dNRk(Gk2imJB-fa-k5a6fR#C+BhGDXcUAb"QGfQS"0-rbEJ CE2A50)c6FMf0Y`GqhSeeT*bi+HRFE&D9c-T+*r!R+`c5VQQpI[RYQihCGM-r&H1 CeDZUFG[cipFVM*Ucc%QP"iEfGZhmdC9JHhb,)(VEA*ClkGYG'6AQ(GjS[(bXK$L 0Ne(m%2X@rV1BYaP@pI`,!UmCT0RSdNX&H-LFbNV0NH'epjZ6&&ec3Z,j1lc&i*A kDaAIN!$YDEdB2lba*mZ$9LAbXLc)RSmIG0jbZaQp@Tj'3XiSI$pjmr"q0#NqBqI MG8`D+9)q6ckk`2VLmY&QeYHG,pTjKhapSkajrFV%j05FiNEpkchG"BHh%M#cEfG 33'1![(1#,CTZaRqa'5C1'h1kr!9)j*b%ZlRSMBJj"bD0VbT1I)%iTIhI-'Ep[T@ 9kfibCRVI+4qpr+(b+1,@-5reUhXpFYIK(SYl(1laZ#IJRSKl%Zl*Z+IJRSSES*q 1Zalh$0`cFFr#24[h(0acF4q2HalZqEJAi&k)Ha(ZaEJEF#r"[46h-Yc,FCp32)- (m#qIjIeh*KmBbcX[e$[R-IHFmGRT!SHVG5hVpm%+#c)C-+ajmZ[`jci9#F8"B[, @S)+H`&)d4dN9imIJ'paaqja"8Sc1r3MdSENa@8q$KA$hm`5L3(Pm0T+1cj!!)Z8 C@Jh5aD"FHi23P-pkR!heqQ6a92'0NqI2qM[#*XR[eNDpdJ(G6-A,KXidG`k2&!q cb*4Q4595lhCF2qHX(YA3A@eHmQ8#33iXaB$K,q(@ID21Vq(f596%h)&lU(ahXeI &pc#jNT42cF2NQdD1*,j9-%E)e`aMT(bApJL%Ya['D2RHS6I%pfF`aXMh#4KemRd &aPMj[JpMR29&qDEMj32+*mJ(LNf8ld`BNq6E#@1bI0I#d2#[I,I!Q#VIHf(`R[K iJqRbr5f-H[Pq#'1'Q"fp0&-qBZK"I26"E2PH#Q11I*I!Q#[Ie6"dCb[Ic6!%6@0 IJc&I2YjJJAbmJ8*PlAX%aU)qB#f@McH&KH!$!jE)e`4MUAcEKFliALHX`2FZ'23 1[Vq%X8+q[i'a8Vl[`H"YJ43+2e%qkPiY(lR@b(FfM%Ej)0GVjAXp$*J5[Yq&!G[ #GaX-f"Dq,a%`aIG2-%kf[N(%RJhbdCqRb%FpB#LqFf(`j[KJEUI+pcBB'qAl3aL RbIFa'23T[Um+-r(p!-ETeMHBQ2KbqHMj-q6MIF%kI&YJJ$RiU2XXqAiGaLEjrK` 'IB'20piX(pK'IU!BA&B-9I[!"Gi6(qplRRcEB'b9lcSBjm[hEKJAb%FrA5MIPf& F*"r[HV(e$5@q[d)qhK@-`NIr8#-qm2Z9mYd!!`c"4`rYN!$[6KKJ,,jrJ%&1I2m KhJ'9J!0F*KqBp5Vjk$%KCc8K$'jmEi*aZAc8qQVj`%9%4R`2`"$KTZCC'(ZYVjD B*1TB,A'R96jkibVjAJ0MRhcJRmJlYH`EiALel"Z`'YqM--LTcM"bQ$Ej`'Yi$6i `"Ak"MajiVAa[J!(HiJ2ci&ri2JAMPqAl0Jak@4e0UDkA$hiLHXG`BL,iLBpqTLj m[0FEjB0AdDIi2JL$2X)(PYmS(aM`CZXE33aiLhc`NlI+"plF*"pp#hlLS`Bi#cl iiY[Pqcb-AjA[Af(!+p8C5H`%!r(4pl`22[!8rS@22RqRI06f'r*p!-C[bRF2$+@ hD0mr`e"U$'F8mC,qa3HRdMU#mX%0INFqX)Dq`mHErTjmliF"CZ,l)ScIP`qHp`I @0jUF&[c"4krrNAa`KMq@$ra53VIfd8Yr)YplB2bTI*q$!Er$"jq'mkTc((RNVI, "&HNTI2!FmZ-$Iq'Rq-#,pmR(@r1'q-!YqJAIef$3qrMJLr!1GFD`&rp#2RVP3r, "NH"pq-!9DX%(aReB2RVe)r*4jdIPq`b-fq@$)m+Re+NM4rqiI2$K1q3$`m"`I(# -6mS(ES+(q-#,[j+2GrqdI*q&!GI!"bqmbrS3f5)2bJIfSehJJkrb2[MJAAmY(hb !@[#"0f!,2QUP6r%4!kEKqbk-,mL(+J9@U$11("4Fa3I[KG2KJlrG+amFicljH&F i"6k`!(d$(qm)pm3(Tk&rmIdRM+pEhhMb*h3!I("iT8&U(pb5!3YmF*krP`qFqkC mi-MpmY%EF$4ma&![[Kr"q*Ee6D!Z!ar"KkE`(IRJ[ImS(jMkS(a`%[S4(pK+[q# Mjaq5McF&(r$p'!BBU-j%kMMJ16jdLS)Ukj!!16%)VeVfM2@9bC33kJZZ148a2'V X4%T)&q0EXb8G19d14"B##f"$@!&6L#iN#+)+3B8S3aiJU""6##P%&&)'mB4`!SB 36)JPK")L#B'%1%+S)Bf3!%9))S3!BJHKJf""i##'N!!5#"c%$F)'F34)!A9!&1) 'BB1S3G!JCK!bL"J%$"#'F%'d)&J3+`J94"-b"IN!J#&3N!!$b"%L#F3&835a"@+ "b)!BJJL#')2B!N&%r)#m)ABJFL"Z3&)4-a!a%#mJ#)J9L"5)%iJf#"1)#3J4N!" Qb"BN#h)&UB+X3FBJ9C!!+8J8C!kL!6Q$C%#Q)&'3!#F)"Q3*NJ3jJK4"KL""%"e )$f3(NJ2jJq"!E#!SN!!Db!b#'f)b)M,LX3M1@Qa'3)CF)XJJ5S1@#,4!,SS0iJC L!B3*J4DbMEL#F)iB(NbP)&`JT#1q)ca$*K'D%C-4ia#8)Fk)!JMLL$13!(C%#-J J)K4%$H%F`4Ea&F+,-!Z43Y"&Q)@B)P5#kJLq#'))TJL[#+i3FJ4@"!G%%i3I"%" %!3464#h%$NJRiLL#(H)0C""4'K%6m4,5LeL*#!VC4Ua%T%5F4#5&U#,!)8SL-L" #)MiL1L)%)()J,L)U)LBLS#%H)MiKTN)i%9S3#%8BG"8F0645AaQYBbTM`jE'4,P 5RJcR8brGBfEDiHjbBcP*BNc'ECq(Y5hB(HDM[['L+2CTlmh#ZB8`#M)kpiAj%Qd e2,D2@ACNJCIk$0Qa[,!3T(0K$0p12fke[(D6VPeH*qM+GKC(!Cel2&Df%mAXpVe S,Jd@3`5EX!0lNJ$fT@'+)8SrGdZDYQRc$Rk%mIJjYEFejK0G&X9HhJR$YkhPj8Y cLp&b`!C38HTGYdHXF-pmPUGKHj'ZPTDeYLdXYhh@X5I-I&YU+r)[AmJBe)TTd'f GcXJirA*E8Fb""6LZbY")bYjRHf#rll8CYMpFE(X4(DCXhq'AUA`(iUM)KqIU)Y' e@G$H#FH"X-8AdkDmlFjf(XQR"K[0NerG$V1mfA0Hdh&P8PqGCff[U+Ha#``03)3 )l[U*&V'JRPKa#KrhbREjJL"+6(9VZI+KbVTe4D4bE[,`V&F8hXh"T3EfKUaPCLZ e6CX1eV"Tr*!!Zl'kThbijZCY[B")Gm4*r)h`RZ0(ckA-"d8D%l@C@6bRYNq,iRN [BVGUGh23AZik0l&$@p+1Hf[BEXDl'*dTDGAk#dH6G2ZKfSQjiR$P+X6f#qlQqYC $EY-aiT51`C[T#Yb05H,IhUXYH'6G#5U26F&Vl!rblDeNP)qMAr#X"P-TE0ql)dJ 9S)*03()jbq0@qF*JckiiE@CQc2H$,-1c(&M+c,5(@E!$j8D3!1G!T2eQ%a#e[ZS P5H%pC6Q-QZAahARUC@CM-,qmZ"LNCCXcBKmj'EF5j&4PDVHDKGjV#cQRMK,h"T' CQ#VA%X$3lNZ4KBGLC[UdS&hiQX+-T',22%[)[#)Ze5fq,A292YC)93TmdVAcfUB UI0QU-Uf!be56h&4P$rUmJ6i#dFr0``*#fRVmTFe(qfKmeKk0cfdq1N)a&qhaD8Z ET4*YA6,3eS(rYLlXY`R1hB[(k+*S1%C@44FbJjES-@E3%Uh&$&ULVjK"5h36-fL *rQ%',G&"c+!Pb'B',G(CC0"5kfNbD+Ne-aQde(UM$&TU[9!',E8'+)1@@Yq638Z YPFQJTGE+C0"5DembD"RK!*S-@NDH`5fkPmHDCG$5Bi`-@RV8U'63dU-Q*B1@([Y !"LdpkNXbD1Qa$f63dU0'*)1@(V8G'E6dq2BbD1P49j4"5imkSJaDHY3,CG$5Sci VJjBHG9FCY25STmUJT8FG93BY2@UL-QMT8IH838Z2r5'$PKje4"Qdp+J2bU#Pai% Q'E6df"mbD"NP,SKD(Q92bU"PP(dLJjC4eLq$PP(UFc*S'DA1*S1@8@+$$&T'UBI *S'@8@TJ-@NDTHmQJCC6B))1@8HV3-QJCTHBXJjC4DXFbD"RPfmZJCC4kUJaD4[R '-QJCTCBXJjC4$S2)S'@-H#H$PM(LL!aDkU&A'E5-m4ePd&)2[FUJCBckR`aDaYM V-QLT"f"Pd$*'A9J',@28ffA3-NDpA!BYBp5iCG!b4VeD"LheB+`-@XDS#mZJCBb $Kc*S'5FZbk"PR"JRJjCaBSS-@ZU"@4QdM,-(C0!bcTTPd$*1V9)',H28a'A38Jr 5bU"PR*Uf$&V'15XJJjCak[mbD"QRVLq$PR(Umc*S'HHlbU"PR$dUJjCaDYFbD"Q R6Lp-1-ihPN(,"0pB"Ld6r8&,2C`VJjB*iUB-@M,LE`BY%m34d9-6l'FCY%b`af6 3-X&hPd(,"0p#"Ld6c#@$PJR1#mLJCB)c!$*SQ@"2b+"PJTMGX8I$3A%#$4SFS$I !8c#HRJ'R`%D`4@r9i)(9EE4p-!@q"mm$@i`@$YHM2q&jm$Xi&Yc"D1E`1ASB6J) q@CfIASDcJ@0'5`GVi4V`-r!22!5,`@N`(`bPlq&aGVC"F&PM-T`%2!E(i4*`1$! C[Q&Q(SUD26`&c,,c#r!BX!Yq!)D!Xm8j!c$)cMLBq3E`'3i$9i1M`F(J@I![H"G mbm`!J$pJ&0J%*S&&GRj&Z02Kidp84EL[L%QV11i%EJDQ"Z-HJRXSlKVFYEL(i4k 1H`6ZNEK(i4k0HmcJKa8JkPk"HbAZ9EK2a,dDpaVFMEMAiPk(qb5Y16PkbLXm-UX kp#i2XmLM['iM0HL@hdZNN!"ej'C[TkGp2!fAKZ)EkA2K4,fmHH`LBSc46Rkk#L6 Y5$eDqjS318TQcJlEp565C4aq1KI#[K%M)2@m@NH$B"NakmM4Uk8F!2ZPRMmd,P4 **!*erUmIrRIUmSRk)"cqL+IMS$TC!"EAAMB"jR3Y-8ha3S@8QA"jS-1$A"kJIl$ ,!jdHi[*!ZBHk2+"AMFX$EDpeHD$f`e`H+2p`P`G*B)6,!l8CkI)J,BabH8#rd5i 2dX4a,Jrba4LA"fQMcZ9"qKMRmL#0M(GjN!"2*VJm5#S6A4kNP8NZ$r,,C*F(L@D +bi1--pAP3FkCj[)Jp8ahHC!!JqTG(Q5K'5i2dY&-P`GjDCE,Jr3dfq9"QTVMmL" 6cA9jN!#bMRGjN!#ljVNm5',cA4jNX`8Z$j,D3TG(bfk2jd'LA1cb)28eZ$a)I8Y F(U6!T5i2FZ(kPr1N%rU5iXNZ$p,["TF(1IB8P`H*11Rbk1emMqG"[YhYmL$4AZl b)1qqfZ9"CVh#j8&1hZ2b)+r[GAQ3!+U[G(Rd$UM(mb$[AqAb)+[[FhRdpXKURP3 q&@iAI$S9mk$[X3NdV65U"FA+1Z1HZrld[C@9ac5@jfJl'`%+!5kFDA(Kh4U6Fl3 GY(jdEH`Kppce&%E#,YCSD2Sm-lVJ3$[GblQCb6"MNQCGNKf,0113!(B-dSa!SXm (Bief690eVC)C165MKZLCD*ASN!"fh"$G$dd2[3iY,PLhC0FXQI9+lS,$+1+68dV 1'caL3NjmjjDZ+kdHdSC@IAbHHr4%JA9QXB-6i,d8$+SaaRVYVG',BaUdR0-F2Ek [jbU9)AElfcS'+SN-6p9U'U2h6qcmU4R0i8G+DikXd&*BZh&LFT`B*RC8GNafA(C #pL$CJf82N6e8GShX@YR$C!qA28,f50QMC)q@IB,X-E,VC+q3!$e@pMMCif92N!! p8IBNfC0P6j%p9IBdfG0PemZH)AZQl&QbCmZH)hZZl12ll48pqG"+XR5cQ#DE,hZ "l)@b&mPHh#mQGQ)lf&9XHP*1dhd0XTI)ALTlQ@aCE"(C-2cRdk,K!rGV8r%$M`c rrY(1fZ,)1'CGmDZclQ#-SS1XNfH,KKVj9C1)UQjeXqCl-1iKZ)ILVX&GLhXBlZ' i4q!HLAX8lY'ikh#2a6d1phMF%h"2a$d*pf6F8h"2a6d0ph6FpEKRi*k*HaEZfEM Ri*k,qhMFmh$2ald!pd,FLh![aYf!H`RZTELAi9k1H`AZPEKAi6i4pfVFDh!hiPk ,HahZNh#r",GK'h+'BTe'ajkUrcP3Q!b0F3#FE#hYF*r&I@I!b8f"kpTF3'Uckf' k@YVBl$Tbcj`%rP'NFe0IqVJ(F2fCVR8d92h-F9$)-UN1EM`[aA*%0JQQ)NjYKRP m-'"Mh-lllZD*HU1lJ#mIjUrHNkepq9LcLbm6YUrbb55jZ2a#5%Gp%TPD1TJ*hEi BqZ@+Pj5,24AT9B(&&'CcBNGSqB@#"mfZ18b(X5UM@%85H`hc&DLeP*Zj(E(`8YH XrrmAATqS`XX4e&kY4*K0MZR!B$GN1M+l*6+$$ABMC$UXX(3a&eTi*VZ)-I-DZBf 53@"(QmX5ama,qmXf1fU3!-L1)Za1bPa8k8RYYXeX%"XVma(Y[@Lh@+E$X[XXdf& EiZA8$aVH3S"5@KD1Y&$lU`Al2$13!*hGl'N338HGJGfa@I4MJkLrY59i*JeRDT9 ,+lDjj+21UajDkYU1,6Bi"bmfX[##0MMhL0R3($,Cb'bR")'j&JqL6CF(FDQfcMj i(VlDBp2JNid9%,-a16CK)l-G@!MXI*M1pZcSFKYH!0+1i+lRc-*T%&KZ0`ZU3Cc 'e8*3mDPck'SMF`"V)`2HC@1ce#X),$kA*@$jYFB&4!cLXk!B"!Hi'-6RS$')cU* M%'`"XKLEEGTL!QQ%BQK2,q6!XLXm"6#&F"mbJl!XDJE"&MJlBlZIbX"R%0H1S%' '!%4,m6h2E+'d'0[EQ"P!,BD#UCeaT5l))QX3R!AA)$L2Vd'iKGKLE1N0XdT(AS4 Xjjj"JKcr$+),($4)N!$RS8&iMSX'd9Nq@Jc1ND4LK[5ZlrEBFP2Nq@PAI*V8&H+ &T`Ca1DiD4'IjDQG`ci1PH'X3f-&GJa3&rPT+8(lZ,)mY"[HeD@iPHhZXjV5GJGh YN!$MYN&dMYm'd3(($H+c2,FBh2f8*4L@EISK%*X8h9"XiLYJE&,d`,&*d!h)*Vi %b6DmZpYYM[BQXG&KQr4!Fbj$%De5'3V`E#+l!GV%Pb!k'ejj[!kB0U'p3'f59+! kRb*mrK*Ffr"U#hG"YSh1JhBfY0`JhF"YiVZKfm5A`GYN+-'h$5mrE"R#qq%lK1j qf1k&l"#Z+e"GKHNb4&IJZ3qDqf#j#j*$1+j!F3M$*3JHJ0pqk1f(h3VN9Z'f$,8 PQ+e!E!L[)E6f`@S&8XY`fJfPrC*8+%Mebe'pBP3S49@%U+S-94DK+K*8R`$9*cp eL8qKp&34RN,CU53k$8K1rB*6[pa8%CZU8P0CD#V*6"@4+C5B3S'T6ekUL%YPDDN L,"%Dr)P)J)HTA`rT+1R8hAi!a&$r(G0&'#UeDGTDV-dJIk%fYqCKKB8bZjGSUl8 AU6cK%QfE*ebLEI1%5l4YRR#*YXd6,Y'fHF)PfMC2Z%6EjJQAD0Xmi4*YQbGFSQh cK%ZdECj`LEE0%bl4YRR#*GSf6lK%fqB*PfME21&bE*XRA)jYmi6,X@fHF$Qfc4- ZalCj`ZAB0Nqi(0[Q#CGMfccKFQbE*eb1EI1%bl&YRR!jYXd6,XHfHF,Pf$C2Z"c EjJQABpXmiA*XQbGFMQhcK-ZaECj`1EE0%bl(YRR#jGJf6lJFfqB*Pf2E21&bE*X RA)jYmaaFMUhb(&b1VI)FA)kYmKaFMUhb(&b1VAmapI(Pf#S2#rX'PQ1V2#ce'eL 1VI+`q'pJ1EE+`h,!JHAB+Jm,"!H@BkXm,"NF@)kYmV#)F'!jYXV$XX+"jGJU$dZ ["jCMUc`X[4jBMLhVX0bBbl'Ic"2&$i@BhpPe[TbkN8TYirK)H@6Mf23Bc%d6P@R pK*1ljhMM@-JC+k6Al5rq1iaVjTJrUH%H@3ebE1CU5AGNC3iTUFf6kZH[Q[DEIBq @c4@2R,Q@rhSkC@LRHFp5-q,[&Gh9Q*ik!lhfTHViPTR1Rllir4HpiDqG(lbkEqL 'C`rY+BaH[p*CT1Ni1&e[kLijqQq6eEpYbL#C,$TYe&q"kjQX,8RJK`ZKVerJFZB FIQ,*XcZie4c*)0*@edi$Z8J19%FNMJ6rmEZacc+fj2JjaqeTXl2(fIm94YFCBQ6 `J(p38RM3bF'BA(EeF$"R"alSKI"P2&!Eb9m$@deYQ`MR'4iSCDc)$hbQZ$XBB0E rhALJq)(S"eNm8&lR'5%SiB'HA($'r,@'QR8[r(V&Xb@NIZ`Z8YSlfrQEKL2RXAm qm!j@bCp`[R!kr[R!"A3F%Ipmi!Vj28!RaRNaJ6!*TTK%iHHRRDXRrk2L,TEMK*[ qe#GUeP#Hc[dDHrj-XZ,cdF-r!fp)NJ%!ZakTSlNkUGq6,Trm[pThRZEkT(jEqPJ G@b[k,HUMllUj-I9bKBIV1'GmGRTdIXRi@IDd+IfMD8ljXAiE@Th%DB8[qr2kFVb VDSA'&6h`-jEKep(r'qlCrpi[(Eq1[VQ(CqVSHj!!CqVS%e*r@NG[)8rAdE,EeQ% Q)l`0HrGhrK!S9VS#2iEmjXdr-D@R6Yq`piXRPIB123Vr$cVj[+ZkG46qGIM`Hl# $80I4Vc1RIpLrr,"q(@UIXL1JMTh(AVEkVNbdQ$T#*(UkMRf'IEMPkKm8rAM"qJG ,dqrX,J[bYQ%,F+5dTE6PhUK8hFqIG)iJrVq4jbicAAVS!rbGFlq1r@ETGCcf0`e (#U"19CI(kI-VYH-mKK`Ehf3bPmBqIp2mqF1$l-[5!3!rldmGqjHLihr(TIBf$r# crIRbJ)!k1!eSNPqm+i-#`VM,mU[lJh(hD'V2-Zjb(Fi!aRh@HCZ2rhYBFhhVmIG `I$$hLJ,k-qBq8-FKjMj3ab(QrPJG6c,hDKfDZIrS@Y`+Xf1hBAHQcpce[r,jc2h Xcr5CqaEi09rh1cG9ae2-[I3H2fIZjBFpc0bVG4aLlU8bRQ2Ze6Vbc(hpUIpQlZ[ A2XIF@aE08Cb1S"$pN`5Gc2hq!UHG(ialeAVqMRh(HCCapp6"F33`E[AM"5HFAHl r48(q$(q,-CfrRLYMbiMh&'-DU1-3dhQXMLHC6V@19K2ld5hAQD(lcc+RcYq0X'f PAI#2IGmYm0h3B`5Ud96!aKS3Vqf@(aAaPhrc'ldk&,0`"04aL&Q8h[8jCP'YSaq %94hk"b$#((iG,CPCYqj9CN%4,CR!8rQ"Xd!"5#&RT3j,iA$RkVMrNXj3Dr8[&61 +MGq`h8KqjIcfeqXiDhllm6TU#dT9Q9SF8@KRQcqiTR69PYGH[Z2BPdpTCdk!1T* 4PTP4RlpAee1(DN3pc"ZU[&VcFJ+mKpDUR!"e'+dUV10TV@TAhSV-Dia!VICrdrp G)!C3Yqff`icJ$Lj+pqZiR&e8ISmRqN`dJYh*dAj&)bKcHlm1*Y%M(0Jre[GD)h! #p+[@#*`!G@JNeh!@qHqlkMVBCh#X2iC@AaPFNh0FCA+Q!6,8X[$fbr0lV&S&Ke4 9kLLUe`8N4`9h!Y5Ke@[9L[Z2eK'Sed@Z+0T(AaejGDeFKf,5MS!k&(9e"04a4AE X2G41RYbI,qEU5(&lTF@i!Yj$D6&ZJ$S8R)9e92%XABI5#)l8N9+GGjRX2rLDHSp @3c%Ql)qXkYc6(fK-MS!kP-CdT&rc'T-,S)i$QIPIRpAfIcLc-f'0'-%MT30ArmB -h6GV6RemAcGkh+I[1r4L9+2m'0k"DiTjQZM(hN[HRQB%MS!k�`"05KN!$F&9" (ki#!GpePNZ6Y1Y*c(`UTMY544kVRkq!dH'rJakN(*a+PPR3G1alTeR(P))!kD[Z rTG5*H)-,eE$ji@m0Ih9Z3kIN)Ic2$2e1HH(8aPFUR(bSq2TYh98-R3"eDTA- #e'&8ZV#1SNUAVZ0Ph**N9,(Hpd!9+lq(AiG@SC`!lkSR9Bl9J6ebDXP,XVLjja8 q0-%L`lhR$!T!"KG!(5N9UP*(F@Y"d)NT&HU&1Y#PR3$[kL1H#k!1JhL+a$b0H$a Y*q,Ya-4,j6f+dq*GG5K'j3LS3h&J4d!GLJ1l!ZTS(4$`VXa3(N2b&*FqmKjC,Rf NMMbAGJ(8XDp3aAUCPeS6S)'kYmrf[e'(E"[SV80['e#M6Q%Ga@d$34ekVS('2iE hQP%k!HV3M0*[f(*rG'`*#0j9ccik!HVJD(Afb,Xb`A9Qh(j*mc$(UeEV!`!f`1R jL1T@ZFQ$hrBDK+HS3JA(aE6Ai1Ka,1deD%f1l4+S[QY'DqJp4C@hXcrBMh$X1%$ f)j3!j,Rp#*8GP@k!r3M9m3LCMh!#G*!!1i#j1bUBU4-!1Gd+52A%U5k(G)"S1Jk AlC!!iA%3D$(ZS1f3!%H1BfNlj00D6&FK,J)YTLq(c(hd([I@PXRUbU[)+@maZ-T QRjmaZ)%k$M'iJ6S1-EM(kRL5`9AVH)TjPHVi1I-U2mKKjP@Yia$c+TAa(2-DU1- TjY99L+0JPeIP",ZmZSmEJ"(S1T`5ZlbUUl`LlaSmS5dQDpFHh95B3SD"(r231m' F!(@F[MeG'-ApLhH&@6K10%Up@qaSIk4hLahY9hH!TU0hLah$$bBf,`b6ijV1%qr URY"d1,+Ml2PheAAdrh20`6Vm[qrM0iJ5aGq8mIm9M5e[d0RrXr@Gc0r@bGqe1I, q[XrPmpmlcJim8$aGr3@4!qr[qea[IeZAqUHRbU5Zmr4NrZQTGlE1BA*HK#Rqdp- ,VqSX13Ncr1iNm@r[rC!!4`-BD$E&HKd(`pYirDUM)0$URcRdjh`jG519fXEaNI, )aV(T-CLE*LV6)i09'X!*J`'1Q11+3`%hcKPEXPMjBMk"1DPYPqVHM,rhiQb4RR` 1rq9,RA1K6h,1Jjl+f5U%2GqFA0JA&(q6U14qLEY)pX@UjaAbAk*kYUQq9kUHlDT [KqbGCP9KAkUm,FTlQ9PGf+p5[4`bN!#95SQL)V+6N5V*@)1l&MH[04ch#0`MF60 k-4VhFEM(i+jM4dJ[M-Fp!IG%h*0`6mBp"IG8h00`6mI0M-3-h$0acm)p'rFFh(0 a)eR1`cdIp`,Fc*ka4hialJEF5h#c0AFClZ@i6m$0rUf9Z*PR1K(hDYaVF2-V9@X ("23lh4+EUY@Q$`E&cTqDkFa[H@['YM3QbPc(S2rfN!$Af6Ja1Bl%RZbSl*MXZ1b %l%'b"mXH)RZSl"VCYE+(b4iZHi6XNE*(b4iYq`6CBf6Ab9iKHkcXFE,(bjiJHk, X5E)RbjiLHkVXDE+RbkkA282f60QcC-q@28IfA0R(beiTHjAX%f@[PVe'GU2XYE, Ab6j*pN[kl4Sp'IrFGdhRaqZ!2NNb6rCmf3YN,j5p52ELIM'a%p["VXC%E@D@1#S *'Q3[NEe8pM,Cbl[CrqhZT`NCZc&ZH#!Z4jLl8cDSR1jE0Irhli6429PqC%TTm-@ %Ca@A(k@UHiL`VZ,f(Sk,IiRiUZ*f(ikEJ(a$9&rX$lfiHX308RdfELlLSUV2aRR %lQ&*LLhSSaliYT!!%a1-AQVM,LC(m"P,T-6Yf+IEZ+92LSm3p`(b%$pZeF2L+-4 pK2c+MeXj,Yj#1A#996EZfR[%CBKMR+V"aPe2IZ)cSXJ3qd,UZi2m45D"SMYlFCF p)4j%h(9m!cpZ`aCa)q,Hd)Zll5Ea*H*ZK('6M6[ejq*32+rL6Yie0QlYVm@VH#l id53EGa0l()l&FkRHMkbeF4j(U1"Cd+kl88G8rF&b)2U1GRJEQhC2RK%2-RV1iV[ `"%0DH6&[QBQEKck1r+f94d5F6&cm3Ek"bJG1C1,@I!Ha+eVjiK%m11Q2H20&V54 $[NbFGbliAA4[I6,,83e[V2m*3YA`e4i1f6T1a[YkU+q9%f+CZK1rklqVB!GR&h! apDlT11rMIqRANFNAIlErVTQiMH592e3IC1)'N8rkIGRdrXr#Trpb*')ZZi-`Tq1 51fF3S2bFGpb,R$lq*FmPPhf2MIZY(f+kG*H0HaIh5,lAaQh!A*ehJShl,a+4pkR ZX`R+IYb$Mm1RqPI(m@ie0Zj4lY`'*iRMR8IBZ'Z*VaqdFDHKhla9p[f@Iai"r-- &q9i2Bjh0Gc2a$-`NlT1p1Mim"amBVXj,`E@pApQiHiNakTee[Lpdm6ljc2IKdlZ r&@qkT)Zlb8m4#a9ZF0T38pcLII*'rLFAH%iG[*Q2SdeR%-XqUVK[`0KKiaTr#Gr Y0Ql4GmRcr6Sq4Kd!2h8r3Nceiplj&IJq,Va82%P`0,Rr!(bm&A&ApIVT9cKVq`N EYr#h-1kfGFI)$qJ,U)V#F8ppfI`j"(c+aVfF'XDY0Zlpe"j8[q[kAYIP2FN[EiE [dcEZ`0p*3[fiEh0LqdlK0,V)E"[h`$rKZdYaF"ejTd[*-m&RGFiJ*lM&aMh-ZK8 [i#4[lr+UC2'A!CqaFI04Ym'c5G4R`(pelJG@e9aLipCILB$2fVL(m"p%JQG0(qC Ehf2M[Rpp$mqZQd,!jfcF@k$l'$blKchaHI8"H1Ih6G-i-3AFS&rT,IpGQmV8EEk S1,3L`D(EJH@4RpUiYd)l%Ma,2NE-JKZ56rhRNH"C8jfmkPl&`6HNMKpc"[Sq'hF 6Y#E"XkC2N!"6I9Rjd)bN,fpJ[Um)$p#c"-mq4*b'[kMcGZ#a`E2,ENA!ei4Ek') qRL@[*$riZZSiVBYRbB$p!6FN$[iJH0C#$J,Z`Ir3V`62EQ92rjhHLIPJ(mqDcQE 2Jih%dCr56k[*GlpTifJ2`E0Nc!&Z1)9UJ3E`)F'cTSZH3J5F9i8XjIX*RYe#h)+ EJlZ2p[$XfPh`I8[j&*iD2,Z6I8`2JP[Apr$X4R,llbL1AT&hfJ)1&b(HUR-+F86 `E"pRPam8RPh8`l2EEi322UMUAJkFLPUq(VQFZ2*G'lF#r4mlfmDpNGV$3qS2qYR ([mLG9m2h2CY[038kU@-VHqjK'pF)rQrUH#d(`)@V,L#2P$TZ)FG6r&Ih"cdkV)8 Cq$5(e(b8QQjVHBIh(I`r!!!0%&4ME'&`F'aPFf0bDA"d,VP-VCS!N!1!!*!%!h0 @P#%%!*!3-,-!!($b!*!%rj!%68e3FN0A588"!+rBraHaaRi+!*!&!330!*!'&k% !!#qE!*!'!BF1q&l+D@M)2XpeHlhfhXV0h*kEELpfCKir@P41jAS00YYRE+pX$Fp XCEG1p[VameVi&9YHXT!!(9pBq3[2mLcH@lkh%*iPfbl'&mNYMVb1l0j2XTMRiR9 mHH2CTbkmGcR2j8`6k!"1I(EC&aed@ZCabLp[-3R2*lq3!0hcK48!@i!*J$1[,jC 1*bc,#PL@EljP2I"&brVA"beViM6iA16cqk"UU8Zh1HZLf@`mR3e'XZQY6LaIm$@ M5'XX%FeN%NiZPSeRmM9e(EPm1KNmcpPaF6VEPZYfVih&R&`Z')RQYr6iYNDcl8i qf1,Nmr&8Hipl3ccK"-2`k(9Hd4&2Y!AVYqHcd4lI-jDH&f5ARZ1NHPeAaR24A-j *ENSif9lrTRKU@lqRfqlG,A"Uh5QR)10N"KAV#DbpJ4LThMV@0B54@EGAiqTJFbB I6mB[fC[2UZK&d@"c4cl6d9-)j6T3*1@l0YcY&Sl'QPZ#B3HGL#C01BRZ!*&S,KC 0l+qZZ1mVEb45Ykm9k6V8L[6[Ed9k4ZSEqYckL`rAfPbb[m#VR8[f9EGP5e0mdd' %dc%U-+F$$'1GMM%%H$T#"I9dJ%(Smr`V6HF&kHXmclfrck4IKZ#`&')!0#4%,c" Ue`SkkJ#$%&Rd(bTK2eKUha(%e&''BE-caS%f'!43chqdSIG$UHHq&dq,[T91U5# V$P#"9pALf`lLU`5T!+a%'%CB#6)%X4+LJV%5B4"NL`%U69Q-dYH94IrqeR-EC`K S1f--3)`ESaGUaEH#Y4*K%'a,!3i8XKpZaAN%EbA--1#@J`bh`b$N&J-mdYll3EI S[aGe5mj$,92"ABP3!9i%2iLkM&#"A,S2ibdM$)%Yr5Y)5rG"Q(@p+dhSKZMV30H j[m08G`a"UaGJ!%K8J&j3T@-&8HNq#+F&lm'bp3-T28G3P$'')E3BS9,f3I"d[3m flAlBG*hhBQE"FhpI90#5lTe3+9N%&ASeaA2p[(HPXkQM[Gh*"M8-pX9SD)e8L2( fT@F!qf)1X##G)XcZ4r,KA&eQ1j!!V,L2CFY1'%j9JIT!R[6Y5p*)*PQm1beVbL, ,iRS%l,"DFbeVDXThjqkG[PZ1Zm0h&6cm%XpERM!YL"qC2krLMed2+mMLi+f#HJ( H9eZ@r4H@0BlqX2[HG&e'PE$P5kbSe9V2U,rm%'dpfK&l8e5Ppd($UfeiUf&6Mc* 2N[kB")jfVK0YFl+jd*DqHZhY)l[XVe)Ue&DPhGF@eN5mNr&1`6X9lc5mNr#1`eZ 0G`*H@qHM#UI6m2[T%!K3JlIPQeRQ!+(FPX5QRcBS`MHTQ#UMP8hRV)pYLlH4JDe VLG3Tr2!A8'4%5PfQHR%UkA"GJQ`c&lSNV[Ui*"XD)m&9Y@YVTE0+H4)3@"+@@d' $Z3(#M",LS3&80-Yi&hqHMrGi'YJSP"2`[U$Nm%+m*jFF6X3lRcK8T5'V'Zm%[!T f"8RGRL4+-dr'CXk'JYSLbDIULC!!%k4mZTl&#%X1-SmASl)UhS"-a"[8m!H+eBQ !&ISKT-+M&KUff&cDaD-E2Z[Bm,U0`0pD`RH,JQp02Q4`Y4rcRJ6@cY,C,S4iH1) 9YBHYP2&mLNHPd(GV)SfK60EC(0mqd-qLZ3QjqVaL59iUf+)Uj[Bqj1*LSemM@%4 jRpY+N!$2&E(UQaiZ%8B8MY&'''%IdlB-bL5aVB%b@@b[8CA9YPe3TSVY*LL+@X2 f85M6aIEh8'D)M5dr8p[mad'C*EDA3*NYYTG$Q51f(*3MaABj&2"eCAXhP+2%pR% S4i[Y,LM(5(ZbI`62!S6'BmA@!)@jddE1b[kLl6H)Af,l2B&8fYJh#PTKqbG"9VB Hqd%K,'bB+LL!TDd&bS[%PK+FTHe+&fpKqhdS*iRYm`4QXHf"FSUf9E&R&SMY$#J ,aFDq$iRY%LLRLZhY8&J(fMi#j65aI3A+BV(p!-VTJSRXNb9L1d[KZlC&S6"IfRi 0bTPLBhm[&GZI3@(2dXDHU0'fDZ)#-BSfjXDmD'Z&FVEB1U#m6'a[J8+FSHh$8*D ,lFY3#-@dr6Z8&GSfM[eF*cEQX&*XVi"5,lCIKF)HTqe'+1H)l603cK8EDpDSEH1 *4k[%aYj32!+f#*3QX4(c`Q)M[Ti[YJp#D4EER9!BNlE[3q&NKY"+c&SY0[B2mB' fG9$B&l5a*iLaY,dCbPUa-6r'SHd,80D,l9qJ%#F*em40BJ*Ya!Af!QfXeb[&YJh +K@)MMVj+E1q#XP&XRiD#5C+bI3X+FB!8J"a!*L56L&-aX6'r0V&YKH+)lA930S[ YR9$Da8DFPKR4*(+#Z0MZKm,iT"M%IGD+0Z+(M')RXhC*XE'rLDZdh3!P,6CLNY# kbHa[pLbT#RN1ThmQ$8(&UU+K0,BTrPZ@3@SM%H#AEqGk6MUI%qC6-+laAH8Elrq PFJ5I%5$,,KQHK6ip,4Z[9dQ`U2*F6r92rRl1pTqF'(E1B8(GEEa9H#ILRB$h#,c 9H-IKRB*h'YkTH-R'LEkF%R!k`+N!T`&-K&-%SL5R!-,qeC5"b%q@5eC(PNpfccc )6-QDb0l*2SMDC1PN1Q6PV#AC)9NKfD$,,XPqb!,*h)JQ,X+6B4,GbIlBUf4lC(P NGf4eC(0NF@4[C'eNDf4TC'GN)@5VC!4N9Q48C&*N8'4QC&jN8'41C%aNEQ3-C'I %#c)R-LBb*E)--L-b)M)K-L!b(c)H-Kdb($)E-KSb26)-6Jmi0A!(F'69R#kimcG 1"6LG)0[K")*-Kp-"GrV'+3"C&9Nrf6jC2PNF@6hC2&Nmf6ZC+E&3f0%c8Kjl@`h aE)kEF1e**j@hDM6G`)j2X$'C5@Ic3Fl6`T&e*I1+D#+46UH#jcU*M"9H&p6lC#V 31Lc1U$8V@V'DC'(MU45kaS2HKrH+qYCrpZlU@2PB![X'#*L0CRH%BQ*[EURYY'@ YiRb3!0NeT[*1GR-djY!BaQUJdPZDJUXl8PKUFj!!@QKP8j0b8I83[e!a(PI['U, cPm3h,Qdl56XL@RLGK)+$c##lNp"Z+Q+aZeM03JH*86U)9VhlCDf[DfiSY*(bmlU +CUiLU'D)Jrjmb-TNBZq@jV"Ui,Z3!)90)(&d8pN4$XU4%@(A68M2TD&&$+Vf'e# f(QHTT[,A(YSQlTkah,PpIU9FT-Zd5eHMlFZmN!!A+TP-jp1p+1)&(#Y)EkaJ5lS M'h1XPKfj[*2%ETfd'm2ScKJB5BFbX5dSDf'$8@c&r8lY80`Gl&j[,5qcGUfZPKG 91pG5ZaIL[2@h[4Z9R@Z%THh9RPh9BZ9+HkKG@kGG1kB#LThlSk9ebjlPbQ)lZ)Z 6T6A*cU9)3kqi@b@FjlJc*miPh+d5cLcFV4,1(0bY%XjNh+d5cPAFV4,16GbY%Xi fh'dRcQ0NUm5k$+ml9hSpAYNUXAi(Vfb9@,[abPD*GE[8Km+TYfb9@(q(9lC+V([ abPD*aDd'f5VaX5kb9H*M$V*9iZ0X4VC+I*`hb9D*Mh-Ff5VaFDiM@b8q6TPPUm4 h046C+['p$BV-*(h[PGkKl9BSXPALZ`1+E*Ai@$rC+[(p!a6C+[(G"d@f5RcFF*! !V4)rkbGE*Al@8EC+r)`V@b9qcS4NUm62@CTXPIJjdj+Y%MpR@E*9iQGIbPD*Rh@ 9V4,rp9"NUm6r)5Lb9H,R*&ff5[cF(T'Y%MrV*eXPrKp#NDf5!(Y2YNS#V)9XP34 B'pNU#4!cC+XN`&QFE*8%1)Z9VC)!*mLb94*JcmP@5B"E",*9%[J!&0NU#A$,5,C +!Rm14EC+!Y`#NQPeJ*X-XP85)%l)9SP0M*1Y%TZi)&XP0[Y3YNTXpS"XPGM-3EC +E-iHCD[%jQa4YNTXcJCPUm6Q4SGXPGLA3T'Y%TYE4V*9BPm,4EC+l2G!NDd5QeJ S@b8fqe+f5Za23T'Y%N1(G-pdLAr%02)3FJAf(R'1'%Cm)rB4BiKGa$*L!2'IR)5 pATS*%b[Bmm3$FKcf+rN"Hj!!h)DicRiQeK"lL!2%'Q)AqjqB5%`J,h$RfZ3&j$c N!F4PFJ"L'$N1XEidJfE[XQI*$GL[a(cL1,N4FFEGKL)qZM0H#R'6I)JB5bj%I#9 A)RmScGf*Sm)erN[8@M$bNl1!f#&`+Cq5`[D'fT0'hih&B4p1pq)-la[6r5()D*d 1Ca$LZ*[1e-IYrY4VBFZrY6H)%8l8rP[RHMq[Ki#[lllZe(-IHZL,lc#j3B1k3Z2 YDfTF@+"aiFDr0EVK![GYZrR#+F!&c#HAr,V"$4A+pkiJ4TLl6!B!fEJaPipQ$3p Al(hBa5qF4rZr1TSHLXN0"@iFZ*YE[6HXh)X"R*kjfeZQ!2Rje34pZd$9#UXH["6 KNh8KJjX3$$J"9ZYH3!5M("k!Uf&0UlL0VcE-MD[5HhR&X#*'Z"Q"%Vp9GAik*II U"X3A$NF-!!b4N`Kehej1Q[6*G(fRlC!!m&`9Ep#B!I+SDpieHQ8+piTBf!-akK) jhZmd!15aDQYfF`M[XhAP#R9iACeXpKrUMp8YUq9D`+%m@Z[AYiBfpCr0GUAcjYD !U$bfj*220Mrl3q@aGEJE(qeAPFG"l150X"(KpEjIi!F4H%-m)jFE$Y@e,4hM93F $30pRFeQjSANS$dS)R(i)C4qYUmVMiHZ*6qA4Fq'U@iia6c#GF,K*ES!-5YG0[2l +4jT'%HDa2)`"$+9jaDT(N!#cI0b[6``961FJGRBH*Mb3!-FTFK2R&hN-&q3RH4` !i*rQ-B,N2ml$f6jFN!!adFcd8,m@Q1R"DT4[8&EUNF'*2%0!(MM`plpej5%90im K*2T*(TN$l(5NVS8mM!$-AH@4Fq6bmrq)HB*a2rTAL+l,Thf5bhFB![+JK0!NcpD 9aiT+Qc&p8QfHB1k'#QCU"%"1X`*525Sp4dUlaI`add&T"bVrj%aR-!qcbG6jL9R -rZlif5aQ0)r(Cc'MH6`qLhNNMar2BNEb-#r-BJEUmF`XCV#`6mjL4[*iI"BcN!$ 'dl1Bd6bHQ-Ad*f)LQ-8-aj!!Hq-(K-I)4h,Y19MqX"JrCMVlJHKR-jd+iTX#CMU &UlcQ'F%pLj(I9C4q6k&I,K+YrjJ"S6DqiMmVM$&Iq$'$(&RTr%51ZN9JIT0`5f2 pG28aL44qG9#r2C0)Cjqk50')U4$$BMSd[-YX-"-rQ,lqkTB"KLM11V'ZH@ApLF% 69pDfeN+000DebSem8iU-YqbM"Rr!mCJ8[MCQ$*!!4ck0Sm8S!&jfpreH(bka6br ha@NKqG#!1893IZca0+ELqAJdJ6pi0'5MqYX[6mKcSa1GIkZ66FC6dI`ckDXf0YH --r9"[L"K6hhcjqQ[hKe1)-bMe!F-mHf+`TFJr*eN[%$c%BH8BqjB(,+qSmELm(K TX"#(ArhVV`m2Q#iFbiF(88-$Ak$iP@)FFUqCBrR`DaG64lj+J6MmmXASPbS3Kpr #1(-X$MIfTKQ8[fK"YS,MFY$iAjMa"VUMa-5$QRBRj@6M-@-E-,Ki!$9JS$Y566c 3&eGD1M*F%kq4cp@De&#LL!HD(i5GI$CpXC2GPJZfj+1TYQLf6EiKYk1'Rmh$2kQ TTC2*G+SQdV%T%Bm&'e1a4%HEB`D$M5)Hf2q*"f!44M)`+10"PCiReB5aFm2[!1D #Ti@@K%ihV8d8LRJ`cU"afX3XYlGZM$PcBiVjmkhldHZM"hl9k9h0fJXCTEpCQa" qHa[!,%EGp#PP6D0mrjUEJ2aVR[X2@Pfa`1VQC[RcXCE!1D[Ab2IqV-#dRPq'JY3 e0$E9)aPEp#V4Ma#p@R39KiZ9SV[f#F8%r8HMTpaK84#c)ra8&CmR9EraK,Y+$5% R5NS64(IY8d3IAdc*0aNTiGHY`Ccq*kPNJ9S(*0T8dDH,2NhmEE2CaiM%m1cK#GE 4HZlQa,1(*`k!d@%%`J@[`VH%+YqQ-*j+hqH[c5TbQ"Ac,5'H-S(UhBJ[heB[A&f !&bm$HEI9"q2`A`ZcaZ,`D-2XX6LmiMaR,-jM0qF4KcIR6aUj*3m[hTaI0*BhEm5 2hT*((0k)(ldPMcLN6k1hj0AI)XCZb5-1Epd[,Yc+(UKM`F(dHL0q`Q(r`ihi)`k l&fl%MrFZ$PDfCifR8ViiH'$Pc93LKeNa&`GaFD[V6pJ8mmZIX#'i$6#RCa@fr&e `mm#2`2p$bVq&ipYrAR'[P2i@PeIrI`)j@1PXMUHFh!MY-ik)!HC[F8DBrq8CBX3 8K`*Q(*NYChd2la1Bdcij2&(J9*Ce*0kAbSE2@HUk[Q@G,4qdI*PXM5a6prCj"%G R8L[k#Y(V*-j+pCF)bkSA[`E*iacee`I,1KFI9+8dbYp&9iPqRX4VNMU%aAkqa'q @ZN5N$KHSI-dX(d+&lKDXjd1SHfk1E21aShldRF#plrbBGGGGGlP[B-r0ddTfp9U qqBKZ*A2jVZh!)lq%GU"IeajeF!(AJq#A+[Y04al@I2M&bhl()piib5r`6Fr[C2M C1h9q*Er3He%6qL'rNYmLa+ZbNRQeeeh%XZPXQTh`BeqAr$l2BLAcZHjihi%b$I& BTk,I,2kiBP)bRdLAr@C3NEU@k[&LpX'#C#EAjAIQH[408c,IhPAA'Hb2Sc0CCl0 90CireMK'qbhr!ITJNI+c,q2@j21dArh*b'15MMH"9qb2eAlRRB'2GAaGqeef&Kb 1NrSGKE*9DlmGhiE$2-QEqqYcGAkhXjKbbfI'"LJ6G,`,[`[Emm9[+j3T1YlhITF 0V2f1"4liMY$aMYm$Ka-NhRCb"ZfhiIf`[8$mrX$,il,A`2C#lAIfZj!!aeGd[)A F@Rb4a2X%qdrlc5INbC,9c-m4&(3H9ec*AY4q9b0[Ze(L[4%1*dQm(d+a*Gi0""V aiflL*ZehpipJNmhFjFalUIElj'lBd0HURkK-eRjASVHXK9)ReQ1@c[XXeM8NqE' hG$rC(lNCYP1ehl,A3VP$afYr1i&-qfe#RrZN,ep(6$T0qm@@3,P*aj[,hi)XP[a qUp!(98[[KHedl4F(0[LPEaCr&Jk-$mQM9`Ti@GclQmdPAaF[Lhjc9V%C"#p,ITF AmE,S0q0E#KFeATELhHMKh!Qe"%VYY`2eQ,*6erZ2k!!FSeclF3rRPS8*S0V[VDL PLh29[!R"M`#c2rl'`lRc2Jd(IJkBH5-2&qIHq0Z`bA(1QIb9YI6P0Gp62&I(ql+ (6pqq3r&H*3Rm)-A&ZAEfb0N5laX&R,2[AkeiXHC*h1[8H960UeFm@8N5[H[Lh(& I8,aCaq1fZkkh[HII&)r@IX3l`EN(bA6PlS6cKal1T6kUH,DZ+hQ#aVNUrjmShUe N([&1iea9,6N0Dm,mhZEKh*ll&#rAIQX+1&Hej#f+TfZr5cfF5rqTiZdD2mJIK$H XCHmeDVqfZ`XiClqI28mmJD5!9B*c94YB*lNqmhVqV%9`EY1VB*1l(r2BLi*ceHq !MCM!H,F9F-lH4@`pArYpi0BLcK9hP*HcIebF+rSG"r`Sm-+LAiBf&qH+ISSZ,4# F+m@E@F!jqhhmdR1cpVX0p4#FUeV,AmX)UIm8m&T`cVk(Z9qJr6i$[("a,RS4()J YN!$,EbrJR(dRb8L,j%dH)MMh#I)cQA`FHC@(Fl[S`ljQ2ph[i91!R'fYp[Y0p,5 ,FdeFA9qRrAD40`ZIHr@EB!1I96K%A*Fm9Pd0fmZehaXqA-!jqeEb2r*+b"@FmJL Z[q6VX,e#qSrm62Vl8[E0+k@Z`#2"1IXp'q&`SI!-AZS8R"[(Na(%#ZBheq0cYa$ E'*2ehZAKh!ecB*2MKR1ZmrMFAc-h16pi"IQ3!-Bjqk[N(V+RIF8E2*bV)Mq@(IU Vb#f%crQZ*I"T[l["EedqpeRQ)-H2[NEqS((1rZSpX-RPdDr4*RKr(5GMFYrU(Z# +Lh0r5DiLkpB2X-q@4jTbHFYqJ2-*QE2-*Yj(NVPZIMBEFi@#Aa'hCK,3TQ'H34j 5R(0m!r-#rcL9Yh8cZ6VR!*!!I`3[#5c@IYGc%LIAA+pQ2f[mXfkkRX4*qqd",VK jA%-mNdX3pk(Ih$aZ`bc"N[R4GkramVLEI*Si5lpE[$a8AmU9N!"rrU#AahEb*mD %I*rm62,i+pTNRRA&Qe@pFB2'UlAU*pEqMj24mTfJr`F!$3j8Bfa-D@*bBA*TCA- ZZB`!6+fD!*!$J!#3"!0c9T3P"J#3%&MK!!#Sd`#3"2q3"%e08(*$9dP&!3#[[Qq 5XFCq(3#3"3)N#!#3"MGa!!$bB!#3"RH9"[LZKA!hbeY1GSYXBBZGK"'qEJNRQed ,[iAQ2VmBBIXL#j1[E,DTc#2dZVcGNB9`mG56H6+GE2c(MhBYC"pE"[c)lBk6jGK bj(I2qf3,,bp'11(,bBlX6KHqN!$Pq++h2&qm#,pL1eeBj2E&&idXQLkk(,q&l-l Vq%*fK'+&2f#Ue6Ac@pLA4`$)*TcF`XQ1,!3"#q(,5Qke@GI!2V-hHeVRjbc(0Y+ qMTB$Z6CSCNjkbXp*IJ2hQpI&"f81c1Ai,Ec,2%Xl1a[iRA9qjb$HHBZACi21)mY jH@6aA-JY4hCRpQ4(PL1rN!"E1!!@3-#YIRD01[(-hQjKjER`4EEMPf3RfHIT"Z! ,rS"(k68S0jXecr2k2#qh`XX[2Z$P[rG6RVGi$6iIcH9cU1jAdk`%frd`V$E$`NM Bh"f8iik[*H9,CV83qc6b1jlhZTXpEdPUricRrANKmEhjYG62Scq,a3qi0kY%%LM jlAMl[MKeA0j$i-A9Hk6mrQElE+'$%qVTA%Ad&ERpZIRjkikrLbYjiA61QjQCGAa L*UF2dmQTb[IQArHm(j[4Ve`FErjjT@E$,cI2[PA@@q'GRlXV[kqMYcbQireqlPK qBGp+EbA2m)$R29,b[LGcMhRREa[Ce0m+Jeh9k4IU`NPH-rmTm16*BYjlNSIe0IA BIRkHKEG@8QNC0#fdT`)"B`f#k-)UjQ(V`*3AkNeUa1U!)'(9ake#[E4ep8V0aMB JepZE,8T#Z)qi1[pGqA9pblSJP,DDPe5-e!Sa[I,[EFi9THeAEbhA0JCq*3K(4SV 2JAIabr`hJZcq9PmGaAkLE1[P`2kLmXq(q'Rj*ehjTeiY(f[)jl+j!KEZMqG39,Z rL$cj*%NAS-&%3j)-5j)`ChH*6q&a(#r-hC'r+2qe$(+hYXSI'DU1KhkiCl9e-bT ,eDMXc6QZUMC'Li9LXpkUeS,`Z1YeUpk+irTJ3p"ibQp4Y6(e6$M60!RmkLV9Z(N Le)*Qid5-"MmUql@6cb#qULqcZGUBL)ll,[5[mCp,fVahhA3FqLGLeV5MZ&N[[#2 BFfdcV*c`V5kAJbJUM2Maj!R(A,YDUcbEcE49lhLZ52#VV8Cq&!Aem5HI&1I@#X+ Yl6&V9KB[ZH4NFELZlE94Xlj%3Q&90+M8@ai,[ml(`VReXA"V@,IqDCqfDQ`S$NC ebQTc8$[ZZ#cBHr*GPr[K4"!AaS)iIZTK&a#YXZ5h@SRRY&96*e%ZF#bLA1!DS&c *6jkpj'DH12!6P!YF0-S9RUH)FUfqq8S1I!XSerEHJNZ"D`RP!Ym#bJ@1"C3,(!1 8+rN9J+2Nh&T"!FS9ALa%Z4EApYS3P#Y8KBpb*Er1ar*4VZ3'bMAlY&9MJ(+"B`( P!XF5bKA3Si"bi*rUK641iYj#j[+HV@`ZleZLF`9((q!,IJ'DHrQhXV@5Fi'5j*e p,TMhbC2"[%FcUfYqHCq)jAhEH&hHZCRBj6fEQ9hHXd6Y#Sl0G+RJh9C1*AER29` ,[5[kGK566r#m!LNb[)*Mp'C&MPI`-b3[G'U[cK,0bhXfmlbmCa[4mk#KJ)'Qq,A ASQTdJQ2@MaD'@h'eAYhl"*A8D,+d(EISm6IlV5`GpeRXPiI(#U@!0fPlaZBF3mM bN``G*FZm8dZD!I)AXQcQJC*NXjr+-I"T5r(Xr`,,JR14(rUH,B6&GblaFYqe5#a pcj!!@4BGLfbYk*fRDd8rMjX&$ejLPmfq2Vd-I!frp(f+"HTlKK9DFQar'+piIDI peG[55'KalRM1N!!E&afMFLZ`ik+I5ip,6Qe2A56)[QH4)IZHcCdEhcGXh43Gfji VB,6+D8Er3(md@AXD$32I!KJ'ML8X$(a$+!`m#dJB1!C!@2)V&'E*@4kkj0EqcL% )YVMQ3D2JkN*Ji&*!`-!a!-"Q[lBR-I!Aq,5JAq"G!Vp@hrCR$+#[j0GCB$l`PGc ![@DIeKFZS&lJ@!#p`,')HB&V!(NP[pCh+J*H"rIVi(fGR'mAhq[JHZdm,q*iEIb ZRG[YjR@l19f*ch9`ZABHem(KQ[RE(Zl@bGXk19XlAiZi@KY2DqCSlIbXJjY&I4[ 6AUJ0aYX6%d&B50'Ki,YJkmJcVAkJU'kk(&"X@aS#Q9,ESj45i1ZP91V&0kG8D,5 d2C1(Ai9h+T!!a0D(mQPNbd[jcX&6&DPRFeD@K-m-Fjh3(4QDNXiNk@p4-KMQIZZ 3!!b!m6(EQMEE'j!!-PSAqa!bDlBr4*DCl5q3!'D'mTq4[5app0jQ1afPMpQBUT9 *5HHG+"9QZ`UPRpR)ZlrChS8b`'bI3$R'E(q*SJH8PHf(+-HQYVMHET!!f8j'1Fj XXe#10pXbU`YXPk)-0YXV88idffqM$$'EQUZ+,62E&e()#p[ISTaL0UDkh#RT@*r b'@Uf55LRQUdHj65cV8%CCMB'$SHEl@D8%@Cl"`UeJifhPdQca&'88@El&j64U5f T'KYM0R)BDlCj+12-YJTP[0R)@mf0DGY[S%``fcY4*TVYNbLm)EC[S%`ffrF06i! 1F'5UfAMhD@DEJ6,GE1!0GQcV8@DDlAU8+V2GL8+GB[X3bQbc8A0cc%E0c8eYDH% DEiZ0ZY86fmV''e@EMEacCQY#NAR5p!dSY@Cl#dUGfGk2XX"XMk)`kSVYFC5cc%D Y8m[!)cLbd'cNIEECb"Z*l3U8a@Cl0FS5Xrd1bP+cr3&+JpRq(18FXrdG#RKPi,I 4E'$3FV04Eb[-4[iVc8DG8HrB`,CccABA#YL,l5-Sjj[Y+bJAQ)hh[Y"Xri&b8@S V%rjHE$D`DEACU*p,c)B2q)D0mHHeCRZpF3eXe"R[Jqd4P!eQqcB+Q)`0E,XXYC@ ,*eaZ0R#0@XC'V9*If-MY5V2ahN+eb[AHQmcf)-TQXhdC45CRbe9R@e1ETM$`%@a `J'eQ!lqfQihDPN(KARU[Umef!mSeCQ2fmeUcI4"&4X&lhBZbdfarMr+be0CEA%Y f#r3@PhL&fF!lF")EYFhEBZ1Yb4IE65Jbf0[l0e"HCED2SS!jf,k'`[B'E2q)3Nc ep4(hJhGJ!eI!4QcJmUeQ!hGHBcCUjYI0K[jDXkQG%6(a#'`I4hQGfH#)e$kf(k$ !lp6A9ecYM@D$0paQ0R$r6@B$(fmh'rArQfEMVAr,E06C(@El!!Sm!YXA81"af+K [F%"p&H,!a-3'E`$rX9(IB$)fmRkVfF#9hc8Ep8PpB50rH$%fmVlEE'T,4NcF$C[ DT4&6A@$lGa5iPIVk#FrZ-4Zm$Tk,M9TrYpR!lR[0"QDpafc8lA[0aM[HClB2Slc 2E(q#!XCLqaB+li2YAe(!)[Ae&cqrhfcJ($`A'h`2R-3'ri',BB-$N!!M0YlM)E1 "!I!)E,celjZ02J'm"K[F!Lc#"ZCpc'crL3*@U'q!DS+Bf1$'If3fF!MqL`f1"#I &"VjrbQaJh+I04ShpXGR`IpKXAdG4fdbdlGp32T[DMK'RJB0JJd[$ql#"mG340[J 'GBd0l'&2LUhQ8jfK!lY9pRrcq+T(4UJrCpq1TpB9r#bI[,&PKi[kR*i!@4DqP0H hJ$EJ1$UXifY9Bm!YVe*i'A[#jh5cCMZ5hL44q25#$ePYXl#lV5#rNF"4i$JbJ8` KdmJbj!KN1A)iFL"b`)Ne-&iUX4cHG""dGa,UpbD&6GRZ!cLIjRUk-APNYiUE!9Q f,a9K%Q"Ac1!lXJ[LZ88jZXpDS8'#QT!$qY[lpeDY!q&pjfmD+@`H[%VGV'5b$F6 XKQKGdC*IVV,r1r+`IX9k5bM-bJU[*fbIqEae18HU[&L@ZSe1[d+$C@%IMfl0VhN f(G[-CiS,@9%+iV"jE4"14B9NK+Ia`Y(#aEQ"3`Gc!l[@E"XZM'kFp#iUM%R,,Er Jl9jZ#if+SIFXZQ#c0e(BCXhDVQqF1%RIHYa5`k#!aR0SZm4rX"j2d,C)(*[cR%G M)AjT[484-r5XTPhMp)d--I8F2rCC('6F32@dD5D0I2C0NfU4llaTRlIRXD5KjPc bi8@jflHSSILS@&-XrpZrkHhjUSBeh1p2N605cmI8#XkrFP*Je$[e[%e0&fP3Udk M`KcRmkRRP@Vc5EYDaB5U$8`pGkVj)meVeCfRI9@HHZj3LdYDfFU6"Y0R8mm[UEN XM@h9Z95YG@GTkMP6E80TFkXq*XhQMkHHDp6SNUDhUKRDVjSIa[*[%)f8&VMUGkV "M,Lpjf0Uk%P$A(8m'CGBQhTq3Q-PdKjARUVTHIajUHGX0EqN@DkkJ,c(GI8iXL@ $h[Gf)0pj%!aSpUa@bfp#2DkTK4TkdT`eZ&(`e'-I8MGIepL"Y1M94k0Z@1VC9me (DGK,0FLVhDja$fRI5icEV!TTMVR0I&VUM)J3Lj%3fQ#-NM!5`LJ)Q6*b3SZ0%4E '0'M4d@DM28SV(c*2'jpf11-Xe"3M%Bb*-"l#Q!,M),4CH90DcBb"d0i$ed!S@R@ dJKQCSATSfp0UT&jSrp,bKZr3RUFYchJ!l6T'!'M9dCkRm83l(KbJr3iLdfkRc8l EKlBklA6Dk,62DIe3GE6-D525jU006TX90+-Yb@J5)dQd6"QcB55*YL&B!8HM28Q RJM%KfYUJ*A9+Y6%U4Ie4DA!f+$2M5S`T-Cl%@"*M*)`0Q9%UfY+dC-fH0#S99'$ 8KR%61KLd*aNVB5`&A'#X"1`'T@RJd1TNh!8XBp5&GLHM'5!RiaU-D0#BJRBb)J1 'JpEJ-JJ-eS)MM&M3NJG(38a'F@K6dc+PMF6B$DM)'!$YIrJ!lAl'#'J0Jj1dq@% MM"N`4N"lhl4iD+26[UGY6lZH0MfY&0VbY10T`i2@Y0dC4k$P$YV4BUIG$+qJ(8i ER2Bh'%[E(&C!fjYf0beK1!IYEYVFY,GK(5!kE@cDel5YB5bdU@P2djDQ(8dE@YV ceS,2fi)RRa9Q&CX&i,-r,226C4adE04hT"HN#%9h*chSP,X51$lA*L(X"NrVpj! !#iqXHekfLHfFdKLe"Qam$FN'*!2b"DQ%C%*U)#Q3!"h)+D32%J[jK&4#E#"4N!! `L!fN"N)$8H&Y)$q3!"hU(d)(!B+F3DBJFa!Ib"aN%0)&#B)B3q`JF*!!0!JM4!T #"5*!YL$#N!!`b$#%$()+iB@X35BKH6`ja*!!1S"!3SV"*`Jia"M#$2''C%1F)H8 3EiJNa"&b$U'%l%+'$3Q(b0-8J+a"a#"S%#S)'Bd$QA(5T"a##iQ%j&+h%'3D$*! !2-JYK"T##rQ(0%*q)BU3!&i)+*8+D69%%`)+`3a)0X6H%'`)1id)'K!d(QK#d(b Jb8'$`c3bD'l3Y+!*BTSMTQP#`i6'5G!XJCc6#)$`d`#!p00-!0&S'0"%S*PJL$E 0J+$4!!N2QJ`d$(Bh8fM'Q%B+C"G5$@%h4"fFKT!!bibP"3#A'j,C#RFQ`2,b$9a H(&klERPKqGV"VB1S$CZ+@feJfjlbRAeZ!bSm*Al12dQ%,[p&bIVDk)-ME44a8A+ RE929MX@"&CX!rl0&M9hN),Neb&Vf*$r4Hd'f[DQGi4dX'j,[qCM2arej[Lr%I6B 2Idq1fR+iSCaXh'N++S9d6('ladkK5UB@Bk`"fK"@8p[LCKKS"G2f5j-92@[L`T[ `fqV0$6L1Ej8R[EKF)hjeVGBXpjI0@M2T0cV'ZXBe(9[YPY'1E8'aAXQ-+Y@mXEi 4"f'l&AFGQM*MhA6AZ+3C9hIYkCM9iTZQl"Q@"9'c(CDca"UEjDQ1FAQeRRQZD&5 R-q11DUeMA06dp8cEJSPJZT9k98Gl'TCPcSpQ%mj9'e5BDkZCmV1#U-%LDDXRVpl B-G82G8b,Ipa-lMSNceJhh3T6DkdIQeqqSZUZ#4T@#hA63ENp'm!V,HTUL6rld'F '&ZdX2jSdLpTdZ@AffHSEP@"kH(chV&@9S6ajrI#XlK9(rA!R6EC#'F[fZ*1"e)i ZT#C$"&jMZf899'mqD)-I4[CH$9-6CYJ@4%&icDcEYYR5DQK'eHQaf#T%'G4qUh` L&,KiHSqfdTI,*Y$Y8U(Eq%Ucl+fYJST838fcTGHJD)bTXCA#(lDVDcc1$K91(Kh &9KY%8h'c9CT3FRPRGdZCmYJHKifb(`APZKlHAc,9KXFk[Pj$@X*HUDJPcBB+)9J V&3-QYS4aZVG8He5@fHZPiUV#d4LSYhiTIcGY05QqU4Nh3A0aD5+!B#64ai0e"[r FN!!H(STGl`$,Mje,3VUFUVH-E5S8qqA+dc5#'HGfV"T8,[A,JBb,U5BG!QeCZm' QY!e*P-AEcBUaDLj4RVDqRMbfFSPG+CcGdU"d0SUE9+D,fI"84YPlKP@Y'SZP5mK L1iV$kpI2jD$@P`9QRDkUd9+kM(-[(YPqh'`5&U-NM092#M0*QEejXG,B8,FqX)B ei[RA$JdP9UN'ip)B9iUGd+AD@FF'X#e3L1eaHcc"Tjf&*a)q,h%SjU`)N3+)BL6 2+B`@,"mcEq[Z[R0I1#JKBRQ*D"HJbhFa6aP8[CY0m`Y,N[)i5mH5G!4'A0r+&CG AVej9ZELEPHXBe)Jm'FpThNZLZdmD91Z#DKKT3H&PGFK@E(ADh'YrmQ*'P@-*mRS Bld0miF8@q(0[YQ2U1-VkGI+aZB,8809@5&i)$6bYjCH[A,LXm&4&85j0bN-""S9 &IQECRq[J,ddXlAJ-9cX@0cU'La`,qaY,Uqk+kaD,@aDphAH&YBV"%X2QhBAq+jT 0KF'#`X*H`Y+Df'$lDr2f@Rm$E$iE`5a99A3H0LCde3ljU8Q#CNbhVRj"$pc5mUN T1PPrDA[lV$%(f*L&A3HrYKK,c`dM&XE8MdcLrhcr@2K8c2ZDr8l-'TXe,m`8Qa8 3c2DDAFc-3TYGc'Cj#"rce'E[&V6*l'*QjYP-c$2c,EZBpBbjl',@-qZbLeN[YM! [bcj$fF8FdhjKfF8FH`JTZjKMfV0XGM(cAQBA-rjQ&c1ce,+,fG'-Y1aLGM5R,,Z B(FfBbbjQ4r1EXSYCli1@AFb1jX*P&l1MbT4Gc)jQa'8AXk2jEYR&l'MQ@CBM1AT [fFAXD&CIGM%l@[!KZjJG,814AFc1Ce"N&l1MAD@bLpR4$PcCaH`mKL+M[FlM+!) cFG@Nl'+1UfCN&h0FlbLlQ11++lZBikT[fF8F&l,),ZDiGJM),ZDijX&P&h0FH`* N&h0FXrDbLcQZHAlCa4cA(,rXBSjVGPjf-HXGeV+,1DkjHpR&(0I1!YR&(0I#%pR &(0I@##'MFG@%l'+1DpHfl',@1kpP&h2mkbLbLeP$QHb$5!L$C"Gc3KJKZjJ6UN2 CaCc3QmSZjS4bNeh-#FhcbblQK'EJC4Gc3[X0C"Gc3RJJZjJ6fNXJZjJ6fVNJZjJ 6fUdJDri5@[JLZjJ6`MRCaCa3VFXZjX5A%rVJfPL0*DZZNUT[@@k9e&[+1UZNX%N @@#@&"E+b+UQkNL995Ef4V+9+DZH$,+*+#YYNp945EbR,TT,DU5$VTC+DejG&6dR Y0j!!e8j*l9#3!'9155f[N9h-5G@Zl'*1DVq`l'*1D[HVl'*1rJ1+E+*-D[qTG-( erQlCaC`5Vj!!23%Tm3(CaC`5RXSZjT4`5RBaTe5lXSXjTAU6AF`T[D2XBNiTVZa L6QNRK1aL6QN2JqaL6SQ[b#lQP2CK#"Y,D9'2l'*1D3Q5G%K6IidLZjK6RdH4ZHk 8F&Tf-DFdJbQlQ02#CYR&R"Dq#h9,#qqNpC4@2FXZjV6U4kDqdmT6GM'R9D1bLcQ YA4qbLcQYI4DbLcNYALAl402#'0R&R2i5LZaL6QZRYZaLcJKAC"Gc4Ta%GM(VIH+ bLcNME*9Gc"RKPqaLcJKhC"Gc4V8UZjJcUJ(CaCc4@mJZjSaiNZaLcQJCNZaLcQK KPHaLcQK[XZaLcULfC"Gc4VZEC4GcjMp4C"Gc9[a2GM&RaAYN&h0@G5DlQ,2L-l+ ,15Xq),ZBXm*6fF@F&6E*,ZDXX%"f-@G99l+,1DZhNeh-@F@5AFaCl@14AFaC,@q 5AFcClLlQV$"$GM&R[iJLZjLcMk$),ZEX0e&Nf91CX&pf-CF*#f925CQ`AhBaP`R lC4GcQALAl')Zda[,,ZBb[E(XBLi6GXXZjM,KTZaL,K2Hb5jQUmKACPY`cFcC6cr l`*EFJlZ!,33I1bi+Rc2ERV$kI*D)p9iZCL[ZA3BRe#ffqleb2$V4Q$qmDeF8b*, Ge""r0(drBY+[-m[mk2@C28&`EhSRf62EK-2XphpEGQmIBaca4heP@RS`C'mI-`E 6Lp6,qP5%%FQ#jNcRBV@Mp@Yh+',eH'AT[5EUj*1ITC!!hlj'156A$QhB8CkU9M4 fU1[1E'afJpNSGU,4)GLh[DF4E1VbIafi&IPEUKB8"emiLpra,9qhBfZb8'4I(Yk !Iq&VHp2Rmh!r'PRk2ECjcI,V(elMp9@1H8Xfl-`IRENhKpeC5Y[CipSlhcGlN8Q PYrHk49lISXki*El2M9Y@*(2V$GZ,0V2H(0pH0-YPVpNbEjIEaCHI*[Hh)&KA[f# $NkAPXmj1NpYL6T'aQ9dAN!$LcV*J*9VVTp`ARIDe(Ea1!HR-5[UlcS$2lPZ4c8k )!A-l6Q@R9kNL@QV%IM$NiaeLiiAmmB8eY33q%hRfl(k(1)mXbe@Er"Ule"D%IVV NlK!Z+9Jb`p!rrA6UE[l,Jl$1kY3GhdRIR9eVVQbeHNf"P)8"Jk`5Rk@Z8fplhIZ @AhGUCrQXFCekVLK6kSTmCfGBf"l31k[F1%V%VMS9aqR'SIHr,)Y6D-F%FGJkF+l ,Kfd&&jc+*hJIjY)[G(Qc3@cEk6KqAE"4E)H,`jDC9jk+)jYhG"`fHDebqG#+H'- @Tk1,Tq+`KH`UPBdkjZ#*drPB%4U3!*D%$(Gp[fM-YVC0Y9RKS4cY`I%H+56hXkN EiQ+[d8-V@BlXKHb0l)2XLka!pN2f4`j!(S-FL$`@13Kj(2*ij!R)`FJ6N813!#F K1Dlr&'3PFLMb914Tb'()iFJ4b014)j'MN!#MN@13!'14ij!!ij&R)#FJ*b)R)5F MTb#R)UFKTb0R)'FLUj!!Xj!!Xj&cN!"cNI13!214eFJFXJDCl`XVZ3J8!SRUN!$ eb)A)1&*9NEl5+iAN(-i--SXX3jBMHb&l)rXJqb)VN!$pN!$pN313!-FJ"b+243j #(SFm(RN#FM$b4133j%R)Nj'R)#Z43j'R)Np$$N-14ij!RSiFL4b&()dFJab,()F FMc`$13%j%6N*14Nj"6N913dj(6N$140CKCb&R)fFJjb,R)HFMka'HKH!Z#-Z'V[ bB1*ZfeKpq1iKQ-F'Zd,4d[D"P59FZ2c`la`EQjQjrTPC"B[DYm4k*3%ZE$jmdmS VCQEHDj[R,'hIbb!,CY1Z`B@A`b1r1M0cYcEMfYSqDma%Y9RmC[FB8GcIcraIcb# '6H$++$BHa4-H`RTH4Q#GeDXRdN1!V'f$)d#3!*ieB2a!im%Q[hFE&K6a)!PAF1` 'qFCf5qIY90N986BeJ$"iS!LQNq+"YhHa-IBE&6qXc&kD9*8F&+3eK4T9)qha'JG Qe6I+YABPk"Q''3B292mJp6)HU&ZjE'Cm`FH$c#[m3*eHY+RCQ``@I$c)IKX2@Jk QXSbKJSm(C@PrN@TI%rGZDc(kH&#HiN&9ji5kbMIhApjr@DmeC2$aJ-YbQ*ePj`0 kp[$Gleif-r1hRhXbTMGJDAAlE"TV#Zd#Ah$9"6Y8c1@hjS6XdQRCT@Y[fml$EVY DPaX(c-RFrh1eVMRe1lKDGrH&ZHDkA#i#+Pf@bcbE15'EU`hBam!&2ecZ`m8qjMa YA@e+`KGBUQ+ZhbLGXfeVq#bafp2pib(Y,*p0ERZk0D0I`Fh,5Pk(R)MFK0b-h), FLV`+Z3fj(EN$H6@b&PQ(A)!m%hN@XKkj%(NfFK&b-A)*FLQb!AN1FKQb%ENFZ3+ j%VN+H5lb216jb!Z3!"FL,d*HM&b0[!5j"VN@Z3kj(VN"H5Rb-Z6Pb#EN&FJVNGc b2!Nj'6N&148j$6NG13-j%eQ&R)@FMCb$R)ZFKjb2V%EQN!"aC!*j"R)#mKVN#13 BHM(*a8qI#IVMccj3r8rIT'39@%$4IT15r@92m`YE,I6AXa6qaDd@!86B+'i0LRX ,XZYVGMAB"UH(&Kcp10bXZY@bHp11jV'i0'6hbN9ImI$GpQrab*!!h6(ANmHUSYe *Gr4GPif0RXV`5"lk&TqeNeijLJBiLqmQEq(Q$+bbYb5f`LA!"K$Z[#Qa1@0(Nc[ 6G"llEh,Y[Jh)bf1-hGhhUccf2FKrjl([r+9RmYLEb1%m1#(j+lIY5q[erJFRCrj Y68lfJCckeR[2VFP*aZc%c'j)EX*cM[c")[`Ib"fjI@IZ&eqAh"QSmpKl%G,"pf$ X3HHaVcbHZ9&*(DjV#FMMjlFZZ9rq4L@94aF52A2V8RGp8,&l2jh(GQrb,%l,&Fi DU)eV#DFjdAPITQk-`Yh1VCqk4PTZp2[&"rrB&S8p!#lj*Bp$[CcL0G,Y(kFpf`( bi0-R@rrbii"&BGc45)[pJh'hE"U@lbH-1mV$'X#iPekjqD@6liT(E,GrPJrQh[Q U2f(Z"r*iLVNIb1-TjRi`MamapqimZTNlRc"hjrSP1hX!-2GGlr%FFimHpJKclml M+HDq+ieRQAYh(KB"jVjKi[rVh[V"Z09K6adaIX+i1r2JX`3`lPA9aQ9[+8b[HZX TaPhf(FDNmYL,$%mcTJ0j2-9d$ZEa)kE6RFI65,iVMfH4[$Z2rD#RmP"eIj!!QAI I`1Ph*2C8L-TMblMGfGVa,4hIr9)HCD9[hCk5,C@+GQAYdHp*a&1h`P1*"r2Bq!* A9(P`dE&h-2bZLPiIf'@c2HrD`aRbA(Sr*cqF4cGblUqcI(hX1&GQ6hkpNJ-@pf" -hk6lZ+Ca"efPcLj8fqGeS4lIhqNq@J(bU+P&N3I%+!$Tc%0K2HmD1pXReee$+m" lk'kI&5!2dqhVbZ0`YqrbZ&lc$R20%(RFFJ6[@h,hBardVS(FrVYDh$IarMdE$qr ,(ALE`%4YVkKSi(pMlYE'IERp$a&2mVK#945pak%kNbj,8qY-[G*Ld8#d*`mZX)c T8-fHZYGG&LY![HSZLa8J$ciAcY5@MeqqUmj$P8IXeITBdQcBEFQl(h"aDD3(`0i 0&T*d8irBiYi6N`me`cHHk8fjRkQaVNpc'#Y!(JYhKl[kN5qm+kc8AM'cf2@eFD( 5jh'KSrAKFD'MpAUSihbJhD`qcB9km!-%2VrDHQN#jp#lfLFkehc#U9jm9jh(rYY S$q9aB'[4LEhICVbk[X0-akidipAc@CCQ[,DfcV(6lRGpHPEX%(22ciVeI"D3!&Q aA3$bl+aB*e,E!QE&A1DZ6lIU#*,T2F(F,4A-e!U!R(B&T$Vd(EJ1d2l4dl'iE-V TqL`%[4Jld+DFRXqbY#RRF#qQ)a%E35pQA`cCZ,2hXfpYh1NHrimYkP8arrm8Jl0 [l"&iQRRYbZ-jjK8pb"(QeCf(G@)r`Q(QeC')A@$2JT[(KR0e4K,UKJQA&1b*B`G J"$S2Um6H"h[0KEl@N!$0VlD)MlXAeV`ih@L$qCLeA6KieD"N4IIk'MfphRMKD1( Lh-#KJlQ"A@Zf$4G'0djk&aA'T1@@Ar"f,lIPGJjrq1+L#cCl%i9Y`rq6Z3fKapI fTXrRiAjqEfj,qI82Vr(k+XHm*4YfjSr1h*[$lLaPjYMM06[ICj1BLB+hplT&APq fHaMIjijlU%JZT@VBAKaY0q*UrHRieU,,!EJ*9DRT&qqM99lFP*&aF8#*V)[$I4T P,JihE*5l10`$dX[&J6[eGR'i+k52Lm2Y)AeG((Cp9lJih$$5cmAKcT(q,JkhN!! -F('iPq3B&iHE5JDk1$6hMR9aZ-eNN!#,`rdQalNih(Kb[)[$(5JRZ$MFLM,BaH' HP"0G('j1'H,LF*I+55i1YkZFl1*`hmST,JihX&5k10c*-Y6&iCD@8edFlQdjcFA K*TGK,Ji-GEL,`fd[)e`FlRmjhFAK4TL4,Jjha)abFEJeCV5,`cdbBe`FETBCkq* `em`i&iIECmDl10a(FiD,3lpmJS[$R686A4aZXCRNiR#[c@3AKjYZTVJi0(ZRZMM FKM20aH&qR1NZ$MIQc("af&XkdmAK9TdU&iGqq#`AKjYhCVXih-8camAKGTkj,Ji 0T(NZ$MIic(GaZ01RfXAKPTqFLm1p2c8Z$TGXe,Si,!QUFh'i,@L"Lm2mmCNZ$[h &Xe`FjSIVA4aZ(,VMG*am22I'S6YG(1Dklhma6MkHZ6plrrF5"L'1HkFX2A$ZP*@ lm9j5,p`TDjZl+p%qGjHUm-A$G`cEb-!Ja!0eQCYPlLl9,%2I6mk(UcK+a%UG1'* SMF0mZ$G((X94kIYcj&'FF$imLX0mZ$G[(X9K2YbE)irLd*RhjXLM11&mH"5(qA" [hMb+`hbi0dFHa@%qh*XMMq)`(ql0N8GaQ!rhjXLM1-b(Hh2N84cQ`ldjmLJ1mq( H((N8KrP`EiimLK21KbHHMa21KdGa`[R`+%ii(al&#HI$ScMKI(J8*j`2Mq+%mq& 4R(!q2)S6cSG(FF,jm#K11"mHa3RR`k-iiAai&#HF$irLK22K8Ca`2Mb+%mk(4h( #qI!S6MJI(X8*jm1M11&mH"3RR!q2iM!IlXep4h'B$rIQb+-iiAai&#HF$irLK22 K8Ca`2Mb+`hbi0rFGa@%qh*XMMq+%mq&4R(!q2)S6cSG(FCJ2pqDjScM-KhYcj&% FjX1p1I)S6MJI(X8*jm1M11&mH"3RR!q2iS6ciFRRic!IlXe"4h'B$rIQb+-ic)G lFq44(1E$[6Rb+!lciGiFH43RR!q2iM!IlXfE4h'B$rIQb+-ih-*lB$jFaH&'hJ2 ci5S1pr+qe%DB$dqNGe#VKRR[hR%hpJTQC(V1l3Z3!2NZLpbqJ(32ZRd",AMJ6J) h"6h8%-((JrM,mq'jDQqb43&&2&$p4H',rl-rSU%pAUZ@#jXDj9UldL1-42cI2K( f4pM)`#$%Jfc2ZId4j6hRpNreJLqUbcEPYljm!jFAKpHZ@ejB[RC`kb"U`kEL9Jh I@q$U`JU$MCDB$a6S26Sm[(A1+EYKG0[Xh6[1NT%`8,1PU9B0+K`fTLGhF&b`D@J GI'YL0eKm(Kfi5JkK8EB"jMr*p-QQ6c&pUZR66*pZqJc6CjTHCISXdfHE2XIdZDE 2-hfqkG@Qjk5c1mTrTm5#$HQiSVc9')Y9DrTeTYHC[X$d-ddrbr4kdaHDIVETLda IE2S5djHDhQ$k1DB[-lh4p1@QVc"pTHQV6$rAp20-2prd#dbrd25,6,rBp0@QAf, k'Y2AQVl1p2@QEc$p8Y-[-rebdjY-[m,d+dhI+*dpq(l0*Eqrdk%CQjaf[#BZ[)R kilkFFSZlbI60TQmaID[T9jQqcI6YTZm`IDIT9hIccLiGQp4a4ZZDPB#%e9P*@pT K16NZ+@lKM*lSKLeE!$5B&V1"1l9AE%3h4[Nmr$FeiqCX,XSrCAUk'kIA3QkMbFm iQIG@3BCEiKTrP0hiDHa8qN$c[pEd%DC2-2dDdpN(-lr[dD8eli%((TL9L8GZrZ5 F[9ffC",h&Q5AePK,EXkhZ0bZCeQi&Gm1G,YHemh`($&h-YXEe-h`ZNCrG5ZqrHG f2B[!VILabE-i,6IRDD!fVL@FYQrGR#H-1cS"f2l"Z#e!&`"E&TLl(HJ#i#lQcLI -hEPqbFiH!-cGrR-"X%@!ZD[,IA[UhJ*bZHqZ#pLI[GahcbAYPJ$'hAhQC9Q[LLX [V42A@GSRVTLd!P`IU4('+R(YBeRTq4Z#h5pE+K8h[J*rRGq6L&H69Z,"2$Dq`"9 9(PcJVNH"e&"3kA(c&Edqq,rlpI2[dF-CmPak2bFrR%FhFZk[Xhapl2M@LE,rpI9 +MPAFJc&pNqlMQXBGG*8kZe"YRpH&HRarTrYS"FLMTXEYpZi*pjejQ-[VZrVNZQY S"AJ2hHfc!Z4KZReGH4cZpPdHef[HB@EKbH1@)hMINVXIqk"h$H6fhpAb,XcGd[V 8iAfj!fm6Q+KGra80r'r-h9+j,lIr)H**(PHSLU,h1&4RdQ9TDTfT9eSX'SMfj-' ePIVNrTkkeed@+d#pkLk,&5!22KI1e-lfAlkVcN194qc9qPM5E*`kD0`%A&`DqGm $,*XreS0h8irBiYi6N`me`cHHk8fjRkQaVNpc'#Y!(JYhKl[kN5qm+kc8FR*[YqC #4q[$id*(kp8HF*qdjN)pq!%#RepY[65"FqKGl41GDclK9#qqUmjMrafdKr,S([' bJ&`%E`'DmHVk,!5AaGZ"CVak2X[5M0IKqlBl%V%4A"D[CX9k2J[)V0JZ!(Pf9U` 6U@d"Xf)ZFemFK"1RQU+ChK2-h9,"6+d!b'PA3+T$ArHL(!Y)6mILXLQRkl-3p', X3*YbHMl,dUDF`lfBMN4X",fBI6&NimlHclkeFDGlr$qfU&I&r2p6$-kqX8IJDHD e+irRQ&Id)%HB9hFHeSRp#)HC9dFLGS%p#fiHHKpQjdF5DU1l5`Vfa,%$-!+GKe9 Lli-&E42R!qQ%GP@b[9&rfGDr5QfIm2r)(IqFk1Yq)TPGXc$e&mrBZfCZVe0FpPf E1*A[9j!!@r-VIkU3!2[(SlSbdM+eLI1C[L#E1$YaZRd6Ca'R,H@E1'd+c0d10+A GaGcjc%E'[lPrS!F!FlG,EH,XUIZAY!bE1,IqbaDk5TeGU,E2kd*G9ZKd(kd!HIL E1$[cD0mi@1b+kDkK&H!pG,I2#T!!4hi6jjim$RIlp2Dj4IZc6CcaHINGf08Qc[M LRcc#EFp6[l"Lk*2j`Y%(#DNfFIEl#[kIcPrafGr,,rjTAI(VEjq,hZ03RIQE1$[ cD0r%@Fc$hm6jiR[S,SX9S&jePm8+N!!(Rfb0Hr&GG4lZ*XiAmhKTD,1*Na0"PES LRpj-UfkR$BqRG6l4LD11pSaGG5U1didc![Ak6Tbd`ZDr9hAc"QNZ1"8RRjaF!(U $Lm-XqBdZcN68G#G1jZ5aZ#V1*06-kEV`ida'cESih-"@jZ*-45ehFDMSALl1G06 H,Xi-e$iZcNc8[Li1CdTAZ$Lc82Zj1,04qlXiFe!(Z$Kc8BpaFHDK$R4a'(-peX@ T4KhNiY""2ml&SE0p[)Y6KhU#Ld1(DE#,FbEUL5i1@f1'Z$MeU#Hj1!Y46hCaQ0F jaF9KFU,5a9Q-1Y6&@B*kUSZc&28d&`ID1-c&13GeZ)Zc$(@%Lp1)HVU,`hh&)ef F&DLMA*b9U+0GR&@SBebFFe((ZMMRSBjcFFj((HrLA)"kKSYc)HS%&qFLe)NZcX@ SNebFeDL6A4`DY&0F(!E6TlSip$kQZ6Md@UDl11`HQH(L-&Bhdm9Kad@9Lm0Nj5` AKplFE"HR#A@1Ld22Ckk,`rk3!(NZ$K0ImedFCK1UACc0U$NAKp15De`FZUfe,Xj 9U(8Z$Phi"5i12F-cA4aDKQHj124%kefFDe"IlrTBek+qX4-RScCHHclASGlKqPf F!RhRLh(b$k(FZ8TqEj!!PiB)FE,)K$F2,3h(k5hQ4@2Dr[D"'66X04j86D3Rde[ EJ)&1Kh#)9)S(QrcHE9K3a)-Ndh(1kR3"4f1lT9QkUSf"A`R#U*FD3"Jm8(c4H3B 2e,MQ0MqX"Mh8%-((JhL+"a[LX(PY%%j&KE(BEe6mX-,!2kL`Fh9TE+K3A(ePYG( ,$"d-(UMqB[TP20$DPRUpf9JpdKk[9FZ&6BebV9hT%8BLI$c)[))(LP9DbF!Ja)0 XfPpFacN+Dq,HE5e'(`r+8cbS+MA$B$d(5Q`[[,Rrm[l,HUdKJim([E)*6`[ZGkb 08#X'CAq$![hCih"!E9G5mXh*[V+BGe-b!4cchTr-!-Hm$b6lcQ,H"jReihZESFE EQ3hQZeZV%06h$[2l2G2IDIRFBrCh@6l[Y[cZYAcHBrQper6lQ!RJHjr&IEr&rB! h2p%rD2NqrDNXbVF-EaNXVHYIYd-VR9Sr2GLUde++k#Ybqh2cmpGeSlc%mlV"d#j rJk'PGqHh2IHcd@h*YqGqKMQj(cBfqR-&!2XEfIE2CRqfqA-"!0[mbj'pN!"F%Y! (f4GCJD4Th4mj!(N-FU#b8j)l"Bj$USe-X4p!$NDHL"b#2!Pj-[)8*$X-KL*24Ck '()BFMZ65fY14)j'MN!#MNI51ab,()FFMZCk@$8pF2FY&Xe`Vbb@bA"P,2j,VB,R mPDYH16Z&DebjY*8V@VQ3!*AV9eNH`Y@Uc"25k@@1Mp-$$Xc"@!dq8i[8)I9SDT% kT"lY$V9)(9+2T9UN$UR(S"C0(9+6EE9BUN0UN!"DT!kT8h$*qP#2f@qSM$C&m41 c082`+pq(Ah'HG5+eNC!!(jGL"K",6Bc%MdXir5ph3'AXjTFiP[QYr"Q9ZjYIi$H $#e)6mP2j"AkT$`XAYSEX'BariSqYGP#jk(4Bk[H!-%41UA6HRF8EqTMK$Ak[3EN ppAZ9DP)ZH)J,-aDQIQ0rcE!*D(T3YHrk,Idl`bV8lfEa%SmDIT((IqS4AEmEK%r ZK4'a2Z&%Rp6[(PfVkPi3%E[dLcb"j,&6da&J(f%I&lkjIReqer#3!$c!MX'Thi2 DF19H2K(lP6m#&Zp1r@kpfA#6Ce%ijXa,r4VqhE#82,K)pIM8Vrl6KUri-ANLGI0 qa3"cmEY"X9fr$`S6`@&J8efmkCaRG3Q'JXf8c`H%FDlI$,dIH%dHVmrbq+5Q,kJ 4)25pj2(0e1qG`N0`R6c!8kQ$Zj8I@)mI&ph+1r85KS,rq(d2jE1TRmCr1!&`VMD X1IEHpqTk8AJ#N!$e#T6hT(lI8Lf"!p3IH$BqmA1q!9CT2J'X+hb+,dcM$IJRiaM U@`,1TFh[qambhU'qMp`)9ALYaB1()-Q2XEh+HK`*AhfZqNpr4LRHABq61A,IlqC $Q)I8ijVHc[G,kC,DIX3$Ghfra'pPpI'0qihri%FY#Pk1BYZJjN6ir9N@lkBEM#I Kpkd-,ar9PDC`*fJ0Y5+iYBkheh`+12e3KTGP`J`i&RlJQF4l@"`+hS8I2%,`mLC YL)#,mDj`,m(,4l5bLGSREe9r"LqrSjcKE-5M,J3R0Rh31"aeaM#8i19pbK9qTli R`)1qqe+rZi4p-VHeR2h2"Lmh#ZYj"r,lY3`[Ve3X-*!!r0k5e8f9kKkZL"re*cM hE9dp$(G8hfU`a1$PDpqV@R(p4SZh#&kq6Eb%'L%2kNRbq,bQX-!Pp9d#Ma'mG,k ZDe,KSc`lp5Cem-LI#&JPMdphmH"KE("ApDd6Ia+mI!ZF6r0Cp6ApCBDAhp69`I" Eh-P$m2)fED5%mr*qm&`A,q-(@D5YHE$kVU$Z$9lqeGG`N!$cQ$E#Q3aHVK2IJLq VP'I"%`eHCMkLQR$McG(%eif'PpkjV-jhIlQ,PjjIl)ClZRMTqih5HaQmp2dFiBM KLh"%Z$[[qX--,qp6$0kCH[T#&Np2`F,a+41'Q38[ErdS0QUC-[(amP1k[TNq!1q KkXcJhb$KQHapb2j0KRm[eq#E61R&06XTq2T&aC1p$(&KX16AAd0iFPl+"[$2i1A GiNE5CiKr0F1*M(,J6AK[kNM`mUrr!jZlXpKCpR1%Hm$`P4hTA2bX[Qh%-(Jj3h8 -eT%((-,J*GFMbrDA8FT(kZCkABXXHcG'+ClJh&[e&[!lpHf!daLm",EdKFlU@r( a$#p[e[C-,R)QlbpPH9`LV*5K`D[KjiCIEKD[jH*QiX&[T!kDp"CJ(Hq",Zrd'I8 )Z+KCIGI"``aHMKHfFN'cqRC5F`B[9bSfEkkqDp3R%,cX*qcKcD%Em&A"biG9fr! ipEd-[QM`mX%ra)%,Q0Ah#QV,i19%p3q3!#VPcGr-m2,c`L6`R26TH4KqkCqKqfT iLI1JiDA[0dUA*imd[26paYlCa8[IleCk-pP+2CjiSRrc,LjLMPpDEdA%mrfF(i( [*Vf4S5LQA`+fFQ'cqYB+ek9[j-H,[rBJ3@mMEcL2af[MLkQK[*q2hfYrAVJSIX( lI49&kZEGiS6UI652Z6fV[rUra`BQN!!5GC&-rDi@CP-AkPX[hVifpIZbV[cP!QI bJ"Hkq5@@UHmL5`e(#irGr",Rr`)f@6ZB&2q@r,iUIL#6V$H"VbDrZciRBLCmJXP N0lrd[-Ie%+lI5[8Gh2c54e8IX[3SH8XR[r3la5&PiqK0AqRNPhiMYD8[B#BXr2m 5``R[QKhRC[#ihba1H(kaJr4,R%0@CllI(2&lJa1qh`2i1CFEV[KqDi9Y,Xr)h5P 1k%jJ1arR[B4Rj(j*I%,kLII"``ArFM2#A(GbecN#[a(mbpfQ2TCXIEd0,"GHN[[ S)b+FVYqe(q[`NTSI[JfEE)`B)llNiRhZi9r'*[h01H+X,Tr)rDTkClbMqMj%(dT i5Hj,URZCDErf,cUmT1B0iK2d6#KEqK#5"qd*IFQbqMj-(3X[bGfTRT&-@Up86d, Hql[#14QX(LZHj0CplQ2hLGLiI[m!la5H9l03XF%SpDAHhm'$QKm9jkGA!)m")ed mb$fNRL@A*T-hr-hPSlN[U-r+CFRNr9#(MqBq)kiP5cZZ%qkir+QQr`2Bj%UKXHU V56ep80L'AAe[%Spbq90Z4RPFRrTp6r8NGAQD1$(p@rAG+blZmUHDIR&(HNVNcEZ iG9#c3MK"IDN8*X(*K$rP$SPRb0Akkp5(GAPmlUp8%r6de$GAf1Qq8mhhLGH#jp6 V'e"F(Prc3hF,3&frfe@hEThP$SLMhfai4QrBcDrf9Q%@q!qZ`$rGr'VI)rlaMY6 [)A&V0lrD2a8'Jb(J'IdAUH1[#D2THm22U+hapHK*(VC1r5RMjq2V'2(!FRJ9Z16 &Fkk!6mCINq3A'e3[pT1ThqHS[m4E8VmTkQA31`)ZlZMJG1a4B3Ip(aA[#p5LbH- H1'Y-2&'j*1PIQccQUlHP5EYkD[U`NXIeHU[2T(Nm4RfB2"j6[dIe2mNM3pr(j(( VlAJmBRR!k5@22X)rDP2&+`H[64ile+-%Ki%#KB-QMaqSGMqAjR'cX%6RFF2-iqV &`"eiEhTb[H[XM[*ULAIkXRMi3hAra(k[r`F!!!d,9'0X8fKPE'ac,VN$DiQ-!%b YQJ#3!i!!N!3$FeD8$X8!N""`mJ#3#2q3"%e08(*$9dP&!3#[[Qr$XFCq3J#3"3* eK3#3"M&G!!#VY`#3"Tb0"[L,%qlPCNHHYV8'K*1Yq'f-F0VeQ[`m`JJM,2F4CQZ AAe5f(U&fR"k2()q*Tjl-`c-p,ijrbXr-hJMhLQl2**6X-mNq4QirfdCiAQaVXGY 'q(RELCYe1HM-+,mNY'fRIEleALHjEHFJ"e'J`hY8De*R4fqIAJ1bNNdQR(!bif5 6`6kb$lm*rKVeA9Tq,[`X2IX'eRPZBpH)ELr2XqpGf'hGQT[Yp)TYeU"Rfe(Da(e Hj[9X[`fm2ZhX%aNfX#2l[#Bjk,bdH*(GQjINYZAE`)iX6cLja3E'JE%!!Uj*%lC H15PU4EGQ'FYp-F))Acb6EJ#f!!5-"ljm%`#SP'eR&%8j4&(8k8TN@C85DFNUbK% I3mc0DN6&Eh#kl,64T$Z1D6YD`V&A'#N[(qY)1EQJ&l`Hf'qM5akU+'`8mArmKKY [Z[Q@R6rDGHYY2llpMM[[qNRAa8TNi(TTX'Zq5XHPI50rh%0f@6r$1-hH`adqIX3 'hpfhj[8bZr0!ialPPeTrp(qCfUe1L*aGZ+A3Rfk8GP#lX#LPNXC4h(flAhE1lAf iNR"218VmFQL8)r[i58M349(h$9FkpmpElMJCY'aE5!"bQ'je#24H%BeNM%NUjlH 2YT!!GdK%pPV85qAlYRDIVd`B&l-Y2@8IU(#,-PhjN!#k+l)QrepV!9mj6rf0fR[ )G'8@bR#YSM`9#kASda5cY6J4pS`C#'aV605@j4aMZERb(rR`jbZ6*!DdajU@0D3 b0BDH0Ta%)MTfCh,bLP+50,1jM+(KkSlTZ(EIi5XZ00hfLN5L6P%QEJF)r%#NmEL G)3&GXD&MMX3*[A6(rK*R*XLq5@BDY`2fV&@[9IG%ALaJ6p,TZ`i1+p&J&FeQB5m k!4$,!A*+3iGfK)`HdS%p3%%hZ4ckRbl1$'&lrqNEeA[QhJI`[6kc*4!%"`-bJ8+ MBAIL+"P-FXafhJ6BGYJaX$Y,j*e`X"H0G3N-T&)5X60%MhR6N!$CNlA'q2jjlja FkJSabNL6G%S@U50QZLPP+(5jDG9(YDLGcCNC`aN1[QMHA)5HDP3EeQZ4LdbVir8 V,@P9,X*+0k9RaP,9D1'pcM+Y0RFiHRlDp1b4+aIBeNL1#r8cp,(dY3IQVr3FI55 rVNlAXl2DbFCCCpT1HL4k6LTPZ+k@d,hfNG#jR@BQr8C1"mmlHE4jL*aRZVVV'YR @9eZ"m%C[%GKGh+jCdH11'fZY)(KpCh8YML'Y5UmX)5685dGNIqN)Ej51`#99LrG (GAIVNQL&QdA,R@9NKN120eD09IS%h@Nc2#eTH0jVT9k!'cYLHLlRakjZ(`2)0,+ -MfPX!Sr93'f$DTbYGbRr-ME@Jm-'6S-9'G-B!iaT4)U,MFSVK+@a&94-Je036#0 66%`M%dLX"UD`8SfZYe1#KkA#PH"`A@ah-bNBPKSNaX*UB&r0BL5XaJ'%YD"'GbB `Q%DQ+*K'9N#`"!dT"NV%dRBM-iarB93Cqm+i"2I5)#ei'Q2V'Z9DaVT+B0LDBD" LA1Jhq"Ck8fbV9P4K+)bVB&SBQ1*C'*9L@4L9i&JDP1*"'PPTM35lSZ+8F+XF9fX -aDZSk$&@T8(GGBNa+Sd"RdS"eHj+F#Q-5M%TM+VJ8G6'+4BG2+pME#!VKCC4U45 F3&-Y8SYG#l3&,KHKM&50k,!V5p'+@D8J!ebPN!!8[ETl30'R&&c"X9*d#QDPd"6 45U%*V08L8`bTK6Gk+d'jF[e+8&F2AYpC#RVPASQ4VaECAlSB!fZ"!1'kU1jZ65# a&*VLBLQd!SjP[%J4dZ+"L9TNZL1FbE(e@McRQ9Pce6jLa+$-FCeH$L6NZXM(aSD M&ZZTH&+,'5K1IIK--kd4$CTS,9$b6)0UDBE$3CTLDGE6p%T"NPSB8%ZVe&CTEZ[ J@"0F&bPCPU*UU3E`e)r8e3Y5X+j'9a#LHN%**+VK+GjASa2)E`5Rd0Qi3G'c%@Z KXYB8*IKI(ap1!,AiB!LSaU@YABe1ZVXlZ,GJY[fVJAFL3'@1l,QJVpc*H0-)[U0 0ib'R%FZFdahBd`lTY&106JHHDR4jJ+r'*c0m)lLRP'@kD@lehbNI'eSKI@cF1Xl #KPBC0"YBSBTXA*NX5X)UY%`5'a%c595p[&A5U"5Cd%CKC%JFfBM+['AMbK0A'VD Z'2%XCN-D3ji0ANF'PN2Vj5[cA%PB6dZ9Z+iN5YQZ0+4@f!VMCH2kAb2--eSlfpS -4a0S8SjHd*!!H2ej!b!fIfA+3$1HE4'DUY0h*Dmd1%UVq[+JQP8i-&Fb#J1ME&* 1YjT*D5LZT&1+MR+UmA$9a+SBAmQY0Jk(k6AQJfU'cY,6@Rad1(KiF4bmGIEA01p lklNpRp"CIp`SH6S(ZX"pm"Uep1)reQ53!*6hJ#h#lJ)l'ABLE"YX1q`Bf+Q`df# RqdmjdiHqmJ$8Kmh!CQ((`qCK#l"&f(EBdE#MB-FUidFUmjZcBTRVkIl2Z4rJK3a ALhArjj5UPDCASeYTMX2h((RY2AlJjIhUpTQBLY2(pa+h+2cKjEf8D@rB$YJLl(6 B2@(hNR&l`%k'EB1G)PlaTSNi%%VP3MQr!bQ(!"kN)LX&`$'N9eH'Y02UXP9QEZ6 #apFQY#89Te6!j@C3YBKH[8Fa@qBL3ED"9ql*h#-Me'k`Nf!lB+FLqLQ`Uf#I#RX kl*0JR``,p5,k4ji&HaVXPf"A`Pi)Hc,XAm-q&hBYl#Q`ci0p2L&!l"0KN5UJeji 'bkba'KCJ1*8Y*rCmf!YJ6i3p#IE,X%q!r92BPm"H#AX9l%YKVi"p-Hc,B&m1qfH `,i#p%IC&X&q"I3AXeE#[K(d9,*2LUf&I!rYDf$q(I4hXkf(I!2Y'f$I"[K$fcE" [JIdEf,I#[NeL36[X@0LGB8I$mVar(1ai@03&4X&q"TBCE`rB&YLrJ&d$qh4BQI) pcY!A`k+B)@MN(3%l%ID2B*&-fJef%Z&'Zh9hf)G)T!!"2NZ-%-Zm!K$Y"lXrl%a Bd42`S,cN(3Gl!1`MB'I"-TPp$RB[f%I#lJhlHGK,B*m*Z`rXTE$-mp0Kpi5G$AX Jl%'`"m-H!RXS,,Jb'IB`f%lB+E!GX&q!"6qQ`Ei(pVf`li0p2q`lB0m0+eS(hME B$m+q(ICGX"q#r6$XGE!IJIdSV%b-hJlBMm0H$hX$l#GJ2`Rl+9LQb(I#,S6pBeL C-VdBl$'`am)q'[Bif#@`4m2q*5cJqbH`mf$r#[Bbf-YKjm-q'rBjX'$qA0M(`"i 2Za6f"0KPX)q&A3"l11abf-I"(J(l+0J[`M*c'PQ)N8-rfPkN4Y5"(L0rDNUGk@Y kQ(i(LkNCr8kpU"feS8E8$I`%Im&SkJH'Jf2d1$K$2i2,&T2T#IS!h!Ic`@Z`'k` 'hm"T-!A-!+2!01B%jJA`K0N"$+!(k8Yk&*`%HqJ9-!aXSBrS5BXVB!QpDIZ)hJ* M`#Y`#!`$pm!M-!im"K["6I!AM!)$Q5'B5F"'LlYJ*,J,(R$SD6!9M!Cl`8X`'5` (fm!4F!-X"1HCHF!ijK6`'Z`&Mm%6-)qC!1`'5m!IjKIQ(ZBMCKKQ((!+c'Ff!Z1 CXjJMQ"@B(CKlQ!HB'CLh`(3A`b&l0mh*!$Y#56RAbjP3'SeA9T9UTC89$4AiA9) EEH!`i&!j%AhL5Q#6bV`23d)E*b&$f"Jk1H#+)QQNqc-GB03YMfECmhjp*pkUVFm b15@aV)6`fU,j+&@cV(jiYM*Q6(RlFU`6bc3')b#X8('[()QHVD`kHr8jjjjhdIT ,0Pbfm4ZIlrV#44H[(b,TJQSj"+5MQ"AYR'NV5YI6rYB@"bX3qe6jdKfJ%ZD-8AF ,#*!!'H`'XAXI8#k9IXfVL*m8iGpZ3hfk-8qM%[Bfp9EePFM6"@8q9m`VSI!&c5S pJrH[fe,i``XDEjQ("c1V,0hl)(fYB65fh6G*$QS+bTQ+'`ELF`#[[[LHDFr5(d6 "ZCRaaC!!T4)`qP#*FCBe0@1$J3@a8'9KJ19268$kRTCh3ahqbe8[CN14jHb-MRI !*cZkFjB5Dj+Z9BEr[0J'GZ$p8NHpiGUG$Tk(HjlrX'P1,PGVQ9jCL[i6$&Gk*$* biMQZG3@FCjLY@D3l-fhRI9kYK4jrNTibN!#QPkb00cDAi3R(6(SAi`'kq9mHVHq dm!cl0$pXcY*NV4E0hb)PfTmq58K6Yd@D156$i595rT2N98CD%a0d*,Z6&0S,LTb -fc0cUACHFfKCHCRERZP29MVJ$$1Pmr'Xj#[HT&5,Qk3Aja,(H,8!0YH1Bc3mr$A [Ylf"0embj1mlp#6BP)Tlj-US8R5"A'1k`,`Y0jkJRb5(X(%@k02RQ,2QT@G%mf( DCZ,Zb%HE`-jpXUm5e9'EcGQ1Tm([,G)c'GZf8-`cFX50i'NpNH,8PqTij6Qi*jk +Hmh4q1,&!cR)3r2%RHCX(laejZ'U!peAZX-d5&`AmAZa401JfeC'R9SC[((f*RK T(C!!*Hb%&IfG%-5"-[2UkRa[UE1LH1XY)jP%9+""3Y4IaV[Zp2@Z*12iHXT5HGP Yqm5d54#mlh!PJUJ`S35Z)M%%D6Qpam!Hc4KJjVVdkYdET%#9c2h-"K)ZqFlF`GK `f""h&"Z!!80,I&r3*1%9e!IpKq3+8)pE,CC6VA!m!%I63)ZBh'M+DQ#[A$!bV!4 A'L)F#Ja5"CKF`HI5@"@N)`i4c6M$F&11QI0%3m3"8Fl*,6E41-E8ir54Qj)UP5* 0Ge9$bR-0NphFDXaYNE*$LVecUm98F!Td!ml1''@ZepRUFZBl(IFI8eGeKQ&j[Ym NG&bb!MlMS,QYlN3XK+'q4$kR,&+3!bBTbj'80%K5iC'U2N*CD+FN#4+**D6k(iQ q4P98)kkSPFp)0$05SBa8(D-Zbj3)MP8PaQ*4XBU8d!BZa'AfmYDq$KJh3&Fd%+( HmPXiXC6V,qY`Dijb"Dqi)YB+Kq@NZPNVZA*b2kq9XPEN)iR`BU`r(`R0pepr"`[ ffcFEkpi,KbpmTAbmBI14)@rblUemY9,LR1,AdPhc4X`CmdT#fQ#R)9UXHQTV'I! XaVQ`PN&[UrUK&0XhZ#BUSP9T&H5!b)eY6b&mLm*8NDZXUfj1GCKT-JI,Nk#"YVl KbZ#P$5q#IcrPf!$*KCI!mKXmSHBjVpNZJ-0lDYlfKPIcZ*U([5D!DA6,l-TVN!# 9qqp`c4cE-GMfQ1%jpTQ'dq&UE,51j0(efJbeI1Y9D[RbKBeaVEkQACQQ*INhYh6 U!N9G#N@"UAHA6&dLYM"3$$2!-H9qq8BTda0CF2@$5PH3!lre(lqb4GQcCmqJ[3E 2[K,rZcC[hRI(IECHdmCGPGcG$rEk'fi)5FM6(RG%hF'(RPJR!6lFPEYVlTfkBb! b1ZkRDE@MKMSkH)*TpADj1iVmQfNepSHfiQr'$FBhTY9QcR9rFJEUd+a96bl0Z%T HpqDaYAlEmZZTrr"ppEallYRD0rIfE$-21h2!h9Qf$d8J`lh*JFDcEi43'V+N'fT MU#"`81c5Gq&'JFZq8IKl@"5+1$q%9Ik6Ta[Q-6mq&(c3Im!(1BaD%6l8I[49KNr 9)e56m+&%KZ)22K5Z82("KmS8ld(`hB`IANMMqarmS#P"HDNa#N,i)-C4(m+(5K* +4[K38$,,8iN205E8J[#KBSCL%ci8Y-J&(kTRU"RKJdT(eBMfS6IJ-2(aqJ-9+A` S,r%1"Kpm*rA(Kp)6pq"$6BfA)rK348-Y#KrU@bJjiIXRr+"#KHpIm+2$GBipV'r ,Fkb,kN,Qf0-S0q'$I%9e#4rb&#Jdi50[96l+-@m8RI$a0!#e+haIaimq+XMp#6q SB3%,p#h+92M)'C8TI#K*S5#&$a8Y&+6``9UM'S82e6L8U2#K"%HYm+&!KJS9[Ur K"j8UI$r&$mT83"!i3NrKSar)&ama+&lKJhR@K`F&pVFUK4@SQ"@mk2I'8Fd1*5p mU+@TA'#"bQdSBq'M"UK-iIX1IP$d`[Fcr+"B"3b#65KBiD-28+6#4rlJ$$lk6pp J&DRFK9)A2P638"M$"pkJiS820EGJ#[A'8cP1PE5+j1@Jf[(p4')em!X'`,MM!`- -mbiqqTEFm9&hqK%Irr$[q&!G-cbmq-!r3p+,$q8q-"NIq)GL&Ml`$m8YI$r#$iT E`$iB$h@2$d`d&,lik(-BI(c8)TKF[3P82i2)aiGbS5(da8IH+(MK3k&1*4pDIi% I90,`J81SGM&L-%ZJlS826+6Im9&[HJdIq62,i%1P6)@YfkKQL%)E2UCmP-I`8@1 9F@PMhb[hd[BbIX"Y1D-i$kL+kbML(IA%4mrV#ie4V#1c$$j8jP",`iFb)UTTq&$ IdfGRSiJhe!IIpr'$QTSFeLdbLQVib"[e0(aJ-CL'$ea!c3iIY5CII'#-mZfM+Cq #bKdqmUEImD(JL!B2[Rr'$hILZ`drc(ebGZ)mKYSN2ZB+&#IaJCAd,cl`JTN#(l9 $14)I2Bh5)ck8"X&rI0r!$mU5q2i$2bK2bKR$fBbj$aqpK4)P2R!,48Tmp"iBMSq lk'9m+##L8)N248Q8+I(GJKm8+Z@dFkC&U4)I-aMBLimjJ4l""`l5TrMS0fU)$b9 ,&#haSC!!L"rI0r'$`L@qRq-(T8XjBcP2SRL*MhQ*H3FIq-l-K3m-BUE'4jqJKSQ 2Z34&6(bS+++-LHqlq%(483kV0KR&4haJ2dU0q1JE&"raN5Zji!-V8Bc%"bi`Dq# M(jL[mD%554rK3fe4'E#GX@ZF8C6%pjriB5k3!$11mcChiQ-Q3f%5(r-B5T2i`(l `("re4RN5(c8!Lr$45q!$2Q+B"r'"r5K6iQ2Q3+&5cRM1h#K9iU2fp#-qCPGQChc -E2V8E6cR%rJ+I'!aDU(i`!Z82[(4'mb!q-!2jLpmYq)(e8dj%mL9`$rJBckR0r& CG8Tmi$'UVILB*9"Xa3IHSED+MpjQeX"($Z!`2VJ6FTHc#qFUpVacKac,2m(e@2i *rXAb6mc3PRq#,l$m%c1`jCqBjbcra)aRq5GQ+XXr-F2BphI-$mSr'DaArXPJUr* 2"VrXUf#`4[NRdm2+2hN2%2M8*eTPPRrbRL0!D(QTSr*22[NQjCpmmN(+2rRNBT4 rmXQ2+2rN%kZ8Ir)jfb[rj(2Z9Il*F'2+2rQFhj4rmSRIbMrja(VPRhaLTI*22QZ Tr*2r-(k8Ir+I`Srb6rkcq&(qL5GqPRr+X"E+2fA)p5MrP#%rS[a6KVb$mNmCc[R +2f8i9b[rP1%XTIb686p6rLR$H9,j*m1p+Iq8iCbMr&1'Y96q+8-m9IiT3ej%qDF -F9VjTma,q&(q+8Z-82iTbcj8rLR,qLVrP1eA3F8(Ak2m8jBFKr*2@Fl@bMpP1AX Vrj3PaLMrP18XTra6PM96rLP,6&Iq+8YH3IQRl*raSra6MVLQr&11ID[m8ile8[i T4ij*qDFFH4rPRh,%#H@IFTbrPAmb2*rb6cR1`-SrjBKrbMrP1,-Trj6M,+,m8fk ha&jmi)6b6lRRmD2m%r,lPRr+%bZ9ImS6Qj4rbK-,P(r+Xkq8ImUcMXSrjFNI+2q 8*lqMr&1HA)Eb6hR16mSrj9P,jCrba!RPRr,%Eq@ImTbGP(r+%l19Ic+MK2*2"H+ imNm&eNRj*m-T+[p8B*f8IbU`&XSr&BJ(bMm9b0%Sre3JRLRr9##H+Ip8i'b[r&1 "Xl(b6`A1QFSr&Hl$Mr*2KRG8rUP!hPIjT`)j"Z@ILTaKP(mUFMC3rUP)c&AqU8J F92kT50a4rUR)RPIqUFLH8Il*m*6+2a@CTr*24A*-bMm9b98Srf6i5q@ILZ3GP(m UFZCArUR)Q9RjTb*VV2a6m5(m+2rN0$Sb@94PGjbVTk4qk'3jmP*C53h(fp&G*)Y bXGU+RV1R5UBq@&T#(KKY[!F1U,9i$haZfqJpIZ%H#*T4`6f@(UlH!emfH[5H*'p ii6(&I1#'Gakpjl,#2@BEL6[V#+Imb,'mB`Gmmq(&Hq#I(e@m"cjk8A"2Yl#,lQP C'1[EbMf%bi25fdIUAEh2hY2%S4drK(YF-4V[!cSN$*Kf1aNSXqJZ"j3bL6jpY-S N(&9m#*9*(P!I5Icf$#Z691j[jVfY2NNpHZkp1qm4GCB0IH-1k,pYplJ2l%!2eRY e2BCiID&QQX6&r0B0$pE4l9$-P[G8-GdU4jMm*RH5F#1"G6*)cpD1qiQjQ$TE[XL 00G8'Q!Xh`24FpQpJ,SECKXVrYZQjlZr*Hk6HreF2pd(Hfr6-"RUbjlkQ&PXPRrU TjZ'@8`!eQqH)rN,dPLUPY8,1AZj"5q1BiMeSIJbpi9,Yl#F8lc&k%Me[jH*ld!L C8lb(0fYcJMGKh@r4*!T0L#1+pr"QE94i`$hZQ!d"j)R,f(fEXQ`jbAU*EJ$bCZ- 6&l1PJ&[J!!5Mkq0a+8d5R%*eI@2rPQVqK'!C(RR0ZU#fVSUl4qVr02Nr9Ij2,pb F+GQh2)m%FC%NRCFAlP+i-$YTF,NHH51UPl6*riRmCiG*r4mYNc(hb(qlr0pCaSr P2rLZpjYl"2lfN!"qFjrF8j6rlB9Lj2ce%D)09E4dFUZp[9LiV6KaB%-Hk5$0b*C jXXamLUb3!+QFa*R+-+R%ZE40B5laiMc"fMYD!-BTrCqdCirr[rYrNR#El4`jf-S ZJ8h"8*(+q[`aqiDbFBNM6Nm"(X)!#(M3f@CBKQ1Q3YZ!J9&%habc4iMJ`CPkH"X @P2%Jcdh5G1IVTCdjlT[9+6F!FkN"K-8$Q4IC0V'#"b%[k%j$K"J2f,p'm#"kPEE 8`lCe+jed2q2Dk@qBeVR)Y-,-d-(L!6Y0Em)$mhGf0QYEma1GV@$#1fUY9+Bc(4) f4-4i8(`2$f5UG*+"33N2@J5rb$U*+lh`0SSaaS0@J3HG-GXaZ!EIDZf%XMPPXm2 @N!!KaS1fF&M0jh6h8cI,FFDp8H3PYrc+MX6'hDYC,2H`0mH3!+Dbh)1fFBp14*L Fh)01a"(&HpL9SeIc1Ek(r5ekYCcMHpJrSPHM1Ei(rBcG4[24I4A-2HKR$1Pa5"6 k'EfDfI%pl0r4Um%Ghm0Z(VhDf[%pl1daT19XleQ[j9`p$RQYj*!!5`bfY(@cFSR KcX[ZPZ1-ia)G)EUq,S5G@RplA"3ld@D8L5A[2#@Dj2I#b%%D&Md[0d!HLf0eFXH Q[P0HCVea&LIUj1j0)hNXMmVGRKkXkr(*qRqM5jM(#9A0$@@Yl8V+GFX9pDpVP8P ,!L4XfHcldZhH,5"F[G(hqFPHIcFhNiGZd04cdXAJejmJMiI*AE(qN!$((3@j*im lC+*rQFH'4$ERFGV+R0*cr4V4VqprT,h[qB8Ur41`6YhSXklfekbIM)'NTGVIBmV [f9k#q'[9RKdYkSE$rGfi6"kkYG6pp6#,AT(((He4hJ'r[klRB%0c4d!HXU$rlqU +!+[0B`#*0ZFab*,5VXeMmPLYY"r!DGfXh`#e$DhJ0'[h0h1YVZDrlTaUTq4H@Em pc"rRZXlE8m0GHCL&j3G2[10r,i#`ZV`E)!r16$6*!h9&i9)RlRMEpr*aIdcF[G[ +hcGapqAK$*LiMeZd4'j4ehF@*jVHVBIMBh,[hbhr9j2l8"kE*[HK2$C0lK[cZ'Y bEqE4R0`j1VRlkkDdK!"-lZ[VmC[*[Dq`@bEhCKkE*[IeDIakFQrQ-6Lj5aj$`hX `ZCr@pVqqGhj-h!I2Nr[[9Fjp%hG[(Ka(`-5ph,4QRkLYR$GhG1*ZIApLNM`f)-2 G%p03(TXQRBejh$AT021i'mRAjr&V*'rQ-3KkNSIdrFE*I'E'2)K@-524hb'5apQ YFMI%lR0FkiThmfL0[DhSdK+,4H9QN!!2RPmJATISa)ejR2(@V#KjX-8pHRER3-+ S8Yb`Sdmej$D1)h8GQ4R#@AT`*YqF4a-j"rXXl)rc$VEC,miSIp'6IS`Cil12+kf E`5VeXP$e%l&3hqR1Xip1J$bk-UkV!')%3(Vc%+bRVYi"RYb`KNk!HKLfc`Q3!)G Pq`Ebf-cf2FA,CT4Yf&Z%20CL2dlr3R8hr"02,eHlGq@8cHU@AfhIYNEGG","4(C 6EEF3rbaeblf9D[GHIaGCNmG6f89pp4MZ-f9C9ZAHl&FS&J0%rAQ`UBc(K@j'qYk `,%k!IM8XLa-J$di!Cl)$kqrUD[+3!2E`rYXIMlBYZ3pT6`%Aaa)K!+S!+1Nh4`p [F[M%biHZq2ShZDRJf"iE1'D'F3,NXA#&Xl`-pS'k-T@k+piX$Tck,&3jd5cdB(p %Xp#$rHS1H#YQCU%4r!#"(frQhRf"-eaAp`4ccG'Ck[Ge0AN-lK!eR%IcLCGhC2M E'kq"XhR5F5Zpm4SjMU8hAZIN$NkRcEUk#&jjbeZaNH-!H5Zf(N"qr9DX&kPG!@r &%M@daLQ'6dcZMSV*e!Q!R'i&T"Sq3jVElJp1aq'LP$0`(!4FM"Y)+@IN1*D8FMC c-Gf*1!N8GcBF9GcCF0aELM[0jrpH59M&qrp0%jal3dIJlXPVI4krQEck#V*PmQV QiCc34pJmHA8RiKE3@3Mb-*[Sp4k5N!$Y4S+KS2mH0m"%B2*`5ZJql)#Ml#!A[9G UbEpAFXQp6mQ(cVe2+B6,[@GN"rBG)BEh5Sic20MkAXP&"JBP2($R[eIL$hfPRIj ISG"A5[&![+ke%5('JfcSh2ZeHpmVZG(dYPT#jr5fp,f53qlp@P[Sh2Ze8Il,09I 0'3h,4Y5YX+0JT9e-kq4K#l"SP('bX"PBpd)RNIr+GhB+Fm%F0PaE@(&+"@elJ4N a1q-Y2ETHQk'@Ele+,9qqX$'ZeGHd+p1d*2rQPNjGS+K,GbM+*qmZQET%DG-Dihj #ZQYh4U[C+Mdh44CFr5!KeEMPhhrmbTB"IfJVrQEFB(bpTN-jerh*'DK$XeBpZ66 M+RRGQmI@qQh,VkIq`rI9mqkjCf[Ih0ZcIANidlBe2plIm0ZFPTT,qG[B![1fChb IIrQ'6Iah-1fJp2"9#`Gfrmh3RfaVE[Shf0CmTGZK)6lSeeYlb9!i`EBeVq&dBe[ c-NklcEFeGb*-lQkJ64i(*RI,'lX$*RHhe,EQ)hfr3mZ`VIQeap`$9UQAKDUIL)9 kpDBmqqJ%b+1fVANYMmC@fQ9@c,#'6S"k',E2#C!!4lLYHAmHQpNqXk(dSZjJ@r2 -q%Jcr,+YH@EbD6h+Nj'jkekSfaR4HKr"PE+YqGJR%2rTb0c9Db16cbr2jf%fP1k Vah#IeEBeVqA4f0DmR%GY@r2Yp6!XLa1JA`h,iJ6)Je2DeRalA8dHkEEQfr2B3E6 CeY`aTm3CkJ4pkb1qdV#$5SPcXUVfkcT*l%hXembXe9ViQK*R"DGGm%UF[jrFA8K +R&lrj1irYVXm"'"bGfNTF3ler3iYJa,RMkjj#02UVa3()aCUfYBmqqJ%b10q*Fi ++fCB3bG!23cEj`6)`l*p!hPXC[Xf+R%HFX*q*Fj$TVqQa0PAMq%qZeq*Xj,(r8U FP6`-bq)%k&I$XMJ"mZ"X8q+Xe0ANmEp+R*8mGKKYP$LAF&GHmcPIcS65D,bbUP3 VVDaSU-$[NYTS3fQi5J2)TV9$l`HGTdFNSGkD0,1jM0'3!!S"H!VKjMMX6HfJ338 Rbh'Q+A3[$!L[PXfqVl'$fp8EICqIl1hQ[i2ThG&0ekmCd([dk9qRpfKkp+EY*BL r9ZhCdD*Z1(a12JpRP%,h26UIL8*h$DFEZr+@FGTYVY$Y4*MFh8$U,CXQGhrGP*B 3J-RGHD63r5[9PC'qhk&P81KHDGd-9UQAKDUIL)Ak6RHHIA3#j&&6k+lPdGJ*YXb +'GE3#9!2`rBj!I))GqAYcf-cffG8D6q!9pj@SGZr80d0[bKdqpflFXUakTE5HG[ @U*Y1)TL)3RHlKIKRU9Z1ZNhYhS[l%PAD[RS-peP0SEZ@4f0AhR)H0BAZlI8`,)X 6S&m0bq)%b)068ZMHAPH64kV3[6f2(8-EK@jCf""PlQ*%k(1,2QY*U0Zr,Rp2"Vq YaAZbq'dThT2(ll6m24PH'jl,#[F8m$XZZ#I0abrF)rV5hUIbpf3(mdRb(SAI3dI [#C16HdEMYl0i6cYqMbcH`rK`92'HFB5!U(pSZdEIMXG[BDc2iRXQi(F9`fr(kEN RDLLpCr!iqHpKhZ-DXb1S16PrlYPRfmCCLrVkRVhlR4bGCQFmTPc`)F'&!iJ,RV) kL(1aR9h!NP4`i@L"#hX0%6bZYG-KHFB%&fB*A0MerP!hA*L,B3%H1-'&,Z"#9er I,3q%ZZ%#Xd+Er'rCG[ZjQ"2'IhcN%KiD11(16[+IfB((&f!'R#8m""$"I0%#f`S ,T[#HK,FLESG$$6M8LlT4,qV@8c-A3lfN+LeBHQ9TZj(*((KNeArNqN@qdS&KNHI 996HR1Xad`V&A0#AaNP1#@RhjM)jijlmb2"+R2d14-C-XClbC3!lG0K"r)MUa0ej RedQMEhV#YdjbMqRKm*l#'fqGj*ipm$Y[p*i`1EPR-RlR&qqCJYm&qAZ+JrGF9VJ (jD[Sc9DjM[%pdr!lp0C*lTP1r'UqGC*lpL6@hAR2AX6#1qrCQrKjpcdlK!K[V*J ,QI1C)jRe'86XqiQ%bh!e8&e8*Z[ATZ#rVhA'EB-%TU%4Dr#JXmf`$-G-KEB"!`1 ,cMLmhK!m1&-2Em1#-KlN-F(kmi8BhY,1((8Y1QX-2@diETJD3&JmN!"j8E4!URJ JdLRRkSjTK+JK3S`('B%(ThQ1IDEKG,KDdY1YY1kN)Ei&+UbC(d[@DG(jLd`Vc!` G,"iBhD#lm-$mRCh0fYEm4'GVaNaTY9BUdjN1#4XLBM`S[SF(-P8kbF#JK!FYJPm m"D[KV26#fbM''!pD"4jdaQc(@)aPJ9CV*j60+CXGYSB--4kdKF0ZV0Ue1!E`FlS XVHTFheMeH(r,8A0DDLlPEf-6VYZHmAhqj4XfmGr"Y)I$`eFY(0Kr-%1rhAr3,Q5 J'kZZG$Xda!IpHQZ[VclUPYTBpCIl-m3EUpC`ZV'aDKQRhHBEUcS4*RFhd$C6!j1 le3Cc"dcZcU109HrC09QfN!!DkIXG@SD09DmpjKk`5VdX92e%,05V0qAC4bG!(V@ 09@Yj0$Ec,,0LKM9d!Y6$X(e1J$c#M9AlmpM-pTNY,4Ge"aZVCXC(QZ'AM98cNdr V8Ck-c&hh3Yh1L0El#+k8M9A(2S(i6dIQVPiEQAaqH6i2Xk9PAcf'qkbfX@SYMmE 'UZ8mDKZVEUq(B9QF!2eU@"BR3"kFdXDUfqYUmNJh9YfHaikKcFDU`4k4$e69&A* %VRaFATDhBlS3kYhhr46#KEUmLGZEGiB"P)6eZ8,R-V9ER4!jHqL'l1ri4rFk!cS i@LC6Mqr[RZAk15Z@ZCjqF,"`)"b4AABJV(0@&(YkqBUTCma9EchX(qL8"pTPK3H 1CC@PHaqNca),h6Z6Z9q1$)RMaA68iBp(UpYRjR+T`I')1$[pk'3LlllG!(23i2% ,Fe)'-cCBCr$1pA)QP%EMP9@P@QPP48-&ITI84KY+`e8D`!Q$!BkBiiT$!6I1f89 Z@VMMP$)jHFT(BFrdecMf&-YIU0K6E,RbrMRb,IM6j-V(jdU%A5hA26p2UL@F,q- ZN!$r&mTm,T,q06+ITm[mRL(cZ9MQGiRmIkDmle+j6[+cT2mbHIrPrJV+RR+"b,X 03Rfl+PRA'aB9@JCTNEBeL#X,qFhi#ejP%hI@8*ar)S-PEY93h''3!*4TNIN&1K2 "@I%SP#Je[b4Z2lcBcmMmNVJLPa*[bcPBX#+cLiZ(DqpPYZ*R6a&h2@@[p19pjY6 J[[dEi3ZkbB[FMjqALEJAI4XqeDV)8T*qSBJlj'r`"GhP(ASmIJi9F5G5r#rS+Nr p,(jf%R(Y$5a3%0G#+C8$40`9923+ZY8lE'13!0rlEi%[k%)4a*F5D0aclQ,0JVL fC[a-%('l6B&2PiRh+F3k5F6GF#pm!BTiV1@%V5,ZjFaC&kB[SRlqH"&hdZF3-%E f`B(if9A%,CX&Al[-6elGflljk+h`S9C%Ip"RBd6Fali%hmiLEKVkeamRiMjc#3, 'bEjKPB2$4G`meQqmc11634jIa*S2(Q2Pl28dm[L'L([IGiQZHYqAJcji0r1E+1Z (8+A@DH*h*!B$"Br&cqG%h#JZ[bkV3R"Q!VGm@Hm2%J0fNh9LKB4hL,KE6QG[DEp qPjF'FIj[iGYGa"f!IXY-%R'6ka(`%"(hC1"P3FEpM*M#NZpbVN0qXbm5FAYFJ!# @HLFr"0JkXTj,I)eRlM1"HmA$XTi[S"R(YAiG2`GQ[B`p&&IJ-L9MF4qi'mIP#hM j2IBk5m*ca4F#[$aS*QZJF@Z$qkjm$,kT)Lkh1X$,Vpl$KYIlIK6Jf9Q[`!FQ-`+ ![iUA%ajNVPS2F%IamXB0E(LYAibA9ei&(dZl%aIMj8h%$"8GH!ckfH,PMkR`T)[ E&pL[LK-A[3LIUNUd%Sm8,krl+A`2&A%ra,r&bcHcee5`kL$JVmA,#bR6"2k6"rq +(aGd`8I[J%2FSAdcrf9LKZ)@DfSSc[hJ5[M!@$N(Ic(!beFm`GTVIX`@LTI[r"T mMj!!1$%lb10Va%[Q,$Pc-&GC[25)Cpa$([5%pX&AL8hd2R-!1'la!#`i5-3GmT8 !,pq@C)'#Z2RS-iZAhrXH,e+F"Km9,erlDICk%$HGmk2LjBGjef%LlY%r#2$bPMJ #G'qr0`+R,9kHp5`#(LPJjH&,!l`F6b`jA0EeE`Yi'DZV[*fiHj6%bcKZqKrB@iU AF9aE43%[ilJ-Cd(YMrd`QhUX,3@j+X$,kiMIMj,pa"bSpje)E&EYN!#ML6f+Pbm R(TXGZU9qralJfCFZC`-(FE0q'1$Pe(2K8m(E`JX"AUlG$*r+Nf8a*eQmI$0VU)+ d1Fi9QYmrR--'$Z,1rhk!P`mKIU[`Bij5EiS6lf&Z4mZqB4j5["c(ZZUb0Mr(9NJ @,hr-HIGB%EF!q'AaFJelBU(-JlSUIR3p!jr+AVGbV3rYQ`Z)+bSi2*hpV6MhI-k DLdAFH@F%H2RfEa*3G-i!4a3[Eq3X$VE3UQ#HjR%9j`C95eX$E,CiHITk$K+DKq4 Rqf$0pI!ade%2m&[VG"ka!@b8micH!#qr`RQDAT!!Fc(Q&BZAKh'qJA1JVF"#aFZ 9A+U*qC5mV`M`FRI-"&k6L,[mZJ![Eq3F!!mJjlh!$)ZARq$-$,mK+Crmb`![$lm @%I3#q6((@la8lS2cR&h%0-A,1'i'jbI"4B1AFGbX,aI`-Slc1AGTIr`GXH"%%6G lEB#ABiJP*dNmSbjkhmXi)ce"a"h$AP5m2)qm#$h&f-+FBh',qA+&V!IpV(MjKS[ KdqdTCR%Q8lbmk[I`kAi6'BSX+Pj1)4kSC0k"9"65r#lK[+Z5I-p%AeLmh)IbJlU 5bX(%CX@*QiPa+JdeLpLQH(NSCi0JY4(r`qM[L6Y&h,Fj"kZ!rPVJLmA,Ib1(ST+ ,XmRM+(jF`eb94p[RcU"[,Ri*2TAUQh9&J(2A2`HIVRRb21##aF[A!,-pbGr0jKb ZH(NLZ4L9L*h0rY%m2X5C9RQp+p!R&Lmr5mi!A1!qCR6YJjF3beA%FJC`b0CTGrB `A)UF$ed6i18"V%A!-rScd%-@,kmL6ULdiL@B9baHRNp14a@mCYmBi19Rf3H"0+4 r'HTNmI*I1I1"ja,h+Y64iZ9NiZL&)Zjei13XAMk1(0a&)Vp$b6Fm8H*PT&rRh`G IS9hLC46R6512X*r%bcKZ0RN4LjGa(Pr(r@fVXelE%0rT2`TIj[KXcX9pFCcA"Ec cGbEUA!pc-,Lb4ZE(I+NmDj,(pcJ6I"KjddF4$q3I5lalJib,jpd$bH[-N!"a%Dl lHiNhEj&a59h"KD#ILM(1AUT@[!qjKk![@cla%!HN)#j2[L`RlVZ9I!2j-MBbTji XiRl-QB"CPAV!+fPqPr)1-"#F)bl)VrJccVUAbRN#A!lbDcQ5h"1m"bd![QKqEb) R!JG)IQm*mMZGq(5jL&Y)IN(cqbCR1fCm'N&i#eZrMa$6Q@XNl2[%!Fh[4YEQZ6) rCYBJ[jC$Q4Ym'VM#IGSIHl+IRLILLZ440,rr[S-0VrNaSfYqYh%qH)')Zi8mNF8 RjDC0R2!6)Im4arf%A*(YqbM1QmZF,$l&FAX4i`82$*iPpm%$"[009ZG-bp`UqId 8Z+pm32C#jX3X*JL6"CqSZ*ZGb4Q9q8lLi-mXlVkB1F,P5YcKQ(IY223ecRE-c[3 01"I-"pPbBZf9%JrJFi-j)lZ@q!Fr`hh-Q6V(I*eFfdY&INIFP*q(XUfF[CQejA5 4C`RQS@`,Fi,6*Zlk))qINfX*eL,+I!CFZ-j$f6E1PXc&p!ImKGEl(-l%9mXm`#1 G9pl('Hq9SQmH"Jc3q6,Ep8G%`,r*D@%p!Mc)h%kZp"U4pe'FA3)mb)lE$4pcLTa ja10J$Xl@%&GH)r0QhJVQi1a42iI[YI)q1!bGfpj+6#3[iZ"TG'll&(e`2Z60F[I "h*E0mQh$kdAF(2D"cQhIqKBa*SLEqqYJE[X[iJGF$AJIp8'fM&`*h*IFe`@FeEN Yfm9FbB9qJZm)q)2X!Q)0Z-hm`EbKGEU@h#lcVjcVf#X"Ij!!2C@F(A8'GX!$RH- ra[NB$PE1BHce*9PhK#r[)ZlDZ(K1QXGCa-E&mp!mcNNf,X&,jSQaQ-qBLf1qj&M fj3[PI9&FTJUiPMR-Vj1hJhbBm$2%(3fmb*iSiTDa$hL,)HISKr0il+hcHc5iEb( HMYJmEL#@I&l%,F)E%C[(jrM'!jbRG2!IQXFr-QpQ%,P[#@TMmeK,M+$1%R)mhTr B2*j26N[b0AR!-@JH+mKKI%RFY`bpD20i0c%GlPe#PS1AY(QFa4Q4pahN)HmcE"i hmlh&MH+qaf0ZYhPmR$`+I5SK*f%1Y(PmJ(d*eXNjRh1Qj[%NBKCc%((JmYJXPQ' )HT)m9Qc$h`eCI@KKLIm('J3!!!%!N!0AHJ!!9RS!!!*kEf`l$3N*CR-ZF'&b583 J25!UC'Pb1`d*#8jKE@9$Eh!50#i`)&0PE'BY4AKdFQ&MG'pbFJ)!N!0"8&"-2j! %!!""8&"-2j!%)!$rN!3!N"+Xp[d9!*!'@I3*#3d*#5TfEf`J25"QFbjf8Q9Q6R9 Y1`d*#5TNDA)J25"QFbj`BA**4$X0#3P1B@eP3fp`H5KQFbjZB@eP,'jKE@8T1`d *#3d*#5ThBA0'EfaNCA*"E'PKFb!p)'Pc4QpXC'9b1`d*#3d*#A*PG(9bEL"bCA0 eE(3l$3Pp$3N0#5Th!!!#L%&%3e)$!!-S$9d,iCE!0Qd2b6Z[IH9Ehp5Ue9CEkEA kC*9FPqJ9+UeD(CpNDpA*@5)i3-Q)R'5k55HY1-"hcYF,r!1f#E,M5[UMC@C+a!j lH+aC@B3V[%icXLX@fR,DNr0`SMITBMNC8cDC6Z*'D,'pk"KZJpfp@@YN0fce%Me #6X-#1je1j30JAcZ3!!lQ+MM%ppFL13@,l3`kNiq#Xra)29V1aZ2p8$e-6X$$l9J kMKI#GRp!ljGYH)IYT+em*paYXfN1h`AcrADp66EM8cD0CR)dR2%&qSc-`1RqK$i T8r%HQd[cZ"kHY4l823UZ0RLjRL2VFBIRp%(CJ[IC4YV%pd*IreFIPcliY(@PE[` Sl'hl8'rq(IEcAE4D$X)KIUZ@bRMmhLE5"2iFIVC40*TrJM&HU6r)*&aMlDNGr`L Gr#[p@MVJ5&qYUk3cVV@a0)lA34GE5X[i1hM(rpDrj$emhrr6A[)FrQmId,[m$hc UYIUPI),If"+DaGp#2rZB2Z-'k1NVp3[TL1IC#r3+A`5[qX9kSEb-Jra'[88'i`h f%Ah)em-)[dU[PQ&iV8fKSA`Gh'3$D6KI!rhpCLf6!ILDAk+AbZYiZEe*Er%9F,k p5-rcZI#5Ak#Ab4Y4q[3RrF'2`GYqT6iN[q#[rV!q)VmK'T-`3"4Cj"V@eLC8PNB MkcLAbb96p2B`aCDaP&9&U@-[5hXk6QI5UA49HN(DD[*0fCDk4QmZA"bhC9*QKDe Y8Bq9e54!3"2#XdXQSE`ZSEJ`S5P3&#J)Y)Ab`R#S$SIkd&B5D'e1lV3f*HZ5PSJ k56D-!bP*#TP!2[bb3,EL8QK,"6+"jSS2"5`IY[4X3MD3!)N6iRa#69)'!*!$,d& %3e)$!!"@$8X$RHJ'ApX&YA!,!-!YrkSA!!$3@iYDH!'Kj[m$@)8HabqAC[SF!*! '*lp"4%05!`!rmJp9$AC'!4!aiqGMIjYcMV()-TE9'U0IM"@MlZFhK%X0M$Q(cV& kM"'6f&`D[K#b%A#b!`R2br85Na)aK#$0iD9FNLE'pSA*#4a,Z66Aaq24A%Sje-F eP%XTKkD%BiLe3#RJ!((Ipr[[lr[QCJkplE[hrI`('k5R+%%3*%%52*%"I!+Dpk1 @k$81XCK2KMmBkh)ImdEZFT0$AjL%ESQ#Q[A"f+5lUd1X8%03`%TJXZ0G8#P3K%U %iPa9heDKjeeZFCT8f%RNL[a%6Xl(Kq@H#NEkblD+H`kJd#!9&R6m19E#N!"@#`8 L1LLBQkT*bA,EbTI8INfUkU#1afYrX(Z[U%d8m(MZKZ%5'MEBDhm3C0iJK)p5BU8 akQ"S@![63Pml6kiTHVpAihr2j32Lf+fkG@ZlZ2qbbrfRcfYiFSC,bG5Y8d[Gbak Z`C*!PqQbISC,9cUh[kq,Qp3XJ@&0&dqqhqhq(hIamEjq6RGIeV6GIBqpj1,qPhC cdd[G20RajrS$`9R3X$UYkqliY"IALYEQ6KjA1h*[iHHed5N0*R[[V!iNhcQ&U81 EjPqfE9TdZ9HB2YR2ihfK63fRECZq21eb,hd!JqT8iV&%8@1[1[8Q"(UmB&C#-Z4 L!dNfeDUT$R9UF**EDh0$am8D%VjcI3Bl(HC)AEh(&bT[R-U`MaT@JphSYKeETNk 06r)iPN6GqD*Sf))1(1bLli`H9iDUf$lE2P[YrafP#h@UQh(Y)eAQU!L"dYE4-rA '5f-6,@jF-Qe%FM+L3VJ20NjCD2[LY!M#e4HMHX0pp*'1e"CVaQ'`l%aNBCU5(l- J1fM"hCpL`8$3JXIql3+aM&$4Hci))BmbK)3b8IXe[G)kX8DXmGE#9&M+5leI#B- maQ2H"K3Xh1,p5L*fe2eSD8VFMHJJ,'U-N9kHY$IM&A@14GXKc1b`Hlka#dE#'"h 5B*,%,2(+4)Bb"DC5Ha+[)UFl$+3fh58MPq2TKVX`,*Ffh(9Z5fmH6'*kV36NJGU [XHe(eBR)*"IjkhBV*CH*BS&Sc6Z#@4$*j$*aR`5JE-J6C6Ipj21m0$XJhJ(&3pi 1JdT0KrXQ%UFk2KPJ`VB,"cZ,'"TZmZ(lPR9cGr$a4m0KCXk*TNYKFSpYHhhhRQ0 ,4l28MU&5Yd'*'I5aqTrc4RhL6FjhV[TCfdHr%IGq0&dXBm`2Mikc4%,+@0*N,QQ b[)%-qeJ+-%*D`qVDc`fVFC523&LG+9bj#Y#X0$9Ui43UG*CT1*UeZ$-F$A'rYYP Z6BHdUY$*Y4Tq)8-aGJ&aY'VER[)M13EffUT"Na`H$cDX3T@*GS,X08Z"CB0,'qR UekSEZVA*YMhDbLkheN3,(9Yc&$4Q-14,NpdlLXR5TB0q3RQIrN+'IDR`b5[G0Qf Pm0'CPb*#")P`%e"+4ZV'kRakDTVYa6dZ0+%Prkm&#-&!I"N-DG'NMcebMIHiTM) 8,Si3q[-$J5YPmE@i8MYGLDH6Jc$mLKi'SNEij!B')[YiVD9UbRj-DG01[I'i'*K '!T*0Y$1`(BE&`Z(N'&8F"N6`Z(-S%G,''V#KcX`0"D*)KeKq*2GM*E+K9rK`Q(+ 8`"Df2d,Ej0`Af*!!0%-d""9Lh'Vi%L%'#LqX9cXFhmY4*SpAS4&M)`E+)JL)i2A D"&H4I)(XkdYI1mk(IPL!6"35#,a@i(MZe8,H"d,$!8*94Z-S*BVF#+$U[H0)p#, f2X1rJ$J5[Le6M#a%jGIcYS$XYr,iXcbdKC(G3Q$fUGmKST5B)N(k2K)L(V39,*! !!15+8"J+5V)4'G%bL'$'UYdM6b%m8d5NaGX18lL%KTpj[R"peE$L++dDlUXDpMR mUH(c!4,V(899``%5BijNeA#!4"5Ek8#QP,C5hSp-d"F@e2PQ3jiX'qD,qILjGK$ !Liqdl4Ah)l"e`f'%dRF5Ri@14)kbKYZ6L9))T%24-2H,C441`DF(`TLd-03V[S2 N*jXYf4TBBMN+BHf'I'!b,*l%0$(mH0L56,$k(DU3!0%X,G3*FKi3'3YeLhfXH`X 4!ZReSrjd*&f+T!hCc,b%e"8,AcdFFXZ($0qUr8TU),,5NA%NbL0eeYPpif-VZ+A f+erhKBa,h(,6B%rV$#2G(GkR$akADkj4Q'm00Aid1*MPE@CS`#dU)B%MfRKL9"r jGpSdTkGcXpSrh,rlMcbZ3rM#[Icq1h-I8)cYQeAAX)Z'ep,`RqlrHXB$1-bMIrd 04*+P40V9dqmDI19Qe$XqG&b0fa&98hY#%r*H3eMH!pBbA*JI[-RpFS8b1T3Rm[k M!mQ%Y5&2VR!f2iY`XlcRi"PZN[FVaKk`$i"Gl8q%j6)NSrj,XhdJBqqNL3M-`E# mAjV)3arTX,bhkVLF3)"Q&8-0mq8$GM@5ar@bA&L[jXQ(3&"f,lXrZr(NX(ji[V` A8mRi16V`ZHT#je%f'4HhTG#pThGPRPacLF[,-F@Ke"3e6fSZePkQT*Q)jMk&N!# XP$c*9`MCd*!!NY(FBc"5`c`)0GZbPa)STi*0K@%EQaHR`18J"F$U,1qYj3MD%YV 'R(d4&`*2fha'CjJYeSN)I&NDf2,@l5jAeR+@H"9KLbGad1mj6#'p21qJ5clY"[$ 8i&X!3R0,fekj"JKd!S9(@(+I*hpLKb#T0"ZfJ$8A@EI)qi2-FF0mq33Y*mEFMk( 'RY#0'lB!kHb'e835a#CUrkSC*p5Vr@S`UrBd8kSQ*MV!R-X#[jbIa-Frq)kM35Q QJ1l3fGXFE'MQRilk2V6I&$iL03Xrc,ZJ@LN`j25icj!!bJ0NAS6NcUSZiRiS'4U i"85MIXkG-2A'r(-JVXF`e(Kp50pIaZ11q*`5CGjfZVBkYU,V0#P2&!lf&6Rp!2A bB,,f0!AS@`m%+3FHk9KM`V(bq$K,[19Y8R*mQTRf&l&-h)"AXcJ23h%44bUHTLc ,$!N3mk"dH+9&FD"l+eZLJZdL%TK1PX#%m4QR")BP+pP1[d08aX!XN!#IcdLUM'3 m-9pX##,C(#VijlEGCm@5N!"02#V'S#l24!EH54Rpr$2f2+",#EE3Md)P3UlImhS -pb&6MR6hT(@f5lHIS!j#*pT%m9"#YpRSp@#k'`"YP%hHb5l9I4$0QTK!Pj'3!)4 e&50"baHc$IHaaF@%Q!k6pbNb,80KjjCZTXUr4U!m9rM-HIU%`m8%a')N&46J&&Y 5)!QUD!Kr`R!bj[@`j8m4HI`$&F@j#9e@dZY*63k`XL&FhA#3!),AR"2qFB$`q6m 4N!#C3B$-C@3`P0`D!%)!d(RqL8)"%!+`DYKfr[QdV["5(SNX-6VXK#kq)m8!FQM k)-lNPeE394+kTlmPG@)5NcmeVI!aPF%%RjBQRj9"M)H%$fRc#p0C%)$c,BQfLL- m0j6l[0Y@2HE0mmVN$##+kRMZYPTVED+f"HVPIr&1j+l*A@1`-j%'dir8*9YIc"0 r8Gj)+1%mVkSBVKLTbh)JJdD"L"EaGdi@,RGBAY5A[dX(k-blG8jLmffAEGC)AH[ bK'iVhk![hi@I-P+(b[FDE18l0a6`52QqNESM2Q6hJS!5YF'QM4fZJ!UQ(LkMB6M $',[e'r6DT-'QM6#Q,'a@5$X'pBf!G!cU*TYVIiGX3pY4+!hjDhm(YjeEdQHdpRF rq&Yh&TCj62U5%V[TQL9!''Lm#kTIc'(XdQZ0KXAP0EiXTj@TD3R@$&Z"2&Tlj-d DEM%C(5Di5m#4JlF,kKUIj*b5#--@8ZSTF8MVB&Q!FKTe)V'49$Va"T*mZ&)B`Z, AKY$KbLk%BEE'S'lD$PH3!-*jZ%bViVU4&p(%D6I$D(!%kZBK8MVAjIVd!aP1AUT 9EFHmEpUd8AkGLQd9@jB3f$L@9SH(3'G+TQN38kmVp1QRD0%l)h9KE'fXPCC%ER, ,PKCR+j3i*hjZN[VVYXN3K*i+Al-J'B9"q4TR`rPEBaLZMj!!NPmjNI'm!9F*D5Z K*$r8Z!cCl,F1IfiBcE%IcN@f6@iFma`NKG8qr85'diUK%@QSJSEXrQpL-5ArCkG ke%'Gb8)L0E'3!"Jp2%mJ$M-E('YH(Mr4YJ#,#Z11F4L9jlbS"cKj0)ff%Nh"`SQ -)%+F#1hHFeJ@&"pe+LHFJ-&"-(3Np@)2`NF($KE`E@5@`Bq4b#!,fJl)K2DeCEl 3!GNCTd-rA!Qe,FpY1h`%2hX(3j[3J+[c-29#A!I*r(!%Qh6N-,Nq[8r$)h8[9!0 ajM#4!8Z#d60L-h4V%fKZ-qdH*X4K'hqp8jJ'`KJNi0Ym68JElS5iN!$2frhNR)1 IDA$QmU@,e*!!20#i@*jUI1`X'8`AFpqd%J`U',``Y`4ESXS@Cc-fe8"Eh6`'iHF c#'0*fHHX'f4UAR-FJr0pa8Kd6bqmH'ZYkMrj"`5YLN$-N!$Q`P%QFe,('K!fr9M mkli!S*DhI,h1YqLkkG$K)i1K`h$kDVh'",@i8fhDmFZEK+ba3e)hYic4J3P#P#1 CSa#`X6N#@PT-,(X$aCXI6d2TH0S4AVcaHZh`50hQkHN3LNqKDcU&BA!NR$IkN!" KS#)XmIADNiD3!&P@M-,'%1UU,a2!CRNL!iX+KR&3Xh"3XdT#EH)RdQ&jQS*U,#- 3P625SH(i)f90@9km,&eMY'R(NB[XNM'Kfak9%'HE`p')F!pY%'XqJTE%YT'5#H6 l"0HX(#!aG46Al-6R!XU5'flbkpSSblJir+j1GY8)3jUl)h9l)aFb)+!%LE5P6*! !JQ1$XG8BcB)"*KTTKhKAk&cMbcUe$80qChXNbE2XSc$**,P&BMMMp2MDZH98$-0 qER(5F"B+ULpNVT%QK!PhMqj#"LAEKbYIe*YV*$2,Rf2,#!"I[ZR1UH'%MTrm[Q[ BMF+(UedrAf+2NBNk-ClHQRYb%!DpN9I95p6JFFZ`@dQ@VYX-MdKma[ETcqS0!am Y%@ZfVB!4-0mdrj8#8BBE&4PiYYS02TMPmP3-LYc%TNUm3SkPq0JmI'B)(bCZ8PS 0cl!P*M$(l&%-qc'F4+%84T0RZ$r5adf@G&imeQG*pqMAkAN@)pBFlH2qcF2fj$S L'ShN$iUQ1eH&ckfa2Y-Bh%6rfcBGpcHSprd($2&YVl6aZ+r2p2Y6pGBqbdEFB8F %aM"R()$2AAF64rId+rQQ''rfjCGUEGfBZKR,G3El4eLZI[TQIRb!ecZL1BTck-f EI$hhj'3j-eqibGrLL4F+qRY@IBHh1LcS6VjbNhYB+15+ZQViq)9205[+,Skm5eZ Y-QI$eDid1ARah-AIGrhXchB)+ccb`@*bpKc19NCKBPq6d*9p0)cKHDIY5GpTZeA 4lUlQkUmDBI`RYK)$JZNm0[+NHK`CT"(X2FVHfdqF1irf5E%ppra0&'kGrkrREk1 3!1diG`N44Ik*dr'ULX*lrh4,T8,&UDZh8,"N2[Gbi5N8$$BE-9KZRA[14SAX3T5 S`+8r)-iM`pKLKcrb$(m9,X$@b$0)mD*1IipH5FEk)Mqr8)+-S+!4Ka-LL[HL!@" EKJmI0Y&[5G[lT%eEVhjk&1EjBeX5h`Ul)rVaHVXRSKqXYmI`kS2j86rH"mGD##H B0Zi!1MK+#@e"LJXERGHDd0&4$V'Mr*I5e5kKX9L3!1e-BJPANM3!Gd3ZcaD3!)& lKYh@HMZACmhM6Zh[rd10SR-H3qCNPVmSZK@K))BHRLES%5AdL%hb,,"I&&$4jU' V4Ai@`Bcf#&kP0[pC[3#JV!3$jXd!B(f@k)*XHjbF&VR(Qk'1JfhY6`i")FY&KLq 43h'XhUf2rG#(%)bp'DqNhImMR4,,e5N4iI0Y(3*%ZMM!'3GDU-I*r@@N%FV*E+! Y%!D1SA!YiR&#Q+N-eV9-rI3&U0EFbKJmZ4q$SARN5D"V"S%63qM*kFrj@$'pr6% 5am#3!"&$aU#KT#-V4e(mMUbhP5D-F6$'Q`a&-"5K)8T++*3%%A%[%2M6N8BFaMJ 3)fQkidcQ2KJ'%cPjKe2-%l82i5$m`pP)LU,K$b9Re%qCZ[!8#@beZFJ@%F2VkVK p''lT%iPk"$5MGXmmr98%CFqffC1aqRHA+GTBV%HI'djP'aa$5cS,!NC-I2c"$&, ((C`F5N8MM1iJ#!&X(h2(K)#"d+BaM2!j,4D1pkklYhrUhNml5%N8@d)N&MjqN!$ F4ID&5(#T#5BT0a`mcUh5iMJY2KYBA*c1`N+2q!i@@X@&M04TU*1jca+j$eMJ-SH 4+jE)[F-!M!,!p`"B23"l4#)H)q+I6[52p,L#L"XCm4JM(K')`qM8P1KE!P'SJ'q VIa(q3G`64,ajT2%"ZV4VeBMV8q(D%[Pp),HI!GVN)-f2-k)a!,U,$T318MV3#SR iNL$LS(eIGaAa#R)#V!qc`%3F"XCQ'&@XNAbdI@rCeP-@qm!&dE@#13*R#Sl!05X 3EUeSq0"ZI$"MN!!C!mIphN`F[4%+F#-6E(F&ZJ4AGlP%-qk-B$K-Rc@c0H034U* `r[eI8%`qH6#$`XYJ28)"$&`*$-iVM2f)&0Bi))5[j+2S8S3&0!@Bbc#8q@#''XP pN!$#e)0mh&qlp1"a!U,f(c6M$K-F%Jii2G)LFQB2XdRQpBdVXF!``1VT!eK1NmE rjYrL%-R&AGc)A"CR"Y$aT,$Yr@GGUcVkHcXHl1I-p0qRdd9QU%Rh-JTZ9Jp2ZNR *RMMra-ZN[0EQKXG(1kj`YAGS)YqL&2VmpQM-kLkTd#[q@+Dlj2D1jGcR[fpTYpp A#TAL$GfS#V(M-[Im5@"4`T&5[Q2lE$-#E&((TXC5'S!,RU[`6PG(GGqUACBf&(4 53EpU&ip"K0aFh8fL9+PBlF+`6qSHN3Sp%Y[6eIF5ffDaHJ$$&k4Z45VFNYLDUfm 5fcUaqJb'mk6ZFe,KGY@89k3T#c"F)R9IP!VCM1@'a(+(QC!!"&0p&SbVj1`GSDD jjh8Nekr$058kV,I#FELRPlS`''[S,Cb"KMiD&*UaEE`MK)XqcJi%(5L,D')8K(0 DQG)-pCRI%04RT4iG1j`80SY')Clb)JTP34aI,T!!K8%BM0lcETYjP[IlJb%%Q'S DEHBjU*!!mHqDN!"jfRXfmdbB'M#apmE+ii@Gp'(Hllhah['JiH6Cd-BlbPjdPG% J%X6-L3c@I4(6`-(!dS2"p`'@MKe"039Zl5`X[ZL(%($,&N%FUdjk[mh#P$RiD2C qQc%P'C-a&EUV!RBk!lD&!6ZEJ2ACc!XZ654XjRRTU#$@E'UKJ[FL#qa3#"-+qkC UB4#-#kSBIp5%dF3BC`Q$!$P*Nd2GjX,N[XAQKCF+ZQcQcmUAi,@m[!A(Y!6(Y$5 b'+%2MZj%SKI%mbeBBUk$S28@%pd-l9`DA#J-3Ya"SCdVQE4!BJBEXD3k%k(bkBd Z'%YQNqX!1F`-3!cJbl"a$"bfb4r$K,)%2p-hf-b9j5eil4-@H,m2BLYC85XJ#aa JSZrLmR5T(Kb@-)b!B"4J93@5Q""`6qf+VZ2QP8$L([0RH'de,m9,-5rI8'!aQCI J)f5HMYHRjKDm$TTRSi1E'r'K0mpL(62a'M(2B4h69*YjTF28H(*5MbS6bC1&h,4 "Epkh$8,)*e-EfXb9kb'XRi"c`!Qpql2(),*[-*42aq"m$#ikdFB'NdN$0k*M550 G&SFb#eIEd&EH`P"PQ)4AZLc3BbrE5*i+lLrUlcUqmEUL"V%FDFT5ZijBK%-e!*N 01"cm,$!X0YIKCq&JU(bRpbjHqlcAT9"ChE2Cl2L0`L&54RdAl05TdQB'MTB0JXa 4bQiNk[PZ`[4#KM'$3fa!"rYBik0LR"LkEQkCCMk+c6Y+VM4NmV'6dGFBaP#A69i $aU4$l0+EMkTC,)-4!&8Lj1ip-ZpDTD8%bJ*cN!#$c%%%L(BXB"5b$*!!q-h)5X& N3[&V[$dNDdJ-&qF,dbDbP'faN!"X1G8+HrS,GZXCB`mr&32E'M$0IPb[c!*,6"+ I66fpe+@X&"&K5b'-S+#UZS[Uih3U6Cj5-Mb4FQV8NB!SX")+P[Ur!iKX&FLJ DZ*-NJj`&KU0G5,b-U#,6aD1Q%R)D1"G'&B%i-piXJFT[TF9`1NMDNk0ReFh1P55 `eJZ11%H`aDqLZY&Lmi&E-F1@3Gh$6e)6AIY2[R&lM$SGHBdIiN!2T$)m,F)90F5 m854Q)0Pb(0JB(9K#RdCie+YJHC`kiIUE2j!!N8UNf-ATD(8q#[V5jQk$)H'Y"$N ,5)P1H5*PEUN+lMmf8[H,*B)CJE+T41i,#TKUT0!e"50(kM)253I13KqEbJD3!06 +f04IPl&0XkB-416NCRE#%4JQKZT-r#cVkS#"#N(R,TF8d)i5-SJG$"QD,Jc$0(8 8`D2N)+T@aGr[+TKilYc,fPKA`GP98bm!S9)NR[E"2%8U+Z6&*C,4dU6Gr'qQLY0 8mVke)5e$#CQ-`$1!c"GN"ej6mXZ'qk`KqDEli8'Ul"#5E9)K,48+T3)IY+6!-Ph !346*&-Vbf'%fP8IPPjR4**k18"JrqID&$!6`*C-+NY*T$6EjPPeP6*Q8c$9eVCK l"FGj,i5CZQSVVM@!+af5c%flYRme`65lp5db"FP*ZP`J'`VC$aR2+Q@mERCaLh4 aK9em3(jCJa!X,[C-eG925B@`9$JM&5b"UeZZXUYEF29kG[91q@8!Ib(iqNAHl9c IqH1[rim&)h8("ZMkQi`-KHY6drhL-Ph32-T-CCc2&G"YlYbe2(a$B)RH0YP%@IE "K'4QaV*Y+-VfGPqrIC+51&PM9`'Q4TZ*E$6,RQQbbFJR5G[2GQTEf5Y653U$'fb b6eX2CJ13!-dQZi"U0VP$fiIAK&BA3$Yf!$kl"J6Rf$YTBZI3`9j82(#*+j!!*CG 4eSJi`iZC`Pf(Mp1Np#V0U8[Y(#0!!@$%&j+(cM!hM*`fU-JlUi*R-J)B5El1(Yd !JD@m8['MLC@U1U(D+"b!+$YHXd5-I2ajIrd+2SkTGY,%QrI#I(kekR0R*-aI&(I #F*k%N4a&9VeKjl-VH*Jre)-LUf##*!9,CX"i5L'fIa5BGQ[j3k`i)bFFk5epp"* 9JQbRJAHT+J008H8fNM`UQ5+,dk4BlF686R+-LT8%9dBCTdT59BN*a,Sl!SUEMK# `jHrKjdJ)4bkHa'Y#2#&Xl%&XLhJDVfla-MTFiN*m1-9jH0d5&`J)-D2&`hfP-2" (fCDl8S'ICr9LKUr8RSNX0HT-iY9TE`D486LN!h(&q3VX3B3Z6Mr!b@!Ej#H"9ET 1`#!r`V*HGb"4)9-bQFd&jjrUBX'JE"V&G*e-Q5XL8NNZ12"dSH+*YYZ(+c-8C4R $%Fp4N!#m1H(ZU6@%4&N6NK-!5b0H&`c*-(XhrVL'&35[DmH%jMA3X&CcbDbG#d* Va1[5iD!CKQQLl[!dAbr#0dQ3!(p"YV#'&Dl-V'P9cm#XKXD9@iaRHmQF,B![qi4 XCh%(VP38EJpTTqJB!-4*C)immB4@Y`&1qpSa[%jVkhfi$$Zq*,Ij13C+l4'`,8+ Q3M8FV4((N!!")b%GHj38#FU!k&U)$)S$#Kb1$aR)ILXG%V9)jPBLJ*)0XEhi2lI !H,e0YBRDiBjI03*Gka`ap5pNd%hmK@@qX,J#BLLbh82A#)`H,),!"'F*XEJ"cLq fT3,*U0D`@$MiJ3a-9@drFl"Eb-*JU"BbEK3C4qNjfrX'!hNpMQ!XB,3[KcTbE&r Jf'UH9*28P)9,!S-(&J!B)@RMFR[!P#iH*4@L+Pb(N!$q50e[@aRk0GZMj'3#B`# 3!*-E!k)c*3qNVUcD`kpSG+89bM"6*&G6dM*cfUJqr,RhI2J'Z4M@rKkZ"(rSkCh +U(+FcI+1qcjdcJjbcMa%$RF`9V$Q3c2*Vb1TQ8Z"369dl-XZrE%[m,0LJfYMYX' fXG9JUmj"H1N+IMLDT8r`8lmY9$l$e#EZX-GJPDhfYr'R%GVHMm4kEfG)GU#`-[) BjrFFX%8RG9436*0&%,)3L$!0851@KU0$1R5X!8h,LXXA"@CFe@U,MNS,4V&J)j) )bb%JiKNimY'#"4LiFIN2)hADph`ADF'P#ck!P9FYC%RY)CBCh$39$"aqDBT'har SF#mP`(b&-D2Ke5jKc+dd$CK,*I)r)PCKdd50!$)H2##!FJDSdCN18G-A[3+8(+2 %X%Qc9ScYZ*d+B@h!SCC2DqS8@-U4)$RbS%cMN!"+)-$KXV+M-+R5X6&Mm$d(`P` `3%&B*b4mKT!!N!$#V&fpD*`QY$%KmiG$f[VfV'q$(&#[UTV)50fK'YrG2%r%*[j &LbUC`X'8cjh+`*60T'JI@iiNrdF$'D5XmQ@TTJFErdA$iQ-Vk%#1)6XFqa+&,mM 4M5&QK+QA%D$,&cf,Mhe"TS)Q6S"@##20$A5e1"9rMb*3'+qAb%@[(Lk#%8-KEiF EB$-pm!$'A,Kdr3J"Y%-MkABq",!5!![9D!29q1N3I$Gj,%p,46K1)jZ8'`11iD` jY$*MBBf[%)c9QRBHSkQ%#GK$&)CH+N#9arDAb%@`(P1@![RQ5YN16GK-V`D"VN- V@D0998NH6IblpMK0kmL%fCK9pFLTFLH%JY@-CS(%Qk6JeTS+[C)VbSpRBikBriD 4A#E`F)US[CiF'[*H,5aN,Z-!6h!#dB`(h'5C'8GJ(`-lBb,h#c)(1U8VL9pUq%" 'X'XY1mL66PBC(qBm90Hh5`fP4(Bq((Zdq+Pfk+K#*BS,m92'R$fd31SqE`DF+`U %!DT-LF'eE("ZC$kjlSLI1@G&jM1hRqA1*A!5LpKeM(d[@,r,@0Z&!BQ%L)k$V)- D"Y(1(R4J1!RA"J6aP'E*r+Tp!BBBlKFH+'*1+8NcbE(f'JH)j%Uq#`e@(6QPS%$ KFP59P"F*lL4b$VNDNT-+'BFB'K[46)i+3r,q9Zj,3RL*UNphjQreGh,D!-Ij2*8 pB!3L)j&2EB,6PA)h`HY9"lPel+Tb8jSVZ#Q"6C9!ZTFf`@NP9c6DPT3,%0XScYm K9b!NPbHfj`L8qceQbUfXQYV*MQjZP6Y5TH$ZJki1iH,Q#MDG4Q#Nbc-(-B3pK5B LjH4$KPlKD-`,fC+)F'"Q,hdbB$Tp#01S4ArrQS'B&0b0T%@251aAT'R2#CFeRi% lmPkqNicNJXU(V6R0R+,)l63ARcNS[)e'ZjL#-*,,f0X`3cB2!pA34,mIP"NX%(6 L3VBK!5MPPN0,i3J6F("1`T8QU54lHTAC$Tj#GMP1e345&9LZm3)%!aZq4*8!M`H Sm0dTMXI)E0%M@0[&a)S'Z!R'hB@FUKG4*LL%+f%Fj[Tc)CJ$a*-(Tm6E!,d!S#Z 8C6AFe`[hNRcQ%RI0EN`4h3+95#*k!@5QiHGa,0iABX&@XB+4U`'C&JUl%KRRHVJ p'C(`Q@Kk(16%50hqDXdiN33j9#Ak,Ki9Jkj62!9Jmd3'Ueba,0KP1RA9dEP0rNq NR*mGr)0K04T)"R+IHS0,0!i*lV9*5P+J20p4ZJ8AkmT)H"aC`)9(R-$pSjeIFFf iUaE"fA4)J`F$)I4!4TTkaN*'3d2ML@'pJe8PJ!0-9X#P'C@,9J[*dVr@898DYS6 F38'f+RN#XX,4&5#NT3S3+A-)!l12h-+TfJ-fl*h*l`ceYUjc&b[eQ8EhBjGG[[k m0EjqCj`HL0+!#N#h*JGZV,aaGCqLCPS&"PXV'+b*6S(K,+Y3iG2R*Epjr4[6RjM a[eZHMlBE*cmC+PDmhjMZp!pmVUaTAcH+!69qm[0+226KQ`prFVd5MmHi&%[(@B@ 5-lePc1'c1Cd&4e#UG$!3MNpNU&NR2rpQb98Z2JQ6qmlYEC*UR2c9k,+Uelq2PJ5 lU,0!'Djj9Rq1UhpAr`l9YTSk"r&3'ULQb(JNU%A[3&L@QVmX5Zch96AE3*)$DjX fd%!e`C5`6jG9iA)QVd5RSi,H&@lUj9R*AJ6ik[b'39f-*TK*9@8d+pKNU&3ZjKP X)J`3BUA2aC4kPm2kpq@VpP520YkBe+H0JcT,Ql!-XYfAh%m$8-jRZQrUbHeX#!e a""e48YQ)B04+"K0P#X,[8'"a8I8`&ZhqSjkj'q#&cj``((r8)+BjQKA"a)Z@%d! T`N9IN!$aJ-H$8Bl#5E5!+Y$4Bk"'m3%EFL,iU!l(QKk9HjNe*1lj9fm*VJc"V() #eirBH,fiblCNE8MFEqVI)G+M&S#SR`rT8D89#"ATjj%mDap-@'*P@5iYq`V,P!% D1"ICaiEm0LJRZpCDKi[FIhrdJ9Q,aCfME3T9NZ(LSh$#4q8e0'fS'VH@UdAZCBp Q0a+,RNMX+b%#C`Q3!,0S)&[keN@k88Pq9%hf&)1Y!T@8,dD+bDR5&LHP,RQS!)N iA4DZ"bj*`(i,9CjVX&"c5j2``af0hkYI3iqb@"&m'&Vr6hmB4-cCZSD1C(HTb+i DVlTU(0I[")[H+B"d&5,NY$@kHm6P0R%rBpj4aEa$h*AFcGZDEN[jPIr[E9NX6[X rfjLKi)hTC"[6fA4MKYki-6eXBkaA1#TkAh@)MGdDIXAbDe[65aekqkHrP2V2MAp Vr&YL8Vkf$%GfR8fiP`(m)GKkqK2p+l),Qbql%[f6c*hfG,D5a%IbG(CLGbFEZTa GGr'5[kii$bjh24F&4%QK$!*p*i04a[mCS8cN)KXbjI1cZjh6&@k1NaJV9Z#kILS JG,*lEVCa,VUV&9kcLbh&idCD$b"4HP)`S*0a3Lk!)D1!URJqQMfT9cbM(ErG)qi dR-*MTC!!m+jC)BSp[4-h)VeCIPYPbN3ZK(l*+-3U58H%"f&XfN80pa@Hcrrk'b5 dlXH,eBjhIq1*ZIm`p*hre&+hffjF@aVT&d@R(pPk&"ArL`SX$mhhp9r+(-5@$4E 4BlRiF,K%DNa1N!$`dY-pm2NA5)5IQ"IX8ZrJ3f"Ufb1rBc992'*UicXD%kMY*(h m8Ip6I"VBCmP2qM3CK+)D9#9T"f[D*R&aQ0STN!!DbCXXX2`k$a8G2)Pq((mf*6H 6qVljh2V$AQkDiBVdalJ0CLPHTr1EA$[%6VmMXR0arU&Tl+%DpfH[1KBe#89+TXK )D)q4NC!!YUE(*KHX[kXi09EPDV5)FhYBf#`NP6[a'!Lrm,RU506[Fk&jKfY53PV @9k,K5RX6GP-9ZfPll&89cYmA'#RlU2S%,S,M2a*Fe4M9ijLD0QQ6me(T$Jri#mi m[cbcrFccm1+UM"0$aQQKM%,KQ4dL5`VQMZVleYhQ(UTbM+lp,![p&3Zfq@'Q')q dmD+VR"rGA@eC2kYYeLpMI14GHMJ!&YmBeIHi2(Mi#+m-$*d9KQB&KU#QNI#q6%S `QP-2#VVrJ4m@#`mZN!!BLjXQ'9Kd)cpV#6,h9$F$MAAG4ee[)"*8BEq+Q$+52dL ,NpfScS2PZpMb(rbdbf1"6iHPdHmT)8@UTlHZpbUA[lJQ2AVXrZbAlNC0E2J)QI5 &6&4c,kUk(K!H##"Abh2N#M%LkX8#SEUl`Klq"A6B)hp*kX&J9J`"9RI*)%mE"GA &('1CX"G)rVdRCU8UUV-+VAh#eU0bPT'bprm%SP2P#50c54MiI#9Pf[eTUZ`LLEF ETb2a+4%$&D@4h5Y23%'-GYR%LZTjAEh9#j%JUG8V0pJfCPF[-LbZIUpY6r8R9B) rJYj8A@"T!`(PJf',c%(915"6*i3RBI$+&J3+CY$aerlhVZ0i"*!!6Gb,kSeiT@2 HMdCHp8k-[!S!!!*#!*!$#J#3!h)!N!4#H!T+RFj1ZJ!d6VS!*%*R5(N!!2rr5'm !"%KA5(J!!5)krpC1Y4!!)'d!E%k3!+Rd)MVrbQF%6V83!%je@Bm[2&T&8Np#CkQ J*&GCMbmm4%&838*RUD!J9b"3)RJ*##45B!ibf'B+-KTJ!N)C8FRrr,[*CZkTSkQ M@Bm[2%4548a#CkQJ)&HJ*5"3iN!N$@!'-KM9Y4!!8FMrq+QM6R8JAc)B0"L`@&I *rrT+3QIq6[!Jr#"I-KJd',#B9mRrqNT#Crj1m#$k)&mb'$3BX%*Z#T!!3@d'd%" "m!!#-""RrNl`!!!J,`!%,d%!"#)[!!J[A`!%51Fm!#3!*J&)3X6$+!!U!8K&b-A 84%K#N!2!`G##60m!2#)I6R8J,`!%,d%!"#)[!!J[A`!%51Fa!%kk!*a-h`#-)Kp 1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!I#!"60m!M#)I6R8J,`!%,d%!"#)[!!J [A`!%51Fa!%kk!#a-h`#-)Kp1G5![!!3[33!%)Lm!##pI!!4)jc%!6VS!$#!"60m !M#)I6R9+J'SF5S&U$%5!4)&1ZJ!J4)&1G85!6VS!&N5!4)&1G8U"DJT%J8kk!!C %J%je,M`!!2rrXS"M"L)!F!"1GE#(BJb!`8K!-J"#3%K!6R@bKf)D,J"#3%K!J-& )3%K(2J")4il"-!G)4c)(6R8N!#B"iSMLLE+(B[L!`F#(-J2#`#i$5%I1`%K(dSG P#*+#BJ4%J8je8d"Jj%je!*!$A!#3!i!!!!aB!*!$B!#3!b!!!$mm!!1Tm%&%3e) $!!"B$9-$R1S'YiZ&ElRP&ZjU#kJ&,-#Y&VE`,r!YGe&Vp9i!!4lq2r+65hNQLaM %"%SP-R')#kJ$EAISXa!"!*!$#PM!!!`!N!--!*!&I!!"!*!&D3"M!(d!R`3#6dX !N!Fp!'!!miKF9'KPFQ8JDA-JEQpd)'9ZEh9RD#"bEfpY)'pZ)0*H-0-JG'mJBfp ZG'PZG@8J9@j6G(9QCQPZCbiJ)%&Z)'&NC'PdD@pZB@`JAM%JBRPdCA-JBA*P)'j PC@4PC#i!N!05!!%!N!9Y!'B!J3#L"!*25`#3"33!5!"R!31)-P0[FR*j,#"LGA3 JB5"NDA0V)(*PE'&dC@3JCA*bEh)J+&i`+5"SBA-JEf0MGA*bC@3Z!*!$6!!#!*! &-3"R!%8!V33%8A9TG!#3"3S!8!!F!4#)'P9Z8h4eCQCTEQFJGf&c)(0eBf0PFh0 QG@`K!*!&#!!1!#J!,U!#!!%!N!0q!!%!N!96!(-!C`#["!*25`#3"33!53"&!5k )A8&Z)'PdC@dJGf&c)'0[EA"bCA0cC@3JGfPdD#"K)'ePG'K[C#"dD'&d)(4SDA- JGQ9bFfP[EL"[CL"dD'8JFf9XCLePH(4bB@0dEh)JC'pPFb"ZEh3JD'&ZC'aP,J# 3"&S!!3#3"9d!F!"a!+`%!Np,!*!(5J"9!41)1P0[FR*j,L!J5@jcG'&XE'&dD@p Z)'0KEL"[EQaj)'*P)("PFQC[FQePC#"[EL")4P-JGQpXG@ePFbi!N!0Z!!%!N!9 S!(S!I!#f"!*25`#3"dJ!AJ%PL%j6EfeP)'PdC@ec)(GPFQ8JFfYTF("PC#"LC@0 KGA0P)(4SCANJBA*P)'j[G#"cGA"`Eh*dC@3JBRNJG'KTFb"cC@aQ,@9iG(*KBh4 [FLi!N!0D!!%!N!9G!(!!F3#X"!*25`#3"dS!93%6L$T8D'8JCQPXC5$5AM$6)'e KH5"LC5"NB@eKCf9N,L!J8'aPBA0P)(9cC5"TG#"hDA4S)'0KGA4TEfiZ!*!$+!! "!*!&c!#1!1!!dJ3)3fpZG'PZG@8!N!8%!!3!``&L`!)$k!#3!``!+!!S!,B"(!3 "998!N!--!#!!#!#L!4`!JP99!*!$$!"L!*)!m!'B!)9993#3!``!+!!S!(8"2!# (998!N!--!%B!TJ#k!GB!KP99!*!$$!!J!!J!SJ%F!)"993#3!``!+!!S!+i"6J# e998!N!-2!!)%)'pQ)!FJDA4PEA-Z!*!$-33!J!#3!`-d,M!Q0#i`,#!!U5!a16N `,6Nf,#""E'&NC'PZ)&0jFh4PEA-X)%PZBbi!N!-D"!#!!*!$!c3Z-!p6G(9QCNP d)&0&35!d,M!!N!--#e9Z8h4eCQBJBA-k!*!$#!FJCQpXC'9b!!!%-d&%3e)$!!C h$9803b)5%HCHEK"N,4P%D[*%*!X3@DZQ*LHh2BZ-i(ERb%Qh-e2bQAph[qrELM` EhmbhY8#5eFlXbH4*f,ilNa'5j9ENLDc)laq42j1IbEcCeRB454B6XMFYb5)S31) (rdjCKT&84$LS#cYiiLGf)5c5J1e3aD%@GK*H(mq1D3bR6lpC+R)6)mRY[@4[%r6 @hmf'R%[)+8FIZEr5&V,ejRAjaL3*5bPTf0kN&a@6NPGC,a$mi-RK`KFHI%V$*QM 4BN6+hFfqTX2b,*5j55k)jb(*(2h&i)XDJqim&Fee*9$cG*JIMZ6*i#SGjViNe#X q)@+3!*h[`af,NK")heX@$ED[(5XhPA-`LA1fRcbNbSE0RBqrZ,m'l)YVm[NQUD! A@)"Ck2@aqNDT+'b%UlJKdF4%D4j'8D8QKLJRXm5(8JQR40@4X8N6+L,JmB-'82K L!,85ECR3J#8d%@TbLdfC`eLTT"qR$+aeU)[Di0J#T6DMFe4B`aLflrdNJ-)Z!m3 jBTLiESAmcl%RFHbLl9fAJNh,JDRU`pD$+ZFdM(GdeX@!G"Z$#pDfYBXaSNc2)HB bh"2bA1lEQ20L2d(0f,[Q&#I)A'ZQ2(KBb@@qIDUNT-rSkShVZbh3b(2j4EE#Hi" %aD`5%YXK48JPi!JpjfESS#*')G-lpU&Zma9#N6ZP%AF+hP-PhjBJ16hDlDNc*qD mR%1jlK@TB-cEfPh+FK[jplG1#3aZ,GrmP`rLNbG@J3Mpl)N"@`NmD#E1Ye,'NV, SJ&0-'N"4lGDH(L15jV)kGQArf*KLjXEBBNT+ilSFVqIQ2L6S6,2!-qdr5A,SM5r Z8%e+qrrFIEa)TAK+(ePf3"KU9mH96KeiJM&J8-CCH2(UplHlTpQ8&pIV!mfS&!e YS22Y"H59K,,GX(5'$iDUN!!D1!1%4[Dm+R'd+EK+q$Ll6eBP[SHY1Jm&+*f0f9@ c1LPl$U`!LB0EA#,N"l-#h9`&eEjM4RfXIVf`GZf$Y!rlJeGII3NEUUX[JA!5-Xp ,Z*!!K9k#PFalib#6LH[)jR!53fYB8Y@+#cA4e!fZkRA5eL(bC5reTB0Nq+`1N!# ULm1*SfpKL@KA(V8&MK(J'6fDpK)ZJ-$X$'lTUd'pQXb1L-Hl60lqhlJ2YkIbbBf VNkBAI5lbXT26-1CCQI@i%dADZX@J'V("P$45$f-VG@mlh@!+D@pipZKGMr,CUC9 ZcXXMqF'dI'XXGU%XA8IkajQ+#fPh$2Aj@FVRjqVrINKT#[0r9hl1a'Bar[EhjGL F9@FZ6fPZ&[UQ90aX9RVbi))fT0[hNY60m9Pip++5qIc2PqqBK`c8pE9GaLXRlhF Hm(""&mY9YB2CTqfiUkZ$G385RX(1bd[ERX3qk'4JZaVPpDGj!R%'T["3[!PH+Gc $PhJ`"hHqIVA3@F0Eeq31!!!",d&%3e)$!!&Z$98,Sa,3(`,[MX0G"i1VS')4Q(4 +"CeP@S'Clmb(SM82Ip(I(*K(D4A2I'$q&[0K9K8c&"2&r$@V5EkTU*K9439&phS P6c(*!"1aC5A+J0LHE33'eM"R5Q-Af($455FbMP!J*%5L5"VfFJe#ABTbVcRA4B@ a96dp+RHhD`rFF&F@))QYk$RCaCMM3iY@r'%I9"NNRi3H&+6Nb+Ekq,R[CKIQhmV FF$J`VdQ5m'YemhE`p&D5E6j5(VmrPl$l$k3rXTPHl)!0@&jc$0ZABIP&mp&"JI! #DaENdTMml81I`#icTcGeq@6Upd1K&[m+1ImYiqD1UMI2ikh!"rA+h@GFD3IbmLC @e9$jp9!k6JUl9a2!KP1+'B$U)Bc230$[U!%J"*%91SCK"!!!#4G"4%05!`!1K3j G#k55),ibhjhrq-jHjTcIRm3X@FlH1F3CSh%X80,b[R0QLXqEJ*aX40@UcFUD#%5 Rl(e8JllrGqBa*dc)b``NKG+`*T5N3Y"1UPMIThV[djD9N!!b0-6@8G9SS`-*3XV @EJZ,ppfG(@H&VG9l$HjZ05)#-d3M(d0&9JkT3rK[IJhrMG+c8Cl(B+4U`aFMihF 0N!#jkkJ(bAf)aK,IG)P[ca,IG-NC,*)9Q2S@4ApLIjK&+S'Id[Z4`Ve!C&F!hk3 3*VJjb0NB50)-%!X)p`RCp6"I8pTh4UI[+E8`dFID4ZkGr@lA$AQDlbldTY[ZH@, hr!+XiD9#H+cpQa8c%jVX(JTT(9@GRD&+8bJflXSeSl4`5cY$Y5BUZhI&Y(p9rDd Y9MhmA'a'S26RfD0D,'"MJPS)PR+'Y$*IGS48-42MQe(`[2"&@fPYS(Z$2,ZVS#h MPle6m-bhq8GG`NZPN!#-)R+V%99PNPlh36fhm*9bM*6G5(DLl6*[`RRN%1kYe0a pJX"08h9pBpI"UeK@ZP%fDY[@f0f"j$FB'16,"hmb'lqqr(ZIF,[qqr(8P4F2LPm U8Y6lJ@,C*HD'0C[m5%SlDaYhr0f9c5@RlpTrl%Ba0h%pIrF&([T)hhCPQkhZV!V "p*ICGPYr00)ATYFTIIZZ+Zh!F'lqJ+RpekRmf5JSrZ#`Jfc9YhilkVTHh9L([6A GJPqp[j5#5'i#SGl@1!l!f0$([Z4B9)JpbTMr8K%pV8&b'lM9+a*8%hV&U'bb498 Z@DQS*MRZ&3U9S9IX$jNN*bhPP@UI8TA)Arc+eR608jlGh#RG(Y%mCIVZHjY0eR5 &1qC1dXc90emD5,Ej@(eFD1XV&rqi5CRVdF[i&43@eN[fU#"2lpYa(VlC*ZUUNZp 0XGNQB,2*LUI#aR9CrBK0&Sp+b8*6C1J9E63Tqf"5i25flDL4ELQ!0#R1JdB29[1 P&-F&`EQV34i-5ZXME9iP2CJ#Sq!JM5UKU,HpAUd@9Ujj,Ce3erhrA2Y0)fVEk2m '%q('2UUC%2HLD&+GqD$mXUXk4$HdCk9'VaEk0mH(e6-fT4pmjRa9e3I09fm)JH' ,*UjGkCYBVDUp[eRI+)5dJF4`UL@ija2YP0UeSHUUm2!Y1A!N#i,p%r+mraE)KC! !h)mYI"M-*-j`h-92m%VhR)6A)GbRK)!S@)q!m3bE39ZF$L3#NlajP54K$2XaQX4 Q&+bEm4`j1AMiN!!D$8bLH48j)NdQ4ZlPFU1$$j(RK3$Nj8cC#bja3Z9@VceajE1 aV$3CP1@85*e1e)0Q)jGcLA5!ibD49*QcdSUIb6+I1lrc$,UNCTa,i@!(l&NX8Z! UXl)Fc@N10p%$TmlaarF12*%VqVQP+IbmGAC[Z(*i4%i0ElMdXHT++-Ze+['9N53 H0#4Y9,3%Ib#8d),3L422HK!GJGBFY,LYf`X9ljIeI"9HZ54kVCUF308$Ta+%AGi 0FXiSpX5"dhYD$!,RQ3U0(P3fjfdBeq`NrZ'e,erl6RVGI#'mVR"`phbT-2,3[') Sd$cb3&!%V`adK&KR!aa2Y%%,Z,h0rNH#iVJi,$5IJe1*KV4GN8AeTLJdhii*%jh +4+0lL-6G`Gb!1(p'+l"R#Xqlj[FAI)G0QQ+9i'Uh+QCdXfkhYb)Q$Qa("&X5L'& #mPXXm@0)Ucd%5eJUcINKX48pJ6d%PbS*K&[ci9Z%V*(I3hJPL`MrdJSI3`D53`` T(FqmS[EkqkCA(rKLZIm!-KZ&[1GiTPFGl*ZpSH[blmr0kANl3fU1pr3DII1R0R@ Yr)*!qJH3!1C*GFpaYEH[Hmh&ZN*A@%M6!%pD0diEiCSl$VHQjr`k#`[26@IZ9DI $daI6KAA2pN(q9D3Y+FMIp2MMdq%6Qblq,Td1hibPQPH&k,ZJH0C&,1fSJfdU0CD 1i33[B404!YdjT'r8eK+UMqe@Db3GV(dcl%e2@"m1dpJq%Rh(6	H,q%2[!CM`9 RLm[r%li9iPZYi6IUKXJLDiC`*LQ1j@0C1-R3A,AUd"L@,!$X'#)f9Q`GU4qjDTI lE$mqA(M5%LlfVkUm(4R$6f-Y*2qH0D6p36il*,[YSYC3Ef@,rIqX9*l!Ebf0'B$ Bc0CR("AbR`1@-IY,[Y#8e9pF9R&@mL*83(aXZ8)Z"La%VB`"J[[p584Bj!eI5+Z 3!-m'FQle8ke"Xl)9E+f!P-EiV3U5Rr1e(UmFZASXGdNpP#jSPS%Mep04%N&XLQ8 J!kB+PhfShJLZT1Hk&EZ'!AIMZcc23,,Q+,p414k9S,B6,'a82bfhAaYETNrA%56 ja02ZG*T5j4lME!"-qUA2Y$MMJiY4T!6X@Z)k)D`B8d'!AjJ-cVeXTE3(16-(E(P b4Q#Tj'@9#%5hl5$Glld`DH2L9KVmeH*EFa9hpIDl1`$QYF(BlY&bTX2dqBA$reL md2TDRl(Y0,(GBIAPhAX"rrC*9qj6Dcd$H#M1@jc&$Y'NGA48bXlAXh*S@kH!Zkf bli`-Z2M"q(b&pHX4I'G4%de6YE9A(RA@qh)a&f[!UpMFMmNq0q"eB[piVX)kEUc G1DPY3V0$`62A6#EC@@pc!%i&h!kia8UMBYEe3)A945F$!Zi8m+KTci21HV%pT#r Hl4bkG*dEl!9mF@EmL(@Qr)X@N!!HQJGM-lYP`%2C`r@*QVC6V('0%["TN!#F,[k 0%(eX#hU3!0aHNqRj@JSe6JF*I04KqTHADUE2Tc,B-J[*j9f1hMkq&-B!U*!!KfX `AB-8B"Ah@IS[4f&li'IQ$1CAe9if%aiqGN!&Q%S4&CiQhDIf@FS1cNUjaA2YaBp QiQbY3i'CP4mCLmX+L8rILUK3`8dZHmjaV0YkRM[jP2ccRlVip*4Me-qAPMjP-@A ,$9P,I85&#Ulqe@iaGfcqU-aPXh*qlF1-@ZZSlH5C1mA0TJqUQTkf2j&8)5`qd`4 i3-FVSVN)cQ3YT[jL52V`9&+&J$mj!EMGASjQX`p@2&,*6%A`c5D4[Tl00DT3H*A kL5leI''P)l9im[YlhCrhTp2DG*J[E4#Y4L*[6e`je+K#q,'4%64@!PYK&Z!k%mV 9AKd1kGd&SBA5Q+kqLIFl@5H@2&IJeq44!*!$'!!d!!!"(!&S!!%"!!%!N!8$k!# 3!j3!N!-)!#!J!3!#!*!&('&eFh3!N!-"4P*&4J#3"B"*3diM!*!&J!#3!`G"8&" -!*!&!3!!!3#3!`+!!!!%3!!!#5!!!"13!!!!*mJ!!%%%!!#"!J!"!!%!!JI!J!3 2i%!)''!J%"[m%#3DP!K-'[3NRc)%-N`ek2NN05Jb%$Ii*!J`i!J%(q!3!J$!)!% $m%!!J!#!!%#"!!!JJJ!!%q3!!!R)!!!%N!!!!!)J!!!"3!#3!i!!!!%!N!-$J!! !"m!!!!rJ!!!Im!!!2rJ!!(rm!!$rrJ!"rrm!!rrrJ!Irrm!2rrrJ(rrrm$rrrrK rrrrmrj!$rRrrN!-rrrrq(rrrr!rrrrJ(rrr`!rrri!(rrm!!rrq!!(rr!!!rrJ! !(r`!!!ri!!!(m!!!!q!!!!(!!*!$J!#3"#!IU5!a16N`,6Nf)%&XB@4ND@iJ8hP cG'9YFb`J5@jM,J!!&8J!N!-"GJ"1F8U$CKT"l3!J-,`!#$&m2c`!!M&m!!%!"$& mUI!!"Lm$,c`!!"5Q3IVrd0$m!+)[#%+RB3!#*Ylm!""R%NU$C`4`!8je6Ud!)Q% !!pDTp%ja5S0Q!URdF!"1G@"b38a"4%4$69!!!`#30&"b3@e)jf$`G$+I`Lp)!#! J6b*8-@N!&!!B)8!!*$&m!!%!,0+4)8%!,U!#hm*-h`m'6R9+1!THC``J+J!)C`` J3#!3C`B[1[q%6R9)jam'3IVrRR!-)LS!"-+i!aTKT'B!!4*)H[q16VS%i&K2X(V r@QB!!1bK'Li)##S!"J!%C`BJH!+QS"XX+J!%+LS!#"JU!!5Ae*A8)$Vr9U%HCJ! !c#a))$Vr5L)'`VJ$'PK"B3$r8L!krd,!Z!-D3IVr2L#!5S9Q"+%LB!3J4D!RCJ! !Q#T),cVr!Lmkr[S[1[lb,cVr!Lmkr[T)H[m5,a!J1[m!8B""q[lf))!J$P#!3IV qk##!5(S!HQ%!#L6Hr!!J5N"R!URr)%kJ(b"(S"Yb!")%j`RM'H34!!%!)!)"!1! J6D"T!J!!(i!")%fJDYA8ep4"q[kB5T!!C`K`!D'BF!1KQ#"0*8J!#(!!60pJq%j e60pJq'!!rZ!J6U!IeG6Ae#"(S"X`1!)J-F!+B*()B1"19J!!51F!1#KZ!!a(q[j D4IVq@L!8X**Y"#!5+)"+J'm5)&-LEJ!)SLiJ&0'6NC*`!'!%-$crf8cI(!"1ANj e6PEreNMR%aJX,J!35IVpmN)(S4SY52rQ5Li!#fF')(J#TU!E,c`!!+$m6VS#RLe !rqTB6fF!!Ai[,[rU6VS"q%S!@%pR"R!"B!!"FNKZrrK)E[rd5'lrlNkk!j)J,[r dS4iY52r`6qm!$'F!!8JJ,[riS4iY52rmC`!"1LmZrrJ[#%kk!qC+VJ!88%pQ!!# 8@Bm[2%024%9`!$m!U"mQAb!,ChiJ%h)Bd)%[!%kk!Y`-3!!$@%pQDL!0FLM3J5e !rpSJ%h3Bd))Y32rH,`"1ZJ,`5-!Y32rL)%ZJ+5!Zrpj3J#P!!#KCMbm,6VS3d#! IFL#3!)%T3!!X,blrr#mZrr3[,[r`,`B[,J!-5'lriLmZrpT)H[kX6VS)9Lm,UD0 2l`!N+@lrkJ!-+@lrm!!3+@lrp!!8+@lrr!!B,c`!!+'B6VS"L#e!rpB[2!!!U*p 1ZJ&k)LlreV#"9X0%!dL$5--T3`!F+8B!)#PZ!!`!*%Kkr*!!2cbJr#mm!!#Jr%k k!54BMam!6VS3@#mm!!#KQ%kk!6T+J%r[!!aR"%kk%&B`1!&Di%!-3!!'CJK"qJ! D)FJ$2(i")'lrjU!E%!G-lKM)rm*1ANje6PB!!%MR!4K#"bmm!!#Jr%kk!2)S3#! -@%pR5#m-6VS!8%S!@%pR2#C-,bX!$$mmS2`[2!!!S2a1ZJ#L@)mI!%kk$pBJD`! 3S"mJD`!BS"m`1!&Di%!-3!!'CJC`!#(!!caq!4!(61iBJ2rd6Pj1G8j@!!")ja! )+'i!#(B!$+a"6%&%!!*Q&!bX4%008!!'CJT`!l"X!!TQ!RB"%!0-lK!)rrK1ANj e6PB!!&Q22cbSER!"(`"1ZJp-@Bmr2+TZF!%I!%kk$ciJ(l#ICJB`2!)!B!3`2!3 !6Pj1G8j@!!![!c!m#!$!EJ!+FJ!b!%U"8X0%!fF%F!&J!R!!*Llrr%jH6R919J! !51FI!$iZ!!T)abm(6VVraKS!F!!3"3a!!!&B6fB3!NF(rdkkrhb`4fi%F!"J+PQ 22cbSRh!"(`"1ZJl#+"pCMcm((`91ZJkf,"qiKPI$4!0R"(!!B!)J"NcZ!2Mrl%j H6R919J!!51F4#$iZ!!iJEJ!)+&"f!(!!-"3-J!!!384Q,R!!-#`!!Jb!!!"$8QB J$%IrrfFB)#`!"%*!5%$J5#)m!*!$rm+!5-HqJ@B#GJ%3!dcZ%)Mrp%jH6R919J! !F2m[!%KZ!!K1Z[qB5J"36fFD)'i!##!S!!4#3%K!i%JL2!#3!rr#J$!"B!*`rdj H6R919J!!F2m[!%KZ!!K1Z[pL5J"36fF3)'i!##!m!2q3!m#S!!4J!R$r6Pj1G8j @!!")j`!B*Qi!%#KZ!!`JEJ!)-,`$!A!!+)!'P!!!!53'P!!!!NJ'P!#3!b!'P!# 3!i!'P!#3!i!'P!!!"*!!"T3!!!%N"T3!!!53!!D8!*!$I!D8!!#!!#D!"T-!N!- N"T-!N!-J"T-!N!0)"T-!N!-qF!"-lKJ!rrK1ANje6PErp%MR%aJQEJ!),8[rp!D Z!*!$*2rd+'lrp!DZ!*!$)2rd,@lrp2ri"Ui!N!0)rr3YE[rdrr`'VJ#3!clrp#! Zrr53!+i!#,#Z!!aM"R"PB!!!X%*(3NCJ4R!!-!F-3!!%9F0%!fF%F!"J$(!!-!G CJ()%6VS0)R)!-JFAJ"J!F!!`"b"ZrrM3J$''#!"`!$!(%$-)!()"iDRF36!(8NG `!$!($%!!*'@`3NGm!@"'F!!`"`a!!!&9`d3$C`4`!'!-F!!`"e1!FJ*1ZJc-FJ! b"aQ!'!"`!$!()'lrr0#!-BB)!(!!-!F30!J!FJ(KUGa"-!G54h!!-!F-3!!ICE" `!%cZ'-Mri%jH6R919[rm51F2'#CZ!!`SEJ!83NCJ$R!!-!E3J%*d#!!`"P*'F!! `"R)!-Li!%Y+"XS"ZiN*'H!*J!!#D3N9#4h!!-!BJEJ!)jB!YF!J!rraJE(!"`+l rr0j!F!!`"A)!-JCd!"3c'!"63NM#Y)"[+(!!-!I3J()!-M3)!%U"CJa`!$!(d)! jK!J!9%4`!$!(d)!q0!J!B"K`!$!'FJ!b,J!5dS(5J(!!-!I3J$Q"#!!`"9*&)#l rr1+),8$rr(!!-!9b!$)'G!!8-aJ!Y%"LJM!'8NDmEJ!5C3$rBNcZ'2$rj%jH6R9 19J!!51F2'$iZ!!iQEJ!3+'i!#$JZ!"Bk"qC0F!!`"h`(c%"q!(!!-!830!J!l#K b!")!F!(!!A)!%J$HJ5!(d)"b!$)c#!!Z!9*'F!!`"R))XS"Q"N*'-!954A!!-!6 3J,#(BX"`!$!%d)!L"j+!%!&-lKM`rqK1ANje6PB!!%MR$`Ji,J!52Li!$LKZ!!J m"qC1F!!`"hS(bN"`!$!'IJ!H0!J!F!!`"A)!-J65J1D*CbT6J@F@8i&Q)R!!-!C 8J()!%M3)!%K"3N'1JA!!-!C5J()!%M3)!1'*MS&`!$!&i+p`)*!!"(,ri+R#Kc! "61i3m2rX6Pj1G8j@rqT)j`mB*Qi!##KZ!"!'VJ!!!53!&!DZ!!!#5!!8,@i!&2r d"Ui!N!-J!"3YEJ!8rrJ'VJ#3!i!!&#eZ!"6rr"!6jJKb!")!F!I!!A)!%J"536e "rqS3%q))FJ!5!(!$`!&b!")!1!&84(!"kDJp32rbF!!3%h*!`J"`!"!"28$rm(! "kDK6J$e!rqj`!"!6FJ(#!'F+F!!`,[rZ8i"J!R$r28$rl(S)5Qlrm'G@,bi!&#m Zrr4`!$!Zrr)[!#!,8S![!%kkrcKb!$)!ji(D35mZ!"3[,[riF!!`,[rb,`![,[r d6VS)I#mZrra`!$!Zrr)[!#mZrr3[,[ri6VVp)Nr[!$"#4f!!!2C+E[r`Cc*`!$! Zrr)[!#mZrra`!$!&,`![#dkkrGjm!"`!F!!`"L"Zrr4b!")`#!$D38r[!""J'R! !-!3[!(!!-!8[!#m,6VVq,M`!fN42l`!-['lrl'B3-!G54h)!-J"#0"J!B!!!MVa ZrqjQG%TZrr"R-R!!-#lrmLm!,blrr(!!-!8[!#m,6VVpF(`!(!"`!$!')'lrp() !%M!)!0T"6qm!%'!DF!!`"#m!F!!`"5m!,`Y1Z[h!2!$D4%r[!!a@4Q!8F!!`"e1 !FJ!b"aQd#!!B!$!(8NF`"P0'5N"Qj'!5%!E3,[rV-JG54h3!0!%CJ#J![Qi!$Q8 !r`C`!$!&AS$QL%cZ'2$rdNjH6R919[q'51F2'#eZ!#6rj!DZ!*!$*!!N,@i!*2r d"Ui!N!-J!#3YEJ!NrqJ'VJ#3!dJ!*#eZ!#6rq#CZ!"c@r!%Ne[`#50Em!#$@r!# !e[`!J#e,rpM@r!53!#e,rpc@r!%N,8[ri0Em"*!!,8[rm0Em!(`Y5rr)er`!!)! !)!Z3!+i!(,#Z!#"M"R"PB!!&8RS!3NFJ,[r)d,`!!)!!,8$rc#KZrmJYI!!!J!$ rr%KZrr`[,[r))'i!#%k3!%UZrra36fB'F'GJ!!8B)!a5J,#ZrmaMC#e-rlSYE[r -rliJ$&+!N!#ZrliY32qf)#lrZT!!V[r),8$rXL!Zrlk3!+lrZLe!rkjR$#"-)Ql rb#!ZrkkL,LKZrklCl[r)5'lrXLmZrmJJEJ!)6T!!)#lrXV#ZrlC36f3'F'GJ!!5 U(9crah!!%#lradM!d)"63$e!rqa`!$!Zrqc3J$e!rqiJEJ!3)"$3VJ!-,8$re#m Z!"`[,[rF5(J"*#m-6VVmG()!-J"+JGR",bi!(#mZrpK)H!%N,blrh%kk"E`[,[r J5(J"*#mZrp`[,[rB6VVkCLmZ!"`[,[rFF!!`,[rX,`![$%kkr#jb!$)!5S(C`5m Z!"`[,[rBF!!`,[rX,`![,[rF6VS&FLmZrr"`!$!Zrq`[!#mZrp`[,[rB6VVk'(S !3NFYEJ!-rp"2l`"JB!!$X%*'B!!!Q(!!-!G+J'Cd)!a5J,#ZrmaMC#e-rkBYE[r -rkSJ$&+!N!#ZrkSY32qL)#lrTT!!V[r),8$rRL!ZrkU3!+lrTLe!rjTR$#"-)Ql rb#!ZrjUL,LKZrjVCl[r)5'lrRLmZrmJJEJ!)6T!!)#lrRV#Zrk*36f3'F'GJ!!0 HHJ!D((i)F!(!KGa!F!!`"L"Zrq$3J$``#!$LM6!(8dG`!$!'$%!#5'8!rf!%4J* )F!!`"Ja!!3"N%#!Zrp"5V[r3)%!3KQ!!!ZS%4J%!F!!`"L"ZrqM3J$J`#!"`!$! ')'lrj()!%M!)!$e"rm*`!$!Zrm*+J'-!!+*JH#!-8S#`V[r-Bf3Y62qQ,@lrc2q U)!a5J*!!V[qU,8$rSL!ZrkD3!+lrb#e!rjiJ,[qUN!#ZrkBY32qDC``J6#*ZrmJ J,[qDSLiSE[qDfHlrb%KZrji[,[r))'i!#%k3!#!Zrjk`V[qL8%pN"R"RB!!#G(! !%"c[U)U!8%G`!$!($%!!''-!rhj`)*!!,[r$F[rJUF+&f%&`!$!Zrm,JVCjZrm* #4Q!!!*K`!$!(5S"QG#!-8S#`V[r-Bf3Y62q5,@lrc2q@)!a5J*!!V[q@,8$rML! Zrj+3!+lrb#e!riSJ,[q@N!#Zrj)Y32q'C``J6#*ZrmJJ,[q'SLiSE[q'fHlrb%K ZriS[,[r))'i!#%k3!#!ZriU`V[q18%pN"R"RB!!"b(S!'Kaq#(!"`)AF3(!!-!B JE[r`d)!m-!J!iSd`"e0(['lrlQ8!rf5FE[rZF!!`"L"ZrrM3J$e`#!$ra(!!-!B JE[rdFJ!5-!J!28(r`R!!-#lr`NU!B`!!T'"i)!a5J,#ZrmaMC#e-rkBYE[r-rkS J$&+!N!#ZrkSY32qL)#lrTT!!V[r),8$rRL!ZrkU3!+lrTLe!rjTR$#"-)Qlrb#! ZrjUL,LKZrjVCl[r)5'lrRLmZrmJJEJ!)6T!!)#lrRV#Zrk*36f3'F'GJ!!$qF!! 3(1qSLS"34h!!-!F-3!!BB`$rIR!JN!!Zrm0brq#T`SA6E[r%F!!`,[r#i+fHE[r #F!!`,[r%5S!QE[r3Pm#hlJ!-C6BJE[r38Ulrd"#E)'lrd&+Zrp!3Qb!Zrp"5V[r 3)%!3Qf!+)'lrd&+Zrp!3Qc!%8d4+3'EZB&C@4#!Z!"M3VJ!8FJ!b,[r%*#lrd*5 Z!!b5JLC!Pm&J$L"Zrp"5V[r3%*X`"&0%5N4R$#!Z!"M3VJ!8X)YLiLCZ!!aJ#L" Zrp"5V[r3%*X`"&0%5N"QlL!Zrp#`V[r8C3$m5#!Zrp#`V[r8C`4`Cf!3)#lrd*! !VJ!-)'i!%##!F!"-lKM`rfj1ANje6PB!!%MR$aJQEJ!81#i!#LKZ!""J!!%`2!3 q,J!18NDmEJ!1C"*`!$!'FJ!b""!d#!#`0"J!CHC64lK(C"*`!$!(FJ!b""!d#!# `0"J!BZLq4Q0)F!!`"RS!'M3)!(!!-!Gb!$)''E3)!"J!F!!`"aQ&#!"`!$!'d)! k-`J!F!!`"p#!FJ!b"Y+"0l-)!"J!F!!`"p#!0i8)!'##Z%GQ"P*%B!!!SR!!-!4 k!"Sd#!"`!$!(FJ!b""Qd#!!B!(!!-!FCK3J!F!!`"0#!1M-)!(!!-!I3J()!-J6 5J6Hc#!!B!(!!-!I3J$H&#!"`!$!(FJ!b"*!!JA)!-Li!$R3!0!G5JT+#XS"M(Lm ,,`a`!$!(,`"`!$!%,`"1Z[lQ1!G54%r[!""J)#m,,`a`!$!Z!!i[!(!!-!G5J#m !6VVqa$e(!!j2l`!3F!!`,J!1FJ!b"*!!JA)"XS"Y!2l!61iBm2rS6Pj1G8j@rra )j`mB+'i!&!DZ!!!"*!!8*Qi!&%*'B#"`!$!')'i!#()!-JBCX!J!'!"`!$!'d)! hKJJ!-!C54VaZ!!jPfLm,,`a`!$!Z!!i[!(!!,`"1Z[j)3NC2l`!3B!3`"P*'['i !$Q31F!!`"R)!%M3)!%U"CqK`!#e!rraJGR!!-!C+J'-NF!!`"R)!%M3)!(!!-!C 6J(3!&$3)!**#5-%J,[rmikJY32rmF!!`"RJ!'$3)!#SZrraq!'!1)!IML()"`S@ #J#i"iSd`"&0%5N"QkR!!-!E3J()!-M-)!#"Z!"$PJ5'('!!`"P*')#lrr&+Zrrb mEJ!1CB4-lKM`rq41ANje)PmJAk!P,S"U!N+A6Y%LAa)I-"p+!@F%TdCJ!U0',SK 1d5*I%Km`(b"I5J&R"+C(B!+L4dl4)Pp`!D'B6Y%L,`!%)#m!#%(k!!SbI!!#6[# 5rQ!'6%%)!8je6VS!*#!"6R8L,`!%)#m!#%(k!!SbI!!#6[#5rQ!)6%%)!F0!6R9 +J'X85S&V"Nkk!%C1G85"6VS!2N5"6R9%J%U"D`T1ZJ!`4)"%J8je4)&1ZJ!N4)" 1G5)[!!3J,`!)3IS!#M*m!!*1m*,qB!K-33!"`d"1G6m"5%&+3@BF)J"#38K"C`U #edK"5%!`!8K!J0mb!%*!5%"1G8K"2S)[!c3!*J&b!8*!5%"Q$%K!-!*b!'!@dN& P%Y4#dB#`JfAdN!#$dN%)`3!!C1iQ(c3I6R8!!!%!N!0AHJ!!9RS!!!*k!3,f[$J `!*!$(!*U!"&%394"!*!$NPT&8Nm!N!1H4&*&6!#3!kT$6d4&!!-!YP0*@N8!N!2 Q4%P86!!(!2*"6&*8!!B"8P088L-!!!'QGQ9bF`!"!E*69&)J!!%"bP"cCA3!!!( L8%P$9!!"!Hj%6%p(!!!#"NCPBA3!!!)53Nj%6!!!!Kj'8N9'!!!#+NP$6L-!!!) fBA9cG!!!!N)!!2rr+!#3#Irr#!!#M!#3"[rr+!!#[`#3"3,rrcJ!!X-"![DF!!( rra`!+SB"![D!!!$rrbJ!,-`"![A-!!2rr`!!35i"![A3rj!%!!!Y,!#3"!3"rrm J!#dk!*!&KIrr*!!YZJ%#pR3!Krrr!!!Z%!#3"BErrb3!,Q!"![C-!)$rr`!!,Z) !N!@errmJ!#p!!*!&J[rr!!![XJ#3"!2SrrmJ!$!3!*!%"!(rrb!!-$`!N!@#rrm J!$"-!*!&KIrr*!!`A!%#pP`!Krrr)!!`E!#3"BErrb3!-(`"![CB!)$rrb!!-)` !N!@"rrmJ!$#F!*!&J2rr!!!`V!#3"3(rrb!!-,m!N!8#rrmJ!$$d!*!%!J#3!b! !-4)!N!3#!3!()!!a)J#3"B$rr`!!-5i!N!9rrrm!!$9P!*!%!qMrr`!!0TJ!N!3 $k2rr)!!rX`#3"[rr)!!rc`#3"B$rr`!!2pX!N!@!rrm!!$rl!*!&J2rr)!"!"J# 3"[rr!!""#J#3"!C`FQpYF(3)a#"cG@CQDAM(93: |
Added tests/autoMkindex.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # Test file for: # auto_mkindex # # This file provides example cases for testing the Tcl autoloading # facility. Things are much more complicated with namespaces and classes. # The "auto_mkindex" facility can no longer be built on top of a simple # regular expression parser. It must recognize constructs like this: # # namespace eval foo { # proc test {x y} { ... } # namespace eval bar { # proc another {args} { ... } # } # } # # Note that procedures and itcl class definitions can be nested inside # of namespaces. # # Copyright (c) 1993-1998 Lucent Technologies, Inc. # This shouldn't cause any problems namespace import -force blt::* # Should be able to handle "proc" definitions, even if they are # preceded by white space. proc normal {x y} {return [expr $x+$y]} proc indented {x y} {return [expr $x+$y]} # # Should be able to handle proc declarations within namespaces, # even if they have explicit namespace paths. # namespace eval buried { proc inside {args} {return "inside: $args"} namespace export pub_* proc pub_one {args} {return "one: $args"} proc pub_two {args} {return "two: $args"} } proc buried::within {args} {return "within: $args"} namespace eval buried { namespace eval under { proc neath {args} {return "neath: $args"} } namespace eval ::buried { proc relative {args} {return "relative: $args"} proc ::top {args} {return "top: $args"} proc ::buried::explicit {args} {return "explicit: $args"} } } |
Added tests/autoMkindex.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | # Commands covered: auto_mkindex auto_import # # This file contains tests related to autoloading and generating # the autoloading index. # # Copyright (c) 1998 Lucent Technologies, Inc. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # SCCS: $Id: autoMkindex.test,v 1.1 1998/07/24 14:31:08 welch Exp $ if {[string compare test [info procs test]] == 1} then {source defs} test autoMkindex-1.1 {remove any existing tclIndex file} { file delete tclIndex file exists tclIndex } {0} test autoMkindex-1.2 {build tclIndex based on a test file} { auto_mkindex . autoMkindex.tcl file exists tclIndex } {1} set element "{source [file join . autoMkindex.tcl]}" test autoMkindex-1.3 {examine tclIndex} { namespace eval tcl_autoMkindex_tmp { set dir "." variable auto_index source tclIndex set result "" foreach elem [lsort [array names auto_index]] { lappend result [list $elem $auto_index($elem)] } set result } } "{::buried::explicit $element} {::buried::inside $element} {::buried::pub_one $element} {::buried::pub_two $element} {::buried::relative $element} {::buried::under::neath $element} {::buried::within $element} {indented $element} {normal $element} {top $element}" namespace delete tcl_autoMkindex_tmp test autoMkindex-2.1 {commands on the autoload path can be imported} { set interp [interp create] set final [$interp eval { namespace eval blt {} set auto_path [linsert $auto_path 0 .] set info [list [catch {namespace import buried::*} result] $result] foreach name [lsort [info commands pub_*]] { lappend info $name [namespace origin $name] } set info }] interp delete $interp set final } "0 {} pub_one ::buried::pub_one pub_two ::buried::pub_two" |
Added tests/ioUtil.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | # This file (iOUtil.test) tests the hookable TclStat(), @@@TclAccess(), # and @@@Tcl_OpenFileChannel, routines in the file generic/tclIOUtils.c. # Sourcing this file into Tcl runs the tests and generates output for # errors. No output means no errors were found. # # Copyright (c) 1998 by Scriptics Corporation. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # SCCS: %Z% $Id: ioUtil.test,v 1.1 1998/06/04 12:44:44 suresh Exp $ if {[string compare test [info procs test]] == 1} then {source defs} set unsetScript { catch {unset testStat1(size)} catch {unset testStat2(size)} catch {unset testStat3(size)} } test stat-1.1 {TclStat: Check that none of the test procs are there.} { catch {file stat testTclStat1%.fil testStat1} err1 catch {file stat testTclStat2%.fil testStat2} err2 catch {file stat testTclStat3%.fil testStat3} err3 list $err1 $err2 $err3 } {{couldn't stat "testTclStat1%.fil": no such file or directory} {couldn't stat "testTclStat2%.fil": no such file or directory} {couldn't stat "testTclStat3%.fil": no such file or directory}} test stat-1.2 {TclStatInsertProc: Insert the 3 test TclStat_ procedures.} { catch {testTclStat insert TclpStat} err1 testTclStat insert TestTclStatProc1 testTclStat insert TestTclStatProc2 testTclStat insert TestTclStatProc3 set err1 } {bad arg "insert": must be TestTclStatProc1, TestTclStatProc2, or TestTclStatProc3} test stat-1.3 {TclStat: Use "file stat ?" to invoke each procedure.} { file stat testTclStat2%.fil testStat2 file stat testTclStat1%.fil testStat1 file stat testTclStat3%.fil testStat3 list $testStat2(size) $testStat1(size) $testStat3(size) } {2345 1234 3456} eval $unsetScript test stat-1.4 {TclStatDeleteProc: "TclpStat" function should not be deletedable.} { catch {testTclStat delete TclpStat} err2 set err2 } {"TclpStat": could not be deleteed} test stat-1.5 {TclStatDeleteProc: Delete the 2nd TclStat procedure.} { # Delete the 2nd procedure and test that it longer exists but that # the others do actually return a result. testTclStat delete TestTclStatProc2 file stat testTclStat1%.fil testStat1 catch {file stat testTclStat2%.fil testStat2} err3 file stat testTclStat3%.fil testStat3 list $testStat1(size) $err3 $testStat3(size) } {1234 {couldn't stat "testTclStat2%.fil": no such file or directory} 3456} eval $unsetScript test stat-1.6 {TclStatDeleteProc: Delete the 1st TclStat procedure.} { # Next delete the 1st procedure and test that only the 3rd procedure # is the only one that exists. testTclStat delete TestTclStatProc1 catch {file stat testTclStat1%.fil testStat1} err4 catch {file stat testTclStat2%.fil testStat2} err5 file stat testTclStat3%.fil testStat3 list $err4 $err5 $testStat3(size) } {{couldn't stat "testTclStat1%.fil": no such file or directory} {couldn't stat "testTclStat2%.fil": no such file or directory} 3456} eval $unsetScript test stat-1.7 {TclStatDeleteProc: Delete the 3rd procedure & verify all are gone.} { # Finally delete the 3rd procedure and check that none of the # procedures exist. testTclStat delete TestTclStatProc3 catch {file stat testTclStat1%.fil testStat1} err6 catch {file stat testTclStat2%.fil testStat2} err7 catch {file stat testTclStat3%.fil testStat3} err8 list $err6 $err7 $err8 } {{couldn't stat "testTclStat1%.fil": no such file or directory} {couldn't stat "testTclStat2%.fil": no such file or directory} {couldn't stat "testTclStat3%.fil": no such file or directory}} eval $unsetScript test stat-1.8 {TclStatDeleteProc: Verify that all procs have been deleted.} { # Attempt to delete all the Stat procs. again to ensure they no longer # exist and an error is returned. catch {testTclStat delete TestTclStatProc1} err9 catch {testTclStat delete TestTclStatProc2} err10 catch {testTclStat delete TestTclStatProc3} err11 list $err9 $err10 $err11 } {{"TestTclStatProc1": could not be deleteed} {"TestTclStatProc2": could not be deleteed} {"TestTclStatProc3": could not be deleteed}} eval $unsetScript |
Added tests/remote.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | # This file contains Tcl code to implement a remote server that can be # used during testing of Tcl socket code. This server is used by some # of the tests in socket.test. # # Source this file in the remote server you are using to test Tcl against. # # Copyright (c) 1995-1996 Sun Microsystems, Inc. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # @(#) remote.tcl 1.5 96/04/17 08:21:19" # Initialize message delimitor # Initialize command array catch {unset command} set command(0) "" set callerSocket "" # Detect whether we should print out connection messages etc. if {![info exists VERBOSE]} { set VERBOSE 0 } proc __doCommands__ {l s} { global callerSocket VERBOSE if {$VERBOSE} { puts "--- Server executing the following for socket $s:" puts $l puts "---" } set callerSocket $s if {[catch {uplevel #0 $l} msg]} { list error $msg } else { list success $msg } } proc __readAndExecute__ {s} { global command VERBOSE set l [gets $s] if {[string compare $l "--Marker--Marker--Marker--"] == 0} { if {[info exists command($s)]} { puts $s [list error incomplete_command] } puts $s "--Marker--Marker--Marker--" return } if {[string compare $l ""] == 0} { if {[eof $s]} { if {$VERBOSE} { puts "Server closing $s, eof from client" } close $s } return } append command($s) $l "\n" if {[info complete $command($s)]} { set cmds $command($s) unset command($s) puts $s [__doCommands__ $cmds $s] } if {[eof $s]} { if {$VERBOSE} { puts "Server closing $s, eof from client" } close $s } } proc __accept__ {s a p} { global VERBOSE if {$VERBOSE} { puts "Server accepts new connection from $a:$p on $s" } fileevent $s readable [list __readAndExecute__ $s] fconfigure $s -buffering line -translation crlf } set serverIsSilent 0 for {set i 0} {$i < $argc} {incr i} { if {[string compare -serverIsSilent [lindex $argv $i]] == 0} { set serverIsSilent 1 break } } if {![info exists serverPort]} { if {[info exists env(serverPort)]} { set serverPort $env(serverPort) } } if {![info exists serverPort]} { for {set i 0} {$i < $argc} {incr i} { if {[string compare -port [lindex $argv $i]] == 0} { if {$i < [expr $argc - 1]} { set serverPort [lindex $argv [expr $i + 1]] } break } } } if {![info exists serverPort]} { set serverPort 2048 } if {![info exists serverAddress]} { if {[info exists env(serverAddress)]} { set serverAddress $env(serverAddress) } } if {![info exists serverAddress]} { for {set i 0} {$i < $argc} {incr i} { if {[string compare -address [lindex $argv $i]] == 0} { if {$i < [expr $argc - 1]} { set serverAddress [lindex $argv [expr $i + 1]] } break } } } if {![info exists serverAddress]} { set serverAddress 0.0.0.0 } if {$serverIsSilent == 0} { set l "Remote server listening on port $serverPort, IP $serverAddress." puts "" puts $l for {set c [string length $l]} {$c > 0} {incr c -1} {puts -nonewline "-"} puts "" puts "" puts "You have set the Tcl variables serverAddress to $serverAddress and" puts "serverPort to $serverPort. You can set these with the -address and" puts "-port command line options, or as environment variables in your" puts "shell." puts "" puts "NOTE: The tests will not work properly if serverAddress is set to" puts "\"localhost\" or 127.0.0.1." puts "" puts "When you invoke tcltest to run the tests, set the variables" puts "remoteServerPort to $serverPort and remoteServerIP to" puts "[info hostname]. You can set these as environment variables" puts "from the shell. The tests will not work properly if you set" puts "remoteServerIP to \"localhost\" or 127.0.0.1." puts "" puts -nonewline "Type Ctrl-C to terminate--> " flush stdout } if {[catch {set serverSocket \ [socket -myaddr $serverAddress -server __accept__ $serverPort]} msg]} { puts "Server on $serverAddress:$serverPort cannot start: $msg" } else { vwait __server_wait_variable__ } |
Added tests/unixFile.test.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | # This file contains tests for the routines in the file tclUnixFile.c # # This file contains a collection of tests for one or more of the Tcl # built-in commands. Sourcing this file into Tcl runs the tests and # generates output for errors. No output means no errors were found. # # Copyright (c) 1998 by Scriptics Corporation. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # SCCS: %Z% $Id: unixFile.test,v 1.1 1998/06/17 18:16:41 stanton Exp $ if {[string compare test [info procs test]] == 1} then {source defs} if {[info commands testobj] == {}} { puts "This application hasn't been compiled with the \"testfindexecutable\"" puts "command, so I can't test the Tcl_FindExecutable function" return } if {$tcl_platform(platform) != "unix"} { return } set oldPath $env(PATH) close [open junk w] file attributes junk -perm 0777 set absPath [file join [pwd] junk] test unixFile-1.1 {Tcl_FindExecutable} { set env(PATH) "" testfindexecutable junk } $absPath test unixFile-1.2 {Tcl_FindExecutable} { set env(PATH) "/dummy" testfindexecutable junk } {} test unixFile-1.3 {Tcl_FindExecutable} { set env(PATH) "/dummy:[pwd]" testfindexecutable junk } $absPath test unixFile-1.4 {Tcl_FindExecutable} { set env(PATH) "/dummy:" testfindexecutable junk } $absPath test unixFile-1.5 {Tcl_FindExecutable} { set env(PATH) "/dummy:/dummy" testfindexecutable junk } {} test unixFile-1.6 {Tcl_FindExecutable} { set env(PATH) "/dummy::/dummy" testfindexecutable junk } $absPath test unixFile-1.7 {Tcl_FindExecutable} { set env(PATH) ":/dummy" testfindexecutable junk } $absPath set env(PATH) $oldPath file delete junk |
Added unix/mkLinks.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | #!/bin/sh # mkLinks.tcl -- # This generates the mkLinks script # \ exec tclsh "$0" ${1+"$@"} puts stdout \ {#!/bin/sh # This script is invoked when installing manual entries. It generates # additional links to manual entries, corresponding to the procedure # and command names described by the manual entry. For example, the # Tcl manual entry Hash.3 describes procedures Tcl_InitHashTable, # Tcl_CreateHashEntry, and many more. This script will make hard # links so that Tcl_InitHashTable.3, Tcl_CreateHashEntry.3, and so # on all refer to Hash.3 in the installed directory. # # Because of the length of command and procedure names, this mechanism # only works on machines that support file names longer than 14 characters. # This script checks to see if long file names are supported, and it # doesn't make any links if they are not. # # The script takes one argument, which is the name of the directory # where the manual entries have been installed. if test $# != 1; then echo "Usage: mkLinks dir" exit 1 fi cd $1 echo foo > xyzzyTestingAVeryLongFileName.foo x=`echo xyzzyTe*` rm xyzzyTe* if test "$x" != "xyzzyTestingAVeryLongFileName.foo"; then exit fi } foreach file $argv { set in [open $file] set tail [file tail $file] set ext [file extension $file] set state begin while {[gets $in line] >= 0} { switch $state { begin { if {[regexp "^.SH NAME" $line]} { set state name } } name { regsub {\\-.*} $line {} line foreach name [split $line ,] { regsub -all { } $name "" name if {[string compare $tail $name$ext] != 0} { puts "if test -r $tail; then" puts " rm -f $name$ext" puts " ln $tail $name$ext" puts "fi" } } set state end } end { break } } } close $in } puts "exit 0" |
Added unix/tclXtNotify.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 | /* * tclXtNotify.c -- * * This file contains the notifier driver implementation for the * Xt intrinsics. * * Copyright (c) 1997 by Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tclXtNotify.c 1.10 97/09/15 13:24:21 */ #include <X11/Intrinsic.h> #include <tclInt.h> /* * This structure is used to keep track of the notifier info for a * a registered file. */ typedef struct FileHandler { int fd; int mask; /* Mask of desired events: TCL_READABLE, etc. */ int readyMask; /* Events that have been seen since the last time FileHandlerEventProc was called for this file. */ XtInputId read; /* Xt read callback handle. */ XtInputId write; /* Xt write callback handle. */ XtInputId except; /* Xt exception callback handle. */ Tcl_FileProc *proc; /* Procedure to call, in the style of * Tcl_CreateFileHandler. */ ClientData clientData; /* Argument to pass to proc. */ struct FileHandler *nextPtr;/* Next in list of all files we care about. */ } FileHandler; /* * The following structure is what is added to the Tcl event queue when * file handlers are ready to fire. */ typedef struct FileHandlerEvent { Tcl_Event header; /* Information that is standard for * all events. */ int fd; /* File descriptor that is ready. Used * to find the FileHandler structure for * the file (can't point directly to the * FileHandler structure because it could * go away while the event is queued). */ } FileHandlerEvent; /* * The following static structure contains the state information for the * Xt based implementation of the Tcl notifier. */ static struct NotifierState { XtAppContext appContext; /* The context used by the Xt * notifier. Can be set with * TclSetAppContext. */ int appContextCreated; /* Was it created by us? */ XtIntervalId currentTimeout; /* Handle of current timer. */ FileHandler *firstFileHandlerPtr; /* Pointer to head of file handler * list. */ } notifier; /* * The following static indicates whether this module has been initialized. */ static int initialized = 0; /* * Static routines defined in this file. */ static int FileHandlerEventProc _ANSI_ARGS_((Tcl_Event *evPtr, int flags)); static void FileProc _ANSI_ARGS_((caddr_t clientData, int *source, XtInputId *id)); static void InitNotifier _ANSI_ARGS_((void)); static void NotifierExitHandler _ANSI_ARGS_(( ClientData clientData)); static void TimerProc _ANSI_ARGS_((caddr_t clientData, XtIntervalId *id)); /* * Functions defined in this file for use by users of the Xt Notifier: */ EXTERN XtAppContext TclSetAppContext _ANSI_ARGS_((XtAppContext ctx)); /* *---------------------------------------------------------------------- * * TclSetAppContext -- * * Set the notifier application context. * * Results: * None. * * Side effects: * Sets the application context used by the notifier. Panics if * the context is already set when called. * *---------------------------------------------------------------------- */ XtAppContext TclSetAppContext(appContext) XtAppContext appContext; { if (!initialized) { InitNotifier(); } /* * If we already have a context we check whether we were asked to set a * new context. If so, we panic because we try to prevent switching * contexts by mistake. Otherwise, we return the one we have. */ if (notifier.appContext != NULL) { if (appContext != NULL) { /* * We already have a context. We do not allow switching contexts * after initialization, so we panic. */ panic("TclSetAppContext: multiple application contexts"); } } else { /* * If we get here we have not yet gotten a context, so either create * one or use the one supplied by our caller. */ if (appContext == NULL) { /* * We must create a new context and tell our caller what it is, so * she can use it too. */ notifier.appContext = XtCreateApplicationContext(); notifier.appContextCreated = 1; } else { /* * Otherwise we remember the context that our caller gave us * and use it. */ notifier.appContextCreated = 0; notifier.appContext = appContext; } } return notifier.appContext; } /* *---------------------------------------------------------------------- * * InitNotifier -- * * Initializes the notifier state. * * Results: * None. * * Side effects: * Creates a new exit handler. * *---------------------------------------------------------------------- */ static void InitNotifier(void) { /* * Only reinitialize if we are not in exit handling. The notifier * can get reinitialized after its own exit handler has run, because * of exit handlers for the I/O and timer sub-systems (order dependency). */ if (TclInExit()) { return; } /* * DO NOT create the application context yet; doing so would prevent * external applications from setting it for us to their own ones. */ initialized = 1; memset(¬ifier, 0, sizeof(notifier)); Tcl_CreateExitHandler(NotifierExitHandler, NULL); } /* *---------------------------------------------------------------------- * * NotifierExitHandler -- * * This function is called to cleanup the notifier state before * Tcl is unloaded. * * Results: * None. * * Side effects: * Destroys the notifier window. * *---------------------------------------------------------------------- */ static void NotifierExitHandler( ClientData clientData) /* Not used. */ { if (notifier.currentTimeout != 0) { XtRemoveTimeOut(notifier.currentTimeout); } for (; notifier.firstFileHandlerPtr != NULL; ) { Tcl_DeleteFileHandler(notifier.firstFileHandlerPtr->fd); } if (notifier.appContextCreated) { XtDestroyApplicationContext(notifier.appContext); notifier.appContextCreated = 0; notifier.appContext = NULL; } initialized = 0; } /* *---------------------------------------------------------------------- * * Tcl_SetTimer -- * * This procedure sets the current notifier timeout value. * * Results: * None. * * Side effects: * Replaces any previous timer. * *---------------------------------------------------------------------- */ void Tcl_SetTimer(timePtr) Tcl_Time *timePtr; /* Timeout value, may be NULL. */ { long timeout; if (!initialized) { InitNotifier(); } TclSetAppContext(NULL); if (notifier.currentTimeout != 0) { XtRemoveTimeOut(notifier.currentTimeout); } if (timePtr) { timeout = timePtr->sec * 1000 + timePtr->usec / 1000; notifier.currentTimeout = XtAppAddTimeOut(notifier.appContext, (unsigned long) timeout, TimerProc, NULL); } else { notifier.currentTimeout = 0; } } /* *---------------------------------------------------------------------- * * TimerProc -- * * This procedure is the XtTimerCallbackProc used to handle * timeouts. * * Results: * None. * * Side effects: * Processes all queued events. * *---------------------------------------------------------------------- */ static void TimerProc(data, id) caddr_t data; /* Not used. */ XtIntervalId *id; { if (*id != notifier.currentTimeout) { return; } notifier.currentTimeout = 0; Tcl_ServiceAll(); } /* *---------------------------------------------------------------------- * * Tcl_CreateFileHandler -- * * This procedure registers a file handler with the Xt notifier. * * Results: * None. * * Side effects: * Creates a new file handler structure and registers one or more * input procedures with Xt. * *---------------------------------------------------------------------- */ void Tcl_CreateFileHandler(fd, mask, proc, clientData) int fd; /* Handle of stream to watch. */ int mask; /* OR'ed combination of TCL_READABLE, * TCL_WRITABLE, and TCL_EXCEPTION: * indicates conditions under which * proc should be called. */ Tcl_FileProc *proc; /* Procedure to call for each * selected event. */ ClientData clientData; /* Arbitrary data to pass to proc. */ { FileHandler *filePtr; if (!initialized) { InitNotifier(); } TclSetAppContext(NULL); for (filePtr = notifier.firstFileHandlerPtr; filePtr != NULL; filePtr = filePtr->nextPtr) { if (filePtr->fd == fd) { break; } } if (filePtr == NULL) { filePtr = (FileHandler*) ckalloc(sizeof(FileHandler)); filePtr->fd = fd; filePtr->read = 0; filePtr->write = 0; filePtr->except = 0; filePtr->readyMask = 0; filePtr->mask = 0; filePtr->nextPtr = notifier.firstFileHandlerPtr; notifier.firstFileHandlerPtr = filePtr; } filePtr->proc = proc; filePtr->clientData = clientData; /* * Register the file with the Xt notifier, if it hasn't been done yet. */ if (mask & TCL_READABLE) { if (!(filePtr->mask & TCL_READABLE)) { filePtr->read = XtAppAddInput(notifier.appContext, fd, XtInputReadMask, FileProc, filePtr); } } else { if (filePtr->mask & TCL_READABLE) { XtRemoveInput(filePtr->read); } } if (mask & TCL_WRITABLE) { if (!(filePtr->mask & TCL_WRITABLE)) { filePtr->write = XtAppAddInput(notifier.appContext, fd, XtInputWriteMask, FileProc, filePtr); } } else { if (filePtr->mask & TCL_WRITABLE) { XtRemoveInput(filePtr->write); } } if (mask & TCL_EXCEPTION) { if (!(filePtr->mask & TCL_EXCEPTION)) { filePtr->except = XtAppAddInput(notifier.appContext, fd, XtInputExceptMask, FileProc, filePtr); } } else { if (filePtr->mask & TCL_EXCEPTION) { XtRemoveInput(filePtr->except); } } filePtr->mask = mask; } /* *---------------------------------------------------------------------- * * Tcl_DeleteFileHandler -- * * Cancel a previously-arranged callback arrangement for * a file. * * Results: * None. * * Side effects: * If a callback was previously registered on file, remove it. * *---------------------------------------------------------------------- */ void Tcl_DeleteFileHandler(fd) int fd; /* Stream id for which to remove * callback procedure. */ { FileHandler *filePtr, *prevPtr; if (!initialized) { InitNotifier(); } TclSetAppContext(NULL); /* * Find the entry for the given file (and return if there * isn't one). */ for (prevPtr = NULL, filePtr = notifier.firstFileHandlerPtr; ; prevPtr = filePtr, filePtr = filePtr->nextPtr) { if (filePtr == NULL) { return; } if (filePtr->fd == fd) { break; } } /* * Clean up information in the callback record. */ if (prevPtr == NULL) { notifier.firstFileHandlerPtr = filePtr->nextPtr; } else { prevPtr->nextPtr = filePtr->nextPtr; } if (filePtr->mask & TCL_READABLE) { XtRemoveInput(filePtr->read); } if (filePtr->mask & TCL_WRITABLE) { XtRemoveInput(filePtr->write); } if (filePtr->mask & TCL_EXCEPTION) { XtRemoveInput(filePtr->except); } ckfree((char *) filePtr); } /* *---------------------------------------------------------------------- * * FileProc -- * * These procedures are called by Xt when a file becomes readable, * writable, or has an exception. * * Results: * None. * * Side effects: * Makes an entry on the Tcl event queue if the event is * interesting. * *---------------------------------------------------------------------- */ static void FileProc(clientData, fd, id) caddr_t clientData; int *fd; XtInputId *id; { FileHandler *filePtr = (FileHandler *)clientData; FileHandlerEvent *fileEvPtr; int mask = 0; /* * Determine which event happened. */ if (*id == filePtr->read) { mask = TCL_READABLE; } else if (*id == filePtr->write) { mask = TCL_WRITABLE; } else if (*id == filePtr->except) { mask = TCL_EXCEPTION; } /* * Ignore unwanted or duplicate events. */ if (!(filePtr->mask & mask) || (filePtr->readyMask & mask)) { return; } /* * This is an interesting event, so put it onto the event queue. */ filePtr->readyMask |= mask; fileEvPtr = (FileHandlerEvent *) ckalloc(sizeof(FileHandlerEvent)); fileEvPtr->header.proc = FileHandlerEventProc; fileEvPtr->fd = filePtr->fd; Tcl_QueueEvent((Tcl_Event *) fileEvPtr, TCL_QUEUE_TAIL); /* * Process events on the Tcl event queue before returning to Xt. */ Tcl_ServiceAll(); } /* *---------------------------------------------------------------------- * * FileHandlerEventProc -- * * This procedure is called by Tcl_ServiceEvent when a file event * reaches the front of the event queue. This procedure is * responsible for actually handling the event by invoking the * callback for the file handler. * * Results: * Returns 1 if the event was handled, meaning it should be removed * from the queue. Returns 0 if the event was not handled, meaning * it should stay on the queue. The only time the event isn't * handled is if the TCL_FILE_EVENTS flag bit isn't set. * * Side effects: * Whatever the file handler's callback procedure does. * *---------------------------------------------------------------------- */ static int FileHandlerEventProc(evPtr, flags) Tcl_Event *evPtr; /* Event to service. */ int flags; /* Flags that indicate what events to * handle, such as TCL_FILE_EVENTS. */ { FileHandler *filePtr; FileHandlerEvent *fileEvPtr = (FileHandlerEvent *) evPtr; int mask; if (!(flags & TCL_FILE_EVENTS)) { return 0; } /* * Search through the file handlers to find the one whose handle matches * the event. We do this rather than keeping a pointer to the file * handler directly in the event, so that the handler can be deleted * while the event is queued without leaving a dangling pointer. */ for (filePtr = notifier.firstFileHandlerPtr; filePtr != NULL; filePtr = filePtr->nextPtr) { if (filePtr->fd != fileEvPtr->fd) { continue; } /* * The code is tricky for two reasons: * 1. The file handler's desired events could have changed * since the time when the event was queued, so AND the * ready mask with the desired mask. * 2. The file could have been closed and re-opened since * the time when the event was queued. This is why the * ready mask is stored in the file handler rather than * the queued event: it will be zeroed when a new * file handler is created for the newly opened file. */ mask = filePtr->readyMask & filePtr->mask; filePtr->readyMask = 0; if (mask != 0) { (*filePtr->proc)(filePtr->clientData, mask); } break; } return 1; } /* *---------------------------------------------------------------------- * * Tcl_WaitForEvent -- * * This function is called by Tcl_DoOneEvent to wait for new * events on the message queue. If the block time is 0, then * Tcl_WaitForEvent just polls without blocking. * * Results: * Returns 1 if an event was found, else 0. This ensures that * Tcl_DoOneEvent will return 1, even if the event is handled * by non-Tcl code. * * Side effects: * Queues file events that are detected by the select. * *---------------------------------------------------------------------- */ int Tcl_WaitForEvent( Tcl_Time *timePtr) /* Maximum block time, or NULL. */ { int timeout; if (!initialized) { InitNotifier(); } TclSetAppContext(NULL); if (timePtr) { timeout = timePtr->sec * 1000 + timePtr->usec / 1000; if (timeout == 0) { if (XtAppPending(notifier.appContext)) { goto process; } else { return 0; } } else { Tcl_SetTimer(timePtr); } } process: XtAppProcessEvent(notifier.appContext, XtIMAll); return 1; } |
Added win/README.binary.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 | Tcl/Tk 8.0.3 for Windows, Binary Distribution %Z% $Id: README.binary,v 1.1 1998/08/31 16:31:53 stanton Exp $ 1. Introduction --------------- This directory contains the binary distribution of Tcl/Tk 8.0.3 for Windows. It was compiled with Microsoft Visual C++ 5.0 using Win32 API, so that it will run under Windows NT and Windows 95. The information here corresponds to release 8.0. This patch provides compatibility with [incr Tcl] 3.0. Tcl 8.0 is a major new release that replaces the core of the interpreter with an on-the-fly bytecode compiler to improve execution speed. It also includes several other new features such as namespaces and binary I/O, plus many bug fixes. The compiler introduces a few incompatibilities that may affect existing Tcl scripts; the incompatibilities are relatively obscure but may require modifications to some old scripts before they can run with this version. The compiler introduces many new C-level APIs, but the old APIs are still supported. See below for more details. This patch release fixes various bugs in Tcl 8.0, plus it adds a few minor features to support the TclPro 1.0 tool set and [incr Tcl] 3.0. Please check the changes file in the source release for details. This release also corresponds to Tk 8.0.3. This is a major release with significant new features such as native look and feel on Macintoshes and PCs, a new font mechanism, application embedding, and proper support for Safe-Tcl. See below for details. There should be no backward incompatibilities in Tk 8.0.3 that affect scripts. Note: with this release the Tk version number skips from 4.2 to 8.0. The jump was made in order to synchronize the Tcl and Tk version numbers. 2. Documentation ---------------- The best way to get started with Tcl is to read one of the introductory books on Tcl: Practical Programming in Tcl and Tk, 2nd Edition, by Brent Welch, Prentice-Hall, 1997, ISBN 0-13-616830-2 Tcl and the Tk Toolkit, by John Ousterhout, Addison-Wesley, 1994, ISBN 0-201-63337-X Exploring Expect, by Don Libes, O'Reilly and Associates, 1995, ISBN 1-56592-090-2 Other books are listed at http://www.scriptics.com/resource/doc/books/ http://www.tclconsortium.org/resources/books.html There is also an official home for Tcl and Tk on the Web: http://www.scriptics.com These Web pages include information about the latest releases, products related to Tcl and Tk, reports on bug fixes and porting issues, HTML versions of the manual pages, and pointers to many other Tcl/Tk Web pages at other sites. Check them out! 3. Installation --------------- The binary release is distributed as a self-extracting archive called tcl80.exe. The setup program which will prompt you for an installation directory. It will create the installation heirarchy under the specified directory, and install a wish application icon under the program manager group of your choice. With the 8.0.3 patch release, we are no longer supporting use of Tcl with 16-bit versions of Windows. Microsoft has completely dropped support of the Win32s subsystem. If you still need 16-bit support, you can get win32s and the 16-bit thunking dll (tcl1680.dll) from the Scriptics web site at ftp://ftp.scriptics.com/pub/tcl/misc. 4. Summary of changes in Tcl 8.0 -------------------------------- Here are the most significant changes in Tcl 8.0. In addition to these changes, there are several smaller changes and bug fixes. See the file "changes" for a complete list of all changes. 1. Bytecode compiler. The core of the Tcl interpreter has been replaced with an on-the-fly compiler that translates Tcl scripts to byte codes; a new interpreter then executes the byte codes. In earlier versions of Tcl, strings were used as a universal representation; in Tcl 8.0 strings are replaced with Tcl_Obj structures ("objects") that can hold both a string value and an internal form such as a binary integer or compiled bytecodes. The new objects make it possible to store information in efficient internal forms and avoid the constant translations to and from strings that occurred with the old interpreter. We have not yet converted all of Tcl to take full advantage of the compiler and objects and have not converted any of Tk yet, but even so you should see speedups of 2-3x on many programs and you may see speedups as much as 10-20x in some cases (such as code that manipulates long lists). Future releases should achieve even greater speedups. The compiler introduces only a few minor changes at the level of Tcl scripts, but it introduces many new C APIs for managing objects. See, for example, the manual entries doc/*Obj*.3. 2. Namespaces. There is a new namespace mechanism based on the namespace implementation by Michael McLennan of Lucent Technologies. This includes new "namespace" and "variable" commands. There are many new C APIs associated with namespaces, but they will not be exported until Tcl 8.1. Note: the syntax of the namespace command has been changed slightly since the b1 release. See the changes file for details. 3. Binary I/O. The new object system in Tcl 8.0 supports binary strings (internally, strings are counted in addition to being null terminated). There is a new "binary" command for inserting and extracting data to/from binary strings. Commands such as "puts", "gets", and "read" commands now operate correctly on binary data. There is a new variable tcl_platform(byteOrder) to identify the native byte order for the current host. 4. Random numbers. The "expr" command now contains a random number generator, which can be accessed via the "rand()" and "srand()" math functions. 5. Safe-Tcl enhancements. There is a new "hidden command" mechanism, implemented with the Tcl commands "interp hide", "interp expose", "interp invokehidden", and "interp hidden" and the C APIs Tcl_HideCommand and Tcl_ExposeCommand. There is now support for loadable security policies, including new library procedures such as tcl_safeCreateInterp. 6. There is a new package "registry" available under Windows for accessing the Windows registry. 7. There is a new command "file attributes" for getting and setting things like permissions and owner. There is also a new command "file nativename" for getting back the platform-specific name for a particular file. 8. There is a new "fcopy" command to copy data between channels. This replaces and improves upon the not-so-secret unsupported old command "unsupported0". 9. There is a new package "http" for doing GET, POST, and HEAD requests via the HTTP/1.0 protocol. See the manual entry http.n for details. 10. There are new library procedures for finding word breaks in strings. See the manual entry library.n for details. 11. There are new C APIs Tcl_Finalize (for cleaning up before unloading the Tcl DLL) and Tcl_Ungets for pushing bytes back into a channel's input buffer. 12. Tcl now supports serial I/O devices on Windows and Unix, with a new fconfigure -mode option. The Windows driver does not yet support event-driven I/O. 13. The lsort command has new options -dictionary and -index. The -index option allows for very rapid sorting based on an element of a list. 14. The event notifier has been completely rewritten (again). It should now allow Tcl to use an external event loop (like Motif's) when it is embedded in other applications. No script-level interfaces have changed, but many of the C APIs have. Tcl 8.0 introduces the following incompatibilities that may affect Tcl scripts that worked under Tcl 7.6 and earlier releases: 1. Variable and command names may not include the character sequence "::" anymore: this sequence is now used as a namespace separator. 2. The semantics of some Tcl commands have been changed slightly to maximize performance under the compiler. These incompatibilities are documented on the Web so that we can keep the list up-to-date. See the URL http://www.sunlabs.com/research/tcl/compiler.html. 3. 2-digit years are now parsed differently by the "clock" command to handle year 2000 issues better (years 00-38 are treated as 2000-2038 instead of 1900-1938). 4. The old Macintosh commands "cp", "mkdir", "mv", "rm", and "rmdir" are no longer supported; all of these features are now available on all platforms via the "file" command. 5. The variable tcl_precision is now shared between interpreters and defaults to 12 digits instead of 6; safe interpreters cannot modify tcl_precision. The new object system in Tcl 8.0 causes floating-to-string conversions (and the associated rounding) to occur much less often than in Tcl 7.6, which can sometimes cause behavioral changes. 6. The C APIs associated with the notifier have changed substantially. 7. The procedures Tcl_CreateModalTimeout and Tcl_DeleteModalTimeout have been removed. 8. Tcl_CreateFileHandler and Tcl_DeleteFileHandler now take Unix fd's and are only supported on the Unix platform. Please use the Tcl_CreateChannelHandler interface instead. 9. The C APIs for creating channel drivers have changed as part of the new notifier implementation. The Tcl_File interfaces have been removed. Tcl_GetChannelFile has been replaced with Tcl_GetChannelHandle. Tcl_MakeFileChannel now takes a platform- specific file handle. Tcl_DriverGetOptionProc procedures now take an additional interp argument. 5. Summary of changes in Tk 8.0 ------------------------------- Here is a list of the most important new features in Tk 8.0. The release also includes several smaller feature changes and bug fixes. See the "changes" file for a complete list of all changes. 1. Native look and feel. The widgets have been rewritten to provide (nearly?) native look and feel on the Macintosh and PC. Many widgets, including scrollbars, menus, and the button family, are implemented with native platform widgets. Others, such as entries and texts, have been modified to emulate native look and feel. These changes are backwards compatible except that (a) some configuration options are now ignored on some platforms and (b) you must use the new menu mechanism described below to native look and feel for menus. 2. There is a new interface for creating menus, where a menubar is implemented as a menu widget instead of a frame containing menubuttons. The -menu option for a toplevel is used to specify the name of the menubar; the menu will be displayed *outside* the toplevel using different mechanisms on each platform (e.g. on the Macintosh the menu will appear at the top of the screen). See the menu demos in the widget demo for examples. The old style of menu still works, but does not provide native look and feel. Menus have several new features: - New "-columnbreak" and "-hideMargin" options make it possible to create multi-column menus. - It is now possible to manipulate the Apple and Help menus on the Macintosh, and the system menu on Windows. It is also possible to have a right justified Help menu on Unix. - Menus now issue the virtual event <<MenuSelect>> whenever the current item changes. Applications can use this to generate help messages. - There is a new "-direction" option for menubuttons, which controls where the menu pops up revenues to the button. 3. The font mechanism in Tk has been completely reworked: - Font names need not be nasty X LFDs: more intuitive names like {Times 12 Bold} can also be used. See the manual entry font.n for details. - Font requests always succeed now. If the requested font is not available, Tk finds the closest available font and uses that one. - Tk now supports named fonts whose precise attributes can be changed dynamically. If a named font is changed, any widget using that font updates itself to reflect the change. - There is a new command "font" for creating named fonts and querying various information about fonts. - There are now officially supported C APIs for measuring and displaying text. If you use these APIs now, your code will automatically handle international text when internationalization is added to Tk in a future release. See the manual entries MeasureChar.3, TextLayout.3, and FontId.3. - The old C procedures Tk_GetFontStruct, Tk_NameOfFontStruct, and Tk_FreeFontStruct have been replaced with more portable procedures Tk_GetFont, Tk_NameOfFont, and Tk_FreeFont. 4. Application embedding. It is now possible to embedded one Tcl/Tk application inside another, using the -container option on frame widgets and the -use option for toplevel widgets or on the command line for wish. Embedding should be fully functional under Unix, but the implementation is incomplete on the Macintosh and PC. 5. Tk now works correctly with Safe-Tcl: it can be loaded into safe interpreters. 6. Text widgets now allow images to be embedded directly in the text without using embedded windows. This is more efficient and provides smoother scrolling. 7. Buttons have a new -default option for drawing default rings in a platform-specific manner. 8. There is a new "gray75" bitmap, and the "gray25" bitmap is now really 25% on (due to an ancient mistake, it had been only 12% on). The Macintosh now supports native bitmaps, including new builtin bitmaps "stop", "caution", and "note", plus the ability to use bitmaps in the application's resource fork. 9. The "destroy" command now ignores windows that don't exist instead of generating an error. Tk 8.0 introduces the following incompatibilities that may affect Tcl/Tk scripts that worked under Tk 4.2 and earlier releases: 1. Font specifications such as "Times 12" now interpret the size as points, whereas it used to be pixels (this was actually a bug, since the behavior was documented as points). To get pixels now, use a negative size such as "Times -12". 2. The -transient option for menus is no longer supported. You can achieve the same effect with the -type field. 3. In the canvas "coords" command, polygons now return only the points that were explicitly specified when the polygon was created (they used to return an extra point if the polygon wasn't originally closed). Internally, polygons are still closed automatically for purposes of display and hit detection; the extra point just isn't returned by the "coords" command. 4. The photo image mechanism now uses Tcl_Channels instead of FILEs, in order to make it portable. FILEs are no longer used anywhere in Tk. 5. The procedures Tk_GetFontStruct, Tk_NameOfFontStruct, and Tk_FreeFontStruct have been removed. Note: the new compiler in Tcl 8.0 may also affect Tcl/Tk scripts; check the Tcl documentation for information on incompatibilities introduced by Tcl 8.0. 6. Known Bugs/Missing Features ------------------------------ - Blocking "after" commands (e.g. "after 3000") don't work on Win32s. - Clock command fails to handle daylight savings time boundaries for things like "last week". - Background processes aren't properly detached on NT. - File events only work on sockets. - Pipes/files/console/serial ports don't support nonblocking I/O. - The library cannot be used by two processes at the same time under Win32s. - There is no support for custom cursors/application icons. The core set of X cursors is supported, although you cannot change their color. - Stippling of arcs isn't implemented yet. - Some "wm" functions don't map to Windows and aren't implemented; others should map, but just aren't implemented. The worst offenders are the icon manipulation routines. - Under Win32s, you can only start one instance of Wish at a time. - Color management on some displays doesn't work properly resulting in Tk switching to monochrome mode. - Tk seems to fail to draw anything on some Matrox Millenium cards. - Send and winfo interps are not currently supported - Printing does not work for images (e.g. GIF) on a canvas. - Tk_dialog appears in the upper left corner. This is a symptom of a larger problem with "wm geometry" when applied to unmapped or iconified windows. - Some keys don't work on international keyboards. - Grabs do not affect native menus or the title bar. - PPM images are using the wrong translation mode for writing to files, resulting in CR/LF terminated PPM files. - Tk crashes if the display depth changes while it is running. Tk also doesn't consistently track changes in the system colors. There may be more that we don't know about, so be sure to submit bug reports when you run into problems. If you have comments or bug reports for the Windows version of Tcl, please direct them to: Scott Stanton [email protected] or post them to the newsgroup comp.lang.tcl. 7. Tcl newsgroup ----------------- There is a network news group "comp.lang.tcl" intended for the exchange of information about Tcl, Tk, and related applications. Feel free to use the newsgroup both for general information questions and for bug reports. We read the newsgroup and will attempt to fix bugs and problems reported to it. When using comp.lang.tcl, please be sure that your e-mail return address is correctly set in your postings. This allows people to respond directly to you, rather than the entire newsgroup, for answers that are not of general interest. A bad e-mail return address may prevent you from getting answers to your questions. You may have to reconfigure your news reading software to ensure that it is supplying valid e-mail addresses. 8. Tcl contributed archive -------------------------- Many people have created exciting packages and applications based on Tcl and/or Tk and made them freely available to the Tcl community. An archive of these contributions is kept on the machine ftp.neosoft.com. You can access the archive using anonymous FTP; the Tcl contributed archive is in the directory "/pub/tcl". The archive also contains several FAQ ("frequently asked questions") documents that provide solutions to problems that are commonly encountered by TCL newcomers. 9. Tcl Resource Center ---------------------- Visit http://www.scritics.com/resource/ to see an annotated index of many Tcl resources available on the World Wide Web. This includes papers, books, and FAQs, as well as extensions, applications, binary releases, and patches. You can contribute patches by sending them to <[email protected]>. You can also recommend more URLs for the resource center using the forms labeled "Add a Resource". 10. Mailing lists ---------------- A couple of Mailing List have been set up to discuss Macintosh or Windows related Tcl issues. In order to use these Mailing Lists you must have access to the internet. To subscribe send a message to: [email protected] [email protected] In the body of the message (the subject will be ignored) put: subscribe mactcl Joe Blow Replacing Joe Blow with your real name, of course. (Use wintcl instead of mactcl if your interested in the Windows list.) If you would just like to receive more information about the list without subscribing put the line: information mactcl in the body instead (or wintcl). 10. Support and bug fixes ------------------------ We're very interested in receiving bug reports and suggestions for improvements. We prefer that you send this information to the comp.lang.tcl newsgroup rather than to any of us at Sun. We'll see anything on comp.lang.tcl, and in addition someone else who reads comp.lang.tcl may be able to offer a solution. The normal turn-around time for bugs is 2-4 weeks. Enhancements may take longer and may not happen at all unless there is widespread support for them (we're trying to slow the rate at which Tcl turns into a kitchen sink). It's very difficult to make incompatible changes to Tcl at this point, due to the size of the installed base. When reporting bugs, please provide a short tclsh script that we can use to reproduce the bug. Make sure that the script runs with a bare-bones tclsh and doesn't depend on any extensions or other programs, particularly those that exist only at your site. Also, please include three additional pieces of information with the script: (a) how do we use the script to make the problem happen (e.g. what things do we click on, in what order)? (b) what happens when you do these things (presumably this is undesirable)? (c) what did you expect to happen instead? The Tcl community is too large for us to provide much individual support for users. If you need help we suggest that you post questions to comp.lang.tcl. We read the newsgroup and will attempt to answer esoteric questions for which no-one else is likely to know the answer. In addition, Tcl support and training are available commercially from NeoSoft ([email protected]), Computerized Processes Unlimited ([email protected]), and Data Kinetics ([email protected]). 11. Tcl version numbers ---------------------- Each Tcl release is identified by two numbers separated by a dot, e.g. 6.7 or 7.0. If a new release contains changes that are likely to break existing C code or Tcl scripts then the major release number increments and the minor number resets to zero: 6.0, 7.0, etc. If a new release contains only bug fixes and compatible changes, then the minor number increments without changing the major number, e.g. 7.1, 7.2, etc. If you have C code or Tcl scripts that work with release X.Y, then they should also work with any release X.Z as long as Z > Y. Alpha and beta releases have an additional suffix of the form b1 or b1. For example, Tcl 7.0b1 is the first beta release of Tcl version 7.0, Tcl 7.0b2 is the second beta release, and so on. A beta release is an initial version of a new release, used to fix bugs and bad features before declaring the release stable. An alpha release is like a beta release, except it's likely to need even more work before it's "ready for prime time". New releases are normally preceded by one or more alpha and beta releases. We hope that lots of people will try out the alpha and beta releases and report problems. We'll make new alpha/beta releases to fix the problems, until eventually there is a beta release that appears to be stable. Once this occurs we'll make the final release. We can't promise to maintain compatibility among alpha and beta releases. For example, release 7.1b2 may not be backward compatible with 7.1b1, even though the final 7.1 release will be backward compatible with 7.0. This allows us to change new features as we find problems during beta testing. We'll try to minimize incompatibilities between beta releases, but if a major problem turns up then we'll fix it even if it introduces an incompatibility. Once the official release is made then there won't be any more incompatibilities until the next release with a new major version number. Patch releases have a suffix such as p1 or p2. These releases contain bug fixes only. A patch release (e.g Tcl 7.6p2) should be completely compatible with the base release from which it is derived (e.g. Tcl 7.6), and you should normally use the highest available patch release. As of 8.0.3, the patch releases use a second . instead of 'p'. So, the 8.0 release went to 8.0p1, 8.0p2, and 8.0.3. The alphas and betas will still use the 'a' and 'b' letters in their tcl_patchLevel. 12. Linking against the binary release -------------------------------------- In order to link your applications against the .dll files shipped with this release, you will need to use the appropriate .lib file for your compiler. In the lib directory of the installation directory, there are library files for the Microsoft Visual C++ compiler: tcl80vc.lib tk80vc.lib 13. Building dynamically loadable extensions -------------------------------------------- Please refer to the example dynamically loadable extension provided on our ftp site: ftp://ftp.scriptics.com/pub/tcl/misc/example.zip This archive contains a template that you can use for building extensions that will be loadable on Unix, Windows, and Macintosh systems. |
Added win/mkd.bat.
> > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @echo off if exist %1 goto end if %OS% == Windows_NT goto winnt echo Add support for Win 95 please goto end goto success :winnt md %1 if errorlevel 1 goto end :success echo created directory %1 :end |
Added win/rmd.bat.
> > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @echo off if exist %1 goto end if %OS% == Windows_NT goto winnt echo Add support for Win 95 please goto end goto success :winnt rmdir %1 /s /q if errorlevel 1 goto end :success echo deleted directory %1 :end |