summaryrefslogtreecommitdiffstats
path: root/lib/debugobjects.c
blob: e3ab374e1334ab80fc172c3d256d2eb4fddd665e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
/*
 * Generic infrastructure for lifetime debugging of objects.
 *
 * Started by Thomas Gleixner
 *
 * Copyright (C) 2008, Thomas Gleixner <tglx@linutronix.de>
 *
 * For licencing details see kernel-base/COPYING
 */
#include <linux/debugobjects.h>
#include <linux/interrupt.h>
#include <linux/seq_file.h>
#include <linux/debugfs.h>
#include <linux/hash.h>

#define ODEBUG_HASH_BITS	14
#define ODEBUG_HASH_SIZE	(1 << ODEBUG_HASH_BITS)

#define ODEBUG_POOL_SIZE	512
#define ODEBUG_POOL_MIN_LEVEL	256

#define ODEBUG_CHUNK_SHIFT	PAGE_SHIFT
#define ODEBUG_CHUNK_SIZE	(1 << ODEBUG_CHUNK_SHIFT)
#define ODEBUG_CHUNK_MASK	(~(ODEBUG_CHUNK_SIZE - 1))

struct debug_bucket {
	struct hlist_head	list;
	spinlock_t		lock;
};

static struct debug_bucket	obj_hash[ODEBUG_HASH_SIZE];

static struct debug_obj		obj_static_pool[ODEBUG_POOL_SIZE];

static DEFINE_SPINLOCK(pool_lock);

static HLIST_HEAD(obj_pool);

static int			obj_pool_min_free = ODEBUG_POOL_SIZE;
static int			obj_pool_free = ODEBUG_POOL_SIZE;
static int			obj_pool_used;
static int			obj_pool_max_used;
static struct kmem_cache	*obj_cache;

static int			debug_objects_maxchain __read_mostly;
static int			debug_objects_fixups __read_mostly;
static int			debug_objects_warnings __read_mostly;
static int			debug_objects_enabled __read_mostly;
static struct debug_obj_descr	*descr_test  __read_mostly;

static int __init enable_object_debug(char *str)
{
	debug_objects_enabled = 1;
	return 0;
}
early_param("debug_objects", enable_object_debug);

static const char *obj_states[ODEBUG_STATE_MAX] = {
	[ODEBUG_STATE_NONE]		= "none",
	[ODEBUG_STATE_INIT]		= "initialized",
	[ODEBUG_STATE_INACTIVE]		= "inactive",
	[ODEBUG_STATE_ACTIVE]		= "active",
	[ODEBUG_STATE_DESTROYED]	= "destroyed",
	[ODEBUG_STATE_NOTAVAILABLE]	= "not available",
};

static int fill_pool(void)
{
	gfp_t gfp = GFP_ATOMIC | __GFP_NORETRY | __GFP_NOWARN;
	struct debug_obj *new;
	unsigned long flags;

	if (likely(obj_pool_free >= ODEBUG_POOL_MIN_LEVEL))
		return obj_pool_free;

	if (unlikely(!obj_cache))
		return obj_pool_free;

	while (obj_pool_free < ODEBUG_POOL_MIN_LEVEL) {

		new = kmem_cache_zalloc(obj_cache, gfp);
		if (!new)
			return obj_pool_free;

		spin_lock_irqsave(&pool_lock, flags);
		hlist_add_head(&new->node, &obj_pool);
		obj_pool_free++;
		spin_unlock_irqrestore(&pool_lock, flags);
	}
	return obj_pool_free;
}

/*
 * Lookup an object in the hash bucket.
 */
static struct debug_obj *lookup_object(void *addr, struct debug_bucket *b)
{
	struct hlist_node *node;
	struct debug_obj *obj;
	int cnt = 0;

	hlist_for_each_entry(obj, node, &b->list, node) {
		cnt++;
		if (obj->object == addr)
			return obj;
	}
	if (cnt > debug_objects_maxchain)
		debug_objects_maxchain = cnt;

	return NULL;
}

/*
 * Allocate a new object. If the pool is empty, switch off the debugger.
 * Must be called with interrupts disabled.
 */
static struct debug_obj *
alloc_object(void *addr, struct debug_bucket *b, struct debug_obj_descr *descr)
{
	struct debug_obj *obj = NULL;

	spin_lock(&pool_lock);
	if (obj_pool.first) {
		obj	    = hlist_entry(obj_pool.first, typeof(*obj), node);

		obj->object = addr;
		obj->descr  = descr;
		obj->state  = ODEBUG_STATE_NONE;
		hlist_del(&obj->node);

		hlist_add_head(&obj->node, &b->list);

		obj_pool_used++;
		if (obj_pool_used > obj_pool_max_used)
			obj_pool_max_used = obj_pool_used;

		obj_pool_free--;
		if (obj_pool_free < obj_pool_min_free)
			obj_pool_min_free = obj_pool_free;
	}
	spin_unlock(&pool_lock);

	return obj;
}

/*
 * Put the object back into the pool or give it back to kmem_cache:
 */
static void free_object(struct debug_obj *obj)
{
	unsigned long idx = (unsigned long)(obj - obj_static_pool);
	unsigned long flags;

	if (obj_pool_free < ODEBUG_POOL_SIZE || idx < ODEBUG_POOL_SIZE) {
		spin_lock_irqsave(&pool_lock, flags);
		hlist_add_head(&obj->node, &obj_pool);
		obj_pool_free++;
		obj_pool_used--;
		spin_unlock_irqrestore(&pool_lock, flags);
	} else {
		spin_lock_irqsave(&pool_lock, flags);
		obj_pool_used--;
		spin_unlock_irqrestore(&pool_lock, flags);
		kmem_cache_free(obj_cache, obj);
	}
}

/*
 * We run out of memory. That means we probably have tons of objects
 * allocated.
 */
static void debug_objects_oom(void)
{
	struct debug_bucket *db = obj_hash;
	struct hlist_node *node, *tmp;
	HLIST_HEAD(freelist);
	struct debug_obj *obj;
	unsigned long flags;
	int i;

	printk(KERN_WARNING "ODEBUG: Out of memory. ODEBUG disabled\n");

	for (i = 0; i < ODEBUG_HASH_SIZE; i++, db++) {
		spin_lock_irqsave(&db->lock, flags);
		hlist_move_list(&db->list, &freelist);
		spin_unlock_irqrestore(&db->lock, flags);

		/* Now free them */
		hlist_for_each_entry_safe(obj, node, tmp, &freelist, node) {
			hlist_del(&obj->node);
			free_object(obj);
		}
	}
}

/*
 * We use the pfn of the address for the hash. That way we can check
 * for freed objects simply by checking the affected bucket.
 */
static struct debug_bucket *get_bucket(unsigned long addr)
{
	unsigned long hash;

	hash = hash_long((addr >> ODEBUG_CHUNK_SHIFT), ODEBUG_HASH_BITS);
	return &obj_hash[hash];
}

static void debug_print_object(struct debug_obj *obj, char *msg)
{
	static int limit;

	if (limit < 5 && obj->descr != descr_test) {
		limit++;
		WARN(1, KERN_ERR "ODEBUG: %s %s object type: %s\n", msg,
		       obj_states[obj->state], obj->descr->name);
	}
	debug_objects_warnings++;
}

/*
 * Try to repair the damage, so we have a better chance to get useful
 * debug output.
 */
static void
debug_object_fixup(int (*fixup)(void *addr, enum debug_obj_state state),
		   void * addr, enum debug_obj_state state)
{
	if (fixup)
		debug_objects_fixups += fixup(addr, state);
}

static void debug_object_is_on_stack(void *addr, int onstack)
{
	int is_on_stack;
	static int limit;

	if (limit > 4)
		return;

	is_on_stack = object_is_on_stack(addr);
	if (is_on_stack == onstack)
		return;

	limit++;
	if (is_on_stack)
		printk(KERN_WARNING
		       "ODEBUG: object is on stack, but not annotated\n");
	else
		printk(KERN_WARNING
		       "ODEBUG: object is not on stack, but annotated\n");
	WARN_ON(1);
}

static void
__debug_object_init(void *addr, struct debug_obj_descr *descr, int onstack)
{
	enum debug_obj_state state;
	struct debug_bucket *db;
	struct debug_obj *obj;
	unsigned long flags;

	fill_pool();

	db = get_bucket((unsigned long) addr);

	spin_lock_irqsave(&db->lock, flags);

	obj = lookup_object(addr, db);
	if (!obj) {
		obj = alloc_object(addr, db, descr);
		if (!obj) {
			debug_objects_enabled = 0;
			spin_unlock_irqrestore(&db->lock, flags);
			debug_objects_oom();
			return;
		}
		debug_object_is_on_stack(addr, onstack);
	}

	switch (obj->state) {
	case ODEBUG_STATE_NONE:
	case ODEBUG_STATE_INIT:
	case ODEBUG_STATE_INACTIVE:
		obj->state = ODEBUG_STATE_INIT;
		break;

	case ODEBUG_STATE_ACTIVE:
		debug_print_object(obj, "init");
		state = obj->state;
		spin_unlock_irqrestore(&db->lock, flags);
		debug_object_fixup(descr->fixup_init, addr, state);
		return;

	case ODEBUG_STATE_DESTROYED:
		debug_print_object(obj, "init");
		break;
	default:
		break;
	}

	spin_unlock_irqrestore(&db->lock, flags);
}

/**
 * debug_object_init - debug checks when an object is initialized
 * @addr:	address of the object
 * @descr:	pointer to an object specific debug description structure
 */
void debug_object_init(void *addr, struct debug_obj_descr *descr)
{
	if (!debug_objects_enabled)
		return;

	__debug_object_init(addr, descr, 0);
}

/**
 * debug_object_init_on_stack - debug checks when an object on stack is
 *				initialized
 * @addr:	address of the object
 * @descr:	pointer to an object specific debug description structure
 */
void debug_object_init_on_stack(void *addr, struct debug_obj_descr *descr)
{
	if (!debug_objects_enabled)
		return;

	__debug_object_init(addr, descr, 1);
}

/**
 * debug_object_activate - debug checks when an object is activated
 * @addr:	address of the object
 * @descr:	pointer to an object specific debug description structure
 */
void debug_object_activate(void *addr, struct debug_obj_descr *descr)
{
	enum debug_obj_state state;
	struct debug_bucket *db;
	struct debug_obj *obj;
	unsigned long flags;

	if (!debug_objects_enabled)
		return;

	db = get_bucket((unsigned long) addr);

	spin_lock_irqsave(&db->lock, flags);

	obj = lookup_object(addr, db);
	if (obj) {
		switch (obj->state) {
		case ODEBUG_STATE_INIT:
		case ODEBUG_STATE_INACTIVE:
			obj->state = ODEBUG_STATE_ACTIVE;
			break;

		case ODEBUG_STATE_ACTIVE:
			debug_print_object(obj, "activate");
			state = obj->state;
			spin_unlock_irqrestore(&db->lock, flags);
			debug_object_fixup(descr->fixup_activate, addr, state);
			return;

		case ODEBUG_STATE_DESTROYED:
			debug_print_object(obj, "activate");
			break;
		default:
			break;
		}
		spin_unlock_irqrestore(&db->lock, flags);
		return;
	}

	spin_unlock_irqrestore(&db->lock, flags);
	/*
	 * This happens when a static object is activated. We
	 * let the type specific code decide whether this is
	 * true or not.
	 */
	debug_object_fixup(descr->fixup_activate, addr,
			   ODEBUG_STATE_NOTAVAILABLE);
}

/**
 * debug_object_deactivate - debug checks when an object is deactivated
 * @addr:	address of the object
 * @descr:	pointer to an object specific debug description structure
 */
void debug_object_deactivate(void *addr, struct debug_obj_descr *descr)
{
	struct debug_bucket *db;
	struct debug_obj *obj;
	unsigned long flags;

	if (!debug_objects_enabled)
		return;

	db = get_bucket((unsigned long) addr);

	spin_lock_irqsave(&db->lock, flags);

	obj = lookup_object(addr, db);
	if (obj) {
		switch (obj->state) {
		case ODEBUG_STATE_INIT:
		case ODEBUG_STATE_INACTIVE:
		case ODEBUG_STATE_ACTIVE:
			obj->state = ODEBUG_STATE_INACTIVE;
			break;

		case ODEBUG_STATE_DESTROYED:
			debug_print_object(obj, "deactivate");
			break;
		default:
			break;
		}
	} else {
		struct debug_obj o = { .object = addr,
				       .state = ODEBUG_STATE_NOTAVAILABLE,
				       .descr = descr };

		debug_print_object(&o, "deactivate");
	}

	spin_unlock_irqrestore(&db->lock, flags);
}

/**
 * debug_object_destroy - debug checks when an object is destroyed
 * @addr:	address of the object
 * @descr:	pointer to an object specific debug description structure
 */
void debug_object_destroy(void *addr, struct debug_obj_descr *descr)
{
	enum debug_obj_state state;
	struct debug_bucket *db;
	struct debug_obj *obj;
	unsigned long flags;

	if (!debug_objects_enabled)
		return;

	db = get_bucket((unsigned long) addr);

	spin_lock_irqsave(&db->lock, flags);

	obj = lookup_object(addr, db);
	if (!obj)
		goto out_unlock;

	switch (obj->state) {
	case ODEBUG_STATE_NONE:
	case ODEBUG_STATE_INIT:
	case ODEBUG_STATE_INACTIVE:
		obj->state = ODEBUG_STATE_DESTROYED;
		break;
	case ODEBUG_STATE_ACTIVE:
		debug_print_object(obj, "destroy");
		state = obj->state;
		spin_unlock_irqrestore(&db->lock, flags);
		debug_object_fixup(descr->fixup_destroy, addr, state);
		return;

	case ODEBUG_STATE_DESTROYED:
		debug_print_object(obj, "destroy");
		break;
	default:
		break;
	}
out_unlock:
	spin_unlock_irqrestore(&db->lock, flags);
}

/**
 * debug_object_free - debug checks when an object is freed
 * @addr:	address of the object
 * @descr:	pointer to an object specific debug description structure
 */
void debug_object_free(void *addr, struct debug_obj_descr *descr)
{
	enum debug_obj_state state;
	struct debug_bucket *db;
	struct debug_obj *obj;
	unsigned long flags;

	if (!debug_objects_enabled)
		return;

	db = get_bucket((unsigned long) addr);

	spin_lock_irqsave(&db->lock, flags);

	obj = lookup_object(addr, db);
	if (!obj)
		goto out_unlock;

	switch (obj->state) {
	case ODEBUG_STATE_ACTIVE:
		debug_print_object(obj, "free");
		state = obj->state;
		spin_unlock_irqrestore(&db->lock, flags);
		debug_object_fixup(descr->fixup_free, addr, state);
		return;
	default:
		hlist_del(&obj->node);
		spin_unlock_irqrestore(&db->lock, flags);
		free_object(obj);
		return;
	}
out_unlock:
	spin_unlock_irqrestore(&db->lock, flags);
}

