From 8e54e23d26805d7ef1bb630543023b46ec65e4f6 Mon Sep 17 00:00:00 2001 From: frese Date: Wed, 27 Jun 2001 13:44:48 +0000 Subject: [PATCH] some changes, cleaned up, debuged and tested. --- c/xlib/Makefile | 9 ++ c/xlib/color.c | 63 +++----- c/xlib/colormap.c | 33 ++--- c/xlib/display.c | 75 ++++------ c/xlib/gcontext.c | 367 ++++++++++++++++++++++++++++------------------ c/xlib/main.c | 2 + c/xlib/test | Bin 550163 -> 562856 bytes c/xlib/type.c | 22 +-- c/xlib/window.c | 280 +++++++++++++++++------------------ c/xlib/xlib.h | 14 +- 10 files changed, 453 insertions(+), 412 deletions(-) create mode 100644 c/xlib/Makefile diff --git a/c/xlib/Makefile b/c/xlib/Makefile new file mode 100644 index 0000000..b8b96ba --- /dev/null +++ b/c/xlib/Makefile @@ -0,0 +1,9 @@ +.c.o: + gcc -g -c -I /usr/X11R6/include/ -I /afs/wsi/home/dfreese/scsh-0.6/c/ -o $@ $< + +OBJECTS = main.o display.o window.o type.o color.o colormap.o pixel.o gcontext.o + +test: $(OBJECTS) + gcc -g -o test -L /afs/wsi/home/dfreese/i386_fbsd43/scsh-0.6/lib/scsh/ \ + -L /usr/X11R6/lib \ + $(OBJECTS) -lscsh -lm -lX11 -lcrypt diff --git a/c/xlib/color.c b/c/xlib/color.c index 6976624..a6fd57d 100644 --- a/c/xlib/color.c +++ b/c/xlib/color.c @@ -25,72 +25,53 @@ s48_value Int_Extract_RGB_Values(XColor col) { } s48_value Extract_RGB_Values(s48_value Xcolor) { - XColor* col = EXTRACT_COLOR(Xcolor); - return Int_Extract_RGB_Values(*col); + return Int_Extract_RGB_Values(*EXTRACT_COLOR(Xcolor)); } s48_value Query_Color (s48_value Xcolormap, s48_value Xpixel, s48_value Xdisplay) { XColor c; - Colormap cm = EXTRACT_COLORMAP(Xcolormap); - Display* dpy = EXTRACT_DISPLAY(Xdisplay); c.pixel = EXTRACT_PIXEL(Xpixel); - XQueryColor(dpy, cm, &c); + XQueryColor(EXTRACT_DISPLAY(Xdisplay), EXTRACT_COLORMAP(Xcolormap), &c); return Int_Extract_RGB_Values(c); } -/* + s48_value Query_Colors(s48_value Xcolormap, s48_value Xpixels, s48_value Xdisplay) { - Colormap* cm = (Colormap*)S48_EXTRACT_VALUE_POINTER(Xcolormap, Colormap); - Display* dpy = (Display*)s48_extract_integer(Xdisplay); + s48_value result; + S48_DECLARE_GC_PROTECT(1); - long l = S48_VECTOR_LENGTH(Xpixels); + long n = S48_VECTOR_LENGTH(Xpixels); + XColor p[n]; + int i; + for (i=0; i < n; i++) + p[i].pixel = EXTRACT_PIXEL(S48_VECTOR_REF(Xpixels, i)); - register i, n; - s48_value ret; - register XColor *p; - S48_DECLARE_GC_PROTECT(1); - Alloca_Begin; + XQueryColors( EXTRACT_DISPLAY(Xdisplay), EXTRACT_COLORMAP(Xcolormap), p, n ); - Check_Type (v, T_Vector); - n = S48_VECTOR_LENGTH(v); - Alloca (p, XColor*, n * sizeof (XColor)); - for (i = 0; i < n; i++) - p[i].pixel = Get_Pixel (VECTOR(v)->data[i]); - Disable_Interrupts; - XQueryColors (COLORMAP(cmap)->dpy, cm, p, n); - Enable_Interrupts; - ret = s48_make_vector (n, S48_NULL); - S48_GC_PROTECT_1 (ret); - for (i = 0; i < n; i++, p++) { - s48_value x; - - x = Make_Color (p->red, p->green, p->blue); - S48_VECTOR_SET(ret, i, x;) - } - S48_GC_UNPROTECT; - Alloca_End; - return ret; + S48_GC_PROTECT_1(result); + result = s48_make_vector(n, S48_FALSE); + for (i=0; i < n; i++) + S48_VECTOR_SET(result, i, Int_Extract_RGB_Values(p[i])); + + S48_GC_UNPROTECT(); + return result; } -*/ - s48_value Lookup_Color(s48_value Xcolormap, s48_value Xdisplay, s48_value color_name) { XColor visual, exact; - Colormap cm = EXTRACT_COLORMAP(Xcolormap); - Display* dpy = EXTRACT_DISPLAY(Xdisplay); s48_value res = S48_FALSE; S48_DECLARE_GC_PROTECT(1); - S48_GC_PROTECT_1(res); - if (XLookupColor( dpy, cm, s48_extract_string(color_name), - &visual, &exact )) { + if (XLookupColor( EXTRACT_DISPLAY(Xdisplay), EXTRACT_COLORMAP(Xcolormap), + s48_extract_string(color_name), &visual, &exact )) { + S48_GC_PROTECT_1(res); res = s48_cons( Int_Extract_RGB_Values( visual ), Int_Extract_RGB_Values( exact ) ); } @@ -103,6 +84,6 @@ void s48_init_color(void) { S48_EXPORT_FUNCTION(Create_Color); S48_EXPORT_FUNCTION(Extract_RGB_Values); S48_EXPORT_FUNCTION(Query_Color); - // S48_EXPORT_FUNCTION(Query_Colors); + S48_EXPORT_FUNCTION(Query_Colors); S48_EXPORT_FUNCTION(Lookup_Color); } diff --git a/c/xlib/colormap.c b/c/xlib/colormap.c index 4c00aa6..8026033 100644 --- a/c/xlib/colormap.c +++ b/c/xlib/colormap.c @@ -2,44 +2,39 @@ #include "scheme48.h" s48_value Free_Colormap (s48_value Xcolormap, s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Colormap cm = EXTRACT_COLORMAP(Xcolormap); - XFreeColormap(dpy, cm); + XFreeColormap(EXTRACT_DISPLAY(Xdisplay), EXTRACT_COLORMAP(Xcolormap)); return S48_UNSPECIFIC; } s48_value Alloc_Color(s48_value Xcolormap, s48_value Xcolor, s48_value Xdisplay) { XColor* cp = EXTRACT_COLOR(Xcolor); - Colormap cm = EXTRACT_COLORMAP(Xcolormap); - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - int r; - - r = XAllocColor (dpy, cm, cp); - if (!r) return S48_FALSE; - else return ENTER_PIXEL(cp->pixel); + if (!XAllocColor(EXTRACT_DISPLAY(Xdisplay), EXTRACT_COLORMAP(Xcolormap), cp)) + return S48_FALSE; + else + return ENTER_PIXEL(cp->pixel); } s48_value Alloc_Named_Color(s48_value Xcolormap, s48_value color_name, s48_value Xdisplay) { - Colormap cm = EXTRACT_COLORMAP(Xcolormap); - Display* dpy = EXTRACT_DISPLAY(Xdisplay); XColor screen, exact; int r; s48_value ret; S48_DECLARE_GC_PROTECT(1); - r = XAllocNamedColor (dpy, cm, s48_extract_string(color_name), + r = XAllocNamedColor (EXTRACT_DISPLAY(Xdisplay), EXTRACT_COLORMAP(Xcolormap), + s48_extract_string(color_name), &screen, &exact); - if (!r) return S48_FALSE; - - S48_GC_PROTECT_1(ret); - ret = s48_cons(Int_Extract_RGB_Values(exact), S48_NULL); - ret = s48_cons(Int_Extract_RGB_Values(screen), ret); - ret = s48_cons(ENTER_PIXEL(screen.pixel), ret); + if (!r) ret = S48_FALSE; + else { + S48_GC_PROTECT_1(ret); + ret = s48_cons(Int_Extract_RGB_Values(exact), S48_NULL); + ret = s48_cons(Int_Extract_RGB_Values(screen), ret); + ret = s48_cons(ENTER_PIXEL(screen.pixel), ret); + } S48_GC_UNPROTECT(); return ret; diff --git a/c/xlib/display.c b/c/xlib/display.c index f3dbf5b..f31777a 100644 --- a/c/xlib/display.c +++ b/c/xlib/display.c @@ -1,31 +1,26 @@ #include "xlib.h" #include "scheme48.h" -static s48_value display_record_type_binding = S48_FALSE; - // Open_Display(name) name should be a string or S48_FALSE (=> Null) s48_value Open_Display (s48_value name) { char* cname = (char*)0; - Display* dpy; if (!S48_FALSE_P(name)) cname = s48_extract_string(name); - dpy = XOpenDisplay(cname); - return s48_enter_integer((long)dpy); + + return ENTER_DISPLAY(XOpenDisplay(cname)); } // Close_Display( Xdisplay ) Xdisplay should be a pointer to the X-lib struct // cast into a Scheme-Integer. s48_value Close_Display(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - XCloseDisplay(dpy); + XCloseDisplay(EXTRACT_DISPLAY(Xdisplay)); return S48_UNSPECIFIC; } // The following procedure mainly wrap a corresponding XLib macro without // underscores... s48_value Display_Default_Root_Window(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window wnd = DefaultRootWindow(dpy); + Window wnd = DefaultRootWindow(EXTRACT_DISPLAY(Xdisplay)); return ENTER_WINDOW(wnd); } @@ -38,7 +33,7 @@ s48_value Display_Default_Colormap(s48_value Xdisplay) { s48_value Display_Default_Gcontext(s48_value Xdisplay) { Display* dpy = EXTRACT_DISPLAY(Xdisplay); GC gc = DefaultGC(dpy, DefaultScreen(dpy)); - return ENTER_GC(gc); + return ENTER_GCONTEXT(gc); } s48_value Display_Default_Depth(s48_value Xdisplay) { @@ -48,25 +43,21 @@ s48_value Display_Default_Depth(s48_value Xdisplay) { } s48_value Display_Default_Screen_Number(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - return s48_enter_integer(DefaultScreen(dpy)); + return s48_enter_integer(DefaultScreen(EXTRACT_DISPLAY(Xdisplay))); } s48_value Display_Cells(s48_value Xdisplay, s48_value ScrNum) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); int num = (int)s48_extract_integer(ScrNum); - return s48_enter_integer(DisplayCells(dpy, num)); + return s48_enter_integer(DisplayCells(EXTRACT_DISPLAY(Xdisplay), num)); } s48_value Display_Planes(s48_value Xdisplay, s48_value ScrNum) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); int num = (int)s48_extract_integer(ScrNum); - return s48_enter_integer(DisplayPlanes(dpy, num)); + return s48_enter_integer(DisplayPlanes(EXTRACT_DISPLAY(Xdisplay), num)); } s48_value Display_String(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - char* s = DisplayString(dpy); + char* s = DisplayString(EXTRACT_DISPLAY(Xdisplay)); return s48_enter_string(s); } @@ -87,8 +78,7 @@ Display* dpy = EXTRACT_DISPLAY(Xdisplay); } s48_value Display_Screen_Count(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - int cnt = ScreenCount(dpy); + int cnt = ScreenCount(EXTRACT_DISPLAY(Xdisplay)); return s48_enter_integer(cnt); } @@ -100,8 +90,8 @@ s48_value Display_Image_Byte_Order(s48_value Xdisplay) { } s48_value Display_Bitmap_Unit(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - return s48_enter_integer(BitmapUnit(dpy)); + int bu = BitmapUnit(EXTRACT_DISPLAY(Xdisplay)); + return s48_enter_integer(bu); } s48_value Display_Bitmap_Bit_Order(s48_value Xdisplay) { @@ -111,8 +101,8 @@ s48_value Display_Bitmap_Bit_Order(s48_value Xdisplay) { } s48_value Display_Bitmap_Pad(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - return s48_enter_integer(BitmapPad(dpy)); + int bp = BitmapPad(EXTRACT_DISPLAY(Xdisplay)); + return s48_enter_integer(bp); } s48_value Display_Width(s48_value Xdisplay) { @@ -136,40 +126,36 @@ s48_value Display_Height_Mm (s48_value Xdisplay) { } s48_value Display_Motion_Buffer_Size(s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - return s48_enter_integer(XDisplayMotionBufferSize(dpy)); + int mbs = XDisplayMotionBufferSize(EXTRACT_DISPLAY(Xdisplay)); + return s48_enter_integer(mbs); } s48_value Display_Flush_Output (s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - XFlush (dpy); + XFlush (EXTRACT_DISPLAY(Xdisplay)); return S48_UNSPECIFIC; } s48_value Display_Wait_Output (s48_value Xdisplay, s48_value discard) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - XSync (dpy, !S48_FALSE_P(discard)); + XSync (EXTRACT_DISPLAY(Xdisplay), !S48_FALSE_P(discard)); return S48_UNSPECIFIC; } s48_value No_Op (s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - XNoOp(dpy); + XNoOp(EXTRACT_DISPLAY(Xdisplay)); return S48_UNSPECIFIC; } s48_value List_Depths (s48_value Xdisplay, s48_value scr) { - S48_DECLARE_GC_PROTECT(1); - Display* dpy = EXTRACT_DISPLAY(Xdisplay); int i, num; int* p; s48_value ret; - S48_GC_PROTECT_1(ret); + S48_DECLARE_GC_PROTECT(1); - p = XListDepths(dpy, s48_extract_integer(scr), &num); + p = XListDepths(EXTRACT_DISPLAY(Xdisplay), s48_extract_integer(scr), &num); if (!p) ret = S48_FALSE; else { + S48_GC_PROTECT_1(ret); ret = s48_make_vector(num, S48_NULL); for (i = 0; i < num; i++) S48_VECTOR_SET(ret, i, s48_enter_integer(p[i])); @@ -181,19 +167,18 @@ s48_value List_Depths (s48_value Xdisplay, s48_value scr) { } s48_value List_Pixmap_Formats (s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - - S48_DECLARE_GC_PROTECT(2); int num, i; XPixmapFormatValues* p; s48_value ret, t; - S48_GC_PROTECT_2(ret, t); + S48_DECLARE_GC_PROTECT(2); - p = XListPixmapFormats(dpy, &num); + p = XListPixmapFormats(EXTRACT_DISPLAY(Xdisplay), &num); - if (!p) ret = S48_FALSE; + if (!p) + ret = S48_FALSE; else { - ret = s48_make_vector (num, S48_NULL); + S48_GC_PROTECT_2(ret, t); + ret = s48_make_vector (num, S48_FALSE); for (i = 0; i < num; i++) { t = s48_cons(s48_enter_integer(p[i].depth), s48_cons(s48_enter_integer(p[i].bits_per_pixel), @@ -209,9 +194,6 @@ s48_value List_Pixmap_Formats (s48_value Xdisplay) { } void s48_init_display(void) { - S48_GC_PROTECT_GLOBAL(display_record_type_binding); - display_record_type_binding = s48_get_imported_binding("display-record-type"); - S48_EXPORT_FUNCTION(Open_Display); S48_EXPORT_FUNCTION(Close_Display); S48_EXPORT_FUNCTION(Display_Default_Root_Window); @@ -239,5 +221,4 @@ void s48_init_display(void) { S48_EXPORT_FUNCTION(No_Op); S48_EXPORT_FUNCTION(List_Depths); S48_EXPORT_FUNCTION(List_Pixmap_Formats); - } diff --git a/c/xlib/gcontext.c b/c/xlib/gcontext.c index c9df354..2076b87 100644 --- a/c/xlib/gcontext.c +++ b/c/xlib/gcontext.c @@ -1,130 +1,113 @@ #include "xlib.h" +#include "scheme48.h" -static s48_value Sym_Gc; - -Generic_Predicate (Gc) - -Generic_Equal_Dpy (Gc, GCONTEXT, gc) - -Generic_Print (Gc, "#[gcontext %lu]", GCONTEXT(x)->gc) - -Generic_Get_Display (Gc, GCONTEXT) - -s48_value Make_Gc (finalize, dpy, g) Display *dpy; GC g; { - s48_value gc; - - if (g == None) - return Sym_None; - gc = Find_Object (T_Gc, (GENERIC)dpy, Match_X_Obj, g); - if (S48_NULL_P (gc)) { - gc = Alloc_Object (sizeof (struct S_Gc), T_Gc, 0); - GCONTEXT(gc)->tag = S48_NULL; - GCONTEXT(gc)->gc = g; - GCONTEXT(gc)->dpy = dpy; - GCONTEXT(gc)->free = 0; - Register_Object (gc, (GENERIC)dpy, finalize ? P_Free_Gc : - (PFO)0, 0); +unsigned long AList_To_GCValues(s48_value alist, XGCValues* GCV) { + unsigned long mask; + s48_value l; + char* cname; + s48_value name, value; + + for (l = alist; !S48_NULL_P(l); l = S48_CDR(l)) { + name = S48_CAR(l); + value = S48_CDR(l); + cname = s48_extract_string(S48_SYMBOL_TO_STRING(name)); + + if (cname == "function") { + GCV->function = Symbols_To_Bits(value, 0, Func_Syms); + mask |= GCFunction; + } else if (cname == "plane-mask") { + GCV->plane_mask = EXTRACT_PIXEL(value); + mask |= GCPlaneMask; + } else if (cname == "foreground") { + GCV->foreground = EXTRACT_PIXEL(value); + mask |= GCForeground; + } else if (cname == "background") { + GCV->background = EXTRACT_PIXEL(value); + mask |= GCBackground; + } else if (cname == "line-width") { + GCV->line_width = s48_extract_integer(value); + mask |= GCLineWidth; + } else if (cname == "line-style") { + GCV->line_style = Symbol_To_Bit(value,Line_Style_Syms); + mask |= GCLineStyle; + } else if (cname == "cap-style") { + GCV->cap_style = Symbol_To_Bit(value, Cap_Style_Syms); + mask |= GCCapStyle; + } else if (cname == "join-style") { + GCV->join_style = Symbol_To_Bit(value, Join_Style_Syms); + mask |= GCJoinStyle; + } else if (cname == "fill-style") { + GCV->fill_style = Symbol_To_Bit(value, Fill_Style_Syms); + mask |= GCFillStyle; + } else if (cname == "fill-rule") { + GCV->fill_rule = Symbol_To_Bit(value, Fill_Rule_Syms); + mask |= GCFillRule; + } else if (cname == "arc-mode") { + GCV->arc_mode = Symbol_To_Bit(value, Arc_Mode_Syms); + mask |= GCArcMode; + } else if (cname == "tile") { + GCV->tile = EXTRACT_PIXMAP(value); + mask |= GCTile; + } else if (cname == "stipple") { + GCV->stipple = EXTRACT_PIXMAP(value); + mask |= GCStipple; + } else if (cname == "ts-x") { + GCV->ts_x_origin = s48_extract_integer(value); + mask |= GCTileStipXOrigin; + } else if (cname == "ts-y") { + GCV->ts_y_origin = s48_extract_integer(value); + mask |= GCTileStipYOrigin; + } else if (cname == "font") { + GCV->font = EXTRACT_FONT(value); + mask |= GCFont; + } else if (cname == "subwindow-mode") { + GCV->subwindow_mode = Symbol_To_Bit(value, Subwin_Mode_Syms); + mask |= GCSubwindowMode; + } else if (cname == "exposures") { + GCV->graphics_exposures = !S48_FALSE_P(value); + mask |= GCGraphicsExposures; + } else if (cname == "clip-x") { + GCV->clip_x_origin = s48_extract_integer(value); + mask |= GCClipXOrigin; + } else if (cname == "clip-y") { + GCV->clip_y_origin = s48_extract_integer(value); + mask |= GCClipYOrigin; + } else if (cname == "clip-mask") { + GCV->clip_mask = EXTRACT_PIXMAP(value); + mask |= GCClipMask; + } else if (cname == "dash-offset") { + GCV->dash_offset = s48_extract_integer(value); + mask |= GCDashOffset; + } else if (cname == "dashes") { + GCV->dashes = (char)s48_extract_integer(value); + mask |= GCDashList; } - return gc; + // else error ?? + } // for + + return mask; +} + +s48_value Create_Gc(s48_value Xdisplay, s48_value Xdrawable, s48_value args) { + XGCValues GCV; + unsigned long mask = AList_To_GCValues(args, &GCV); + + GC Xgcontext = XCreateGC(EXTRACT_DISPLAY(Xdisplay), + EXTRACT_DRAWABLE(Xdrawable), + mask, &GCV); + + return ENTER_GCONTEXT(Xgcontext); } -static s48_value P_Create_Gc (w, g) s48_value w, g; { - unsigned long mask; - Display *dpy; - Drawable dr; - - dr = Get_Drawable (w, &dpy); - mask = Vector_To_Record (g, GC_Size, Sym_Gc, GC_Rec); - return Make_Gc (1, dpy, XCreateGC (dpy, dr, mask, &GCV)); +s48_value Copy_Gc(s48_value Xdisplay, s48_value Xsource, s48_value Xdest) { + XCopyGC(EXTRACT_DISPLAY(Xdisplay), EXTRACT_GCONTEXT(Xsource), + ~0L, EXTRACT_GCONTEXT(Xdest)); + return S48_UNSPECIFIC; } -static s48_value P_Copy_Gc (gc, w) s48_value gc, w; { - GC dst; - Display *dpy; - Drawable dr; - - Check_Type (gc, T_Gc); - dr = Get_Drawable (w, &dpy); - dst = XCreateGC (dpy, dr, 0L, &GCV); - XCopyGC (dpy, GCONTEXT(gc)->gc, ~0L, dst); - return Make_Gc (1, dpy, dst); -} - -static s48_value P_Change_Gc (gc, g) s48_value gc, g; { - unsigned long mask; - - Check_Type (gc, T_Gc); - mask = Vector_To_Record (g, GC_Size, Sym_Gc, GC_Rec); - XChangeGC (GCONTEXT(gc)->dpy, GCONTEXT(gc)->gc, mask, &GCV); - return Void; -} - -s48_value P_Free_Gc (g) s48_value g; { - Check_Type (g, T_Gc); - if (!GCONTEXT(g)->free) - XFreeGC (GCONTEXT(g)->dpy, GCONTEXT(g)->gc); - Deregister_Object (g); - GCONTEXT(g)->free = 1; - return Void; -} - -static s48_value P_Query_Best_Size (d, w, h, shape) s48_value d, w, h, shape; { - unsigned int rw, rh; - - Check_Type (d, T_Display); - if (!XQueryBestSize (DISPLAY(d)->dpy, Symbols_To_Bits (shape, 0, - Shape_Syms), DefaultRootWindow (DISPLAY(d)->dpy), - (int)s48_extract_integer (w), (int)s48_extract_integer (h), &rw, &rh)) - Primitive_Error ("cannot query best shape"); - return s48_cons (s48_enter_integer (rw), s48_enter_integer (rh)); -} - -static s48_value P_Set_Gcontext_Clip_Rectangles (gc, x, y, v, ord) - s48_value gc, x, y, v, ord; { - register XRectangle *p; - register i, n; - Alloca_Begin; - - Check_Type (gc, T_Gc); - Check_Type (v, T_Vector); - n = S48_VECTOR_LENGTH(v); - Alloca (p, XRectangle*, n * sizeof (XRectangle)); - for (i = 0; i < n; i++) { - s48_value rect; - - rect = S48_VECTOR_REF(v, i); - Check_Type (rect, T_Pair); - if (Fast_Length (rect) != 4) - Primitive_Error ("invalid rectangle: ~s", rect); - p[i].x = (int)s48_extract_integer (S48_CAR (rect)); rect = S48_CDR (rect); - p[i].y = (int)s48_extract_integer (S48_CAR (rect)); rect = S48_CDR (rect); - p[i].width = (int)s48_extract_integer (S48_CAR (rect)); rect = S48_CDR (rect); - p[i].height = (int)s48_extract_integer (S48_CAR (rect)); - } - XSetClipRectangles (GCONTEXT(gc)->dpy, GCONTEXT(gc)->gc, (int)s48_extract_integer (x), - (int)s48_extract_integer (y), p, n, Symbols_To_Bits (ord, 0, Ordering_Syms)); - Alloca_End; - return Void; -} - -static s48_value P_Set_Gcontext_Dashlist (gc, off, v) s48_value gc, off, v; { - register char *p; - register i, n, d; - Alloca_Begin; - - Check_Type (gc, T_Gc); - Check_Type (v, T_Vector); - n = S48_VECTOR_LENGTH(v); - Alloca (p, char*, n); - for (i = 0; i < n; i++) { - d = (int)s48_extract_integer (VECTOR(v)->data[i]); - if (d < 0 || d > 255) - Range_Error (VECTOR(v)->data[i]); - p[i] = d; - } - XSetDashes (GCONTEXT(gc)->dpy, GCONTEXT(gc)->gc, (int)s48_extract_integer (off), p, n); - Alloca_End; - return Void; +s48_value Free_Gc(s48_value Xgcontext, s48_value Xdisplay) { + XFreeGC(EXTRACT_DISPLAY(Xdisplay), EXTRACT_GCONTEXT(Xgcontext)); + return S48_UNSPECIFIC; } #define ValidGCValuesBits \ @@ -134,29 +117,129 @@ static s48_value P_Set_Gcontext_Dashlist (gc, off, v) s48_value gc, off, v; { GCSubwindowMode | GCGraphicsExposures | GCClipXOrigin | GCClipYOrigin |\ GCDashOffset | GCArcMode) -static s48_value P_Get_Gc_Values (gc) s48_value gc; { - unsigned long mask = ValidGCValuesBits; +s48_value Get_Gc_Values (s48_value Xgcontext, s48_value Xdisplay) { + unsigned long mask = ValidGCValuesBits; - Check_Type (gc, T_Gc); - if (!XGetGCValues (GCONTEXT(gc)->dpy, GCONTEXT(gc)->gc, mask, &GCV)) - Primitive_Error ("cannot get gcontext values"); - return Record_To_Vector (GC_Rec, GC_Size, Sym_Gc, GCONTEXT(gc)->dpy, - mask); + XGCValues GCV; + s48_value res; + S48_DECLARE_GC_PROTECT(1); + + if (!XGetGCValues (EXTRACT_DISPLAY(Xdisplay), EXTRACT_GCONTEXT(Xgcontext), + mask, &GCV)) + res = S48_FALSE; + else { + res = s48_make_vector(23, S48_FALSE); + S48_GC_PROTECT_1(res); + + S48_VECTOR_SET(res, 0, s48_enter_integer(GCV.function)); + S48_VECTOR_SET(res, 1, ENTER_PIXEL(GCV.plane_mask)); + S48_VECTOR_SET(res, 2, ENTER_PIXEL(GCV.foreground)); + S48_VECTOR_SET(res, 3, ENTER_PIXEL(GCV.background)); + S48_VECTOR_SET(res, 4, s48_enter_integer(GCV.line_width)); + S48_VECTOR_SET(res, 5, Bit_To_Symbol(GCV.line_style, Line_Style_Syms)); + S48_VECTOR_SET(res, 6, Bit_To_Symbol(GCV.cap_style, Cap_Style_Syms)); + S48_VECTOR_SET(res, 7, Bit_To_Symbol(GCV.join_style, Join_Style_Syms)); + S48_VECTOR_SET(res, 8, Bit_To_Symbol(GCV.fill_style, Fill_Style_Syms)); + S48_VECTOR_SET(res, 9, Bit_To_Symbol(GCV.fill_rule, Fill_Rule_Syms)); + S48_VECTOR_SET(res, 10, Bit_To_Symbol(GCV.arc_mode, Arc_Mode_Syms)); + S48_VECTOR_SET(res, 11, ENTER_PIXMAP(GCV.tile)); + S48_VECTOR_SET(res, 12, ENTER_PIXMAP(GCV.stipple)); + S48_VECTOR_SET(res, 13, s48_enter_integer(GCV.ts_x_origin)); + S48_VECTOR_SET(res, 14, s48_enter_integer(GCV.ts_y_origin)); + S48_VECTOR_SET(res, 15, ENTER_FONT(GCV.font)); + S48_VECTOR_SET(res, 16, Bit_To_Symbol(GCV.subwindow_mode, + Subwin_Mode_Syms)); + S48_VECTOR_SET(res, 17, GCV.graphics_exposures ? S48_TRUE : S48_FALSE); + S48_VECTOR_SET(res, 18, s48_enter_integer(GCV.clip_x_origin)); + S48_VECTOR_SET(res, 19, s48_enter_integer(GCV.clip_y_origin)); + S48_VECTOR_SET(res, 20, ENTER_PIXMAP(GCV.clip_mask)); + S48_VECTOR_SET(res, 21, s48_enter_integer(GCV.dash_offset)); + S48_VECTOR_SET(res, 22, s48_enter_integer(GCV.dashes)); + } + S48_GC_UNPROTECT(); + return res; } -elk_init_xlib_gcontext () { - Define_Symbol (&Sym_Gc, "gcontext"); - Generic_Define (Gc, "gcontext", "gcontext?"); - Define_Primitive (P_Gc_Display, "gcontext-display", 1, 1, EVAL); - Define_Primitive (P_Create_Gc, "xlib-create-gcontext",2, 2, EVAL); - Define_Primitive (P_Copy_Gc, "copy-gcontext", 2, 2, EVAL); - Define_Primitive (P_Change_Gc, "xlib-change-gcontext",2, 2, EVAL); - Define_Primitive (P_Free_Gc, "free-gcontext", 1, 1, EVAL); - Define_Primitive (P_Query_Best_Size, "query-best-size", 4, 4, EVAL); - Define_Primitive (P_Set_Gcontext_Clip_Rectangles, - "set-gcontext-clip-rectangles!", 5, 5, EVAL); - Define_Primitive (P_Set_Gcontext_Dashlist, - "set-gcontext-dashlist!", 3, 3, EVAL); - Define_Primitive (P_Get_Gc_Values, - "xlib-get-gcontext-values", 1, 1, EVAL); +s48_value Change_Gc (s48_value Xgcontext, s48_value Xdisplay, s48_value args) { + XGCValues GCV; + unsigned long mask = AList_To_GCValues(args, &GCV); + + XChangeGC(EXTRACT_DISPLAY(Xdisplay), EXTRACT_GCONTEXT(Xgcontext), + mask, &GCV); + + return S48_UNSPECIFIC; +} + +s48_value Set_Gcontext_Dashlist(s48_value Xgcontext, s48_value Xdisplay, + s48_value dashoffset, s48_value dashlist) { + int n = S48_VECTOR_LENGTH(dashlist); + char v[n]; + int i; + for (i=0; iCga=B*p_Wh~v^%o{h^SJoLgXKzgx!fec$zQhf z@fn-oa_#Hoa<$Xp9?-4VcwAe*YvYptjALGfzvk%W&Jp4PN zi0dDqiTXFm+jzF)S%~LyJU8Ou-(`xpF3@y}riGxdsNVtC?=Fnj z@wCVDfaYxjWpz_DE&vVU32036DxN(W|4Gx=K|jLt2f>gYtpolD`Y${$;JFS@2+tfm z{5u2B3_Q=^c^41=uEetxPc0tn?+|{xgXeD+L({zue2@P93Fx1#(%uDd4W3W&ypQK< zJkGz{0q%D&%JuJuKr8UPhbI-!(|D%i*^lQfJWt|TkLL|Mf5lUThku{r>5nJy0sgrK z&z*Q`@NB@tzrWy_gr^eEXLzdd+<~Vnp1ycq#>2lG6p??Q#lLssxgO8o@l3_Tza4m% z<2ju`|E&h??s9dpu6!n!!r?&^Y1xhnfEMXwl~e)5x*uHes4mD4q6}{rRnPS z@!!PWj!1)yKgD;2WOBwx%^eKt)xXczbeM5fyB@|Aug{&$TDjBkZx5r%n_$d}PZ%*- zOZh>s(!U34dYYyr!|{0VB;h#=DfF5<6TkR3UJ=(UO-VZAIalM0HMPiG>xZV-f{wsb zhG!n0Qat>-8PBCGabi!w>Yrug1hO2QoA7&y#?wGE_3u8Qo$zeNlZWSVJl5YL{1}R7 zES?n>6Z9NBTk&kd^E{qzc=GYA!o$Bcil{+j0Njcv8BY%t;CdAFMLZAUc}er`1$_k1 zY&`ej;a@*ROl_zk8vyfBk&R6$8`9UNT43rD&WuHHvzBL;oA|O z@V97s9;A~Fe4`Fe1RexTD{(rtA_WiUHV_Pg@0)iafw2&=P$uXs;IARi z8XiRWeBdiI9*poMz}q#>09^$PBJ!U?e!a#4CU6vt+5c(h13>}KaE(9$TOlw`N9Y5( z(~-dU?P2vEj~4h_L_FvSABXryfN8gw{tpPRcZB~8+yoqA|5Lz+zD#%`TEgEUfpp+1 zWW?|!gb#9rcL5#?OasI4OCdkS5#9^ovmAIJ@Ow&HC-N0KN_$OB@m21zrVgDa|Lq>mA`=0&fMTDQAZN0p95d|1aKzgO4cr85^?66gCp;CcKoW4e1E&BFa^S(p$NI~} zk7RUi;1Dt-lZK}UB8+uJIEDBu z0eC*}1sV^5{1S(JE=slv*h=sG00h>9Fl>HfCWegBUks)oro|9*lLmGz+-`tp44y(YA^+u3l-M* zdOQWtav$Pz?g&DDmP7tNq(2{crIvpH;Y*_70ha-RRbc#G3;Y#$J@C&OKMuSV*ec*O z6ksQ?)r2o1{2=f$Ex!&K906_wp9QP{t_Q|X!CQcvY>fVY7lH}TczsW3fo4oPQ&1yD z;HWr+@N|TC(&5{Yz#w3&%f3VSSYXOC!{fkHfVq4lZUUYK%z2;qb;O@<$$bq>6AM3ya5k3WYuC8$+GMoj>g$vUg ziSYTrKUnjBDg>4|66glJ3V0ey&IscXVLkACU4W^;TY>+h@d8k5L2|n5G}jdf--+;# zb@&|MgTU4bsSx-G@KqfD%pj9Z0!E>ZPz2fpY_-T@L`Zlp+5%@mJ{`DD%dbHAAYiWl znO+vc$2#Ok0#9+^3Ba?6+5e1Cjs)g|F+k%f5Lg0yt;TB+z6$s=jUNYI&jd7n3V18< zT8*Cv-suQ$WC0vXeHY|recMjW|J3r+kd$*Sn1Kifk$`2%t^+;-%$)-ZJRi8;k--jR z*aS?A$?!iQJfYI-o1*bO!0Eu&s8|6!s1ox(!X?7}V2p(Tw^&SI7ZRKTY=!>`;j@4b z>F@_Z=K}{dei-3P9P$;ws~mU>@Ot2zwLG_FTPrdDTYbETP3DO3JR%$f=5m?^dI|W5 zBm4m5>w$073BHE#CSa?D4ge>>^MzoE&zf6*nfUP`;-?27U?pIJF~||&Kfq&wr|AMT z0#5;c8cNuc84mH!sSpynvTIv ziml;c(w?wGNBE-`T!W;U*cFoYak)&=zR-12%rOn57&OO8&vLmMNe4jpNvUgfpqOjC zq?pruq=PUPNa5f~CLN4zFX<4MD~*)inRNcZ@XsV227d=Blz9Lt_6>tbvDC{V9SQdm zDYg%zNU_%(ONv=Jn-q3y5-FS@d8A`8c1W?O^^;x*uP^C%IBP%y?XxkM$e4h=Fli2S zfpj8tfOHacfHW66Kzb2$fb?SM0BIg{fb@6J0n*9P0n*Kd2Iv6kjnDzoInaT+0DjDc4v=vZbb$0`=m2Q}bb$00=m06E`v%fmp#!Az zp#!7~paZ10LkH?XF`0Tv{{S5zT?ic@T?8Er20O?}r04XM` z0i<_B2T1RM4v;Q^4v;Q|4v^jp9Uz4=XOosd2S}Ge2S}Gg2S`hy1Egip0n$HW9g@!< z_dy3pS3(C!gU|ue`=JA*A?N_gHJ}5etDys= zYoG(9e})c_uEqFY#~82p0BH?$fb>1+0O|YC0n!hk1Ehzb1Ee292S`7H z4v-#(4v>Bf9U%P|bb#~|=)iXz|3_d5$oLdGK>8VUfb?_d0BJ3Bfb9`!G*-h#8rZefCB|-WK;@cF$FS- zD+Dhg9za|!xP&;1xJ2*@;!(tff>#n}6VDdBia3whFSwl8Pn<1y^|z>hK|UE-!dORv z*~FQG*Auf!kz~OY#D&Bz!JCN}6F2+@M*l6uCB(IYw-T=;t`S^GTuxjic-yzIe+BEv zs1(Ky3RDnR2;ND&g}7XB6>%kTiQs+2JBSMfA0VzGo-Ozw@d0AL;2Po@;%vc(0%RN} zBTE>EiED{71s@?ciIWA_5;qXL1Ro`CByKp#7BGojZs1zM^~BtxM`{E&5GNB?2@Y^J zFGwS!QW%ZInZy->n}`PxmkV~m(idbAmk9O}k0LG<>?6)5o-H_mIFHybIGNZ_oJ}0) zpF&1H8CfEbMm(E1Q*b(Q0dcb6OyWXfm*9THi-{YW*a8EHONeU)4?f`v z&Tc~f&HXPY<1iUnB9Kp9OPncq7O_d3EO<6?1F=i+9O6dehF{qN1;nrsXaT|ViRqJz z)CevlPA0DU75O*!FCrt2j7kw$Oq@wvA$SS#0OE4NCB#|8C4yHFk0LG8Q1#yMooy1#+%LP{vR}z;9-bcKHxKQu`;ws|V zf)5fOAodHcA+7-qM6!i(h>XJ&$P#>*xRy9m@DXB@I9YHlaRaeS@KNGM;)b8u0w%F5 z4!BluJ+Y6tMsNdhavatlkt$&vCnJplm4X|IGl?q%HxUmYE*I>=Y+sN?Tq4*@Jc_tb zu#Y&Kc(&jK;yhx%;ACQd9M&I^Y+dxM zaYG|pU;uFmajoD%#4Cww1ZNSK2gs-r#&9y$5myQxMO;B#A$TnD7UFWj*~FE^C4wgr z?;tJ|oJU+mJX`P-;seBf!G7XE4H?j%hWnp_8ZxqlaftXZahBl2#I?kkf{zfJ#L0qd zi5rMrf{zk65;y!;>;SPV9=KL;Ju#16BQ=5p4P+#fQ6-Gy#A(Epf*Xl5i7Ny*5f30P z7wp2)w1DTTkrKgP;!(tff_=o<#Ipq_5a$v5i39zU$?%hrEdnXT`NUa*(}-siX9`Xy zE+9@8oJm|r>=N9Mn3n`14aeC61BgqAYXuJ?UP)X79BA&JMMgOpRU$B)cpY)2;8DaC z#1(?a5^o_c7o1I8Nn9d$67de=Lcw{&Rm8IePa!@)>_3kDoBR98s39X;1TH5&Oq?Y+ zpSYGdQ}8TelQ>!MY~luDm*6?Xjl>N@db;PrYGX<|FE+9@8TtUnuuZTs$xblkW!S};~ zVqfUmrtp$Sy}@xjgDv~y-hrh{eXgRup-Zfy-|`gLP}U6v9{9 zdt4fla}{UTrG)QrmBy#=6muj04PkXygI`9?kd(wctisJ(r~dj=b$r^F#`ihqg{3w0#FIsXUa!l7LQDbo>*j`EwA>9D;P zBij-Vm9Idn2WxiMdfYX^J-fg3hDzbbafL2V_627!cgcF&Se5vmU`<^dx*~Lq`Q~0w zY0fk&)o*ddg$2xQLZpx}e`rRhtl*4B32yY8SB^!YdwCujXCx0B;b|Tt=z?*^?4biY z^>fHQ!H_P!oR#}r=U=7DJI!1;#;BQ=dbY|s!EZjR1)>dxYCmkpn%ZRaIIoANi^Q5_ z$C}nwtZ|N5!MApQ>2bdmd~f#`-cX5Z7+=3>=B^8jYex3$fy+?RA))dTwqmrs%<;x= z6T16U>%TU}IDTILUSlq>I>>5}@OX=3&b*NIF}@qt!83D=kw3hDua8DsftL6iHpe_M z&Js^QVI>`8iYkKal-B`UbA&Uohhw3uYRI^WK=@H-h`1JIP=+(s22O8A^D zVWqgi=9rIsuSah%_ju{jRfJ9T@m2}z&1K`f zZXsl0{$%M|Ft?#Pw+T^P0rcOP+{Pu|x(k9QRQLw6(=!s*SsF)HA5sqowx4G;EB+T z2G{_1`I~!#ffF+PM?o%(eNnq2a zna>Zmi}$77-=~b=oo1FqBRn4yA<#w^Y;}J$!ZIrYIyaPCk8WtRy5WbRx*HlJ=V2C> z3Sg+BD-M09yJ9UGBDO0&JlD|`0Y_h`t`NP()Kl^TrkZbT-7ARu8z#tUxmL5Hwgoj5 z*&7u}rpS;O5!W_|R76F3QY0ZN5;>`QNZRGD~7)HdE$%Tm1?un9MaXBCZ!9@@`b*S&Cc`Ba%;%s1g_K zqDa>mk<}Dg8HgrxkTSqgk#!X56&305 z1VlngBp~X3yx8OFF(O$M*&P*mpCaeRh|H(RqfwD>DAF+p-l1r3ucypCQJH$m z{M$BUY?+EzA(9^zX{5+LC4v=dxmu$R(8e9>wqR~!dFj%|ZpG~)KYMU4g4u?PMwt%$ zFa%x1w8JJcz^wyDoohUMVYfhrG89}ZUSu^9CZ1(Wk0)$t=PT}w0?{6s4VE@FE`!7i5RT$nNF+IXl@LAB4S;I9qsJ zjPRnEgcBg^i+tp^5}r(1O#O`oo4M>~nSVLmnRqfHBuD;+2vX=PM4m&V!26Ys@K#KO z6hz33++jty*3Mv#CI3i_d>Z7lBNtin^J5DClA0TXRnjWy5G{%Ha6>gzv)mIS9EuUn zESY-J9XX~ZFEnA0vOPk%38hQx)ym|pU|v56c_TQEQ?*-d7q-aMmAgBpumd3Pi#&pR z04l;?bpaX+>(mNURJlij*C9go*WM8%(^qBrE4hH z!;)JYBR2|i*-o`we6~&oN*!r7?w!!*+Vul93wy+ik&IGr%=lQj53%%){a zn?7Q$zM)lhgX&IaF`AB$(S8TI$5p2m_K079E|$K1E=hM}aej*|wpw9+^FuWi%YF+f z)-y#fvPiG%t`|s1a>=>If}DPVf5N4%$6Zx8cOPc-DnCc%JhT#qRHok?ZVx@-r2EZ2 zv79u&nHzXrL*=3rDy(kRsdTgd!c7F$`Y#ZC#{={KjI zqf+I*&4ndf%rXJ0<~Q%N6R?sjwmIhM-$-S5B(iZOzELqT{*t`v+$wNTV=VmG1Ssw6 zaJ08<7c0fSc8bD5uAOa;xxjdEVwb?;>fF`cBuT8OH>>JF?yxR@w8Hysj=AXzon={7 zF&37qsREJian$^9?&@G}1@|Y-wZ}Y zyjtW!M2-9~#fz!%&+DW`zV4571LBzq<<|Pm zPSI47w8&nHKw{}pS5ZfmiVyZ(CzPzEHfSkMRnnNI-@NNIyD>X!u{)F)I_h-InbTkO zKUimI)-+ovMRT&PGBmcTNvamfunK?%!>;Kf)&DRS^SWq>U;9Z#%vXoE*jNP2pED)M z+T^XaHhIcoV8qLo6GJ_idjzYJBV3hWVc}Sn9Pyi3Dt(%u8r%AVpBCjGgqGWu9zB1u zFY^tESL;m6Dg<*6%V2;4eWq)XduZ9x!zXE(lb{a4+*(Yv?#Np7DEQ4${!#Ef5geS6 z?|#yjH^KMT&68>QaQi5~9(-S2V44c(6b)!VKyuv$ir<5LHP@j`zqeWzD=J83)}>(j zJlvNu9i?!M;AT4;pqtbZl|<{w?TRo|jlCq*^!YQ*My08iX;1K*-`E_p?-xe%@45}Z z{uW&etN)T6Bpe7oZgb3O|1!!arkC)tuKAQQqpjEV)Hpl$vGh;|zm%u2Q znCksu?563Tae60u*wR+~4mQWU=@ZTYsxuYl(`BH&KzxiDs8MV-FrZblreLPDYlFcICB=$hn}Y>Tn%{gZmIJjdkL5tM@3lE*kI$tyf>oH`JBqQ5 z@G?=jg{!P+uKIpm2Dounl;QtHPss7TH}UeU0Y1 z-sYGW{)^2c>plA4#AeERXBf=t4d?1cY0{0Nj7?*~KAD;2~BDEl5^PZbYVzbJb~)bwLGx17A>fCD|D4I!rANH4p; zx=V^fsp{t5DEqjjA&6{_K|LK!kCwlyoAKtQ=>f|X*0>M5?)$AM{(`}<(&h;@lrfIb zt_26)fXK~Jk+Br{AV$QuA0m^YBEP3dWsJytiuATb0{((IlnKYkc;AA|Z*~_J+)a^r zF(T{UhR7#Tkq|{LjuAObksVQyKU1V%j7VDGAY|4=Wj0a99V3%Zk%du_7b)`D5YYL^njlT69G5c$R)Uj-*9 zGA%}=>K_o<8x=`-3L-<42>mDa(Hrzu6YzVs=KmR`Atf%dQ%yU!J zGcR%DRvd0(;T@H~=?pnwnJ}eSpm3nnr5wW}obmC%@AE)Mc zHXSz3zhq<}&0h9Jol%~;Nm79XSgEK#Dwt+B^+>BY9ptPDt6Jr8w!KzIRw@!0WOP)_8n2%UG!TNKBgxa01yE2y} zTw2NOVZ3`um+m#nFwO*npFi1|AQ`2mcwq#~o}0Zqy5!;77rR z-DX_apM+y%(@SOBUF#jVFF3chI+vGo(fuaYLO7?&5qF9d#grvafE1ZD00+7Ot+Mu^{bFK-+;W5h8+RLndEwJL)mA}H~nCE>cm6z!enjq67 zCb?PttX`fMP>Z-~M_;up^(8DdTF(sbL6P=^y{br4YeSd&&{smyUo&b$UNrq^`;?yR zHnu6$F-z5v71(0dA$MC30#M-|=0JSK0;-~y3pkdYdo);87Y7oad*JG8uZteGkHY$s zjt*2`ts1l%Am`P3v`3vKmsm=r+6J9F*5;U3z00-N(%mI5=?O%ALOTIv+;WLTDLyQP3wVV0Y}A~CzhQsL3by21f^Maw>LY!|Hh2qI@iMed=95hJpXBHpOT0~9G#A^~UxlNo*(GGEx5Q}767 zrp6>w`!PhKJW;gQ*RV zB(cv{vZVy8l>2RyXmPwB=Y?h8>TIw^e8=4rS$Du)uxRR=8 zyxS~&R9h{2U|MR`TT$upZAo)x^_%7yR%4sp98%@xb-l3`iB-N0iCX!T?$x%Mh(sfn ze1h(NwyTwF!8Uex_x@JB&`1S4DH4i`?4ig{wsE1z@FU*AIE{jlVhPX%|zLe!P)%XH=w~ zB44S2Zm*yQltc3{MPtU&hfmjg@u8}6bcjrf zQzLRL9*Cq0(s7!@g+aaFyaIPKMIEANP_JThBA%Dy?!P03eF*h$-302mMIAytXv-!j zS)5Bty069vt3#+8ZQ-sl2|pMks}7;gw`Kdp$le$utInTJvt`fyJ8sRY6RU03fzr3Q zd1%)#M;$=@3&&w{jxvgg%L&&ZOa7G@d36BwlqH{I%Qso__s7Tw)G^fER)nc`gml^b zp~+{)L{KMDlP&ptTYi!ye|C&K52ZYj?w0%ww)`xS47al+V&v|Lk-Hpn$@&0rALZ-=!0EPJzZnTDbMhgW zNt;2|c%EZggC+6S_rUA3)pC$IW=pp|+j7%^S{N{2yNh^~=n`36|=7q2ruj+U^ z)Jox8n`1t*k6urnYhh7zC7f0jsHN@iHGkCQ(`z;4{)Npke|tk$2orl^b?$m7nk&)= z76wKbOIRFW=gSVll49fJ z>$IqZoNGa%$|11@UKy+Nu%OjxJnE3x3TIJNLe902#*z+>bFE7FsG}lst_6{qRw9iB z%2;mmnmJN#x+R7_61AeImnQ>Jle01Jcv=*INVlXEY~eeKiL zZ!Az25zemNQ8798g4kC>YUa-anXesl2h~F8zlVYx|r_4zQ5^lU8CVBenzYt43!!a-ao?`)mogVqudiqat#^ z1(CT*1cj6XE^wyXkz_pwV^ct^3UKJIQ11^YkQX(*n=G$Gc>G^mc59=VdpH2zrjL0PX*VJ)CPdr39jq(_=X>P!nv9`RE>2 zGBY&yxUMIDh36iYjjFz5peo&fN(ZQ2Y4GfOThuxz9))(|Q3#Jc$rdw zeO{_&XW1>N>LZUwbspHJpuN>WBX-!LQKeRx-(0MQh&X|Q?}by|Vcwys^*05*9ql>m zxZm_!Q5?zX)J9lA_K<9qTIp^N6AU<0Y*s4BeUx25o#Ig|$ZvkE)VPfly)BFQtQD(u zf`$qTU<{cnPnlvnrU=D|JPwZ#bOSE5#)77Q^EN;_jLEl_^;9ZT?-vDurj4{xR2(Q# zzgP~G=yY=AI7$gYi(Iylx$70JMGdwVHCS4tyt($S=&g2Ici5#dM|#Nj866m%OaEeX z(DQMj8OMzUL({LB#+q%FnxXvNth>n=2$e|b!KU2xIL~!WvHD#WUkvaZv$n>#f`~^Q!lVOCIdsKnwm#2u%OD0lJTnX{S|4R zRmY6euFUAYZHLM?x$KkT_P7T&8CG}b`(sj9p`=BfHkKbVes^W&b>%Ggg|LLd4E_v` zV6bRTc&>T%wfeSIXoe3FFq%@zvB*R%f;ow$cXx2(3g)=g;Jb@E22=T?u4C}T#&!4+ z^mhoRt~+KNxH8*=tUBhO{kxrDpY!{Zq14Uz5nfmy9Kj#EYdglDnT$_|lmv4cR9NYr z({_L12~KtgXU1>b!NhVpY}_jJWH5E>F=J_dpVWiW6Dyh2g!cWK+%=oPF}CHu7pMX+ z>BX##OdZX{{clfj zaZ_ph=3~Y+GkdW6?w;9eAe*~%>^gT*Vs$&*zft#e>ZWgGy*Ej<{b@nAg0W}jFgEdt znFDX278cY(AURJdvZ6gEr zyE-<<^T&>k$hfXE6bCAL<-CsOr!O1Ju1;?+*_baFo3B3GlXlFgxjHkWjd-1Oq|075 z5@+?I;NV%kJ!uWbWwTNPnGJZY?nF{q4kkeJjjw1ijyI1;0N1?dV|;L%zl4=cRsmW3 z)mB$*I<6`M@oDCTlw>zaq?RWfcHez=lW z@Lp7C#QI~#l56`1(!dK{B${yrHRC5}MwhlUBdJ_>aqvZ%U`rdDi`nZ}KvnKgwi-xu zu)wtqc@LE(rs7OD_lgMmM2lonq*F&D^Saa=mf_TT*daDQs;1r@?2nfkVXPTmm9L?W3@H;zPR~lj{Zr8yOc7`-~YU z5xb8bClOCaGhbE>ft*9SAmRVHcUab&!^(G!=W z4G#h`pd8oVknTH-pist%F*&n|T_Qh2) z?hTTp6*DnB70(^H1ixY3VQOx?aalS$s9-94>_W9#Ke0Ei7?=6kmk-TJxsBoBi6^ne zRl#;IU&}bZ$f`s2d+4Hgl-+Os5i7km3=@>EYg@{f%#B0ibXuiKW7(Wuw1JP!Im^?p z!FYR4U(bLBqhU_3Ko#m?ojdK1XRX}2KI*UoZeq+4GQ@(Z994S8+em9;&3>ur02|Zr z&nEr~)EJ;d^jr8U~)*}1^wPljISb<*2^2O z^L*wRPemti^%`5jY_{EfXuFNHpTRgfxhHyq8AOh^SwmA3Fk@rl+Zfo4ZU|0E_UaNV zE}5Z8Wa7F3=XQ}w<`mS<*Q9HW{a)yrgixXnX@^t7EWXHvijuvdr9RGDOOn0rkAor+ zY><5u(o?m?nQwFHxTDu1L055dtXdVdkLdzw*fH^J*`nl7wrUKuc#SI`TBToi=F8ke zo5zf!?k26k7rI>3#BXovF#L?SsHt(` z%{_)QwqqLnUnW7S+k4L#;hQJ*VL_JgCA}-mOy$MF>xLb6;H<(`cexrTKi)jFQ#r({ zz3VV`q`<@Qk)4DFV-~&)lhR-ezGeIwwJiAw6fT&-rrsa#Z7@o1>DqzmFCEBAR@^d7 zrreE)`0*{j^PINb=r`|5&lgV_OXp>J`fWGHKu0i% zcrTWiy1ICWB3jmY$R#RaS9l@pyDBPj`VF%qLL8ZuGdao1SMBPE|Kmq#6GHV<0GrVJt|>erq0@U{RniCgfyv`Vd~tK+ulN{2C(@Z&5qy6(LWx1dLXuc@_j+koN5<8sveT&2_~*&F)vHd z{pKF*L$s>)!3o~|*(ba1&;G5K*tc+geK3QDusXZpZ|G)wPg2dbDx&OeADk@vl0eIi z2~2HjC1P6T)%6)B^{H3&c@$?#R(P~NPQ@PnbBtp9k*Mlksf%OdGd(;xA*j0EV^t=H zmFa`ZgiH6d52n^zrBT|_qFo$mSxFg{f9URMIA$FDL;7guT3V&7if>Ve{bj$0QFqrx z$ImqLahwrpJ%^-KAEWoe(E;h24vlEQHLJ1v39czucS@x4syKN*U3}@La9;cU6HcaK zI$n9%Z>3dUY@lG8H%R1+efS;3d+wfb73hPc`|xoNS98CzK`*!SiB*B0ICAM|_7-C$ zy_gel@2&-%hA%>>?OZ68Dj4jnw|onmqWjN|7;4z|sqSCg6dcFyhib@r+S+nRaUyr2 z3Ccr>Dw7E+kIR^c>-3Gc7j=_uZsc{0Z&(Z2C0nJs%#96bXi~XKeq3jafMPfV z;kS*r(Q4rd9#xf6XI#Y4m1-+GT@;AE=X{*r==d4F$V8ohYK(mM?yu0`eoqJsX``e_ zl@JW~?k{~o(E$lflx_%98#*Y>*c(b@_eKmPkIGmDY2CWBmY>9IE)6`kv$92TFcFK6 zVo0&ef@zTzcS{=K32~eHvRsi6@?oNuUO3bOU1p3aPFHKBG_4mio7CvvC>od36mj1t zDJneCT^-MWL?~gbVk96R;gl?na~0=mZIi7Bwhw(ni8Pj@-&)dbV+BiE#`+JGRxtjF zGDvRQ$&B#3$Lv$ptbR{$%?{QfeGRnK6+9dl&vB_tOVaXb5Ek59* zKUak8`K;q{v6qo9U_;;7a)D5)l)zd8O6J*0PttMrXBEb+H0|KJqv4t@4I4Dj+>@Z}2cyr{VOn)}5;t zRmWAw-dx|ZV~wj9_u}Sq$>I^GGY1Z};F_J#6?Uevcku;*onVJ@++xRmAIzYXG}f4S zPSZ)H>Eq69HYaefJC-!bv|8{u8XD%F5QoJg**DNJQ8lwbNZ3%Hh;&Tpj3n7AuU^a4^R!Z5s4hS|AIW$T|!cu1<`Kz=WQZ)w51Q zwagEgUz;O&kOA9h4s^XhRq+g|gVuxqR$#Cx%2I`Lq(EnfCi_AY+@+1(ip~z^z)6H0 z{3SWb%ptr`>owDStYm-(6WuSmtRVd>14?wt%Z`SA@@y9maAmUW%Y zgfaP+-9}ZRH0`x}Uc7n5N71SIW`sfmW5P!|!Y`I^X{YdFe5;L#hVs3k5h&B#<%3UG znW%8($u}Nf-s@Z^JFiL20l~ti$Rl^*|F&7{iJc3K@0X`s;Ea*4r+db@3NbA693B4I z-eB258r5+q$N18jX;Q8*SwUq@!zvNu`O=gW2DU2w$E8EsDt-4Az4Y2cRmxfV{)?q7 zJiHJiX16!=cns!vl+$YC#zS@+t8|=o`t;7W>Qv}uZO~`Njukys(P9oI40A>9aA_vZ zwu%1eHgyP7RCTSXpnY;>|5JwthukzR4Qlv2l!sm8k<&UXijG8ErGTys>jI1_!%p&5z{9 zNXL|7g0mDZM=3hT#L+n*gJ=#IC2@%D7$sHzh}Po0x%}=}j3Ii=5&QyzTN(aFfgtntf(>Fu?k zkx@R?$KSHmTv&eI`2@Bn=LEhXW3OTh-MD%}bBj$S2XTzYz&KLg?fjTUb<*;c^74=E z9hmX4@(%m~Y`vXPI$;d@Q+LNP!=-=fHnK%Zx5cLPXsQKeIAi9wg&6d8Vv-9Yw!&&pK#snoc3yj0WjxV`e3 z^pn)nG0wvDgG&B|IMip1;I2kp=gif&WRc@=IBEAo2PCH3%+4NdhSj3+^6Cj!I-Nv= zrC)I9aaj2h9>H7^yF2qGE$^T^&yAzUar?AAa$Hx@L+`RRnX;=1S`M?jwZ9a)je^5r z_HWG2s0kaM|9F*tyM?Y$R4EApU*wFrR+73ZCOR^km<$Ve9S2L^FR+O zYy5eRgjqMI=$2s)k(zUHLdMX5!4aGMZcRL$J zZMed!_Qs=Y(^!@rYlrl1S&8TIg@f2}mEKO3-unky);P9+ zT_QjCb2MQ+fQ-$Q^?lD>jj>tU=uTRZgltCdDIO5Y=^z(|s&jB#4DE-ovLlF59l!3F zF=u`69z2u|d$Ze|S}N9ei}lweEpI?v4j-*me|kr0)yFK6T4vIH>@*M0;$3IVgt1O` zJ)$3yFz32G*_^x+)!$6ZlNPyp8V)P1$Sl7z;VT>or?v>YK*CO;S=&@Q_pJV(+d0x3 zl`>x1kVL&du%Rc3xgl4zh;`JSv^+&x1jBKwN_NhEovib?J!$!OePbH##M`Rj{t32a z9vl;h*t9;V@$O%7`a+vh`fEIHKz!2_9464&5Op8OLLRq5GtKkxzuRlIRxv(%w7aaA zoUtkptMpe-@mU*rj^Xebw_NEML;sp8#>p9b8e(Jl{HwQkh_a?h=4rS$Ege^l<8yQs z`%pVl(3x2F*3V*HmH6rA5nP%TncZJ`tbKrEc8SNqVZFlP341_ zc*wU@jGlS`a=}FY+p0KQ-=hauT5Ym*@{!{W&y=|lJv14fzGUseo|YU;#97zijcJ|4 z5qb^c;t&(HzkK8QfrF9>|813t2ZA*JwFs2?9q!Ie1ZD9@@o($m5zvbNm+PCR_c)9!xzGrlNnCcfa2@k(}z{+V_rBzQ*sE85qq& zuO9z*Yg^*{No5pPF5c3gVGZ90Ed4niwhYN9MdNT?V z%7@=CK~4xheyoQ$2}{3f3Z=xwUOqMwHVqx3rfBQBgSvjRMcIRVE;4kuH60rBH)W`~ zRxOT=)tg3p(0TvZ)O{kecKUA`>J@CZkE%xBYp6C+ek1o`{$Ivdu z#~pRu!rGWduFZ3l#m*0_ReL{!mHLK$%v+5N=AH1<{x}zIaFhk{@9y6`s+-CNFo(mX z#)>W1w7Il>0m~+bH?Oc#PY2dqU~SAoVdfXi)0a8arbQ+cU3lx>N94y`TP^H%MA`km z5$Yv@5NZ(~#KPw%=+n9Ugz(~IeK3)o94zDi&ynsCSx~Kca<+_>&>CSUYnx%6NaVLD zQD_&_Mx!b@tNfVxTIg})!-+EK({h(AcDsr@a|L8v_tao9=9-0R-uTN?gVSxPfojpN zQdbo;zJBW5?)x~L)d^@BuhvBV1VvMm!Jwym${-6BJ>o;p1h;3Sgdt2n#&u6$CK1(T zk`A0`VxM311gW?#K&vav9-+pGmSh=E9xKoWR7wtToPp>xDVGmsT8y3L57{Cf` z!TfVNKz001I1Pq8n>k1lNYM%OLr}>$xj&t>;vbh1$SvxkVRG@`^+l^k&_4H)EXpDdEMs?VvwqIJKwB38*;O8Fx7Ezxsg9e{v%koA5TyGk@&oYxfdwjU6hZ@sDli^=3`5$60xSw5D1- z#!B_weop6okc#DA*CzKb+ZVT5q?chURjw~bh{icbLjeLqa$SiR7-C&IQy6xN`e!k$ z&H5V;y?C8x^D*Pc7yDR;3B|acrW&}_rUXvX1+TJw+6uWGA*U+%D2AP);OPkCIJk{R z)kikkQ;N30trk14PNJ!7vo^j+jl2k|-0kJ9(sFpo4EK&Ssj;lLA`8xEqM}x@%OOohmK*`Ma^e;Qg>}Q z8*q2h4eRMi@B}@$NQyVL9=HH253U>D+mV*129)0&bF+5R^D6f4Z+z|_aByAvmM7R5 zw`Emf?4?(s7juhsnP%wAnQ{ZBEE z=fu^@#Hf5FLur3jY^_3TjLtP-*`>qbClsJZO-f=4aI)oEDe4(*aO95u4q zhiP1HrD05YwL?r9teisIn^*?Xp4ieMzG7GjhQf4MqqQTO&$G7eEZcz%r!1SKZI!LN zJ>|g4S&6H182@>-R}Pz%1!+}7{x7oC3zU)EY_%MvLaY15G4BLiy7TOqT3SVqd^z4K zG0ni?^>&F{EW~6DK0F-NQgtrLx~d^0Z&vjo`A(6}ySuh1$B5n2Q`TV+B$b`r16EsIoaPJG>v#9z zE5lX0M>2ln?u+Ft(m8csg}qX_9>3NRroM!7%bsD^JM4c>f~=dXJsuwxW_W*K;mP1k z82Q7T@T0?u`yrxgm&oB23jfJqo_iC;qFyb#2u9PMsW`8}0H*6Mav`o5l*i6=#!Y*# zma!Sy#Vtv2RAlctRIOMk%!hlQm0e()x1yd% z;ybBs=!X|3z=hKR1q`79FvI0UQr7Q^??VJC^?uCXrMtNL z>y}i8UAl4>h0@!Fin5w`$hD>j(M#X#s4o8*pYK~R#f#T$Tt#Vo*9$*F^5R!eR#1@| zoZ7dl_c_lvA!l?$^rJS^sF5A0}LNC1^Mt1dx@vOqB&Cgf3Nm;JDsBDXSaBl*q5n4&5BX$*O@XH3y7Q)zo~R0(3OZ6pn+ zzxE_zK6uLFiYLgLpsiXfiyb+Hqee-?IQXVsQM54ar|{0SF;$|r;u1n_`}KEDGkGn` zW>us`+TE>sw@%zx@YX9y9KO==YBg<~|Mo4dc+b7PqNOK;hwsKk2QQG9>RsoRZ>{vHZ!qA0?Wz91!8*yy%p34NQEBIWc%QvFsqFnOqB(qjC77S4bpR>*eaD`kN0+F(T?xWLtsA_`c;* z^LH0>kg5z{PPHE9uCDiES0~OYwJP&C zmD;%bAL)TDNH?jp>N90t@X8_^W!EFBv`>PKD+)9hI=(hIlP%{leKWA``b!{JSuX`u zf!+E`Ale{V?$U9!$J%Af3)1Sd9(bpEV?83OJNf>TrF+mak`mq#k&PeR#r|pL;rlS` zjzW-!8ZXSKDRFy_y!gUL?>*!pz4cH>w+C%==Z6<`VZp2M%CMenEN@Nqhkd)LdS`#? ztasf-&~zj2pM85Wly4Q}WREU80E3>is_}>=>3YeS^v^!xLWs4BcmDH5<%ilXm!9<+ zTn&CB_oLX0TiQTw`sn6!979as^I3&8pEAI%C7)|cD2G?Zh{L1Q5r=kFEYwop;sCDUo`&g*?P@HKdM^0cavdROu6yC;OfVqu8fWQ$CTaDK~wx*n?TJ_7kZ< z*CRI!X5?U+_0GaID}x(Yyw}+GEMX=l8R;VRDwpxZ5r3N9qqeX16I(IUbNuwgSwuaC`)XFtu7QhoYHo9&6W9-3{he|K~1-MUFb+qWPQ zYeQm9L!mWHy48j`w0$etg?h_sN!!~@J#Y5=JiD`)&mk|tQoM%a34DygDE|B$2Y0#V zKL2@YFUq#~LP_+K6nBj9F+`B+wS z_iv#4VdaJwP#@a~+7-v=+S8o0;y+0|t)dh3?b?gZQ9Z22nKez)6Eqd6*@sB#RMQyy zh1}nn`^DwXJ>taZ9`W5TMych7E?c3PJ0tDOoAuINjy+l}8;7H;t(T2xfVR&+Lg7)T zh@cl4WAQO0S!B??u;dOZgd1w|WlxUFUSA0rugG;@^;C9CR@T;bP?vknSD7ksjW}+T zRV!)h_0CsQ)Qq{fIXF&c%*IoF7$Q~ar~qB%QwQK8CYzOr7UX6aM`SRr_9os)^bl>>( zRlRJ3fbSnp%5p1D`A4f{)N;=G@DAfedIx1IP#LXnR zQfB3epb9ZzmIX)lQ=oBIU)wmNaeLqdtX2Njy2 zuRie$k?1U5ed+)~UVTz!i2MT8v*LM+uMFq~L=y|((F+KB?%=m%uz*l%W!aqScnUN9 z>UauB)#P@C^7KV+JHy&PCR*jTUKxwt4vt(T1xZjRe0QL0^RmDo~+Q#OFd&!H*4Wp%)i4Q7_vr6W5!np4Lrfqb#lC^Y4WsK(4~ zwJgy??VQN99Gs!ZV3JoAsf*~rxkeThvE#4zw|a24wc@zy+W~6iw)GCy!{1(c>1K9_ zwo+Ehht}}LC2q_L@D+--j}c0+{`%=~s{;mOd|j-M)@q-K2T5Vzw2FZ-mELw*2=O2U z8*{Nq^oZavH}*K?i$B5~l!_;$TX7F{+;W<8tMX0VSjS|`RRSm5^XgZ&wHX0o}ky{ES5Ny-{V_7rK=*gme#kG?k7Qt??GD86XUkpJASCWkfa zn0!npBhw8P;Ia+c-cTxSv@j-M1T4( ztsz6b9xE@-8{-@L{9jW1pBn$K4PE7+8P+}O;(!8vwu}mhk24)J4mAuFpON|K?aj?~ zopAy^&o!N&;WN5_-@+s8aON5_zQ3u3RX^~3IY00>^M?U_Ii+Y{)}1(?LSH#f4Ao~n zjK_bt%5(78LqDE9il!G=u8j65<5B!h@NFVF)wQl$AtxV?GH&>>-zYY@dYu?^125fV zkFHKyRm8L^5H#?VuNJ@dW19U20ADROzWgyy7N9i9GSu_}ciz2ht2SIkXva(bhp=H1 zHV#v5uY2)18|B}M%&~N}4a?Oo6Kld6+9)j0_Mi%_tcvmG@g7%+mhBRg*+SJrVTp|+ zm<5R4h8;tZ|G1RZY4fbs828`RF@{2oJL9YWD$k&`e6mJ9Jl+_NdQmo|9c^l?+tRr3 z#FcF&_{51m{iNfxZ>X&VWl(*0BGWk{y8d*egIuoQr7ffBC-uz?XJ?gQd!X97o0)yR z)z<%injV%5yZO+D`RG|=ZDSWsXwNnFZZR4@ZQS4W<<#cpHkNzFD?bnOl)hyA=jQ>Q zKfYw7{W5}AW-k3@On~z}r{UOdr6sMn0oSGU_tGL);J0{Y_zfm*Q=YtC)|GWtVk?94 zsyDWT`e-OLA<Z)E=t2vtH$bUHK+q~D1w4%^M&H&(1TwOzUW+3#kN#) z(VAp;YTyXlg)e*b`2p?n4>m#?e~};QgkSJpu%@zQ`RS8jMk7Gv8XUr4ch)q09xgIL z(rmg#Dd-272Si8pJ&jgVq~xD(sU)`Y?rx6Jzoyzf;@mXkP!P8Rsh(NDn+rREvDZ40 zgU|h)BiE6}_~VQ4DLQVu)(&*L`@vtf_ENWdxZFJ&Qy5>AX`SGoV{Og~&e*ZG0;2k> zr|MgQO>;5k)aR~{LES;+wEcg*8O%L{{nu(UI2fsuy{iUo?k*lC?Xq^F$6cBv`<>#B z@`WgTAa?DC9`{n^e@J7!YY>xOiRV8*qi_@uICj0n8~IMt^kwfm!}hh?WaiJe;eiPwEMjPlwm((>PD`8v7I}~d98bGO*{8FFtTe;wsUtsL#(W90_>B%wP&|?_Z>hN zu3GjD#i?$+0gwCUoeA_3K_j5=No&V>w*qhO`ddIIF*U^2ED$`j~rf^4hIQq)p+P(dKSB1qI;#>{tUvAvvyme zyZ;%bZf;E2HKBJX-No^*l?zY{8Ytxh6Q^xIk6~%zQ;NQ#Q z@g}&k6lol(Os7lL^M0~}lX8+3_a9@|yCCMS z`#{F~Bza|X9UhH+v+}ncl~241ybFQTo=1TH8wn6vS8|= z5Q{lIqpd0Ra823TR_3qNl!2aQe!8ZN3+1D(y~i45ZMT}^0G}IEeQL>G?pwChJ7Gpv z<6ZBjaBI99_{k4wIHOCt99>!gpQ*#wPHMbcZ2`%KmUKB{%3@snR)3qnp(UBs)*=SH z!jn!xUU_)-n`m-Tonf@P@7hWH_W8QP1p{Q;i6;Lpi(WHsImA>C2k=(85+GZ5 z;()<#ARt+ACB6CGNc1L!z1yizQUjA%w;ou@my->sv;Cy}~4o5JYT*f>;`rsAR{E=zA+&LYujP}i41fTez z1nvee0hb!#sz#EmCpjx2#AgN)Qc$7a?FxduXX43-&zQq2J6#EXWYWvc$fr-{uwU_I zvdo}NeD2kJowe_n03_Ct)45q=)jFu^LX2v7ZP~I)3PPn0>E@kQqE^+GjWoz#tSz7P zPlkN?Z#vc?HJ-tt(2L9T*~c9W}kcy<7nh+$LJ4fMPW}t(9s|}&wkg@dJ zaRB}Hh{Lb>((T;I_~U+YcbT{GhrT{TFZWI+-x@4PJ|N58Q0_N(vyIX(<#D7#YN}pe^e&lMy3iuGmZ+H`^ z#-)&jbH&xj@P?_l5HqV$$;c0lvdFAP<}*y|R>L(t)(2gg$NMkW=Qk-s^>Ej<9%LTj z^jq13EGL|mjJJqu?w5!gMT8HS;10fd^bz|8o^J)=Z@87v!D zIP{ZSncxuFPwRF_C5FhRkw*Fv_VnxDlYV7NKl5u&{;d$%##x^HwXwFOuMLI`-Kx7{ z&mrlGKCI-msLY$IPN!k^&ms4V;$euAb}ij`?qy4}8p*C*L}e-Ocm@(40RsHLzCsyCF4 zIvb%IS(&&u^?Z9^YG53A#y<=EhCOhO8Tg%l7I?os@D4L@?NHgsD7tHZr}j>JVD2M2 zu5m|!VyLl-zJqHP-0IWVQ*jqija9{{c?I57e2u_ih&C3Llc_N+9bh%4z{daW!!!?; z-cdh<%Ai^l*XsNltF}>^#zsI;BiZcF?$%phFOdj*ejRRn$xXj zL#Z56>Y@IYQh(dRA4Eg`p^;6W50PzCpRoU?4+7sGCYu@y{~}6vYrpbz2mDRXvhl_p zbH{-?8~R+q3J0a^mup(4cDW{{|4ox7=y|#}HZ=)83{8&4{xeP9{OKM|Ug+zo$^Dpm zx@}U}_`ld>AUdPk;j&YOl&jn;Ej2zu)b+6XEL=9S{`?*;L##gyo5&DfGFDPo()_!= zPmY-F|6i-pH$UD{%bH+Ah}&!Nso!ipE&cKAX%9e>oi%-pIS{YB-km<25$m&k0#&9S zJd417JaWqKZN>|FIsnN0)%~5A;zB^H^3&3CY3#ydfc;&8JiL$gKIf_ySE8CWmE9s} zI0H7uWlRP}>n>wHF!VYW1^BjCt<0O5l$6SBDx(`vnt17G^ILd|2ai8i%IaUK_(>## zjxTpYiTb*!jN*qTv-+5ycko;JUZu=>ZVfYkzV`ZlaShKSn$7XB>eWp4($ec_D7T))2aRZM&*tNJ^UiViu|1Vl>ymm)@*j$F! zq5diJm*!vOQWurwTPbtsm2Q|uDeo4t{WvO&;+BT-x}00;XO&1XzLk!<23D~YueXqct>)RY zrHs|O{7bEFDHj`Eop=YShQm^nYK>Mh@UK2AM*UhyvFhDQHa0?X1AhmJn)?1-B{`_y zqwh96R#~oZjaBjG!^fFcve}j_b76_i>D$h z%4_R>B=Wb4%=%va$5Mnl>xwo-{>qk=g+IPiQ`*S7*64Ylymqc_^IuZU`c9pKA9oXJ z14I6kGHCMMJz1}Xr$6mw@SRm5Rbt!!qQt>()vmVkK+p2tzQBmh_8l{9NB`-DxB11g z_phj@B4xM_bx5wj4JGRRNZHzl<})s=dDL%_vbzt>=v;wYN>tBwGB}E+Xs$q-YnkuH zO4sCXnJmGs!98-Uqt>>Qbw}(4Qs7Mk1g$CldXV_t93)P|8z#hmHcS|!#Lag9%P27} z>Mur#=a7zjlz2Hxc8DfLyY&7ey`HgjDjzUvWL7api=VFT&AfT{cu~K-?8D>44+RFjaWZ8E4#qT4PY`pBDh`+4n?+T>FR_5sI_*__Ktlp(?epT1fl43gQ2whwq zu{RLfK{~a=7gTNs*({RAPh;Z;y~@ZqJq=3%_v)LLm+KXBF_xd|D0`4G{5r}0T1tr;*GYy{CpEgHm(Kq;*8{Z*7+da>PBK)Rdrp;f z!cM^dzuIFrigpW(Ezo3eYIA4VxIHO>owRb>kI{-?IDXW9OT&azFYS<~6BnX!ch zWGHh&l-r?1b&r;H1Mi*yopA-iX0xMZw-%$2GUh+`ne(43uD~G>WscS}W3RWnN%J39 zEPnx1eHtyhvi*F!$gUM>(kq18-%U0PE52xTIXLOU-?RL@HFr7J=sROr#Hfv3WG8Li zMfGtP*+9epe|M2>wB8q0NLSe)#65vteUfxX_@r($Gr!md-wTA-v0br_KXpN6!E0^9 zYx-nP#!Ih-WXR8vu83~V1@#mBgpnWQ9VT@zMyHZ*?2*Um+gjQD|8ZVT=_VUAW&b=` za<73`UpB@DBTO52nCH96C~ft5bsk}YO_kH!K3%aVUTbh$T%rhgVg zggb@=eW5$}gdVW$$6u&*J&ZzmrH2fn!uhBN^q=^Jl06N1qn4z6q_--}7?V^^^ zx#45X#iNiBS0LuwS9;1xJj*TbKC9ci&$Zci_nz~5$+q|X^G!ysMK120GOJOI+D@I; zpYL&YqqBnQ*Ish4lXvOTrsEbtS;q|spuhMZJbFkRi)g6R={pnKiQ^q~c-%tLWh5nz zJ?4<;0TK~sdZf`$A5Bu?+*^1B-lOn`8h?RzG_`kwrTzidf^f1WqY6o=vD|_~>Y`)X zTcUoCk>OQ>-o=-n3cT?asl4XB<*Ql+aO&&6*r_V`ST%Dq3{;3KuVzZ|KBzppOzhkVO%6*WLM)kb}&#t)Fe?T~;^@yqxco;BLlSe<|d z_GRBcE(Q7^178KsimDazYIq1YNqEQ0aqYY|xE@ zJ7r%^e8Uy{hHLbpOpLT6VN9~X=|QrUv#1!Qb+8_my7=Z>=n?!W3PsV8*eKAXE9B!z zw~r3w;~nxrVz&>Sd_3s(F_3(0As-}m`?yX%hP!s6j(yLZy6)Y-YZCafobKy#!$~?u;%eJH5TMM4cIe+wE{0 z48;iqxK9t2yPK9Gz{+Eh*BZK4wD|~Q)WVmrYYSy&m+3n`P_u{0CfcQ9wQiUUtU~I$ z`qbQx|NDo@u%O=#-=Uq)W2LUqx8n6xwJBeIxj?TDlWlvE?`zH6Pejz#gAK!!bz~#l zV9&@mS}v)ge*-~*H?e&06l#tgE_*cOqPu`Ye297Ft!n9E=<%pW6tk<9b<~U1Yr~~0 zk}`k$OFpPx4@UDlCnMF}1{$$ZZhdp)zScP`mGvu|b6Z(f{iKZEpu-LWO2$LT`@ zN%>o@p;t!aQkrEc-g?bO*w}p!5nfBeks^9x7-#S4gJt+=b!${wWDTD_@5LcYbEyhZ zsJ8sy$Qi;YpAj--v>D}#s1Ot-S&3h?ghU{b8&d|3vJ19lGLOG&&la90Kmd9R zDrLi62oH^rZG6LzngusLU%fU0Q?o@!)#oE*2j3VAx%IB99WUEyQ;({F@$yngj)i>r z&YiNitH5$(Un&e#s6HcQc%WGlFbYmgarGMcrh0g!T&Y!mYtty%T`PQ3^&EwTa^{-nZC93=;7H{MXeqh*|y^G4p>(eh#it+ZGT9*27haFfQ#`^h~qPWGt8?Pd0D z6*o@SCSmw^99V!mdAy9P#Ley9-_?)z0W2w2pN>bD0r!{j@+Wey-iH|BR+_-_ytWfC zo!5FDRP*kaO6&K!@|h&x(KfxTPE3-;mADsq=RZbLMa8OcvTUvu73cjvS&oMN8LW}b81hqq9nYH+lXUmJ4xI$Z;y<}hX>>J1qeXHeHQs20X^byzet{o(H zMkLDm1364XYLB;*{y>Q)g+i%o)lo~`|8wx)XyWO}4>so_2s0y`=!2Hv8>j#Jk~)|u zJ4F?uYMM9B(1TOuNJsa!>rR<@|1>Wj;aPxjtkdEBdP!R@5( zC^f^ti7&E`!K*Jii^}-P=0$#J55%qB&E8>S^tus<9XBYKUk|`8KTM2I*xgQ| zo8Ib=*|J%kTa+o9{iRhdz+Mm@iT2Ibe|}MQdjNHyH#8_q_a!CqXn<8xD81WBeao?# zo*0+xMJrxk{fQUVa}UVW`h)Qt0C!jTo?Uu~?n}9XJum9oi>g(!>{9m&c%YsG50&}r zZ@pl^-|G8cP|K3h9#eLxcar7Qur1rk8#MxNRJ*Wj^rLBY^qbEc{txQcpI3e6pcr;; zC;zS0t8-+8_RTi+gf01<)OYl#O|S*!QT=E+?Tft_m@f+_b@Ur} z^rj&8I$}ct^o&S?KF_RdY0wB!g}!gL%Ck9UR3D+LqIc!H@LAK(-RHy^0Tg+e_igm- z#(9+Tud%};Ftaao1=1U9`{0}GaB{uygY7%7E``gg<@y+ZYIP}e8izh@pLEZ>i8w~O zh8jVr!O$(ttuf{Gf}j7Di6Pu&D9^I*Ynh{z}xGp z@=L`*TGA%-+J zCtH;`^jY;onw%LLgy=+#jpi{EE(6#Zcg6tVN2RCBwsmu?aQDNG=zJeW3ku#C`ja}G zj=c}^J5qli{SypY(3kdDP$6z5g|a*ZSzOtJs$W^UU#_QVS}c%ZTJ}?F*a8fvh%R}7 zY#LN#rIv#7Kx*@GEaoksyBEj?y^Toep#rK7J?O7U4=?cM1d!CVAWU8`!=^nj&c#Um zh}$#Gjh^48Dle1^wcEvN#X{M%3R%r)r0T#ztUg1ps&5v`;M#4UqUv!gDFb=QIw%lv zf?oeAm7-~ZwY-28tWH6G0b(l@VY)7ox9UBnjDao`pPG7nBcOLkJI04Bmc5>#z^t!n+lva|D0Ei|zi-{4?)Qq|*N zzxaWShmMoiqh|;mz-R+P-}FFl6WW5&wuC<8fkya4s1GGPp5RFy za5BM#MTE{Ew6_PkhR_3y&ONRkTOzw@-)~X{OJvXLFK%+{Pm}2_%73Yh>ZaCPg_|B$ z)^Re9U5-i0LA1tPZ6_Yqq3)_o--_-EuMX}{C%zNnM(SU!QyEKTT8O?5@}tz{oKCNV zvTFpp!pq2nczx(PRdbniL_P{H+$V8QoAkRC`_?DT*f(&!M5s9Ze0JXIWimpx4nk2; zmG^$D4!HO@w6mm8aE4~Rp*R-?Dc51My5N*sDv|nn?{jMT0qL)@GvrNe@(*gwa`|z~ zlXZYxxIjjmggErUd^gc7%Pm0=9b)u>0+q2s4%Xx*^)b1xZB+GE%5{M<%P>?VP4{s2 z8p}b%oxf6U_Ah;cREeZ<3%4%};DJ?gssAX>xF_)YD%sE3y*|?W0bkLKOS(+q$uhUI=<_^a-)4Y| z7+ykwM|hyEA|N`-sEg3{9_WS^5ba>}X+i@%(14Z@J;LZ-LVx)eGVHV(@gahf7=EAN z^8{OHVk?LSG5R&3Z+oCRp{*GGiO^>~&{eG=s?KPY55PKYsIxRFyDelTXUQPp1W&QS zrAe0vJ84W7|RW8lw{lZQ_BhB6Jg@iwUjdf!>OOXzC({*ArZP*`8xZdx*v} zx{uJ0JkY%zAnMNO2}1XIpl1ke!043^RD(70(ZEVBbG3ha_Ur^#YzFT8WvaK<$Qd<# zGbvrHKbF=&o6-NsRP8e5&hei?Z0rwMA&OSAhIBsc97Z2Kl0rr|PV1^SWzH)tQV(XX zNm^6A7IWcg!McyzAI-P)-`A-2kI81*={0J?V=@_MpWVr)SL4Y=@ft);Bh276X6(J0 zqu4t$N3pkNj$&`@_Q$c;UZa9si2dJ>s@^WSTKjIbI^mL0?GCIqIt?s`myXcGA2p(G zs@G%A3(@$wWgJa~M^($UScyNdHgDQmxmwojKv`fTG2U^t`ZY_=tCO|7I= zq){mKjI~B4jL{=9RK+Ld+(4bJ&+@<|<1!ZIX4hmzOH%M*N+-g#Y?4RrNQ??wu29XqbEybBRuv zqtGDLBLWi_NxP<{NyO?sKc)CfljMi^GwUp-=Mh)c?q(F<{Z1vTId&pLeAG@G{kYv+Nb#sytp|^-dof@%mA`Q$9nytvKHLRj-|7 zq^u(Zhc?TPw7^9w^C_&qdoEM^pORg}Bg>;AR)6OsBdRcps`wP5ioB|-KMfTlujX}l zTKY?E^h0XkGuT^-d00LEjEoNNP#y)b`sELdC^}FS)o>(vdk42R%0S9GLg2SW9@k!Y zP@UU?EyU`no1T^LYjsjp!Lzbe=&uV~j%=a5o2Guu!A-zP3ssF=*+1;_bR*hQ z-2Rzsv>Qx0(`wMcyxVbO^w-nXqFmX|`5uxtM*fldFAMLKy-|&(s}pr|>y0M*RE(=S zB7^rsv$&-Gl-EyBxWh5psuM&pjK&lCiU;b~1)?xUClLB%IqHX~mk{j5@azxsqPNMj zvSo*^6y!}xE|r5Ew1HL$-~6Kbbrjb8*+u;1T+3ETB0F&(B@4p>cYS z%~Mu-MuPrCvU+ZZ46MD#4y;DwD~r<;lk+~@A#-K*5wkgMbgskogUM>~3o^9XlPt3( zx5Dt`k=)$bdHFBM=QQo(S!&8Ic|fZ>O9k%6KI12eDsDG!x?Py9c96SihPt&|rui35 zr<6RWIL`LpioNm~%+2x|?!$dx{~FV*NUWJv%1d&2 z(A$&l0bs_1yNn55@XIni$Tj89yac+v93n4O|1_5LoklDZ_RB=gccwbJUoHzeG{cI` zoXR1=8851oRWd*&zanSVnK{|=Vk!$Sr&PuP8L;VqoaO&&c^sw(wd8C4YB9#8^DQfYX zsKq~kJ-G78M=T;P?rtGEIygw+lq2Lj^H^qxHKuB z(61OxBy_k38qgP_d`9OH+Rg*rLFhI{A0pJ>1MT2|$hnH)RRsTMhdswT2%f=c7NK8w zpnGE>8o=mQLf`a2ML&pIF#0B;&v>942=!(3sFUEO9&ki|hX6u1~Xcd&@2me(j+5tFl2W&QjY5r?A~B^PeJw)TEu8Lp(Cuo z6n4lEh>kMaj?nfV=#pfJb}-t9&_ECLdNQ@YM;IPP@Gsb%F1N>tArK`odLNGp-ntc5eLyGMz<4M$ur>`f)_Eoo8V%;HDYe?j2Z#act#Hp`jH138V^x- zM&BlMp9i{x&<2ctLg*82)M-pJU!%TSF#I{e4|)WS841y4ybv`m=`x`sJCoV7>yzHum^gQ z&^C+?B=k8CbZ-JgeovM;k*CoFFZY1Y5qtwLg~wJ8q0>Cj@G%gbVRRv(u^#9KLSJX} z5ki}JpsmJ2w3*QjK%IJJ57?Xj8A35@P1^kWaSl+d1x9wGE)4|MN1 zh(a0th|qP6I?c-EM?L*}--)hhC1PYwYXnjJz^gvfp!owJiAoN`iGeZ4xD+qMk4qZ(i5hScH?P;nsI@0$j5fKS`sAeSA5zc<^Rrl-R-*gf z^rkL92WJ8?e9`LS#g5lw!v+ziEXvl;qLS`F$y55|oEd$6go z>g30AOpEg|cgl3HSfH3R`mJ2*=bc7t)C4^RAxJ_evTn!gQwFP{pUCFXn+76wy8mdL z;{Z$t1d{Nk@;H6B4bwkHoV1Y<055umL%oF1wVsD=6e;AmGgGR^I#lr|GC6?qN4+uR z*o(oww*G!!HS1H^&;QF_R)|215(#>8Uv>0T>8SHa4>~R_R4@1NM)(uMA3j?~-tQNI_; zW)t4(X&4sk__W^qgsuJy`Hc=skAg>e5o&*DWDt8w4XF%nLDZKF!P`uQ$Z~@2pM}ML zy=?t$ge9Xx6gfaGJB8C$?{rr=r(|^9=&N))i#Gaj<5P9Ro&!m8qpzx;PT^e?BUnS) z3*_CSTD?{9X;hkJz0~B>c)h^I7`5^=?x=O{mG|OlSxXE58A|ctom*KGbMP!dUu49c zeU#2^Y&4DNslGfT`}$w%ZXw2=*zY}5do0$q>d|WQS)87l(M2sfE5rSBV10Li8AfvU zP%odAt^M=MOVR*(^-w>a#imF>FIDGr89pGl3#?c`2H}?nm+D1Gvn*2IxYW3phjY~l z`jYZe4_|pFU>Q}(F?y%IhIXhpd%CNYpUa_LFCjTs?B1;DoB8&Zar+oM8m0Q_=sT#A z5i98Aimk%x^*WQ>Z-rWRRtD9L$I+HJ{n*__{&P3g?F-~)16zvgrIDLgyQzo2kS%@C z+VH?c_p9oqFJ#{aRFue3zi#urmRv>RW$pEyEW-ZIbG=oKbFv$^&!OjJ@R0dX04J%j z8lx@RSnRIlc1P)=VF#naB#lJ}VcfEL2$rHMAoUcO1MhKP*-NCg=K6{zUDjDY-&Gwv zCtKD|wSt6ML4tazo9A$Zs-V59b6$oyw|BD4p7szYm>Hcp*2@)(=O;D98CTYk@-#;O zts|v+3kmZPuFk7rAlK+p^Z@Ol#OPa@UaG*MaD)iw3VToxHWZR0uYMXkp@6O9`2bl$C?Y78kNgwEw<#m{n zjnm(Pispt|HT^aU+9h~HIvc(?Z-{+5YzAHpyC9=t_L86I!D#_}x2?3S!&benQN;$Q z|A;^ddKLW5ymhTE9vSr7+PBN^OZFCcZRJd|KKU19$5!9tO-=5eH4SA|Iy*)`Ln3!= zrgd|Iz8+OZuNJKuU6lP>A46HYL}u)*!D-arQM&Dn#%HD*#(z<{>-JO|FUpB6$fVS= zdQk2~dQ;Cjahpqr>cow1D)x+{*6NPJMbw zwh8zY-H2xw8`4SD{8EmtHKQEiUFX+3szqPoOx)9*)Uhw+6I%8sYV=ofn|AUO_3KyC zrRnX}BVXf?Cc>Zk8hygX_Ibr$%PSR}8=k^IHgz!#WF<7refEfvq%rZkz62r%qvBJr z2R+b}%OGmXs4t<)11+K<(udL7gf8|#V;+L&>Y|F2aN|!^{1q8KipQ@0T5o&{bDvq8N1RW2GEQsN{zMX32 zhgW3CaEjSgi~dtT6R#gc6)+F<&~0-)9O2y$|DcWteMcnHrh~dP7zOLzfLBI~G%lrE ztyQOQ@fM5|QR6jIJ#%&=} z%hviLcpxnsBmOb2(E*rn_@N*0g$s4Y14SEqU=E*GfRe7!;qkifgJosS-^=8V1lp-z zzL(v){nmoLu1rCWjv{F&s9+HNGUT2baY3$)a8o`}{?W|-Z?`3aus9rhBm6+H9XLPU9wNF$*#0*mRI%PvLWxEwfX_O zpW%%tZqJ?Kw|~IyXOnWk+{IH}f0Pde-D-GG2$cGbBx7f@=tr3tG#0tID^hrw>h_XS z0xvsZn0vjPp2@Ln`bmxpT#347Z5CQ8%>7BeOk08tZ^$)TY>3)*L#70bZ0z=mlPc)R zjIGqxKjU@>e0rD4ozCEuP+&z8HQn$+us^3$^5#-u^D2lE8I30NtOpvo8lrxT4ka|t z1C4tGq6kK(5c-q{T104-B;FKEA^2erc*3I)UB}thxTJ>(o#=sHC-f6WA0f1t2fAbp zMEe=dCbW?U>YEACdPbiuq)mwm9`Ig*(-_`Ofxk_&+hg)$5G630M`(cudXms+MvoA> z%L9GQ1yMalPZH_^`a%8oj42bp&tWO1S(qZ88A(&=felscP1&Q?Lv>MvM{#onUr3=g zQl*aCa1%4aj~l2XH|6u%rXZE{3+Ao?wbf(4$mNY+fqz8fijBajm$Z6r?Qi1%nlGO; z$1^vo%`F++xmKvv*p}e!(Kv9KG$l=hCg|q_C=g9=8@NK~hzin8(BC8P_^X!Rl8sxP zLn@dxxaWI%<-j{-XodJ@cWK<4%l6K|I;L5( zVv90kcgBsxIw2#Ny7v>*y~7My=_lx|K>BV!lAbiAXjZqgmhK;e)zIEJy&=bf&I-Ig z0vpYa{*J^mQ1qV;!6N3SCW!y&`t}CksYlqBaTijD7q4LT)*rHA%QrSa{e($85>w_1 z__mwboJ$FfX0+WY<#k7H*8J+Lt#@QtOdfgHtJBJ8P{N3Wu{n|}BlwamuZ_m! zaVQLe2^lhrgsQseR8npkCd$|As-tBxGK?zRwOS_a&ZKzEBAc)U zq9KeX5PH}HEg`fGqmu}I&I4WYEJS{cK1k?t5A+Xz3&5Z6Mv@+20DVkrxNUpm0w1TEz?c$62fTcRdd}BF14(7+) zrh1%vJ&H$WXL}{+myKSD&t{-5=utJ)?Fw4B_Vy_i=B2$|b9gm(=@lowXKXd~ImCS)stT28DuxrJYdd1)MCw9` zk$OfgPQ+585XwW>)k95Pk+agIqo-6_MQubt0dm4wTZub#M3Qm9(AyNzl}-k`dDvRn!3V)?yWG8&RjUuzt8QD)gM+_6;;+!>tCfjQPWvkSO3I^BJYyMCO_h% z=2X#I*X#pB8Xh>@N*}eSiq>Laz;@K0@$pm%&rn7BXcBp|+6JNB8Py5h=YfXrfT#hZ zcTTAWRkh8DJ1`Z;5sffjD~~Cgk0TDyHuJciCEdxV4RY1TT&ZYfj~w_F^i(!||61sK zDq$ChWcn1-Z#unzU`$y@mcET#AtHxV^?bF7+P6Y2_SHgbQ;M*js~dJ(QaP>!{l|*x zWnZm{)29N0xYw>#Vg8YNf){$TbbMp^htf^%}Y(3H5crBVR(p}H*0R%^whj|wY24xd<|LOdCBuq=c`xh zYVpn)>2s&0&6+n?q$E$7JH7RsDf1r?Gv=jEpP4!@eQu(dI%V1eZZ>%q@P)Gy(~<)Y-dx`;d4srwAORxB~BMqLg{_(^HY1Y00xv;FF!jhQrDxPMM$7dfto~^QWf? z;^DP#>U1(j|7oHh%tLP9c`1v@?LR#Y&ZLAX$?4=TX-b#5GugvP2B5(7MQM{9h$eZ~ z{50Vq?F$7a#ZRA>Hf8S2Ag@4gpJ>pM+6V+X2MVv_?Xw0Xf*=RI2D%OktqX-gYe0uUw?V=6 zynVWZ{OWuA><6t4MtmVi5aibY;XyiRR6}o{Tc8c0PUIjIfkE9HK_k$9P$8%U!7pzENxCQ!5~tOyEk=IxUV+5kES5)n`Uv;*Yp zZ0_xo0V)K=wE)o4+ouSW-3s#7FeRva8w3R9v_(Ro#7LO2owv^f(0-7J^7e6nl0k<+ zzU_g5_JVGMQaT`h&~=bcM<@z%fF^^S`|(o<3hIOiK<7HcG$6ldZ=Y76I8ZVu8+0Ai zy^FWcX3!Z>P*)@b+6;>524zr>(%_x}UFi0)buw z`F@QG0V)JV6rs|A&Vep{ZtqgYnTzZDI2i&S~+rssQ+ZZmLm2I#aR;Ui99t3y`gmry| z|McfGxTMI(a7mG)a7mHFa7mHZ;gTY+z$HaqfJ=(xz@-Q_!X-r>hf9i>*SGjj{AauI z>X83061d||;09cZ{~BD%fO$3FV<^zr35Glb!zB;3;8G4N!{zO9cZeALC$<}0^4}J& zJ;DiYe2g0(;l}&HrTEP20k=QGDIVu^w@1^1nb2cy56j*7gK+H;ZN`5JlkN6rhTr3s z=iViM&n+ z5AEL`;Z!#;#vL#Yu07ylH~yd-pM4j8z>Pl-mn^o??eB58WVz*V?eQJhhxSjoIpy|v z%dP}_!Dk?4O~*h3D;hC-gf(U9solDcEY6u zx5BmO{1dmwV{U)&!q?Ys`MJB~J}(=J{^FK@2iKmF4f~Ds*1(0_DINwxnkB=fEKY(; z?KU26DBQkqW8k)hn*p~WT>5r>4RR4f86}7aek2zWd`&JQI7M!#5XZ=k!D~gyMFhLZ zMFgAKb!uV_GhQN%T_15jyMAH>yP={tyD_32yBVS(yFv!Q#d5q1I`K8~6(eT@;Zlx! z!X-<#hf5i30hj7PL%382YQwEG6pSwz%6S=bM59$HTpF#e!lhxe2rdnqpTVVJ^L@B9 zY94}1qvk7c$zoggtJh<+VZK3EDThLY!c~PaT9DS^Q`MrkR?oTj-v&bH(H&ksr$LuN zH$d9+UOu%zVW22bA5c7KDkv4S0<<2q4Rio>6m%MN8FT}ry@2qbFi;ez4=5fq6_g5E z@q(ArXFZs0paYp!J|_paYKzS^-)Q z+6FoRItn@sx(vDj(sm;}C=3(@>H~@gO$DWbRygsq9<&W~0CW^|8gv}HwlnPn_S`XR=IsiHfIt{uEx&hK&LU>RZC<@dE6c3sT zN_`3CzXHs9&^FKk&{5E7&}GmKkoGbn0EK~~Kz%^*psAo#& zp!J|_paY{4IcQVSf_difA9wyLWRt&Iwe)hY&G8?o*y zNu8lc1f4rz=xFe&O@Hl%>d;T?XYblK;d$}ny77vA+Ii)T6_)B$>RM) zKZ~y^@XaQ^9HN$(Ve$TAfyD=kM~IIFIYf}y0rw8_7!D;!SHi+UFA#%^^j`L=7x$6G zXMnHbWymvL%|m`ts7yqYG!_R(JrJ}g4+KtufDBo`?_|_c;`C(S2hA2cX zK4VpCK$RmdEzs#_vwKa^*h;9DXz^D8-G0L1wgFw?$ZHGnni+X*t_I}Ifs!<*eGb%} zaz025Fg%c_x`L{y@!#P8DpH@RWb8WPwtEoFN1#e-U7>fKy3@hd0vs;tizG{z`pD?B zE3`)Ht+iV9{`5j3x*VdRh&Nb^|I@JW)1H$I<|KPEAEMfh)tUzmUzl{IQDQY?*H+cauz)1r-yZ!6j&n|~LU zYFQNM7{}jE?6Bf*$MIi)JV&(i<{nRV->8KSEVp_GfltEmy8eOh6=6rcndvCdOLIb+Z*iH=7dOZF~HZ?ai7RTK5sR(1Y~m9P|~XMt`|~g60=EkQE*vZdnQsK&w8uT5GH#yekF` zrEZZfhZts4z~KKhEc_bj4>Z~_r#XnzPg8Rq(HbgBxB4U@L<$Hh!$FJjRR8hE`C^ z;QuO4WV<42$QZMh`ekW;&f~1W1aZbvV1iA73ARKh+W7lLh?VFh?hp*S82n$wd6{i7 z(X62&AMZ-+Hdd>q24r~o)PThNv^}A~*NgPdRi_4kJ0q zWRYPdnQXInvdzYGZ2VkXmgk8fh=(qRF!;ZU)5!81)849Jiq@!lKUUyDQOF9Yu*q7d zw&f9~apazUs8&A6N*WQSs&}Vo&8tu3h!%*@H@StpGg<3b&r?PL7q|ne22->))faG> zhee7JX8aU{@sv@Rhs`i=QJ8EFlOghrFgK^5B{nq-01K={?`m8o@9Cf7%i#E4MLZc| zxmhB6r=gV}=D1hmBki1r^;5MLV;fuXtuZED9)2jk)f^vr3kT7p>jL|EOhj@#{X{^XBR1H^&JDK8xY5QxZSqcJ<{6Au#^n%O@ZaROqAxW0 z=g{0tK1VFI_*{`~@j2p%#cvZQEdF`%g~h)hZdv?`qD(ws{BsEUgZ0rr$eA(RY~t;o_KxIBcx=9N^2l`S)%7anT%M=yHexTmN?gJ)m(p#0O%%#eWDB zn(~hXy{ZWpRne2;cjFKEk3|E^2%p$2_^C*=5)WGZ z*J6Xk7l}OZZ0U|RQ&SP}nNPThpl|Za7uQ$77o%uMekDJzLALgSY;=Rm${PYNpE@(B zd+_3}qB--J@AFdHSzdfqZA)oi5sJ9zazGkwu;8oPItD-6?m$iBrUd)1B{o|A{l!xj zA0T#Fe4xlTcq-!B$fj}868Egd2Z`$zUsse^d_5tp;;S!$EIwESTYQLUZSf7nK#OlE zhFW~6m`L}M=yG6=yx0Q5#8QiIEV3*|L$kz%yPw?l>HydX1CVwT0X7ppD4gUGb_ zj$$Kt&OfcRp0|L`Vwc57i-Q*5MVz$wuAu=sCsao zR;R96y7`FKEZrjT`&2Gqr)fumO*;~7+KzZL3*q3ykeww+EnM^wKF7R#Hi6F}9vEE? z@D&Xfd|w;yu+3Csf$&uep8DCk%>H7O8jB_aPs32gKhi}vDgR+xxxRPHu>;N z+U$Uq8N#7nP0>0w+J`^kSdgu;)E{P3f0(GK8hzjusD9h(Ro&@U6N$y!v>avY8AjXI zx;>?M#Ah~-1qxL+A0s1{wc)Yj;g^eA#v8?cU$aBP4V;{oJ)3)r- z%#Y)3*gxDn?Q>Mc%AwmwlVqw#ZqAm>`bPqzJjsz;q=ad=HjS5{Hc8-qevY{RyZ) z;BYZloOs_f@?19Z{cNbYw%O)fn?2^)_!Qf+`$24V{B4}WP!i>lk`gpKoy$t337_L$ zK1RaxSqY=m=d%(KV_R&JuONt`4&;%>iwS;JuH5!m}K$Ki4_)~BX(GPuK3X6w+ZJ@)}QU7LIooW z4%~qVwD{*mGmC#g46^v0BH7}1+xR_VttHTieSsYd+1f-VmWkgf548(>9@d%hqkbZJW>?7HbUe@c)ijXYua}W%2n~ zKN^<<>%a2J-BGA#%HI>Onl+Oa3r8&AeJl%1Pshba7GEIFTl@*}wZ(rR{$=qWik~e0 zBk_yHd#)8Kn|0BN&Md_IBR&<4EWXe-OFSjoTk<^7+2YTNQ5OG&SYz?$#1nV%e^q?5 zj3$0>`59gDeq%k$_2v~(ggRtQZw`n{;En0ctKuB^pV`lA;tcp{+>IX;h2V{;&Ovd~ z=*CUGs9LQj9h0aVzaTb$WLB#SwrX|3){S4VRiBGC{*tX5|B}1$zlqa{`dJ<+DM8)1 zKP&OIIAk!{_0)OqF;=f`kZN}f1<1ZFtt@w*=nJl*aJ4CT9V^>X{8tOG$F0Zo^ z|1?rliSew&4`Q>W#1A$ley}O=gPAbW{Smyi7%H(T@e?cYPa`#zn9oX-igT6{Kiib} znU%7)JTwNLdu~`l3N*~Cb zM!l&kees7b+*y_73e~gmjck0lj5WN&e^WWt;+xA^7T>~LX~IuSxxprX-{M<4r8xt0 zh_>>I1w_g!R#y`xBQ3tYjI(%r@b)hLuX1V63Z2V&MZaL_L%ct(0WdOp5vY%*46JNR)SmwJ*Di33L=*HzSg5^D=vBl{$^&(sMgpLaVhl_Zb|EX!~c(%1M(TulM^mx-= zFwrO*f1i!NU(zj7x*TG%oMW)yr^qyerw(kYe9i)<$@1ErD6d)a>9VF}z!|c9teq*# zw?dO-s^w?4+-&g=$TuuLS-$JRqXYXVIW`P9ijADb1{}?m-e?U8Y-GdW32bD=e#UU6 z&vo-u>G!yKs`RfCA1ua58o=LXV63D8{5bRDWFfbPcBaBqLPw$eb--9-$yKM!E!DX; zi_eo4)sz=-%;Z5i#IjzhoM-X#W%(Xznk?T#O_%2^KMQ2}7V1J-zJf?oJNjb_SSCyUM0?8B4Y!{}@C!aG-=$mx-fOn8OS$MXW0%sq zDg-N3?lYQy^+sUBMP)($y3bbcEZ5pZdCI6ysLaC%sYhwi$%X+O&QI(`xGA$$gB4nv zSWg*+^YaMT58>u=xcZ_L;T{2>gL5xFkgs?1zI5&--PzJM%WWmL!UJ6n+(pV^j`+4B z-{K=}6I+A-tAt)O6GB*H*9GWutLg<0<9a6dl=+q`m{UW@(8|7dlq#q8OLS|JSJD z-N;9K^PXMgeYj)&4Xe~u1fTWtxd}c8x5UWMhDu#+6OyjBA>Z??MfoYOp4h52_3CAt z7R1;NuJsh<{e9o5Fs2#6As)Sp|0l|6xL1{d+m?2jVV&uAqLsD0fvdmRz8N?ZqN@F%{%7W!&ZRhSGe44fJ`XCEF<(RSp2rUU6No?fmLBued{5?G%qKE$+`V`Ve7IOrA>ea!#930Id=9mg`THqxY>ZW? zO$;uF$f(d7?%jc@+i45R;RLFKGp0G((JO6c+CQ$g>La(_z(g8bzpQc zS}pP2+^y4)&*R2Gd=HUk@jb-`i|-}2+W1`X7Z0dgSL-(erjnMVi_oiZP)ocI{Nvh2&K1HWGu=Fy2Mw|oY#1wO#%)Zj`-yWrv9ABMTQ9N(b^mDy7mjm($1ZrO zA4lQl)uP97#nYt`K&Kh+UG+&eNZ2OeT5 zZ<+@GKc$9f@}XS@o*OVu+BwbWNcjbz)2w`e=y1tY-k+JYYx#k<2Ep@o}Fz!9n6};KPx4FGKxN|0okP+@u;1X{tN0x2@ zMKzc{9R2a+FTH$J%2+Klp}cvtwKb1OZXR~uh=7{`Mp?cR@p}rfQ2QYM4ESKgZt%u% zUp<_Y^I{M+eFnZJ-_TQL)MkprIJoF-99)d%fR#n~SG0>kE5jD5)n+ZYp(jA0je2f` zuEL?K4B^n#McP;D>CIYH*Yf|y{D-VD3`7^{dladd`8WoCnmZrIzB2Mr53i>|=Dh@g z#_brR^*)+Ltv5nlSguuf26KGWcziLM85f$TniA=?R0edA`FTBE=j_-cBsF_$aZ#;@gYO z7T>{kOs1pAx8$9~G4Py!T2P<0fM{{u;=70vi|;CA1v59@Z0BUUi(pIML$tQ|o}#nG z_Y&PKK1K|*_})%2-TKo<%(D2tVzI?LM5e{ZiY$xoC!V$V{^B)@A0YTE%v|0B#Rryr zkSMbF!Qu+@$UhxM`N;x?3Vwu+0}m6vUS^Jmi@FvcCn7C=gy>-L@uIiIkL1VmC^S9f zHNldP6-z9BoLHG`{{#N7+UzrE%jO7b+>SHW491GMqV0rHCEE!jAKM8dA5nh7$jfOq z<02?%Hr;&id?y`l5ooEqBIkoQ8wbhv+2n`aJju;QkPqH$1SB^rKFQq`zab}J-fbtq ztn5YL=V+?>P_No*XHA@KU+K0`IDkjMzsSAXePYPJ%&p@4c-VcDEp#6byC1pv^4a5k zw&C@!o;{dkI}|g`e4=Ou$}iD&Hpt-rS0&CtAv)N?cj0FcKT+ghZul>jPZC>rZm14D zsQI-ng)AJKM2D;l&fpAsrBfA{!5Iv2^M2~5`*C<=mTk*rHZQOKr$}H~y2!%upfE%p zjx76K!E>sdkntpeG5ja90_2~L2=RiPIuVEPe5{}&`M^bw5_E_APa`EIXlm$SB^HS| zONm9cMZzMR5{rcGaOh%NIXi6|RLl8h9O8vSD{a%ORp#^x@<(j5t4D2TQ`XqdrexaA zraWezO`$=|Wjma*R>WCjK$ci&@sHaUZBK~zEqS)MZt?4E=X}@Oj#fS?I$J&Q2HO$J zjpE_*^S_%!mgQ-)c+KLU5*IA~X>r@)pAikLj&F;IwD@O5yv1)7=@$Q-jn5IAO?e`W z^_=;~&Ht0~Gdi-xyaF{^$iv(!jQxxyVhdV`F>hQdvZ;j_^G1(zDyDKpC|XkoszckL z&v>pw+ePX3W<}m^t3%suUB!0W41K$;3hl7*&zn3I_lvf^VmG%MqzU;R+i@*}|6i3b z46(!3RXoo|q4@Jb6@}_KR;!|}|Bjsw+W$)CT)rem>1HnX*>bs$bNLwj0lB%3cVG{roIilQT;p=!c+6yrKOi1Ac(TOnc$~wy=)}&K7XKE`CYbWK#8t5W zCyKrVr8A%$ZEe5K{Czs|igXZ(Ki{rUdCzu)n= z=6T+q_xAam&)Glc9E>@VX1vcPUCp!7aGV>a!cpdd^_q-?8X~<=at+lcob_9iJbTb1 zgST3buw%Xa zmJ_y;?qV&=O2Mp8pdhrBl;v6v@+3I&;^Br7e})bh@X!OwtiiRvumaZL+9O=9?Ya1l zaIr!Si{OY}F~BHXI85d+HB`Uau0H&(KG7}bxeC6XxoFODG5sfTd$97y*g$=PEH~M# z)5YVVYn>h5#(kW@tltII;e6;S`2}nutf`^OI&!95hWxVa{O&K?MWrjYi%M5*kGf!h zOor`sKIsyS`&dR`Y4E#2rOx>K;sq10&a+Nc&tEh>yEB+?iEtgq{19EGu2~}C8c?n{ z%H-)MT!UPcOjOU=IQbpje6mp>_lp=$KEx_k-GzCB))gRD@tGx_8*bB>7UU#kx&$2H z19nPnA=jdxqhudBAMVY`HN4O?JqXPpAEFnXH}jb!xhY)XHNl`l{~*tB;mu*-bwT+D zU>P&}@noZzYpN(&H!1#i4S-(NUP&W9|8CluDMoom zVpgGSab9G%?ha+2dWp|%yhHBDSA0w%cVgFA@UCt?)rgN?LC2$2|4XK4KR6W!F|ul$ zepgSNYK&==eYvG8*ZgnN?_of;%TV`Kw>5AWGu=BxA4w|g`{ibB|{1WA-S=TqoXXUjQQl}GN%ERN3d9nU& zN9<1qrQQ3|XyEW?6-to5na~V6xMOR?yA1dp<@XRysWoKAR(r_~?k0|tO@|vg7s+mi z0saS!LB<@CBKGOH?!V?MqgZr~!ID{mqw`;;r!pAtYTyW-MuXFCd}XwAyq3L!r7X?z zG7RxDEJp21evDDAnpEZW2dlZ{1?x(EK%H9T3FO)sh{ERD{k0L5I1@52M*2K^#q?|h zr(y_@EUE)RmYBZ&SuNq|8 zYWv8YSm~$8UG!Jq80BKyVaAJRD{rADeZZ+|2x~Gt$WoI@etqQ|qjrRBS%+f2=2cyN zmXR1CTV9!e>#80+%V?cZzWu5`W-q^YRmXm7Bql#xEGq|TwV6zG2$#;XAWLPo`t|&8 zjZ)DEDH{>GdL(^@(*?gi_pLD`;ugxixMNiLT3X-P#xQ3_g5z%Ju=z$pMg=zA&<$ih zRKdubdhmQ(1(R;3ZJKYqW%x5anjWhkP2pgrh=BCo&)Iveel(SRtsvw+^#ygxlD}lO zHOXIbktLD8=AwC)Y(2EunLLO3{mAqDG#JX6`7D?~wvNEQBrl}SeDWglD)M6TkK`q^ zJwjee`8jeL<^PbaL1v!!qyj%sC;xkF@8z5+#ex;&N69P6b;#D$n?UofywWN}$T`iV^G z_=y~S!dPrfj@^TDuNr4ex@F=Ww$j(e8nWiz2(t9|@F8jI78`Fl{12yWIgt)qc!;#t zSVPu6Ytu4bp0f^ai9a!rhpI@O36$3%f68Q=lC`L)=fD9qIo6P~lJ1_+w{xY-WyH!D!+U*{a7Q0kx_i)OV6RF(^2K>=h zyB)UL?PTq)QfC+C&iAD?cC&VQ$a@W`T?{y&4p_BI;LJhR?g=U#qEbupVSDW&UV_Z4 z+)mHmX+4)25oX5v`uH6^WTkC=ed~_iw$e!OXBwEEHyOy|lqR)S*KnsaskORB@VT17 z44T6!S&kz|IwhM_axU^>aui32Y$oS+%FgTnxv*1gPlGX#_+{r!1h~bSB2F1S>=`Oe zQk21>$;D_~fn1zU>yk?_STk~II(?q(rMx@2j8k9UY!oUk?^v_?{XBY>6w>h%Ir@E` z)kaF}yRh)8@0_W3aH|WPsunq=-_H)R^o%gS9=X~W)B53bEg#Y`Rxz7J%zk%}CFS49 zi<#4np}OZ9yc;9@1IZ)Zc@24#|3J@PW0dk|m5JXq%&iV|ePFoaj$T*?dVV_82f=vNjKvC|BXVhoXSpVsIOt@ zQ`?!?(jcR)IZ2=b`27gESM7IJ&PehglYCGv`jYTj>K}GG>)h4GS|cG}NKgk3+`}Z` z&rUry)hMJpti=&qF^Igl@$f8)>kZR`*BVLDS!I&%apvA?m_D}Fh;QAUHorT2XXNyU zt>MnG;U3fp)n^oKFFHrVb|yGgU7+tDhUt#$jM@p=ms`5hZku7}gB?))JWTIgXB3D$ zOTRaqv*0&uxW2N^XkRI-Ozf{SR?*>Nf1UOTt4xx~Md!PjOfK`m&UK7F3YwMS!yF;{1*l(Wgg&>y zXx}LNa!Xe#S`BtS*h%6kCkI;nq?yfV%Dolny=o|t2Y|Sr84KO>P!2` z8TJ(FRW>Kx)8#iA38gaUGxbDw3H553EAQ#Sn~ZfC+wdm$b@FE0G1=hzde~+oF*Z}* z^jO>K+NK+RjxxuCv9c6K#Gd6?ny*d*AeU!MN4I zjB0+U$8RwXw$8rX(v`M)3U(M@%fK%OS=y>Extj@8L&-hZo|8Y+tG62QIc7oTRb$MW z%9VC=tMMzo!kH=YSceE7vkF$##?pERJ&mK+U&#DgnYu)tNcmlGKz(M)?kwj>$!;>` z(d5s`ao~WOYRYb|7Uk0nGkDh5Yr7GZqbY=5^^2L);nJhF8&x800?(@>^|tLeE$vUG zlV(+i%QF>>(^9tIypcN34kINw`*KTH+HVb`|H|4)TY2&G;kSprFPpvL`_GYj{tlyC zY*v~0z%kyPUEi}p(FSPhD*P_%cz?pbdJ&! zf)%@rCXH++!Tw~rWKp)EdzVXAhgZoSmjUhz4ybUKH1u%FBV2C%*JhkKci3&Tjh+OV zS5Tt1*!)L6$_!(NgCcOe7Dvrb{}1 z47rXAsN%_W$@Rbi)sV@ypu7=UX6!guTx>_odR1>%W2ejW4mef4%{)g2IVW6wHd@cz zYaHzOaJrTcIRKasA3pe#l&y~3k14N#JfQl!qyz4u&O4N!9<7hNn>jZKt z@R5$*Z>(;VRVFdMVV-dxNsMo7G3Kx-YEwR!)o%(8s702KIay8QuMt;xRJ(#?rFX~x*k#WU+8UHl+ciy!FsPuDH@-ABLp76^3D zf0WksppoqHXRjcR&$-00wS3PrdFy=gf^At}WI$^xamiNk%hYj>kp{U!+kE7kHff`7TB9A8LB~K>jBhLi~RN*igkoW`T z(P7dlx08#6$)5Ab7@R8xRM9XQsCa<}#lqytpuee9oQ`sSEHx+{f1!t--z$$VAjdy_qs#=(= z(gAB%|O*>&2y)$-NUv}2BpLJ$l z3AxZ&UwPI!Eu(yO7d^R^tvsx2+R0YVd-*dII`z}%x;tYtu0-_dr=xo~lQYV{=%;)3 zusJx`FKuZLXP7HP!5pYJy=hZuFfc9hEob@C84BA!(+xhgDMU<88~LfTy(2@R%@X~EEqw4o=z8%UtrdU$S+d=A98!@lpHTkU!uGPIG|p3*F>-$ zly_u8qbcv?t_t})au;`HKW27O=@qwlI>&<7+!Y}&^ocm_#sJCSfa>m!gS;2HhuaGt zMega20na7B;Vuf^2KK35v^`Jxo9;r8n-j#(yY778d|*G`2;q*xOc@pob>{@vCx77f zfL|aFcbnk8V4wPsPKS|4vSyk*iY@dl`6J3#kw2z}GQ2TNZo|4ygI=W=Lo=b!DXF7ocYJ>YSYWX&Kqx(Gged=tc@dWY~cC@+VZLB~#`A61%4|zLv{vhw9 z&Ry~@#>%NB)^4}|ECQ6|%pUhCZ~}R+`vkZF*r)c>pe5yp+(#hqNIvX71ny7%&HXHD zJd%9Qy&v+=$rs!&K)!%{(cKoj9*hG-CU*d@Yr)K4ocWUlHyA7&V@m_-rh7LW6(-+t zcZP9A@?Cc)aDDPUcSmpv*r)EZg*uUQ@L;qrIX8JYIWKuKIUk;9{-QKuMapX8pZ}8*PDM#BDe-H3en5kGPk$I_auv@O$QP3nJR872f_8CHh~=+CrKjoWDRK*D_aZrk#yx28oM$DB2T|UR@=wU^$={MY zl2?#B(dTY*7q-xG@@q`=Dmb9J`8~_v)GElq_J0s()>CP)CxB)-K_z@{70r8_9H7o4 zpG%_ev4u*Khmfm*u_g5kg>7TXhtl?W@&~l-MxEiFxkzFFd4y+{A2Xvk^Py)3_;VVJ zqQM;UN33x=`D4~{7kNB&PJjbyf@cH*U#0w0%H2~XQOzU@k*6@x3Sis=@uVVFU9cag zo}SM!^AroFc_x9|)8Gpl_adj#cnEc-dnQ2V6Ux7$&e!A_{O(X1`D^NLCC?%sCC{e* zMQ}jP^^CnIV|Z9Fj|I7>Nx=foXaw+reQF_VUxWM|Yu1RIPJV{GmaWo-yn(^`k~h-l zaPlVlnMB@9{cp+sEp)V;GdsvXl6R7ilXuhUU*tWMn_ozxdp#qNXbjk=_EBDi^8KEn zkk=<4@C3kZsq+*4bR!?4{vbb<4toYd=`$Am%!1kEU&t${bHvjhI(sQUO8M{PW8~}P z<78K=By^6o%uoK4fn&+%*(x>3mpp!jsWE5%ViUC{U!iel@=eO$BHyAsK)%gjW5{>O z)5!O!KbNfddZXoJN4UbYg=~@!r*ix6;yC$pEC>&mRqhr!B3us3!oQT-c2=XNPeAMhzSh@&Xd5T&SCu$ZoduQ2jmSPaeFhv* z4Z?e&#+@mDf=+vr8&ZEbIf?q3{3PYG$xX;B$<3MEUh>mS$bXJAEol5V`57wZ_)4;V zmRy9~nt>~j+fcs_`6UKOCU+pWC3huvCBH&Hy~({O9|{hrKK}3?sM!=2^rg}qa(^nV zrPAQ=SD|x=><{k@zCaFycK~~4NTTmCp~B=L^iz)fKDib+poWIO0R3mkAB49Bzd8f` z-=~JLWcNZ=vOAEhEG8MyI-G5Uo!ABEciNn66BpJpH1VwpP=nd%6|=?0r^SFPf~t^e2P9jvn0{e z^i#yonKPWJ2o9*T;e}AkI^=WVv*73{>YS&ePUH*Jf0H^F!}CFZ2>Eh&6nH#!uCZd% z$=7MSn0$k+vYvc1+;3nZ?BUEU7Mvm9rolDx-(=UflJ!5-$xpt^Bx1?;s8f}EpPWSI zO*8c@*};ofUCBm-6LI@~%k96DGs97UXW=8}qQ;Y`aa=u^l`D>{I3GXCk=*c?P)>llz_=A0Y{C7xt^lR62s0fWlxG zIJ!Wks#Lm5d9{dKSgw(CBtUgGV+^?lomL^&q`U#S7Hw0=wW-sY{5W;`kn1q6{{zef zRAR(_1fIwOAC14EynciSfzv2&K;zBiC+PGLxgqt>Qom7z3H{rYCs9AgTuJ&#>K7$9 zro0lliJ!)GIg?DKr^!vJ)PdZLnf3w)RP%^KNc26*ThMkqq5Ks( zJxP9*POp%=k)87;iS7~Sp`V}JBjPML7VJ~6)3ye=C-obHvHgD|;*?~~f?ibW4i2cd zB2FOFft2@Va%0GSXgrNN{UT05X94B!P-iW90Co0|-zA?U52XLA0^UoIvdt zvfv|Tx|%$Oyq)|pgB>N0rTkCwILhyk$5S4$P=b9zc@gpiayjy+)Tu$9NO@yFXEY01 zlP9s@74m14_aRTFd>Hw2@&xi!@^tbv@FA%8=TC(k0+A%9CwCeJ3fCC}j^=t`c;iuGQE*rztLhvVrS@D@6aByXk9qU3Gl^5h@M zHObq_{v^)q;LNk+o#c+>UF2Tm-Q>aKJ*>@W@?It}nY^E^vXFd$^3~*njwwa$%wPqK#e7zj@W{h z`;t0msIzzpxBq`coQKi|7M!P}1LO+~aGHFP26xGSQ76y$lIRu6OOvmXYk>pmTEqqf zYeM;T>c33+?TB>9`%?Z-M3`*xuBo=Yx3UP~@UoqgmIOz0FCS44B%f&c52$I_?xN|*oS1ElUWU4Ff@ zeRQ5Q$-Z9bX>uxTY=^t(X?ps4=a^_~?A#|MWP>GBI({Qw=h(UA4bG%sd1{vO4OaQ= z4bFqX^3TiI?fZ_S{p5`q{=d#r-grFA8*Fl>M3+Z?UiDJkvRN)qGjOVEALl_1Z>FWq z-{kx*%x_nikVU~#&I#p3tYrH*Srpc7kLO+!nd=R3s+X7!KKMn)L3vWGG4U+ZcBd5uO?xpA7`qn&%qy& ztEp7*m*nbd26z#{nv%%pIpiMkB#NlsSRzyWeobqlP?&D0(60`gNzT@Lg7 zNN%o7@LBTH$^(vACBa&#oZvF#mUxs0-)kqQsC?jd;OFD;7-b>M^k>1dswj90xs{3m zuO_!vUhrvh8x;qZh29yzrSn`F52`H#--nLK!TQlBjlYcJeRX_Yvy@*RH(MuGnB;M@ z5X$YwY6e+06VC)W3M^AY^_158oO}G) z8NXsPe%EF^9PC2?+1^YHvTP1!2U(miB{%28K^w_WE7_gwBezrr_)ju!vP;3=tM$eG zSQXuCq$a&o%>1<20~oB(I#b~Clty6y-}jSs+KTWNJyn4mqmYzrpz4wP&}lPrUr6!f zHn|_=-Ph=!4?5!`2SVn>BgVVuyF6po=mI}EyH(06lcrq8rkq0iWsEnAyd00BefgQI zY~*sf`B4>JfB`{k(oX*5j5PdNh2m!${hXrhHnyIX_jcxYo$?*@AC@ll*-0))-bIch z?Upf6(E-^mpQ+{7I!sIf}yfP3U7Vlmn<9S!b~U_6AuB9=F)fnm-dPkQJ~; zkfpXVNzHxueE_*v#XBZtw0LFOJ}4J`IU@ax`j0tgWaw9;epWe}LJZ`fYzYl&ITpfT z?>gP>s59Q5RVFp8$<{swT_4zholN3GTKF7&)N^de2wI;(AC!lZbgviNhK}7C`bpFe z%KaGyA%jvhXyQ1MVbGKY56VOOPg1|R<7|e03+g{859#-y{xgni)bAjjvlR`p7Facw zW*$z1whjzc^n49Y#cQ)=jaU_A>5sdEEdBAfAWLiASg&s!bEf$JGapt=>C@pGWT{y1 zs4p30SwdBVEdB1uAUnbBEY5r_x);J~_`Qw-c_y+ZDur1zLT5I@gL2WA3XZ4#tB!`y zpASw|udor)H|SC)oRbr>FSm5rNU*~JDp#758}!8!&iI5I^xNMt7JhSX6y1LGYvnY6 zIc3$+&3|=71P{iE{9sI$vzUCMyfT^Ln?wE?dp`qA!ztgQxVTfbMChy|3VW*taJsD1CEYk@W zFu*XRaBP_#Z~+D(2Zesnv+d>0f6!Mh*v3eH^Mg*hXt)1CkGW{KU#?f%%bPFPVV7*> z?=RQYFWKyuFV}}8w%#1*>dWt;!qEA%vbdDu#Q=CX5L zsZjmat_(HetByg~JcQa|?Ml7vFK1$g-XAu-uWfpNtkmVN*z_J*mFaJ*P4AIadL;BR z+O_&By;tT#@p`V((N~=V{8>AIbeyl*ajfH%Z`cuIHc2O%#b>(X$=|X=)gjL&TW6tj zxN;^_KA-#|*?MNR7ukAd^?mXp>mk>PmTIHXn?r8L{6zlIu?u{L zI@>vJOx^uQzbkbPQ@=Om zzwm1%ACQkYeuvHk>R9hs`x@LnppH4Fp;cbd%Wpf|IU>6w6|d6HbgVZ1t!btH!A(PdR-vo|6Zr(%SmrI?Dhr+6OyU!C*1GW- zo}+vk^>b{Kw)&EfPZlFj_tT&PW&&ykA5(ptJku$c zaT=4q;S;6Lk!LyOGGll0w@$e(Ify*RDK}9@lIJ?*rppxaJg3|$nn#}RlwP(5j4@Gs z8Wor0%HMaEiZ}q7R~0imtVwHq-#H|6$oS*wpPn=`Hym%J>+%jWbAvrMUAJ@C%1@^2 z>GtxxYxQ1xdGcBvZP@IGuGPtg&3^gXwDE>nDl@)+onGyKpd*BAaxq$7Y|hN%!>F{EyzGr`gNbZPI7#|iwgn1@o8RXp(^7X1?u}v@U79E|# zwya9n^w!w)N^H?R?Rph#dOzCqDs0i~a-fc({90|%5jkyj9=RngC8v4P;m=$f@T?lw zmJ)oP?QgC{G3Gg}Mb@JSCCxv;)}@J3e2~=IJe20MYwjOqO)En#PA*HXMlMHgMy^Qi zM2`1!W&md@lgE*(n9|BK$O+^$@?+#}Wa~|$N6FQg&?Rzp`jL-r;UP0}E^-DC zsk|M#MW1?{Gf$u(pz4^i&1prhYyJuDLWBC$=}&Gz9z~reOxbo#B{wv$g6C1E5p`CP zlh~p=snf)iZP%}qC!6lZsO448JY{9QLlSCkWepCf6g~`DlKhPM4~(l&=UE1*PkAfz z1m6{*qoPbxb`%7CxDWe`EOau&s*iS^O|FV^mCs4ouALN-Q&z+8t2?83-5bABv_Q3 z=8~RLj=anzH!EtBf8Zl+&B)7LvX^U5Ug?sa(w)4@C40Gn?PYynPHkMX+g>78jyiWyEtZS0h`8b-@VtAqq z(+xPsH4i?47Pd<&T8ode6(!f<6KGYyK9xv)AGuyKAEIl+8DE$IM_tGbsPs1Z2|680 zZbelzJxg}I&6VMn`N2NL<*&SCH=l-iob0K<2Tq!BCY+95BIm$5ipwSBoOC*Pk6!0Rw;T&YL6aJ&bAX}&7WGb`E3-`TIj;%((K_v_~Iw(_(4^?ZAI zfdl%6y}Z={-TG0R{g4BC+M_o64F~i+d-;_EI;pa)ee)jFLn_5}cLRMFNp1s4`>b}4Su&k}_i|j!+Y5Nl8(R-y^cJQ-b z*1!y22u7v0_qVrAM$(TtK=bU>fHOKG9S2Qzf_z& z%q>SkkAnRHHQX&brur-x;g%iKGvtwO*)eq>k8;b7=}q!zx9phSCx7JL5B`+=v0JVX z%qEX@ZwIde`_wolv6J#o+;XMiG@1bs#Odx;f2=s0yK1 z6$p-OOGr63q3_d|Fud0G?lPjp2;HZP5Us2To zmm^nFKCq7*uNs0|ksno!!9B>8{i+#e-s4Oa)dD<;oS>csFCsst+Jd)}tEv~kC&|@R z2kZpO> zFUfUP0KABtsD^^qkn5=t;QeHu8Vx>6uCK;|Z<8CS3E+H(#Qzg&64<)2-B5iFwr*@U zQmGwfhDu3l1~`%Yq?!e8MQ*I-g5Lzks3x+s)ev$rS^n#c-=#yDH?uE;CqhT$;4C+@ zbI(A*5V69vK-hYB>b6Y$IRlOJhxE+4X1rg%+7SqTCL}+(8Xc4;S0~pc*C4kf*Ccl# z*CO{L%Y`I-S%6%ZJcFD_UO}!$-bb!4n+@EF=1c>!<7Y|e333d%5jl~ZL~c)hl029! z=P0-eNVb}C9@%Qj_2j11`H9?&{O8Yz9|(TD>^=*cvmoCuBA1l~?%iDN!9kW9HfgV&E9I#SRZy%%I+-HL2BEBQczUnV<+%h|Z zyRntQf#BCPpC(&A#@M+0iA>jVzY2dtrTSz`e-L>tXC{KB1qNUk!V=0WQohTQ>#wF5 zxugGNK`j$wXE1chR}Vnc84U;Nt|PS_gU7 zAl$a1j-}u757Dn@&EWs(LF!I92QlD<80VBeUe%R9vc|d0Y(6??Ww;$Oi83p)(FFyDQg zY#(M5e%VraV!l$v!2!|5G{?qy{>qfUW8)ovv96KJu2?=+VS(+wLRrGxt721$zAlr| z+?e9A5WK3sY&tzj;8f*fbGE#ecJc{xn5$#<3YId~RP_=JefTF+w;;>;Q-5*;z9(-; zkRz#OU7!#geNAs`VwN)S_agpAj;3A@4vLw4O&3qL${Ga!cE#VI&YK~fiNUhv!N12c zb^3;MBAZ%%5`uqQ<8RQv z=rb););?G^B=~n`rq0Tc&cR^W-<@CM1&S?K{C=R`6{U*68lrbjdy2!1qW(?U!c^k5|4;R67O0BEXL%>6a zVQWYo>j2{`vZZvw#=CEd|A2mGvXML4zT5c?1>#7i+d-aD9(U(&iGejeL$1J?K{omH zTRQStwB1(7#7B!TBz8+DK5G{6%S++c1?{uj{n^I`{$ul7>b6p`s*F1F2afy5P1Ff+ zdvdZm1@@Dhsgsy+5{oTsMt+#*QP@D%il&BvZ`VdIA zgd>7%fG3j!AZ*sb0kpH6m~JJ%&!L0|$ipk}(-3Dl^C3TTW&R^hN7Jb|NSFUG75Ycd ze-7O`;UB&CIkR?jW9Z>ciH>H!yF4AhsTiUrHGb~zwAgmI9_!Cu!BUncd7Z(mv26p$ zrFfI{eR65ONqPd=OZjv#2Ese!40IvoWhmc3c`R?Fn?fE?lN@q^Ku29M^Xb&~xIX{p9X+!>T6n@gdRu$6@Brqp)^QfETAK<^Rq4SN z*2P~kze~)%+|tc#;B=;7HSjv}tUEfggBhRj17jR<^!U@|Im{SG7(>!+h)i6dzGcp4I zZVUXoE%5IgV`K$B%fLb7|G`$bf7vXMSdW1&I5r@T<>MlKJSdmM^5NH&`d1u>p#R=o z{oTuEspzaSX_za_b^Kj@5iz2_qRnkb)OoRy^4ly=zpIOP#7ODv%Pn15z~f=(gPm*x zWRiRu;~AQ$q~&UDMHY`Tt!h^^mV`quJ_~j> zBY`}&1oGGt$YV<&FMTB5(^oo~rIP0J?4MUpXIwKbCn)eB+CMA0eK(h?lp!Ycg=<6Ey3hbhVD~_ zZ$i(iqz89FrN5?Od1D3)E!_&#eNY}+wSJ_24PzPfPccw+#<_A&AM0Y4YMp(#RH8Z? z@gD5($T#2AE-}S-9DX_P3)eMHWcaQV^4+?tS-W-i<>I@J&3BzF4I~$FO4E0eQRreQ z??xftXS$jx{_M-ecO#qcM)X||{(O+jHd!XALo$9%87IZ)oDrvGFpl_XNk1K+Bb>Ra zr|7g-%;%E-U1O^uTQZ@ZOsFLj8hBr~dlfsBkxZtuu{$G~PPSw^*^=qRWDeia%U?CS zz4q_hNrgIbO|Ww6WXq`&bFz*cI&qsekhyj-l=U*(8Lydfv0pIP{>BTJLJO#$E!Td* zT=kXL%x*6}oUY{5kM**0>StSU{g{W znr;+B?7gq^bT_;C|9v}2bCj*=M%mIFWlM7u(>#v60?^0N%6+RDL!U?FA&vg0yIC#r zPbQyg47@A{5<0Pm8DB4}OoD#F3R%nL3kD5!0#C?@_-Od z7Sc(1DBSO1;$jS~mK&$6$faI4YbR!vN#q}Fk$=b%xfCL|q>pWe=P!w@6Fa(!>ZPxn z4eDhraKO>lP;@N1tyvtcg`@6t^sBKQj>aIv8a>TMi4O?jo02bCWu`IMmI+2v(np z;&8kC@yB;t*k20 zb9;C`{-&9~h?PcNhPKj3w@uHp(@Wp<6mZiorc0oZ=3ns+@e(%=Ve&s!agBYb*6%}TSL{I zng1&t+49O|red(ggIi8@9cO)pL;onz9}vR%8+6_X3MG1*`Exx>tAS20ta?KDL~pZE z*$0HMdY4v%pzH%nD@&~x^foIM8BGtvoekk(DmYaQqw*|xyV=`(vFX21pt2nO!5ch} zpy$PK62SMNZe@*+cP=XQj~dLGf&OsSVuCLP2YK59j< zhK%OK(#9LyIimBy2vho^*%F}ORWqHHZ@4_o!5D|lIz8uf=u3Ugmi7LH0+ppsufPy5 zTHxT)w}KpMIe$O&mjI(IaQ3jG=oS6Ul8Fxp;cY%cTi)ig&q~g+*m02qwUAW5cTR$n z#ZDdF9~bMh$|U_I^s$avEMY5$e8{$L4}Gk1Zh;R}5&A2s|A$kL?{B6w%D&vvmD*Z0 zT*=yAXPlLxeu7q5?ZnIP2fE5eJ1_>$t2Q}3H$$N|GE`wxcYDX|>(9PiLT%(XK&((3 zxfQX_BR4awwTP_`lEflTKyCf+7BSM-Uf zwmu^=-_+CI#aY@4+MIP>&S<{hLrZGsyJkwQ?90X1?`%G+$*j+hSWR}$8K%En|@H7~&f8}c3 z(WU1PG7E%bO@@zfQ|UeJ@z(fLgUqVYBcSJ1h0GDRU7nfXR8^24A^6^<69$_}t+Ow; zbfxXBxCQxnhi%NEV8&QJS#kQ|cbsv`nCfpA_OyEEV6$6nR+;$oGWI?C@R~4FIl^>% zzZqXD9|npAM1biPa7=KBW&rF}4a}N<>-m1OV|3=c%QGEiKGl%9%n#G$1GqH4n)OFPKV@jcRIv!dpg8&e>%kHZ7eq~MIO3wDO_FdTy{U2Y4Dau8on4SEbmms zGpoGp`FW6~W6bfSjeOrsH2e>zEKZ8^8tE!H@u`x^fRn93mNk1HH~_iA&Pv{+iRVZm zRd}_faA{t-wAPN&N-k%_K#q%sE_DZQw$i?3Mn2tP7)H@O3b_~kGW`zjOoi*g!_3-# zyR0M1Q&nG9=neYr%Q*6%7r$co4WtjhIsqS_P=7G>MW-R6O1}R}NBrc)Zw72*)Z21O zYE7N-=PI0ry3sZ8N+^jOoTVFew09%>@|R2O>tG<4*zMiR{-}L+m)WJGWlWbUd&==`IAdMRvwSB)se@&k!E~s59ZNa9m>e#DO(;-F^?A`(o#m5 zBOM(dPFVsz#V%?Ee2Nu+AAx+3OPBkY{4^7pN^Ze!{7r;T{0R5qFsQoqN4V6BzXO7Q zr+tJ=zDt3P@x1IO(_>VDKFqGT9`}$|hXMC(CPKD{xW6iobLJI95=ng@n>?26_6S=6~#D!-c zSXL}6`-#lngBRua)Fd2E@MAURII~xD0m!^+4q7P8QvsZ+W`{B!GtNxO$Y=u+_;Z|D zB_pHT5R@Hnmhorr!SW{US(TAz+cKKXK2VqPdC;(?^x)s7lz*S4&8wiyYV+^e=AxR8 zy8JlatQOq{241y76?NdXAmCKBJXDS7Pt5lI?8_}(Npc{AF1IDQJR<=w${XP~l5sZU zLFTaF8oP;czF^EvZ2oycmQG@=$(!7~{{13Ww@=J%9sfU_1bs-toA}{NYuRpMlFOO= zCbsJ49J>6cSgrRm*%RtkMzY6k$sP|Ts|SB-4r%#tx)S@iZLL0Ti+!B2&oYl+(K+z( zl(Ny+n8Ib%)(G>sa*FvSrZ6vu9zW66y;AX6$4e8>WiHE*d&Z|n**6w6?D{ehIuxD@!dAw z->~v1zD9!-?gF%LVD8NMqDDCKl z0QYk0pFhK~;{&n+lg;8qCZRmEqZWST5o<>cwszEqFX?uNT`8TiJ7|-U?CVgYp~G-1 z8OB4vagREb3@Q@23@VaAKf*HTrz&&;V3|IN%;cI;IA5P)fUmp3F?_M~NFOIY)YBxy5h4m7m>lh zly&?O6J%LADhFA%P%<@yzQ|>2sN!|Kspdxi!#GN^IcfzCsInM0hc7*VeK`D=Js7x%_|CdLHk)yt=uLlUyeq=rdcbuA~2 z?M`@~+LJ@~{KBjqdzijjs{nn8T`St1hg?`%AStij`GvXK|8TmNowVXVtUxPP_>p|l z5Uo@{96J;N`@nL*Q=Z&b>ZfW@r=98#oh0(}Dgc(UbnMh}d}$VI-4X>})kigUN#!Nj z+f29<>`(wy(`|KB*5#Cqc>J=7v^vqio^ z0s$nP*&@9w2lrIcJk}|L)jSqk%`iel?VSVi@Gb(W%Bwn>pjSUO6%K}@w zEU>l90&b73`Y+)A6AQS(4D&nxf96A~xqxkJE%*hj<^km8gWN#%PX!sME(KXSfz=`K zksmn^IGaNc_!`^G`>YV&1LbBfU;4F~R5Ghf0&Zm`t$NM_XPMTJjM zxh?q&xi=YuQZao3>s9{6A(H}Zh~>ytsnd{Ljr=0H z2Du-(CixRG-tj8aJkC5p-a~Fkmj6%T+fh3$Q1~w2)knyp>#^{2RFe`ERn7bkUOHrxE2<$w}naYlQs^$KX zoS|GTFRiD|!OFeYCd=s+=hoE3#vhZ1vmlK;f_%cJ6IC|TwzZ8zgRMJZX>YN~#eu9g z^?YXTHuftpG6;Je-DkZ@CkJ^$Aa{PC)QUI>W_7;ZWXm8|xy&Ry6&(8M$vBuRR>3-$ z+lebq)ghE4y#LjMIms$Af93-U2XHVq3qb=`Qdutf#bX-^IS=NXuT-?Msc#>+`R^Xp zEr-Y8b2Ga#Fvls`R^yOMHu6{JnWqzM0-im2k=$!I-?&4?mlZybb|xLTGl{9B zBNmvG8)jc_>B^BtW!U*(7Y0rYGEg-K2UJI;$G+@}i*Ad#SnSd7U|?u}uourX_`G8VxVzYf>R+)r3 zXbW?YVQw?bA&zX#i4&?=JbRT7u8Tja&n-6NbHqdDRcCpNq4W~-E_pYdwp+4MUSF!MaRM%VVma_EKr7-ltQ0iwLaaG{xzs;0a3BBDcUz!=!@hD^gQN;8_W#QLp z_X63He?{&``7&^11O|*&Zcf^1Xg1u_2V{T5o{1u$4K4#)qE9+rtX1C<*%H2pu zbS3Y+U>{fll?<{IT!}o+VSsB^(Y2T1o?HXSym%4U9mHz^PE|7)&s{|iS%yWQeYvG8 z@m{3g8Mb&cSjTQvbnzb$qc3B8?Q858;u& zb&KEw##!yCgE%5@h}UgNy&sf|zMS1mr~XFM(c%$YC|zz=$sd%6!1DuZwJEfe1Iy8^ z*3)9Yqc_Trf>ZI%ED05pSI=H zhc_}5!y3zq7UK}iNvq9+EwV4SbfpOfF{P3m zj$>U;E=~T3a<3un@j1DS!IwQu)UK%5Zy~{1ys;3G*MV`y&d581ES`@hq%B_~W8xo9 z*>WOhz31R00Ehi>=juASu_33@&c{UF#E^^ldC18|06HbeO%3_VSp_g&S~Crtmo&U`t)P2jO^$bE}pB>eF7O1viH@!2qlQv)0^*zRv9568he-vPn% zzV3N4&-+$_Z$hUtf`PN#|0-uc`ZB9p2TPLKf4Qc_CmthnL&b~BC*re0Rb6}|E}&$U zNd?2XGpPn$+%6Yys$Nw+cq1C93GEB0{g(amjb>7; zz-o^co3I}Dqu)~M4*iOclJqgLsvfY(OiIkY+|re3NZtSGY?BVNVj zmAZ>vrBIBd&4`hGxuu&K!+O-us#E1qjBT6IJ{uULwtAK^bl4WNcBQN`@m0&#KGxY* zJ?4%REUQgE--sRmPxO_fdRV@uZ^2lbtTOS{$mXjN>n{IE$CT^DXXxW;H6o+V%|msL z-il?PeYyB<&TB5ISO#0M|2L~i-)XC6lt3udoP zlpeYc0-63x54FU+TRQ}N$W&^z%Q~MhaUL35O%MLjjBjnfU@W~~bZbZBhhPD8Sef1= zXEw)lN|pMSRmd+1dD6kD*zL&fVtX}hY&VlSW>Vn$i7^1D#2#A;*@vG0WM3|E+pyZd({CI4 zy;5CI+hrz2-lyL#s%U{QPvIK+$}V$EjjS@U@61?bYDiT(v)PcEN|*mIRiXS<{rpF` z-ne_WSu~+OBwpNw8Vawi!Kq*#ra-$PSQctl9bJ46&bm9$u8*3OVb|Mc*M|+BolZYy z(VIGwm2?=nKJy-Z4pO_}b1HKgNT1&ZSvsCf4b>pMc#rvIlk5yu+YEjL`*3SbDsl)M zP=omZ-0zh8*+ljA)V*fG=qoH9%17ex=5Ck`rP(7j_0GK*I#rmm(bzuispKlC&3(An zRtYjZD5i!M4D&Psm;6B`H+J-ox zYoXi0L!r|d<=}t4Ph3Yg|IHRhzd6NKqe^xcE$l;!Xkv31KmwQE(G3PQx`ahvF!hQ{;c?NTi|EJ@gWyC z_*9T(yLB1FBFoPu-lgWTr6tfwiB;metxPRsPA0YF!THUYsX=UMN)QGF;|X zrOVhVUB*`FGCaDsDqV)x*LNdmsw$%-$vU<4#GlNQ{{I`_R-72bu^OX{tue}Q6|fqk zOhzu^OX1+$hzH@(N1c=kpG^qLTOg3?WxiC%~h~@k-tcG=co6 zIvYG6K8&~LOohygWm7d;k34Kf+vn#W#?Z??(V3mSKX?iBrL*^sPCItktnKjs+r1Vo z9$FFBF?bZ5h0bVlaVhSFJQdd(rR!d~C!?8jaVZ`R%BAc6X|bD&@m4K8?H7#0_+M}s z^k*d?-NHK8$;HLxtS$XG7Z+E(`-%(|6=}(>uU`}mD#^)8xgbjiuUcDAK7vd5KFGW{ zD%y}y>%z8L7q->9u&vgG*>|m47q%r?n0>bee5PV(WDMeT39=X5C&+Q&p%%MUMa+z= zt(zY;Xa1igGc6c2266s}WS$QuV`X0%23E7mb-GZq7Un+KYSqFjvsDXoMVX6WKGa+` zCso1tA>1Q3N+2L{PLap<&Ah`Z~JmaeCKN5^jS7Dy1)qNir2)-$4D%rYs^F5has>?R+ zR9Ez^X^S58n^~}4dSa$%OubA#W8*o#O!-9{PpWUVn#*VqN+}@^5QAD|5eD~o1#BDt z0=A8R0k$JH?B{;NDEoikPP%0Qu6Wi-XaQ~otP{Kf>~f`%3qHkb+h!N$HoFq!0dz}w zoWt5?7tzO0ndPFNVe(iXi-wXf8%$o8I&F4)KKpV>rYtLGB~z9OSjm*NB~YG0pY9@$ zj9D)iuo9@KFP%XGotZ#QH8vxG8leQrpE0|&&c0j{s9{T>hAn{_wghT3fnyj~6~LRw z%V>ebY#q_qLu9&n2znhVc$1|nY8GWQ zo3^rUM<&`&17yP(TEHDz$(Auj)(lT?u$;rospNY>mIJD>thQIhI)*WZCO(Zly0?#6^MqkOgo|J^?HIiB>w#CA@#(I%U<>P{^Rlv*6G1*U?%x zN4b%+wSMc8nG{>FwIrUb8kP(t-o%!86K-^n__0goa)NvmeBXQ^2}9Go~%6Q6nm1882qV&e4y zt##KccsF-ED>z!cP&&-h5R9jPgB48Mbj2L(crAMcOIa43RgqDwNIS;)h!qJYCVzs- zk7x3)LMNa;QN7UmeW^bI=~ubo%&XI{nK6l09cHi&mhRW8M~3c9#u-i@->6q1|1`** z!Ic{5;@9!6C0UZ!gG=%{DmoK7c+^ehD--5f2FBxStmwAZdhd0!eRB5Ymaf$E2<&{Y zlb&Y9-^`t=6@N32?~-fj0XGmI4Lth>#>QV{+D?q2pV zt9|#fP208Bt8d~2$ZDg*+@)D<^fPmDx6v1GB5uAmQr|yRzSvOQv!S>RZXs^=4uBp}3c9aW9ABCfvrIjTT$+8G>B z4#zF)B=Gz(jCc#s*CURcWpT$BoT_s0?$zud%Q9IOWZ4pIAm?<*dDy`=I^}P3oBu!a zAu)40hDg$nB78 z4n=63hsLqwymVTFoS!TK)8#)*)=G?_Q^6@6f8WC|Cp+eUm1C`nzJqJR_2JK}syHgf zg&MLv8?r6ra;G`7AuICLI95Ye3O1zZ#Iq5)QU6hXrw^OGX?M)M4*&m+a|v465rfJN zVq;i$vaQyRXXDN9BL{K`&pYI{*T+!8s5QqxuqIb^$SBjV$kiOZ!B%TmXKOE@yoN(I zL5Pvj!qzsnfg`xHNWPCv$n{pb=Y3q{vsxctw9||3Tbt0?_py&y16N+v-!Y+lnCCD! zRrO)x{zmT0#{H}9rv+Ro9Uo3rT=e5|a6BiSs}HN2gWQ+d7bf>(|0o9zsCW3~q3X|l zy3G|I`vgQ@yv8bDg-}MrY#9v?W~7TdTIUrWJ~6=P%^QGt9|Q-)0Jc<+miXrmds=(Gl2r)xX0%>I2l@iC91yx)&wPl#m0ZuQ1-qPi z$03dnabzQ1oxGBHTMK+O`(1DilJVP*=z(FbsKiFl#CHxHLo0<^`$t=Cw%cm6gSB~u zwb{wqyxmTZccC`_nGdPWE?aGOur>kKU?*!cn!Jm(v3ks&EVX$f%vCJ#_{&Ri_*=@nN2Q?b2q3xu!c>+l6PLkg9%TO|R4YZ;Wa@FYD-O?hEpg&v0K*0_?*V z!K5Epx52H~k!|<~-y?Drkb{_|9#`#1Y~&C)+8FyNzKZ?4zUOfzHOwlLxP^J&y&L@( zG4MRXeJh8ehAbbM()oYJe#FoVZ4g0EOr!>EWhJ4U~?jjENyJU5{ia zjitaiPdDUBv(;vG47q?-ojP?nM!{;cM2=l(K>d2gW$OT9cOF#gRmi;RWutACFwf{0 zbV^PnmsKXQI|O6v$taJUN}F!RP}q!Zr4NctR+-qm7P2Y+2+CK(CRX(}Dx<)l;3Zyy$^Te8~@L~_xnHZeI8}~)?Rz9wTH9MK6`XteKLpa z3|M-hTi4ezT7|^JfJZ#*ycpv)N3#?1(48qmtzor{{#~jMCx?spl%WE4xQLZY=T|em zWTs6ln>w$ z_5G4>ahnT=Tb=3~{UfXL$eDWV_|qJ*9v`T(p6LdDR_Q)hgmt*SVP0PV753aF(XT=z z9ri%Wxy@BGtPAL2h3`Q?J_1f+*7#e{d1`^qZ%o%BAH}2**2IQJgH{_yNLk|j--pl~ zZ(FmP84W`|MJx}78_10#py^Bk8p}90!aCc~STVHva4Ab!FGf<X|45eB2%U^E^MQ&lTfG*!WmneKNlXT)KEJdq-X zpuul8n)>+zMH=Wc%uf|5pyh|uAkLsan4c#4f?s148MvGE)CZj>24mO!l`GAe9wJ77 zzI~K+>Uw<5$`?o`>wpjZf~3)s!K17up+vG| zppbKa(I{&}sIkRcU3f9#72)_?Uj>jy>F#11^Vx?orWcSa;v3L;SU*7R`%&gEW|`B9 zrVONCDgQ6TW#&I^eRqR#ONeVUIr)MJ?&vl{K;w2ZcCyz^GM}p@OTSP8w!(QvAMp8&s9@*H;{!AWi z&1-5z1>|y^9b!{QYj;zlOJ^VUjlJiqgr?(fOebH15DR)S;u9ZqmBkLXT)hBrw^H(N zvrUS>8j9qQXqV0GQxNG?^EoxyXE~W)lM7O=V5rICd2$6qO@7QUxASE)REGad2jx>u zo>Z07DK$CI<=jq9t_*V0z9yHEoSP5U=6PyIbM29<=jw0@<>Y)_o`jc^^YwTVKEERs zaDD5F$7t2%Lr%Fz1b4Pm-a<>c+%+px-a<=x3p?ejS|H{BnGQ;M3oYgHycU`A7Fx>X znJzNr;hb{0DxqZ?E#;Wi!cV5Wm6r0>D&^K?j}aC111GwZIEh4)d?F@^s9~aCA}-}^ zhQB@;i^*SWb&{wkXAc?4mut* z{eEVC>w9@H{tpRoyvUU+K^YXGwV<`t%|O%gLF!N5#QaE+1HOE_v}JxA%V77E`jx7` zy_qlPu3xNcwQgfH50bnDmH=(J4F?aXsQ8QPIV1js;zW#cY)0*@~td z&&{xow=t5sT$`-aL4AhD*solE0v`Coniz?$=@Pa#PsDX~n=i2qxf|*A4BTR8Y#CL3 zIO%M?*YI|VrW&3w#yWJ9G2Z*1=pIn5ZfP?NcG4k( z>)g2>XDOQMajvATx1)_#sdE85V!uf5W+(7dErFkE3H(e;;Afmb>BQ$+0zc=DB@&p> z4hj6<(M<{boS$Hsz%R4}e!&l_OyCz*n;4_r_4N~c?R6v2tB~MyK_Zibnir{;xIOK1=Mz0x5{1=9B$mdQ=_k_sWwz@dndJ7=6d|QKtXUWKt)R z{CVcv`^Xnz12^59L`G>J`2?0>5plyL>)TkPL9JUS`RqJ4NgB5r-C}sWA8<%4i+{&7 zKHBj6jcM5=*2tpRa{9Rm(;ZmmW~OEGl9-NT{!pfAjX4&XF^#>s_&v^aSEko8tu8w& zWgy$yubA%6LYJ8C!F27(48l5VtNA8w=?|+({d;FGfc~!*sn01%rYNN z_L5S$75gv;$j1G5rsY=bTG=Gimm_$XmRqqqGA*}a_hUMhWyUd`#`G+v?`HaGrUx^< zm1*q6&H&W6Vt>E^UKTpcbOF^zZVm-Bjd6y?0PD~1`W52r+}*UEXlR?h3S>?>vma9B99?`7qHH7_1@>;|^I zLoBYe{hDq2vv}08>ch$QYntuXG~2Ifws*4aC~m0V&=SAPdLkY(nSP>(K|?HI|kC19nn=0plDT$jI7I#!kvZv_I0E+*jEo zm0}sd#|g#_;pyz~A@P2t!v{5o584jb=?;glO_m%!$X!9{@IlStgPOzg9yIB2IXf(m zg#Jcz7`-O-BZvR!j>)&F?C^0hwwIm5$Lu1GNi@a}tv;L_JEj%!F|CM?X}Ncjof&0N z_4-9~<`i6@s~1A%unU*P&y_A*vR&xZ1GTLBaB|_2<^qn6MEYc5Uea8sU>BCaP99F? zJC8oOe4PK1>tbJL2Lc?^Z@2TH2G1|z5lcui#t*4JoE)gZGp(|4YB+oj)ZjTsSs;PD zV5N*5sL6BY(t#j{wICjcTbyMNLL7m;Z4VmT9`x=B52_C*4;pJ8G}b(5ta%X19ys$T z3vSRnz$ruQK?FiPqP3%_(t}pE2mO1&gX+V{gI1actuzl>X&ywf2OZgiwweb~4(s$$ zS47Zo_Mnp^`VPtitIzFt2UO*erH<^C%5`g zmTSwp0$7Oz{%Qb z(%>`Jgsxqm{>HT4)rXVS&$QC}OiTM0ymVwbTm6zfz}AJJ0a)v`itQb76jj=j%TMGa z#Sg3xwnq&xrj5EbS@PotUX&xBp&ztb^n>QpQTFL&_UR|vr%owYYV|q$^qV84pPdKi zIS-^y=h-JYeQ=)bz`qqKn6>`r@yOTnyl6=JdR}Yh&a>aLnLDrf{X6^p1N(iE{jTva zb;vJSPYlGIe0>0qa67~LbM<(4pfSEnRUR2Ncurm#HF%MLtR5yW$G8bPF!SuBh6P7M zOiV?l3}n3xoVl!*bkt`ZGE?gFiU+kH)=BL)GG$*XGUcDgle%eGUHVs_7dptczdkQw zkeO0n^Sco*fJkS*8*>_DA0Whfdk`{Z9y{OC89#tCZ# zk^T6A{piGg$V7I=p)Kg>bg5B5Mc>mIonqHpd0>kyq9m<|lDLTEgkKV0mxbbLFc`)4 zpXs2K;958oo%BA5i%u3-5~oT|_$6tnx}A%zC4A2ly=!t3?*xb!cQ~!XM_dtI?&f5r zInP%nYmip+25HF}q$O*RovfMnAX)#J4ocP_Em?!KWDU}iHAqX=U{2O_PS!novWCcH zrLN*+jdN}vXwTP8U{%OG%-2nHUWdO|%Xq+}cfbaYo9!$^TzS^XWVy(uqxIJiV}-Z+ za7xN#&N5lgCu=U}u*+|;%Tu+7Xqpoy#ZSz?-$`4Z<;?4JUTH*OrSu29&URu2NfC~&I6Vx5L$R#)3Fm=S zD`2>h+SZ5dum6Rdh}$8Dg$UY%`=tHg^3uUctmhf0XAn0IyN9F2tjZ%lRLQDW@^|dEIIU>Lxr{1nJDAnzPRx{ zs`4m~yedv+hP*0HzCOy>m&VY6VMi^)_t_a<_@*;Bq$}GvPxap(C;+sEwkXrGQgM)l!j`Wd%v*lZJ^`DDVCupqm=%`?@R$LgX~SD{t93eDaX zwy~e>3BHyJuj#)sQ0A9eZ%scjnDurVgYv7&BfWvVXib)1Ag_*-y zrF7Kx)8BOM5stfY{D!a%(ih75@D6ExuQ6?0_2E+1SAL+ECry3eg@NCoNmb6dJ^DlH!LJSZSO z=>Pqt5BgFDeX7o$hHKoS>NMO_oGWq~ZU@scA(u6J>0Bx`K1x@JC65w#fu%MuEh8Lf zx|qRIHQn}ra8#Lk^P9(tSmsrxk1&0R>7z_v(q!&>jO6W^wH9(Z?TM?V*2c0B#}&J* z?WEvj8>dyNYNQK5$V#=-0|CgmM|F+VFmbci6r&$@B{s1a*Auv^N z^APAFtO=sk7RMD$PbK{lAwzunC5kTAuUSU7an};L0*d0HlzxE=B~9bJO+e>~F1%Es z4fDGSH~8|3fp}0jS)cjcXoV=f-#1Oh`GdW|^I&qM91afyU4$j0PpFw~Ywj__i5=+qb!WNQA#3@ab`u|DBgYXdiJI8t+7Go>*-$+6DW;XW~taV#;P;bh^g@CIAR zHeME4u(5WLHD;PIzGGD$=_+QsTRDC)>na7ECpL(RKdxN)k@*`j2+q|h?0!_IbFBAG zu^)O}Pm+#ZtfRJ~$+yratWa$G z;OXdX4Fr#N^8Ed8&tL7&O?3uc)opvh*^%@OllZON1ie$ zY0CK@mRQqf;X0;kla=wPlw?Di$HR~3*pEE+$#1CxH6Y(ngc=YCI$mJ(2|qNj*2eYD z##Z0$PM1|S#ARB2^9?g36fz!B=r{=<+kwV;49Z6uX3bS%0I(auIAhFSuFpY zBMb5cpo_$6P7PGyIeN}|?qQ=_cy&Sx5Fs8B=-md_0}9ZNu4IKTIX1CEE2#kOXjL8= zksEtu{1@%`yAVHMGsl0$ae9Jvp}_d7w-4i_Z+_>!%EhyXZI^K3WMi?N^?U|?o_Nhs zjN<&7=^c(upevSIUFH~3-dYwF-{+39iFStWXB}7b?F?$c@&_D8D&-Hd{MCG0z5~mD zYrw>H%Yr6EE*BFGFS`dh130Y-PzS?iCExJjhdn*WH=zfDyh zSvta&q>>|=lB297dsT?H(6$F zn2Ta=w~Vr}uCqwSIX>5zA6}J5aq4iK9+1U(v;1+7h03cQ#UMq0j*nwpvam23G;RZ9 z+1zC%M;|qCR7>>&QkWj2d5D-NTJSE{rEJ8*qb1KXeIpNH%Iz;L+4yFbk8oZ@efWUs zRy=Y-nNUjq;dhYZCRt4jja$0>41jH1&OMXu%96qcuIAf?{|CztbCyFMjpU+2qmH9@ zRVH~ql#?oJ?Qr%iXgOukaQ65Hrbkqcl$NqzSm(UlI`udJB0H8>j}IX zB01h-jz|8L;$JTQtypeFEijUTRwLXa);qUPahtC!xAGSlyLwmUkq_(G;oYoj9ozkw z=@;47H%!08nIem{m}QPFx8^NGQ*nW9yyYB`W9?pO#Dw^;+YDMk{_l3uwZYUyTZH+Y z81Ot8v@6cRNjjj5L>b$M+i2@PW}8)Itci<|);l@gznrCrCtLjQIo^mB)~ZGLB&a@| zY<$o8EL;5V*+v%h#e=Ut38J3FBw-%gIO%LO)wXd$*&rP!SjXZOR{oPl|I}-fmGS7! zCvBhLe3Z6Nupg`0j}x{Ztrz3D+{Audau&dk-JpxaMfPLg3M+fD(LA;Ka4Ac5>TA|} zk@ZsE($hiffPVr%4}a;`_bDn1w_hpjjCsmBzSx-7wknVG89eAV4YKi|sRuEKX@5WU z6}@H&KG_z7mq$wRdv_)2ZSEH~4IA56TKkq5r`lHKk=|yk_cUbVL6ctR(?qvWdg*e2 zkUC)Hkxu+R2JI2u{q{iZk*BTJma(>NRUWBLV72F1Rf1Hziqt0B?iO3Ss9PYJBE!8U?8KZxK*PRLxihYe@2L-%MIJ(Tw@J6BmN zmSbPnG8y^P!7<8mV4s?}$0x|mF z`|7BseQ-??R=({fZ}3|KLwQWW7||AuyoG=M3>9b~*;n&b z*YUTaoSD3iSDD3iENQUP$aZ+IO_)mJI&JCRb^HM-ryZ};mZt@2`w46DQZ>1qkcz?H zR99P+;-x1iwd&j}_5jHJgmuOHpygq|^+XwHdDw4#@d@akkg7a%Ecb&x&2&RPH25;p zjd%&GUlGYP<|V8(nGWG4tPP8-iK~nTb=6olJ7ZwJCSF8XPZXhJy=j#Z>TQM?9uXtr zAF%VSotAIyIN#)?dpphwIiuT-H?+v}nA`D&7I_|XJKoT8D|8l#cIe=sqAS`1`VK`$ zfF3C6x*`%_gbIiTjUoPF&lvgtZO6QSXm#4n*PCIQ>0S5J(2F<{v-Iavm=-It46&um=xk@q<>>v)BRb z!}77EEPje(U^5f`_RRG?qP;-Bg!se<&5x+pe#CwlTlJy@{c+pQ9?ESYA2FTCCcbC- zcBX%0dLYw*&r*uyMv7)kGh5uF(dwE>tKoA-?NoiBTHlMQw;O8?_@4ib8ogJe4{7wt z1J=yv&~gu0P0mn(;kq-X<^CBj)3OMjWLoZ@S;uq-mVbk3xqs#prscTvPfW}GGgp|F zrPS~_vL!PrnrXFvrZ-%T=bHIF#JdWx0Oy@DpqofrxtuM-_m^hYM$e%#xY>e(1-1FTWqs6-|q)vJ~A2 z^g~S38Q=JBRCE~VWs3HIexB)Bg5D3iB;Ayo;e8D91-&1>VftZys*k@=QfIv}21jy$ z>A{T?|C5)$bHxALOTTrL3st<7FN^BEqzDfSYFA_hn8_8OE)-!Y3%Eiw)#x@F-GS*m zmg%9<12lTXI!s2!tFw+LalpeIAy=ax1)V2mb5DW-OIZTP$*;4vyoB+}RUG~V_dsNA ze1dx^w(JlPyI5uocV+gnZh7>@m+P!L#YU3%NANrtqc59@`=&tKmkRo=moz;xwG>UA zqfn;5;=V*HMN?h5Rnb&e5}7{0eTfuBQ(Z}C`XJX8Ks<(rO1>&KK63omyqE%y;>A~T zllv?QxSZ!REjN3}N9=3nKf2E9vk?OdPp`MeY{aJaV#wv;)fmYz{GJ$`>O-G)zitMMYmZNukMHc)gJWSTP_>7Xoa zt7v-sIy2q2t|JoQ4hbCe_}%kj$*4`nU(WxwXWqZ@jFK4Tpx6Dq@Hie>MSZdyMS~Px zjh?5`OPR(NO#D`B^hS+-o#{xH`QSyoTjNDr1_wDn((*Bjc2I}?82C7T(?K2l^DJ{S z4+^?pqPVd<5?+VtTO3XpzFyJfbStLYJIH{n7q>d7UdTuDR>z(j0Ag9F13Lk^%4a(1 zCF}Awqq(#3NUO;!@^8W`M#A-tANF+!LqXq#`00oTy2>}(KfHioLUn5p^nT=E*vf~k z{he{S7U(?jD!DA?GF`&-N~X6ny@hEeMOLwldoL~|n`hPDYc%v*Q>>OT)OeYeG0-QV z5y9lMPdV#`$AYAb1}K$s_2R!@G=L9{I@^uQ-fNSkx+O0qkZYRcB?9te@R}|W;H1bC zRzkTImLG#R#PA25{1|M)A9V6#uql7g$&bM>{-Bc|gU#$)VD`U;8JoK}p*M?V1$IJX zw9mH~_4#H6?7)=ewaHRKW3;c{81A6RgvRg}uv}~#!)=)S$dMm5a*J$xZG)EVRa44K zF&q3;k+bH~*U_iAkDcx=qG#JqCumM5D5uGh1nrwMLHp)R(7rhnv~SJ?5e8%On==75 z!2ae;;P=Epe5XLCyhmk3kp*YQ|F@mFOZ(1D;0})bwoK5zEfYA~<+o*mmhC zMLtOGE?&t7MvKGjfK_J~79UpSk)cuSlr*H@o|M7LR>?-ViQ5j$b> z$~7#3cfN^)RUc0FvbBU|YYCHAwaL0Xm2JPvv!m0rgxxPU8d7IbKnu_z^ClMlOlJnodb*PqOJ25mbO+OP7W;6 z99X0|ut;-Y3Fm;^(Y(~o{e6EJO_mD)5cz#tc*v! zC0X;fYWc8L^XXOgNgg6v!am8(5Zi?npMrhqUD&gC#E5y66IQ|=)bXl3vb0C5<9jsi z@3BU?EBSppmyhp39lwk9ej&8hJRUywiIm z?8IYpGJTBFuay7i1;hdGVgYd``*BokdyMzp_kR~B1XSgby&u^(`Rx46Hu4eAzWRIQ z28#~GcVbbp`#p?dtz(_Pi^4*y_j|^w&OYoL!+K10XwueUoZ!YDbc6cjmXpop*{uC+^0}9prHN)@#&`zO;vXq-Uo0f zpXUA(u$=B+oN^gCaU*q1s5fE^Ws>?RUh1RR>hA}ejsv4~$u%_1IWM08AM>$Xv!7>L zo*}n`X%D{!-)CB0h4&@X;rtpr!gNc14W3i9M>>R0qzG&4UgJ^kwHS78A}9WH!@Jo8eVGntdKl9!nVz80xuEGRGU{c|-ed)op`BO+o=0>N ziz{=pqn4W;IX7S0WDP4bb`8BYS;~Np+yRk^=*WqXwmU1^(!-gb zCY(Srw+D;;GFK0GbOl;P9~-Wa`yk{IGlXY>+stL9(>ZGkH(R?tHl}r{KAf_3I%mCH zllTBP|75w8{=*M5{MnxvotiIa8}mc~Y!E+D%wt&}pXb6tmLlAq3tI;IWyDK|{IUh| zs>NEnz{m&VC$tftZkAszURvh88%$c}O$XW#O~2||nrr#Ws%{`OZVTmBGk9dDq`CF= zXINUK2lRyyJ*xJvR1t%>SP7qFP09pTf?F%0S_2E*M-b)+V zMkJTHd}7)PwE`_~KPG)&XB%Bb=|Z>p8QbV$+jwz5Y*ZgkHo9=JN*nQPLw1h4*)|q` z0UJlz#z0ZL2AInN_myaHg02j5a*Wcv!>bhwtWeE z{SfXE6Gi%ycA6&G_P+fR_NosjdlT5+IJSYyiC{(A%VK-7pE_B$7ciCWJt9IETc^Il zJdqFk-m&^TQOROo_1zBo3B;%B3;NpLu}8J(S$luUGLJ(%2Ss_}0e18)rkNBqwh>?c zp4aF#uMqzQ4tRrUDRY_WVmVT}^m{oOKu5cMtY{Le`>IdrJ4_$p*vFVY%CuSHlNrYJ zdFI=vwJp4AOUeD3e5>v9w6^ZseL9wJSI@G2dEDCC4sk#esPmdnxQ|9JX8I8}zLV*> zO#i6K1nu<2P0?umAXAF88f`yErmjvtDCcaf!{7+=`}=Dxa>yG#rS;yFmy+F5U8_-D zOVsL3yKB>wuD{&P)=@9P_Fy8K>d*ktMWT^)S1Kl&qs#FW{7oo71*6}z2A5+++hmT7 z)_`MMOUsQd{i^avVr(k#bor{B81b+rVr?N;o=8=Fz7sCaB{!3Y92Oj4atHE`;|j<21LlWtflgm z(^BvEPD3D7jFNUj6e>Epg%E2?RrQT|iwwx$F{ZmI#MO&weLhz27+=ep4!SSZt|fH3 zn@wMqcAK(+#NFgXL#9W7#&sS@j@z8E+sgizF|4D`djjD&IEQoUY0&YY?O&-PUSfVI zX0wJq?rLa-{a}QKZ)d#`VkPvx&pPBCo(B|7uc+U5myG&>R*6(69Pl<7mlt|ARy2K0 z-UvD#eEP*|bUf3oxG0lBQ_qz)`P{?&*4)pT%yb)$>t&fXZTO_u$5ntof>v-qB!4Wv z$aGt-6X>tZ{1G2nFYUIL{)iX#PK0?-9YUA6%}+t|%pu|*ecL+zqcN8KIhI|@8{*-eM-o}lRkM)i4^qFFa^B5vAq z8k8f&}hji~DoPa-f6f%GfWX#aP7{A8wO z)0@q-Y7A=Zeov#{+AEvhQPp+o zuH~uHS4-$y^1j?lMc_de@jj1Nj~OevROL~z$n(l&7g(MbehTsO#EpDD?4L}B3%VgJ zFuSY&iJge`*kB(F?7hzDrd+@Io{!L{&iDCrXv5rHx zw`o)l~d<;OZhmLfp1)uw9E%eHu*4MCAd%r6l4{Opv z|F^T>t9$xt!_j=?3LWttu4v9A{I?p--NvV!MtD2|^0;#@gAl;K zH1Iw6RHqbYmRW<(7+Yeh@~C*P=Xy5-vhkqNClGU(#!hAY7L{3D&KeEEpJ5we{79}- zG@VJk+2&(;^^P*@fwM+J$eItDryq}fPw5brkFfCU` zxjv!<%3l|a-k{OJ`+PF}HQMiEAOA~9N3y2KPkaHtYIO9cKK_AERlkHbU+-2P(B^BK zwm&kwEvjx}@A?@jkslmGnU;~C*65C(`wVs1PxK2c)Q@Q?|2WfEeQ;d8iG8gWA?*uN zbcAE)GA%zio?==mJ;Su`gM$)t^&a+sFMZC9_|l=W;p)xib~fnGyuN?k-i7`#mRCKa zX^i~Jr~OHdzO2!G4)|oq@71X8bXc!f8(-DOTJ^3V-PlaN(T&Y?12fSX%c|bWos814 z{jaXc>F}UWW`mLsI_AL&g@g2HMWRYu7cLm1!hP8HW&0b9_F%cLV&zk~4ep>d^LJxK zOjVwImC&0?zCPl)GcpeG;sy4IgFp44)%zkw<7cz3bTMS5+gu9T?o6#cXf3*EtWB*x zT*^|1XDaI*&3bnznmRxGn9gAScTA7rSK5h#*8EFG1OLm+%eFqgWZd914q1CI8J+3} zAEHc{B~Dj5l!tX;j#O8DE9$Z_IQ4JCE1k$=W72Rw8$_W_E!#XOOfI$>d zO8?<^`JnafWvnEC56(X@HPD)USSoU#rcAMV|6vRZugasuFX1*$CVq*sYhfZOD(E(j zzeyb6_$2`q)ZebkBn2Ba1sgTTH*;zAg_3yOqC=%MifK8MBNMcZ=g(z=Uf~2yfebA> zC`aPvvU~~0r397=HYEfOinjdzGCGDo0||VrIkrDzm%Ec!-fRWGNH`r-u5TYI8TFTe zE1|AUSVp8z1(_#KUIOw7yW-@fA%_)BmE#xCdBVkKvB~5ayq@JxmT@y3{555P|E(PP zMg}I+GTk+J%dkvq0P~@@vQUjfOLn;XhjcV|>`xz72=yTP&9->OF@ZK4`le zd$Qd6%jNFhyZUe`OLg}T#EVDwm!6)0Z;0-}PgO&vlh~m)-_UY`CRSE1CVtx^z#|5U zAuyT(x(LIc)PRou#`>25qt%B?Su&c<%H^=>ET+@g=qje~W@ldd#+vDNM}?Gt=Mndb z#jy7|=pr$m?H&Hcde`mVl~R4UlqGvIVdHt?<`=e+$u=%BJ%MezzI9*{ZlWl1_?uQ~ zXTuXz8yt^#LU`7=&DP&q0j4{tOI03On9tsHhHN}&%0~Km@NWSAC9{r|Vmfqu{!Phz z(~bSwRhgvZDOMuge2U!}!3v*dh0^6!?0ydOpTTg3Ja8hw9o*ny@FK*GVhvm;b3tQnmmZjS8Gv1DDQd#%G5HMLVjwAFi}JKh+TMdX}` z?ni1&7&QfSWV=?@=~~YER9WDM^@05iI z93y>7j?N<`+0$j_h-~B~<&t3Y?AOxS{$ZRk$tg5jGS^GiCZIck?FV3M#lA@;$Caj$Z>b9moP48c*>;V17=JZH7QdWuqNiXThz@) znh@)jR$|JG37sO4j`mi3jyt?$WsW<>-#Yl9yUR_|z3!7TCuRFGAT4X$^o-0YoO(`a z#+0dHbx;InlqGH6hx@}}Or>t{y=eF%Sqr`8CwVLL-dsvMgatB$< za@~Ec)4A>lcQ$8$)!-rbXz#tFCn0;L=R}Pb-MA(pK|Q;tj?A3O#lmR-hC@{MWJPL+ z4A*#~dv*pDXwT7=nVgoMJ@WpMqcSrp6EZUUUSFyxGTeh6uSl~!U=C8%eNxtpD!Qgj znwmY@rztHxV@gh?-Xv7cD$NpAPCBPZUQFz)+agc`d)xmqKf+Nnd7pC_ssA6XYWRS04|MiDzEj4I%<^Sr z_Wk529?$HtikK4HVfeU-sMmHjmSjET&e?4>oa0~Hy3`9z#<0izgG!Ef^&io+r2laL zqc@feo9#ciVac~E{R{h9(Ledel#D;+U*KoWJmp`{I(5eXSL^Uu|8&P1tH(M2rU7M- zxXdyPpN0il6VLfK2{^gLWuC;Yl6t1K6xc0RxlGZ-+Huamd5uP(8#TeIRO?4Xbr-F1 znMEEe;JknHfMU?aXx+nVTJ6t6P1$Cs#en+GbJj3m_uS{*=G+^te3C5!U38;UOp3HN zAgo64zuabUf2ZhReQ_RYdtrM?uff)3h`N(OCl9uo{{}h*bjo0>H|QEeKo1%06n(9! zzadKTFK)AVsI`K`Mx1h+BZgVKfAbG_j~M0@!CzUYh@W+fTP*z6YH-27x#6g1iVEwt z3;r#PKSNEi%*p`iwZL5B z_lX}SAm~R~Mt}V<3Bf*9|UbJ0KF+jom}61@nF(4f93A8?}-F1PjBaA4_1Ti`}oIBgrV<2w8J1sz*)cIVrKkxV3_cJ?1L1=n!v*d_(a3Bi7HexxDwdT1c#_)J#*2& z{-`vSiRB{1D`zQGUq`txjqoM z5SdAJmojra@B$4_2cG_`%Zyj@j{+~&!k-0Rrs3BdsFB+d0mB+>00a3V__WKUt~eP) zFJJ7`A{+%?qv2D)+ckV1xLCt~0B1qpV5N_a1(~abH+FjQ%s>ERDQvJM1k%sA%+m@d z0+(tL1^}Pd@L1rKvo3SBlFtLa2;2dNDFJkjMD%%=ITl$)colG?)4m+s<^>~6V|)x8 zsNo-ggEjm+@OjMvI*VYBhE3p4G~5_?zlL%0rg&e&-rK+^(-{4MPipvH;GZ=-6S!Q% zPXJeFxCmHi4!;6?Kns5lcpES>i0Y768~|gbCU6wENW*7=H)+^~tXy`{Wxk@aJQ%p| zB_9q2HZP+{kyDiA;lTAYhdKfusnqAKEBb(OxROy z4%P5BU{k{%1G|7#ip7t>>uh^oJVxihxM(wg{nWbv_VJoHbEOXO_LmLwUgeMnc)Dhw zJ#emu?*IT6iXKj>2AU6v6le5t3DeeBjWHhFM?L;wOPKH3e&d$7=X> z;Ajn(0Y_^15OA!9PXNbB?B#}}0*nrtz;$^0#cMbOI7P#ez=;~}2%N0pB;Yg+4+id~ z;c>uy8RPk<9GDKq2un__T(p<9Pm<+pAtCHN_7kpn3coaLzHq zq>ckVB;ET0!@}9y6fh)XPmYfB{ zg`NPK1JsF{;!j{x!~W>w1!}lH_4&@YO^9(F3Ih(-!s*E5dK$hJcvCI6nWS3A+kw4t zHQi=C<o< z9LmJ`0ca!W+T%Tn@iaxiHNYDc-guRQ9arIZf$6MDyISqPD*WrK@DISWPv0)}6VYJM zX8oDU;P1e+cfOgzeBA+P`cVpTCcO)#CK-}-JgX|&SDeY{}M80mK^!acw{)#qXz@J0iN z9+AyaZL~I1faxq-e8A(|EkMiyuGa>~RVus!cn{>K1C#voz+pGI&2z{Bl7AJLRzb%r zdGBs8$~1!?0Mk_p)Yqm6UjgsLlifh!=PDF2yYB!fY32#PQVIIYZO(vlkTcnNUy1;fO60ps<+ zIS!*T3ttCbgDek2IA!@>;32^DF-!OW@b-0vISz$R`p!|f?GQbGm%)hp&@i*?EDFMt ze9UEbRb>_loQVk2@s1(~V}a=c?#-Y{VFGY2!tY>=xWJ)UMoNpEDSR++A;PI{Q~WW& z$v?QviJ-kCkOf8~EyWK5yZ%J$pcE_uUI_&=l!E7hGZSz|hzj2XT#Rs!3V#iFComuz zd<(b?xHBgZ%@XkW&t2wT*k=z9fKd*C)hfcbz_~|#S@;X^f}7mt?HnE;uEQ|LNyytp z))4sg0mJ+SuLVj_OW+EG)35-gI2t&(v)lYy#qS2(2nlRJ?GHs50LC_y=}9Fp6ZrJ+ z20!-{{v>eVT3?Eu0$!%&STTjSbem085xx$*?FV0-_z*Z5ornd{Pj%u;lHcw!J5l+Q zfnUKWdfjEtQ3~h~v-Gn#sZHUAz&To_iU6h?=;o{VvB05lkh(>b;;z71uer=VD!dAQ9_WF!E)d|zNS^21-6G4sR%9smud12 zDD}pMxXo@#VK7-qa#tE?47?bRVHns{Ya@U!IF>GCJcQTATD3CZlX&hMD*3PL;Q5<-Gy2l%F*^%^P$($HXAMYk5&uPM z3aT*Cr5VFfr>b08hKbesK{28f4%3$^fkVDnvXc$OO$~>fETxR zD}@1~Ci-Hux9L?Cegp7`Hx1JhAaf)VxD5J2SU--_C;3x`IiBRbs3h@VltUm!dDs)U z-j}{wJ`ngM!tM9>NMO2B`Wa<#JaC-)bf6-c2AqQrx(zD)QQ!`!L+FWd5v>KTfWD!? z-2NAXK{sI7ZF>nY-85?(*aJL7YX?3BE~qCz2)Qi>4qWGZ?2ZG60&ir4LR+le*9B^VYy#Jlj8n?)rm>KbQ7)J^yUHQeob9Gls~0lJ{WP=yUn+if@Q#k7;_)047>-?+@lu+I!?lIS*D z`+Z&)xahKBHc>ec0ZgaA$}9{J?SXS)0MXe%9B>4BK+}}Ifxv|bU!xot1-$r1*%Fci zQ-D{JgSLVPz$n%f&H@faTTfp;6k#DST^J%e7#Jf5-U)g8^}7~0OzUuz0GA>BPvzil zU|PjJM(O(uxO|<Z zMQWh?>hwL6UgA{sbUlWz|k2^^^$>H-|6g(m@<9~tJ2DnY}6 zlMzliOpkebV?2L>S-9~;d6W$SI%XAy?Ct4S*A25xJ+1>ETz|qK&ol4&vFBtJI-}m?;VA`=E+xh^p z5;z6j?4ByZX5cg!h*$VSV7m0&Za2OFPDUl{pu)?6>xKKC`(J@GwH)xC2O|YtqNXZB zEp%OSHGzh}g~0af*#n$~{y>D1Z%gu%+-7ryZv`$wLv)wIJ%H&NyX^}12VT~|ZQdfW zSBwHy<)u2fF}pRX`@Hjy6d^}su? z80Py*eg|+05`aID_Xdc4pvoG$&5xD9Az-=@%l;fc3VaxkX?qoZ0XP^%lBn=?p)jB& zpboIW>sF;uL;$Zrd~_T5u}cCziEy-E^8KFz2HoXtm*Gg@bnUxf97V`=n|+mnsla7t z3?34v6fOW3Xg6A@@MnP!<2z!Z!aINq+Pcl<3h$@*%3*&09|D6;rAJqfJv;(j4gvYx z3ULg0oz^a#0WLrp;(LPSuK=Iaa=^gjQ~HKs7OBU&4sZp+@xF&VmR$hT_NQ9%{U0Da zUD8~%D}C_bR>L7g}VWNqB+zb*u-O*ufj(Ghidxn1wMe!b-Ss~1Fg7>Eyn=|rF+&{QM`fcL{eKs4QFu9O4EY4QIB zd>SvWAp8A)1`OI4o23-^V-=1IZ9hF`^fGD;On1>9R^c}Sr_}Wg%e4beMlGM9!n+cN z!FL!7aVPK)&4D!FOki(UB`^XE+A;T}Qji5KcDT$ag=Yiz9WQ4cD22;`=~f`S(rp0F zg+lu=+(8)Q2REzuyMYT4j%_Sl2R;VwaM|#xUT=Un1_td*m0hL)aTb_v67whp6%-By zvR%N;16r(2Xcz3qsu8g1?^ds8i~#``LmtuDU>o2@_;y6ki;F0h;%~0C1Fvj^5fbIl&%hO$ zL#Kcj1h~yfO8yUEFYPyfOEH4OkY%yHwmlMwP+djp38 z<0Z-|?hjmi+Sd|}CafhWHw^Fp;xb=bJqH4jn!?9{>E;`|%vJ!$A>6J5MZk;kF>2@F z7T{zpehKg%yw2@9@+I(jEE=dOWD)-w=0%4i8|Pps#$^ah*9MJT&G6Vj;oTgL)B^8E zzukVHHv-N?cqbL!3^-SFpcQahJ1nDC`g;HuBHT_uvKNf^wJb@a2-msQpj3d!1`fo) zWJ{%BF0cn>c%Q;cfd#%3?3dHCz=fz&VPI38dKq{n49b>Mh*yA%H3z*r!Pu!W-U2QI z-p2+&1D6AjQus^YlfdH?J^?KH`dYrTz_EBN4GzbQNptjgX8T4)8v$4N?0H2~Fyc^# z)MFu!+W-d^`yP`{z;xQ2{dPHG;i7xHMoxZ$aXCX?>RVtw@e-wcd6v|QsvK^|RCIsShf4B9Wc zPARwmoU0k6Z3Sa{$+=B>`2+wLB7BQ7&;WRGlF#8V;FSo!q{732(|_TySjxoSH5iZLdsRORp-B&5^2ljk~C2Xn)^MUD%M!V8J4jhfQ zsca|k;R3vEjN2Rq`&=nr2BQoHW+{)~0sdsG@AdmRa3(4d`kpNRHE=oPFLE8hwRFHI zff3AQd;*xSgIDrbfGf1{K=kc)V&2fZRtbcI5%{u8O{<~2fRj-tNFnuLIsntXcy}@I1ZTf(cADr;FNwC|Nl@$C;;OCmU!9@Jqo-N zV>HuL_!8hfXep7yTuC39*3+gKQyIk~*8^vw>6POF0iqr7�t!nRf&p z(!%#~+Y{I`$k)Y7rEo8@q$Vpw7J`wfWl;ujE^r&=;3VKe;FStL1iTVBPvP0X#lYPa zo(H@W80q3HUj$4S?R8;{Ask?D83ce?U>z8l7)o90M>s(20)GD;-;m2kz~zv)`|Xi~}ymFkF$seSlZuv7%MC@PZKv1CVEr&r*b&-Kq>RxQwib)WRD8$7whOI2kxY)uEQapI}g`P&p6_ zJOtrkDm)H26ZovM=j{Q;+)GAfitho=)eH;=E(GrHmJW^q&O^gwKNVAe-_ah+M}b#D zK2sU6fPcmi&T{3@Cg5U(pOWET@fsM@k>z(Nf!)CNtW_N>h<_iLj?v9k;hzKV!8qSU zg}(!)0|s*xJ`KDR1`aY7;xFJbVEJ;w;v}@;<-m7yILf~c7}0n53|tSqeTnaVj*T9| zwbx}XQkAS5@B)0lH&q7v0@GUbxxiEh1_Pgj0r@E>#7N)@ysq<0W=dA$Dv#7|%h(I$l|fa%812Ff9N;OX``d&s3O@G|uA?B_fTc%A86GjbE~ zMQ!-K7ciajX&2$$z;sd7FsFL|j{##1UZ)F`!7SjNSfS8g;pxDUNTHndLU#+ebiZ6N zP6=299N63U{(lNMPRp@pfn8`CI1NPa0ZeR$l z-#-L6Sxdpaz&jB^w&hsu2D}ViuxJ&35pV%gNSIQ%8hD5n|7GAzU_1=m&TIn?#^`$>qz(-Ew`yahy&Ve>y#3uS)kFmf9kmWe7gToVnL%)#Q9H_|p1FzIlI0%@I=0O9> z^5cQWYV(E<0~bTyQVz`n&fACge-~w-2#mr)T;-TYCSak|7*rcIHY582X@5Q{cJi!PqTb6mU@u-;#_w zfP?GH)of(o9^gXlWitl&@IjaPFXg}#-~xP%$~q7r3W2?m?J@bRdOS=?kLp{N>=|GYkUc;bI6RqHXW3BCG?Zb2495xCEHa_mjQa0PzkmonvIz z>W_f~H@VbwKCW{Gj_u_8mOKd@ig3Hn`I{Gv_j~%LTCV`_sptE4t9KK6xxz5_D+gkL z18cd}v|E7a0lYufSEi$Y_h2A%j!UH&nC_IfA6qZ*GE77cR{FdPz@TID=PSlDz&{^1 zDyLj_07t@O1S1R4>{7Va_J0dpj7oKfDx!11agcAPMp1D9eV(e^kMI2co{HXa7NU3-is0w-$@P5~BZiskzrZ&%<78{%;4y^bT@~J3Yqmf9`dC%}oAhMTEU{0(ps#)!5k{3Gxh)Cp8V`Tc(mjC4#kKdA&9 zs2w{skNtt;&||UdKt009p+=CW9BKw!2KgwighI3gUZYLp-3DB)=}QDY2|OD1xmNcB zV?TO8?Ue%=z?o2BH%t!!)19uXRrq}13MjB!x@EwD7>Y$O>stkE|H43Q13s@6VHt2J z36z{o@d{NXG-1cGi!w>zOnfjwH8UjWX9 zd@Chi0bB^YM`1s_l~w}pQkdRS#XWqBR$CC>9Of&to50wK2#{w7I+MVa5_gR0=P>0F z2~nf1UN@U9%*w6WV{bOQ1p24Z2Kt`et>?R%t3v;$P3KlZyxF-%<>vj8+<5a}jyh?G zLc7y_o6}2%CYW=Ln!Kl+wv=N>d4}~vPjgSrDqHKVwY|(!&C^(nj*JjF<0fPb&&r%S zWq8iG(f3UeX|z`#jy-p~`BtEQ`hhjNx7knXAFhsTu(tL#p9s`cioDUKRy^MB9LB`@?dA9B=%R??LL zA7xO_?j_9!n5&%u(oITE$=d_XV81SDl?Pa8=U0e3arVX_KDR>9p%6W@M^2+-A*Ki! z-`od(2CY`jyu8<1w_n@uy7RvsZ@2M^2FVt0vuOzGf$I;p zbMi`vvDqqn+idMrydB}9Y`bmIk#^2SN7n9L>^aI9{JT>I;_oKQ{j0eDi^4T3+>a0$ zhyGRJ?ipNv#B~X-t8ww)EE$CUUZC!7M)%(@lq9TM0lgRpQyq&5H3;or7HX@ zLRPn{!q*`z!gYtj47TCgq3~)IZbx_s*J6P^Hru%>VkN@&ac#kMC9ZpLU4x7Ny5Mr* zdIHxzT>Li&R{^dg1nS@02>0T8)Fh~Irv;;##J>;l*N5`Ozoqz_hwDRJ)wnLhW&P&{ zSY;vHr|xxxeq0A|CEzN@buq5jalMJ_FsDO+_YtmsxI72(=MT8@alM6W z9WMTR5Z6>(PvSa^YZtEDaCO7g2iJ4B_-~#J#NW;MyA0O?Tu%U5rI8p0hta4mroN_pgBaS4ky|FgBU-V$G^+as%{$o^v zp$Hx7eyj>JRhUf4waLh5gpm-P(D^*jb5z_#42|!iyT*>fjU87fT>Y8%)$?)3f0JZj zyIh54FwMMC;k7OB6~Lo$t-y6XuDfvY-$Gn7DN}3;q58L+6wh!IBJ7B3h{Cf~n1(PG z*K}Nu;4=T+f}0VzCgA$BNkljZR|T$zaXp2rJFdC7igEGZ8X1Vc_p?JU!fhO`9x7rz z!oT6V7uQxrD@3>!*HyUgRaTKCBO&-|8(%Lv*4M)X&<+9B7gv0ZOKSqiTKID9u`1*+HOg3d3&2}qc1G6 z3n}+o;`<_lBfzvPrq4tCNlW~-zzx7&6~6@7@nl%Q;YgnVT-6@>X9k5}NVhPo03HKO zkHh#eNRVxbFGc)33w{825pbpAe+an168|`Gi3L{zuLEAm_GbZX`$`MLRxoS_UZFCa zhWP!!R2}(uBK`>QC>8%E@JV3P2rmR*1Mt-<{$0d7o(gN=62vC}FJ=2P!y{lw2Z7#} z_-ZhW0p70)Jc0OZ;O#1YDd_WnJu3d+h+hPZXpz1c^a9{Y6<>z1#1iiZUdQxif_h|7 z34&?$jlkQ1%_gv;`|StjY=HtgfsX*2={o_RwBXI?mJPrhEXbdLc*oOW{uJPZryU+A zM-DRd0U_POkOA7xkRx*11|oipC4MMywgry?o(Ej1@|z00$P%9mTma1J2g{oWT=KLh zEYVdUq+7blV^onPgX1OTd+u{4SyY z-)GDy4qKf;D{xjgWySEQ{cl8purMf1%Ah09nLG100)5+fH@1Hz{kL!4vbrY z{}u)N9|MA!;TK@Y2A-f8{slbGlHfyRxX6OPL3{!5&5Hjh;!7;?QFdqq*wj!L;7Z^e zq@zHed5~Z`2xg4~!22y3yohde1bBxk;5vjEFj6NnpfCRx{3k8^$ta)!c(vkhK)mCb zaE%8bJ^}be74I1ZLOKXPDFPNxwlTn_ggYTXHn6Fo3lTpLc$MP+6$LB;ZUmh*YS#`L z0miMsoq$U$_&V^d1Lph~{2tp4uxbZt!~`53ZvsOl7&td%hCPwNc3`tfiV(lwlHq;8 zM}Rp)BmV=yCxK&?iu)sdgN1(>u;Xv$1O)AWE(i%AnB#d4a5`|2%5XOD7~ts&&jHQ` z?yvBb!1I6sg#e3y7Xh37{*S-~miQaNR{}hM{Pe#MLE?25hE2eg7Q7fd+bwt*GTaZG zrfT>UH30lQGsN|0#GkbAdw?5&DLCVw2ft&h!+8tt#rVG)gai=2Q5h^jXpa9~u-rI+ z_;kd7qT-JLj{!C(B(=cVz*ngFdr{Cl;CzJ(5H129pl|^E1;BuE{P!V22?(5eQNji= ztOMqXhWH`GSIPteZv@_M!A}G4w_qE44RD4^|03c~0$-zWd&D;Ye{PQdi6A(h4Yy%3 za00MjCFld3Zi&C9h0*>AeAyp{jrjH!uKINdFb3&ONAwnOHt+_vKWlgxgn5<%GEm?m zV0t{pA47Zr@GOP@0bBxXTK&I)*ICln16Kl%RQ$t`-*!v^Y(sxFR?Lg065g z7*1Lev_p*=EVvUj@SMYWlj7&vB>{MV!lS4$U_eoU?%*E-%()*clnR{v9L9f>VLTGd z1H<(yK{^-~0duv=1jB&~EE%%q=D#%DCC4C<7It%|bz?H!7!m%*FKLT%mZeh5< zF(_a^7`Tii!}-8RfKAVr4SW)KzlvXh3>tvnQ1~LmJFquRE9CTyTT!#$^T971(afUwZSBf*WniZYWrG+x36EEx+Kwq|ruh($jIv z3YK1fYrbunyRcxY?V;Uy4AFt| z7(#{x3^4>RWJqt#5UuNG2$^qT2&wZKc7T!@cC^`+GsJ{;1;ZF@E;00AL0rNcXmK?| ztOwUH#H6B(VP|NaAvCywVOO{kh6&i4VVHv7SD|ghudsT3`d|@54ZC;+h?Mg4}*ZNU06ztj@ z_TVN9J%@y;*kNKg4Lgktr^5yqX2S*;=D-FR&VUUtyZ|=9Fc&t!@Iu%CLrnW_VF=%n z&u}(ufZ@fk0fv~StzhVa4S0An2R6VE)3wzM=fegVVmv5gcsXoUx# z7-Cga$q?>%3&U$+0}L0!1{huk8({bc*Z{-pVFL^oVZ5l~%?+>thBv_m7`kBt3~z=F zFvN&?gyA1y0}OA04KTbFHo$NRY=GfyumOe`s7^7w9X7ylDQtk@GS~n^3}8(R3prkV zgqu5H0}Stk4KQ2|8(@fWAfDk}umOfEU;_+S!Uh=L4I5yHY||E{aK~#HJ_;LPxDhtM za1(5R;bX7?hL6Jr7?#5Z7(M|TV7M7Jz_1cF!0<`f0K=zX0}P*r4IuQi-vUQK!e3zn z44;7wF#H>AfZ ztFQrvufYaBV*h{LhMYmz1sh(|t6&2R_rL}i?u897+y@(AxF0sa z@GaN?!vnAZhSjhEh6iB-4Bv(gFnk9#aD@H;5Nv>i_h17I--it_`~Wt| z(7%khh`3hZbsiE{lTafF8;Hw@s|4Oiyn%R|z~#i{#N`545^o_c6L<^pHsT_Iw-WCp z&KGzaaTW1Gfjt}?-3Li<3Bpd|8saR0cM%^a&J?(cxRy9g;Qhn_;&_1%64w*k1U^LE zNL+u08mJ+*X~4C_p8gzM-CTYKYXrk_;&|dJflm-85pNT?mN<>LT;P+$8N_7*2Z%F? ziv&JJJf1jT;CkXL;)TGT=KdU=-MJ*V1VbaSi#SW*CgMEeOo46i-0p?MX#zWl-Nf+% zJBjm&Z34#-FDI^Vq6XrLi->ERP=0g&1QJ%0P$L+Uh|7qp1WqB|K)g-hG~#mNa)Hx{ zw-A>JoI$*exJclk#5;-e1kkiF2OLKxP~}O;7P>Ci8BSxBCaJ) z6F8eVKpZb{E^$4vP2gF?jl}i8usj#B%?@1a5rlapI7z4xIFC4flG+p#PI^JCeA0e3A~1QIdT2Z)Ib?=5wIs%D+udISWSi+fj1DB5myPkk$3~~ zHi65D%ZbYct|Z<ml90Q5eh@xSlx6L&8EqXdoe%*d=fy zv5PoM;3i_O0)v?X+c1i|7ZRrl>>zd%#|!Kv&L_4B97DXExW17Zh$r?Gkx(lL2_&p0 zt`RtixQw_;;1uEw#M=Z;BQ7T{7dV}G3vrpi8N}O&iv%7@ypuRz;7nkTyNZN`f-r^* z2Z>z*k0-7n&JuVM@p0lzfwPEfiPHqmCJqqC3!F<_Pizx-7I7nS{g1*AaQ@@wv)^E? zAj~5Jw|9dz0_PFO6IThmfH;YGo4^Z+(}>FjUPPQhTqdxaIFqB7UFHhMFMXn-btJ< zuxA?yRU|AFgzdx!iCqHkB(5RO5_lK!apFvYtB7lf(*)j693YMt_#kmTu}$DZ#Er!D zKR^SX{xu}nqCu!7q5lzLCvlCy$BE;Ks{}qloJ71$;9BA|;&Opc5@!&X2^=8KBrX#8 z6!CcCd|*#=|9TR#NLVNs8i;d=T>>`}yNI&{ZX(Vj&J>uFclSc#G=VvZce{z>1?FVl z&4)EXo4}mZyZQ7vSl@v1;Rr}5BB8c{8sIG7y_&d2V9xg4WyDnibJp+PK)g+0&i>uy z#N`5W72w`NTqZDA1MY3aMFMkG;ND4`-+=O)`*V5Vt|DQfVBj*reUR8CFqaGN8saR0 zClMbf&J>ud2X`%Tn!sE|xC6xT0&_Ltt|zt$%vFWEk+|OTUkbqGg`0<}g0%v3nc;R4 z*9gqzhC80PN?7mP+kD5VVf(k8`HirA%wGdawBrH6=u~X`0lV3 zM>haDD)`rnsZ~uyLtoq$qpYtuN4KG@SmvLJDQBRo>z5y^qZCHV*bHOO_|$}%gCu*HIpM#?H>0~7sbf3XyA3jG#tiD@)aQqi6%RC?AJg0Z zMuv#Vw8RXNF*h=1to@?_g0GY0OSka-S;Qp2GBC1WZ&?XiVNPJ$0Hc0v&kUz4aCam} zj4N=9Ns;0-d1p5oBgQ2Pdk2`pKwsXn zB1mG9c2=5(cGm#NN62b+{YuR)X}8a3!Oz;K@1zxSi9 zxb+Yv@LC4B`+@tl{t-fOWoi*3E8P^L_gx`I*uFdFgLclvHp=bFoD=BV9mlf9CMP4m z^DS(&1Fvh$oWOhiSmE9sEpZW9OqvsTv0EsM_m!Ncb$DIl=LD`6S=b**H_FD3u*XU? zGu@~K+TEAg+kft7WKI}izg41V`WZz)sRH%AvY%N^=+3mz+eKf7g}MTt_n|_%qXNlR zPE^1ZSoDKwo4vor$rai(MQbcx8KcFm-y8SJUYFn-d&-#VPGXBCJZ0gNy&?V^X5z^Z zWuus-CP%$5r&i{-So7sHxB^APaN>(@r^%NSkWCF+nx^=xP*%Mw@ceh7&ULbQ|^wUC|Q@(^!L?Ys( zHz9sb;LmBMS%KBH*zV1#bp?j^62#`5Q+02sbSGVbE#C?`$^yqA_3EmUs=_#yZ(H0m zkchJ`s7IZn?o0i&cYdv2Q>PhMUER?$-qgY3KBhK(IVbd-24Bu`;VT*!+kGfFuym-> zL?bmJbbS54L-npLURi4^jIGW&!FmU6_*-VFyRtRZ{X})nNmfr({p3Us>h28glLR)S z_`kRZrJ8?IuhFWsnvgA>NZCh~Xqq+?IOYV#gcID*B7vt>5!AUO zoM5b(K+ieu%{h*WpA?O7!WDQbMK!|7;Ao7a9AfBg(L5>NsD`)*N{eg=Jt?9gJSW%^ zWpD4(Plv~nCJak~K0}ng8{GZ=0({{}f%U4*j23!oa39=;L19_Q8r|oT^NSH?OFOm4x!nNgL?eIHro zMzG|OWq+8Z+(Vws2%c@^sR;ADLYCMFmH=7q4znB~%fE+PtDXB2Sgs1Qd`Xt-2$o8) zcmm_YJl~P0GJ@wMvq=oI*d74OstA_c?O^#n)JxrQWVt4SWh+@e2(x66Wg=NT^esZc zr^vH4%rluhNfFs(ybKmS%yJo7elR_h$YlXpZVa<5Cd=UnmJMW?u2?*1r(*IvAHj2o zJZa%<9wN({2$qyrz;Y(kQQVbexjBO67P9<3%<>XhW<;=fc9CaCm}ftE`bF@>>;TKU zFw0T0@Hnh+%%a+}$Z~s_7g;4xrdVFQpuvGj2YEAP4t4^v>YeAY+3Qj#vX<3f@iQp1Gm}4 z$(=U`Q?%Od#y8h=^BnB1Jf5C&3U!ejnizYYHKSaCqo!2w-m6wNWTDu?K49m#5#TWt z4whBk`7ye^Xm*npyapuwG&tvwv!BU%RZmqIIj1?m>ahn$gBK1C%-2USS6j24<^;1N z$j8-^_x1?hsECYX!0QZtih)A%-c85D85F1n{Q?mrMQ!L;SPe2^EkX!Jh>FtYEI>FAoXtp#m?EBdAp1v=nd_1)*>y z{qrGa^7f42O)HvxMhpH|j&TrtH+g${b7G2Do|1Excl6wJFgb$ngGn^W!H}>EKEN_* zF&Z2BZiulo;%-VQ#&~lLk8Oz{KYsuy{|nZ!AQt7pbPh9ej;yL1TGxd+H^r|tuFLLfU!EkUy}s;o>|44Tk7OsOj1T8= zU1T0DXLC(RYu80uw$f~Cg&k(4A?V0k1Z!4DUuE67Ma|?$7=KZd~bz$bEZ8HmZ1ZFHuc&JDy3KeY4 z?4k22co)6}+-O)H$5Gr#t+|ErcDe$4@B)D1`rb4SYu#XgFo;LPT!+rWwaw!S6o%QJ zIt$xYSKyK`SJ7FxwzvX=!dzFLg{#sPhzfIg#+-$%+!gq&OQ@EnQAe~OYPr!B*b(Lm zC<7u_U_@HWY4oizB0qCIvxc*1Pk0)gYxab_N<7trV659r3VK2V3=;z_mXJp<1RvoL zJQglJJOm%X3NTJduIC)&z^id+2HhQ|??-8f^1x$A3!H7nxdL~Dby6dQg3S##ML4u- zWz9&sy*O{qAuKS8W;bX-oXLPguNfVtp8(w+#KRiW$A;;(pgZao3x{4aaV>V!RYoTf z;jEh@Bc_ED1VE3kJ5SOtAzeCd$n>bGdQ36El~$L4QK05>@^lo!)q|R4Rlv=iLW(&e zo|iAck`X<*A>5mzzO?ub%PJ?yY@PwC)Nu18n3M@?wYhfGRD zx(C0CO!tt<6>^LvCM6=>T`kgGY;uLtO)@DF=|+7KSzbGnE0nGwUP&I2E?Jc4Niy~F zhRGF5x7DN|9XboV_9Kdd9zyFYUfEy^ZGb4>z3hv&^^fIagWHB#Q{Z8o%!49{|3Cu@ z?2&#M%S^_@!!oL9FJ`oLriHlNg)oc2<7<1VV=K{=bPTvk}3~?<=QaI9XA%Zz7(p2p6uyMF;AZF(izmg~3ZsKX0$J$Tl)|251S_^>9Qu4%WkbIl?%3yG zGtO2h_Hej}8HvpiF~Xs{){U+k2=|KgO)g=`h`+3}$>0hs4jXk-b54D5F`}@+#r%?s zS2p!1Oc1G16^9%F#OyI}A8HV}&+=BZaqFci#5)!WbVG9Hu1vg1rjW&yz`sH-i}c@zjH@Z z>UYl=qvubvU-g-B=lpRV(GS@&fvMeHuVR8{4 z>T$Li=DanoKsC%maP`IiVfxO z%||*k;Rs=mhhhS;;a+m0EHF2*rP|kOqG8N=)Cr^awu zBc>>Uw2zcEUU7%6ER8r?O z85_o@N8_>9e1~{+^mLJJ-fn=co<_>>Tb74|*VM23ZygTg?K0ANJxa-#baryA{dg5~Yt&T1Tv@@Q& zb>;;N8Gjt_h6JAZ5F_E|%6&LqM!UluuKxhUeZtIQ_SD*4ff5p`;WtV@EpU`J7oLNL zb>H`hF=a`5OhzcLDIXfQEy)^=LO5L0d19S&SQt7mG}P2QmXYrAP?8U8jL()N*=HR! zeq55;XT$rl-1yQ@3)^GMW+t5a$iov8XW>D4L8l7WQDf|FX+vE=fqRaDHI=veSVoKP z5RZe~Mf$XQ8CSgboIU@r>oYa|%IJ#a%xqeRid#f@ zMo+xusBv?C-^4XS@wv=uYWwsit!6VQMtS~+o+8lVUdgOr?${39^QB#n7r^Ig(q-WZ zI5Cb*J6DquW?Iu`a#v79eOi+@R)~11Vy|G1#Z^(>L{WulXV7Z;)Rt+tfoU@sI^v+h znc}K5n~RPbKi{4{goy(|cy}Sgp0Dk?6fGppo`2c(F73(Ix^ZdmK~#S6 zqzzg@Y<0VHAguIYb1PWy&7#__B%N9?o?AMKD*kfmpadG7y9(_eh!P9EMwp?|ds*TH zM!>+l)15w7vp(0U*XUoAR;@^?V8j7i$L46>?Cgkw>N<12wZHN5#T^5eeqh|XETz53 z_TVE%*|NcQWVmZtT522VI;li&y>I-qtT!2x3;KADqaLNF3u3+PF!>tU9K4llb??|( zL5?e(1{iqjpX`wh&0`NySAYJ*X4}j=L8>9iO%m_gYKqO<1#cSI=LF6tC!0wmE;-8O z(Gb!~LQKtL%Wxk^B$ao9a~(-`l6VJI3F>N6PaOx9cY?Hyq)$lVoyoX{)P1D#PB3mI zY1=iV@z&(rLh>V|@=kDWB=8?LIRNlcY6-_R{jV-Q(4>r7G7aTR*ck~~_w)M^smU0;_acva+Y-3bm_lb!MKw1$uA#owY_WH59p2DVK zVPp=R{y3zo_`0EbBhw;b--(k&!sH2)MZzvn<>i5|jzBe@GswK|<1+8$TabZz5TyU& zUDl!4n6kWkdOoNHW4wPpqZc;SeH_a1Yn9{Y%+a`O`SqPG-8VsY-*1*b-3IlkKjoi$ zgtESecSgi$F*oo8jsxncq)Jazu^qR28tqZjl)phlDr{o*T`A5D_ib@1Aj?E1EMVFJ7a3Hz_ZpBtKxs*X%$(87plBNYO#yy-mJj^A3UgZ%@ zJdEvkz8s2A?~5wzX145}U+i-OZ$)V~d3Z~;w{Q9xS0GNZo1E_Rna9r#PC}$rcxObT zE|_;A`RgnOR%`KBFplmO$9sX^!d=CS)!bZqs{_WZD|*ux{$<5L`^lrmjurjvfuqKW z6}>%0sMy>4U|5y|ZI5P-6hB@NhuWXT>{|#F9#)H=9Ig zg+sdFisw+&&e^0ifKz(jt7E*e2SM{C_$a>M^A^NAyepj?y;j6Kv`=)wq1Rt^&9x#w zSz9dqnu{k_jzeNwVSJ>W6||3N0-@N6(bQ}~yf=%=FrK@+XAaFat^}`A*nEm;%^j)mY4ZMJ(^HGz@0+%&$vfy&OsMXnDwCU9) zhYR7=upi;>x)H)nmJ@qHxh!zOe>j`O&WcNo#NFs{mPh+v2xy7Z#LT0(DoGZ+6px-& zk&Cs!aFl7rvs5Wt`;mw1y35IgD9~6}e8&}G*_YxucQ}i?aNfP8*wG`K>k>J}nDWN{ zYO{@$OZ~>n=LWi+5&~Zid228hlnk6}$vxAW`_DK_9+he;C6!89s``>p#Dizhh>Vs~ ztIOIKf7zt%l@9u|k`W#{-MS@kgXD>JV7{uUE#VP(ut z6y>bOSJ2{Z#Z}bYqQLcdp;A8(aQzK0v+H|h#?CZVw6Uo)O^h4SB$;Iy@0a$b`F&eD z$)2^*7geUT>x{dJV#F?pskX=AU-4c?-G9o2JjGQBLg7ZA)d?O}1q8Fs&ItY5 zak4g2zj;nww0yN~288gk;!Zs_mttKSqx7x~cOqF;dwr_oK-QV=2eN+cEu5S$@06ZO zZ&;mG{}h^u>jg|Hu|lcl%oS<&wAW|0xk^DHiTOwwA-{9!C}A)-6sV!!Jcjd=W_-9h zR>K_gQ-oo7uSQhiig_@Dn$iF{HEXur_1ZQdqgwt{A z(>}Qz8jQOSC&z8g>7_B{?VO^sYm4K8mrS6ti@+K8$~0|HErL0AtwyfQyoodzy|cNL zYzi+WJK{YFtl(thEpO5%v+;_nJnhBY*jzqfZPv~i{1e8eGHF)${kpyQkm0&Y9v10UQuU4FUqjV7^-gSkyVAeudk5eir?iHMu_X#!Z z3x0hrWIY`gKvpYM?&Que*TNWfDtmAWbflm5O|?tW-^A7?JgZn8n;BfHVd3e`E|apz z)Y!vjYV9T@4<#4ce*ATV^U}7W}?u0mYr0K zYCS1fa+k=%H#KUrC_m^$In1;T8~x2&QaOcl})n$R|un> z))dt469q{;U8{~}1kYK7Y-^-2t{9XrNJYz|Y=t?>WW_QCOO1ZsSo+5a@2u!iftA5_ z-(Zg@;AN^O$PZPpb)|w`c76R$)+S{=jN7IkkBVl8lmk%QJ#)Y;d`hGADRS z?w(gTYT zMg^}Q8_H0R$O+pgGOrr!PDVEGf&8HvHnY%jF><4( zSOZ_KLl+x2oI6r9YZa~pV?@Vg3Upk_S-jVtrF!ld!KiARt64?OzTY9}#Z{^owiCRN zjItY#K9Jg#LKRmzf?uqnf*Wal#=8#;xJ=TcgHM5O%Ii&C2<}1q^y66f_)_>q#TJdL zW=IXPVQ<20C$eFU3(9)i^RZ|z8{35?pr2{_`dzRUHm31>*?Ac&Sj}mg@O~HRspJyM zni$QoIIegK6zYwI33gtaFgR>hs^ofE^0jrXO1@<6A6xaTz3k7%2W#huJ+HV|@-(m5 z;`3t9j$`HzzL>{?%Tb_gE|-J5amK6%Q|-{wA0O=7N3_YyRghoLRAy0KItebf2UH_; z`P_pe&J|qBSY=M8pZAJE2-|wW>nwWqanM9T2}a)(ruF4Jrh$SM!3G9hrj zLluMea5?wmgf zqCfp=D_kNfVYdAXYJAWo!iRA_ZLD$Tp+V9hXE;!g!d~7P zF5gA5lq@JEuPu?mMZ&3hQ?nu zWY`hx+%S$o{f1Et(jOK5nLaZl=!qkSj zvG$SPayvtjbDN~w*Ylf#kNnAI!|r@5_rG1dWuv4&8j@b-o2SNjW^e^EFdcN*QDiyv z(nEBsqAB#<#)wBR%MzmcNY1L*tR(sOD#PTI34(!+eLTpi#N8mlQ4HS%q9SPg zp~o-Cv?@JcEq8*q7KA2SzLvHXTdwko>^tX`Pdsbi`FNSoi0rI%2A!?e6~u{WwK|Iq zY^e#^R`AsuO$X2_&CAv_1uD$~^ygq{L?Y#NI03R2c_)%v40?>E(42_$VL=U7MdBdo zGlHEXcvKlEB3y>?mx}I69l;N8Fsos9peOKH*7R~OA-1I-yT=l5v=RRYOZ>7n;-`st zk8p6oxot4?wPY~5jd;5yzH1xtU*dtUS%Lp9YF&Z7jL%Wp`pCk7hKwuijF(?ZKaE?{ z0ihffB6NoVc*now7)09*JTcbPBl}}`i0BcPOmbTL$glZk`cMaHnf{aa zLN$}=*;Qoua42ttGHB5~!vZ|qG6SmscO!kc7o--y8};Kyx){Q&)_FgsE#lFG7!q^e zYxabceZ}=>t$}{LL;aSh!XAD8+d9Vy$T8H#8V|KmMbTEM;b*s5oR?Wij~X{IV9G)g zTMdK9zv5n<90oVEEWoOQmDU1UHG^4+kr9=cC8uSDC?iyhF)a&WLz%VcVJ*b0g;x$j z#tlzS5xWB+l^ZWSIV-|F%BT58+*1Q0$a!KkH!gT8as-pLGwyt<*CJ7Vs}Zc0BiQqp zkI3m4_66`ftOUKYLtN>fGE8zb$ic;cYS|o~Bjh=XegW&fh~vcTr>BO>)rQ403x@j@ z!_=pT4rca~km%cMF>PtYS%}s%7so$g2guL=^pF<%_~7Zp{>&gTuC#xoeBFe6a(x2* z86CFFc9K&pQ?J=FT1@vs+c~H4`bKEdoUi#DFVhiYLCXH#a<}2xfoit_Z`5)JbI(UD zC-2UT>d zGXKj!Hl4IsE#CjvF{4;--!!#8c)ONMhD9WW?9KEo`pW@W0M%9h*PO9T7K{1|^9yZW zT-Zi>Ie3fR24nFv=XVG#qKy}x$p|f+#&Y5G)idMguyC)h9!2qti<&rEx}KEIJgK7R zH3i39-Fo$D7Ajiww!d97MO4$=9enL`(W0WBAw}moeB6)~<>%w@08{9@8&#cSw%(jc zilxqKlcNJNQ#uPRexb8O*yNL2r&_A}?baS+TQpP$)leE9V@}?$9Gc|_jOweCpG^~s zC_PE-y4|HVZsn2)yKeu&SY9T|EO~Zl8U+pc1q?(-PN=MvSs69YidE0g&kh^blJ{!x zwyX};=G-A)bkvyl+#oKHJkL!zH$od~9kln;uwwJgU4%S`7%#scAUpmK&rP-{W#aQa zLN*{4&kLVV5VJX)0HJ9q#isi<`2^CSAStjG(04^>3AvC;6n zsCBPxnZsK$j{~#mu|lmFuJ(#;V_5AMx1BFsL&ykJwaajxQaz@KF}EF)P+hU@SR)-l z!MkA|^FaZ+>UaIg7IFpc@EDgHkADZ5dlr;ap517~l%sLJ&A9D_X>t=r>etxy!az~= z;-9p*k}Br*Q*>O(4%`Gk4`pIFUYy1XB`QUZkJ4V z_+XoI*1psW>UnT`zhU#B@Zv_OG7id{u(uH3VCf*v2vtwRQBG71aiu5HIpxbcYPh!d z={XB2e2%QP#sg!`_8#(ST-Z0)Bdw*u*S;sz75oI`GC7UpezCRpK8Hio`so%M>B{mR z6mi!5gZRMAU8v(C8ctI1syTQBX(p!p){HN+WSrO{?mQ7Ej5@kiqi>hW>{Z>CGM&p} z50qYnO&cxP2bCIGCXp?eAhbq{X8#dZw@ti~8aR3YQ;YYnq6_05;gOef)H6)=Fg@-b zrWGl+%Ayw`h3auQ*{L3=$KCUvei6z&{jOB*QIO5vZSnWQE%k*~a4d%#Dros%qH!SN z>n44afL3MIVIaq13ui;q0;B)j#x9ES&MV1RF%xU5a-=H$#a=kDf{!z}k&GSfJ^I16 zW-$9AU~yZ!G{%%2J-e}4tNAm6<_bbi=JI#+zz!}BJN?scZU(9O++#bs4`57a z=rE6RQd0WRvIRmnQ2VDl1_A#P$zQ`2L#(T&0KI*tZOU% za7%hJgwrQjb>{?|u!nU!CwNwaPmkr_R^n{MA!0R9%ru{HOmq0I6eAXtJ`+2B@oGnV zPP`t={bB4_VvAX;K|A2qd+8Zpww)(ZF<4%W?1UYnz=QJqOkAlk>(wEiH9`jdZ6$-9 z2btlo%MmFQgIqTgltx$LZ|f6eo%@DQkVWHO4Y{Goa27XJBXjVyID}T$C!EC>xQBJh z0ps*uj1^O7qxo2N`mdWA^gGK@w(l&te1&@@NT{1|YmeXI-4fL?u9VE8Nj$G5U%Lpo zhMy_rInayrO$lK2<>Od1W4(D!-|`r>X_*yMyqmF|?j9?bSP6kr9E}j3s`#Hx-h`;g zW5`D1Ya>U9`I0)@;8bU7wn!I{w71_{6(yoaHf)&<*(mrM7bgis&1j4*XmJe zG1!&5+?#K7vrHC0f1}6L7BlEh$igz5PT41v6#TKbC1*>cLri1* zo2mVUF@$U!Gd>@`J*{TB!f?rX*PHW%N3?pSS1>~gZ)+615Ym^bh1z`d?q-HKx2`;s za=XE6axH>|1i(x)wD!PEds8}v5j`hKbfcIb4@AKt;!1V=#d?s!-B9K3T!L5*rXc~1 z&#TNGJ1LLZ&|V+&)N|Fz54o^_hs!qwTx#x`{x>Joz9GdyKKYOks)3-sp+Z?P>d{?Z zjBk0o*~{TzOZi=I?tzH8`Kmn&h4p#Y3v#@aE7WcBT1e#G&CH>=NcqEpng$vCc)A$5 z=(LNLYqrA9avG#>5@!TlFbw%{6u;=XaBq)J7CsE_#(jH-r-Vp@q~nxD%32#A?i~gT zd~jbk+F{bZUZQh(3m$Po|N6^W5YmhB$hc_VrDS*vd{`R4vTr)kFZ+fO4c?#KHKK`% ztD-T;7_0UVZT&2HgLG@hcC_3uFpll-rOq75)rFzGHCmlH!s!<|`7x%yHDoyZhMvfi zTV9_y5rHT2eC-1R8D1la>8RU%SGLzTWkYsYjIr^p9u#)RTN#tYX{G#Kvh&#B#6E=rx|G+u3pTn&p(*Opy=QZ1{2=S5KsQRFE65PiD&1=?Qi!V%w%|j6w5Do z?A=eRzUNKz-9K zC<`ZXabl3ggg3&}>5JDjbll*5*u3Dtoyt7Cv9}yGK7VKARYIFtJ7jZIVtVkqo_Obq z2~0@wHF(`OE zL&>qcS$&?+o}55Na>czjq>Z!}wMo72z2&X^d?{8@W$M60VhM_~_6Rp3z2c}A4>d%_ z&0^eH>YK^9HtTEL{rK1MQC7CBba6SVpM$4HL~8uo(~d44-L(BEL&8@e?CYGPe6i8&cyⅅ7D0 zLI1h=wYIb#I#4td(Q@#$Lq=y~uTC|&Mc3Z)@kqUZEDroZI%n`pkbG2)^@o=g%a34B5i&$4o0!d6;s0cZ)nMH8R!9Jm#5s%&;$RA4qSRiCLWY zJ$Q)#0#@|2cEobN9_ZwvY-Enz?KlddiZV52Cb@4RWwc> z>GONdc*w_n`&lhMq|MMIQ_O;m{ErjGMh1(^jF8xP^y6OE{yD=LdUN&tkNYXd*xDaq zEWpBK?)jEFWLKe<*jq%5Z^3{YJkBw{LiT`>mE7B8N9k+J8 z>(r7K16KZvaH_3_xGPCDy+T~+1wF#+EMxxhVVpvg93R2p<>P%Bd?JH0$Gf)>sLv;J z6Y@}ITXB}s+*cRHux2#1({pbIE)O8k5 zJ}pK}bgS)lCj{NwUSE1fzY=MoWQ(i z&Am!v&WVBYaOiGs=;-6k^3==SA~~O`V0;R)8@*>-3Z(3H zE|0Y06$3tCY%z!~`F!Gd>LFwSXt_`SCgj%>vDR@0|8XIEU|Ult;~$?V2>pg+vh+OZ zN-p8Rr2LWjcr2fLC&th(#!g|aLJqN&8~P`XI+m$+DeNhYl}m__s7Co0vs!e$pT6kd zMdYd+y&8-%YiCE0rK2_;s8vS-BDvqJO^)DJ<5pb@ZaFv^J^#^5`Ds~C)9-~gMA~wl z!6ZBg4IPRIJYf3n2tnB7VpGK&oXzn?4qL$^c;Y7Vn4w|RuWXr#Ie4CBC#3b*XZ-pP zHR>xd{_iYIA#;+mSfk%RZ*E0<^q(ayHwyT4*%)>5Jie5<^lDD~@n(2)T-Y@#_)xtWCx(UytUvQt@@)k;22Q z5t79RXQ7hSrS#Tzt_LPBXSds(joEK-J)*Gpk5zcX*W-m5S5H49I$3CmZ%(?p-;b4) zn9`y9A_IG*U32|$nkU0bGdQirzu+LO=gKA~y1^Y+T=ltJY~gi4>T~xavQmEq8PDrmtAoNBX|&zj;N>db}@-1IH0d4rAoEktd^+8+_o~n}%3=r#b_(<`EPo z1`gYbFQoqDi2$Qd{doCsLG2JOs_)yXC$Fy`*1`vWP(Pvt<(%(s69*6?c5X4Ww0oEX zx3VMg@&`;iPYe%RzMHLPlgb<{!ySwdqxL0yh$Lo4Dc_Hk=V6nA{YBqtm>Zb85?LQW zH!nS1nB3MxXVv!!9cguX5)bDakAL4y%t*uMX02Pm%d!0>Ue2I=F+Nwkcz@*N_ant3 zDf~<*bbx|<5s!lO(hVHE#W}pV(zRV-Bp3we{C7E*;fMY^mUE4$hCf(Ex~(BuLh;^| zVKlgsLXD@krYhERx`?;Le`!d!d@~{+lO#;~jLaY8WG*ZqR_>cBA&7cnWjyjjrV!wV zw?yY_*+AbKVkRJ6KyqN~U22^2zPyFCi7+};c|EgkwaE3pyp`m9wZb$9v6f5D_#d-6 zi;qdfJ%*0<1~&fj(FfzYABW_GsrN`Kk8Q@c`V<7*{#m~S@t>K-hd<5}4$kWnvbQ>+ zFJx~iq<6iL-PIKAhiA~HD{NS9j@L>9vVXy%KM~Wm`!{iGVfCh$Q18(0WcPSm*YNh_ zH*tI_#O=u)jWdQwLu~C(XCu4N^CHzLGkzM#CcE^fdDeyF^zg#*wV%ez>5CFBUpPa< z@$*gBvmEbk@mOMfWNBXC7zo>Xf=K>0pHFyw5w~OD^gUt#YQr_48ToF-oXedMEL0thzJ{ z&7B3atu9T%9UZlNFIo3(0CSMPn9e%^)wq|Rr-@s$0{8m* zNyy2Y%1!p_(oEdjjHol6Cvxl#UIGS@pWM4^{f5`Pd(K$afTlaRdVg5 z5d z7Uq|@(UMS(kxWP`mfTRB7_!AmMZGo^Y!}0sj}#!PaD+FOhnBok)j6f9;d4qIz$nfs z#Wg31(kgbbFmp-~8bhi`ZTV7obu^hNe04M#L^Z?#2f1|@yp>*C)FC9Jc(cnWYwp&O zisdU{c#^OUkS!x$vova&6EA0~Y8&e(t=e>gzJyJn@xxEbo{ z;GHl6(duU{YW)I@&urH3(sEkOMr0HDyK7)sbku*RrVVHKv7_xWS( zn(CWv%r^Wvb}d8p+%{f*@|W7R%Om`eth@gkyVh+Ws}fqz!Lo}m@A~n0t4)6YkSHy3 zZ#Cp`?VUwmXq5z+rL>(HV(f^)>RNaq9&Kp#oaP_*!T}VE9gZG_J>@fxbA+IBQR6=x zrA@MoxSSne#P#=fXsaXEj?%#WuR64{2)a_jRnb~sw3y!$txdah~`D9o670Tp^3Jan$kE`U258CsTYd8 zc8k1Pj3l8fLb8T-LtAbS2+_v1*Lp>|9RGFgwZu4)R= zYXebc8F-S@_F(h*DjK7CfaFsQT{!mpk{{o|>@RkN0*~F+++5cg&xjY>=JG>4{&pR- zexk#LHeM{7Cw}uUduj#@@PvHTOJAG{Mn!KGN9>0$YUF~PsKqjrUT z%~3y=H-pF1+v0$z(H>f=#C?o&GXpM-+B)g=NAQX7IQcI=M@wJ8CTsCxaCO|80%o=l zQG?F@QgAvCK$c>z)htg6)aJK5Dd2zq94+_45@bVXZFMAz@1|1Q*fc`#zxZr%{%d2D zoAI{c$zV*O*Esh={I*=q2`oFXdu~fJ&wND()-N(A&AWwXZP8u4z8cOaa+`unkSBcK z@HXE0xEI-){;Gwu@(+sD)8~or=92^&PPPe0{D1GPW!P_g z%p4V0_c zHdaum-R>$#uRb0d8iIIEB$$j%ef{)nyQnX|TG97==<9hZCy95Y2Rq@;Jm^gaZQqzYV`^)C23=a ziPil-ndbmErvKs-6&RFHPs6wRhKQ3!6J5~-edLPHpV&i7cW_bU?=wK_>UZ@(*Umrc zzrBZ+Aiqlc-^cuGz$3P9y)!f%D#q_E-GDwRkLV-kxYO_#3qOTlAcD7r>hdFmFJ3PTR!n#R*8DQ|k(&d%Hj}i7h|hiigCuI%|P% z4+s^w#FV4%N;J0#+=-8)4!DxL<-&UQX-9^7XJyrXISj(hp@`D$qEefacQ>rEp6?lDI zQtQg;7VlLbb8ay=DUAoyiUq%KZZa=4H%Ypt<=n)%>>Ootb>r{@6Y8aqx*=wVQ7;_& zclFYSj1c?vZrPr7=TgbLxfyM{`!+d5$cL?=r-=S;y|sQ$?i(}OKee~k%U-+5e_d}a zSDbOfYj1MHAB}3m)+4gwCcl4wZ|z=cYF3&yBU#J?&F@c*QQycN%1sDAe!()m8{naq6rVrqskxx) z@9g~?OW#1&+(R?L^k+BHayH6*JXiKJ^j!2(Z&sDHxF`K$}6Vp-rS$O z;#qdvdHFl{)w!rll=T6_PA`8hc)5v8--U<)zM|hh`TD)(R{B) z-mMPZaln@}bGB9;y#cg-lDIJxO_#*3A}4Oh4ZixOLE5m^hn9Ix7q8>h&uQ7+{cjA? zTxp^oPtB8!Y*k|Ri{f0FfB0Z+iWtD|Gh9=hWlZ zOyb^*9Y@;i`U!hXT9#LQpWnhayIzl-g$ls`i}$QtfiJq?RDuhn>S(cc6AH=$<|?Up ze_A|Vsi3PD-{yo5&%=8eFdAW>+s_31>*jxIq8Y2FiuXvy;XqNIUcl5ZTM zrA-mle)}@CLry&+85{RzDrHA0{8<+FP8dz#O+0h-^2r2Vm!UiGT_(R+?|*BEHf%Ht z*T-y#dvh}NVJ56*!fTn(()WFHRl@#5wPE8#!jzpzNDZQXX4<1n+cX_6N`5R=b>k$t zSF?JkHvA%y*72J3vic}BAvd2rwwjJ(bAy8lnk`^+z_sqRZX0OBvC|yp9tKEfO=|c%TXOOsg6D#VmcAJs}0?q#9j6Y2bws5yOb|^hw~aYiZ&MGqZ411 z7C%>k?==@X@yX_j@yEnZMZjN8!rjsgZ!9T3LsTV|_j)2@s-tE!McD+qj<+8^5_i7b z_TJ0R;G5LN(c_Q#I}O)T<3)b(G;2{6FH-s^4%dcs%w*oPCPt4r=FcCl^|6C)4A%_L zP|#QX9KaeS?tveXq9Ox?;>I2Y@e}gT#Fd<6CRtkDfArJS^h7dOz=y)q)T4fQ6At&A zc`IC|H}w>$!X!5H)|=SCxF-DB%sV}ix8B4?QfeK~ql(&QMtBohW(CXK%sV}ixAL@T1Zz9Nc^=>KUXrX|8IQ-xjj8>P({n#HW} z??7}m?}E?c-a5UtZHD)_|6)14U3H$;y;mF4Tk|(Aeu!)KzcWhf$z8U8jnYQjvyb^x zMr-L&vpO{Uza69X@GlsxT}&PbN81-X1Eo-Cw_E7=Di1;hACTJQx> z%2ww*Rx}xz+%`rVHcTYL8FmcwKS1^}mAJ6IzAwn$q|)P;gEnU!^S?bt>lantUX**S zz2|1XYpgaPQx=_JExKo`qC2o?{R>g@Q)9K^o^Z)^d6rV^E`t6-r5;DA?VLisx>5S+ zlEVd<;ER;oY{83>B{w})b*EU$j3uq^Q?V~U3%4v5?NgY;?LhnjmoLXZcbwLBqR6VQ zFPlte!-|XVi-$z035y`IbE)k772~u%<9|m62g4cYsq6qk2R|dV)InXJP$gQIUS&

_km=V7i+>LkyTjD|grm&QYTOX1+U_Z@kp3?21CFXU_dyQf;$JwWyU; zTOifbkg6(2N%i#alxhp}%`>GEE@NzNIQzJg*Wvli1}{B~y&0vBxRM}@wK|&3-UoLW zy~U!}oy88gGB?x#6KDUgpQrh%Luk!vE|Ra2+O1&jrB!hyPf!X`g5NPg8`##8HS{Yc zh3LC8CupMv(F`#=!rwvoaj@VZ4E;QKC&etHn0H+e60>{mZ}^F?oUJ94nhr_$4pd`G zc;5e#5PoFldD;NEsZd2p9z%t>sX&kQTat8WEy+FEEIB?TNw=^hwf{?!hv8WUOf)5F zq9l7!vEL)fu=cHV^3?Q5Nv^@nRq15c#Q&j_-R+wF_DR~fsChQ!WamxN7RlYA|Z=tOYbWjN$|s;E&iK8^=0~R|2E{E zlR`6^%wee-d;O@9_-->kog-!}KdE1l3DzL0q^h8xf`c7i54^yeC`SJI$Gx%f$NXK+ z*Cu9gih!ugy>gl`Kj4)!h1sXDbii+UbCXmT;v!!fS&wZe1!!6{n0s7ZX5mLv_{gYnU21Rk zFG12SrYpE3Y~CBPe#5Ak_#axc|MM(uKrBsSZlIH;%(HbeCi|1t%Cx`7^C4>|`!a0W z`BVRg6dfSND^s=f?sQ1{kAsd?&?os~+Uv7VPQ+}>|J_t=^c7Tia0s%+&^Y1v%6Oqz zYCVXbJM@W7i#@-s`v@)4zed-m#uZrZlhDs*|NH^wpP`>capWb z1>;mNK0ZymDAe%=PuFtnsXzH|pRWCBISA`&#;vGV%Rd5&-fpuYEAy#;8ERUIJEYA6#noptrXq`hlZ^R|2kxhe%A&6 zLx@4Y_}5>cy%@5qi*vQ)-%|60pZ%q|TDns%6y_cCzmTg9b8_n9#cId@b*?ta$w{9# zaltYF;0v`B4`*@S#D(~4ex$0BrUYG~uO}%wzsYa{11MsV>Li|3}=Lz}Iwr zZ{z!%+$2{7K_U?m!8N6Zm}i1(o??o59vY!FG(lsy*DN9$HEd&rqN*sW4T^@EX@yc_ zTWzU>RME6mP33*oI`^KO>s#Mnf1mgB|Gy`nmHnLctiAWz!`Ww_efGVVA5u36M0;0H zfuQSWVX*Y!erU82O5q36xp_09QuyiIYXff3hdL`wso1%lmA2K$75d3)tkAZ`53N3J z*gEG8d>`k%RH}!Ry5wEM#GE&N<_;jocTw7M)g9=fM5x^#%9~xV9`OHfp|CzhYXj!FHaS7}ccV$VX*2%%$0i9in&f&{rFs{47uRp*t+P&|*dF)sBUzxk5?-3(;L&03 zIdU7nZx~mKX16!0<2M5l)!rRX`>h|zH(^>rH%%NuX7LuSST)^dM|ULm{V(zx*pwq1 zF1Guzbr@Omi^`2vP4*Lhk)3-e;T74Qt{&sz=?DFGpvS51inFALQme_I4~+p88;1C& z7$@T6dAL*_c%{|UA4sVv39b}UTH~jNGhsm`$?KuiX_)+iRoDnm)b816Z*9Ep5l>x7Z?4!ADez_j;% z!#e;%tfIS^M!zKSE+Jkbhaug~v>Bu&#D+siHHK7#+=g@;(|VDXkZZB-q&HoKbS9h$^vCCU^!c8q6yu!%N_TbIPx8qCC01Sb zjqETGVeSudBZc-K4FFZlf^wC#eorUQ-8tFDDFEdZ?9e$Pe=X#M=0GdKE;dN+d}ZI(-iC{>Dbv|fnz%~ieJ@{1wLDD}^8W!<4lHTBH5a>P)j zPspz8&-3oxK}PzzD^6}jpg~EkH*?%MvRLY}2qcTc zWI<||MHX31a9LC#i?w7yYL~?&vgqovs7Dq_WN|5rek6^5L^tj#nN)L`#E?lJG9k6g z;wD)XbXg21i+W^1YL~?^vba}LFU&4IUVk@ZF>v2~o3*qE=M^DlDam$9)^hDN&S0sckir_q?uIsiXSmW4!d zi|O?!@8Y|Au@XH(X{RFe8;KnW270lnQ03Jp3)3`_b65rzqZut&w~XsZ&}OefLOglTa~u!FM58}F?ZEsIs(&k_GY9QGN}$BR+uMEoWhKCw0P=5yL(gdZ_) z9>ndsf%+1~s=?=aK`4$Et{e2wf^1g+2e^5|%#j(>!~ zY`-kkc%`P=@_ku1Ub$J?X)sGJJ@i9c_1JkCITp{z)6dHZW0m%5t@HBWSfzvd)0fivni8Wf`!b{7Ysw9;GJNG! z#CDH=YRj8hvgZVB|3|oY0veu;<9Vaoe>Oaf0w!Xg1Hw)dk;T<4`OZXozmX+BorpmP z;g1uQ$7T3xp8w3qk$wi$=shs{^$j-8D3yR`0rjghvi~GSst3->oJq=IHR-tAJ6XA> zp30KzryzBN2d7|T-l?pNyHk{YN~v3Duemo8!f*|xc;#g!Urp(c@2^59nRQMMNK(Q| z)xn#Rz$I_TAt|4Bkj7S7Wrt$7IuKN~!i7rwnZc&5ipTT_8?SB8Ac2UFS}m z>tjO|ln3i~m5FmFIM9kGM*kQs^_bi+O{o`>hQ926b%=Wc^`=CtmUmeGG7VFx&7aEx z(`m=+XEJiS(o=1ASURUGt?;9L^7wS6zM6JeJ|}&n!?NcLWuW@k5&6*!bh34a>9 zDZK(usNz9~Qm-7AS7s_LYyEgM-`WSYQ^Bx&^Dw8JXr+7} zoWU1(P=3P?%Z{@Y{WIiLH62i?$ZPJ68Rhkcn|;EPHz_wR>;reTha6&yj&pA~ZsqYu zxTgeoZjtlY9QP*`h_7P|;?v+A-nq`q4#ax_`fX%tR(hu{@6A#w#f;T$=Vm4pIEmFG ztW^1@Y4ed^ib(dVnVGUq!(){DH=fa$xp8ITR$ih%c|IF&_dK}rAIKrImC}W~8mang z(OF7=;2rJ5=(382f1z%ZfGkG%8)rq!;-JSQ&+IdZR5VeHNoTGFqH-10a($(RO8ZU)cF7543gbkP||A&^GyZZ5-**D;jGf56JfO(B8EV z$f@&`rXk1nxnnfZH1dPH;kWx`);y(xnz3L00c%IJ(Rx#1kD8<(y4HV48DnW&&&S@@ zcvb6-n>NafC(5d%okH5eS_?y4g0$mFTS%itQ?^Z{&mL$tWStik=QQ#u&VJ=!1JL`2 zo;&zgE#my2A!?xZm`C=f`e||P2R@CUwAnz>XjR`h_0o>KU{FM(_s@nwF)jTCgK%xJ z*`SQ(aJ*nqT6@iG5v&b*!Jw4Z$!rj+VSyD{=6e~Y;i)L!i4YART=Xy~snH!w8;B{< zX}M{E66&bV-2^K!31v`av2mG3WnKD&8j&h19zBg7$o-RBYtW=(Ly-2Vsj4uQyJ%;P7L+*@T7Nkmds67O1C3#lCSo6 zJy!AWyf=MH@%XpOvAC6qiHKGWwR6&&^i*~pe6aA9I`C-^tr(~c$F9hs3-N@ViPemS zN@$H-P66Aza^k(Ty}O?0y-OO7r??la-oa5E`QA+9DEO}-j?z;$oTc|XS@JH*w z6irbQ3B*-KOK4Ws(X93Pei@UZG>F}c6kfF2#X7Ruf}WB5yQx&P1&LY;@2v{8dzTQ_ z123a6M%^`PhzgV6reGmC2ecPgA8Jw-TclJ9qI#kl4kasWF)hYb*kzFt5k-j!Y!`Q% zV8TZx(@PpjyEXWUd3@?xzOzV)@{cw;*rh%4`Xc4k2yp@F6j|=xbCN%p5D_OX$f2o9 zjgn3yUNO`OM#rh>-C@gbU6JpnV(kKE-=!)gDq9h!hgKRR`0S?C8}bqZHh2`v$IAU! z7QL$k`{cw2XbB(6MvJi)ij?{+Rw{;M8X4J8t;pyNY>znrcEw^PyoH|rL)UDtDV>T$ z+evTE3%NcB!Hfg*Yg!3{@8rx8moZIf?q$f|7Auq0+gbAUx0H&0^o^zZXL3=dEm6uu=mkOR8U^u5{vF>#Z$Sl= z(Z1U$&o5C*3_ppiQ$*_KcF3Gp*ZEr2cMzpG`|QM))LUwv^VZ$}92&S;1AEjwol^QL z>>6I1UbE&!T+=DD$Qs=qerM@EzBfU22dwd)%?g3p8S9qxm zV--JgYQ(l<_BpZpJ=lQ1z(z7#WCz$a9&8h0{h6&q>~s${j@XB{T2jW1h#u@gJBiM^ zMQj^lTX?W*iQU6&mmPA_GNrLPb-T=4rj(GUmnoGCH^%29`4)g4@!f7BYBipUPd)Nu z8Y;b9Ufl>RwDgX1B5i$&I$#?`p-cS9hjfXjwxylhu`xZgqwmSF%aw%E=iY<=@HvqtNEV%d%0qd8Uqs^J9v{e5@p+D<}<6{8*6k}+Y0Qdz0? z6n507y$}2W)IA2*RGdH?>Yn|^iK0cwxdl7q38}30CHJ)!SLM(X_`t}tmCEnBrY2tZ ztWkpG;#JB=uiVN*EnUA(b=VxKX&p7n+TFCf1XKr^?YL8pU9EIfdwn4HQ)vA_`m9lw z1YO>!S6LKIy@KHYRh!(tMp+pWx0%w4qMHX^Rxp9&x?GauKgY|G@oSY4A^W!clgZ() z*kr{zrJ5tg3vnJ^AqQ`ggM;sw9jt7HDvQ~lh;8A)_9+0>9%i2qTi$~Wv_Q3tS>;1O zZx42SL8vBOaZttuiN1@y`uR1pwGdQ&IC4p1PkXSH3q#e2*+^nP@L)Gl#$n7hB{tQA z-AZwvlffFgJEV50+|I?C)AVrzS_TZ=)piP>^_SzzXARhtU_Zh>l}=Gtt+GHrOeFP<3GTGh#pWU~`GB%IpPV*LkojgP!t_L<@BLsdaUY`lF`G*4Sr0Zd45}u~ZY6ey2dfbq&g`*W(l1?^AG9Xj z{eYeuA0M02+8Lu&UN5(#E2D~LzC-!aJHH~hjI<@|W$6vd)_$+9|Bo1#Rki&2GyirN-NwuCTkt;>!kP1;-U$TA!8mIxpGY`0Mv8}oFf zEBnMk`)KX=-U9r?xTbx#&Yk*YMwI$lMwI#yMwEJn%Z^juwoY2!Md~xx$!hN^bJf*r z-yt4{Bx?OUrST~XV~$bw`xxpbV2Tq}b&;nme=8#20XQsyc}7f=zn zl9)feTHe{Lj4Qeo)oN0=UoA&&QDTbyK`!w$uQ={vvD)2L^5hm}zdCk>ob{g4qx=;r zGb*m4_5~x#|8tj))Bj|peEOd9SS`LnKG>@CR_{w`e_yGg{wZbR`%1Fpx$ycRu=0K+gm%hTt3;RydKmfUmq0Pn^st~hRbE* z2g=f*W!x?i6va&~Std(wS5}p5vy_U*BQKuva*!a${BEf{za4LycfKuScHq@_tEF{&50wZH9Jq4 z<-~nY{e1Lg%(nwB$fTW$O%1q^k-k%jRMcUM<+%@)Dv>7_p^;l-nT)(nz>j(4V)@oW zyQ;LX#n1B|6r`0R+>g&Mm1TA*&254CSrOFgeW7Rdh_V{`6|xHCtV+psyOaVdPPXn+ z&Z?(VW#Vo;FTcH1uHCIPvW4U)Lr^<>R!>IVjgxy9kW9!0`D`~l4!MvKu}3McsHfkO zbw9$|(Xup|^btPf8%6{9=$ht5 zheH+3Y%OAUd$6{$P?cl039(D_*#Pv7G@>m`ci5d_JD^-vUTIg3qU@*ax^t8hE;rd3 zTX~AX?8x2Hc2KD?{LNWppwGusI)`=B;#fhG6`rG~w2p|;dYX(<6P>YID^H`;bu^Lh zp;a~8&2^&V$7mt5GCnz|Y)}eUz&UCRBW_o%{VX~1uo6+JE$d9V*VBzWaxdr1*nU`9 zuc|{GvhxvTkGf-qRE}Z=aZi$LauhG=x;SMTg&n5J+eejz;>)H|P9Ae4Ip%X^SZLl% z*LXxr=!~E+vWKSO34++@bUIrQ|0T&lr?I^<&1*Im1auu&!-rv8B?(VCzP4R z*C+lb@#ut-TD|0L2*g7^j7PF#)|NkyGfrl~`w$(^T^8N~yp83yjzoos$unH5rM zl0mp*qA4$I(dVJrr_ zm5LwFuQ|i&%z0&8(9$>b&cKswgX)r{tPPqq)KBc zIu7^f@y27Wo{@b~u_}7Ke7IJxmw-#kTZkq%TvCowIPx+Uy8&qwW{g~Jc z54LA7s46p?N$e^Qb}X@e%%0m#ll7?{^cbP230#|XAryJgAJ?>RV1^kh+X5s zZY9>A*^LgOr+d&%YC!dH1=YuPVh4M$H;K(+_G4mOc(Bu=pxVRiXT+BGU~`FG#_VZg zy*FWDKEI6@)r4*m(-(-o`>we@B5Fa^huIs%p7vnpbcL!Bv$u);z=PdOal@E>Ol+#b zI_NsK*M{!-aw_p(M2|CQVl#=o#jNEcz-}JwkUCHuWwt1>wLRFho=|OKwj8lR9<1m^ z*WWy*s}udlMsta8QqpnEHYWC(2RpVdR2`UYL+qy>Y%Z}?ne9&OIuCYHJ*Wy3>xdgn zw8Mk8)`#lRGOCZ!#18df=Ma05*@?uq@?cjIyO-G{Vk>yCfeoNq!R%~eeLXYYOY{_` z7ZQDMgSkH98bZ~N*|&*3>%rD(1XUAe*ATnIgH0ngoY|ekzU5*a`hwso8mk4ecbgme>n;!-G9XaXT>^LF^$9_7<_#nXN+XdJi_U8B_sF^BgEsU7}}t(Ah*kd7Dby zp4j0YY=h=dU1GL3v8_GWt;Bx9>?mR@d9cyZP_1M(0jxtS;6e8xI*I9-6!`&G4Dv^a z?ZggXHjUUXJXmWBsG2dmf!Gf{*i2$0nEim*CCob9Hy9h;a8;)F6a9uqP@De_om|04Dq z4|XMG+=W@|$AF)Cu$=}&6~$~ZVmElO%ZM#jf$4CfXM51Mh|Wo)5?A?H*13(h$17sx zl-o+Qn$uq%xUIA;{Xrkh&G^w6FP=-K^a|)sJ0I|I=I&Zre;Iy9>EIQI*EeJCC>1J) zku4tlBJds0l`yK(g@i|&x zKe-yQi}i(XlqmFg{gR_y>nkt+q>K%m%6eX{z>*8rwza-}Wv{zRo8m`$88L$JFcqtb zzH;YX#U7m0<2kkfxE;YeKk{Q_4_QD{>X$q>P@l^NxYnI>v1W$FkzRddUrnhQJPWkT z4b0s^QbiW(BR6PD?cyQ5iDX|;db~$G*<0S#lu85M>8V#NzD6XW1%JX;OCj3^@9!W<$gU`OQ6i-NYTV8K*d%SBbX7O6z@enp(YNr~CM3fpM{N z+3yY`YHJIpcw5cW)Pd>v%)k{?ovZk?%7O)@J3Zv-Y^7E4wC)C@FMYk$ zLzekjc_mcs@*EAk7yB-ZHg^Q-Ri z#?M&rXxvMBJydM%=5|G`o}}XNHxcJ(3Ge~yOv|V1o2Rf{J63yys&{#8oBcd+26fTi zT9RJb=S?L$}Yvr6w1!>z& zzWR&uiWS!vKJH+iq>9RW2tO|4eg0bISgGSt^tMw{Y6c6)CCg5-hg9p1K;^RySYfH#yu1l zabA7xwHUeKk@8CY?nacaQBXa~SVT!}mDjNK)9JLO14`Z>;icjZ9p#AMuoJQ z6CJ@JJm7&pc8R^wGNbWxrHV3uTs!Ga|0|=9Y40Q7ldW^e z5v>~P#qcS$^`#i?LA1%MYMMU`$SdqlecBt_4Kb?-z*ymr5O>Rm(K0hn3FAxVyF8_N zUieUD|-1MHB7A^y?nA7UU@#nDfS<6vZ&PV z8mp!~Zq9MOYQFr2+FX6Ri40TJD(b7vWm`o}RwF)<7Zr6<@Q7x(Ciy0MZ#z7q0iuW2 zwXqzmswIO1xgPZ@?2nfmr(#fv&0EU1RJD{^%PzO8YULtUbO?TP^`KUocDAYfQB}*T zS6fLRFZCl@#QM}rZRA=2+c}2U7c&C9RUelsHC|smjPg-OgjnlS`*kDn zebgQyf7UZh+$(i3ag5ei)}npYAt5*G8YWaQ*UIjbI6akfzQ|}TO8uW14Re_cu)-v} z=|7oVd{s{++p6{ry3$y$aL;waeg)JIX%VlWpSnP;Qd=(fQ^yCs*T7|ptq&N)^wrLi z1=X*~@^L|Rt0QU*$}uaBu2M?|;IF)<>7H9}9}Cq8W}j~@qB_N(Mpe_{uEuwpz^Uotz2*ybK=8nL^W9Zzgo z4>n=~RBtmoJ%bh(ygcYkq7#^2NRjU(PMLrCI&w#0b+ejO zUG^-ZMyS@Ra#9g>X8Dn@#}JUxx-xdFghaVK&BYEsf8MvP)u|^#1Jtnkqv|4I{mwkC zE(TTX!W)_(B4V{KA}JERg$_?CO{?h0H&zQqZ%@Xld@VpNUvwIB!A!vQT1opmQf>%P zi(9W&rKzP_TOJHhYpY+>l8*z_pVSH*2Fpi9)vwgPRY(~uZx&P6tB-5yC(DYf%N^NM zPy#DnMqKsWcD_(1w7a(Q=v*4 z!gr-#Gvv-dwNgRaH03CeVwu}#r@R%Y)~=R}l5v~kYi({Nx854l1Jn6qHEDo8MFTYI zC^hjEeR+@ePDL3Vq?YWwl%rtgwmnAc4NJYt&}k3tF1HeG3Pm#UZW8Ah+F;&?qvA9L zIl-b`O}QmVE%VB`X>c`mFyBA-0iGP|P8RvcS*JtQfZ3w^S6Wz?t|_#$65svLEn2gOLw-KdB5 zGp9ja86QE!eW}`t5Vf6J=M~u@L@iw@=oLKOSTXVAIjAw!jEi#Ocfu^L4ddf&a&ZU- z_R1(nvGhH??-L$3bnzFS1BF$XfS>b zRGpZuN9-XF)-o5W>dZDLcD)CiMr;7H-H4s(!DbWtq%Zg40Yne?pwG>R>QY~F>s4Y~ zd$55Eq56c`H;Ap|!8(au$!zjInN~^-FMhb3F*@i^ra#-{ky2_WQ%3|JuHsTp^Knjptm;kDx4i6CS{+dIFV8sH z<>XPQ)#_zsM7SDK`BEj0Yh*bBzG3b%x3lZ1GPeiy{*C+OkZ`qIU@3G59@l0+ce!}4 ztUMmBR#sv0OSn3zeA}`}kN12uWkh>5YP)n?rix|df->sX;s@auPh)VaWMWK&Y!#u7 zQD=n7T@ko`z7LgOM5vV_uexi?$a6~>_VHu~w~w(dAH&P4!#lnLc6NgXiGKQQWfXe6 z7R)-@!c&M5ZL;xVQ~|qF{tTxWHhB6Aqw;zU{tzzDl~pH}>O$`Gm|apE#s&=&cn?vp zaM`z6tsN5?$m4cQolGmn9?yiGqFvWJw@ye54OP~sKS~3 zcAxYsudW<10#jFPOejasj!%2%y@6$EIFo!rn;Go#FQG$9Db(hz*-eMQR?sJx>63jz zYhD^lBc#)Mxos2aWA?rC>aw0?s|s@F=$kv27=1m%d@OKFTHhl!k4tTsDL zuCb{Vx@3nSZ`U(mK~#Sa%`X(=OX3EKl*t?Iegs25!Djj9G`(@ zm1sZK2NEXEQo5h+AvHT7_Bn@&CQuPmuwI^g6WGmzvKEpB2~fSQQIHsj&CA<*43ci~ws!LNw(f)2d=MX!3yJgf#;^* zvdf@qB2aQjG-L$C3E2b@W#J5DJ4Az2Er*OC+aXQL!x{9W1qe0BQyZMGfOIOtDM*7# zC>*3gWi&|@q!a0FT@>kE!+Hv!@+)uxog=LVs;MS2>*Z~=jz-%K(523JI5im=P09GW zvD(thVLO5dXa1jwIK+Cs$N9jhm3_RyO^=KrKnt`2Q3E9f_HH@!ZY1_2%#?(zPOfzzb=(;~*SqeFP&CGImEc8F1#ryLDz8Gj{Xt z@T@6K88O)!n9%^AidGz%srWq-+`i~Jhd#+dlK!@Sz7`>!ry;~g=0plYdXSibkRB1H zAf&y-2?+54d@%tbK9Me7Lr4j}im(8}AqeS%cfAl6MA#OgKf=au<9VF6G1h~kFv400 z@qv8f_#NkT@&F+@at9$favdQ#av32x@+CrY>#E`vHQgGhu_!mC+XX56%hpKu8I;MQBbi z!Nrer@uOY*AcT~j`LGj5kicgMFe5xUe zPmWN0>YVOl70wASL#R;sQvu8+`od*!oD9Gpbn$x-Qo`v7DPi~VZ|yb2BS&r^q^sm> zgbun)+()tHx@UPHDC0*6&5qezd})NlyN@WBzVZwDRxW)bm!2Fjr`K;eu766T(+d%k zToK2)^l=Ey5tq35WEVf{1^$eSKZKBKY=_Hk3qq>7RS5O;T>Z}-;hxLzrpw?WLUV8T zTA|m_Z!SA>o{raD`k@G^X1XJ!3|b+i_;nFd#uX4!6NDn9CJ1lb~jyi zFyZ45m;TWU`Ut5zS_C1b`y9NvAlp~6-XYQfh**k{Jez}%iZ~e|UAOTFBM|mS7>%$k zLMOud22WbD*0NWr3AZH-gA@?EAAb#7C03;I92+{%44-yYaf-HorhHQfz zfSiF`hunuegZS-0d`Kju5u^j8A0!@<1X;KP?Y|me8{`1w4CFfGKI9q1ZzmFfL_!)t zIzakC;vq?pg^<;dZIA! zQ$E%`z&7E_X`KX42j+1Rwsv4tDIa!d^RXX_?ba9MI;Ar^TC);?E__l*;JbI$kX)7k%aJ@92(Hvf1TgB5b$CstzNUi-W|_|IJF?f;fqa#iWtMMP}$tq zr{v)LdJ8i-QCiS9w9sJ};erZAha3MxVq8eQN=k9{)JKL+5k}QhC8!1G9wD|Gxkm`A zJhVkED}A0?3b)PA%x20=$Nv}?&ghwy<;;e0X5~1uvafMw6@}R2Zi0%YCa5TUWQz%E za1XlR=&*|_rou*=^4IaplGF3A#Q87g{3~<*AuBoms-lmPe^t(34#8W0Q?@ls*+!YN z)$z+x(X*|_*?z*=R@dwJC}&$s>@u>gg*x87PAy+Azo>OZZN1bewvPWX8f?BFDyzSv zhSzl4Q%9l!MB{Ag3(d%;K9}w}^y#9$@Rw!ZP=m+hcdLe`Zq-Oc8re4%{a?WUW74qK zi{F5YUuZaWv4&LqlJaU%AAbjZ?@%zbHdJl9kKE1Q)Z}1O9@HsgJ8bg3Y-YmEO&&*^ zJZ>TSP(&Pdq2m|ws*D==&&+g}o0(j0uDjgn9W}sFo!xCEHW}`=GWFJ0Cb#S++}h+~ z8y<*tx7vz^>>#^4G-I+W7SMlgB|(x z*U{uqCsEdLqO+;~x{ASuUdR8KG;DO|I+%RxD4t@>9m#%n5;?#ylfB2QMOP%M0YR^^ zkKIJOz3xWu1|R?S^s$G@$DSr1dzpOfZSqma|CqGlV|Vs(G5ghneO$@7=YRO<*vLNi z726FT`wWnQ(uT(*sN`J>Hg?5f<}!oVt|qJ7*oz;kn`W3Igc}y zRL3t%LeF`uxuAtBads2LO3qHc{ia&aaLFzbxKy4tG`db;m-O@|y3z}Ou_P@y=}F?8 zo^N=hzHQmYs4!*QmHuurJonct?I}H{sW>xbjj5O@EZ{`vii4ae8O_CY++vX$B*Ukvg-sbOFlC_Q ze~b$!^!l2oXRwhoSSb86+&yd|GMG6{EpO^osiw)Hj{h;5k#>r^ZEsIi0}3DKEZ!2G zI1Bk?8eZtD^M(^iIc~ajE=onJOvGm5<}a+1(GE<#ORPO0}G$(QhQDi{++! z-g480yTXK}=^|dqR|GYmU92(T!d~uZ;@yNL2ZW7tR`h07X z(13@r{bq3+cp~F1Lb=7y9u9Z@Hn>4Q^fMj2O=O7NeeP>6!_?XtrkdPm!iPD@pwEWTVMkrY82G#xY~U>6H1Gv6{{{TA z!swN@57U9Rd3me2Mh=*2?NhEbeg5((*V<=nb5PteYVeS_34EUQhs0IAGTr%8WiEs- zSGh935(^GsiwBqED^sOiGU3ang@7xf8X4oTi>s!`-D~0vT@C$p<6+*8zO`T1Q)S-7 zpMKcIH^RMIY8T&%az^ERXR6p+BF@l%FH#KrgV<@{AH@X&-xfIrz9WKFcV0h-+9$=KI4I7GTjMaDf_D_$o9uT;BmlsRZ(VB6dUPyW7L$ZcmfDv8EBB zx5@QBVyxkojy=<-8j3M$$kQwRVHnZn-34kj$3u2(fN;Vwbr?nL#}O^B>ewHafi4^X z9L~5uFOyexVVXGCb7A^U=+=w}hzMYPxHLZ$4=~;S202V8gH3oSRy6g4o?YFKPj)d< zv^4bN#AgN`FD|`+|6Rc_%u$K|Z%ft>C3cEI;ux+U{aP9a4 zf?H)e4}5xy&fu2QTht-;aci}A=SfA5hn(ah&lmp3+zmJ1)Ns%nKF$~P;+YP+SRe{W zWwdvYW3g%4_m-%m^DtNrJD&V$-+I$cHeEb3B5V*5synldqK$z!iLnOWEEXAfi&**s{->JaEh>6X z(W^>tk_D!&mdq`3hg)Z%Sc~iD7siVOzAYjz2<_n%i^U>faxW9&uI5|7ZYQX@R=}YM z*xN8$+H`_@XgDset)?!zmD{T!jM8BgAdk#Y%NF{;bY<<34-Q&NVt$|>cJYZAU|{@8 zw}JPG)doHwwj20UQ==UepBnl@rt$2s_`=YCCcZLornsVGn)4qKcMRgFcwpeqF;UhJ zJ7#}>8~C{Csq=*JH5&G$2r}>~QOdxlMHvI1F-`f-iWdC(6$#T5TK?187owXH;Y&fk ztw4ue>=peDd{Im>@K=IC@ul(6P;Zm3%DEG>=x&M^-0ejaSB+U^z7kLUiKWX2FjHdyi!~Z zzXx%r`dUPvau0i7oBGt(rZM1a(|~=&gs+;q*frBQc-=I3-#}gJ2R;1}M!t2>oBw;p zdc9mR)yq{Lyc@eyvmqrKyeDuez7Y$IQhZ}7#W$u>d?VK%RZEV^UoyL8a`}6c%RiW0 z*73i|MECexlgHn&$B{33JdZuTEwT)cZ@WB}*O#b~CI|1D9Mnt>-ZMF<M0rCI^4gm+N12a05H|K!lujcZ>(7Dt%z8(g&u_kZr<0n>xlrQz3pa72=V*5YYho z$-l{1FGaSg6hHrSDfV$Go`@kvDV~^0@x)Y$CnnE-HQ^jnDSk7R;&)Ri{xFw9KlwKq z>!tYBREnH`F2w~d#WS(hD8-+qQvAuKcnBNZ^h|S;XQop8Wx~0p68&u|(Q|$whpUN( z=seTCK`6tar30OW@&DE#y`+DcN}9_9+%q`s#6a(Q<;J%_A0Y>gSN&x628+LA6f*T2 zP4~S7CE$#EQ7S?4VRy)(L=&E*lrZ#Dl>9}hHUBlL=F;k0H>p8 zSmigbtHCSQ;yr>VEyLHUC8{mrD5XS`a~A6+j#7%d*)A8R+tv{m4v^QzVS~k_wQ5gC zBwpU=hh4macM5J?6;nYsu4Yx)UynLX~-^%hDE4h>j zkpsr7{tk8pXEsP-xb+Mv*zkU%(-+u^h1qsGuoawMnGN}x)jerwx@H@iuG2;)+|;xT z*UYr-s5$3{WT~e{^Y$a005>z?7N)0-mZm50R(K}S54&h>!fix~q1W;MT$r-hH_r8{ zmnIw~c8W$^ulj7IF%4}&MKh5yRS_MxAYEj)gO=iQ{6ULFUR`GKuj$U3j21&GBPAQw zLT;iSn{qw2<9gI{Ylkf%6%z3TRtTna*s%%$U-+OUk!S;VF>OEVB$5n$H#n*vcI=ax z{{sFWvxhwjTLOu+=hC+4l6T-+zJ_6Z#0(QplT(G4|ou$apg2lZ@vv z{*7@et`A7)ze{ofG!evI+ha3WZZ%A3C80YpJTk5 zu|9LpWPFG9cNyyw^kT13I={2NIb(f{9Lre06eQzf3K<=G4f#j77G-~6BAf}o*GXT2 zaUI65FdoFX7UTJh8#3O*xFzH77v2RzjCR^cmV4MG9Iq*ATgUy;+fdZ_zlL_ z8S5*(-s35unXIqISbs;-oAF}SPiMTH@w>oS8TN|%(tUGsc=>R>P+xQ!xSw6j^vb_G z&GxDWqZcDnpRWPg&lwbUC8OUABr>4!V+3R+@O9YeSiebB_<=pKF!={?y0GwtqD;`S zKOz>Cqc^FOoBbg_6J+>iyrHiNoejGiL(W^QF%x9J&FZXbo;u35 zFuS0SvPC$)K7s~_NBRm<#1`C)25?%X#4V&Xd4g=VMU9lX<5d5e`TIS>c}Ik&A!VT7 zq2{rJ7{>KPX}d?YC7ftk5te1KZU#d+zPM8sPs^#}F^J?hoXs>xs%V-c zRdUaf(707ZFC;;S9TpRHXyE@<_K1680#**4q8#6H&U1On^DRf8JJ|%USO?1{pL_e) znS=<}xO_dtGNXLmxqNz=y6cldE^80I!AScyHNsTHSW^-En2OlXw0<=J1FwGAu}GMI zmmg+&;vdfAI9b`zA@3UYI)1^+QD}z$?xuo@bYh&ODPa*8rgy@6mGt5}uU;jw{B~3C zTYdQLW*FP|6mY{983pg*huT}S^pJ7!Dw?~_nvBwCE41Cye+k6}7 z#Uv={Wx5Gpje!^QuTsK&k>v>Rffx0wwCo7>!2*T5SL#=(-f9-y&X(*}YxIkBrAe;~ z^4CBMpo;awj+G+9|6_8n(Q8Y;de8IK8*VHDk^gNVN$i%t7+|< zhU*S=@PF^SUOAy$QF`T+;)*)TbrZ%r4D@R-jITAl&PwyOrtixL=k+LkOpn02lk7fT zEm6Vk81=5|a5#(Ww5ABShRkE;s;B$ zYAEA|9DfqyXvRAx$;C4)CDc2vG#}|f zcbY|Ac#}6iMT)pbIVR?%ljRKLuhyH){uFKNvb%@8y8%1pk&$X~^}=L!v+xb5Y`7s& zjpahw*1;>M$P8!&W=SBk(M@Pr{k%JdfSXC^6)8jakH26x-HEw(m34|&U*vn#a!Z@Q{=+am_!}n zJl+%MkjIrN^2BL%bq7x!rL~3gz0dKtu)lhlwsN|EvwjDs>xZ|#(b&~RNAR0++ZnZb z=qu3K#06oyYO%HfPRElqm1ESK^2r%>aeXsC$%EHzsT^-{x>=O0SkL&PeCssc5oeu6 zO??QB4KH!#AcxO6h3`3suiuo<&Z=8Fyqu>TzULwJ4yXD(w~Su89|a9{Pg#G5OX`;- z@1H}h1>@n(CjJt)kYClLjEY~VEft5Sk`jK#PBevaG`6tO+)hvUZ_cD6>z`AJL?6bS zpBTef-%B!uu|@HP&3wkbiVD087`qM>y1`KVOmv)5H!P(?H-WH;TFR7b7VBx?bWu~G zy8bpPBmBJDPZ{=d1KpS^`x)m{lXESCIajo(&AI9&siRjWzgNH>A%c6JPA6?1J-d|1K}x z2dcQ{@F5!hPNb4LbL;idC+e~~!fy$5 zHnCc<-^_UDvO3SpaD4N(vidc(mQk?l-^zG8cNe_ecXG=$Q^ERum+|nLI#G4xr)aV2 z-D(XloxY2loMJ6^X8i(L$6aq1d$pczG8u1R&o3~3ms|5Y#+$j-erCLl^?x(|fb9dO zQw{CV_eGWFlbuXdW32D4X~bAx6m83RHzyR!_#?(681Ln{iHtvC{cOe=tY5~Mze!MR zV7#Agc236vM6@`-C!aF$DdSU&4>G>YSl_hu1LMQ2|Ap~qjB^=hGA@8kwb9}T;}VRI zGA_^fbH-7Ok171o%%*&DoQV!Ipjr!^_*a>fFQ2QWbuP z<7~5x^_LkhXJ>CSmSiHH06WF%GAfOT7F4xUtWjwlHHfQy9UGN*$Y;0I>J@83XA|et z5#L*^cHnezmP-`t!c?Nsj*KqfQ;Ghav7QK(=uOV>tf@p_m`d~|muL~&oM-)7##vmV z4;Wu$XZHg;#bv!jXZhr7F40Xky2?iP9dgi*YIVP-&|#aUSJ)33D}Ge{EXKvy^|su0 z*K{$?yDgvGRckr&Bj9taPRhyZMOCL?iv_%>>hx>T&x_h77&g(OAVCqyxUd&_(2#Kv z#+?`k@QTwA#znp8#`QYmk{oviuv3Kg_xb}FEa8({LW*;#w&5@5W4(CL_ zW?Y6dyTe%D?v}&Y#(K+4`CK!4^$t!?;K+o~Cza8w8{Jd8R}7pJQY=TKVVs^Znw; z`#IZv;Z+rBhs>gM&T%?bX33-nYIVoUdEJ)kqZ#5wBOajW>cT3W;IKhTKt@1s6PLW~ z$cOZH@imwCMLpU3L1wc3H7~E2J2Em`tyS2qh(QABvt)cW=3Aez(Jiky=&sI^Te8(Q zWj%G|$XcFm-1KdS+Lmf7UgU9SaqWV4@9N%`mbl|;_l*zTcMI`U}_oGyOm zG`r813x8G{#lD=^ZK;xmAYL@$0g5+VSfvvjROnKWnb6zB?_LLy&-&Ri^r1SaqNk41 z`;GJdnA7-;(>ps`zVi?>>Tfx|w?+J9vHk{}E-YLSuQ~FkhibWsFXwez@-t|Ttp1By zBDT^T@};091Zgz^P8WW9rN9OsvA0mh|ILQVM3c4-oKAqHD$?mc2S0M5R`1}cqqK`~ z+M{6`4Q#F#s{hHHMzF<>G}Zy9ixOsth3o&nw z-1!JYWzbwIZ&}Ng2!9ocqfyM~sm zpX8Ru>QQ6l9e7txd}5j=y?s~ie4;k1mT!+Q!sI8XMiv?+Cn23^(TsgfX58H3rO(}> zepM}M{~5B&uWAVu0~o^Yq3bx`S1p-$E!IQ8>0%T+c44kO@T>auz?bv7E!EXeoX;rE z|CtL@T@{%}zQkJqMQO%kxjt(%e$8TfN-fv|I-6K*>7-dQ%KWB&uQ*H^tA0;^i%X@K zHjPsn#VIY}91#664r=nu7KkV#=x=2Q7@qJH^lJK!mvA&WwXXGlxCdlqXwU_2LceYTk| z8$DIKcX&Ck+fse@;dH;}5>nmSAkmO`PWzE%0n(l`Uw-{mjj!sdqcncu{8n)qzwouO zlksDVOgpVsE_j$z@$x=}BCY>ZeO%Bz7uT;6}GP~ z$awY_J*B6-XpK%j!Kyi|BQ^r?;ox;uz z(l3Qai`LTdw_2s*UpT=Y4etRD@P#AEl<^zvWqB7SCu$|*XEM~UNB=upJq@~_w?!J! zNRJ%WJMm<8xDWJBF~yrYUp(8q$@&?rpW&S=XIi{NWR;)1ixhqfI-A()odf?qOqMP4 z)Wgj@b(G(G?DG*$>pfF`A8@67#ro}B5x0|=d~U zZ~FA!c_yB7gj;GVVH6Q9^)OLy$LmA^|L#p7U0iV?53}PAA;>dBpPEpr~ zuID!w$r%OFW!{F)CR+PmeT)}C!0E#7YegELEXp`h&`V7)?qDBxk{2Cb`70PoXBq1B zddJ`|c9ut-CO))FhTlxD=Rt*f+#j6rt@QHo zHVi^W$cJl92C*YD>aFvNEN>XxnknNmO$On!GWKM84N?q)k(gZ_^=ek#Ju<#CoBJ+i zHft-KSb|dHu#0sSt^vD;)2!KY9^x2o7oH=(JnEIdz)^pW^!wbzzdk3U`{!PJ0vs=| zS-qD1k=ZHKcrpl`!?q;Hf1Cvj}_sxPH9n~BlBRiWR_`gqRZ zN7j$=tqgsEG)ic!uMOD7_;ue1;MR=C`Gx@x2aXowIqqE6Pw)+aejVefzJb6yfE`XT z+cy9whnbk;>koXL@myak@NbOg`&xjDpu0@m`L*3D_w<^^HN?PgsADZB8>j%=jkb&)EKF2cLY-C%M2*am@D-O6k9p@NwU4 z;4t85agrlfV|0$BmCi;g@pDn&h;IE$j2G~?K>R!I^*ZQ z!+;+EM~ghJpFywkEGK)*~NLHxCnJ%OE~lyxi;eU)*T zbqw${wkge#QyG`xubN9|9KmrvV*3i#@vuL_xUw|?_!8Sx;kfr0M{?X;vT=y2_}2ft zyzmv2adqnyM2KQs(|QW}PK;|=j{%PW#(b2&yDpJ&LzDo^LyV(Yzlw27&TK2=c8oKC zG2B`+k)P9VjRQX{m!^MNA{K!xv%vgB9{P;7X4UXmGL0PEg27E z+>`NePIENlkz7Ml7>{O07Xdp(yu-Q=iLPd13`cmM@oQ|fkMVfMCmByiz%goY`lb8H^#sxO0qg8~3}$xJ@Wx+%E}{nj}d>$T`U^B$sMQ zw;|*fkxYapNs=TXBqSA*kQ9mk=lQI?=j`!ozCYh@zwiI_n!NY3p7lJ>y6m+tYwf+$ z{cB+}|6B=l6djiVhtwGV+mP3#d@KWPGneE46Wr)SrE&fcs^xJi1(|s^IYgbs(Ac$MYQ~XPU*a&drY5ziSJ#ey`#tf~< z&#=Tj$35UYuw+NbS>!Y14_GVL$Xn^Gz)KSJN3>a% zyp48hkw2z>3vzHf4Rz+mXXJt8UF1>Z-84Ft`~~H&fJ17Je+mL!Px+UW@1T6Ie*)x( z$ou>u@OkQdMLQ8MOK=CMUo?n~kUHoe3#HmjIK+gOoW)?Y~0WBa`VxVu6D>Ls0!a-G?8=o_wCiw_C znMTimL#jp8FqHT&%3IQC{@0{5t*Bp?oI?GYl!-b(IH{e9$n=-@kYKk|91>OaYV){w{3&KB}hxFVp#KRuBkDQyzw3vnG@p*oFkw;DT*&{Td>JzrSRf8o(?J<fsIx690Xn}>{xNktuS=lYX{Qi4q&|rXK&L$AJE&8K{HfRps+Qc? z$%L-t&zSi>a7gWnDvQkNPIgU{j*VppSwZtH?gjhz0ncyTVOHA{|IiBT`Z;XMXx}KYk`who@fcK896H2 z1HOwo(a~=~rw=(_^jh#k)QO>;F_gzfzYF&XphbO*U1y^cyUVjgU%;-V4Vyn2^lO$&@#b_QP>U%3CmVKXOYNeT3YK`cG27b+iTj z*_5YHec2y7L-{sx+aNRV=SDj!oh08urOV_y8EMo~3A97>0R$QcPF5Y6w<_hG zq7@uBp*)p&?;v-k%|7I=v@?|4jd{l{Mf-PbUyk$ch5 z2jt!~^d-3u4Sfd=sk@^uBJZ!1_ocpXnFM+d?Gy#$zEJdG6rd921EQt>sYcuw7%jcD z9eGf69&j&kNZl8G4o1@`A55cT$oJFeG;$jGW$Hf|eFpj~$wQ(~g5RgkL(IFIJe2z1 zf-(L-9DPEfX2LKkS#DtQVydW8i2G`Sdg zD#wp1Cwkf`nF7XhLLtB&ma#XKTBunP;!Zi_p`FwIFX7%cR@##HQQn=rpZpN{E9RX@J`iMv7r1ed4&ERiqS7Yv*UY?&e3<+L`5W>d zUoC+iW!_@okUAcH5(89a^7ql(QFD!{^8R+M!at1=dKQe?~{j_@BUyt1NwE@?Xr* zj(m+q?*oVMDB?K;I+F4TE^M1Zw(`o^(JN$MUN87f>PP0?2xr?V&yzP2@`IE|<-G_y zr@$&b#fX@KG1pR9QsX{E zd;xV&!p@mK|M%bw)i=S97^2r^?mr)~CNk(&sJ_;%U^pL?+d-a;jM5ZldbwW$P??FY z{t417W}<6Af;9C*)W4THW61*(q22T?wcJUGaNrQEnbLCzmGlOITs5`RX1kQok> zhfwD{`5^`*FDgn_4^yWAc^LBsz_?UTkZw|+^2e#ujy#%vd%ZJQGC#qD2bl0Ac@+66 z@-*^9@;vfnI#>zDJDn1wpJY)!lR96LXOoYU=Ooz6c&sZCvC+Rmh9;@p@OfSOO2oQg zc-u^v22gOcpt9B}RTl4klV5dmPjWkQZ}MPr5AtMi0^VuRW`CqVgIrVH3EoJqr8UfE)j)7NaszcgxF5Np8Uh|lZls2RCzBhi z5#ZOzP1Gpx3UX657QC5!n+k#VWnwHzz>~HUuyLFT&D0d|HFC0=4vu?QbegM~;M(LC z>N#*5a!WNA+@FleX7JZ z&guX*3T_a`UDRQ4U2<1-4BVaEO`QObBX?IP!P4jh@wel7U-ollJHd0IBXY2QZGrc^ zchsZ0^tFicL3tW%i{!%3N)K~!7t0e|j*dLRC4A!(Tub2~fcGtkvn}8ZJk2N3d||T; z8E0&c181Gg>9D1Wx>gi%h*%HW*Hh<+6+{8kvm{mR;n-g zESbD@<__9jZ&b;RfK->FK>lHII&bkAPV3` z$tPa$`73SINnR^0KBr9T=3Q2DU1oomuA6VvyS!FnOlRi*RMph@T<%7kAX+irU{0YJ z*g*qN(7+B>sEK_iW1K$*iVkx zq)_m$n4t{$fYShbeO7F+CS(Cs*wbdN&)*K5p>FX=x9VlH^o*f4hr89Sd=}(C$t&Zm z4}U@WE#BMH5stBqzFLAt?SyQ(WGIZk=a`|iXCU-fGoVro)Z{H|9!|-jqc=xdMcZwm ztb%6<@||G5^2~R|W+`C7%~J649w}fAo5kntHWvf;+pJ6HvHAvY#@^#MWzYC53EMNF zpKQO5d$G;3`)smV&e--EzJ&!nV<*V|>3d(t_^qPB((g-4CVEz6S7=S@-YAy}m6O%l z)UV@tH(S3R^>37mzMQVLr+y>PR_H$n&QJ|q4bVux?zc(>b5k0L49UnKrIMf1s!!2q zGtYtSAeu9X8|6;W8Psp(IgzcOLVa5v%uaAJyvGb}J?FAB+`$Yt${qb<)bHTAnyufF z`ZvlQeP5OornATYqIBba(vQ0`L(T+KVyX7B%+SMA7#Whl8F(9_>;T77`cJD~5XW>EwKtmHI5?0lZdnA^a=?XQ+{`K0BH*{wp1cw+#N)(asZ|tuN{q z@>#W$!rS4q$Fk7dN4+VY6YzJA{w5oLTg3NdkHlSIi;m21HEwuwx+b4=gwn8q8&!50 zXXdwJlM*2csAoNDo->BdVv%l?OEGT6UrXvg=P3sLZd>$`{5a(0l!?1J40$l!&EXz9 zYKtBkgG1gV=3ngTf&2@%=w&fh-|Ur$%jfAr1+1iKIT4xwU&rU^UInbU?DT>!>2U?D z`0VsbFJ-PQU@h=xE4-VbdlhpTxR9Y26hj7Q*<;;mZH$>$*b;SN>(M z>lfVVCtlav-05)(bxcWXOL?b!`xZKlc)#Zfj1*2q?pvrYl(dqv_5O0{EpqAowNR&) za_N;@6t?$?ORwA_y#{*O_1bQcz9QR>zwwK7i_+HUV9v&tj5x!2G30CeNCa z-}bx)?nI@v%+QbWbsm}j8cxpiya66h9rLK_bChrJ$ZXJJ@_U|D;C0k7Pp59De6vSp zgARQd6vyv-GO=-*N?CMvl}cMYGSd^YRdhb|ybmq~PF8pf6~9Evw|QjNry2QU&&S{n z)Y(p*dnn)Gkx86k+l7>DY@8uK4N2&9b zM{dTSBOmY_1z)GmLF(uKNP_;_Blo&WlMj1-1Xl+qt8b{21RfMpM?9}0p&OOH^~gPj z!Q|tfU%=_i@EtQup!|eKF8iM+fA5heAQw{S2kNY${6{_p{UPNiJ$OAo9^Nk96qRC|%8c>g7)U-#&Yvc6)G4Pf%pNBT-RtGpNgmM(84dJli3JCw)! zF_1(4)nm(BqeK`}!3gp14B39w-j;v$&I(4UZ@?(w-|?`Rc|2hC^2Au%WPsHXd$BJS z+m_ib-inS0<`l|~@dBS@s|@92FoL!(j^^^wK(oWVNO@!G%!`m3=}3Nwk9FP$#_}pY zqxux(uTp;@c|IStTt{9IWQMKGu#gY3?j-7L*@8t8UxOjNs6K^3su!=pF9#N=x+>cY5EYx0v2;978nK2p;aN6HEvUklsLpg(ej9xB^T{*^2A zx>~L{Pp;5ExYJ9&sS|6v(mTJY`_^{lpZca=>`veMrrz&Pzw)LoUB{Kb#!B6xjw}Ct zEA&5~N*z+$1N;d<A)H!sRt zvg4Zpp#mR)%V6G$YMwzqZ+pM3!*O;L> zbqanW`Yp%-a7eYZWVEVJZe{%nPN7a~>U1Nguto<{r>!NU)o9AwS$UeHl+(G<-b79A zV4`M*R6bX^f!x{p6Pb5Vrwbh%`b5Vy!Lb8}gQO;AEGo@KV#AdBv~`;^s_nAxBHks zx>PpD%!|Mw^$wpke21LrlOD2#{H{;VKE5Qc=ksvilQ;O}c=kJaqfdH>^{Lp| zLoy~d~-@u9eP$W8ey z+Yag^QU4&hSxY{Sca9s$d_wLTxdoN-?G&ReX|xo%73EdIA=R3X2R7ZQ+PL-#vSmzjrn&+wt6RX+Z|R>Pf}Rm^P5`wB2vzLzJp>&?PYEJMnn5p zIR9r-&;v9Y_nD4skIT|(kOkCVk!qdK-}1A}Ztbnpo?uR)M0J%>b)kW)bTWv1jmC`g z>#W%klq)`EHG%Bmb0;r>L(0k{ccWKQ&X!i2$a(nW%wDp;Dj!Zc&W$J<`h%PoT@Uw5 zc1bDn(deza^y#}WkW_>$pnB%umT1MIF}bDqV1{;v6eS zuh;jf?{cTl-k^(ibEWUt zpwqj#@?YAZH+QoJWczRYp03i}m44rQdU$tN`kMFj5qJ8L_jG&@m;JIE^`suI{2g$^ z-JSl-MxEHxmA+x4PVec;e|4kY?@q6>Ntf>BN`GLJ9@op2|AkF@n>+o$CLQ0~l^(fS z5AE%$-%6YHGIx5f&6yW^Tc^Fj+*{DJW59GCJIr9) zhYxF+!S-(Upqb2j59M!zL#khp{c<-G`cvsVc@X(J`95~b{GUtryPsT!`~Y=ok<%z| zNq&&rl{|!eANe5$nob_dK&O1pbApGd^a2tvZIef?2N#ov=aJF;U1oTc&bE<9koS@w zBOfQHlh2VylCP0Rk@M}A0z6KRBahA_>vL3PZj50<1M*mM3i%0g7xFmr0CJE#j4a1a zyn~SZBzZb{Jga&cIHV@#k;73Yc~TxZ@!1Xz;)$I+ay&Z3geiICcyxw5HIE#RE|aI_ zk>gP`=5VlTJdYfYN|K++vlpC5em0NX7idYInP(@s8#r0bVi1EVpOa@hun^yz^Z-s?gZP}QQ=X6f>StO3FBwmE$dz{XwpYX`jq{C5U3 zs{P27)j9CvRbg;DavfC+JcwLZl?0C=*HdM|&yee@0C*9(fl2^>KyIk2fxjjQn z$c2t9}DygGwoCAowft?dpE;S#ldS1RT8&^AdQyzWhp% z+mYpe1MwH}L3py;0@r|!$iX=#yJK!c!g$GrUmLuk72nkG-fRE+sQvH6eR|jZR$}l) z=!WdCnyn<)W4;f`^~w9m4ald-4awKYjmWY4#g5!6!Y3igw~=onCy~35n~{f*o6Bf{ zJJsB1L7qo$NnTHGP5z3ULjIk6JNZ`3s)ke>aw6H(U<%pPU?1`w)EP#;lRV)o_zz(^ zUw(6$(1H9WS@sd7J|uS}e?{&@{)wDQ_8bs9-N?nrJ;*i4J<09Jy~usZX}G_K%?dao zZJ}7H;Y={KGKD;WDH-G$A)~6SL+mcTQimYp+h~2=h~I9*7asaOXyt34+tP^24}^;$FV&SI$xC&YAiwm+ zQ}wZOUu@Z~@_p^NhzSBkMSjnJ%?N_4Y}pUxJ?axtwZCO?l5BJ<9S)oO(8V8oBl0(> zbck&9iyjgA3U1T@i_g)@quNtmjq>}ATz@#oTd>pwCNyHg%VeVJehh|KJp&#-9*&{> zcfu#AlS2N1Jcw+vZXjRe#+P7;;n~_s{bKWyConk$6CtCnPJgdUKV%ifZJ4lZ9l4IJ zff+=bcDr=qe}q0m3=RT{nIo6s>X|P7)y0iYiq2$e^(RjuPbHhoZ=Vj^x$NQx ze=@!XCE-vE4&heiciX(B*mq)vpE0RoW6Bx6<+#0jInDw*z2!=LzyOTg{I&Wy%*$O| z=xkVipD+ttu+uNb%_g+m17IVr-TItpQQip!kda9KYcDU z`eAF5FPOW6QO*bDKaepQ|H&`nyx|CNL2?Uz*rtTdG1M}5DFiE0o~FDmc_*8Xp#lp$ zX8F7o&+DR(S>q5CgI=s7A)7~9OasiLK=ThJGLf` zv=ZYxPF#O+=nTV@=-r_}6a#gHGQ2#+tf)!PeOj*7@GiIX%{DQR4iL@L9`6@Wb#o z5PrZsYw_^~?7CbFUzyrtk>HRh^3C`qNA9QV5@~k?(gjbrX=KcfOW4=e9qZ7!^vSBxx@ne?P})*Jkfjlf{+?=sc~ z+2_jH?1j7zIRwH&7;p$}AQ!>|$WL)C<52SCTlf{0C%N%7KSuM)?|SnD+-qL_yWT$m zJHe;F>njti#&O?52d{PX^!wcBzYNY$Wj#{b3zsrGOvG*8VD1V=S*j!Q4~f{UmAi#p zp7X6G$rZS)r#d-6c@uC5ACHnN+_scgr2KBm<2fZPrOd*S;`7Ot&;JyaYI$_lb5=2Z zak5pi-SZFyu=Hih7pD1IVF`F+T8NsO&9 z36K3%{VN@*tXuIHqMdI&bF=MyOFIi_^IO)%N}FXLkY6ixyeb{sTxK0J9g7P$(9w^c zce5S+=yLR<%h8WqMQI#if*Q3S zpdWWdADV8JZwZ%`rJob9`F6xwme>AOLRS6(S7QQ-T}L{Z%)_blh%Zf(le~0wP(^t zwD+xSA5ktJQMM1s7v+_FZ(h;&&9KS`|NVSoBibwVZ0atGuK~v<>#iOC-N0CG@m|f2 zrI0I@LatZ}-C_qLMsK0fude90XA#)HVdQUY7<OM2Vva~imWE65U6 zT~U^BIVfodDGo|{#ewHf{R0B-_P-eXH|!bPB^kW#I}^KJ%%4)b0q`cCmk@BfYvT{*q{?iuYaE!6x!nW!@X*&Ym=o`VDUJ?nH(s=(s)|Py16x&cbeB zEBsBm1X-Vj)_>{_v#g?Vi)idN@5O9eO&wd~W?>E~_jIw<)UkC$Y;B~i6mPZtPF$@W zTQRe-IyU!ovDMnPCA)rW_KX9tCoB~yKdAue$|vY2)jKNNPbb@t*y%(&m!TsZ9$ZuP z(b-ndPXBIZ%^*54pgdP4piT^^2)VP@ewHa?jul(G0%QR-(0d{~uzOvB-RlbMUIsS& zvOYe?N*nO+=aa(S%U*BdyVn)py^PPCF5K&t3!)-d^~&e0l=y~>Z4p+IbDfkB+Fvr80l)bk@RiqY@}Uh`q1-MV(m_hW4iZTb{x}OaZGd7(=^(C z@TzY7f|VBh_wz}7(_Hm5%@yA?SA5eL-zdZtfHGEYx0^;bc>get+s(yEQcjsTUhg=5buJvAW}Y41k_V0B59eBUH@iWI zOrN+Mf0D!T2XJitB|&`aJq9C{{!;p$7p>MMZVdl0=qMD3O)p3c{agrGlIu^Ot4+ zYoe@5PrpMaq^fbTpCpS;0{%>tw=pskWfE5znkbvOZR*=!vFa5lbxk7c6!Gq1obz5& zdfF>ir*bz45m`q@)(XnWD%JVwK;c)d*a97CpijhJ7bz<-y7vYl4D_afaWv4I zML@LdXmUSn7L5#wu)gv6mw+?WK&aC z0FnMF!)g>WnO=3oF?hugQG33X+B&C9A~7pejd8OobrJI6?ejVM5$uX#loG2?&E?9m z`BupipVG(Th*n2@{vW|u3eJ*UKoGYsusXH=7YbCClHqI#h8J-c$!l}CD&KIv6tZ;z zx>j+d2h^&Fka4KLTVR!oyFm!UD;WiLwbHL!MPq6+(>oC>km*jPTfA;1w#zB=AkSLn z>CFJv=I9VL5n>u`Y>GGx8z>$0H&TDR(i>j4Qk&(TF19yDNI^~EHnN~I=x3wTXY?Hl zt?F^}=ww?&$)k>wkLYBL(z6#@>G$TIE>1pjIr)f#lDXRam<~-7Z>Pie;Ro;3`nx99 z4=%DAmH3{49Eiw3AQ4!^pP{~DAkwbyFS1&<{uc^Vmf{vbMm%BYYS*uv;zEAVY1e*> zv3#fmbOY*G#9laT?9t;Eqlt3LBnb1NliO+c=>KSS(h2n}D1xD$r)n9aI3tR2CeGBNNgoh@Q;ztVs)X1-wZ0p-83 zSq_pfv0_ewL+W=f%l?!6$KN#zDlE!Eo${B3j(vTJ)jY18S8A=8_42nqe=~4~x|N?& z=-}18mRc#@a!)t9(n=@*Gp%aqbC6_g&oc5qjC1R%4%q6}I+l zn9M+ zX(f4OTDu^?GdZfPg zwv`_5mQ6!C9&u(t=7RCKF>88Jq@K4H*Gg|Qe_b^Y`HgNJ>VC|8bvQ}$rOk4&dn!_2 zS!*5dbTj!b<;W*-)Zx846Gt5-yy(^~n zjOkKj=IC|SR8R2cl*M^_c2DEHJu9Ik93?|87qJQCyBJh`az}RIWN=7zl3t7R0(0J7 z0RNijlDg`r-nB|anT_5UxJx~T?~7!;Ygw{TeA~OYd}Px(|^?I>#^KWy3YhS_~1vqX1x{PE%*G!mh7xU801t2X$m-%1w;}r6r|mwc;G)YV%v~_xA7v{)Z{h>*_pv_W3BchZ&&v0$gnKz_wsUgoF%G! z_z;f?{HQDNqjunWah5f{)6MBh97kQd{ZUsOM;XVHjN@A;4t{p|8OCu=4M7~Qg7FC} z#*yOJ8$NLLx3#Bz`qnM3UVj9Fd$w4`Yv*pkSd*qSwebrhdeg6$ZNVM1OnUxHorLEv z>G>)>o00S?Yv4P-F8ZN0ug}ftiodI@fnQ)R87yai*T5mUFvE)W1iY^`S$SkwPz}kJ zN7r27ONeWQt$@1KbLUS!|2<%QwvO{5=p!Ar;)d+MNFOKZ4>Er#&;8l?OFH>i{x9iA zkRCIc`73xPAis{%-jA^6{{~soM^@<)E0FG-vk5OozJVwW*c^a|pV3JdeW`hpYh#YfO4)e8{nS$cTe%>c8(z*jhCXI3Mlmg z3ya{`^2(mEhF8{=;9Mc{N0d>3Ta>nQH7psqdVvUc>DU(8^a5rli ztH875e8OhR>Stdd*Eag60KwsKnZ4Ta?uE{6m zevYwsWmy-4L$EgzryFZ+xtyMSNbUi`OM_;lXDPgRe3VgNwOOLhi_R@_iKM8_GSgRqJc6TmO`A(XezZX5;+@t?Pw>BET!I;a zb8M$t9%Z#8BY+Ts3|Gqt(;v)n#GK%pIx=kPXf*5S&Vu^dE-NvqH;e?-TWaB1r#4o( zYGW1K(A35%)`ltdDjw6&wrQVRYl8pGh7@iUYt*#)Di&@i;=-#;dAj+8%_zT`Vzacr z=?kl3*ul*~Yc;w!PnxrK<05%33%5g+{DuAe$ZkA?m{TUsKVgBNi`7YASoKSEgswAi z3a^BXfp7*kE2U(a>=s>Xm+uxYR>>xQX?lLuLtTpjbGD z&&emKbDsPIIe&4{IYll{HfF|=vD6AbXT|LEwatoI#Gquw?DH=DlM9Pf8m&nH8YI1$*end9L50Q=WU&y9y zyrslxQ|cEd-$t%Q#*q}iw&Z5y0c3lP{#b6bV8R@-3Gy9sYsx<(r;vXk-%c)AS{%0_ zS00YBhkqJR6y-c1!euq4RypueKe4IR&e3@+4 z=*O0ofXuIRS&u%NW)%rO=n^h+@o^U?l#`5;nX@B#3i)xeF}Sos*!V9lcGhR#i{|bh z2?rz|ZQg=G_pOoKZkIW0E+Zx?)uo~sGM(=MvI$~|i|1DoosdZ|&dBQ^9}n7v z8$q8_NAbKU_o;c`mwT({u*=H=OK&7ZMhRz_gN5&Is9= zudxs)r%dcV&KSgo#917FO_^`18peF0^K`aOD>a=5%73LJc6|8j4LfDkvmm7&1;?vd zRn-{;Hjx{%)j9ABghcsV$rv>IgsE`8W)Tsx;sf-yHz#HcuGjKA&7w^Xe~zB5(y z)Wg=|>N#bSZwU)=8M?_}xhjjSD!k0OMfThx9PJB27Es$&!wWutd{sUB8!N4iTh;{W zcpjU!+A{ygu%uLXFs6pMF10^60q?2I!tL)z!13x+^#{tQkL~gn);*5E%{Yhy>MOMn zZkklp=|`--t#iu6&3>1g{d6;%ZVqr|>mr&ysIJ0vCOBCgQXX^SQuC-4oA+b-IH?N% zihD>$t^Q?P0{>|mIz>a54C~-At8!j1PCxLec{K#Nt|M2ROJL{v-Oi;)A48W5Fhe!Z z)?e}dJ#dDq%8OB)&TctomG&g%u3(g$G-qU0xr(q~HC_6+l{g?B=^;tP z?=blx>i*`EH?1x@BPs6$j#pzm>WfJKJ>;Or4}KUNP%}MQ7k&P5;0(O%O?J}h)%D8b zR$8ar(lcybiFE}y8TrJ~2Ad*&h2uGV~o@i10OJ0lf1o_BWsZ6gWdI zr0Z64*9({7ci%W=}`>5qT@TT6;ZHAWH{ls4p4)`T}~-_tx>&xu+XlsVsBp`Xw7A z1RKe)0kN7%-sf@N!|)?&>lOO@)zk2jTH|Zyo-Y0_u(pi93mzGqS0w7Q zKjOB^yR_@~j-p*%<)pR0dQO?-&%<>zCO@C|R-Z9OEC;o3-=9K^hiI$3x9sme|3xrX zxiFtqLk~S=?QfTRy3v(7DOyA7p&XY9nXB;%cgB0X5Z| z?~2b~yr$m#Gaih&L3Z|Mt7zW%nxePFTlb1j7dUJ6k8uh7xBQ{UowX91w1iTE8tplT z5q}VQviI1J;mOY+oH*BmyTLP|GZ2*k&M}i!*?qe93Y5k}Nq+z14ie8~VwOQAfK~ot zb8AhVa?Wa8J*P}6Jc@^rUC_mBIL#d(=Xb7iSNw_!IZj(e)k$OP_&F=3c21etD&n$* zvoQRw&{i>CWJlK0z0PCrjjbhdl~=KUN?ek!9P`zvr5BvHQj&5{H@ecZ8o>s7s>?^f z@iBCuue6Ru&~Yv4C{Z=dc2wPQH1vX%(mMBaaa5gmCX6HVETJh(P1}(KfSCug3yQy( zyXmj7x}W}Z;;&e0n^Pus8@VdUT(2Fdsb~C(;b0i^r>Kz0zXP&PIc1W+wJU#XR)G9Z z2GA1t3)042>gDV*cd*MWc{`|ly3-VI5#9HqRl55BstbFj{J0XcZ+c+qRo++Vqlen~ zr%!)<(dysCCCEOhJ&erqlb$^HYPg3BuZ96z&K@2wy?G1O|E4$F^2!hB8JF;^&il3W z;!9RyCHL)P*)zsNuW=l19l&@9Z6m+v+8+JvIIBopi`vrXiZGI%;0zpXB-BB*b(P<( zlwfY@kK4M^=O%%ZkxxeO**43uOny@Ra*_QS0f@g>UF!B%qEC3t{}?roLh`a5OTr&9)qZ&0)I&mdh{PSL>o;o`5GWulxI#Qt4Sn%lcm#U-FE?cS9+_IWT&p>gcFipY9U@y20IYsGX$(YmV zN-I6oc38QeIl42)qjhwZD^^;g+|$K+cUD`77Q55>G@H#EE%k{jSiL)!J_f0p*L?mp zb#&aH){NRYWnya}{cdLdfviOYtFq*O`0c2p5B-VLpF^}YT+M~8U%(k^IP-~4E3h>C zztWMGD2TtywDXu+k!@#$%g$r0^}o?+K&9BaQk^5H1Y2xgxgit>c|bj(PQYk=aE2O7 z{T6lgj;pv?np=8zTUYw>K-wP5f;<8aVbz7aXDLK^kQFoNURkpk;#G_I&yxS)H;wue z_%Pjz)So~*i^&ts{Vh?0YDr*)9j|$e)*RElP>InQe2i9ZYQqUQQba0LXYy6D|)-5!1<4~kG zCq_1|liPg~_p&0Hh7ubx4OOL{xhK%BA-v-aFyh@l?3u%54UAWE=#yem86Jh7Wcbeme!^xM?k3wT{eBiWq>A0b>%69eq>mJ5 zU%>IbvDcT_?PVwgaDnxfinI$_kdFt!YmM<|e7SHJiV5N=MoFKMR%^85$Y^7T8 zlqamC$941-je8opPCuUxt^^y>&!>Acua$~y>+5ZizP`c#1B13b6M%FNb8%FF&6W8xy1>^~aeXY0FE;o#BmtaS9mpzYnKswb(AQ|n#2*H zPyt_h@ZZlTy|pO!M{|{1l*5F%uqn!(_yS@{hEDkKR-A)-2IL|1*6`qtsXd)M31_t1 z7=D5(Y&qdqvcuQyVtr}da!;3VDzSJboJtJAgj2~CLKV9GWw0Dzt2zhR=z_k)xUcBD zp<0;j+ng}s0y?#zFRgd(>EgSA%Xb5p?*=a4jp@7OaPi&5_AOP^R2L}ds~mlr0klzd zeVOeF`4T-%!UA*D3ZT`0^|JBVu`Bt*J8=RyqM7ON;D5Rkw|CZFJ3H|fxRssQz2n{j zf8$L!>R(=Ka_7!|kI z6Z*M0x((#4tb!weQn!8_h^JZ!J2KJDU8?ZWa!!lqd!-eEj_ z+Z`9$V8_fyF79z>SiaQ77r+wbAk5Fkv=8fi;Nrm@!t!@robN8m`F^X2?su61Ea+Y{ z?o5(;CMq?I+Gdh;qRGkPZguhIPGZrCKm2+a_k{yS%Ir4(68dsmLH3;=!5ON|EgWtx znhoyK5viFk6!X>h1ph|+ZWHGYU?UcTMlTZKy5kDnF8IBOMyDN3Y40oK+Q_|3dY^fQa_|7 zpwxCr@g+Bo~ zuYj*{%mT)tJWCMArp|gn0Q*=@nfSZT*mkf0*Xi%8&N`-|FEQy?=FjgbTL3R8?IOB) zIi*(0W@*E!Hp|_K2IPDmxy)kKEzt3ERo=4^%_Q`8a7f&Sn{# zOyk7xrAVf63Jm6(lgvII%P;PjtB`^oxt%eCnG13L?M1TrxZg5z5jqfuS@J*p%$`u1 zLCAI%{+`4icJnHgd@0@5B40q&@+8MP6;_26_9^5t%N?$;YJ5kJsj%vHg^5lg3;PZA zYk1@`79;q!O1?dw;D5)sIIZa^3rFWzXfum$YBiCSuP zBa2^4lk0g#fK9E|XRTK0sykHi6^$|DR11$eJm}$7eC6%Ivx~<)c=j-Z=Srl@P_w5B zx@=?EmQTnnDHQ4N0?ts6u~z$%(^;!Sy6U8=zSIY9PFHMQLR+xA)EI zN*wcCalGh?V;j zfJ8Llzn@QRyvbe2RMv7=kSiEuSHzMG9XZaJ#$4qzpu7t#X%J)G$|R4*Slif zU@8Op8R|Xye6E`wUjuir{+SK2w~@QPY2*zo!|ROuJ(giLc_YhU8h|#OAcGDYbq9Fgwh7{y;S3y2wLH=a$yI7Ds z-K8-;XF*Kw`65R_xMY4vO&rq;Lo;4|>xsoOoI2ouI^n5XG}7Opd*-fMz6GA3TX-)N zGSqi0?l8Lej;@~oht&5x49p<^z{9{i>iozs%(JfMRcYqMdZ*kk){`o>hyMItZs31e zIH&!kj<0gen=lkmao&ZuM*6?(uH)`fI1vh%ou-pnG}ee~C|&{ME`V3=cAHvl>Xln|tEqDv zms6NpP2!7PHuca+4Sb0)-yuDq`g?~I#|OuI>d}yu%PA9o{apSAIPYCL*1#7VQ>>@t zPxH=2{)kk4P4efIN&W|1`5(0Nzt9Xlsu8lss}bH}D0^?38tKh~sZl*MXEcWyd>2pg-0tH;kl((R27SXR+Gd0d&j8 zzRGd$F|zsId?h0NM;L^8z0ld7dQxLwYPa0eC18Bh8|JSw;0zi!!7m`k_L73U?sjSi zqZ6C>8poAJI$rzX?E&A-!5CUu0q{M(i7&Nv?&+et(&c-l%lBI@->aPlt=SYU(g{A| zRhG9TT4V%$f9QP~zUTDH?A26yqg%L?0c~MGnc!r#g)Q%8Glb*Gzs_7a>}Gor)___FVbTI%yZFu5_y{U((@oIms2Kr zes#t8o4W_LWp-~wY^g~9ec%k`;oB@8?X9ac!=23B(x0_;rEOmZ<1s!$XuuMmVRiS!{j0hKKTKT_)LAFXk_7U|~c=KLnYtj~P*ye&ai zDh$0_$F=m$yZg>u(~Yh)!5HWyBcD|JRB~C~95B;HVfu-3j?C9}wIvrvsPmxBQlaw8;{Wk#0Lov{dD`NhLJ%AHhMWqN z!~2=R8Mt{Pz4pVqb+@*@w7YXpH@ecL7So`)>5~Z#VOhJJihMx%QdanGvU&F2^lZH1 z+^qAGHy_3vMtVT4Q8N(-e5bbarIgDl6Mw52+Zo!ztIkdS-R*p_(Z4hQ2DP=EKHbij z)Fiweo+TJ>SHM90n^HbJmb3vE=x4?faE|pFb#89GhIxEe?3e0i?%5_)gT;V~QDWUJ zJnl%{txiew{>e`*?BLB>W)L4E_2%8z7{A>v`0hOO!#4JI` z&wb9UG>COgMis2eK4sQu7GmX@r3SZfNr72vP?$>!eygW@b-=Bi6c!pUHLc(j8ZRzE zPE+U#u0mIE6}o~`=xrTP=znHI3SGffX!EKWQ|Jn=LYvpom_o<1(3|Q>*R533Rpj|>ENrJuP;lEr$7RDz9Q>UJYO-aqtA*Ci@AQHL~|rN$FNr5bi3by z|LN>h@MdPG2K{Kds!TWi&2$jU>wZegS@|fl4KlN}g&Kc*Xe_K2`f$4k%Of47iT1t_ z@th3!Lt5F`pTy^%g}Ow9M8V;z0GnP@K9_&yh=;n_fIz)d?C`)Hp>$7 zmzlvl-n@+RYH9@J=F+A*chk)NIaD7BwGn0;|*HgRs$`>)R7IbKqqqM|en13nm z9A$L#S#}=tNF(yB>E>%3{{`&GO1{`ik^b+%&Pu+YZI;^py}vHh-Ivn(=5&n>Igf}O zAQdo{dzUH0IA?I49)oMcSfpc#yXpwv@nGjcuKEM;y+GfZq}~`S5C09$1Wz z>8z)_2H+cl+4W?Ojwthm9=Pi0PQN&%OmO_Z#vTU0DLs9g+vT1veqZBgHH?1eyZkO- zIi>Qm;gZ12j|w((gOevU#Xq~2%${mEv9gZb}ws0rpvS3$qzE{uYv^+7@ZJGP~uU#f6H_qhtX zk2|U<=sw-~ZeOhum8*n@>uTWQDDXhk5;(_cLXO8<|K()^GRx2T6jf_H&gx#ySs4zT z2kzUGjs7$j2XMw2GGbL`knkIQxmlkZCglcQnHHGqOl-p0-lV7LYJS6a* z%TD@WI52bK&pZ(J+b~V|1he)c|3FSB6V(^wi`;M?vY%Z$=R@`Z~N2GJimBO8Eh@ zd64}a**wVZe@J{aqfR-p{UCc2ZkPc%mE4j_Bgn1E)5$61mE_yWyUA_HC&{v|UMcTT zab_N5k0YB0*=v&Tq)y7vpeVKHMsFsVQGYnuJjgzk+>tu3k7kgNInFrYu$$#@8dn+acnV~m%0(k^^26-BJ4tYL#F8N(D)@|VTIhm*m4Kok2 zSC;3xw?HP(bvq|AE9?`Q@sRgNGgTReD9vgS=M6o1u{65WBaXPT^ZuV(Yk1UL5gRWm z;?Xd#8zJgnr1}aEIb$C87`zrQ+D{K_eCp!bBg66+UHr3)4~!C>&um}eWf4#G zddYeH?Ev4cC30Ir``6><(xQO-EGlNS5k{1;A-d*h8I;RmjM5kG^>vF6Z%6vg`ECWC z;+pl;0WP^}K3d~hro`y>%v(!^s_4Z7ech^tx1GFonAa>7t83?#qklcUDh$E$Z?7xC`D-?w>iPMO$!l6FnJ6But}|dwtM*pVw|Tevo3?Lhp_Tgm zA-E~NnE`B2OR@u4?*wq=L3Fp=(oZbI2*b-U6W5v$xS!eCDO$pSdb% zSN2eqg*mC->Aq6&zOmBMht%QhfDgI?KIjD8cqjtCIb8|(AWscVzz1CcA9Mw5z7c2o z@L>jQUV;6ME8rvlBjC8A4EVGfThpoGQ%>vldf1oNC--y-?3Al@Pq|w6l&kj6Fc|aV z=bv4{oW;{<&szy`l^DSlbu~MJ%T5FXhM|M!o-Pqwc13X66~Sd!1XmeBefSBfzg!Vq z}gd;>OiNDz!4y)OguGWRHn8YxvV#(^;p;lsoQMpy7XfhLh93QJ5LtvijB5*$qeU1 zi(v>E{uuVio6|MlkV8!q$Nj(vMtg?TbGrHCP6Xpd;YgBux&Ig>Z(`lL5^0Os~&o9X}e)no}l@UUW6YX1ePduZr%dcFb=h6&vb%zIGidis$8OA6Ut+s$w7bDG0d~>yc-(C>3vT#*PhP-{ zIswS!F8Ds?{m?Vl#58FvV#+C#n6|iLGM@`Hqvc18>3hbs&50@T2{d9}T+0RUW{|=S zoes2zHgIN_{)8{RQ|{^FZ;z`H_qgg{AD5^U=XK(K`ZlBUSI%2U%AUnqvu5;t!m~Ep zw^{OH?%RJy+lXW8IA8h$H>WExeaF>6X1Dsz)v>;F#rFf_>%jPabj5eli7yoN#nv9d z_wTNylhtLfQ;6Lm>?G@0h)8eU#_Y^zL%y_@Ic4J9$2orE+{ZNrrsMdz(qlKB zMDbHbW@08z&UoknEy;*a4%P zAtitXUOR8ohbH^tYKOPO)5kLQ-$lLQ-ecLNe}tt+Q^im5%?sw9E>S-BfawIwwZGs#brp6mL>ngZ#H!B#bWcyro~U{l&3NMv4O!( z@@6GDO*PSODm@SB@wul#=ZOWR9{-FoHFtEDq}O1^Qx1wB(M(F#jFTGvv=@P;z*M4!z<@O94p$2S+)Xxl|>r=Y)OkYvI>F>XJ zbvPyvvF@GHzta|L~jrq^>f@*EqW1 z1Zl^_h=i7zL+ALGMKlQu!UJLDD3fU*{^@jQc!I18xGD^Y9Q^-fJ%f9Ff_tfsGrv~6 zLeBZMrijm(U+YaaWqHZP4JL{Xz8xgL`jcei4f0)NqMAlt!3~*T+X5P`Jjy+%w$P>D zeX`g&LH#l0AIS5_M0JkrOqf+NMxVW5#w=YRDTio24Cb@CF zhx_SInGlii<%04>Xn`-N9o^YMc8)}4W=4i?GzU@~!yzRxGsB`%v$7&J z^%fPDnUxlmrRD$ozH4pHf_~h;_y7Ap&ppqhyq`6`YaaGqYv5YGfZKQ>J8z|sn-ts=W#VsD zH}-&)Mw1~q?C()AyV74Kr&#*SVt@b6jTa7af16mx;XEmF2iQAS8p(}=Y+5qc=Q-EW zMdaaG$1Ci9vDi1jPRcV9!h&pC?=7$&%ENGcn%%r0Vg{PlMaXz}o^`XHvERtUyY4mH zOSe>7O`oBR&f|2nRWfC|yt`zTqf`0|7?~1a?-iRw7UJvsjJ@CmV{$@OGYYqWbx7r~ z3OL-mAP2-|aq+^XOOHQecUXm*l*3`YE>0n=HIVbf9`?6Q$)wwB&)AQw!dotv=T?S6 z6=^@h@F6_f6g;eCh~f(+yCHx7jNN>-5j*x*n9(udx`P}&>ZRKAVz zuTD0Fb3k|zPHV{YScO_f$83A!YGc9Rn(d`qN^e*A^T8j*Dc`nwmuvCaN%a2lL9Xbs zRlesu^~=jgx%B3^kBLKwdsw!;C*K$nQ`L;(IL7)+<~WXV!+M<(fWtJoCCiQ2yrU*3 zK@NzpG7l-ydsFSZ^eCs%l26Uc=cSd${XZrN>x}>s*)QK}@=qsrl0!*7dHGA*PiN zIS-rgREZF7*aoACzh-;smaAO@ZFL%O(}*&GiHs z&}X9&>Hp9DQO5LEaZ^3%&6$rhab~o|-{uRc%tyHjpi3;|JTa1W@hO=ygMKMuRM9sZ zjdrdZbRYd|@G%tTK7>SVc?`>=c^@x*q07Fxz~~gU7=~Uk$CaH*ohd~d(4q}+7HnK- zuPDHo(#vxz!=Un#oo|3Q6nAmt0aoMyx}|KZ^&DlwQ(D|lbKDpNu%jRA4}-lIoAs%PgY-zj zVO`3w>gH5$o8Vt0yIl-%4{8m*nilm$)k^aja|FPRKx$wb% zfC?GE<&beLt()XmINUn!Y=rx6j-9#PNQ$UxM&X9?^8F;-`b1rIfp*1qjI-z2dn0$D z^xm-0SkS4e8F_EW-s>(R@8P`qm*s{XYt_77NAtQ8_P8(F9Wl(bIzz_C&)8qDMMYsR z)AcYlJCKg4eGP`kfN0CdW=C>_Ufx%k!g4#_u9U-ddsbu?yN`CCM@7kI`D)%{p}Z-k z|M1IWzkTe!MaDJBTL3ucDUBt|FtME1{|(X+M&a zDzjxYYxW7pI+`^uUu6Ha6Ia9h%x2TL6dId*iFdoAotxsSVz^T)VI0PWO znYWzdtOw^A^~e6se&2H!k1(w|HfeN_HKHV@h!0qcf9HlO0v&Y>hhMMw(p`#hzF==3DyJaL|N zT4dWxUpFF$)@(1`QuSQLah&HkfXGw47=wSCVIII=`Zdj^yf$lFCix8&NJi?NKn6J`Ml2*0P7P*{<*5=UXeyTtyr*!Ur;su_jVhQlg? zTiW8Iu=X#pL*GDHpTaCa0pYiJDTURm)=`A@;!=Ca8^+qGs%8{cPY!Dr-1;DMSWE3z zZ=x4J%>Gkr^&f3ory*mrf!%h3z9durK*t$yn|yh0r9Udu-#NZpIlk+2?a$uCkxT1& z(sx9y9K^Q<>Btjza(pjx+;?((EuOcVm!J+^o?96P#V6BuCvS(wARZsWmib2VNIvqs zpLH5lOTExpR)TGS>shDqwaP}@f0P)_b#C>R(WJ#s(A7ERRRMVj+@~Qv$W@LFT%&JU zUe2+BQ3xp0-WzLPceV4?t=4$sTR%Z?51a%L7yZ_eY=7~#yLHskWt5F|Nd>%tL|IUW zSDx}gWF3CdY|Ax8$?q65T>i^*ECZo@lpEf4cp)mEGS=axtlaz#)6NuL!EdX{4R-R0 z70orIZv#<`(N8|!YUmdw0C|0JBe4&%yuLVG9E2QlEqQ1x4nf|GR0S{zErndfa#Owr zc`wV&_)XRWEMLiQvX-*koZn>qjO7-59T+K6O#k7xa86w+{b&X}OWU>INb;Y8W3NaM zsbih&i`TL*p0iIrUXSP38Rc`_cs}VOFPe_$lP;5x+B|&AfsXY2g)m8ufNU+7vKMkg zC6fj%rQArw0NN{yILLT1@c02E^S`aw-T#APG9`2*BLNE2mn&$~uZNPUef3o`jT^F# zBx*-6uhHs=Jiswzx&6btMw3SJu@Bzz$8Rm3H2Orcyv8@~pwTjP1VZ&%8Ki(d5cI(}JyX1mqcTpN5b|*n@53XTQ^+zM3e+9z*Upd$2L9H!eTCI43}ISWaPO z*0U@RZtQ0HHa7p5WqD@e6w7QZB3Dp2^7o{S%f8`#qrp&p8(Tkzsdp6r`7Olu+V`=p zYrc{qrE032$rcMZvN)DEu-unr7R9_(>gbDeee@OB)x7&tSvjlU zJiCfK%A;EU=@SkbSKg3O3jLAVF9Di#+YaRs+3gxF?{; zj@9-fAK@;ys%E6yIM(fL_BxLBI=tFG{SjVeC}aQk;vs|``LU547G%?^SZz=H7)|9* zc9SIrjmOmh`4rwG9G*<~Bi!9LV{<=u_Z^i?Z$(|FLD{r?v&Dcc?u z)PKlQ#-U)y#}E)+Re>bL*P8s3CSPJXz;5cUA@@>luF37!^dO5&c62RUJj!w}O&$c9 zPP)+ifGmsI1wPxm#y)n~h)f>O_RsLVLRPtFc<$l29RcAnc9YK&lxI0?dDX@8HFnYw zqmRD;W^^i|Yyu9!LUulvctFY2E)FZ1raWJPknJKUI?xYHP=eE*&x6bN$z}NPJgRZ6BT-lSy8;+;yS=2*gV zN4`Ankdi5j|E1&z$ltOY5O!bLQ40&uJ zWm(2?E^2mLVUBw~T{MkHX6@!_?>N|rX* zjlkpJfzv#u2j=QkheI3WOB(JUH`uM}8co~5ioSqA>6NR$zkdM%D~hDAj6eJrF3T;| zGWoRxx%iV`H;{|J%lf(jYcCgnEx9w0i@&SncWmV1uN5!gRygav*xCHH3S_1cOGI0sK%9ZcWCUB1? zS1@wbA`ix1tDVD=b7@L#G0LgM*Tz-;1Xj40NSW#=+*4Dyr&5@d=&3Cxduofxp4wuv zr?!~vDIyS&Tuk;vrZ|hqo;+g6#bi(UotO5@?LA*3NB+yo4AmBpJ$b4l7mYo&MPpCS za=B>isbzU@UMR|=#C^0Z$7(_D>0?=F*)2~QR`Xjp%WoBF)0`|HqO#mhK7|u9HQQ4$ z4B;Y?6@3URBkRHtO_|$R8F{RDs8YuM>lB`wjN`b+i3*O}PWl$F4pudzIL5L*GLErY zxZ^ooJfK8>F+oe@-NKH07_ScA$Dz*@>C>H*$?wPE9rq5Wal)`>dx~|2ma-XI%H((F zWX-;hHIN68@7FYVK%Ovsf)&8rE8S5*zKa6|625~1HQSQ{nVJHbngW?x7RZyz<>v*m z;BifXC!_+otiW?3yHbILPT3}%fdVz#lL8Ah1r}-wEYuWO#5o`jFfY~=u%!Y8tiWm! zaj%mDt5^Z_s6D^O$(@?*Nr6?G0;{x0*YK7|F~SbuQZ~BX?Q6(Byo;!|BKhRbIgYzf z6j#Q*T_v8v-p*k|kD)){Ez-+#EB(;}0TBhLAHJHn4v4i!K*N_&memF-T`y(p6 z@gjA|Z;6Z8QKod$ubBU*T|zQ1QzXr2 zDuSs!@SJf~SQl3EYq4)8AJBj3oH6;Ps%E6jNmg7caEcZ92mA$a{+J3~D)9GP`tizc z>`!=QcRI)Mo5;(sXZ&QW=pN+Y8@o@b$x#{J+G}F1!%v6;%I^TF}V_ROzBA9qQw8k({qXVUEYR+z_U)EU%uM!?KqL z)n{0ip8{OYaug4$FS6X82i09l_9|^sM6`YU7vo9)e0;thup&Mu4f zl^NSj%h+z5u`@Q=kN;-u8G3ncsX)5%%tofC8>dIA(Opxc2d~9{yxU%S9(yu#SdZbN zFE2eTeaV4f!ivmWbM9>QV2#`3LPzz0}POl5UsmQio;B6mOer76v!*K{`|u7h^;2?vH;fB9ip_`d&7{3H z*(?6Qnzji#bM0ioV<0j{q-Nl{mC`kQ+%^Hr{zm*5AoPQ5fyW6{2IX0 z3r14p7>;9}$VD7vm4f@dXj)4+++-)*k1iQY<7>93aFe+(Ww<^Lx8R*wK8dio-VD zh@@tFiexHB62}2g*CI*hNHANqKX;p*LVIu|Pl&kLc9U9Wvd;8SsKvXpgZ1wqR`cCSo*mI>0S`x>PM=^Fqw}VO`mOCt>}Q z{qG4ex7}3LjQq#2|J&d;AYys`I7Z237~Q9{+?gM#KdxkYJ#ooydzWR#hOUK~SM(DH z|7qi6ixD^W=gaPbrokCyAC)(0_}lQ2U=s?5{3b#nbI9C;lK;~T{E*eCMFChp?6xyQ z&CG7PS?$*-skJz%jUoGlhdY2akORWtWXoNF5K$pt53L&E z61d7LwU^_F+e z?G9mPQk0*=iWXauQO~eH`SsD2N~UpX&+A3=!c4q4Qj_BkHOFO2rWNKH$UY&bq!%zx=FX+RmEPqrCfOj<~}@#q+h9$ z-H^XvdAy)S*>}bEt_EhT{}-6iSU4Z?h3%y<S~(x{a;$0 ztW^5@7y1#v<%kSdoFmKlY{_Tg=F;9(&8Yn3#piOGEH55^nU!qEH_n!@93|)@XKPH= z2-J(n#hwQBIErqf#~jo8{vG?L#%5B-k2Eu}kD}IJ>d5i5ZztvpvNir-$(zL$X{$)VF_VVm1lu!QrNe3=Y?B*wl<{ zUe%2J_hJp>_t^uQnoaz-u%G@SP^pW2gMi92MZE-2lN+f+e_8bS-;00rcyBa^d8^2& z3{#$cB!?+D2TAK8<)+c!96_;Po0_d!tcT~yRslI3fu_MD%y|SexGLE3?;DNWo#VKl<6+F35P6|R_V2$e|aQmYx&8Rj(Hmz4+M=!(C#?M}s8;bLC1dD5K zHfs@<8C0}Bf->#3Zsm&dQu9?Unx+VU5C3BA9zg3v(d@$Z^)C$?} zvi)zn8;7;tPxZE?pj39*Z)dhNxB07@QT=Mc^~(phKFCzox3G*u(D)5!xfRRwU$K%V zz&wC8e*n2WUC9FSEXN$LVb5W?4PWrC{My^EGUJ=?)QW)Qr{Iw4%FayHfjS>k9yYV; z$CRJv5b3$B5QQw$8$r15o@Ew=aey?Fzxy=#h$dh8ZqUsEOU{Jw|VSKtVplKD;bT&uN-04h5sV#PT|J)a=8c zc`D1*7B|(8(NEPpwEl=Zmvcb9SeA>Mu`Ej^cCs8?+)!ewpQ8UzbKm}B>?H*Fpu1n2 zY2l!IWj^Rbfqrz}IRpOzUfr7TaWGv!Yw{hXLG!(u-1w8AIVrvh|LjBK-JTjBChPM? z`am@$j6P6JADkw6d~VfGk)OOjxHPS)Tl(;Upqsu@zCwKK#d{D?&x`fM&P=;iq&YS! z$iY>>FNn16VL8BTeH2G*58G=a&86L{n#qBLc7fz*=;Iko9Q^q(QKm-QgJnG0lOteu zTeE)i{v2+aNY65@k&vAk*wn-JuD0e{f6eyNEzOu@xZ^mEIUL70j(ZWyxTF_u*0MZ- z2e)mI1LAJ(eqmMFVeDl$GsuX4#VD!Iy=DXV!Nc}XUNb4|2pr(ppzu6K%Gyco%=?q8 znvqfg?yaO!0ghZMlF5 z-|eBCyqabCxJV|Zke}JhTz#2yH3@F$y@wO%ZU?gaBKAw!id^NbLV=s9?T%NQ-J&MI zg;&&a9el#618x^Nc?jlt!tJ6mo_C~Z-qj{PP<45ZrAJzO$Z~M=3n(_Lg6rB~zD~&| z zZ&vP`XTRUsj7kV{u%{ahr*qjIp8Gt7bKsDj>FxGU?Wj0&$l#jorCX}4Z@`}q(_*S< zAF|w=+tFt%_hE&8V!1CG>zs9-_RaqUda-w!j%ZsPqo9UzJLz!D4vj~&HQP(K6m2*7 zbM|8Uu{?~U9nbP`R%ZswcQ}1Sk6G@z_Mv#w)BF)wc*Q+pJrr09IS+3$Q!89|%>E(X z+>=_fy>v?o$h1!82R(%x(G-sKb(W{HGVel;#u|9cDIDeZ%`&`UM`7X>&xo$`P3zn- zJE4o&C%LK_#jt?2aUZ87E~xBHyomKy{A&bruUIDLBaEfTigt7{uXQC?HKahE=Rl;I z&$Bx1Il$!{pj3GUtKa>&-QgNDw#iMfj~4Aj8q`HR+(Pbox@g)pX7*hnX_IEAPr2(s z`=!{BW}d{D_^a(d7n^al)6ySIitZBAwVU11HfI%Ww#|H(eeDwS3VZSrvy+{-#C+85 zwA6gSHeL>?Z*O`aB+UNTQcQr;lcM8d65_AEz61WoUoB>g&q#`nr*K98Ni#D>51KS< z>Rsuh`%IrP^{$MWNqt~vyIu|nw@0lv!|d;$3$dEYAi7WxU1GXjEmQz@^7E$Gd|=YF zwCN87wJo~qd9%N(PWoLl#!rL8gqUmX7nhl{?Zo(y2KJ$)W@Eeka`R+p+N2rd$7M{K zJ}t=}y3#DTV(MKp?-@N|%3XISrIVhE^UUt{6M3fBnlXMRrQjNSV4m5w_RI&TCPhQ} zYl}AInTa8_$4#HY>5H?EuQPqtIM^n{#K+q!*PFfVwp|hB==F$l#7eWa{r!6LHgg6! zkGFjr%ntU94dz`%R)KlX8%0Z|g-mGenFhX+>oeLGl0S-$emFe9(bI^u>}k_l zhVKQN_TDyDBfCdit8RQT%!*;wS?*hq7p!jNZx;Sgh@|e>eWrD`t6TW&2iroOIK0#! zccZ(ZD6rBy)(0 zKr$5+@(|fBnQ}}BDhA0YPyDDHB=a9ZWg)pX{Sj0al0%s(&n4HPKYl?OE)A$}lNl=+ zl?6Y_S;=9{l)I8~BNcv>vy!PcVWXmw8!%J$l2D5;97bUxizPS0ANz2WmFZuvloa?d z4qgfs6)0SCeQo=@&<57rt3I7JN~KPxe#E{xFV! z;I9iOiLp-TB0O7VE|G&rVG*q{ooczLMYs%{_@NydZM7OZMP(i-z7ggQQ#i%ot|~KJ z;tCEoN4Y0^3OA@|J^r4GuhM;eyoFEp_Pl5-)=%+M{h$nK9BfpmGv_X~BHkag?^ey; zSB?8s<6Eoooz)oC!Y?vDkr_k@9b3)8bmAi(Yaaek!sdYcBZsBJjl^Q`AdU0E^Wom7 z+~YZ#NY(7ItQW&HKI!t~874g3t~^x0f%mA#qKOPeNLPi<);u%>r)k_AJWJyU@Dz>P zgR>AG<_jENBDkMs-`fv^GC07RlpWj(p7p86I;%Jx9MC+F`>h(&q5X-+Jk~1Zz5rbJ zxX0>>gm6^>r=0Lu6Om=a2f#-)|Nb%+@G^~G1@G4QAh=lLFTlAP{|wFmBZE-s{f&eN zSu;X&&=5RE<5u8wjpM)tWghEgmE}FaXLrrSV(f6B?I+_i20qTmqIUZX_C@|DUMr{nSylhQUtF zLuWZaAbRYSpdUyEA6#TucPoVkfx8|FHp8*t9vVLYPF!qQo0R*fz;T*=F4;@=b5FS% z2IcV3UwPO}9&E#+4vDhxb#ROpz(?R{jlTh()e>+Xd`4pvBV2{XO~DtL(f%n1qG51e zb8sD4Xc6=Qhig0x?9q5UxUR-Cz|Ay%9BgU42wa~S@v{Q?Fo@6`Yyqcg{3dvq#?(wl zXiUv?jK=T5eVWFfgC~NWI`AXd2lk_Guma~{kfJ%b1n#c|PzRHOK^ljH`)S+;+*0E> z@Dz=EgS}u!fuUghDE+dMjg)oYfOEhTRi#V;2jD&q_Ed+4g9|nP)4|S^i-PszXhHJPEvdfoDN1~VEc36 zx_=l}v|NTz!e(b2rfp75iaLIfAD$D{x zU#l^Kto)IGu1v~=xPiZ#gO=4esv5_G>mvtbv#lrkfx|T(3vQtFZsvrM^`R&RrT>jYn7Gd%*OK+gq=Re+npw4eW+;vz6@na@+aA52@@!xfi;X?yx})iHez zroG_4s+oNUrXABM$~|p^2EhHmm`{d^MpUiUkBXorn6~eF!;I|Xz_hP+o#H-V+H9hY zBeK68Oxs?x?jW85rtK+bY{>xA{*S{CfoY@ZbL#)e!xJzlRm;nU2;>>C=UtO~ss>n? ztOU~~r#RM+wO**$1deWGT5A=*4K9FtTE>(655b9sY5j~GAopLAJ>DqwDfd5s%Q-&O zKZ@`d7|_-DGz}*Ywd!FoK|61vxCyud9-^4B1P9YQyX2SLM}a-7gZ3T4{mTq%0E&d{ zyMwJIax5Vp2o8sP9{(tip)jEDdW=v3P6T`5AX-J34xWXMYMruw1YG}uVO_0wF*uO| zRPL97Q@|Y+uL7rnX{@05HiDb&_gMZuY!E75ArGG!Ru9GRf#-fJmr|th=ivFs;t1GN z7XLu*!L-;Vz6d^;ZCH~~$mG6h7|L8zs15DK_MJ?m4hAN5-^Y>*aI#Fcjpw~d)D9{2R&ApO3^3aa@em@?vI1h z-V5f?X>fj1JWyc!P+?)0qrwjlPML(mz_Zt|Xiy=Iy~O$0UsC~g0(;w<)^Qa;GB^e) zbSmi}@IDmT8D;-4`9~$BW=!E_gToOXkQ0;(_K!g&aI$Oz3?i<;14@;mo#15$f@QuB zoQUx}8v#(6e+(Y+vWF)e6u}wr#hqBLEB`di&N^mTQHsOCBeXixu0HBNeF4Mt`#mB*k=qF?)4Hf6W1z$UL z2>l3ls_4Kio++{d&A^FBpi@WM_+gL&g9e;MxV#8VpYfWlJj8)hVSkcYh-7dYc&Orm z;9R7zvvNNioB?}UoKh~00cU|BGLHwJ`Pi_!G9yQ3!5~L-Knk5gieyiRN&}{EcsU9! z0nmtKis3I%|7Y5_=i??BLG&k5ao&Y;r ziBtq%flGoO#CPC+ZoHGH0{jC^A4YW|sD)T(quE8ko+@cWa9zx*M=SSjz@-RJ<^amS z6AT7H0h)wTCFu@6czv*vrGT5EOdb0n;Brl&;ou7JQ|uqhEHFI}bRwJso(=y_5#@sE z<0iDc$0c5&VjT=TYl3C8nH+4Elh6iue}4y9Ab_Sy!MDK6P-*eD2`hX891j1*SkaKv zFY%vO3-4QSj}L-5avq!r`$V|)lLr_2$o}6M7HyDH4upf#kRu3>xdXW6r-rpxaSt$E zG}m8oUvP9U)1vhP`5z80$7t75*-rtNV2=2b;@RN5;}~7B|H2-Yz@YB;9_xS_JYJ*# zw2tRh@R`D3M^g$;(NcIEoT~9jZ~+puRz-N0_@JEeP@SOfEakprSUYL|k2G!y1Nvsk z2<0IPOkZi)sW=XNCOO!5Cxg=vVLsan(HoqhDKG#mwmHo-RNM{D((I>z^WOAWlMz2F z@E8nct0@vSt99TUc=)G^U<){33t$JBt|@p()qw-xLfFe@imOz>fe$@ajtc)Iczr`t zg%>J*1Jj8T{|@CK1aqs5b%x~)l?pWhmmt9A905KJ4xV+`uqG?_9l)iqPf!ZRgD1Wp ztmQX=%VF;f&o_hV6TT~z|5UK|L({K1l6qnc4CZ33wplrt3GR6DS9>Qo{G*_UN#H@XaB@Jop9#*x?)gX+!DHa`BL=UGD1|mS1qv6c1grt4 zg0bhv3D^Pl`_L279F9D^34{8j9_wDkpMdF8q0aDJ1}^;4uv)1U{{p59GG&fov_lV- zh6v!DBd87TQEXWEtMDSh8L+2qddk7hP0{|>*ONURDd2;HEG>Y(;2ezyfaAUm&S*xF z`+=sKFNBJF!1-|R46if6Q?&U*7MR{*ouCxTX^QqoHxk9D6s>@RocDuWNZN>Bm311|d@*fAXgPr+d06yaCkW=joTJyQaI1ZN*Lc+ZH~Er<^#vfMT5eOxS@H!P?7B~h9I`#`7qOUT!C>zE!hfu;ASY(w^anUgXvCaXWBgu?9~*S z1kT>;scd$$!MT`XU8Vdl2A6&wEc4A^=h-U8e@hg?pj?{)?E}*$lQZi*1x`VVcdG#Z z1gD-cET7`qsEzc3x$J7OoCiOxzF-{+Ore=-tKUDOG!5CDcuFAu$ z;OMYmvz!1<)KYv8c;ZQq)mpiK9Gs%rF94^4ozd}ma2AH+Xyra1oPE1#MIwIgcs9eJ z5FN!p28VSD@Kl ztL&$Oy(p3t#hKtNN&w<#1)hXKI7T}sg)6~35dem1&Y{=90v!qZ59W8l^c`cTYd#A0 zYSZ#EazEa*1}XPvz-5@iEm9oP67iuQ@Y7Z+rMMXkDlm_KR&hKyw=s^KD!v(XxIzW+Jh|5t$^+A>;jfkbW-#4e-A(aMaJHtuf7VeZ7bCO>^69FO9j{w4*Fw)k)XIYm`>Em8B3@b0H%*Fd6oSz za0&vH?OuqH;1aZZr`2SDTmERM(GxFVfK#;uKG6#8FXroDnPyV}Xoe9gg7x5|=RDTW zD`XKBf=^(V?0RKi0xrdTpp)Vw;Q9wV)>c)CzX7Ld5q=NO08IgfI9p`t5ztH1_?QYZzSuPNle zi41-+tm(?b?O-}QyI1iPaB)jnsi>091=E3!UzB|=xKIml8Mp+DF^W@|PyUYvJGPg> zQ-TTbi}%SvVX*5x3NF0eTar1+6e+gUx_j6SQb=sniXzPR~U^=FYnHMLpJ(y0ZtykOy?AfS||JTD{cAR{! zM>*0L9KO+GZBr543SJ)@+~*q!_QL*mWj_wwU)wXf9~^^L&=2-h>E?nH;ohkeOUPc| z|6dJ*6gaqA1-Jnm-7#1x3&C`KoKs0(2L~|vCA0fb@iBPc0JCyA|2a4n;muLu{RVFN zQgF01Fp35Is5CTHqZHSJK^i=qcN62&eBcZ)MCPl&^p)z4%6&XIOS4Y~AJU$R4Fl)E zex33^3hY50pzvsZF&XTqPk2pL0p1UTe0Y!(3_OMd(R^TFUmQAK)<`U^AO@G*l#lTWb3Oz1pGwrQ55YRuS9+ z2LW`Ya=9HU#(^)QQaWXR4>-L}aB=w{m_FF;Ou^=Y%b`F$4i7m9uF!JG276u%K9+mI z4})+REK?e90eis##YNyma4*HX!6{(;;W|+QAqz$1RKi2xRM^9s?T>-$mY@h!4x9xK z!^Wf2k@+vdAPpXzX|@@KEJT)KD#u081e}85GE{L4I75pd5nPU*P&U(0(U1Ih2tHN2 z6}%hGG8+D=8IA?#|6o`T$ngAP8Vt^2*D6m%5CB)8S>d=hD=;6Ng$VJ7QF}W zu8-BKlf}P*bF>`z3p@+yfq_?cdJ<_rr30kg{J4PD21F zdajhugEPQD=5^rcdcp8s0%yVgJ7vEMY!#uO@z*8~crORl0T&lx z{7+CGmcoF(8*`5;!wuk5hk`4cUEnlq(acru-vO6lH9Su7zrgv}O?PtW4EPY1c4w7+ zJ@jzPFhPj`QypjlK0nwWtkoT05Ux$TdxHzL6bu3%LLEVe$wf91T!0x;oZ^SUQ_#~9 zQv^?eOEmwB!KGl79M_TMV6Pvm-^nU~7h#aE?cElE%i%%xWXLXXiPqP@2hPye4JW|# zA<%M_gQvh1@c)^L@K-QhD&eezTpiK=&SPyBsT2r@LBE*bXog#+#TjHdj_7lWJAqHU zCtt^>O4=Rl*%YkxJ}}+If!56KZw0T%j7K(WycYxxhkIKoG_xbxUtR`o2T&0N;9%}9 zk5yJn2JkGn0t<%-c%UqO0qoTxTo2Y~G+V$aD05n9kb>`n=W981gzP^I&Vat}i1ASKa2O$Fe>E_5MYq0Cg=3he#U;I5M*hy`b8V?{S`4tl=R%6%VjF4lgs%tOU! zu&))KoT^qe$xj}zm%C4SxDT9&6grDZvR@w-9K9BT^RSuhOibO>nA~WBb5^Fq}74@%cX|1FeiMfOnz}7^+C>c0vxE_Ec`4M}yN4;GHVMPGI`7 zyPR@`ifh4iTNLUV7eQZe|MxtVGpO6aBZ5Wh7k9&882aj)l!u4Gbf4Z1#q+>)8T58QiXa9h?PwXHK{ee4?}SoDk#xM=&^w2ZR4m5q<;i zf68N(DmG%#v*E4PRf?N|PiZ?M*MRBk)lSFb0~h$r%Dv>lV7gFyf$~2FeDNbgt_x`V ze;5Wi&=B^>G9l)W1Fi2~2`)w@!d(WOrG?;pxQ|!vUj=W)V0A5XsQ8rJzZ+a=oB{W1 z7JOgeBDk(vxbXge)6RG#qBWED;6hEI7;ryyt#_yhx`XRq72I4N1m1^MF+thi37&h# zV`V9x3f_%{&I!d25u*~`D93-iWCDYOc+F;ja&O(p3@(8}vPkf8b#N|* z;|S&c2sp8cY0-HhYL=(L^CR#T3}t@-JmLfSRE=7Ni9R}|2R%te`zH@q!JrfoJjovL z1tM_qxZulX@!)bTN4kP5H1>h%^No{Kg#E#u%^p56K}C8S_^ei>Gr{4ok3#%h=CfdM zbh9(s)fEA7HnP;|$({t~;_><;DuTt}LTt%wQ@jFv3Uxq^6``U4JPS`sovqqkU@szs zbB?bVJP7j(zf)`9BL~Q$W^h1RbPSvb4{{3zLoIlx_EhUvaEcb-pWsxm9FB3A3$-&E zMd}Rit-t~JcRHSH!T3<4zp`2Ng+UquaC)-A;0!H-+riE+0>V_Vb$#$@_+#KKO@UnU zk3FL)a7#tJ3fvX*g;t6S!NvDt{CBc&FAQ?D2;Tv3)m|1m0jA5-7pMTf1=HQIBNhJ) z&O@zsmh&c(o{deZH=%(C9FTRmufe?`WmspChdPq}aA=!{9@ z?wM(KddS*qUwFtGWDkGXT44YFu$5;2)GefG(Y)DKZIAszz`D;q+dbsUq8@XsR9Df` zOl!8QsAHCu=MGJqFgj!01OzqF{;<8fanUc2TW8(&g(s~mZSOqmrlN=ES^sd?8Fu58 qDbvUGnm%RvjG~kCt>0Zm6$`94-1fd_tuKqVEwp}f+uIjezx*G~wRvFx diff --git a/c/xlib/type.c b/c/xlib/type.c index 0db8cd1..b3fa3bf 100644 --- a/c/xlib/type.c +++ b/c/xlib/type.c @@ -53,17 +53,6 @@ s48_value Bit_To_Symbol(unsigned long bits, SYMDESCR* table) { return s48_enter_integer(bits); else return S48_CAR(res); -}} - -unsigned long Symbols_To_Bits(s48_value Syms, SYMDESCR* table) { - unsigned long res = 0; - s48_value l; - - for (l = Syms; !S48_NULL_P(l); l = S48_CDR(l)) { - res |= Symbol_To_Bit(S48_CAR(l), table); - } - - return res; } unsigned long Symbol_To_Bit(s48_value Sym, SYMDESCR* table) { @@ -78,6 +67,17 @@ unsigned long Symbol_To_Bit(s48_value Sym, SYMDESCR* table) { return res; } +unsigned long Symbols_To_Bits(s48_value Syms, SYMDESCR* table) { + unsigned long res = 0; + s48_value l; + + for (l = Syms; !S48_NULL_P(l); l = S48_CDR(l)) { + res |= Symbol_To_Bit(S48_CAR(l), table); + } + + return res; +} + SYMDESCR Func_Syms[] = { { "clear", GXclear }, { "and", GXand }, diff --git a/c/xlib/window.c b/c/xlib/window.c index 89b4588..69fbd7a 100644 --- a/c/xlib/window.c +++ b/c/xlib/window.c @@ -1,8 +1,6 @@ #include "xlib.h" #include "scheme48.h" -static s48_value window_record_type_binding = S48_FALSE; - unsigned long AList_To_XSetWindowAttributes(s48_value attrAlist, XSetWindowAttributes* Xattrs) { unsigned long mask = 0; @@ -94,11 +92,9 @@ s48_value Create_Window (s48_value Xdisplay, s48_value Xparent, s48_value x, XSetWindowAttributes Xattrs; unsigned long mask = AList_To_XSetWindowAttributes( attrAlist, &Xattrs ); - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window parent = EXTRACT_WINDOW(Xparent); - Window win; - win = XCreateWindow( dpy, parent, (int)s48_extract_integer(x), + win = XCreateWindow( EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xparent), + (int)s48_extract_integer(x), (int)s48_extract_integer(y), (int)s48_extract_integer (width), (int)s48_extract_integer (height), @@ -112,65 +108,63 @@ s48_value Create_Window (s48_value Xdisplay, s48_value Xparent, s48_value x, } s48_value Destroy_Window (s48_value Xdisplay, s48_value Xwindow) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - XDestroyWindow (dpy, win); + XDestroyWindow (EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow)); return S48_UNSPECIFIC; } s48_value Change_Window_Attributes(s48_value Xwindow, s48_value Xdisplay, s48_value attrAlist) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); XSetWindowAttributes Xattrs; unsigned long mask = 0; mask = AList_To_XSetWindowAttributes( attrAlist, &Xattrs ); - XChangeWindowAttributes(dpy, win, mask, &Xattrs); + XChangeWindowAttributes(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow), + mask, &Xattrs); return S48_UNSPECIFIC; } s48_value Get_Window_Attributes(s48_value Xdisplay, s48_value Xwindow) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); XWindowAttributes WA; S48_DECLARE_GC_PROTECT(1); s48_value res = S48_NULL; - S48_GC_PROTECT_1(res); - if (!XGetWindowAttributes(dpy, win, &WA)) + if (!XGetWindowAttributes(EXTRACT_DISPLAY(Xdisplay),EXTRACT_WINDOW(Xwindow), + &WA)) res = S48_FALSE; else { + S48_GC_PROTECT_1(res); + res = s48_make_vector(23, S48_FALSE); + + S48_VECTOR_SET(res, 0, s48_enter_integer(WA.x)); + S48_VECTOR_SET(res, 1, s48_enter_integer(WA.y)); + S48_VECTOR_SET(res, 2, s48_enter_integer(WA.width)); + S48_VECTOR_SET(res, 3, s48_enter_integer(WA.height)); + S48_VECTOR_SET(res, 4, s48_enter_integer(WA.border_width)); + S48_VECTOR_SET(res, 5, s48_enter_integer(WA.depth)); + S48_VECTOR_SET(res, 6, ENTER_VISUAL(WA.visual)); + S48_VECTOR_SET(res, 7, ENTER_WINDOW(WA.root)); + S48_VECTOR_SET(res, 8, Bit_To_Symbol(WA.class, Class_Syms)); + S48_VECTOR_SET(res, 9, Bit_To_Symbol(WA.bit_gravity, Bit_Grav_Syms)); + S48_VECTOR_SET(res, 10, Bit_To_Symbol(WA.win_gravity, Grav_Syms)); + S48_VECTOR_SET(res, 11, Bit_To_Symbol(WA.backing_store, + Backing_Store_Syms)); + S48_VECTOR_SET(res, 12, s48_enter_integer(WA.backing_planes)); + S48_VECTOR_SET(res, 13, ENTER_PIXEL(WA.backing_pixel)); + S48_VECTOR_SET(res, 14, WA.save_under ? S48_TRUE : S48_FALSE ); + S48_VECTOR_SET(res, 15, ENTER_COLORMAP( WA.colormap )); + S48_VECTOR_SET(res, 16, WA.map_installed ? S48_TRUE : S48_FALSE); + S48_VECTOR_SET(res, 17, Bit_To_Symbol( WA.map_state, Map_State_Syms)); + S48_VECTOR_SET(res, 18, ENTER_MASK( WA.all_event_masks )); //?? MASKS? + S48_VECTOR_SET(res, 19, ENTER_MASK( WA.your_event_mask )); + S48_VECTOR_SET(res, 20, ENTER_MASK( WA.do_not_propagate_mask )); + S48_VECTOR_SET(res, 21, WA.override_redirect ? S48_TRUE : S48_FALSE); + S48_VECTOR_SET(res, 22, s48_enter_integer((long)WA.screen)); //?? // WA.screen - ignored in Elk - res = s48_cons( WA.overide_redirect ? S48_TRUE : S48_FALSE, res); - res = s48_cons( ENTER_MASK( WA.do_not_propagate_mask ), res); - res = s48_cons( ENTER_MASK( WA.your_event_mask ), res); - res = s48_cons( ENTER_MASK( WA.all_event_mask ), res); - res = s48_cons( Bit_To_Symbol( WA.map_state, Map_State_Syms), res); - res = s48_cons( WA.map_installed ? S48_TRUE : S48_FALSE, res); - res = s48_cons( ENTER_COLORMAP( WA.colormap ), res); - res = s48_cons( WA.save_under ? S48_TRUE : s48_FALSE ); - res = s48_cons( ENTER_PIXEL(WA.backing_pixel), res); - res = s48_cons( s48_enter_integer(WA.backing_planes), res); - res = s48_cons( Bit_To_Symbol(WA.backing_store, Backing_Store_Syms), - res); - res = s48_cons( Bit_To_Symbol(WA.win_gravity, Grav_Syms), - res); - res = s48_cons( Bit_To_Symbol(WA.bit_gravity, Bit_Grav_Syms), res); - res = s48_cons( Bit_To_Symbol(WA.class, Class_Syms), res); - res = s48_cons( ENTER_WINDOW(WA.root), res); - res = s48_cons( ENTER_VISUAL(WA.visual), res); - res = s48_cons( s48_enter_integer(WA.depth), res); - res = s48_cons( s48_enter_integer(WA.border_width), res); - res = s48_cons( s48_enter_integer(WA.height), res); - res = s48_cons( s48_enter_integer(WA.width), res); - res = s48_cons( s48_enter_integer(WA.y), res); - res = s48_cons( s48_enter_integer(WA.x), res); } S48_GC_UNPROTECT(); @@ -179,9 +173,6 @@ s48_value Get_Window_Attributes(s48_value Xdisplay, s48_value Xwindow) { s48_value Configure_Window (s48_value Xwindow, s48_value Xdisplay, s48_value alist) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - unsigned long mask = 0; XWindowChanges WC; s48_value l; @@ -219,51 +210,40 @@ s48_value Configure_Window (s48_value Xwindow, s48_value Xdisplay, } } // for - XConfigureWindow (dpy, win, mask, &WC); + XConfigureWindow (EXTRACT_DISPLAY(Xdisplay),EXTRACT_WINDOW(Xwindow), + mask, &WC); return S48_UNSPECIFIC; } s48_value Map_Window(s48_value Xwindow, s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - XMapWindow(dpy, win); + XMapWindow(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow)); return S48_UNSPECIFIC; } s48_value Unmap_Window(s48_value Xwindow, s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - XUnmapWindow(dpy, win); + XUnmapWindow(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow)); return S48_UNSPECIFIC; } s48_value Destroy_Subwindows (s48_value Xwindow, s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - XDestroySubwindows(dpy, win); + XDestroySubwindows(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow)); return S48_UNSPECIFIC; } s48_value Map_Subwindows (s48_value Xwindow, s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - XMapSubwindows(dpy, win); + XMapSubwindows(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow)); return S48_UNSPECIFIC; } s48_value Unmap_Subwindows (s48_value Xwindow, s48_value Xdisplay) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - XUnmapSubwindows(dpy, win); + XUnmapSubwindows(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow)); return S48_UNSPECIFIC; } s48_value Circulate_Subwindows(s48_value Xwindow, s48_value Xdisplay, s48_value dir) { - Display* dpy = EXTRACT_DISPLAY(Xdisplay); - Window win = EXTRACT_WINDOW(Xwindow); - long direction = s48_extract_integer(dir); - XCirculateSubwindows(dpy, win, direction ? LowerHighest : RaiseLowest); + XCirculateSubwindows(EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow), + S48_FALSE_P(dir) ? RaiseLowest : LowerHighest); return S48_UNSPECIFIC; } @@ -271,7 +251,6 @@ s48_value Circulate_Subwindows(s48_value Xwindow, s48_value Xdisplay, /* -} Drawable Get_Drawable (d, dpyp) s48_value d; Display **dpyp; { if (TYPE(d) == T_Window) { @@ -297,94 +276,94 @@ static s48_value P_Get_Geometry (d) s48_value d; { return Record_To_Vector (Geometry_Rec, Geometry_Size, Sym_Geo, dpy, ~0L); } - -static s48_value P_Query_Tree (w) s48_value w; { - Window root, parent, *children; - Display *dpy; - int i; - unsigned n; - s48_value v, ret; - S48_DECLARE_GC_PROTECT(2); - - Check_Type (w, T_Window); - dpy = WINDOW(w)->dpy; - Disable_Interrupts; - XQueryTree (dpy, WINDOW(w)->win, &root, &parent, &children, &n); - Enable_Interrupts; - v = ret = S48_NULL; - S48_GC_PROTECT_2 (v, ret); - v = Make_Window (0, dpy, root); - ret = s48_cons (v, S48_NULL); - v = Make_Window (0, dpy, parent); - ret = s48_cons (v, ret); - v = s48_make_vector (n, S48_NULL); - for (i = 0; i < n; i++) { - s48_value x; - - x = Make_Window (0, dpy, children[i]); - S48_VECTOR_SET(v, i, x;) - } - ret = s48_cons (v, ret); - S48_GC_UNPROTECT; - return ret; -} - -static s48_value P_Translate_Coordinates (src, x, y, dst) s48_value src, x, y, dst; { - int rx, ry; - Window child; - s48_value l, t, z; - S48_DECLARE_GC_PROTECT(3); - - Check_Type (src, T_Window); - Check_Type (dst, T_Window); - if (!XTranslateCoordinates (WINDOW(src)->dpy, WINDOW(src)->win, - WINDOW(dst)->win, (int)s48_extract_integer (x), (int)s48_extract_integer (y), &rx, &ry, - &child)) - return S48_FALSE; - l = t = P_Make_List (s48_enter_integer (3), S48_NULL); - S48_GC_PROTECT_3 (l, t, dst); - S48_CAR (t) = s48_enter_integer (rx); t = S48_CDR (t); - S48_CAR (t) = s48_enter_integer (ry), t = S48_CDR (t); - z = Make_Window (0, WINDOW(dst)->dpy, child); - S48_CAR (t) = z; - S48_GC_UNPROTECT; - return l; -} - -static s48_value P_Query_Pointer (win) s48_value win; { - s48_value l, t, z; - Bool ret; - Window root, child; - int r_x, r_y, x, y; - unsigned int mask; - S48_DECLARE_GC_PROTECT(3); - - Check_Type (win, T_Window); - ret = XQueryPointer (WINDOW(win)->dpy, WINDOW(win)->win, &root, &child, - &r_x, &r_y, &x, &y, &mask); - t = l = P_Make_List (s48_enter_integer (8), S48_NULL); - S48_GC_PROTECT_3 (l, t, win); - S48_CAR (t) = s48_enter_integer (x); t = S48_CDR (t); - S48_CAR (t) = s48_enter_integer (y); t = S48_CDR (t); - S48_CAR (t) = ret ? S48_TRUE : S48_FALSE; t = S48_CDR (t); - z = Make_Window (0, WINDOW(win)->dpy, root); - S48_CAR (t) = z; t = S48_CDR (t); - S48_CAR (t) = s48_enter_integer (r_x); t = S48_CDR (t); - S48_CAR (t) = s48_enter_integer (r_y); t = S48_CDR (t); - z = Make_Window (0, WINDOW(win)->dpy, child); - S48_CAR (t) = z; t = S48_CDR (t); - z = Bits_To_Symbols ((unsigned long)mask, 1, State_Syms); - S48_CAR (t) = z; - S48_GC_UNPROTECT; - return l; -} - */ -void s48_init_window(void) { - S48_GC_PROTECT_GLOBAL(window_record_type_binding); - window_record_type_binding = s48_get_imported_binding("window-record-type"); +s48_value Query_Tree (s48_value Xwindow, s48_value Xdisplay) { + Window root, parent, *children; + int i; + unsigned n; + + s48_value v, ret; + S48_DECLARE_GC_PROTECT(2); + XQueryTree (EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow), + &root, &parent, &children, &n); + + S48_GC_PROTECT_2 (v, ret); + + ret = S48_NULL; + + // vector of child-windows + v = s48_make_vector (n, S48_FALSE); + for (i = 0; i < n; i++) { + S48_VECTOR_SET(v, i, ENTER_WINDOW(children[i])); + } + ret = s48_cons(v, ret); + + ret = s48_cons(ENTER_WINDOW(parent), ret); + ret = s48_cons(ENTER_WINDOW(root), ret); + + S48_GC_UNPROTECT(); + return ret; +} + +s48_value Translate_Coordinates (s48_value Xdisplay, s48_value srcXwindow, + s48_value x, s48_value y, + s48_value dstXwindow) { + int rx, ry; + Window child; + s48_value l; + + S48_DECLARE_GC_PROTECT(1); + + if (!XTranslateCoordinates (EXTRACT_DISPLAY(Xdisplay), + EXTRACT_WINDOW(srcXwindow), + EXTRACT_WINDOW(dstXwindow), + (int)s48_extract_integer (x), + (int)s48_extract_integer (y), + &rx, &ry, &child)) + return S48_FALSE; + + S48_GC_PROTECT_1 (l); + + l = S48_NULL; + l = s48_cons( ENTER_WINDOW(child), l ); + l = s48_cons( s48_enter_integer(ry), l ); + l = s48_cons( s48_enter_integer(rx), l ); + + S48_GC_UNPROTECT(); + return l; +} + +s48_value Query_Pointer (s48_value Xdisplay, s48_value Xwindow) { + + s48_value l; + Bool ret; + Window root, child; + int r_x, r_y, x, y; + unsigned int mask; + S48_DECLARE_GC_PROTECT(1); + + ret = XQueryPointer (EXTRACT_DISPLAY(Xdisplay), EXTRACT_WINDOW(Xwindow), + &root, &child, &r_x, &r_y, &x, &y, &mask); + + S48_GC_PROTECT_1(l); + + l = S48_NULL; + l = s48_cons(Bits_To_Symbols ((unsigned long)mask, State_Syms), l); + l = s48_cons(ENTER_WINDOW(child), l); + l = s48_cons(s48_enter_integer(r_y), l); + l = s48_cons(s48_enter_integer(r_x), l); + l = s48_cons(ENTER_WINDOW(root), l); + l = ret ? S48_TRUE : S48_FALSE; + l = s48_cons(s48_enter_integer(y), l); + l = s48_cons(s48_enter_integer(x), l); + + S48_GC_UNPROTECT(); + return l; +} + +void s48_init_window(void) { S48_EXPORT_FUNCTION(Create_Window); S48_EXPORT_FUNCTION(Destroy_Window); S48_EXPORT_FUNCTION(Change_Window_Attributes); @@ -396,5 +375,8 @@ void s48_init_window(void) { S48_EXPORT_FUNCTION(Map_Subwindows); S48_EXPORT_FUNCTION(Unmap_Subwindows); S48_EXPORT_FUNCTION(Circulate_Subwindows); + S48_EXPORT_FUNCTION(Query_Tree); + S48_EXPORT_FUNCTION(Translate_Coordinates); + S48_EXPORT_FUNCTION(Query_Pointer); } diff --git a/c/xlib/xlib.h b/c/xlib/xlib.h index 4726a8a..c2c6ee3 100644 --- a/c/xlib/xlib.h +++ b/c/xlib/xlib.h @@ -29,16 +29,24 @@ */ #define EXTRACT_DISPLAY(x) (Display*)s48_extract_integer(x) +#define ENTER_DISPLAY(x) s48_enter_integer((long)x) #define EXTRACT_WINDOW(x) (Window)s48_extract_integer(x) -#define ENTER_WINDOW(x) s48_enter_integer((long)x); +#define ENTER_WINDOW(x) s48_enter_integer((long)x) #define EXTRACT_COLOR(x) (XColor*)S48_EXTRACT_VALUE_POINTER(x, XColor) #define EXTRACT_COLORMAP(x) (Colormap)s48_extract_integer(x) #define ENTER_COLORMAP(x) s48_enter_integer((long)x) #define EXTRACT_PIXEL(x) (unsigned long)s48_extract_integer(x) #define ENTER_PIXEL(x) s48_enter_integer((long)x) -#define EXTRACT_GC(x) (GC)s48_extract_integer(x) -#define ENTER_GC(x) s48_enter_integer((long)x) +#define EXTRACT_GCONTEXT(x) (GC)s48_extract_integer(x) +#define ENTER_GCONTEXT(x) s48_enter_integer((long)x) #define EXTRACT_PIXMAP(x) (Pixmap)s48_extract_integer(x) +#define EXTRACT_DRAWABLE(x) (Drawable)s48_extract_integer(x) +// TODO: +#define ENTER_VISUAL(x) S48_FALSE +#define ENTER_MASK(x) S48_FALSE +#define ENTER_PIXMAP(x) S48_FALSE +#define ENTER_FONT(x) S48_FALSE +#define EXTRACT_FONT(x) (Font)0 /*