#ifdef CONFIG_DEBUG_OBJECTS_FREE
static void __debug_check_no_obj_freed(const void *address, unsigned long size)
{
	unsigned long flags, oaddr, saddr, eaddr, paddr, chunks;
	struct hlist_node *node, *tmp;
	HLIST_HEAD(freelist);
	struct debug_obj_descr *descr;
	enum debug_obj_state state;
	struct debug_bucket *db;
	struct debug_obj *obj;
	int cnt;

	saddr = (unsigned long) address;
	eaddr = saddr + size;
	paddr = saddr & ODEBUG_CHUNK_MASK;
	chunks = ((eaddr - paddr) + (ODEBUG_CHUNK_SIZE - 1));
	chunks >>= ODEBUG_CHUNK_SHIFT;

	for (;chunks > 0; chunks--, paddr += ODEBUG_CHUNK_SIZE) {
		db = get_bucket(paddr);

repeat:
		cnt = 0;
		spin_lock_irqsave(&db->lock, flags);
		hlist_for_each_entry_safe(obj, node, tmp, &db->list, node) {
			cnt++;
			oaddr = (unsigned long) obj->object;
			if (oaddr < saddr || oaddr >= eaddr)
				continue;

			switch (obj->state) {
			case ODEBUG_STATE_ACTIVE:
				debug_print_object(obj, "free");
				descr = obj->descr;
				state = obj->state;
				spin_unlock_irqrestore(&db->lock, flags);
				debug_object_fixup(descr->fixup_free,
						   (void *) oaddr, state);
				goto repeat;
			default:
				hlist_del(&obj->node);
				hlist_add_head(&obj->node, &freelist);
				break;
			}
		}
		spin_unlock_irqrestore(&db->lock, flags);

		/* Now free them */
		hlist_for_each_entry_safe(obj, node, tmp, &freelist, node) {
			hlist_del(&obj->node);
			free_object(obj);
		}

		if (cnt > debug_objects_maxchain)
			debug_objects_maxchain = cnt;
	}
}

void debug_check_no_obj_freed(const void *address, unsigned long size)
{
	if (debug_objects_enabled)
		__debug_check_no_obj_freed(address, size);
}
#endif

#ifdef CONFIG_DEBUG_FS

static int debug_stats_show(struct seq_file *m, void *v)
{
	seq_printf(m, "max_chain     :%d\n", debug_objects_maxchain);
	seq_printf(m, "warnings      :%d\n", debug_objects_warnings);
	seq_printf(m, "fixups        :%d\n", debug_objects_fixups);
	seq_printf(m, "pool_free     :%d\n", obj_pool_free);
	seq_printf(m, "pool_min_free :%d\n", obj_pool_min_free);
	seq_printf(m, "pool_used     :%d\n", obj_pool_used);
	seq_printf(m, "pool_max_used :%d\n", obj_pool_max_used);
	return 0;
}

static int debug_stats_open(struct inode *inode, struct file *filp)
{
	return single_open(filp, debug_stats_show, NULL);
}

static const struct file_operations debug_stats_fops = {
	.open		= debug_stats_open,
	.read		= seq_read,
	.llseek		= seq_lseek,
	.release	= single_release,
};

static int __init debug_objects_init_debugfs(void)
{
	struct dentry *dbgdir, *dbgstats;

	if (!debug_objects_enabled)
		return 0;

	dbgdir = debugfs_create_dir("debug_objects", NULL);
	if (!dbgdir)
		return -ENOMEM;

	dbgstats = debugfs_create_file("stats", 0444, dbgdir, NULL,
				       &debug_stats_fops);
	if (!dbgstats)
		goto err;

	return 0;

err:
	debugfs_remove(dbgdir);

	return -ENOMEM;
}
__initcall(debug_objects_init_debugfs);

#else
static inline void debug_objects_init_debugfs(void) { }
#endif

#ifdef CONFIG_DEBUG_OBJECTS_SELFTEST

/* Random data structure for the self test */
struct self_test {
	unsigned long	dummy1[6];
	int		static_init;
	unsigned long	dummy2[3];
};

static __initdata struct debug_obj_descr descr_type_test;

/*
 * fixup_init is called when:
 * - an active object is initialized
 */
static int __init fixup_init(void *addr, enum debug_obj_state state)
{
	struct self_test *obj = addr;

	switch (state) {
	case ODEBUG_STATE_ACTIVE:
		debug_object_deactivate(obj, &descr_type_test);
		debug_object_init(obj, &descr_type_test);
		return 1;
	default:
		return 0;
	}
}

/*
 * fixup_activate is called when:
 * - an active object is activated
 * - an unknown object is activated (might be a statically initialized object)
 */
static int __init fixup_activate(void *addr, enum debug_obj_state state)
{
	struct self_test *obj = addr;

	switch (state) {
	case ODEBUG_STATE_NOTAVAILABLE:
		if (obj->static_init == 1) {
			debug_object_init(obj, &descr_type_test);
			debug_object_activate(obj, &descr_type_test);
			/*
			 * Real code should return 0 here ! This is
			 * not a fixup of some bad behaviour. We
			 * merily call the debug_init function to keep
			 * track of the object.
			 */
			return 1;
		} else {
			/* Real code needs to emit a warning here */
		}
		return 0;

	case ODEBUG_STATE_ACTIVE:
		debug_object_deactivate(obj, &descr_type_test);
		debug_object_activate(obj, &descr_type_test);
		return 1;

	default:
		return 0;
	}
}

/*
 * fixup_destroy is called when:
 * - an active object is destroyed
 */
static int __init fixup_destroy(void *addr, enum debug_obj_state state)
{
	struct self_test *obj = addr;

	switch (state) {
	case ODEBUG_STATE_ACTIVE:
		debug_object_deactivate(obj, &descr_type_test);
		debug_object_destroy(obj, &descr_type_test);
		return 1;
	default:
		return 0;
	}
}

/*
 * fixup_free is called when:
 * - an active object is freed
 */
static int __init fixup_free(void *addr, enum debug_obj_state state)
{
	struct self_test *obj = addr;

	switch (state) {
	case ODEBUG_STATE_ACTIVE:
		debug_object_deactivate(obj, &descr_type_test);
		debug_object_free(obj, &descr_type_test);
		return 1;
	default:
		return 0;
	}
}

static int
check_results(void *addr, enum debug_obj_state state, int fixups, int warnings)
{
	struct debug_bucket *db;
	struct debug_obj *obj;
	unsigned long flags;
	int res = -EINVAL;

	db = get_bucket((unsigned long) addr);

	spin_lock_irqsave(&db->lock, flags);

	obj = lookup_object(addr, db);
	if (!obj && state != ODEBUG_STATE_NONE) {
		WARN(1, KERN_ERR "ODEBUG: selftest object not found\n");
		goto out;
	}
	if (obj && obj->state != state) {
		WARN(1, KERN_ERR "ODEBUG: selftest wrong state: %d != %d\n",
		       obj->state, state);
		goto out;
	}
	if (fixups != debug_objects_fixups) {
		WARN(1, KERN_ERR "ODEBUG: selftest fixups failed %d != %d\n",
		       fixups, debug_objects_fixups);
		goto out;
	}
	if (warnings != debug_objects_warnings) {
		WARN(1, KERN_ERR "ODEBUG: selftest warnings failed %d != %d\n",
		       warnings, debug_objects_warnings);
		goto out;
	}
	res = 0;
out:
	spin_unlock_irqrestore(&db->lock, flags);
	if (res)
		debug_objects_enabled = 0;
	return res;
}

static __initdata struct debug_obj_descr descr_type_test = {
	.name			= "selftest",
	.fixup_init		= fixup_init,
	.fixup_activate		= fixup_activate,
	.fixup_destroy		= fixup_destroy,
	.fixup_free		= fixup_free,
};

static __initdata struct self_test obj = { .static_init = 0 };

static void __init debug_objects_selftest(void)
{
	int fixups, oldfixups, warnings, oldwarnings;
	unsigned long flags;

	local_irq_save(flags);

	fixups = oldfixups = debug_objects_fixups;
	warnings = oldwarnings = debug_objects_warnings;
	descr_test = &descr_type_test;

	debug_object_init(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_INIT, fixups, warnings))
		goto out;
	debug_object_activate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_ACTIVE, fixups, warnings))
		goto out;
	debug_object_activate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_ACTIVE, ++fixups, ++warnings))
		goto out;
	debug_object_deactivate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_INACTIVE, fixups, warnings))
		goto out;
	debug_object_destroy(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_DESTROYED, fixups, warnings))
		goto out;
	debug_object_init(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_DESTROYED, fixups, ++warnings))
		goto out;
	debug_object_activate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_DESTROYED, fixups, ++warnings))
		goto out;
	debug_object_deactivate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_DESTROYED, fixups, ++warnings))
		goto out;
	debug_object_free(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_NONE, fixups, warnings))
		goto out;

	obj.static_init = 1;
	debug_object_activate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_ACTIVE, ++fixups, warnings))
		goto out;
	debug_object_init(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_INIT, ++fixups, ++warnings))
		goto out;
	debug_object_free(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_NONE, fixups, warnings))
		goto out;

#ifdef CONFIG_DEBUG_OBJECTS_FREE
	debug_object_init(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_INIT, fixups, warnings))
		goto out;
	debug_object_activate(&obj, &descr_type_test);
	if (check_results(&obj, ODEBUG_STATE_ACTIVE, fixups, warnings))
		goto out;
	__debug_check_no_obj_freed(&obj, sizeof(obj));
	if (check_results(&obj, ODEBUG_STATE_NONE, ++fixups, ++warnings))
		goto out;
#endif
	printk(KERN_INFO "ODEBUG: selftest passed\n");

out:
	debug_objects_fixups = oldfixups;
	debug_objects_warnings = oldwarnings;
	descr_test = NULL;

	local_irq_restore(flags);
}
#else
static inline void debug_objects_selftest(void) { }
#endif

/*
 * Called during early boot to initialize the hash buckets and link
 * the static object pool objects into the poll list. After this call
 * the object tracker is fully operational.
 */
void __init debug_objects_early_init(void)
{
	int i;

	for (i = 0; i < ODEBUG_HASH_SIZE; i++)
		spin_lock_init(&obj_hash[i].lock);

	for (i = 0; i < ODEBUG_POOL_SIZE; i++)
		hlist_add_head(&obj_static_pool[i].node, &obj_pool);
}

/*
 * Called after the kmem_caches are functional to setup a dedicated
 * cache pool, which has the SLAB_DEBUG_OBJECTS flag set. This flag
 * prevents that the debug code is called on kmem_cache_free() for the
 * debug tracker objects to avoid recursive calls.
 */
void __init debug_objects_mem_init(void)
{
	if (!debug_objects_enabled)
		return;

	obj_cache = kmem_cache_create("debug_objects_cache",
				      sizeof (struct debug_obj), 0,
				      SLAB_DEBUG_OBJECTS, NULL);

	if (!obj_cache)
		debug_objects_enabled = 0;
	else
		debug_objects_selftest();
}
ĉz|o~Ib.XHv~Xm~~dF*IHO}X=֝>On98g]n 6g2"<dY[H'c5_9NJ˔KϮ7/9_vaq<^,wB DNv'R_~Z jLڡMf)7ӨS~B( T=Ԃ xb;o&} J-` j@T6px6*H7"- W XĈ;,ceٷJ,X&aI:ֆN*'ZN6Itnc$ cD)ĸWrvh_cW"p*o íeQ~ф>Ƹ6\)ܡq/Wl8 E Ӎ%+x{Pdڮ2ogIF(vJ a1,y+U= Zb̥t |-.]CWe3CNeJ%}$$ݟU20vԇi=7^k97N5qQppw5?Ik!]ߡ///z; ՘K 23|O9s50?ϪQS|#QcP>L\&?Bc&/NH'Ͱvd';Vl2쿨8hub-̣&juP>J'Zu3WP_cned'pgi0qQH-_zQӎ;'X%nZh/]f$> HaY*9`2.}}/q[JZ^ɕ^2Te4?7ZD1ŒU2 *4Ko>O̒YO|]K|4/B֓]-SH|w!hXv4)*mQ†aREbSNc@w-迿ԋ3fi+Gsͯd>K u-5ωӔͬ@+as> !64՝_4u|<60ʕ2ztO}j+S*䅸?%sM| CMS 'eӤMN]A%)+|z?8~8I?Ia#;Z鍘l&7l0!w,1&&4c$ٲay!Js~*oä<̔Ln:c鬇uŸ<>GAR_hwHryB\6R`s?N~+m%|?e$T;B-TUGiw_Z FQ Kq!Kn3zyYV^j'ǗD=+07O̽ޓ"_K_;G"BkؙO'BA{3&㐅UWW7rP=-TAgD1~3uB*FwwF =CdLZ]-GZ9jTyv&D5'Ȕ)`xĈNiTݠ XC P5ZMa0_?g4d}ΐt(7۬ l}jʏbM5X\+b/itUO}kk%4Tdg'Iؖ¹ה&^H$JP[,|)It4:p˸B̬s94F6RThN;]Rv>WĀY9^w_"ok{H,i@3ԆE0"]BMцrN[#/@މO\JoGU8|6H=s<73X*ZMC^L0_#mϏLu EjUđc) &KUGZ UW1 #c.A6qCMrO }WNaV qђ{{:^+lP$]{IԽ C$Gq @xtu$^qؐ+qW/ϸvV,}MMזs>kx`ojp`5>ZJg^Vp;fPUأU3WlFbrZLܧ ]ke Q'qÉvn4FNWu<뷽 KK?=?`6Lox*ݯnUcrOX2H roV Z< Oq^O4^9=C\*X?|2zǞ] ?ܾ|)-C_36r7>s֢U~R!3JA#;֊ؐmߧP,N$bZvʫ@ HG0 Ӳ42+E\ڲO@c7B\9>uOT&`=VS) 6~n};CU?R%r=׀)R*KiDOu|꼷?!Ǟ9j~v6pW x"AٯOwڣJucjπ0->Z$^'&yo. ]o,Tځ*]`Ja .sn 5A_)@gKr>ʟm,O8i >R&4ŸuEAkobs nnث9Q `<"xu(x\ˏ9ƹV1:5ٖ ﹠3.1c4apH;վ𶕥+f7/7maA _[Z9k1{HH1ja-~|m@1jd#ҁ}4QsVn=|Q2x8O>E5h&ʒXJ8⷟XpOԈt3v ݟ樱"wmE^%6kߌ{"^r.M[j$K^&2ϺcB.:֖AA- )v5{*kG1T{mNX{3 VۤM Xڷ$A|݌qOj.950}ƛ~5RlRr_~r0H5Nae<囧w)Li v!6w9+yBi 3[$'r%De8 vCj1f,\RF rw"O;c5J]lQ(DYTjQ 3c}RS h.!7j!p{'SLi! rl;a&ARwĆN7_ޟsJO-CRlצG}*&eE .ꏪrHaTقsLm(U?L\YN=P>Eю#Z|W))ՍQI2-^WזXE*s1<Юw[ћ+T嶃8,c%;S,Am& 482G'+O_pF^̼ ;ࠎ!V7oSCe?Zh1&r:a;iQؕ2=?ߚYܞNpWkBN"k.u2o 2>qmܻXg26Kr_h)љ&|>Ьu 7vV׈zl{nO:_I`W$T}?StƴGe>_snDqՙ+z 30ʛ.3TBb"]vLCݖ).5*tiްH ah[,:#/ @Z[@ZqPQQpb< Z`ՅqfGp\y)LW2/$%ۢB?1zeA)"-5N!B!!o~%YnA@}˔phLEEVGD>B3s&Ƌ:j,4B @ .Y\Ql X& ?Zpr ڡ/p?@HN/2ʭ$.Wͫ F$%˲WtOOl;**Z]mE.oszcu((¿fWxn\)r0 tb$oey2[٤)c4Y[|9N=HJmfR mY D"^p25$!;b[9 a{P3;)l+H6a@gıRHޣpϡjdv"Jx|t;̉UPaBX p(b.MJhm8XljS\XߜAs/0fߘGiǚwRY``_8"Íq\?O7:]D NG-79Mɢwa 4'*$N *#úYf>Q3Zsϱ[KgX툳 YiE>m[|ޘ3z%HY׆9(DLk۫kc֩~{JQIhu/[x. sT:ь 4a؝5HeL,:yg6ʰ]PUCsLsJS#<% rr>cN Fʵ;q6M!0\>˳N}xdkl W83~^K#)|j. d 9hED}]BT-GVEy!I_JvlfU, @:Msu8f#kzr#ɓ׿uh rT1J+;|=r?BBnxlp-~+62B[ vr ZVUukeKh+̐d}j]U[P>ҷ1S]HF~n t=滢Ľ ,F*Ȯmt DC㵪Bp4ǧ C9}v{`7uLlk>;]Vsr.$ ~|Z5Cw)񾡥pJ _0ZVGJ9JٔP aK +D:ݝ(S7BC^b,duGlN{ً˱E߂[ _^u+H |qWN a^OS; ỡc;H-XL7l~L"?gft?t^O6IVeaHT5q6;Rs{NU!\LtɄPwå@W̺' sՉKAf5σ9g;㥁t@#j@]zw,XdLy",{wpG*MPu{EN$<dziʘnl|+ς_B왟HZtb띜ЌqU` EyX{ExTd.׻pS|iv`ݤ *,גWv2}3W(kH eq6;G ֧Ni"cY];acv g#Ρɱ0l'vΛJޱB:84k0z?@x ;(WG$~ԣ2k{yZZDK*2 סeϯO~2{qszHWYpD(DqY%`oV$"Cc6(Eʴ l!g#$Aj # G&.z5zE֞d r_ ЍS"տ'=Q rȭR\7 %N>#%7Sxy,~IȽcϫ +ML`l(\B,!3;IBuٸcJ]QnPBIȑ kcjXPO h6YcN&OjjMq,"6Įm)!&rDS7 P=[FK #!j>ߓlE!R̽}byu_>zo{u;eE?@;_'zOZ䪝|b5T24hOEIջh[u\[x:U+`TY g"U9_G/Hx:Dz[^Ɍ&PN?~5eGU^xd6i5 \MT/-䮲Xt[pЋ%+UtZXB-&=rA^ې|.\Wt߀#ό 6epW8 ~,߭l,^})%ƠJas 09C{gew ,poduuG{0:lUaض8Ksőz`IA(wi)Nv3o&w!`Cv7Fa#mmgwmvi!luކIwuHhV :!R[< |$$9RLJ}:^J8kMIUe5"lPQԠ\"A. -.2IzH^4_^S#yWZ՜(l;"]X FL(ǷXXw8)O? +D~RMc Hr/y7^=塞IVeYzԩ8y^FM;f#Mj4faTz SwGprΆgp%A"bq$iL/dTR[79 \K)*bn ]$> ]\c#PU&Xպ>YD&'nrâIk+QL[Iz~_Hx6uL[V84ogvs.(qXJu7D"-v*T.Pν laM!ntuf@vP73%ЍEVx@S7xvX@yD5( tL"*bƌ.W>:FðIrQdÈcÂ8/S6 "1qL5́R#MOJIrGWXWk:TZ0w:͘a&i nEy.sLho83lcI+Pf X`(žGWiM`̷#pAs-'dy園ZѿYJim6ڦOM#Ϲ$`d5l/}OK xx*kv/Gpjy7Mϡ1儧ȸ+o[GL%}cYu@ܯVԄ&lEQ *6#ܦuӲ97lIHǁza)@l Chw)rƤTX9Gp;h6s *S龕 ) fZ6zX1aH~yɔMIhQ~/lݛdc-y=C ^LR{#;}v-w(y)#F \M *lScPIj 0?᧠Rr%Y:8`fVo gtoێ6n: )4tR]㔍>^*_V;UZG+O( L|ss+y' ډ'3̕$$Umzf i*۴O ݵ ab|:QsUChD<]P7W}YPETްk&UM) @L)mC*8m@30хI扽i nӔNeakj^jT,mۦ}i׸^YL. ;4uNڅXMcRͫ2pA2&Y5ܳ-X'q۠upryz3Hb"Xt҇#܀^%b?-3~0z;ц8>3v@ffˊv8dd@P%p|Εo珡O_aRU[Wqױ*XDF̖ls%Td7AߜSXNN;Ve%nx=6#k:Dc]D @(ө߻Pv[֎_fD--0苜 } .t| ˚3V;b%<[Jϧ '0fip9>۪]i"lMh2y F f,քƪ9oI4OBF"ZdIl$ 18D[ 9Gu"=yO'di/oqă+alT -"-ѷdP2yp?kȍѵz~Zcݢ+?j3hOz76;41Vꂗ폊7@]5T൛ǭź"Zj}TD?*/KNѪ?8 TRb|&Moј5۬gB& m[^W g,ml1 e缲u_wSk:xr8tg_z;!½ElՍ(KUf]XSLPw|T&f[4oj6y |Ged7L8kmPR;ܼ:؉F=?BV;2aONZWwɽլIϩ,9PjJ3uOC?pz'_y8#:S&ZӗW=|.i`zJu; e 6\3Xk&lpv ,pi}r 0r]Hk^y&E39o.JW16VS Yq O06?N*S׭{R+0fTwQZ",)'\*mu^֏!}**hX/ %4%Xs4UR'0Q7:>SXhy9BV$8hNM , w-:@ֽ2[*C+#aĢ)%MRI6kcN{c <9R~>I溚ab.lcM۲k tӇbi~k^In</}ޒӕ:(`a/ȕRS.#i8C G>f]x`zB#*軽otRL(>{j`tR!AڼHoE.0'#?:vbPqG0!wv2SxDN;1',>[M_1xQ2fs8wIZm׵ǧr `S ~\Հ̷H^36G% sp&n"mJH68O"׊) olڅ-F"cQ6n)#359&uĥR >?B8"}#gz(mJ^RhhgsQ|60&G]^I-Fym@׽d +&e?žWAgH~LdlPO}C,ԫ#$D/r]g3eo H2_=Ïq>Wr$Z[:E:ʴJ'eBXV`鈖k xc#* ~~fϵqn3w&RH+~pxA,R}ң-bmyԒ9Pr4{j֒[WL2S RmBE[d90%)Sa5 ;`p`Nq]dCܦ8DpW0P.OᬨҸeӂulo7%pJW { 뭉4MgR*X 淊N_m2Mr`Oxg6.pGp|Yrv溴kmoV]p^2I,VRtcw)ƕEvͼ(=3K jg 2%x$< m1d̥GWJ !OD$c/0,Q  rág\Ww9k0p{>9=œ FQr9aj$e㼃ΗJjG1Q~kM %Jl7XBge5b(Wj cUS-BnٻiE9>q0oBk䪹 ( ][UhdKY[RˋM?ڡ.l\:,= =]ytW踔F>+>j5wb?~3h} nYB;u D(fa5f̙@]!O ,SP74gvEm#8}6Tz͘_,0&~< TJE\C$p>*CUOL?%l7G &pɮRVoXJ!:7wSל;/[V7M0$<4 $@΍ƿKP|mϚ+[ |ͣV5U1 5TdtCo=0eC aJK# C9 `Y,>dͽeI':K.|krKetSia?p{3 YŚvKc&˛BQ;sB4(Yش^̒9DEPO_6Bk`ɂ!ȋ\TY<-<dr4n5tXBld$59s~5NlO0Xο GuoJn4z4d+s1RԵ܆hsKa$Ky|L)'W 0 7Q`ixK=6>[.u>Q1RZ@摲~ASFn ɼm0/oo.|2dxBPv8ŋ- 5DBcZTpjc nbb.jg y&gB*#?264YKN;!K=^s`@r/ DXk+4l~Z~lztNC&#8ۀ10`~E=x((\Zw}b(Sg֡{ 40Z՝p Q.II\ߴo$y|AmĠh(GȽV$Dl i>18aVLވXbtxV܌"ac FJ` NPKW4[d8s Ui½0;'z-* %3,~[2[7D6fWA&Tr0;Bފ@..F'^=3AŬ jR~\t͝f~Nj*)!^!s;* i=}eɈ"ϡ>hq?C]4=of}5 0b^ >rיE~AwqXwV JxB肹1] |\#bx CY bb62B:# N6#>?N-Cظ/pFKqqeGɎLсDk୪SM{k\Opn*M2x cjL;lf葢PsQ|^<1GĸIEC&&CHdE&,蟄R]į'=B!K91xL!v2Mh ;> $I]j=iחmDd#uHwhK~bL_[,+/p 5zAǀ3x/ :q$}]B$"R v Uȗ˭^qwq|LC&s9:ɡsD2.ँ@sUU,M=7sXmdw-ȸ &ٓM)Q>?H&ŌY8_Ml,{[>BC+ck18oK:r/M VeߔEH=YAWM;dGNh{$ƲQmIٳ?gLLq%݄9k}c!Zߦ_̟ՀaK䔶J/jNн8Ҏ7[axZSfMI!}Cš-0^cySQaoBEvuhL9o 9O>Y3PEڻZooӅ6HBSO5O;=XN,WM^eAHݢ\N/I8B=C{}T}ue2bZbʅ0^z$lM )\d#|6v/AZ2d>gt(cR$m%$ SF&ȺNj} Fo1YPV:EgHkh9l+CQK!zdmU#'0թ3 LΗ'\`0j &kJh<50/=b"Tf?=x\ k* je}Mm=o(8ч'U80up?=ɨg_YSyq=B hP"voT҈E`"77Ϛ]jn 7 :55<`Ci7CIMg'5~pys4Asy˚ث7 ߠ?JWY=L?huPX'R`3L+[J"@w!sKho_<"\K2z #[v Ȉ6s*%mM=q|ݎ䨀帱Cj I%C ǘVs^svUnpprQ" }]a=SD|xذvăyvJF)ݴru!{5MayA/).o Zm 't$ƻ-t"o6е8yĵ,9M&a27 7F]D"l+M1bs.I .  ݌ovGӻH'n"I"X~^ L(@9h](glx_Y p@~;*_Ktw^XI οpZ5ezeC|SfԎut`uKI]UBhӉ!=wSXNw+Y7_2A_n8xbH7Gau W)T^"Hͬ^7`KaG8LX2+(Sc.uѕbulYN Tԥ h^4ՄSg< vS\qOz5xdr딇܃p2X@t9osGXxoz7}iAԃVARiqN'fa  Cm7N4A mjrv2p1C BͮZxJoޏxgkKժ<Ӏf-?$i;h3,+xeJE-i)ҁ:pW#\GU3׸o~s a2ix"9Ji*^W ]\ ]pIz$|LB2!)GΓ~ˎrK;A.)H;sCs~QlӨirq)*cN{zQ-"J QD9MmJ$ re<1ؤP\tms79ҡG"gk]*_ر˔97= 2]qі@7S`ژl!bIBc3t))%WN]اц#$A!VeqZf{HH= w5T"LUBe$P榴7'P%ur~Tk4Kr##X~ x[l+0kgf{UeXȑ*1vߕ-(1!9gA^PP ŒHiru"4dbڝ2<MSV60 ߸ *IfW=osX܁3V}=.g=G|->嬩^sUs nC!e[Nx1| 5]Mf=\~%e!WN^,7q9ž+W:^,gہ_r΂+ci`ufiw S eF/+:eCTT@lKKQ$w3A5]_ p8|y vgֹ?z;pDEo.(glF$6^4ո ›Q> ':7Gӟ|jvـH_Q{ͱ0Q1N7*~/u>eol%Z-c .y`ճ[ESX\?д0EiǚMi`OGذ|QxNE ܹ(Ǽў `Hͳ(ٖb~R cx}IoJwòTڵB`O.=mfؕ6̘*L028Sح8` 4zQˈ&c1GE>OciQo¡zfnG)S"gi1JPۀ.)j_-C,2=-b/ ySoIn|J[*{=Lu}\) ȹֵ;u&Oyzr0z*VnɌZ)V%"*|M o,sg:ϰ?{lE _ v,K\Sš lՏ)< nln^0w˃1GBȵ{06_53KT}gy,'renBZ#gI$^yc2:3[Ȅs5|nٴfA&D;3^W.\Z+L139zn:\7c#͆dz4(#4Ýgcvૉ~˶ɸSk>+E>bj84I k*@nK kds>xv,“N%O+v>|\i0Xc:1D4tcAȺ- /a|8 ;adt6"ja$g$ VA"{IZ)SXkuziVPոML<lxJbAQ̟>~]$r]GV4--V2[ qhx3nedP2^Zh|B{l\i`Zp-li Εu4Hr^BFDB٢ ZKf ow򏇽p9l>CdDj@0@b݂*/HAhw*w6amI㶚*w֘0m,Km6oz u0!toEw`GYOʁʹM an-5;,eʕ}Tu%;hv;)fR@ri)Tr9o4A }8YbKHhH_ܚ7sCrCp?,V4,I O"VzMw[3H(((W)LWM!'TK$ph$/&k|~`3 ^hEEU^7q[|1Q5v؉ǩ:bz]k\.eQJ vZH qQ@ PB!h"M13zWqa8ay2Ь+drS<8in8@_TBN!4h0>nܳmtCy& ]n <0m(CS\IN p)2m)2]}uakDSݐ@,MZۢ PG m9" D$,Os;ghF9(R gpe$_gP8q}'o+?seӊvЇǛgp͛\F*8VWӌqL{CbgoAQQR~-$杆B_k PD6+pu )Xs T D0sz!n">*Kžt& |}UYC.Q\;5). ƾ61ʰi砛aW' NU½*sC1]{I%qaj0 &D7+ kZnxh{/I,|^vwyj$7G~izjĈCے6Bfac*CApd2 LvWXcjR r&-q2},^.NHvB}T|HAgiB30";ӭ"mz@;V;x~~dH3&wNm(&&*W11g=ٰ<>~Hqۇ>fw+c$ҋuVjr V#E&rWO$&%ubBoC #s-|F(pjDUxryק5US:g6سwb h)ɺ}k;7?Ư{2ŽV0c4qR-z?= 5>>M{GLpwp*tP7lklEZ ū5y{jхlkrcCME+[2& ߁_hГƿH| mn^Ǒ֯Z &l;FRҘ.ҽPW֮ ɱ4Uv v*_A#:TQ }a/|C{ /xK1g>fZ݇&ΒֱAGS%ݡy.,}EܔLJ0~e6Il<֔g( 2QE`>̿5HC;`7ӕ[=9 F`*jS7/2J\*PK1k E! gB ̘&guci9qtݝLMHHJr|DSCIWGebwuV> ,}ޥ4D (lw4Թj bjrxK~PSBp3 F %8_qوa]-f.YfdՐ^z /V6Ly t韖9~,qSyKst7r\9?z_: 6jن:Ma1S\٨*tQѳWZն3 Wm&ΔS6l`3XQ-Uoep”w|h F/8lWtEW`7|@I]ϑ*^Z wpa0m$l/<)A;"\vҪ<Ǟ{H'ȇě^7VI!ްBԭ_gZaֺaX vJ lsvXVj_ 夕ũIjP,qn|-pn7~t7%eeP]ceDǜpefU&2:ts1>bP3tv5f%BIdbt*}vw^Y0?uld$JKVI1 ( OKbH詳ZA=؆t)ED>_$fWt^&]%.ʝ  }N5YlE)[ǂ$8=l:' d|bXNK,G_~s䒴{rT}z*$(==n&yJ׾L1! k#3z: [2J3HX+wK>/{Ԓ7x/i{ +r[7[y<:\BK -RGАH7xY$ėytg>3A@Mrdƶq&WL_b+ZӌjL) z{ maqG!1w+4@{=ȩӿ޿*Oua~0cv,FޭLN J6L"MMFgĄ=E#/;EnϬ;~؇- EStB횧H!I6dY6 U),_ llH de0K*F.HP1mav`ʵ> w*LǞbd|1*h@m~lbSfygږdZWR{!gbY6}1gj˷eGy$hyuK\iKN5Ȋ*'nu\aMy7-?%N`TFЪQ*tָ*j"&ߵ|jM!]t!MUw^[)үʩ:2ڡR2>*1soCb~qFGdK|:V p^B3Ɍd(u6{L@1"&sQ) &%h0]n<;~q;>qکA:@LJ#T^ {C<[X1}W9:GE |'|yWC`&Km("em.x{߳ {z{f:Bigͅm!$~fgTU,]%T s-֍9;sM;xR҄:f\,NKôvs} m>9Dw9 g$Xf?f.H-*LBYY89Dh" C|)Ix-3Qq!@]xo_^8P׈ϐsȃz;j7JK+P 6ܨz9^S<Yd|p7办_]m-R)!l}f/>D U4Đp*L/} y,b\69A)QdHQb [ v{#͌@ g"gz g:j4+P泥(rMqlͦ)qph1l)~{c2<ᏁׄʰQ{q[^('1xjvv,"{x-3fu|RIU#\͍V%1~C(}T"INí DT>i C$'oM&g-+ ΢i2P~^ ԁ֦(M& jf 045F<>R9}uѻIx ̙nD]"NTqc]I\_NV-f*?OzbUĝ1+|]vBk0!Ϛ&A7$ g'o0+YwmH]ĭ6T @Z!'+ݝxvHQynV:G݊R7&~nW IX:/`g P0<nJ #cOr!KC ] Jd")ڕǾ"_ PjFd'.6Q[&o˥ΎItOV[]rN'Rc>Jggn%0Gr}@f1|{%=1xbVH57Pwɴq(Shd¹ ymɛǎ\muBwG?~ˋ^RaM 8ЊYvf1\cZQ-siEsxtT%a⧘vuIe6" 3W]s4Y:Eg܎aOm 5[ j5:wo!jٿyY{I#7+7% O_nœÖ\ OUj#|Д*>X=( -˭ n'"?md. &bѰ(QTGͲ?AvPU5F+-8 պiFD'.P [D8g"Ŀ7A*,)P==LW u:P%.$ǃ$,d1d*kq!D75Iȫ8L~ ݸCI2sA)l '`  DžqZ5ñ 0w}hEԂ|`FBXJMK;x 'NDx$[_h}C[Ίu`.sdEU?ZϭMf-5:Gc"~ɹE7ElB^,jGU9 9eu5 YRR`F\d3Ma󒅋>R?A=:Jp-+{ @"^cCd|;l<(")?\ri8R;M?#׊u@*e{ꊱ&׺z>΅hg Ϟ"I-'nm󌺃QGùàgP|kY;MtjwDUb.uvTfQg6#F*O"W Y9y? >P]_AD@D4\n JkɅr3zZ/mOr \] H1O pccw 5Ib~9qDzSo/ l@OgU-2q*lja3dFi飴v(hvxL h+IhᚪW?}\c1ػrtபV&;O lUʼ#5)Yʢs{o`9ZyjI~kIʡفȁAX-#I4tZx[0 :%Wy3_+b~N_9'WEP,ץXΙB<\TE~qssz :58%RM;mlws@Wgh:yن֕Ys PrB5O< grIzMR_,QSs!FBjSœKa5'<O{ 5F[ߙ(ފ~vuO|I(q#i[6|x7Gga>"Z:Y?:):47lOvΕ\UThN쾌G}K֐/Dy%ѧ#q6IR\4|gq=$$o VB'l}F~2hW%#2Z ˀɛһo##/Oirۙ%Щ*RxW^̓x(\/ G]Zi OOxU(0)l;A[E, }gJ鿴A5!j?lߢy#3))Y'q{m荔.2;4qaX*Lg;ArHbRC |9@sھBzªl chd) g0COsAq+f8 sue.!Zn]仍cȡݿ[s|'qB\ $5t:['8RG[}~&[=9 m(Yot[CB>d i^[^U!f߼f]QĬZ Wc7K~tc}1: x+'{ ֒35:'Z& .eqPsDCtL]eT}=5Dӟˏu7`;otwuHK[H\TmYUM ZR'Ʋn{ [W̫lu/]SO;jWt` YyAM ٚhy~ǸMʼjlmbDeܘz& '\^N `,>k}]3 Kۡ^šm=X8tj72H̒l5C 6 Bޮb>~Yd.`yxjz:;nȺowMZutv-B30dh_}gz?8-&7b>D_% TriqNFNJS˴Fb; ̺(5Zb6RiDr]"a7G2|a~Ρ =GKhej!E_Xk )}YBP5jc،$זe~83Ce 2p>9K=:d^ސ?bdta`7ia!p?=E\ce`Yo ߺe~Ҭ|M,@!~j)'>Ay 콫(ȕXNRZa\P&ڱ1= qJjRT&y:J`"H4H >ȬL!-~I+m1OAY6`p-Pdt(w|)DӓO`DH`)&= ?37ߡufJf q揰*-+!|$ҝm7Rq0K{j]s:B"ϊ9qbM&je4^a$PY4>ol1E9Uk/ eQ:L@ɫS),0G*(}D:RRÚ]$a8hk\{فI1vhT,#غR<>]kq)sF68]yy =YD;oISrbpXq #ը X[,IV_͐U6æ,D'̍gU -痬'BfK Q~n.ΓѴtRqQ6_2qcf睯L#",sn7\xTVƟ~UzU3{?gFoM)M+/9ubabI@rR=gZi̴Zؔ_qYϓs$.1 ) x|^xEͮˡB3&Mmx{rl ,stw6K/s˺jИF>d=ǀ1/&}1$ihA[Pus›T@Ǯۋ\n<*qpVw#S<6c;Vp:p޽C&2_{:=mBq@ :ե+r2O5G+VZTڄw!c N@5dKxNb5؈4]Lg`wuHZԧo\#T9D%Δ8\p:_=HI)5܊2˃7"?1+d|MϖE u(ۙb4}n`;o`Z OL^;y4g{O*$wr,'lCJ7a-_%n(^>1[LzG*]1biR>0(䠽u#9he*HB oQe%)[UXܴ׮=a(ǾYaMãܿdkþeAyh<`;l.yv{۷t4cd]cj9|V#@ݘQWjS[.*a1߃s p3mj8-08+Rܮn"&gBffy .gtO_Kʧ"b;1bβ ZʕsBvހ-3Zh>vPvA6 &)ҹ>y&f~2{A's #z Ts1n%2gV< Kvӂu7p/VO1|[ {XwZY6g5FAiHt1OɑPNh` <ІIWK:dd"q@j+a]|,q2<@c: XJ| |m&} 7׌X䑃=:Fڕfݏq28AۮAzN2YӐr3#h۾NV*/aT)OmPoy$ D"$OvuViNc?R6|.^Qu-j0^*E}Yy`vE۸ԉgF4o:̤.$tK.u;WO5] e:bdωM\_ .i#2մ+?@d_)e27N[(=>[3P[6b]16/{)}.+ ֧nB3Q_Hē5a[T@KP8kf*QTiArfNHdI%Fld_T2kk>Cz}2=!zGvI٨~UHU^M/"C@#$&_ysFȫ\:!5^Ο2^K]l?w+V j JVmR b_"w̄vR9s0Js\rt9ۭ> wS灰3G>pBcjU2#Cu(^Nvoq8fFڿm}X;\Y= 6"Hs+'i9cl ;>)~ I;nH߽p.2+(R , L{0tH8t0D1΂Mɉ7kH+K* ŏ#$ |B?7Z$ y*%h th6+/ƿp72_uhޭbxÖ-HYI jH7-' eWÃku۴KҤͰ!iƙV,)s&Zhg0@&d"=g|"]+fm{)^bt]Mۚ=ȿOc.n}.A_5 c>ԨSOhqO@K"(Cʚ |B+ic j T  mD%M£@7Ra(V_:bcq9Պφԋ<,ͼv̛֛rFkK[5Ajð4X`-)#"4}O^Y 2X 75 π֗SnxD^!捚(,EƄ({"8f~ K0DƟ=/yۭI[Ԣ^W!uc]0[ŊKGZw-@I=$kYဏI-V\`WWBm:7Dܧ@f)Y{ܯ/eJ'Oی+WT2|@+Hɪ` n\8]OY)vQݵL'$g.t+1MnWٝ|vnQ?D٫ʗ a&PŖ) U׀/#؇= 1_!?ouo&K@ ~+>2—J\W)RfDU ]֩cLz$g iwh%EM"A V r>3SD"qg/r㺔07n?!M:) ^ݼf(4aVRpּ݈j w{SwQ|W׈sg~x;Dw9#429D̐<95\U-.J3y| x9j Y ,=?kc efhC}S )vdVPZ-+ L;Ia#k T|UǕFNʒ)c-l#+נHME+Ț%&CQ<,-b;vcIOңQT}$bj%#6v!aR3,r(^ UKA#ۡPZ2*?W,BnF7~]mncݽ(*ajkVP^^*h^ͷȴTjq C SL?T0ۡ3 ,5_m GL{ rw)5cwH`GDjFH$|? F3tǢm1Df>bU*3~/iS8:WէR'3kKGv~&{\oFDAࢤ p3z+Җ}0@4<<9%^eDplxjvp<ʻE !-V34ǫLբ6>!(*Y| !RV9FcYһA" . ;Po(? Qm69݊ l 7F7 { No[F B뇴B^wtv lq$2"Q.h(Ts-}!"}N/]%]xF' 7\|(Nҵ & }ޭƟZktb] J"Q& 6/{XE͡2G>47$ipyfTwK;,{oYPHO$J'tTG$ʭg4AX?Xkrme%yz|OhzK$$a&wڲ͞|S֘^5F aWjƒ2gZ1D;';젝h܂B|9RRbv_waHwS/@e䪙rr E%[7i͞/~$W<}_QSؑH]J@iƥ4b uQS+J!j`4II ,>ڴ) 01   B9*Ҕ{H\b4Re4pf ֶW;5{*:s-B ܏IYo 5zpɶeTtPL3|>_+ :v-Yқ.1c3@<ӭS3T5i!%J%o }ē(=%X P*~ufc7Wr;$`(d3mdy "AexC\ZkFu+D¿ : A@S6gFv ujS8V:DvU~0U#$x0fT$ヾpWIUĕAN<8yiy>0dN60`E`hK KTF&ہOVTLs=; w8zNJ"ʼnH]Fͪ!iWw<{zvw|'c}q *H+[X>l3eh'v'\clN fRd*Ȅr>R-H< dq;a0*BfZ (I֩]F2,s&{OH NSŨ]A殌ۭaTQ$rX(f (>w*<zb/7N[`PB~HhiQMueM`=ŠdP/N&籤%4}9X#ukQx=d_r: #%`AI@F4hq-pGq@f>MU{sgYP^ Ɩ5?JIj ]wT!8'7^TH}߮E>!ʼ@SgckԬ|u2BDVHD1[Z 1{j1u$Wٍ47v$pD,]fTiSB&gq-@; #Tџhs*BK,ԙM < +t=,BCe#>?\Ŝ.~jض6KxE{3A?WSi/k }\b2Yİ(voˉ{7ytZP)& duzد=sZp`;[swXDŽ@p>y"}gZ`{w-:o]0.,w1j;Qԡ}֧JD-jIhEYWߚ9r]h׬ܖ@!n}-qHYșuشaQ8 e0J 1bqB"{{8yFXnڤNNU.bɃc F0,+lm\ǡP rZϕW\aѸ5hFY@ke Um?iI mV&jpy9T頣GZXC紭* ;VGPMq٤GH2 oN?Ah{-*EO/K̈́ϝR@=*)߆ 4|n8FzȧȋSj?X"}ݵ)Uo ,6+'Rl7|VRpCF7OHNbeZHbN  ^g\tj *ڝ#TujPp̂l HΪrP۵pxXJ Qn xqJ0"g!fעϕME|}Fٜ"03+;Ͼ 1@)pxt\etߩxץG@U R+<ɸx{"T`wk),ڃg^Q O%>I2xf 'S4j6DDC6|mTl[;1֛}]!;8)=7F+% $K4}/CS7P6r%Bj'qܦb,=F1u܉L If^|iZƍ>z(iJƇgHw~QqP m{ahƵyΒ0B/(;!x,pi2a8` j,w){w?S̊W }PDu#?`,x3 &`-asJ6 ] Lڨ(mX+Xi4{ޘ+uF\z3\3OVcCпAM#o+պTSc|ɧ0Bb|LKX5. =iߛĄJr3IGK{->KSKLBLD@25f \9谳^VQl`ʄ|9v1O@c n 5K"j:RqO^rBƩ"aYЃƣ6n]ĕ7¾1Q?0rSl8 U_{DLW)DVfOM@,41VDh"vFnlلۈں`{!,ϘͺHIv3[sIdD.,+Ԫ% dD8VYqwsX@\)q){4,L.'aX>JfFOA_P[>/mi=Pp~_f`[ZY6ħ4ыB-HȝqF`GDw&!2~x8 2?:Mٞb\gL2-w45Q77oo٫Zg>ݝTv0- U*oT f1<^\ܴ$x17\y!,-JxbT7&i]K;ې7*ytL=<{Y7yKTߓр\RV4h6G:yߗݣ\>'T*_UKe vTė!R%}oUS@N+L> " :q{e% l\DtP|Kh,nhe:8KUc`{y"w g6~FEA!/_STm_6c-o-ȍB͟n;~;e?dBA2ZL#ai6P6tMP,2roK y5:=邅{-?M$%(ȢRB#(WV\6Y7\Ih B53Yu+@֣S/cq 3tE@= Rx-0,M!f#BCQӵܧGe.5%VAe Ca-T7].@0 t\lTqQU"n gP=G-9zy"I\鱵_nE6׎a>O7XL[]j;t0h8~7$E٤M,1^@4 D`~I&e&CfM(BB@Gl 30{^BC :AF݄%Mwq`aO CN@=J [jZ`% M2{q2բas*$VGFNKM9#Ū&fZ:GS}%AakhfcɰQum,qƬeػ,ZnuWUӗnkl^3u2:iʂӔ:twf_٭a !;,_/Lԙ(jbG&83Ƃkq<jSxl*bcO'p;GL;s N}NSMrCj w!Z~b,]+ʩ(cVC X;?(W;!ȂVċ%pgQGyvE p) ٻ2icH"jol3;hpJʽ 'u@#䑓W9Z": #oͼpTE钦ف 2aiR^^`Z5/Stt-FFtjM$Q4#尤e.7 6Us˰QM3g|@8c1d P4 s P!F{!fw)tVVlڇsbUF+7A!FҲtlWSE@11ܣb#-WN.lrn\qs'LRgnVm-hX?(Ayq&%%M**qh0U}F|;6O*0~ } }ToyjJ^Y{%>o"fWI k!r= L碆:87;ǷA)<2 '&<ݿFnP[O۫ jgxpNSg/y(hɰbIS\Lka R.HKF4k<=W'"YVzI%m\TxW[΀$!RRUHmrWb?UБ1߉ڭ~y!`:ks854v>z%"_oO¹7łaSFm<L&D;~ 5\-vB.<`F y?tb>31g7=)j !po-sBgj$}tV4D3gm?$;q9ia헠:MXFbk)̽Ao<xCVD{#(=Bn3M'L9b OP=c{o]a{(iw`^힋Ab=:,0x}Q=X.YGޭBu ]SQopWu6k1A9zmq&'#AF_q431* }ΠZe$TMc%ĥZs6 }qGO.BJ/p]jߛWou"dȇa_;Z- Ƌ!@>XjAPp7~ch,"T&sSe2NVf㔴zTIn&jLC7vJ8Nr!,׭X!>6v9o -VDnf3Ѫ So N3* mmU~SeXqjAń,1DD.(*M*fm@Uֺ'#ºAx9)on,XgfN\ݬŠb?O0z-&\t$iZO'}X=t80Bn!HM `F%u y #I^PS4AVmu}|^>Nxb@Z($7#19EU%&*GgCsF1"ˀPIOuNy]5sG]zJaaM -Oш`xN"+Qfr+Q(o=/\K&Z cUT$W\פ k!xjp;^AP!F<(4իF*i*X-1Mޚ |SSi=yOI7V(lM?F=T[-i| $ *`" =:9&1%DzƬ7PŖ Ȝ?TKoLtҠO*Fyk|ϕqB:y38#%9@=eV/x~ʲ/թGFzEȴam*ShV&]WO[cNZ6 ҩ?AuK _6Ji$Z$l|ŨclyFt#D+&ɾ/KgtͿbRƷ}\gf ֜}Eκ]!c_'3tI L,0- j#+Eux4+ Pݴe{cC+3,zyb (8ZNi܋?%ƥ"f'}<;y u) K HiQw; sXSEsi#O{XU[dboôyPZ}1 v*;ŹG]∘QWZQ2UD]#gpi%h~vMb~ @CmPwу 1Y$ $/Ǿ˿ᄑ -Df_>>|<ҷю,vmHpT0 /uٓ@E=-خ3 kv"wS9t{?khjSvElp8]|jʈCӻcYX|svMɣ1E!1lE3Bѕ/\,-`tq) }sQ8?â ĵ|c.t'ƗS? ˢBcҫEC XiH]|>r(g%I/#_| tG~x%P E ^XH"ԁ'`ESJ_OS؎eu9ggl> ,q,x Lx 8nYhqr%쪶yEтZK؞ +cr oBid=>rPn'ŋtIo+lU}}0׹[sRHاlwk>!|PkAANJާ[ڎ ^MAz!RIY5d HGf"-J)?DO+TV9=_wV7}%NksAIENK-粜Kazj*h'RǢڀ2@ՙ`Z..̤ woQȌFUգ2#:+Fg9 g Uh/q-ԁ=)4=CSygtcݿ9PC: e 2]#E+PC(gʲ4v'2L\ŝvyTLh+"oiv77 +a4b2뚬ZRWbE9ߋ,q=8zz71t%2}DAހʔAe'?$:*kVC)P˄,! N!g;Dn9Ceje1F&6,ve_xbަ(_BrzQI<:+B۟^_'D }+X9<(Dfy0 J{ )]՚i}&- s,|.!#eJen|vxY&!ʯ?:|c0Ed#PLR6Z=5X4Bt4t~!/=, -Ȏ`1|$l>)ogOL Px$A_mlQ jjm2J5ʌ:X\w\t?͋^DW9תv/uGn 2B`Lч-ǃdvQ.*IO&C:")Y٨=W >Ann{آK G[kp)W y.ԎW"Mxj=-}GG'K!|l4*/ItPW;FXL$I 7#R堿X2Ƙ_ ⇣| ML04?xIi`z!с(F;jԭuj~S5A _ ph*I2-WgSQ6zNT\`q5AjJj/!ҌGwoʳLh ^toQAY`bo}]xp(_-|$ .~΀dMk &C*})S-Y6:+I紷Sm#J0`snP3Rmr]ό6`4=,8%ӖxMᇛ#bi{ ,ҠK٢k`lчw@Nj;!ٿp6oQŸnrm '.|f/ &2M|x)uy~GupWPcSz*(yQ=MNaǻ})7h;qٝmuLpvpΓ*!ܯyROqm=h 9A(8xW3˦"l9ͷE<uWPu3qBG sɸwm:d@u"=G٣ی!3bu/7 )MddOg䥍Vs.LUN~fPni)տ4ZIn}(K g.#3'r@֏VqQsA(QNv񜈨[0QbdpWYd&ʭM9jh/"߼'m(a:XRW}OaqsiF|=VV;Uſ!4c&|Q4>Gu]<.J+0y[In^X> =ϩywqiՎ$^BCGr5(kU/|zgva~j_ P~^J6 ,pZe(P@5pYl՗3{cD DTj4 m Kw&uL 1F 9?6Uoli[=`#&\\|n%9yAx{E}(y28U[^{@QMk^Is9V0" 16qMjjH^.yY3: (Q>ĝS&@7TLsm̦#qaN+=<& |x^ԕXY *}Jg.ןFwyCr* ;>4z*ԿaI rrx͊RXh&'A|J18ѕZ OCJü",d';i? L(,wWSR> HDڋ't>plvz%J8BC}owy0FR p\e0N)_ $1ZP8aA$*.B]X!99yz#iLsgP@q_(f`WY4^݂! *YvVA۠ neCpy`vÈq? qu iCqmia Z-{%G5{X}'W~Ḧ́oyd;C?ƫ7$m0~d"y"w{_ݣUr>6$ΟWAPV⃅36\bYKȒJK,о}/ԵYT:o^Ҋ[@Z[)s~5,OïhFxOYqMUASnA&+$0eAk۾l(nތ}Ml֭Ϲp8ZnB?dUt9RhC`A'Wj)(L)u+Ŵb_+"q)-_XBGܺI^8uFo3]"葐z^B)dHCO? 9JS|:ĠfTniZڹ TS|$FN諊f,m Yg/tsrL| 9򵝐8p૔iN+SϒlQ!c۰o`i=Yn͸zo2\@' of ={="=f]BCC6;~'xG~Wz"}4noŒl9盌SX,@! *^凷٧T^IxQ ʧKFӻQt ~Og 36|QS+Yax(]3,ndͮp0n.6y=pw@EIb û&L;"UgryÂB_:+j!_|?dX5Y*Q6tJt1r{=>g'k!gr)%f^%QQU? +톍=M55~LPPuS=). [F TO(H ;8F>C.'JԁtT u5Bodʬ}X2 Zi"vڮ)>ɈEΪ&`!p/ov|]jİs1 0J=5kzAj]mS!ډ1hĔ/=$P/7]0hVú\)_!?@6(-e%-c v%}i%U+H1w\ɿtݟo&^6ۄڭج2f_"h'2t 38%fefuSX- :#b4.+rZmYO b2:.ᐒT9Jq 9:s}t e,fr^KB *}19ci-a+.-m9h8'[YubPna,:@/D|״,RR9{(eR ŷiƨt+/Gы"׿I5ؙB1L%ce[ nEpfjAs)D <0UYsB.w MW~r3ΓpwLm<*[N'9q)_t#PqMRPrmRh_jr\y* ZW)d%SX[r_qi ߗ\8 0x'%̬Pg2bV*(<-~qBḦ̔C< crv8JJn {>Щ6}$Xo0?e^^ ,u^?/$cmM ڠl٠}B)'{DQj~SauSO>6O0 /R vUt7VϻV /)}zUԺ  A6(Lo6ӌ 8Z6}N8٪-zy]HNVSQcx,Y 1ДŲ>I59ЫI}tryfԟV;6}mܴT⨻mRUewF~τK GӍõB<yf>;7U]pR;WmA|h]K"9#]"R?/IMX1=1hu3NQljqx*ǏF!VF=>AK?{Xa!`&#l@ҔǠVy:&c`Im R7kLwZ .hi`|`vvz\9yѣډ'遈[c-6{߫$։](2^Lid W}ό-=5tٙ:"St$4:F q4 wt7Pz^n!Ϯ2)T/IPQ ЪxEܵ>ʩQX3ɟ۠TEVlļw@x~!J3Ayo(-}Q*#"}b}k4oOfܩa~#[6 aξOQBM'1JNgUu Y\k/}tGN|lb/1')f]&L`y^' эjNx ՝,* <XU$c3d*hqʎQdL%w.ezygct Xh/=I6g^e;QqRXw\zV=ә(}\P^[CB [4Mqt0en u QX^$k0TҔ۩_G=/l,aӑOf$İJ/Wh㢽TT^ACsr2ah4]6~eLb {@1SP @^:ӌtFԦ^ @LLfEt?z]o/Uع)w׬Um=au,C>Yx]Wjk;# a6wx[:CxX'ChIsi Yl;*ϽZSk[a@:2 :tf( y# r: uMό"u󫘡iz 7 Jռg^ܖ'tgi}/5>-o|T嫑 A[+}OZ1bbGc H(f|+ ^ C0+|}ڋD=!>7~J!}rQ}Ȟ8Ki-(%TнrǷ!7 "? E25˃'f  8Uw6:wuLbBXR2-GH][NJy|p+{=Gpсj1y^ ]x򆶦y_o HW7PFMT+!p.WL|('~A!\S 8jHr`}66t"ĿEn.9(Ik4'@NIF}B<8,hn~4lM -xMd"FUrhISWU$2H/xz MY>7h2$TFSFME̯nwW=Gr-H C&in}s NPf /2u?vzt(z^6~Y5aLp7~j.MЌDWHl= ѹuKQ`[B}Z*@[mہ>,G,ԓNԎO4hObҡltQry v]ԅ_H'u5DjVS ]" ?IBx3C@"l?/YgR8YǵɍE"WZ{w!6DFY0c@ydZk=ӣa8"\A\]JP=9&q6@{Gs"brQPOB,ȂWkx4Wp1OCq-;>1w/*\q*EtrY ap!>Q6NzR@OgF+o?ї #]Tz.-K'ڬSFJ\C]a+:T֙zs!9^!10{<$0tf5<1y*j#w 4*ͧߧ`1mVnvc6DvQ( HEXCɔ1`%$V# /:@`wS-u.]Mhj^Ѹ6s /^?rBݴX.IL0@M|p/)- g4XFH<%ZٍYq)͝uj{8C%1>0C`dI=iڨzEҢU|Z#4E$ Oe2 ضhEґ,?\0GnG>'x~9WIW#BjH>ѓu&,\ igCK4$To z\+xdXK?zuL 5Tw.1rD%Q˯UeJ1w V ,<ޗnj@{9Vݝߠ W(w[w 3&I/-ԩW!a6xH-`Z4yW…I?'Aࢹذz|paDj"9.ٴ zG^m+E*y' %5V!'mSh EG\Z\A z@&6mfD*z/t/]mְX*tmR^ҠXu#o\DDth N_wl }%r/s >v5 dNq?@K/K*%X "} kn(gw N-WCƸ>lJdh&Rա 1ioqق3IO_4f%N!$ȫb ݛ^Gs9)Bu&%+!`RNf]$v E !-`[҇O!,4lʤI."{yш~&zn7QQr@N~r ȘQ1: aҎwP|h(dfK0NGo'BΣJ aAu?=@ NYDRCm5Ήe@Bl)wM9~*IaRwgo0ƥqӁTWL a!^ M y@wJLL3 QD?퇰4ꣶoy|8q]-MDYu0M4) ',U,˿ȦɲqhZWYơdqLWNO%yqqa}zԼq麃E2O$ ęD\+0.L>7ީԜҎKK\l6 ] K^ ESXm:M.̉rۡgnA鵷bEv-QJ\`K|Y&ɹ$1뙷_6l% <Ѓ๨lC)Ͻx_dͯܧç["p ;y8OHQDkؔX^~T7BD*_*^7$#3 _Gml,؞ea@g <99zX9Hc#&[U}QՄxi糤Iʡ|\k㼳`;s71=( 81"Owc ;F,0qـzd雌ɪQ 4ir^'OEW짓B8Ȥ \ka_"aQQb{Z0NV~)K!ӴۣAx~gy?aC 9 XZ?쀻;@nna-o >MH'-Q)M@ߤF-(r VPAIx_ 5o,BM }AR9{sF໥xF"׳!:>`Oo'?q!+~0e(V~j53w{DAcl'WEӹΩ/;Fల;BX/brC}n X@uؿOq3-Ӻ{Nh9GϦ@Y5B`P|kp}!];'=0!f[a'vFv+F` >T"oZs3Lpw "f +\V"uM0܇V'=(3^15r|v;foĂsvFesv7ҞiR%TM3Qw2%ŔR/ X.w`W VM5i:{9gj[laچU5Tu2(τ3u*oɝg9&\LҢUzWجW!e[udQW |)E!7Lو_Q*h6F[ KB&H0g<ib7,*s8f/W3V&b4ǾR.A:kP+*P|G+hOPaFUo/1V=ea;,L|=f9? :!D4La9B3!*T($Ժ1KvY --3JW2Ohca~cߛ~t\> RGk)f-Za7\[Wl#W)S}$e>c3c=Q7uˣCWЊNPu /p1_-3?rκ"z+_dCIkClB5/gxr0qѿ mHFLRY#U5F^IJ|ir7a(ezGf٪V;IfAJQ!E52cu\i`cJJ/It jQ+]Fױ,*b.yho ]%#v!c?~۲n{ vkCaxop|P8G-Suꋺ:`ِejbT"B.hH BބzD$"¾i6 XQOEoVܥo i mв#C5h5=;|m<l ɄY w(MpOpq>k ٍl:0X@Hh^\}vGmXLJ:PB]Evҕ*;\n=)%՝PذdzUκ"cˑ{)\lOqxEUOS-#1b'oBҒ~!I|U&ȭeFpoc>(HSzsFґ`N=~>!W~Bٗlw)t5™O죿BITSK)%i& :/Q|/s-Xk̹)n&DW2  Fg&bVVC,5[yπ3grߪRxBلj H.mjPARuyOgW2G1=al-ؑ@RE?ڿ(2PƘ4T#xָKYQs\s=E7ۥNSo1W݀~{b~GRCh; ѮOPXgSh2COre>C;z>QM d՟bdxP ztG α'P]O$*H|X`a5Ej-_#*BQӖ po8BxKCFȯ90"2ERP|D.}G&T/*]rMtk;UgFp/}/r~Gc9fFے 4uBJON"w'>;A|CB/6:ӟ6 !+LHw4^/4-]) W}q@ĉj 94:RͶ`qL z=i4aq kO#GĚy6Oŵ# \ [)p`R h\Q'\!q SUssl`^Ŵ#H"I-Vf`d' =iֵO>VJNlg9@$v'`͍ؔ_1 гp7~-+"+h/kkX?@Y*Otm6l$d%GX'쿩N(uU?]WzyniGl-* {Q)UT?,.;͏sܶy>N/?D`ב]~2o%_Է]›K΢bqb@$]M/ych_C9?QT{yH!24$9hPt@DFQwE֤PzGIL(RtUeaHf`6"YE0C`cPD_\NTMd*߭;BD0#Uc͐8LATf?.ʘ !-@z?[ھibI#,͍e9rήoY_ho޶AA{03y p|@ w8?? d+rejoHO>jvWr/Ps.\7|oDŽM H,Nh?}0-7_H D>SL䥇02L@kA/JI`Sij:mbEGl/6Wtl՛fζRYR_owf4@S݋xqj` Rs"f5&yj$㚶 Tً * ٭&SLv '|AACp6xx"8 '_f'h.gA+䅱[-`.=x'&AH:}|Cn#ޭ ÷ |zgJ4o@ٙT}=,:.JR`nFa2Wm;eٿ$rh mwkйw>90-`Fh3J:GwVUAezTx'ޑƵ~A6s`d!~&sxZ$RcyfOj c*_s~kюLl@X[7.*grYIHj~Rӯ؆a=tٯ?ϰ12'2EAHe/'p-2]P&" au7qQU'+t," Ln^}cvSD`20JP(Hf; 3ZLK? G@uAJg~]e*/"9O XMauO`C2t%kYyjs_F4qV#Si1QH?n6䲢j97D ;q%[y6uy+5D苀~.QőO2 ֕zs136nfv{7ȗ2~D*ht׻IA1^ IMb$K?A<'M|X{Fh ;A|۠s5jhfTxъ˵3bY85e2;~0vS6; '2S'[8O6Vyx]}$"YRў^!Jˀ/K& ÙI69gxdZWmo~I#8I,_3ྎGOݳc-q^ 5egD_ |2u81ra}3`IV@ruH: FE kpEe:Q1TQci:B#ݮ܄6ʒPb$L`3[H?9سri(#ѶAօbRt5LIdZgtzű`AgqR }mi \y6^#"wĖǷ xQlSP1pW͡{ahH-/K~!}wF N4 a Dpt}V.bTq1'j79:ދ"n]iߣSSW=/6hC)\v`53Mr G*,#P"3W֢.>c~AZ:o<#y8oB?)cJ;=ܤDywB Q:H@tU_7_k #D/pȡ|Es3z`exR.@6gadSve)7ջ\z>a#`3/g5dI{*fB-G {9_Ԁĭ7 Rl%G`#߉H}%Tf`vGZ/ݣ_jaY&j&aBe`Qٸn=9 bfy5m@ºe:4P^i>4h^;RTxcFd՜X2|6co:~Lh_gO*im AzGZxz#o&[;ٲP2͢kB |OP *s͝w6Y'.|1v8UӖF3'm,dȸjs~SB_o~ Y۞`[.:ZTC^g3i!umFE[".{=J*WgvCg%EIţѷ8@h tωDh.:s;^C.bFE%g^޽ yv v3_βGp-![C/A5]B8AҷGZWżՖw52BᘬF PR7f7)]H n;pCGPsJ3%v&XvW—M I.Vm4 J|F%U"+) 2QvDFEZb] PLg~OƇ?R: [_IVcmG+0!̇^unjZ{pTiaѤepC`˻6L0z #ym +Lf& ٚ,4nCa8ӝf~}|b(gW#(C6-bkAqtB40C903\ F59=pM5-} .B#rw.Q- +5Yi-½[%gh&Kq9m206s%`/6o̰n$rRDxpvf1Sꉥ>;5=[+ mRN(ĻҖz`K^V6sWVaP~a biܪLnO^]J+ƒwrȎخ|xɲݻnGy yc$/;Uһrj=Pֵ-#F#>6]5(+gz<5 &ls4gODRʉ!K JUhc}P,8ڲRvn-Fa5v b[3uMǻ8"-;DNS!sh9D#0"gP Wb_d3qB?!CFB [ȁ'4n(!I;Y ҄@͓DA[u7[Y1OH𦿒X _ <j9Z%g oݰ;dܚwU?xm%LۥfDKĚ2=rπ-5`]:Q'A90V>_]9hNp*e¤:f(th̪֗n~/'t% #$՞h|}D)Vcoƣz%K=ܷS[[7Xbkpr@t>Ĥ! HEOV5IKR5ߧܺ,Q6UdQ*B^BFo+Uޯ%iitKX(x[ Ni`(/IjM-c{Q}Hs9wjϬor7ܑ\=&a>5 zտ΅ĦIqPR)Fh/i،Q[r\fHwTpvh}x-ku8B05~P,ST9MS?6AB.w}os_D)%p3JO|kl*֜@7NWSq*:7-4j ƴ,UzC,Ö Fߖ'Ywp=$sU]>xtnȤ$%#=J8!cȗCTΎKj#tƽg@r'U~ =|5 J?Piw0aqiG7nb n:I,}"LDD~:NV2 ^'P~ͅ#HS2cwY>Ia9m sz pv8? }"Y'pF/nx7(#^z+3ϼpSL-pUaݤY .skV bXpGD_'+xk.d)& AlS`HFh@UFj~ Oɢ o?& _Td$^^}VCAc%^Cx8?lf(yf'GK ߣ"!>~aTy'0֥ ,9f<~jEzMX`k!gmBU Eut Ky|#_JGbroޙkM[}"ꇵt+ߎa̓eݻLӻ\G퇑*f^y? /WuxH9ɷ'6 '.w3o4R잙~˻ۆ 4-dڠ+X3ڳ_AZƝ{|19&C ؇DV^@޿RhE][^kgg+o f rٜ KZ9ZVD\ã7/[ZOkOHDX*"COk@<Ҍ'/̱D)Y$I䩙PDXiO?)Hj[V/z4!^o Dݸwv UqoanKQiPv7B?\R`ešYm +)&Cѧ`WbCphO%C=5\.i{ii ,0}.2Yz̦ nWnhv0V'ԝ3= ^/۳nXY0ǣJb^\Tj5I3^# Pj~I\Xs9|]Q|fCG3p YB=O{tV 'A[CɘTj>e\uE ֣j-.79yg y444MU r`TlteqeX: s& 9G $#\š=PQZ!e;n:k-i; 4hނ Z AŴ` 퀙PwWӄ;Ad`Q;ZᳵWIR+$^>S=%IKz0©&ʆѠv/,! !5f/hރx?=ۇh_^ [֟.w*?zDA4"Dq%I#hu79i,I~k_cTIk}hAQS^1#̊? Z;cwEG7/v}Yͱsozk=Bސ`+e5Moѱɹ<7TiКl3EXߣd!6 YOr;ڣy{ٔ!|1«1dmvwEbwp#d,Ʋѵ/@1J8<? ^"ܚn=>њ_`Nh }]O(F,WKLYp!H/"ԧ ʆ.\ǮW{ #}`p]9䊴e]HK/>(ΈbPWG;0D RэE1hB1VONWF+EQԋKr[_æ)X]P x0eZ [n**$v2HMԆLWjK.;"k4)Bc Cɽ.o~!b[ЙD݈䱅G+za1&01r<+9) 8x[\p|wC;[7g!/ .2뙛'A1Ɋ+3!>7AC}g𖓇'xBwd,(׌wB #l+h(30ԡ#E}F%T5lZ*6H)!*<_Q?Wԍ]/ ^t`>J^7WIɫ+CFo},žIJX9dNNX j碌!U7m7.]ǕpC۶J$|A}Łnf5_bmTh.܅&*n,ߒѢb2i|^}pAW"4]X\!n|IM[ƪ!RA}ǤZ}(As:@#&[=wCkRD#(ZBOϢ WA„͓ʙ7!bx6n=Ƥޛn]a*&3~(w*fRqy;cGZ>j$: e( `V-2=Pc&tڂdzcŬ8Ic_|m#h)N2 n>*ͪ_ y;*@($}ݹv;9b+t?:B"p nw!g-:Ma@L;oI휈ʱn5uʙ'a@9Nڔ]-&/֧1Lf&eAP8 1pVHuy[B>u(fd0)Ŕ~lx@FEp֗ޙyx _|Bkx_.cV@CcZP]tvP[P$ܑcŶNUr~\E +0qHt8̜?΂Rdk%h]{_!4Jf ++iaݻj% l)CvpѪˍ%i'gmnus(pc▂ lKM(7'ґĔC f1 D,ɜe@$hH~k&Euǂ|?34O@ʅaʐmVE aRU7f(Ƕ ;i`|"#MKhI g*#>|d˂F|%nV8%2EH\9;gpYxq+ @0w%}j/qsa7hYg`.r1a7‚B;d(9<& s1MfhrW&*n82$PV]B){OAC3;3VlD͂æ{ YFH f@KTn$U?ډ2nWmƤn~m Lsi.aWOgh,0$h}[9zN@N nzhiihϰ$㮠o% (Al}DLڶ'ç |#"v\9QFSh[ 8{8 V)5?(]R6PqL^YlU͸4܍p#}$>bY|]2`ayE(K#fhno}Sxb@wk%L-jr _+)G)Gm4i EC;j ΔH{6f ʹ朮x꒞5d~[UafC+CUƹmRXKjcaMw(x$kDSz(8<9xml޷Gq`6Txlk/E31oh.1G~z u;~n!6 Jìx~JrVuQ|t20PX$MoV *l0S#m@o|ph:is]=YP<΂f5^-sx2ɵIQ08Ta/vuLG_NP Uu.XV~RVo,,忍W[l $}dWL@XI1ƈE3 bspôKu|JcޮQs xx(DfC_bOi{PDqނ߯kiltSm!}0tF5xJEpCH IN6WԷqH/eo.5QT[p}m:={f~ҾfUUV'yȺ`BPK7>WTӱ24+٣YMeZoTho^67WD&w+=Ry9sbϲ>>+(6?X29w&&}T&*pPOBQlt:ɲ^t*A/BԬ7K)AXf&OWu * oЂs(R`ACtm^a>\ Zg<`xH cw+QRES020MQـ|nHPXS/Pl)B:$t1lefdp> $ !xkn.6&hg6V+K|N+IȁS8lM|%8';td43P^'ؒN{d%}bcY,2tŖ1J≭R giVA(9, pPR;gyhys\b;ZQ݄g4uޒR sjOq._w8Ѵ4%}ge5кhgr%*NVqV:6%w./o}z 6R?ҫB&L'>:2Z(UR 3ՍWqmc! Jk{诎' Ei]5ZsjLj]j|;tvti2.H΁ W0b (I~ݬM1\#J'}xo{ fۛMTO9QWnY4V5ZسTdɚ_GtqG]RCK}& HNpc@m/h=gQ\AnfX/gw,&l /KN4 ^f"? ZZ!0UvA/=o]g~QB ֝It[>WKb 5R?8ă\iovC(& "/3{9F֛QS&8I= 26^M󭐣ر£zz#mQǣt[}A?VIiϠD*MҠTLǛӪ|u V pW04_-Ba 9U;f:E/O^wJd$$=³J8ጄzZ74;|j̀G%("N9Rfo(죜8‡yꭊi"MEmK.v`ˆ}__XѪܰ:(·מќp]TX pI%9 7 Uٱ b&b͹Q[^oefIe*\߄j 0֤g) *8 !ܡ R"|[{Q9b\&"ڒ_1$X^,(?x,qJq/##9ٸTf A IuCz$w6Z2XQ 'ׂa\`nu^yEV0(*|e߆i+gq$K{N;a9Gw3۬egfd)m A^ +X0Չyvn&7 o3Dv\XAe@=ֿL7ق '2#i2=0&x9 Z4g֤̅2qm) "P} ҹ Dul*HB+}k>Lc`uڶt. ejИ:=tys7~ L|CUy2ny/sg'^ߩ{}AZ<Ĥ9 ̉j:eQi(GTo[EמHMĆ(azk݃(ވ@ NҞ4#S@rTY+}~UrNJYĆ>}uʱ}F\cgUN'eG̑ B .~e`0_zwf \&UYJfyjK˶@2J+~$x6+ݤ &9;?.ḽFDhc8*Y1Z/uc^9Щ-JPJFF !ht F#r/geGB4µ:{TsȧmaG/ۆeYzX35K7= 尽RE , LfE"~2]-_ŗj4C4 "1,[,m8zU8uش&G~x:qb:gZ?N%[!_ G~Mӄ (l>̠` l f" 87Ϩ+o~IGiL{*ﳭ (摻ej .2ry9X^ q3"$)P~?1CdCJ(;cqKMqY.S{NL) - M"t:ޟL2 È`&r{/TxЪl%`G2CqQkpin^DU ]K(C^wiGsW }/F|K[`F駳 OWڧ䠌b1B+W#>s K"gR4˅CND?  餭Ճk~;tO@]-֏&*҂tТvs70/*̫j김slYEŧN i!x;2 fx~%=:^縁Ƀge 7ģ(\Hv5ޘO)dm0!7*@Kƒ77<"2v0θH2_m*]a2SocŅ'(Vף |ro G`h/M0" t?XhMvabٚnxh8Nq( @a6TK 3m9`'~Zo0uQpB1FLG)Dh:Ƭ\: =nBpLty`zo{$q`|.g)ޛ Ӗ$ۚN/ܥ[rsR9HGyph92+Z%h\ eamQGϦMnl wK"l.I7ii $Y>{UjyX8M\`x!6em rq 拰޷T%gf>%M ~d4H;#ߒ /g"3d.LQj,XbA ['{Vt%xSp@FɄuAgbͽ1q9CwZ|^t=7YoÎݳ 8rsXJ%mCv y MZ O*c%"(g 'i:;@aSk8F`s xOǓP59oVUu?AQ@>guC.9ɷLgI-SSEF.۔[pŏ?P4f]xYbhIwsY7Sd <Ԍ:ӄP gmXJ x+ˤhIӐgr::8O;0i!" ֎Ϣ޲poŨX6Es՜BKLJ8j^ 1u2Onc2`C/?rj% 7{G %KǾv6.25P(j.SyrEJ-eeb9t-d=$"~n\Jv_>2|Hط] 9ޡq%^qA2,< wpw:~6Iݿp}{fJ,>MnVfbpv!G 7Nd*]k.Wۙ!H$4-rC0ß5dPơW*[@MaFPB?9sZeͣi r28,Km/>gԹ(eh#v0-HQ@5bF8a>0YRڛ ɍH=>K2 ijoRP$#Oх z-@ܧ~,zc/6֯_ҳv ±ԡ~WacHsj k;0=5$[%xfZl{B[u:pq7 ސLi g?eu%!;?o^IRZC[CЌDE0th `Ө39:NHAz,v b}MWPoed*b3F X]yI/®mtfġ==FV+|EgLS6N=yjHa(b^INVU?ػ+7|1}EHrE)pD h`mT IA`{}$ xxyl7[cG6KUr{gB̾d_6$w Np) |/FΙgiE 0PZXR#.VKmҷ8ˬ| 勉i۫q-)kimL칽v-F_j.hlwT+ :u޳W~;ýNkϱ{û̌= K,vP.dFr؃ڍkUl3$/zź4C̚G9sWA/6lI⼙P*Q+ ݸrR;NBGo> 0~t$mzj'[g]8\D\.MUЯ*/b#?am ӇwM+wnvI[Bp9ym1NЂnC].H=К6lI 7D17b$^+e(M ("O IipMOt{wSL@n2q5gr˞a".@ǖD+5b)ف5#imwL.й;OMJoԠ7 e={IՇc/Wvh,iL@m\ܶ[h/m|md}m"y ]mMMr!R%JmMkJQEl\oW7 "a!g-tF×e֔pp-URd/ޠl_X3}߽Y07S0TS[B_)ELW#q7 }lwc֯7XTAuԼ bcYUZZ3PZ?!.ӃQ3t(_`3/lO!?|$)'ehT݂+IC~|Rq>I-@3﨤(ปThg{ ҟR?qL'Q }EX{]kel: 1ؕ׃Hp`X-h *iq&7;X︊p{Q# c/ muR\ !S|SrM渢S:Sp"#K@V㑈Uu G6jEQV6z2ZH/Nҟ",t́ȪpU|,ѯG(/qoX{)bnWt*CѾ>%55~yݭT+ <[ow L9;eݡ)s>垿,2E6:30dSM\@t3#A&Cah,&㐧(cTЪWJ nchL,vﴐQXfm|WȀ_j@krtD=w_dU,D@guUO9=/6Psa,$v"ٙVhi'y7"顓^9DCpBCww`ԠpÖLIIMTW27hd/4.Q)AC!kZSחMH+qV;ed :DUu!3$w3mZSɔH ǁbVg~G!;?w߷ۍc邧EpG(iTزE( )TۘdOi2ѡ>Z!ҋ&8̍zr܊?AG640PՆ<_ kR X ߪ}mm ʺ4Y\wfCYP5u6۫[Mڃe09FdܳCTR)j.Y˖VnjB3v=24I~ #m@=Zn< ܐvfE-a$O~ٝឭi$=6: uHAW2EL;#:2-Mf<C9c4$Wr į75C^]SML85ƬD [PJ_t0 C_5N/ID7~B 43!.=5cz>&`f$-τ $ (,>1Och3dO)%WJ&L_âw BdOMq.>S•۹MmǖKQ@ԓƕ3iU񉈃fUs;m%vCDƐ~_wVKaZ pvy/ׂ`Kp(벌6XJXr `4 UAXY#d /KpO =rb"DP Өĥi")ڳRHUA|*G]NvҾsE( 0V7p ۀAhaܐhrS;wm:Y+ ]NE:'Rxqn;Oallb(M+Xrh.)@ ;nDJfeEeA4/:{?S㤟dM&f \}[ =l \qp( Z߁@}Ia,WhkeB^vϩe} ի+~鑓%ݨȌR0 3}ӄXօfgNCKdD{ZLSUw ưpFWW؉2SRV;PŃs*awҏ ?aF;W|E_ j ۢ27"XEukl Aij=.N;zk:X;WX =~lb$Ksz 6^ei;Pf7>?| ];v - HãotZdlfͩRRhnFLƳn՛ʸcd !a%:|\q%9yj=~h2+d:^;ٽ_ . j`K˞y;So_hXi;'0OVIՎSngFOXBRp35GCy[ƤSa:D1GB[hpI\<ה"P[]vi_gU_jEJ ^2eI 79:گ]QV05'$=PģT~'qUrg|:A5T;Ǯ[]3Џ+9M%O -+>"ϺGV 4hNj1?ȧ[$xڸy53LⵕeLDݣ:}G8dsO`K,ɉy~+mll[7ڹ_o~u S\;y>Pk'KD7{\,6x'lIstP$OBc|)+_մ#F6*I2ɦ*Ҕ"2኷`Axsi?$\ %ҹ:+r(ZZNmNIPiB1ی>yfx V'y\P7SmwiRy>*z^}s ͐c6pa L]eF=$*a, !Fe#K"쁻j );lXvJ00KC4sU; YBA?3H8dWgof2`C :jf.VcgB1rS_ %xoytm!͆ߙf)ɿ5?^A"O .C>&77PwZa֙SSzQs{=8ilԗxJnƣ&uoN@ q`^ވuҦI;)Ud7d.gd_Щ#L5ZwfSka{19;ҘdU3EsN%2ь'v^]EMgZPS(4eؔQޯ`O\888&5K34[M^[d*\z,=b%o0^HheLFL-%Mn?X# Qn4|*>_̟|vbl8q43:M1`^=+C~N蓻4`Ntڸ(]O{1İ\MT͏J[qfpq]6tԁݸ©M?3`dhAkdphbRWV&x RnN/-YMXWą:"9M|u]O-2٫{T${쇸Sвg&$ݩ fIl@Rn>/x0#TVףeamel[Trʚ>cI~aT, 1_ 4Կ\S%R1pS'PH~_l&iO;\?j$xKVTpJONS7#-i>zf->0Ul,iUƘKHi]]9>=&jE䞜[EcULDH^x["Kbmv,ڤL'VԆm4\n6 }͠ߩݺxϤ0/gyPq4moV۝|fĥD4jqq)ش}y1aiI[aEV]:?GVb$E[(mgۓ6-u׀wmZ*^AXG!0]xBG,}8 2Hs7:7wc배X1REnѬܥdph'i_0MXʉ7N :F-W[Q&&~әMj F엮?#(]c#wW= b!KVޠh9gV5&̔Umm-) AQ!0u{&a Im dC&cASLf5dn RQ8lS\tL-`d؈Kt_kC|$BnyMW=e:/{tJf:zF'_DDŽsT޻ic\FTmh2fq&P_(TFi.WFuEY-B~jtn8(Y؊=Lc*pyǏr[_JFRgJҞb.y<?9n\åޟQ͑GF:HīGwnjt*FQ[Er7FKb gl3HkE(T͌@ !HU?m%AsGEA:־^%-[{0UNV' lVW0D+N 1 QKp9PqE {Y_\1|-Ƒ) KӶ\R4('YHb+zhkn#9}Վ!ۏۅHlc­Ն=5ٿ1hix"Q5!<3!]v)z ChbȤ-%!q x@DWvԊXGKa;^P5ܘF#p{#SooMJHu g)FA)5dP:0$wDa|d5ͼĿN}|9D-ԟNGP+e8<ņJ" ~ -"O7{g#>~~V ( ~h"43RV lMǮzlu[Y%+hBﳺ?"{*YۈKst5H6>n8MSj9 ӑ0Fik\ %C7AkH?ƃ* ? ¸_:) Y7)̢EMVs =c+}ʍQTJjGb`,2SBj -BdGjt#xoEs"$Չ+I9\rG *_b=;du¸/R%@u^^n-a^%YCL"zgCgA 1][ !2CdJg~~)@f*@=?cBJ\C! PǠI@i=@BČ)DΙG(SjVl&U߅2E*ǰUvQ=~Mo|s$nyĘӯ;D!ߗɿI ʉ…uC]kx|Q87[_=FqjhT`@wC&jsЕj+Igy!dl4F Xe&~nӐ%Zdc GǂY[۽>2j>PYӬmlcivU߾J"a&$`G1Zٕ^_mkOmP^ɵX&">hT":폋†iln0)/6hD郍~ߌS\U8嵎An'dv΢ք=?A"4Hࡖk,j.ѳ| 4%+ΗԠ77 nofj' 79J[&ᢌ>{tIpobE!슏f1i;YjqC.lq͢ۯ |Lh 0F2#W_r^_C+h@}UZvG L؝ UjVaB..# 6,?ɣOUa#U[ދ8CIЭ e.q~e8M!% ÚָpY}2Q Pjav21@;"W_/Pcߜ'JVt8Jt$ ۗ+iz CT8skozMqΜhw^mhnoࠕxLGu好+%yƹ [:wM {bMSPd_[.;Qy2qŦ!Pn].o 6`k<=7JZ,6Z?LN$Jgc @j]ri]H3DU_N̋$q C8>|&A8DO0j 0/]z!N~[{~Udo;:7^I_.J+ ;}%2TpAћtV|#楲cP9ĉmdR(K~vsĥz+dS[K)t+HKR-K'1ܗ gF=/]{}E6y:|#q+Yc #\zL|WGRJCG084NIې]=N:HYk?7ev`$nј!.N%i7ߌ\U_j OXemG, WI 6*-\&~xƆ%9 Ea dOԦroXJePcցS1!rY-'Qǂ9#@ljV7{.\IXI}#,pPEw;ɵti9ܜ~CMsE:іOh>®ֈ; 5P=W :8w^GL;3ƠX  ΚX'9׍ uue\K ՇSaytfkץAaܨs[v[[""2CF$c.x)u2`FlC)of7ˁ[õz@ЌOE$qxȱD =sms0;%(L~S}fVJY}<)mdV9pqqc@_ZuxQx~8{ܺq\DSLZ4t۾h\qiRoe)j .*% R3sJFPK4#6ߑ_O,Qwm@\Xx`Ug)]y--! . 7\񜁤AUwj|f(7w?/ޖgs!/ums B}Xx !(xl7n<PJ*VPҌ"Gog3@He^tHT|ja(~#HnZWim+x^7B;*TO0B-hCqGm<2֣]lN( ?͕蓼Y}QQaPSeTR塗& ON % L]w#ei<͘| '`zeJk\w!men(j#oj"&ENȂ ߖ S!=:0A}@\5ri /b]#U \\(od٤ N 3i:I' H'ZRH!W;=ƣxLPUDn_~CgA_ˌ8y##+Wr5j9=%Ja '"ĉݠ':ߨаܪ9M7yZed)n8*LbZY?fݘ,qvLj8lಏǷҊMEep˫KC}#W suB8oo#jEv.0kay~'}ұ*W8Dqx1d͎7xy[_iﶨ3C$UrRy xz/0k4D.q|3-9[Uuf}BY}ӓqZrB{¿E')XfU9fHժlBsj~U }.nk|^8ͬ[13TppZb{-Gx+E 7Ə/]dŗ2St P^h$Ъ[ݣcTpܕ7v3@ [ ELݾ̌~ƚ4s f9D Jdb([ܚ5 =)bnZhh=Poȯd]B32("E;1I(Vivr>!$TTM`;+ƺD*W22W}h _|KVX&eƕ{mސЏQ\R4‡ޏ?eg?|46ҧ:K=!X/0~I }jќ8gHՊA:R?2i) |Ķe5O:hOEsĩXjv..WD MKHjuW;ɋHvfI1:{@=Ds.7 nWpَ{ѹ Qh1aMjZfAH)كC\+f+'LhY팿eƓ?QBӰTA˧cXKdl9amw9 V&tb<"xc k9yyCȦiF3?QWumdG^8){$"b= c7Nȣ t i9^L&oÔK߭<{4@$kV;i8d=կéO'/As0GJ9kDWD2 C`1Z۵珏yʙ^=TOly>rSe`dsņbRAh}y٪ʵȍV&yK6; ?`8#((]cPΕd%"WRp)w6P؀4|֛R&Vǩ?}^Iܤl~ѯևlʺ_{kYAt8|LSƹ\K}])(zĈ;VBf#SğHYb#Omr)Ro v(~(T䍞SujqAmXroԏiO2U\zuDU_OZq*`\{vpخbm.w7DK_ 62iI)nk&7؞k:R#(' HyGG-eBF_u$ȅ۪h7wxo8>'7Ie uy^N~vjP9B&59{#]=$Qc; d T8/m)#X,.a\JLAʌoZZn{kW]u/ԛS&=0S)#Q(Tdi<ҕa01h FFN]F!RPB49l'Pw;Nt䵦wor"NM H *;#Z}ɣw,]szy>!Ix٦jodSAc@ޫW[Su+`0.&_My@\駺e.)tr샏)1q`hyr:[i}6(g!Mȡ=`p2~&E@oa\Ό$wg~:x7ab+pLXbsJ8SԖ=485d4D(V{U+u Ĩs6BիYw²;d˱Iv(i`%Zl?9HX,j؝r- o"{u>?I+SS#Bx o" XUJ"[Ϩ gB}OdfrWt7=,!#Y89N.>#l )o<͜l|OYeXFBau`R+[/P|lZɯ&a,ꪕ}yqͪmZ~b d,e.Y4X=Bפym7K,$QY\C88(4S" w[er͌*M A"u. _ƍj>Z5:'·\ Loe je, G@/Q7`DB9><a[6E3bc7i4-C VY;QO3Чi4.jo 3L`*@cLnt>b.ד]dETL R4|cumzU1,+P̏Hj=:/&YIįXbڕxXM*!+.fžB5Fd&jJ/vyAcҺZOY !U&o[wO"mi[it`¦S^^|3?F]QA j4z@cN{.ӵds"+f/t/`0aD> ۹qE#'X^t]?9P|?; l LB(4Js_$,qp?|O^zj♔ԍﯦ`umYZA %1^0E0J=57ޕu-A ,;bf-H~ϋF๳HfyaW ]XOfe-Æ0 88YP?}J+Te@@ALaT'23Ir0G$"lcV6'MdOfQK a@&ck=Tv_L#X}wOK}>߆G +EtlGzA_Y]sHLTMT\3Ji'0' E?S;XCE1 b)0̢XT ޽t N΃rީ+/T ^*IYի/re2?p(Sؘ< ,4)dn5bKu>F͔kbbP]\p7@>2jQjb#V{)tXu9 osMwzZQg3B,66k DK'g^@AM7͐PmP#SdzֿWS%s}\ '+A] <8?J'{7ǥ&3=bWN$qb0Eod>jXeuGr*"c'P.Ik ؈ܖV"ذЊq%Շq|tDrHTvD0T/~d`"{V_v1(neIAPfس|7C3)8^Y#%{;T`AKZ]`א ^#3-r0 M(vC.GTT7"k= B)Y&~4d5;gSg2P^=%9}#@?g*=r9xY\zw\By PJ]Y/NBz'XH3۪\ι*R:Ae&WsGX%e2W|J{Vs ;W5E˖^N8+?H*ugMQAh 1WbS?WX X16@]f{ƙJ59 .ĠqxssN HXL96u+UmC6JQ97wZMͪ*[%`΋^fX .gڠ%]5~ߣ7՚o^<#R0LHʩC&8Zk d2N*@Ļyjꕁy%+lJ.ToƯLRmwDn(c='SYz )oT rY]mxwTT˖JD((A+'Fڈ,j`x}yh ׉ΩXv(9KNqLa @GFWb_v7K7$8&^!03[dسi_w/! } `L0pjHĽ?.Y;I9t qUy{&G[RN9v)1WuK5u9[{tP}  / C'' ќPküI^-FåU'*Phl&7=@'=F_iƩN2x,vq&}8?!!epl= ^G}TP*X%m1]dۙMtH&иec?Wy@R z3,%k\fv'@-ps|}8>#osE {`s6Om%A ꖫx@`xEuncGJ(Jv5)XGK#,`OGn -'jw t!AB0\AVKRƍD8^Sg?PHiaM QMe3欥{"Uqc. (J:QH F, D&Ѯ0X 2 s|JAe`{: E$<5:/_P Z!(XNgWgVpQ\xN,RU}ҝ(pe2^(R+>4 }IX,AtX!ETY1smʀs}&X)dƢAG ,`cHS=pϖx/a=yPQ3qE{ɖs跬 qItKA" l¸bOߎ4;V<)PTFes]R)0UP OՈfIJ)ɷ7ϗSr51`O(3ҾݫG?,0VTY{@Mtc{˻L5ZmYg,/ȒnNg ^gciN+C2Om^YMi w aP!I8Ei\/;˦z2elz0Lh`FTnPDSiNmѝ=bvlԕwZOTP{ѤD%P*5Ȗ@ .J9P}(C 2N\MCD-PȄB ׍Z=kQGCqG ,HhW F49+SX"fmAUOL“"K# h#$ӾlROe<ӽMsbfņ_Ta8|=ds(0CmV~}F H4J.]W#kK,8Tvӻx0F Mع n3T>qRcQ3dmCk80C)t!cXVo"pw~zQ @Ue9=u-,o=0ƤtD䭬O^|tj?YI~w[ N-y 2($mWO5ާbFŐʡD 6'QH(`B 2,.u_+4vAiW?DžJmiL"%B5=T~ T:G I)p][fJ,g: |QLpݔryfkPs-G:-6Y:͂H)~nb}:SU9 M DaM᫉܈ay >=pF]i^\x>9[kgӑ3vZ@3>|RIS-E۷_'f!RP B#j:.P< (pGgdOt*ҼO)aONB+yp彛(W1§e'adeh+ K3^JŇdG6᧺ڇsz|#.ՏK;`+KdZlivN\:-C![HKz:Bq|ki\7.I:rtJ<V5)J /ﮄ<^Kd_zJ7iJ^QەG7YuSH}JKж0~ȘK)[bQ%\#kUvEGŖolRtёvÚ eiE䈟 :+Xqi_4yH6@듖X_J 2mt^}ki;/xUdpҿ XE(&b*nXI R`^;sBB"UPܡKjbQҽUZݢP4 _ T`>(=)WH~LGGskд(/0[JwG'00)Q gąujwlIC-43jtpl'YU<YFaI eGNrIF) *'Ԓד^Cf@nt+M=: 0`^ uT%L; t 8~2`aqX5h>2_ u6Ekl tzjxd+qw4q@&Kk6g>LPp^-KUlHѴyz$*-'Z14H?6ƥHɡuE\(Gaz4@Ig!<"v aa7c#Ln|F_Ӌt쀞4l @ą%铒RU!bFect7 ;/w68൰ \p&yt[9Mk&CO V\6Y{C:H{`i(@1 u0jeg*uR6 ŃB~/, e$Z2*΍qIӍ8ӯ2\XIRTUZz%ʱњ,_NTv M0褦#z\\[0l 6b> 0.2Uπ pH&Mv/lrEsbTAhalYD*qRru;Q#㸟e\#R&ߡE] eCvNG,&#OФ}Wjѽ}]";x:蟱<W.#q j٘j-WjlrH<p*#Ascӛwti (ӑco/lr<52R) ˢ4 S ID'>Lu0 ĴÆ'H7)="iX,%F&c~oW2eh3dv*]0:کǹ-ﳆ]l`Q7ae̎\iZ_@TmpvD]h $v6~^gբ-y};Þ8P EA0)[e&]L@W6&;]aD>7+w-NsR#EG?7-@;GV+]I"kڐ5 %z8I^me%y*V%r`uF]FO$+1 bV 1` RNE*,G) ;Ve+=,.QPQb(|;8ʰggPMZ X xsVTMiVNٷȊTmT#{q[q9=Yt-]MpSnc@j ,&_akfgQ[P%qqVBLk V 'FW78=`4gbm\|?}9 -ʔfh.z^ch~L tm|ާ&s ٔ %D@<쫌l$2kZL?_?U$Q[n|R*j̓Ms6UFwBS*т4NFOנ57iz:\^ eHk]KCvySNt-#Ehz'DC)_SD,vt-Ck j  B`>KHze?oCgEYܙ_a\s9T\M"'Y+Z, TDl;$usשEF[` 䠡zsMlÁ~U#ˆ>uX -ju{&[cQ}IkOPGӳ{A)"yoOFDGp cFq}8@GF}%1 ͉Ng[0stAALzOGtBbCcP+?_)T9LOnlPIs@C,_żYj2ZٜY[ M0ĉ:uī0yۣ+!tyTmܺϚ렒3ʏ'{_%lRæ: 㫍qt;N( hZv%60jw#uŠTь e؎[̸ %@Hn:kuLx&ؠ0|||Z-G*LuyI)i[1v>A%6Ʈmb0S-K$)^Tg$Ġ0wYĤղ=je{S'f6JIc|:oIcϊ芥5t 8-#Q3OKtϕB3a3 w@iEMf$d9C4iAZ*h/:~4ϩ=WR9G׳VmxMCA-C"!G2%Wf= |5RirY]jyDtb ẇ'XUpb.K wk2%V"-KV6=1nGb:-ҺxM,l(U&R DV|^ MWZ7* KUB(m`:ӱw™c7]Cxra_M/h\Ij>: Z,iOхA- A_;` c<ИWn{1|=.(3)2Й, 1о7@0O1Se#_7vgE6V# ۨ('ѱ6`ecx臽>LB ,$tgM0Cl5Pb'c|籀j"Ych g 6u*f{_O! } 3L}`I?u/ҭ9^td`x}-#q_8i0^Z>pցf Ґ_Q!jp~@E\w Un6sy:iBlܒі.&pJbXF*Vd>aP0˙Q#ŧ2+֝ȁ?HNE_O7[ B~8O&EB0W W8dc0zF^1 MFvGFIqdkzcϝ{^"" ;.G*Um!7u ggu_(23rTlR*Zgz3- p%9K":ST˟I\Qr^>Z^)|>V#lDVdZJ=hA;E.QU+X*kU :Ǘ/(ߦo҂Ye"7=;GѡI)FN]GY4Ĭq~ʛ_1L3a [~^L@K(~3ha%S-p_>:'-m2b2\)މ~ `@i!7 xGU q\7#3zu],(l8A0 rcSjN13;o6N NyГ}w8è{A!9K6*'nz5MLz'q UE<chVwh׾ܞK1[Ђ 1Y}E$D͝ YK[V8~,Q3||]G i.ԕ @2yJ2Ũ-eaPB'zWHOIT$gCX!j,pͣ+gaզ!"+6g7rÂeNUBI*g?qåm>?9AHtBE :Ǔx#oR"F--D͸RFKg}ŞY|c6I4kG69;d!RlLR*NҰ:G=z`*! ;`O]Oi2<2 MWfnKd|E m1woq%/,T58ឺi @qE{ZX=*qN%/0]NK=u{<8Y~9sPMmMIjTFg ^ 8"<zY_;TW#9gw5]ݧWjX 3p-JWG׻8L el%GHX &@&񙏩חh˰' N׺-b i6Z BL5Pn۝DcBb*(Za VX"'mEkpB`n2urɐwzJQ%s<|7+iPF\<r+ 1)FQeYpSuK=>&Vmӓ U!=绡?@=9ѵagaK T[A֑yL0{UKWA;@aRDB0rq9g1 ֱ {N)uۛ!{NI+2H<4#@jYv0K!w6(14hL(Fj4cud"F6\wŁK1ktQmЧ@{ p/nڵ' Q5۹BSr/nz4-l2PZ7dBRM&|Y7؏ dwHQA.sGsIAv"zj+NHR_?kvLXf jKƑ4u]}PJ}췄%wX ^ZuaAflKə־xNWPTO쁽d/ӎ9s%N;iTDUeK,8hѠJad5};~˨Ҕ3OPOS4zS4%2"LʂXqAA(rTն5@t{[t}u#9|#i!(-?x##I4]}~q^}f`'JJ1>!WKcǧbĕs­uRDL}:ӒE GQAyTON#}*B}'^x~ZY)ÞHuuwq-&к%gSfLh29EY<(( 1+Օ2WLE] & xe~gBsrU 7,!91n6X q?3#$!jM"Xux-bȔ'|iN<].`A\<}QvxzPRݲ;^%q UE SY c@oP~" }63'~S3_: n|>Rk$>W3nlډy/84pHݜ7B>ٱ;7*|tؙl\KAlqsCtTm-0W<%UTrrGQE֒b s?̴z25T܎rxrL1:8r1#EdI <; \2M6`@_L9+ֲR'? ևhz^<{=y.RU^㱒hVd+5Orr~SA8];'X.م,Cի; L_uZ\]9f3TzCZ:t1ɻ вp2t"$YֱqŘ$,N=gB^^^h5;Wp`{.~w.xT;^: ٛym٭W i{Q?Sm2e jkuȸ2yYB~6rLasMKп'y;0`N_%aAخ^g+!4,81 q5,FWZcvո$ b xn\GB=̄c3Fs]3w jϐr'@z61<"\ID&dt{(۰Ws%w/baz,$"L`fA.ҵ\;1t.G/!\3J7^֤T4+XUHBYȉ"aā Xq೎2h=v%er)kZbY1LPY mO 600绖$LWaUOJ3 =c -<$ ^m q('+v7g-;ߙy<^)( Cp`8vβ>T>[ײ!|j`倚K\دd6 b"ȵt:Uv_sf ֙-V寧Ei픪2/y3ԪTU Ҝ!^Ų2ofg2~MyLCT޾J_PZrOgKfƑ)1k83Qq<'оHR-&Z k[<@2Լլ2 |RL9|},]'m*hʤoks! If~BrilJ_]rU*p끥"5[9Y$]3h f xwf׀1eZl#fS+"nkD`MNxg=<ɿ)ȫ s01aN@T኿qSaҮ|b\]_pY+ CX)SӴͫJ]?SSs5Bv;4' XUDJ5J)fc.D[;nKgEs/`ExI >NydB'g=sm9`ՐZ(9 M5ө"ܱX@@bdQI=65K\|qܗVnsWEK 6,IAXp _8.^)VTH{zCg3U['n=-C;Y+$gIFel%IH2>> ,XO#_.Iv }?]ғv;X 8 뇰HJa:;֕,G7omݭZkգhgC:HiӰ_/O3L#KK WܡjX[Wܫ$Jy[̢m$^he_@uڵ7HoAwJ ZIxSRwG"PdF :Y.ĻVFB/L 햀Żg` MKzK9}5XN[6 9Bƃ(prXNLG(4`pQv)t9)@z5 Mlj~Ro,u3w³m#SyF{g}e8O]\[BA38WT-p :FIjU6kSN [nTxs4Xlg< CaqֳiI"ITxax+gAsT,Nu>4?)̙xR=5Lr5/|=Tn8pAoV4^f+<"QKAdtB#1iWHI|#e'-&gh:-,U=Kahn^]"ޗK`4ƫZYI n]jf ŋkMvo)/`Al &~dpwh`:UĜQo|~fs Q㊯,~SPL!5gҬ M}W-͡@{X"khSd׬00^S;T[;j/9.s~\`11ԁYK FV1ALbb&X)W[G'ti5Z7q͎kot- FY Yw-@ ٨{KXuVڹ mem\ '礭`1# ֤Y%})TMBѭbEabfDUTxUX̶JFmH6$Tr8n%#=&*qPPFa4ymuOP]gʥ8-!'M6N:wZ Y9հc@gKՎeà1nB%.-&u)\R:9VprH>ҭrK~KG7ps ΎZݥřRFE^MB_N, ڞw9j2#ybxO$yKoiIh||ޥ<ܒ0cɪ٣=_Ӑp? І8pF~H^bG"QƼBj锗6)wdԑ̢j‘&^- ކ g^kt%&,s;Op|\3.*xCRCGP;I"d@pۡMpJJF'Bpտ:A pP~'jRgWOES.ЇZU"$WCA hv(2nU@GqGP`_r8IN-`qFwDW= :FlX[- jKBjkvU2V7=$zgջB*/YI OB`ºasD c3K6KLKp1UUr#Ez$ j*l8 =D;̧<9mc̅1|:op6eQ-_@_T[M=pGaOF^3IZq0 eΌT!f{ᾪ ;@wF7K(:*LEnvPUQ׷rMJ:pj~ 33xL۲7}62k.þy|_/6QmB m g i@.~ Q/Mg=:\W<Թ)Ni2 G.fbu_!qRJARCwzkSI{R*M&¡u3F0|x]>gY'hfNOQf1mТ[nll3s97F+Ds0R0:0bu8ޫ/+CF0xr^;BН@ )A::O9~/:avq0#܅zQ\ =DL B%vzzW]nT?$xY9zjdZ68:ZS `l->|teOˆ_QVǚˈVX秩fufhhāռӿ=25ITewKLQGSxO$Igpsˑ|eAzʒC$HKohDN@Knjr f3R^%LC(TT3 ~r_ #>xSq(FQ[] <PC熚fl^ L] :P~5ˁ00EX#=m>;½}D j(݌n r] L8hb5h17H=CP|_BLZY/8 liFK RHEwS>sUCSď[~LJ1iҠ/"f:{4ISG~0y Oڴl'av'E-#,a>dZ}8Wv$*ϖ޾ee迳uIT'D0Ͼ>gkT`}Zp5HM\-]%XנĎɛ.e7@ZS,9Rj5׫o[4Mx6L)$z,$މk9 R|6DZR6IG|CDm&\ ُHqPrq?pR|(p bgP6fXR Pf5U _&)7{.~>22mDe.:/*0:4L!qM8ˍ1Er \Tڠ:Ns.n 41u'~s*$.$//}ǮB;XpA%Fr 1O6wO|k̈́, )i.0(<"[jiQj.Z{mY\;W̯qvoy 9(yvɞ+OLAo,A 6ʼnF =99e/q|QysT 뿾T{Z_ A]*. х fS/ _AQ9'gC8|bB1ˠ-2 (*K.W,ys4 ~Ԫ[j>ϡ}%I`KҜq}ڙX׹_MSm>!<#+)!FcD{ ^'@Ƽgx3rm~ޫ߳λFy8VHee"^ q wdG_?Hu-c ޞL`iZNF^0;,oy)DGk>5U%*U44^4 )}|3WSuOjlN6u+FN6tINH T <| 2JHP[;VqT[Cǽn@6|S_'z,G,+Ű;߳dr=r0q}XփM>7m?qLr'6XcBx;Ol_ Q0z Q~}'C&x?<1Uޠ[˱\i$ĶD "hA "&:Mvm[[e 漥!m=9#(Gߟ-^zQ1):CLBߘ0 cG#;,^u/tA ۆ冶Nѽ$ 6N2jHGaJ^)ץb}Ul/S ^d~nWHJnʉ y s;D|AA2!Wy>ƻ~u UFYݰėΕl)7WC;vIAy*+*3#=جyjOZخ&Y_aMx>ӏa,޳<3 MM8x Cfq^l):5W/]O5fgN8^ oHE?beFSqxpd3bɮdLc3؅>J"-BhR'2i4d"x(KyR%bP-+Қ$tI&"_OWZczJ"! OJLG uPu6 vP!Jf@jFĩ=.16易TgEh؄`i@~\ )3<-~ |_E Y2URna0 eLtOy-;_FTbw&)QĤ@~u)/1AJ6ʿg;xYW}f"KH7T<XM񹿂,ϑaLBU ŮĢq_dPffv:_ 7]!h 9geD*FL#]RwI4ƶO"SQ޽7ֆ^D3D~T sCs#p#1NO'5 yDpif\_`%xω)ʊmm6/ (*T'0` kz[:}aagftsnNU覆Lߠ?x>RgXI;9AqM>a/9;jgfm O\,ZmRB+MJN 1Tx /"EEB-(#O3i`Ds@<F٢XxR `^ ή`pr^*NKԤL6<̵/u)W vJSm#ъa )v~uI?;I3I$g1Tќq\4ɋ#KgC6)j{5\Q_cSXnӔss%qf Q7Ϝ9ZPPxYpUЦN7^r%oE |P#1O@eG٪?g6]Q@R>ئvKJEs 1wkSI&eJbZ=„f`5hSc)XX׭y!W$QDf?"/G`t: 2 v^2h(pȴ&ZYѯuĐmcFm!6,ANICɱ=V1I!K7jmGoZSUO&&4̸ɖ6bmH$e^"(Vw%:d[\Ww_F4Rx (ޮEɭlf3A;vͨ>b&NQz$ 'Ayz2Z}dLx¯RYjRf@y{ﺗ&)#+J |l+-( o5SUGevVӥU3*q7WX8MAe_b8b!1V$ dYj2l 39:`g/]EN@\8<捀K>pY``ab 6|pE@䇹tUp ,+`iZdŰDOPnjISM,_z ^/[7mc%K*LℲyW P@8OTpwU\a;猱FXmo4b 2֓qr4sˠlI7efn܆֕ERz&~IfT͡h$s/7: pa V9OHf{1AU[hLoԣīu=O]#3_7aCW33w`ݤq/z_PZi&Wa 1av*RB>^~^\iH'p-^( b=.ֺgcJZTJqAJ cJ!Mۣ hn^3Y /UiiZ(== [&qʿ^ . lUn^ekaD?[+X9WJ@5Cc !v9 :nфq?q(&rĝlU>?x&q!^ǵ9?U 9 C\K\q"+:/$Ϗh<rzw*-QYn0iEY]{[?R9g {szU~&((pCZ"p3Zmж^i}eU~һ,ʲgPP7hИwW!9ɄۦXnHk2sµ\1`M|1y"'tp]xX9}R .kEZgyURөPt4 5IQ)Iv:+eR.Hbyrz=epPe[+iT%=ë4KqK=% v1xڨz f@A@n@MVcO7Y-CnH(>6:Aq٢&P6ﭭҽ|uJ:_y!x j5;Uf@R &/zb|^e:2ǣQq&edp đxDU}Ci:b \pVYfLK.vc\"vQF%أq/A\ hB>xR>P?0 2\/s[eijC,sh7]3<.) '{(+~| `'y" 9nY_]`15@mضܤ޾a$od5w-gPޔjnNSTzm_E&.p T3 *!/oe|. @h`_Eyub&%^D'? D#Ls\kg<+-<BqcA>I6Cn`?뺠paֿ F|H/bP_  ||b<ea\(o2N?y,WN !A Nu #m;CcB;%B5uq[fCr݉bb ҋ@F?0u/ZcмcE/n4lCY`fq-V >ejMjLdF7a#pb+