summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
blob: f1a3266cb741cd4e2da24e4502b1f710b9eed4d5 (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
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
/* 
 * tclIO.c --
 *
 *	This file provides the generic portions (those that are the same on
 *	all platforms and for all channel types) of Tcl's IO facilities.
 *
 * Copyright (c) 1998-2000 Ajuba Solutions
 * Copyright (c) 1995-1997 Sun Microsystems, Inc.
 *
 * See the file "license.terms" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 * RCS: @(#) $Id: tclIO.c,v 1.61.2.6 2004/05/19 19:23:58 andreas_kupries Exp $
 */

#include "tclInt.h"
#include "tclPort.h"
#include "tclIO.h"
#include <assert.h>


/*
 * All static variables used in this file are collected into a single
 * instance of the following structure.  For multi-threaded implementations,
 * there is one instance of this structure for each thread.
 *
 * Notice that different structures with the same name appear in other
 * files.  The structure defined below is used in this file only.
 */

typedef struct ThreadSpecificData {

    /*
     * This variable holds the list of nested ChannelHandlerEventProc 
     * invocations.
     */
    NextChannelHandler *nestedHandlerPtr;

    /*
     * List of all channels currently open, indexed by ChannelState,
     * as only one ChannelState exists per set of stacked channels.
     */
    ChannelState *firstCSPtr;
#ifdef oldcode
    /*
     * Has a channel exit handler been created yet?
     */
    int channelExitHandlerCreated;

    /*
     * Has the channel event source been created and registered with the
     * notifier?
     */
    int channelEventSourceCreated;
#endif
    /*
     * Static variables to hold channels for stdin, stdout and stderr.
     */
    Tcl_Channel stdinChannel;
    int stdinInitialized;
    Tcl_Channel stdoutChannel;
    int stdoutInitialized;
    Tcl_Channel stderrChannel;
    int stderrInitialized;

} ThreadSpecificData;

static Tcl_ThreadDataKey dataKey;

/*
 * Static functions in this file:
 */

static ChannelBuffer *	AllocChannelBuffer _ANSI_ARGS_((int length));
static void		ChannelTimerProc _ANSI_ARGS_((
				ClientData clientData));
static int		CheckChannelErrors _ANSI_ARGS_((ChannelState *statePtr,
				int direction));
static int		CheckFlush _ANSI_ARGS_((Channel *chanPtr,
				ChannelBuffer *bufPtr, int newlineFlag));
static int		CheckForDeadChannel _ANSI_ARGS_((Tcl_Interp *interp,
				ChannelState *statePtr));
static void		CheckForStdChannelsBeingClosed _ANSI_ARGS_((
				Tcl_Channel chan));
static void		CleanupChannelHandlers _ANSI_ARGS_((
				Tcl_Interp *interp, Channel *chanPtr));
static int		CloseChannel _ANSI_ARGS_((Tcl_Interp *interp,
				Channel *chanPtr, int errorCode));
static void		CommonGetsCleanup _ANSI_ARGS_((Channel *chanPtr,
				Tcl_Encoding encoding));
static int		CopyAndTranslateBuffer _ANSI_ARGS_((
				ChannelState *statePtr, char *result,
				int space));
static int		CopyBuffer _ANSI_ARGS_((
				Channel *chanPtr, char *result, int space));
static int		CopyData _ANSI_ARGS_((CopyState *csPtr, int mask));
static void		CopyEventProc _ANSI_ARGS_((ClientData clientData,
				int mask));
static void		CreateScriptRecord _ANSI_ARGS_((
				Tcl_Interp *interp, Channel *chanPtr,
				int mask, Tcl_Obj *scriptPtr));
static void		DeleteChannelTable _ANSI_ARGS_((
				ClientData clientData, Tcl_Interp *interp));
static void		DeleteScriptRecord _ANSI_ARGS_((Tcl_Interp *interp,
				Channel *chanPtr, int mask));
static int              DetachChannel _ANSI_ARGS_((Tcl_Interp *interp,
				Tcl_Channel chan));
static void		DiscardInputQueued _ANSI_ARGS_((ChannelState *statePtr,
				int discardSavedBuffers));
static void		DiscardOutputQueued _ANSI_ARGS_((
				ChannelState *chanPtr));
static int		DoRead _ANSI_ARGS_((Channel *chanPtr, char *srcPtr,
				int slen));
static int		DoWrite _ANSI_ARGS_((Channel *chanPtr, CONST char *src,
				int srcLen));
static int		DoReadChars _ANSI_ARGS_ ((Channel* chan,
				Tcl_Obj* objPtr, int toRead, int appendFlag));
static int		DoWriteChars _ANSI_ARGS_ ((Channel* chan,
				CONST char* src, int len));
static int		FilterInputBytes _ANSI_ARGS_((Channel *chanPtr,
				GetsState *statePtr));
static int		FlushChannel _ANSI_ARGS_((Tcl_Interp *interp,
				Channel *chanPtr, int calledFromAsyncFlush));
static Tcl_HashTable *	GetChannelTable _ANSI_ARGS_((Tcl_Interp *interp));
static int		GetInput _ANSI_ARGS_((Channel *chanPtr));
static int		HaveVersion _ANSI_ARGS_((Tcl_ChannelType *typePtr,
				Tcl_ChannelTypeVersion minimumVersion));
static void		PeekAhead _ANSI_ARGS_((Channel *chanPtr,
				char **dstEndPtr, GetsState *gsPtr));
static int		ReadBytes _ANSI_ARGS_((ChannelState *statePtr,
				Tcl_Obj *objPtr, int charsLeft,
				int *offsetPtr));
static int		ReadChars _ANSI_ARGS_((ChannelState *statePtr,
				Tcl_Obj *objPtr, int charsLeft,
				int *offsetPtr, int *factorPtr));
static void		RecycleBuffer _ANSI_ARGS_((ChannelState *statePtr,
				ChannelBuffer *bufPtr, int mustDiscard));
static int		StackSetBlockMode _ANSI_ARGS_((Channel *chanPtr,
				int mode));
static int		SetBlockMode _ANSI_ARGS_((Tcl_Interp *interp,
				Channel *chanPtr, int mode));
static void		StopCopy _ANSI_ARGS_((CopyState *csPtr));
static int		TranslateInputEOL _ANSI_ARGS_((ChannelState *statePtr,
				char *dst, CONST char *src,
				int *dstLenPtr, int *srcLenPtr));
static int		TranslateOutputEOL _ANSI_ARGS_((ChannelState *statePtr,
				char *dst, CONST char *src,
				int *dstLenPtr, int *srcLenPtr));
static void		UpdateInterest _ANSI_ARGS_((Channel *chanPtr));
static int		WriteBytes _ANSI_ARGS_((Channel *chanPtr,
				CONST char *src, int srcLen));
static int		WriteChars _ANSI_ARGS_((Channel *chanPtr,
				CONST char *src, int srcLen));


/*
 *---------------------------------------------------------------------------
 *
 * TclInitIOSubsystem --
 *
 *	Initialize all resources used by this subsystem on a per-process
 *	basis.  
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Depends on the memory subsystems.
 *
 *---------------------------------------------------------------------------
 */

void
TclInitIOSubsystem()
{
    /*
     * By fetching thread local storage we take care of
     * allocating it for each thread.
     */
    (void) TCL_TSD_INIT(&dataKey);
}   

/*
 *-------------------------------------------------------------------------
 *
 * TclFinalizeIOSubsystem --
 *
 *	Releases all resources used by this subsystem on a per-process 
 *	basis.  Closes all extant channels that have not already been 
 *	closed because they were not owned by any interp.  
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Depends on encoding and memory subsystems.
 *
 *-------------------------------------------------------------------------
 */

	/* ARGSUSED */
void
TclFinalizeIOSubsystem()
{
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    Channel *chanPtr;			/* Iterates over open channels. */
    ChannelState *nextCSPtr;		/* Iterates over open channels. */
    ChannelState *statePtr;		/* state of channel stack */

    for (statePtr = tsdPtr->firstCSPtr; statePtr != (ChannelState *) NULL;
	 statePtr = nextCSPtr) {
	chanPtr		= statePtr->topChanPtr;
        nextCSPtr	= statePtr->nextCSPtr;

        /*
         * Set the channel back into blocking mode to ensure that we wait
         * for all data to flush out.
         */
        
        (void) Tcl_SetChannelOption(NULL, (Tcl_Channel) chanPtr,
                "-blocking", "on");

        if ((chanPtr == (Channel *) tsdPtr->stdinChannel) ||
                (chanPtr == (Channel *) tsdPtr->stdoutChannel) ||
                (chanPtr == (Channel *) tsdPtr->stderrChannel)) {

            /*
             * Decrement the refcount which was earlier artificially bumped
             * up to keep the channel from being closed.
             */

            statePtr->refCount--;
        }

        if (statePtr->refCount <= 0) {

	    /*
             * Close it only if the refcount indicates that the channel is not
             * referenced from any interpreter. If it is, that interpreter will
             * close the channel when it gets destroyed.
             */

            (void) Tcl_Close((Tcl_Interp *) NULL, (Tcl_Channel) chanPtr);

        } else {

            /*
             * The refcount is greater than zero, so flush the channel.
             */

            Tcl_Flush((Tcl_Channel) chanPtr);

            /*
             * Call the device driver to actually close the underlying
             * device for this channel.
             */
            
	    if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) {
		(chanPtr->typePtr->closeProc)(chanPtr->instanceData,
			(Tcl_Interp *) NULL);
	    } else {
		(chanPtr->typePtr->close2Proc)(chanPtr->instanceData,
			(Tcl_Interp *) NULL, 0);
	    }

            /*
             * Finally, we clean up the fields in the channel data structure
             * since all of them have been deleted already. We mark the
             * channel with CHANNEL_DEAD to prevent any further IO operations
             * on it.
             */

            chanPtr->instanceData = (ClientData) NULL;
            statePtr->flags |= CHANNEL_DEAD;
        }
    }
}


/*
 *----------------------------------------------------------------------
 *
 * Tcl_SetStdChannel --
 *
 *	This function is used to change the channels that are used
 *	for stdin/stdout/stderr in new interpreters.
 *
 * Results:
 *	None
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_SetStdChannel(channel, type)
    Tcl_Channel channel;
    int type;			/* One of TCL_STDIN, TCL_STDOUT, TCL_STDERR. */
{
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    switch (type) {
	case TCL_STDIN:
	    tsdPtr->stdinInitialized = 1;
	    tsdPtr->stdinChannel = channel;
	    break;
	case TCL_STDOUT:
	    tsdPtr->stdoutInitialized = 1;
	    tsdPtr->stdoutChannel = channel;
	    break;
	case TCL_STDERR:
	    tsdPtr->stderrInitialized = 1;
	    tsdPtr->stderrChannel = channel;
	    break;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetStdChannel --
 *
 *	Returns the specified standard channel.
 *
 * Results:
 *	Returns the specified standard channel, or NULL.
 *
 * Side effects:
 *	May cause the creation of a standard channel and the underlying
 *	file.
 *
 *----------------------------------------------------------------------
 */
Tcl_Channel
Tcl_GetStdChannel(type)
    int type;			/* One of TCL_STDIN, TCL_STDOUT, TCL_STDERR. */
{
    Tcl_Channel channel = NULL;
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);

    /*
     * If the channels were not created yet, create them now and
     * store them in the static variables. 
     */

    switch (type) {
	case TCL_STDIN:
	    if (!tsdPtr->stdinInitialized) {
		tsdPtr->stdinChannel = TclpGetDefaultStdChannel(TCL_STDIN);
		tsdPtr->stdinInitialized = 1;

		/*
                 * Artificially bump the refcount to ensure that the channel
                 * is only closed on exit.
                 *
                 * NOTE: Must only do this if stdinChannel is not NULL. It
                 * can be NULL in situations where Tcl is unable to connect
                 * to the standard input.
                 */

                if (tsdPtr->stdinChannel != (Tcl_Channel) NULL) {
                    (void) Tcl_RegisterChannel((Tcl_Interp *) NULL,
                            tsdPtr->stdinChannel);
                }
	    }
	    channel = tsdPtr->stdinChannel;
	    break;
	case TCL_STDOUT:
	    if (!tsdPtr->stdoutInitialized) {
		tsdPtr->stdoutChannel = TclpGetDefaultStdChannel(TCL_STDOUT);
		tsdPtr->stdoutInitialized = 1;
                if (tsdPtr->stdoutChannel != (Tcl_Channel) NULL) {
                    (void) Tcl_RegisterChannel((Tcl_Interp *) NULL,
                            tsdPtr->stdoutChannel);
                }
	    }
	    channel = tsdPtr->stdoutChannel;
	    break;
	case TCL_STDERR:
	    if (!tsdPtr->stderrInitialized) {
		tsdPtr->stderrChannel = TclpGetDefaultStdChannel(TCL_STDERR);
		tsdPtr->stderrInitialized = 1;
                if (tsdPtr->stderrChannel != (Tcl_Channel) NULL) {
                    (void) Tcl_RegisterChannel((Tcl_Interp *) NULL,
                            tsdPtr->stderrChannel);
                }
	    }
	    channel = tsdPtr->stderrChannel;
	    break;
    }
    return channel;
}


/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateCloseHandler
 *
 *	Creates a close callback which will be called when the channel is
 *	closed.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Causes the callback to be called in the future when the channel
 *	will be closed.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_CreateCloseHandler(chan, proc, clientData)
    Tcl_Channel chan;		/* The channel for which to create the
                                 * close callback. */
    Tcl_CloseProc *proc;	/* The callback routine to call when the
                                 * channel will be closed. */
    ClientData clientData;	/* Arbitrary data to pass to the
                                 * close callback. */
{
    ChannelState *statePtr;
    CloseCallback *cbPtr;

    statePtr = ((Channel *) chan)->state;

    cbPtr = (CloseCallback *) ckalloc((unsigned) sizeof(CloseCallback));
    cbPtr->proc = proc;
    cbPtr->clientData = clientData;

    cbPtr->nextPtr = statePtr->closeCbPtr;
    statePtr->closeCbPtr = cbPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DeleteCloseHandler --
 *
 *	Removes a callback that would have been called on closing
 *	the channel. If there is no matching callback then this
 *	function has no effect.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	The callback will not be called in the future when the channel
 *	is eventually closed.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_DeleteCloseHandler(chan, proc, clientData)
    Tcl_Channel chan;		/* The channel for which to cancel the
                                 * close callback. */
    Tcl_CloseProc *proc;	/* The procedure for the callback to
                                 * remove. */
    ClientData clientData;	/* The callback data for the callback
                                 * to remove. */
{
    ChannelState *statePtr;
    CloseCallback *cbPtr, *cbPrevPtr;

    statePtr = ((Channel *) chan)->state;
    for (cbPtr = statePtr->closeCbPtr, cbPrevPtr = (CloseCallback *) NULL;
	 cbPtr != (CloseCallback *) NULL;
	 cbPtr = cbPtr->nextPtr) {
        if ((cbPtr->proc == proc) && (cbPtr->clientData == clientData)) {
            if (cbPrevPtr == (CloseCallback *) NULL) {
                statePtr->closeCbPtr = cbPtr->nextPtr;
            }
            ckfree((char *) cbPtr);
            break;
        } else {
            cbPrevPtr = cbPtr;
        }
    }
}

/*
 *----------------------------------------------------------------------
 *
 * GetChannelTable --
 *
 *	Gets and potentially initializes the channel table for an
 *	interpreter. If it is initializing the table it also inserts
 *	channels for stdin, stdout and stderr if the interpreter is
 *	trusted.
 *
 * Results:
 *	A pointer to the hash table created, for use by the caller.
 *
 * Side effects:
 *	Initializes the channel table for an interpreter. May create
 *	channels for stdin, stdout and stderr.
 *
 *----------------------------------------------------------------------
 */

static Tcl_HashTable *
GetChannelTable(interp)
    Tcl_Interp *interp;
{
    Tcl_HashTable *hTblPtr;	/* Hash table of channels. */
    Tcl_Channel stdinChan, stdoutChan, stderrChan;

    hTblPtr = (Tcl_HashTable *) Tcl_GetAssocData(interp, "tclIO", NULL);
    if (hTblPtr == (Tcl_HashTable *) NULL) {
        hTblPtr = (Tcl_HashTable *) ckalloc((unsigned) sizeof(Tcl_HashTable));
        Tcl_InitHashTable(hTblPtr, TCL_STRING_KEYS);

        (void) Tcl_SetAssocData(interp, "tclIO",
                (Tcl_InterpDeleteProc *) DeleteChannelTable,
                (ClientData) hTblPtr);

        /*
         * If the interpreter is trusted (not "safe"), insert channels
         * for stdin, stdout and stderr (possibly creating them in the
         * process).
         */

        if (Tcl_IsSafe(interp) == 0) {
            stdinChan = Tcl_GetStdChannel(TCL_STDIN);
            if (stdinChan != NULL) {
                Tcl_RegisterChannel(interp, stdinChan);
            }
            stdoutChan = Tcl_GetStdChannel(TCL_STDOUT);
            if (stdoutChan != NULL) {
                Tcl_RegisterChannel(interp, stdoutChan);
            }
            stderrChan = Tcl_GetStdChannel(TCL_STDERR);
            if (stderrChan != NULL) {
                Tcl_RegisterChannel(interp, stderrChan);
            }
        }

    }
    return hTblPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * DeleteChannelTable --
 *
 *	Deletes the channel table for an interpreter, closing any open
 *	channels whose refcount reaches zero. This procedure is invoked
 *	when an interpreter is deleted, via the AssocData cleanup
 *	mechanism.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Deletes the hash table of channels. May close channels. May flush
 *	output on closed channels. Removes any channeEvent handlers that were
 *	registered in this interpreter.
 *
 *----------------------------------------------------------------------
 */

static void
DeleteChannelTable(clientData, interp)
    ClientData clientData;	/* The per-interpreter data structure. */
    Tcl_Interp *interp;		/* The interpreter being deleted. */
{
    Tcl_HashTable *hTblPtr;	/* The hash table. */
    Tcl_HashSearch hSearch;	/* Search variable. */
    Tcl_HashEntry *hPtr;	/* Search variable. */
    Channel *chanPtr;		/* Channel being deleted. */
    ChannelState *statePtr;	/* State of Channel being deleted. */
    EventScriptRecord *sPtr, *prevPtr, *nextPtr;
    				/* Variables to loop over all channel events
                                 * registered, to delete the ones that refer
                                 * to the interpreter being deleted. */

    /*
     * Delete all the registered channels - this will close channels whose
     * refcount reaches zero.
     */
    
    hTblPtr = (Tcl_HashTable *) clientData;
    for (hPtr = Tcl_FirstHashEntry(hTblPtr, &hSearch);
	 hPtr != (Tcl_HashEntry *) NULL;
	 hPtr = Tcl_FirstHashEntry(hTblPtr, &hSearch)) {

        chanPtr = (Channel *) Tcl_GetHashValue(hPtr);
	statePtr = chanPtr->state;

        /*
         * Remove any fileevents registered in this interpreter.
         */
        
        for (sPtr = statePtr->scriptRecordPtr,
                 prevPtr = (EventScriptRecord *) NULL;
	     sPtr != (EventScriptRecord *) NULL;
	     sPtr = nextPtr) {
            nextPtr = sPtr->nextPtr;
            if (sPtr->interp == interp) {
                if (prevPtr == (EventScriptRecord *) NULL) {
                    statePtr->scriptRecordPtr = nextPtr;
                } else {
                    prevPtr->nextPtr = nextPtr;
                }

                Tcl_DeleteChannelHandler((Tcl_Channel) chanPtr,
                        TclChannelEventScriptInvoker, (ClientData) sPtr);

		Tcl_DecrRefCount(sPtr->scriptPtr);
                ckfree((char *) sPtr);
            } else {
                prevPtr = sPtr;
            }
        }

        /*
         * Cannot call Tcl_UnregisterChannel because that procedure calls
         * Tcl_GetAssocData to get the channel table, which might already
         * be inaccessible from the interpreter structure. Instead, we
         * emulate the behavior of Tcl_UnregisterChannel directly here.
         */

        Tcl_DeleteHashEntry(hPtr);
        statePtr->refCount--;
        if (statePtr->refCount <= 0) {
            if (!(statePtr->flags & BG_FLUSH_SCHEDULED)) {
                (void) Tcl_Close(interp, (Tcl_Channel) chanPtr);
            }
        }
    }
    Tcl_DeleteHashTable(hTblPtr);
    ckfree((char *) hTblPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * CheckForStdChannelsBeingClosed --
 *
 *	Perform special handling for standard channels being closed. When
 *	given a standard channel, if the refcount is now 1, it means that
 *	the last reference to the standard channel is being explicitly
 *	closed. Now bump the refcount artificially down to 0, to ensure the
 *	normal handling of channels being closed will occur. Also reset the
 *	static pointer to the channel to NULL, to avoid dangling references.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Manipulates the refcount on standard channels. May smash the global
 *	static pointer to a standard channel.
 *
 *----------------------------------------------------------------------
 */

static void
CheckForStdChannelsBeingClosed(chan)
    Tcl_Channel chan;
{
    ChannelState *statePtr = ((Channel *) chan)->state;
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);

    if ((chan == tsdPtr->stdinChannel) && (tsdPtr->stdinInitialized)) {
        if (statePtr->refCount < 2) {
            statePtr->refCount = 0;
            tsdPtr->stdinChannel = NULL;
            return;
        }
    } else if ((chan == tsdPtr->stdoutChannel)
	    && (tsdPtr->stdoutInitialized)) {
        if (statePtr->refCount < 2) {
            statePtr->refCount = 0;
            tsdPtr->stdoutChannel = NULL;
            return;
        }
    } else if ((chan == tsdPtr->stderrChannel)
	    && (tsdPtr->stderrInitialized)) {
        if (statePtr->refCount < 2) {
            statePtr->refCount = 0;
            tsdPtr->stderrChannel = NULL;
            return;
        }
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_IsStandardChannel --
 *
 *	Test if the given channel is a standard channel.  No attempt
 *	is made to check if the channel or the standard channels
 *	are initialized or otherwise valid.
 *
 * Results:
 *	Returns 1 if true, 0 if false.
 *
 * Side effects:
 *      None.
 *
 *----------------------------------------------------------------------
 */
int 
Tcl_IsStandardChannel(chan)
    Tcl_Channel chan;		/* Channel to check. */
{
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);

    if ((chan == tsdPtr->stdinChannel) 
	|| (chan == tsdPtr->stdoutChannel)
	|| (chan == tsdPtr->stderrChannel)) {
	return 1;
    } else {
	return 0;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_RegisterChannel --
 *
 *	Adds an already-open channel to the channel table of an interpreter.
 *	If the interpreter passed as argument is NULL, it only increments
 *	the channel refCount.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	May increment the reference count of a channel.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_RegisterChannel(interp, chan)
    Tcl_Interp *interp;		/* Interpreter in which to add the channel. */
    Tcl_Channel chan;		/* The channel to add to this interpreter
                                 * channel table. */
{
    Tcl_HashTable *hTblPtr;	/* Hash table of channels. */
    Tcl_HashEntry *hPtr;	/* Search variable. */
    int new;			/* Is the hash entry new or does it exist? */
    Channel *chanPtr;		/* The actual channel. */
    ChannelState *statePtr;	/* State of the actual channel. */

    /*
     * Always (un)register bottom-most channel in the stack.  This makes
     * management of the channel list easier because no manipulation is
     * necessary during (un)stack operation.
     */
    chanPtr = ((Channel *) chan)->state->bottomChanPtr;
    statePtr = chanPtr->state;

    if (statePtr->channelName == (CONST char *) NULL) {
        panic("Tcl_RegisterChannel: channel without name");
    }
    if (interp != (Tcl_Interp *) NULL) {
        hTblPtr = GetChannelTable(interp);
        hPtr = Tcl_CreateHashEntry(hTblPtr, statePtr->channelName, &new);
        if (new == 0) {
            if (chan == (Tcl_Channel) Tcl_GetHashValue(hPtr)) {
                return;
            }

	    panic("Tcl_RegisterChannel: duplicate channel names");
        }
        Tcl_SetHashValue(hPtr, (ClientData) chanPtr);
    }
    statePtr->refCount++;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_UnregisterChannel --
 *
 *	Deletes the hash entry for a channel associated with an interpreter.
 *	If the interpreter given as argument is NULL, it only decrements the
 *	reference count.  (This all happens in the Tcl_DetachChannel helper
 *	function).
 *	
 *	Finally, if the reference count of the channel drops to zero,
 *	it is deleted.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	Calls Tcl_DetachChannel which deletes the hash entry for a channel 
 *	associated with an interpreter.
 *	
 *	May delete the channel, which can have a variety of consequences,
 *	especially if we are forced to close the channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_UnregisterChannel(interp, chan)
    Tcl_Interp *interp;		/* Interpreter in which channel is defined. */
    Tcl_Channel chan;		/* Channel to delete. */
{
    ChannelState *statePtr;	/* State of the real channel. */

    if (DetachChannel(interp, chan) != TCL_OK) {
        return TCL_OK;
    }
    
    statePtr = ((Channel *) chan)->state->bottomChanPtr->state;

    /*
     * Perform special handling for standard channels being closed. If the
     * refCount is now 1 it means that the last reference to the standard
     * channel is being explicitly closed, so bump the refCount down
     * artificially to 0. This will ensure that the channel is actually
     * closed, below. Also set the static pointer to NULL for the channel.
     */

    CheckForStdChannelsBeingClosed(chan);

    /*
     * If the refCount reached zero, close the actual channel.
     */

    if (statePtr->refCount <= 0) {

        /*
         * Ensure that if there is another buffer, it gets flushed
         * whether or not we are doing a background flush.
         */

        if ((statePtr->curOutPtr != NULL) &&
                (statePtr->curOutPtr->nextAdded >
                        statePtr->curOutPtr->nextRemoved)) {
            statePtr->flags |= BUFFER_READY;
        }
	Tcl_Preserve((ClientData)statePtr);
        if (!(statePtr->flags & BG_FLUSH_SCHEDULED)) {
	    /* We don't want to re-enter Tcl_Close */
	    if (!(statePtr->flags & CHANNEL_CLOSED)) {
		if (Tcl_Close(interp, chan) != TCL_OK) {
		    statePtr->flags |= CHANNEL_CLOSED;
		    Tcl_Release((ClientData)statePtr);
		    return TCL_ERROR;
		}
	    }
        }
        statePtr->flags |= CHANNEL_CLOSED;
	Tcl_Release((ClientData)statePtr);
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DetachChannel --
 *
 *	Deletes the hash entry for a channel associated with an interpreter.
 *	If the interpreter given as argument is NULL, it only decrements the
 *	reference count.  Even if the ref count drops to zero, the 
 *	channel is NOT closed or cleaned up.  This allows a channel to
 *	be detached from an interpreter and left in the same state it
 *	was in when it was originally returned by 'Tcl_OpenFileChannel',
 *	for example.
 *	
 *	This function cannot be used on the standard channels, and
 *	will return TCL_ERROR if that is attempted.
 *	
 *	This function should only be necessary for special purposes
 *	in which you need to generate a pristine channel from one
 *	that has already been used.  All ordinary purposes will almost
 *	always want to use Tcl_UnregisterChannel instead.
 *	
 *	Provided the channel is not attached to any other interpreter,
 *	it can then be closed with Tcl_Close, rather than with 
 *	Tcl_UnregisterChannel.
 *
 * Results:
 *	A standard Tcl result.  If the channel is not currently registered
 *	with the given interpreter, TCL_ERROR is returned, otherwise
 *	TCL_OK.  However no error messages are left in the interp's result.
 *
 * Side effects:
 *	Deletes the hash entry for a channel associated with an 
 *	interpreter.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_DetachChannel(interp, chan)
    Tcl_Interp *interp;		/* Interpreter in which channel is defined. */
    Tcl_Channel chan;		/* Channel to delete. */
{
    if (Tcl_IsStandardChannel(chan)) {
        return TCL_ERROR;
    }
    
    return DetachChannel(interp, chan);
}

/*
 *----------------------------------------------------------------------
 *
 * DetachChannel --
 *
 *	Deletes the hash entry for a channel associated with an interpreter.
 *	If the interpreter given as argument is NULL, it only decrements the
 *	reference count.  Even if the ref count drops to zero, the 
 *	channel is NOT closed or cleaned up.  This allows a channel to
 *	be detached from an interpreter and left in the same state it
 *	was in when it was originally returned by 'Tcl_OpenFileChannel',
 *	for example.
 *
 * Results:
 *	A standard Tcl result.  If the channel is not currently registered
 *	with the given interpreter, TCL_ERROR is returned, otherwise
 *	TCL_OK.  However no error messages are left in the interp's result.
 *
 * Side effects:
 *	Deletes the hash entry for a channel associated with an 
 *	interpreter.
 *
 *----------------------------------------------------------------------
 */

static int
DetachChannel(interp, chan)
    Tcl_Interp *interp;		/* Interpreter in which channel is defined. */
    Tcl_Channel chan;		/* Channel to delete. */
{
    Tcl_HashTable *hTblPtr;	/* Hash table of channels. */
    Tcl_HashEntry *hPtr;	/* Search variable. */
    Channel *chanPtr;		/* The real IO channel. */
    ChannelState *statePtr;	/* State of the real channel. */

    /*
     * Always (un)register bottom-most channel in the stack.  This makes
     * management of the channel list easier because no manipulation is
     * necessary during (un)stack operation.
     */
    chanPtr = ((Channel *) chan)->state->bottomChanPtr;
    statePtr = chanPtr->state;

    if (interp != (Tcl_Interp *) NULL) {
	hTblPtr = (Tcl_HashTable *) Tcl_GetAssocData(interp, "tclIO", NULL);
	if (hTblPtr == (Tcl_HashTable *) NULL) {
	    return TCL_ERROR;
	}
	hPtr = Tcl_FindHashEntry(hTblPtr, statePtr->channelName);
	if (hPtr == (Tcl_HashEntry *) NULL) {
	    return TCL_ERROR;
	}
	if ((Channel *) Tcl_GetHashValue(hPtr) != chanPtr) {
	    return TCL_ERROR;
	}
	Tcl_DeleteHashEntry(hPtr);

	/*
	 * Remove channel handlers that refer to this interpreter, so that they
	 * will not be present if the actual close is delayed and more events
	 * happen on the channel. This may occur if the channel is shared
	 * between several interpreters, or if the channel has async
	 * flushing active.
	 */
    
	CleanupChannelHandlers(interp, chanPtr);
    }

    statePtr->refCount--;
    
    return TCL_OK;
}


/*
 *---------------------------------------------------------------------------
 *
 * Tcl_GetChannel --
 *
 *	Finds an existing Tcl_Channel structure by name in a given
 *	interpreter. This function is public because it is used by
 *	channel-type-specific functions.
 *
 * Results:
 *	A Tcl_Channel or NULL on failure. If failed, interp's result
 *	object contains an error message.  *modePtr is filled with the
 *	modes in which the channel was opened.
 *
 * Side effects:
 *	None.
 *
 *---------------------------------------------------------------------------
 */

Tcl_Channel
Tcl_GetChannel(interp, chanName, modePtr)
    Tcl_Interp *interp;		/* Interpreter in which to find or create
                                 * the channel. */
    CONST char *chanName;	/* The name of the channel. */
    int *modePtr;		/* Where to store the mode in which the
                                 * channel was opened? Will contain an ORed
                                 * combination of TCL_READABLE and
                                 * TCL_WRITABLE, if non-NULL. */
{
    Channel *chanPtr;		/* The actual channel. */
    Tcl_HashTable *hTblPtr;	/* Hash table of channels. */
    Tcl_HashEntry *hPtr;	/* Search variable. */
    CONST char *name;		/* Translated name. */

    /*
     * Substitute "stdin", etc.  Note that even though we immediately
     * find the channel using Tcl_GetStdChannel, we still need to look
     * it up in the specified interpreter to ensure that it is present
     * in the channel table.  Otherwise, safe interpreters would always
     * have access to the standard channels.
     */

    name = chanName;
    if ((chanName[0] == 's') && (chanName[1] == 't')) {
	chanPtr = NULL;
	if (strcmp(chanName, "stdin") == 0) {
	    chanPtr = (Channel *) Tcl_GetStdChannel(TCL_STDIN);
	} else if (strcmp(chanName, "stdout") == 0) {
	    chanPtr = (Channel *) Tcl_GetStdChannel(TCL_STDOUT);
	} else if (strcmp(chanName, "stderr") == 0) {
	    chanPtr = (Channel *) Tcl_GetStdChannel(TCL_STDERR);
	}
	if (chanPtr != NULL) {
	    name = chanPtr->state->channelName;
	}
    }

    hTblPtr = GetChannelTable(interp);
    hPtr = Tcl_FindHashEntry(hTblPtr, name);
    if (hPtr == (Tcl_HashEntry *) NULL) {
        Tcl_AppendResult(interp, "can not find channel named \"",
                chanName, "\"", (char *) NULL);
        return NULL;
    }

    /*
     * Always return bottom-most channel in the stack.  This one lives
     * the longest - other channels may go away unnoticed.
     * The other APIs compensate where necessary to retrieve the
     * topmost channel again.
     */
    chanPtr = (Channel *) Tcl_GetHashValue(hPtr);
    chanPtr = chanPtr->state->bottomChanPtr;
    if (modePtr != NULL) {
        *modePtr = (chanPtr->state->flags & (TCL_READABLE|TCL_WRITABLE));
    }
    
    return (Tcl_Channel) chanPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateChannel --
 *
 *	Creates a new entry in the hash table for a Tcl_Channel
 *	record.
 *
 * Results:
 *	Returns the new Tcl_Channel.
 *
 * Side effects:
 *	Creates a new Tcl_Channel instance and inserts it into the
 *	hash table.
 *
 *----------------------------------------------------------------------
 */

Tcl_Channel
Tcl_CreateChannel(typePtr, chanName, instanceData, mask)
    Tcl_ChannelType *typePtr;	/* The channel type record. */
    CONST char *chanName;	/* Name of channel to record. */
    ClientData instanceData;	/* Instance specific data. */
    int mask;			/* TCL_READABLE & TCL_WRITABLE to indicate
                                 * if the channel is readable, writable. */
{
    Channel *chanPtr;		/* The channel structure newly created. */
    ChannelState *statePtr;	/* The stack-level independent state info
				 * for the channel. */
    CONST char *name;
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);

    /*
     * With the change of the Tcl_ChannelType structure to use a version in
     * 8.3.2+, we have to make sure that our assumption that the structure
     * remains a binary compatible size is true.
     *
     * If this assertion fails on some system, then it can be removed
     * only if the user recompiles code with older channel drivers in
     * the new system as well.
     */

    assert(sizeof(Tcl_ChannelTypeVersion) == sizeof(Tcl_DriverBlockModeProc*));

    /*
     * JH: We could subsequently memset these to 0 to avoid the
     * numerous assignments to 0/NULL below.
     */
    chanPtr  = (Channel *) ckalloc((unsigned) sizeof(Channel));
    statePtr = (ChannelState *) ckalloc((unsigned) sizeof(ChannelState));
    chanPtr->state = statePtr;

    chanPtr->instanceData	= instanceData;
    chanPtr->typePtr		= typePtr;

    /*
     * Set all the bits that are part of the stack-independent state
     * information for the channel.
     */

    if (chanName != (char *) NULL) {
	char *tmp = ckalloc((unsigned) (strlen(chanName) + 1));
        statePtr->channelName = tmp;
        strcpy(tmp, chanName);
    } else {
        panic("Tcl_CreateChannel: NULL channel name");
    }

    statePtr->flags		= mask;

    /*
     * Set the channel to system default encoding.
     */

    statePtr->encoding = NULL;
    name = Tcl_GetEncodingName(NULL);
    if (strcmp(name, "binary") != 0) {
    	statePtr->encoding = Tcl_GetEncoding(NULL, name);
    }
    statePtr->inputEncodingState	= NULL;
    statePtr->inputEncodingFlags	= TCL_ENCODING_START;
    statePtr->outputEncodingState	= NULL;
    statePtr->outputEncodingFlags	= TCL_ENCODING_START;

    /*
     * Set the channel up initially in AUTO input translation mode to
     * accept "\n", "\r" and "\r\n". Output translation mode is set to
     * a platform specific default value. The eofChar is set to 0 for both
     * input and output, so that Tcl does not look for an in-file EOF
     * indicator (e.g. ^Z) and does not append an EOF indicator to files.
     */

    statePtr->inputTranslation	= TCL_TRANSLATE_AUTO;
    statePtr->outputTranslation	= TCL_PLATFORM_TRANSLATION;
    statePtr->inEofChar		= 0;
    statePtr->outEofChar	= 0;

    statePtr->unreportedError	= 0;
    statePtr->refCount		= 0;
    statePtr->closeCbPtr	= (CloseCallback *) NULL;
    statePtr->curOutPtr		= (ChannelBuffer *) NULL;
    statePtr->outQueueHead	= (ChannelBuffer *) NULL;
    statePtr->outQueueTail	= (ChannelBuffer *) NULL;
    statePtr->saveInBufPtr	= (ChannelBuffer *) NULL;
    statePtr->inQueueHead	= (ChannelBuffer *) NULL;
    statePtr->inQueueTail	= (ChannelBuffer *) NULL;
    statePtr->chPtr		= (ChannelHandler *) NULL;
    statePtr->interestMask	= 0;
    statePtr->scriptRecordPtr	= (EventScriptRecord *) NULL;
    statePtr->bufSize		= CHANNELBUFFER_DEFAULT_SIZE;
    statePtr->timer		= NULL;
    statePtr->csPtr		= NULL;

    statePtr->outputStage	= NULL;
    if ((statePtr->encoding != NULL) && (statePtr->flags & TCL_WRITABLE)) {
	statePtr->outputStage = (char *)
	    ckalloc((unsigned) (statePtr->bufSize + 2));
    }

    /*
     * As we are creating the channel, it is obviously the top for now
     */
    statePtr->topChanPtr	= chanPtr;
    statePtr->bottomChanPtr	= chanPtr;
    chanPtr->downChanPtr	= (Channel *) NULL;
    chanPtr->upChanPtr		= (Channel *) NULL;
    chanPtr->inQueueHead        = (ChannelBuffer*) NULL;
    chanPtr->inQueueTail        = (ChannelBuffer*) NULL;

    /*
     * Link the channel into the list of all channels; create an on-exit
     * handler if there is not one already, to close off all the channels
     * in the list on exit.
     *
     * JH: Could call Tcl_SpliceChannel, but need to avoid NULL check.
     */

    statePtr->nextCSPtr	= tsdPtr->firstCSPtr;
    tsdPtr->firstCSPtr	= statePtr;

    /*
     * TIP #10. Mark the current thread as the one managing the new
     *          channel. Note: 'Tcl_GetCurrentThread' returns sensible
     *          values even for a non-threaded core.
     */

    statePtr->managingThread = Tcl_GetCurrentThread ();

    /*
     * Install this channel in the first empty standard channel slot, if
     * the channel was previously closed explicitly.
     */

    if ((tsdPtr->stdinChannel == NULL) &&
	    (tsdPtr->stdinInitialized == 1)) {
	Tcl_SetStdChannel((Tcl_Channel) chanPtr, TCL_STDIN);
        Tcl_RegisterChannel((Tcl_Interp *) NULL, (Tcl_Channel) chanPtr);
    } else if ((tsdPtr->stdoutChannel == NULL) &&
	    (tsdPtr->stdoutInitialized == 1)) {
	Tcl_SetStdChannel((Tcl_Channel) chanPtr, TCL_STDOUT);
        Tcl_RegisterChannel((Tcl_Interp *) NULL, (Tcl_Channel) chanPtr);
    } else if ((tsdPtr->stderrChannel == NULL) &&
	    (tsdPtr->stderrInitialized == 1)) {
	Tcl_SetStdChannel((Tcl_Channel) chanPtr, TCL_STDERR);
        Tcl_RegisterChannel((Tcl_Interp *) NULL, (Tcl_Channel) chanPtr);
    } 
    return (Tcl_Channel) chanPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_StackChannel --
 *
 *	Replaces an entry in the hash table for a Tcl_Channel
 *	record. The replacement is a new channel with same name,
 *	it supercedes the replaced channel. Input and output of
 *	the superceded channel is now going through the newly
 *	created channel and allows the arbitrary filtering/manipulation
 *	of the dataflow.
 *
 *	Andreas Kupries <a.kupries@westend.com>, 12/13/1998
 *	"Trf-Patch for filtering channels"
 *
 * Results:
 *	Returns the new Tcl_Channel, which actually contains the
 *      saved information about prevChan.
 *
 * Side effects:
 *    A new channel structure is allocated and linked below
 *    the existing channel.  The channel operations and client
 *    data of the existing channel are copied down to the newly
 *    created channel, and the current channel has its operations
 *    replaced by the new typePtr.
 *
 *----------------------------------------------------------------------
 */

Tcl_Channel
Tcl_StackChannel(interp, typePtr, instanceData, mask, prevChan)
    Tcl_Interp	    *interp;	   /* The interpreter we are working in */
    Tcl_ChannelType *typePtr;	   /* The channel type record for the new
				    * channel. */
    ClientData	     instanceData; /* Instance specific data for the new
				    * channel. */
    int		     mask;	   /* TCL_READABLE & TCL_WRITABLE to indicate
				    * if the channel is readable, writable. */
    Tcl_Channel	     prevChan;	   /* The channel structure to replace */
{
    ThreadSpecificData	*tsdPtr = TCL_TSD_INIT(&dataKey);
    Channel		*chanPtr, *prevChanPtr;
    ChannelState	*statePtr;

    /*
     * Find the given channel in the list of all channels.
     * If we don't find it, then it was never registered correctly.
     *
     * This operation should occur at the top of a channel stack.
     */

    statePtr    = (ChannelState *) tsdPtr->firstCSPtr;
    prevChanPtr = ((Channel *) prevChan)->state->topChanPtr;

    while (statePtr->topChanPtr != prevChanPtr) {
	statePtr = statePtr->nextCSPtr;
    }

    if (statePtr == NULL) {
	Tcl_AppendResult(interp, "couldn't find state for channel \"",
		Tcl_GetChannelName(prevChan), "\"", (char *) NULL);
        return (Tcl_Channel) NULL;
    }

    /*
     * Here we check if the given "mask" matches the "flags"
     * of the already existing channel.
     *
     *	  | - | R | W | RW |
     *	--+---+---+---+----+	<=>  0 != (chan->mask & prevChan->mask)
     *	- |   |   |   |    |
     *	R |   | + |   | +  |	The superceding channel is allowed to
     *	W |   |   | + | +  |	restrict the capabilities of the
     *	RW|   | + | + | +  |	superceded one !
     *	--+---+---+---+----+
     */

    if ((mask & (statePtr->flags & (TCL_READABLE | TCL_WRITABLE))) == 0) {
	Tcl_AppendResult(interp,
		"reading and writing both disallowed for channel \"",
		Tcl_GetChannelName(prevChan), "\"", (char *) NULL);
        return (Tcl_Channel) NULL;
    }

    /*
     * Flush the buffers. This ensures that any data still in them
     * at this time is not handled by the new transformation. Restrict
     * this to writable channels. Take care to hide a possible bg-copy
     * in progress from Tcl_Flush and the CheckForChannelErrors inside.
     */

    if ((mask & TCL_WRITABLE) != 0) {
        CopyState *csPtr;

        csPtr           = statePtr->csPtr;
	statePtr->csPtr = (CopyState*) NULL;

	if (Tcl_Flush((Tcl_Channel) prevChanPtr) != TCL_OK) {
	    statePtr->csPtr = csPtr;
	    Tcl_AppendResult(interp, "could not flush channel \"",
		    Tcl_GetChannelName(prevChan), "\"", (char *) NULL);
	    return (Tcl_Channel) NULL;
	}

	statePtr->csPtr = csPtr;
    }
    /*
     * Discard any input in the buffers. They are not yet read by the
     * user of the channel, so they have to go through the new
     * transformation before reading. As the buffers contain the
     * untransformed form their contents are not only useless but actually
     * distorts our view of the system.
     *
     * To preserve the information without having to read them again and
     * to avoid problems with the location in the channel (seeking might
     * be impossible) we move the buffers from the common state structure
     * into the channel itself. We use the buffers in the channel below
     * the new transformation to hold the data. In the future this allows
     * us to write transformations which pre-read data and push the unused
     * part back when they are going away.
     */

    if (((mask & TCL_READABLE) != 0) &&
	(statePtr->inQueueHead != (ChannelBuffer*) NULL)) {
      /*
       * Remark: It is possible that the channel buffers contain data from
       * some earlier push-backs.
       */

      statePtr->inQueueTail->nextPtr = prevChanPtr->inQueueHead;
      prevChanPtr->inQueueHead       = statePtr->inQueueHead;

      if (prevChanPtr->inQueueTail == (ChannelBuffer*) NULL) {
	prevChanPtr->inQueueTail = statePtr->inQueueTail;
      }

      statePtr->inQueueHead          = (ChannelBuffer*) NULL;
      statePtr->inQueueTail          = (ChannelBuffer*) NULL;
    }

    chanPtr = (Channel *) ckalloc((unsigned) sizeof(Channel));

    /*
     * Save some of the current state into the new structure,
     * reinitialize the parts which will stay with the transformation.
     *
     * Remarks:
     */

    chanPtr->state		= statePtr;
    chanPtr->instanceData	= instanceData;
    chanPtr->typePtr		= typePtr;
    chanPtr->downChanPtr	= prevChanPtr;
    chanPtr->upChanPtr		= (Channel *) NULL;
    chanPtr->inQueueHead        = (ChannelBuffer*) NULL;
    chanPtr->inQueueTail        = (ChannelBuffer*) NULL;

    /*
     * Place new block at the head of a possibly existing list of previously
     * stacked channels.
     */

    prevChanPtr->upChanPtr	= chanPtr;
    statePtr->topChanPtr	= chanPtr;

    return (Tcl_Channel) chanPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_UnstackChannel --
 *
 *	Unstacks an entry in the hash table for a Tcl_Channel
 *	record. This is the reverse to 'Tcl_StackChannel'.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	If TCL_ERROR is returned, the posix error code will be set
 *	with Tcl_SetErrno.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_UnstackChannel (interp, chan)
    Tcl_Interp *interp; /* The interpreter we are working in */
    Tcl_Channel chan;   /* The channel to unstack */
{
    Channel      *chanPtr  = (Channel *) chan;
    ChannelState *statePtr = chanPtr->state;
    int result = 0;

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    if (chanPtr->downChanPtr != (Channel *) NULL) {
        /*
	 * Instead of manipulating the per-thread / per-interp list/hashtable
	 * of registered channels we wind down the state of the transformation,
	 * and then restore the state of underlying channel into the old
	 * structure.
	 */
	Channel *downChanPtr = chanPtr->downChanPtr;

	/*
	 * Flush the buffers. This ensures that any data still in them
	 * at this time _is_ handled by the transformation we are unstacking
	 * right now. Restrict this to writable channels. Take care to hide
	 * a possible bg-copy in progress from Tcl_Flush and the
	 * CheckForChannelErrors inside.
	 */

	if (statePtr->flags & TCL_WRITABLE) {
	    CopyState*    csPtr;

	    csPtr           = statePtr->csPtr;
	    statePtr->csPtr = (CopyState*) NULL;

	    if (Tcl_Flush((Tcl_Channel) chanPtr) != TCL_OK) {
	        statePtr->csPtr = csPtr;
		Tcl_AppendResult(interp, "could not flush channel \"",
			Tcl_GetChannelName((Tcl_Channel) chanPtr), "\"",
			(char *) NULL);
		return TCL_ERROR;
	    }

	    statePtr->csPtr = csPtr;
	}

	/*
	 * Anything in the input queue and the push-back buffers of
	 * the transformation going away is transformed data, but not
	 * yet read. As unstacking means that the caller does not want
	 * to see transformed data any more we have to discard these
	 * bytes. To avoid writing an analogue to 'DiscardInputQueued'
	 * we move the information in the push back buffers to the
	 * input queue and then call 'DiscardInputQueued' on that.
	 */

	if (((statePtr->flags & TCL_READABLE)  != 0) &&
	    ((statePtr->inQueueHead != (ChannelBuffer*) NULL) ||
	     (chanPtr->inQueueHead  != (ChannelBuffer*) NULL))) {

	    if ((statePtr->inQueueHead != (ChannelBuffer*) NULL) &&
		(chanPtr->inQueueHead  != (ChannelBuffer*) NULL)) {
	        statePtr->inQueueTail->nextPtr = chanPtr->inQueueHead;
		statePtr->inQueueTail = chanPtr->inQueueTail;
	        statePtr->inQueueHead = statePtr->inQueueTail;

	    } else if (chanPtr->inQueueHead != (ChannelBuffer*) NULL) {
	        statePtr->inQueueHead = chanPtr->inQueueHead;
		statePtr->inQueueTail = chanPtr->inQueueTail;
	    }

	    chanPtr->inQueueHead          = (ChannelBuffer*) NULL;
	    chanPtr->inQueueTail          = (ChannelBuffer*) NULL;

	    DiscardInputQueued (statePtr, 0);
	}

	statePtr->topChanPtr	= downChanPtr;
	downChanPtr->upChanPtr	= (Channel *) NULL;

	/*
	 * Leave this link intact for closeproc
	 *  chanPtr->downChanPtr	= (Channel *) NULL;
	 */

	/*
	 * Close and free the channel driver state.
	 */

	if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) {
	    result = (chanPtr->typePtr->closeProc)(chanPtr->instanceData,
		    interp);
	} else {
	    result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData,
		    interp, 0);
	}

	chanPtr->typePtr	= NULL;
	/*
	 * AK: Tcl_NotifyChannel may hold a reference to this block of memory
	 */
	Tcl_EventuallyFree((ClientData) chanPtr, TCL_DYNAMIC);
	UpdateInterest(downChanPtr);

	if (result != 0) {
	    Tcl_SetErrno(result);
	    return TCL_ERROR;
	}
    } else {
        /*
	 * This channel does not cover another one.
	 * Simply do a close, if necessary.
	 */

        if (statePtr->refCount <= 0) {
            if (Tcl_Close(interp, chan) != TCL_OK) {
                return TCL_ERROR;
            }
	}
    }

    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetStackedChannel --
 *
 *	Determines whether the specified channel is stacked upon another.
 *
 * Results:
 *	NULL if the channel is not stacked upon another one, or a reference
 *	to the channel it is stacked upon. This reference can be used in
 *	queries, but modification is not allowed.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_Channel
Tcl_GetStackedChannel(chan)
    Tcl_Channel chan;
{
    Channel *chanPtr = (Channel *) chan;	/* The actual channel. */

    return (Tcl_Channel) chanPtr->downChanPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetTopChannel --
 *
 *	Returns the top channel of a channel stack.
 *
 * Results:
 *	NULL if the channel is not stacked upon another one, or a reference
 *	to the channel it is stacked upon. This reference can be used in
 *	queries, but modification is not allowed.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_Channel
Tcl_GetTopChannel(chan)
    Tcl_Channel chan;
{
    Channel *chanPtr = (Channel *) chan;	/* The actual channel. */

    return (Tcl_Channel) chanPtr->state->topChanPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelInstanceData --
 *
 *	Returns the client data associated with a channel.
 *
 * Results:
 *	The client data.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

ClientData
Tcl_GetChannelInstanceData(chan)
    Tcl_Channel chan;		/* Channel for which to return client data. */
{
    Channel *chanPtr = (Channel *) chan;	/* The actual channel. */

    return chanPtr->instanceData;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelThread --
 *
 *	Given a channel structure, returns the thread managing it.
 *	TIP #10
 *
 * Results:
 *	Returns the id of the thread managing the channel.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_ThreadId
Tcl_GetChannelThread(chan)
    Tcl_Channel chan;		/* The channel to return managing thread for. */
{
    Channel *chanPtr = (Channel *) chan;	/* The actual channel. */

    return chanPtr->state->managingThread;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelType --
 *
 *	Given a channel structure, returns the channel type structure.
 *
 * Results:
 *	Returns a pointer to the channel type structure.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_ChannelType *
Tcl_GetChannelType(chan)
    Tcl_Channel chan;		/* The channel to return type for. */
{
    Channel *chanPtr = (Channel *) chan;	/* The actual channel. */

    return chanPtr->typePtr;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelMode --
 *
 *	Computes a mask indicating whether the channel is open for
 *	reading and writing.
 *
 * Results:
 *	An OR-ed combination of TCL_READABLE and TCL_WRITABLE.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_GetChannelMode(chan)
    Tcl_Channel chan;		/* The channel for which the mode is
                                 * being computed. */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* State of actual channel. */

    return (statePtr->flags & (TCL_READABLE | TCL_WRITABLE));
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelName --
 *
 *	Returns the string identifying the channel name.
 *
 * Results:
 *	The string containing the channel name. This memory is
 *	owned by the generic layer and should not be modified by
 *	the caller.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

CONST char *
Tcl_GetChannelName(chan)
    Tcl_Channel chan;		/* The channel for which to return the name. */
{
    ChannelState *statePtr;	/* State of actual channel. */

    statePtr = ((Channel *) chan)->state;
    return statePtr->channelName;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelHandle --
 *
 *	Returns an OS handle associated with a channel.
 *
 * Results:
 *	Returns TCL_OK and places the handle in handlePtr, or returns
 *	TCL_ERROR on failure.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_GetChannelHandle(chan, direction, handlePtr)
    Tcl_Channel chan;		/* The channel to get file from. */
    int direction;		/* TCL_WRITABLE or TCL_READABLE. */
    ClientData *handlePtr;	/* Where to store handle */
{
    Channel *chanPtr;		/* The actual channel. */
    ClientData handle;
    int result;

    chanPtr = ((Channel *) chan)->state->bottomChanPtr;
    result = (chanPtr->typePtr->getHandleProc)(chanPtr->instanceData,
	    direction, &handle);
    if (handlePtr) {
	*handlePtr = handle;
    }
    return result;
}

/*
 *---------------------------------------------------------------------------
 *
 * AllocChannelBuffer --
 *
 *	A channel buffer has BUFFER_PADDING bytes extra at beginning to
 *	hold any bytes of a native-encoding character that got split by
 *	the end of the previous buffer and need to be moved to the
 *	beginning of the next buffer to make a contiguous string so it
 *	can be converted to UTF-8.
 *
 *	A channel buffer has BUFFER_PADDING bytes extra at the end to
 *	hold any bytes of a native-encoding character (generated from a
 *	UTF-8 character) that overflow past the end of the buffer and
 *	need to be moved to the next buffer.
 *
 * Results:
 *	A newly allocated channel buffer.
 *
 * Side effects:
 *	None.
 *
 *---------------------------------------------------------------------------
 */

static ChannelBuffer *
AllocChannelBuffer(length)
    int length;			/* Desired length of channel buffer. */
{
    ChannelBuffer *bufPtr;
    int n;

    n = length + CHANNELBUFFER_HEADER_SIZE + BUFFER_PADDING + BUFFER_PADDING;
    bufPtr = (ChannelBuffer *) ckalloc((unsigned) n);
    bufPtr->nextAdded	= BUFFER_PADDING;
    bufPtr->nextRemoved	= BUFFER_PADDING;
    bufPtr->bufLength	= length + BUFFER_PADDING;
    bufPtr->nextPtr	= (ChannelBuffer *) NULL;
    return bufPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * RecycleBuffer --
 *
 *	Helper function to recycle input and output buffers. Ensures
 *	that two input buffers are saved (one in the input queue and
 *	another in the saveInBufPtr field) and that curOutPtr is set
 *	to a buffer. Only if these conditions are met is the buffer
 *	freed to the OS.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	May free a buffer to the OS.
 *
 *----------------------------------------------------------------------
 */

static void
RecycleBuffer(statePtr, bufPtr, mustDiscard)
    ChannelState *statePtr;	/* ChannelState in which to recycle buffers. */
    ChannelBuffer *bufPtr;	/* The buffer to recycle. */
    int mustDiscard;		/* If nonzero, free the buffer to the
                                 * OS, always. */
{
    /*
     * Do we have to free the buffer to the OS?
     */

    if (mustDiscard) {
        ckfree((char *) bufPtr);
        return;
    }

    /*
     * Only save buffers which are at least as big as the requested
     * buffersize for the channel. This is to honor dynamic changes
     * of the buffersize made by the user.
     */

    if ((bufPtr->bufLength - BUFFER_PADDING) < statePtr->bufSize) {
        ckfree((char *) bufPtr);
        return;
    }

    /*
     * Only save buffers for the input queue if the channel is readable.
     */
    
    if (statePtr->flags & TCL_READABLE) {
        if (statePtr->inQueueHead == (ChannelBuffer *) NULL) {
            statePtr->inQueueHead = bufPtr;
            statePtr->inQueueTail = bufPtr;
            goto keepit;
        }
        if (statePtr->saveInBufPtr == (ChannelBuffer *) NULL) {
            statePtr->saveInBufPtr = bufPtr;
            goto keepit;
        }
    }

    /*
     * Only save buffers for the output queue if the channel is writable.
     */

    if (statePtr->flags & TCL_WRITABLE) {
        if (statePtr->curOutPtr == (ChannelBuffer *) NULL) {
            statePtr->curOutPtr = bufPtr;
            goto keepit;
        }
    }

    /*
     * If we reached this code we return the buffer to the OS.
     */

    ckfree((char *) bufPtr);
    return;

    keepit:
    bufPtr->nextRemoved = BUFFER_PADDING;
    bufPtr->nextAdded = BUFFER_PADDING;
    bufPtr->nextPtr = (ChannelBuffer *) NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * DiscardOutputQueued --
 *
 *	Discards all output queued in the output queue of a channel.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Recycles buffers.
 *
 *----------------------------------------------------------------------
 */

static void
DiscardOutputQueued(statePtr)
    ChannelState *statePtr;	/* ChannelState for which to discard output. */
{
    ChannelBuffer *bufPtr;
    
    while (statePtr->outQueueHead != (ChannelBuffer *) NULL) {
        bufPtr = statePtr->outQueueHead;
        statePtr->outQueueHead = bufPtr->nextPtr;
        RecycleBuffer(statePtr, bufPtr, 0);
    }
    statePtr->outQueueHead = (ChannelBuffer *) NULL;
    statePtr->outQueueTail = (ChannelBuffer *) NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * CheckForDeadChannel --
 *
 *	This function checks is a given channel is Dead.
 *      (A channel that has been closed but not yet deallocated.)
 *
 * Results:
 *	True (1) if channel is Dead, False (0) if channel is Ok
 *
 * Side effects:
 *      None
 *
 *----------------------------------------------------------------------
 */

static int
CheckForDeadChannel(interp, statePtr)
    Tcl_Interp *interp;		/* For error reporting (can be NULL) */
    ChannelState *statePtr;	/* The channel state to check. */
{
    if (statePtr->flags & CHANNEL_DEAD) {
        Tcl_SetErrno(EINVAL);
	if (interp) {
	    Tcl_AppendResult(interp,
		    "unable to access channel: invalid channel",
		    (char *) NULL);   
	}
	return 1;
    }
    return 0;
}

/*
 *----------------------------------------------------------------------
 *
 * FlushChannel --
 *
 *	This function flushes as much of the queued output as is possible
 *	now. If calledFromAsyncFlush is nonzero, it is being called in an
 *	event handler to flush channel output asynchronously.
 *
 * Results:
 *	0 if successful, else the error code that was returned by the
 *	channel type operation.
 *
 * Side effects:
 *	May produce output on a channel. May block indefinitely if the
 *	channel is synchronous. May schedule an async flush on the channel.
 *	May recycle memory for buffers in the output queue.
 *
 *----------------------------------------------------------------------
 */

static int
FlushChannel(interp, chanPtr, calledFromAsyncFlush)
    Tcl_Interp *interp;			/* For error reporting during close. */
    Channel *chanPtr;			/* The channel to flush on. */
    int calledFromAsyncFlush;		/* If nonzero then we are being
                                         * called from an asynchronous
                                         * flush callback. */
{
    ChannelState *statePtr = chanPtr->state;
					/* State of the channel stack. */
    ChannelBuffer *bufPtr;		/* Iterates over buffered output
                                         * queue. */
    int toWrite;			/* Amount of output data in current
                                         * buffer available to be written. */
    int written;			/* Amount of output data actually
                                         * written in current round. */
    int errorCode = 0;			/* Stores POSIX error codes from
                                         * channel driver operations. */
    int wroteSome = 0;			/* Set to one if any data was
					 * written to the driver. */

    /*
     * Prevent writing on a dead channel -- a channel that has been closed
     * but not yet deallocated. This can occur if the exit handler for the
     * channel deallocation runs before all channels are deregistered in
     * all interpreters.
     */
    
    if (CheckForDeadChannel(interp, statePtr)) return -1;
    
    /*
     * Loop over the queued buffers and attempt to flush as
     * much as possible of the queued output to the channel.
     */

    while (1) {

        /*
         * If the queue is empty and there is a ready current buffer, OR if
         * the current buffer is full, then move the current buffer to the
         * queue.
         */

        if (((statePtr->curOutPtr != (ChannelBuffer *) NULL) &&
                (statePtr->curOutPtr->nextAdded == statePtr->curOutPtr->bufLength))
                || ((statePtr->flags & BUFFER_READY) &&
                        (statePtr->outQueueHead == (ChannelBuffer *) NULL))) {
            statePtr->flags &= (~(BUFFER_READY));
            statePtr->curOutPtr->nextPtr = (ChannelBuffer *) NULL;
            if (statePtr->outQueueHead == (ChannelBuffer *) NULL) {
                statePtr->outQueueHead = statePtr->curOutPtr;
            } else {
                statePtr->outQueueTail->nextPtr = statePtr->curOutPtr;
            }
            statePtr->outQueueTail = statePtr->curOutPtr;
            statePtr->curOutPtr = (ChannelBuffer *) NULL;
        }
        bufPtr = statePtr->outQueueHead;

        /*
         * If we are not being called from an async flush and an async
         * flush is active, we just return without producing any output.
         */

        if ((!calledFromAsyncFlush) &&
                (statePtr->flags & BG_FLUSH_SCHEDULED)) {
            return 0;
        }

        /*
         * If the output queue is still empty, break out of the while loop.
         */

        if (bufPtr == (ChannelBuffer *) NULL) {
            break;	/* Out of the "while (1)". */
        }

        /*
         * Produce the output on the channel.
         */

        toWrite = bufPtr->nextAdded - bufPtr->nextRemoved;
        written = (chanPtr->typePtr->outputProc) (chanPtr->instanceData,
                bufPtr->buf + bufPtr->nextRemoved, toWrite,
		&errorCode);

	/*
         * If the write failed completely attempt to start the asynchronous
         * flush mechanism and break out of this loop - do not attempt to
         * write any more output at this time.
         */

        if (written < 0) {
            
            /*
             * If the last attempt to write was interrupted, simply retry.
             */
            
            if (errorCode == EINTR) {
                errorCode = 0;
                continue;
            }

            /*
             * If the channel is non-blocking and we would have blocked,
             * start a background flushing handler and break out of the loop.
             */

            if ((errorCode == EWOULDBLOCK) || (errorCode == EAGAIN)) {
		/*
		 * This used to check for CHANNEL_NONBLOCKING, and panic
		 * if the channel was blocking.  However, it appears
		 * that setting stdin to -blocking 0 has some effect on
		 * the stdout when it's a tty channel (dup'ed underneath)
		 */
		if (!(statePtr->flags & BG_FLUSH_SCHEDULED)) {
		    statePtr->flags |= BG_FLUSH_SCHEDULED;
		    UpdateInterest(chanPtr);
		}
		errorCode = 0;
		break;
            }

            /*
             * Decide whether to report the error upwards or defer it.
             */

            if (calledFromAsyncFlush) {
                if (statePtr->unreportedError == 0) {
                    statePtr->unreportedError = errorCode;
                }
            } else {
                Tcl_SetErrno(errorCode);
		if (interp != NULL) {

		    /*
		     * Casting away CONST here is safe because the
		     * TCL_VOLATILE flag guarantees CONST treatment
		     * of the Posix error string.
		     */

		    Tcl_SetResult(interp,
			    (char *) Tcl_PosixError(interp), TCL_VOLATILE);
		}
            }

            /*
             * When we get an error we throw away all the output
             * currently queued.
             */

            DiscardOutputQueued(statePtr);
            continue;
        } else {
	    wroteSome = 1;
	}

        bufPtr->nextRemoved += written;

        /*
         * If this buffer is now empty, recycle it.
         */

        if (bufPtr->nextRemoved == bufPtr->nextAdded) {
            statePtr->outQueueHead = bufPtr->nextPtr;
            if (statePtr->outQueueHead == (ChannelBuffer *) NULL) {
                statePtr->outQueueTail = (ChannelBuffer *) NULL;
            }
            RecycleBuffer(statePtr, bufPtr, 0);
        }
    }	/* Closes "while (1)". */

    /*
     * If we wrote some data while flushing in the background, we are done.
     * We can't finish the background flush until we run out of data and
     * the channel becomes writable again.  This ensures that all of the
     * pending data has been flushed at the system level.
     */

    if (statePtr->flags & BG_FLUSH_SCHEDULED) {
	if (wroteSome) {
	    return errorCode;
	} else if (statePtr->outQueueHead == (ChannelBuffer *) NULL) {
	    statePtr->flags &= (~(BG_FLUSH_SCHEDULED));
	    (chanPtr->typePtr->watchProc)(chanPtr->instanceData,
		    statePtr->interestMask);
	}
    }

    /*
     * If the channel is flagged as closed, delete it when the refCount
     * drops to zero, the output queue is empty and there is no output
     * in the current output buffer.
     */

    if ((statePtr->flags & CHANNEL_CLOSED) && (statePtr->refCount <= 0) &&
            (statePtr->outQueueHead == (ChannelBuffer *) NULL) &&
            ((statePtr->curOutPtr == (ChannelBuffer *) NULL) ||
                    (statePtr->curOutPtr->nextAdded ==
                            statePtr->curOutPtr->nextRemoved))) {
	return CloseChannel(interp, chanPtr, errorCode);
    }
    return errorCode;
}

/*
 *----------------------------------------------------------------------
 *
 * CloseChannel --
 *
 *	Utility procedure to close a channel and free associated resources.
 *
 *	If the channel was stacked, then the it will copy the necessary
 *	elements of the NEXT channel into the TOP channel, in essence
 *	unstacking the channel.  The NEXT channel will then be freed.
 *
 *	If the channel was not stacked, then we will free all the bits
 *	for the TOP channel, including the data structure itself.
 *
 * Results:
 *	1 if the channel was stacked, 0 otherwise.
 *
 * Side effects:
 *	May close the actual channel; may free memory.
 *	May change the value of errno.
 *
 *----------------------------------------------------------------------
 */

static int
CloseChannel(interp, chanPtr, errorCode)
    Tcl_Interp *interp;			/* For error reporting. */
    Channel *chanPtr;			/* The channel to close. */
    int errorCode;			/* Status of operation so far. */
{
    int result = 0;			/* Of calling driver close
                                         * operation. */
    ChannelState *statePtr;		/* state of the channel stack. */
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);

    if (chanPtr == NULL) {
        return result;
    }
    statePtr = chanPtr->state;

    /*
     * No more input can be consumed so discard any leftover input.
     */

    DiscardInputQueued(statePtr, 1);

    /*
     * Discard a leftover buffer in the current output buffer field.
     */

    if (statePtr->curOutPtr != (ChannelBuffer *) NULL) {
        ckfree((char *) statePtr->curOutPtr);
        statePtr->curOutPtr = (ChannelBuffer *) NULL;
    }
    
    /*
     * The caller guarantees that there are no more buffers
     * queued for output.
     */

    if (statePtr->outQueueHead != (ChannelBuffer *) NULL) {
        panic("TclFlush, closed channel: queued output left");
    }

    /*
     * If the EOF character is set in the channel, append that to the
     * output device.
     */

    if ((statePtr->outEofChar != 0) && (statePtr->flags & TCL_WRITABLE)) {
        int dummy;
        char c;

        c = (char) statePtr->outEofChar;
        (chanPtr->typePtr->outputProc) (chanPtr->instanceData, &c, 1, &dummy);
    }

    /*
     * Remove this channel from of the list of all channels.
     */
    Tcl_CutChannel((Tcl_Channel) chanPtr);

    /*
     * Close and free the channel driver state.
     */

    if (chanPtr->typePtr->closeProc != TCL_CLOSE2PROC) {
	result = (chanPtr->typePtr->closeProc)(chanPtr->instanceData, interp);
    } else {
	result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData, interp,
		0);
    }

    /*
     * Some resources can be cleared only if the bottom channel
     * in a stack is closed. All the other channels in the stack
     * are not allowed to remove.
     */

    if (chanPtr == statePtr->bottomChanPtr) {
	if (statePtr->channelName != (char *) NULL) {
	    ckfree((char *) statePtr->channelName);
	    statePtr->channelName = NULL;
	}

	Tcl_FreeEncoding(statePtr->encoding);
	if (statePtr->outputStage != NULL) {
	    ckfree((char *) statePtr->outputStage);
	    statePtr->outputStage = (char *) NULL;
	}
    }

    /*
     * If we are being called synchronously, report either
     * any latent error on the channel or the current error.
     */

    if (statePtr->unreportedError != 0) {
        errorCode = statePtr->unreportedError;
    }
    if (errorCode == 0) {
        errorCode = result;
        if (errorCode != 0) {
            Tcl_SetErrno(errorCode);
        }
    }

    /*
     * Cancel any outstanding timer.
     */

    Tcl_DeleteTimerHandler(statePtr->timer);

    /*
     * Mark the channel as deleted by clearing the type structure.
     */

    if (chanPtr->downChanPtr != (Channel *) NULL) {
	Channel *downChanPtr = chanPtr->downChanPtr;

	statePtr->nextCSPtr	= tsdPtr->firstCSPtr;
	tsdPtr->firstCSPtr	= statePtr;

	statePtr->topChanPtr	= downChanPtr;
	downChanPtr->upChanPtr	= (Channel *) NULL;
	chanPtr->typePtr	= NULL;

	Tcl_EventuallyFree((ClientData) chanPtr, TCL_DYNAMIC);
	return Tcl_Close(interp, (Tcl_Channel) downChanPtr);
    }

    /*
     * There is only the TOP Channel, so we free the remaining
     * pointers we have and then ourselves.  Since this is the
     * last of the channels in the stack, make sure to free the
     * ChannelState structure associated with it.  We use
     * Tcl_EventuallyFree to allow for any last
     */
    chanPtr->typePtr = NULL;

    Tcl_EventuallyFree((ClientData) statePtr, TCL_DYNAMIC);
    Tcl_EventuallyFree((ClientData) chanPtr, TCL_DYNAMIC);

    return errorCode;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CutChannel --
 *
 *	Removes a channel from the (thread-)global list of all channels
 *	(in that thread).  This is actually the statePtr for the stack
 *	of channel.
 *
 * Results:
 *	Nothing.
 *
 * Side effects:
 *	Resets the field 'nextCSPtr' of the specified channel state to NULL.
 *
 * NOTE:
 *	The channel to splice out of the list must not be referenced
 *	in any interpreter. This is something this procedure cannot
 *	check (despite the refcount) because the caller usually wants
 *	fiddle with the channel (like transfering it to a different
 *	thread) and thus keeps the refcount artifically high to prevent
 *	its destruction.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_CutChannel(chan)
    Tcl_Channel chan;			/* The channel being removed. Must
                                         * not be referenced in any
                                         * interpreter. */
{
    ThreadSpecificData* tsdPtr  = TCL_TSD_INIT(&dataKey);
    ChannelState *prevCSPtr;		/* Preceding channel state in list of
                                         * all states - used to splice a
                                         * channel out of the list on close. */
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* state of the channel stack. */

    /*
     * Remove this channel from of the list of all channels
     * (in the current thread).
     */

    if (tsdPtr->firstCSPtr && (statePtr == tsdPtr->firstCSPtr)) {
        tsdPtr->firstCSPtr = statePtr->nextCSPtr;
    } else {
        for (prevCSPtr = tsdPtr->firstCSPtr;
	     prevCSPtr && (prevCSPtr->nextCSPtr != statePtr);
	     prevCSPtr = prevCSPtr->nextCSPtr) {
            /* Empty loop body. */
        }
        if (prevCSPtr == (ChannelState *) NULL) {
            panic("FlushChannel: damaged channel list");
        }
        prevCSPtr->nextCSPtr = statePtr->nextCSPtr;
    }

    statePtr->nextCSPtr = (ChannelState *) NULL;

    TclpCutFileChannel(chan);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SpliceChannel --
 *
 *	Adds a channel to the (thread-)global list of all channels
 *	(in that thread). Expects that the field 'nextChanPtr' in
 *	the channel is set to NULL.
 *
 * Results:
 *	Nothing.
 *
 * Side effects:
 *	Nothing.
 *
 * NOTE:
 *	The channel to add to the list must not be referenced in any
 *	interpreter. This is something this procedure cannot check
 *	(despite the refcount) because the caller usually wants figgle
 *	with the channel (like transfering it to a different thread)
 *	and thus keeps the refcount artifically high to prevent its
 *	destruction.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_SpliceChannel(chan)
    Tcl_Channel chan;			/* The channel being added. Must
                                         * not be referenced in any
                                         * interpreter. */
{
    ThreadSpecificData	*tsdPtr = TCL_TSD_INIT(&dataKey);
    ChannelState	*statePtr = ((Channel *) chan)->state;

    if (statePtr->nextCSPtr != (ChannelState *) NULL) {
        panic("Tcl_SpliceChannel: trying to add channel used in different list");
    }

    statePtr->nextCSPtr	= tsdPtr->firstCSPtr;
    tsdPtr->firstCSPtr	= statePtr;

    /*
     * TIP #10. Mark the current thread as the new one managing this
     *          channel. Note: 'Tcl_GetCurrentThread' returns sensible
     *          values even for a non-threaded core.
     */

    statePtr->managingThread = Tcl_GetCurrentThread ();

    TclpSpliceFileChannel(chan);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Close --
 *
 *	Closes a channel.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	Closes the channel if this is the last reference.
 *
 * NOTE:
 *	Tcl_Close removes the channel as far as the user is concerned.
 *	However, it may continue to exist for a while longer if it has
 *	a background flush scheduled. The device itself is eventually
 *	closed and the channel record removed, in CloseChannel, above.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_Close(interp, chan)
    Tcl_Interp *interp;			/* Interpreter for errors. */
    Tcl_Channel chan;			/* The channel being closed. Must
                                         * not be referenced in any
                                         * interpreter. */
{
    CloseCallback *cbPtr;		/* Iterate over close callbacks
                                         * for this channel. */
    Channel *chanPtr;			/* The real IO channel. */
    ChannelState *statePtr;		/* State of real IO channel. */
    int result;				/* Of calling FlushChannel. */

    if (chan == (Tcl_Channel) NULL) {
        return TCL_OK;
    }

    /*
     * Perform special handling for standard channels being closed. If the
     * refCount is now 1 it means that the last reference to the standard
     * channel is being explicitly closed, so bump the refCount down
     * artificially to 0. This will ensure that the channel is actually
     * closed, below. Also set the static pointer to NULL for the channel.
     */

    CheckForStdChannelsBeingClosed(chan);

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr	= (Channel *) chan;
    statePtr	= chanPtr->state;
    chanPtr	= statePtr->topChanPtr;

    if (statePtr->refCount > 0) {
        panic("called Tcl_Close on channel with refCount > 0");
    }

    /*
     * When the channel has an escape sequence driven encoding such as
     * iso2022, the terminated escape sequence must write to the buffer.
     */
    if ((statePtr->encoding != NULL) && (statePtr->curOutPtr != NULL)
	    && (CheckChannelErrors(statePtr, TCL_WRITABLE) == 0)) {
        statePtr->outputEncodingFlags |= TCL_ENCODING_END;
        WriteChars(chanPtr, "", 0);
    }

    Tcl_ClearChannelHandlers(chan);

    /*
     * Invoke the registered close callbacks and delete their records.
     */

    while (statePtr->closeCbPtr != (CloseCallback *) NULL) {
        cbPtr = statePtr->closeCbPtr;
        statePtr->closeCbPtr = cbPtr->nextPtr;
        (cbPtr->proc) (cbPtr->clientData);
        ckfree((char *) cbPtr);
    }

    /*
     * Ensure that the last output buffer will be flushed.
     */
    
    if ((statePtr->curOutPtr != (ChannelBuffer *) NULL) &&
	    (statePtr->curOutPtr->nextAdded > statePtr->curOutPtr->nextRemoved)) {
        statePtr->flags |= BUFFER_READY;
    }

    /*
     * If this channel supports it, close the read side, since we don't need it
     * anymore and this will help avoid deadlocks on some channel types.
     */

    if (chanPtr->typePtr->closeProc == TCL_CLOSE2PROC) {
	result = (chanPtr->typePtr->close2Proc)(chanPtr->instanceData, interp,
		TCL_CLOSE_READ);
    } else {
	result = 0;
    }

    /*
     * The call to FlushChannel will flush any queued output and invoke
     * the close function of the channel driver, or it will set up the
     * channel to be flushed and closed asynchronously.
     */

    statePtr->flags |= CHANNEL_CLOSED;
    if ((FlushChannel(interp, chanPtr, 0) != 0) || (result != 0)) {
        return TCL_ERROR;
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ClearChannelHandlers --
 *
 *	Removes all channel handlers and event scripts from the channel,
 *	cancels all background copies involving the channel and any interest
 *	in events.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	See above. Deallocates memory.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_ClearChannelHandlers (channel)
    Tcl_Channel channel;
{
    ChannelHandler *chPtr, *chNext;	/* Iterate over channel handlers. */
    EventScriptRecord *ePtr, *eNextPtr;	/* Iterate over eventscript records. */
    Channel *chanPtr;			/* The real IO channel. */
    ChannelState *statePtr;		/* State of real IO channel. */
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    NextChannelHandler *nhPtr;

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr	= (Channel *) channel;
    statePtr	= chanPtr->state;
    chanPtr	= statePtr->topChanPtr;

    /*
     * Remove any references to channel handlers for this channel that
     * may be about to be invoked.
     */

    for (nhPtr = tsdPtr->nestedHandlerPtr;
	 nhPtr != (NextChannelHandler *) NULL;
	 nhPtr = nhPtr->nestedHandlerPtr) {
        if (nhPtr->nextHandlerPtr &&
		(nhPtr->nextHandlerPtr->chanPtr == chanPtr)) {
	    nhPtr->nextHandlerPtr = NULL;
        }
    }

    /*
     * Remove all the channel handler records attached to the channel
     * itself.
     */

    for (chPtr = statePtr->chPtr;
	 chPtr != (ChannelHandler *) NULL;
	 chPtr = chNext) {
        chNext = chPtr->nextPtr;
        ckfree((char *) chPtr);
    }
    statePtr->chPtr = (ChannelHandler *) NULL;

    /*
     * Cancel any pending copy operation.
     */

    StopCopy(statePtr->csPtr);

    /*
     * Must set the interest mask now to 0, otherwise infinite loops
     * will occur if Tcl_DoOneEvent is called before the channel is
     * finally deleted in FlushChannel. This can happen if the channel
     * has a background flush active.
     */
        
    statePtr->interestMask = 0;
    
    /*
     * Remove any EventScript records for this channel.
     */

    for (ePtr = statePtr->scriptRecordPtr;
	 ePtr != (EventScriptRecord *) NULL;
	 ePtr = eNextPtr) {
        eNextPtr = ePtr->nextPtr;
	Tcl_DecrRefCount(ePtr->scriptPtr);
        ckfree((char *) ePtr);
    }
    statePtr->scriptRecordPtr = (EventScriptRecord *) NULL;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Write --
 *
 *	Puts a sequence of bytes into an output buffer, may queue the
 *	buffer for output if it gets full, and also remembers whether the
 *	current buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode. Compensates stacking, i.e. will redirect the
 *	data from the specified channel to the topmost channel in a stack.
 *
 *	No encoding conversions are applied to the bytes being read.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_Write(chan, src, srcLen)
    Tcl_Channel chan;			/* The channel to buffer output for. */
    CONST char *src;			/* Data to queue in output buffer. */
    int srcLen;				/* Length of data in bytes, or < 0 for
					 * strlen(). */
{
    /*
     * Always use the topmost channel of the stack
     */
    Channel *chanPtr;
    ChannelState *statePtr;	/* state info for channel */

    statePtr = ((Channel *) chan)->state;
    chanPtr  = statePtr->topChanPtr;

    if (CheckChannelErrors(statePtr, TCL_WRITABLE) != 0) {
	return -1;
    }

    if (srcLen < 0) {
        srcLen = strlen(src);
    }
    return DoWrite(chanPtr, src, srcLen);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_WriteRaw --
 *
 *	Puts a sequence of bytes into an output buffer, may queue the
 *	buffer for output if it gets full, and also remembers whether the
 *	current buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode. Writes directly to the driver of the channel,
 *	does not compensate for stacking.
 *
 *	No encoding conversions are applied to the bytes being read.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_WriteRaw(chan, src, srcLen)
    Tcl_Channel chan;			/* The channel to buffer output for. */
    CONST char *src;			/* Data to queue in output buffer. */
    int srcLen;				/* Length of data in bytes, or < 0 for
					 * strlen(). */
{
    Channel *chanPtr = ((Channel *) chan);
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int errorCode, written;

    if (CheckChannelErrors(statePtr, TCL_WRITABLE | CHANNEL_RAW_MODE) != 0) {
	return -1;
    }

    if (srcLen < 0) {
        srcLen = strlen(src);
    }

    /*
     * Go immediately to the driver, do all the error handling by ourselves.
     * The code was stolen from 'FlushChannel'.
     */

    written = (chanPtr->typePtr->outputProc) (chanPtr->instanceData,
	    src, srcLen, &errorCode);

    if (written < 0) {
	Tcl_SetErrno(errorCode);
    }

    return written;
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_WriteChars --
 *
 *	Takes a sequence of UTF-8 characters and converts them for output
 *	using the channel's current encoding, may queue the buffer for
 *	output if it gets full, and also remembers whether the current
 *	buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode. Compensates stacking, i.e. will redirect the
 *	data from the specified channel to the topmost channel in a stack.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_WriteChars(chan, src, len)
    Tcl_Channel chan;		/* The channel to buffer output for. */
    CONST char *src;		/* UTF-8 characters to queue in output buffer. */
    int len;			/* Length of string in bytes, or < 0 for 
				 * strlen(). */
{
    ChannelState *statePtr;	/* state info for channel */

    statePtr = ((Channel *) chan)->state;

    if (CheckChannelErrors(statePtr, TCL_WRITABLE) != 0) {
	return -1;
    }

    return DoWriteChars ((Channel*) chan, src, len);
}

/*
 *---------------------------------------------------------------------------
 *
 * DoWriteChars --
 *
 *	Takes a sequence of UTF-8 characters and converts them for output
 *	using the channel's current encoding, may queue the buffer for
 *	output if it gets full, and also remembers whether the current
 *	buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode. Compensates stacking, i.e. will redirect the
 *	data from the specified channel to the topmost channel in a stack.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

static int
DoWriteChars(chanPtr, src, len)
    Channel* chanPtr;		/* The channel to buffer output for. */
    CONST char *src;		/* UTF-8 characters to queue in output buffer. */
    int len;			/* Length of string in bytes, or < 0 for 
				 * strlen(). */
{
    /*
     * Always use the topmost channel of the stack
     */
    ChannelState *statePtr;	/* state info for channel */

    statePtr = chanPtr->state;
    chanPtr  = statePtr->topChanPtr;

    if (len < 0) {
        len = strlen(src);
    }
    if (statePtr->encoding == NULL) {
	/*
	 * Inefficient way to convert UTF-8 to byte-array, but the  
	 * code parallels the way it is done for objects.
	 */

	Tcl_Obj *objPtr;
	int result;

	objPtr = Tcl_NewStringObj(src, len);
	src = (char *) Tcl_GetByteArrayFromObj(objPtr, &len);
	result = WriteBytes(chanPtr, src, len);
	Tcl_DecrRefCount(objPtr);
	return result;
    }
    return WriteChars(chanPtr, src, len);
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_WriteObj --
 *
 *	Takes the Tcl object and queues its contents for output.  If the 
 *	encoding of the channel is NULL, takes the byte-array representation 
 *	of the object and queues those bytes for output.  Otherwise, takes 
 *	the characters in the UTF-8 (string) representation of the object 
 *	and converts them for output using the channel's current encoding.  
 *	May flush internal buffers to output if one becomes full or is ready 
 *	for some other reason, e.g. if it contains a newline and the channel 
 *	is in line buffering mode.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1, 
 *	Tcl_GetErrno() will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_WriteObj(chan, objPtr)
    Tcl_Channel chan;		/* The channel to buffer output for. */
    Tcl_Obj *objPtr;		/* The object to write. */
{
    /*
     * Always use the topmost channel of the stack
     */
    Channel *chanPtr;
    ChannelState *statePtr;	/* state info for channel */
    char *src;
    int srcLen;

    statePtr = ((Channel *) chan)->state;
    chanPtr  = statePtr->topChanPtr;

    if (CheckChannelErrors(statePtr, TCL_WRITABLE) != 0) {
	return -1;
    }
    if (statePtr->encoding == NULL) {
	src = (char *) Tcl_GetByteArrayFromObj(objPtr, &srcLen);
	return WriteBytes(chanPtr, src, srcLen);
    } else {
	src = Tcl_GetStringFromObj(objPtr, &srcLen);
	return WriteChars(chanPtr, src, srcLen);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * WriteBytes --
 *
 *	Write a sequence of bytes into an output buffer, may queue the
 *	buffer for output if it gets full, and also remembers whether the
 *	current buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

static int
WriteBytes(chanPtr, src, srcLen)
    Channel *chanPtr;		/* The channel to buffer output for. */
    CONST char *src;		/* Bytes to write. */
    int srcLen;			/* Number of bytes to write. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr;
    char *dst;
    int dstMax, sawLF, savedLF, total, dstLen, toWrite;
    
    total = 0;
    sawLF = 0;
    savedLF = 0;

    /*
     * Loop over all bytes in src, storing them in output buffer with
     * proper EOL translation.
     */

    while (srcLen + savedLF > 0) {
	bufPtr = statePtr->curOutPtr;
	if (bufPtr == NULL) {
	    bufPtr = AllocChannelBuffer(statePtr->bufSize);
	    statePtr->curOutPtr	= bufPtr;
	}
	dst = bufPtr->buf + bufPtr->nextAdded;
	dstMax = bufPtr->bufLength - bufPtr->nextAdded;
	dstLen = dstMax;

	toWrite = dstLen;
	if (toWrite > srcLen) {
	    toWrite = srcLen;
	}

	if (savedLF) {
	    /*
	     * A '\n' was left over from last call to TranslateOutputEOL()
	     * and we need to store it in this buffer.  If the channel is
	     * line-based, we will need to flush it.
	     */

	    *dst++ = '\n';
	    dstLen--;
	    sawLF++;
	}
	sawLF += TranslateOutputEOL(statePtr, dst, src, &dstLen, &toWrite);
	dstLen += savedLF;
	savedLF = 0;

	if (dstLen > dstMax) {
	    savedLF = 1;
	    dstLen = dstMax;
	}
	bufPtr->nextAdded += dstLen;
	if (CheckFlush(chanPtr, bufPtr, sawLF) != 0) {
	    return -1;
	}
	total += dstLen;
	src += toWrite;
	srcLen -= toWrite;
	sawLF = 0;
    }
    return total;
}

/*
 *----------------------------------------------------------------------
 *
 * WriteChars --
 *
 *	Convert UTF-8 bytes to the channel's external encoding and
 *	write the produced bytes into an output buffer, may queue the 
 *	buffer for output if it gets full, and also remembers whether the
 *	current buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

static int
WriteChars(chanPtr, src, srcLen)
    Channel *chanPtr;		/* The channel to buffer output for. */
    CONST char *src;		/* UTF-8 string to write. */
    int srcLen;			/* Length of UTF-8 string in bytes. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr;
    char *dst, *stage;
    int saved, savedLF, sawLF, total, dstLen, stageMax, dstWrote;
    int stageLen, toWrite, stageRead, endEncoding, result;
    int consumedSomething;
    Tcl_Encoding encoding;
    char safe[BUFFER_PADDING];
    
    total = 0;
    sawLF = 0;
    savedLF = 0;
    saved = 0;
    encoding = statePtr->encoding;

    /*
     * Write the terminated escape sequence even if srcLen is 0.
     */

    endEncoding = ((statePtr->outputEncodingFlags & TCL_ENCODING_END) != 0);

    /*
     * Loop over all UTF-8 characters in src, storing them in staging buffer
     * with proper EOL translation.
     */

    consumedSomething = 1;
    while (consumedSomething && (srcLen + savedLF + endEncoding > 0)) {
        consumedSomething = 0;
	stage = statePtr->outputStage;
	stageMax = statePtr->bufSize;
	stageLen = stageMax;

	toWrite = stageLen;
	if (toWrite > srcLen) {
	    toWrite = srcLen;
	}

	if (savedLF) {
	    /*
	     * A '\n' was left over from last call to TranslateOutputEOL()
	     * and we need to store it in the staging buffer.  If the
	     * channel is line-based, we will need to flush the output
	     * buffer (after translating the staging buffer).
	     */
	    
	    *stage++ = '\n';
	    stageLen--;
	    sawLF++;
	}
	sawLF += TranslateOutputEOL(statePtr, stage, src, &stageLen, &toWrite);

	stage -= savedLF;
	stageLen += savedLF;
	savedLF = 0;

	if (stageLen > stageMax) {
	    savedLF = 1;
	    stageLen = stageMax;
	}
	src += toWrite;
	srcLen -= toWrite;

	/*
	 * Loop over all UTF-8 characters in staging buffer, converting them
	 * to external encoding, storing them in output buffer.
	 */

	while (stageLen + saved + endEncoding > 0) {
	    bufPtr = statePtr->curOutPtr;
	    if (bufPtr == NULL) {
		bufPtr = AllocChannelBuffer(statePtr->bufSize);
		statePtr->curOutPtr = bufPtr;
	    }
	    dst = bufPtr->buf + bufPtr->nextAdded;
	    dstLen = bufPtr->bufLength - bufPtr->nextAdded;

	    if (saved != 0) {
		/*
		 * Here's some translated bytes left over from the last
		 * buffer that we need to stick at the beginning of this
		 * buffer.
		 */
		 
		memcpy((VOID *) dst, (VOID *) safe, (size_t) saved);
		bufPtr->nextAdded += saved;
		dst += saved;
		dstLen -= saved;
		saved = 0;
	    }

	    result = Tcl_UtfToExternal(NULL, encoding, stage, stageLen,
		    statePtr->outputEncodingFlags,
		    &statePtr->outputEncodingState, dst,
		    dstLen + BUFFER_PADDING, &stageRead, &dstWrote, NULL);

	    /* Fix for SF #506297, reported by Martin Forssen
	     * <ruric@users.sourceforge.net>.
	     *
	     * The encoding chosen in the script exposing the bug writes out
	     * three intro characters when TCL_ENCODING_START is set, but does
	     * not consume any input as TCL_ENCODING_END is cleared. As some
	     * output was generated the enclosing loop calls UtfToExternal
	     * again, again with START set. Three more characters in the out
	     * and still no use of input ... To break this infinite loop we
	     * remove TCL_ENCODING_START from the set of flags after the first
	     * call (no condition is required, the later calls remove an unset
	     * flag, which is a no-op). This causes the subsequent calls to
	     * UtfToExternal to consume and convert the actual input.
	     */

	    statePtr->outputEncodingFlags &= ~TCL_ENCODING_START;
	    /*
	     * The following code must be executed only when result is not 0.
	     */
	    if (result && ((stageRead + dstWrote) == 0)) {
		/*
		 * We have an incomplete UTF-8 character at the end of the
		 * staging buffer.  It will get moved to the beginning of the
		 * staging buffer followed by more bytes from src.
		 */

		src -= stageLen;
		srcLen += stageLen;
		stageLen = 0;
		savedLF = 0;
		break;
	    }
	    bufPtr->nextAdded += dstWrote;
	    if (bufPtr->nextAdded > bufPtr->bufLength) {
		/*
		 * When translating from UTF-8 to external encoding, we
		 * allowed the translation to produce a character that
		 * crossed the end of the output buffer, so that we would
		 * get a completely full buffer before flushing it.  The
		 * extra bytes will be moved to the beginning of the next
		 * buffer.
		 */

		saved = bufPtr->nextAdded - bufPtr->bufLength;
		memcpy((VOID *) safe, (VOID *) (dst + dstLen), (size_t) saved);
		bufPtr->nextAdded = bufPtr->bufLength;
	    }
	    if (CheckFlush(chanPtr, bufPtr, sawLF) != 0) {
		return -1;
	    }

	    total += dstWrote;
	    stage += stageRead;
	    stageLen -= stageRead;
	    sawLF = 0;

	    consumedSomething = 1;

	    /*
	     * If all translated characters are written to the buffer,
	     * endEncoding is set to 0 because the escape sequence may be
	     * output.
	     */

	    if ((stageLen + saved == 0) && (result == 0)) {
		endEncoding = 0;
	    }
	}
    }

    /* If nothing was written and it happened because there was no progress
     * in the UTF conversion, we throw an error.
     */

    if (!consumedSomething && (total == 0)) {
        Tcl_SetErrno (EINVAL);
        return -1;
    }
    return total;
}

/*
 *---------------------------------------------------------------------------
 *
 * TranslateOutputEOL --
 *
 *	Helper function for WriteBytes() and WriteChars().  Converts the
 *	'\n' characters in the source buffer into the appropriate EOL
 *	form specified by the output translation mode.
 *
 *	EOL translation stops either when the source buffer is empty
 *	or the output buffer is full.
 *
 *	When converting to CRLF mode and there is only 1 byte left in
 *	the output buffer, this routine stores the '\r' in the last
 *	byte and then stores the '\n' in the byte just past the end of the 
 *	buffer.  The caller is responsible for passing in a buffer that
 *	is large enough to hold the extra byte.
 *
 * Results:
 *	The return value is 1 if a '\n' was translated from the source
 *	buffer, or 0 otherwise -- this can be used by the caller to
 *	decide to flush a line-based channel even though the channel
 *	buffer is not full.
 *
 *	*dstLenPtr is filled with how many bytes of the output buffer
 *	were used.  As mentioned above, this can be one more that
 *	the output buffer's specified length if a CRLF was stored.
 *
 *	*srcLenPtr is filled with how many bytes of the source buffer
 *	were consumed.  
 *
 * Side effects:
 *	It may be obvious, but bears mentioning that when converting
 *	in CRLF mode (which requires two bytes of storage in the output
 *	buffer), the number of bytes consumed from the source buffer
 *	will be less than the number of bytes stored in the output buffer.
 *
 *---------------------------------------------------------------------------
 */

static int
TranslateOutputEOL(statePtr, dst, src, dstLenPtr, srcLenPtr)
    ChannelState *statePtr;	/* Channel being read, for translation and
				 * buffering modes. */
    char *dst;			/* Output buffer filled with UTF-8 chars by
				 * applying appropriate EOL translation to
				 * source characters. */
    CONST char *src;		/* Source UTF-8 characters. */
    int *dstLenPtr;		/* On entry, the maximum length of output
				 * buffer in bytes.  On exit, the number of
				 * bytes actually used in output buffer. */
    int *srcLenPtr;		/* On entry, the length of source buffer.
				 * On exit, the number of bytes read from
				 * the source buffer. */
{
    char *dstEnd;
    int srcLen, newlineFound;
    
    newlineFound = 0;
    srcLen = *srcLenPtr;

    switch (statePtr->outputTranslation) {
	case TCL_TRANSLATE_LF: {
	    for (dstEnd = dst + srcLen; dst < dstEnd; ) {
		if (*src == '\n') {
		    newlineFound = 1;
		}
		*dst++ = *src++;
	    }
	    *dstLenPtr = srcLen;
	    break;
	}
	case TCL_TRANSLATE_CR: {
	    for (dstEnd = dst + srcLen; dst < dstEnd;) {
		if (*src == '\n') {
		    *dst++ = '\r';
		    newlineFound = 1;
		    src++;
		} else {
		    *dst++ = *src++;
		}
	    }
	    *dstLenPtr = srcLen;
	    break;
	}
	case TCL_TRANSLATE_CRLF: {
	    /*
	     * Since this causes the number of bytes to grow, we
	     * start off trying to put 'srcLen' bytes into the
	     * output buffer, but allow it to store more bytes, as
	     * long as there's still source bytes and room in the
	     * output buffer.
	     */

	    char *dstStart, *dstMax;
	    CONST char *srcStart;
	    
	    dstStart = dst;
	    dstMax = dst + *dstLenPtr;

	    srcStart = src;
	    
	    if (srcLen < *dstLenPtr) {
		dstEnd = dst + srcLen;
	    } else {
		dstEnd = dst + *dstLenPtr;
	    }
	    while (dst < dstEnd) {
		if (*src == '\n') {
		    if (dstEnd < dstMax) {
			dstEnd++;
		    }
		    *dst++ = '\r';
		    newlineFound = 1;
		}
		*dst++ = *src++;
	    }
	    *srcLenPtr = src - srcStart;
	    *dstLenPtr = dst - dstStart;
	    break;
	}
	default: {
	    break;
	}
    }
    return newlineFound;
}

/*
 *---------------------------------------------------------------------------
 *
 * CheckFlush --
 *
 *	Helper function for WriteBytes() and WriteChars().  If the
 *	channel buffer is ready to be flushed, flush it.
 *
 * Results:
 *	The return value is -1 if there was a problem flushing the
 *	channel buffer, or 0 otherwise.
 *
 * Side effects:
 *	The buffer will be recycled if it is flushed.
 *
 *---------------------------------------------------------------------------
 */

static int
CheckFlush(chanPtr, bufPtr, newlineFlag)
    Channel *chanPtr;		/* Channel being read, for buffering mode. */
    ChannelBuffer *bufPtr;	/* Channel buffer to possibly flush. */
    int newlineFlag;		/* Non-zero if a the channel buffer
				 * contains a newline. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    /*
     * The current buffer is ready for output:
     * 1. if it is full.
     * 2. if it contains a newline and this channel is line-buffered.
     * 3. if it contains any output and this channel is unbuffered.
     */

    if ((statePtr->flags & BUFFER_READY) == 0) {
	if (bufPtr->nextAdded == bufPtr->bufLength) {
	    statePtr->flags |= BUFFER_READY;
	} else if (statePtr->flags & CHANNEL_LINEBUFFERED) {
	    if (newlineFlag != 0) {
		statePtr->flags |= BUFFER_READY;
	    }
	} else if (statePtr->flags & CHANNEL_UNBUFFERED) {
	    statePtr->flags |= BUFFER_READY;
	}
    }
    if (statePtr->flags & BUFFER_READY) {
	if (FlushChannel(NULL, chanPtr, 0) != 0) {
	    return -1;
	}
    }
    return 0;
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_Gets --
 *
 *	Reads a complete line of input from the channel into a Tcl_DString.
 *
 * Results:
 *	Length of line read (in characters) or -1 if error, EOF, or blocked.
 *	If -1, use Tcl_GetErrno() to retrieve the POSIX error code for the
 *	error or condition that occurred.
 *
 * Side effects:
 *	May flush output on the channel.  May cause input to be consumed
 *	from the channel.
 *
 *---------------------------------------------------------------------------
 */

int
Tcl_Gets(chan, lineRead)
    Tcl_Channel chan;		/* Channel from which to read. */
    Tcl_DString *lineRead;	/* The line read will be appended to this
				 * DString as UTF-8 characters.  The caller
				 * must have initialized it and is responsible
				 * for managing the storage. */
{
    Tcl_Obj *objPtr;
    int charsStored, length;
    char *string;

    objPtr = Tcl_NewObj();
    charsStored = Tcl_GetsObj(chan, objPtr);
    if (charsStored > 0) {
	string = Tcl_GetStringFromObj(objPtr, &length);
	Tcl_DStringAppend(lineRead, string, length);
    }
    Tcl_DecrRefCount(objPtr);
    return charsStored;
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_GetsObj --
 *
 *	Accumulate input from the input channel until end-of-line or
 *	end-of-file has been seen.  Bytes read from the input channel
 *	are converted to UTF-8 using the encoding specified by the
 *	channel.
 *
 * Results:
 *	Number of characters accumulated in the object or -1 if error,
 *	blocked, or EOF.  If -1, use Tcl_GetErrno() to retrieve the
 *	POSIX error code for the error or condition that occurred.
 *
 * Side effects:
 *	Consumes input from the channel.
 *
 *	On reading EOF, leave channel pointing at EOF char.
 *	On reading EOL, leave channel pointing after EOL, but don't
 *	return EOL in dst buffer.
 *
 *---------------------------------------------------------------------------
 */

int
Tcl_GetsObj(chan, objPtr)
    Tcl_Channel chan;		/* Channel from which to read. */
    Tcl_Obj *objPtr;		/* The line read will be appended to this
				 * object as UTF-8 characters. */
{
    GetsState gs;
    Channel *chanPtr = (Channel *) chan;
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr;
    int inEofChar, skip, copiedTotal, oldLength, oldFlags, oldRemoved;
    Tcl_Encoding encoding;
    char *dst, *dstEnd, *eol, *eof;
    Tcl_EncodingState oldState;

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    if (CheckChannelErrors(statePtr, TCL_READABLE) != 0) {
	copiedTotal = -1;
	goto done;
    }

    bufPtr = statePtr->inQueueHead;
    encoding = statePtr->encoding;

    /*
     * Preserved so we can restore the channel's state in case we don't
     * find a newline in the available input.
     */

    Tcl_GetStringFromObj(objPtr, &oldLength);
    oldFlags = statePtr->inputEncodingFlags;
    oldState = statePtr->inputEncodingState;
    oldRemoved = BUFFER_PADDING;
    if (bufPtr != NULL) {
	oldRemoved = bufPtr->nextRemoved;
    }

    /*
     * If there is no encoding, use "iso8859-1" -- Tcl_GetsObj() doesn't
     * produce ByteArray objects.  To avoid circularity problems,
     * "iso8859-1" is builtin to Tcl.
     */

    if (encoding == NULL) {
	encoding = Tcl_GetEncoding(NULL, "iso8859-1");
    }

    /*
     * Object used by FilterInputBytes to keep track of how much data has
     * been consumed from the channel buffers.
     */

    gs.objPtr		= objPtr;
    gs.dstPtr		= &dst;
    gs.encoding		= encoding;
    gs.bufPtr		= bufPtr;
    gs.state		= oldState;
    gs.rawRead		= 0;
    gs.bytesWrote	= 0;
    gs.charsWrote	= 0;
    gs.totalChars	= 0;

    dst = objPtr->bytes + oldLength;
    dstEnd = dst;

    skip = 0;
    eof = NULL;
    inEofChar = statePtr->inEofChar;

    while (1) {
	if (dst >= dstEnd) {
	    if (FilterInputBytes(chanPtr, &gs) != 0) {
		goto restore;
	    }
	    dstEnd = dst + gs.bytesWrote;
	}
	
	/*
	 * Remember if EOF char is seen, then look for EOL anyhow, because
	 * the EOL might be before the EOF char.
	 */

	if (inEofChar != '\0') {
	    for (eol = dst; eol < dstEnd; eol++) {
		if (*eol == inEofChar) {
		    dstEnd = eol;
		    eof = eol;
		    break;
		}
	    }
	}

	/*
	 * On EOL, leave current file position pointing after the EOL, but
	 * don't store the EOL in the output string.
	 */

	switch (statePtr->inputTranslation) {
	    case TCL_TRANSLATE_LF: {
		for (eol = dst; eol < dstEnd; eol++) {
		    if (*eol == '\n') {
			skip = 1;
			goto goteol;
		    }
		}
		break;
	    }
	    case TCL_TRANSLATE_CR: {
		for (eol = dst; eol < dstEnd; eol++) {
		    if (*eol == '\r') {
			skip = 1;
			goto goteol;
		    }
		}
		break;
	    }
	    case TCL_TRANSLATE_CRLF: {
		for (eol = dst; eol < dstEnd; eol++) {
		    if (*eol == '\r') {
			eol++;
			if (eol >= dstEnd) {
			    int offset;
			    
			    offset = eol - objPtr->bytes;
			    dst = dstEnd;
			    if (FilterInputBytes(chanPtr, &gs) != 0) {
				goto restore;
			    }
			    dstEnd = dst + gs.bytesWrote;
			    eol = objPtr->bytes + offset;
			    if (eol >= dstEnd) {
				skip = 0;
				goto goteol;
			    }
			}
			if (*eol == '\n') {
			    eol--;
			    skip = 2;
			    goto goteol;
			}
		    }
		}
		break;
	    }
	    case TCL_TRANSLATE_AUTO: {
		eol = dst;
		skip = 1;
		if (statePtr->flags & INPUT_SAW_CR) {
		    statePtr->flags &= ~INPUT_SAW_CR;
		    if (*eol == '\n') {
			/*
			 * Skip the raw bytes that make up the '\n'.
			 */

			char tmp[1 + TCL_UTF_MAX];
			int rawRead;

			bufPtr = gs.bufPtr;
			Tcl_ExternalToUtf(NULL, gs.encoding,
				bufPtr->buf + bufPtr->nextRemoved,
				gs.rawRead, statePtr->inputEncodingFlags,
				&gs.state, tmp, 1 + TCL_UTF_MAX, &rawRead,
				NULL, NULL);
			bufPtr->nextRemoved += rawRead;
			gs.rawRead -= rawRead;
			gs.bytesWrote--;
			gs.charsWrote--;
			memmove(dst, dst + 1, (size_t) (dstEnd - dst));
			dstEnd--;
		    }
		}
		for (eol = dst; eol < dstEnd; eol++) {
		    if (*eol == '\r') {
			eol++;
			if (eol == dstEnd) {
			    /*
			     * If buffer ended on \r, peek ahead to see if a
			     * \n is available.
			     */

			    int offset;
			    
			    offset = eol - objPtr->bytes;
			    dst = dstEnd;
			    PeekAhead(chanPtr, &dstEnd, &gs);
			    eol = objPtr->bytes + offset;
			    if (eol >= dstEnd) {
				eol--;
				statePtr->flags |= INPUT_SAW_CR;
				goto goteol;
			    }
			}
			if (*eol == '\n') {
			    skip++;
			}
			eol--;
			goto goteol;
		    } else if (*eol == '\n') {
			goto goteol;
		    }
		}
	    }
	}
	if (eof != NULL) {
	    /*
	     * EOF character was seen.  On EOF, leave current file position
	     * pointing at the EOF character, but don't store the EOF
	     * character in the output string.
	     */

	    dstEnd = eof;
	    statePtr->flags |= (CHANNEL_EOF | CHANNEL_STICKY_EOF);
	    statePtr->inputEncodingFlags |= TCL_ENCODING_END;
	}
	if (statePtr->flags & CHANNEL_EOF) {
	    skip = 0;
	    eol = dstEnd;
	    if (eol == objPtr->bytes + oldLength) {
		/*
		 * If we didn't append any bytes before encountering EOF,
		 * caller needs to see -1.
		 */

		Tcl_SetObjLength(objPtr, oldLength);
		CommonGetsCleanup(chanPtr, encoding);
		copiedTotal = -1;
		goto done;
	    }
	    goto goteol;
	}
	dst = dstEnd;
    }

    /*
     * Found EOL or EOF, but the output buffer may now contain too many
     * UTF-8 characters.  We need to know how many raw bytes correspond to
     * the number of UTF-8 characters we want, plus how many raw bytes
     * correspond to the character(s) making up EOL (if any), so we can
     * remove the correct number of bytes from the channel buffer.
     */
     
    goteol:
    bufPtr = gs.bufPtr;
    statePtr->inputEncodingState = gs.state;
    Tcl_ExternalToUtf(NULL, gs.encoding, bufPtr->buf + bufPtr->nextRemoved,
	    gs.rawRead, statePtr->inputEncodingFlags,
	    &statePtr->inputEncodingState, dst,
	    eol - dst + skip + TCL_UTF_MAX, &gs.rawRead, NULL,
	    &gs.charsWrote);
    bufPtr->nextRemoved += gs.rawRead;

    /*
     * Recycle all the emptied buffers.
     */

    Tcl_SetObjLength(objPtr, eol - objPtr->bytes);
    CommonGetsCleanup(chanPtr, encoding);
    statePtr->flags &= ~CHANNEL_BLOCKED;
    copiedTotal = gs.totalChars + gs.charsWrote - skip;
    goto done;

    /*
     * Couldn't get a complete line.  This only happens if we get a error
     * reading from the channel or we are non-blocking and there wasn't
     * an EOL or EOF in the data available.
     */

    restore:
    bufPtr = statePtr->inQueueHead;
    bufPtr->nextRemoved = oldRemoved;

    for (bufPtr = bufPtr->nextPtr; bufPtr != NULL; bufPtr = bufPtr->nextPtr) {
	bufPtr->nextRemoved = BUFFER_PADDING;
    }
    CommonGetsCleanup(chanPtr, encoding);

    statePtr->inputEncodingState = oldState;
    statePtr->inputEncodingFlags = oldFlags;
    Tcl_SetObjLength(objPtr, oldLength);

    /*
     * We didn't get a complete line so we need to indicate to UpdateInterest
     * that the gets blocked.  It will wait for more data instead of firing
     * a timer, avoiding a busy wait.  This is where we are assuming that the
     * next operation is a gets.  No more file events will be delivered on 
     * this channel until new data arrives or some operation is performed
     * on the channel (e.g. gets, read, fconfigure) that changes the blocking
     * state.  Note that this means a file event will not be delivered even
     * though a read would be able to consume the buffered data.
     */

    statePtr->flags |= CHANNEL_NEED_MORE_DATA;
    copiedTotal = -1;

    done:
    /*
     * Update the notifier state so we don't block while there is still
     * data in the buffers.
     */

    UpdateInterest(chanPtr);
    return copiedTotal;
}

/*
 *---------------------------------------------------------------------------
 *
 * FilterInputBytes --
 *
 *	Helper function for Tcl_GetsObj.  Produces UTF-8 characters from
 *	raw bytes read from the channel.  
 *
 *	Consumes available bytes from channel buffers.  When channel
 *	buffers are exhausted, reads more bytes from channel device into
 *	a new channel buffer.  It is the caller's responsibility to
 *	free the channel buffers that have been exhausted.
 *
 * Results:
 *	The return value is -1 if there was an error reading from the
 *	channel, 0 otherwise.
 *
 * Side effects:
 *	Status object keeps track of how much data from channel buffers
 *	has been consumed and where UTF-8 bytes should be stored.
 *
 *---------------------------------------------------------------------------
 */
 
static int
FilterInputBytes(chanPtr, gsPtr)
    Channel *chanPtr;		/* Channel to read. */
    GetsState *gsPtr;		/* Current state of gets operation. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr;
    char *raw, *rawStart, *rawEnd;
    char *dst;
    int offset, toRead, dstNeeded, spaceLeft, result, rawLen, length;
    Tcl_Obj *objPtr;
#define ENCODING_LINESIZE   20	/* Lower bound on how many bytes to convert
				 * at a time.  Since we don't know a priori
				 * how many bytes of storage this many source
				 * bytes will use, we actually need at least
				 * ENCODING_LINESIZE * TCL_MAX_UTF bytes of
				 * room. */

    objPtr = gsPtr->objPtr;

    /*
     * Subtract the number of bytes that were removed from channel buffer
     * during last call.
     */

    bufPtr = gsPtr->bufPtr;
    if (bufPtr != NULL) {
	bufPtr->nextRemoved += gsPtr->rawRead;
	if (bufPtr->nextRemoved >= bufPtr->nextAdded) {
	    bufPtr = bufPtr->nextPtr;
	}
    }
    gsPtr->totalChars += gsPtr->charsWrote;

    if ((bufPtr == NULL) || (bufPtr->nextAdded == BUFFER_PADDING)) {
	/*
	 * All channel buffers were exhausted and the caller still hasn't
	 * seen EOL.  Need to read more bytes from the channel device.
	 * Side effect is to allocate another channel buffer.
	 */

	read:
        if (statePtr->flags & CHANNEL_BLOCKED) {
            if (statePtr->flags & CHANNEL_NONBLOCKING) {
		gsPtr->charsWrote = 0;
		gsPtr->rawRead = 0;
		return -1;
	    }
            statePtr->flags &= ~CHANNEL_BLOCKED;
        }
	if (GetInput(chanPtr) != 0) {
	    gsPtr->charsWrote = 0;
	    gsPtr->rawRead = 0;
	    return -1;
	}
	bufPtr = statePtr->inQueueTail;
	gsPtr->bufPtr = bufPtr;
    }

    /*
     * Convert some of the bytes from the channel buffer to UTF-8.  Space in
     * objPtr's string rep is used to hold the UTF-8 characters.  Grow the
     * string rep if we need more space.
     */

    rawStart = bufPtr->buf + bufPtr->nextRemoved;
    raw = rawStart;
    rawEnd = bufPtr->buf + bufPtr->nextAdded;
    rawLen = rawEnd - rawStart;

    dst = *gsPtr->dstPtr;
    offset = dst - objPtr->bytes;
    toRead = ENCODING_LINESIZE;
    if (toRead > rawLen) {
	toRead = rawLen;
    }
    dstNeeded = toRead * TCL_UTF_MAX + 1;
    spaceLeft = objPtr->length - offset - TCL_UTF_MAX - 1;
    if (dstNeeded > spaceLeft) {
	length = offset * 2;
	if (offset < dstNeeded) {
	    length = offset + dstNeeded;
	}
	length += TCL_UTF_MAX + 1;
	Tcl_SetObjLength(objPtr, length);
	spaceLeft = length - offset;
	dst = objPtr->bytes + offset;
	*gsPtr->dstPtr = dst;
    }
    gsPtr->state = statePtr->inputEncodingState;
    result = Tcl_ExternalToUtf(NULL, gsPtr->encoding, raw, rawLen,
	    statePtr->inputEncodingFlags, &statePtr->inputEncodingState,
	    dst, spaceLeft, &gsPtr->rawRead, &gsPtr->bytesWrote,
	    &gsPtr->charsWrote);

    /*
     * Make sure that if we go through 'gets', that we reset the
     * TCL_ENCODING_START flag still.  [Bug #523988]
     */
    statePtr->inputEncodingFlags &= ~TCL_ENCODING_START;

    if (result == TCL_CONVERT_MULTIBYTE) {
	/*
	 * The last few bytes in this channel buffer were the start of a
	 * multibyte sequence.  If this buffer was full, then move them to
	 * the next buffer so the bytes will be contiguous.  
	 */

	ChannelBuffer *nextPtr;
	int extra;
	
	nextPtr = bufPtr->nextPtr;
	if (bufPtr->nextAdded < bufPtr->bufLength) {
	    if (gsPtr->rawRead > 0) {
		/*
		 * Some raw bytes were converted to UTF-8.  Fall through,
		 * returning those UTF-8 characters because a EOL might be
		 * present in them.
		 */
	    } else if (statePtr->flags & CHANNEL_EOF) {
		/*
		 * There was a partial character followed by EOF on the
		 * device.  Fall through, returning that nothing was found.
		 */

		bufPtr->nextRemoved = bufPtr->nextAdded;
	    } else {
		/*
		 * There are no more cached raw bytes left.  See if we can
		 * get some more.
		 */

		goto read;
	    }
	} else {
	    if (nextPtr == NULL) {
		nextPtr = AllocChannelBuffer(statePtr->bufSize);
		bufPtr->nextPtr = nextPtr;
		statePtr->inQueueTail = nextPtr;
	    }
	    extra = rawLen - gsPtr->rawRead;
	    memcpy((VOID *) (nextPtr->buf + BUFFER_PADDING - extra),
		    (VOID *) (raw + gsPtr->rawRead), (size_t) extra);
	    nextPtr->nextRemoved -= extra;
	    bufPtr->nextAdded -= extra;
	}
    }

    gsPtr->bufPtr = bufPtr;
    return 0;
}

/*
 *---------------------------------------------------------------------------
 *
 * PeekAhead --
 *
 *	Helper function used by Tcl_GetsObj().  Called when we've seen a
 *	\r at the end of the UTF-8 string and want to look ahead one
 *	character to see if it is a \n.
 *
 * Results:
 *	*gsPtr->dstPtr is filled with a pointer to the start of the range of
 *	UTF-8 characters that were found by peeking and *dstEndPtr is filled
 *	with a pointer to the bytes just after the end of the range.
 *
 * Side effects:
 *	If no more raw bytes were available in one of the channel buffers,
 *	tries to perform a non-blocking read to get more bytes from the
 *	channel device.
 *
 *---------------------------------------------------------------------------
 */

static void
PeekAhead(chanPtr, dstEndPtr, gsPtr)
    Channel *chanPtr;		/* The channel to read. */
    char **dstEndPtr;		/* Filled with pointer to end of new range
				 * of UTF-8 characters. */
    GetsState *gsPtr;		/* Current state of gets operation. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr;
    Tcl_DriverBlockModeProc *blockModeProc;
    int bytesLeft;

    bufPtr = gsPtr->bufPtr;

    /*
     * If there's any more raw input that's still buffered, we'll peek into
     * that.  Otherwise, only get more data from the channel driver if it
     * looks like there might actually be more data.  The assumption is that
     * if the channel buffer is filled right up to the end, then there
     * might be more data to read.
     */

    blockModeProc = NULL;
    if (bufPtr->nextPtr == NULL) {
	bytesLeft = bufPtr->nextAdded - (bufPtr->nextRemoved + gsPtr->rawRead);
	if (bytesLeft == 0) {
	    if (bufPtr->nextAdded < bufPtr->bufLength) {
		/*
		 * Don't peek ahead if last read was short read.
		 */
		 
		goto cleanup;
	    }
	    if ((statePtr->flags & CHANNEL_NONBLOCKING) == 0) {
		blockModeProc = Tcl_ChannelBlockModeProc(chanPtr->typePtr);
		if (blockModeProc == NULL) {
		    /*
		     * Don't peek ahead if cannot set non-blocking mode.
		     */

		    goto cleanup;
		}
		StackSetBlockMode(chanPtr, TCL_MODE_NONBLOCKING);
	    }
	}
    }
    if (FilterInputBytes(chanPtr, gsPtr) == 0) {
	*dstEndPtr = *gsPtr->dstPtr + gsPtr->bytesWrote;
    }
    if (blockModeProc != NULL) {
	StackSetBlockMode(chanPtr, TCL_MODE_BLOCKING);
    }
    return;

    cleanup:
    bufPtr->nextRemoved += gsPtr->rawRead;
    gsPtr->rawRead = 0;
    gsPtr->totalChars += gsPtr->charsWrote;
    gsPtr->bytesWrote = 0;
    gsPtr->charsWrote = 0;
}

/*
 *---------------------------------------------------------------------------
 *
 * CommonGetsCleanup --
 *
 *	Helper function for Tcl_GetsObj() to restore the channel after
 *	a "gets" operation.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Encoding may be freed.
 *
 *---------------------------------------------------------------------------
 */
 
static void
CommonGetsCleanup(chanPtr, encoding)
    Channel *chanPtr;
    Tcl_Encoding encoding;
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr, *nextPtr;
    
    bufPtr = statePtr->inQueueHead;
    for ( ; bufPtr != NULL; bufPtr = nextPtr) {
	nextPtr = bufPtr->nextPtr;
	if (bufPtr->nextRemoved < bufPtr->nextAdded) {
	    break;
	}
	RecycleBuffer(statePtr, bufPtr, 0);
    }
    statePtr->inQueueHead = bufPtr;
    if (bufPtr == NULL) {
	statePtr->inQueueTail = NULL;
    } else {
	/*
	 * If any multi-byte characters were split across channel buffer
	 * boundaries, the split-up bytes were moved to the next channel
	 * buffer by FilterInputBytes().  Move the bytes back to their
	 * original buffer because the caller could change the channel's
	 * encoding which could change the interpretation of whether those
	 * bytes really made up multi-byte characters after all.
	 */
	 
	nextPtr = bufPtr->nextPtr;
	for ( ; nextPtr != NULL; nextPtr = bufPtr->nextPtr) {
	    int extra;

	    extra = bufPtr->bufLength - bufPtr->nextAdded;
	    if (extra > 0) {
		memcpy((VOID *) (bufPtr->buf + bufPtr->nextAdded),
			(VOID *) (nextPtr->buf + BUFFER_PADDING - extra),
			(size_t) extra);
		bufPtr->nextAdded += extra;
		nextPtr->nextRemoved = BUFFER_PADDING;
	    }
	    bufPtr = nextPtr;
	}
    }
    if (statePtr->encoding == NULL) {
	Tcl_FreeEncoding(encoding);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Read --
 *
 *	Reads a given number of bytes from a channel.  EOL and EOF
 *	translation is done on the bytes being read, so the the number
 *	of bytes consumed from the channel may not be equal to the
 *	number of bytes stored in the destination buffer.
 *
 *	No encoding conversions are applied to the bytes being read.
 *
 * Results:
 *	The number of bytes read, or -1 on error. Use Tcl_GetErrno()
 *	to retrieve the error code for the error that occurred.
 *
 * Side effects:
 *	May cause input to be buffered.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_Read(chan, dst, bytesToRead)
    Tcl_Channel chan;		/* The channel from which to read. */
    char *dst;			/* Where to store input read. */
    int bytesToRead;		/* Maximum number of bytes to read. */
{
    Channel *chanPtr = (Channel *) chan;		
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    if (CheckChannelErrors(statePtr, TCL_READABLE) != 0) {
	return -1;
    }

    return DoRead(chanPtr, dst, bytesToRead);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ReadRaw --
 *
 *	Reads a given number of bytes from a channel.  EOL and EOF
 *	translation is done on the bytes being read, so the the number
 *	of bytes consumed from the channel may not be equal to the
 *	number of bytes stored in the destination buffer.
 *
 *	No encoding conversions are applied to the bytes being read.
 *
 * Results:
 *	The number of bytes read, or -1 on error. Use Tcl_GetErrno()
 *	to retrieve the error code for the error that occurred.
 *
 * Side effects:
 *	May cause input to be buffered.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_ReadRaw(chan, bufPtr, bytesToRead)
    Tcl_Channel chan;		/* The channel from which to read. */
    char *bufPtr;		/* Where to store input read. */
    int bytesToRead;		/* Maximum number of bytes to read. */
{
    Channel *chanPtr = (Channel *) chan;		
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int nread, result;
    int copied, copiedNow;

    /*
     * The check below does too much because it will reject a call to this
     * function with a channel which is part of an 'fcopy'. But we have to
     * allow this here or else the chaining in the transformation drivers
     * will fail with 'file busy' error instead of retrieving and
     * transforming the data to copy.
     *
     * We let the check procedure now believe that there is no fcopy in
     * progress. A better solution than this might be an additional flag
     * argument to switch off specific checks.
     */

    if (CheckChannelErrors(statePtr, TCL_READABLE | CHANNEL_RAW_MODE) != 0) {
	return -1;
    }

    /*
     * Check for information in the push-back buffers. If there is
     * some, use it. Go to the driver only if there is none (anymore)
     * and the caller requests more bytes.
     */

    for (copied = 0; copied < bytesToRead; copied += copiedNow) {
        copiedNow = CopyBuffer(chanPtr, bufPtr + copied,
                bytesToRead - copied);
        if (copiedNow == 0) {
            if (statePtr->flags & CHANNEL_EOF) {
		goto done;
            }
            if (statePtr->flags & CHANNEL_BLOCKED) {
                if (statePtr->flags & CHANNEL_NONBLOCKING) {
		    goto done;
                }
                statePtr->flags &= (~(CHANNEL_BLOCKED));
            }

	    /* [SF Tcl Bug 943274]. Better emulation of non-blocking
	     * channels for channels without BlockModeProc, by keeping
	     * track of true fileevents generated by the OS == Data
	     * waiting and reading if and only if we are sure to have
	     * data.
	     */

	    if ((statePtr->flags & CHANNEL_NONBLOCKING) &&
		(Tcl_ChannelBlockModeProc(chanPtr->typePtr) == NULL) &&
		!(statePtr->flags & CHANNEL_HAS_MORE_DATA)) {

	        /* We bypass the driver, it would block, as no data is available */
	        nread  = -1;
	        result = EWOULDBLOCK;
	    } else {
	      /*
	       * Now go to the driver to get as much as is possible to
	       * fill the remaining request. Do all the error handling
	       * by ourselves.  The code was stolen from 'GetInput' and
	       * slightly adapted (different return value here).
	       *
	       * The case of 'bytesToRead == 0' at this point cannot happen.
	       */

	      nread = (chanPtr->typePtr->inputProc)(chanPtr->instanceData,
			  bufPtr + copied, bytesToRead - copied, &result);
	    }
	    if (nread > 0) {
	        /*
		 * If we get a short read, signal up that we may be
		 * BLOCKED. We should avoid calling the driver because
		 * on some platforms we will block in the low level
		 * reading code even though the channel is set into
		 * nonblocking mode.
		 */
            
	        if (nread < (bytesToRead - copied)) {
		    statePtr->flags |= CHANNEL_BLOCKED;
		}

	        if (nread <= (bytesToRead - copied)) {
		    /* [SF Tcl Bug 943274] We have read the available
		     * data, clear flag */
		    statePtr->flags &= ~CHANNEL_HAS_MORE_DATA;
		}
	    } else if (nread == 0) {
	        statePtr->flags |= CHANNEL_EOF;
		statePtr->inputEncodingFlags |= TCL_ENCODING_END;
	    } else if (nread < 0) {
	        if ((result == EWOULDBLOCK) || (result == EAGAIN)) {
		    if (copied > 0) {
		      /*
		       * Information that was copied earlier has precedence
		       * over EAGAIN/WOULDBLOCK handling.
		       */
		      return copied;
		    }

		    statePtr->flags |= CHANNEL_BLOCKED;
		    result = EAGAIN;
		}

		Tcl_SetErrno(result);
		return -1;
	    } 

	    return copied + nread;
        }
    }

done:
    return copied;
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_ReadChars --
 *
 *	Reads from the channel until the requested number of characters
 *	have been seen, EOF is seen, or the channel would block.  EOL
 *	and EOF translation is done.  If reading binary data, the raw
 *	bytes are wrapped in a Tcl byte array object.  Otherwise, the raw
 *	bytes are converted to UTF-8 using the channel's current encoding
 *	and stored in a Tcl string object.
 *
 * Results:
 *	The number of characters read, or -1 on error. Use Tcl_GetErrno()
 *	to retrieve the error code for the error that occurred.
 *
 * Side effects:
 *	May cause input to be buffered.
 *
 *---------------------------------------------------------------------------
 */
 
int
Tcl_ReadChars(chan, objPtr, toRead, appendFlag)
    Tcl_Channel chan;		/* The channel to read. */
    Tcl_Obj *objPtr;		/* Input data is stored in this object. */
    int toRead;			/* Maximum number of characters to store,
				 * or -1 to read all available data (up to EOF
				 * or when channel blocks). */
    int appendFlag;		/* If non-zero, data read from the channel
				 * will be appended to the object.  Otherwise,
				 * the data will replace the existing contents
				 * of the object. */

{
    Channel*      chanPtr  = (Channel *) chan;
    ChannelState* statePtr = chanPtr->state;	/* state info for channel */
    
    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    if (CheckChannelErrors(statePtr, TCL_READABLE) != 0) {
        /*
	 * Update the notifier state so we don't block while there is still
	 * data in the buffers.
	 */
        UpdateInterest(chanPtr);
	return -1;
    }

    return DoReadChars (chanPtr, objPtr, toRead, appendFlag);
}
/*
 *---------------------------------------------------------------------------
 *
 * DoReadChars --
 *
 *	Reads from the channel until the requested number of characters
 *	have been seen, EOF is seen, or the channel would block.  EOL
 *	and EOF translation is done.  If reading binary data, the raw
 *	bytes are wrapped in a Tcl byte array object.  Otherwise, the raw
 *	bytes are converted to UTF-8 using the channel's current encoding
 *	and stored in a Tcl string object.
 *
 * Results:
 *	The number of characters read, or -1 on error. Use Tcl_GetErrno()
 *	to retrieve the error code for the error that occurred.
 *
 * Side effects:
 *	May cause input to be buffered.
 *
 *---------------------------------------------------------------------------
 */
 
static int
DoReadChars(chanPtr, objPtr, toRead, appendFlag)
    Channel* chanPtr;		/* The channel to read. */
    Tcl_Obj *objPtr;		/* Input data is stored in this object. */
    int toRead;			/* Maximum number of characters to store,
				 * or -1 to read all available data (up to EOF
				 * or when channel blocks). */
    int appendFlag;		/* If non-zero, data read from the channel
				 * will be appended to the object.  Otherwise,
				 * the data will replace the existing contents
				 * of the object. */

{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *bufPtr;
    int offset, factor, copied, copiedNow, result;
    Tcl_Encoding encoding;
#define UTF_EXPANSION_FACTOR	1024

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr  = statePtr->topChanPtr;
    encoding = statePtr->encoding;
    factor   = UTF_EXPANSION_FACTOR;

    if (appendFlag == 0) {
	if (encoding == NULL) {
	    Tcl_SetByteArrayLength(objPtr, 0);
	} else {
	    Tcl_SetObjLength(objPtr, 0);
	    /* 
	     * We're going to access objPtr->bytes directly, so
	     * we must ensure that this is actually a string
	     * object (otherwise it might have been pure Unicode).
	     */
	    Tcl_GetString(objPtr);
	}
	offset = 0;
    } else {
	if (encoding == NULL) {
	    Tcl_GetByteArrayFromObj(objPtr, &offset);
	} else {
	    Tcl_GetStringFromObj(objPtr, &offset);
	}
    }

    for (copied = 0; (unsigned) toRead > 0; ) {
	copiedNow = -1;
	if (statePtr->inQueueHead != NULL) {
	    if (encoding == NULL) {
		copiedNow = ReadBytes(statePtr, objPtr, toRead, &offset);
	    } else {
		copiedNow = ReadChars(statePtr, objPtr, toRead, &offset,
			&factor);
	    }

	    /*
	     * If the current buffer is empty recycle it.
	     */

	    bufPtr = statePtr->inQueueHead;
	    if (bufPtr->nextRemoved == bufPtr->nextAdded) {
		ChannelBuffer *nextPtr;

		nextPtr = bufPtr->nextPtr;
		RecycleBuffer(statePtr, bufPtr, 0);
		statePtr->inQueueHead = nextPtr;
		if (nextPtr == NULL) {
		    statePtr->inQueueTail = NULL;
		}
	    }
	}
	if (copiedNow < 0) {
	    if (statePtr->flags & CHANNEL_EOF) {
		break;
	    }
	    if (statePtr->flags & CHANNEL_BLOCKED) {
		if (statePtr->flags & CHANNEL_NONBLOCKING) {
		    break;
		}
		statePtr->flags &= ~CHANNEL_BLOCKED;
	    }
	    result = GetInput(chanPtr);
	    if (result != 0) {
		if (result == EAGAIN) {
		    break;
		}
		copied = -1;
		goto done;
	    }
	} else {
	    copied += copiedNow;
	    toRead -= copiedNow;
	}
    }
    statePtr->flags &= ~CHANNEL_BLOCKED;
    if (encoding == NULL) {
	Tcl_SetByteArrayLength(objPtr, offset);
    } else {
	Tcl_SetObjLength(objPtr, offset);
    }

    done:
    /*
     * Update the notifier state so we don't block while there is still
     * data in the buffers.
     */

    UpdateInterest(chanPtr);
    return copied;
}
/*
 *---------------------------------------------------------------------------
 *
 * ReadBytes --
 *
 *	Reads from the channel until the requested number of bytes have
 *	been seen, EOF is seen, or the channel would block.  Bytes from
 *	the channel are stored in objPtr as a ByteArray object.  EOL
 *	and EOF translation are done.
 *
 *	'bytesToRead' can safely be a very large number because
 *	space is only allocated to hold data read from the channel
 *	as needed.
 *
 * Results:
 *	The return value is the number of bytes appended to the object
 *	and *offsetPtr is filled with the total number of bytes in the
 *	object (greater than the return value if there were already bytes
 *	in the object).
 *
 * Side effects:
 *	None.
 *
 *---------------------------------------------------------------------------
 */

static int
ReadBytes(statePtr, objPtr, bytesToRead, offsetPtr)
    ChannelState *statePtr;	/* State of the channel to read. */
    Tcl_Obj *objPtr;		/* Input data is appended to this ByteArray
				 * object.  Its length is how much space
				 * has been allocated to hold data, not how
				 * many bytes of data have been stored in the
				 * object. */
    int bytesToRead;		/* Maximum number of bytes to store,
				 * or < 0 to get all available bytes.
				 * Bytes are obtained from the first
				 * buffer in the queue -- even if this number
				 * is larger than the number of bytes
				 * available in the first buffer, only the
				 * bytes from the first buffer are
				 * returned. */
    int *offsetPtr;		/* On input, contains how many bytes of
				 * objPtr have been used to hold data.  On
				 * output, filled with how many bytes are now
				 * being used. */
{
    int toRead, srcLen, offset, length, srcRead, dstWrote;
    ChannelBuffer *bufPtr;
    char *src, *dst;

    offset = *offsetPtr;

    bufPtr = statePtr->inQueueHead; 
    src = bufPtr->buf + bufPtr->nextRemoved;
    srcLen = bufPtr->nextAdded - bufPtr->nextRemoved;

    toRead = bytesToRead;
    if ((unsigned) toRead > (unsigned) srcLen) {
	toRead = srcLen;
    }

    dst = (char *) Tcl_GetByteArrayFromObj(objPtr, &length);
    if (toRead > length - offset - 1) {
	/*
	 * Double the existing size of the object or make enough room to
	 * hold all the characters we may get from the source buffer,
	 * whichever is larger.
	 */

	length = offset * 2;
	if (offset < toRead) {
	    length = offset + toRead + 1;
	}
	dst = (char *) Tcl_SetByteArrayLength(objPtr, length);
    }
    dst += offset;

    if (statePtr->flags & INPUT_NEED_NL) {
	statePtr->flags &= ~INPUT_NEED_NL;
	if ((srcLen == 0) || (*src != '\n')) {
	    *dst = '\r';
	    *offsetPtr += 1;
	    return 1;
	}
	*dst++ = '\n';
	src++;
	srcLen--;
	toRead--;
    }

    srcRead = srcLen;
    dstWrote = toRead;
    if (TranslateInputEOL(statePtr, dst, src, &dstWrote, &srcRead) != 0) {
	if (dstWrote == 0) {
	    return -1;
	}
    }
    bufPtr->nextRemoved += srcRead;
    *offsetPtr += dstWrote;
    return dstWrote;
}

/*
 *---------------------------------------------------------------------------
 *
 * ReadChars --
 *
 *	Reads from the channel until the requested number of UTF-8
 *	characters have been seen, EOF is seen, or the channel would
 *	block.  Raw bytes from the channel are converted to UTF-8
 *	and stored in objPtr.  EOL and EOF translation is done.
 *
 *	'charsToRead' can safely be a very large number because
 *	space is only allocated to hold data read from the channel
 *	as needed.
 *
 * Results:
 *	The return value is the number of characters appended to
 *	the object, *offsetPtr is filled with the number of bytes that
 *	were appended, and *factorPtr is filled with the expansion
 *	factor used to guess how many bytes of UTF-8 to allocate to
 *	hold N source bytes.
 *
 * Side effects:
 *	None.
 *
 *---------------------------------------------------------------------------
 */

static int
ReadChars(statePtr, objPtr, charsToRead, offsetPtr, factorPtr)
    ChannelState *statePtr;	/* State of channel to read. */
    Tcl_Obj *objPtr;		/* Input data is appended to this object.
				 * objPtr->length is how much space has been
				 * allocated to hold data, not how many bytes
				 * of data have been stored in the object. */
    int charsToRead;		/* Maximum number of characters to store,
				 * or -1 to get all available characters.
				 * Characters are obtained from the first
				 * buffer in the queue -- even if this number
				 * is larger than the number of characters
				 * available in the first buffer, only the
				 * characters from the first buffer are
				 * returned. */
    int *offsetPtr;		/* On input, contains how many bytes of
				 * objPtr have been used to hold data.  On
				 * output, filled with how many bytes are now
				 * being used. */
    int *factorPtr;		/* On input, contains a guess of how many
				 * bytes need to be allocated to hold the
				 * result of converting N source bytes to
				 * UTF-8.  On output, contains another guess
				 * based on the data seen so far. */
{
    int toRead, factor, offset, spaceLeft, length, srcLen, dstNeeded;
    int srcRead, dstWrote, numChars, dstRead;
    ChannelBuffer *bufPtr;
    char *src, *dst;
    Tcl_EncodingState oldState;

    factor = *factorPtr;
    offset = *offsetPtr;

    bufPtr = statePtr->inQueueHead; 
    src = bufPtr->buf + bufPtr->nextRemoved;
    srcLen = bufPtr->nextAdded - bufPtr->nextRemoved;

    toRead = charsToRead;
    if ((unsigned)toRead > (unsigned)srcLen) {
	toRead = srcLen;
    }

    /*
     * 'factor' is how much we guess that the bytes in the source buffer
     * will expand when converted to UTF-8 chars.  This guess comes from
     * analyzing how many characters were produced by the previous
     * pass.
     */

    dstNeeded = toRead * factor / UTF_EXPANSION_FACTOR;
    spaceLeft = objPtr->length - offset - TCL_UTF_MAX - 1;

    if (dstNeeded > spaceLeft) {
	/*
	 * Double the existing size of the object or make enough room to
	 * hold all the characters we want from the source buffer,
	 * whichever is larger.
	 */

	length = offset * 2;
	if (offset < dstNeeded) {
	    length = offset + dstNeeded;
	}
	spaceLeft = length - offset;
	length += TCL_UTF_MAX + 1;
	Tcl_SetObjLength(objPtr, length);
    }
    if (toRead == srcLen) {
	/*
	 * Want to convert the whole buffer in one pass.  If we have
	 * enough space, convert it using all available space in object
	 * rather than using the factor.
	 */

	dstNeeded = spaceLeft;
    }
    dst = objPtr->bytes + offset;

    oldState = statePtr->inputEncodingState;
    if (statePtr->flags & INPUT_NEED_NL) {
	/*
	 * We want a '\n' because the last character we saw was '\r'.
	 */

	statePtr->flags &= ~INPUT_NEED_NL;
	Tcl_ExternalToUtf(NULL, statePtr->encoding, src, srcLen,
		statePtr->inputEncodingFlags, &statePtr->inputEncodingState,
		dst, TCL_UTF_MAX + 1, &srcRead, &dstWrote, &numChars);
	if ((dstWrote > 0) && (*dst == '\n')) {
	    /*
	     * The next char was a '\n'.  Consume it and produce a '\n'.
	     */

	    bufPtr->nextRemoved += srcRead;
	} else {
	    /*
	     * The next char was not a '\n'.  Produce a '\r'.
	     */

	    *dst = '\r';
	}
	statePtr->inputEncodingFlags &= ~TCL_ENCODING_START;
	*offsetPtr += 1;
        return 1;
    }

    Tcl_ExternalToUtf(NULL, statePtr->encoding, src, srcLen,
	    statePtr->inputEncodingFlags, &statePtr->inputEncodingState, dst,
	    dstNeeded + TCL_UTF_MAX, &srcRead, &dstWrote, &numChars);
    if (srcRead == 0) {
	/*
	 * Not enough bytes in src buffer to make a complete char.  Copy
	 * the bytes to the next buffer to make a new contiguous string,
	 * then tell the caller to fill the buffer with more bytes.
	 */

	ChannelBuffer *nextPtr;
	
	nextPtr = bufPtr->nextPtr;
	if (nextPtr == NULL) {
	    if (srcLen > 0) {
	        /*
		 * There isn't enough data in the buffers to complete the next
		 * character, so we need to wait for more data before the next
		 * file event can be delivered.
		 *
		 * SF #478856.
		 *
		 * The exception to this is if the input buffer was
		 * completely empty before we tried to convert its
		 * contents. Nothing in, nothing out, and no incomplete
		 * character data. The conversion before the current one
		 * was complete.
		 */

	        statePtr->flags |= CHANNEL_NEED_MORE_DATA;
	    }
	    return -1;
	}
	nextPtr->nextRemoved -= srcLen;
	memcpy((VOID *) (nextPtr->buf + nextPtr->nextRemoved), (VOID *) src,
		(size_t) srcLen);
	RecycleBuffer(statePtr, bufPtr, 0);
	statePtr->inQueueHead = nextPtr;
	return ReadChars(statePtr, objPtr, charsToRead, offsetPtr, factorPtr);
    }

    dstRead = dstWrote;
    if (TranslateInputEOL(statePtr, dst, dst, &dstWrote, &dstRead) != 0) {
	/*
	 * Hit EOF char.  How many bytes of src correspond to where the
	 * EOF was located in dst? Run the conversion again with an
	 * output buffer just big enough to hold the data so we can
	 * get the correct value for srcRead.
	 */
	 
	if (dstWrote == 0) {
	    return -1;
	}
	statePtr->inputEncodingState = oldState;
	Tcl_ExternalToUtf(NULL, statePtr->encoding, src, srcLen,
		statePtr->inputEncodingFlags, &statePtr->inputEncodingState,
		dst, dstRead + TCL_UTF_MAX, &srcRead, &dstWrote, &numChars);
	TranslateInputEOL(statePtr, dst, dst, &dstWrote, &dstRead);
    } 

    /*
     * The number of characters that we got may be less than the number
     * that we started with because "\r\n" sequences may have been
     * turned into just '\n' in dst.
     */

    numChars -= (dstRead - dstWrote);

    if ((unsigned) numChars > (unsigned) toRead) {
	/*
	 * Got too many chars.
	 */

	CONST char *eof;

	eof = Tcl_UtfAtIndex(dst, toRead);
	statePtr->inputEncodingState = oldState;
	Tcl_ExternalToUtf(NULL, statePtr->encoding, src, srcLen,
		statePtr->inputEncodingFlags, &statePtr->inputEncodingState,
		dst, eof - dst + TCL_UTF_MAX, &srcRead, &dstWrote, &numChars);
	dstRead = dstWrote;
	TranslateInputEOL(statePtr, dst, dst, &dstWrote, &dstRead);
	numChars -= (dstRead - dstWrote);
    }
    statePtr->inputEncodingFlags &= ~TCL_ENCODING_START;

    bufPtr->nextRemoved += srcRead;
    if (dstWrote > srcRead + 1) {
	*factorPtr = dstWrote * UTF_EXPANSION_FACTOR / srcRead;
    }
    *offsetPtr += dstWrote;
    return numChars;
}

/*
 *---------------------------------------------------------------------------
 *
 * TranslateInputEOL --
 *
 *	Perform input EOL and EOF translation on the source buffer,
 *	leaving the translated result in the destination buffer.  
 *
 * Results:
 *	The return value is 1 if the EOF character was found when copying
 *	bytes to the destination buffer, 0 otherwise.  
 *
 * Side effects:
 *	None.
 *
 *---------------------------------------------------------------------------
 */

static int
TranslateInputEOL(statePtr, dstStart, srcStart, dstLenPtr, srcLenPtr)
    ChannelState *statePtr;	/* Channel being read, for EOL translation
				 * and EOF character. */
    char *dstStart;		/* Output buffer filled with chars by
				 * applying appropriate EOL translation to
				 * source characters. */
    CONST char *srcStart;	/* Source characters. */
    int *dstLenPtr;		/* On entry, the maximum length of output
				 * buffer in bytes; must be <= *srcLenPtr.  On
				 * exit, the number of bytes actually used in
				 * output buffer. */
    int *srcLenPtr;		/* On entry, the length of source buffer.
				 * On exit, the number of bytes read from
				 * the source buffer. */
{
    int dstLen, srcLen, inEofChar;
    CONST char *eof;

    dstLen = *dstLenPtr;

    eof = NULL;
    inEofChar = statePtr->inEofChar;
    if (inEofChar != '\0') {
	/*
	 * Find EOF in translated buffer then compress out the EOL.  The
	 * source buffer may be much longer than the destination buffer --
	 * we only want to return EOF if the EOF has been copied to the
	 * destination buffer.
	 */

	CONST char *src, *srcMax;

	srcMax = srcStart + *srcLenPtr;
	for (src = srcStart; src < srcMax; src++) {
	    if (*src == inEofChar) {
		eof = src;
		srcLen = src - srcStart;
		if (srcLen < dstLen) {
		    dstLen = srcLen;
		}
		*srcLenPtr = srcLen;
		break;
	    }
	}
    }
    switch (statePtr->inputTranslation) {
	case TCL_TRANSLATE_LF: {
	    if (dstStart != srcStart) {
		memcpy((VOID *) dstStart, (VOID *) srcStart, (size_t) dstLen);
	    }
	    srcLen = dstLen;
	    break;
	}
	case TCL_TRANSLATE_CR: {
	    char *dst, *dstEnd;
	    
	    if (dstStart != srcStart) {
		memcpy((VOID *) dstStart, (VOID *) srcStart, (size_t) dstLen);
	    }
	    dstEnd = dstStart + dstLen;
	    for (dst = dstStart; dst < dstEnd; dst++) {
		if (*dst == '\r') {
		    *dst = '\n';
		}
	    }
	    srcLen = dstLen;
	    break;
	}
	case TCL_TRANSLATE_CRLF: {
	    char *dst;
	    CONST char *src, *srcEnd, *srcMax;
	    
	    dst = dstStart;
	    src = srcStart;
	    srcEnd = srcStart + dstLen;
	    srcMax = srcStart + *srcLenPtr;

	    for ( ; src < srcEnd; ) {
		if (*src == '\r') {
		    src++;
		    if (src >= srcMax) {
			statePtr->flags |= INPUT_NEED_NL;
		    } else if (*src == '\n') {
			*dst++ = *src++;
		    } else {
			*dst++ = '\r';
		    }
		} else {
		    *dst++ = *src++;
		}
	    }
	    srcLen = src - srcStart;
	    dstLen = dst - dstStart;
	    break;
	}
	case TCL_TRANSLATE_AUTO: {
	    char *dst;
	    CONST char *src, *srcEnd, *srcMax;

	    dst = dstStart;
	    src = srcStart;
	    srcEnd = srcStart + dstLen;
	    srcMax = srcStart + *srcLenPtr;

	    if ((statePtr->flags & INPUT_SAW_CR) && (src < srcMax)) {
		if (*src == '\n') {
		    src++;
		}
		statePtr->flags &= ~INPUT_SAW_CR;
	    }
	    for ( ; src < srcEnd; ) {
		if (*src == '\r') {
		    src++;
		    if (src >= srcMax) {
			statePtr->flags |= INPUT_SAW_CR;
		    } else if (*src == '\n') {
			if (srcEnd < srcMax) {
			    srcEnd++;
			}
			src++;
		    }
		    *dst++ = '\n';
		} else {
		    *dst++ = *src++;
		}
	    }
	    srcLen = src - srcStart;
	    dstLen = dst - dstStart;
	    break;
	}
	default: {		/* lint. */
	    return 0;
	}
    }
    *dstLenPtr = dstLen;

    if ((eof != NULL) && (srcStart + srcLen >= eof)) {
	/*
	 * EOF character was seen in EOL translated range.  Leave current
	 * file position pointing at the EOF character, but don't store the
	 * EOF character in the output string.
	 */

	statePtr->flags |= (CHANNEL_EOF | CHANNEL_STICKY_EOF);
	statePtr->inputEncodingFlags |= TCL_ENCODING_END;
	statePtr->flags &= ~(INPUT_SAW_CR | INPUT_NEED_NL);
	return 1;
    }

    *srcLenPtr = srcLen;
    return 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Ungets --
 *
 *	Causes the supplied string to be added to the input queue of
 *	the channel, at either the head or tail of the queue.
 *
 * Results:
 *	The number of bytes stored in the channel, or -1 on error.
 *
 * Side effects:
 *	Adds input to the input queue of a channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_Ungets(chan, str, len, atEnd)
    Tcl_Channel chan;		/* The channel for which to add the input. */
    CONST char *str;		/* The input itself. */
    int len;			/* The length of the input. */
    int atEnd;			/* If non-zero, add at end of queue; otherwise
                                 * add at head of queue. */    
{
    Channel *chanPtr;		/* The real IO channel. */
    ChannelState *statePtr;	/* State of actual channel. */
    ChannelBuffer *bufPtr;	/* Buffer to contain the data. */
    int i, flags;

    chanPtr = (Channel *) chan;
    statePtr = chanPtr->state;

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    /*
     * CheckChannelErrors clears too many flag bits in this one case.
     */
     
    flags = statePtr->flags;
    if (CheckChannelErrors(statePtr, TCL_READABLE) != 0) {
	len = -1;
	goto done;
    }
    statePtr->flags = flags;

    /*
     * If we have encountered a sticky EOF, just punt without storing.
     * (sticky EOF is set if we have seen the input eofChar, to prevent
     * reading beyond the eofChar). Otherwise, clear the EOF flags, and
     * clear the BLOCKED bit. We want to discover these conditions anew
     * in each operation.
     */

    if (statePtr->flags & CHANNEL_STICKY_EOF) {
	goto done;
    }
    statePtr->flags &= (~(CHANNEL_BLOCKED | CHANNEL_EOF));

    bufPtr = AllocChannelBuffer(len);
    for (i = 0; i < len; i++) {
        bufPtr->buf[bufPtr->nextAdded++] = str[i];
    }

    if (statePtr->inQueueHead == (ChannelBuffer *) NULL) {
        bufPtr->nextPtr = (ChannelBuffer *) NULL;
        statePtr->inQueueHead = bufPtr;
        statePtr->inQueueTail = bufPtr;
    } else if (atEnd) {
        bufPtr->nextPtr = (ChannelBuffer *) NULL;
        statePtr->inQueueTail->nextPtr = bufPtr;
        statePtr->inQueueTail = bufPtr;
    } else {
        bufPtr->nextPtr = statePtr->inQueueHead;
        statePtr->inQueueHead = bufPtr;
    }

    done:
    /*
     * Update the notifier state so we don't block while there is still
     * data in the buffers.
     */

    UpdateInterest(chanPtr);
    return len;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Flush --
 *
 *	Flushes output data on a channel.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	May flush output queued on this channel.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_Flush(chan)
    Tcl_Channel chan;			/* The Channel to flush. */
{
    int result;				/* Of calling FlushChannel. */
    Channel *chanPtr  = (Channel *) chan;	/* The actual channel. */
    ChannelState *statePtr = chanPtr->state;	/* State of actual channel. */

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    if (CheckChannelErrors(statePtr, TCL_WRITABLE) != 0) {
	return -1;
    }

    /*
     * Force current output buffer to be output also.
     */

    if ((statePtr->curOutPtr != NULL)
	    && (statePtr->curOutPtr->nextAdded > 0)) {
        statePtr->flags |= BUFFER_READY;
    }
    
    result = FlushChannel(NULL, chanPtr, 0);
    if (result != 0) {
        return TCL_ERROR;
    }

    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * DiscardInputQueued --
 *
 *	Discards any input read from the channel but not yet consumed
 *	by Tcl reading commands.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	May discard input from the channel. If discardLastBuffer is zero,
 *	leaves one buffer in place for back-filling.
 *
 *----------------------------------------------------------------------
 */

static void
DiscardInputQueued(statePtr, discardSavedBuffers)
    ChannelState *statePtr;	/* Channel on which to discard
                                 * the queued input. */
    int discardSavedBuffers;	/* If non-zero, discard all buffers including
                                 * last one. */
{
    ChannelBuffer *bufPtr, *nxtPtr;	/* Loop variables. */

    bufPtr = statePtr->inQueueHead;
    statePtr->inQueueHead = (ChannelBuffer *) NULL;
    statePtr->inQueueTail = (ChannelBuffer *) NULL;
    for (; bufPtr != (ChannelBuffer *) NULL; bufPtr = nxtPtr) {
        nxtPtr = bufPtr->nextPtr;
        RecycleBuffer(statePtr, bufPtr, discardSavedBuffers);
    }

    /*
     * If discardSavedBuffers is nonzero, must also discard any previously
     * saved buffer in the saveInBufPtr field.
     */
    
    if (discardSavedBuffers) {
        if (statePtr->saveInBufPtr != (ChannelBuffer *) NULL) {
            ckfree((char *) statePtr->saveInBufPtr);
            statePtr->saveInBufPtr = (ChannelBuffer *) NULL;
        }
    }
}

/*
 *---------------------------------------------------------------------------
 *
 * GetInput --
 *
 *	Reads input data from a device into a channel buffer.  
 *
 * Results:
 *	The return value is the Posix error code if an error occurred while
 *	reading from the file, or 0 otherwise.  
 *
 * Side effects:
 *	Reads from the underlying device.
 *
 *---------------------------------------------------------------------------
 */

static int
GetInput(chanPtr)
    Channel *chanPtr;		/* Channel to read input from. */
{
    int toRead;			/* How much to read? */
    int result;			/* Of calling driver. */
    int nread;			/* How much was read from channel? */
    ChannelBuffer *bufPtr;	/* New buffer to add to input queue. */
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */

    /*
     * Prevent reading from a dead channel -- a channel that has been closed
     * but not yet deallocated, which can happen if the exit handler for
     * channel cleanup has run but the channel is still registered in some
     * interpreter.
     */
    
    if (CheckForDeadChannel(NULL, statePtr)) {
	return EINVAL;
    }

    /*
     * First check for more buffers in the pushback area of the
     * topmost channel in the stack and use them. They can be the
     * result of a transformation which went away without reading all
     * the information placed in the area when it was stacked.
     *
     * Two possibilities for the state: No buffers in it, or a single
     * empty buffer. In the latter case we can recycle it now.
     */

    if (chanPtr->inQueueHead != (ChannelBuffer*) NULL) {
        if (statePtr->inQueueHead != (ChannelBuffer*) NULL) {
	    RecycleBuffer(statePtr, statePtr->inQueueHead, 0);
	    statePtr->inQueueHead = (ChannelBuffer*) NULL;
	}

	statePtr->inQueueHead = chanPtr->inQueueHead;
	statePtr->inQueueTail = chanPtr->inQueueTail;
	chanPtr->inQueueHead  = (ChannelBuffer*) NULL;
	chanPtr->inQueueTail  = (ChannelBuffer*) NULL;
	return 0;
    }

    /*
     * Nothing in the pushback area, fall back to the usual handling
     * (driver, etc.)
     */

    /*
     * See if we can fill an existing buffer. If we can, read only
     * as much as will fit in it. Otherwise allocate a new buffer,
     * add it to the input queue and attempt to fill it to the max.
     */

    bufPtr = statePtr->inQueueTail;
    if ((bufPtr != NULL) && (bufPtr->nextAdded < bufPtr->bufLength)) {
        toRead = bufPtr->bufLength - bufPtr->nextAdded;
    } else {
	bufPtr = statePtr->saveInBufPtr;
	statePtr->saveInBufPtr = NULL;

	/*
	 * Check the actual buffersize against the requested
	 * buffersize. Buffers which are smaller than requested are
	 * squashed. This is done to honor dynamic changes of the
	 * buffersize made by the user.
	 */

	if ((bufPtr != NULL) && ((bufPtr->bufLength - BUFFER_PADDING) < statePtr->bufSize)) {
	  ckfree((char *) bufPtr);
	  bufPtr = NULL;
	}

	if (bufPtr == NULL) {
	    bufPtr = AllocChannelBuffer(statePtr->bufSize);
	}
        bufPtr->nextPtr = (ChannelBuffer *) NULL;

	/* SF #427196: Use the actual size of the buffer to determine
	 * the number of bytes to read from the channel and not the
	 * size for new buffers. They can be different if the
	 * buffersize was changed between reads.
	 *
	 * Note: This affects performance negatively if the buffersize
	 * was extended but this small buffer is reused for all
	 * subsequent reads. The system never uses buffers with the
	 * requested bigger size in that case. An adjunct patch could
	 * try and delete all unused buffers it encounters and which
	 * are smaller than the formally requested buffersize.
	 */

	toRead = bufPtr->bufLength - bufPtr->nextAdded;

        if (statePtr->inQueueTail == NULL) {
            statePtr->inQueueHead = bufPtr;
        } else {
            statePtr->inQueueTail->nextPtr = bufPtr;
        }
        statePtr->inQueueTail = bufPtr;
    }

    /*
     * If EOF is set, we should avoid calling the driver because on some
     * platforms it is impossible to read from a device after EOF.
     */

    if (statePtr->flags & CHANNEL_EOF) {
	return 0;
    }

    /* [SF Tcl Bug 943274]. Better emulation of non-blocking channels
     * for channels without BlockModeProc, by keeping track of true
     * fileevents generated by the OS == Data waiting and reading if
     * and only if we are sure to have data.
     */

    if ((statePtr->flags & CHANNEL_NONBLOCKING) &&
	(Tcl_ChannelBlockModeProc(chanPtr->typePtr) == NULL) &&
	!(statePtr->flags & CHANNEL_HAS_MORE_DATA)) {

        /* Bypass the driver, it would block, as no data is available */
        nread = -1;
        result = EWOULDBLOCK;
    } else {
        nread = (chanPtr->typePtr->inputProc)(chanPtr->instanceData,
		    bufPtr->buf + bufPtr->nextAdded, toRead, &result);
    }

    if (nread > 0) {
	bufPtr->nextAdded += nread;

	/*
	 * If we get a short read, signal up that we may be BLOCKED. We
	 * should avoid calling the driver because on some platforms we
	 * will block in the low level reading code even though the
	 * channel is set into nonblocking mode.
	 */
            
	if (nread < toRead) {
	    statePtr->flags |= CHANNEL_BLOCKED;
	}

	if (nread <= toRead) {
	  /* [SF Tcl Bug 943274] We have read the available data,
	   * clear flag */
	  statePtr->flags &= ~CHANNEL_HAS_MORE_DATA;
	}

    } else if (nread == 0) {
	statePtr->flags |= CHANNEL_EOF;
	statePtr->inputEncodingFlags |= TCL_ENCODING_END;
    } else if (nread < 0) {
	if ((result == EWOULDBLOCK) || (result == EAGAIN)) {
	    statePtr->flags |= CHANNEL_BLOCKED;
	    result = EAGAIN;
	}
	Tcl_SetErrno(result);
	return result;
    }
    return 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Seek --
 *
 *	Implements seeking on Tcl Channels. This is a public function
 *	so that other C facilities may be implemented on top of it.
 *
 * Results:
 *	The new access point or -1 on error. If error, use Tcl_GetErrno()
 *	to retrieve the POSIX error code for the error that occurred.
 *
 * Side effects:
 *	May flush output on the channel. May discard queued input.
 *
 *----------------------------------------------------------------------
 */

Tcl_WideInt
Tcl_Seek(chan, offset, mode)
    Tcl_Channel chan;		/* The channel on which to seek. */
    Tcl_WideInt offset;		/* Offset to seek to. */
    int mode;			/* Relative to which location to seek? */
{
    Channel *chanPtr = (Channel *) chan;	/* The real IO channel. */
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int inputBuffered, outputBuffered;
				/* # bytes held in buffers. */
    int result;			/* Of device driver operations. */
    Tcl_WideInt curPos;		/* Position on the device. */
    int wasAsync;		/* Was the channel nonblocking before the
                                 * seek operation? If so, must restore to
                                 * nonblocking mode after the seek. */

    if (CheckChannelErrors(statePtr, TCL_WRITABLE | TCL_READABLE) != 0) {
	return Tcl_LongAsWide(-1);
    }

    /*
     * Disallow seek on dead channels -- channels that have been closed but
     * not yet been deallocated. Such channels can be found if the exit
     * handler for channel cleanup has run but the channel is still
     * registered in an interpreter.
     */

    if (CheckForDeadChannel(NULL, statePtr)) {
	return Tcl_LongAsWide(-1);
    }

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    /*
     * Disallow seek on channels whose type does not have a seek procedure
     * defined. This means that the channel does not support seeking.
     */

    if (chanPtr->typePtr->seekProc == (Tcl_DriverSeekProc *) NULL) {
        Tcl_SetErrno(EINVAL);
        return Tcl_LongAsWide(-1);
    }

    /*
     * Compute how much input and output is buffered. If both input and
     * output is buffered, cannot compute the current position.
     */

    inputBuffered = Tcl_InputBuffered(chan);
    outputBuffered = Tcl_OutputBuffered(chan);

    if ((inputBuffered != 0) && (outputBuffered != 0)) {
        Tcl_SetErrno(EFAULT);
        return Tcl_LongAsWide(-1);
    }

    /*
     * If we are seeking relative to the current position, compute the
     * corrected offset taking into account the amount of unread input.
     */

    if (mode == SEEK_CUR) {
        offset -= inputBuffered;
    }

    /*
     * Discard any queued input - this input should not be read after
     * the seek.
     */

    DiscardInputQueued(statePtr, 0);

    /*
     * Reset EOF and BLOCKED flags. We invalidate them by moving the
     * access point. Also clear CR related flags.
     */

    statePtr->flags &=
        (~(CHANNEL_EOF | CHANNEL_STICKY_EOF | CHANNEL_BLOCKED | INPUT_SAW_CR));
    
    /*
     * If the channel is in asynchronous output mode, switch it back
     * to synchronous mode and cancel any async flush that may be
     * scheduled. After the flush, the channel will be put back into
     * asynchronous output mode.
     */

    wasAsync = 0;
    if (statePtr->flags & CHANNEL_NONBLOCKING) {
        wasAsync = 1;
        result = StackSetBlockMode(chanPtr, TCL_MODE_BLOCKING);
	if (result != 0) {
	    return Tcl_LongAsWide(-1);
	}
        statePtr->flags &= (~(CHANNEL_NONBLOCKING));
        if (statePtr->flags & BG_FLUSH_SCHEDULED) {
            statePtr->flags &= (~(BG_FLUSH_SCHEDULED));
        }
    }
    
    /*
     * If the flush fails we cannot recover the original position. In
     * that case the seek is not attempted because we do not know where
     * the access position is - instead we return the error. FlushChannel
     * has already called Tcl_SetErrno() to report the error upwards.
     * If the flush succeeds we do the seek also.
     */
    
    if (FlushChannel(NULL, chanPtr, 0) != 0) {
        curPos = -1;
    } else {

        /*
         * Now seek to the new position in the channel as requested by the
         * caller.  Note that we prefer the wideSeekProc if that is
	 * available and non-NULL...
         */

	if (HaveVersion(chanPtr->typePtr, TCL_CHANNEL_VERSION_3) &&
		chanPtr->typePtr->wideSeekProc != NULL) {
	    curPos = (chanPtr->typePtr->wideSeekProc) (chanPtr->instanceData,
		    offset, mode, &result);
	} else if (offset < Tcl_LongAsWide(LONG_MIN) ||
		offset > Tcl_LongAsWide(LONG_MAX)) {
	    Tcl_SetErrno(EOVERFLOW);
	    curPos = Tcl_LongAsWide(-1);
	} else {
	    curPos = Tcl_LongAsWide((chanPtr->typePtr->seekProc) (
		    chanPtr->instanceData, Tcl_WideAsLong(offset), mode,
		    &result));
	    if (curPos == Tcl_LongAsWide(-1)) {
		Tcl_SetErrno(result);
	    }
	}
    }
    
    /*
     * Restore to nonblocking mode if that was the previous behavior.
     *
     * NOTE: Even if there was an async flush active we do not restore
     * it now because we already flushed all the queued output, above.
     */
    
    if (wasAsync) {
        statePtr->flags |= CHANNEL_NONBLOCKING;
        result = StackSetBlockMode(chanPtr, TCL_MODE_NONBLOCKING);
	if (result != 0) {
	    return Tcl_LongAsWide(-1);
	}
    }

    return curPos;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Tell --
 *
 *	Returns the position of the next character to be read/written on
 *	this channel.
 *
 * Results:
 *	A nonnegative integer on success, -1 on failure. If failed,
 *	use Tcl_GetErrno() to retrieve the POSIX error code for the
 *	error that occurred.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_WideInt
Tcl_Tell(chan)
    Tcl_Channel chan;			/* The channel to return pos for. */
{
    Channel *chanPtr = (Channel *) chan;	/* The real IO channel. */
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int inputBuffered, outputBuffered;	/* # bytes held in buffers. */
    int result;				/* Of calling device driver. */
    Tcl_WideInt curPos;			/* Position on device. */

    if (CheckChannelErrors(statePtr, TCL_WRITABLE | TCL_READABLE) != 0) {
	return Tcl_LongAsWide(-1);
    }

    /*
     * Disallow tell on dead channels -- channels that have been closed but
     * not yet been deallocated. Such channels can be found if the exit
     * handler for channel cleanup has run but the channel is still
     * registered in an interpreter.
     */

    if (CheckForDeadChannel(NULL, statePtr)) {
	return Tcl_LongAsWide(-1);
    }

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    /*
     * Disallow tell on channels whose type does not have a seek procedure
     * defined. This means that the channel does not support seeking.
     */

    if (chanPtr->typePtr->seekProc == (Tcl_DriverSeekProc *) NULL) {
        Tcl_SetErrno(EINVAL);
        return Tcl_LongAsWide(-1);
    }

    /*
     * Compute how much input and output is buffered. If both input and
     * output is buffered, cannot compute the current position.
     */

    inputBuffered = Tcl_InputBuffered(chan);
    outputBuffered = Tcl_OutputBuffered(chan);

    if ((inputBuffered != 0) && (outputBuffered != 0)) {
        Tcl_SetErrno(EFAULT);
        return Tcl_LongAsWide(-1);
    }

    /*
     * Get the current position in the device and compute the position
     * where the next character will be read or written.  Note that we
     * prefer the wideSeekProc if that is available and non-NULL...
     */

    if (HaveVersion(chanPtr->typePtr, TCL_CHANNEL_VERSION_3) &&
	    chanPtr->typePtr->wideSeekProc != NULL) {
	curPos = (chanPtr->typePtr->wideSeekProc) (chanPtr->instanceData,
		Tcl_LongAsWide(0), SEEK_CUR, &result);
    } else {
	curPos = Tcl_LongAsWide((chanPtr->typePtr->seekProc) (
		chanPtr->instanceData, 0, SEEK_CUR, &result));
    }
    if (curPos == Tcl_LongAsWide(-1)) {
        Tcl_SetErrno(result);
        return Tcl_LongAsWide(-1);
    }
    if (inputBuffered != 0) {
        return curPos - inputBuffered;
    }
    return curPos + outputBuffered;
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_SeekOld, Tcl_TellOld --
 *
 *	Backward-compatability versions of the seek/tell interface that
 *	do not support 64-bit offsets.  This interface is not documented
 *	or expected to be supported indefinitely.
 *
 * Results:
 *	As for Tcl_Seek and Tcl_Tell respectively, except truncated to
 *	whatever value will fit in an 'int'.
 *
 * Side effects:
 *	As for Tcl_Seek and Tcl_Tell respectively.
 *
 *---------------------------------------------------------------------------
 */

int
Tcl_SeekOld(chan, offset, mode)
    Tcl_Channel chan;		/* The channel on which to seek. */
    int offset;			/* Offset to seek to. */
    int mode;			/* Relative to which location to seek? */
{
    Tcl_WideInt wOffset, wResult;

    wOffset = Tcl_LongAsWide((long)offset);
    wResult = Tcl_Seek(chan, wOffset, mode);
    return (int)Tcl_WideAsLong(wResult);
}

int
Tcl_TellOld(chan)
    Tcl_Channel chan;		/* The channel to return pos for. */
{
    Tcl_WideInt wResult;

    wResult = Tcl_Tell(chan);
    return (int)Tcl_WideAsLong(wResult);
}

/*
 *---------------------------------------------------------------------------
 *
 * CheckChannelErrors --
 *
 *	See if the channel is in an ready state and can perform the
 *	desired operation.
 *
 * Results:
 *	The return value is 0 if the channel is OK, otherwise the
 *	return value is -1 and errno is set to indicate the error.
 *
 * Side effects:
 *	May clear the EOF and/or BLOCKED bits if reading from channel.
 *
 *---------------------------------------------------------------------------
 */
 
static int
CheckChannelErrors(statePtr, flags)
    ChannelState *statePtr;	/* Channel to check. */
    int flags;			/* Test if channel supports desired operation:
				 * TCL_READABLE, TCL_WRITABLE.  Also indicates
				 * Raw read or write for special close
				 * processing*/
{
    int direction = flags & (TCL_READABLE|TCL_WRITABLE);

    /*
     * Check for unreported error.
     */

    if (statePtr->unreportedError != 0) {
        Tcl_SetErrno(statePtr->unreportedError);
        statePtr->unreportedError = 0;
        return -1;
    }

    /*
     * Only the raw read and write operations are allowed during close
     * in order to drain data from stacked channels.
     */

    if ((statePtr->flags & CHANNEL_CLOSED) &&
	    ((flags & CHANNEL_RAW_MODE) == 0)) {
        Tcl_SetErrno(EACCES);
        return -1;
    }

    /*
     * Fail if the channel is not opened for desired operation.
     */

    if ((statePtr->flags & direction) == 0) {
        Tcl_SetErrno(EACCES);
        return -1;
    }

    /*
     * Fail if the channel is in the middle of a background copy.
     *
     * Don't do this tests for raw channels here or else the chaining in the
     * transformation drivers will fail with 'file busy' error instead of
     * retrieving and transforming the data to copy.
     */

    if ((statePtr->csPtr != NULL) && ((flags & CHANNEL_RAW_MODE) == 0)) {
	Tcl_SetErrno(EBUSY);
	return -1;
    }

    if (direction == TCL_READABLE) {
	/*
	 * If we have not encountered a sticky EOF, clear the EOF bit
	 * (sticky EOF is set if we have seen the input eofChar, to prevent
	 * reading beyond the eofChar). Also, always clear the BLOCKED bit.
	 * We want to discover these conditions anew in each operation.
	 */

	if ((statePtr->flags & CHANNEL_STICKY_EOF) == 0) {
	    statePtr->flags &= ~CHANNEL_EOF;
	}
	statePtr->flags &= ~(CHANNEL_BLOCKED | CHANNEL_NEED_MORE_DATA);
    }

    return 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_Eof --
 *
 *	Returns 1 if the channel is at EOF, 0 otherwise.
 *
 * Results:
 *	1 or 0, always.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_Eof(chan)
    Tcl_Channel chan;			/* Does this channel have EOF? */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* State of real channel structure. */

    return ((statePtr->flags & CHANNEL_STICKY_EOF) ||
            ((statePtr->flags & CHANNEL_EOF) &&
		    (Tcl_InputBuffered(chan) == 0))) ? 1 : 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_InputBlocked --
 *
 *	Returns 1 if input is blocked on this channel, 0 otherwise.
 *
 * Results:
 *	0 or 1, always.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_InputBlocked(chan)
    Tcl_Channel chan;			/* Is this channel blocked? */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* State of real channel structure. */

    return (statePtr->flags & CHANNEL_BLOCKED) ? 1 : 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_InputBuffered --
 *
 *	Returns the number of bytes of input currently buffered in the
 *	common internal buffer of a channel.
 *
 * Results:
 *	The number of input bytes buffered, or zero if the channel is not
 *	open for reading.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_InputBuffered(chan)
    Tcl_Channel chan;			/* The channel to query. */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* State of real channel structure. */
    ChannelBuffer *bufPtr;
    int bytesBuffered;

    for (bytesBuffered = 0, bufPtr = statePtr->inQueueHead;
	 bufPtr != (ChannelBuffer *) NULL;
	 bufPtr = bufPtr->nextPtr) {
        bytesBuffered += (bufPtr->nextAdded - bufPtr->nextRemoved);
    }

    /*
     * Don't forget the bytes in the topmost pushback area.
     */

    for (bufPtr = statePtr->topChanPtr->inQueueHead;
	 bufPtr != (ChannelBuffer *) NULL;
	 bufPtr = bufPtr->nextPtr) {
        bytesBuffered += (bufPtr->nextAdded - bufPtr->nextRemoved);
    }

    return bytesBuffered;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_OutputBuffered --
 *
 *    Returns the number of bytes of output currently buffered in the
 *    common internal buffer of a channel.
 *
 * Results:
 *    The number of output bytes buffered, or zero if the channel is not
 *    open for writing.
 *
 * Side effects:
 *    None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_OutputBuffered(chan)
    Tcl_Channel chan;                 /* The channel to query. */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
                                      /* State of real channel structure. */
    ChannelBuffer *bufPtr;
    int bytesBuffered;

    for (bytesBuffered = 0, bufPtr = statePtr->outQueueHead;
	bufPtr != (ChannelBuffer *) NULL;
	bufPtr = bufPtr->nextPtr) {
	bytesBuffered += (bufPtr->nextAdded - bufPtr->nextRemoved);
    }
    if ((statePtr->curOutPtr != (ChannelBuffer *) NULL) &&
	(statePtr->curOutPtr->nextAdded > statePtr->curOutPtr->nextRemoved)) {
	statePtr->flags |= BUFFER_READY;
	bytesBuffered +=
	    (statePtr->curOutPtr->nextAdded - statePtr->curOutPtr->nextRemoved);
    }

    return bytesBuffered;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelBuffered --
 *
 *	Returns the number of bytes of input currently buffered in the
 *	internal buffer (push back area) of a channel.
 *
 * Results:
 *	The number of input bytes buffered, or zero if the channel is not
 *	open for reading.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_ChannelBuffered(chan)
    Tcl_Channel chan;			/* The channel to query. */
{
    Channel *chanPtr = (Channel *) chan;
					/* real channel structure. */
    ChannelBuffer *bufPtr;
    int bytesBuffered;

    for (bytesBuffered = 0, bufPtr = chanPtr->inQueueHead;
	 bufPtr != (ChannelBuffer *) NULL;
	 bufPtr = bufPtr->nextPtr) {
        bytesBuffered += (bufPtr->nextAdded - bufPtr->nextRemoved);
    }

    return bytesBuffered;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_SetChannelBufferSize --
 *
 *	Sets the size of buffers to allocate to store input or output
 *	in the channel. The size must be between 10 bytes and 1 MByte.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Sets the size of buffers subsequently allocated for this channel.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_SetChannelBufferSize(chan, sz)
    Tcl_Channel chan;			/* The channel whose buffer size
                                         * to set. */
    int sz;				/* The size to set. */
{
    ChannelState *statePtr;		/* State of real channel structure. */
    
    /*
     * If the buffer size is smaller than 10 bytes or larger than one MByte,
     * do not accept the requested size and leave the current buffer size.
     */
    
    if (sz < 10) {
        return;
    }
    if (sz > (1024 * 1024)) {
        return;
    }

    statePtr = ((Channel *) chan)->state;
    statePtr->bufSize = sz;

    if (statePtr->outputStage != NULL) {
	ckfree((char *) statePtr->outputStage);
	statePtr->outputStage = NULL;
    }
    if ((statePtr->encoding != NULL) && (statePtr->flags & TCL_WRITABLE)) {
	statePtr->outputStage = (char *)
	    ckalloc((unsigned) (statePtr->bufSize + 2));
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelBufferSize --
 *
 *	Retrieves the size of buffers to allocate for this channel.
 *
 * Results:
 *	The size.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_GetChannelBufferSize(chan)
    Tcl_Channel chan;		/* The channel for which to find the
                                 * buffer size. */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* State of real channel structure. */

    return statePtr->bufSize;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_BadChannelOption --
 *
 *	This procedure generates a "bad option" error message in an
 *	(optional) interpreter.  It is used by channel drivers when 
 *      a invalid Set/Get option is requested. Its purpose is to concatenate
 *      the generic options list to the specific ones and factorize
 *      the generic options error message string.
 *
 * Results:
 *	TCL_ERROR.
 *
 * Side effects:
 *	An error message is generated in interp's result object to
 *	indicate that a command was invoked with the a bad option
 *	The message has the form
 *		bad option "blah": should be one of 
 *              <...generic options...>+<...specific options...>
 *	"blah" is the optionName argument and "<specific options>"
 *	is a space separated list of specific option words.
 *      The function takes good care of inserting minus signs before
 *      each option, commas after, and an "or" before the last option.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_BadChannelOption(interp, optionName, optionList)
    Tcl_Interp *interp;			/* Current interpreter. (can be NULL)*/
    CONST char *optionName;		/* 'bad option' name */
    CONST char *optionList;		/* Specific options list to append 
					 * to the standard generic options.
					 * can be NULL for generic options 
					 * only.
					 */
{
    if (interp) {
	CONST char *genericopt = 
	    "blocking buffering buffersize encoding eofchar translation";
	CONST char **argv;
	int  argc, i;
	Tcl_DString ds;

	Tcl_DStringInit(&ds);
	Tcl_DStringAppend(&ds, genericopt, -1);
	if (optionList && (*optionList)) {
	    Tcl_DStringAppend(&ds, " ", 1);
	    Tcl_DStringAppend(&ds, optionList, -1);
	}
	if (Tcl_SplitList(interp, Tcl_DStringValue(&ds), 
		&argc, &argv) != TCL_OK) {
	    panic("malformed option list in channel driver");
	}
	Tcl_ResetResult(interp);
	Tcl_AppendResult(interp, "bad option \"", optionName, 
		"\": should be one of ", (char *) NULL);
	argc--;
	for (i = 0; i < argc; i++) {
	    Tcl_AppendResult(interp, "-", argv[i], ", ", (char *) NULL);
	}
	Tcl_AppendResult(interp, "or -", argv[i], (char *) NULL);
	Tcl_DStringFree(&ds);
	ckfree((char *) argv);
    }
    Tcl_SetErrno(EINVAL);
    return TCL_ERROR;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelOption --
 *
 *	Gets a mode associated with an IO channel. If the optionName arg
 *	is non NULL, retrieves the value of that option. If the optionName
 *	arg is NULL, retrieves a list of alternating option names and
 *	values for the given channel.
 *
 * Results:
 *	A standard Tcl result. Also sets the supplied DString to the
 *	string value of the option(s) returned.
 *
 * Side effects:
 *      None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_GetChannelOption(interp, chan, optionName, dsPtr)
    Tcl_Interp *interp;		/* For error reporting - can be NULL. */
    Tcl_Channel chan;		/* Channel on which to get option. */
    CONST char *optionName;	/* Option to get. */
    Tcl_DString *dsPtr;		/* Where to store value(s). */
{
    size_t len;			/* Length of optionName string. */
    char optionVal[128];	/* Buffer for sprintf. */
    Channel *chanPtr = (Channel *) chan;
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int flags;

    /*
     * Disallow options on dead channels -- channels that have been closed but
     * not yet been deallocated. Such channels can be found if the exit
     * handler for channel cleanup has run but the channel is still
     * registered in an interpreter.
     */

    if (CheckForDeadChannel(interp, statePtr)) {
	return TCL_ERROR;
    }

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    /*
     * If we are in the middle of a background copy, use the saved flags.
     */

    if (statePtr->csPtr) {
	if (chanPtr == statePtr->csPtr->readPtr) {
	    flags = statePtr->csPtr->readFlags;
	} else {
	    flags = statePtr->csPtr->writeFlags;
	}
    } else {
	flags = statePtr->flags;
    }

    /*
     * If the optionName is NULL it means that we want a list of all
     * options and values.
     */
    
    if (optionName == (char *) NULL) {
        len = 0;
    } else {
        len = strlen(optionName);
    }
    
    if ((len == 0) || ((len > 2) && (optionName[1] == 'b') &&
            (strncmp(optionName, "-blocking", len) == 0))) {
        if (len == 0) {
            Tcl_DStringAppendElement(dsPtr, "-blocking");
        }
        Tcl_DStringAppendElement(dsPtr,
		(flags & CHANNEL_NONBLOCKING) ? "0" : "1");
        if (len > 0) {
            return TCL_OK;
        }
    }
    if ((len == 0) || ((len > 7) && (optionName[1] == 'b') &&
            (strncmp(optionName, "-buffering", len) == 0))) {
        if (len == 0) {
            Tcl_DStringAppendElement(dsPtr, "-buffering");
        }
        if (flags & CHANNEL_LINEBUFFERED) {
            Tcl_DStringAppendElement(dsPtr, "line");
        } else if (flags & CHANNEL_UNBUFFERED) {
            Tcl_DStringAppendElement(dsPtr, "none");
        } else {
            Tcl_DStringAppendElement(dsPtr, "full");
        }
        if (len > 0) {
            return TCL_OK;
        }
    }
    if ((len == 0) || ((len > 7) && (optionName[1] == 'b') &&
            (strncmp(optionName, "-buffersize", len) == 0))) {
        if (len == 0) {
            Tcl_DStringAppendElement(dsPtr, "-buffersize");
        }
        TclFormatInt(optionVal, statePtr->bufSize);
        Tcl_DStringAppendElement(dsPtr, optionVal);
        if (len > 0) {
            return TCL_OK;
        }
    }
    if ((len == 0) ||
	    ((len > 2) && (optionName[1] == 'e') &&
		    (strncmp(optionName, "-encoding", len) == 0))) {
	if (len == 0) {
	    Tcl_DStringAppendElement(dsPtr, "-encoding");
	}
	if (statePtr->encoding == NULL) {
	    Tcl_DStringAppendElement(dsPtr, "binary");
	} else {
	    Tcl_DStringAppendElement(dsPtr,
		    Tcl_GetEncodingName(statePtr->encoding));
	}
	if (len > 0) {
	    return TCL_OK;
	}
    }
    if ((len == 0) ||
            ((len > 2) && (optionName[1] == 'e') &&
                    (strncmp(optionName, "-eofchar", len) == 0))) {
        if (len == 0) {
            Tcl_DStringAppendElement(dsPtr, "-eofchar");
        }
        if (((flags & (TCL_READABLE|TCL_WRITABLE)) ==
                (TCL_READABLE|TCL_WRITABLE)) && (len == 0)) {
            Tcl_DStringStartSublist(dsPtr);
        }
        if (flags & TCL_READABLE) {
            if (statePtr->inEofChar == 0) {
                Tcl_DStringAppendElement(dsPtr, "");
            } else {
                char buf[4];

                sprintf(buf, "%c", statePtr->inEofChar);
                Tcl_DStringAppendElement(dsPtr, buf);
            }
        }
        if (flags & TCL_WRITABLE) {
            if (statePtr->outEofChar == 0) {
                Tcl_DStringAppendElement(dsPtr, "");
            } else {
                char buf[4];

                sprintf(buf, "%c", statePtr->outEofChar);
                Tcl_DStringAppendElement(dsPtr, buf);
            }
        }
        if ( !(flags & (TCL_READABLE|TCL_WRITABLE))) {
            /* Not readable or writable (server socket) */
            Tcl_DStringAppendElement(dsPtr, "");
        }
        if (((flags & (TCL_READABLE|TCL_WRITABLE)) ==
                (TCL_READABLE|TCL_WRITABLE)) && (len == 0)) {
            Tcl_DStringEndSublist(dsPtr);
        }
        if (len > 0) {
            return TCL_OK;
        }
    }
    if ((len == 0) ||
            ((len > 1) && (optionName[1] == 't') &&
                    (strncmp(optionName, "-translation", len) == 0))) {
        if (len == 0) {
            Tcl_DStringAppendElement(dsPtr, "-translation");
        }
        if (((flags & (TCL_READABLE|TCL_WRITABLE)) ==
                (TCL_READABLE|TCL_WRITABLE)) && (len == 0)) {
            Tcl_DStringStartSublist(dsPtr);
        }
        if (flags & TCL_READABLE) {
            if (statePtr->inputTranslation == TCL_TRANSLATE_AUTO) {
                Tcl_DStringAppendElement(dsPtr, "auto");
            } else if (statePtr->inputTranslation == TCL_TRANSLATE_CR) {
                Tcl_DStringAppendElement(dsPtr, "cr");
            } else if (statePtr->inputTranslation == TCL_TRANSLATE_CRLF) {
                Tcl_DStringAppendElement(dsPtr, "crlf");
            } else {
                Tcl_DStringAppendElement(dsPtr, "lf");
            }
        }
        if (flags & TCL_WRITABLE) {
            if (statePtr->outputTranslation == TCL_TRANSLATE_AUTO) {
                Tcl_DStringAppendElement(dsPtr, "auto");
            } else if (statePtr->outputTranslation == TCL_TRANSLATE_CR) {
                Tcl_DStringAppendElement(dsPtr, "cr");
            } else if (statePtr->outputTranslation == TCL_TRANSLATE_CRLF) {
                Tcl_DStringAppendElement(dsPtr, "crlf");
            } else {
                Tcl_DStringAppendElement(dsPtr, "lf");
            }
        }
        if ( !(flags & (TCL_READABLE|TCL_WRITABLE))) {
            /* Not readable or writable (server socket) */
            Tcl_DStringAppendElement(dsPtr, "auto");
        }
        if (((flags & (TCL_READABLE|TCL_WRITABLE)) ==
                (TCL_READABLE|TCL_WRITABLE)) && (len == 0)) {
            Tcl_DStringEndSublist(dsPtr);
        }
        if (len > 0) {
            return TCL_OK;
        }
    }
    if (chanPtr->typePtr->getOptionProc != (Tcl_DriverGetOptionProc *) NULL) {
	/*
	 * let the driver specific handle additional options
	 * and result code and message.
	 */

        return (chanPtr->typePtr->getOptionProc) (chanPtr->instanceData,
		interp, optionName, dsPtr);
    } else {
	/*
	 * no driver specific options case.
	 */

        if (len == 0) {
            return TCL_OK;
        }
	return Tcl_BadChannelOption(interp, optionName, NULL);
    }
}

/*
 *---------------------------------------------------------------------------
 *
 * Tcl_SetChannelOption --
 *
 *	Sets an option on a channel.
 *
 * Results:
 *	A standard Tcl result.  On error, sets interp's result object
 *	if interp is not NULL.
 *
 * Side effects:
 *	May modify an option on a device.
 *
 *---------------------------------------------------------------------------
 */

int
Tcl_SetChannelOption(interp, chan, optionName, newValue)
    Tcl_Interp *interp;		/* For error reporting - can be NULL. */
    Tcl_Channel chan;		/* Channel on which to set mode. */
    CONST char *optionName;	/* Which option to set? */
    CONST char *newValue;	/* New value for option. */
{
    Channel *chanPtr = (Channel *) chan;	/* The real IO channel. */
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    size_t len;			/* Length of optionName string. */
    int argc;
    CONST char **argv;

    /*
     * If the channel is in the middle of a background copy, fail.
     */

    if (statePtr->csPtr) {
	if (interp) {
	    Tcl_AppendResult(interp,
		    "unable to set channel options: background copy in progress",
		    (char *) NULL);
	}
        return TCL_ERROR;
    }

    /*
     * Disallow options on dead channels -- channels that have been closed but
     * not yet been deallocated. Such channels can be found if the exit
     * handler for channel cleanup has run but the channel is still
     * registered in an interpreter.
     */

    if (CheckForDeadChannel(NULL, statePtr)) {
	return TCL_ERROR;
    }

    /*
     * This operation should occur at the top of a channel stack.
     */

    chanPtr = statePtr->topChanPtr;

    len = strlen(optionName);

    if ((len > 2) && (optionName[1] == 'b') &&
            (strncmp(optionName, "-blocking", len) == 0)) {
	int newMode;
        if (Tcl_GetBoolean(interp, newValue, &newMode) == TCL_ERROR) {
            return TCL_ERROR;
        }
        if (newMode) {
            newMode = TCL_MODE_BLOCKING;
        } else {
            newMode = TCL_MODE_NONBLOCKING;
        }
	return SetBlockMode(interp, chanPtr, newMode);
    } else if ((len > 7) && (optionName[1] == 'b') &&
            (strncmp(optionName, "-buffering", len) == 0)) {
        len = strlen(newValue);
        if ((newValue[0] == 'f') && (strncmp(newValue, "full", len) == 0)) {
            statePtr->flags &=
                (~(CHANNEL_UNBUFFERED|CHANNEL_LINEBUFFERED));
        } else if ((newValue[0] == 'l') &&
                (strncmp(newValue, "line", len) == 0)) {
            statePtr->flags &= (~(CHANNEL_UNBUFFERED));
            statePtr->flags |= CHANNEL_LINEBUFFERED;
        } else if ((newValue[0] == 'n') &&
                (strncmp(newValue, "none", len) == 0)) {
            statePtr->flags &= (~(CHANNEL_LINEBUFFERED));
            statePtr->flags |= CHANNEL_UNBUFFERED;
        } else {
            if (interp) {
                Tcl_AppendResult(interp, "bad value for -buffering: ",
                        "must be one of full, line, or none",
                        (char *) NULL);
                return TCL_ERROR;
            }
        }
	return TCL_OK;
    } else if ((len > 7) && (optionName[1] == 'b') &&
            (strncmp(optionName, "-buffersize", len) == 0)) {
        statePtr->bufSize = atoi(newValue);	/* INTL: "C", UTF safe. */
        if ((statePtr->bufSize < 10) || (statePtr->bufSize > (1024 * 1024))) {
            statePtr->bufSize = CHANNELBUFFER_DEFAULT_SIZE;
        }
    } else if ((len > 2) && (optionName[1] == 'e') &&
	    (strncmp(optionName, "-encoding", len) == 0)) {
	Tcl_Encoding encoding;

	if ((newValue[0] == '\0') || (strcmp(newValue, "binary") == 0)) {
	    encoding = NULL;
	} else {
	    encoding = Tcl_GetEncoding(interp, newValue);
	    if (encoding == NULL) {
		return TCL_ERROR;
	    }
	}
	/*
	 * When the channel has an escape sequence driven encoding such as
	 * iso2022, the terminated escape sequence must write to the buffer.
	 */
	if ((statePtr->encoding != NULL) && (statePtr->curOutPtr != NULL)
		&& (CheckChannelErrors(statePtr, TCL_WRITABLE) == 0)) {
	    statePtr->outputEncodingFlags |= TCL_ENCODING_END;
	    WriteChars(chanPtr, "", 0);
	}
	Tcl_FreeEncoding(statePtr->encoding);
	statePtr->encoding = encoding;
	statePtr->inputEncodingState = NULL;
	statePtr->inputEncodingFlags = TCL_ENCODING_START;
	statePtr->outputEncodingState = NULL;
	statePtr->outputEncodingFlags = TCL_ENCODING_START;
	statePtr->flags &= ~CHANNEL_NEED_MORE_DATA;
	UpdateInterest(chanPtr);
    } else if ((len > 2) && (optionName[1] == 'e') &&
            (strncmp(optionName, "-eofchar", len) == 0)) {
        if (Tcl_SplitList(interp, newValue, &argc, &argv) == TCL_ERROR) {
            return TCL_ERROR;
        }
        if (argc == 0) {
            statePtr->inEofChar = 0;
            statePtr->outEofChar = 0;
        } else if (argc == 1) {
            if (statePtr->flags & TCL_WRITABLE) {
                statePtr->outEofChar = (int) argv[0][0];
            }
            if (statePtr->flags & TCL_READABLE) {
                statePtr->inEofChar = (int) argv[0][0];
            }
        } else if (argc != 2) {
            if (interp) {
                Tcl_AppendResult(interp,
                        "bad value for -eofchar: should be a list of zero,",
                        " one, or two elements", (char *) NULL);
            }
            ckfree((char *) argv);
            return TCL_ERROR;
        } else {
            if (statePtr->flags & TCL_READABLE) {
                statePtr->inEofChar = (int) argv[0][0];
            }
            if (statePtr->flags & TCL_WRITABLE) {
                statePtr->outEofChar = (int) argv[1][0];
            }
        }
        if (argv != NULL) {
            ckfree((char *) argv);
        }

	/*
	 * [SF Tcl Bug 930851] Reset EOF and BLOCKED flags. Changing
	 * the character which signals eof can transform a current eof
	 * condition into a 'go ahead'. Ditto for blocked.
	 */

	statePtr->flags &= (~(CHANNEL_EOF | CHANNEL_STICKY_EOF | CHANNEL_BLOCKED));

	return TCL_OK;
    } else if ((len > 1) && (optionName[1] == 't') &&
            (strncmp(optionName, "-translation", len) == 0)) {
	CONST char *readMode, *writeMode;

        if (Tcl_SplitList(interp, newValue, &argc, &argv) == TCL_ERROR) {
            return TCL_ERROR;
        }

        if (argc == 1) {
	    readMode = (statePtr->flags & TCL_READABLE) ? argv[0] : NULL;
	    writeMode = (statePtr->flags & TCL_WRITABLE) ? argv[0] : NULL;
	} else if (argc == 2) {
	    readMode = (statePtr->flags & TCL_READABLE) ? argv[0] : NULL;
	    writeMode = (statePtr->flags & TCL_WRITABLE) ? argv[1] : NULL;
	} else {
            if (interp) {
                Tcl_AppendResult(interp,
                        "bad value for -translation: must be a one or two",
                        " element list", (char *) NULL);
            }
            ckfree((char *) argv);
            return TCL_ERROR;
	}

	if (readMode) {
	    TclEolTranslation translation;
	    if (*readMode == '\0') {
		translation = statePtr->inputTranslation;
	    } else if (strcmp(readMode, "auto") == 0) {
		translation = TCL_TRANSLATE_AUTO;
	    } else if (strcmp(readMode, "binary") == 0) {
		translation = TCL_TRANSLATE_LF;
		statePtr->inEofChar = 0;
		Tcl_FreeEncoding(statePtr->encoding);		    
		statePtr->encoding = NULL;
	    } else if (strcmp(readMode, "lf") == 0) {
		translation = TCL_TRANSLATE_LF;
	    } else if (strcmp(readMode, "cr") == 0) {
		translation = TCL_TRANSLATE_CR;
	    } else if (strcmp(readMode, "crlf") == 0) {
		translation = TCL_TRANSLATE_CRLF;
	    } else if (strcmp(readMode, "platform") == 0) {
		translation = TCL_PLATFORM_TRANSLATION;
	    } else {
		if (interp) {
		    Tcl_AppendResult(interp,
			    "bad value for -translation: ",
			    "must be one of auto, binary, cr, lf, crlf,",
			    " or platform", (char *) NULL);
		}
		ckfree((char *) argv);
		return TCL_ERROR;
	    }

	    /*
	     * Reset the EOL flags since we need to look at any buffered
	     * data to see if the new translation mode allows us to
	     * complete the line.
	     */

	    if (translation != statePtr->inputTranslation) {
		statePtr->inputTranslation = translation;
		statePtr->flags &= ~(INPUT_SAW_CR);
		statePtr->flags &= ~(CHANNEL_NEED_MORE_DATA);
		UpdateInterest(chanPtr);
	    }
	}
	if (writeMode) {
	    if (*writeMode == '\0') {
		/* Do nothing. */
	    } else if (strcmp(writeMode, "auto") == 0) {
		/*
		 * This is a hack to get TCP sockets to produce output
		 * in CRLF mode if they are being set into AUTO mode.
		 * A better solution for achieving this effect will be
		 * coded later.
		 */

		if (strcmp(Tcl_ChannelName(chanPtr->typePtr), "tcp") == 0) {
		    statePtr->outputTranslation = TCL_TRANSLATE_CRLF;
		} else {
		    statePtr->outputTranslation = TCL_PLATFORM_TRANSLATION;
		}
	    } else if (strcmp(writeMode, "binary") == 0) {
		statePtr->outEofChar = 0;
		statePtr->outputTranslation = TCL_TRANSLATE_LF;
		Tcl_FreeEncoding(statePtr->encoding);		    
		statePtr->encoding = NULL;
	    } else if (strcmp(writeMode, "lf") == 0) {
		statePtr->outputTranslation = TCL_TRANSLATE_LF;
	    } else if (strcmp(writeMode, "cr") == 0) {
		statePtr->outputTranslation = TCL_TRANSLATE_CR;
	    } else if (strcmp(writeMode, "crlf") == 0) {
		statePtr->outputTranslation = TCL_TRANSLATE_CRLF;
	    } else if (strcmp(writeMode, "platform") == 0) {
		statePtr->outputTranslation = TCL_PLATFORM_TRANSLATION;
	    } else {
		if (interp) {
		    Tcl_AppendResult(interp,
			    "bad value for -translation: ",
			    "must be one of auto, binary, cr, lf, crlf,",
			    " or platform", (char *) NULL);
		}
		ckfree((char *) argv);
		return TCL_ERROR;
	    }
	}
        ckfree((char *) argv);            
        return TCL_OK;
    } else if (chanPtr->typePtr->setOptionProc != NULL) {
        return (*chanPtr->typePtr->setOptionProc)(chanPtr->instanceData,
                interp, optionName, newValue);
    } else {
	return Tcl_BadChannelOption(interp, optionName, (char *) NULL);
    }

    /*
     * If bufsize changes, need to get rid of old utility buffer.
     */

    if (statePtr->saveInBufPtr != NULL) {
	RecycleBuffer(statePtr, statePtr->saveInBufPtr, 1);
	statePtr->saveInBufPtr = NULL;
    }
    if (statePtr->inQueueHead != NULL) {
	if ((statePtr->inQueueHead->nextPtr == NULL)
		&& (statePtr->inQueueHead->nextAdded ==
			statePtr->inQueueHead->nextRemoved)) {
	    RecycleBuffer(statePtr, statePtr->inQueueHead, 1);
	    statePtr->inQueueHead = NULL;
	    statePtr->inQueueTail = NULL;
	}
    }

    /*
     * If encoding or bufsize changes, need to update output staging buffer.
     */

    if (statePtr->outputStage != NULL) {
	ckfree((char *) statePtr->outputStage);
	statePtr->outputStage = NULL;
    }
    if ((statePtr->encoding != NULL) && (statePtr->flags & TCL_WRITABLE)) {
	statePtr->outputStage = (char *) 
	    ckalloc((unsigned) (statePtr->bufSize + 2));
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * CleanupChannelHandlers --
 *
 *	Removes channel handlers that refer to the supplied interpreter,
 *	so that if the actual channel is not closed now, these handlers
 *	will not run on subsequent events on the channel. This would be
 *	erroneous, because the interpreter no longer has a reference to
 *	this channel.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Removes channel handlers.
 *
 *----------------------------------------------------------------------
 */

static void
CleanupChannelHandlers(interp, chanPtr)
    Tcl_Interp *interp;
    Channel *chanPtr;
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    EventScriptRecord *sPtr, *prevPtr, *nextPtr;

    /*
     * Remove fileevent records on this channel that refer to the
     * given interpreter.
     */
    
    for (sPtr = statePtr->scriptRecordPtr,
             prevPtr = (EventScriptRecord *) NULL;
	 sPtr != (EventScriptRecord *) NULL;
	 sPtr = nextPtr) {
        nextPtr = sPtr->nextPtr;
        if (sPtr->interp == interp) {
            if (prevPtr == (EventScriptRecord *) NULL) {
                statePtr->scriptRecordPtr = nextPtr;
            } else {
                prevPtr->nextPtr = nextPtr;
            }

            Tcl_DeleteChannelHandler((Tcl_Channel) chanPtr,
                    TclChannelEventScriptInvoker, (ClientData) sPtr);

	    Tcl_DecrRefCount(sPtr->scriptPtr);
            ckfree((char *) sPtr);
        } else {
            prevPtr = sPtr;
        }
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_NotifyChannel --
 *
 *	This procedure is called by a channel driver when a driver
 *	detects an event on a channel.  This procedure is responsible
 *	for actually handling the event by invoking any channel
 *	handler callbacks.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Whatever the channel handler callback procedure does.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_NotifyChannel(channel, mask)
    Tcl_Channel channel;	/* Channel that detected an event. */
    int mask;			/* OR'ed combination of TCL_READABLE,
				 * TCL_WRITABLE, or TCL_EXCEPTION: indicates
				 * which events were detected. */
{
    Channel *chanPtr = (Channel *) channel;
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelHandler *chPtr;
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    NextChannelHandler nh;
    Channel* upChanPtr;
    Tcl_ChannelType* upTypePtr;

    /* [SF Tcl Bug 943274]
     * For a non-blocking channel without blockmodeproc we keep track
     * of actual input coming from the OS so that we can do a credible
     * imitation of non-blocking behaviour.
     */

    if ((mask & TCL_READABLE) &&
	(statePtr->flags & CHANNEL_NONBLOCKING) &&
	(Tcl_ChannelBlockModeProc(chanPtr->typePtr) == NULL) &&
	!(statePtr->flags & CHANNEL_TIMER_FEV)) {

        statePtr->flags |= CHANNEL_HAS_MORE_DATA;
    }

    /*
     * In contrast to the other API functions this procedure walks towards
     * the top of a stack and not down from it.
     *
     * The channel calling this procedure is the one who generated the event,
     * and thus does not take part in handling it. IOW, its HandlerProc is
     * not called, instead we begin with the channel above it.
     *
     * This behaviour also allows the transformation channels to
     * generate their own events and pass them upward.
     */

    while (mask && (chanPtr->upChanPtr != ((Channel*) NULL))) {
	Tcl_DriverHandlerProc* upHandlerProc;

        upChanPtr = chanPtr->upChanPtr;
	upTypePtr = upChanPtr->typePtr;
	upHandlerProc = Tcl_ChannelHandlerProc(upTypePtr);
	if (upHandlerProc != NULL) {
	    mask = (*upHandlerProc) (upChanPtr->instanceData, mask);
	}

	/* ELSE:
	 * Ignore transformations which are unable to handle the event
	 * coming from below. Assume that they don't change the mask and
	 * pass it on.
	 */

	chanPtr = upChanPtr;
    }

    channel = (Tcl_Channel) chanPtr;

    /*
     * Here we have either reached the top of the stack or the mask is
     * empty.  We break out of the procedure if it is the latter.
     */

    if (!mask) {
        return;
    }

    /*
     * We are now above the topmost channel in a stack and have events
     * left. Now call the channel handlers as usual.
     *
     * Preserve the channel struct in case the script closes it.
     */
     
    Tcl_Preserve((ClientData) channel);
    Tcl_Preserve((ClientData) statePtr);

    /*
     * If we are flushing in the background, be sure to call FlushChannel
     * for writable events.  Note that we have to discard the writable
     * event so we don't call any write handlers before the flush is
     * complete.
     */

    if ((statePtr->flags & BG_FLUSH_SCHEDULED) && (mask & TCL_WRITABLE)) {
	FlushChannel(NULL, chanPtr, 1);
	mask &= ~TCL_WRITABLE;
    }

    /*
     * Add this invocation to the list of recursive invocations of
     * ChannelHandlerEventProc.
     */
    
    nh.nextHandlerPtr = (ChannelHandler *) NULL;
    nh.nestedHandlerPtr = tsdPtr->nestedHandlerPtr;
    tsdPtr->nestedHandlerPtr = &nh;

    for (chPtr = statePtr->chPtr; chPtr != (ChannelHandler *) NULL; ) {
	/*
	 * If this channel handler is interested in any of the events that
	 * have occurred on the channel, invoke its procedure.
	 */

	if ((chPtr->mask & mask) != 0) {
	    nh.nextHandlerPtr = chPtr->nextPtr;
	    (*(chPtr->proc))(chPtr->clientData, mask);
	    chPtr = nh.nextHandlerPtr;
	} else {
	    chPtr = chPtr->nextPtr;
	}
    }

    /*
     * Update the notifier interest, since it may have changed after
     * invoking event handlers. Skip that if the channel was deleted
     * in the call to the channel handler.
     */

    if (chanPtr->typePtr != NULL) {
        UpdateInterest(chanPtr);
    }

    Tcl_Release((ClientData) statePtr);
    Tcl_Release((ClientData) channel);

    tsdPtr->nestedHandlerPtr = nh.nestedHandlerPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * UpdateInterest --
 *
 *	Arrange for the notifier to call us back at appropriate times
 *	based on the current state of the channel.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	May schedule a timer or driver handler.
 *
 *----------------------------------------------------------------------
 */

static void
UpdateInterest(chanPtr)
    Channel *chanPtr;		/* Channel to update. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int mask = statePtr->interestMask;

    /*
     * If there are flushed buffers waiting to be written, then
     * we need to watch for the channel to become writable.
     */

    if (statePtr->flags & BG_FLUSH_SCHEDULED) {
	mask |= TCL_WRITABLE;
    }

    /*
     * If there is data in the input queue, and we aren't waiting for more
     * data, then we need to schedule a timer so we don't block in the
     * notifier.  Also, cancel the read interest so we don't get duplicate
     * events.
     */

    if (mask & TCL_READABLE) {
	if (!(statePtr->flags & CHANNEL_NEED_MORE_DATA)
		&& (statePtr->inQueueHead != (ChannelBuffer *) NULL)
		&& (statePtr->inQueueHead->nextRemoved <
			statePtr->inQueueHead->nextAdded)) {
	    mask &= ~TCL_READABLE;

	    /*
	     * Andreas Kupries, April 11, 2003
	     *
	     * Some operating systems (Solaris 2.6 and higher (but not
	     * Solaris 2.5, go figure)) generate READABLE and
	     * EXCEPTION events when select()'ing [*] on a plain file,
	     * even if EOF was not yet reached. This is a problem in
	     * the following situation:
	     *
	     * - An extension asks to get both READABLE and EXCEPTION
	     *   events.
	     * - It reads data into a buffer smaller than the buffer
	     *   used by Tcl itself.
	     * - It does not process all events in the event queue, but
	     *   only only one, at least in some situations.
	     *
	     * In that case we can get into a situation where
	     *
	     * - Tcl drops READABLE here, because it has data in its own
	     *   buffers waiting to be read by the extension.
	     * - A READABLE event is syntesized via timer.
	     * - The OS still reports the EXCEPTION condition on the file.
	     * - And the extension gets the EXCPTION event first, and
	     *   handles this as EOF.
	     *
	     * End result ==> Premature end of reading from a file.
	     *
	     * The concrete example is 'Expect', and its [expect]
	     * command (and at the C-level, deep in the bowels of
	     * Expect, 'exp_get_next_event'. See marker 'SunOS' for
	     * commentary in that function too).
	     *
	     * [*] As the Tcl notifier does. See also for marker
	     * 'SunOS' in file 'exp_event.c' of Expect.
	     *
	     * Our solution here is to drop the interest in the
	     * EXCEPTION events too. This compiles on all platforms,
	     * and also passes the testsuite on all of them.
	     */

	    mask &= ~TCL_EXCEPTION;

	    if (!statePtr->timer) {
		statePtr->timer = Tcl_CreateTimerHandler(0, ChannelTimerProc,
			(ClientData) chanPtr);
	    }
	}
    }
    (chanPtr->typePtr->watchProc)(chanPtr->instanceData, mask);
}

/*
 *----------------------------------------------------------------------
 *
 * ChannelTimerProc --
 *
 *	Timer handler scheduled by UpdateInterest to monitor the
 *	channel buffers until they are empty.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	May invoke channel handlers.
 *
 *----------------------------------------------------------------------
 */

static void
ChannelTimerProc(clientData)
    ClientData clientData;
{
    Channel *chanPtr = (Channel *) clientData;
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */

    if (!(statePtr->flags & CHANNEL_NEED_MORE_DATA)
	    && (statePtr->interestMask & TCL_READABLE)
	    && (statePtr->inQueueHead != (ChannelBuffer *) NULL)
	    && (statePtr->inQueueHead->nextRemoved <
		    statePtr->inQueueHead->nextAdded)) {
	/*
	 * Restart the timer in case a channel handler reenters the
	 * event loop before UpdateInterest gets called by Tcl_NotifyChannel.
	 */

	statePtr->timer = Tcl_CreateTimerHandler(0, ChannelTimerProc,
		(ClientData) chanPtr);

	/* Set the TIMER flag to notify the higher levels that the
	 * driver might have no data for us. We do this only if we are
	 * in non-blocking mode and the driver has no BlockModeProc
	 * because only then we really don't know if the driver will
	 * block or not. A similar test is done in "PeekAhead".
	 */

	if ((statePtr->flags & CHANNEL_NONBLOCKING) &&
	    (Tcl_ChannelBlockModeProc(chanPtr->typePtr) == NULL)) {
	    statePtr->flags |= CHANNEL_TIMER_FEV;
	}
	Tcl_Preserve((ClientData) statePtr);
	Tcl_NotifyChannel((Tcl_Channel)chanPtr, TCL_READABLE);

	statePtr->flags &= ~CHANNEL_TIMER_FEV; 
	Tcl_Release((ClientData) statePtr);
    } else {
	statePtr->timer = NULL;
	UpdateInterest(chanPtr);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_CreateChannelHandler --
 *
 *	Arrange for a given procedure to be invoked whenever the
 *	channel indicated by the chanPtr arg becomes readable or
 *	writable.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	From now on, whenever the I/O channel given by chanPtr becomes
 *	ready in the way indicated by mask, proc will be invoked.
 *	See the manual entry for details on the calling sequence
 *	to proc.  If there is already an event handler for chan, proc
 *	and clientData, then the mask will be updated.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_CreateChannelHandler(chan, mask, proc, clientData)
    Tcl_Channel chan;		/* The channel to create the handler for. */
    int mask;			/* OR'ed combination of TCL_READABLE,
				 * TCL_WRITABLE, and TCL_EXCEPTION:
				 * indicates conditions under which
				 * proc should be called. Use 0 to
                                 * disable a registered handler. */
    Tcl_ChannelProc *proc;	/* Procedure to call for each
				 * selected event. */
    ClientData clientData;	/* Arbitrary data to pass to proc. */
{
    ChannelHandler *chPtr;
    Channel *chanPtr = (Channel *) chan;
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */

    /*
     * Check whether this channel handler is not already registered. If
     * it is not, create a new record, else reuse existing record (smash
     * current values).
     */

    for (chPtr = statePtr->chPtr;
	 chPtr != (ChannelHandler *) NULL;
	 chPtr = chPtr->nextPtr) {
        if ((chPtr->chanPtr == chanPtr) && (chPtr->proc == proc) &&
                (chPtr->clientData == clientData)) {
            break;
        }
    }
    if (chPtr == (ChannelHandler *) NULL) {
        chPtr = (ChannelHandler *) ckalloc((unsigned) sizeof(ChannelHandler));
        chPtr->mask = 0;
        chPtr->proc = proc;
        chPtr->clientData = clientData;
        chPtr->chanPtr = chanPtr;
        chPtr->nextPtr = statePtr->chPtr;
        statePtr->chPtr = chPtr;
    }

    /*
     * The remainder of the initialization below is done regardless of
     * whether or not this is a new record or a modification of an old
     * one.
     */

    chPtr->mask = mask;

    /*
     * Recompute the interest mask for the channel - this call may actually
     * be disabling an existing handler.
     */
    
    statePtr->interestMask = 0;
    for (chPtr = statePtr->chPtr;
	 chPtr != (ChannelHandler *) NULL;
	 chPtr = chPtr->nextPtr) {
	statePtr->interestMask |= chPtr->mask;
    }

    UpdateInterest(statePtr->topChanPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_DeleteChannelHandler --
 *
 *	Cancel a previously arranged callback arrangement for an IO
 *	channel.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	If a callback was previously registered for this chan, proc and
 *	 clientData , it is removed and the callback will no longer be called
 *	when the channel becomes ready for IO.
 *
 *----------------------------------------------------------------------
 */

void
Tcl_DeleteChannelHandler(chan, proc, clientData)
    Tcl_Channel chan;		/* The channel for which to remove the
                                 * callback. */
    Tcl_ChannelProc *proc;	/* The procedure in the callback to delete. */
    ClientData clientData;	/* The client data in the callback
                                 * to delete. */
    
{
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    ChannelHandler *chPtr, *prevChPtr;
    Channel *chanPtr = (Channel *) chan;
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    NextChannelHandler *nhPtr;

    /*
     * Find the entry and the previous one in the list.
     */

    for (prevChPtr = (ChannelHandler *) NULL, chPtr = statePtr->chPtr;
	 chPtr != (ChannelHandler *) NULL;
	 chPtr = chPtr->nextPtr) {
        if ((chPtr->chanPtr == chanPtr) && (chPtr->clientData == clientData)
                && (chPtr->proc == proc)) {
            break;
        }
        prevChPtr = chPtr;
    }

    /*
     * If not found, return without doing anything.
     */

    if (chPtr == (ChannelHandler *) NULL) {
        return;
    }

    /*
     * If ChannelHandlerEventProc is about to process this handler, tell it to
     * process the next one instead - we are going to delete *this* one.
     */

    for (nhPtr = tsdPtr->nestedHandlerPtr;
	 nhPtr != (NextChannelHandler *) NULL;
	 nhPtr = nhPtr->nestedHandlerPtr) {
        if (nhPtr->nextHandlerPtr == chPtr) {
            nhPtr->nextHandlerPtr = chPtr->nextPtr;
        }
    }

    /*
     * Splice it out of the list of channel handlers.
     */
    
    if (prevChPtr == (ChannelHandler *) NULL) {
        statePtr->chPtr = chPtr->nextPtr;
    } else {
        prevChPtr->nextPtr = chPtr->nextPtr;
    }
    ckfree((char *) chPtr);

    /*
     * Recompute the interest list for the channel, so that infinite loops
     * will not result if Tcl_DeleteChannelHandler is called inside an
     * event.
     */

    statePtr->interestMask = 0;
    for (chPtr = statePtr->chPtr;
	 chPtr != (ChannelHandler *) NULL;
	 chPtr = chPtr->nextPtr) {
        statePtr->interestMask |= chPtr->mask;
    }

    UpdateInterest(statePtr->topChanPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * DeleteScriptRecord --
 *
 *	Delete a script record for this combination of channel, interp
 *	and mask.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Deletes a script record and cancels a channel event handler.
 *
 *----------------------------------------------------------------------
 */

static void
DeleteScriptRecord(interp, chanPtr, mask)
    Tcl_Interp *interp;		/* Interpreter in which script was to be
                                 * executed. */
    Channel *chanPtr;		/* The channel for which to delete the
                                 * script record (if any). */
    int mask;			/* Events in mask must exactly match mask
                                 * of script to delete. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    EventScriptRecord *esPtr, *prevEsPtr;

    for (esPtr = statePtr->scriptRecordPtr,
             prevEsPtr = (EventScriptRecord *) NULL;
	 esPtr != (EventScriptRecord *) NULL;
	 prevEsPtr = esPtr, esPtr = esPtr->nextPtr) {
        if ((esPtr->interp == interp) && (esPtr->mask == mask)) {
            if (esPtr == statePtr->scriptRecordPtr) {
                statePtr->scriptRecordPtr = esPtr->nextPtr;
            } else {
                prevEsPtr->nextPtr = esPtr->nextPtr;
            }

            Tcl_DeleteChannelHandler((Tcl_Channel) chanPtr,
                    TclChannelEventScriptInvoker, (ClientData) esPtr);
            
	    Tcl_DecrRefCount(esPtr->scriptPtr);
            ckfree((char *) esPtr);

            break;
        }
    }
}

/*
 *----------------------------------------------------------------------
 *
 * CreateScriptRecord --
 *
 *	Creates a record to store a script to be executed when a specific
 *	event fires on a specific channel.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Causes the script to be stored for later execution.
 *
 *----------------------------------------------------------------------
 */

static void
CreateScriptRecord(interp, chanPtr, mask, scriptPtr)
    Tcl_Interp *interp;			/* Interpreter in which to execute
                                         * the stored script. */
    Channel *chanPtr;			/* Channel for which script is to
                                         * be stored. */
    int mask;				/* Set of events for which script
                                         * will be invoked. */
    Tcl_Obj *scriptPtr;			/* Pointer to script object. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    EventScriptRecord *esPtr;

    for (esPtr = statePtr->scriptRecordPtr;
	 esPtr != (EventScriptRecord *) NULL;
	 esPtr = esPtr->nextPtr) {
        if ((esPtr->interp == interp) && (esPtr->mask == mask)) {
	    Tcl_DecrRefCount(esPtr->scriptPtr);
	    esPtr->scriptPtr = (Tcl_Obj *) NULL;
            break;
        }
    }
    if (esPtr == (EventScriptRecord *) NULL) {
        esPtr = (EventScriptRecord *) ckalloc((unsigned)
                sizeof(EventScriptRecord));
        Tcl_CreateChannelHandler((Tcl_Channel) chanPtr, mask,
                TclChannelEventScriptInvoker, (ClientData) esPtr);
        esPtr->nextPtr = statePtr->scriptRecordPtr;
        statePtr->scriptRecordPtr = esPtr;
    }
    esPtr->chanPtr = chanPtr;
    esPtr->interp = interp;
    esPtr->mask = mask;
    Tcl_IncrRefCount(scriptPtr);
    esPtr->scriptPtr = scriptPtr;
}

/*
 *----------------------------------------------------------------------
 *
 * TclChannelEventScriptInvoker --
 *
 *	Invokes a script scheduled by "fileevent" for when the channel
 *	becomes ready for IO. This function is invoked by the channel
 *	handler which was created by the Tcl "fileevent" command.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Whatever the script does.
 *
 *----------------------------------------------------------------------
 */

void
TclChannelEventScriptInvoker(clientData, mask)
    ClientData clientData;	/* The script+interp record. */
    int mask;			/* Not used. */
{
    Tcl_Interp *interp;		/* Interpreter in which to eval the script. */
    Channel *chanPtr;		/* The channel for which this handler is
                                 * registered. */
    EventScriptRecord *esPtr;	/* The event script + interpreter to eval it
                                 * in. */
    int result;			/* Result of call to eval script. */

    esPtr	= (EventScriptRecord *) clientData;
    chanPtr	= esPtr->chanPtr;
    mask	= esPtr->mask;
    interp	= esPtr->interp;

    /*
     * We must preserve the interpreter so we can report errors on it
     * later.  Note that we do not need to preserve the channel because
     * that is done by Tcl_NotifyChannel before calling channel handlers.
     */
    
    Tcl_Preserve((ClientData) interp);
    result = Tcl_EvalObjEx(interp, esPtr->scriptPtr, TCL_EVAL_GLOBAL);

    /*
     * On error, cause a background error and remove the channel handler
     * and the script record.
     *
     * NOTE: Must delete channel handler before causing the background error
     * because the background error may want to reinstall the handler.
     */
    
    if (result != TCL_OK) {
	if (chanPtr->typePtr != NULL) {
	    DeleteScriptRecord(interp, chanPtr, mask);
	}
        Tcl_BackgroundError(interp);
    }
    Tcl_Release((ClientData) interp);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_FileEventObjCmd --
 *
 *	This procedure implements the "fileevent" Tcl command. See the
 *	user documentation for details on what it does. This command is
 *	based on the Tk command "fileevent" which in turn is based on work
 *	contributed by Mark Diekhans.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	May create a channel handler for the specified channel.
 *
 *----------------------------------------------------------------------
 */

	/* ARGSUSED */
int
Tcl_FileEventObjCmd(clientData, interp, objc, objv)
    ClientData clientData;		/* Not used. */
    Tcl_Interp *interp;			/* Interpreter in which the channel
                                         * for which to create the handler
                                         * is found. */
    int objc;				/* Number of arguments. */
    Tcl_Obj *CONST objv[];		/* Argument objects. */
{
    Channel *chanPtr;			/* The channel to create
                                         * the handler for. */
    ChannelState *statePtr;		/* state info for channel */
    Tcl_Channel chan;			/* The opaque type for the channel. */
    char *chanName;
    int modeIndex;			/* Index of mode argument. */
    int mask;
    static CONST char *modeOptions[] = {"readable", "writable", NULL};
    static int maskArray[] = {TCL_READABLE, TCL_WRITABLE};

    if ((objc != 3) && (objc != 4)) {
	Tcl_WrongNumArgs(interp, 1, objv, "channelId event ?script?");
	return TCL_ERROR;
    }
    if (Tcl_GetIndexFromObj(interp, objv[2], modeOptions, "event name", 0,
	    &modeIndex) != TCL_OK) {
	return TCL_ERROR;
    }
    mask = maskArray[modeIndex];

    chanName = Tcl_GetString(objv[1]);
    chan = Tcl_GetChannel(interp, chanName, NULL);
    if (chan == (Tcl_Channel) NULL) {
	return TCL_ERROR;
    }
    chanPtr  = (Channel *) chan;
    statePtr = chanPtr->state;
    if ((statePtr->flags & mask) == 0) {
        Tcl_AppendResult(interp, "channel is not ",
                (mask == TCL_READABLE) ? "readable" : "writable",
                (char *) NULL);
        return TCL_ERROR;
    }
    
    /*
     * If we are supposed to return the script, do so.
     */

    if (objc == 3) {
	EventScriptRecord *esPtr;
	for (esPtr = statePtr->scriptRecordPtr;
             esPtr != (EventScriptRecord *) NULL;
             esPtr = esPtr->nextPtr) {
	    if ((esPtr->interp == interp) && (esPtr->mask == mask)) {
		Tcl_SetObjResult(interp, esPtr->scriptPtr);
		break;
	    }
	}
        return TCL_OK;
    }

    /*
     * If we are supposed to delete a stored script, do so.
     */

    if (*(Tcl_GetString(objv[3])) == '\0') {
        DeleteScriptRecord(interp, chanPtr, mask);
        return TCL_OK;
    }

    /*
     * Make the script record that will link between the event and the
     * script to invoke. This also creates a channel event handler which
     * will evaluate the script in the supplied interpreter.
     */

    CreateScriptRecord(interp, chanPtr, mask, objv[3]);
    
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * TclCopyChannel --
 *
 *	This routine copies data from one channel to another, either
 *	synchronously or asynchronously.  If a command script is
 *	supplied, the operation runs in the background.  The script
 *	is invoked when the copy completes.  Otherwise the function
 *	waits until the copy is completed before returning.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	May schedule a background copy operation that causes both
 *	channels to be marked busy.
 *
 *----------------------------------------------------------------------
 */

int
TclCopyChannel(interp, inChan, outChan, toRead, cmdPtr)
    Tcl_Interp *interp;		/* Current interpreter. */
    Tcl_Channel inChan;		/* Channel to read from. */
    Tcl_Channel outChan;	/* Channel to write to. */
    int toRead;			/* Amount of data to copy, or -1 for all. */
    Tcl_Obj *cmdPtr;		/* Pointer to script to execute or NULL. */
{
    Channel *inPtr = (Channel *) inChan;
    Channel *outPtr = (Channel *) outChan;
    ChannelState *inStatePtr, *outStatePtr;
    int readFlags, writeFlags;
    CopyState *csPtr;
    int nonBlocking = (cmdPtr) ? CHANNEL_NONBLOCKING : 0;

    inStatePtr	= inPtr->state;
    outStatePtr	= outPtr->state;

    if (inStatePtr->csPtr) {
	Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "channel \"",
		Tcl_GetChannelName(inChan), "\" is busy", NULL);
	return TCL_ERROR;
    }
    if (outStatePtr->csPtr) {
	Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "channel \"",
		Tcl_GetChannelName(outChan), "\" is busy", NULL);
	return TCL_ERROR;
    }

    readFlags	= inStatePtr->flags;
    writeFlags	= outStatePtr->flags;

    /*
     * Set up the blocking mode appropriately.  Background copies need
     * non-blocking channels.  Foreground copies need blocking channels.
     * If there is an error, restore the old blocking mode.
     */

    if (nonBlocking != (readFlags & CHANNEL_NONBLOCKING)) {
	if (SetBlockMode(interp, inPtr,
		nonBlocking ? TCL_MODE_NONBLOCKING : TCL_MODE_BLOCKING)
		!= TCL_OK) {
	    return TCL_ERROR;
	}
    }	    
    if (inPtr != outPtr) {
	if (nonBlocking != (writeFlags & CHANNEL_NONBLOCKING)) {
	    if (SetBlockMode(NULL, outPtr,
		    nonBlocking ? TCL_MODE_NONBLOCKING : TCL_MODE_BLOCKING)
		    != TCL_OK) {
		if (nonBlocking != (readFlags & CHANNEL_NONBLOCKING)) {
		    SetBlockMode(NULL, inPtr,
			    (readFlags & CHANNEL_NONBLOCKING)
			    ? TCL_MODE_NONBLOCKING : TCL_MODE_BLOCKING);
		    return TCL_ERROR;
		}
	    }
	}
    }

    /*
     * Make sure the output side is unbuffered.
     */

    outStatePtr->flags = (outStatePtr->flags & ~(CHANNEL_LINEBUFFERED))
	| CHANNEL_UNBUFFERED;

    /*
     * Allocate a new CopyState to maintain info about the current copy in
     * progress.  This structure will be deallocated when the copy is
     * completed.
     */

    csPtr = (CopyState*) ckalloc(sizeof(CopyState) + inStatePtr->bufSize);
    csPtr->bufSize    = inStatePtr->bufSize;
    csPtr->readPtr    = inPtr;
    csPtr->writePtr   = outPtr;
    csPtr->readFlags  = readFlags;
    csPtr->writeFlags = writeFlags;
    csPtr->toRead     = toRead;
    csPtr->total      = 0;
    csPtr->interp     = interp;
    if (cmdPtr) {
	Tcl_IncrRefCount(cmdPtr);
    }
    csPtr->cmdPtr = cmdPtr;
    inStatePtr->csPtr = csPtr;
    outStatePtr->csPtr = csPtr;

    /*
     * Start copying data between the channels.
     */

    return CopyData(csPtr, 0);
}

/*
 *----------------------------------------------------------------------
 *
 * CopyData --
 *
 *	This function implements the lowest level of the copying
 *	mechanism for TclCopyChannel.
 *
 * Results:
 *	Returns TCL_OK on success, else TCL_ERROR.
 *
 * Side effects:
 *	Moves data between channels, may create channel handlers.
 *
 *----------------------------------------------------------------------
 */

static int
CopyData(csPtr, mask)
    CopyState *csPtr;		/* State of copy operation. */
    int mask;			/* Current channel event flags. */
{
    Tcl_Interp *interp;
    Tcl_Obj *cmdPtr, *errObj = NULL, *bufObj = NULL;
    Tcl_Channel inChan, outChan;
    ChannelState *inStatePtr, *outStatePtr;
    int result = TCL_OK, size, total, sizeb;
    char* buffer;

    int inBinary, outBinary, sameEncoding; /* Encoding control */
    int underflow;	/* input underflow */

    inChan	= (Tcl_Channel) csPtr->readPtr;
    outChan	= (Tcl_Channel) csPtr->writePtr;
    inStatePtr	= csPtr->readPtr->state;
    outStatePtr	= csPtr->writePtr->state;
    interp	= csPtr->interp;
    cmdPtr	= csPtr->cmdPtr;

    /*
     * Copy the data the slow way, using the translation mechanism.
     *
     * Note: We have make sure that we use the topmost channel in a stack
     * for the copying. The caller uses Tcl_GetChannel to access it, and
     * thus gets the bottom of the stack.
     */

    inBinary     = (inStatePtr->encoding  == NULL);
    outBinary    = (outStatePtr->encoding == NULL);
    sameEncoding = (inStatePtr->encoding  == outStatePtr->encoding);

    if (!(inBinary || sameEncoding)) {
        bufObj = Tcl_NewObj ();
	Tcl_IncrRefCount (bufObj);
    }

    while (csPtr->toRead != 0) {
	/*
	 * Check for unreported background errors.
	 */

	if (inStatePtr->unreportedError != 0) {
	    Tcl_SetErrno(inStatePtr->unreportedError);
	    inStatePtr->unreportedError = 0;
	    goto readError;
	}
	if (outStatePtr->unreportedError != 0) {
	    Tcl_SetErrno(outStatePtr->unreportedError);
	    outStatePtr->unreportedError = 0;
	    goto writeError;
	}
	
	/*
	 * Read up to bufSize bytes.
	 */

	if ((csPtr->toRead == -1) || (csPtr->toRead > csPtr->bufSize)) {
	    sizeb = csPtr->bufSize;
	} else {
	    sizeb = csPtr->toRead;
	}

	if (inBinary || sameEncoding) {
	    size = DoRead(inStatePtr->topChanPtr, csPtr->buffer, sizeb);
	} else {
	    size = DoReadChars(inStatePtr->topChanPtr, bufObj, sizeb, 0 /* No append */);
	}
	underflow = (size >= 0) && (size < sizeb);	/* input underflow */

	if (size < 0) {
	    readError:
	    errObj = Tcl_NewObj();
	    Tcl_AppendStringsToObj(errObj, "error reading \"",
		    Tcl_GetChannelName(inChan), "\": ",
		    Tcl_PosixError(interp), (char *) NULL);
	    break;
	} else if (underflow) {
	    /*
	     * We had an underflow on the read side.  If we are at EOF,
	     * then the copying is done, otherwise set up a channel
	     * handler to detect when the channel becomes readable again.
	     */
	    
	    if ((size == 0) && Tcl_Eof(inChan)) {
		break;
	    }
	    if (! Tcl_Eof(inChan) && !(mask & TCL_READABLE)) {
		if (mask & TCL_WRITABLE) {
		    Tcl_DeleteChannelHandler(outChan, CopyEventProc,
			    (ClientData) csPtr);
		}
		Tcl_CreateChannelHandler(inChan, TCL_READABLE,
			CopyEventProc, (ClientData) csPtr);
	    }
	    if (size == 0) {
	        if (bufObj != (Tcl_Obj*) NULL) {
		    Tcl_DecrRefCount (bufObj);
		    bufObj = (Tcl_Obj*) NULL;
		}
		return TCL_OK;
	    }
	}

	/*
	 * Now write the buffer out.
	 */

	if (inBinary || sameEncoding) {
	    buffer = csPtr->buffer;
	    sizeb = size;
	} else {
	    buffer = Tcl_GetStringFromObj (bufObj, &sizeb);
	}

	if (outBinary || sameEncoding) {
	    sizeb = DoWrite(outStatePtr->topChanPtr, buffer, sizeb);
	} else {
	    sizeb = DoWriteChars(outStatePtr->topChanPtr, buffer, sizeb);
	}

	if (inBinary || sameEncoding) {
	    /* Both read and write counted bytes */
	    size = sizeb;
	} /* else : Read counted characters, write counted bytes, i.e. size != sizeb */

	if (sizeb < 0) {
	    writeError:
	    errObj = Tcl_NewObj();
	    Tcl_AppendStringsToObj(errObj, "error writing \"",
		    Tcl_GetChannelName(outChan), "\": ",
		    Tcl_PosixError(interp), (char *) NULL);
	    break;
	}

	/*
	 * Update the current byte count.  Do it now so the count is
	 * valid before a return or break takes us out of the loop.
	 * The invariant at the top of the loop should be that 
	 * csPtr->toRead holds the number of bytes left to copy.
	 */

	if (csPtr->toRead != -1) {
	    csPtr->toRead -= size;
	}
	csPtr->total += size;

	/*
	 * Break loop if EOF && (size>0)
	 */

        if (Tcl_Eof(inChan)) {
            break;
        }

	/*
	 * Check to see if the write is happening in the background.  If so,
	 * stop copying and wait for the channel to become writable again.
	 * After input underflow we already installed a readable handler
	 * therefore we don't need a writable handler.
	 */

	if ( ! underflow && (outStatePtr->flags & BG_FLUSH_SCHEDULED) ) {
	    if (!(mask & TCL_WRITABLE)) {
		if (mask & TCL_READABLE) {
		    Tcl_DeleteChannelHandler(inChan, CopyEventProc,
			    (ClientData) csPtr);
		}
		Tcl_CreateChannelHandler(outChan, TCL_WRITABLE,
			CopyEventProc, (ClientData) csPtr);
	    }
	    if (bufObj != (Tcl_Obj*) NULL) {
	        Tcl_DecrRefCount (bufObj);
		bufObj = (Tcl_Obj*) NULL;
	    }
	    return TCL_OK;
	}

	/*
	 * For background copies, we only do one buffer per invocation so
	 * we don't starve the rest of the system.
	 */

	if (cmdPtr) {
	    /*
	     * The first time we enter this code, there won't be a
	     * channel handler established yet, so do it here.
	     */

	    if (mask == 0) {
		Tcl_CreateChannelHandler(outChan, TCL_WRITABLE,
			CopyEventProc, (ClientData) csPtr);
	    }
	    if (bufObj != (Tcl_Obj*) NULL) {
	        Tcl_DecrRefCount (bufObj);
		bufObj = (Tcl_Obj*) NULL;
	    }
	    return TCL_OK;
	}
    } /* while */

    if (bufObj != (Tcl_Obj*) NULL) {
        Tcl_DecrRefCount (bufObj);
	bufObj = (Tcl_Obj*) NULL;
    }

    /*
     * Make the callback or return the number of bytes transferred.
     * The local total is used because StopCopy frees csPtr.
     */

    total = csPtr->total;
    if (cmdPtr) {
	/*
	 * Get a private copy of the command so we can mutate it
	 * by adding arguments.  Note that StopCopy frees our saved
	 * reference to the original command obj.
	 */

	cmdPtr = Tcl_DuplicateObj(cmdPtr);
	Tcl_IncrRefCount(cmdPtr);
	StopCopy(csPtr);
	Tcl_Preserve((ClientData) interp);

	Tcl_ListObjAppendElement(interp, cmdPtr, Tcl_NewIntObj(total));
	if (errObj) {
	    Tcl_ListObjAppendElement(interp, cmdPtr, errObj);
	}
	if (Tcl_EvalObjEx(interp, cmdPtr, TCL_EVAL_GLOBAL) != TCL_OK) {
	    Tcl_BackgroundError(interp);
	    result = TCL_ERROR;
	}
	Tcl_DecrRefCount(cmdPtr);
	Tcl_Release((ClientData) interp);
    } else {
	StopCopy(csPtr);
	if (errObj) {
	    Tcl_SetObjResult(interp, errObj);
	    result = TCL_ERROR;
	} else {
	    Tcl_ResetResult(interp);
	    Tcl_SetIntObj(Tcl_GetObjResult(interp), total);
	}
    }
    return result;
}

/*
 *----------------------------------------------------------------------
 *
 * DoRead --
 *
 *	Reads a given number of bytes from a channel.
 *
 *	No encoding conversions are applied to the bytes being read.
 *
 * Results:
 *	The number of characters read, or -1 on error. Use Tcl_GetErrno()
 *	to retrieve the error code for the error that occurred.
 *
 * Side effects:
 *	May cause input to be buffered.
 *
 *----------------------------------------------------------------------
 */

static int
DoRead(chanPtr, bufPtr, toRead)
    Channel *chanPtr;		/* The channel from which to read. */
    char *bufPtr;		/* Where to store input read. */
    int toRead;			/* Maximum number of bytes to read. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int copied;			/* How many characters were copied into
                                 * the result string? */
    int copiedNow;		/* How many characters were copied from
                                 * the current input buffer? */
    int result;			/* Of calling GetInput. */

    /*
     * If we have not encountered a sticky EOF, clear the EOF bit. Either
     * way clear the BLOCKED bit. We want to discover these anew during
     * each operation.
     */

    if (!(statePtr->flags & CHANNEL_STICKY_EOF)) {
        statePtr->flags &= ~CHANNEL_EOF;
    }
    statePtr->flags &= ~(CHANNEL_BLOCKED | CHANNEL_NEED_MORE_DATA);
    
    for (copied = 0; copied < toRead; copied += copiedNow) {
        copiedNow = CopyAndTranslateBuffer(statePtr, bufPtr + copied,
                toRead - copied);
        if (copiedNow == 0) {
            if (statePtr->flags & CHANNEL_EOF) {
		goto done;
            }
            if (statePtr->flags & CHANNEL_BLOCKED) {
                if (statePtr->flags & CHANNEL_NONBLOCKING) {
		    goto done;
                }
                statePtr->flags &= (~(CHANNEL_BLOCKED));
            }
            result = GetInput(chanPtr);
            if (result != 0) {
                if (result != EAGAIN) {
                    copied = -1;
                }
		goto done;
            }
        }
    }

    statePtr->flags &= (~(CHANNEL_BLOCKED));

    done:
    /*
     * Update the notifier state so we don't block while there is still
     * data in the buffers.
     */

    UpdateInterest(chanPtr);
    return copied;
}

/*
 *----------------------------------------------------------------------
 *
 * CopyAndTranslateBuffer --
 *
 *	Copy at most one buffer of input to the result space, doing
 *	eol translations according to mode in effect currently.
 *
 * Results:
 *	Number of bytes stored in the result buffer (as opposed to the
 *	number of bytes read from the channel).  May return
 *	zero if no input is available to be translated.
 *
 * Side effects:
 *	Consumes buffered input. May deallocate one buffer.
 *
 *----------------------------------------------------------------------
 */

static int
CopyAndTranslateBuffer(statePtr, result, space)
    ChannelState *statePtr;	/* Channel state from which to read input. */
    char *result;		/* Where to store the copied input. */
    int space;			/* How many bytes are available in result
                                 * to store the copied input? */
{
    ChannelBuffer *bufPtr;	/* The buffer from which to copy bytes. */
    int bytesInBuffer;		/* How many bytes are available to be
                                 * copied in the current input buffer? */
    int copied;			/* How many characters were already copied
                                 * into the destination space? */
    int i;			/* Iterates over the copied input looking
                                 * for the input eofChar. */
    
    /*
     * If there is no input at all, return zero. The invariant is that either
     * there is no buffer in the queue, or if the first buffer is empty, it
     * is also the last buffer (and thus there is no input in the queue).
     * Note also that if the buffer is empty, we leave it in the queue.
     */
    
    if (statePtr->inQueueHead == (ChannelBuffer *) NULL) {
        return 0;
    }
    bufPtr = statePtr->inQueueHead;
    bytesInBuffer = bufPtr->nextAdded - bufPtr->nextRemoved;

    copied = 0;
    switch (statePtr->inputTranslation) {
        case TCL_TRANSLATE_LF: {
            if (bytesInBuffer == 0) {
                return 0;
            }

	    /*
             * Copy the current chunk into the result buffer.
             */

	    if (bytesInBuffer < space) {
		space = bytesInBuffer;
	    }
	    memcpy((VOID *) result,
		    (VOID *) (bufPtr->buf + bufPtr->nextRemoved),
		    (size_t) space);
	    bufPtr->nextRemoved += space;
	    copied = space;
            break;
	}
        case TCL_TRANSLATE_CR: {
	    char *end;
	    
            if (bytesInBuffer == 0) {
                return 0;
            }

	    /*
             * Copy the current chunk into the result buffer, then
             * replace all \r with \n.
             */

	    if (bytesInBuffer < space) {
		space = bytesInBuffer;
	    }
	    memcpy((VOID *) result,
		    (VOID *) (bufPtr->buf + bufPtr->nextRemoved),
		    (size_t) space);
	    bufPtr->nextRemoved += space;
	    copied = space;

	    for (end = result + copied; result < end; result++) {
		if (*result == '\r') {
		    *result = '\n';
		}
            }
            break;
	}
        case TCL_TRANSLATE_CRLF: {
	    char *src, *end, *dst;
	    int curByte;
	    
            /*
             * If there is a held-back "\r" at EOF, produce it now.
             */
            
	    if (bytesInBuffer == 0) {
                if ((statePtr->flags & (INPUT_SAW_CR | CHANNEL_EOF)) ==
                        (INPUT_SAW_CR | CHANNEL_EOF)) {
                    result[0] = '\r';
                    statePtr->flags &= ~INPUT_SAW_CR;
                    return 1;
                }
                return 0;
            }

            /*
             * Copy the current chunk and replace "\r\n" with "\n"
             * (but not standalone "\r"!).
             */

	    if (bytesInBuffer < space) {
		space = bytesInBuffer;
	    }
	    memcpy((VOID *) result,
		    (VOID *) (bufPtr->buf + bufPtr->nextRemoved),
		    (size_t) space);
	    bufPtr->nextRemoved += space;
	    copied = space;

	    end = result + copied;
	    dst = result;
	    for (src = result; src < end; src++) {
		curByte = *src;
		if (curByte == '\n') {
                    statePtr->flags &= ~INPUT_SAW_CR;
		} else if (statePtr->flags & INPUT_SAW_CR) {
		    statePtr->flags &= ~INPUT_SAW_CR;
		    *dst = '\r';
		    dst++;
		}
		if (curByte == '\r') {
		    statePtr->flags |= INPUT_SAW_CR;
		} else {
		    *dst = (char) curByte;
		    dst++;
		}
	    }
	    copied = dst - result;
	    break;
	}
        case TCL_TRANSLATE_AUTO: {
	    char *src, *end, *dst;
	    int curByte;
	
            if (bytesInBuffer == 0) {
                return 0;
            }

            /*
             * Loop over the current buffer, converting "\r" and "\r\n"
             * to "\n".
             */

	    if (bytesInBuffer < space) {
		space = bytesInBuffer;
	    }
	    memcpy((VOID *) result,
		    (VOID *) (bufPtr->buf + bufPtr->nextRemoved),
		    (size_t) space);
	    bufPtr->nextRemoved += space;
	    copied = space;

	    end = result + copied;
	    dst = result;
	    for (src = result; src < end; src++) {
		curByte = *src;
		if (curByte == '\r') {
		    statePtr->flags |= INPUT_SAW_CR;
		    *dst = '\n';
		    dst++;
		} else {
		    if ((curByte != '\n') || 
			    !(statePtr->flags & INPUT_SAW_CR)) {
			*dst = (char) curByte;
			dst++;
		    }
		    statePtr->flags &= ~INPUT_SAW_CR;
		}
	    }
	    copied = dst - result;
            break;
	}
        default: {
            panic("unknown eol translation mode");
	}
    }

    /*
     * If an in-stream EOF character is set for this channel, check that
     * the input we copied so far does not contain the EOF char.  If it does,
     * copy only up to and excluding that character.
     */
    
    if (statePtr->inEofChar != 0) {
        for (i = 0; i < copied; i++) {
            if (result[i] == (char) statePtr->inEofChar) {
		/*
		 * Set sticky EOF so that no further input is presented
		 * to the caller.
		 */
		
		statePtr->flags |= (CHANNEL_EOF | CHANNEL_STICKY_EOF);
		statePtr->inputEncodingFlags |= TCL_ENCODING_END;
		copied = i;
                break;
            }
        }
    }

    /*
     * If the current buffer is empty recycle it.
     */

    if (bufPtr->nextRemoved == bufPtr->nextAdded) {
        statePtr->inQueueHead = bufPtr->nextPtr;
        if (statePtr->inQueueHead == (ChannelBuffer *) NULL) {
            statePtr->inQueueTail = (ChannelBuffer *) NULL;
        }
        RecycleBuffer(statePtr, bufPtr, 0);
    }

    /*
     * Return the number of characters copied into the result buffer.
     * This may be different from the number of bytes consumed, because
     * of EOL translations.
     */

    return copied;
}

/*
 *----------------------------------------------------------------------
 *
 * CopyBuffer --
 *
 *	Copy at most one buffer of input to the result space.
 *
 * Results:
 *	Number of bytes stored in the result buffer.  May return
 *	zero if no input is available.
 *
 * Side effects:
 *	Consumes buffered input. May deallocate one buffer.
 *
 *----------------------------------------------------------------------
 */

static int
CopyBuffer(chanPtr, result, space)
    Channel *chanPtr;		/* Channel from which to read input. */
    char *result;		/* Where to store the copied input. */
    int space;			/* How many bytes are available in result
                                 * to store the copied input? */
{
    ChannelBuffer *bufPtr;	/* The buffer from which to copy bytes. */
    int bytesInBuffer;		/* How many bytes are available to be
                                 * copied in the current input buffer? */
    int copied;			/* How many characters were already copied
                                 * into the destination space? */
    
    /*
     * If there is no input at all, return zero. The invariant is that
     * either there is no buffer in the queue, or if the first buffer
     * is empty, it is also the last buffer (and thus there is no
     * input in the queue).  Note also that if the buffer is empty, we
     * don't leave it in the queue, but recycle it.
     */
    
    if (chanPtr->inQueueHead == (ChannelBuffer *) NULL) {
        return 0;
    }
    bufPtr = chanPtr->inQueueHead;
    bytesInBuffer = bufPtr->nextAdded - bufPtr->nextRemoved;

    copied = 0;

    if (bytesInBuffer == 0) {
        RecycleBuffer(chanPtr->state, bufPtr, 0);
	chanPtr->inQueueHead = (ChannelBuffer*) NULL;
	chanPtr->inQueueTail = (ChannelBuffer*) NULL;
        return 0;
    }

    /*
     * Copy the current chunk into the result buffer.
     */

    if (bytesInBuffer < space) {
        space = bytesInBuffer;
    }

    memcpy((VOID *) result,
	   (VOID *) (bufPtr->buf + bufPtr->nextRemoved),
	   (size_t) space);
    bufPtr->nextRemoved += space;
    copied = space;

    /*
     * We don't care about in-stream EOF characters here as the data
     * read here may still flow through one or more transformations,
     * i.e. is not in its final state yet.
     */

    /*
     * If the current buffer is empty recycle it.
     */

    if (bufPtr->nextRemoved == bufPtr->nextAdded) {
        chanPtr->inQueueHead = bufPtr->nextPtr;
        if (chanPtr->inQueueHead == (ChannelBuffer *) NULL) {
            chanPtr->inQueueTail = (ChannelBuffer *) NULL;
        }
        RecycleBuffer(chanPtr->state, bufPtr, 0);
    }

    /*
     * Return the number of characters copied into the result buffer.
     */

    return copied;
}

/*
 *----------------------------------------------------------------------
 *
 * DoWrite --
 *
 *	Puts a sequence of characters into an output buffer, may queue the
 *	buffer for output if it gets full, and also remembers whether the
 *	current buffer is ready e.g. if it contains a newline and we are in
 *	line buffering mode.
 *
 * Results:
 *	The number of bytes written or -1 in case of error. If -1,
 *	Tcl_GetErrno will return the error code.
 *
 * Side effects:
 *	May buffer up output and may cause output to be produced on the
 *	channel.
 *
 *----------------------------------------------------------------------
 */

static int
DoWrite(chanPtr, src, srcLen)
    Channel *chanPtr;			/* The channel to buffer output for. */
    CONST char *src;			/* Data to write. */
    int srcLen;				/* Number of bytes to write. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    ChannelBuffer *outBufPtr;		/* Current output buffer. */
    int foundNewline;			/* Did we find a newline in output? */
    char *dPtr;
    CONST char *sPtr;			/* Search variables for newline. */
    int crsent;				/* In CRLF eol translation mode,
                                         * remember the fact that a CR was
                                         * output to the channel without
                                         * its following NL. */
    int i;				/* Loop index for newline search. */
    int destCopied;			/* How many bytes were used in this
                                         * destination buffer to hold the
                                         * output? */
    int totalDestCopied;		/* How many bytes total were
                                         * copied to the channel buffer? */
    int srcCopied;			/* How many bytes were copied from
                                         * the source string? */
    char *destPtr;			/* Where in line to copy to? */

    /*
     * If we are in network (or windows) translation mode, record the fact
     * that we have not yet sent a CR to the channel.
     */

    crsent = 0;
    
    /*
     * Loop filling buffers and flushing them until all output has been
     * consumed.
     */

    srcCopied = 0;
    totalDestCopied = 0;

    while (srcLen > 0) {
        
        /*
         * Make sure there is a current output buffer to accept output.
         */

        if (statePtr->curOutPtr == (ChannelBuffer *) NULL) {
            statePtr->curOutPtr = AllocChannelBuffer(statePtr->bufSize);
        }

        outBufPtr = statePtr->curOutPtr;

        destCopied = outBufPtr->bufLength - outBufPtr->nextAdded;
        if (destCopied > srcLen) {
            destCopied = srcLen;
        }
        
        destPtr = outBufPtr->buf + outBufPtr->nextAdded;
        switch (statePtr->outputTranslation) {
            case TCL_TRANSLATE_LF:
                srcCopied = destCopied;
                memcpy((VOID *) destPtr, (VOID *) src, (size_t) destCopied);
                break;
            case TCL_TRANSLATE_CR:
                srcCopied = destCopied;
                memcpy((VOID *) destPtr, (VOID *) src, (size_t) destCopied);
                for (dPtr = destPtr; dPtr < destPtr + destCopied; dPtr++) {
                    if (*dPtr == '\n') {
                        *dPtr = '\r';
                    }
                }
                break;
            case TCL_TRANSLATE_CRLF:
                for (srcCopied = 0, dPtr = destPtr, sPtr = src;
                     dPtr < destPtr + destCopied;
                     dPtr++, sPtr++, srcCopied++) {
                    if (*sPtr == '\n') {
                        if (crsent) {
                            *dPtr = '\n';
                            crsent = 0;
                        } else {
                            *dPtr = '\r';
                            crsent = 1;
                            sPtr--, srcCopied--;
                        }
                    } else {
                        *dPtr = *sPtr;
                    }
                }
                break;
            case TCL_TRANSLATE_AUTO:
                panic("Tcl_Write: AUTO output translation mode not supported");
            default:
                panic("Tcl_Write: unknown output translation mode");
        }

        /*
         * The current buffer is ready for output if it is full, or if it
         * contains a newline and this channel is line-buffered, or if it
         * contains any output and this channel is unbuffered.
         */

        outBufPtr->nextAdded += destCopied;
        if (!(statePtr->flags & BUFFER_READY)) {
            if (outBufPtr->nextAdded == outBufPtr->bufLength) {
                statePtr->flags |= BUFFER_READY;
            } else if (statePtr->flags & CHANNEL_LINEBUFFERED) {
                for (sPtr = src, i = 0, foundNewline = 0;
		     (i < srcCopied) && (!foundNewline);
		     i++, sPtr++) {
                    if (*sPtr == '\n') {
                        foundNewline = 1;
                        break;
                    }
                }
                if (foundNewline) {
                    statePtr->flags |= BUFFER_READY;
                }
            } else if (statePtr->flags & CHANNEL_UNBUFFERED) {
                statePtr->flags |= BUFFER_READY;
            }
        }
        
        totalDestCopied += srcCopied;
        src += srcCopied;
        srcLen -= srcCopied;

        if (statePtr->flags & BUFFER_READY) {
            if (FlushChannel(NULL, chanPtr, 0) != 0) {
                return -1;
            }
        }
    } /* Closes "while" */

    return totalDestCopied;
}

/*
 *----------------------------------------------------------------------
 *
 * CopyEventProc --
 *
 *	This routine is invoked as a channel event handler for
 *	the background copy operation.  It is just a trivial wrapper
 *	around the CopyData routine.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

static void
CopyEventProc(clientData, mask)
    ClientData clientData;
    int mask;
{
    (void) CopyData((CopyState *)clientData, mask);
}

/*
 *----------------------------------------------------------------------
 *
 * StopCopy --
 *
 *	This routine halts a copy that is in progress.
 *
 * Results:
 *	None.
 *
 * Side effects:
 *	Removes any pending channel handlers and restores the blocking
 *	and buffering modes of the channels.  The CopyState is freed.
 *
 *----------------------------------------------------------------------
 */

static void
StopCopy(csPtr)
    CopyState *csPtr;		/* State for bg copy to stop . */
{
    ChannelState *inStatePtr, *outStatePtr;
    int nonBlocking;

    if (!csPtr) {
	return;
    }

    inStatePtr	= csPtr->readPtr->state;
    outStatePtr	= csPtr->writePtr->state;

    /*
     * Restore the old blocking mode and output buffering mode.
     */

    nonBlocking = (csPtr->readFlags & CHANNEL_NONBLOCKING);
    if (nonBlocking != (inStatePtr->flags & CHANNEL_NONBLOCKING)) {
	SetBlockMode(NULL, csPtr->readPtr,
		nonBlocking ? TCL_MODE_NONBLOCKING : TCL_MODE_BLOCKING);
    }
    if (csPtr->readPtr != csPtr->writePtr) {
	nonBlocking = (csPtr->writeFlags & CHANNEL_NONBLOCKING);
	if (nonBlocking != (outStatePtr->flags & CHANNEL_NONBLOCKING)) {
	    SetBlockMode(NULL, csPtr->writePtr,
		    nonBlocking ? TCL_MODE_NONBLOCKING : TCL_MODE_BLOCKING);
	}
    }
    outStatePtr->flags &= ~(CHANNEL_LINEBUFFERED | CHANNEL_UNBUFFERED);
    outStatePtr->flags |=
	csPtr->writeFlags & (CHANNEL_LINEBUFFERED | CHANNEL_UNBUFFERED);

    if (csPtr->cmdPtr) {
	Tcl_DeleteChannelHandler((Tcl_Channel)csPtr->readPtr, CopyEventProc,
		(ClientData)csPtr);
	if (csPtr->readPtr != csPtr->writePtr) {
	    Tcl_DeleteChannelHandler((Tcl_Channel)csPtr->writePtr,
		    CopyEventProc, (ClientData)csPtr);
	}
        Tcl_DecrRefCount(csPtr->cmdPtr);
    }
    inStatePtr->csPtr  = NULL;
    outStatePtr->csPtr = NULL;
    ckfree((char*) csPtr);
}

/*
 *----------------------------------------------------------------------
 *
 * StackSetBlockMode --
 *
 *	This function sets the blocking mode for a channel, iterating
 *	through each channel in a stack and updates the state flags.
 *
 * Results:
 *	0 if OK, result code from failed blockModeProc otherwise.
 *
 * Side effects:
 *	Modifies the blocking mode of the channel and possibly generates
 *	an error.
 *
 *----------------------------------------------------------------------
 */

static int
StackSetBlockMode(chanPtr, mode)
    Channel *chanPtr;		/* Channel to modify. */
    int mode;			/* One of TCL_MODE_BLOCKING or
				 * TCL_MODE_NONBLOCKING. */
{
    int result = 0;
    Tcl_DriverBlockModeProc *blockModeProc;

    /*
     * Start at the top of the channel stack
     */

    chanPtr = chanPtr->state->topChanPtr;
    while (chanPtr != (Channel *) NULL) {
	blockModeProc = Tcl_ChannelBlockModeProc(chanPtr->typePtr);
	if (blockModeProc != NULL) {
	    result = (*blockModeProc) (chanPtr->instanceData, mode);
	    if (result != 0) {
		Tcl_SetErrno(result);
		return result;
	    }
	}
	chanPtr = chanPtr->downChanPtr;
    }
    return 0;
}

/*
 *----------------------------------------------------------------------
 *
 * SetBlockMode --
 *
 *	This function sets the blocking mode for a channel and updates
 *	the state flags.
 *
 * Results:
 *	A standard Tcl result.
 *
 * Side effects:
 *	Modifies the blocking mode of the channel and possibly generates
 *	an error.
 *
 *----------------------------------------------------------------------
 */

static int
SetBlockMode(interp, chanPtr, mode)
    Tcl_Interp *interp;		/* Interp for error reporting. */
    Channel *chanPtr;		/* Channel to modify. */
    int mode;			/* One of TCL_MODE_BLOCKING or
				 * TCL_MODE_NONBLOCKING. */
{
    ChannelState *statePtr = chanPtr->state;	/* state info for channel */
    int result = 0;

    result = StackSetBlockMode(chanPtr, mode);
    if (result != 0) {
	if (interp != (Tcl_Interp *) NULL) {
	    Tcl_AppendResult(interp, "error setting blocking mode: ",
		    Tcl_PosixError(interp), (char *) NULL);
	}
	return TCL_ERROR;
    }
    if (mode == TCL_MODE_BLOCKING) {
	statePtr->flags &= (~(CHANNEL_NONBLOCKING | BG_FLUSH_SCHEDULED));
    } else {
	statePtr->flags |= CHANNEL_NONBLOCKING;
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelNames --
 *
 *	Return the names of all open channels in the interp.
 *
 * Results:
 *	TCL_OK or TCL_ERROR.
 *
 * Side effects:
 *	Interp result modified with list of channel names.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_GetChannelNames(interp)
    Tcl_Interp *interp;		/* Interp for error reporting. */
{
    return Tcl_GetChannelNamesEx(interp, (char *) NULL);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_GetChannelNamesEx --
 *
 *	Return the names of open channels in the interp filtered
 *	filtered through a pattern.  If pattern is NULL, it returns
 *	all the open channels.
 *
 * Results:
 *	TCL_OK or TCL_ERROR.
 *
 * Side effects:
 *	Interp result modified with list of channel names.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_GetChannelNamesEx(interp, pattern)
    Tcl_Interp *interp;		/* Interp for error reporting. */
    CONST char *pattern;	/* pattern to filter on. */
{
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    ChannelState *statePtr;
    CONST char *name;		/* name for channel */
    Tcl_Obj *resultPtr;		/* pointer to result object */
    Tcl_HashTable *hTblPtr;	/* Hash table of channels. */
    Tcl_HashEntry *hPtr;	/* Search variable. */
    Tcl_HashSearch hSearch;	/* Search variable. */

    if (interp == (Tcl_Interp *) NULL) {
	return TCL_OK;
    }

    /*
     * Get the channel table that stores the channels registered
     * for this interpreter.
     */
    hTblPtr	= GetChannelTable(interp);
    resultPtr	= Tcl_GetObjResult(interp);

    for (hPtr = Tcl_FirstHashEntry(hTblPtr, &hSearch);
	 hPtr != (Tcl_HashEntry *) NULL;
	 hPtr = Tcl_NextHashEntry(&hSearch)) {

	statePtr = ((Channel *) Tcl_GetHashValue(hPtr))->state;
        if (statePtr->topChanPtr == (Channel *) tsdPtr->stdinChannel) {
	    name = "stdin";
	} else if (statePtr->topChanPtr == (Channel *) tsdPtr->stdoutChannel) {
	    name = "stdout";
	} else if (statePtr->topChanPtr == (Channel *) tsdPtr->stderrChannel) {
	    name = "stderr";
	} else {
	    /*
	     * This is also stored in Tcl_GetHashKey(hTblPtr, hPtr),
	     * but it's simpler to just grab the name from the statePtr.
	     */
	    name = statePtr->channelName;
	}

	if (((pattern == NULL) || Tcl_StringMatch(name, pattern)) &&
		(Tcl_ListObjAppendElement(interp, resultPtr,
			Tcl_NewStringObj(name, -1)) != TCL_OK)) {
	    return TCL_ERROR;
	}
    }
    return TCL_OK;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_IsChannelRegistered --
 *
 *	Checks whether the channel is associated with the interp.
 *	See also Tcl_RegisterChannel and Tcl_UnregisterChannel.
 *
 * Results:
 *	0 if the channel is not registered in the interpreter, 1 else.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_IsChannelRegistered (interp, chan)
     Tcl_Interp* interp;	/* The interp to query of the channel */
     Tcl_Channel chan;		/* The channel to check */
{
    Tcl_HashTable	*hTblPtr;	/* Hash table of channels. */
    Tcl_HashEntry	*hPtr;		/* Search variable. */
    Channel		*chanPtr;	/* The real IO channel. */
    ChannelState	*statePtr;	/* State of the real channel. */

    /*
     * Always check bottom-most channel in the stack.  This is the one
     * that gets registered.
     */
    chanPtr = ((Channel *) chan)->state->bottomChanPtr;
    statePtr = chanPtr->state;

    hTblPtr = (Tcl_HashTable *) Tcl_GetAssocData(interp, "tclIO", NULL);
    if (hTblPtr == (Tcl_HashTable *) NULL) {
        return 0;
    }
    hPtr = Tcl_FindHashEntry(hTblPtr, statePtr->channelName);
    if (hPtr == (Tcl_HashEntry *) NULL) {
        return 0;
    }
    if ((Channel *) Tcl_GetHashValue(hPtr) != chanPtr) {
        return 0;
    }

    return 1;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_IsChannelShared --
 *
 *	Checks whether the channel is shared by multiple interpreters.
 *
 * Results:
 *	A boolean value (0 = Not shared, 1 = Shared).
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_IsChannelShared (chan)
    Tcl_Channel chan;	/* The channel to query */
{
    ChannelState *statePtr = ((Channel *) chan)->state;
					/* State of real channel structure. */

    return ((statePtr->refCount > 1) ? 1 : 0);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_IsChannelExisting --
 *
 *	Checks whether a channel of the given name exists in the
 *	(thread)-global list of all channels.
 *	See Tcl_GetChannelNamesEx for function exposed at the Tcl level.
 *
 * Results:
 *	A boolean value (0 = Does not exist, 1 = Does exist).
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

int
Tcl_IsChannelExisting(chanName)
    CONST char* chanName;	/* The name of the channel to look for. */
{
    ChannelState *statePtr;
    ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey);
    CONST char *name;
    int chanNameLen;

    chanNameLen = strlen(chanName);
    for (statePtr = tsdPtr->firstCSPtr;
	 statePtr != NULL;
	 statePtr = statePtr->nextCSPtr) {
        if (statePtr->topChanPtr == (Channel *) tsdPtr->stdinChannel) {
	    name = "stdin";
	} else if (statePtr->topChanPtr == (Channel *) tsdPtr->stdoutChannel) {
	    name = "stdout";
	} else if (statePtr->topChanPtr == (Channel *) tsdPtr->stderrChannel) {
	    name = "stderr";
	} else {
	    name = statePtr->channelName;
	}

	if ((*chanName == *name) &&
		(memcmp(name, chanName, (size_t) chanNameLen) == 0)) {
	    return 1;
	}
    }

    return 0;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelName --
 *
 *	Return the name of the channel type.
 *
 * Results:
 *	A pointer the name of the channel type.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

CONST char *
Tcl_ChannelName(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->typeName;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelVersion --
 *
 *	Return the of version of the channel type.
 *
 * Results:
 *	One of the TCL_CHANNEL_VERSION_* constants from tcl.h
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_ChannelTypeVersion
Tcl_ChannelVersion(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    if (chanTypePtr->version == TCL_CHANNEL_VERSION_2) {
	return TCL_CHANNEL_VERSION_2;
    } else if (chanTypePtr->version == TCL_CHANNEL_VERSION_3) {
	return TCL_CHANNEL_VERSION_3;
    } else {
	/*
	 * In <v2 channel versions, the version field is occupied
	 * by the Tcl_DriverBlockModeProc
	 */
	return TCL_CHANNEL_VERSION_1;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * HaveVersion --
 *
 *	Return whether a channel type is (at least) of a given version.
 *
 * Results:
 *	True if the minimum version is exceeded by the version actually
 *	present.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

static int
HaveVersion(chanTypePtr, minimumVersion)
    Tcl_ChannelType *chanTypePtr;
    Tcl_ChannelTypeVersion minimumVersion;
{
    Tcl_ChannelTypeVersion actualVersion = Tcl_ChannelVersion(chanTypePtr);

    return ((int)actualVersion) >= ((int)minimumVersion);
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelBlockModeProc --
 *
 *	Return the Tcl_DriverBlockModeProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *---------------------------------------------------------------------- */

Tcl_DriverBlockModeProc *
Tcl_ChannelBlockModeProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    if (HaveVersion(chanTypePtr, TCL_CHANNEL_VERSION_2)) {
	return chanTypePtr->blockModeProc;
    } else {
	/*
	 * The v1 structure had the blockModeProc in a different place.
	 */
	return (Tcl_DriverBlockModeProc *) (chanTypePtr->version);
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelCloseProc --
 *
 *	Return the Tcl_DriverCloseProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverCloseProc *
Tcl_ChannelCloseProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->closeProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelClose2Proc --
 *
 *	Return the Tcl_DriverClose2Proc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverClose2Proc *
Tcl_ChannelClose2Proc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->close2Proc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelInputProc --
 *
 *	Return the Tcl_DriverInputProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverInputProc *
Tcl_ChannelInputProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->inputProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelOutputProc --
 *
 *	Return the Tcl_DriverOutputProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverOutputProc *
Tcl_ChannelOutputProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->outputProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelSeekProc --
 *
 *	Return the Tcl_DriverSeekProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverSeekProc *
Tcl_ChannelSeekProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->seekProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelSetOptionProc --
 *
 *	Return the Tcl_DriverSetOptionProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverSetOptionProc *
Tcl_ChannelSetOptionProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->setOptionProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelGetOptionProc --
 *
 *	Return the Tcl_DriverGetOptionProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverGetOptionProc *
Tcl_ChannelGetOptionProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->getOptionProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelWatchProc --
 *
 *	Return the Tcl_DriverWatchProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverWatchProc *
Tcl_ChannelWatchProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->watchProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelGetHandleProc --
 *
 *	Return the Tcl_DriverGetHandleProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverGetHandleProc *
Tcl_ChannelGetHandleProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    return chanTypePtr->getHandleProc;
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelFlushProc --
 *
 *	Return the Tcl_DriverFlushProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverFlushProc *
Tcl_ChannelFlushProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    if (HaveVersion(chanTypePtr, TCL_CHANNEL_VERSION_2)) {
	return chanTypePtr->flushProc;
    } else {
	return NULL;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelHandlerProc --
 *
 *	Return the Tcl_DriverHandlerProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverHandlerProc *
Tcl_ChannelHandlerProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    if (HaveVersion(chanTypePtr, TCL_CHANNEL_VERSION_2)) {
	return chanTypePtr->handlerProc;
    } else {
	return NULL;
    }
}

/*
 *----------------------------------------------------------------------
 *
 * Tcl_ChannelWideSeekProc --
 *
 *	Return the Tcl_DriverWideSeekProc of the channel type.
 *
 * Results:
 *	A pointer to the proc.
 *
 * Side effects:
 *	None.
 *
 *----------------------------------------------------------------------
 */

Tcl_DriverWideSeekProc *
Tcl_ChannelWideSeekProc(chanTypePtr)
    Tcl_ChannelType *chanTypePtr;	/* Pointer to channel type. */
{
    if (HaveVersion(chanTypePtr, TCL_CHANNEL_VERSION_3)) {
	return chanTypePtr->wideSeekProc;
    } else {
	return NULL;
    }
}

#if 0
/* For future debugging work, a simple function to print the flags of
 * a channel in semi-readable form.
 */

static int
DumpFlags (str, flags)
     char* str;
     int flags;
{
  char buf [20];
  int i = 0;

  if (flags & TCL_READABLE)           {buf[i] = 'r';} else {buf [i]='_';}; i++;
  if (flags & TCL_WRITABLE)           {buf[i] = 'w';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_NONBLOCKING)    {buf[i] = 'n';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_LINEBUFFERED)   {buf[i] = 'l';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_UNBUFFERED)     {buf[i] = 'u';} else {buf [i]='_';}; i++;
  if (flags & BUFFER_READY)           {buf[i] = 'R';} else {buf [i]='_';}; i++;
  if (flags & BG_FLUSH_SCHEDULED)     {buf[i] = 'F';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_CLOSED)         {buf[i] = 'c';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_EOF)            {buf[i] = 'E';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_STICKY_EOF)     {buf[i] = 'S';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_BLOCKED)        {buf[i] = 'B';} else {buf [i]='_';}; i++;
  if (flags & INPUT_SAW_CR)           {buf[i] = '/';} else {buf [i]='_';}; i++;
  if (flags & INPUT_NEED_NL)          {buf[i] = '*';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_DEAD)           {buf[i] = 'D';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_RAW_MODE)       {buf[i] = 'R';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_TIMER_FEV)      {buf[i] = 'T';} else {buf [i]='_';}; i++;
  if (flags & CHANNEL_HAS_MORE_DATA)  {buf[i] = 'H';} else {buf [i]='_';}; i++;
  buf [i] ='\0';

  fprintf (stderr,"%s: %s\n", str, buf); fflush(stderr);
  return 0;
}
#endif
'p٪U*[a^f4}cZ;9}=[@(YlXl29?ѩE I·Xj0Tez!VE^cD'td(}yRd6!2'#"HD(?UT'q,r8RVѨ;ygH%}xRÞ N_7'܁-$MT8YG9Ov@;BDEzE ju[{u;uV ˻Vݍ?EPhגּyp rzZwuꖁv4Gl~O5z@]8qCuJ|M{~oJIT,J;^F_7%fjG:@wbVоZ(&!([х~[?|\OyG,o9 )T|&B˩ +*t9&5& Vyh8Q[|Kۨ}$[kx0P)D޽.Q9DTu\ں#2n}'mrH?;yw|ӠARq N&J3 fǬqBR(I(9`jLU!2JDm5ِ(~z6,vk[ b=cf&y?pu1!U3iÐ2|hU-a(r E ׭DRD~/<oyN/6,.7umd켒4[`oc~% sy@]sǽeRdM%)&EpOJnCoS*~M8j ]u<~(u0w:wPqvED>' f|O\|&)Z}UO:7}/$#R7E.i} 5NK; ?;80tt猎6zQ*f3Y{Cv|s|ONd:4h܁1C7aaO2jvt]#@ropg<6"W@$MP?Ԡt9lϴJ5P,Y8\Y`eN>q$Dbmd{jIo)W ki Dfq2G )hahՕ#'"=dėgxz~!ɳDش!AZ4P/ ;ɵQ栵MEaR7@177D G48DNCle7۬| P+5*F!Y2r1,8i$A5\iK4*PQQ~`;wBl1nZaqϊ;v?!##O1ĒQ`tlo]lwgKgIZg" , F#-cg.۾oxTաᙣ:Kӭk=0:DIZ[ѦSli8i#z# 7y3,aY7ZHZZ[ VcjѳZqQl{)j3mJ,2nX9&ͽ~@/["w>o:4+\hPyL=/ї~@㉆(ܡDrCOSĄxܧ}eis .%R'g`e'AR/[6L ىpJq RgfOR@uj&h(Ф s%iG"6$*:ct+c/%#j!nv`P1X9yY^li?GGgbzR1?|֝p ╈NV֞,.~X6<ɛp ? QS-{cga-$I\^S@p ,¾rNp10Ωxrl7Y̍\+~@*~E_k :f@Kn3KQqlsd 2qEF@09QR B-Pg8ȡ﮻2 kNqSO+j^Yl]s,RtLQ>KVVK@Da,!v1-!ԋ`kGvNdS|GM'!Tq@4U+bBGW {$*:s!0Noru&Vo<}7OdjVVHd &E>mEov aa 7ƾW̎~{URnram YkJ*obH݊kiR 0Po '[F)CVFD .t@بiKlǦ~A[B0*Ȋ +W-iK3U"̡*l߶l`&A W^ʞ󵘱@ !F x1{)'`r w2`GaN1w,@ OG=źP[hעEHP]/`ʻnQeCÚP s ` #3MmzqB ك0${9{|TΜ45n,YNaڠ\ QZ,kA˵LOzv^A+5q z0(X ᣀp1 brVw"N=~mW8r 6t5FwC[ EEAq>-XQ<~ybKM8 C- NTS{7W8#J)?2]7>?JPOqg>(! dl9H . er'*О%u*1/Bk.$#IwZWYd}O)(̻DýfPP]&> _?pWP}a|VX[`WEk?c웸~}]3.׫> vݐWP|!Q c0Hen6TVq+Ro{CW~_Oٰ]y#2pE۵ww1/ADV6/$54 T4C_;=wvj`0\׸W~ߪ&|%`0؆/XԴ3K8fEndXͷt-FȨlxգWk*‘<mE0sد`P5xI"mȚ<\&~3dvr/޻e՗__ }o߻}G_hI{w/ݹs;{{$MU5T9̋˗DO\A[zQ=YjY['V1PjR"Џ=MZ^ p*1_R ha5QkۮlGv~>_%kzlD::PF:l5ʑVQN`pF/F9.S յVtRיE{b:NR®z֪q ഢX,^B&8!.% OZpPQ&Ѣ=J._ܞUvE+Nj [_h5-0&V*A%A Lވi;cO;kZҍvݻj.8ņ8l:& PPNBR4!7S,bCCEu$Y^tzl\#ط;t^!`IGy=~c:F*8-O1as1<27O#Ϭ4,PRqdmA(klgh6QY z!ռ.*l?.=tɁUpkPB%{7*NB:/Wgځr3+YLT`}Ci BI|kPy{#%tyjSHΉk7vlF7a7ݯnw?:ݘH"Dhy ưxk>)TVRNcKuM3.ʷX D 6 |tA4'դבG,8CW1uA(p$Д!4SΚӴ *po@H5WrVb\tRJU|oHT S4(r"pȏtҧ2V\1j)!oM@Q=``jGŰemVAytLb\i1xc C(zn;6,H MIع s]6)KKӃUG8 r{Aa$$Elvi-Hv$8XLc9Uu"qz`cqm2I ͝RcM_Z:~M/h Ȋni&}<`=T$s{kb&n=/,oDHBbE?;d7>\X AH%9"z1wmgo=̦vo"Bp4냷s(\&IǍr5qeuM4BڧP%`?~4 ^ӹU"|tTm#^73Gfb !+#Y-0@z zMY,B={˸&B^mpac ćtCuSQAU-`KȬ6W#)snB1'J7C ic4K.R潙T d*L!^L6qt D`*d#Xtʷ%NBpJqKhs@n92@; |ky}}RTvds=͎Y^mʶicukuزkUc4ޖ8e(&[u"!~Q?)]|XHf-,Ԣc1B@_3:? 9I_逸r )@L̬|QF;$wXpJ}$%z?&M 8sWnaR/m)< DQ3ű@l_"1OsRZK5s5A56`Oi2tN!X*nOX05@Ǻ#3^զknWӟg{J`fL4_#-jWpgg ڨa- - .ˣi?{ds:_e'GK1`WS`>[m-&.OxqEfԍVC/rLMj҆y5(fXJk߰v?{0~=׻]~U?rXOecK!S&SzVo8.߯A[:ʨ8 Knu1W42?!_2?zmT'j!J6?s9O?[ @2F d6=k`ufM M_ɐ:k$ܭwMeb$I(gPPMWXLC.J[Op>aXŭ%IOaJ]OOHEO(|)(,ޓU0#ĩDл%ց*(jP C4 )p9A`78Ր9'[prG8WЀ[ Ӵup#;+,N1!!.J,EFQux䑛57)(^7\KZ[AlVAƒ F}XJ\ΎMĈ*zVU3k+X%t'Yæ 5#8j!\1!;cletE.aXut ?be;wksi)440]L>Dq@!/rJtͣ޶Dg2*ōSw!=GN/bғ^2UP.U oIk14 BD12(weډ' zPk? !h3vܰ<> =X~M|#z_IKzi }t1*&^s;~NubR qW%"І*:^-67P"ze=:>;+ b!8}RV-uǻe:dҭE%/&T I}h7} yBp >p*m"X6~E!brhlkD'ub[[LQ!>o[)iN@A]_i<lgdZt2AcvHVp ).cJĶDy`WUơJӄ$SK{K}O_aPÜ )X QƕPR·1IYY{mu{_(օn@.v|括9}#]$'Ժ?-gW_4A0l% PI~ WW(%@ئ#ldtl!)Z {ϯ\:(_ @kl7QvzGb)sـ0MF&f0[O 'DV,! 0{Z?T0`jEPRc;r ss~]\Y-^[{l2J,AFhb J7U0c2Z#M+ nlcgq`*2&ncsA/SOH#U8)AB K\B0"rBƸ+mHq;G5&{dIĴRU{t Abn'd!&{6x_{jEp\ d9|`[5Wu'@`qܚ=iGqgkP(R-6y˜&]=7oM@} ]~ x܅q!@3e('lwѻֆе }'#łH((S@ 493 Q/w4fl2 3f0Ky9_i0PM*ձd49OjvK HҏחfW9QZ1YW0 J} q{k^[]c^.pE-mZs&em8ib]M=+ soXVZ"f Bg"%:  ׫ _|9fsфM39q9'@8_uSR|t!@^sI=ɯdYTkgGL@HhޅJH؛jt)m{GO չ+Y4 E m1c+Ȫ8!Fo32hy]wbbg7E%hM;J sRt_('#SZA&o]1EOr M^Q33L hɜpJ V`1o`s#JM @?TB{-qkQ 8A%I4M5yItO?EBq*%hʖ| ZCMtCM+9hoz+W*@cq?=f gKt`Ww&OMi 1~_$JWUSRmר]HwZ0xʴiMQW}V̖[ tןœ/}PT qSf9wX?hwS{V%ds+c%a.c-lG^zlBJ|~:u׊4dW6 }{MSpoİ66y lh! &txR*Qsd^0lFH ] @N]-rofZI¶ɷkQezFCold% EMi)W M/+ oߩaEKz:V$A`f6`dN ÒжV6k2 {!*:wp܉hȶ;IeN/kU4 J¤ZCZHVİۜ3A`k 7Ziy^l sk>JAZb$"~6V2%o\,TER1 4!JˉgƿϢfC͙H*c8y^HE5ȸDUܮ4)GX;rvCB+5:;5`<3^^- 'ۘi(oߊG֖.]Dj8qL LтN]Go0ݴSLM~i.$kW)tmSa>М8TSG- V>-&HLtް99zk'ƒмU[2zEDA>}0O~e-K*Q"c *PEww;:(4hxJxjKTaEb][ѤbpQ3il3WՃ/F*;Ѵ&SVYJv=59/DiPCNpc"B> :-geT {[ xAceUY*GI }*&P$*Tc5p0cd8}α+B-'thhcľjQ/`oB}3w>sS}rjh 8'wGX;v"bpÕ=6(lTӾAAl  v;)[6h;g a2? kL*9-PflQz3TzAu8C޷ <wnx `мd;_4<+Q_;L|[7oyC9ܹXn`ƙ}(x&lq>7љ'&,h *b4ʊHČqZGxD&֠Gcc.ixw O Ka$;]R,峖 3`E<$3x^j؇b]rόD R`G<61?;M!['Ck$ t?ȖY4_nZEgyՃ~mF9- r""zM.%g90Lyi3") ޾˝6ŭX Y*SPAjB仑?Q`9$sJ9qGO0o fIۏsm}|褄caKiuqS@~z/l>ߺuqq1̅>5@rܒ'Bk*hr;NSD䴄E~Ԥ{C.i پ/ L~&ye]A03+*nt.i$NjI9}VHf nMʓ[S㡗Z|RX'5|No@)zUl;UbQ|UMŖb]׭%?b$=ZgLP!KsDGޤ$!2 Ņ"RBeX1TZafZA!(@p{<7՜+tkէ {d[F~E\}'_~?^nII-^{ZmGA^p$^ƨf6X@Sa}d;d\ sVD@]NaTUN{ f}.*`{klKk<$TuFa'n=xi!$n3@@'zdgk|=40G>ϱ`H_GYR(KBEU5}C-C/,ZTd+E6KPJGkbW{_n-緾Q1r5ڸ>.޿ޝ;w޻/|gd]UMzPO@9}ԑؼ,C䅬w B[9,"W+^Ȭ^P~g"XD(_g Ĥ1Z Igny=eQ4t(!ddJBxevv%EvlB.!X@$ޥV5&vv)zy13I~3\,HG70zr&(j;`v4l߳ @M8.ېG""(.7*A]֓P0_XIց;#nT;i1-()V]r^STIi,b '߱ 6 :u/)`Sx0iy+"1+/hp}hn5+&yW4uE 9)n"z.2Ġ%D[x\BKLWeHEJVE1@U:L2]QhV`z-.pkA l]`P&vgm")k),חdTz ๰,v c}]Ͽ\/?FrϐqO6%?(vcvb$(w5Jy }<]`qG)lCM_>;H@)ϳg<;$z1޴ l5Xj|1656ݸ*o߿V_2 (@Q2wgm$/uOy))_&\C8)fYi|Ѕ׷/li'65"S5Mⱶ@D\pr@J8gDTԒSn a(M$K<3Ja%ckCᛍ+]!X9ߋt)r.!H8 f5UNY7]Hq~8HHK/QL[؍W7`n˯GR Tp#e 3#V[˃|F SM9T(0 Ä*)% pncpmAKaw>߸c .)ܾsj2'u|1`< 6\sX|I=8эFD@\ȹ bڜb=ErOgxT ڗ5%4 ҽcSEn NM$lڣ ;Ŕ a?܎}!`;n7L#^gZEAq:̚1i,@gaytA++vɌ|.* 晌+kV`9D<ydfx uh%VyVD;ʇڿLu<яɧ+dG:b{$|{_WbBG O fI*sP&[m,adwZ\b3) />bbT9\OqB__3!ql;]5[+J$}wEu#̹&I{vG~5.>DRb{p%D\7b֖E9Z朠LJ ~a/$a4X2N͜'2g/mt#lI>8e"f='suQc*@-1M#DJ41NLQLo"*kְ6_ˬ>slŵ%ݵqGo$3xW A@izSu #@c)eәa]p:gLnZBw=\d+N5,3E8J9xjdlXcNv(W9QL6rak˵3 Bq[5.eQP4pr^3gq~'+[kr)]XL{0H+@ 69s&VNy0 Tr>^SQNj([s%^v rHS&*v)p{ eG}m:95gQm*d&.!$}er8%y:&\f=Q*_)k̟2 %^Ȁn}YBzF$S~.4Ʌ MEwNJHv*h%ҡFQsLU@TsE梒TyA 1lx&oUm<-j9BS$42=Bn lK{-d9u;tU].DA W& a:G/RW4^a6lH`vzXɜϱHk=$J1Ǩ&B.|uiFcbvnaf^Q𸣺E@_Ye#{)4iL &7é%^ S }HgQU#o ZD1ox@a1F4IiTm-!8͟sҒlvi4rƫ3~SS,X&E=;d%h]'ȴ̐ xU2_)W~sؒ 9PYSCǢP h}H Jcw"4?1Թ`+w({&uj&oo΍:TFc_vSINj{R ΤK"x[) $n:8 oe>aîyYV7pIUѕGqщw^:ͧ%tvm'إ֩@vuɲoxkoY |uI16ߵE[]{c2O(VVWfٔ&̣]Sfâ`,<նq2`އGtB`TwݰNuU25}#:`"h6w;n| n|?וP86<"(_otڣ:t}O68 -fLxj꩝} }*-kHWֹN}&#E Gd+h6JZg3>YZn}ƶ*][kCٕ4dF\J6$ o rsdkDN1X袉ܘ&Rg\~&HڙW t 6 m]Q~4+4@[6yZ[?|1^ %c7-jb%$+K~0tf!k-n m$ Y/?t3T&K$.D `̅O/1'lNf T`?1V3Z 5`nASHXIfw1H0u3dVtI !Q:H +~BO i+QXя#?PX\͗;CP 9G(ZΩ9VSĈ,a'Jԙ7@\ ǻN/AVYuڛ 9FTZK#9i x[/BxC;T&<:xyzc_4hsRViX FDE.mrN&pkOAL!t4āw0'ﯩں uP DXCNv2nB aٴwmtP{uhW v'|* BZvw }SmX$Zb2 1ҐރC,X6$גsDQw`'hy:1 H 6Z!S(Nse#wu_3S/۽5d7&C" Kd uD#$] Am.8u~e(Pz09R(M6#/\љa>Uh(>]dIE} M|.Rp!S{c3Ԫy7}Z:)6v?ow dü.MP| 2r2χdq>8/b. /;X-JT50|yrs@-{9!輘h$>N*T Fg<`Whp,U //y*&H6.rQC m1ZfrbAs s ϖ5&$JE6B#<唎Ǖ2fl=G:bik3Q咝 L)lT]rįIޔ3o28uDF>0 uի^\7koLv# | ?ysj8zTwm/*q'Edf߯N֝5!q8g#++e) M(@X/&dH>%:$(Bi~ d(KoD= buWtJ3Mn %ᤢѝPvϑ9B_m?>8kEhLHHَNdJ@;=i|QoMAƞV,<)&@ђ~ܕ EXv@J|VMpmdž.glAPg I=4%قQOZ3[F^J CN.d/$)P=ꠌ.t 'Xt{4Ђ;< xçrƲ!hn@b \)t C@-}NKz0־\ C䨘CLT2erYm0 u$y 3uI(w,>pW[t.YާvҜZΘ{ymF=UZ] \i3?I燳iLdkTLN8h]MS K #:SCh}qr椐FC8) I/ɐJhkҘc Ss>' FCh&<E$ w =S042BCLRs *ذ~&s J x%_CSB#1 .A# YzZIh $V3pb]π-T+䵚\Vb9~W3$2w%<j paÏIrAr&.~_\QóܮndC+/j=0fQr6bi8Jϋ¬H^ 0vs{K;W[..u`qc~mCB@֝N1뢰ttm" ~@3&&ׄU 늈g&c,\/搶"@7f0M,0˨7{*'t?x% voCHtjGf. 8< ~ۛo|gSt$}Ehx*o)Ofg~vqxIq5ac޸VE/^>zŽo+V=D$P3R2Dixb`K}tV^':q6oeA&d!~1hYhTǃN/Jnsx[40H&Bo)o)mAFǀ\'H V($i`[ò;Ad&Dy]|3fg`Y XJBy d)J〔̔xR gr>l;c ,Um#sV25R`N1\LZ3fJ`_FR|+ [u2ibs6Hf 8 O@SZ*X=Xt@9Y+ h0\߷?^jsqߍ7^y&#M@ ;^{Ava6XzM>w_:4\.ʑ쏾|֛tTozנ/|3Nݢ? FHxb | W/K_=~G*5/k_ c^(`˙~^1e,3/:Jֵ 8k?~qw\b^]r{os3D(4?*rn1 *t]Ǡ oͳǖג"BGZCP~0C#ﻛ_9gn]\\ h= q̸X{xdcw1l8iʟ2㣟89DpsՖ$}/G4Bذd F=O`au>;C ҜU̪(=$6;eriE٩)AϠTP` x_l*r8bKqP80p4xFI+ 'Xx&A(QՋ;Iũ|a.<%QE% :pRH({~@a=&>/gVN@|Q5%3YQټdˆPkt lem~hpI Uey:l1<5*/D$u?fA'AO.FsF&ba/@6G8ۏx~d&cg=xxt7j6/GN 6> ru󀸆f2oB/r|] ^#eaZٸ K-[Fe7AxwYt1T#laȠ|+}~ A՜=:wHMwo KKթv!d)NQг T^l^ Ahfm#A/9í`^Q9Znf'bd[w(PT|WQ1 xWँ-i1Jlq̳MGB Vp9$Ŵ+>8CjWaW^WP Cˮy/3(%%td߃R~WJ7+-?m)/b9o?DAG{]&ܦ LJnaE*~S|Nd>y^gF =@aɓka'/uQ̥Ȫy{>J@c_¯QC,OfHW_>fqugO%Ĕ b3,0B]P x =b5֍ e9.sw>@"i uXm6+D#(L%3IT _`>OAbQ%Gkە8@K j@@/F^½+.e *k F,kmĩ\XYZj֙X|.hbJrSqWBACfшvDD;ũo7ntu$ՍlQc3ʅ[WTCmepq۪ z"X",R_0ϡ"oT +3ʎCH7}3JE镻 oS |1"Ŵjrs[IC@!5[_owkςAo,:f/~x~8xv2{EgG? `e]GY/Ge-W:` , f}n";R 2~,UuAJClyW[0|rUդ:]O%]6Eh\ n?!zBnc!k,1< c7$ 7`,ySϑeac.sϪ <6)!W#, 5hp}8mPU~3Y#f|1q]!k<>MnS w憀@jrR/Mx`4g\5IB^̈́+|;|ROog//^f*/~CV1KXh'k3_ǒT[_RP(EθIL*kr:3_pY FP{.F٫nmKسBɓ "(z5 I \XSK[1YFMٝH_Tg˾FiaTT{D~;}} Z%w™l3Z1pkiX)czw.hR*9n{J WAp7 D•FwLd1PEI Is #{z'{@\-.`."lZQܗ6Mә 9l-l6NmA:O!z *ZYd "'qjr AÜ=n<|.NEm2,"_'gR E"!88X@f E!4N'Orro4OR6e} HI!$1IT"-H:oZ&ƉԟJ90`5C!}%\cc;wg'M6طC.+oRɤ~1AGL*Vf-7jv" `?`t]^Mm8n_ҵV:6*Αz Î@a q8:\-Eo9@*uoALhk[ #셿0nf`RL2 x =]m2֩ e=Zzmˁ3MB\$*MvH&" ;92T B `MI>8AGt?'蕳;lWq` #'PVPNT.~Gn<.֘8BLF'{ϕϲ ۛ3fZz }]Zۏ"H VmԜmdB о/wϯ\ @'~|{߻{o#Z_=E4s|,A]?A#Zk1i~ҬބaoB#{_uꀷ7C5\ED1rA?`\QO(Jq,=f1n߫zp^N`DvSy\@:i{{ ~B屮rݾ+"=m&?A*,(Vb+vm>ݯUŒxDin̖bưP%Tr⼖SU "z\ /ZGbejV4fRu bgV AM3B]jZ,sE.Gŀ{[x u 4a<:j;/ Q0aͣTDHq[30NVuY]ͳE[(N]h߁%ŠGK ,A;wְS6gF2"Ew1)a!+&7&Gg2&Tn˱2݃Q ??]"y.8@|{qexi&tZ\h x2Kr~"f `[rD'g}g+ß_ylToܽwN߽;[j૯ d/ ~w8!y6~4`{9,-Δ 9_%rmCW{8x>Ⱦ>d_~vo[g&Hb7snvvȽ]_Cja3tFpQ=>W1‹Z`OrԥpL*٠o pOa"xI&*pCM2\P:, ňKWrlm},T^ 1v`퐂ghBL p;VKͼ9כ2O 34]Ybn_ m̀<6f 1'|`MT̒:C~xǏ?˾?|y߀y~Y̲1$nT!fw`QTUro?{4 hQj'U?N9A8`PadnW՟0 L M~* ݲHzf9e:)=ѦFד؋߁[1l蟉ьǣb,Bza-VW'rbj}¹W9-%n!jK'ۊ#8|IpAyxF _x}?gGq@u!<" hW ]`@sG :sLi# A@!_Uegu7$Gf?^.ĝ.y2~5>k$r(Ҕᆑtf(>_?(QkT4CgQ\6ᄬ鬊Dt--rY2)AP_NI%1!yt(F4De|]G|4ɥY%B!l>#󗰗NOwsm=@W5l5_i9z5ۼ;y O5%u\W: [ ~n͉k^MG j R(5+ aP +poy$B;_i?'X؈k4U{RLO6&2qFR#& s6T_>ۼWvowo<;EzA"MHnd߬=N9!L3H3wKLCEv_Xx++ÁM1\Ďp|K[N9=;HG7PLm/S9'IcNE%[|ĄLۦ~t`eZ0bJel[I}G>|81 yU 8Q3r阏gGH"x%m;܊c?ŧ}zg4cj]gC^OKaE0R0l527%Id@ :1ZNO'o˟@J-![p2*zh|kZ~Z~z(9#{]3ӱ6ϝs4ȭj]l]hӻ-hU4t1 ^G]>000Z816_Cr퍉_Ϲ|ݾ-Tӽ C[4._C<f)lFQ0൘WaOCI83;3RH`u(! ,gf%sB~u9|iWެV˕vMq:Aoנ1|h*"+jn@ɧ~~OiS0v&rƄ8z~g4^ޫr<k`2PX^hU~mcSxMg㵟%`]H2Un*)J'r,o럿!D^3nWa!_7lZ1WnjZˢ]8?}'+r4mo})u|#ax@X1XQu'p2JX-W*7IZ%-VOկja ƭӔ>4rPPqTƯRg%y9Ct7_P·$/aSlv_ Ұo2ޡR1m=;@< jzU0 ЀlO*Jb xNj>ߘ/>}L !GؑiM0pSχM|kz/Mqu=yΫo y~I-ǻ-?-kz/qχz>nz|>-kz/Mqu=|T&hr0{*>ݻs_|U3nDr|PB'IW ^բah |P ߛ+GkfΒ7IY~zIY̚1Z#}7֒҅AEkS#jlA$ymH܍m#@P+FZxVbHX81|K0,woJ5^XZ.Q飏 *"=='6%b$0Yl }+2{̞=y |`>+dG"< CEM,8tvۖ!PA:Pq&ҥBsMMP-UZ(3GOCBfo 4{`*sҡpAekl\ )hէo>ш:>-W5 BbүK3NIQC_MKZ/ZaR.)Č:EAhW@?bF2> GXIuWC]Wϟ.Zبo7I~w' eZ`+9:[N.ȇhX {dD vЅˡ#w?6yqK,[!y|uz>OONg}sgpܺoB>\lOJK+e,WOﭢQ/ѣV'#,  ~sw7 ߎZfbvxGf wy$<{Aw^:#ٙp3\eg,gp8⪱X>Kxd?`V7S'}W1g 1T /oqC],]ƙFyo+y%P:Ψ+RGϖa|)xQug$%Kx7^ hc=Ё nqc$CԤDn'@nI?_ߘoǃm /ΩYL woخd֚Ҩhpg8MKlݱ: 94ՒNCQ@`#'=F|WpFDH24*Co73d| .[_ܹ}y'PLOi?{yq?;u}!78қ7t"39g. Em'+h5IDml}ޭ^t-|Q/ggw?H+}8T%TlOΟa K@}Z Yb7,壙gl??-K., .R`;n<8dRYIr ̄>e' /4DmE{ۿW5b:=36zT F-)ͦ ޭۻ񏔱aoU}q[?-vO0+=Sg,6ۯ{jr!F$?gGAm?lqZRMb||Ih!I(~Nƽ4yֶ_]We~zU?O10 4%t.zer?q]5R0epn6-|۰~z˥&ˈlwT faUߢhH:6WWX? Yj[8v~xP 3p^A]l,K?6&F_<`BT&O"Ok!vl7n`84it <~ 2r/J>$_;w?[t F'O`WA9GrPQJSڭrԵU6mJ^Gged!2;}̜Fl@ fB34燩l߯H1dHžO+ ?Q>=6y/ ݞ⊴\Uge/MmDlnf/?{78i~FlhLܛ~SCVfxѩGr[e-oԚ,$. R #\񼬺nX݄H:UOfEn}}Ӄu{lXd!BBsܽic#-j9a*ٟZWkk9ֶَMaf^eؓe&n8敡=]*!҆ڵ\ 쮊Dzc7F{e-Xp'f5;ќE0];x# _m@56A]k#~G") qOCk.Osk]=;6y忌A{bMkDO湫WkjϪ>SS?$*?9^%=s'mZWqʪ^ISsT4U0" k^{ٮr ǸlyQxy9/# 2_N@gJcaOp\F$ ̒|_%p }Ecn̠7E뮢(dFpNekA3ZMS綵@f._{V]+(_{ETlNϽ>yw~yޭ{w$98`]znI%e2p{gy6*ǘбѷܑp?pĂ~)%nw}470Jip2c0tPՆH}sW(\Aphd OAI `z1tm"aE2V,Y=Hle %CS #ckntB9q7Cf!7Qa7~5Mˡ'A2>fÀ0gHܐì ,t|sQrk3 E[LQ8@I9zez?t !!/f}`9`@`! 9b(vpNy5uUs9f hˇ?T\ Hy}4~µGJ H2hU9g@A m 魌yTT9sc}⛚ |v~YhkKąk[lm1skًo؝j SGq3;aӭ / o"\~b"SR~V{A>>V. /݇Sصs?7~՚k`(wO(m@/8RАLo=f=ύoLs-C8-dќ!o)~vG7'y?W xJV5`c|̜rL~]k1x\gpL^˛ڏ/;'wٱB찠g-LGU.W'EO(rj Dp<8c {ZW 6q# }~n'G\wxw)x8%E@Y)X.wљKAƮyeԽ|1<; >9Ct㉟D~V 'gr`g fxe#ˣ ]Ex<='KN,gQ^浟B;{źQ `r~^~ʜ%[DCD)ܦQvY ̞2: 'դ`~q}[<`Xa+D14?i3RyuRԺ&I4hKwiy1NNoZ]dYٗNɣNKQA)/t AUޚ5cؿ8>fbt 2T$h`<\u1#"˻@1%dG \33Ra~L_ga ۃr*̵=?PT|]~&8"14>bj.HYJીӝ>yȻғ/M?3`JuGr~~'o>_-_Půp|~1G?_\W۾zVK_}Tbnd8dwpG>wP>ϡ *)7T$Ǥ/3 Ew*ȥBVחG᫤[iME; XǛҼܶ7;/(w^r_ğcs$jLJ3/$`vyA+ Pk vGTY56`/U'.zDP+9!(ӎP _}|_M@g!nX/)JoT"8sT焹( 4T}lm ÏacA0AO/~8xvُ; 6JB7X9/'`Z^[޾}}0Ғ0nv і(e=g<|R4/#-$\L*, @q/'+;/1r.XG,)phgOY]]sg?vv.ns |Fayxe` [C'g-Nl&/(m?Ёίrfv jV=N A{x6㬺rk:;O!*n a߽}\I@7l@ Awg l&)k8 ºYDA]ćdM\ m*>uk1# q՘VwgZ-BT#Kfr|iyW簄H%%!UTvRŘy"I#>.LG^f/Am?<^fϞg/~|qG2/^xe?;+|+oR௏Ӄ~OG#O8q;};|^lƚ8x{ǣo£ٓãg/H6TGzS^ܓeGG?O!fr>{ٟ6*]oӧ8o(} ;z. <-_ [!?|;g^x~E8'w~x2|'OOpwo~ыC {×0YڕKϽ$~sw|8?/y=Q''<[/Wj`) 1Ac\)b1K]6" LIn9 $S~5>^  xDt ,_!^Y;zP+J`|nZC<p o5sKq5]/0N觫8/u6ěOh_,9,"*x;$uS6 ~ް_ܷM[p*iSe #_)Uw]>X_ʥdKA(gٕh—%#dMsʌB^)p)#fH*TUz9/DGrq>)=@NП'@Y+$hQRsL.pL/\|?irmk[75 60Nu'g,{Ԡ‡ad],[[٤:@'-Ӡ $xC/umZ^~og 7tժu ˯e?/˙oCgu @.t칁y .m1- (Izgӓb{9ڽgm۶m)9^K$[NnMJUiDU츮g73m7H` `} 99f9Ѵw߿}]B-Hꬻ]l[G+W XBgbA*gT~Cn%*čT)T7OVVL>*k3QWzO"Uc*m6zbA1,02 k{56}]AV 'E9N:`:al\a<[K]/}PcϨ4:NX"~Su#$MΈ0kRpCfvU" a, z smvk?yQg[Y̼Nփ,y\mT]MKaQ񰓓4xʡb(q~K(w(t%ݸayvn)\aY0ԭH۳gos!L+cZi1L\zCȥ#8"pE`J2^&t\,n?}`-\TsYkWG tLݠj*a`9In-k]a&ߪ3xxD!*s!vN8U^QD}\vvMfE\/Mpx7)&4`)`:>QYlLDEw⺃-6+S"u1ml4/k@c@sqĄHO]!띣%瀊juKC0ML,-ggKY4g'>߽*V;J0r A>U߼}MN.s*O|-Z6Ggs?}\"@d[}Kc~sigQ%"vgU&Dz4@ǃ>~< {#4XCewt&PuܜH$oލπ$RFڪXew]W|+?Π`vMo9ވgizәək?de8i%ʜ(C@99af$C񯑉CpG0K`s@]qJFjËi}Y/n9Eٰcq 3INJWXjzp羸A|9/{]؀NqFDG'FNg8a0̶<Q0?&dJ:Kzſ]݁e:RӖ"oaNlN2QDe:#[ʇL? *,!4Swۤ}͇qc5uaFndAjRЯՌ3'pM=3ZXMQ8b7${hbxbňbKb-*(,[$WpUNhy׍0&NA9,t%5s9ԙAD>XQrVeOdEaV8eD@, {3ON&>J94bKѐ"%kͅ*m 4&+mÄNi8#&ϷNo9 ^- 𖷒8b뿅sO-gp"3DNDT}*PfyFn&*;AQ̟)GiYÈ1a`hkaetnKV>V ]-]*DXiIL_n4Z7<+M$),Lcv4@xiBHT>jmՊ<ͰRZiC!!K!pK?>́Fmr+\€2iMaC7XE̼aɔCMEr}l ٴr DKт9(h($_џ˒E7//ڨ}\z%rWN'O>߭׹?G+͒~ Q my:"b`Џ&},2oHA'V &vlϜP*: lKe&/( <#eK(Rf(J#vŗ$M,G%Fpv=h%>„SD+4Y;N])B'[)/V/گxQH%HqeЀ]D_~b ԊLQH|ށ 1gɈh5F}4{ߗ?G;e Ax_#FVax^bucA+p12VU:WIVz3N2FcPN4f;ŻQ2L/#/_dn7|~[/6p#$fF]h7a z_/8Wv[ ΥxYLf',8 cY[^1`3oXa@9=.7d&(m=نm62ȉױF1&OhKښ HCǖTMѲdA#6scljlهQ4L`>!^2= pG$9Gi+bW>5ؗNxS TXAt6@Q{3dEiGy1y<'a8ӝ;JTr D@n yL? c5e]d5+& q ͢7_%dj3P_^p*<=n(+ֺyl:Do)kqY y/Y[6WNM&5g*PV(hR\ @q(J#\Bh)h*36VS4NS~LlT-y"qDI@..i>Dc}v.`L!پ8=b$=syp" Ȑ \ܿ]V>'vy\@1p7:`}Ϙ_Fd,n avOqU|<һXr, pf4xnJ٢z2⃂TCD^9獉 u ]2;FB3a)H4I;71Ֆ$Z|05A\6[€|_-ZXުxG wS(\N\:3Ig dǧG {AԞi Lp_$wkpNZӐ.:̉@ rYvhOOUذ/bh-z |?a5+^tH#̘c_X54dK0N$3G,Qb) s,aL$ a0nL^ nqpo#,}E=u'|0:;i|J m^#B&qJ^'0 50Sc!_k,CgAeLzF W8!"rM0}Q^ I$GcbS` /r#2os$/c#z3}&$!8Èbۀ&YF_]r2Ywvt/g ++Sٱf$kW@`e|JguF o<=R[.X;>[Rg7zAUYf19Cs{q)͒M#Gy/f9(ʯɂ'd\h#ǵŰm7VٟH u! l贪1 C);d[A1ɀ+l*Bp*^W ԵoUkRhO7+/ 7 |8hLFN)>D_40lB=KK6\ [e :9QŦW44F`f;+|պ/ZiQ&Ikss0UC*_ݒ2оcg<6̙]YQ{m~/!ھh"^t k23uH=l&N 5,>*r&I:?'u\:Y_jol^OSfSQΗW/X W5m/X6y}n 8Z C%N^<8:<ܗ~هEe섙6 o@Js(mdo*31lVDwG.z0I 끀F+nu_l8˪05q"rꗗAhgM f=o}Z;M7[qAmeSJΈ]/q_QǎrJj+jspN\]e m Ҝ&=1_M)OPp24`L%)7ϿߪȥvA|̿[iB>G;eߟ_6Z Vm^\Q`*vz3gYz' ϟծ /BEx{M?m`om Tj wT;,zN|"עEbn]\J_X(={M¿ʺkE,S?ɌHt#sˋL7$ӓσ8[hrrQ7$B/.]Oݻw^QA߿ ^>} }^)xݻ/vw۷o4*[cd&[p="hy]<ɗw" :NTl `h2%_˻7G\ɹk ATQCݽwuy YyIOE8K>ށ$Z9gFJz.މLKxX#|cQ'emBKL[4ROǗN؜}JKScTA-# `[D!<|vT^d9*$4_ c!KFbNJ^Yۄ3{ 3ܛl${)'* "o7z6oS[v2G+ QT \I% z]vR\ŕ*\B[]tOǒF_Vڥ&i^+)ʳb!*s֛YV|S~}ZdIBC0C^ZmiYXae2cs+=0rʒ_S[)l@R8aE%F "o7tA*^9S3+CBOQ'0m'BS[1l YEmVHal8%,WG-rn<"hZ ut5Xm;ek#ki"üd38=U]Lh)Eٰ|%e2@v✽x'U3f+riШ.k8"RWڗD\{'Vj( D$a/ʃNgFtqc"*|lpbG[f,=~* Und{Np ~qjM$wYY/t*utΝ'J롄KuAM1fb-.!%nq"TQİ˛MKd!)I#j?Õl}kU"&3<5蠗_]bּ30W?w0[=;ϘB T^8a-><Ǒʨ2Wə{}р4-kspysSY3 ώphty'n,< >3}+s.m833d,xf]#AiaĬ?F$ݎ1oXL[.ɚSfK Ѩ5)Ky~< 3{G5w%>pMA`xxad4Jpl 3<>M6A'+c|2]NaN}Idmh^IoN.E85؅hy6=.AbtȎHF ?o˪J8䯤$/{ƽ Zk m$KfaPpڀyQrzU|;' /@IEl^rc-{+LuǬY a.Y iY](wxyY|AXrD(ZN0X큢a"߬H 1՘ K.b@z&vOD+./Z֒#>81O ՛@^3m( P;kM9.b~ #S%0ۭo'zQRGj|=N3ZMAtt۫X/% NOMcKHA56QM0g%K,n`hكb_qj= ^gS\E2]KL-1/%6;0kbIGiGc*=; wac3p,}%Ks8]IoHz{Y YRZf9_8pD_mq),5 ODwiDPe[EG=E6kDdbYI}9=Z@wjXz\gJӠ&5qa.<&./JTÙdu0?{? ov-ػ*Ԉ쾐B4EzVLiO]Tڟ\YK($cE{X)'M_ze5y*T\P*YV?Y O0~'dip6,ځK!{Mkܚg+K_9EѱsA0UT^nqeCZB:!A Xw_*/'3+Ub;sVۄVh4bEKa[jg /a4ⲹXs.8]2g]IޮZ ""ou~(Pv=i-jvF-6?y~6#Y6X+a~6VnI,|=gVo x0 Z\7wXOo2-ys-˘E g "wA[<Am ܬ8}zLb~]jS5n#tɨguchg%seSoJ;ًU;ڡ_!nN^-?)c̽)ĖH c3)Tcj_6I&Ir *W6/E6D0stT'wg$𨗿zj8;?9i/uM&Ϭ4S:\E<{ x﵉(˿z%fs^:cV."0p7lϕ+KҒbK! ªf>Nh=& \dɬ_H<:~B/d̙oi1L$̧CZ4%F7&N3Sb =;d($]S C/?5&sI\aĹ3LT#IF#xL1`7+E}ܘӖ;i2<#i<_9dL3RMhqdnOS7'<߅cBYmUm x,(l.\>l@dmfԲ&[7l}$Ҷk$}Hgƴ-ݚƚ`5{FN֯X.|ger.֬h쑓1bM/8;ya1) Vs12^ڰGCR#z3Έնm0KB ᬡ-/'Y˘+:BP& 5hK`8oD\5ܳ͸eg+(\ӖHA{IGkInz (A[5Cf@c&l.e,[O\x|~ {2ܾT;Tj:&T VhJ2 ^RQ눟+qD͂kb"Hm);ƧXaʋ-<{KH<@J"SJ,-^a9%pV6 A%'L7|Efw|'p4Ƿd!@tMoAY4\X*̊]Kv #'ô[܃ݼl ]X6̰ ŽГt phx9R{kxU;%8Xkb$H!7ǿ@O$f$eܜ%MZ |ڋu˅b 0qLe;؇N~{˨GA>8Ier34`ugi^Fe>EqxX&ħA%32mg?|9v:Ǧb@?10ΈMm@3,͡sgC͝fu}B!cHˉ>\brPr>pHv# $|Dx!Z2JjU_lO PmKθ.(7ϸ@zi?j/[[1?ivJ*&p%ap gR"BE79Yi0( Y"V{tyk< Wpy|*΄X5,sAM0(!/ X: 3^VՔ 4hBXSSfʏ =d_vs_aDJ6w)bHgNY1k>+&ڦ|B"289>IFCΥNCj#EQar0Cu ȳ:)z*ή-lpoK%Z"9cN]_;ed@/ ~A1^i.KgUt͢$UQ+r?g:B'D)sNa2_-8bM ʼzx{ըYleEO$㜳Iq;-7KUנ=kV,= x<]s:|@x@Ij^l6 B+Uڹh8gNVueŶ:wS$?O3ͺ|-3,,ϥɑ350D ԓ־G KFe :'hbb>NJ=glJVPIo$Q| @k5xHe\XS4X=D' ZELJҥo{@-,G쵄ؐaIV|o*|E[L eG6>k6vBW΀reQ!Ϊc#%kl8/l8/x.ݍ弤mgHtŢ՜h` ^.ֺPԋ༞զְ559P5cB|`HiRy!iw^/Ɣ\VQ1Sp^*0X/z'o"i! f%5mK@7m.~?8 }09>ѬڞJc jA1,ыẐ8Z 7wIEtZv/ ߖgA SbuX`k}k }#JBNgdl1*Mer&DeV߳^˜jyfpC\B`2ُ-܁L#NeL"Y44gڎFǶy'Υpb%/ }ƭVӹ{1z>^W,H ФΓI$0,ryv=k6j2?hq_>WzӼ~p7W_ M`ƃ׋ZaHP>hc͏S-kc>_}'ï_?77Wm3059MٲrW䣞vHڗ= @F ֦$A):WX!a!vQLG9~/,ҔB&AY%PQ\8MA{1ԑt (/0wY.uR.'b % 틎"cc! ޱ *u.J)̍*O15 ЁNeS侚j l.ph:э|qYgF1 LXV?EG1/RI3<\Sa]4Mp*pLHl:B)Z~$b֏Dil(-a-V6 l'!u50= ſ~4 ?&֮b-j#f:>S Hԁ٪pATG@P[c%+.QdZpr%BE&}cK_* 0pa Ҹz 5P1TZXj;% *Keo Z%\fd$U$yTUWLqW>k,]w'vm-P#`N& ,cU*uJHu>IK]숧!0NR0X-t3 Q~yDDxo {F_6dQӢ#12kYzD ;UY4 Qڼ4ްAbX a16 lvaq_@ #Rc# ,}] a)Bm0=&S0*J)G NԲ1Yk\gchN1Iu]< 1 cIjϨq(=⋺ld/K9hp*5W{R/)4tz.HsƊ_ZfHK+gl9Y#4'9m^Zb[D (10[n.BA YsV/m{Vk?sn!{\[ Ë3+lҰIɹ9HvxJ{CÀ'Q*3[f @vJVj,6YGg>TԖ}ʊ]P0<@KZ/G[kJȮ2"6? ')` R6 &]hw_iP(i=FٝjpwA8&]bt K,aA`R}5DNf/ey&$NgG־ZG NooCϝ?4uϢC m V> h59}dO cNfbf{t ' er ~;M >.=k1%ⴵyO?'5qˀfde+_h.2H ͼ"yqW/x( :Ϳ<33Y.OHGg)}giΛErBM<P8eOνwe嵏_#]!x:kjK:=gpoVKiCfӪ74}>Jn_?\woE2?p8wh-oY_o<" < OYjJ&qS> -#)9*l|T]evvvYTHl^~bͯ$5Ԗ*ʛ&xj!m܅9^^TMͅeN `\H[M'i f %fvQۭ7Ɣ46jΪuA<6^mVi9a%j8=hodkEp"l{mlWpTAr,ݲYrZB)-oLYO } =S`{bQm`L{0u9H\2`g6IZ|8cM%ة.mo%Ш=X\ i(Յ5ǃW 謊w ,/nB[\E7Y9XM/VS-g׃Εu,<t{yjҦV ڊ)M z?vqvZG/Rs  `9y_?㳀qQ8>uɿ]e.2>T$٫۝5`>U.ZJoe4Q'uR*a|@ vki44>0ql({}B%Q] M~q9BbMM25cFJG5mi7q6l/[@FcbTxTpy =rz[8(#U7fK#P8|JVg4_EOQü;gbu&z֩NASnފ.)gF+I6p5KB g_z-^@Uu%#f]`˨BZt&'MwztT%qV̲nL$# yc6kap|PmϢ{C(OMiZ..kjζ/ 3hD̓-}vF{lnlZ0m` fft)b!5>BJQ/ptrȩAB4y{:Z=qKʴ ܨ}i~]GL+TnaG数rl>ٯ~q/ ?thf!=%"Ykݭ?jn!Z lAuZU2#{?zvwu4[qoSfn[紝2βzDyܭQ8H6|2T2@QMk6}B'`z˓kօrXTZN(Ԉr(CPLxK2cPk*=[GU)PxggJ?Y8hא+Ͷc/NMIm?pGEGA`#ӂ0P硚ӶV=ryEZRኲKЁaixFkNWcN]M`Nx@}{[!O-:f]v|Ly]bx;%=V 1oڄ<:kT?rN.GxYv :'CۼޘT i!d5uZ>Pde-d-Q(Ppy[kO׃x磣d.%[Ŭ>rf=^PV% S'8 2m;0{aV-ϴӈ؍FPUtdz03VcoM$6|DgXl#}(˸alMq4ފ$8GIna;53$ qO4kK5CZ3uGY*$Tܪ_dAfr[ɾ+唳v駳r\Vq*ߐtS)+yZ^IVR'oaһS9ҥ&roi<MXGQ :넅l1YeJ]{ 2hDC^ş$:g3zr.ETfA4N&Gn/m0WL@S{l~,*3yp?:{Ps\U^µ2z㨂кh뿜Qr' _|*,Y~[V5htdaEw_t^=}mT%"ܚ?r7 t{bj9KbãA 8 M30n+5w Dg˴_d* Hsn[+Ty#x!1J&uR3ˠ:+*ڑW- z7ȭҲW5u:"̼Ϳ% 4ә]+4s=4TqMoqq4S3t_mIyܟPP>w:[e$a5a `6)Ys/ >^WE!b(چs"9uskedP:- :-:&RT-bZ9**RKYTn^M)nvef8a=nK=23wgqvm76S,=خR48 $KoWgɤƪ%@tQk}jdg=ښNl?ћ>%(mL[';v^s)-2HZkQtcL$ɬn4~jݠeӴGQLo╗^8\տݚѼаO;wsqNUj5.VwV=^q" HY9,42~ֻؕ˔7ej"lT !i#aFs'h@[)Cݑ.B;c'.Ӻflig oi+ y.\քKpFW^Dsr"AkSYU %*q(IDzNid}z8kA,߭Q۱wlH;>̝Op5=Z79]ղ>Tˮk熩3W:Y`1wkA-J`QQFE7܋ 50wD;O\`Qտuڸ{ ;cYQ[aU~~9}l&7L*A5W!ГSq)h||F(evOjճF`A{P`Q`e.`FK&R]܆>if;?h)&ɽ#uҵ=(¶Uu(⍫̑HgQ`k&gݛQ(}C׎:`I77hgٰeE<2c(mc5`sV(s_ޚV#BE!Ԟ>}ޛׯ*`Y xZh+H`$ DmLƑ{ &b4͵;v#:T;26ǏO/X["xrY - yD=-"pq"#BpWL%HʌQ1`8H%Z&h]8i$X%ֵ9n^r"- ~4ӉS A# 4#zLrMoy+D4pD FS_T^ƽ`w:<(·'uMgɸ;;T7U*++Hq'z.IbyzvESSPb\ (n9km(8.J|45L#IuOmtY0H`s|,;.wʅY`1b!+I׮uXF,L+~%HI2}C(p:ah4'] MAoHz&qmrwL"V=%XZnQ;Cp6׃n6q+kYw _Gg 6cQ x[!(9qžX%@h8M/ǁ;zomMqfia˶5vdҭhX™m?tRb(UI1ŦPX.]gxR]c{)Gx<ֆozfM{3oj@[{᮵vh^0Ƴib %ͧAO{[f1 INܧ)V&Grď:;2=reFl\r׊Zp[KՏ  ]Zr\Ƚ>}ày 1XCzfa[AvOMUA.cq.R 18vp*!'/d&K[biB eU\*qK&̒hͯk[Q{&b%xaڃk[KBE1>ؖ0XFZ8^ScnQ6pv.m]N(Ԩwх:DM ڊl>ki+"*A`yC5}^)d٢Oo5+#n` v>$l a Xo\Ek;N8xhZrƿ]ٲťx?Tx4)҆ ?\#4n75V-ȉ~fg .8d˕ءfVRӞi,/Jt':j0C^_Eκ\G⾰6ȓ{JMӄ~.wvL9OƉ݀ ǑWrꁪ<;NG2AÁX"Y.'̂d r5pcy~nŽRC.B+hN;/'4Żǔ): H-+>UP^R) mԝ@-0beDP+?!n0sߴfj zpoH4´gO[i4# |8i*@$Ul.!yi"uYJ)Uz4 x @7`EidNB{'#aUryI&T CB>!@ASw;F>5kBOښaCr/i8;׮z%?%S涂Fv)2Qg^/eИlyCȱK9 D ؗFb5J u,z6fTt RSck$19d<k~Wz@rlBv1|^/" l&U1B$2DfOϫi3(j{T K# q/i 88WS7fTzȅQ67 ~Q y-"FSHN!N$n-e^=Al^><*50N- SSԬG#w?ՋOZN}UoPl9Qx&2m ? >iI~^-Bv40ÍS$Ҕ7AMr8cl1S-X6َF#Rr7 mn( Ks8.LzU*'iZ>9FlHgE=0Oz Der1o2L6fWv-اf$|`0vbd9,+ԃT%`lRT);t};.q;Ћ~˼:˧~}SV$d,osqϋûRc?w. kBza\Iõ΁@8i0NgE0SK %23$7MLUVufDlΖki!V;v퇓xڧ;J_֋k>aH^%qs}:sק5ߠJڑD}V^@h ˴Ӥv:ejAi3/zCُP%R+hoFz@e!(c$y>\ㅛ)[p8l8k$[bPoG]"𬎕7|=Md'},脤Jy.I}\Bu.*!OAS~sb3Mfy>ʲYx 8A.~Q{4sBo6嶺WxM'=5=X 4ouxSNe>v]aiwu P/ig;]@53ߔժ=Ҡ9 L7@R39'd_$?KУI910`[55։R\sVϓl,N&.*>*L)}fFs1`3c- :˺*g <`l6N9T|D3ZE F/o>w yU'im_߂Yf~4P& ]㶠ew>m%$!t>q&ej/n]څ_roF%90hHpVAwvI$>Ӥl5x blUӬTiŏ羘nd z&V*+sEK +n!M BB(apȥ<|\O獬GRaR)@6ISfms9C[{WRnHhDe+G{!Q<3̅BL/ 4~.C(Xj+x LK16{-~.m9D94&6%ǃ!DwPfFyԡFFNE~kF:J8S5$2Ae!;v&P7kxx V@ŀ`0FPlhOט@$fvzqp-$RÂGm~ 8(4Yc;ݸbi5fga(z<|:NK\&U-v[ z17Բ D{PVt1?kUNUIǝ?/^[ˌMr Hcxŗ.C"Ubj}d1V7@:pB8[E8ևU}!/dpW*(Q*1[@sJv˵,VB ڔ^M3w]&gmja.Thʐdk28 <&?^hiYt veQ٥z 0@Öʩ?$s 8!5n-mUߢ^)ب]3P,xL].T=^g+8:3:f9 Y#2\mTQto ͧt!$O0J,oue\'3{RlSh$GK7>Rјh3k\5U0)N|j0J_=ezX 6$G:jP@ĀNgn^J? љ03d#k z*glôWq't kɢvɍ.㐅}R \ s5WHC\rDXcȄKH- 'NT8()ڈp OWR5 D*>vOއ+۸B,ݧϟYm¿h$#lv:açuJkr~%? haIύ.|`ǦY0[;NfI<@PgQ,yk4:&!kOhfo;:=1#w[֖:zD#^QSe?$&S +T)=~VnInfN?4Na<tQ&-`m>釳MMԭYQ *z,~>?ժM ֫+.=Ig),H]n[{:q.1_ogh;fo:JzzD8h,}P{i }kSnZN#ڶI-eZfiM\n֞fNlpd?\qOܟ&ylFWuuO84F5#RXc]ܠU.+vj}d`oQl78bͩMlf^zsΩaj e b%0qNݢƲ62[KzۤzvqtpZ~ڪmi8SI4_Eg@(;}YoSƾ԰Y<}DlTh#`OEFg0̓!q9kxO^@g=* {LOѴ/Bu3|Lr}qm50)bü0+OK8k+傞Osy?rtߣ4|&T;Yd>t\^Veo'vWGqgbe´^pWAV>=>,i"' $>vGĥJ9wC[[qP޲i1*xv؄ejI,#LhU45,[$|ZQDM"EX g.I>3™Z7l6Z_?;;k^~dJWh`5&g/Kcd-aaR1*Jiσ_X6ݗ`Xi](%IU:9%q10M½|o%c5+wy둧Q&‹haJ]SW1e`g1wwXy~Iak)5npu1ʲ'Fz(4YdgpZ#M&ss^f,zuM=N7 %W&)ׄMg@e:8[\~  KN<,6c>$~h os^[=y}9%Fi$:8z04d8[ IRG*+++> L:X_O5KgCV:1" !RךtFԩU^ưh\W֖Sd@^VYXGt]؁ue[HaWtc0vD<~"x囧C ^zDI{0 tc6g23su9a|ts t:1B72{8y8[zW}1&B@dLUKd AtW*62wZpu LN Qr*I?SvV+x>{FƆ `ZcM 4c^sneod?>wv$ ^:Vd%y06Uf] hтg}g}ÝFP}>X}( cN\B^%0:=R4P%IȬ՞=Gf NnZg^86.\f-L&ֽ"\zQeuO'j ܭH&b@CF.ÁpnCe 搀)OiC/cM-/3eT#0gY"2$o&MI]u% qZ~WƮ Ilӆ&{.~ \2LĺFnjf8E1]6f/|RC:vy!j.Ay 9Oj!Id3Gܫob_vyo:WʢtȑOi@ 1.L֣Lp&,5dU l޽֐gLv΅Уs 9B8<9*PH3|<,K!vH5h#6Ϟ*itB ghD05gX0CU"rNWڲ È`KV}-|/au-~27Y`n+1s9F߁b 2[U7d ڜ*Ǵ̢= | 1fHЪuqD/p'L.3P=9UXib Qb ~'% ge*򄶲aR̆Dg,Γ!CeE٢-fc~Q?b T3CBk*4xkgcY~ƷtFǬJWRV0D1Ρ _rNsPȤ\؛1$Ven7:6m L[4BY >ǖqL>Y'WDDú;QMf',$F@*?XFr̮ǵcCŷvEZՐNn &X(/u'yi?ܹtK` 25˭s=-seh!ı5a KxP3[ 6/4+5B8xV2_K ̪ vkJZ`,,Uĉzpȗ95+9ZeEr=Ӿida P+QcU;I'az=yq(9h yy)fta!RZ"-*t^8 + e>S; ,`]hk1޵ ȌggjDce2Lc+剄 ]X ;^ɃG+01->vNkV^#v tQpYxA Q$}ҵ\jw/ڇq /ˀBn$ x{xԡȽ{fP,eL%`wb^PNlXܺ&sg Kʊ;bLOzK^)bwUoyڲ#cp0]4Em]x.I  wYx.@;zGQYq2V.PU7FX_qoyV#Xpefs͌2t~ѩgeCF ,Բgh3: YD,^ۜxrtӮm#}S#)hlT1f|wSk&9 o'V_)yRZJL Yx{^!`@;rZ̶va|l!\#68PM@ZB\藠ƘИ[^TM'dƘ ||.ӯg„H83Vk(aEl$> TL=1}ˎs.I%r8>iU^yh˚ ̤"[Z9-6Vc?pFw0罴WǮxז+'`\Nlfl*Q'Xκpܻww߾ &jЩJN5h٥/MA ]la,2fI#4⌼ʀ6';ޱ`;wף\VYϞd6<]:2Md1>ĥ s7DղՁ_'=ϲNHjwD{G/Sat~$SAvtk,qB㺛S*؀ᐈ0ӜYxغrٝ.Jޏ=Z#gާRrwʈozt;|gjmm++;jAP01L: yySzꅽ|+3Klz=U6ZF!oU㉮lѼ6U3ܹ\OٔjܓAa"*_^Xkq 5ٚwU;,O*/~pkMg΃5Df(P05*.92kNv(eO'-ZveH*74|K;͓Yjơ*=oVr||QOĺfN9MFmd {D&,bt*h|z;8a a:҆H[u .%I%}h* Q$JkAJ|*vK^UshיN|{Ĺ}\AxYG4zң9b^!XOŝbyv`V;rD+9s;pO.XҶ0t4m0{.P rwO0P8V,[m8s5Z سA17f6 |e u mM/Ֆ5%Ng}3Kh! Z% e5 z`qj_1b&`NxX?XhAyRĮ!ߵ.V9 {| KNҺ^df툗?XghN#m3*5k55&M- 8-,2Ld8`䘜tnŎZB赂KuS9&檪p=E2I?Q?{cH-Gv?N)ToiT& 5*o$^BY3%F_KZó.z߷o>{tQ9EEX@-a#p=5ֱf nFdAnƑnIcÀmeYj/H8bw4dc,XuA_mpടpzv9CPv8v[mYQ<- SxtY7~)Ƈagqr]ԡF@e\gKLљ,OhXG]Q 2PH\i(ӕ70ao}B!5LFcS (ʝV:tcXul;|! VԹm9x˽d7f\;.@% h]v+4'ɤgEq5v쥚;f3Ί3Ɵw mH1hu~PQTtW7jL;X"I)!jX#d:<:XC9ِ_΀= w*HZL*iح:[89 ]wqz]}TxϷ[K0Cq}qr~}YxETE%SduƎ[^8p2L+cG0zff L`'擮5QGqg}:"QD3!56a`oY3f*Md˽dwx,X z,B8 zۮuc]vٔ9&;~1,[wa'g^,+HZùƵMhga[|Cp%ҹo-fܓ]C0P8vJ[mku>AӸawd"{}13LDypm92f8̞!pHqE Dl1|oo;%+%ֱ6-{hurI1k!L$G/BnK,s,].N k'} g\t]q'רZ0BLtv|Icwp}6pl,^N0KΈqz%|8[pA1<GѰ/>u#?rA;EtP @j&ʅ@+X[U,uH*(3QͲn9^Ҵ2qQZ žeE j.DcgHroNR\D$[j!Q푺go}F$D NAlj5DXZP[tG,D<{dYA|IiQTA@"T/7ylXM7w$&,ٌxtG& gb0qF/# d6.>@r~EʢuK< [X>X< 1L'I+Sqn] }Djr:#_"+3BhK*#2ig lj3U4~гvj\7Ƒ-70bjFD797GwxD}6ibS-U3ڋyCWTXSX7&<[mpHeEMo_%BӁa,%:h_UJos%xI[(mv$ cZɲ^'#MS4d!kkqԀPG<0;6V*LCk_o\Z[%J<;%92cF-,oɕK1dvKhϲ|4z66e〕\Ω!Վdca){l`'c&غ(>vKMֈ+s:d+D|jM4b88bٰǧ,Ĺ ,l\.fTLȤj#g&[agJyw'`gMAѶk+c{UjjH;^9n}V^ۏ = }|[GR5 GfSk_L*"C A :8|Jb5(tg)LۭaPgm08ҿUV%ͭ4PHUE= @2,틖9#bйP.vpgmhYAy^]]K4K0owQ<'F)Xr܋:#]Z+XQkejk^%/wEyb -Ȭ5%fH( COH[*D(\X++-s4]"Yl~ӆcle~2֋6m [0LH0l#X/X{7ج'䍺ƕ(5SNB,wj0" Z4yʦQ0REpC.m"U__wJ9BdTvÖhnTnщu5O\Y˯KKqcg$h>Fk3q;3/f ˯|B.^}撝, r#of \.DjK&j La:NDϪsu2K1Lw`yEMe:*Q*ÇؔRzyEbה^ΕNJ\mm5Ƿk^CB0D1PZ/fcDo6$vG/S\O (ȋ4d8#{d$I|g$3F[K.JL+VKe"t.m{'= =|hET=瞤/ģ`oØTEp c+^b[rB87!ȥ\L,TC`}YoN{3q3D f0֯;A,UUœ.λ!s 0(&o3۲?KKXn,k*Y[b \e'!TkcMe.Evō4 ǘ3M939HBCS&C΁sjs;4X/#<;_Ϣ6;*=H89@ޞSLpTls`x0t¿85E-\I4&ײWpD2tIQGeS6{tcSbdzyx ϦH 9P<’59m+m%yhǃRxZ0qF!`vvɹw@dzqD]5epS^:UT3EkR?e1Xi VhiEIkT؁fTDV(04ŠLd}6˅4$ֶeݹ[œw-xb;dDTEנV5r*Oʘڣ& e?| o.cZ;<\t.'w輗M{%l0Yb?\3di2ڠ9IC$*u+UQ-z!cgpo0`Z KH[U^֪fւÐ\;9fIj Z}O8# g&R{0J3TL8'7AF5um]Y ;-6 ] xqj,?f'nXsާo64]輫H{3fUl^9wF_j0›k꜏ pi-C46\{dE$Lzϲ0Ē/ SUµ;߁D )4(3QZ=5 {u岊 BR9mI ˯:J^&O$ۢBY&h7~g3hvűjsvgJrW>E,zcc,GaJCjI::eQ2GS0gjs4"aR5yπdؽ\kwi-e2W06k}G\5.fM;R3w&i2 kv\:n@aǷ(*/Jeם6(!am,!^/U '>Ř [rr ^d( 2b̽>̭2:8Հ\:o\lW9v0C o|l5g!I!ҥoiS ~*Kta֕#~\A&uay Ks EGy5W_/Ȥ4m>'> ga՝ys53Q4J!OQ?֟v2m |XH-fWA#e &>\_DomeJNBA]8LVVNDAb&b.J5ؒB{DKrsVyH ]̷jՈ!T EH;F#‘Eb2c(V+KQ?~xPqӭH4n~߁giIGQPqiƀ\_.sUW83cw&իxgR)Wl)r3@` x )$#'4FV/cC'HNmX<* ?t~n%kֻ:f&޴u,v@8찀}R`y,hKdxtyYM^"<}>$Oldž(GAجʲ`Ve6R0WrA´ubt7C.kPlbq,Yks7/pwq;]jg?>}ޫJRJ^rܚ>Qb82۫<TFlAR)|_u|4GZ`<~|_3Ѽ^o>qs&[D^Ъj$+(N H4b+ ~)?ė<巩ݣMC sG>dZ]Xj·U(Y&˙V̳5i8daHdO/dO]ܮ"Bï6Iy+"=#n&0I?KG_[}i L.9A$lY<噤0lLɭ%\4o]eLoXc!YK0EPSb%dƣB,VnA zuEDl+dlZE&ZKo6 bsC#u2s'@pζ|BF%H^0ѸI78hBߧX)֘}A* :o'IQI,voznqv>`/)?{Ňfg2mjR}ߴAkY(=o͔?߃BQfm3LEZ؂;#vttzX̢DXH\L[hzY5y6q`@mEX2J@ $V ܦOr®TAj?1=&؆`qg@搜 XcXm|ZA~_`拙] R&-h#m.W hnvkCc'YIa phZ8UPXT$M$m07PLi;MڐNy39tM:dseAmM4buͰm$|0lpJ f6˃9aZ;pH:5t|ֲc{T[ icJ7I;V_Yi˖-+wq/ d5yُRXdf.!mFP懵Y?D$ &5AÈ93uFӒT)$tnDllWDqWxW鉩4\?Io]X/@G#B뽨߬jI?^F ˷MG}*p5!q`9ylUx3#ځ=+=SA[Z?p Chg/,<0y+3#*_jGzpY.l%eVQ6`cs<}\%S p\1< =CY2rr\"T=P{Eh`%3w647_n"N>@ g>L63s,FqC؟O.|<|i,0`f`SA 0QoGGcxx}67):&>H(#( x%ku0CN2:??݈Gd:ɔthH8@W -`n3j=&&+ VBn>AR1';IhK1 ?fa<;φFnTs8֛vhv2 '7*S&gC8'("9Q΂@U kmeQy)4 D8ʥe~>e5ÈAdJ&"T;ɺ18tj(MukUV 1Qd^kdld!\?֊fc ǚ.L9!tub|O96Jg[_ĝuըۂMyrY~MuNPoXQɃA܋? ٥L4(_7+o'wY2Z1K4^ YLq hdūn/^'ne%@|Ѡyj;KB{_.wIp47YWrq%lr_=4XKg|JfVm&}`>U|5Hc*s(ԝ d`8ܐ) -"nH9BT4UJFP4H7MFsDKDQ2$!k,4ĽW7S%8"^Y<`}xE0"0M 5ejEtxŒT#p4#Ph܈J̺͟웝fX ׋ˠ7P K3܄~kbh+>\Z̖aM(]2 #oUe,/ZsV0aQwYN:6zź*]2a, 7 h4r>H $de|_-B"C6l2a 6i!*8A0>ãdBL06^Fyn;orw.aYS]CN]d˽v-0O$-5 '6H=,#Q6YB\ C0 9e4e-n8m1(no +D>I8!< M~@V6$ț~[[fhyy9j.)o3$=δʐ#lC6w3؅ǬD>}a!9/ű5勋\5ăY"`h/z*88W!&+O(9UJEx.YX\0Fq%sdЅS]blrlb5=:7=⣓HUT&̎# HW1joU*nZ,:͗\ɲ0=ĔM&X,xk2c-ė&c*a=p-ڭ֝|JMGlYjxlN#8{_zPZ2 A ܰ~4u cDnq#%J-O#Dmx/z"]zRm,ۛ{g|&f Ifks#g?R흸ΑIqA#ܩЍ Gpz. LpOF|%mZE4=dYSnNi1YYZSRV)U*ͰA-ؗYt+W50áK\?lFyup Ѳ> 'S ~`@= =f<cӠyؐǷ4V)C/gU?,ED+"'!8!nz\?C'OxxX[_D4[XQ}͐-ce1!xp$<8C\AÉFs ,Jpl*"sX >Mr0G }~|n`@2~cpiqh\G-L5L$Ju$/_}|;~6>Hѧ1Iާ dG1|%,f C'9,YTqEynvv"H C..۳-8ЭLQKG`QN"9)X_'p7=ٞޮJ AV㬧PITξOy ૗͜GCB E賣Ή}T}@H@Xd@dBO 8(B0'& 1kEcLr2@@ȮrVPVENZT G]7h>X)J@ ~-Ek;ld57DBtU@EK6l3P/\`hNdqOCgi(#^l׺1<*㳸?; $(@("PfpLs\ANN/85%=QqZ&R_ ju8 lUel(0 P7AB|ݹC#RUrk&Kڭf ]kO<_2s+um&rqU|HYMKx}-gڐI) CdFbwt͔wGw/j|rxĹ730,E35`sB<1 0*~TUƬ4+ٚvIۥ% _ns>7>`3@ wEWݿpwW_K$gm0QR"gk9Mar H,@VN*8$h0GSĘ=k>rƊ.3խ>!Z0K ͪWyuoX+єޘP.\'5fЮ #9K\xӚf+wcGa&.\'~hY+bg"FF3x%VGYi´x|o߭=kpf퍍jݮ[uDzjdF,j^q:i`qlfuKҎ=s`A҉&O:7ZRy+fsܺ8)>k83xS&Et/a4ukywq6kKnb?G[{i/yr;[lȏgNsA)Ob>lnǚuhͩ#yȧb%(=_!&ӽf)ta]HM-0}.Y:/l#9߾Ox8em$)7Dk'H d*ԩf[phOler)^y*%ęz#_:¦pJE^$ǁGF%.mXn #9EJSKlyXɺ*a auy“%3mL4uRzB2v[aH;D7 x$EIb2yfA'0Yf$R:1xl65l Qhszj(FtGe Bkq"[AR#gHV8;ia\('㔊AG5Υ^ ɊVRJDU}|#{o! L_KM~nRm>2sXO}}ޛ< njqax ^joaښC6<}Sn^=}?܏#d{o9|ʋ~qz|ǜ!ݷn[<ʛ+1)ϕjkTmi*4:ۛ `1rI ;cAJ7k@C"0'swrm, x8~d16W##+  \y[l N9J}VW2|>a|L-|uΰ Ğ06bty|IǠE[ p`UpUFz$'zF Z``gQ<뺕X@Vo*"$&ߛktg" <ĩ`V< ~ƭ`2cPF_TR~DdB;i2O5#.#,3WR i\ #n qӏf{;ua݇$Q/wPM:O*A=-?킧vki48\$~f37 IE 80E6<^ԖL oNYPΕcfO  G}&PƋ^2l,όx~*2t6,e۩22 Ѣ_ sǾː ^,DUQl血6hLt~saJ?I[sh4Dp!8 /P"F[ڵ@9^H3R{/ %V< Sلq3E[LRҜraKn]$"P[Tv;t+KOFZd+&K JNE@W'N]mJb6|pm:?Uױ, `G=uE<갸jp r,W_zi9e#[p8ŧqWxV^\Фd|>b ײW qdgⷺXWt - uDJkmG"*i#Ua Xh79Q+ c G|Y)SK4FОJZn/ Sds&,'.KPI1e~˒"6Be]iC pi @N NY4uS9> N_2 kT`,̕L`7xβ۾#ѿh|O ;p"7߁Uk섈dR͙:mt+U^p6z\Ce_w\9p>Wr$pΧku功ћ(5W<~S _1ʒ:@s(w1% "D loL%cc?EY+V^ X+$(0*>Tf[\^]*nhؽ  R 0.mJJڂV=BMKZʼn)/Lɺ̏CLcLFenjY^:6~öBŚs𤗪g 5i\ڞ[.zYYnU,>;O]{2:5\zv[/m"AYdi5d *s$TI+/6Y?uM"}w[XݱsQGݛ{oY[^fQ)\nqSp5\/іyӍBRęzz,0 {Oܩq.GwPX㺳ffRoK[\\:6*G8ѽ}V+jJ~!)#7UYY(B\-Q;8פwX'+kIIR bE;Xpe 5ey{zξ́qg6':Z>6rqGGwޖyҼJu_,J@gޜһ6`zNPd2T=Vi `oAEPKQ9灊Vshlʙls\1o<[Ѕ=Iu>N&i,xJoh[ۖ'ۨk6Eg/fcKV ,8Z]c}tv50'Ӏ􄓫e+v,Ubæv9:&m} aSc',xcCe4^,fSK}sZڭrc96 "A_?og{>ق?"n ܭَ |/ŮyFLA'W|1wF2X}.ry+Z",\8r"g1~R$gC#ΑN{/؏BQd@Qj`=_;`|HƤVLFsY7h5wڪ? FVLW; Ũv`kC"F/El ;pE_W ǎiz&菭*RRQh@x&/D $RWڪAi6n͝}h)+Nf]g/3V 3%Ԝ# b%ނyv1Ey2 /f},إԅÁυRqr+g _Bt8l3C^mfsuRgEJ {츖Eq0T||TЖ͏[Lc|Fj2BRW~mk$ghw܏q皫3dUE+H+QޅͪW%4Ybm_Xb4l .%.,O?I%ܒшrIKLGhUtzf8NФ~O` YLGs<$YBgNƝ/21H.˱NL-gfժx޶oY҅ݡsuɭ&}>+F D? |ljO^=kkZ}A;sY2(T^BA'LQجV=VjqGiW l9^t3^S*GMS0ۿ'g+~`Qpg/y,sD(r GK g7C$p uʑ!w];wT~4: |[a)x8ay%hI3 9 QOe^pfD^P@_+ jjkS OkJZWJVj.(*nKp(ˆxq0pjFl5,ļG۞<`IZrKr1fHP٠uY]yƟF6_m~9-O#_8;!  [܄_yw+伋$)yW%)Qr `Gm/p,-#t6`_,j{YSH+AŶ]~N9G88Y@wMq!_Oϥ &졎cW~K$#Ʉt<[# ,7Uc>"']ޮtF"1dRBf'1i隦p Kƨʽ4> pZX3}phl/W ^+oBҿK, kӡ|ro_Zw@.Kh>>CO^*[0\LUGY1z>_ο|B/(jU\hϴz~Zè?oVŀN4o:ν'dl~: y*Gl[me#M>'HkH+k c(lBPn=f"POf;)l5Czݺ#jé٦۹@/x6 UV%l'X%)ՠo2[+ZB;Cs xT7`֙)hN?}7# _nD{ܟ<Ny֩jfnoVӿW\5Ϗ0WmC:[uһp27u:Jt>ի_|W׺rAba9Ǽ3zsW_MQWOȸGU\;Q5-C7@.(K&ϔXO#CLIṨ>TVL~>w!JQ ĆYP ݪp+|D^:ML*lJOZw|5kj{8lsyH6{SJx{B]<)|8>'qUtm[',߶F|@ awjØlAݧv,{[˶3=A+Nv|7J"}jz=*lmmSy,{(] zp8 ]_%&1>oWawLӷC0dziptLZBWW$fuYIID=Yע\~uGRw?xb|G?63hx<;J;CM=gb\dvw_M#3e%_k[Нolɺu)\MI@0dt}_:uʶ2>J':B7E<}3 꼱/[q2p?茌Oh766`aͦjM5t>wY/ZW0^\Mp8mѳ 8GzWR[go}rB'XX;αAUfURt^TQ?ʼn2}U/@2/b 9f=߫ޤ-.^t SJ[ }̤B_prT@OߍIKRr͍yA>t^7fL~J>Q:f+54g5-u0 dV`I˧C侜6+@i02B'JƜQ3-:KaT]V[ %u6qbcc$nfWP,1k*9G28a&GK/t]ڕzL$h4IGNSVV*Yb׾.F՟PN=kJ"F8jVvZ]؞;/^hZvI.Oru:8_=dz,Go3A3 `mn#wȍnn=Ʀ>tWu`gӄx&.mqEq\\'Kӵz3UݣMcnpO i ґ@Y/Bґ8\ޭc+g ,~_v"+\=kt{ilB4o-/KǢai֏{T `ᢨ>D~di"%f^4'뷎A^fl }L$jX2g8[mCON@~PHcr4K9'e@YD*]{+͠ t~p"JcG8q H_8{,}G 帟?!5܏*|~ڋ'"2+ ("P8h|LZ&bgdkfkD5s9Yx>y35,b{Fu zzU0hیe ߇I3ō7C0tw#=1&W2@(]4boA͏Ag]LPA n@~{c*?"r#x:%>( ]xn#;O_8.CGi<Cl>8?>K6wf\X*m SYOYzYa#=03gxr)2KE ç^7t% ;\ϻFw$tDͽ4.G|93^N 'p2ޝ:0/S N_>}x=(xrp*Bȡ˾LptJgXws>P׍Aos78=xE Ȉs-4=gQaXyS.(^aۆ,.RV\ambm&UyMeMb;LI$yάmdoIrZs4:M%! K:,!LcIai ˹N{՟pbD i(AԾ0~g xu<^] lGC*$ 4΃mraIN|]@vcwm"JX]*/.|GK&cr4P_2=S6L[%>kc-OWDluuG#D􍍠?f+S##9tF+f՘j;~CA`-kkТw0MljG+;IFV''/lcӪ™fٿ]-08IDnGV3oB3˼e.6謲[:ͯlMu3VQAۇS3C{tٝgPiY@M۳>Yjf >-tC=!?=C_~yunXr qZe,W]ЁNg2֤# ;C'jI$YD#G*P!kX 'bC+X:߸.hGhM! >=I;NJ8%Dn4eM.͇"O(oHXo0Dw< a/u[H†DU=Ag\7\=614| t:Li@ŸtÁ8 Uyv( f|/RbÇɄק>x`.FA|$ϧĎ >k,_K\4xc;3FO1LJu,ѵ)$u^%V4CzgauaQʼn崞Т?O& iJ7;C {طtM2YUIgm@xQW|͘ 3 ]ƭN }iqXkbF7&-ʻMlܠ?&x%;m=5}%AP*oKÍ5#Bm<Z^+:rVWgArmy˄x<}cH2( }(zo/Rѭ_7cn sa={>yq}|3ӭCC|oӗbt($v:T:ЏWD惇J3FW̾ V/0AQqm=MGHi!7$dH0\,rSxd^09a|!ÖmƂպVr!|n®w_޺ݠ o|޽Fkݯֿ~ݕ4B>Rnf}8?wޣՇ{Cslӝ{^Bjeտj:Z _^8Z{~=< h]EH ɔk"gnRG$G| lZ{WHնGۢ6^`Vw=M,MiQmC|J!B/S^ljtmT^h\5b-l3fOc?bɑg..S!J8Gt~NmIbXJ / 1*Qia˙8͠%Ԕcf9q.`Slvj oY jrbl!!yْQ숸YSyZ*ognvꌎZ6XBkWs% aδ'|1zKX 38iE"!^KՊ@uߎ+JX{'A8!Z51ĆւL6VLhg- }1Sr>W+{sFc*X]-MӦ`hJ]1iQ"j4't4NfR1GwOyTD 1iʫaGvEUEL eƄ6"JyDޏE޵"':lnjhYn`p*8~=_~f8VZzk4՛49'yL{5z, ?n""d/aWy}Uo:Vy_0B껬f[&!&om,Nch ;hr AE3N7,3ED%&Nwx8!;&ZMHn"_?3VqI c s>L" (O]|l^(0R;f=<ì NZE 4g%:\l" \$}g'L}#k}Ŏゼb:,amY~bHKSMKu B.ZRe'7s&Jbd`B_(𐷮nѱIXt5(5Ѧ/) :kF (h[IFj5`=#28}8B=iKқbkb=T8 PC+؁p{Ws ve_CaRot+3;_[0Cw%RJZP՛ [46AhcUɒݓ:U;|vI&T)U5-TükP7($>c!dϦiĴ3m{Id;2Y8p5"8!/6C570E #781뭕r _ ox\䨩Gr6gu 'v&*g~<^cTru5hJ/6NܬJdI@aEaz"*"4T*MJerQyYƀvivʥ*Fs+8sbRʰ-\ Wt %1[(@9%4({~̧"m75 b`{3oKGWY "[U,FsLqV$,"\ż8U8V'ܺ0a딌8jq\  jB+Kz(teKjHH(.M)^߱Р 6Gddji}#Q1O2Eo )N#r[ J50cԱiZ" >4QU{3}Ώ)Z=d^ M 1p%j0PYylzFq_]h t螚2?٪#fZ_v{7]C#M ǀ cT0(>i%=1ˬpk$BV/ Vh6LRA>V~~Hl3^ vv6vt¬4J}2woE19`\G> 7 %3̭৽\"h`.je5f¥yo>`o Tc,+7Z1tihcIq}\Ɨk#>? K+L89)GA9r"v!t86a'=ģD'3h&v~|roWl蛇/8vIzp~^OV닢/lVl?|b˝[+40^ x%cgO~'iŋ䋕lufx8l`}u`秽Z*j4ύc S5noS<~V ~4- S Ju/7`4珷nnke%~٫vrf%" wp8D<-_!읺^DJ ?'q2'-I]Iv"P_^GȠ mh3=;[3e -5JnCiD]8좙|G|ÿmxtwCQ}9tIgl&Ov^3:B6Y P5e! 㜎Lﺒt^.#+Ypohp.爄U[ֺipmc}}~knvuʻ]C:pPqrm2m(]ܻ50||؍b_]x'eg1@D&X%J ,!ER;2kžΪ"jɟh" ȯWl;M7b<87e9Z9M64&OF8Fg Gb zx8Ԣ:I+P({a:%F(тXg Lt*]?JxhIr12f;tՐ=KZƄjAD]Ʌwv6` P'c{96X0]ٰz~D74רLh0Khh6$7c8 {”"ljߚofarKjs Xk*­B)UpF5!R}9H tìvVRJi 2I`fں;⸺+֩l ODhVC8zmL+\d1h!H&IV JsZuo}ppCϴ=n7oΩ tljУ%{2J@Om [tȏyo&>¼Nvp=J`>IyKx%LHV qlE*Yt:m#;:g(Pt1W( lwf} u<;50g猦e/{AQdٍo߸-# 禆>v63+uZ |򓄆zqNr`O'#4(?33SruO>RDXtΩ$βun˝uv/5N=Nc"):DwcJnO'͋Х-m%>sUٳK5B~akdqt{\ ,:l:Ӫ7| tF~i]2;2t|Tf ~,?%W.Z?Rs2_+]mnW(K<~5 #D#Ar !T:X氽?v_<{d^⇧4y#6&A/tQ"Wq:b1&syհ#%؞JbS ڙO;=_@֗&eOmLPE!Q0|bd|:kGH,8xJq_`ѓREr^BF 0_ 1/4_>ݕVm78Vf ue)zĿD-ߝCŽh$̒fy<̧fe*zlIx@Tws%^aZDsRbIQ8m9wMYZ܋*L>^ɨ+l3Nұ|"=z| ٕXP+͛Rv{\]N]+3j4t,;ټHS 5ȃT0Zi`c9 6۸N+҃Ø  y|Q4 wgc$w3£m\҉K!ŽftЗTvePhya%B/"'I=ꆀ9SGyg;<{$/iȸ?r¼$&oFMM(m!֡jLjGI-3}'v;eBiӹk_ |RҫWma&pMXDN"q5ht.rZLMYCXvC[%f;qxe7p<-/,-o;mJz3_nBy⮾T5{sh,4|cIz{޹+j.M8sX <6qeor8T֞-ol](>d‚4Q^iS[_bycV46w4!Fi^x27F[2rHޚ |< i&Q9Bd *6aݍR3$fIV٢0#hƞT8brr*c4 &1wI_27$cK[%ֽ={B1qҩr iNt㆑Sn븘9FO&FcJ9$ Ijך vJTraߐSd»>>}gB>EKzۨ[XyO^x;Ͽ}.)s/chky:N\fϾxv*d_)[e|(c */ѕ;%őS 2!>ж8Q!5n rˈfq0ţ28J1ШbVm"}afx3@%g؃7zj^(I#%>T))p|gb\ϬFmĞ7=(yt:W!u:'21+)‚EJY,AMd'ґbz$0ռ*c#"2io"3ޡ)4DX\CVa!AWFx>/uۜJ6?B%uJ)m ou:ۻ*}XxKQנY=? >)y%HW'ջѾ*]bq暧>ґ*Q6H<࿪/l=콵dYbĔkޛ1ka=ﱎ<ҼQV -/v@Ld42< X:T_ݩ.~ q|^ܶ:[Q _=Uزv}@kS;Ls}ōxώߤ6(=胘F狼Lqօ=~[G"k#Z#qހY=Ӓ=< ǮfBg<4hMHT(w4Xghm/#ӟQ V8 Iz/dQ^ OΣڂa7Uz=JDQZ,lh21cECՙemvW* C䤶.Hd7-|Yej/{xKXLO}~ђra+qjg`Ң_3D<CS޿Qmvl u"^ax+(;6{8?O;m\Frrhsy̎2P) L|"gQ*c&@vڦ탃ƒ΅U!Eu9gvPmU6 f` ;U:.Mzp)cxj(6Q$"NzxT~S\w2+ zf &eP3\XpV/t>Z:ȱ;5XK½nX3/\KZ`yX\p,UV"L[o!\jOʣ[ u-Pm7ec|1 ە5a٥r5!Bqp#4Cgڞ;,ڕ9Z{-GluU'*c..=R/| y. MEjS {YEɾq ZIlvbq/Jۢ"k2-ZAvp 9^D֬CSSK&P9[.`c8{yNM"gtIϦьd!pX0H`bU96ӉNQ}aƐH/8y_d5 5|W(旸%LKo7E4;ƿmK⩶,r#(6Յb%T-\L@@uE! y W=ly#mcirT&|E0F aIJyC94i,~ H=f` ; ID>8Gie;4 FbΫFYj]Za-@6Ǟ(/35*l_C4WKʊx`M1? ) Z5sa~Jl =a+ݭ{y99DmˬU:PSwj?&r1K*CRO[i"Kȿ7_= Yhc@wA0ExXiƋNoc:rGEp_yxp^^jfm' r+G ;^F߷*WuXt5l kOKuq!#Zj}Y1i0!'Dr-X3. ?Z}Ӆr(`cEPTES4m3i!Q3ơ eVޢfhOK9AYsm3k5/U:THVtRRG]VEiFB>Jo2JĐo])^Q>-z\׾tKmUZ1gYKVWI>0$J/oµ®N#QZ!"D6{oAP2PHVIcs=#ʆbdAd0ܦ -㿻X.l>]Lbd5z%E/ %9&ZД?Ra$K40K>qH\tZ?BRZSm.609!]=c:LQX 4 D" 9·>]}{c3iZ/Sv>6!br' φh~xn+_&Ji|S͏uH6ZޢTB\N80 G^TP)u6FI_sQH)=RԡQpׁƄ9|i BDgvNRzFu ӊICp{Ϸ~!Lb#߀x-،-֑`m.TWR/v,D G>Xm"Ҝlz=om!L k{r[hCEwvkOIv ZO :D9\f`v\3>uf\Kh- !"R!ӺK+D8IiQCē>*Q2˰$7]EtgX[, ,Ce97n]-Ӎ,ejZvUT uw&M%:s6 a= {l̀K wm|`ʀ`4P㇇vxUvc(//7\]o}ڟ/"qHwvck4KR1&QJ acMb-atOy|OЯyrjb1 ƕrJWT;#*:`\LHD JjՕcJ_nR.Ŗ[WOcGn]>>N+'sejaZ`ФGtfzr(!G5 cYF|>V"WY&$fsyд wL0ܷ)ڇzWz(shlpU,)i2*a=ǿ=Sn(WfnG: U6PZ.B*K ~ĥuTa:lM&7Jg7Ey?{q\ӟ@}5[E#ԌÙl!>DL ٿ7v|:FyWw^:o_~ KM}\ƚg/_k0'MP7+,q|Z$Q1(xtZ:])޼(gƂ0"" K} gC|!)\7 5=bO_=~\4^Ww^nQ{_NϐĆ+4||N4T]NTNjU1ʂ^nEӄu0KBOE:m;Nh'=;AϞ}33#ԐtOfEy/û__"ed\T?ɩ\ Q-?s3 Cg9{z[l;[a<A&&,!bkd MޭyVJr٦ټ\QTS@M{ZCN雌iWj@Ek!ԟJVh:eְ$[\jJ^'WldG* Z9{aI$㟟^6@$gڥ .bސB [TGWC/_j94y/ڵ%FȥY_NcAd^ <#tb :vw4CV${ﱝ&3fiO@F oMtx1S%{z6(H_"4=gl7 ?CNSKmDM9r^ht)+رe$nq̀J<.Q 5cYbm3!1$ 2)]o>ȑY*Whv zǬPlY?c.LiY2h$ ^ߧlOxZzl5 -"}{_,{GǷaJYr^{=c<96˛5o#DhRһǭ$G5]vcɎϞZn\oeê{{Q`HcGe=2!B/=mvh@Gmʃ'+$~>|>ʝ%s-lM/5aلƋ&ޜ}( DvxM9q"I%Bʹ&#JlGOIt*ڣSH.4ϗ9Zi55I6SzL|#rZz-&E7;'pE֫g|L/y;138Ɠ!mf4`a(u>jJۯU,U Y4=)@mkqExw:d'y>\]=;;݂!OkRLbKi _ p {-U OKkCI?~8MޟSCtU{wC3 'αWŠK Gܹ V3d!v5w]dKo-;zW/ky~իQ66i*MJ+*@2 ja k(lq(h8ZK8$4YzVwN~,$CW_[kG``[8+l?a;ȷwb̝wOd" ܗga>&82w*v.f뮁Sh͛`D?ٖ aDA /ΗkK_$_̒/30ͳ Y\5ϳd2oVE.~)kI`9 Wшμ)gL"wƓ1&OW8ͭ]EbLXxOi|o9/u`MR`,Yf'q̱yKצX$~J?[,ze/.jihXγG 4Ұ\`z|b4E~LC.l$yL3(e$$tA?_"ײ /.46[o6sA5l`/ㆦ Y2sI:cI0u?E9Vޫ(H2:OǗ'䨺g0/|] ?ҢmjJ{A7SJNR8/-Hli./`V6_WN8Ge%R: Q[65k#Sr?<0},vJ/o\<\gգd& yة.Z{;?U3yvjߙY{T5K Qaɴ^d&HH KkhM -' VlUNhq4=ޏϹ:rVS&}Vؚ{$O5y~n23:w<iT: D\dAYˏ4r7ϞnZm:JV[=jZg:2vza[fuIP~8䗏vy9Ƒ&jff 7ng %T[S1z}̲P_i[vDX}['G )?N$ۚk~"A]Aw}5 __`ɛ#hkmcnT3á -ўV@,z0|" 53pΧ ņ2.R83gm@ā~: , hH Y |1ٴ\/.GhSY8N*~wyLAZw]=Ec۵=,  M0Z 8 `nx\.ͬ#,_"`[8zn<&pB/˜MҮ9f 0UQx&}M%57~M&kܘ\_bavp,oY$V]Oދ$e0>QroLoinQۉӹXֺdUp-OIlD$,3",@] !sFIN# dnPic?:☣nք هRofA( b^9%v',Nݮt)} ҈Wǥ&f%‡_FԄ}+ʔK?MϰY.^^| B^Vm0x[QG0W:.QU t 6_Y^~ky5ϽwLP4QZ9CC̎'e%C87ɔov]SZa?=p[1hY|$f|\0Z, 2-z1>eL:.H/}셹=\IBѦwv%m^zo~Mmc{V3;'?rNk5](mǰb[v:jww @R0DƇ?q5?Eu Z1M5q<3 .6U 6SCXW Sz*?K3Ykq.)nj×ҥ'Mc(~>R#&3 njԩZ+3k6_+Do,d'=|e 8mbu 0'^O"{/Sԋ$}>53fP&m!s/UtiSQ}gPN ';eo'âpwI DJ؉f Xˢ;}f0xA8)r}D='}C _BHU8MZl]}P&A`ܥg_|,-jvٻ D͐@ZK@-T_DF^# jw Oղ-BGR-\5l%=3 WPYT _%=9╂JQ^:'QTV#mWp|,H9]^VR (LNw-H gNT 2ST _`_Cqhq} a`AhLC{6|;͕i)oz9D^Mm{A{8 ۲}S׋a*^' ߅B5Ns1`:Y;.5ŏ]6a]ŵVNW̽q,9Mm7^N% 8,^F^$ |:L̀SW.x-a-bc3,*Q E<==: ig%s?+f<}w:nWi/=)ҰK`VV搋̥ĕ1dK/o#srJ\A;ףS=wluUXf5u2 .sw>-7X:uA~{ħx)& / 1It,\D%y̆, η{T<!('#B(ku^b#p֥իU aߕnu%p!(^aX=bae ,beRXxk=jٿ9̗|P >WElp0%ɄiTPy4˷֪")VfesffOEsӖ&CAw:'Rz#1яBz9@QH8Oz#QLdvW)1"o`'4̣q zZY5Jf+ՎEc x,:ofTyU-|ǴaUz-b>^N*950ܶs{Mf =FKhϥ*,%]n$=|k-zyE+Q-#%SpyVZFRzl3~}PNϥ͐/zZ:aYHDhX< ,.-<ڳrs߲<Kn͹?\44E mzq8뚫=PVU,Mmff7]LԒ5oyĬ/`Msqe+,꥜{c܋ GnxQ<)k=EЖs•㜟{Bx&>oSkP}Q * M2 mg<+0]ɲBLKzp>4MUvߚBL=l xoMl`sk嫣 㜢?|geMv`K kE;29—'޳Euț=jskNnbq3v@.<ȲFd 6!y(;$?yvc-Hbi]gH%xRqF8I}ƌRnQVk./+H8bFl Oy& Op.Ζ%H6Zv/KyuDR wHqUlڝVnK"7{DePsSړPPUf18i'İxr0F]f[KkUx7Ạ0&\` *-ʛ РfDOZmcKqQgRj+tXk&qa"ؘ#0_9AӼT 7ϒoK5\UM`ySfy00:dQFcՐJI,͸|Nڷ(aϪoJ5\qIQo}5s}rTZJ_v4O l &55Uz!HQk/HHm.)Z^ylZԌ=G(6Dn!6%Ɗb͙TS`]eD2Ƶ'm_P}h<+u*x.\1ҡsLs%ݱ2ՙےԺ"+gLnhbhJr5}֍4YTԗoyࢫg}ѕf.WfYbVj X $Q}U-xco}[ZBVOjOaw ȳ) t=bkfyϜ+ו0e̺-\jx͹Wnz>Yͨf\&; rر8I]yup5jGb%H5`zYq$3nSiMVYJ0i9WEn1#y5M :DшMjMz)1UJ~8=>zyڂ⚏s u{!U:a/ sgNXoYI$,1nVAʤe<IPxOCC|ˡpK"V8Hf [#Q3^]B_r|k8ƚ6*9K؝t,+jjÛQ:)o +#oB>IYrIUv*hdΨ|L%d%Fin s-`W+T~ϫpOծgt6C4#' Gt9e3bG /A_Zw/;Z |D5/B1Mfx}>ö.pTr8T,xT x^Xv.0y{=~.10w@m thy" Pap@P3]!c7Fq ^ £ b* 7Ræ 1Nc\BV׬쓏2@^2>}b}q \*9,3Np_v cz 67kPSR}hSU^os[Nl파X6-U,Uby˝ݧ{$ރgOwpL5GG[IL؄w0,t_)X|dzhz%߮e?IR>]bwjf: MGLABK!۸(% 6J>^ؐ"TCDJ N j8aOoaD~k[Eq`:NX-瞏]%֚n>ܻ¢hÔc*Gb.h9PGڲQ>ym*bsZ4(lƬ=GR9_Mk3M_%:O{ShshGO副j.fPq^ Dة;C:loMhEj,"]5v2ÓxDc"t}aFܓZ OIU&œWZ2ݻsXCu.ؑ9Lj/q4Ƹʲp].t%-{ƂX_q>$w}X*8 j.vI՛rO)`W߿{X7bt<&N=.06 P+hny!!gdΥq}QvKq;u 5/w˥ASq3cc-a&jBGb)nWU .Lx#rF(Ϧ${۶mEVYC]g ؚ6Y,p…1F6%CP}iqGe许8n_#`LyתJVШlJ>Z~BYW _8hWHH~]1ҮPFwxY7̨.$ ̊K; 4O:IĢT&۩R^ /)$ckYwP_F*{,&YŖkAdPDCJ jZ{mzm ^בqph4KdZ,?ceOxǽ4MP 1S ?p:|e>cl@稟H'Ⅼ_N yܬWQg]21Ha/L&LoBč8vpK 7w#_0D$fCɱYR\@K{I>)PnƸ}A),UIZ9$G-57H .ZTtf늘 ][>Q|/Z 4*Zǒ;' g1[B hީX@ƾ[ScRE/6t%sySGaןO [!"dL??e[zw6:',Q!_tCj@Nv9;ʸ̅u3gjE:}Qxfwؼ"շ?"`WŲݟ)THneuY WHI>bx'bXu&hMZ&\%4H0p|.Uy K7r2k'#,Vw 9 $= S:&~Ms(ԯ+.Y=[^ogIzYU %X<:K&j=y,:q251l1[-)uԦyE=1۸*m?_nLjmePj D}MKHdj 0\VDjRt[׊؁oJ$^!W+>ک=ڥSe˝]G(*34_Yq3~늆ƨO˰R.e6w]B%0j8)CpWV*XfsjaH^D8h#O'}L=P\Fk WHt'Fz:ta|7.:uTnACc+lTkXKW*%@hSzI l͍Ʀڝ}[= @?T d[._ϋ1./W'!U |LK.hhfuhڰe dvKi*v.5g┪Ɗa$p, uzRVŎu)] 8N^Z N1[p Y-2e #fRs?.0ղu.^i$"L.Jq-wSgdalq0^kDy&ΐ,lFOz:%gv?_ߵ7_ADE_h Lҳ 'BEGxʲ>NLec1Fte \3 A#aufJ3׾xĈՀ $bIl%70ߡ$j=M>WjMgztW }jBn,t t% TzsV$emjSN=De:VY6Rb郝~bɿU.[k>A%HXVEc=jcJgy;4i(ƿ-ۈl93&z(jYb"(XoM/C5'/@h{I#s;4$}wBɻV$.5۳w?lKpu# Xj3d㯮\ Q뚗ƛʭ-FwN!na!'WRj֖*zI,(zf-(2/duSM{ /njA~S a'\,-(T(Mۨ٭yPq+ lܞS2uz~]FQ/NwJ4TTyȀbcgqF7)}&C}ZƏ{OUCW,?;ҳTڜ[1qd;"Zo9ʪ2gh12k}4&o$XEgX1?lR3τ4DoJ4QZY6-'zI&>oXlY̗vpJs-Ϣ2Q21klbghvV"f9>O&3v6ʭSKBor{Icrԛy7_ ,:v)lCϦ2\g5xM̕2l0Q;^8γ HP09<*dϿg0='2ݺ_ݾuo |ݎUbW^͎OXU OXW_)]rWg;nݾ}=߸՗g.%XE.{_ϵy6[=J&m(VK\pKs"bT= :NNPJgif(${p\0b蜕cnDx C0{p6*?Z`o  MPѱnc2!A8#PW<o>}jFxeR1.qХ sQX,kƏ`(FVVgmܗ;:F!7B]P=DRD+׳"HTxy<`qsMkH,5l6 lr(ak-#H#H7w[fmq_(#n,O.Aj/E%Tr^&tc3U5ijpXյR!,fv}I;&iduG:# C+ YVKĀX?La0x昩~eU8_vumfb WONv cw ot*U Tէf?#-{(yk_J|Mz7ۥU3jhQ]A9gyF{t)˳ύ_rO]7\kE$;;(>?' _Ij$"9.\h[:,ѠM:r zb/&gL*^B}jIsȺ_]ԗ?2`Ru|׺4w~9a9%}<_\U,h]| iB'80ͮk聨zF JrbJ E|hӣh\}IWӬ+q18EwR]S.#h\v`sW'o@>ULBt{l)]UjߞnΛrB711'CId8N?:1N)D݇)mK%*x9,.Zڲݺ/sXAh/Z2r 귉Sb:K,XpW!UQ-i%ѐ8ɲR%R%[3`ڒi޹aN~ Gс֔uG;l޵=igeFTS=P xEO{!K#8M#eV}Vk وJ|[o}{ԋ4?WiMmy3+9z1OWF_nol_ݹZ'I6h,9ϭ=|5di2}ֿm azڟi,zWY1qu 7^?7ZQ A6VT܀ܐ>9]X}Ax3#- z$;żN7nGQׄ rΠp"(rцh;mq|x,OÏ-6Ԥ mwok)vw%qMr-Ɉ`KIhW!daDV#RS& :}m59?VVszD@`K|/"8e ŽWV[%҇8}9J Z>[tQ&%;QU/@LVv$|RU&#t(ܹwy$U2V2[4E㬂 eW"}׸{JZPI!)=g\ S$b 5T禘aY¹ ܊J V@ld : Hm|Z $'`ץu0;^ ͗3͛Y$fwLW2 ejMյSufqD5vVKT)>ᖦ;LFY0 ʆx\.> eIU ,HH06At)qZT`D[tS AOsAH .o6Sp\}gWt.dW\%xL䠗cC7̛dRo' nOр/ElgjgA[ҤYvY=sh:L Gr䟥Z;X*ꈣ |1.5p"Vݝ56k]hi~־USb4k\@T[g?Vj+ 52TR,l*B:j|45cc0NcPV/OW.c@=ph87ƃ'm<ר=P+RT ԱnإVV1,J\ۊ&tRʗLaٚOxLSz}SnE4I{Ur):9^a9dI;t1Q Uh"e)g4Zf?y ,)]Y|WlKu&vBL9 0Z:#4_Xcvs=Ŵ񋏲 c\>Xfa)|j] ڨK@ OMrSW`;'"bbdM*@_ b1e[y}Ѱ"8LoKBO6KNK%&G?Pmx{:ېDu<)Tž36IiX{y&j9_>Cal?86Q4e5+rk3QhJ=^kU FTEe&O[c#q#\\ko| ?/pKMj}No֟gA4( aEm_X z a(95D$ZP` DAΊ l/fGI>fS`8\:Np`Qr-;IO4!h0D ٰ>Pnd"tB4T2iVbSeVeJ?,, vZ[ ~Ku`Zʌ? 8E0DrMzq3٘QIa(Af>1w9 T'|d4&t2Y|bEK&4jc4 y.y<)c ө.]Uqӯ{d%&eo1%|ߛOǘXhÉx;߿Al U{$F{GUZ^y4x#˵ls7p:͎f],YgE]$G|ʯ#WOK3#4kig!_!gY?yŠ?8x߷x}sTvMU 7m9sc!Wniv]q rKFnI jLW'ឍK4X:FiHN oe>[pf5]e.𩅞`fsNit 8E5">$׳ `gĄX`=榽jѭZd[x]q;R,bO&אE5OF` KM};!X?byyAj;5z.)NsKw(\pn# !^1n ]7ID\GOTs&OzDN-4pU6 ZuCq҆& !m 7ũͷCi{i8j#Dk-N#bD2ˮs7W8;>kH~ " 4 բ72bګ#. i-# 8ya!QTKۺ-hZ݂`u_7k}m/ pB~ugE/>4p1[(v_· ˉ@+'B+]W4? v&CpnsuF#zvE]0>̣^gϧ .VVu+ek[r]圬c1!r&S Kpʸk#5Hcp 5fV+9h@Q7s,\@ґ>\esyk3yxVo)fOg3\{Uy2܊ow+zw,]F5Q.Qۍ2&m11﷽Jxtûڜko(`kݽhG|ΪLM,R~˴Ij lEeRfS2UY:ۺn `$K3;>$=]:(J.e2fCTuN>[2)]15DцZWa; f~Be$Ǔx /eM9ZhCăAnK N v1A5mk A'J‰nXfm+#~?i6oq*%(KA]wSܗn>ΆVhHbN`> VEqxGK%8ܖy\ؑlY*M-ueNwnMu}q1{;2W@]^*']yMqzH¡ԶwpkzX,VJfȂ8N<,}ˈ?c[%P@@WBbipOWU{V: g[ZF|qc Z[Ni} |A#UYo`yWɪ*?dӖS(U4p%X`Pbj}1R}Yk֗g$QÜ.\͙>lCAP~emTcK&t3f}Vv!`3pK#k:`p]'az8MҲ&DP @~➓gi#2 x<i췆\h$ɂ<D$$SDI&uџ-J9: !H~ڜsiUV);Ҋ[5ɩ?)?Fol>>^X_(sW>ލ^D=o$6hzz'jzΓYQK_={TGƱUC?>{h[9 Qax$m>iJ{KϞ΋Ϟ6eC~w@t5eyx@z wh{9@xxN4/^WVxc^nA4o~ƣG'Ԋ3?\7OcE=`)LV $(VC m?UaU[q hDb"ZO!"Tt́h͸nyFxw8I/_=B!bB/|g.͚{Qi.rqgLN̯P^2Ds*0; {# Y(m\()ٟ|/gc>;j=IA<G8g60'NYzˆ? f 808>[̋#0? q)VvȹCOWcB*-ƍ#\E,X xؿFIǦ$DRhsynjq:96ۄu.ZtimS8iuO0!߽7ԠoK ^ݷZr ;1gP3F{KYC*=؇\2恴|Cc_A'LuIlzJVr`+}haa_Zҭ-h-ٞK/S8J8$ji҅)o9zj3Js$l-QSNήnޔy+[ֶA~/(^ .G~1OpQ::}3}>Ұ2eNCް܌Fjox OfhzW*zv:-bqW J ʰ|ȕ|Q>)&{4N'[4VxD^'fBvquU&}z(UI̎m6@P!! ddq ӔNVoir_5ݭҦבQ{#篾(n=X]}P^{hi՝N3C{AU"c&=v&IO{PjF {j0Z88]$K{_}޺4U/x;;{'G__= fEC6o*NѿTW 7D*`]zCUުmeW|'OGoN4\W|? 8#6g= }$$D`sRGbBS$~#K"Ja Ԍִ'tZA,?:+t5H&CcF?0v%Q^gD_&5V;Qjdẻ;k0cK3>ϑ y9?ꡩ1(J1vCusesڇy8L- oƒ ]q NqC̾X)@H{.1V篶1xq6}QrLrbTbRqӻת}C !\jHZ1Vf'Gθb/7cxxԯTnF;+[[ᕻ|8m_blsȿI1R]י v*5* -!i9Lqaˇmv}׈YX[>rpQ"M'4lΪG"ٷ _KG*W7Zmqs i23vK\ 5>Ee+)U ~CL1\;JV gӏ!didiWh7/;1-4"_ãǡʸ\^ŶP0jJTYSZ-E+h˧$ Gt^#5l<ڂCvSjZd PWqԆ Ñ8GkDJj#6#hx:kLڙġj7MECg̝m4K0^YГU};M3YFǖ!pA|&ua)R+Ix$z6#DaȘo Kh2f@Sʠaֵo'ޗhtַ}p\d.W/w@h^_/W.1lsytu#GSCƎ*zb_X}>;XQ=ޣ+FoОMO_RT'r8 w~z΋{H,1!q,7 x(KŸ劰aHF,˥$$uXg8dmC =Ϯo,Hk<%PE%E3э|"A.8Y6TTQ]MoQ4@ e4piuy!K aLI(9m9ϐFsʼ|U}iXn;p/ gZs:2.{Cy-Ԯv/e[r3Bl,/ hE;#"nW>_y_FΖ(zОҒ쇭_ {2bpE{Q]02 w{rXLCP%MnIܢo\G6=dgf`chN n@eZ#Ȥl1Cs0uqt_ Wߙj`rc w7.( N "UGE qm&MB{"2nSJ$!2d@^g݇w<b/=[t^C2DkǢ(vMͮx o<'koYw~Y :`KmV8%|RW$RW G;:JAS|)EZU2&.Ui~sV+!=FdAo۷z)3qt8rlM47vC`6_8⣌n}γ:AόK!&:4 %q8OӷTrv~5l}';ux#mr<)1Jg7ldܿyy&ⷃV~Vẅ`plXo?y%/6w{ zO (⿾>*ۜGGD@X -# Ҭy>5n clь wttJM*l <-^/x}/elwZf|^mӵ%KW[?#}P>>?pSw6*/ρi4G`Mtﭿ~?b#E\GX5:8yz F#F!//aAJBHhleDQ~rsKypg逪X=(P$ɻ 8^ky"0 FݣΦ0ã87ÚdW@tA'|!dNgpU*Yd"$jS1sL&:gtϢShx.ivsXh ^NÞ!gB4R1СZ1G 8J48*G=yC1+F'yIt π)q́^X?)l:$°b|23?܋M@4b RX!uJ&j( h,Έ4:`$[50L V]%g 3tYσmYg.T C%z3Q7SOfuÃl^Օ%ЅDNBZ#;ai !!Cg)+d$/4fYf/?7`:5 "n85/lf$>JIUE"h&o?x0ۈ<˜fP'#`e:}w<<ٲg~V<5@hLpFĢq2"# .CpGEUĪ#0 YꖏS^8 ĈH߲^:nԃX"h=wʚ>=Ddv3q$#X1,#/'f YU(1D[ kŬ-6Dn(aKz'*G4$,6 PܽT, :@Ǯ ?#!i;GpRKy ?orA (OrFp6(Z {0]!g,?9;H%G&蔺Z N[LF,J'HI 3SA#.,pq_$kfsQ)8t;y\.ux6o]*ԻՋ&~{\Y\cĚ3F8s0DIo6~sKNƞg2C 4vh,0g S'7(G٘ t.f:rp4s:"jiAVmYՅtg5*)N[[̞y  d4 M?΄jF1 ,uec^ʋ[lg7֙ µ ʳo1fn1]=D$1Ko\#^:&h bgGB1&6+^- {C |y{wR6eL0.9{?RlȩMm^>$q]4]wEw|nI#qX/ʗbv'EA륜qsչJarͬnno2cWv W=yL4dX;\ُ36Z@b1K?Dc@^u]L[,#z2TV8bA% 7 0gCt8areTvT]r:?E. H9,#(`*=)+k8 8<Ѣa:!FBgDtP Q `ip!Ux.Q1΁^n 3z>mVBh\P/-1F7,0zX\vX8ia´U7Nȟh6'V:/RQ~3î@%TW6LFDa缵Mk6@(PPBegYoQ$l9`_} M.s'Z.% "vStFpF8^0NW tpI'c.̩%zlj+-.%S}e4jE]"n`@LYn۪Õ N#"pׄDX:݋p:;8>W &JHWhq!˝1b¢03Ղ-k.Y 9_^q{<*2vl \u΁\lDX̅/`ddGq~C@X0f+J.l_N BB%LJ0#jJ]\\h!pD9{-c=&C;?G^FlDBi$qL&tǓ"*p0Vp[Hrt@ .k s,]X V?`~bPW)#J$KfNʢ fz;pFޱC%LifB6Dx!L7A#XZG*YC@>m'6j8=%ZB,Nﮘ@RAD wY{$?Q2b&FhN%6\^v]JX*R_ &bi¸ˆřd ]\bl>]!Fwwt! npxi? z H|%m! #R$~`#+'QN#{']D"fj k|~vMB]hYbt-ږ}=($Cffvx6 p%N 9K -mhhsHL\Y#g<RL@=Ov*d#=c& |{ #N U޳(3"em@Jh1-5ߩX [# ڒ`%/ՏfA]O?$7=}l-6q뛟N1"N5A\؈8P:ѕ-(gyfnS73,JL&]<(dqհʒ/Dݸ X s@`0j ˒␶v ,}gO_m{]*CpK%Nho>AG% ڒ(-:"1Fi'~ FVRTwU ˡBP1kP} BE»bl'E3*J,,x;CģJAAGYfOׂwC2 MA sqټVgsC?de18)Px?j^wqԍ@0-q6yq!V}km4jdǭk c"-ᱤe9rbhd`A06+4\b\a䘙3A6{,2N^@xBnx{{Dě[H'[&^^{luQ-i_tg[c|#4ʺB_pK,FXF 9-:ү#5rO)88:Fǁꎬb\~]LUg24l)>]f6(Q~x=p k2PwV;,K] `L#5N9n9AQ-!eMpgy bq )$jKp]",$ 9_W;`>bzxD׎gb.QysT`L&BT`1faZJ& >YDj'ɱf 4yt ž,ÇUC25%"X>>(nK e&lK !T]:Rw.k4Ϸ@NRyMfpf5Ĥ i0 gAByreu̴o-Oa^٬!!-HCϗia\$ӿcv*QlHkNj,+W4f;Ufgw1M{l>8\p1|3EflcINF)7\=rwkR #~o7T#?V/D(BeG6V0( BysjB8} U/QBhpFpg{E f1wMf3c,?R}gwƗW1x[ 02 qJ z+:_n&x{ RL' d.hE%nO6IF..KUډȧ 6΍o7EZe^:]Zy&!MtϛF:d+`7z*5mhGsH8s"Z:]go0;r19c 966(r$-6MV;*TW}Akd#ERz1Wx atl2>6aϾw@z`/!/z;?˴6+P&.>8%ΨuՇimt.j ߠ[N̴]xoo\Ǎ[A[GD0'+G\=XA=VN;찠}`JRlRaMO;Ag5ؙaʜ jcn6= b)ƫ$b,Vxv.L$)uxr_uY*ꚉo\[k"A[g6M ۖ} ,Vla2ʩ>"Vع+Y_qqL׎4:7nT0ph\ƍ𦖤`SrK̥2͋aUp&$P`xaw|Kpb+kPryTYL&[Zv+KGF5pQq@ܸ< a7$(ˋZ@3@,T ѹHLzbyneˇiN!paHj%[1ki1lFvܰBe1:]yv,LQ_3Op,# [Hܤ\#!Ns>twNM1+CS=&tYig+߱JԤ/_ ɰOMVp~|Px!e#m4* e.Z1fpF1Y9> r:zq3X/gV"Q,#.msYp5ufdC88X! ̤0Ϙ-P1 Mske3ٞ9QZE® ܑŗA5nmXz\c" ^B0*y?{ι^"4@&t^#m,gh qZa0u &:$MZM6t)PeAs@Eل"jHbD"KbEvN@ɹkӡ&(M[mIW b#~֖9x15M,m 23^.ܒYU/P6Ə KJcNu#ro B󭼥B'OKMNo`6jh1Uuk{QI# c<Нee{>>Xx|'~;KKb&e1i KVE:Jr&O w|ϕZ PxWo+Kmn>r1RdB1^&@v]9xɪvhOi8'`{.vZ}U_gQ HE@RVNf ttu+ h475tZ4j]n^K(tV#2վdKP^>NH!RZׁ67^c;66Qۣ&b]>U*ɈfVpNO\YQ3j,Q+V>MLa$o=(6y/ 3rh,gQ8[<G/Bb[:̉l;h@+~]#b(Z V3:}øF"uXXatLC,Z6 |q\iSO&sE +5!âƤŒ{<3utVꌘeJ- 3 n\D\cxxnDnk1xDM[ͫWF`Ekrk{[pqHф 3ua4v r#tnAfБ w|K Q՝gNcfϢ3 DRM$l;Y%3LSdg+Ʊ0g/^U{ ;jn}.\SFQ ˨ 1QB1Wn4WAEݦ˓hXK8JJ-d{cCs: dq0dn]Js4)X aC[x6#jcD/*(prV&bo< y|aH~QA</Y/Q+̋I|+ e/n oVg&nNJvwW{z_Ud i :I@ Yl0ENhUJɤYNLdK=e0S쇩 Z ނ-:"3/Jt!xBx4hfeBQapqh-A1LV٤lfYge+UF!2cND-DFѪ66d(HPkRwʱ\eOt~/RDޕ*̽C@7--v$έX_pqA11\fpA#9n76Β̤ xƉWC82ZmSE0OO5|Еڢ7"Om{[n+l3nh[&R69jy飗XU k $A`7W`V$i6`>HkMtqyǑ 0ɱjD8*/ a sbcW*ј&+ 9HM]5ŬXMsjA$#Ac:HV&cl*'bLj𬞕;@,lp]vz`I:(r>"hmDB2wJSCU4),nvܐU]|w@I0p?:/xUO.rgzhsMJP24@<ᮇ<<0,g+\mȨyOr5j{zTW#0FmFd/.J46Ф6I$=K/ܷBp›@=Ig &+{.4Ν[_,. i24!]QZ[+$?u|Rn;pc=u;C oߦ[W__|P1V;Y+~zjY ֖גVϚbb/٪j o>B_H$_8oX޲+T dB/~c+FċEF+|faZ¡]n'_1VcTho1|3qm2Uٌ9^l4A.9:f`‘=(ɉB2A 3mAq@IbӼIkQF ;hнr=iB% Q lJߍ8un/[.)` >ӷOi {z;VmsUFػ"f9's3f8L)` {4x0'8WWSs"j-`k=vv*y`moYNנ u9dnC\m't`\<;&X(b)mmnÝ UIIcS5)4O".D4d, a*1\qO|Ŋ!)UԊnen]{:B騱V m_nSFGrx)b!CYX#KTжo6tQr/ oRI*'bN\b"Ħr$2O\/6X2ic)CP@3qUsXכFLUK$9u%j+ D*fE6z Qq.äŹh );#+!/. ]0/芕 # / GHmݲC˭x[)ȼf6<`" t/WnM@D"apv$XEx70 g2֕8rvl'bh]%-l0|W@v`-X g4sTֈMbrg`>h5xw\FV9(h9J/ `[dW=Vn)yp|V%]Di)H*. ͠Z9:1qtzk}S|$G'Bh.xAV(MCCN?yq]# HHfSQ2,JXvr,dGAo~}ץdd93;"꺬Zw덾c9+U_S2|OG~/>)5r ]F 8Y ıtessgV[Pjqh2WHQ*eIY'rݙot:\\oXv.҈}aY0_:ٷx0AVam^I%NzA0ȍ7*.vۓR.Lݭ4q*7l"8ȁZ fD7=>@Bi{*V\xj&)+QV(#o 1i?D7;ˉ19j3Jحc:M0th 3^%ʠĆ6,=iT V^;L[GGЅ7$SXޱz.w^6TZ٤E (+Sfb fYs6B\3a/$_Ct{ڋki"r<LD-3*c"$L8Ԭs˲rZ t:D|Yǰ UZ#i\kQ9FlAdʳ $yDvclΕA}4&:qU;b"`=,9՘o{ mLR#J)Ns-.@EaQrr6(IW-{A"$2_~# kyo!W*IZ<@av{OHm+'EiԈi%Q g,٤c&ѹՒ؇0k$y|8?7\X$Oz@W*xna_U VAB)%HJͦ1,ۇ]~AYdg'=t枖y*իtEᅬb"~^ޣqPj={ LF@ C]+x_WksO-8ɞ^6hsڰb*mQ2-*4إ wޜMz+bcG!Ԙ nX_4NA5)_Fe.+qcN=-)v^> ivOgv܎g=vl @im*FSDMtJ]茩-qi|-ɽ혍>@@v,î:e[ ֔tVsiP9s!YaDȒKu9 goەs+aq |RtF<ĵ:6̝f ʽyf2?:^$ …Uw5{W/0^Y,UBӷ wIH}WwL \&U5oEZW91-E¸I3JSF0wUM;v]t]?Uvסߥ+t۴}E2=6ͽ8 :-S3YJ$9rVWd_4;4"nIqoKSM?x :k2BQXk{A-q޾7JQ.3ֺvd87 g{ 8 )1X9RRne ̉0Tt\xWI=ὣ>RhO NEHćPhEZ'!i#G6(M:?l#2[Q@6SP E}8@0 jyۦA7oel,qp G4-1 Y[b^4[QϪg z;[ߐ.|^myB^I5˫{TA, o }= TnmTFUܺXnGjv,ݚ0՞߿gwrq3g.:Va~TU{CnK\WN,7 0h7dԟ|L-:aFfe,\̋Ӫj+z.i-7vq Er:: Y񢭽o*1[/L~QBNJ+=\ΕMcyE!~ų'hI($vpc]5aes0Ո`Gy?wDT:.ZI[LFZAN+,paμ8v XNڂH7hcbz> 4{A3ePUt&xr^gkK,I PxTs^Ε%{߻yTbIW0dX%`ܹ"OFvtvh?tTʚ,.w?ם Y콩aq&R>9E#R\r1:E{`{@:w#]:Q|J?s2v$yOo.whԿw`A<+-ǨCPxZf .G7y%#F-?\:,ԹxSU*\_\VxD{cvx*@)n$!HAk n& /ti9C 2IgHCaa_o;':w_t9SJGWS- wI@ 4bj HP=OE'p Թ6K#67|{ճ{+9} 1sb< Kz6yJZ@s| v|!oyMrTRf:Ab~>FJYmhi͂?EY9;0g+1 pL 8\{M @Ux{ò)sga'q4J_wyY&:SDR43*^AD*G%՝y + 6IVt a-N¯`Q+Rkf*mC*v"4`+تj5SP̈́ǂ ӌqWL@Ғ,b;uSQKTOˎ3M+DaJiMIU9#dP3v*='gj|^\!NPvli)$u RmXDmG -,0b Ld*:h@DԥfLm{#ld=|P0aUMZNVO!shSƂ#Ql4۫S/d(MixCZMF݅|(y3ZM PKU%rmjfmwP@Ի% =Ӑ:Ewt r%-k&^ݟ3j8@Sw !AԤ$,-CB hW%IiXP^HR<]ɩ)d3QEeI`i[qThvXWa`*U0/&ҮC+w.e'7h,Ǫ"$)f*aMJ _:իW{{~mp (kgs7`󇶲5Л`!ixOgEl~y &Ϡ bAAC$dŞw7#Fnn<ۄ'3@ix$igZ lۺ'p/46V=^ݙ<]኎fQK^mO_""1'L^]ρZނF-ЏޡQN7ڒT\[ʊN.\D[̑ဴC> h#~Sעe奥2Ro:]iM_T:(J4捖hΊo}v#ýJGfv{98IWU2S.7w>ʐ:&Ju?Gu?ʘcn>8BӜYm ZlON7X]tw8x}8?<3`avE;ȁCǟt3ZFP~EC :YYaX][Ɯl,)gviu+A?Tfa~g*ҞL#]z"R(-uCԨ=x˖͕ZdLkB6هcݩe^V Yߤ^ km "7׋$^eSɕO_/Oݕ dT/'{ylc!?.TPvd(j;"an҄4 :G;+ 2 )Y̲ǚWW %qr']]£Nml%'j|`y[=Wv] oȃ|-p#f,hvk??,r⛓5%[,KߦB&~똙Ǯ5zQrKyۡalod hLDK|ck\o=FzG4Xصac6OGMS , 1N .L%ssKH q/:@wu;!z̋\.zܥ \഼K]ǔ}ۼ8[k h4R漜Ҙ3tYQU1'%r+nfj<5ղk;d"6zO1~z%R?HDW\{%?d~?< ֽ>R0e,T0QQTM;6=WI\ 'hkfi&>?]'tBvώ_ܽcm}ыt Tq06SǸ%K؟}L9w"iRxfSU9..ݮEōğ ryt%KCjڪcD^eD$ xhni))>/?>}u+4Z)xx{iDyBJʕ`TT+IiMR\Jrg%+a/*$Y´Z+9@..l<`9U6h(0mos0Ȩ֝Zpb6B:km{]mDeԡd+. AZњuػ٭Z+WQy54T dPKΖ+6\VEW˜Dr@aRPh-G%X9g墪oLW(X[S説-iEKfd:RJ6R4N+8Bf&4Xr\UUR UcЊ,t1~B1A,"pLgij{X3"Ier2!}I|+l¨-3.D7jpW*ʪx0nO -!_ܪP 7-;\NT![=WVnY鵒9aN%i빋z0.΁Of5.N w{XhY\xJh0>B* ^k /) aϚEqul!9Cv1  yd{YOR$, rmA(L?!w}{zO<ϣB5Ǿ4T?s{Qxetwԑyf3^aTg`|^"203jQ+ fMLPeg<2rEQ%AIIj6̊Ʌ""hbF{RsOL7W.J_ׂ8Ny#$>#RY%5D`mouFr}!K^~q'%,D)0.΃J-%Ja_SDi fцAq7qxq0ΔZ‰M]%RIPSCYÖ#_Xz_)!^nCO V8eͶCC[_jU2s%c0()sf/ip' wx\v‹ŔZ?|&~N˷{zZBﱫ#x.:0RspN+Q]9GkN̓u(nPKrf}rmʰ(I`į ` =!'; 4 9?o-{ s{'{8Q@4#NI1rh#6~pqxcT`(vr7M%uSf<NzIhs2oAi,]HC#}n .#R/G(t2t*,VQduF hb"HaIw4Xc 窔(vMq:"^MT"mR02t3Udu$PklY/>†lEcA{gۆTf,U6>;mx1:pD)sg@*Oq`7єhP, :5b{ u޻;~^n!c* YU) QzVyP2Dm ЛD%n7yLo(LHn=ϐ|xs?$κv'qthG! h@x$ gqţ*&.H,+3KP|o poK6NrQe Y{TUxX7LB£kT& ſ:MC6p :iU6#IkGP&BOQӳqS3"9Oօ/Qq9;SSW:;WuyA]{چsE<aKNQ<]%fhxAfQV?. dr=PR*#GM=iO| fq&VR:6bYi7¹Aġ, nti0m=圿 UG2hL'DuB/pEbIт'=( (]=nЃq#(:G\[:2uE9% }&;V<) 4nxS \tR.TQLIg?TӷDGTc&Iqr d +Ju(L?394P[OxVEփjw,,TQ]JfϺolPx͝G?}KZNby?D% .G)<\׎U+>1;QQ@"wSр%Ýwe^4 ss6%_$ݍȏ?G~ޠ$<Ni @:'BȎ:GgϹ^}XEv82Rϸ/%UJ*l-4UQ*ikP̋w1yuY_j9W*tK~0V3wdT|=jX[ЀײbZz!ielɦD ' `&'-wNďTu_R ET#fp%Z1qxx樂P}N´kl0PtV!aK9 LzJy1Ru̥N|v o7XWe/0|%, [ +a4uR汴z,9LM0bZ3v Hk[^U$pKbMaZ[6ZUT٧,jV9Bf {0nFRgF)t! 1UAU%)>GPBryve9 fSʣ] {D79& 3N^U2LdMdkFW'L..J5~ڨ׹wK\hqQ-Z?2lXY3Fչ,LLjv*_zJ+ @[xP@ hۜէ ߨ[?XE*(tWB뻭| 5`֫OYH5L)j8mO{2=VDTW_ȥymRϢVg=|f.`ƫ%wG{S1E Mp05)D/EC"S<Uk ݌2՞;w۷>iAj~m0m'0b' Tʚiu+Hq<=/q_?"-(?, `xH%$=u{KYʖS$HxM_%%ZpWl~m^ #6^[™ XsvՆp҃S+Z5SHݠ@/[$ YX¼x֎ D2.ѝF3H\m`%aPc(ɣ;,KiCQv UZ\\~Stmjx>w|Z<䆗\3ۡ™ flFڐ=ǫdrUC2l4tP5U8;y<ՊXp/d3]VBk9hG3RL*snVt>ouX0x =n#꺠}j-f ?'xClZ: Q nm7q-cOS[ iv̀wNeRiP0gȆqGv@H h4xZK$޾zkf@iwk+1NI57D|nEQ6̀ՍzKeSy&hҚuX3/TaxU iK}td7-07i(i`좴&sg* <]AQ GoHۡl;QT@7䭝iAQe_jrNp[D39-~}zi l<V tv`t qLg#{vA@fP Ѣ)Vd_hbHqȥD\ Fށ!aW Wo{ F5@vW-̔ ǡkQ/6~N)f\dLjؙo2)NƋü`T]LsП4)֛歸%DG'>S%1ȳfs0M3w9KrGm߫z0wF5rr?Ѻ)S|Y r>tejA8*Dε d.%J&}d}):8T/`G?{C`۳,ǨfY$ZWm,:- U~t,S| :xcp"}p'M\f":R}<: a}uȘʿ1.{l_[nޕŪd魉Dz|h "*|23QA^yCyQ7R=aXϳ jury΄sj^lz, 8fCW|{g '[H񫸗wQBfӱ*[SY٨*r.jʏZp{ @8ZOop{u ~#Svw56 'DuKA?:I0))՗C˚v _po^֣Qr1E8o]x6+O[٥>wGRԘdGtCwL߬oF? |d:m$'Fԏ+D:t/.OMR3OSt F?>m?Ŏ^+, /Xo*Hy%BM2[~w|<l\n}cNʶaK|91Y<]>F2k^yTQE4urBB_gcf_R@q@Ygj|Q|iZ{G+KjyIM#kxy3 ;rP"N83qZxWV拉|^*Dc=}Y#KI"xIY/l(;bI/־^ȩ:]J<%7oE(˧v}A⧕`VX%<+zZ֨FYHQ\iNd(2Ax/ Ͳ|o"4 NBk 6B$J;qZ.z/4|%ZS1b"K)SQQ!x=g]LtoDjz'͡$RJׯ'ꂶ -1Ӈh㨙KbƸ.\rR ey!gb1ɖ~)a|iz 'V YuqۓwW>xǘTWM7wI\-jWÎA zh 2Nvp0ǟxhjze*%EDZg0Y:7_|]ӑ%Y߬.-C}Zo<$DC 1^/ 9k`/X1KIn;zzCE>Qۢ73gܬ~'R?Uf(q,}@z ,k[>$7J9,CA, *#!`t;hY(MrWP%%~GH2{rTpQ&/[U]s᭭LUE8`=VqQcQ_-zwJ9WEZRwv_0VEZʛR2u#,ߞ_KR>][ yUQ9SP >=׍'R9% ˆBذA@pnrߓ3 B6e~em4b\Fe(^Q%Kp&2.D§@*ȨyQe mkEbz&wXE7} ӫa>a;Lۿ'&\M Bz.+IXQ)`f ,y%Mxa.C?.l@&|}kYV`MHTno]B9|uT1xmC׭sI%dQ B(#Z k`6)K''vu┮hmQJIH-\?ƮDH Vb$ٛPFo4c¾A++K7:QiN0mh㯾}aO| bvR= Y>66|} EAe9]{m`5C6 VR';ɗuf+]`v W losd0YI'2v,A}4Ȁ9|Qv䛪ZWX/VKL] Ft^]3/"[QbR5 iޫD(sirLMux5^fb{ˌax-㤳8M~o`o7jVvVK9S[B[.y3Ql) EQ"BQtԬZH]=9]d֬c2Ni-?9KFΫ>yM~QSU ̥-Cv_O=pJi(lN,5OדJ*MvlL l{%[,o=l.Q+r>GW(⺍rqC11?ަBOsxmPu6)\ld]QKg4miF T\e#`5[QUykbKzfqwruVqǘŚŢiRȒUs `[Ft PպK* RT[&L5NLjH,[^v8tXIv岱-0[=~i;'5IYXfBx-SS(0$pG)xbn~Sd6h(a.0b)loateQؠN6)ImiӼi}'oyhV!/ӵG\g{K3iI'=+*UCvm6b|§CA;1Xؕ;1{GSQhV(exʫyCȕZ[I+-kң-;ŜX\4An8s|q X=!ڻ7nwrg׸Hc&v[v+1uz|O ~Vj,c4ѹQ]`lef2QGP6.+pM`g`*3V'"pغ :onv]NNvH_6f-qgUp-=Y6E5 7My$e42l5_ +k'^kwU:g~8B`moHET5gGTRLDMD92%ҮWO5JbIc8o?]JMU*n? x vfd*qWfE7VOܧ$޲lKvI"tLWy78VlR1ACǂ:)6J`+++ Ez5VorVޓ8m+f  @3!7$؇mkI_)h@oYkbZ:a~5ә[)ˉ_gA̫)#,3{ zv{6Sb9WΧ CGQ\c. @ݠF*Hk_INjwS,۲YeWS_\$VlTlAIiWǒ|چ6nf7Aπ]E#ykYI;(ݰ^km_Oh>>w|?໣{{wBq7~("~w;ѽP܏o߹OqiQ=:hBܓqwԎq<7o3aQLVЕߡK^r짧4ǒS1¸C߶oˮ]J.aF|ŤEZ2 B<4[͝屿9>KiVhjrQ 3!js_LBq%*ll=Ψc2Rˉx"1hfSiN$4=%ܪ eDY!Y5 cx x4S2dHa*E +U,?179 ,5du ':j?{S-'Z=jlb\O4U}0aTyt(UvUxbq.t`t'HėD'qtDJyF1Ӊ/l[5m 5e$I׆A)AhC !v w<FcS6a@bjz+vUHWn+̛Odh~e5f/O6~*`Ϟ_1Wv>#6 /o.6Ôz&KG362AWap!1d 4U^TKwkh˘alߖb_p'7'տhzvǺ;qIqs#Y7sA3}xݡϻڽͬlgXϵ"&bK5[=vj&~wtQ+Shrɱ}Is/9M,]TlR{!:iӊ6YE9k"P0+ I(qj4\=Q%$gP4m7<(lq /r9 uغNayٽ?Ly.\doqܩ*qtI@-D!},|aՀl<òaˁp%uYI8$QQ Uo0PQ2W$>?a,حQdM)ѣl=soj{EMϹ4t aN9}I}OcϢfOwDE.Lj>ЧT\iY^qjQnp31u36fX~aI:d4*$KJ(44gpWd+a{ܔ{S7@bP>8_eU`giA|AŪQ7Jna/dyAiYr_^V.퟿{6c^}'s򢃩z@#Blɻe.؎3ʜA]EE / C(F4C+#G||RTbT>FC/15 -ŊMfe)FKv8; 6x@DjirUHYLJl"9PZ&?q1+qW EH&:n*)WbZm{9ɺ Pua|:)9d']JvwnDc%~;tx 7Y'NL/ 8Zˍ>0x6dC6tr.;хq`cO -\/3b/ٗЈԮlxRM ,Z)}is$Mɼ,|vg"֕s|ݬYBWO;{Нf3鴜 z`xmOBzKBW˩ $tuyo-d@!dH7eKQª}z3MCpZ:-Q;+XV7 u4^'kZ^j;WΩ kd2UeEC\lR`N<5Vq&dd"Y6Jݖ%y%[1+vl'rLV $ Q%IWJ+4Jɿv<_d˝4UEn.#bB5@`0A! Z SpXUv~=t<UF9;kx+l,P^‚tPތI?*V 1x: I!^rQCQ;Cer a$. vyASuީi! ¼J0nwg o5=]݇GǷܽwqEqw_ìj̄ǰ֪i'7J~K)eb`yS:d4敥vTiy4CJo*Ğ 5m7!@'W]=簶l#:1 զ PQ猆0*>jd {P. xz,ihxD{e, #/X9 9ArxK†l̕3Ʉw⒦ax#H+3i^j{)/2hF]DZ | =~ӣ+Q[TNkӿY,jAvM7Į/qZ`Pw `|K8:rY(r%> se (>ê-jщX׀u'ug$ J)֤0B=XhaQ0KraI9/3{ `|IsJE-2g%B`V;Rsw T{=\"=+jIY%DTKeE^+;u$S>]|{NgͥвB}_q߳sL;GF]f?W}ǮKY=)N2ͬT:La1f!Vtpa|`P1p.~~`ʧB6;=5 o@N\`HohY %Iٟb +WˎFL>tFRǹRX~u{5nf/̮ٲK{ # f%FrZpvPjL-s?\ԍ#gU) P\NwEFqPo ,2F^ >+}&z{ #roVbNrG>jj'٭ 1063nZIBv/QY1 }Wq\-Y"e G*>G_%,LHҘIy˚t%ʹӊԙIUS3L8=ǜ"#DE ܓ%8Je{ {q~ghPQi/$~CG'A#I_Ht1M8QA::VF*9(FO qr)l=2,bjq$a'I^ {Y9V[ jA>+â` [ϐAO )"**BD4=D<˂Wlz]G\Ğa\Nkjh[5y,Qm% y <~/RAzYJT;xU~?&kbI!<7ӌIeKw$r"Y͂A-K}i,CSLRIInrNȌR9AC=7 fI+(k$IRgUs(5Vf'^VrvuE>"KHL5bA(yЉPJz$ lP+|"j ^p@9HnTz%ǟU _aѭiU]V ǷJ'% Gq/xיWyx5uˆy| ΪntCgYJyWFqhLAܣ͚*\znDChWq_ZTWm]ѵKΝݬO2+{J fvH#%{gpe{_YS 豓zY˓Cy-wh)f{K5{XN}R Izqv>f//7,\ )9Eq]o)l9!=P P qN&xR1ERdeElG8/!vi٪w@:S frey;y5(zQ}/2^g4ͣS6{2{?8/94d1 .jڑeX jk(:Ѐ&e?%IЙ<2d6YIҥYPF9@Agm_ePEWYwݤ:8 .MqJqum5ɇ0fWYֺJZO:TeG%|DH\[027#ij@jcL㸮X*R%+|֣_0o\~TGFXg)^mqzaБTct6ǑzDdU(BCwLZTj7i[)N2iHXPZk<}){K0/7OQ?+Ż ܹH-; eWrgUDR G{-8m5ϓqHs,jda$WĨSu~$@ %\`:J m7:4W,~L֡Lּ䳿rkk)sd@ңm`wȓ} ~mz 6ӒB+?3WQ,ݘuh`b՜ȹW5^[5y1Uj8sy6L6 d13Ҧ8D쐉4~$󰰏bX\o҃N:B KU=sKnGM|Ayc3~{eqbsy'U͙jB]ʄlQC.1KWxNRUn7Y^񋖔}3|`W 2k$.d1?P#P.mwN-F2|}U_hFw2aO4+W|jmxaB6Ǖ3-Nv& o0"uC K]݂hBi#y9+7.0[ JMdGQG~Yc"Ea:뽪0YlqZضZ%-騵t_=;i*8 ةw'7>KEYC*̹/MkK.6.`,;&Z qp1 @V&L JiY:,!#~$EN֫݋/ĸs$3IO2+ (zlC%^7N7hO&Bb_Y>Yҵ/0\zF>4y; zXprfL4kSkv+x$=5<(h8KmB* S˙pKޑ^Ʒ},\`*EhѦ~ز`zpr\ "(VfS9Tc{lo_Gzڌx=D{A¶=񧦙^UJhq}/Ђ{UVF<ceF Ֆk#aY IZ]!LIv\m낐%^-VM^Lu ۺ]ptZj׻̛,$K2iHYt{r73+YVq~ULWkhl)3FqԬQ90=o_i@ԠTOWW ɗGBbn΄Ԕ':_5g%j*hFe}\~TBK0ǭ<@r֣.Lo !*> BUT5KT0Ř۷hWq@uʹ^cDhׯjB_HMG-[rE"Y(l@8*γ'9t ^=)Ok"xL4؄3R$"DKHw{64},`4HG٧FN~M ;Ku{ZRPEYc#%"Οfڜ_ YE%9{Rϰ? o $|}:ǖEWZXLȵo*ZjN~*0A+'5?/j&a)>qAjTZ9f Q!?WF)k L8,KSB=ujCW,cple-|#,~Z7ikfQ%| ]0mUd0- S˓e5EOlLJyu9b T_oJ?yF,Lx\HG B6HxzYO /cG%3Ieݩ+NQDF[1vy>gRU%crIlWo=/b$nW4}P`Jaș9:%v8Jt7? O km͂}Ş ^ PCSq'DevIc fr.2;=:gT؅&<\U.ufa`?hǓYN dx3~4+bj59884NK0Gw4EiB{d<(weցx]WAx.5,K\sP|egRtX2n\ #No`^pYfdrVza_5UFO}y#k=;C;&@iP/̤f^mzYTqP kyLL^~\"wM֟ET[1u5a6@r?-_Yvv6{ VIt)ڶgK,6C[e+ L/em+$)Bh[+>U9o/3wI7 ]j) 2$ܟkZ29NnzNV@!c]l0RT j*Q78wN[6̜: 0=lrFjrADh|`Gm假aY/ciˤ{YYf<;<:]pe8$2dN%_l?ߙq|<ͳZUoV`)1wDD(um'E-k'1p\͟FHt? 5<8Qdx!h2Mu;{;  omU.$Aؓ{&H"紑DtsbE#J| %\!Ш's S+w]ƃ`K{&a9%1h'ȃ9sz]3ś,W`,u`Fbz. 'u Y>v2嬨֪4T^lkpx5I \g%b] [E#ءߛumo_y$dAow1nPCEۈUkO{a XP 6ְt4wٕ[cMz|o B26ڴ0:f+w1wIIRJz6=|jy`Θl!ّ9G'n,+=*dӂ2/,97 c|A}x>Nxǎq %$UKq%?;u[_fX%EڨJүSt.YK쯩*0{?f|] nKk: {e|Lo$^wamK?ɚ$۔æ e9_zW'CI[ᡙ Ʃbma빴-xZ^5xi7AALwШDe%Uf٢#G+f.z}vȢL^ǃ-%yީ23oW? aWe"V0A:k;fMKԱU6X|efJu+B4?SXvsrtqٱvӭSА_ 5L,P YYPm=IY# 2,zqՉ~ _B,V*).>!$!U5*-qYS %*E6x~GZJu q+ G@B+8c,?dU&_\n>W_w~ )BO/g8';C^ZVA}v\q=|w=)a[NTʼnG=\(Y*%Zِ禅sBg1i?o^yI›7Uxg@f3'YN5ppsQ2zQWW/Ϥި &euޠ`TfeF%մ1JIʢkܥhJya+f6\c>ݶo< ;l?*l{fl JmX!蠥0QD)S2)b-qyh @kݍ{,ioO,n''tw&ѧw=LZ9Mӕ\ݳ@hamLQYvn̓s@3 ?*JfL/nv HaDBny8+yaWޙIOibڶ ў*8t[cՊ浲Ձ['nzgh b֩4%vd|5VWhsC& }v~̅Hص%ωvt>|ocvjX/׮6Ei>g?rK]evFY d,)S)ќtq 痪7)K&P΢^FcILt-Buti+ x+C)WFcd0p6}P$r~]8H?@E-Vb5R"XQLIh?0\q΃p<1gԀI- ̆[T86ՌWR>E^sMH#eqnՒ'P&+npoO1>ߨz7[$uXSri{(g3D<0#K`a S>2E]^ʾܡږc!ey*vzTOn⑕z/Y\-ۣke-]`o%Km̆~<<8FL9b~Mtf6ᛞ{쒦˃tetugf%M)''/Rb/SێnO`,"e+QOr4I&=0Wb^$Xj_t)sA0vi`wȜݑK|rRKX X bȒ^Z!t"V/ *8%f vleF<*/ȥVt5a:wIӮȻ~R/μq#m]fuY2RՐE *`i;fZ'KS<%?:ұېm筥cgz~< /n+ܵ/N3k+yRQr>`4Ob)v" "P8BQbbP\?6sf?913XܿAFDs8-Ȑ\NVps&r*L]TQJT3YM箬Q|,_1X&6JU3,YTEᅥ99/ rmIn_to \JeR-XZd*+Ž޿" S'2seD*x㖰Zh uOAW7*:.i<֐"hq&**0rO%39` 3u*TA 2IV֫fpj @8]6-Z ~Zη+TF-($4dbQWw[\;cQd+w*/ w3*!F&3@ZMyU5Jskw=jfs5-ycYDJƣqp9z%FF?Rsk,Shۃug1]9Ƿ&~Sta yBRcz׺jl$̊ `qR|m`0z^a?jR?qꮛ/ )E\h 9{nf:*ZYj .MZŀotoVb;R M-,uDZ9DS;QPqu-.0_Nag&DqmVe>I"HoۥlGɩa5o,ui\[,I$X#i:˥%UgHE'HCI ̗j iؘQqJ%5( k"tޑYy6"I}|Q,Z+g)y׿96̬IJS\07洖dDV_#R@`\ЖLא^vnzuylrWgrlv.'ݳ'kv^Yʕ:pz[f{q0MW싼LJz.>z|j0^Rv}pp+9:VR5-x D$ ꭤp/BZaϻDq2ʉ״ KU+5`؂&^,A,r8 #VMtQ ;Saޅjd M3 }c]لMKhΝTW L5*0f L g4¬ׯuYߊga+TR ˫bg=C0[ ̰;nGCb={P+PxlIAw%|J RcGe=^RW[e+6W < y* WJgT5CTdW'2 erۆ&/+d'ƶd5[gG1 8<,T-oęH_9 _z]t.DmNau!5yi./ř2hrKkڏ-aZB:a>]ŐJ#}jU(mKB%v7s藢V8f&M@)%y* ~y;#a- 'Ⱦу_~nHsXU G[(4l7G]D\Z!vk0Oj&G{!;LR"8-<-Ue(ge짽}Vc!o q&-/ (c˃? _4@NU1ןr aqtxx4DRrڎD~==TQuRҎ_vȓ!#1OŵUuytR]5%RE H3aJȾC3|ť#N0ymD/,Z*2\U :S FU/(d0)v~ XtJDzsgE,mj7᢭ ] 7U\#SSJ|rM!CcZ7U[qƲgzJ"ܪ kEq7.d3X|LurW[Vq|U$d{U#f( МKp̹D\tg[8٪W!׆R"ET郑sSǙa".!=3Sa^'.i,j/{ɺc<'}+k:`'H/2/n?qϷ~4gLhN-F!rYf&F)Y3ό7>:Z+n-^a,dgK\4.}l,yeYNh\"SXJI"=DqmT9lgَ$L5.Z"Lop8WEjhP}$[X&“.xb9A_r2ð38UfsL3Ii2٢$ aCElUOѭi}]fӟͳefdhCb20NoWJ53׀jI `ld-# hiEw;e`q)6L8g}-hStî kqb{T|t(q6jukc9ON!]Fhp 3YJ6`(#@#@#Fm3/\fq`yl l@8 :} %U+PESŇ/s /riY,=E<E.çmh­Gu@<)ZRpEF{. -.Wpbey@p8nwqWRoQFUGZ l/ڎx>K8U'b*>=L8:7~hr:-:加L([IФaqSTD$E"s%M*F b Ujd /*Pq^TZY_{!GЭx;YLeE'uhtuݎoGY:R;?iȻ^kV+=\qc`oe7k?ҾToRRRTFiLB 0TB^4Fɤ:_-Gy4ͣ! Ur61?7%%o;Ɲ'\yrs)tkId;@1jW_e t7?r!_g葼<뢪c͵9lܱ>Of=hWWSZ>}K{+;6z`ARA(ׁq7FY-JG5U.u!( i*3 M<:guo³X7{owt.oW%Hޗ#yo(t ́j^6s.<ƶHpM K@q*x42>o!yjg|,Φ[fc(/p > =M[ үŞيH%;F3GtmfH&E8^3,EpCe,G[ OBv[l, P%Q]o7_<{GEG̶ C'ȓGF[fx#vV~ބ>kNXhSZcH&b/6[P^MuOo8owΰmS\7cN((hUT- ߡ4Bd2*b iE͚ J!*3ֹnيrm`t8B/N a#;o C0nߐ},$DG[<,JZ"Vjmj8Gcv{.eZ]IX[Gg7V匮R2Sª.%KRn@OvZ?)x8 h0:kO9ygj/ͭr /y;A?y[#BCRU7a䆋fY ;Qȭqթg!mOY\Plb@b‘7 7^FIm=Tc킟[Ɵa0`TtRHƶDn !*m|yu¸kw;@lSb).5΁lT/plr|eMo 1jbt S-pUZ4,">q_[͊7;շw` ]]aGR4ƛ"ĜaɘD).BĜ Y$BK$ boL S^kbTs!ؐʱhZwɩujvL Q ׎8auC`:$w_N9>(9$Z p,/gb`zB:cgw47ĥ4ǦG, >HfJ>za 0LbSԀht-ӤE;Ιݭ::,>)?.=P8y]Fxxx:9u'ѭO@"lV4*U4A׍!*,2qyD<ȑ=: rEfp>~X^AYY6(Llw5)DLr8۽p6|@0:Q]]6HyzztT=j`7 X8t[G;,[?NmUX*uв/np94j]t*[ |uɱ> h~ܼ?QG]NS#T&aj \B2=gI2ЮUR=q moнrìM|fVH$1A$Ff>; _?<'UD\sg+ˆd &{Ķ3uВDvRQf|*P;t(Ҋ H>P8A!HŴMݻGGGwo>=;w9:<{o1߉YRCe_Vas*66ˎyNEVu\Ŀ yeMy2i ϖɬ7!1M6I*gQ-$2]f]ۛnw?wK|O)( D0j^ۼ81ӣm qQUPϰpn7P6mƼ󠦊eJhL$Qr1)2땪''+qqi+Vj>uf;j9ǒ (M,֪ C^E^77zV<Ѧ7KqꔸTf9Ng>lk:?9mhŐM u8v8p@-n\Ph9u'*?:I( vZ^TW;/T%*$D`.@FYT%tcrL^z: O3-BׯWj7ߡ`a ?'kPɕ̩j~U!K1JcoYo25 0j8ܫ72IMF$؏?{)\T2I@p !eJR OMvs< d[bLGD$)W8LXCd.fڜY5&n%;¤d[$3R2vځ@QPSgNdxh''@:t6c@1 Zf!C}xN^ht#ϝͳnFЖY>X}#S Kpu !\ (02iVb̼~eXܷV+/>ODjɔb&$V+Wm-eGfrIg[Y95Vԕ݇lf91_NζF@^T2t AzAq?vurOC!w]0uu38C4! )nAu: .ߖCb%YIk <0$m]ΏW p'X2#@GSJv|C}Kefм/>y;4ڗej5JRgshppcҬM9cnã{k/?Ňza\ޅT6ԙwBs{-&Ln0l(XU*$&B_?w?Ba?ǿF[p=[dH8Y&VVopJrnIKƢPl34=}߿}go};ŵ޽;v|vmcGl<,GC2 zX@aGGԨ&׍?QO귳f'C)ɾ _jP%3I](@kx4rdή;$vFl ,m[`0isNŽ_$C{겲*.1o_h%|o[,t[ _ 7"_Z hE ͪ%ȗQŖT /RѺBP"B_Ge l*ZBs-j=[4O$iznD mKO%H:K޹^?!jJ8~p?DCZz]Ƿ||gx|\hFoe TWQ}2Ȁ:WN{#)յq%Lv(' (= /L !k+͒$H;P,rTcQPcC;,Fc7%>\Y&_oi~ztw?V}{?>l|~yvxN߸wf| _ Lw/]wo߾sWրG.f>{?LJUg`<ݻ{?}?w^O K\BFv\(n]7{XM8~Tڣף/2nx&?M闕 (EFnjTK֋b?I<ؖ;ኍI3omsfI"bY+F|t[%p~#+x(>J'5zIb[O݋<Rj)Te8h3* LL^ZHPai%Xypui Yx.Q9dv}^f, o+a t)tdGx#_kHIG3Ml%j:@ P tI46fՖ8Wa <,LaW+ѢLx qHJ"1%5qR^L֐2V4PbY\=?"ӗ)RB%>+O]ʚAv3,H|vVF qa HD7gfd,>{Kh2nWiT1Փ,R\KJ1LyΊo,kBuQ]I2|*슸gb~wd%W.(A2,sb&ü „5eiRba"vzhY傏+3DWaR\-+zHa}4Vr>Q_ x B~|I(5)W>/" lr]B* z?4(m ~p e*H.=sI?o9 2urλl![YbsR?H O2s7`!n©D!q̲V9RvF4kq!nzPgM@:yn$큓N PޜT*- WIqI&Rې\v38d]9Ai<DZy|bw+d 4|}:mІ.mgMGO]s?é$RܙB7L=/Sit,ƹΎ by(ϔAhу*QilO(?;WMȆw(1wNf},Qmك plKXv1g/gtb0}/"0*=xm*P}Ay [ !OV a 6Dȃ~}l9Z`JS||1q{XWwd'fQx ͒542vtl7ϟGۙjLxH!)F  J+?z)Jmt`ڄ8՛br2WoZM)')ˉ mk'][T56L-7b؄Bx[WRkEdp3#i`@;Ab$O>[ Z$ܺ ؇Z=7lQU] zE9 ZIYokM,0z ϩYK(AdT =uT}ESft\@͹k<_;Ĥ*K\fSBJeK^1lP pBp< !C7$Ȥ\7T $dkGOVT~oKX]FIr:c=%oBGXV#=.v8@, ]YؤT;*taIՋ#sP甋J+IG8ƱGN1?1yR眸cHP>N ~ 2P ptM`^( -|~ Jvg\iFjq7vwUߣE{/jbaIT }?8V1N+'3~;  ZY^)%!sX+2]B:^rҲ*@Kr39 B;ǐmA* (O!r7ʓ(˜m>)Ӻ4R7S5lx/ P73q ֫ըfFUQJ#R|nz l3J$$@d;3ZKiŖO,.j~G(ROBuud{̆ǡ!̽bq(i<(B0 ƮBxá:TXz\6zg|%%$(ǽR]-SLl ji.[פ` {>:q}ex* pdwd+91U50Qe*\Ă`}Q-[`{p|/|,Cng O+d㻸d*oIZ$8~yuo2?RiE"Ip?PKaѽ@ЌAy،CƱi4G?}:,:{wwo##u&[Uw;ݽg:z IZJ'jJ"Ph_ _~*_Q^K/9(q])փ"$٠E3Uѭ́ߓ $~C"!'C;qCP'/p? +ިDL!ʨ9i5ˉl-Z3 :)rTv Mu2s)cg-=v2eSViVJ]qhPR)]`'Ʌ' yچ`9t&_Hik=g zp]tzTzm}2r.)ܸC'խ Ke34ouQzI%G՟t=x4߄\g"Jz nl i.HO-0k(A ZX])sb7/޻w8$75xN8 i=Vf #vc^k/=ƼUI?q\Jyj4r2zk#CK= lGT HGGzq `J^QG5'4gMTR{(F1NõZtakDwҊa!e:WcK{%~ft(CًK\@iYMZ1`WRJCŪB8Ӂk5nbx )ŸBO뿺,[ ]ȆRiu'lNKܷ߭B x|"5feg SӌJGE{`-'IN#V0b 9/0ho}D)vJ~8^*1C4j3o45a;ǐm`T/[} Mp??Xۡ n}iEŗJTp9Bgtlx-kt/ᖧh4Ha";A>_tǦ΀]DDg]{S[\`|WI,`2C+1@v-2ZAraKЫ4MdcKv_g.jQW2 ,k~QךD+.TF=;SDmU0g?l ĥYjT;9n) bXa?׵n5Vn>̘6g./ {@թŹoD2@bg؄u$m[C+qsĕ!b/BEN ,VRJB1Mf1$E~V.(˾Hihnnmګ ,Kh5 2Xű猌gPA},7jkIN ׄ|Z'Zj`%LI=/I]kqV>m"2tš&Jk݇`Jsl-\[HB@Ԑ]AFQ'Oz6Ĵmx}/(*yI‡OD/~88K>>?l<'3C"=ılWZt f~Ţ >]f;^ f+)S{J&+F3BWI o@i PTZ+mo?o ٮw >zOyMF4<ܢTGk󋎡V|ml.nBS[Ķs=ޠBѩVj-U%s U_YnÐKAtqԔND="ŻdBL \$QuypbI~@A-DtK6&K|wzj63^+N ZbC:V.N—jVŵ'_xY1UQY9{ɱƳ!>[ u&;}[G5/5v/u 뽿%+dkk{xw^H)[}靗&Nj$wר^³eH_ۃ|Avt:U^k` }J.lT}m `ɧEY*픷?ePㇽpTOw:O?|B:nS=_kےE#%`Y+wvZȺxPBaganB~|5xl-+2cٮvmEj*w -e%Fry qGxNy|M 6~:vVr8J-煨0>'OQTI/*7Gwy;POO(JL6yT1e)k6I*ĎY">R)KMx :N֋Us0Z 72\6%6b1GxMB #e~6AT$VGUC,[2> o?yA΃56/XVVn*~)y=6lG60;/niqEoyw'Q4ц- _\0cή.yR#y>x 7^jt. a[ՋOeou>]E)TW#3аĵQdľ wCخjڀVh2N'|㪴-qpEK,s`蛨 SJ8oG._/Ò^Ϳo~'B䙞LIqTYjSg֊%d!zp a]%ŒCJxNSKZxR:*+W"[3DŽo(ho?UvfʼnE941Lʲ %a$nl9K(Pa.Z*kB9fWYXHzC4glGp0N݅x' ^i0zE›0x$%`54-WQ{[/\$Cn ΧA{/:QOdhfG)[K.7o*PB2ϋtK4{pw58֭)FdVA sLJ*ft#"RAֆB.=K]TrKmp/{HlΕĀU~nWǞ\6)ѽ?bn'-rk񵭢,Lj?k|uW/u;GY ŝI,SOQ(zzfzO'xaTa6zlXo@8`##YY/5@7sVX^4 )&Q*. 8+ݓY}[oAܗDR;le1|Dg\d(kcUz@׿S9$ QWhznNYYCrB'#$1пhE/gbd_vVDR`+Q{#s"P}i+M,Wj٨K:4ba+Čֆ͎tI=i06Ԫ{"Z,y <ߞ$leD L?Gy۬pcN3p pCpVp}1\)@Gd'a1!-y3=Aǣs1sجzcEVK4]j&~LHԎpҽ8o,{Q£Vǩ;c&|В)2E0W2IgYv {0\/DW~[uuTGJD ǽZ;Ry^I:6.Y%(3$ 'nH%pFif=(;'*H9 .ICaAtga'azbj6m3}aS!ǮzV@f^>2VexRϙ $p!cUvVkC5A4% b檩*pe"s.;*b]Q^VUPJ.AwNZz{Ų"~9x H(o$#ba _`%s2eM/Oc/+CCU/cq WYIYIPu备\%H"Y?)k8lt2Cdh93RaDn8([)b_ աŅC~ c ӿkPeR;G5+\pK8od,\g :=||% ,Tϗ@WifY4c-Wt3XY2I zcnXl h23Eħ$xI%u@ Ȟ@25hGgz)OnT(&.Rz'}0.6j@yYZdD*?8QE][7GWG<۫YT7\џY[Ԃzw*gK }BfiE ޠWQLĵuH{p D*YK @ayGPv@n Or@'pWQ:6.M!tfO]@dB<Cv'$}hs<,.O$pW{sz/H6U x0= Ů  IYC,2z?x$*Q^XvUaf-Z)wB |޷&64,nX2;mg,=77 ւKu_Ŋ:," 3nr8:&l]+-?{s~e~/5i@UtZ@ Zt\\rs&8 ^\RIN=qej;&x@t/[ĉU]I>Ē$Nx}2:VyV@T;輗԰'Yz}ܑǍ.˛~ ,ՠ"xevAJf”E^vٜg Y9 ]t< y IШ"d96IȩQ:Z8 D@az)]>s\>^*F,N⥓D<鄁r,.VT($q$pe 1+ϣmV+Ѩb Kf4*ٍ|yFLv52>6J%jWe):h,K L+N%sB\l(Mŭ+)OD,6sXSrK1nѮ{,ۋQ]bAxQ3R8tOVV"&:&C|)m9YeU#T> 1 z&?5*X(! o\57 +v63~V.[:vñ7p*#z2'{~8Owۃ[O {?7M4.q ZJLh̭0ˏG;OצUm2FW U}hf';66xsex؉أ[|[w>}gtMiԓJS6e0Rm? zBaDl<[hLTS|%%1P\(cXًMQˤ*݄{Ak%$;e ^QY \ղR{w1ͥ(>cADl._3xDs yϨDyiVv Dc`'Nܻ{EZ1A-ϋnLZ-Y9o3zށ <z%ǡ T()e"[uϧ:(pc*%]Epn0+苯tdGNKQ\/lKҢ4$okAw.J6B9Օ+*D]l@R`E5 |w=PfVxOkKwTpյ[92L}]3' тXY ?̉}JTTivl`R̬ 9ʱfr^XXϻ &Q߈X775->)p!;bwEy"GW3֣P8sg&ܫRl>pv6pU$Ě2Begˢ@.*I<5[5̜/MӛUZ J?ߣh/.%8pw[.Ƞ' qE`iEJbWuyo[=JH}Ý^XNl/SĎ0, 4 VYTi{GI:+ʀZz45MVlWd,c^pws` y O%G 4CqyAٌE FJaTW]p^~ta8Mo\ Zl!֔/8$K)#U  "Bܝ@i8~&X=:<]9[:F]J[z6'8YDٖe%}/J%ny,׆ T9X13ru<,@x p#7uñUoEySrnto0(\f[0x]%f",DO94V2܉oZBsm%N'͞W`UߒRA|LPnÎ۩*l 3& 4VHYI^8`< [EBgJP~u*Ǘ?14~)~s@YK]ѪbDarZȈbc,ء3Tgz1E']abQ|,mW w;Chl/GzbO֑HU 3Œ]șkhv r:./=&JݻHrIXXˑHv2-CE հY0EPDY|][H,x퐒OYdEp7B% ^߹4_D)_{Hh1yn` Eʅ 5Y>>a\0Dsx85]I?TpZN9i?A07z{8l'gzVKe GcpG)<W[ QO;OFy?uƔT;)crh=T m"R4SuEMղd1.2vx&'iN,Dڇb߲w˯ɊvqAN:My%`ݗ[eZs+PǾ.?Y<-_}^7 ( s`Z?BZQ^|1G:noV)'ʎ7 J^pX̒O de%II1FcIA@+"zژCo_=/^={ūG}/6.%#ȣ]:M(ꄆ<ŅrkٌT+G{@IHKGM'5ţa_{/aq|}A!3&˘B;%+b.}d}" ]{߫ݶ*⡗t{L}DhaP'/ z!$Ky(j~)eQ<o*֐CЗ1$&khVy=tʱ5E~7@TMBN\*@ &>t‰!O!(rc)aa\-31zƒ!n;Q(PPU2:;^P0x'h˕1I!%ЧBxN9wpTwl:YCrS~/JRO' eR|蔘4t!B<_AʦE-T C`g@>3!M߰}rG\ob%gi,lY:'IfAZ bh*wH&~/ci+ SpN0eGjjw<*h":9 *xZJZ#OzHp%Chp3S^&(pqآl|ܮOQ,{4v&2 : 6ӳa4E\uYRBGQꡌ0I+reO d۴&knȻ] icA▟rw8ysv϶!<`: =n[s/҆"SAmҬ!97]PdftAN6$f#$h$0՞~5ҹY?0f7x˛?{w6n1O3 ;wݿsݽ{t%)V+3 ;K^ A, >owEUD'Eّ$ȇmq&8 |<ݮpur[ uWzWp['OC"\.^^V61 ԕXx)9-99T%] LrwՆ)4U3C@xeX TEڏ+;>ⱙwO&-Ϡ\ec V'4+~ ɖl{R)u͔^1є L@p[ {6 6惬<&J@x*j6t*ZYAoH/=khZ`:Ϣ-m58'= K̯[ !)֙kV&=_U5"żobilŞq2FaxAV4S!/wxAg[ʼneT^>#ؑfW.OE)Yn2%7ld{m3?L䵗$Fg2Dӿ-D-υ1`<X?r|.Zaw8BIf0u~хO݂j-CXn!hځԇL0UY j- yTui3)^6s=ӿ*_B/FP31>McɵlyO#fuc?}CbH'm~m_@ ib?7/ݦ)qQKMTĬnJA^5@f}]5zE" ٚ]>[ʡer+3VP;>kVU\dunIkUSE#_}%L-҉.z޿AJF[U2'p>8:Ֆ#2C<7+J濕o#PQtc&1蛸pK}7Y2Nbf%-9]<|C}O2~ҟ%/q{LoP3 +j%E:XS.-`ynP0!T~ 9x@0ǟyLVxpjl3r=2$ zg؟FѢNnH<<_noCwD y@RKe8ьqr2+(<@#V,O$ yvX !*qn'cszsb$U<5ywStI fH,>Oэ1=fUb1_?&TSNduV 1 ʛ&U=!":`"sO@diY^rbC/ĹZgkd30CG= ˈm9;G vyDAf,89%'piE踮JЪ~jLegiX:)|kV(V Q>\si&Cc/iC ޖCK!HO3sd!'Lvͻ%SQt}]ҚL$ /,ifYRfl,uE8J>#ձF#aqin ݺ_VcqʖQ@<{0+4rzJ̤cz4 '^[ŗxisԮOmu3oʃ"/E*8 hϬW 3]T_.>L? ͦ#7⥃a7Ҽϲ b^}|0$g" -{ϾŦnW͛ARbvePu k/G~=] ſۇ."kپ0NYwFN#bά\Z.V#贰:hz01a䗯_z0吇յ TSޑb@ w(nFᑘqbQzC$WL}s s'e^MhҊ }H4s6aMS'/Ӛ$*fxEbxoEL֎3Ӂ2l* yE%@$WgTwW4JnF)/iTƆMWmz/ KLǗ > M\9lȒVM99 a={hj@Bnx̰j؆hGzkcAxR<bñ9r,FChK ɒ,n=&( -Co.9,فѮNKㆂRoi5o&J@oŽR͡L2#TPwf%Ty&e+Z35:I7IF+ӈ>}N4gTJeH,ܝB!삘]nP0ҩFdL4s<5mcˮV8Z uT|s1p{Wn{pj"EчfT`4jF8 2A8vP0#8nՖBW-'hmV4K{~WyN'MP{ܿgRSޔО7DvTB;:!Lck3c*FWXI{wWGQ̸ί,' //вV" Yx 6kLIL >u\¿ͳM(*ΫJZ bU Hj{4մD( b60ZtJe4N_~)]f`2=^Fg6jJ'0%J OwjՍR!npsSJqLL?88T8q-C+mdt6 +.: jZ"p0{@T򹅋k rM>bEA6d^Ub$n.1(Ѐ<\"ASպ:Ox~F,ȡG뉚E!b6űԦi@⛓F#Ƒ $8 [h!Y!2''u֡D34\ߌ텅9a}~b[x*?:b?ȸDt7! Pk,UTUB4E<, TUnRIv.E#jƚ~#N$Cĵ%l(uS MW*I{M G!FUc7 r^, sih{E<_5q";"1oBcy8$)_ +rZqk<%\;۳e"m6(V|9_Lk9d_CPNq,aN(ɨr 4'9+>ݓ#(*m?,hjQ[vQG_?{@S5+=]^j"gmrRySPZI%t,5/S T#ء+ Pϰ]y܀F]=:LH}oIc|7GH6 QRp&hi"ﷷ,Z9!H-v=|.#q> N7&ps$ܪ+cMn 5V_IdLR&n4]l{JB?-"A3OxqR⹮yh~>~ϟ)@.#51zm}ҦژJXǫ)|\j&PeM1[޿7qhM/Q)Yl&zH?~0f V~NUu޻wcLOO?y!Sw_Ms]:O-q+P<*YnR5K4\Дds'|DKzNì೦ER<聐 JRGk\HPizҧ!<κ%EYDrUݡ)`mv,kg?DBVݯ&/}zIC!K0Kn IӱB>2&[Wr4. &m}^vP[u7W2hdWz4: 47.ǣb4w [#-^Qר̓ {i/3ZPw] 5I4.* D[ luDւ8T:FN@e8Q6L>i f|؏ayEF2w )+\L)7>4B ggcb%3]~;={AӚG_y3nXx0zK|A^ 2g?sY*G$S*w&EV 4iq0uQ$YdR\9ɲ)\/>s±k°g|XR:6D:oqZ>W Qʙds6JR:c( TY nSKamŢKsHDjG_1|Õ0dƻP\{IC&T/b䌫RsG3ArͻKh0[+9di|_O`)麈3"q/IL^PhFZ,@`,9[:^F+l /K_ Dz!Y#=:c/FP|>dȕkp--JC]rM QH%6B,v#gUYULaUp%>bN~_Š%g9ȽFVc 1⡡iޯWCQ>z^}.I=ovβQ1ʚǖne*e9a-}5Y{Ɋ +Sx~I:+zaleF<\&&؀qJ%DZOS,gM)Lˋ}IČ/%mQ%E!DnX@/lt&=KHH%g1bk0]XpT=o益85sOwwX}u}5 IF sկvʧLۦd@L]jdAoM{<-k.Q{ԟ9bE#}:6  %˘(W`5 `쑅1@|bAGE!*mt,#ZGg/2|h)n<TRH#Ư,I^4r+?2TdDzWv`:6ݿquIyVVEFI”FJܒW2B5r!\w3yWGYbyrcx*U渡u:I'&N(8RkbꙎ/KT9ѩ=gXvz~>H\zqm2PI9S w]\hʱw6XU8bā*.𤦤]$K4H+}$qzhyK *Z(aqftxRN; U Γ^|sղa:to,Vfv>&-9%uJҫcBslJyY г_ƶౄB`-qD- `V/pVr;}(q,z\}%t544\t{rwk?:DDYaN ގlLQ {b8 u OL5+h V:ƭc?ټc\$_ c9Z?S8 5e[ mb4I@T/t?[G/N=,\A}YZeSjL/zj&ߦ'fK‰uKF4+Ÿr&G7 QaÙޕ !Ci,Ѹ:J8a%б'aߦHEuQGO''Q4;r*3Ǭ(-/O=A񃩧VcS$n{(AqFDఀ6p|uҎĮSO&@Yar_^!6Wbo(J&Gapp^j'ZdULd(y OH/ Z]F│B, =USaAU5󰪰\;jY⏂2~wC>])WQkE(C ms.0&ڒ4ނ+9Ẓ̇ jhTV9 +<(ϧ #|C¶ru.r^Cvէ駘d_c:GP'f.Czo3_xCTq4lvy3}Oar_'JE o5Ž_A=BZl##;BRy"R 3g8ǣ`Š(ȸ p Djx4QœtYL!#FʮήTNS'k5& պ3ʂ6hpm=Bá/SJ]Ls|t5D?_βj^̔رVgo;L}wI"#DY6ڰ4$i#$ZZ<4 f{Ý_?ocaUuءܹ?١߾}Gί1s#9~/m6ItEGd9*'Q wI:(BCQV3>>ogr+{/Q,N<].X25;FC8FDyGkInd(@DB{|-`F/s/&%n^'67Bbt\cYwB,1U,+D_Bȧ>%MfR]UE}2{O `6˃\TeWLgDdDYPòU C xk8@pikb.#˹Z9UY:(q|:=a:xʙ6sr)W Qz;CAb</%E2hSi}UIExԪ>dm5WH˙ 8(L#{Fg%hM=x$~LU\PDOߎ i}oF!.bDא:1ifdw4^H7GFnG'HM*zdo!Iؒm>g(F%8jXECBlI7&n.*Z߯EN8}4 Ya3yz\s(*R%mYCvDlaJ?2Sfi/5Z?S3 %H\x+ۇZNdž/w@mTnFzfd׷gOl\.J/0tcQKTW=<-,Uยs&_0-nMf@|s5?DR[!N;[z~z-*iN<IJi3nC*vh6[d> ]:ϿG1Y ZuEO9N({[U^ u2|AJMT=)UdpZ)$E=5T޺Ed-[d!Y*;`E&*g6Wrg<_].P}᠓}'aewYٕl2呣D߷%uf R9'lJޕjHyiD憎ճ<2duNcfuRs] ?AjdlHT/D aHiXkNd بRQW*9 Qg-W<"txZhLQ\sPQ6bjPuRDlX: }޶Y?^vÕOZgeyxRz 9+ tԩ[ (W> K!nKWTgGeitr p iojCճճha:0qD`W6]m|%+:ZwPpb|V̼`yD$W x!ā!r #C}FExoF۲RO)Ȋd}^ X@CHG\ 6Q`4f?1d[2ҙ?5h5=) *cL_B &]x <,]QyvMe jaK3L:-[#WS=,F)g!AU ®ƭt|L{?&!s0yZψDėFZoDgSB4,{0A)1g.. %[j E;?,7WfRguPLj!7TA8Gwhb!!#qK?;3igM[b]Ï_(mâ`PԶˍ;/'~J2vё>@'Cw dmg=ҙԟfN.$UO%EZ˪-)g3*u^f1Ial`zN09}N.{ 6\;}6C]='Qos:&hM$HVL'gK !k3 CF^O12 ~& H],rъIcYy}HN??/;F LM ׅ^G`8j B@ έPJ (+ԏ/yͰ@S. ⱑ/ݍ.Jp^E % Z0 ѴMRȩՇ6[g?<g9e`zM|]W9 ;]U7Rb jIЮHd7ltaQ6V!˒PdDBX6`>4Qa~jzKeh|"Qĩ !*hc53m 󥆮5I/fQCX1M5HM$ث,}GF"ߠ[$_YLa?6;\ -LO{9;"KEE H|;4s,.[¿OD*EdQ jr ZQӡyN5-duсķ#K} [[[^SjГ jd VDe$8.ۓW w|x\mm ۨ&pfi?MH$%21<[$>ek>/,<+ݘ$_G)qhb])I39-SDN:b6_ Z&^ %͘٨ +ʔߤX|dsO=ev <!EeETBUd4Pdc]fhLAy`5n=py$w~O燻\ѡtT\Z'SMz#Z#>=*ar!~"c|.UoXt㖉ouVj<=幯 6,vEV%^=SLV ɚ `Q}V -_Ig}d㴰ڀ 5R>c_N1Z t֧Vf.vi _ .]cadȲר-+H nXQ"kF3$rBgJKGAI{mmaRq92샅EQ/jS%5iR,\X%ޖ]ăkI0Xτ%|jp n,oA6ú3V2Лj:U55zZ\[~}ҿIِ4FC@%e1d[zhxBh]T #ݐ EZ0eơe:+ VK_*C4=),!=,aZg]@ W,,ؑX-?U_K`UE h(Jz: B3B$7A?݉kF!0آ&$]]iNJ,ASc$Ak]}q<"VwL\=n `@u?w)|,3 9?SF 1R3x:81QZMtBƀO GJؘS{3Ni#w"mɮn.YK֣-w"υPzJa@|nU)qR '/IXTO`}0D"'Yb04>7h[C!r4[EiNL Z;)g8B<"_1%!md|EH~,܌hyo$D҉lic^Bfry.* y?X/9e1_ Bk%$]C6t+ E6ry6{3`gaI,]>O5D< bu"pJ)[ں}_Bs0[nXd[~ hZ䠓eű\9Ւo8q߄nDg-]w$\Dra6cZ]iOy^E\gs'%+HM\o!M@ԳҴMn#8ȥ*o>鰜')9g)"E4E%HȲ2ZbbW03qD0~;86MS 1lrܵFҦ]'7*%uFWj]"^IϳG{6[_eoUI#A2fI9*,o]\p_͛ʸ(L"C9cF|/uZT@~-B=k):Rp.3 '$b'M ZĿF]ӸT~ZM)֖9CF[I}a!,L.-Tp^C6%Gٟq&T_@jCk٢d@ŋ 3@VeR)Hxi^E/k-nh_c937CH꽩QliP fvg=߆ g?".mt,9GO2kT8@,;42ז`\#3l;Xtqz܅`_[&H>,-wuU7ub g"AzWvc6tAFݠW|'hi$]E߻qAK Piyʢ0 ?kIc6gØaGKy iЋxާ!/J-vG*d&9D~8Os]5o!u8l@rzJ)e\/j8Tb7X ^%f|+<ҡȧ\fk)u!Ogj7Ha]upS~q4cwx]*\y8[pULVHx}Y eӞwٯw99ztM{=!kY']Lʯ=']x)8Ĺ% o*t1kAZq^ȗcUΩ=InkRCT?ُ >!S_q,cG J1f8 ݛdLW g~1by^,̱МIfe/oɘ:}y/,kn<@LOd ze `Ggf:Y'$yqrS[ 4id4#%=cE1%@ubX}72ц$DMStF~y12OI bx/q2w sn7*s$xZ+p{0ɭA08Nm~rkQ xHZYy;Pc(jP |t6~v XpGگ$Zp4-;T6*ͧOx%[_֓3{=xMG%-t[MyZ\Q ۼ`*vFʡ̓97-?7pℹ,kCli'Zٸ5Qo_ζLb<<랥hߐ؃'Eʁ&(d.\J=X\. ܝ9u'-ON>r +‘% :Mq'SЎ8rF8xթAWEٮvqT+*sth0"TD36]1F*9yjA~Ob-OU# aRDO!Gfbi*_J|Ac˜y0&ؤ}׳/_:}/5J ,c0rfl(Vb3%_[SK(,-sdw悔7otF%S'!@tAx6n އs@5*]|JV8u>x{{O|fepC!y5NoX,Wܓ"y |z}/[N\XUXPzb,#=S{#0-3- &#q؅U٬#fyQE /K "W${4,0ޖtr[_(m~ke%}+d,ZZCŨj9N=Q"H=AA-`^dI@v'Ʀ$ rI_.ٰYHޡk#B4$9[Yku:^`]oWmz-Ig>]QT-z~S23NI~%[LY5!['0&b]U r< 3krW;Tn&ϲ*&VK  5iE-ެG:U8SwI4dz|0nN-P2% Dz=~}}}{Mj{j-KV]g$ҧ<;<-au܄v4_!8?#CɅ"kC>j{Jk4}0*O%Vh.=^dr)wZGqՆYП.qϏ=FB|oOĸ XsZb*Zڞmqnm4$sFZ=?Ӎ:yyv9?4L xQW!PcH|ܴ>-m<`݁I,WWz|MlY$ Q֟ylH[bDL3529ny- 愲Tp}'6.":c>af&̖p6*L~7[NTx{^H <#?`eqb_R˨@CAk&Lei1/aDPhq1#1u3 ~4Xٜ =,sa=]pGzRASF+%ɉ 5V@P82Ev`mm<gf^h*WCԋ„ 4v|/)4g=v( K-ˎcZRn SS_{i>a{ijwpi.WD!"@#'38/ٺ&rӿ~W],涻LeӺZa;^kԃFVlZ]<˸NPE2/;f KzR"eJ>juDxJg@<~׼t*U8Xz*%尟j[RLXs43J{v/5 4Yx&l$DA6471RT8K )黤Nv0jpćh3&nZ]~ҷ`ƜOiYѷыgGߒ붠4HD*QX0 ȗ'R|qؤ䧕q|#v!YGB69QcP\)!vmaYSfhcsvKIB Ly kC<'weKҕ t09W#oXS:i :(q%er .q}EѠq!Ek]d5bxYq|!_!ye/1\tAIۜl3%x.c2@%dJ*3p18ĨZIUX'&V3Q7%Dh܃n)~%PyF:3!#Us#xx"qC4C]Ò&h3x݋aFQdL@C5™jzL#پ"'Jo 5iXMc-f/ y~L>*Z#@$W{v5EvEg9xf3<.r%4zwNp/^U|[ˤK˲1@csf$!wԵrmn|\+Cɫt͎'InP>*DM~FµgՋ[-:} Ѧu `M'΢цnr@@ԭ֭ZQv~~2HaNɫ5^rws!NJ s38H:6{ )vQ3W_:jFқn>XJ$,Ωڀ_z>&h_@(]}zPAႉDX!ȔXzhs>I(bME}e}j&)K4ݽKBojkC4lP Z0p VIЮDxYw cCv}8b#]R?J `xϸ`ҩ:e餬)VK,t^c)v 6iŨKV}o8mNҋR[PuCF+Cx K*i>ֺ5]H?-v̉17 F>sֹ:Bq!Kh8 ׉MiGUes3-[+C )f\<Z/< 16 ֶ "<)*|ƒb~Q-JäȠ `(}b?[5+_)3ε"]P)$3 lŸ+0r",u:U} ( 0 2pS}͵)M&[RO+|8C~ܹb(98_=2>A\),.A#9.Hx ;N-,ɭ/e Υl*YAKfLm#އ 3s2\ӂ.r&^ |W8͂T;/*W^Hﲒsv*a-1[.cv_KUL 5.%ΆTX1zC) F^ʂq4'y+zy5kMbmC21}X@E(7+pTHme<X ٕ?M> cf`zQF1 z$J WR{j"N7#ʊӋX)+ ~-xq1>DgYeF/XgdZs|J1~ꟙ_=&{;;!f>M:~ަ6-U5-lsM)!͠ho3AS{C#Ő(17FkOJ-1C@MT&TѷXf.Sߣ^x]4TI5B3&xwӔNo6R\쯼ῷUͅmQhmd/@/DiLJRXƈMZ[\g]"l мdR› H7LvSPv[4;B/%\ADE/d14<(1CdU}V(;0=;9 %EQPHr9EO3ڋi6Jpu]uum:,TWJ,st~?O_{w;wo>f{Ý_?osZII׫랱Cܹsݽs=߿}`o;ί1s.GΊrKymPR/ OZ夛|Dџ{](ClM 3e1&!}+r|\\vkF;Dw^C}+fdF0'g}p:A m%݊ U^)@dw^@ +"<. t?JvŶaDU iYijXΟ [T!-ZU]@"bmFȻpXu L*׈ eD8`42R U5f+zjo-+5@keccٵ gvhhcEqAKj)jjBmΝ7MZK g)3fZ6ꍰ̰w0Ճ|ʼ"9Uܕ#u(~ҏ.,4c2af\!C.KZ]\F&$^V\]&{{xar^vKPMԕXߐRH]10*D/U[() Y$ $ g# {`]!,}YZR]y h!ENzh,φF9Vۈ˲WϬl¸I5u zT"CY j`x@8wݨ|rA4<01 r`ԫh#ZWp}"/sK_("J]p݈":%U:_IߓSdOȯLz.MzTp ]3x9gGM_Vh˦"qF2:u' С$o'~|9r ݀ъNcTO޻L Yԋ ͓e |d A8o;WV˲Y/V▗4NRId_!aHk>9-+2amt:]I|D۰' A Fs }t@C*C*8YA!Auj?3&*-gҨ5q1 KũÊL6u.cF1AqY!EgNzp w@3?cLs2 [mc)[NQa b)j7` )ibPQi|EPnQNՃ1NX"̲-J#4zJ?1 +od3wu&Rt)8F%(Ԓ&LyeQ^#羼|e*t/'tlnSvu7v5H`+`g}?{~5OQ_r!!،.hXQ;U\(2uTw_~`4N6Mĩ[=/vUT BbRnn#'>ML=0. ^*i_6էG3en+FҬ.fMxjDCa؀="߉W2 e$ Cxe!Pѣ|TGw r %IIDa5g\.`\`sA U*o$眺m5_& K%~# v6\NPT!UOh○]hmSxFWvX 4ԕal p'x1>fѯINQS;{ϕJHO;Ѣ^; OT?Kԩoeݧae^Zqwy~Y\JtN6JXQ8dܚTþwG2rtϊסuOΏ-tgLx}H~tGދy(.hiBnA]ZuLA+*`t dď~@[H]DtkǬ1XǫvzE;1[0+|MVtM ({n]%Z{t.vvҺGn P`%5䉞 oDpi@ DHzt؋cV5ؙ|d->T $ڤo)6 Ke ˦iC .7;p:6)fUiU]Ҳ>x.lXn+ϊY31DOŢEJP˨&!-[,(r~"i Ǥxz]Q3 R- _3Gꁚ΀͕e}%42^"gp!0ZOE}&k l3<ݴ]9?ba75.7Co>l>JZ>4o@'~ݍaW:Ն۲ya0)eS]"2&`=*,dw=ZQ?Xj%G.|Pы7EރmX yS`^?*ĬZ8©J@߆\'8 S8EQ!dBXJ5c[ Ѱq3: F!>\DG=6%>Yzx~wZ'*'\00#jrEB/爆i9 t+/ 20QSޭS+WX7'^/cփ N_D43F7eS&.)^uֱۢ]]XIX.Zo߄z3Sgk8O|>SP-wp %(9(uyx[XþE Fsګ/NI4YLRֽЉ5lD L~ C/K]@n`~8;<>K}8өo;kx}sЧ(mS> 9,F-'JxQυuFG?c.Wf j dfK #+ |^4"s¶n@Mhv3V8f@pҢNEl>*ER(ٕ׊tnimBFdXK}`4160Rm(`GWYaƵ _5vZrbU|Y&G.gغ*rKE]  YAGvyևYHu#%ky1@3[i}MfүG^ e=ջ"ku1q/0wwsIy>H+Hv$T0hArz[Ԋnz/Ty,‰XA?aN3EO./:yHSZe/#sW{$V4,4=vWK6 ii 71* ו_I(sge͔ a>+8%VJFlEhXQK $ല(OjHO7>F E]JȵAF=a83UbʪaF00$O䑍͹ӎΗԺ69i? r!;jnw Âaò: Z˭Ӫ`$/tkUH2Y0H+yɭ@tO!/ i'׊b(F͘ ~MlH2Vw-.slpe- 1]G jpR_|NH{.Wxenf,ZB݌Uh!h[0! i&*Cu7[FΕu|=d @i z=t6K:;aɤG`kt丘M{\29՛*ƙ :i}(>*E{}52S VYϠ |Hǀd]PWő"!,+*LNY39VJ091$ɋ0Ο?Gذ)JYWq@jt\ "5~+|څWP8؎{挩 ex eӊ _}~W ݿ?omܞشd˰?c)~~ɯqh&0$[9K]ۇA#H3QQ;xS4Z=L$i6/G n:s怏.rUt!6ҟb|ഫOʆe/ Mf=x0H_ꏀCg(Dx'ۈ$|o,F,!#8{fs.s0F-W'kFR| ֔ZVU&R[M1.Qvh|wi5z3Bkxǡl>Q+ߍ!ThڎA'lKR`cܣB4YQe]cѵ( 1\qd p0oIqiULOL-ߧf_}4v~3?Jvݽs nqq_{^㟖rǁOxs8\sɾȒhzN]rn%'޿PJRb8TV'.5{*֦f đʊKSP6 ErRxKBn¨x{]j&TR@%8($뮼Y)>^t]6IfCBZ*?b׀LJб:˧8^-''/ /pe>tN::O ް,_є9qՈ7/{i6>^+~xe}sO:K:hn2YV福ɞ$=#_$ܡ^*el䶣G=/ԓ :e(ISGhU&u*}-*;9ʀbM>"RUA@3Mx!UX:[)'d V],~x:A<\W]hǜhs ȒQ"ϠKȚ3]np>{Oe 2lXĦ&[3;1MN7)zBH1ŖCfzc+JT/0؀XG!x3EȰ3NS҆JkawR[F%l:'7A{xwβK KK1).CF<[~͕Zՠڹ/] e#!C2;sp`0 ,^u K+UP pa[ļl"<ߊ'傾'0xt^R%f̋W޲S%3FOrlEXtHcs)Y>?z,ҙdbDOW}v,#XkJr2w($}g1Uk*&Q"+oݬ?7F$XX4żεe~e7"=Q.2\ Z}a+i"":[YNsmঞSz{cba?GF`*\*q6>qXj;3q6ІWV tsg(n| N;sJ6SG{i1K9[uwsJ4m~_cy?ެjY9gKi ցj9KDWJY%kk-PqVeu^)M^͠v A,Q+_,FVWCzfG+Q@h;q՘#9|&_ Z1s!đBzqkM|OicXcy=#ՙRX >gh O,E,M ՔXn V^OiLxNWs{||%z6]Nbׄ(].߹0%mF dZIl)bw<4خHmƿ#EtJ^O R35ӴXWQ;k&D&[feX,3HD̄iW#>"[_*2.hq\+NBJ?Æ4|r^ccfd v]@rMm{Mck˲?7NT4pWy@=|?tKMR<{Ʉ?c}Ex1)J6٠Ft_&$xoPXDj dshf x|.RCo~KBѲl2QX).  mE/{$`~(&i/̷sh{i8 pґXtW^UW 0}#HEtl(. IŊxS}Ng|:ػs\eVKoWi`sep@<2ÅtFr37r-Jo |EEƺ5K 0WpY4HD׾䎯Dc"06,B*.-I׾;*`>!%hkJʓY9] PwtoQؽ&e㇈  ^K{uE^6 Ef _ř0R jRrpqeVQ{׼+"X9۳Lӹe)}e|=־~d HϚ-,u@-j$C6m;oY y8%%:p:N~M [UR>SՔq`3)P+1}mO%p`UH, @3?]б}Wo>v*gɼLYeV~ِ5W_ DZĪ\wzߧ"wb:)~Y֢%5[C@ N>/{[$t Q=]:ͶXH4dNJɤZӸ .m @i'{Kx-6ƣHզBAR[J]|lȫ1[([ȳိz31H]=Es4^/>УK90xne.v@t`ˁ]/a $*=V^izma_rC+bD[M`G29#HQyDyU)G,$_BNXR,p\:^W3e&&,M31AhJƮkӹl픥A+CW\4!/]i6|j\Cۿ}pOw).K>$s޻}۷w`T4IQY_Ds?&gB`啜>~TA}"+h%4uYL}uc8O%וU< sޡPڮyaF("pT{U9a^UiݐNʁ=FNmHGc "UetUtns1Ml}wJ׺Z*%+;2>%e x@_T8zіNOGPug{vƮ8A:~ 􊭝A=ŧC|]ĎFcZT%$%g Lm"Ί,k|(ڜ9.__xN tV{ dYo/3d kek$/Jl>>4Z"p--C]sX8E-r=$Nm9i,'~W6L@*%\XE1}w5p@wx'MrA4VшGyv"NdvCogi$n[KZ9+(P%3M &h EsTlL$(%)rUoPt9ɿQyxVbqNrP4Y]L?LPevU(`W>෥^(UTUϊH^h-$ZI&53~uIrp<_EJ+մM"܃S7bDF"o4(бt/1_͡ SbZ}OX:eFdjAxN\S\Fƙ?ϫ±'^%EQFX.ar m"D}%SXio0 -?;D֠spǯb;ki GUMR8IWl5D&d&:>Cx1 /8]BAb5oצ( 8lل:ZjsG9T:a~ɞ#`!]Q8z< qK49 ?gT!kn$)\׬u6!qK˱P@ ̦(;wwoBFm@s2F_jV ҁyr.K}K(_)sq+{Ov~bw5CF՘-kTgiI G x}$y)i@y]`a]緲Lۨ;$,/:"*a kF"<ΞlS֜v@蘃 {]L"Drza2{B "i(x2=aUe(^iLd|+I\+`!].E^MB\Zi֘fs; t#o[6ɳRݹ6uUid \&[nZVML%`O)PwQ)NH[jO@(ARtv[MO׽ݝwnW;jDMv==]!VgdU_Ob!Lܹ|=O~w٫m??>=9x_ݻ׳?݋O^ݧk׽'oN?{ h?=y<n}sj[Huʫ[_evIpF;Bd<5=.3'2:4+1ًhKzR_ݦLܫ:Գt: f;Y4_gjAE\trX5zohЧg0I:/oaKR_/ưw0y OFFU< D,q InSBɖwsyRe)mLIa}ޅzRB~>X1SQ%˨y.W/HF 92 n0srEא \]f|5TcD*}6&`Ao(go 7/UWsUns:Ta̧>X9,䮺p}`)Q>~X`sKs~4+8e/B6`d6/ѕԈDkGtK2ʈڲ0y˟~nup I.70J䳸>&*WiH5 А\N ɫT/ FFe͗|hzۓ)mqJXmA@Q[WȣY'\i6|UEhڌXC`bOc_8J4rё7sLvʾ7k4*J4j$f$H9g)HyQ,(JƢػv[2]wGɼ[oE^~7ᷧO'/z~?2L7,~H0L,VRE,6/ƨeTSe,-˫l˒-}J{T4*RC$|NmWVB$]}ɨώXnSj6ݹdq$8"]|V fЇSVMlC.-%D ʷIr|Pl5`X%֬Ʋ^O$OH.NȬȲ,j4`@ l|A fd1閎?:ZqaB&'jRtr-mPF%Z׍[hMNs0dHNeҺ;jz 6TeF/p.د<{G3Uϳ^wq%+*/EtS_N^sYZ3;K:b> ۱<|Eb?Us΃2*bQHsqluv-ZR3UjhHv$҉7%M?73-.p$du #rڬ1XS}lʊU6"/HOŸYa`Q|Ը?zϙO2j2K<Άfc͗"@NWn"xr}8 pl1QY*ax㉂vt=56KęJ}n=_yT(DRG\1:R͈b7j+czK6~C`mg2?ÍԒfY_ ѨvS8=4B꿣H1%5 ,:/: ]$RCJK: sA+nc,e">Ul(2'vA"#**50a^ <`AoyxGN˯8ܢ|$r9,p-{w%cC.e v =?z(1_DiٿGrY7S)\qtMxy]=LW-NlDGhU 8o3]0chI׈s=ʡ۳]j?Su301,( 27tB~ϮP*aA)!L.PըNM\0%jC ƻm%kr)iuaw[lH6(69vDAq~Cm|QK |ooM>WDd(`c{m~H~3&"uEŪVZHKQ.iZ spPHL"9zkЃBƝShҭ1O-˞1ġ ) =wї=h'1/)"7 6;}Rt^UhlMhi#.'Q͉BA4oLcknTNqpq [5ʯ.HAǓAX#5zIkNF$F8ԜI)}#B+B,g6WFw'A7-H{pA澜lUa@ЇSh,a-gs%Uר)ӪK>ػ5#GdEjhLB2I56[S/j.5FmWP&<u*.t늚3_j1LnISׁ)-sz͝(fp$F9c+J"@ba߀A('(W,<#e|}A,Vc^ܳg_?qe>O/`H:L1PJ{Xpc$&/{ ]q&Jgv=cG_xEja oIE+ uѨ,>d䐄3i qAngp2l_EuD^T4ñҺ]|M]ϱ0 ֟eeƼZsTCU☍qh}Lt= 5=nW}W$YOɅL'Ӝ!uT@id)Й\(9m:)r.6wCgu*rh%و`[swHDrK3ԁu#,ȇk,,I812Mwd!r^7SiEgn7$_@]eB!1H]4ɠ-ڠi31蠤A@ 05>Uۍ%9e܏K ?ν}AikF L\89l8_ KMOo,Oag p<':gVyE;K/E.Bqbʼ \,ΧL5lN0VY.g:;51=X8FDcb^YL7 c{_:>~qf%?egrYY7no,qcg%?kg[+[Z{ x?gkmo%?o&ZV[[MQ~4BY_M저Kc{}\ۤ 5YYƛ4?[{B4n%~ VR,@:9l /Ac'"6I 'ie6{/"UytلcLN\vvEIX *\Q0+b qn1-.t+In!̞i.426z&0o(YOKF@Rbi4y`Z&Z%%pKlaQS$WHJeus?. 3 ]ӻ>XA,ǘ d8^ɷ|Nga-!bţǧ6<C WgMLbbC"s/ćeqUiO#IVaA,X܎j0㜏, .-d)qڬD׺ UW+R'^0mF^{8b$4r6Ts+Z);UDķ*İoJ5x_c#_zb).U* $*XJ 4Dhu I'MGV&r<dὫqZF+MBMb ZExѓ}Z4WtYR"ʵQ-*r#^BxΟgRZiFX5SKq׶ GE*X9S:p∢9%~-f!Ep2i.W` kJVjAX?,fLH+cgo52c?Ku>*,N[LkM E\ Kr)ɜ^ςc9'j*L^a%'E.k1/+`,dF)-qdg 'H )'8=(GvBnwA^vRs ͟)IDyMHKڊ'ӬPV$^6+|.]tm hSpIyYz8>m*gy}-O8ENq1ҀҴf͑,9Pר77R!׀( l=AQ5s_|4p5i:Y3$^~RDzx@M6Ȳ;\]RjD1c|d,V?)%]f\fnH;k\]!,ilMYz%u\+h]9fqܲؒg|~χ1?~?Rz|L^ U85RbHjЖCv; i }>m qEuA(7X=Φg^\P<xhYt\Aa$eStTC,9`d(,R iFM:ê4UE"l Q/AօmRk#|lww1ɓ I&܀ _D1x SkzNcLux.sRY9 ջYp#п'NԣIIB?2}S\>#TV.b v5fv쒫"` KO_ճ{w;wo>f{Ý_?o3XN~2=* |6GҽV'ӇV ~xR[?Ș+He K5k)uՍbJ4$֋ *.x4ZM1]&! l22_.z\iT[2}%V5ҏ9g縎Ó^$GE6*ćgJ]Q>!Tc%'0bd0q>2Gfy%mυ™CgfS*[*uY>J=uZ.s}B;]Zk-ZxG+GD@k6i՜4Vq_58dd4ߪ27}Bz;,9]]K!?!kY8oh=Mh+2LhA#NX˸EuE% ㋼f ߗ=,ZT` 5V{MW}.X7u?\ c~fj?tO=ӽw𠛄 sC>J[ Ezg;O?J6d?f7Z,# [VǢ(k OZL!{€~}s,6ա4dBNS \/L50ebUYqK91F5B#`muLWpNH\y=J[7[_/ut[]j<~B (? 6E@O[R[ѝAVyl_\m q4=ۃje4!(z!KS}ڡmNҲ`z*Js_L2 %/c@ᚭէWU4^HJr:rhcr*V/Sk&~u j)~No T]f3{`n\qI1S;xVN`wZ[Ռi< }5x_PH%A`-Lܴ "4dR$dwKeu2]@*q]ީ{tvw?ܮv;/v_5h7PX_ d9$UV' u.r=X{+wZ6=-R$}6䢴{LN,y8- ™3%NM- xC%2v#΄/gq.I3i)B[2inv2$S8@x u޿G,c)AY|>g?/}\SZ1 "q9Ixъ*e#;bxүH> D^2>!xjJ;ύ)u@(<7^ۀrNMՑY]3јt~ 0fLt`cU}I`!J]{&GC,;w~s@$դ!HߧvE"u_y@ؓPEaX$@ |BBjf){Re"!кPE*53n BzPu>lTͲeZr^c>| ӥl֌YA4=]ZhhkoBZ\s%H3N0 vopޱ!NBX#e2LgY 릷2%u{#4V74Ʒe1@+墏Ox<$,X=MK #6Bg&EK쑀l0f7"}\t3k:rYn+/:;Q؀jcEG䅆mMF%^FTߵ!r;`R1xg˛k!r:x+]}eiUMBU:n9ڙ9_ [Goⲑo]2 Yfp:s_h(y/xFD!25&Ʀ3;Jʘ-3kk_H!XGUy8Gl_Yy(goT6m~;ND~C#f5teZ {d,Ôm7FkGUqXb͆:EtV5 oYjݰm.1YRB\:NI2$"~qj?@|9ѼqEQ{s `|H~qDĚ+5ZZ(l @[*\7r͊@XD\ЕGsΠ㩾ǿ7ODnhӾ~.Vc2_o;8/bDr[c'lhFS/BQ@2\k\Ax5'ACҊ]+$pzwwx8U1N #~DzfYioMx3⋝8pvq㫄f6Wf✊֚X1]֡N\>4]{WiɈ"e7 hЉޕKXZ3Țm/5TaaY$uLgAʼnq6Dӹzuw)yxc `^Yf-vݥ1(yF _h+OR3a!],> ^kiM# JO9 S٭魝2o2Aɨ{ CEy/oYzrcGij˴xD%o^h>RbZA/Uy HWr_k,b.tKݕ1'\u%-55r`"QxZODI¬cava Dd'&H]0pU 31*[@vU1D |ލ>=\\-Q\ jD$&Spaf.`tגNT wq݄d%hjrouKh5{b")hgyQC1$!Z cfMM3 Sk椗Ց@oR.Mnȫ3V=G|<^-3 t9C= ~{sH*~sEA߼YAJ׶"sZa LHȞgw2xgv/Nɥ*mAAL.V?,׀jn@f\Gȩk( })Eз}tr{(e-űINzt D'܍ΠvZcti\3Qez874uӆI\Sr`R#i Kѐ%wE"_j{W6[/BMMLt>Yat9#<5f++CB>]K zʍ5+ٕ#6e AoNR~|$n7Gu0[tn cʠ Y7shfAy)躵@Ik+OF~k#^ v4l#VJƨN3]JvKP}]S4q:pMgʔgܨ H&!O&EqՌN JaL8Eݦz,U2Z&_4{Tl'4CĽhnCNܤ?y57zn kG΋0z1Ss|E3vj?T2i "+N|c]vS$5MYȦ 9òTKYpze`3sҪ>'G'=(컠atʤ05k_IORc˕ /a70-PdnX.j#}RЎЌ~FENtjQ!u0Esq] _f}o~#ڷ?<\KƩ"~8-z|$EpCPQ"Q`~R?NqrGs?6Yb .~8]$ZN Le^+4Lg[8עpSg1jr%1'u/ -p B힧GQ6vLl8?$$IG @Z(gCvrMi'W)v}ǵ==~EMT׀Zk.bߍQL1`}j%G\=r1Xyp7j82l{b_KD"'G]@δFtse{Lpx$#~[rQP_IrUGV3h[8 a2Vy#p@_ ƳRps3: >tZb>_ QeJpK01 ~nEq}#$*Lh'j S$7U 65u'-,8X!C)H07ǝlA 00.)jcp$IBtzq@~?O?+:^O_pz~{ggޥf?ӽ=7NsR z&y1D|~1ԔS,4f$ޗ kfP@;DZ'~~!)1>;z,u.CJ`Ew9,SpP` :Z!UӃ(t%hm^|<3C(GX8ֺ#wUT崐+ ͈LQOFg*к͎<uNeB^i-{!Y5JݫpbuUl2D/яJK>5VzjH4#Nw1rnN20He鋑tA N/2|n5oI7ڨ!Y0!|+Ilx}1*.EaR$(;~((QjAX}`ϗZYoIr$MXGt7v,  㬨EFDdHo̙9i='TOְM:Fzy?l6oү5߬=%LnwH U:y}tľ E;&wofHN[֥LaU|#44,&FMy6.^ot[ ].g]28;Rj .͡k7WV%W7pEoA~_Н]Ӽ#tDi׏ dzRڪ]X _4퓫P-AvIc)Z3wvZ:Ӊ^B%]+H zСQn-_./yHM/_W$DB['kQh@*J 2:4_I ϥ"i:+wttA~߷E~Y1 qҹup?V26&xj7H2:P?:#ߗAͭ/AT9<-4Cj([he(.:K|ڢ:bl!ؼ?+ߧL"+3>NQQҚ{''*ڹOfQA.oʹtrU5Lk/_?N˷=N?){2x`e?%2".1FF[ :9 =f'YSו,Y^TĈsԡsl!/P\&ZF1IH\16Ӹ _n" CFr>UXvMלx$WoDԃUOFPWj J&`-\PyiEPJG8fŖut# ,wB]\R=Q%= T" džr;"qp̕]TEirY$F8Ps1޵]eұoHT׳t6M*(_3_{ i0WRO-iruQhT$5zPK υ #Eerq,Uòde?*Fq5 2|˫hH5'D@Wwm>J`~Z Va'tw||gt[Q &Cp" |8b -=}z[&wH+O"ଦYB\r +^kXB c'UBⲛt*̀Whz* 6B1QI ukzDu?QWFUqZZd*Ps&`Lo=mTD >a76xfEE| ~C@(IZ! ڦ}褹m ,CQBT]ٱTӭj g>$4!ꄒnDm4n_NS7lg?y5ENpK^ XB_%\=­~F0z`T 3BCUr]*8҄'N2Gy%@{k:5i]M ׄ}!p,aB %}j/6ǣޠt`|쩦JuD|ndԱX C3s>B5Z:dI*/?Gh<7Qܘ.W7,=8^H>H6dܮ &kLńO3A8H ݘ{Iq>I:,~(j|:eK}D {b0{mv@v@V`9F$a9(+)W'̄[p2Fjح`j[8`iQиG,rĢTgzj*VzR.8DȇQY7r2o c Jx^Xތeɮe KJ7wrX/:aER{pwƨIسE~ŽwQ,C61ORP ̡0Q]҃Es߃9._%r/>y^~q┉yx(󙡴mr~#fp>A-f۹[+$%3NDK`yP'~S%،ta$<8wѧŧު%6:$qq92Aq@jssy?㑌Hm]kTPVv{MI[!z0bI~Y.4 mh0!/D?/r?(bt&֐/; }eޚ!4AxY$R#r#ٙ[|Pp&!kRCJYA֌Ǭ,`Qy(l1<jgն 0@r6t>׹i`IJY{FI{-k+2/}H«YiT'yl(,0C+͒Du¿@2y;5'U>"fHb?KNG㰾&i4o* 뼱5]*xʆ'h'B_dW?@Quy*(f{{(esyx>n ]{U3gКn<Ϯ%әКeRPϐ-͓`i Iop;W:%رC8B*pAF'4fFb5pm# 8,]QԴ;\i]RVf"b(xhi)_|9ޗD}HqƠ8A;[SS^k؁:C'yEʒn8^z UIs)nX!#Uqޞ8-3ȍ4/KI@l*b*ʞN"2Mjo1w;w-Fv9oF) Y}x//s]p>PcUMi6HV<08LT}y/δ'<ڂP<@Ōm3zgJo >4N|HXnV= NjV$ZCXF+8=-5,3mi=ȋTyvfs_J߼1UfcF+ J\| fHǑP(уhyYtR;gYЀOl@?) o_dn2t #`H=}bSBu>EeM=;$W2w-$RpV_908c哧G_qx׏ ![y~q̧B൅uGX뙿 >U ( V^$7Dڈ:tݗɊ Hic-v,{bdjn^<髫E;J.'Hu!r>ü$b7naCEfKZ=:vˋ`{ʷfpJo_xufC/Jg<5^I6 u zs̊5XW/hLּvԥ&´;&zG C;Q`% Z܏V{~ [}9-^,A=&XG9XVvƸNv$;Gǭ: 2$'77&>\(}سg_?q .<2J'2x&EMNc;Pey @1L ڡQWQ% ^-SsV 2ERa0Թ3ߠQn<>SrXPjsK̚QH>|Buƽzˍ6iY4DMd̋jnǜ p&꺬-]$nO.2@uVn )Ē/ R~)'1 $I*,TkR$;G(zZR˜p$jfHYII)º8r!uN΋tLʰqhDw㌵ݞe~13LIɾ83P`>t+UǮnhtSqc۔gGg'"' DC"(%aǚY@sY/ޮ 83DDYXU#=q#NcqN<|F]}qiA}k$gҶ]"k9RyV'9Xuj7J8}ӈc1_mʙޢ9xTiZ"^K\Z}_}Z8ɬmg?dF0ʗMmI" hҝ0?Q29p|k{ncIz=ohr7نQ~b~TOW(̺Lʳ2Rb"t])ԋ}To,}$N(c4U׏}֠bX2!#r:@ mZ*is6^b~.k(DI+*Hz JTr<#_-]Th+|tSQljçSaٿdF2ΧYil6PMed)}AI=mxsR=ahJnY0MU?#9Ʉ:FAʇW!;ĨD+SQm38>:+nhkQZzxACjX Ұا( AiQ_Mk^ [o2_6^ޝiV΢)0O`8ӘیA׀E.)-(M FY2ViN<)`y[ϡ$sVϼb1}ah UD*"*OGqlڊYmʵXV/PF\>LU-:a[A UMB}xWɜzEXH%-բ4z(ƣ~y13Xl)(vQ={^_Vk?zgJd+xQGq I%Y,53;E{@Zۺݠx+ZIF%"tXƀ4&,,F bztLϘ# _TUl{B[?G3Zϳ^ՅY7yUlTgI[BNSǽbv!'Z^0<%NJ©GŸSk4c'ZAêxKvg[}WoO^slj%P" tz#ՙI:Pz7mĦehI]ɿolj^,@Gc{+(keM߹C:{" OF0وnk6?JxCP6!m E8sI9=]I#sc򛤳qԹᔉ,<tIC]|OH:7&}hݿ77?JGS4L<ԻCCnxx Cې6:;g4yX=33k> X!![BrDb%~IU/ھ;)dhHѠn>l>Aw|N/1Fzp\m 7i1@[?D d#Nj0MxF%e?+6 vǨq~a7-1d۰C> xL=:}m;.jOAm6߸2a]^١޼y㢅HwȧN2(<-(Ze& BTgߐ'#W\E^V>u첮o@BOC-J˧eam ˈ˔jߊ\iyΆ4/eQk޸xj ZͭIПa3%~Mm ҡ; H@٬81`'GmQM5߯B)st,ю1vZhUß[[V <- Ms|!+0*x#(_/9|cWӗI?OzF2&35O9 漘5:|N{}whE]%K:c0yO JD?O S@/.?iXae}jX :ڸw6]O٘/#]EgswJ`6c6]'?ѕuiYQ8S*xӲ*%WTigEֿ/ ^3 @2_}ķ߇mO7}KCL?:䡞·x8t +m)rw YAHq"/~< JGoцT=؟߁𸘾qa3g[*KGh|Fs0ӫk/o MlgW7b yN֩O.U]FƧ֨ ÇMs47%]$)Oa1!pۡn>}0!mu~:vƆ0H#˂wV.gԣs#[ r fKp*&?9Ë9~Uχɳ;9W??{׎W|8a#_Ͼ|KfmHY>o*Ҽ[]2IBMrh^m$B9|H>vܠ.d9D(C얨Lc[4EuoVB*j[nx'& =& 1=,(^o?,9/&׋l1tf_ K0nCrWs?hknhM N s<6eߜpr_rڷɮ<>=yvrv3mRt~$?{$YT+*Zkڈt+}q~^^AϾ|g/O_|S앨y7{ӧ軙znj"ޭ =٣'kM2h7'tK9D ď:;y0I¾̪SҲ>Yʕ%[`BI爤Px $y+LDs?R6?eׅE6Y6r9Mm̶o?߰zNMԜӧjY[m:Ǜ M=@e֕[gH\볣O_cywz蒧^H7_ߦmZ>d͝VR~.8c$Ͷ~w<+\V5e+(Ѫ\bQ Wg/|1lzF=ܪ_bl>ǫ]9hs2EW| lŧ7FUdS&bȫU?pxj=%)T6"ln|KE FXKqt}g47 ռ^/NsDR+Dm]xݵ!en"Ik[G9kiGd>/_dՉ:k)0wGPxcw$m|ƻ.̭nnnF]}|cu~t)WP&D^+-ZޡYtI|toIQNާN<5=ӳvNXG-BtYD\-t/ u3=Ĕ8E'_<<6QgGS_!y?n:ZifK ЕTAe6ԑ&i3ExB=(}Xf xqkt^K;e܍2J́gxU2P8*@MBU*Ք8> :0PMLJ}jAS+;ƶo{Ӹ]%9jAp/7jT\ZA nEЫ.1ϸsࠝ}{??!jr#U ʶ1cO9'O໩>"/_xar|>$ m s/9Ǧ:A*q-=fCFƠK"-t&5) W/I⼡j Z>[fw\WwA[ԫyiV; 8-3f!vҥD1Ʀ9#tP0[D"Es#HQ13*sO \e8y"nydlSIbE2Ɗn.)w&4F׹T{wr&{ hg/ƈYQGNQ*9`D#jAF `Q;quC\Fn_*@3=Z8^gnL&SB]P6 Nj3h^]Z %Ĩ!.X< ڰ/ ul78ӑ_|~@m٤:vhΫ+R@ԑ XpERP1>$?ge՟WyzgPK$%t@DJ(Z֬:`7ACU"%#WF"N֎8=1˄$pJM!(+?LVuDtjf )J|3UGůN\鼔j Qp6 =JѡP>ɳWF[cv5IHcT]۫hub {TIr kFXljlW!kTh1qUqH2C뺦Zc}uvEx,aEBRk_'Uጄ32 H0|&+t$euUkH5n^)A!'i|M zF:b_5˜y('Տ)&3wɔ}f&53oVmB^cTG_=~!_on )K[\ d,sL3Az~3h6eD.2!-Ĭ!Rd2=<:2Q6s11pMX?֔!V{TinmKFCν7p' GExj zS`/p#"E7yrqpŕ rDᖰ Àr+5.v[1+4IMBALx:G^ԿU|@1aK\Ed7$7HҨd,oM?oXLˣ)rmx%pүR .9p1LV`Mtph|e{XV. Ƞy6 YA?i|N흌g(o:l @cĆqlp{7y׫ ~Q4H/6F'*2^9F?%Cߛ\77 D^f/GƋf72?Q^1d` Wqkxxv)D!DSo1*(ֻ0, 1<`I<͠>wR"3kQ 5Ki|]P-^}Ч7)6Uyd*d^;ሦ}]"Gho*D78Nk"\46ÚoB<:mȏXt2R mkPz|>_d-R#Wֱ-ia=jn|pA60!qD`fcҷ׍ //(yӈ%?$[X\rfۊY[XĊ3&P#?^d NMvszĂ} Ř+ko-P%O_RӋ- SG |[pK@ZnmLy_1u\utT~$d7MFoCgM 5Nm3Dkʀ&g'I6؇}Stl7x,w{;Vɥ&~Mzk ?)#V֨扷bB$zuEtsZ ]yk{twG Om͓sR+ZhQ {j1W 6d7 oֿ͋xK:[L[3˙ўTzIjVrIs :NoWaruvVwͽR/ 귊(I0$JOK775lj.hHkcܐ:5Z4\VW?2rQcCM_㖋ع jM,  Vm_'BG^RY:mN+bo";r'de|eԚh2?BDKקnFK'ܶ:`?*֨^JyObh~j6RG1C[ovߓ_` #)z hȈz]Ag8Hj0.2T(]9.omǺ8~%^X\ A6A 1@||q _=U== RnΉXfZ@%[lCf!#ǁRl Sefc?DƾW/{j| 7,` \{El܈a<lj&Šu-ꙢaOv(.ƫh,mk'v]'e&M0je_*&]meJcbʘ,JFfw/߲ Ftb؁C}ӸSa^0¿Ǿf"}ˍk86 F4iƿL׿0 +;N::newz.N,g ?a׻7M^djloS\8Cm!3Aޟ \ 8 |8˗O%҃v.Nj.4; /~لǙ͏ ts(NJε@8-9F J$ ]̒ڟrIS3Vg^wdӤ'u̘ԟ˚/p$*-oU-XJOs>%C l6Oi6 }\>X 2"$`sV MoOuPJ&vm)0S8RB [Q< B>P!'ulE瓇hE߫yP^j*1(9r߽(4an#bi^+g/:s țs! >E&n-3Uɷ~L-DSJ5zX}P;tܻsւY}X[ZqVuS+T 9{H[jq4_'.Q`<42.VljEdm٬|ԝFSN8 '`0@o1R5| } z?=$<흆W_?=Q?ef13箣>>lhGeoL>ǀwX|\vL齆a-g]ϰ=`sIJK)f,=G6㣕;Mb4GHΣۨ`c<,:cUM#4{_=3WB-42S4 !u'!!>9kq L# F>"rƑ{UkmYsTjcz{)=/B<=(e30`m ^ĭwYxsui-n܌?KPx[(7¡\V\DZicqs%Kw2,TWZ%sE}N$lpPd9t}ø'm.͵_V«=i*<*Ok'gOkB17.3^M.|^Z$PNu*\[{Ӛv#Ě.Da.۫;|Y2;*͕IW~WcƏ}ʨ~~W|ӧ5` ~Ok'iMd\?MZxnLְ1i5)6bJ߃)\hKO563'MD=W5Sld-tPɤvJ'dqϿ~86JvHֹmh+~_-is1QYM&S~P =pIs!u=]\pV9w娳ۻ f-6z?½ܩpĖ:Rb5 1yv(?/UB% ,t'*Q$Z1G l\Pf:nWJniu,mz˕+VM~$ 4`o!Ny{qAt_rL;lx7 uj)vC=櫲DYȧ Q]Q_yfR,\qa1 ǝ2>ARNQȡ0SA1H)4HIH *g*CSΦV&iziK^>`A<5+WYsr;:|Jjl㢅exsǮ?؂C`lx.m[2&;Aw&{)[,ʿVdǶ:e|vwl\v@{vm0@b9@V mÈ|R{ccMyIc+" hJy `){ 5X2_[6 if@44ghd>Ez0:# oȌ]|5ݰ9ؑux "\.)mx{+k*RL,ףS-Te#\'ɺ.`ƃJCm,'{'ݢ 8ϕ{Fɔl]X7~spw"8d_3]cqʞ_:d5DKʨZpoW\dV8^x6'}C/8.Ya$b_p0N|R_3܀bX#xPuN't:J XUڌŝ%d>[}Boᖖ,uF\nqNC/{b~J%N?s7si7|7K2Sy(W74U5=_t}F#;|?@Q3iӈ1[֌cļO+;ioDZjCqSrKn/9ÊMEwpo?=<^;Zsz׿ާ7ryg;/_~{^g;O_/x9 %`fkCϟ_d>ݧ/?}lo߽lR(-K}qM>znv CRZI,-q:'2jЊoEa۝VyaE۲lBxkZ}$&ƨ?D60!m>J0Є |u>;=A8|&]4VZ6yP<}"R` rpB+ W5Tt ⪍rӋVv-%a,. -0enTɑ%Cj^YNpiNfn#x8&F>e=k?{NWҔp2X4;ۀ.h C:OW Y:`Ňf0Rn}޶Ďf*a>|&)yqƳB 63Wn~#S9]q ^3kPOR!t{ujWUhbO-GsNQ)3$dITh Rq7`x0 kHTq1i\I+&ׯA_6ʟճ\;|eWXy,ج _T$(ұ94at% o,N⭟l*ĤkSKZ5pD^sw_e8)y7_=Qڰ*7a4ЖI Ut0Et \vD ^\m8];5ZshSnPZjvѺ"Zv2G4Ad7?D'yf\AiQm4elpV !|]*t)u-ٯ7#)=K*E+{yWp\_[C5\]}#\Iʙ$ݘFmoo/;,55-]#eŵph2HЁ΢37,:_#ܷ. ?ӟD$?ӵSM R+sbǁ`bDWQ{O^Q ->~`_s#5tq>[?B`;Fe ^1pL8Mݦ<"d~x}BIAZpZXPD&RՠƠ{qQqfbcRĈ~™^ 2T3̚E8a95XH{ ԼQԟU$3"$#Z0}`6ȢL/ _l( _Ce11fѼwmG]a ьnQFqx!JDH*6hL:|f n7Ϻ50v޴ p3B w5*@W,H|RD]` e߶bZ ҮN cqQH`q0 FwإHE* J8u5-t#-w .YB1ba@H_^y@~p-o21( tUz@(Y>8c Ƥw=PcϨ(@RtzWk5ώ_yg_-ꔹu3vvoR,Ds:/6X|x"+Ù,GJJSbH*s{G  Vv?E"ZNb*f_vq)xWm{F WADM?Z2<8K/1kvh.f[Qny8 㵒*حduA]I<>Seucy߽ F6i^8ˤҹ2{rji?0Sy32TKZR+?֧GzhYry^p}%U)j= =|x:r_+ ||`kGW;`ׯjCnj/:9=pll]34:m&[ _8yzW M骫*Z,8 B6ζJfiZ*[ƊܩN+;5_:~KD .!@WumJ^FAiXI@FmZgQϸTLƱFAf_Y$t1"Lt =ithQNYE}`f3oXEB|OIዄR S><(r?k~{wW |O:_pNu'`̱(Y"]C$/e4aOh$YrbxIϝ[N0QT 핅󑉓-krX̯"d@Љ& I Ͻ/;˘2nlXx9ڗWO%>sݚ[ [X|*‚ӨYtklYs1m<Fcq^>\X$k^\cj-[Ktetswٴ\M\i' b*}'Ri()kC=;gtAo678ճF1۵ڸ꿂Fuv5rޘMpjZ rBV W،}[\TZ~Pq0[cAGܡvL^Vʪ7|zz,oW/I1-zqlwZfY̫>ӧeu=ژB:%x3Lbo.`W4cuNѳoi1#p΃x?yoZ`V pVln"Xr AW.IWٴX۶@,j.(eK!o|bhb"I(ͮZޒ@Df!u-Е M:mITm i&Ӷ{ Ce;~'ſbxKT0Ĭkf 4;_kަ!P=, bG?fA;:Z GHq3dѠP5r6j4Y/fha!a*cIk j_:'<0sLc۳b48k MK{[Qè_bppbOǺnR2%AGogDLy?CA*zm|{}25xv{q̪:P=`ø?..'ah^ڦf||Jn z0%Z>>[Q="צG|E,|#>/aG9\C GeΔyȊ{ D5x$Wן^Ay?XuU#5L!{Pi?ٴ4+z񥩉8-*U2E:3IIrϻt `fge@HzX<󜅚栄bŗ2?@W)N@eBX-}x$/f֔fOw)q14."k ӑC,"Vp^@ }F&g ]wc;uPH"GbWmfI^HJhEE_5[? mAb p[s1?(Nv ?4O8H^;i˻=/VuofyP߾Llw4qh:-zoy 5f&¡$mߛӑ?HƑj"@b*;Zl#M5sR+@16MMQSEhXq4yy)8-HhS !+%jJWT+F]DO%hlF=nZz۝4X㈝s kizGo;o[afy~j4r;ն@ێT&g%6;ɝ.R[Nkۢqg=E; I'^.CJ#;Ɓ1Tl-B745Nv )qG責A_wKL41mi@{ʁg@&[a=N716C&*\!b0Pۏz#Gʈh\ >~ xDT%QP={Bۮ_4#ߍ{$e͆R:X6<ÛDx,bOQoEg隕ziV&ܤ;ڝd٤]r \vj7+e*r/(<||\ tW&Glw>gט{)~\h+kA8d괓|hRPX}htQ-Υ}R82YvL~d<ٷEz|Ɨ01Y5 G#[nh^7/S3fp H$HkWb,f.7.eIcкX2e=!NQuwq(G-2.X$]|&Q_#;i̵is* Yfl<ك6]dNjgE_|Ő.\Ua]/yq3߅k lRbj|`3XV\0[v';fmXZ#H6| '7Pj2FXka{8ٱ-ɃN ' n+_+v?5i'U@*<GˀA/[H83T2=֌©Ի*=NYKyX2kd.6L-=w؊타'zF;~a4w!쏦.>S,\OpNŁyC4 ٥/X<ƃsb: "Yaˋ{W5YD".w=<&k'm@t@all}:o -aW[HBiꥆt€d 4hTע-Cmg|עVLpt?L?}0JZ+P 80e=%K|d QD`vg}] 8G row^Aׯ_r{$Z}K=ab8nmݲhewW\kBpqR]P0 u<V"AUC Ծ.7AFQ: :w guLyQ`qtqp4aV8ҩNS%jM'K4z[bmc X\kJ P.57qlbK~uT2FƹGhtgI|xYOymNt4 R( Z 5i[(΀^LrD:X>Ur>;\S(q%#?P IVح(u / M1eF!+T V=Ka>u# YQkG ,cLoh6D!  =&,+Ěa D]doVMN^g݅B՚9GFCR>ƲmƒYi t3FpFGo::TfJ)l=iMnU6~7Qސ5'1úc ,HƇhJ_Sul;LBv.6u1oAyodzB2II~?@l SAt-;˗U$8! 28s{uf'Fn1`x8i>~K:kP*: bH &ϳ tUL;쒪Ag-˒(JGv82: z6%:;u$ neAtI OF[Ϸ/ؖ[,b$ _Eu)eRS4'<0@>6Ih2`L茌-='fҔZ nϖdHuQ8d>g ӡm+|BSWZ+yO2/YH@M"yoAu0;r ` Ekƒ2]*\lgȼVߛrƠHa]ϳcv.^݂&(s }y{o+ksQ#7v|7 &wvrρ %:goO俩خ40 <bed,uoz??BJ>j%>oY{h~CW0bޓĆL->cL9>g*8Jq ݁Ay"w`6w^n8@H#C &#rf?6m3,~2MQ 6̶0I N$ԙ4kO T8?!xFA?zx#%{vʲO66vw 9Cri`wOw>04ͳNm~Tύ3JTքKiz֩}4XT)zd-3BN{x~֠ϑӄ'Vxm,/(S{ݾ/*~X&apFw[5L$:u8O9ٸa!-k#ٞ)q8l`Y%R$A@(FߎC"?퍍=uЗ[0 N7 2=L'Ȅ+tl<_<>}K|r $)—#?p> H`cd/RHJ2 xHXٲD$0=ojt|?Q}ӧ; 쿾W))g5OEҁzemIJ>hQO'LP) 19`Ƭcb\#.bfCQv%0+EQZ=k14X2,J#&Ǟʻ̨CNl)fM_C}+~ԝBl4{IHTщ4bwϾ=kڦ-ͳF|t-pwvR,+A@nC8SM?=,4h#]^{Oў+܋O0Nr~y+B!Q_rv0{=dt`buqȂ/X>YvMKׇZg^9Ơ/HxcIƁ30]|@6{iE\MsDnL\&: ko2gtƦjᛍL%3$DL>Z6{(TJ$`g$.05δ .? }-&3޲hJ; 6yaqk-`\_ax9kQIڂȴCɾvee`,X <n! Fnp%| =j@~׊T^`R,Ƶ.26Jq7KԲ F9] 0tY}񴤡\uGI&7|@bg@G;:9d^|ޠZ[bxi > E~h T JA~JCMM= v5 *.Z: {ƩYW2;Fa2O~p4N v8N1h>s[2*)Ѓ@"cXZB-0 @>`?V,M:,DM5U{xICN9b20e0ɫ|SeLFpz4ӥ˅3a-#K[^G{bGowgӈ{a[B6:|֍J+4Kƙ $0 wE*ŵU2yAzj]%Ad>f Vp4,p7`ر8=$'hvT>.3{=<k𙘃գp=W9ߔݟ{EW/aCZܪK/>gV/L&orIa}@7 46G&Ic͸)Ar|DL@:ӻרC!yRk%g:栋mu[U2f,~(N<< Aݲy8$^\DËFx)AWaLBߗ /"@ylf˕u[m!cyvYS*sJZ_]yh6ĝؗsѴc+76Ae2fdzbw,r=^TUh1-s YL\{;x #J'>GLС6躈FPV/?Y xL Ui!o&B?(s7$ϝR/gbg23]})LR*go7W]z&5%77>O~胻ʱ bqvz ]+q)C(s.߾~ @;6mPdioiˍ oc~kMzD !haZȤqzQQ [\x%h2%Ը8^Yaw,)8j崖"l^1Kkq5~wx9$C9љ1iXVM' n2i}$1*B9q-)>KQċ~`I~ ;L)?գJm8DioPFDZ*wmT#sRV,pij Tǎ iJj$.K1 ?MXW1eҲ uD&=o+mv)!pxfofOgAvNL4h:5udy{V47d[XUJ*oo٦`'qx(9e XNwi!C!DIE6Sŝ#ZԗCrmG{IՄ=S)`oX]xxiZPC5fErj33i[( [ҼP]έCYy8\BX)CyV2ppTm|!S<8oeɳ@B!٩Θ=[;4lnݛRc f?yu mkϧ\1y` lk[`Lb|R0KUh=r1Hff0lY dI~ T;/r76M$ xXjhY鎪=k ,.Y鐡Rςǐ҆_$̇lОgwe2 ?^LT86 d8 :&JOk&WYKL>w\|/&lKxuk>*.rf߁hNh49X%<Ԓ4)tQt+&QabIMe".4&8M q2P>V̜q&n2vt:@vx!Ƿ~Q>mn gҨ1sk2_8vI_H5w<|L-njX<w] 1!|g:v+FR G<9Yo5e7޻OQk2WM.a^Ƴ,um5ڑTh7ώ#Da5OVG`%zY<{h创yvNUveGٴ'.ɒp^Cak)ZԈ?fl7ބ Ov;0afQCdX\?7G %$a$p'?OY䃳Ety_n21:CdrJ}rxrB<#i8{#'i_7]jy/e@!ѶaX ssS)~2t/=}K|2'zQ9w'/1T>H+Kspf8EP>aO<|Sݝ_.NUѻq]Wƥ*⸮y뾁APh7/Vx?&]ޔyQ6gŵoVT/EaYl¥]!?dN^K|9_MM1m`0ژDg̢Jc%VgdJ2P`.Iޔ~_"OYާ | "H.3b6L%>Q{]*mnnzjٱwḭdsb=#1i/(XeYl:Yq 0i\-1 "?*TZf!5 P$wSXOuJ͉#a#v]wK9$VI?^7dYۖŵtT<᭻\Ҙ>n".2qCN3EPRG~y/%>Pz~ϐ? 7LD0tw9ራ?WJ h^ wُ^)̽J^rG%W RUsrɞ |P`iW{́4Sv9Eצk0R7>2+J l["wmp,ܰ&('i1eNj:9O3_;;C HR8ܫ2t]FkÌ18W&yg!Ǧp`ش d"#1Kv(paa:ĺ@(a9hzpMάc &*E8xs#>}A'"kZDab&@E$.zS)k3{-::[oU!p.Y j_aD‡[:٪e YNĒIdm4Pȑp.}<{.7ݩԊ|7tM`W M\<)rC<1Wlfàe vOcpCTNۯFXv<u:O"*yED[J(M{厑9D7 |)0 ^ O0vHLY"P@ VQ7V[9N ̘Bj͎#!ܕ6L?o\qzPuև-1Ò- W,@+(xl\Q>pRڥ- ݙ;u}>7u\ 0UEd\DX$k0onXuaB[1j[43qQ05Yb@KS=d\\?GUgךWڭK7{6K0զ IٽJ]CM>$nRJR:@%b*a"A !Bzwf}F7*SU <:k'S =4Ui4'_i7A\Czd['0E}(#! qfיi9ᡳ/ cӻ}ld|y(k>kw7i>?S/H'Zi~S;I w 0Rщ88XRlنG=rnY]" ;K!LH̭ Z&zň[4SqeW?03|$syo7/;<|f+9ǧt|Z!cźenwjN T N‘tRҰ-KG: }m݂?ZӜ_/aQHQKo47U_&yʭ*$,0^]89x*(v iEU\TTҀT3}MEK*o;V/ Wq^"S\ fqH.h]p%'G0KԟԎAl֫^YgP=hr!C &FEx\USǃ4AV|_$e򧿤[ -W`T(6%E n3ѝ'qv>Hr^_y-/xU9QJEp }y II/if˗%[IԀ8N.Fc*ѣU?`فwNto^ō@J<E)kJU ׊˽ k$g~hT``P2E7XFZΪHt5Cs̩˙҇wO֎\yٔQ2)N+p&| gO/~%>)"~&s 4],4O*!.{᧝Y^r!cjse6~!_-ԱYV!ObJhx L_mӽ_=wWREm1:BE$4Y̅?.&̑R*yh̯tuAFMowljFowZpALHzils/$bxʈSgXbw ı7L3Ty#F$u#L|:2)ܹY_i.1y*px.&N! e^2= CAѸ ъuˆU̙WU}фApĭ!T<@RcCKF1NL18$pg|kNk?7D9Za[SܻŃ8iI=?fwtrȻ&a1@"D\cV1;K?&;80 ho{ߓF<:w`{UD^\βu;/ٽP`yH((o*JKCVnwT)ER_2Ll=Ēyw7C眙.g>hn $`{Uڬ"&g|GG_yfw0]k c:4^mI:n@3FZxJ>k)mmnkw{6Җ+^=쀰r$t>0,3ڗ9 f6ShT Zئv]]}[̎U66cR*1}gy|=ښBLjz~$ ķIZi9/iv2]Bc\ڃ[0;=:#0ScBH;n֖0[zjqWAg6{%Hf2rcJ #z\$5p1MGt,cJofT[<'h1-}L١`Y@d8&'[&vE^p?S?}?2hB3qbxܚZKgfZJPL>%l];YUb?[ 5}pݿ &CØ?RGhd8wS)ϡw_|瞾Rw~Q˼tr?}C /%fM 䊈.I`Ƒe.f8^`5^IlIcj-˙_e->tZ+)dW/QHa'a#'rqnڍq6Xb*4q:`"&Eiamk{"8Q/ANU N859jR#rr# SS$ZPfrVSW66ON'%GbM䰌W6j:Nz2M,u;[Xq,~f@\`o޼OTK$8RhR≠Nk;djO?;_~qPQڋ.O6KNdO,E@uOcҲ)q& n%/sqc ʟ^ҝ|KЭ6%U@e MzF!&7&]!xnlp;Ip%wl <_̍>0T6uyWrQ @BVGa xsqF58x ]pgы0H[IQ]*LD6Fc9%X{gXB藜pkh<Àq Y KSK!,qGI8S0 R+uZT8z Q}y %}sE01CqlGC'4;oK  x_6JM Պ `+oc\ATR`8m.*_7XcIlNYh) qEY54 wQ5*є_SZ -Lœugiq~9 _:+&ÂZtC 'o7HD[SL~cOC3~έ] MvvUo*Nb7$#FUf룈F9}h鱳)C}>h<7)T1l␱0s xZ)co6?\hfA}è{t|^J$J-C@ Ou .qzL{Wn4%F"-tk79g^,R]zS hiQѤ1-¸7 '3HzɍL?Ќ[Vh.N4T|1$AK$Ck~A Pi[kfNʛit4E?Fӥų<7-vXq?MYM\њwcu.-p)hrWyʽ%;V/o^Zw@"MUX:\p_t|w7*cE3S?h2Er{bI2j9<ɬM+ /!5Ziol7^q؃|_,4ͣ՝ |@hs[F9#펃CvEXҋ8"/t1!{4Mqe~V܋Ll$*gyd?m3gIcN>qL<55AaוY*j]Ei 43"z;lTnNOGIWG_e:OXB<0"9Ɠ-u0eBy艁<'>7`)mH*ޒ4|b6/s&Jn/] f~kcN'crH]JhO`JJO94/05"BӬuj0xk$^1 h7NT9ttx,.dLaxȋ|Jo>z{uF(œ0EXIs nf0'7;(Vɖ*[y= e? hwRv1]aN:1B~nVWz`F^4It5 nhK 03S1W={Hөu;$ȈPQ9-fH.X8mЃZ<}3Cg0=tk''6O2y76#$^8˘:)y|`/#GqHQ|Vy.>)Ĉ8v<-qYa`r/E$9)pacӎ8*656°uı0`55P9L'ʲWY5PP|, {9m}߿1v:#o K s#Ba"f8&:x <F];Yr.GM#Nys~OZG ^4*` 7AC+s]Dߺ&%:kFn>1%N[~V˽;ǂ{/L|8LxNi(#.ڀWk )o4~>cotͶ}D W/0Mv[j +8 b`EҭgzqS)sR1gvcʸ64MR&\y>@oWt0?8cKcQj &؅ 23ȇ AFyG A98n,,^0>C3f6H< *⹱DjW# H:SLE}镧LMB|4T9,Pf ;WUP͝'Z+ c 鉮vB3Cʩ^Vɘ8*DID3X'JKٜ5`D z:\0pUS;pwt]J-|ZۨigEk?6h+kxNyQnnu'3|Ītr%נ]9NXe\'p4 GC\8.1>eFwu.W%g{{Hr ɔJ*̐5redېe]Ve;\P c˩,BlbC!Ȕ=#Hph,ėnwX:$?` w¬-;,,vR,sSL0 꽪(&F+ Dg%`KO^kw$=r\t}+Қ[IȔ`zdƨ 6Ӓ&7SVPySdeiRgvb{+Y}<%b=# c1%SKQ Stc=y L|t%㏞h<)܎eY$rxsI}:vJ@P73"pXl<13]ۃ%̠ |bsI$f3i*&]~Zo&ѭ!1BL7SQZ xTVzP+/]ǏfMoC`ۨV`-; -ػлƢҗ?.d|8Z2+8{+ M549OS&|+mO^_tnDww t j"C'VG)˅ T;mֽg(jTi/Fh%f׮{o{ߵ?dZŕ*]E\>hX*‰JR訤i)mBbX=IJnt),)6br $V? C#t/S4}پ.coCr[]gأ飼L,= }/ymr%O}Ó`ҏTQW؝VS*9: ; cx1,٪ӒvǒMV5j\D.̑8M U -+9G qzD!l8N\K [sj@IuC<$1{0x7 Ǽ$r- Hq?} "UQ#cuX"޾$l{A<Ot*a0fOc}@JT )l \%vU| YH|oHWԡI!gQԻ$ʅ,yoGvx~D۩vg)%CUDr1n7%(^¸)H/=Q4G']E@ɈJW"V ~J,0] T.6/DFRhIH(Qdllg41$[꽻-'z?V󌺼+]͚œo_8LJm5oY~ztvػlo^p\#r Ó'rrM{V^;kGq26PXi\JH7.尰AG,7EOZ0\goR_y/xeRl\Q-o|VvpY*=<_C>t ,>ȢlJhp~W {^c2ٵlUTeb ';(i*3%l %$h2 .AOy0yyLU{j7512I- )qfKf nA)o~?Zp^ 0hRpvH,df]n`tHuWZPMVrB| z{,PHLc)=f;$8EO\2 x|':OWdmJG6_12fGrm(K8.k-im YNQxEӛ6^kT9,ŕA`8NqY)kYsNֈr;gS3 x93DM4~ix~*ݳA!-9~2_1.X)l ]DkE=+1mb&wn8%dTZTIGk^BCJ*{%<*E Q_7Z dP5![ -q3,=_M\WOÌ@_Zu!VyL56u A}G*lˎt]%zK$bJ9E&9,+/f9$BiH)v{ʼnYufG)9f@~Wm{D ;0-%trY3T'wX-9dK:Ns?.带eAvQm$@BHqx1y4ZXgu&'3\$ZJވk=B]ʍ{,;Ev2z(t%cMhmE%dBqMF" OXܫ=c?SVI.ڟXʏ3VYiK %gcxVVi㻌%n\ VjxZjZ -u6a8Y9H]rK\n   |RbRr_6s8fQYBTIQ%C5I#k^lMFUZReYS_B Ygh2qUN,V똥ajNa<ա #Khz2 R=*Ⱥ 'kKl۽ o7݋_O L Y5޿|hL/uK:ݕϚI-.G;o6)묭k6aS(=#b %N%9\f$ ڰu Fr7HP˄!(KZEFM3 o¾MnB~`2V5<\;NNosIoقuuX=TJKUH皋Ó.i\.:٤ߩ# VϼT9ItE|v17*ѿ`{\ȨDVtf1KV0aƬG f#d{ZD^E5'X3ƹ5u#p}ͨx?ϫvr^ky͊I~pf׍823 8& ʞ? @1Fg^ŜG=f{\_|B xqԿ5+"73- Lf:iqod]'!xMmwy {1+nqŐJX<{qpn0yTg,qT =vȑ52DRݘkՓ;cӦ T096Ǡu@ F!?Y>747 śr#lE2".(QTKcV3k$!{ O!s/toK(.*6?# $P핽ڲu*e("Z%Nڮg5vl Y0ZiϣO]09HuJ>(/[9m9ܒ/Q"]`岴GyJ5S_&u/vȖ쀖Ne\|Ȃ]nl#CԷ 3fBFr(A]yXJ*.90իy`waۙrGmMސ؁>`0o9F gr's鋧DȵY&@gb'1P6 B&Hj167q@_j̦Vjʦ_j%TVt*Bإbz㽥*'N?.46?֞\g+`Sjmy|w t~yؽ݊z(F?`@تQdJ*2(lr*'[?Jo0mX^J0e%Nj" QJ0 J Jюxѝ7}LfRx Q^M,WܚVt , pֺ]IR 9U,dV\:YeHŅj*^G:qFp7Cg7Y|ôY-f *|nY0yY1"Q@h*k2-g7Rɶ'٬ GlA󄊻lmEZ~py+q7]ck`hΝӭ/g(ނQ_Ȋm=6S[ L ϢSޭʕyEշr ,U?ʡd+th+-!So׿NLN!QbݔQSc.bcn<9䬈ᐹ|0 "|䀊;ۈݚ`?3K[{NGp}z"o򛀽tpt%YHI(@0!=+Vص$d.+}N$_Bd9%S&d@u%sw;@Iz٨11ILLv+C J'h~F,Ly;-f@7#uh6}ȼܤ/ B >s 7nV ןFw'=BҖ@N*G7T%jdy]T4ENIJ8fhv@#~nQګi5j7' N_8:_'$GyYWhdh838{{gYub$hg(!L% H鳰4^8ٸ mH zλc)|Uo[ jQ*1#+7+m#cPbڄH|-JȔ!VKiT8~SM[jSqvcALp䂂S U1]57b1A 7G5/V7X),-:/MgkNUs\=VɎyRE_ ZR0ɻXX}Ǭ^iiZi^j`%>8'"\% .MbAYԵ> @gH Xڡ v ;Iyi4txP$NV+ɟfR?zN}8itLgvZ7==ygN|gg'|'}N'7ͣh쨝n7+0hϓ?@/5_6^dRӍgw@ xW=1//틧jvϋ|?/zJ9N/v0ZĄv۝Zkeҹ:=9];E>0)^eDa. MN0ݼ2E:o/N!3`a{\BYY tOx{0Ԍ6ݝ5O Fy.vj| ^.A3ZJ^.`sQw!E;n > <іv`$(ނ$1:=Z B8M ֻh8MN޵wwyg9W/h8]m5/4ގSeu,[}qV$wK)3l ]=A<[+A5ntFO L{&^|ߕ)*W@åӃ$󉗙I Z[icv0I4Wsv݁ل? ;3PC-tg?Ow֙i ?\ k͡\*OQj&p‘ r\U)CUJ! zI\IG7wn m~3Q'}<邞joxeK}_ScvmK$O? U?Xp_L{9ݯ/qCH?sAˇ.Ma:4 vNj.ǯ;GZI{#V}x'e}bo[xH |vztlf_?1ZJ ׯ<{ϖ?h9?zսF9rK ?5O]@kW`ד}}:)C~㋋Ӌ_4X{2Ssz^v#UxEÏǙP?L' GQ8xވLi5vTSHg]`nQt&Z jvN*RT7>uڻfz;a8pQnFQghMsr=xVa`Gw%> C9ݚi2;=S?8 YZ.?O g³6wbT<(ydl˿gƶz=7.).?Aa%)nVWċypc#czHvKͪk޽>I6&ŅiDzҺrhտC,\lͻ P*:}jC$YE.O8gkw\:wv_,7x 6^ܻF R~u||wAKު]@~Àɠnh'o%f0LK {E cn5[_6~RY .=_NAO&pn/ >g8~~ñ*lhX`LQ5J~PZFv3ﺵ75bNjnt5DcX_ I(QREĢ$o+if\1MsV,G p#n{j j9ӯsjga#7{(}jBj ; ITLMG8 t[GաϯG.{X- ޚKbJg*}xA)BT֔skoi`3{e}zH[כ`,@++sߧ;;/_gřڧ_Tpq͝&M1JLz>*{0b0wgE.3WQ* [ ^gA[.2C ͕J[ ݣ>G)=vpfWM7}@1p}঒>o)0o}P2R1+y?MfP>ka?N}OUw~;if~܆%Q}H~$O1nNA:!CMa}No4'n-þEx01Bx0g96no>4Jg{_/qv#sgfɳ5YԜ?th+ChE#1l bj zaD@'/-T-fjd3ѳqz6`Bi$A 3%]*Dۅe ;:*yw86nMbCfzaKF(ROD .) ZNb/mH[p|R;:[Iy2iAW]GLRT/!g?TMٯ9+\0 tWH =a@y>/"qCk@ tmn}˛YHi/\v0O::h`PGB VެW[IK+W|[vSAY޽iף!/m ’J~`5UGzԔ生i^Af ͢X%퇽SbJrPqƂp[G?jӫHPM?g?P8Փ"hk}4tJ#4o~| Ug_I ؤ@T M-oCVeGL,yL%J$jh(.sxЙ΃nz#!ʣ-_Is=~nu<8.J={SݳFgJc-ƸޣqM+բrD&Fs<{>)þ_9@F<\ 쌐Υ|gzK0`&n(s8d^,jůA8 ]&^6ܿㅯ;%K5ܴWh474b0)ÛJw,Gp?-U(_ms0@F`m!=ÃHCG7vȍ?s rGOy}$ D(+Cu1eup!m7پw;'? oĶ 7ba/ן`Kz(u9L ^ >D ԯ7g00iC }4~)njZ\%?iW4)ZUL~*_p?wotߗ8?γ=x״D5iqG.c]JL`r[j*Q sxM/׸V "Q  !c1V z"+y5$¿c(2HZ#Yqϴmn]LJ%ݙEf?,OמELoW8,M[Q@uRDчDS TٵjaWI8?Z'0b ֢pC$o꼽-V"$9[3eDso?d"(X?Zk8o`ݮ5{Y3BNxշM6םtW[qb)?֊RW{;WK7uE: +F^wH'& hnk!YV m< &@)pOzi _/a aԣ1qǸ1 ~MT5ZIL Du-dBg{G'uKkqGb]׌tu%rK5Gȕ7h,FbJB:ȧ[}uu#Cr5QX1i0ñ*@|,Mh> ig]9pKt*Ql s?HPy!o*1vyUiae]vU42fֻiZ%Eu&$pM2–bE ߎONls4Ȝ8ˋlt&Wn ^ϸ }$幜2e=T~ Pŵ`-q+n-kf!>GL#P{qlT D㞕$.ɦd1[o04XY6XWm1,sWviY>^V-4` iwH屢Mرm!N>b<·bĜ$d8n>c9S{tZgͳWۘDaRMpxwv&N(xT} Tz,ZS2oB.C?Կb7YncEu*M}G<;ʖ\U5CtW } yUxm u[.YHS [ir|k.28iq=N4i[0HyhF֔5XQon:M1䶋೎& PXN{:[:sމ+`$f3n?d#-A/ `nӝg[㭧/]b&:1{ݦć՛}cL ClQ;lT1=Wud{A}X9l'i<:5uQ^/3D̠xBIĠ&29"i8a̶w_!d$. ^4~2!,ojf w1/R'29pfl1ڑ R=:_ ʄV;9Vt )J۞Ug -D4@zÎa~?D"GC%6xܟmc =MnrG g8g͝ !4;xNu$Eſ[Bu&bnvi0@[XWnh[v FH՛߿8ViC8+ /x >O9&sh3pScbr'ټǗqT3VA$Dp8n_E7xA,`XC0 JK=XE]N#5|tch>5ߺ=:<ᇕ%0 XspAMJRSr䃫atA$Í㯗XRO>2'>E\ 2_3%]!hhWC<mOXVY#ΒI!-uB 9i bQ8 g1mŌ_A;)E e#I (쟆,@ Ny.MӃ[!XFQF=Vr8#/Xe7q6(h LD<.mJS { <9cqd76wN%veVZ#>zӨw̤73\&j'qm*^rQ I8qY`DGlm%CniC}8:k YjNぬdG\OpW3;2IF>cf\!Jjg IM_ڮٯ0Y/psHiOU1WdCAm|ԟO}.Q4]E)Gc݀N$۰+!p|'p}CSmi!·3e* TR6oW%X<%0 > yU0Wuޤ3lguC"@'%qH9g^QB4$f4Mc+З9+qt2g: Hc3nb?ccFC &A8Hi͘ 49uc\"1ݺ=66kUW !&M6@s|Hd)J%Г?i GZk4<8}t%ShbD9XB|#}aV:Ϣʃ('%zxx T;vm{o[|+g7$Fuԥ Ƴ 4ioxU-&a,hBЀaDZ?pM',1nz8h*kqWT-;dݪՏ- Λ N'znKYcT0# NYhɋrQ\4S|j{hf@$CjGIp&cJsJ{Qe[9礳,;8QIhKAu2C?Q9;$s-UJ|FZJv-CszqYl@ʇaE=^,GomcSH\"N K2tBL!ye:S[< ;_>a!*PS;Yǰ57$vǃ23LkYi #.EJFvJ^-%㝖1.AQ 'nLyK|ǍE'k<} HiЊYطḟzFI:"8OfHz2H^~-?q(^FW+_ٳ |" ;ޖ`8)gۛ6e9jw筟M7FWqi0gE>{:DcSO8n)AYC.R$^t ?e= TPjs;,[`A]\B­ ?Ya0LP,|h¼KhTm#m휟>=F=>yH"8913ǑmMl=bT[m+b#*‰@ S~BKRiijcSMV=3[!4uuj-hU1F4`qeeRusn764tϫ@{dx z:r $f%?Ŀ^~gNgwHψlz eJT%xLպMjFȾ~*Vץ~~KY\ PTw[zҠ h:01Etq}QiXfi~dfy_8r ]g߲% iA!KL!\v}qjH֔a~pSa/蹠GvO/j'27,gSQ=VNR9Nx,y_8ԍLI(zo,ܢEŝ9l2c8Z0APIẽ +dLR%GٲRiKIw:gǂbo,D6墺&U$[LbEEf^,h d.GpJ"8[\(zG֬TQEu{:IF~gOR(\DPj~?O AûW7nRR]O A9$׎[L! H49:mf Q~4ѹ}hh԰׍wVil@Nkknb89,GOVaypЄzLQ%O%ΪQ|"gǝ/#73ŤÌ[uɏ&1lcmtZ;99w9r +  ⇎8>Jή7j#<_kﴜC6%VAAj>{p Vqwq+~UgEM}u☪ ;効4L_[Pd\ jA^Lt/"mlݘםXVCK0kV 0E0dz'[B%'Zd8Ηzcbv@$q 37HTza[Oɭ-PBG'b ԝ84JJD`;sikxn69wDQqk(.e| thr0A #@|֫="}dBO f=Uf`n6ٖGM@~cqu:4tn?/ԪeVA]`%j@/Λ&55R?9JoO"8[.!䠧'[ha6 &'}7Qj)gm +SW,vL2_yc1XJuy0S`Qu0]`t!.@Tl]f0V xCqqdug.TP`f.AwHucJbOQ@v`5i<,OhV^~BNf{1.ŧ&K] +CL:J߳ƻ߸ua0zXUhVՓ{=~[tTRv䔋k?X`P·w` 8~fݣ.uo|,1=JuX0Hf3*]EQ_D2š߱+nPTBICFǐ9+lwE}gp8lRAإ p6O?6mNuGNQx,ƻdN 03$',VvjnWc]ޖP.qJd4N6kMWϺOHf2v RVOqem_?Fb5|O}7|j`:{7Ws|S?}3edx ٰt5M&f,+Ћb|$ jƴgcp84xu\V""NQp0nR[Un5Nyyr.>nP3A  + f̓7^NNfYp?>Ylފa+]k5;oNfݭ".zKj8r,pq,Ю56ogNqAGKmTle {e5-{.BNώL!&+9Wȡ*}%D"A nZL 2_xc͍{y׋F;wic&sDGMd38 ,P 4[fBwtd G7-'"~YlZtpJwԵL z!e$qz3ǚn;P[pDj{1A< {Z%~-p,ysp3Un7eA]3>Ăà6;WZML|c#)>\ 7d!3Vu[zM+$zdŘIx%TzJI#߱;џ%%ʨbuN{XDFv~B;Tj_P0lTR wx~F Ka'^2K^;``">BcH!ܼg3ӄqmGja<48:ԕ+ɠlJ]VW5Ehۊ9$r^YtEAQ6 ry;eYBE7ůy[,&q^YQLf%JRpMl+.Z⢂K]O}|CiN:xGa0cRW6N;tf[#[JE^7eҬx?-%C%dmBHG>z>{3rM2 !Li O8s<`qW|ZOu(FgK:P%2 ,z qqx8=\XSWzS+`٪׬z4 ~cibOS坪%qxnr𲁈L{Z<bc4`/OƜ ,7VMMյsj|ĺa_B a'V'nD?c;2?z ]A}AI;%VM <$hWC1>$n/1XMT]kkͫHmHGkl3WeD} Hz ދgO=`zl@Ğ;ܾP,*/1eEPS}\ꢧ|&4n$*zB` qM/jcH0vqܪzm3G{EUZ甊#aTLW&! 5pBBMq l~=5|BFfL=֊ߺ[S?9f+`;wER-8잟J@ei?3[ngLPDҮ ~:_캮: ĎŮU(9^B @ ͣ3ӏhQX..(Eë4cdaPޱSvǷmS]Ǫwǯҫ 摠dPVbsU`t˓TW8 0fvyB2csJg Wɵ VC~3[usK?geӪjbʠ&#e:BB~y5H\ kO a dh4ϻ0G~]z\<} ]OgfYU%/*^bE Kdו!S$sru>ީj;P5zk7s&zZ|P'>\[vVBey|Ni4X\X"Bٚ~ЉpfP3fHjh%+޸Zr<h*b-.T|%#2f˘NA)Le[6\c@%~OjZ6c㩔 .z)|׍v#CFJ`26 \Ӎhޖ_b 2$(_0 ǍEzB l  Kw4Xz2P*mO+ /gT `yg,ߤ^4_4Oπ/rө1xXbG31=_)rqSqjD+':/%p0Q0t lxߚyr u߃,ָ2j}V^oP^%9Ap&B$`sXe9x~P$e-bojXLՉ62úEX!KF*2"$-QRI4)h jU8ؙUKJ(Ķ-Btީ?!0Py_4"쌢G+[Tަ>7[' ☪}wӗ@љ2FԦvVt{w{wG2SEO2L٬i|fv4ɴy5d4!]sl`IߍRa3k$`Y};+ Er&"@hᄃkͯLȾI4+H_P~er& Y4z%z=娿l@ x=峔8MRf,0\pC[E]jLzB)'mu}T PM64amMv.Ucv13ґf"Š]Ʃ; @ b"V=#{tg>ݝxB~o2E=<9I1lhs1Tq1 w[rJr>/Os-Z]0 "wh$V<+r+ -Ti9 gn4!<)vwYI~Sk5+M֚2jTx@6[,aU_6OV7ͮYБe>#/Y̲ͨ(_(cwa ɹ̠v.~6kcj8JJeCEQ̓Y>1gsD0])#{ߋKD˻\=uyb}ndԒ5h caFCٔ*Sri^svZ'ATUiQ]`Ҷi/QZLd?OY3=Y  n7w츯uţt/CKAPtpHf')Ws'3 [5w$vlbMn䁅:5LifʘnF*# v5 c BqԘ&HT*TLl~.42ͨ8+_ÀoB#,um={lץO;NTN{ng_Zfcw⍻\G9wJ[t)l@]|WڭT_7>Vj7Du@q)!i|4o7ivS 4ldǕ'/?ʻ?x -JťU?iAf{}fmXQ0(P;aU*QH&}` m!ug}/ro8O_~a?=M;G9I$Z+P>` 8zZJռ93jZ$lۺoOnav4[EcDrX⮐l!ݮtKdgj B< "lncok/V"ާkqcU7pkBO# #bۖE&d3ZwsLQUc-\I)lJyo $c+RSL=}ރBE7hKCjiI mwhH/W;NM?([mUWnvr7{w{\.yþB" ).''k?PScvc X6d1YDLEpuS_a1" &8͓;iڐ&2y6|ըG>blwq0+ڷdy2_ eBy/fc0*5Ğ&*i9TkHYD{73tB# QєpS.굼SR>W/Rˠr3KgL-A [e-\+*ԡC'0c@C Taa݊~qo$"jB?itqh:.Pa O5ڝa%ǃAW.V̸]3V32:k0֭#q v0FWģ%v=R!q:9zG7IlKK,e(/J9&'~9PU1) |Zq6;qU~'o|d0˳̛uJ/&<_NiW_hܧ {|u{vV1A\q׮:קC$&_ 1y m=?R3`|֡Q0;HhWO*>%y'(1a}R8jӬw>^riRJS,&\0]0Д]2tI 3ʵE2ndnOęp.˝ܠoH,c~7ПZJ[.d#(Dȴٰih&: c@ܴ gQT+oh XĭqH.CO2 ClOz&&Qͱ8p̮őbk{4/(uAgVye]]LUO@0%B"NEP=N/el2t/֖ub*ֶū'EVkQu-OnŋR 4M[JchJh7[4ۊۄkhi2DlVU#nV%~vBJ$[T4%VM9ϰ|2js,-lJYe^BD[tكl:{a 4\P1R&PVDчJMjhrj+f[\0!?fwވp̎{4mTasϚ6)L<(GC$Q?wOk晷e[]l/ZyOS`vKUU>hcn*v; a f^ݭvCRӨcʼ" L#I1q5U4j (j9b0f]-7VTuY%HOU/sۊ|5 V=}?*jμW&f8 Gl3Zn@(Wz!m9,bH t]#% 䃥)ضXuT(x^ʄ/85I5뎃[7m,]0[Xd&qwlviaY e>wh:y)I  L1=\:|Wyr^ycיӝ%UԐ~Kji V $7QttUCpzli PLAFNE3UJ[-8d}?>q٘./c}DvalHjM{ ^:G 0kj ۭ%O3(I-"铜%_)1" ?n`RxYq/˩67 Wud<~Go5kFU4Ԧy:OwvrK|D}xb.Nyv\ dެkFWN_f!" ձ*`3esShD8aI/>k@BE),V|8r 4u.zo-[5n#xS5A<+[Hg%q,Ubsm E>gB].6Ub4|`U?+$3`h;ewv:PT\R83dϢF'ԻLӄ q84]h1~_W&&%Ʒ ֻ{xDq5ǒCM(SKTXbaq9X!,=- U_cpʘCw 6S̸%> c4`L90R&czdah<Ǜu d(NN劧ͦB&KAE!ŻNtƓPW;o>ɽ]ѝa{֗q'^vzOQٍ^-FgDn5oN&hjlkߘ*lEwӹ<M-kk-򪜓KOFҫZeVW mg-|1^}2)q#-96U&Z5HfFl}^sMm;l\u]z[2Y~c%/8}_u;WsދitYlDEǨG +$#%Z:5^2÷]HLH9{{r9D!)܆á0lEZpyǕؕMI;,ײ!$+ύ]qiBaf\ss52ipE`14fXlVuo!Ak^iJfd ua6ے|T2 e'>5T`WqK}>E7;O_<{U>izqRo殺!Nx鍵 =O]\j'%;#:׈&@t `FG\:4^ hg4;0Eޞ{۔Wt"X2nl >#Apu9zt$D}mhu>ȬA&`IbNs̳&gYsM?`[Co*Rz^EvmA_ΨxeON_ƛNI{)4S+!Dw,NU%ϱ1c`LzjD$"Wr& *`I}7e5g8p~v+?iF1 ,['}wTrc66^+w 餯466^"KilX=a߻w|+=v[=Y}ݡHUaD;n1~q8f[[xN ݧˤ@zڰx^$=sބk5jƹxg]8cuH ě$)H-IYɑcb69SU} e;E`V]]U]hwiXBٚqP]sט׍6)r޻{HƩφ&M` ૯cŊ']6I^x{s^yK-9-u"lQ4ƣхU# #n'n `[)M=z<&z_߾4ʣ'\?ŸTx1pR8b,|"M}0oQTq3rϓ7W;u rei'$Bs3o\'0 nܫGsO2;fܯ,6̺ʓHU6W7ya߇ԌOq8ou5W2掦M*{jh?Zmvwվ<Ǔ}>>1' tqϯ-Y]:H$"\ZO' *|Vbz2NDO`mSs(Vd\cuQw"iBAgU&i<Yo)8E,ygU~su16F9+lTƌ.;Mt;:ifE/f(/',8l鋔y v"uM9DЯ:#}dK$MhܵP塯 8a=SkEOx3yS2P3 7sWtQG_Uwcv34)-bH5Q}U@* 3"U=V= GYV ;OMӌҫ׽gXov@[s>{(=0J~)6'2'Wt\Xf \tj2vd8 ܼ/X'W6k#7lU"O!A$1l`*-b㑢ц hU%ob憝Z^Z$=Tn\-W]>UXQ$TJ}lJsB0zWEa.Y:ed#:MTޣ| tnbxM 9K4 FOKb#g8Z;nk g|5";\ ">wLmtߘ^Z ~IO:]]^j|UF__tSr+T(or'.iSl~ca1m"}W+Gu٪8_p <—ˉ/w6\T KtI]>{ <"A)*KThxւŪr3`Ϫ4׻GL]R&/zqe(ˣ!C+FR(K$r':>Ibћȥ!гǞ"Cݭ#@6'AȽbs S[T@?=!?vZ޾.BG~ *3`HcIϯwww=z!oUowz8x}}^ tZ|V: +Vi ?0t__w5ʟϹˑ{|@E,[41sɇG$Ɂ.1 6jZَjRS o$9$pFF9V5y91赤}9ٵ ;6&y2yK[sBV {q#}L H~IxLJ|ٗiOBFGz[[{]pk |-5o_+nkgyK<@.\Fy\`}>] ^UV_oU[_=zR|mcWsCY4\dĦcϊf(B Ix:}kn$|ȣBz$G]^&!Vh2/ǁ"aŋ.6!"ns뫯o̕ny\݃#+Q&4>p'd͎Υ2ʛieİ8IwR&8}Xx~a{|f7N?E_ 9]aAɫdnM u"gXDSB`q6L]ϞE< 9YrfѽkOT "[[ѻ\^,Foe"w,n7ZU? /na!ܟp'gSQ gɰ"25QmCN`$6Bnū&+wo:YΖ$D*їq>MfIUz>ISݿ?zuOj&Q2فv%:3 _kWrl a/9p~WńxjmDDt@QX-Ш%ާk0 ƿ ×ьܑ$p + warmoY@]2;NjFtZoןRQ0@y͏6Q]c\߶Yg^23TֱѴ'Gp^ath>vvATX/2[۽qߴ7DEnn]}T_w F󤘘8s f{ѫ..!O)HRMk|ǀs阚6w%PS#Ğ-LG DŽ19j+0dySԎ90B31.l8wy<&:7\5Аd 6aS(H~dN1卾Qwڑv>w'lŭ*O Z>wh+O? JsdsF, N>r8gͬKE6;':E`$j8dY`}9Č5)>g`]q/e{Hʜ̆k>%guosokIJOs3+c3FSڰy=F"It!y~D$a}l-GM٧;'+D (A f8v"%Qt:}ē\<+fG0٩jV|OgG3Ǒc:2ƶMOل2I ' ٕPXcVj׶F4f`Qw{nxn?_u7ǯ;Gۻ[;{nwíQvUt}uHx9^Sn;}Udsh{~ns4H/vGGPGQqt ݥ.z>zqp3uw{gk=zsH!*mPҫKtkO&fzqx`Dׇ6R1}x,Pj?hrwew\ 9 hp9p` ~WZ`u^ti{[ E0_i86775]711МgHظXJ1fְJ>AN\,*Aiy"^;nD{v&IdűrTo{ETuP9&tj6>hS; כ%iӌ ~|M:`/͠7" {WDMK8J&LP"owwd(>$.{лGN8CÚ|1FM> eUB@zsbiqˌ4oz=ƠWFA<96֯ w.m|mRsO3HqFǙNqpͷL'v՛# f#= in{+Zj~PNNs9*ip/#O=̏5h6V[џTT<="mGTسV5*H<@nmuiLL0#Wxq1Rid6^8+\:G "~dWp-Q IA]tΞ2@C{#I31"@s?pD.mlGZ+d0XBe/ jtf{| x|h{gGQ&a5|W]2ͨd(V%fd2a|?$G @ŪA\y<nfogvnUER=BU;Gn| yQUmSO+ K_<(.AJqu=*,Y? ⼱*uKUVw+v+fW-nJ B>oVvVoT7v\hQ<]j7+VsnveQUʕH⿚]$.4\xoV,"{1ڍ}/H(ģʢ(懕ʼnkk2 p?R)ͬǒfVdcפN  .W3e@yD>2Nˆgtl |ii %ۺ'aȍ)gŋG5~9leWv\^9 C[f zxnj»oʅ+˾yڕOf=9ޕNT50Oږ8$?7 *;w@vڜ9~-ǧD'˝kl)Q33R3U_%k%swk-1z-dƱО>AT}-Ϟ?Vfͮ cS\hn΀2xN);5xQ=iNbDlGy6v4H瓋l^&uSKQSᛖV ;Fښދ]ELZ/ؒOْF(׃tH"4X?-ս:~fOOy~S /у)["m.k5&r4&2v(㿗ϚͬLx7";?D ?pv8 G0n4~jaq6)Fm90rT-$nkv6*̹:[ ܏]Pv5>qnbql5W?kT~Ju!R3w"Sϕn$鸮h?H<ߒAŋQ㳳,v_ۻJ[Â9ZgY!Z[5~/` z/Xm}' ?BCp`afMʁeJky1E Z0NAԪc#4#؋1&]>3Zx1(+fkx PXd;6)٠x"}R{*MSn6TI O98(<* +ِDX% a, 3E<vcnw*%*7ap5R ,\}y'.2M"Uݧ&Ż,EF։1?JpǑ pymkl~@2@pė2[.0&!)'F| ` yfJɻ١MٱըB[¥vV:,L./nk -/&7 GSFV:<5vb\Z'ٴw!W,f Yiaui # v6,hƎ*XP3I]Ysφ.JU|Eir K67J'i!-I_9#"'<6$LC|4IfgWwDoJ;sˤa&uDFډ茒N6]p^7)Gц-jgXER\ պ"l5ztxInUZ۱ғ2R<qr@G?/mJL]sQa󨲸1}^DD$aC 8_DU9$!$LEhpH}Ǯe-r#n d4SW:BGoF l9aGNpdW{5 ^rH7 qW=Ҿj7?[}8ܿj&4=tAg+S'_ft2\f/bd ML0UT%trQD{Q /hk_yMf.aaT:T['320چ+tr0U2W+ ĵ\,-:룟8*Sɬpjl+F O ^27HPH]m*Si}ɄL I4ʬ%3Iyd^QP·q.D^ȓx8Iqn<+Snf RՂc[Q/N0|av*,&D%5&50Z3CPƒ WBt=YY0Ϙx9Lk3@:ӆ. DɧTC.lĖ fE7yR=VנQcG^d~%_=;BQ̉)xF# T1D0#h+Gޟߦ* Ls%UA*VA?9((_5iNj21d8#6 _VĹRo:ɓYYe cDGQHtϲGD5g46߀(޶^?D径\MBVbmd?\[sh8d8bD 9Y@g Lts#cCK%4 {'1b.M.jż[TD__]DV3i&Kl<,0>e d_ʄέ!3D, x̨zYT G9|P2TI¹8+~a)In9;'B( ș|&Rf q$FFg*}yZl~%LH6Kw -9CޞGVtΝlr;{EtB)b{{R.;4{[rvM΁,m6; #Pt=ܞ ZR1qz*ՕG%;G%>Hz$@v,jݯ]w÷7oyw ooKh񗡑*gV^O 6PznLW6]s pz6kab|LR\Ayfi%;glVVyLrOZ]%b0WMb7L&cb午xgfY=ՏNsS;>45.YWuZ!Y']&Ra"d 0?h3L!>2%Sf<}7_DQMc:Zd_ 3 =w؉Bı*|tTTziWg/iWv*-:kg̒`a h㛉O~-*ڞC M',GĈ̘=.o\<]ZW6>>_u93sZ9A(K-X`'a=!:7KT 2^[d6Zh6u@iz`r(Sٸ{VSJ!Q6YmbUYE CZCҹc]6uMNHu@˔OF-fMZ13#XQIwYL3oPYtHM~IJb8T!H/lC=Fgx="dQ#6W R%/+&j""D+DӒtZ~Ik7aqP~z}W=9n;-ѧsP:oE&_Hgiڰ[GKc%| 4ov~dʳ+$tj! 'IR|KZ ^rR)p)NfJnۛxtGԌqlrF)22rV5)l a4ߊ⊧E2~*}dfIszF KUva4f.uc:)`s#6>S;{g;sP^* zAAسd(:ӁU36i >D$TA1 fD In Dj7t%AST݉~L$eI'n-7` KcO_bjTXƠ ˎ#fk>Y~AuN$[ }R{`&q{c|f-~CRֽ=ii7 08@Ś|Yh`/7nun kKR ɄgՎ1^r%Oٜ.wlxK|3D[NGM6RLC#"t2,tN, o<d`:)yLJ[MhnAa>7׍\xT܂%*} GW_ʡ#j~þĊ"o$w▬K!֧;C5r ^>-wvCQCs`\sAVE_9" Nl~_32VuUw|`xy щZcHE]Әȓz#jC(}v|!fIH~Y鱓8Ao3/NQ}q n<+)lĂxgy9A- )例> # 鹇hzz> /4B1).nk鯾 Фe &y`X^iИo o[Uo5߶+,} ^DB99”͂]5{ M! ;-Qs2s 1n#~ѥw33P8$V=+/vĶQ$'C-8 %CW9#]rA崺QfG<X0VyiOڮ}hi5أ^m* =V3Ԋ?7-|ٚB jqh uqd5 ? & :s  dп |S8k-Jnqk;gDF?+vor  o}-(Rh1\/L$̊<5:{¾M毋'y|Iěǥ6l@ 9԰qsڂ1?+0[SbJqvENALP!0'р/,cv-[7#d*UѾ:P/ Ayc),* W%5J[[v\Z*>;<՚,CN'$.H8M85rz=F7ጤ),N6n̜M%OhW{\AOh)3a{:(?2W`|u 1Az$B^I"t}l1:Sl:AoʉFѠA)b7A5ۊ ,a| ̐uz%QIomF mee.e$A{(~u.CuH[~-$w`ٔ:Fbw`ِlw[&|GУk>>y7b'G߮Z^wwG۴1_[~\<[_ntta6[;=̡azyuw9n_N~}aPM45$INt_F;(Ob2m<|xuu]eZg=  jUzoϧi/~Dڙ1MDF^a/Ń(ң1}Bl}_SɁs;CQ[At8a+w?HgN/1(kl\H2lVLpvI>!FSܙlvs:>Oi A GX&1,/ 6lr i/V ͰLH/0A6e4"\f$(vzII=Ïn|s5 CsЛdΰak4mY[Ŷ@N(<0lԼi.M3˖NC][t6j/p)K|}H(i'?g[;0bkW4gg)"P|ҳfOvegV EjHMܛLit䚺1@.5ٗ^ x`G/hiکCT+/!R;CDa2_9eaƄJaG+jMALڃjhQE+N h_^ID߳in$ei'X_+\-Lv JK]|Y>Jg5@be 䂾ϯ%UX35P;%P8lK@[<:Z,:P~Uo_T2}Uq\mi~mӯOk˸^j&-]y`\7\U"ήzSݵBՅz1.ѿlB67j5BތYv/̫!$B3 qok RL8z4H{Dgh:S yk'u6u@ٸͲebty?̣.ml(^ZV \Q H L"IfIsfILbګ؉{Gh`Q0Aяu#VmGr`cЇgZ*GE[/=K ؓLW `MpVp3fj:ui:PvdOi\1>Ҭ B%fU3S1mn;Kf 4+1yK!2bM޵ځ1 W{#)=8LQ:'|I &|[``d l=ήI^:mܠt%5g!X[/"5Gj33lF8o)qB5D3SĉH65Q'gfLWn ?PE:%2c^ah4(Z>g`->e*M{)K~X'ٙ,UvV @5 ?|+'Bj)t)RL _ER35$^(tBla͹we7ca:[GQ&9_{ +aЖV"mowGgݝs_ !ޢvcvLmoG@vמmn0=Kea=~E?~>ԟ:<~E"1G PGowvwC:& sF}yѫ-إmۍ 4xx䚬Iם+FG;BP;zCO[{[/4[G-7<'w^:ގh*whn״ϻ;?dvH2ݏv^D[ύj&hGg^Ҥ<6GXIX$HcnMGi1A!98,-f 4sx|THL\Y> 4iK9,MGm3+q΄)Y:j?jZk6Pvt`qtѴaf -ܚ#h4ק8+W"{Nt݃MBeߏnw+v*ʂ|'D7l4=-h IGq=h{+s090p$V9@iXF)0[r<^m݆ǫyZӴf+)Z-' vYL[r^Qyi{Gs ~B7Rqm t wc-WͶEEVg.mh;|.#r[WbS_,#qѨL((deA lvG 3zr4AvK V݇! 2QSH*5܋EL>,jo4RC'_$zC_ɈYaHkIO;JۜJ@ht: з+2^%0e0vwf5r_h B[d6 :j=N359Fe^# `.:HVV'S! 7h̑٥n|bB[=E4QAa,!ӜĠ)IZ%Qf? 15EGr<ٖ n@Q\rV\эoV *t=Kʵ_VuBԔ)uB B#=ē_k_#_~5Pmȳoog`w+b FKj\lJK/]; j,chhQյGFXn3MUM@$-Uc;u|J$*H!~X>|y1L$10/:>uik)}PQMLz3fRA X:j8IZflgawx.WL%n?T 8 "x7V^ T鷯0Rk[@LJw_ow-gGGmᱷwqj0@<4- [Νݐn>ey,_^YVNY]g|} %&ISĴN󕂨ّthEYx`L7i.$.b5ac?gg.ʒ: b G? >yxQO,},FMyc0T.;`Ezi}Pҧh(x:!HP>cry`g 7c@m|O6jv.U67hAXxt/k_.‘_4nz.h &ele.! й8 'PGu7$r/.dp 7A‰NYyA# T2,ktndjP_{5& I[a;]X.@iꩼ-%Y8@ ưtV"ك['IpsUv"Ep% kȂ0+;K>U(CqrmFu*xHwuQŨՈ$_+ڵG84­%7[%d8JҸy֓; ϓx:(pIl8ϻ/HR>O4W=:~_{6A%$ɓgiC-uJ$==cFoY==nNBy4\9&I\Aqݒ4)o㖦AO 5"nFX ԥT*gȒt q 0{ON?!wn T3pF;蔚.K1b3«`Xp Bfʟ?l`uym Top52,aH4rƀ8|a0te^6ܟINϪ}ɣ7w [kqL,Dnj><6eq)ƒVUp>Q&@6l2PC6pĩupA͡4  t s^f9'|Ý-q`jr!1mp5L6DŽYHgj+!z<|b{%-t--oIb|T:R?M-|=P菞{q8CQC@JR5}O6HnYĂ _2`Δi~ ̃흉|G`1^|]FԮw 0 3.HVϟ%1ٵ~19QLy}w_ȶ'Ŵ$Ydtͽuju[.ZY儛Fp+h=:J/5 8OcJ!flH%┏$t$:OP`:Sns0,a:5 ͛O5NIt>>Ҥ ؜co1yڄѝτJb lX˧6QJ[\-хahKA#"'&ʸٰ*x,%_|vH#LUsIBOz!)i-t5|fʣSSHQ$(YKIjֵ%[IhHjbzLSB%TP+sEq9VaɓsgqlscVoœ1̓\IǘX|6fZbɹ#m].Ch7[ǰVz=|cÃ]69y{K믋l0e87i&\S~Dll'x1 ȶGbL@lp/}IgxhC&館z N"PAW7+E~-v>e$sF@6gg ?*n{Ms;aku6沛X!rO&k=L}ʯ SCK礂be+ZF7zXMGt8Ibn߰!ŔXElmt`:;7,n.9&AL4[ ޒ1}P;A*oFttNGR ekN&_hy&c gփ4مr \% V*;HfWw*O5_ă\)\nAȉs5P}܌% κYcX7hEܕ-TmYWkLP1b/'rf;ft6I3ivz!lN;60"yb72hvW;7ãG7 ?Ń/vx–-!Cjܾ{ <1@ C A#mzQ4]H*+FyVz~MMf0wIw6qJ-ϱu,,(`Z k\OW,l˾Q.jL:*mCj2vd(z=8L)9w27+"QOI#y \-i4 ryD O&cƐԬ^fn 4oHJMXQ(eT`g#@םT.aNwyEpZ ΎϛnBIl'Q2+>#K?&kngDWf-z aF%At:Kzu/Ϸb3Y*N'VŤ:ND@;#k}n2޳T,ya'ٞzޮvX%g-9 2 wOIBN4~:cBAq6WAʺX-NF%dt0-vʚoxjdcC!7=oL{L?K <7gѕY79$ySͩ!cʻyxS|CTZ^v-j.*:H M*lFXd') {l(^LPa$ ^˚ktV™pvw֤' !l޵bjvooV(Fe*h(X U.orⴳ!Xԫ74+"Mف{p%X]'f[ 댜/f5sBS(qGfZK^ dHL:@UT _iy6DBw`#|) IT GtZsd7ZqLŜg'6>P3jֺpfquZ8 2M`t2FT!ؗ暽a1tbX 21FlujwS*/ps%׆ܡq[/aVQ suD,1pHb8E5 vWjnpYs1 "餡eH+ck)wuN!i:5yȖ@89K?KLSU+뼓O}NZjq"n WMVF] xcg>wՙVYwT^)'T .Tl|D6Vx҂䫻Q_ ryId У\yPoW[#ڿ1gU|V1.=C[FPF*XH+dW#`>iriޫ\`%PcO)ۤϿ.bQ*5&hP8 %#9itNxT]y=ʍ8od -dm/Є&wBnr*089f*|KakzH68GDnhCAIb.(W,]lz~~whӸI&XKdgkȲkh&JOYәI'BtBfy9ՌDO7KA̫5vA ޾}y"^v^g,h`eeyz1㤗đHW| mWWP*U]Eizhɕ]ħQvJ՛9A+ªt'o@Itq[8Қ͞ UWQuK%LW qzM8e3_;[<^l"K[~BT{U9ZŽugWz\ 5\x"N!l$6t猺l5kz <Td[{M{\ls Ҽ,idppx|oM0b3"X 9 SܻM8X $s+Qʛ`0:``ZKp\Җ(LlFYF㲷.%Bfx[旐mO[(FY/6)MZ(,b'l ?鼎1. Ϳ.XWXF:~ JnU+B 4d?-A>44#3k! osV&<>M̃9bl]d0 [ DAR uH՘,-2tjeCH xl'tg=: B!|-!"ueyD[AX "m/+ |~OZB -:M'-ǝS\E G)@NyC0Qd+^Z^ErPP3{'] AƼjO/l]Ob;@x߀G%@c`dXIk1hqݧR OOK+J7}tR6,]PrsҘ І0MffeY9p3HyӚQ0%>I:L'bBQkoTlg Zɉ*3'ػע&Bܔp@!<<% #B+4D' /7Ϟ716цPt{ lf%ٞ"B(5]'`HwlON|vWȍ4hn1v6Ga8êWoByqɿe7gd9-VFWzKHGY*<)Na5hLv$3^|9:g;ܣqEl, A>bTlSSLDbS-LMA5*oyRq+c;>Qr3Vۍc*pʋ>Q''޻ju 5(mh_mHЈqh?)hP-pDPvLsby%`M8ĦS {[EIt28ad"Ět@y5~zk ot@(c֕>[:eS է\_hhF.p9Hҕ"Hʃ+lܟ\et%.M˪1$j$m 9e5z7 c#q %fM`=\5XL$4A^\C#@FiFxz`L@Wҋq U_:&ABa]&Vx3^(cd#:0F@dR$o38vTlO5[;<NnիXap4Qp"_je1f$'r/KvրQMlmSW58] 'vh&(Z fשOsUH릭.(}*2ϻ+rQ@)0&gG;hצeUFGjW<>%kv)SDTevaz(@ɾECt&^^jgx*P7H3hTU} 2/#Hfx>aZV7WNKaNaEvZ6_v?$=_w#yx\i/JeVRKbf1. O1qܣroC׳-hcqLbBH6\lWD:]WWH<ʜt7ZT< 4M8M4~s_7W/?C;| YO4w*԰.4ptƨKũ5Lyt [IE- :~?rh*WHm:gWTi ͖b1T4Qr>@PHxލ"s_D[hghnE/vovwk$=צ!MSA9Z4q|l9=zAgdff>,Ȍ2sj~ m[-oeb{03v"$&`,緳sT7;H a! ؇dMqگReO~nT4acc0(4|N6L<.#XJʭU[kX'=$R锣#QULsvdL S} D[ۄWMA8L|/&y]f{3%ybEݠHk&|wA$6TLy.C*\Ql1 >@+G P/;1j#el;ڋck7r(8Lan$K[v" fSGurjn- @tbr4c ҄O3zl1XؾF!{PK3}"4M֊ x,uNfnvo?a AWN%@H9(g&KMf28 }h!}elk+JsgQtyC`bom >4U*sUIa0082zzk ]۷e;c TGiG Ea91$យ\2 Nʧ~,].nJ *NEE{"ĹIeA+Uj~`Û{`薎؅{#UFB/ 42&-g- ֻ[uCuDg.ѭ6:?L_#0ƾ\#k8]# 5Ӣ*xѵho#ϞcT(F3\+EjREu:'Au_bO2\ צpg%WZr_W[Paw{D)n+%??;`&[xbTy?.I[&&yNU<a17z샘sl/Aۚ8+6ԫyI <ӍW)ks9bg&l ă jb5Fl}B'QE~߉GȒӔ\f!b_uB;"=`!dk{ZPJt~aS@xΊ{)>yӸb%I KZ! NHAiȩn5"dӤ e>8iG)32^*l g} l6`Okˎ ދؿ*ip*~cab=lhnꗓi/$, If O(@,5%=GQq+r܋^3Z^P&UNI.9Lʤ"Jcx$: ~/ھH kZt!>4*Bx,IY $ N8Ua`U$X>fV W*CH ,c8ŒUw'MvS١,fseY9v"R_qe"1̰Jw!|b~Ϫe2 JAedQVٳ=Cd] BX;у!vo~n!n[V:m |y19kiB7f.N#FmD<- z~'-4GcܲOu$_Ɉ#;Mgq]VSf÷@/uz",NB˃^D91`O`3Ƌlpɛ1 Ŏ"P%^švH*W]]a"wa<pX vM4ю4*m+f1::Yl0ibC-okЙ{!w`t*'vn~Q Iy7 IXvsAM*<7:iA_aվ%Z,RyO!çt|JZw[&imLs# 51ft$zD ;jM[",`MǍ=E&بmAb69]Q>|`13;is~lPa *¢ )kSI JoCb9g]I dR~jΝcf[+LCG Yi$nBP0FrP|\.\>w] :-bDSGfG޽$Ihy%*SCNfT@VI^|wYT,1Ҫ*8̐Tawٽ*HANb9;C km 7qYbz #-r|Yڱ9qp\>hUU~J6"وw%`&߃jm[tTZmh {=ox r (O+8Vq3MDwũjrp0/ؐNfMh57.DqJ,_Nj wa:0&Q..76[_zpxmIݳO[m29q=`}Omن5ߧ3RЋNA/jV-~݂}ʇ`*-F̋&fṵ̈́4.Uđ5 ldt.tbkh.X{ Iknz׳QPM3;9^!遆N0e^uaÈw$jQo$mw`pYp;Sf1 _UĜ !.XbAnECfHۿ\ ㇁qIr*V_Ͻ$64A$ 4P-拓 ' nDjXE@~s 77#O_\ehnҚp1Fb0c9W~&]yc +X9 xϸqh/LJjI-A_ZTusPe%װFPl>,Hڅ(do "$,2g ᳦tĐ6RZ"KRYoUAg M/*d(հdY+Tc6qwJouEg<獝!-D-],VdVx %tA8S#LAͦᚫ;Cfհݭ||ɺJc7ƍ$o8k6/X7 4~ i# Iw@-?U优$P7Od`lZ_Nī,*!eUB"}9|琝YI6M 9)nr̲S=ql%v 5k ;^z^ekJ"%Y[+gb"Ñϼ~Ė)-H婰'V%"T<`\As-Y2lqeŒiT : яgnUxL+磠HŞ˼2lPVÃts=ܜ4Z>yWVoqдڃ^mz .s]*5{`F~(K;9r$\Y[?œZ+w{[,v!}]` by uE'F9gL>o_d%3nq5Y܋y5?~&|??|xЪpCFk4VSqW2߿~v_t=~&ז){Nұi׃.z?p?߿В'~%[GD'Nә"3G{O45hfm\hlܘ ̇S"^7O4F7zzGEꨜ )q'|?,1JI:xwd#fi6>t#k{5Cx4]KC fv?Wø\qATXkY9cB>tG\0Wt02" ~4}?jCcKq _ 4)E! [.O a{.I|2r;M?uI־hܦZ 5!\5Ma4>KQvB7OPlӏoNH[fKƽo,8t"~ }Pk>>o!иX_.nFId!9<9y7*C&8o.Wm혥>~:0b>ܽ(˴#[9?yNSoI ,i̪ V:H9j6F)oh)sfř%P (sGMX fvLͽ$2Jx|c>"MͶY_*"2.^˴F4kNug.GgIM#݄T)nJJ8Mh$ScO|X's9HK/Sd,CJ+fSsk\[:g:fROϥBUڕNB Ք̓ě̕D-BZOq^qWŋ_f <̆Kg|3(},S[1ᢚ$I23$rWy6Os 1z²aP> YTYy+ȡ/Hh`6RJ縊c U=vJB+9a]__y/j)*C_}pC`H{=>oFi8&Ac)ͯgzoD/;tv"5T-|`uHytpD>{Z54n6ROgb/Osp1lr{7uI b:e48DNXGkp>Zlټ)t=; ?)f~!֍:IiA0-U2$+ il1鈢r, q~)K(~N0 l|94FNmț$hW׷Ա;Gۻ[;{G.Qnt;ǯ˭磤&OG;}|g%W{}8xu_ϭwvwBG/vGGDݟ+)unn7zqpnlCx4FGHAmoFϷ^\CRC^Ãh|x _Po\{QFyh?hrwew\ ARmՃ7Ǩ ~W`SeNʃ~=m1,/+S*߈qvVcRpۇko7ֿCf,~1a]HpliF3я #Z͋\$IMjue;t1IU LCH5&\ .8ռ$K A0jKIJ$6.a2U_|#X&-q2Hظ<=Q+$:15ЛSsjIm~A:+TISr}:,D(i(YBVlG4뎨{.QV˄d%vJ ]8XDҡFv{+Sj1- D`]x9锓z"ﰗ2Zb An#-q凈C8 \;ܰmD| 氟qr% ,jUclUm8<]lgDɄN~춴4$$o·ZK ܷ>~{m맂*K WfBбfԼW?K묐&WL=*&̰$I6~%%A|S<-bP i/ǹ=ۦXbNj`O{y9Q8u\Y49O/:zG˔RtU즄nfr,:VK}g2,˯T<]\f]'AǓ0M4Ŧ{:ƜoЎ+Dn|@soM`(@S%wNK%Z4i + -vHGT]|3ȮFd87Ϩ۴)Z7 fUrix<\x] ::Z$O@ <{H 2ɞ"6!!dkX@>&1 k2,E:6>& M=?OӺLL AZ^"yiggs ް@5SВ_@ MKUqql܊4igS8J^*h4lz 50sqef.]S%#umZ;ϋyK@. ۝NO{% 6j#{8zx0yсxo}r<2R 'Ve!GqS5RN{7E|'gzXB8'cBW.+ Y$'mw0+Sd~)@L •1((m5AA+%lK6仺0v<nT&'4/O qöOʌd j>=Ydݸxw8W&24P.6si Sp!3Y`Kݣtp #ykG9>ojq>s`-m@+,I2a_4K=NA#c6- ֞{5H΁Ne_ ;Op`u곰~Plb ~'<ک`T((~d1A6mS-kPoҾ"V+jG;۝pk LȆs;zX@ =e8l'$S\== ^De\; Kgq~:IA57f}ov8 >m]2x !Gr> w_)G`ׯ%P~Īu1Ҋ":6%F,C P ,{Z5EtQ2\|iN¼,T;#꩚G൚/cU\#t OYk/aJ;^Gѽ^Tf"e2%&NQYA{u)rO,&Y{q%iYBhv=ׄ 2: Z nuK:q iW JAVCJu%3 yt!6j|XƟsNZ1VU5t\ͣG#c)>zVl蛭b;b:b;H}sumWLWl>oઙU;f[oઙU;f[[wvptpvpLߚݚkkkk蠔: ER>/'61UwW-̪E_|ӂkњyn{u٧Lc}&բ/IAwW-⛫k;b:hqw]|sumWL-]oE_|ӂwW-⛫k;j:hqw]|sumWM-]oE_|ӂwW-⛫k;f:hqw5o}mMmޭ{n;n:n;non[uuuu3}lyv#Gf=#G={#Gm{l{[ǶM>6m>|lco}>1|b;Lۻ'>|b:v'wO}b;tВUC,7SwR5szYfߚ%ۧ#y>z}bZfߚ%fZ fN5K [\]AszYfߚ%fZ fN5K [\]AszYfߚ%{͒5C,7[R5szYfߚ%{͒5C,7WvptВ5C,7[R@|ӂYo%kYo&-[3o͒?|sumZfߚ%>2o͐5Kֵߴ!k᛫k;tВ5C,7Wv%kYom [\]'fqJ$#'4mzT&HhSevyaowc,7a>H. D mk5V9); @ %U {|:s4Cܾ6y𬞴2,0a*sS⦯"hDכnF`eѷgKWޮ8Q)&UG<[6d[M;|=E;l90;+?|~6]A+zg"ZY[gPX疓/"*.b~ cRav-ٰkǽmNv-]&ZG3YϳzGSjD]ͶuGʠ$\%~|>{NzLKj3!?թ󚈦lGF;/t#KsѣS3H"_GVoWK߬K߬dž'zwA腦7wW;wK7]אh[0[".,r=S aNSS&6k4>q:;c8{-iHcTs΢YZߚ~6v/"I"fh5ی1 vJ&`ٚXq :%0W֘YQ='ɠ a]1w">LcI`-/ngqR|αTrҨ*z Y4t{^ 8grjWYR.ϧgWzXQGׄ(%6=1ݚZY$gsM K3Ժ&8.a} %&匢. t[W[wua]OG߷Γ%eX]]X+KT$/>WR vO砇Dk<<~rEB4Lje~jhiPmtT8+* 'O6y<J3,@1F?y!gp4P_ԟkS,:F 9kbc1kMmU!Q/sJr䄱*FcgI~{aB)bÆYlMfc mO3'FT1G{Ds ])Kx )Kf@yI~$L<0Cz-(~6Q',&XS@6\1CSy}n|Yww߻b_/-I<;bD~$yQ=bm>ej8 rV$M7GA4H`zsvVA+BeZ tLW k-,lVIW"M Z:ڬ:62"$9|IvY2 RR9p}cf@8u16Y#\;Tm;w?}?/s,iwm?ݟg<,O%_u"1nC;t MbQ )=oGQ%dM%eӒP3 =#zT3zoOd!okB+HvTN QX{G;hog @#17ql x7 =\TWEhTNI% $S;yK;?޷7zDJ3zϭzI;H8F~(UCcwy9ZԠrV?|PC]+:;NfCZoà|$k!0D*b\ߤ*+SM:J]^pTRiP͍w}?޿aխ8i38[=3np5&Zm& Ud)jqM.%ve/#*хI[6Z*kC^o)zߐrZ?=i(~醩6Qv䡖hD ǫNYQX.OGS.%LN8'JAÝo#~I_߈pDk;QG}e{G?o+P8ĉ {@Sɬ}tMB*1D$M|o2 !~Iq]gZk|DW_^tOKRjriHPCRQJn%/N q g],3|~B$UI'Ta1p{ܼՕtD%}ꫨÒZDnN~f$@$4'ɣ^9?c~m&A<386צLuf̾vv "XS?[EyFU2_Oj>nBףEf,/fL8"i6.$Eա`&%si^$V%A2D [% ^t~Rp`~iG}oB,X^/銅CF-WE-VJm7y}`j3CK~/d=xdMn2<\Hr+tpV|9]l(' l qhY.$Bj\K~k2x؉RUCz >3¤BVF]n ct)k;x܌JBVb-b+i`ɝs!PaՊ) jIaX1ai$H N8ŕ"Y.UL9C urBҐZ / GE\p?` /M1~k h6MY}C"0m)$ Ҕ]X̄~V../o!;G1Gœv #v?"Q~Jljw!,yN ߡ@ &]3kY!IM`51d껊dB5 ـΠJp8ti.`Tt_~S.mTIu9Cm"@&5fpgJIrxq4xx!hnQzhmq^gm8VNj6&/$& LC G? ?p`}]CT0'9pa3e df7\?oFğ(zα,wǵ5':| ĘF6DOܴbѦAA0{_41t&{b֘7YOۑGgtU\f}[IbH!FClf09(F$>]Jxkh6r/wNqCzWd?~xCLzATo/w-rٕhxǡq$f7j,%#! ?"(Jt1Gϻej,cne(.C(@t]>}=@|fu*7_/ի`5Y$tw{0YZuCpj $FCV,uGȅ|#yP~X f&؎7M%PєdiDΙ?Px鱥Tҕ wekl:gnRi hO4Ac> ?.9Pٙxu&vzGFkh8nڢYk- +/+vNYbs6*Zm7lrE=x|wh 8"Vhr.|Y}%0Bp(#?q ytu%lqOO%ӄ\5`Xa2-1k=/& ~ 8WXLpTCcCJclJ&ab5Ua0e젊SolhϰqTA(@Lʠΰe|Zk*fDb"ݖ_J])FTpsof :a{CAUiU 7xQ>>T;F+-ׯUVk!_/--X Aaqt.(fn^eZgh-Um|x P[ѫzg{,g\Ċ8˴ʎɌAPvXw՟X+C[-oAVQf*9A#L\VgY]FL}"ǥ*^h_"Sn> :h8TZ_zfg^KĆHeC$*DfBPE;' .0hqg{ެ܂-F1B7_DhGjr 0ID dg͟fP|"PUV$W-K49V_og 2t{(Y%xrVxҊ T2r;CȑWdseq @'u4}6 pf8JD$넭&žmPYx^ dUA4t6p2|I!8ov7"e־2{Upvj E˷ţ*M*lwZ u-/ FƹzX*UJy1e!6DOH?azRNVv׋bnjn:lpzFC(ЙVbys8y<_D_zVb$xcBy b S趲 Wz@i*>.jR>G @J1l4i;ZmGkVA Jlw+B@7^,EʮT O~Y9 go7T@M3f-0b$Rw2c,na Y/Db;j"w\T{_T)^a.[UX`>K Vh]3R>e:N)tJo1|6V?~(=L~bYH èLnV;S@@ ~U_ YϫY&1A4_CY)4dOpO:|g ;Y/ D mFDF*B)i+*.餛RrW k^c J)Ҽd*Z]*9$>|AC~꓌xmRJ/NW:C^ݵq|pħ=a68L?]}ÙtktJDôJf^Mj.CX @Pe-8/\Wj}u4j+k"ÙZu5[[-:@NlPBrrRK'T *Ĺ_C ,6/&y`U?W7]p3TvB%e JγO dфC=_stUJQ9}[3 hw7tMr}P^`V-[ihCrTzJKD^io:K Xz+E=ڴWՂU6 G?ayhi`Q_Q鯕E2XrTS*jН񧆑KIG=2? &OqL"R9Eb:|PcN! HʟrĀTWmY$*;q:UVזV>ze2dڽnt%Z\CJA=0and.cԀ&QO8T^t0IF8g1"&&4Q,969Pb!)(= %F04;DtdS#)cJiLnkÉgtlЌD:5om$؄~r'L|,M&Wdـ ôڭ 9f0^qX|XgIt_ H1ku߼DőOa՟{ga-"e9j()9ʘbcxȢ,Ȁc`LNfPGPA)bM/=|ař *ZL3K g/WH0y&D> oW ^h&/<PɠD"N#lÓ,^L/PA,M3 C˧,Ǚ9ɛ!KeЯjw4~++!m8Ș-ƵScdP[;|AU&'Vߐ@pUIF$S2(RgjJ<ږ69vϫqN_( M!G_K*^ AfFfWcg 8a3a!Q`O|4͹gGOu,ÓeN% Â=CE_vkEEOi׶+t ]%iV5;MlGTRqbcǣ j^@ \8R|Es0;V@111ъqhCEl;Injen9ѶY| % .[hq<]]#c2[6Q "cY RZ^ǹƩ'ZScDpy >q!hL7+NA\FS9bf9UrnhTb^qKOm·B^G59$G`Rx#t%gqy6*3lTxj0o-47Nvkzl!?${Dn2K3Vk&}N?4|Ns 0:4WZ} $qHh͐yek0nB@ʙ ĠC\rPs8-݁-UX:"`)jCb..,Ol Y_GA ?uB]Z"|);N,hareU iDamy4.N%GIN(lO˒"⯍ce>s \n7d_=ƧCfDߏP!+UQ /=/-խ!EDa-gfiy nU-xHs%oRk:LvWun X/%R׆ 'W]Ο;4!W^[]Y[wpGYڃ .Exoܬ;. ˁJaN#Adq;d˭1̮kGHb:6R:Ycl1KwuF ɏ#saZ ӱ5Drzɱ}zfN?ۄg h2IEW0]@ \ 2tB '@e|i:N/s7txvt4"Ip瑩)$uφ_͡i<>TZ#pAzqx^rڸ6í>QH7< ѹ PWwCpiꐽ$W&5øxQB &NK[E'8!dS4Bρ< N{uVuΊ`ˤ8q6s1ڈd3 7g2 ٌ^Y\jΠ#ab,cOZ+q#f S,J3C#@m '. 5%_U·wtĵu,쾏Wbz?ÃEHoyOoAt}$^q`٦'<x{/ngt/چ3G΁rymSs7E4̆E`:98K.1Qdkj̋FFY0s2,.-k喺S\`3lTR4ѱE! Dr|N90\ݎ"ltvx#?9+JC4s`c`$|d8n[4LfsH[0gŨ:YZsOnG5G 1yR0I/'g5ANljVs%P_C`NKۑlWXI=̡zE8nңw7RD2-9nB['' ߮j8<0$SM!!:4khQp@Èp(IY֢@?LAyXMr ,u$ě@Z7'I"f|eȦ{u%1R3r5\ygeU╏f.' ] T~9>EUSM V/,Pe# ZgN_ɳ|G*|MOJU=& ?p%|-;t2wr~{\A{zNB.18ؐ}89dP_< ĺfgUf G<bNHid~S5@8d\\RI5karWa/:gX\9I  ik~[:^TN.ٜrGM >10PICH'kS>5.:8o6/f 8:C1ҷ\<$w>Odꝋ=y70 8[ 9 `,81Z) u59dNKh٤X@F -?fY Oؠ-֭;x(X~vB]`w'h`@گ@zf"bl9 {]oa~\YC)I áɈauZ BBBLH*0'"w]q Yz5[w?s88yY r/\aG uכ{\@>7S0[5i\g/2 Гg @2XHgg4wh =%$dJfI}("Ø1bƹ ; `&*tr Gq;:݈zfڰ.!43U&d|og=}Uc buz1z6|XjPA54$ռFӜ8k2H!Q+ʕE[b{屳<ia*Ae:_q8?T8rY}VnS'vd (\Ċ&D<,pmggqt1N6;1ƛN!I&'Lf%aPӒy[ ѻ,T pl=\Ì+l8=Kz8?i2Y,ٰ4o `^7H?yꚱ/ou>I yET4 vZsYN+w2Kdt/ykٸ?#m{'\Q懭b۴'ϓIʗhNQ+ܠ["2}lƖ*c}p;K ӜÃ#Ÿ o}Ռ/ӈf]F4dprbeCgj~~A.tOi8XgOlz~Uf"NM+Y_kvvtM≑09?%ij-9z]l46[br!I.YAwDLBMm/[UUG4;J^'5΂PT|̞}e.p _s1 Y[*̾{]u*Eo| a_3ID fZ8)@-e?md3a-N @Z!#fb'>0jQueW䨽1l6 4M$}(Kmbg$;?QdCĴ$#}3)(3zIsa7΢49LS NmDՙafqJ$?p@oUBz0j!\zͨI v5@þEz*|sfwfUe|h?A )L aE 3EC/UY57oj{Zhhiܷ&+ҿPIZdfG$2> 1†[U lu*b?ovwNqfJRJ}£L+ROu|+'T2^4+"т(ON-~ dv:{Jus:?_%{d>:8X}ؼr TN3T %;-sdmہ ; JBf99&}+ڝp4r8 ЁCWlYXHTwX:kfRv skY.4PM:Qt9фjxAPѮw1L :d=1QXt.2 ̊Od@*ʰ<<]gRy(Ii0ߚTԪ6~0"3|gcײ!*2%fF?t֤cN aVZ߆Ɯes7g`*K ގӋf>*qBZ+,fiwcJYX.@3yg(arv"7U-·T-N *."][&%u_XxL2d3\ܑwT=lkl˓]~qnÚ= S7&i ޮoxs^=!5+~fL=bq|^n Jo>xo4c-4{nY^ƿ>n? }s?k9&19! * M6Kqkq*$:|8$oQk tʷj/D_~ h~ڏҖzzM^6h)[BLw.-i~O'GLJݭ=\HpH,m[_.傈yNEy y)n)K3T&'0񲌏/lzy&?pcMo9 ɍ;Bdb[4ʓ$'_{ll17-QץǑk@79Y`Ek #+KŪKvWbHnşL!aF 'v>s5#?pB;.NG_ij9qΟFஔW؟C̉T{d.d ˗*g`姣#cI G#ZSe[6LJbmZMĨϕjݹhD $Lۑ0V% "j3nGyID5!f˩#Lx<\zfugdSsQR)/1 qc1E$)5"RpGg%꒵'AbMfae}Y~Rʶhiw7 UGy]=P=*bk(%ÁAH1kYp^I.L J#}e84VtX3,p=A;aHuH9Ӡ;6w6&qIdAkڧ ^i_ )-0}Ԑٳyv_8U'MVed`kvr"֏:BPVml05pL`B`!1:x:q' 5 @ ϔ;mz:F@G5m|rr㵏ڣx,Ҥ:Υ _*hXI +w8WR$( RrM0|40τŤ"^ƖW Hg1-Uc'!K~se=ԬvI|Vה!Y;M["+RG^+!)o}6suK PS I33^&,~O".6IaiÁmk_lt !o~2RlX|NKeM51fH?y)f+bHk-MS4Np>_7%O)/zII]\d@d ٦a˙ &0|:, PI qG< (\^h!em%9ߞ6Y'=p[&iliLM (Xs$-O#bMvbh8哝$u(M#{[ >f}zX0jbc D-4GMlִm0KT%xvna|d aIMzK:Ǽw Н 3k A jptcenE6,egT;P|4Eu]պ+84(RUbt=FlǨ݊Vhw1~JhT}y6[_Ɲl|=L'!iXĜ. !=y`撾%bݠ ] Dc&;`b !Olofcy\s~o1įkyN8%N-]j=8R Wrs0|f@exN%&@ɋ2ω*ˌSs;?]0 ~e黊5L[/ !T>)PU<-իfiguXjoXųDET?Y+3 7Ջ-&$׫)AYB-c1 cgFb*U}QܲM *%|iݮt-S0r>y6&5+ kBEK߃E Li"As7t$$Y %8!f>8qm Piۢ0rpa%lZ"}ΐ)7w?RYWhľ4k_8Վ-ޝ O a]~cm, V, Qu;).'s"T-:+l UaPQ"5蹱m ܓFqg(-uY.Mgo 49L?.~|̥H+Q4Dg/+L 0/ewɻr 45l9*=fPӱ1+-F-m[XgUh^NE[_[<`51Htkdb_}8PKpTI(4kf%7w;Ʒ6a}Up-|RZ #QKopMvj 5!g-8Wj,5/ʇ?P+Ë%P* |LaW'B@_8癨 㯫Gc$J+7lٚ)\]Z9QA`fh^4Ni*ᅰ:l'!B~ N8gm|պp-[6"lwk6 Ga զOfHiI0KD_%AO/J Ɋٜ r{YBˈ15&LV>0R9"{TՍRݞē-rݣĺ"FE>dM/Ppp*hg`JaXBj/E!CcHE$UDcy7ή-#יOA\j7^SLf&ൣ 6<v7[_ߌw+miy1U&_^;Cu p+b/,W)sMvҡo}qiF}vW*ˉJSs@IA? CE*/w!K9sL> 6s+.}nVVMDbx\mRsAA- ky raӢP5YYnVJ ú+o_-j4Vd^hzv3͠3X(`cB?E ZGQNqǻKـKl5`gc]|}"a 圧`kl5ЄH*|iB~ .ƇF"gzRquDl.U ׏pņ@|7]&ʷMӚF?p%c?t",xy):a-ba߮Z_وzmXP]fs X$f-.Ӫ`0ʛ)ktÁM>U45sU1R6EHl#A2̧ V]k/},#Ǯ_WDPY?+,wKV]1Ga2-̫HF 6gy}ei` d~.ƉLk 1M"Yp"r`څ&ni {.ŗVjV8&&o"TNOT.w[w;-M`P& *e=ˀ;72;&LZ5\ v O'I)lNT B5mƭ(;CTl9M +h$nї`L=!xIxi&z+{#p"I4KiP 0q#CA &:hl) q_%:L y!uiMh|W}q"8{G}# d$FD%I5*8]I$&LpʑVcכ-=%oLJ]A &}x< ykw;Ћ.i/~f<ثq2T,`s#"19Q}¿ O5|G7u4RfDS焜S^ ӳ;޳ڭ?lijRHQ#֛B= Tb, E{%8CX.pI$.u5Ō[KZ2LPEi.E"#zĂ^Ha]YZ3ǍF`"Kc\z1(z_cinc`S6'ݖJoiir@AC]ѿ_ءޅYhn9DL3زԦJص|`*LC^z)N ŢJ 4)cRf&1u%+T}!2#۟td6Ve>Er+Xߺ7OŌ`{t~R5ZJ4D&TfU`-y.S:2 S3k;p˼!k0zF uP~\Z֩l=b^.öYԕw{6pQefWǛ0ܡYp40`JuL`eNg1;۔~ʆ2aJƗX DzMyU QΕMI-e& f4/7ݮ m0eսg37P P%ڎl*P %tnf-Iaj 4|T-aY]%2qwOy>is ƅ/~Kn6e~Y|k$I }Qi:*k"U@:_j[ 4pwW=TwP?X8jۨ ^.|/@޵IxH-J~$\ŖږW'3GedSd3ݤ%~gIJv23af,(BP|uusߘ;bES)$t=7U%j)xQ%v5d&$X&O4FsS9LH\QLJQ2mzXes{PਥڣnYZZǨy`(N1k=8&PJ4ڶ+J+ζTs{ @.aY?ۂvbNOE*,R$4~{%U㉿5.1OTp1_U JY!Dn(߳cgBF_^mF^A}ᱰu1d{`Lc9sL.jOU.ЬKVb?NoNּ_qmO=>df>I7d_?e5gx;/( XoJ8i7f*HFCl(yU/}lli3/TKuDuL{ @1XΐiuHG# \x$b0K/ bq [tFO[NkISoER˸AKHG׺51L++1@ ubQ:pL>O,@dÊҳ?٪@]266\#'ry0,1b]Ѝx~̲MGAth  +lXTٸ$s}'ְ2٢afĆ-"'O?sGÒ}cV^&`k F$V5#il揼AR`5ZC5P}A|qXV×2  Β%RozH00Y5g  o 9+[`حnz/.2"w?s)z_H*H?HMY9y1<\0^Q˸(-qz/L"XQߠ8e6"m gI&/Tr0K$|ҷMki<*[. W|7z(t0~jѧt;/&i i}5y{ʉ/rk(ῧn + ^XIQ'|1LFF9GvZ%Pp]teJmFZ ]Kއ_+7RcJIOlv}4\, ]Rt+'ǻlzQ>p8iŽ/KUye\\jCxqI3^2kfwd.-;.z }xoiܹ=/zmɌ&!|ٚBsg$w//sG˩9ɗ8v_e^u' zAve&84@U{<ȡJ2y"L~J@15Aw\Q-ftXՄVc7XA_+A~zȃqFЌ=X':̚91IP]mVU\`!Bn'w,Xo _w J& ϪblNEyJ5mZJC`hEuԢMkNz}%JF|-Abt*(%Iqsx)㋤m)ݸ)ru@[et(Q9cph<.)U Hc2 nE)=檡j؃e"B``I\9v s:. =AYx09ß%FG$Eja&ii]3hIgL5 刹4l'yҿv(j4-ݮkکzId.kyKd%я=hc4a UL4ɏcR̂̎0399^PD,:K1 S7 jj;Fɩ*Rb%i^(e3%9ݡ% nuUzj|fP?^y]{_S_]Vԡdѷ5'{ݵ!J3 ={%S$_9u sn{UhmICˮBXaeK!Ք֬=. V6Lm34$  w|뻢9MBf $*lTd<)p(>\ X|o*r/䥳x~jsdK(tQ~o (_t" 쌌6ђ-~R}T8<7`J7uGi}I7-`²[cncq2r>2btA`$8,(?b(F:&;!_zt4ȱe[yXK*zz5q[Cl!1o~H:nBEMCpP{Da^>h_{oãwmFνvgx Kaw@G~R7'7>xꤙ)4wMaI:ן٧i=}D>|Q's#J>FsJ4Cm]$wrHJϟȠ=nN ɰ]+Qy,Ĺ}s_8Z0OQZx"PRDLj&"سZ:U)0&YxJ8XBsT4S+_ 4H(1ECCNW`R +4VC'-zGNųbcӪՋl^l&sR()(63JI3bMw<2lh140iO4[僡~Y?|m/k -(Sĉ/1--m AD2dV/'ŇJCi6FFazБy03oGZ^t*gu-hTx.Pyc~PRD<]__SH9u84ݹU(:Y6:A+Gb<&ÂR91޸Q_[L[E^{cW"mx Y69 ˵k2g=ێ u[K\^I[kV0LXx ۂn(p:(I=d/9N |?n=)z> dnRQ<䎺8s-^?998aaMconFR?PLJ)C}n[c*Y̒A:JŸ|B&   Zbղ@aCˊVdY5dmi!2t'*#_xvs&I,)xǜ2_fM2-fyb*nH/.`Yn{´$C<;=A/oE&* )pV?n_Yo/7 |*!ZNGcYIxRpRKAŶz9nw;]T]xqZ{42(d㑡 prlx":>ztGug]Vy_)gF2g$GtP/^S-_2ʦ֯K[Uѹ~B=Ɵw0i6ûdt4s<-MCaV /#dl4l#Zlle,N csp+>DML[A71hbZ">@qb?`DGM8]֏Jre Kt߬j>ݤ8nخy)QSyԛjTz  Wy[t!.Co=֍.owǴ6hIo6>|ְ &vIo^aR )|^m/K V5u Twd>`eSӛo"5'N[p+6Pzy:_ԞzL* '~F U8{_qžڛfKeϋNj;qb ߐmDf7w,b P^L}Կڈ^'h@sKuld \pveh~㵺b].Brizhml K,ӸmW!*}cPj ޗicu?c1#AvfЂ_7c-إeIW KO 'KTN ^9)$I0VDq}REyxj[:BUjMnjZF lk2 i4_A2 V.S3^I/u_έ83hMvn*iih(^VmKTh{c4&Eׁq_xRU @Wь9ȱC>]7N\(3zwwĎXWIRIY:/[ˍ [V;S;'q OFx^ͧ-9ʷx^6 ixow9([bԲ9Pғ5J)?u%ѓ*wwWծ@S{}R Ua-h)Xהm[l=/foiﴻOۗ"o?z~~RWع`(YNK:ItLoIO5?h,ZJӇlnu۞+G֥%1oKGjRX5Ym*L\]?K$)kn}zҎdˌz-˨CL7_J,st ߋ-@YnŤ hN 4O'4Fl,,-K ao";vQq^uB ?q瀊~şW@!;C@t}߸gj&]!Hަ?ܵGT]?~LOZ˝g)޵՟Tߢ^u.n*"rdF ܇ޏ|އ*|_ .1e2sos;k@[1J{K-xzEKj>W +F&ٰjLf ̈DOR/XCɖȇӗۊB!EVLA@5 ߚ {I*S>DyvzQ];8.UD; i?]#^m& ҫ_tg7̖Gee5$:bH)&.+jl:ғye YQ<6CG47`ހ0z]eGvc؍zχ/vζ6P[uWA6ݡ]Q*}K؂"]*.ˋ添ؙ |yrR 73ѕ'+yK};N^[zL6󚤐dau6qSX PsL@L`K"-.AS~ {3{%N-aŇAGU[ACΊ/>ZX 3ȋ>%[t/<#3WYh["G."zyA\-&4k-;i6@E#H@DIO@#Jgꐠd/Òjg-^ptH8ByEʎmw]c5GON[n!-tRHn)^RFKWK[tS׀I`Z@@FK`$ZV )6]$3=gEbKvo8'C+w_g29Г#>5P;1'4۔]ҙpPmUWn~#תPTi"Y:ԒaT_q@r}Ld%,͌4e|a"΂CsBAy:|}d뛧}i zoZV+ڌvOw-U]t:U!TK$,&[1@7%[55DbV֣<7wpL QLnamUY[[P-6C()]Ffa+n͐nOh_VrhQ|xxx pah՟L.Z|M%Vq#&haxȔF`nxlG-iދ*]GX= h6N_t4X/+}O_Ç"(.F#J E~-J1"$׳q:H_lN;=J ʥY481K勤FP[(MrCSNkm9zM=z}tf_Ry-y(\_c_ZeiUc.Kt|k> Lařr օO^ (7|OCLkO}qi9awReO9Ƹi[ m/ DM&ZOTV\5G<L 5BծNP%Q'Fp$@4:\ЪZk&y<榬qT v Q駘Ũ8aSu[H-bo |fYH?JfxwhBEBr tΈy)-a_R{hXʍgEkPN-hl2h1/%1Vac,,)Jy|EH^Mhj`f|̤#̚m$Ȍ{=>[UHZȫ5[Į'#\\DN,?m@ee'Nj9L,8i7o2: f5J ЋgL@I~ N5š=t]tj?bilMJQ?#^[p42i4ȻWM4IƓt-mz ] v1vt3[Hdnz,oq$Щ& vwij \5I) Ʈ:O,;;β%"r73Sz=Izɺޮ#hV?Wlx@^A^+Яz}Fgy5ZV|Lgčˣ }{? 3i{@?VD߽;jER%F(%BQg1ŃƋ1@" NZ1]R|:k•݇]: wn>m'.Nl~'H9bB;i궴9*ܐvq\\rRUf׹D@?|7xy'tw}d{GqڳՂRV! 2-``(\=)b+ϯ2ӞK#qN)4{hL@]ݏʟ5UK{:7L0KWfWhS_6&ƒ*@u;;۞ZaˆVKT5FggԶ;,$z|%MVKd}c*1LSyփJK) va#!S8/'%ڠlqq35*)ˆVZk%l Gɹ "ۿ^-1kQ/$PGȜt0uLPmjjJm5]x d^ьVӈVMhQڑTCZ9mPTK5/5&J Ǩʛڵ.:͒>StWFfAYq^#WNp"J^l2ݾ:!:4nHW~+p*tqa3K0a*;Lp2TQl+by \ǢI,1SVR2M\nrK*cb ?0ă`6hVOɵOĝݾi9 pg4kEi.1be|BƋw~A@M"`D A[WƻYhICX̜ߙj9A^{IՖM;ϯ$NC܎$ǹr#ӨtD>!jNvgLA:]2P岺a"e%Mi\۲Fiue2tC=*!$m)[ͪj0\@O(w=n— yqmԤv"Dn㸨+ĞҔ2^`¶V*g8(ƖbհieE!0w,Xβ˺2u+M5>y4/\/[."C`vhxѰ[4|<\M ";GLJC>ڎB!Nw'={ߝFZ}]Qۃ遪%s%{s@(8<4QަӃャ;`nMmoLl@ sWθQI$|}]kU70HQ !RMڶ7hm̻$r HtxDom(DIRN s*AFc~;ix\Gg kle9E#SSh9$`oZ-vN'E^)`f`j661zYU]ʭ+ҚrܶcRN]s~]JSWUUJ5IXU6Ɔ)(e:cI{ZJssЏ059Qg"r#P:!M}DhʳHTh|[*yDCb9w="7 $z+ sǬ83z,&^x=)/{5ՉJd7K9%ɗû$F$\~ =Xό~]ӆ6SةqP+jbvCLqF*UJJK3':طT+kR jz)Q;03m72vodV$cby5w6xNPִzU4`UV8MYnUl ~K[<˼@˶MҖokh6[uL cZ<.큲Lȥ_ukiJajs6qlS jRO;/W@Pö2+M˧y]Tꍑ>Aw˂/4[Z[#TU6R[U\,,j/{r%yc؞^jy\.ykA[7 ΒjV rd#m(d|Ve7LƲBmHfgsqBRYp:/;9 RSt4擖^Av<:wiH?x/WsfmN4z02-qtfan` Oڑ͈m#7n";BIfacJCgteqh-@_ ߰1{U}i.L &=*lTī.]wc<zRF]K-:~?j5-Jk#RGZ(QEr[.Z:|%ٽ6{&w7+\S:Y6w |S|ٻdW86~i,@ ؠ^AGn/-Z Y{\H2l;TL/ብqgX,<^kc 7TɈd_a-vi [K15 Y ;t+vkїԞfva]G4PVEuZ9e~9 :!_l*xW݈؄i0f^i_%xAٞCHI=dL 3WvXGOiBKJZtk3˾5%^xbFF⊿FŒF}yHHxmg2j Fڟ|-F"|T1vT.Ͷ Y}zv Rwlr7h(.x okkG,Z t(7Bit>Z[Xk;mEywl(;̬ VGJ^rl*[qс9LmPCuwe-U}t\% U!; iY`b D,1WO;Qso[Ta[*BKеJsctD+[{,^p[c_yQwaR~T+o=Zoeh2yp0q3~^w];ݒ}nPeW殍冸0]n>*m|C[U{H*K;Ow+ԡ*1 J'{Ye֌̰~TU}h aP6| ˡI_]K^L3+}@T >[0ӆ:Y40%6ozCVp[_rMQSm-NK5WRef+{+[G%>swAAO`ubdf Lp]s*U14^DVCZG ʃ*R <| ZU9X(o=]wRM㧴B|wyB`w.P[zkjyꚶkF,0ۑ%xhjw\+Lln­X-f֪6tUSΣN\2OQmk5DCЃf#:f:N7ZteӎT"7E'/>uw-T4.0dCd6IG.FݯȪt9Jjf|.uI\oC]ow^=p*DrU*g%-+aUrKs)i<2(݂Vddppm{ZrX+ȅTr7cHP~H0&ձua$r\3F_9ƅQOF'W::ڿnts'ɓo}|7<&}xxQ 'ߤf؟tf7뵁PFp;PER@CSFN@[Z3TkSa?PR6Gb݌3FІIgpZ-'$릻a^-ubЗyF.H/-Ѭ9FADi]ŅsnkhtYݰZp+:sNMۢ3b#;p2F7[ t,B^6螌V#`ߔ֝?mB+grłKfC>aF0=yde/JGqwiVF dx'T?}jHQ)̑wT RdW8?2fh=xB5.>dkuE 1p6Za]ܗjFޗ w%3>%@i1Q8Wܠh poJ'O8hfnHv#|]S‡Țh$چ>h{{w]x/KLgI/ +ڂt?fIZo4k+*GVbR݃oEhy)Ō ssa+H&%1#7@T3ULJdW HI6ތ0 ElX*^bV~|]~P_1Dd;^`#*zt E?Hv|x}8GnjΡ2ppLv;/=j9~%CE7 H>,u =pQγA63 ͉'b V{4"+EcO,Z <5F[K|VTfrb)'nm?rL_xp{h=pɟ7OTr)b,[$eCMQ~h^6Q(6ދ@b:210IPl b7x>2jH+t4u`i<;/ ,h 5v|b5U?IlbSa3=e_`k)Zo&T:9ɭ;=_5GU],xDFC„WҞ>!1 H8pL48U4:c *Yb@z'"RsEG}GV7ΛJJ|#{m;/[Ts)[Ҋlr\ !f/pmqݎ"ҩ&\r<.MjXf5܊EnnIRhʁT5l/>S#BV,lxG̦+Zd넕*EqϗnGJy^E~إr/{(Z}{>kh Q` 5lc aYc_Vtp5]15mMeͨ3(k~^5cUFcEThs40Kp(×2 t<d .}EvzD~ Q]x1@IUǚ4vC@l _ɂ.ĨtNJ+f@5G֑ 'O$okOh:flHx$@=q'șgj7p1B=ljё^,m!6('bnA6nj"5ecVo^?5WoJ!f:|SWHvg-=Krv-9 <|(UZ4RvhNN%SL[+οnkTR!kc/9:7(//зE.(č,Ąa+vBf\@To'z`bu G7]8ۅT\⳨LC9TDMHi1t(Ft0Id:@ 4j!! ֆXdˍ^¾?ڳI/J}h64=:kdߩRs5&`YNe۞mA&qhІ߿u}_Cd\g fG5_ֲ<%0.k"KRjm ba(R Gnۂmy Um}be|SYŦQ# aDl4k SSEQ`c|F9Jyk8h8Gެ` JOyѐފ^D@_Fn $xz2W&Mݳ0FKt]i\$BųxZ@DE4b۸݁ wr=G#*b]y}HΠQSz'j_ooChwm<5&BK~;i"VFAn8U3,4AHEhsO U6׾/ G v?=_m}yqw-k?,}K)Kz]\#( #_ 1+y=4[rK`#B9Ѳl.z耉e \B2)=ATm"輞atŠ7ꁥGtA{KְK`5 ]*#RfIl2`gtG@ZdS e>rK'i"ih5kҀVT"o NBjtm6/rԝ\ uPW3YʰksE[||߶DM<|^,?T]9q8fJ_]TON9Mi2B$>e3 uC&Q %Xe*BD4rLO`qI¡A0kRl*LL~SACsR?Xė9=R=",lADq\z qw ↺G =As$Ru;J;tHlKzsL6'-[OJ-AbcZAʥ!3I^3->5jM\HdRT@KȶiVdKt=%l0/OC0 Zb\D9a%lQeL99>vtpǴ?xͫ\xN)<髣csj5e>&&:w "XN٦뿕~:ˮЫA vBu݇9a6a=4]ŁKaSQYt%Wd1au0P`,簃"uE꿦6c4, beu|\v:- ˆ\Z46xvuDmە0bm} ʹTQk$PFAtPSfgL`V:qs7rҞ~@ͥ*]xKWXȇ84)^0/Œ^d2t34z$Sb"(`zz '[Mt'~A \LUDuy2^@߿PpaQ@R8Z*eg;Sc`} Q܉*ւwܭO6ND.?9(_ e,_V(tf<$KfJXvgrXHWwu]n_el}ݽU H#ZRѿr !w584FCN==+݆ s)!F ,ygb*4r+b^u]NPR? z~fPeYavGvЍ;bMJ@:3E;Ŀ2FtH(.v3Q?sIʷ&]S:5l _r u.R6-PYwn^7j^F/vKL;=!חS/ѷ?04.[;* deȓY@oEiX(;-2P6¡y]VSE԰m 0.f$3Kؽ7lD \̒ƃ34JIO lو_2 !ϐZ{_fԲh=ei,?7#V18T@ T^`3ȼ"- 6ȲOKkw4tҹX1O+Zѣ(yخFp1DL Q,c嘔hG17m2 ]/FG&6KeWUZqLYJ.Ɠ\-ҳ,mDoHi.7L5X\6(3yѤۈX<+DjۛBRMZ?|89ln7pa5P4C@-8tK{)w%p^ 3B菒PLRnQAvUM\^GOsu*d,{Qc6MOGjC+kb]пbVקp9KNe .Ei鑗%[6d~xj/-׿d=]9b ́C0 ;rOW-%.1&a;S|<) $) Md*5,$di3%:Dhdj,I1 _\VΕD|*T"'u,;M:`\(5U1Qmj-eIq!5eMP=i#Ĝ_Xİu~ǨVιs@rޑntbjrwYvA]v5pJĔ-nMc{{j)E1a)tPQ%ay T{9%ppZU5WaKu]-_{Môm~~Rq2闳@ΰ$uXjSi$F3m$emLu) tˡb^zGkMܒXܛ& _7_# QlUJTˁEN#+Z%Pp`A.BAFƗ^tEd /V&zRF,Oy_fCQJ )bCT/u3G~gQ7([..Q+YMC-^?g'_06X#i $naJg[[P8ke5Σ3[[8qt5.[J(l jml)a$ n .2cw L"ٷ^#><%7|N%JtS\Q'4)XLNGsTݰ^0MGLS16>9Nġo6o_8-%Kf.~SN&uCokair>Ɨo'N䴧aS86t"U; ea:`5^i"a>, X9bQ(PC :\X=99 ͽ|1W\ SqPi`=#Õ }Ef!  :S`p % iв ގ>Lk`G4PRhr(f4G+XUP(ʃA PEG G:ɻ^dLn`:VTCWeaUE~v ۧlBШ5\j|f)U&l=S|vZ5C8cqG)t׫eu>MtI潢l4?^ }_{jsA0gxH0ݖ`u;qO+LRɿu_ S?}o''OK<$oyqaEc"jJ*OЎ:N?ljSU l>G\8x?ozTW\O?dB$ax.])k9k;6'3Js?pCcl"ũwpm#Hп `нh;Ah(.rKul7h u;= 7=:%gζ~Kno2%gd~Vnm?JpɈǮVE?mAv oU ޟTxD%p [>,o`KeO*&.hK[ lϲ۱N_YaVXM чN{Hhqwrَsi|)\B3#/ ~t4(?2 B~=s(JkzH\ uzÛޫ?vS@= U/~ _o,vW3M w#jW2@~='C0.WZe07#W 76A  :ZpA>eabES i`YY|9epDVYETz8us,3~}p|rM-hKW7x"i%gCfx:~DžKDU!ԺҒ=K g&e+ Rc9Jp=X2@nb8̛,7p3^ŧN̫@T1%Ue щQn ~3Bl)*ݍQ<bGK*ZlYe`ĥon-`Qm=,}XA J~͊ 9[gY;x\U2h( f&e7p~\$O)vnumq;|6.a?>Lk!$2g-g!Qr^L9â/72rt<m <$2)SàKq1HS3ѕz`{I]&pm\~jo&{'z0^ Uo^cIUG;spK 0L-ۍ߄6+6 -7CBpZzԸ339'B,lQ@:Pr0F&F (G6%gx6BӴe5b.ғR\IaJoxT@aDgÿo&\}s~!}Lm.v1Tfr.7$9/)$AS](2VҀӘ l)ƒb>5ef[$NDsHLn) ՔYQfeL3xq)|M+T n-%P7`Am&fm5[lAY`z.MjA;PtmAs:{w[w$?_>#! 1ea#w4NY̒•ʾsAo/3bSʔ>qUP&H?%bqy2(~!ҁJ2Ť:L`My@9qӛОOxƇs(C@ޡ&=\I|hz 3X@'T=琕J$n_M27 ft\q7Bz{f_ԃ:=U0ܞJpn}M @YљNGpytUQ4U@1*;S ɆKz%XcJc^-(XdGzeT髯%gI ^ʸ-w 2߳oGp7$zT \&6Jb 2DC#XમPd&ua UׁWC4! J >ZJ@]j}'bj֝u+ŀ|C}É {2wg8HbMn#"*pۥk:k'YpCڹ4Ma#zM73lσDFY_P /Qi L-xMc߂_URk0xtbv뭟:@))N(mE0dl~yռ2L^W ;j ֗  zo\ Ĺa_tFz2bӤ3кIG PHqv_$S@LEvk170Ulvqpogm\r6*UF\r$C\v˕,;%PX)DA2(Wy?!FkummL2R\$jʺE Vs!BM7 mP Gvd։NٟqБ*5F#7)Ѳw[:hw? #e֙.' JNjl.e>ŧѪ0)CTiie`W>Tgdxz3oQm};mFmnӯ35(_EYV(Wē{Ry-~h6s!o[ew@ #6O$u55hG& m:KD]JA4AVC?Q{+J-u|vTH M *ȑu`u:\+:p /i3F,f`*LbPeF"1Q))PxG',`f ;Í.Oע쌏}L]hEX;FuBlPK;NT+"w"y.@H}}1"ЪN+#Hq>FD2i*:)-)8|1ƳZ oYA/@\LN%#q0_\ZG 8C UolѐJ" TRRq ƈ#{ R*dj#8U*$gju_vjac}BH" FL&'ccҀKl eƫ<À|Q(tFtdC5`N "2xd׻O7[/ 9"s> ZӟoX,ߕJ:@ཛ s̘I\cN"#\1CgPAE9;]>`^oV)#G ¤dLk9oj0rŧΥ@ >=K]LCC@&&;H)XP|up/gMvug+9#m4ݦ{D9܋TAX>_KC)6>܃@z1(~f6a)'PY!mWX*Q..5/0䂲)2!YB:n:x/rJH揋S3#P0FH8I-zZrCHcSO& LSuv-PAyqnD1!KRFgA_L庘QM)lMtHj 3'R9:nDޞfҚF-J7EZ?$3v}uڑZWp)Wjw Nr[,=t /hb/ĻL@yzRUm ěHCvD9i͓- )7)dl Bʕ/4$h*hD78y#eBԚyO$ z}?f\h/qؐGW6%$]<@lwhbGM9o6<&ȠM `Y!{]LޅH5*8x(.8H$-jFm>Z{ |ŧE3V܀.H+74Os+F^i:2(?9߸7'ҁԬ[λEmFF%N5W%\X ƫ1l:\[NlL'yQ, o4+\wk 86QtL2gŌ!ZmD>{ aYk"de~ֈa}aa <̐qspPlcf5; C*1ZD1BoJ`S e%LQy6(ia"p,uT}Jq7頵ݾD,ęf>OFǴDbr9VV< qq+}EM/집 7(ejAF,V/?(|| 0$JowI8]DnsjDS"# e`y"}ȂH\@ UP'+%Cvܤ[N &U8(ӇD}j WYMT9Z8AColZ$s,ɒq*:1:n>(͆Ȗ/[J&KexQjqjTd?Ta gc}vlab/Tx1R~mI|{hs;*—#_ep P.p@*!X)lw z *姘/F0H*T~42pT#$.b?Λ-;xRX!TfX4va#( v9vqp[sR7TanBwA~׈zO2Bw< #qm<5+]}/񓸸`Gx{8Wx'ER2VqX/GAD16>!L-p"m15tp,r򲭷2 \hmKRnD's:5o D:OYx/_O_Ɩ;]9lQs6/j'G{ޛv>4żz0zi'}snɣw/?\Myo19pTւ^8N$, r;WE f:$ n2_J`Ǭj x!dO>:aiÍLsIoh ,3߈r—2~1zׇ@dI[?DB;JFEj2JCDT+c˪FE>HhĺȚ">cDP-GT;m[]sP ,)p׀Wی65ަ*dyF1xI;D"cJQS hHo=8^@jbJigYCam%Yq|Q$kO.Rص)uE ?8ρy[$w}Jt)fb'-Y@j9xވnP&> *" Y/U]Ū)%Yw[whR9ơ tW$Q[ͱbv:1%T% y֒hqX \k`c^ U12W' ;$P:(Y)+h>n7`(,n|@Ŝ5]3D3φR oWb}82%O 2xr~>p#P^ڲ8n2!AlozBiOg,2阹UϨ.B:'s@txM"!M|g(hxa6M7B`\2$‡43"k\PsE=7W\Hhl7*cšd2RPAiitׂJi @X -/o}7Wr"/ A*)i_=ŠDžRt#dRc劺xM0Eh1uˎ #(nlfMOY6Q-Jx1GsJrh{]Y@&Ev]3j\X=f6Qbj=}6UESl-h=r GbM|Ԇ=yL챑+`m5= $<3_eQD'nqΒN-6 "oD$=,✢%]u.KR}0Tn\#]N}dS8X}d?Ɇ#ȫGQH\rkV}{`KJVB -牏 Dn=Jte-ҏ%A)|]l_#_F5򳬘W]]>. δ͂Cc1` "~.<_6R [?JTº+g< ]y_^oiLz*0xw- to;hD!%F]ʻbfj@ŌU踛.)  Ɗqh ᶣ}mZP; nL |˾FVuScb?mom Bh}yuT?qq-cCLz -]PԷXڦ_ '*A-jll>|+!K;2@-Diͻ͝sTyfe7B6#sSC6eWV"o+Fli[ +.vZa;p~SdB(H^اO[7n)zjam*[.(q)> .SB#0;u0T7D4) F= 8 oE.4 _`kOy8:~#ASg7P%1O~D ɍ`Nd[QIk2w!,`pKrGWmC!ѝEDQGqѲ Xn@̋b]n0rظ[Yb֚懖܂ږH+Sne$ uVy5jo&JsusiE-$ '܃jY=Ҙ-9>62@[ѻǻߘw# Q f=o99mWmuǁzzwp=w\%2d 11Zʼ-Ȧ_Ɯy3AOPaGiNen΅{NqiBs 'Ty`S:kc}d5\>ʭU- %Z^f 4҂v^,B[2/}!CYdKeWl\+_>Ly{inq-$Hs 2G]akjBA[bʽS{5N2%"E- mkMwO+'JGӍ 46\Oycv"8le[YJmOm G6ymS mrh S1PrgNUtVAfHaNd]J51 m𛢓\VY,/|rM-8te,wbTG4TU$~a}JcSr.jʰ W#W~tkxU)|]$hEmomJErRPJbYy/O/.͸]c\ xa!]G'ѵ!4q`CmcDwaP1BXgҏ%𥄴U23c%r{&(ݏVx]JrvsZJM嚩Lg\ (:ZaT[0{\r1aؔ%nIg 8!q22d< Kjf!Y k0#`\q{"2 -I0<,Ou';[KMFy%EQat#CvNI(}"B I'Zv*1۷ \7x7YЁȾ{$[NvAr7nⷃE[:dJk:ч9! J9k𰺥jGO6S]TLEb؇n87pxLqN`:>7%'t~Iz5^YNoU);ˡ(5勉Wʓ"V~?_ sĪNķ CN9rS$I e+1L0U\{џQv R! L>BVEtk~.?;eUP 5L :EVmBu`6A|鶣Ζ™k86B:{9(tR[R:I)L8}LMrt|T 9M0Lz#1nP{\ M= )# 0V%FL:-L\a@-,XVwGî,dlO^VWcT~oӂ؎۰_nG[.o˦?HJXzPvXFt1m n9P   5B4t̾;w<"_ɺ*lڧ_/xBy]\¡xCqoѪ)zs- lv7128ϡݯ x.tzk22}uo޽k;:ppB_~>'׊VihS-xΒuD]@4W99$s5ܨmə[{HhGv+Gr Cj2f,y?*L'R>"5-r7,4q+iy\ou@1TcB&FGaɣvbd,U a9SOVvGڭ^љҌgItElƒMzf|Wao>6Gx󎿱`*=RP$=kE/H4mm>?$Mp~tkJrnv[Zn͝nKHt+Oj Rr6=#6꜊=9andA++5ơ-c@&_VM^j,Wb813zwSlH)%[j30 {J"_81OTQsxJjgW8gl1/ҡ4偠$4G{Us#̮HN-7jzE{Q@0{S0rjк"VcCàYbgQ,'OK~DRh yιY3xXvwX  Oa%@\JW:/iMx-xAImp2žo$(bw57md))>~rD;u=q7>͔I=mXfe3*wEplTLr,V#8fr˹yݸb (a6j䬋t}s^0+C& 7k_?f#vA5a v $:z})Mwv)+0nrHDO2F](3/"L EVKեjOQ-5kWc_o$~EIM8( ˓.vHTcToyÿ?KOdyݏWPq#SEdieZFb-6qvb0`36mgsyIgBпh1gg$US^3{; ks8lK*,UVUQ(MK*/wxoGt~#ihOwaX۬dNv ^5XnvzX?/1Q;c(\maLU:lClzӒEp_~b}4Xli&xhT$l5DGd;Nq &)p~d Vg`ʈӎGO`W+ǟ*#_6]= _C38 4?Jg˄lKl[|$L&u~$lxDٛT 15]Mp wI_h'$gęvI+Q[+?:AW!$* # _ROGPi2ʱJr ~Pgr7tmcӈO?hķ>>wl|=\CҽbbLt}tz@q}Jzd,ʎNQ^K ҉0%XȔ 7T`dIRYա&ht.((XE`?|!3b;fFVTزnb,s15f`ENu% ƦG6BRtEF1Ay'h19 Ym1UHwsH*qLF,R՜sodY: ]@YN0}Z>WFl<+`ȇ*KZKaLfsM>br22B5I^ zOxVHB'q2Vd>0̒#aXb~&&e|už aR槷2N%CF\qIX( %I<v5F/3Z3gZf?oY:l$J`:(>NfZ/a}$e^Xxgsjμl$SNۼIWÌ Js.c!L`VdpysMp4"Ӿ5kec: V>8d>Taר?/ ۝"ϸ4X,zW4Sska4B{|x7]GOi)”\< ""X]@( VXl&UX0;2$Ia]H6z>`o=R𧭮l~CU U$6jS]QHyIڣaT$՟`2 pmKK4ث`Ì#7< -͑j˖ 。nV). EnG2$:>SB7^T qgcfԜr$_}ĸBL$m,-I#jrX]HYTģ$ _"]QPsh40>j) ,bO u2UQ@9"*Aq2QX9t![x| \rۡ~$v)<4GH,̓|F$I l`iևFʃӴ.X+ nSα*a͔،!=t6YСHx/bf/m(_|l3"O4ppr{{p+Ydtqm_s-x&&ϵ^O?U渀w]!BufY% IBpAṪ (:vM Xg!Z ]'ȪkqҼȂbbK,tD[RĩwHųgpw:̞Pn(O3nFl9O ą[Q<. ,;i $<̯hQ+D0uö4 liprido9iڂa]( Z FiRt+itӫj`h]I\-ݔ_(J-veC$n"'̋q#dP<'W鶾8^Y|Ix O0h\㝞8l$lfz_#݈[*QH ρL9 ʄ%I`)!“(G.U֧;R#%ϳ ̠)IHI> q ʵ թص))0zJg+X5͙)k@k鰧5۸¢fpJM3h!qgzkD_xir='0:jרp'sWT)/( uĮZ+` 7lraH' .UJ 孥Qt;\~dҕuG~z`睳pJN/dqǘ7mlu$щ0\JDq^_cjVLȂ-r"\Z+RjgTYa\R#d+WBrPƤKUqT4;,+RN-me% 6|0w@BY6TDe(Xίθ2ebP[O]܎[ 8wvUmԕ4/mdG">e+.R[^ɷ''HFYsO ^+.-Wu;ljuИ#4+ft`FM;9WlcN9ͪ:S|ƶ%|ƼL|$k9TC\[Z3*M*6: T.'%joQ F~3nL ;:%p}=>Z*Kҿ%=-fP!Uم:F\.>[)EO} ّ59~Ж D2rv$:c$1y{Zh QƷl(MDž`cBi%=8Q+ZGis;B^ad%. Fgը^C<?˳O1m#M_DSAjw [Lp6f?%cC`039b?U:3.70}`?JSӒ$fau`iU4bČUd6K힙$)yT 0Pq@rfd0ve1K)<>3)Kz^dmugl* Mq dbd7p(,Q I `ԆP;i~7]%>k?lXd6@F/Lu;J)|M$זh$^#FH^Ѱ2iI\Ђe9nIuD eV3Y+ݰaD4BёwOm لs$o:›&e FDWɼ^,hg3E5c+:BWF.+5aO^3@,QP١ 1"n FۨMNCfxĎd^jTqpX]Ņkck?%(([Y CbdXX;}+URy ah8(r'4,JiQ[mMe"ݕvl^8~4NEAx|&vv&.- oJ!3bBj +2iQJ$ti=ܦyc^ɫ iљ(jQyU,15?+]0lΠjG\Q"-(VzVqyrT0k:],f3ph:@?42pM=4[SzVlt׾~4V~-JzAjSXچ-G4֧r,so͟g`>Fc‭Bvpq^0坭 g.PpKt.v+ +۵&PE4(mTLH.imD !]|g AƲ RTcOtv %:xNA_+Fh4e]Q=%UW6afteSkvRV)7l w)F %PM]ONȄb[ \H(~>.v~ R:% %ЎCCS!5x0#2pfCR3Fбg/DsEF]:%tt.R ڜJ:ɍ ٵjJL϶Yi%|l h+N}Y55PR, 4f j;Rr9eL<;[h-sO'^Vz EMÂ>dCm:XɓA~b TF"~{ ]D]ITwfao}fei[ZTNߊgX T K|\E5j OEi}Mkkוۮ]ByDPJWr,їʝ.u\RNˬ$g# |ISEx+v ZQCo$+FY%;)ӭ7c:ݭ:UɘO4ǜe&IE'K\ˣf9[5dfKDn.i0XTQPL˸G7v{=]Qbd,~Q8є0 Kh|eebqĚټŵ8Q}vwƒux̨CN։^ r(_Ɍb8ϳI:Ԭ,)*::]8YM˖Pz~wk l#:|x%F V*Hq34Kn.d+%Aqֲd*!n}{ 3}&eDw y!ǂWLik| S CP?e/w8 kap..^#r4m[[JĽysJf`$Z5F#oog=B-י'q쳧 &nml/o5rt'g@_LNnK.u,oWmV,R1fn5UBNǵtA2,wuNK+H~.dhy-t3N]͟eϙ*==zSзğ4ldg fDJe %$|`M+Q=!],ʊTE즼P8jS6$&Ni9U. " ewӏLsdjBmCj8S@".vfLMmPGURavoNn34`2y 4m|т} >bqʞU!Edw[jx᧣6Bpy:P@bVnMye\.sX`ky[bnP.bM+M.?pD/ C C+^>O88"eY.S a@Ѥ/VtiCR%pAc"[ZWK T Sc7W0;~ F.shuZ\Mli,(!R .@A℅JM[6_(Q]nq.I! @@>% # GՊCcdP\ !^_wuj܁Xe@ =dODEbE午D3JpG!8=ͦs7n) e9U1yrqE|VFKQ{U/7M4giʹF 5|WuMw0ȓXK1*FCӬDR([F0msdq19,ɌM(sfW0|T`zfffyاdOlr.ޠgun0&dp-{a,EVw{'OfdzVCN tkMh%a82qm_QkزԢ@0f8 sGkŒ3kYC^,H($QinP3ladTQ8Xp/w@jT^4Ƶb4˷-ز7wE2낥siRRFsJG霡XRG꬏]xHsB<_ ɹNq{}NIPP1C%m5bӷoX2^YwT#l|27K<9Ns:@#J-_$5K'@A *gJ>^^C<nF_xo?<|Qw^4G{#JT΋)/+XftA|Ԣ}*.*m\9 w_p$?/}!a&$?':]xqmI b}ޗ/V Ekp]`7ZzdtJuqEWH@+d;SҘlJ# 77}^PdStJŀ5ӻ/Ͽ~C|zpϦ X~je2ov4<:N|B6Ll2֑jFLkHMjg80 3ʽz#,ٓ,qKz[!6>|e=Tj$cu3S gfQd欜U8#tU6r+/eb.$Q۵(uWeHm?[?S_9Ԛf̓țLj?f9*z۳+(jRP5F⢄xvP.M(*^kIAhFO.h60MaZTpN\F-jP>bp4BP8RE"?P\^p2Oz߿=5??^~x=pO>҃ƏBCǯ_r7nÃWt @G7rzp|zձi>||89P0{kPǥOGG/4rCCCTtBVJQ(Bo/E?$Yq~MMBh kH|yxwyJv>>x}p,Xy.E8ڇ9jRRb툒R9I@v\ P*Ɵ0?/b(9_&?a?œٳz ٷxS}j$ Я1{ǺJr*4 eTuex퀟ާ~o>fEm+J8e2wIgv7#Gh`FeN:S J yϵ;–x=\ALQ_KYqzmaýUڿ?|yuI[_'|'OIF_3x4m=z7i";5؂ϓ'/|zxgѣ;|{߶~ӑg;<ʭz_`U(ҥQRXH*}VrpПbLhj .m6lB LU> S"y:\ хonuCLT ImD7]fuݤ:Źz+gW g `G \%(UJв93\`M>ld+_ !}&*.% ݿ>F#LbU}w| IGECzR]=&aJQgi/7_mnOjJ{*{kl g^}c}]|ᤸOMg"|YC,"*8r*~돳G~,OQu[L~x5MyT%kXgc JJZ&"o#)HFjr/M/_ORŋ<)UsW9d#fb2 JCkiP/ r[~b$4UZGv.AmNץuF=8F/ٰHsn,ʡ"Bq2ʐ.G4 6jhtaCJ4ں5*MSǘ979HfXWS-uTuBIt["ڊ;]u"0*Ca8 .^e9@ao84>@m״2z9oRRuߐ=E2Mr=z^rU)]ozVo8^0>/X;>zt0 MD) +"OA]7Qӡ d lp\[IsiTT+fBǞX-X*%~Yn ū7fHi+mq@B8 n}c^oyuDŽ%Ӊ-&20o} ]̳4I0mvu7LpDyND4BK,]ow$1 c &}oBiÆ!LTP@>@΂ Gvw Ftejhl胊'O ~ϩ8Y@>8'%O^I?})kuh1%`ϋh, _OI欪^4!/:˒TO~1{ֈGd:_&o+ 24=S K[ `׉1;# E[K1gEg/;1t6]n|ktFGp{E&?nrw,&4 >\xX`+AG=2D P4o R:u+/]3,M'u<!m l{BèM5rA \u1#u-msۆO!0euCey%+3J<%⚀唿x>Zliu?!+"YĽʛ̜Ԫ#&Dk#[+ҳ7g=;~X!JHUʌx΀1V~Q"nQpڷ7`"::.YQGXd)QF`ZF Ix[3%',U5SJƪ0噕ArQ Qy!OrJ՚N|RWP#3s(g@HXp[2!EZӹq̤vQ@ҖVcM9R*;k]x iҩ#En[M(fVwhQutBA\MDWq!KqAӑy)Gg8uc*#sgyzA)5vk@5Ԡ ] .B翖2]D\ݑǻDù1&(|p*{DjۖK1P}zk=>TlUug0̔\Ӹ fϹQKn`FZq=:F;*gu2/N&I#<ID% /fťjy=mIPE`EאR /Digt؀?m>D{k?( Jo۬@mu_4M Lp !\J}> a<DM?p P-9=ϟ vm<<%R6k `J[!$W¥4/fudMC6[)ټVniFJUsv@VlʲK-_x7 Gǜ2fкk!mTjكx4>ز ,(T^9W @.-5?ڨڟ].Ww{飲MG.?N8۶8M31ڟQs!vȊ%}(ӎNPy*°;T dy$ z}ϓQp)LkU-wxt"Qb :N6 e#̌%va6oZ-\CRfloӹrSs^l&["5Gyr$Te3 )DQ8XPT2[RhlZ#x͏0RPg afamĹDL@82gbz9s&yw:fnLdgXJ0)IA0?ah@8&WlVOP&#a?ŜS EAGY&$fƱ04ۂ r1DvJõ,[UUӈ.9J"Gqq g<%bNx Lg%C,`&nU=؄S6mb2(mp5;m֦8x(@h sө\ԡVԔl]^Fx^ivM*jʊ皇ZnyҋfȽp`BlזvZ,X]S7ZlH034G#+6,*7jNF4N/p偠͋^DoM%8H{i&ܭR z{dT Y!3٣A,+{'y'wB (sL |2j[lB0~$ˎs/띥 Ɔp쑳t,]="5iOML֝1YLg 7e d}guD`n$Ur"UrlF_p3!\/g3F#< ٩8D?Ʀh@I-O(i^Uߙνzt^K~^SoVShgdLeH^+YI5"JB1b$һWOQ⇋1Q[?%`{$<ᕁZꖚ_PxQ=t}saEˡȼ۳,ew;uz'YSq-/gm@W>"xN+R1^z9MLQ~p)MNKuQQ ,Ky)}fjZk T.4WѺO|Iw 9Bsh3SV $23IwO!rpnŽfCO2БDcc<sWJ8olܙ,F݉M >DcW&bTBzN mrЧ׎">\#nㆉFBڎϣ,kDK'Wz˨1zPjw@ڧ=r~LN-u H# )%\}NFP.~LƳI^=%alD5ڟ,4ڒyCw A@lp4NJ mWַ$R>1hoƕOL$Rvb@IZ=jNNA1KlCQq9 V$,]sK@h؏5^&XmNع_@SGΡXK4~SCJU @ @)dn'oJd1 E1;1P:+ȟ@-z;;~$)erCjeȨnN!6JOf̰H:\ k ^ŝ <' F\#L9˅^wG+ n9I(4lrkR Sb&MݘbYG%pFKX}JcdXVL k#& 6PLt3VWQƼż]&\ $&"7 {+GD!0=e/ br6eDg0#rt*I` Tf7"Rh{"Qtp6e\#zd2 aV{|)^I5I+j(Owb=X>40Hk+22/D̟#-ZG1;*9`NQùbpm`JqarggśqLј Ll a݈\SKqE1iuj h𖝋>2e(o ARg@lUY7S[̀K=b 9'C"'!P5U64lmF6A<+c2`?ay]G /Ԙ #E=(1ΫEB>-F1r"0& 7gBVDA<'u-VpRf]XCHӌC`^!| eWf1 ?CeSSMU_$ ޑ[2ѻ;>XƖ3k9ƥNOq:+O\uhu8*Qӟ54:~"w.8z t.>YVZtB0SiA}Ww'B][3+GXYtBLcbС 95Is5@=||[9H(ԣr0cbi9乕G]Bt ;dl2`Rp`4r%=3=ÉPayyYgJךA$$lZNm!'Wo , fK]Ȕks&M|uY|Ǐ<` Jt.* >29d@_fqMOr²5(f+ ,|i UbCXPc;n5G=P4g$I{/lZrY-gd2Ϝ3DOk21ֺQVL܋hiYN4IiojE-i{^ FiPQx` kxj}'Y5ܴMu[mͼM,G MuF(s(إP"s \s-vɢR[®p5bt-.Pr@}<2 9nP1˦iȷDT% s RGRj +$Qw83LK,B^b XILL1! FpVL_R(E神xXȍ*;Uz ֥U*kwQ~ǯ+f`2Q2.mᖗZ=5|fƃkZ*=Nm\f/,{Dhz,%s8r OD9wxVJSꓨjgOtdZlDYe9Ӿ90Ve#Eo:p&2誵 M@=Ň&݆b=`~zl-x˽#؇0 }D̦eM}WdPkXv4l차 GK2d|+0htlg\⒨}hѝ]J5f+%7Ilb[G!4\3(: і(K{6KG+pGsYM9c}.^+̺Xw@< {]2 eQGV//׼ӜV;c_*$Um&ݡ ~5D5WVBGbQ9٪Y-j090Y8/U?Xx6]o;˨#@,2렧4f0 F OUb;sfRy斡J)LX7)f4wk {ڈEJ>{ ySLآwIH i=L>HAw1iO ِyK-BL7Է~U}@øFtĄT0zxU5%-'xw_jy,WU&&[\$\ƕd 86?`ՔYKW%Dc6lC\aT]Fz@eYF/8=ytv^~CjwrsfyY$?<1kT`8w^<8;lȍ1]&S<[9+I\?;mdž Tv@l@v3dG4MVwp>%/Њ JXg Bp^s4yҪ:\+o(DvYഓ|mV{qkoca]~y9H2059Juۑ]v_`5eaOKQq6HO:rܤ̒_ro~d&w}X^6sjh֮I\Uw dQ;j+jHsDu'"?4hE~9C'.M-PW7̌_.F4-5_Ep,SAhEDCGYd[=#>2(曛 50`UkM^X[f椸^TmɢW# ?8${H`Qf$_9=#'ڍfB12ɜDU@ ޑI?r QE(]HVI &AIqp e(*Y0)/gE @g: hO8Ͱ+mTu32T㭺s_ު$1ZU %vv6]ϩv DO~u+mV Lx)g%yM}LF(Hgtm.sKʊ!aBӁ]떱 H}o7NUlI_om f"X%}|جKjaQXw>e[| &h\89WWUOG; Ym:QUnV H){wh kʣ;G %qxf'Plp(5}wU<|ҎU|& 5fӓ\'Yor:_ID3UU%(?ϵ/ɤSZuJQiյ8Z]k֜(ӱ%9WW/:3S_K=s/Bcryv<JW5Fokj8R(4҉!fqO'E3=˜e>[ha9=vX~doKKĔ% wzA$|%0|bT(T :cn2'~@ G(wo[2 &B1!.- ]sN ؝iqh%tBYrlrriou [JKJt5+r*ExYI4CKd ah2f揶gF<ȁdqrΛ}4W~2q>Xۙ A9Hy~5|@I9h`9FGm4?Eڣ%ã觝ӿy#'|0k'=ʣGtg-thBhEw=Ax̰^pwv+ʀͮD0z̏ ]S՜Ʃ9'&ǿ{SGOŞgPgOs~՗}0w#js*gA~Cw̮&Tc 8!:y~jիT3 SҙRa~AC:س}6%_ӋHc 7*}_n_n}AtYI 6>9?Or U1ʺFQ5v[ܮNUM5W\˗ľN8j+WŐ+8r2"=HqPI G]IWFd:8L9N3r_s4WYIIH~ˌ4j` -71iR8 u@K ҁQ|;6~QCwWE9hPпvZmxL-~x0{ARwgtXVIJU"GcIDNm֖sPxajc#:Ѹ_D9n2t͕(pzRP"n^MhdNGRֱ9whQռf(z3O'@Jx}ϝm mbi؈O3JB/;pU“=嵊#M"ܘU(psNLZϓD4:$L(el4q)ټVA0dϜjIӢ"$gcy"AjQ X{yd_2\=NY~ŔAs6F|rfvk3]4>-,-+y8!ky b ###S(6lbB1nCQ:X)Ibfb>;}ٙqBD_yD;(YsA5>{9BK^J3iti(x ;#SOEMsP+vo vQN* ?ey/*$2KeU2Qr=Ų{mgp[Xc*'1BӛV0wyD8M[oZHd:Y2h0]qkעn Ť&Ј S֡QZ̍_Qg|#ewtN L>oѦkmX$ފ՞b̨ L\R>NJbtH-#Pݦc1|ɜҩ/잨MF~=TrlzǘdFf9E7__DYZ:AT'2fNP&t$k bG[P^u\`ĺKK쏳Et5ڴ ]tcľ:!;m:ǥFjNBDEdb}q\4@2{Mts)&d##אLUR-ɔA N13Rz5 e]r1fpT t>8MeRLgF[T bFONQK X뾽REDK87B A0&s&!zv1ĩ9%َ)ԭy<ƒa+"X~(2ZEG:UF!z9w=>!lG9'i,KpXu2sU[7p;kI1p%iۿPvDŞ{y'IP'tjՕN@;Q9rW4m&SDAY=wl ,F ڸ4_|:*@\DpM uX>Eb]+_ JzSL32Ty_ہ)FB}>dvt!vYWO:_!6NZ4uaB_YE}z>F8vV%ƻ"/龫nbr%OiUnL- pĭ#^p#ƷX+v6=WZҶ]^e)%{l&vMg@-飭&L(L/C Cm8ט-V te7)j?N$:`nT#k+!jy֛8{rZlk:J]!t@ޚ8pH5{۶ėm|Xe tiٍl|ʬhGi'1;8 v៨#mE5:ِ@ oDWVG#kQřd%?[ati?7HT+)<,S(\ sQQ rFf%P4җf0ad-f t&@?'HVtk-ŨlKv&V82%Ky@Όq2\uLbݫv{mG)Uw2(J~z r5JK3@+&Y? ,afG '4QZn%z4AA0%&Xo5BЦiA:T*VZڇtAK(2&; o"-!7<;m1V|3i^aiQ R( o0RnIy.l+9?vC[Fx2G+. DGU:A}] Ex<j,[KI:~s1Oy3dNC9gU!KY|J-DҦJӅɦ1 MÒyNlQޚи7BoxX2KPpOjh p(Jt7})"G'磄o/eÖѮbměp}G40.՝(W4~JLdlkC<{PlC2jIL.x(f %M_c\F1v9;G!ƵOPlO3B4,.~@E1,1PB/GTFmr21.6T's+TL#k"@ d5d&KH2F1ƨ 1v; 1}}G8+~ׁWU7e ƷP"r{)]s5sE%o)50%ٙF!Q7CߊbDrY:l%9r8Km65`W a\_|YDET&md.8vB]C@2ef*,WCC{2:5Q/Zi4"\3GAҮ0}xy^-\c9(̳L泒5,_>n,044eލ93~վF4EQJ]+eͲщTN\sΎՀ|rtibtBA;r#HaqdwN НC/ ѮL%ZӧIjÚp{ve*k4SIz>@.[$PȤȊ`/A?S! Jj{8nײ5 ]l6覬 >8_6@Ot}O$&P** wVgτXWV9_mGw~KVH*Kb+zp`mY=j?3 ޫVj=&M1M]U " d,, @C3!'eAS2b8Цo4 Axp xFYm$'q5{"-p4Ks xr\&/ U_s<ז.ji$ѕW$J]'7CziPE.TVe$,lceҖ1W U/ 쩼zVf,q%ҠpRc0+(m}@ vP\S?p׊;CRo)A˖lDj9,d$Ĭ_2R\Ǎ¤*"1VFd&5_\FL4pZ π`9p Ėwhd4kE:V1˦^+|L8P`wIR]BMfud<'MrЪu>T- tV^a:]VĒMlRePЭ0z \G>TROL$U-C0~2Լ)LR+߮^`6!c [ Ogײq_f@ιpTukGaA$ٲ|00H8 KP3Q3ҮCQbCoxA@ȭ9$AL 5rxx"(ay3!>PŶ0lnоgJtDS{]FAI]DNnG*:XVUɶt TP>Ab5޼,Sh/W!u ۫婕SZBc0޴R28*AOX!Z]/ُPԚ-p˹ IcU@E T,KJ1A8qBXHaB#KK% } }tN:)!v;'xģiqUf2qN!S%%Lp̙ 1 &i!=UZHTAӒ.U-K~@Yʎ8X{,'aL&^(P =^MFۑsHR2T)=7d=jЋTo\J"[d S x_&0M}T%s6 [-ns%Q7k 4foYrn6C6Do| %TM QSԥn֟uoS]~2IIt veN<ޚM{S?J-vu*G;/v,AȌ-F,ԎN^a (ؔ\B`)ۅ:pTH|2P<\$zgt;:+ P, mGtag}am?XB B3F'[sNs|cJyYN|7W&3"%AE?3j̓𙓢W/1]j{ rTW>]Rŵ*fD *izPf70izL}Yg'?~/Ϟӟt )lDA2@T󆙤M ks'w(NFQ }Ʈ/]nٔ2x׎M"L*1*|Q8jB[6ZsX^&\z9Lڸz ?U vPeyWoͿ =5,^5PJN\iW8f]zqyZa@œSN/>q鵈1.Ox$7s~:s◵a3Y;FqnSz;snoHO[lVi %?R|'KgO??{ݭ˄)2b'z\Ͻp3cU?PPsKm,!6㡾h&jkj:P9 '(FZ#ڈ}'WWVv)Xkq qA*Y hكaZG:F?.<4M(il7'j#ADٽ 56VuؠM<o8^Ye< tCK]3ˌ2b BYتp-_RCFi6ǦȎED H,YFcJ,=$/JLm0EMВ:Q;$}Cn7JWNR6'ahJlW^h/7XUwkwg0 nkѝ 9qG2ZSJJgtNES (a)"Źcð:N6st,t ƬZP^a`1 aAo%@~0 x7GIAE+SE1tH?5ira;xgbȅֺ[IcK7[kw6 OM^APŔ]4]]<D^0W.a`Vi "s\*Ue/7p\=N;6|0,*RN&SR{O&4Mdv 5F5$_C}ߤhlUu7U ׌a|BqUG<mlp5/ 'dBֈ-R(|GF*APP)UF|=SE]_+SDPQy ,uX̗77? e_*Uedق1qwJ_`pN a1OTR(,%yLmC(QT-Д9$iGwټ-CXQ3]H0 ߁ S*+O;e 9`#iws׸r ax6q\~!żU QGdvw l*Ő6o%o4maJLWjG 7,OJֵ@(C!>A# ̠i%)X+-mKKAeU]g)khZ0yw(G"Y إU(Y^`.6(Zj$[6?, 1n|>Ͳa,A4?6~ϔC6ַqn 5$c7N>,cQ7^%8V[FJ@XFTWZ|Q(T 44Z1~-У F煟Xq.@Z*qN಩F:CV6UXT✂)xnmɑAxgk?EAm艌\OQ&p3,YU}(ǣ4e g4Q/j*[peMoU 7#koWSC? ϗz QvM;f~C+iEٱTj_X@\Z-s"Xnʱ"h!QFnP:D{%lJ|VWuMIa_aMEP9X&pLA!̶ud3[0u7'hl;3rYZ3)VWհ-\4ͬ~vU2bYf4k9%-nD" ДuǮdlWBzb_\(ܵM+1j~PT-Ca/yяjkzb}`U*+b²D hO7q4M, -eqLZ>0ְֈL?7o! \Ꮠ,m%]bD>5S6+DQu,ك!Nw8<.?ğYwF9mupEqFxKs"֟DJ$:[ I]shl #ꇭݪh w˄'fR.v%}p`_ۖʪ\Fl,CW:y'h+Yj)?B ˝4n1CaP:~x?4P( *IxK $s<8`v(hytXu}&Et2z% #KPYᰘQcit=PfeqycKwx[cKw3eAC3fXK oɤ뼅x7-T|1|RU?m>wF$޸vK>32w -GU0\&Y^ZlRrOg=&LU_y|G\i㿭?_y_->ɓO?l]KE2'UGarNmP!Rc%Vr6#M'Iqnؕ._M{%Ej璽hM(V)B)mF!v.L`@%T<󔞫ީ%f= ӭS>@eIl8$oU3(}ig$v#/3"Z)*d|S̬K HwZ:: X 0#rAG,~JkeuX.ʀ9*5:Zd F]2.$I+]LDb= K>ùCi>ڑ=.ȅڂQ]9J5r \B$gOKO}Yb Np#'B}9,,5FsՅ,!/8^owSr:SxҎq)vz?wҖ?'1Ip{\ڑaDIXKV ֹ|o'cؠpX>p:_o=o'G-&|iwJXyä%Wq#l"T8r 9G˸}X2VذTGlaCO(9k̰RSz@[.3vhF"/o[#[@C0A|dƁ&arGQ}d>bvzJWOn" @ul?,}{9ʽ $ҫ܃ltS I{+D}oN0:# qG MI HwYbnzo^SyˈjKFXvWNHP۾g<ܔ^GG*% ]ps;D0Ľ$?V/CH]v 6#tQN/䒜Wϟ5Xq]74ihk3#`=Ԃ3*W ^21e}̔s~q_ 0x+] kA!5?X c@pǩ`9z|<C#>-lT@c=O'ߏsX|%kק Hff$ȓ*0}|GEny\zE:'>OdqTd Q/J _ kQ)IO>+=T"=^ĜK}#Po`4-@5% #` s@r/g#^h"T8JfNet"*"EIX NNB]hOԡLuԁr?lBr8jkOۛe̊&!)&Վ\Tٿ,Ϫ;-O~󸱬SNQTqPbK:ȝؐS~(ԶBB=ڥ|m΃7gRM5Q*mIK?yc";bB8JT"JvpAz*-Z׋Rn;d?Nz{i1Ǵ!Q ǿ@SSv~t;}]|-OjRvǭW}q{;\0?>{8#WB?_1?}a"hAp#FF`l ˶f*aިQϼ %DztM{UrWO yAX$wwmٳ'>m'Onnl'Pc `h2ϲY]E|E4c 'Goz;''i |r`tOzTqXY9е<_&~;O~¦ޜ?{/-ോO~"'Ɗ10PϞ TwNspp|Ou9p='U8EG|,'8b@vY8Ot ģҢ՛Ka},D>O`S*&֠q2,M#Ha'nYŏuU 4k j[+P2ڌ-Γh\.b^$YNuJIQʒ}M7็Gy,W<IyiQ, KDY{q b^PI@-ƻ/Ϻ[,6FO2,O5&50vz;nyM\3YOyy?oEbɓ/m>~:},/߉Sk6 Jz\R r(pc҄w-+C6NP$\7UWLJǥ w3m-']I7VQ2Tk+JL0 Ѭ GVL3 ںѦ+%#8kI٢U=<8N뵑]I cI۝O(80Ւ^`YWJϧB% hp4sʭfٴnBZ=1UI;&-86LdR TW6~z𻃽*76>p"Dq;΀y8\ޘ$yҿ@d/hVܤfkec&h`ѷۑXm=j лT;g1Pwwj; #)Tx$Yg;f#3 F6 )}V|VvK""H>>j/m1o4L"b,ĸi:H=M_;|ͨW(^jmWRUQD{Gj 'Mje@mv|IXz; e7EO/-)@+1KqN"6B}$7+ѕ+H<t" N]9ի/,@(5)߾~yqrtt/Bm|>\`ԋgQ =˦tw2dO& )8똂V}Ah-cmVăKL4ڰw3*P bwX mH<K,6N,9 :Pk!|m ߤQnDYP80`+p@VUyxM';K) l>b# }I 6s_ _&Xa6K}B`VCɛ(H04Hl 4qC%8!3B@-unf&o4OlRZ0Y\<+0=e gT evމ֚bHsb ^jxj[kGeAIJ [>2 2!5k .dq~fcym{E7#eKWAVת"ɲլpz3?F>&[/`5>[COyFV3zEPI2[XdCF?Qo}T7>da .@i$ysg|Ǽ#Xp'8Ib~nq%FD `N ơS,[aXCXlw"`EjYtMdlQ4%n "X#.O"#|uYJvdA֢"y3ޠ]5É7lB(,I-K&@xEh.c p Jb0%hg&B\ ɠPϱ0R# :Q-KSO\veYk-dxFWG?,_).%'^M[ܭ |'w% /zEY} df!W2e- #PGcu"}hI >@b8,~@)<3w7QZ]P#Υ[UO<o~Mŵm]0X?n6j!֊ VZOaWdʙxeqO-K:IN {|lGqOV'QvU[̺. Yb0h^tz9jm3[.S CMfhy@?βY2~9j%%a3`Z֢tt=r&uI㣊z|ht]MF|[䞐xM&e2]y8\-v 1P2$; KYRG%m3h '& 2H;otbߋHf{lNu o7xw '*cU]j%Cp$ 8ݲzUy+R~ބLoXC#goTjYy|HT,0@_eZ d֍φ[L>+vzZi2it~RtVPMiitKxlCWEMkC#jaMX%0&? Xi=uqg| SpdotJ@dwXvt5qմp$#ݣ÷{7 kt͢owtgnix/l{$1bIR;J:>|{spspJfn&{/RaC}G>} ,3G,_ﲴ4dr)g`$i.XԨ~imY\%*\c2!L9(RQ!F,2&e-`.!ZZbFn"ϳ()JטV :bq~.XChNE#lCv#f> }\/*i_wVh>9b[g OZ]XeK\և,T0+l}DK#բh@K 75 mocXx^{p}FJjx28 IbødxU$dzXչؐRɹ@#\Zb偅ܠWNFM;TlѭJ<$#&AEY1WCfGRG WnrMلNlQVr;?+vN]]}GWW^*.47}1&9 ¤^vl\)-K+meQ1^j|ouH\=H hREV UV^+N~n@L*,LL`!*{,`Xw#ƈXi=c 4~;źѾ_E :͇R j '; nB.kC ;lBGA2_=`2S yLF"HX@&m]<(!Y u!;?/P:uG;/{G'o/^1/žA`\hm{Qc,cjYE0u͖a]uS׺s"ܡjshX%&ꃊ0ucJ*WktK`ߝ`HM\7%uYK֏SA{=ojX|fἺOJBQDou D#,'B[YHF`va,c@\X,-em-(!A_8鷼 4=.k3ڸj1ϋYB;spj"8"<ٞO} tˍ&=&B>J1.mwt1,ՏQ2btlN$+։yTvҝ1:i`phleګ̞.[5D>UhbDgWN4 Z{U y:OVh}\QkgI k❕4BTu7VxlCK` ݷh$cϥm+=~obGYv56RL3f&6˔}^pHa>Ph. 96LiQ^RƄݼEc0n2xuN ;~v _W%mKcGI']򄭇 E"E-Nq6 Sv'(XAT"*l,?Ȫ WJƒ%Bݒ~nv;MD^&=֋0칧R2oeX0 ;JrWۜޫՀ2.ּ:띜Q`|n9qMޫBu]zHˡ<'줍y_9:>];$, O^eJJECw-﹄?0Ɇ opUQ}^^j M[n~:z.$Y =t|tgj@PNNٽ+I:ـ0t0XYYiw_TF#2j=JX$``dU9Ν'V$;:dv*unz$xJ VHspChjhz&LAhΰ͛ uAUJPKᷡ T.iM+ѭR(TLΈx#Ճ-rG,$.k| ½ZfEP?U sjWX0{pwe4ʗw%a$*`}8qsHn:P[iVVG1v[+wI'8ŶGi z`47m^z( rQV˻&+fa3U,L/5Uek1Fyr%囎-_K=7KMР`5oGҀD͵Ose OuP P-'Ө7ovzo27llWh*%q~Gyp9@bDJ<  9 CnNa>s4U{|)]_(<%8i,nl94[=cH15PCA:WQQc OzaXXlƮX5h3t{q:vFgQOfJ央.q6rm ok%˳=#{MHDžt4XbTm Ru\fiQyO%!k #Cۤw#\ #c8d;>aZGE &k1!'kX9;ԇi[r)"*&poLVkbA ̫;q"$A*y|"Lz$Im<}`54 z001 ,NGtX~ %KMԥg7+Dj@F:Fݎ[h!nly{-Vgɰr^8'Y$Pe,LzEb#m0ݫ@e3-m7k'^bLhܚLW:^uy JN52xa) .Lme,C%z0fX XE($"{B2mNjA=؜Dˋ1+qNJhmƫQ6@Ya(yjUyQJc+S .x}K( Ӄ;Oj@_0HћVo$ Yhu,)a\ IB0%l4Q@Hm龄Ojh^`xC XLsn,!޴{\}U>MbacyʳCBt;:ULş ;$qUońi0 / "G]%;7佂r̦?^wUţq|P_$iҀv/3ȄJ˰hP,ffVәSc俟sTXow=33rUu+:\^[tƄ/ 6tc5% p@27;/^=;{@(e[) O~VԙpY;Umj/ôS^v?\ћћVfoc]0??c):n]͍=hy[jy[jy[jW:qUK ,՚,z}n߃on$M ޲VB*WQOl- 7r|rSu o낾y0+(JeS;51]n& C ߼wqNCqheإ̩4/m9n:=|Cd?J@B|Օyba| *eيF`6W> > hnoCwnZE{?aA sCt4[toWcTă]ޮ,K}cL6ĊmVw0UmYiқ?_\슖K}#7.ImOݍOϞ|1>j MN42NyLęN`HpRrS_$U9\Zҍɕ-RQ:푵BG__їݽE٨t)MeQJw@(t`G;Iʼz ^'y; 2c*vB۹Lꮍ_W͏{^%HR/g217.ǖbT_E7tsЎ;_#D[b[Fu|l,5yU` ' ( Fbn*.\;|i~8=9_NHŃ.~MYj$<)s9EżOu+CEp1~|/}~Y=@wxs"[yj] t:'gFeMw tHt_)[&xmHwSGRb6EFͬEInMfeo =YTiLd_b(>kbPޗ7g%m9 E,5@+F==FdA7waK㽵P0-_|W_)à^@q#G9 9AJk(FQ+S S~ #ʛS$x Vo(a<*2}lXt>1C6@pQFu؉G-gVR'/_$yRxjPb *jc㖍KgNzV<ʠFh O\D[]3auwK)ȸ^$a L*l;}1l(aI='g}[sb:9" `C T Z1qpw\^ .NQKaiDb8$Mk^<]".f2 /^"*Ro*yk0Lu]bVaJ{³LDP0ѣ<0>+UzL4QjbRV^jDeA$I[N=N*6}طqb!kCY&dZkB(?Qb;U *;d5H5ݓ㤛@ ri[/I*:P!WمLuXUGFbiA ,#{y'̲)3ҩ/_|x4mYlYhiU0Lj`2UAI<-LMJtWw}Zg$H0HyQ-(aK apE|UH.;ޭY~obZ(q O*kmyb+b_JC"M*QD <}8"lZh]@Cit|SDT)4x-o EmqaGS2La @IC@၌$^pU;ߪǰM&G_ڐw,&Y;j)۰D:,Gq>H-8JS*/TtvNg)5gbvrfg=ݰ1h\R_g$g;hCQest;!U9O)uX^{1@XQR~*57\,@8!Dǵ7HhPDh?o5ulSEy™#k[>nq 67j{R(ɬJl1~ +0'P*W$F_B.1ܑ=aB "D8PLPZ9I ,T:;٪uD*]RӀ_0d1R:qnMiG(ΰuH FLpF[P hf0$GV3Ũ-I !=Q]'ߏmZi]V)?W\& Sj}~ _f[ⶤ r- 49Qփ.grזʥoDYiQJ/L@~M|&ΨP9oh"jBqWfu]$C7FLvRBLǧ=/7 ۾ ˚'g* +h{c.)sZN0g6Ek,TS$k >񡩻.ݐ$^U? cyvٓJZY1 Ʋb) Uic-]Y\za4GC<}0·j(곅ʹv('Ya&5!M5pD* `W5L 6s4dڎ `@fKlErR˪ )/dv0pV~szt㤱!V 2M@}gLp Tw ͚VG1m\J>fxk:OigNUsF= 7 ޾mdrƈ GQPt+.5א(c^>L~?0su?jd&=R2 1xik{j^88e~"qsf 'h5UƓeVGKu"E$BR)W&AKЮmAcu?9 P-uG/0L^YzqZmPFg99'6B@.M/v~`-DUb1dL洂Z2)%;Y ÝOݰ~"3[o s$qMxKXsr7,ߵ@Al3 f_=KSڇ$K,EeGoVa0 1.pأ㐌p"Oh5D0^gw ێ2-}dG՘`Z]% UWt\ i5;LsdXs 01WU W0`N|0JɼBJm (MnsV!* N?۫.bń˜nKe8z03&ZIXu۠uK,R+"OT-&(;{nOG3]{G!W$zᛞ߶K\IzцIMSvE>ۆ};t[Q*uuI)_7p\>u!OӦIB<lTc0HVm|k{o;rNJYɮKi/$ˢ4ȏ:6c*MCHCܡOݥ)ז/#A ~x{[0\C)]*u5el \;W(pVͱC*^Auf < t|ȓ_]"*Qoh }'G̺"+4>2u ѼNR-JqfV(o|-8>1< 5mb9ZNdD2Or$bx*L9(rJ+ &nzda1/m5ﭨ_HtpMNi6\fn&%5K~G|2fT%(5CF?Kp ;}Ҫm'r[WCjkL'+oDwQ-}R|F3EHg`A"6b-r4|ڊ}?u)Aڪ5;TA{PUFH:lWh#8,,,{;RZ 5y=GVr FTO.e׌j2Tc,+KK_ˮ]:f|{+xЦAwvK,[à̰K?k/7y (T$ʃ"8e4DU#i&B~Hnځ,gV]&Tv~f鷁H Bԣ_;WzK6B[*rS}f 8^\dr.#dΑpyjg'ILPPyS a;D^#Pޮ`k+nb .S*qraհxÖaek4ŸYƜQ~{gA\b~&S~rgnى:8EhS6+JLxLl&DN^:y͊悲2#zm\d4+k^ 8XqD gݭеtyہ^cf~a4&Л9|4XE(%Ml-7NG`I ֧} w]2 JAn*hH5sUڶ:R=% F~<BIVRe@MOV4;M(eEl*=2'oI 8^ڭKhMx4e@%Ѐ&'uVxk ׊t'(!R& ` 1J.ΉM@ju*3;Y9{' 7a~3oq  C]i[?$e]:Y`)Ī̂ifݸٲV ]bIe{"cIkwOFg1$ѽ@b<4飥wS27R`;dp^8֗«x9o [[;g0bB40<Ё@ H vKT͑DEf𮏉3֖:PC~1X|:B\mEmVv+/3m \'6.#T ]\ݔC*/}.M11-[e^Wt3._CxcV6Ǯibp݀ɖ_ebWT"Ű,#כaySxAYZQ-sr(}(ib@ j,/vePÚ}'bA?^W%q:,*DgŝNl]R_q* ѵO:K~ҝv:QJ`&Hj`|oV)pS滮쨹r䪡J{Ίpdxa_`(f@( 6%UFgcƨe'\LR0BgArVUr1WMfyz|tTM^:ʿKTg%phzƶΛ;8 PR7UHM0L2IÞ< nGV ylgfT7Y>*!#Z4/f1@ mj@K%;KN*%Hh`ϳ6D։7I~Oxh![{-jc7#9m= 8v!<2Bifˆ<kQp [If0B܊+\m,fWAv>~@x|EK}\ KÈ3\U/8ey^/g.<mB"R%vE4z^,kG]\"*g;Dv`4qVB"VϤDh|-\yaC)E(ø˓jn0F,z 5bdi= sjjIiݻMKvZ:I;S ֈTSB%<{. x}dB= PR6:|LF|EbRvZZ%ϷS.Z1>նt_J(E(F(UKpO CUnj Ky.K׳pYш19@'W~8adV6Y'9]2,` ^{L~Fh:祪*)צ$,j/npxHsppVi]8--6hQMDH} ߪl y{Yq)wB1;FZ^uSK*bɓX;j¬ԮXB@9y<&ZV0\]8X@MfŜst>Ie?-x@! A1b`WTpԝd#&0%槉0sÒ -pXSWG+;) O|H@x 6YĒ2/jQv@[CJj"o%Xy.jLU {TJP~"7JR 3`C&EŜS[vuI4/_dw_b+Ӧg6!SK$ 8Ue4Ig*f-j;{7ܸ^g ;w̋1մ ' Iw L ]Z2.zWwz<+S -(bqsvAK'F7͊jj fع \sSTH'ᔞ(R7_F'prì]K&)3gyWg^a!nHh xIL"J,(8-/P(=e``SX D s |)xxwGߢGG!;JZ!=FlɵJWisêU1&U,tSRXJܲL(O;օ2J>a TÉ z"B8&*xgU1ۜGSqACP$*cBhMv{< *#K+6U+ʪVcBg niV-S:'5+l_noK޳bmA]246Z $L5ζ$P)ucb Imk_άťhCQf8wm- Р#EI` EJH>k\ ͒:͈/v,U1kڲ`s,+ QC}̓nz鵱`'5+E~7se6W0E,3|;x+1H v\)Ho"is_WGpt-*,}(.1ehOH$@0Dv#ۢT[OfW,p^p nc%*ARYC]חOd6̤pW=R#XwyDw:]> /{̥St [)P 4Yϊ*.؝ * 1oơl}u Y F zl1KwD<8_wrlc޳;;HV/MЦjr ,} Fp,EO?h+bYAkܓH*kyŨ3KP c:Z(WL7>MGrB/ JKknlpItLX;KJV,?nҡhN63r&g%l2Ep/BPa}Ppfy<) gʋ9@$M@ h=}0%يs5Nm-x>5%b;ФrV}7vZ$jFI'B~.Z=jc[ 58c u` h[ɹLqHGv,#чUiȷW1xlsW)'&=s3-e Ysدܺ8H)n!TE(y4A*'RhG ^Z9'wb)l91F ILُ<`'L5rYmjZĨQ,,NE'nloF66Ӎ#|v7v>>dhg煒lS[ZDf@6aOiXf|1s#LjyQT(^(fAD9#YB_QЊ־}l(MǴ=Tkq`EEt2K͋tvyVEx,6nf""H2{ @ľ$5Yr; 'P\BdI]rŔt--FѴk-m(xBzSNЛ+nt }FM(l9Wd~]Ug-8xs%~Xb]疪'©Z_=2lŁѩr. {'q?Yv'9vvzOEUaڬ2/! (ɩ$pY8Z ;|.` *ʯyn/Ef|Ca_/{q%ɍ9d BU*"A@-OM?1{ ?W/NH#X9"6 vs4£7+bV2jfx5b5*ăNg]E`ArVCEHɓ*pn"/jomܱ^"s;NNYaߣG&/I̋JܞLIQ ]ʆF0,|؋*EҔ+@y0w 2ؾ)0&#ObH$ՂR%,XaPA%š3V360< F;DݡWÅűĪl5m!haeY,-.n;S0ڔBtXa֩\}2pfTCmWTòGO,)@ר84  |cSτ|,b-yxd5Px5(nRm9Jb~~R[6kL"!ۈP3qފ`1Īb^Cf#:t[]h5_ulPrv[InP]Vn)/.)m)|aL$9@3p&#&mGy<{γ@n;zcu%̢}_rH%JLB[%TtkSڅ[Ԏh-:xYbESe:P{n%VC bFnbzZ5ўͪ P=-XLO}Nv nV58ڒ\h%oQGGܑC'XSBLlcg^|L!9vfAX!5RzS{$ǣKCWΔe:k6nX[a | T_R%3+:uȷO^$XI|eTΩ\Se|bx=kOkJE44fpqx.YɣMYkOGI~Z~xﶔ5=}PEI5z1#"`jhŠ8G!7_m>9Κ`e|]L&-tw n%9r]+./ؠ*$&& miod{Ezr,*f9 a33͝w߇1Q;Z) nV Bɟp[Ơ}6bKnvtspbHDO[Kw&~O3窄Ex-RDN.LPpCl OUd{': J3^lVD/O{z' kÛm5'5vIڣ wuҲsk޵neIP/ug9İ4( {1b V/\2q$XF:XX=RK4+E߳E~qL5hL|+$brwSXm]{=CĄGߣ$.&,%DG~{f޾[f5}ZWQ<1~jmn.lsc6j6 mY\Teicl!%BJmE PgXR>C}ӰObUlL]VT*UP1߇mDkubvcHx]j2ᮮI`^!8BŶXKY'r)pGׅ1f(Ӊo\ ĒEyׁsɃ*dxMQpoδn?G΅r- cĠht}Q8<qX8g+` hxIigmtUy#ʿ=C}vfq5Qnp-glZ}OI>]zZiHE[z?bLfiP1xBN=ƈO7M۷%pƞ/goI aXd j_KMk|,U(qDͬ+3>]0_w~|b\뇟Y~xP9MYx#U{ :|>X}J+f:K~Nq{:˼<*גQY8[28jږm/@5K^gIKJ+@ Eޒwo#%{^K*d2[,7ndE{E|4tVk(?}I1М~ˁܡRK*ٶy뢥\pCP?Q, [۔*ܽ KW:Khnl uhtg2 Բ`(d#8O 01O7*D@~͚ (CtM-x0vfZ b!샵.ȊbF_ Ge+j|Ӡ^wo nx,]HJH ^(a2 y%t`6G*0kRVSX ,Wφw.pMLQ3D7f~̑:&7pJPhUgJ(2uù2%\҂E7-4iC{jlP&|I~0)(ǓY:($tLR`QwcD8I>O"r [8[A`,ݳۊfq;GqfLg 6oTy ~~oqX;e-ïw*db 9gBؼ׆*. ?MKUV7V(̇TQ;ѪFU ތ 2].zsrvÏE7k:r2 l6*=2Pdtr^GuE`:9>VsY-M^}qWW,v=΍ <̲fKq%_7c;-w\=NyJm Og /-O5*%°1WBsgGw=\]IFE'̲:vZp#w"80 GYЩPzkqO9SsY捥`tXP; /íz8vQo/Ӂ;:C(0ھ@F bA>zĪYjNJpdW'ђoVW`L0j,X*܌wnCAOl& sءsϞ}{ӽÝ8w[ O:("=.0V ̃NnaA1/.)#]RP e1eӓ@_" =sqaJp24SxQ:Ng-R`WN&i2$&i.ӡDӱ݆ vТ:Q9nc DKUp4$JT` " /t[F .]PIɚ8`Oaĕxǁð >UՈ ׆a1؍rVn)Ge93`>IۂҎ_26m* f/wJE~JVʙ <,$?B\[ ؜N~ЬXh8qj6N XĹ2A;N(q pNԼReµ|mHj6ho[Z<(my+qBB< MrsΔ껨nQIh7":OrS?ZG%Xt?? \DS;EaOj cgh ,{X97&x9ź*Q P߫[U`e~mcQHBRWVI ŕL?۠5X;,r$_=XgK /ա¿^jA{ ZF_a)/ @WB7v(F u8V#T"rѬ!&ӉVv*W8N9NRmIFq!?^GlzP|ȿ*ݠeﱷqz]^r,4B6*Κ(V_Ÿi)_,#GqmQ;f"DKw!r;TJ'^2!UU<*ll;O֚O_S PZU2**w9/ ![2QY*[XoUGDr%ܶ mk[0*gɕ`d0r6j 4h&ڝ@ȱ{1"_7q{hDr1t[֪n 뙣):^Ym#pT56 s-7o psHwgeod0+{,t|bK}F[)w1QFW Ggnz 0TJ>{ٓSht[\U6;t-+/6\D֒g^3ԀHj#j4/%*+wF]B\h(܊ O+9 &n tl :C>dPva:?j!3 ܥ0] Es&m+6~rt@nF7؇Ӱ-M 7/^ gmn5,h!5F Jl)m8wIe]zuYL}_vu WQCmvRAq?hC$`ь߮F*G#[v@0o/Ɨ=K 2K&h0_CUFS!L[C[}TK}x[ Y!X:Vl0I*DCA|˦&~z* ia& .矕Qi[% )2 HeBX k*pǐT~},+V\ *[,Tk ؅wQg :k#X;Q%QOOӓ 'xHDǘV2@=@aг G kB^2G鹍|9Wְp`X0 ]@ȧi镏Pea>Ew9V3dfKW.KƂ"!~*t`[$xԖEڍj_V5PH[x(#G,j_',0Fg wΤe0i[麧`vwT/*'Jyok(M1UFh47(=8h$}t@q+Ol˥>B܅F0/;[jĸ꿺q`T Z8A8si^ݸlջnV2y(Bhc*i(ƛIaE1v\,׍;'h3Al\PQSfq͸}Uo8̞bg/]І Hg9Bloy¤0*3O#yw*XCಔ eCfђh5If9jr>y۠mu)JFIaȋNBn'd*!4yzAzq[qoYY@K헠`T{n |4:>j~VV?QN1SڿwWl]őwL-a3,4[g[[ykxzdt"e z'&i;ۀtzBU7*{aprj3.NB,]>]A %|o ʒBCݩ;LPV(xԃk 0_ǂR /Ĥ&JcNwW~4]n[ FZ!-{%i ÂiZ /yr?2ܪ>}iiʟٞܬ:si1u @ջI E\Su[;} aO)#4SJͧSĪgYB'aVА"k"VSUE`0CR4pc9&XF]˂ܧFQReXYU=+>B_cUjp52¿?CVRO I}hF'xY4lat4|XIW/񯆵IS QaX=~v\{{AέE^:*^~T K\1Y;hn{7KYͲ+=X05fp<_$0BG$jϏXjsrb@߲ҼVZ#&x5 BdkXDm ! KV;4*L^kN-S~WRF=Y0cLX;*N$r뙕Ǒr:QTyM",CK=_Y Y8V&'8T>J<m[L顉c;u ?Y[ia4Dn?9#mw{;{[R|q߄c7ۡfoׇG_ԫ1xD$ޕ KtkE$sdNa?NE:FVܮM7,@hGMj*64mr -ٛTke-bϸc)WTc44G 5+ɽ.a݋dR$ZػQ3d\|m]A %k0&J`ȚM֊ `m_|>("mNQ5ܗh0Rw 'בʂe'ɰOYP4C.G  Ì}yLxOwqyf,Zt^^`ܞhNcu36C,WmyUo|^~v4֥GIUrDm)m3})&Ԅ:̡H( c0Ӽ*vKaWWYfgkݍNw( &5LpqK־QBˍȔR,7 gJWC3.DZ,]1J?+B8="%6 j!26*b; v"VCumRg,=/ DOz` |JY\RMڦI2mE8Ѥvi6)p ơʖe $gޢ& ӼkT0G\cUUUobp40 ы65Rf*N'?󱡑<%ױh8-cMj^}!1tP͞:x U2U)ZзhŎvE$30| _؆|JR`1+T,ܣb'w"V(_KwB{/''Mt3%~+$4:swnrƝ95?汈C0l(OEWK4v26[pI"կјb'i 58TnQ 鷴=".z`4 &ϲ,-c]pN`8F>gdH 7a$ɐ6d4@Ewkzw+ª$g Щܗ3n KIJ@%>,,9O'PVId0Lp|FlEX$37aOdxK(~.Q"㚮MiQ3j+MmF2!SU<0gǰ՛R/O.( w~&f46lwI(N4ÍRbZ B;K}OW8|Oo>׷(]&-czx+JEQjM)U&m0lFqdzU孖ՌIZO20a<-Ƌf"qG%.o% N  n͑W쨨 <> )6@s "Z8ff|-b1ܞ͠10\۶V[=RpDzXnZ;:~E%5ZG`!,7#VP *C)n(^Ds2RvYdeMJ[$盐A &oQӿ\;1"jZF2F=A("8ͬLgLzFB@RsU." -0,OFU'Lyh= 3,)] ު@굧;'T`'q˷-)+cg Z\1A1w$H̶"RVsB%D4o[ E%Z<A'SXHhkAjarba@\+fw(pFpEJPFѡ)ٔJZGJy)G༕E<"1|0I~oޠIo}G#mgs^Wn)D磘iHu#/t_\JNV*G%Rby!: 6at읝U3 LKרj]<|hgePn.g;g+lKWԨ0,5XƜ_4h.uttQP]SK9l3_,yyJ}= |g__t X$?,v?y6 U4\_:2 u"`rGw;1$7ޚ v\eLVqT"(2V$e'iLxN˵ , J k)}bչc,/'R8a 48+%uF!(I1mUc'eֵP_KKU1ț-+P5}/^(t^:n0@vo' IHy/ыWw@'td5ïKc-qpᤣQ2L9Xm&NJu#2 EPA %1㸺S.7F#Dy螈;ekmABA24GUjU9}RR"cl} _n`[IݣHUg}-ns!>.Dz;)Ǭ#6|K|aG~|S G><BtvC7p %VDX8)0:5)Nu%)_Ch@lJ}@b,Ty0=G2})Df*.C+p] չz' "\ױ䙲( LKS(4JbKO>yOv?Үޑ9> i.1eRXn9ݧx$y<]\u߷rr=ӟ~~oݕS\;OW+/'K _y8?}+)<+s?_@g?WN9[YRBU s3ٓ?G?ZXm8_c5"36&yԕrW^`=@-zͰ޾_'w;sޞ`7+6p0RU[ZRZģ||4 z1L/RU{* .}u7;L_lOeQFUP7RJu\ɗYnU|\*^H{YUqsTLjk~f$?>+z<gaк>1 <ұTzJ(:%}8ROB03kGx +B?194Mt'?݊Wqю6f݋ |!)EE-E? ޥ>}ޥ>}swǓpixSQ~tׯw_R0\.RLQ<Yo ^rˣ ||Oq'O}p\{GԵd~yB/Ð?Azyp\[QSVo4> }o>o_/o_pã`.W4ǧǧa<>e<> )ilgga<>c<> YxC >a7r4 >zMe6NBYH+D}ҰhsE~=U;?q~|wru|\G?:pg$, ҎЖMћ.F9q-A9?<^8 {0'eNAx́Hip1u4/*:zt#x9{xS]ALȩ_ | 0/+ cc4X/w///v A(9$k>ka߿"f>'9h[qބ {̞XS Uy}&Fo#ȱX| p3z:iG*>~+W"oO ӊ/gA6qL4H ~f \jm SJr1$q<(( RcbNmjX`G:\&hI,v41R3QNx;l:ףt4],<$~D!xWb`KU*b}-U Un޷a(sidU|{{t|w,8\X)|PWƁ:eA-\BBb6L,lØ0=]".f+)ړc|"w%v: . C`6P?)u1$iџ %hv"eU|`^\JM}J{uNvpɄgR3eSP(lx 1S>b(:>iB݄GLn/di(`$&V-` 89eg$X$Cg'_G sfW dsDk:ހCopo_q7&wc +>PZEF֎RY={޾QP54m^]*6C~bx_;=_o[\[ثh} ͧX%n%żv:|Ĭfze=lxwvnf58ߊTD^et鳢s{8GK~1mMj;uZlɛ&DZ?{cbjكrm?q݆=?Vj PP57y6=RLDF Y ӌ3mV~*!.ƢMXփ2fBwk8,]NqvC/.Ot<(=1 u~'[ K䔎L7I1[[ZWXïqK(h0>%4MyI'}1T FnAlej$:X9/Se-)SԩRTp`Xz^IrC꫒ʪe)"J-,|S{GMWIîM*:nS?#`9Yde(r0,f{P/@t#$ WɾUi*#oW2%qzGKx1ҫpRi+.SE@Y*#/W3Tߙ.JDP':Y6ܕY5TY˵ ,-霤Roؿmb)؝dtjV )/Uh9/xb}?~;)+ZTRu JB\ OWd`)C^^b/rIT:<5,[098=~v6V_X lvOƺf P v6Nkz EwC$#gwX3liߎ  &Zyc|oa R=ƊZu(|>A&OV+HV86GBw\E[hCJ)6zaJ ctVW`qF>2qTēD”6OѼbaBugež*L)RMxclڤF]Lw>@|R=u|5]LX_jT*lA7$ՄL `ƖEqDUBE/̡BfSOKVtF})_Ľۮڧ+e(Zq#auX=ɢT|mr`,%? ֝!nz|s* (Y"f /HAi+0qb H0x7.Nx( 7f=q%-qԼh 5LW$yIŐl^OR2%TUIci|Dȱa󡪧ʅ?t#CE|0hrř:.}87*0P`\;:HI5Џ mgnFnHѪ5>fҥ|e뿻}ZxSyyO'_$k CltI dN'X3 =䍀+uH@=rpH&HqöOFMʔY~6\=3K )l(,#Iոo$%.Zv "t5 ݶh-dIN |Hrנ J䣃A Inmq8g;n8Quc$)ޑ_aܟr?_d tYglD4ȓۙQ"` %~Wo-47wE?x,8kRaA٘XUDɄ16Q^9"0gcQ7+GU}2'6+ }KJ6(3vrA0=Nu-ƒQ:` x4`"C@fI$cX{|1GkJF)eWOT7A`xH)0kI_ X:R9 uq e&BTd?JkUJiKGcGI;~&!MSޠnտ5`>D^ؘT%Ye`Sl:R%3cFyn9 V5?v FvBJsщܜ[Tc@81pwt&lAų:ƌ[4: 1gң P!M[O mQIn M&bXQxD6a`fЍ9ljF"a-cE?Adu|v@1JQ i-1+^ŹPTJ&5#L9HӘuY6 n8߼vUW?}}eZ2yXzJ ưp3-@΢_&hOSGgNJ2'V]-M['m[T"peOo#Tx+9anj;N VyzT˿^uFUPZ6[".9:0p\se½*ݪ`wNOQX'Emv+.foHi,`}g@9yJ5tƜٴNm QP̦NjwwV(Cqz[<@Vφ8~6R!Uu—R>=uvSWvuSJf3ٗY3sLQxt>680BH=1L}|::!}=iUr!uccPt~]M=,h-hkUVI0A!CagS @D?7Dd gI@6[H9}X̅. D%?[߂/ŗ[@&nxPd if A -q8&. nv\8 W%aXz'uYH2xXv9߅ś )|rE/HF!N7@/ 8%_KUBr*X+?p'A(rBW+UI]fyуVOmf<!i25_Aq-k\zTނj7[S%I [*O׈;@ކxv_`lCE,JJ'Fd$iKSw-<\@ՔIŠ4I FwI<ǒUHBn'jXkvp/.\5IkѬE\k<@q#fUB.4IJ,(M'=%sZ;|@%*̪HvKIl998@i2sH>?F23}hTqQH5%ODKY/MIUbcyCi@2JSX.|F!Dږ b Ɯbyk}a, e,N<,mYb;gކ%)R&mlC@n8=H+o#nXR2Y~㯫vg6~-u\ ^ݾSLG lÀ.u!_3N֪B֨?v9)aJ)P)RD'0$FTƒ& >ޞ8 o-uH# 誥߶t+?uWu N1Hȧ>d #q#D~ Hft,N|_R /cȶ_3އ]ohIP`HttvҍwUt|u~xî.( ߖjj*(OQޚ˨E5tFW8M؇bve{7YUʥ4A :F pr^з(|0hX/v`l*PUW/ۓnNz}>b;|}CiޒA XO嘢*\8 bB38Lp tDGOG?q?ͦy;0ڃʘ>&qZo5SKB1`V2@ g~n"|z+pn,!Q92~0HTi[n ӟո?b9zӰb9/ꏽ2`.<,,5>dwAv%Kb,NGFcٗ֬8n*n~'Q|FB=} IM='ob}%[{M&((Ce"%glJi׭k8˛Qyi#ORk_D|JJXKj.?7|A:JkJ/tܻt9_ki)+T(OI 0Bu#ЩOn(2uʳtA|8ӛs\#2Fk-˖І#9ʰ]:s )fO)hofٔp(N` ,>U؀'kDnpARF7\I[dT\RVE[h2xRTX*pR DŽʓ0}J_ckJ4auZK )a s5 +h?I-pƮ"6=EBX \a L-ZU1X<|{p5ҕD:t4X[H¼7,icI6z>WT,@ukղ/~ TP!E0tܰ,F$.qO6 |/t*~Hzj>[C}l.ڧz(X9kSUIS? eIq՚k?|YKx(a>Cf 6 l{`FrKU/44C㥆|͠ԝ^%m+.g12MgTQ<#YYx9ܶPCYܚy`P&"\EBE1DqL+N4S bs|ϽPMN>Duzp.YVBCo3_ pH=hVqσ<ՙSZ9v ]b$gu_e,T:7 R+!au 9h $,l$|^K"xݰX+QnY"|W֬Ձ!pD$uJrPځWb-mt/)\ XYI9DX3»BuŎTPK\i=>悷XB]푈U A'!1#=t &YOVT8R[/y_+ŌɨΛ,ɩ7f@wq|ЩDIs'| !j^dGѝ J3zx-`z@TFTP#M1q SesP$KȻ +H-\oPJxy72D9_Ō9Fʳfwhᡳ1ϳέN)F(7l z3Eq] fFI`KI$IA>d/P;ଜEmhVa/$fslZ'kb8 d{R)Ukc:`텿d%,AWnaBq'H% zQ 1.30~0֓,͆y Vuv30.c%K\=}X?MXIi^F&y^2NCoЉ=Dm;5$J~'R^$m$pKN9{ C)&0 GJb)D V[T('J0.'+ww <`hl-2 [ )ɞqrǰX~D]( }s GI)x0ei)ܖ׉'/J%f-|1 FL@]]0JIFtkn.`q 8Zl^$!Tw4Z Wpv`9a h%WNV%%E[6$QW^&5Vy4x=jJ'mt14p… CſK 礽8Ajδ>GS2=Ι/]XPy.cڥMoNfR?L7kꗄn )}TyxdzX"?Q E!I˫'SPP lۇlꎌPGWFqÈ͝ThxD oiAV\`[DvI-%wp«4(Қ?*{cKnItaI`)\mTX?W I4r h\iƢ3לrv֤|r ֹ́.lB%9L4J{sJ`CSCja}p*p/07Bh#] zZ@q67rB|9q5WD x~į.Z*~12qZzZ*qfiC,C7mtޥDV# h#d?T%뭊\4ƌN6EcVAR؀k)e^.Iٲ_dowǴ>pL0A!r^XgqQ"௜,?R=!PRa $"+,&PP _T+zXw&ށo fmMHNu:AuKA@v$$BP2/a/J/"=DPFmȆO8 70/NWW)F%i]$ T542=;6pLv~Kp%(@U}ik7IJ}]/(j!}uz = ZL`I)K !&.y2Wlzk9{D4232KM{@,.z nM! pB ,AN'2K'Fڮp/%V$&[, !&eI2ϔ8|>˥<%m'7ڼt@;5QԚ IpH{+id# Ϡҹa8x%i" Ј?ϓčdH8t/v:yF Qć -RjO^e"\,yUI'`Qq6Nf k&G&l|.iq&juN٘$RI͘`ZOxbL4CYDD`x2Xce4'P'0H Mx"8 i )p}aGH6?KcH&l[*DSvpQ|=a2B)CЭJn$|$%c3ih#';O\M)T_v[.s8E [9qvoNw@]&SؘB! ۋYDK]+9O| ^br@Ĺ~042/챺cЁ/T}7hCjP0[K#2X,H(v A&pgu=-~iNT/Gޚ1+15:pz^}բhQ*Wj+BJEH,q U;5I ~ 0F1!YȠ٥$w)GЋ ^QS7J<~V'󃎅=sG㔀,y+"gE#_r$ŷoFB /}/YLr_hm^1 /6[E7/VFY^uS٥*)gn= b̔BΚ^N0{M"K)g&di$9K$\]a8COCaM] Қwl@2=i*QR}mwUFES1k hrq)*vҗr# A2Gq-\V`^,djUbL;uN~ė9ڨj(}Ďtw"˒氿7n~7Z${ m&JEz8SB%8%#e6$cBQ 1e\١00SoCUQQd>xU+S wd NV1/xZ!6|jCJ/LOSzFJbҩ5R#틥,bG-aC^lfO"-p+I=3%Ț`mChr=t4HQ5"LZ 1$7c9V٨ ǩ `٤`)aJqvפG؎09?%vɈLiuoBXҚtF.x} /{\z"E~!J*1=w Չ(I5~Lbb#"aU/rLQ6h'h졂ob}^`t~6 ƼqL^0&T@7cj`td:3F D2]/cl d£C":>o+G0B5᣶ [ :eI.=7V BN$FLV~O ZgUھb2 Gkv*孷+'ϓpݏgXx{?= 0?}8`kacf%43ywYFdhY-iw`FP:1!1Gr;/f~y£e LЈUaΡh*7Xx37 QJ<%'J}2]f :)/8(W-R*O#SOLZVMz%4/6Í⟅D?)me > 2EbH. n @_n+ Tož('FM:KT39xyZ=<#eJa7߁x B$_T%W6 ږ¿UdÄ/G7 Ӡ짶w璡DA dֳS6 IH}̅|l3t&7 a U7v71N1H3%vlpa "ۃh@0rƙ+Dn*D|!WT#Q> 0paŚ&rJ2Mham2QsqTϫۗ珍Am|&os<9=NϟoxuI茚f"*2ڲhOyqW>jlc'=m*djNx߁WSdvP':HɣRG;שyS\';^ #N-媔1öJ dSC (} DY}c;Bٵj>i!G?\淞T '͆|4jH'RĊgBo*,ŕ񪬢x/lP즟4@iɴ$htY.0z `AgJp [y ޫc vpX2 y"Aȍ DP }k:[0dKC X%Dy8uqAŨ0i1lO&c$n-*.ڧeҠ_ugO,(xAӐI%?s\_ &Ti`%Φz0Kt.v:,0 f)HR%c%c8r4%ܬɡ5.ߢ C OCIz3ra[8 O, A?^Q3+3qdTQs3! 'cZ=~d(x8c@= 'b?] +mP'˂<0-'( !Ti6X-!0||KWU䒭 Al|Ic!݌C NnC㉮6n7U*HaQ7reЏR2' zPM rThKe "#JH+$WF R kI~z9PgC3Ŗ#[e,`d*e XsJk |Nx1LD@ *a9gY|ɖw \-& !K-.{ZGqF~iqT\;ٙ)@FtI7qsx߰2>@]tpJ@yTs/  Z 7%䁵չ #:PCC}ZQHVG&WR<[aL8G`a ٙCQrSWG=J v- n^O jU8DXFB㇟)=ʤԊ: eSJg Bְj\M:rz\2"(`3o`<2B1h!,L@rU*IrzJy"`d~sl:ȴKb磾?xY/ , r-W$b[I h|6LHh`'XT(ef٤UO&9`ee: !ϒRlH%; vYC6)8y_; \oLD3Wt gMv'@DAvԄ5W t,KTqvCWHB~'ar NBG3S`| L) lt&T݉,Amq3 7uQJ+J@.(YK4PpI>%T!N߄XUT}WoV<{xa$RAK`DM h lJYrtIw1z ɺ?bq{?~yn h(q e|v j ֓lz< tz[F#\ T6VЌJC'_(R`WQVw۟~LWVWե?#xNB!'֥' м+NHDI,' y+>o#>KۯEucX+nzLŕϯ_pÀBt;-;D, UDCCW8@Jdnp8(<|حAd.~k\+_k53[8 1WVtmr?)Q1$Ja?-!Ez\桟DA5h:uIߘdXp Qrɻtf9*n]1js D!9L1fP60&D-RH`T.i#z3(9JzKGTdf^y0W\,a}JT؞%[uXO/P Op )BI*:4C:@. >cW-K20ʰ^T'`.9jJ ǷɡȰThD%NY^]FCW">{TD,"^DfQ$=B,!0ʗ/J :j'8DEBJT9Uz/R-B|zfBS0_bUŜ EhȉKZ,l&eh u%"lTm|BX-2ҏ %-~*bF!tf{h?h9hcm %^܊SCa|GuR`%# LЈ[ g>L7 QmE?K'cI#ZkvV +jx{Kq.[OQblğ%< h, 2F_~C1_Jj2 tDISH6U7cC7)QfՕOCƣ4m ϧ1 :{P![oBã($]R YAb..i'ɣ8m&E!>I%>X`ܢBmoUL&qZT.#ߵ!WrG6ə½dp+3m8;:7RcS1pg3IXq%1IWh-he-ѩt!OaN`iVsh“d4e<9%a2o^#=`&xNcBia즀 2Ѩẙ| Z "x&3.8ΒratS@4сO" &yȉ6J<<|`<9m1||*7y=O.kN``?|s V+I`Nwru.uj'βQzy_/S/O.Js|*@3uu \~~wtuxypz '9xzwtsuݷzWفW[`o\o/+w{''F^R\_ ^ǧW$ "f]l.,0z.x| O!|ɯwPڲ~^%%Z/北PJK(t,T0͍tcE1Um1jNt/-ś=8Wkz "=?`QO]"W ?w/kQSxBd9ǻbޭ2 V3tUtՁ/ͦ|ԅ/3^u[}W%w/Ώ#V2z#lW/qP+dte UxemO; sV%j^ =1[q}2:`@>^`Y؄_/ٲۼw"ZrS7@ssRt\=^**2rDh228v{v{VXG8p72'Ŗ^JTzy֟TUYÓ!zYt$bJ:իb,l|ׯ 4tjC3sT (,F$`ltu޲!ZQ3;{UѕZQV3'-Dt-]^>dQ'GU1$I.Й5_Kh`t߾0ق]5_Dδw~r^MɤW۫S!̹TL,qBwa?`'8E9_S@v4+zR3%n]^]RUtJR">@"vȰ3|{"Z^~1dĢ<83V@LT^YR3y'hy) F؉4^^YQk*-s̓҇:ygĦ5cJl=%&)j3JΫb;[s. &{e!wu}yprdϋ+̃K|+v+`6tn.`DH(#U$f}xrquNy2N?T7'a/A'H#ka ڒ\̬w'eK 0H iK+113!g;\.a)8~7yuO`%:\*_/o|LՋ|MR#?bM˗  n; C^<Á]zv丗8B7@Y03^^Mѿ+=~5V.Mhȇ;X^a$vgdUyG6%F@5Pd&0SsR6a@!dxC~7_2$*u G7acqq<WhUA{1۱^Xesqnnt ˜!0주eEf4u"L^+$NWB`?phum,o6$h`߆ ӥ=`9ρ9Ji0 )q?^hrSv_BH 5\{15`AvEd)[R=toxP6W< SǾ(?e*04o\MvPm%ݓ|ACA3T˕U4{%b"BN 9Jq u0 L!$Au. /WeѼ+"P/Txvv;Fm#6;wcow'|B6z.U//@3b,/RFɻ.hIP E`e`U")W))鳺:*zLn:=JNEI J91Ɯ2]&hդLGAPb_x #4Ebn#9iX'ך80jAﲅM v )S$yz=-'/n LRy]A6pvy} b"Q b;B`eª.jCK-/lr$e Y_vOP4S3#^('};nBL%qQ$TL5l.x7"jp& J3a0[AaXo%$'fxKG*ɈJZG-ʖAQkSd6b77-6gDbRF@%UѯǸ/wwY";΂.EZ]nNEQ vߤ.ƒh]@8,>.9'ђG=*%j;>]/D{J~+Y6# *ʮA|VTrahhDHRĺ352SwAJ A֕.}z*YP.z<אDNNQo Z-Z!b^w1af*L-=,J@$,z W)Y#MBG1AKȨڙ+9o$J!18 ,.<B!:I-Uyud.0 kK}ܰ؎$o] 1TnOǢRtED] ˉ͌NN9 M?i*ۤ.KFM%_i~?* <}x^Ǩ?W^Jl1C ֘\ԪIx]dm\Տ`V:v|oO8ō?N'EM3zy9 jXBt ((T݁&^ 5T4bDً%P4uᡷ-IIAW޿5>Nk ƒDFj e/h#$u7ਔ7+09-p*̅5# /_ӏK׃Hs_~ _9*AhD|k4m)e2fȌȳ^[ .FVQDR~q \\}C-Sr.bqzҍ,A6ƵѺ D8osb~y)`<> ՠ$ATJ^E}v`(7dO視TfHV ,,$@#i03)z|MHؕ1ݫьD'T"*H8h`O>Eۥйc|3l|#ZiM xl_8oEGىYQ2 y յf+ r(ͩ5ʒhtg%=T7q%-`cq>}&ϗT'@&C`*J*/FlTDϮC# Z!AUm f,G>kto^KYB+ʕh9%7u'}tg^b]ԘKa)a:p{) gF|H%>B|$Ub3^D-cQ[jddBYGu4]4#g/:T , bD^tKD v?09Z]D(/>D`ϻu.\GClC>=Ava߀wJБzY˪JOn rOv[YϵՒщ_eo`^O]YeG 7SP x1Ci)07CrS3u%zt̨>(A יZ_3Ȗah @KRLqjZ N]z)$Ʒu׉ _]23E3A:L^t͝= EaLgbaTnE_̥gi`r S.FARBbWl#9ܯ0p/t0`@\j& @\'zq'M#I3O%5q(#&BtK)G+t BQcOK_AVsne*>DtH/?r h#RN]beAYAWIo*g˝ {ʞh&pp Hp%!uT0ִ&G.[n D0L'|cis/6nV|]oө%iZa-2U?QDHNʉ,984A-f4_қncVVR)bP̌u1Bы#5I"5+;<*t6mԛ ^@4~G|A:h{˒JpO"vV{&k VݏyOO /1/1,̰%,_pτ0門.]}C\@pU/>A~|K(&ipb-jvd a))iDk+9 ca!F9N>)**X 1d9t)IP8lj+)u=M~NPbeuM~600D OڒO3HAe͠v4jJ`SоA-84 :o3b )٘vN.ټ:}@ɴJ*Of< ( i$݃(Acd#kf$ID0Bv4h -d V`8BC|zIۛ158bFfqǑe>^`+gqbU2hI6 9< C9!} hlNcA5oۃ6]U*0"îXTڔHIJѮtp;G9 jC(4E8ge:> 55Em_d왩VV`JfC:1R\gUH'l*5^IUuxJćkֲ7j 6 ťSQN,zxnIViK[gY23ȨM`]J X0m$TviTx4ȋv ;X6eL^^]^Z_OXj4 o[9j?B@T+Q[q]R 0$_~rqi~ ݝKB!]szֈOw~tq7;K\`~ѨjfÃP oU%KfjfAs4;$Vr}@}bKwy_G?/1(v\Dh[g %S=!M4ԃ Jwh7 gD^B391N #h!ffQ^pJLvt 60wtLGV&Wo`UBeR``F(Ca8`gb/BU;bNv6C.€`Fd(o5^@_eØP^⋊A IzJtcQ %0 O)DQ^g>N(  9xZ*㟁w2B13ME'}5V#pHkS>!1Ok8M1 d2/䓚F !@b*V DPb!YsqDaT]D?d`Xt*Xd- GB0 +'BJI䒩}o3A-Diܔפۤf/ Gq8*/Q20LZH@[7d7Ǵ#A+%'>"gA[( ܋W 2,ħWLdK  "g&b:+;}oGcqBl@%jR-Z*MR1Ao~1VتN10RG @$i=48T# ڣDa}98ENMq5<7&`}'2f(/JTy7l1T]'W1:M1X @h,OَwXkhreya& տ؆0 ؤTLEʆ>+tTkt }L@IQn0Pq+ 5`([M^ #%v"4 !S(+O u =T r*FI2 ЧA6< 5 4GQj)@-`FRőβ:c6I9q&)0B@O>Axlgn1dڞ9cfa*Aco]g:OG\媖v .ahwPE 7A܂0rHMR1)}8y8M ~j ofq,f ()ՆPË@wF֬VLa !9D@}$N UBPմ %YUx8Gɡ6)H#rzvTiDXrT 6ȹ8b- ۏ$wӅM@؋6es3'm}8w v UdX_eѴijJ"cQphY(ӪH[5RjLZ8ۮNӊYvHR\ vzsǥxܐhLb% Ӭ*(y`Bb9a"Œ5AD+HVNHs H1Ȝ'3Bo[NEW{`5T¦Ʊdo=P?ɻ5|x=6' r|><砊> eGK B`; C6EX5D9". F{8/Pۘ8A bp( JI3kq%*i+\e+(9l+N=3WA+65sZZ#znFUAqzzzn81ޮ0^1`^5IaZ[*9梮'7tJOݣB8E[jI̖ kWu@͕75Ch8+lsI^;l֡nd](H@IPH#8iXeg2Ujb*:N|$9G X'_LJf5kQrR4Sݡ^A/MKOhJ ?E|d#D9\)aj6@&{׀DL&si\L5/:bxam ye1eTA:7b 4 |'D!F2`@~.M&$*O DB$ɔSm!t64UZb6;/*Y#(-ԓ*NxcKOR5X4Q Ɛ6ib-QƁRr^y`r8a(i.:@@E3Ug_ͨ"?\ηb S ON{r׳nZSe*Y,0IsTiSL\pfoTMSZ人2ΛI屮jR)20dbQ0؏LiS1OeO/,E{~'jRѵ[ݧnѥ5DX3q؟HOo ղP)V/;٘kv )fbMX+Î{ulelA;pz*>ޑjj6˒3ANʷ'&@&X\Q] :}Gm* ST֋cs`4L#ۨ5ZcY);HnB4hJ(oV,~ "Iz݃uL3r2.-z`Ӹ#o(iQYRi*X9JZm Jxї-5h%:|&װӀ!4iB:TxMP2uyJzL'¡V@cL~F]HOAI qvtܫl079 0v%A.RgCSbTLDHaO^9 vL\u&sGPhOP⠋L%7IWA՘bJ FH(!К GdiYPdq>y475`}L1Y,2IA]uc&ihW5ƌ$OK !:я:G}]׷Ӕ~X'rYvMt"Oc$q"؞p5S32m\쎚=V.@0鱐mWG#ʉ,+^|>EX`-%c^ .>Pj3YS' .(ٓFaقH֩{gy@܌E !K^7w3iLjRie!)c'y![&x0fJXߋ!ߢ!j/ (8Df?=6 )ӤM6DDZ MHc] F)ǭzzՈ*2 +jaRoFkmڛFd?[E3 fS FK8kM*p! 8y"zӌ1sT,41r!r< ҍ4H)r,FY`BqrG"(=+ dÇY+L40E |֒A@TPvPc%}[o5 ==LÑNon7A``ea.2oRϒWy`Xec\ 8aյξd_/%< .#+XǑc l!T>ڶ#vp aK ­7/U(>-Ⅎ]9TX)8RMd8RE]8@J/FTH̆145L *O'LPFb1fn;|)ćPV!,E50t[{1`d"NC]8ao!R8@ku=>[Nh(l{}bAi1d+GSCcDa3(^t[ oG {9Ս58=G~ Bh#c jYcSA1˰lp@Eve4Lz 1̊4O5H 0C}b~v& `G pi%bZ@J k0@x5R8dػ\DӔΠ+q/=6Ѐ iT_Shyo]s' */:(B%i )󂯧"0u &e i|^M3cؔZIcTABL3L5Y!4eL1Z|,XyIeQEԩàm2kIV)K-o <%GX( 0\X{-pvD{bU| qQFM:&_1O<3Mp %W +'w★ʠ8HX*c 2z,Ń}ۂK΂А_+8S3u%3M QK>o>`Ls;:#hZL%P"4"A9 Ic]CQ%Χखu8:ȇ>H$K<5Ƣ!o1X.zR*(AѧROB·D|ÍC5B4G0cS8Rc614zJٛ EɅdDJ S0Jb |m11)dA쳨/_CjHlIb݁eY[e^~zl!M44),y8|np:.iǟй d-K[*P1jE(G93eR7^-KE. SQ CH) Bb">Q҂W0uػxfe t)_i5(C]]AG(Z5\qF:ߥctszLS &q4<7٘S 'U9Xױ[i9у֙YyS93g|fOHhћ^L2#[~ #+٠4m-1)g#g74E-Cx$!{rΙJid. lqcN|\3R򞶚[PSה7˲򞸲..;ϧ./X#Ʃm/߷wG<aMmrt?vzYuݺ(ߴ<< Fp C7_;.)@ g+SUn|>e}n9ޝ%ꩮ ebJKY.- y3A[p?Yp̋Wc4rmlG4q8Fēk-L9֕7QtNJ)KBU|tSz4,e꣨\}o6x@p2¶kO+>W H*XձQ)WkˢtYxfY܋UF *6P0!&d̢zCqehin0{HU|NàCWt)X4}w-Ve dOТ]|ÓG9Z};z b4A},PCp 8o)y+ _hU,P3jUk9L1BȀIQ!~baLi)x bo b;MYZ+]!|O,^i!mU4fG@h_}Nd-fqbI"@F[@+Z  2kӺ{Ŧzm Y,}A3\ Qo:}R'[CgZv_}t2Pq]u`_ 0X|>n%:Fv+v#%VggOۃ. "Guʕ|kNRމbaFl$=~c :1r߈ofQY͠ѪB360C.5^9S oTbf0' K#OdM;Gj镮+D$Rz=qks7"GHec5H`Lt|V}hP02w"4"rݺ7 }FI]8eœ`P[JѦ$Ɔ,;]}W:H ӽ %ˑڌǪ΍nӬ3pS *>h܌x64Hʉ'v8l.|(B)R힛磌R#1JR7(>8 bIΓA7VrTw$Vn%>h) 8ҠK O8P Ϙ8HpL!gnA j*s5&XHO%9%UlGO߽Dăi\ t1ρu|1oE\sH@2|]`#3n%WaS#u~HXQfk$$6(wyys\p29 ;z>h&KViE:{1CT2n}ԥ2j+mbe2bT1!l#I&// EVPAĄA*[Ѡ ۏڀp`Sz!"$Jn 2 MR y3f{)/OEwv\э5ߔ~MҴR0sM2D:|ό@DJhqb+g RIqN&aY ZjIOAuuE! oaK)"dqpǖ=x0)֏\vvfʝUM'LEAj 9h3ODzwgAj I4>cļixPE"oՐ- 5`b  Mq J0T^Y'5bȅT ns_3 ؕ|UlmxjxnAJm ,TR`H~/Tj'k8&` *CF;Gfu}1AH#6Rꫤ;}SAkPĸ$|$2~r F/=bb:ߔ $Yfglȥ1saj@檰dEWdxI,,tQ+)cʷETnȽ(jdV;Y`>G>܌yՀFu(&6h:Ȗ \ۑXt "8w<_h4OŦ,1A%\B1 7Yr)f e vȕKH;Ӕ\.|i(J6m_xJ' ƑBF[Do)12lÈA0 K,;AiU -䁋,20Sgqо?hxN3(Cyjz+VK h{ASCA) ĄYc@<UT4Yas ZV5%X 缈A25;\:-Kk~c(`_Bot:Q{nШW1C̍)H=8)%B 5"u5@j"V)wbTQQL#)&F5ǜ0@iL3.Y*Leݐr^lPQ@;*b֓;#ACXټmP-f@ ΒvV> vpSLȠz0T)>Fu{4U'ap3RnmPRT "yQ(뒰kLFa0x.d\AzPZ'QHJ75'9HDO ; bɹT(Qpjđ#$q6W R$*\y:@[c/ kݰC#m5Z$T2՝L DNPIJ^0lp?3)UìS&yүgmD3txn6{puj4Ib"fkqf_@9V Z6`)XGSH2#  vŸcEɥ3^tUmEBFF"U)R8ڐ`N\f;4JdWD cqN2s3?m̠jbxj8"0^`boN#*HE=: |XreH>Zky|+{ [!ZT{Ɠ< PkOo٪ ܠDZ^44ܙh}L#cy "2]9 &5e 6#C z)M%F*pb +$D**˜8 8h&uBcÖ)YS6kͼ`&FFb .T'mcY(@7@NfM6c`b֟7XLѦ\!è Wy[bᆠDG0D5IH.̖X(4{]v" ŤA(ΌD!ӝ?q#o H %:؆6Xp3*dр/ˌA"`}'%h:m$q(6Z&瞃@= 5w.)x@4ZguĐǑO-yA]緂Ġ iLj&;D R8[;1Uqd) 4 5xDMR݊c>eVg])(U` /A7f p?hթ!,Ԏ*$zQf1p6 1`92iv`Lxp'g02mG .gz(QB\p)dH?!@-]BEFms2`#L\2&q_bEa (𠡱CWvR3 %>D&'zmfQOFjF Z]@M&cSk|Ѫ`[ԑ 9n׬сLKx-3^ߥ*Jb`3D#*Y 01 vŕkn5n2ԷCڂߋ Au{ UIZwq w|M~*u'X"ƮnIWj:YwpM1yJW:V(oȬ]-~/6[h)!"}|$~觌2JOQ(ϷwB3jϚu6: KtP4d.>d2 \7X'u#4x+UrWKQ2.*. *vvn$GHLYb[X~Ԛ]4b[q XbHhXkucᏭ~kpMVLpXM?ƃ 9l!4f@/ݼb$HR6Mfu h~5t>5hK+qmkJЫ\0StlV d*9TJm1yjb9#ظ9:T0cq7Mu3mY-XOMZ4 "gG{}-Q }m6W<ފtu=n$?1t=[zUʺ3Ѐ_=FPBxygҌUtTKOU3K^S+<@v+?I Ъ|EDjjl 扫nazG_d4jb[l0Kstp'EfbkOt] {b=@jzԐڴ=G;h0>9JZ q氱̌Bz%=0ḬbHAJLF7C(h |-tKLdZ0:4@jѾeua^w{\u?I2>yƐ:Cch'%;V'S Yo [j63"X>cu)ey5%#i E:FŌvVTFb6N)R=g*N4#<ݑf𮐓O4p(ۗIɠna0ۤo2pwbRk@r;MKGY1A ZU#iz#ӯ M{Df,*JV,$,iBh$\  itL0uN z]3c $9m܉h#692F/߁'cKn7Q晶71[Po) QR"ɧ'?D4ct[+{-CxUAלR㖞Wˆ'yeg8x:C. )%-Мo*qI6%Y9ڍ/5X=8_(Jt<: o؏8=#eWXM@Dat&bhHo _vgZgFS97wZ)=4x9uc<3o'kV: R&Os%%T_#J% *r^Hws6x Xqom;a%1–Q]%\/2Ԑ\wll5 n$VT}iQCGm{JhJ- , [j+YRs H^(.*,4Έ ,cLr YS'ntZu-d |ϼ!] Q(fRΦI$'40op>CUQߑ+8(HemMj@,A.hJiнg!TRdf+Yyjx%9;3:5+g3Ufs8b{sZcyA 0?~eB uc2 4~+~E e.rUEWdR L\^uT ?Dri½ pF QaPO-T1=_z_u^WK2|1pv)x(֔GŊΐXk.Z7E:LC~h *yqG)$&;EN{gXBjb~X~tvŦSKhc&%3x6YX͎SE _vE4 bDS2О:mJtI{RI$O5IeVXn*h'p+1{l`D퇈~_o",{-vqu[ C+(aWÞѿ _ Avk7wTB$HUeC.GQNv\z @g#M@E{4*p6/P0ExCvCkBn J ӄ\0dZ)b88*rFX8=3+-Qj?H}T-c>v*2('9K ZV.Sm-Ogþ[N2 Dvq0jFe>:@q=4q UQ[֯?ҽ̢q2ƥ'CEy S5x1^4Y jP`ZLTGmJ?CgPV9ȚIAѥ9fo;C#l=[%kgJĒQ՟0Pg1E3Ȱfx0Lw c,* /KjƧRY:юTbpuc#\rUFOkE6RQ:`%yFRʙꣷtϬ4,0^z5tFfr;X\a_r4CA`c]0`MBt? 9)I/#AAfLhhr^_ xG% %/W%uiڏ@ΓR6XdO69) ZI up(t2ai\*:Ϡ}} #/W^$?/^eg|<9ssGQ3l7'ޑ?>Tj'xQeK,86a/uI-u0JQRCB2ɓdBؕ, /5aKReHˋKkk^w7W)$ AгuJVIlI#&pNrD&$bV5SZN:rESL1ix4Mê|e ;*ItI*&:o9z[v, ))\Cϕ+v].߷r~h 0mA؋5dLԜQJEV b,ཝCp 8))z&J9g!MRo9 W؊Fc7FiGyʦ_Nrɨ"|R Sog&8dvOVV8!GP )\v5% :z*M@ۗH,}[N7ZaԷi?E֏A&/H -urv[Yլu800KޙdBS}yMn\U)~_%fa `W&uqiȠOHiHbb`:oVuaF&ENwjK+i}@CaVle(H@V0xYL{R)/ hȰ_©_GODh# c1><"] ̒#S.wFeg]dL? -oQfܯyW$g Fˢ*!)m:/ $mY h$H"$FRG?#d-sxS{Vh~ZeeyÔU,dT91=y_p_G 9[T̝aPHG{?^8T!P8hM´9w Qt]jy2k#"o`L'jWjz$\}sbpB*4ͼM M'qې>-YkyZQ{ Ь9\gVщb3֧Zx67ݞPהj ʪ ,ˣ[.ڌN8C>ri&t!aꢸ=j3L),>6!sw^iBX}rWB7efڲw$!$!&Ѡ~!&J*2rbiTl#֭=*l`KrJ <84l/ƺb,`$5ꌚ;7 +9,|ƝZ'!<)=7~ + <܂ : PI%Y}:k5\dQ7]Mg*t%jqcTf==֢'<1_-+`hUB|-p#Lr)vjof^ztӔWN0K)*S}m$3OOUi,ى'ìըϜzWQGW;9M1~OnKx6;V%_X$%K&_;>pg{Ln׳VvXۡ,E ޡ\O7YҮ:U7ߧ2=.V+QdTf{.{IԅVϬkA.I+i/>S?x4箢PǬVrJ X^C1;`Da,Y1~UN>#&1B&l)&zuxZh V.Z\k֏I^;=G| A^#`Q,M'9qЬx{!" ^nZo4:+ U{fQ7ѯ޵%_E+oxydOlD'0 ҅ЌS!φ؋=1un>GI'6i/FRaO2t0"01(wzrqyp|qY=<7@ўCo&4G^Zp,[nj}X7[9zJlP@5(ۂf s!4p[D6i- ešy8x+ 9 |a^FbA=g؟2Ϧ_޸;gP]Q5(>Wr!m`|BEejZXJ`~yW8iH]"ToB:+^bp!i yE#+ ( X6! ,1D[Ȧ}{ 5Y%Jjn?OO_BnHY$lCDZ4E!%YWv]JиA"O3CzʹQD? 8]S{&_p`B]k I+;]҆$"^O$`Z|GDuqJ(|JCʣ$%;={ᇁ0GޚOԛ㵕eNZЄf>0ɁgXiWMO5J%ArIqzBn5qTከE^e PLYaNMiʼ=_רTT!q ,c/gPyňw1bÉtE!@j{11)2EQ *]g3I܇+! mX |eVB\ml,Wi)OpIg5()aHju)m>TLg"D?XwL)Tm/?|gXl j砍h$o(3mR3vhʚATX{i![Eٝtbc]oI2i6ͺCZ( x{#%jq}OfD%(>սGwhDzDrSZ7*68OIO?񜢾&}˜< {cQ)^qrpw=wtU[7 YUNL>K,9wdی"[r3A"lf ,R$>}gxK1{sfIOeRfsLUғ9fڋt2]0+M2l)Ow_jς>"kv῭d:co3|.AԻΟ~IH4t"Sf=c%{ʼn{Q4DytU-z ^kJB%AqNIq)8ԁFGBv->s7L3/s&幘|[ʕ;.)fA0KY ETV5>@wq}=n ƄR}Iu!/ꄐ N5·rKGxN: %s͠F{ʬxrRLj}AwY AEB:+O\bm*13YC@|Zʤl,eK,|(G =ήrii,v7x5lb*MPbNx~)÷b1hkm{V)2}+ۢZ٢^\_ mIս347mV2U"vi7qz8T=1^CNoÅ$dNJ!Dx"J |&9bBva2+ odL0: fX3\ Tz/)):cJ,6$J%77n'tBCRaZW]!M(*(b}S:J~H4<\W)e8 zH@&Iwn_]WuA(yXzFɆx`S{{˃N 8v'v:( _^N%-=99-Hno?Ig_Ӣgwv2e$/:?N/Чyp<M-GhWmw;v|NӜ'\Uں8> #irP5,?oTc.{ ?q'xw*Z4C}Xؽ5.|8e.cz8lZ6j#C/kyuyyuvQQ a`1r/?3ܣ"Qڑh4hn9k+%Fo=~P:r}p A3wD~Ec2CGŭXEX4"/hi|N:nj<` w'v;_j/N+@4cq\n=ˌڨ,p Q ]<ʒjEL]`G !sȘ^ d=ShĦ4gFC9l>ѵYޘ )ewČoȚt뢳w 8h~A< DJbˎUQfvG*C ytDos_@f\ϑIQyi?%d{\pKP޵w{!LamUo/IN C U2uf$򬌿`셠]FՉ/Q\z]߀ik|Ž\ΐ34j: WQ_n7U3±|͊Q7Fw W-`4iiS)}p2}&z9>F3Iugi[ 4Q%-'|x|y!5=ם1|-r^^eŋ+ xM:z?JZ&w5 a3!=!YL ?0J/*R͙BHq/mL?[F];9V/ 'v!$?VP3BIvvlSAS5)x,vWtȿ\Za'J*NFwWZqJ{>HF;L/hcT!L)}|=,۝YņY͸7~7$<;j)AXlix{5WH{lye2fIpV'}9QF5FOGO92zs xgJ6S֧'FGIa♩MʙR7JZ*D/63bPI*']͸ZTSxcF3A&Qr#|Vo|吟@Pư05jJHO#dE1$d"CRKX Zu՝]2| #@TlaK_ U1F^3,yNE$j %$#6Tw: Cʡۍl9ʜv":]F}R*IeF0eGMYyR=)OFLnlDGmbԃS4jv25)$ #'cQ?s`q5.H_ hFh02<¹ aUYgYr##q=CDnNa=hMO t#J/~Rc 4!sLHOPeG(@H3؀qȆYa)FDLvM.Nηw/`8/[W;FwJ^kF)fuLbk#cI0}7nչ!1"Xbf,DicC}\3IBY4eu)[UrlLD, Eq>{fl=Gx|m1r^?Ap*1x@qz(PRRJĪEH\6qRyډJ e/%FhZW 0/p:q"91p``џ31Jkf1祂%ٖ)L5OY:G,:'of隩=.,3TOw TUN=#GS0M,8UT RQ ΜsؚKW&}.k9pbiv5n *zy0唶0 L 8fl`-9TJa[cp}E,Ygؕ&J_ T{!z04E=ϖTsH%MFhJ:JE՜bLmF l/+L|:I`9*p6`GMÌzIulYw`EB)0.;m證߇##?$ 9[ֆ>lF\UGL?a&%gO&M[C6@n)7FǶTUA0;xC+ :/y?^%*o.SH afsLINF/+I4mK_N4셄`!/ZD)+IX1J$C(EqP͐j+Y Bp b6vYNv5L[||jɮrv 29Ui)%M?\O+8hvJ|()ieC=ri6 m; ǺИ*m?E{D`4|p0řx epdܢ.k&cV1'կJ2^CYR6Rrɒptn1%)r?eMˆ89o'ZQS,nŚx>ݳfonF%6G~]Ʋ4R} c!Zj=*:4sc HKPQu]JM_C:>"AMRB%{v48N> -P7%8$2󶶤:Ccd'/mj-Ҥ0i+qYj''tA#47wwwp{+S0UaR`Z`Qq}${ طYi'k)9}JŖ JH1%9ɔ@G+KJ,s iMSGGE<L _S$;"87=In~3`< ZT ӕd>_EKA\qRX0#lIC~Ȕ[^b:d] ?D"' !$0q~ 5CϴOrr?Uq* ug ,_Y??%n0_VVW^_0d0T00F[9-_}A?Vd#pU;bUg3!~G'j'ˆgMҽTYFJ1``f~]d?v<)/ɨCF 0qN~nzl?z|Cb~HO'= k5B P+BG>/J?t́~wϩ!͚GZ遡x)`%V 9=imHAA%zTR”WA,}uHZN;jCސ] (]\9J⋗a Zprx5@ў4Om=3FOd;7:nd%]Uȸ| JZ|rE)Q(Dx&SQrʨct;ln8+DfqigDm %=䊞gOD{adrRuVN7;Acx Ҁ`Fʸvb7RԺN}]RF@F>6Kfpih5MFG[pO4 JDOzY+D9^Ue %NEN:$_~p^SP"6~Y-?5Bn1 vդ3"ԚT~iYw4Ct24QQK&Ma+3`^L Q%G^4f1fĺD>v)ƚ+9a8 GSm U;x(nK vd@%Z2߼wʷkYJyJW%g뵙*\wJ')aؑRrob]ijGNտJ%ʪ.x)?^CŔo`)XY\]rƅRɦ.Zt͐^̭1NƘC})2P7ŤZrC5Z!G 3oQSc1 =36BifB̔2=j2!9wH8/X2 1x FI'^kuvU7jOo*foy_`z {b)Tי0̏3ǿ{YϿk[7-F?i[jѧ!n$wjLf 3q^vB/5:Y39<`l:M_~~U&vv}fkʦ45emwED|ju<3BJͩ7Sx4hC:xՌj7sCP|=/VJMcM/3 X!z]ra9(+A񞹟g@˞ LFh '.OA@]fmFdD [iq!yP-QȰh,\f=ή*]ŔY&XfiyҜgWQư`ɮV/*sؤ!-2+ e4 !Eew +Y(8zzWEg8 eeSp=v}כgE?h^FLhޟ%&x` єYSPv hEM;8z`l9Һ|۴_Xv]/Ki  &P^l$V.k]&8[ CEtH\FQbepWt0Z[w9O3ZSL}jl)zQ/咞D6#H'Guz%ΎTB|6 XNΊ5:ΐV͘#l]3aRsuQr( ShÁ0Py gm~J:o?mPCޚd)bୣY gOԖ\KϕЊe*({0 JViRuيnRT,ՕUUGԔ ˠ>Ufok1 &2"9#tTފA[]Qq!85fTd]qHҖz2bTNq*. 8S]!Q_ofxP: {Ψ ! wl#*|oFW1Dx獛oB`BsatWثM _B_B0l+pW^4;#؉LtKRw/P, KLdrȀL3LƉ!5 Rb^ 32CB|BԷ&SjD0K8˽`BުA KHh?:=<ز7*!}^Jҷ潪!J{É9T ƬEd! !l=y)5"{&8(TB"F$@"x&5mp^2"'(X,Q ɂK^j6[ S2Sv\,Ŕ܋E2[aH_TKo,&U. 9LPz,H,.J{ˊՁΡ`p~mjITq ; %`]vhb!76vD y%_b!a$+XAͰ<AP(^/o! .̉D8QIAٸ~C%`.E P쾎!+vӥEtNW=gqԚMRMxF^=z0!&GjbVʼn/ꤌ @狰!@G]P od RSf\AIw4Ri$1ZeJ\j[׎)gAH0!TĆlp`n@=9./8a1'Mڢ5e.a% Z"c&vT['>OYSKqا4bv:h3j¹[얌,hYVД6!)N$]5M,NjA %X3׉Qk5>Hu6 #0u-zA6&rO$rhu} _u;>xi~vDkfGt䫭~u:P;7[٘z`uQPﶍq:SuwvT̙8kS#'zm_:A߿tMpNomUH>kT'uwε+ ?>Nl]ޭ~O+Uyt<AǛΧK>ųǃNt~l/5Vۣٻ;Nnl8yf`fEn`|Sm7o:{>lo]}7< X=QڷI0m7;v}Wv{|"}؃f޶?UWs/߿gW7oVgpu|Y6l}W_\|!fqǵj8~0rprqn[˻kbsq~uŸo2~Z~VN&=z84꫋/:OqauOq{a|tcm%: GƷ׃x}Y~saIpųQz}?Wssx^}|ʋxxy?{!X.xaf>kVpy?_Gۃ/[Tσizŋgjdst׬F+sy|>ypݸ_Tnovήgw+o?/u㳳ŏko_N?]so׫Asuij?nwˇǷhiwoNzp6lnwv߭Dǽpuru}:m{ݯ~Nµ{/V˭j&~w?eNZlo‡vuk~nu^8T^u^U 'N[o'/`$<=>T?8Xޝ[ワMv~[W[/ՏwǓƧo7Qu\]xJs+ܿ^^ϭ,޽;k^~Owޞm>.ql^i,/-q}|]9~yfka"8w^|]oGv_uE;ٛGv7/ʷfp)8\6^-.,|[Zw/֚K /'_7z;]_/~:}qmpsZ Ǘ{/__/Ovnh{bqeūCl.QgyU0]nOk'on'oގ[̓꠱]Wۇowo_v>O7'Www[σʛ}?͛nK/w{g㥓N\sx)YooA،_l-okޮ5-_4/_|:i}m} sb~Zy~q8`p4>=~j~+x4=XoN}qݫʧExq9Y?lmUvV>5>5jUl`h}Z]85NowoÏgWѻۓfyruV .7 w/4.vwG/F{[b]޽69m6Η^.^;kN<>^{uv!xyTTTODk;5n^9;Qaw㹝㷫ۓov ':}d5?tԸ_{7vn6귣B>kG.v[oQ{y}xkfe?]::[8Z{/o^l-_[{>8y[9o~5ϯVsZ\o]s{mtuyv0<ێvzGƇ;C1Kŭq;<=lDB\}T|uy`i{x5zvJwvsrw!b#dU}5>nWvjyuramuk;㋫l?-ַ_Nupvwurxp:|`x~0 W_?޿٫lت7ݥItyy2r}8n}5FoFW+7^Npq+o}:cx>8=ٺz8?\Z{8^=[j,w˷ ~uUwlnNUowwVKxno%:{雳7NxW|xDLW}!]ov7룃WsK/>{X{io>}.×->\_~ޛkj^/ Eۧk7ykxiyjWCu>˛ݝY侺2x-~2<|v=znwfi8 vϏ>=>/.6'NUkybd~9}jۅCQLb0Bܮ.7o .|zS\h7ˣj]ugEg4weuqohl9|woÃV7i\|zx!ӛECWb;^3w7.O?7ۯoV>]]ov>-n~>l}^[>ow>T._8}mmܧr00r~uu>>~3ܮnw 7QwZ=Ton_Yխׇ;vǃۏ+g_.浻gvnz7K7Frygu:xfy鬳ÛO˯d廏k[kwhw7O׆흥ݏgS~su7:yrujiҧŕ_^^=44[w[ճO'+Fuڨ3UpZmgo&aan}ߍ>]ůZer;~ο:\>띝gZca[7'7_WoN߄/>k#U_DkW .-/wן?{v^tz덃oobi]pqZO>MW'a|\sVsgm;> tHji<4Fw8*Wai ؇nڙYc#Yis]|sT?W6}#Q\mŀ c;ܹ#j<f@wSf3L!"Um?t5kW2vb͎R8 "8$ɣNLc\i 9M5(ץ4v0UG !!"?X |ښ5, 7@" "Opk` 4zF-l] &m9$ơ0oVm1V~ ޑs#*B)N۝gS@ДZ 'C14jhqjVd[|v3UaSTR%RE"QX6"NoM%GQ]zppXlvd X3ԫn#yhvV茟n@ :h^ ޟ &8ۡ69u.FN1G=+MbF5C+Hsh?!XkRSt{ʗy@;~ckm _#{S6IfΓQ<&V~ %-KKrwW[=R]o-cЎ =Idy}Z  b*@\A`ZD$n-wڀڃ(U` ^R%yćCH][#CwtjĊ1(&QH iSV'6m"ަ_F6=XI86#!58zO;L`BS΄xdwC+5l \^g!:p Q!ǙQ*FtQ=yCX:&-Ct4l{j7*T #afw'%S_UX\;nua.Fi4Eo] 2?4ߚ*ݬ[ޘ@̦Jg=ꡘ&= N5r T?l@ G 8#B+XiiWXl2 ;̫qg(4F8s$,:Nko쐠ڛZkXo0VEDggRRDznr pI| Ȯ=R}9rgcU-ч]m؞ٹM:•&&5n k5GopV/BKsԏC 9qͭ(:s }-w;k5JЧ\ !9R6gBqE3Z&5&N^TJky@g]0ޚ 6gyhW ;aUk ?8if׌x¢x σu\7–^rhIR Gz -C_zÑHXõ1qA^ԏa =ϥ AnT94K0V3w3R{a .5f)Z:v|cWmgSdcS{zdX_tzgZVp4lBթ]hc6h0mlF!qV0,?Q~/}llj@#cq:k  mvըkLW<آkx 677M=DY⫨TxDu4z2걦Z[z!yz˴9'5kY=t*AEѤ6M$>aưYX E{e m$ BJT4bgL("pPSq`Uq-vBFl[hI`p$b0N*M<Σ} A(lCD2u+g?#|L]amlP2=zWjĘS*GF4P6tqdE*1g6gwGo4qFۤۑ6NԲ!QD{%V'9##1wsBL>vg"T՚1\x"'kFEv3Y|UpAHJÊ؎#Zd؄bJ#|>"QBVYyKX#bU'cCk5> AÌY3w6ye.KD/m|kƚ1櫛sd\Pbӝ5ݢֲ!8Fh^NqoLMT'<~֫FnKM3#xZ*G8ҝJO7N]r0צ[njVNi5ʯ8 0ONU=558'멡Ym>]"ks O.p](֬NfIN@Cpđi 'sój#R͉ͺS^*ƴZA&R:%ިzK|ۋGm8!eotc  75n*DBy)8R0LJ-Xh(mbQ&-aw*"Zn]r8/!)nЛ8Kt|upqyaJNz*^І h( . g8'!}nWF\,jXdit䉂s<\X wx, YmzՐ^UQx ?/.I`3o[>k!>W=vވ":e "9kp,UfaCUV_!k21hR6rm*S9Fŧ!F! c}oJ3!kƥ]RSNLU=hj\ۮMukjϙJ Q=1,]q492KQqubv(.lxb5 ƻ-T  {{pɭ%Jd voON:;VЈvesiXgHE@d<[dv;7QW܋vgojP['Z(laa^АQM$s jt#0{MƜ)gkKbq v|S,L X4?09HSA@mH,#C2vlΪO,iEuIY}?ժegmbc,ޘUZ uVg#Z#+F[m{ӓYC[t5%pwC!gh2k[ݤ=76ͅEOӍBPJNxLƠ$(q@ZqN ؼE6cm|J0^6zT^7% =+gb[4;˨vvp<4hr$BPيCRf5< (>/Y$v|/Oqc}[q ;"ۓ94ޣMhXc_pW KXNNi4TO;5HPJ/ClHwAmU3y݈4U{֟m'stÅǀkIi:Gcn=:Wut1;z'kUҨ1֏ R׭uSY:J`ܤ Ч6^YόGE9t+0 8&"ɷ #ՆH EJXSkLsǛx@K^YC̵j ڭ尽1Jݒfv"WwK6@b4ŀjhd\ Qh}{mnIIjC1ǭ"{H5Xۮ >5;49s.ޙ H4:\o6hg( ՙ{ST83Ñ.7paao-#Y.~i`j gzs"vIfK:$K--Uǘp3cG#S5syOX欷?!$pv)YaSJҦMbpz Lf['uQ8}_mdC[k'c vU"ϒQ ]ix}nX'tSiP3sjsQwNzIGzC4yP:ZZZƠi}NP#mv6 {ƒr|6 vlk/)"(k[<:a#Dh~iW0C|[=^V&U/ qe/t_,L =n-Q ƦHbD35_-4'6p]00Y] %2*:2" $l`J ,OEQODƙ^N\l(>nOX"z>hQ ɡM6}&l <4K- բOdp8&X{OLN4 YvPFёbnlKUi*#Sѡhm9OAzkoU,u5 {*t;"ȕDUD梍E5ۧio۟j S7(Cx,j`u9ȸ'W9Vc'o3N}1)-r +'IaDh٦8I4$ٰϳךX`J AjT{j( kc3Py`j2GM^opDDBB% q#:Ǒ+1,6a>Y  ]6R;vD`Tқttj"u騆Y+d[&y_B}RT9>3!N"Kʢz`Om%IH܊ j8AEװ>7$"06V# 㣑Ok]?!JߞtASQHm֜&ѸC5Ԡ|{ku+']GyJI$Q17ȖL=hbTrЍ$T0LeVNtP٭=Hsc:)uvf;a=C"zΜ>юa8aPaHՎhA@㟅qd"I}wB4B# qDb!9E!:;x"azlrM%.'u눳QpD q.PБ?KhZzLɛb|Zn7AiQmP6#R1&AK*|y;Kg&vE{-jTUt0n`l @! M0t.̷TʄVKQ ՜i~؎\6pCrl!F]k)":`ޮ7,hK;+u1Y&X%U`}޲tPEvS:!1 4x3“S>QPi N6DV'ꛙ=KzS5H->Ⱦw8 Mת`չ^1V!5ڰ?h7:Mv3ڒ!9xbqT7H%ߛɫv7:i457®SMO|::L4gwmP[3apΐB:l4$WGG,v@#6RNlTplVi=lϒw\5gjn@aО1Gx$Zc1 cxhiUlkpVO,bpUfV5&jU:&]UDM+:둥A؞ةGjS55.ؤa+\m\# ܳ00䎛Քj̘"6hi?3I T-QUѽ_W]mq8jq}nEN!ڍ Ɣ6ծaD뱄?Hdu7pdƚ!o V٩xYEcݚץe5S7J-z`+B11%2V]ao0")3g5[ (ES;!S~q U'l;+Df(Wh6 n= '<c_\41+B ;>cv{TgS d-LX*(w;adlXKUtKáv5*iɦH?ZySݰvK`r\]ЃQ}0hd9$ɲ5O&L gk0E't=OO{tO,1FTbF*p@6%5lbF8t_z˜bGc&MiSQ62S Ii|0p"=<xd:1m3IމNrszr!教с?4g"βcu$'p$a3SfݱTRa'10f;-&u?s΢͞zao\đƺ퐖?F33"p0Eݨ"'`dUu{wN{ywͲbqYYoԹ?"+qxGܯЌUoAm)cW=VvdDɝFl0EkN#ԁ[CbnӪmUqU91 m\i Cc]/~u>>tFbݟ%5c jt4mkZTmItv@Rñوmb37U2l6pqd2l܉g;kkDsF*6tMTxFe8wDÆqKFcDJ^)r3˄tXDBrF,]`zp^ؠu,<iqviAD;v^ DD,êm U HJXdl0[y`Ym e-իuu{25H>qRM58O3(URc?˞Q0@ߢelkUKz]V\=\2Aԫɮim-/<3[.58f v+ #qLN R^3(Fk߫ΌVH gIAq|(l 4AAl $G\vIu;xS?^# Gg ȋ]5Uz[-^Fc xv&հԋHBX4mw;1/G3π\m /6927+G6ShT:FT輽~dV[`McFD:Ǹ)i0s&EcD#sWS6O&lcj1)h+ԥ5Fv$^ERKjHҵ&2c4/)ۺi.g]վ#~Gն|1j5 5|EіӉ8Ԍ23)ÁH&g|ct@败=!qa *.%G9Pʙ @k,}TfG p5?D^[CyS [/܁` sTZ]A%Iv6bU:vE3!l;Zodj5m8ji ZazMJr Gie+  <:${!Q6zKHȈѽQ_YV5?ZoYg n5M>b3gmMnSZjV19mtG1_>[S0hjSF56 :8bʜVv+uCvz_&tDϪ;[U΢͒R'aDںpO)>^-McYp&pIkG{,)32j-qe5Kʾ :j۞cƊ[;3F5Ԃ|S6)lN6ki5(ͷRs]hX۝?o0x_ʠ>%)TopV zMy5}3*1b\Xڞ؎=o"q&]=AՔP .q`FBS@#*Tm"*=AȒNlT{eg1[mBO9kZ,X3EQ[]R@4wR5WK `?ΚJxh6zu"֝&!bגl'V(.Zx͜+rL[r{n֫XZcl;Ͱ*nAv3fTDčŽ3g* ` 3H/k64]NF)ĮcE-98טf봸=tDw=J?M1Jb3{`Q$޶)ηnpgZ,-,jzDĬZ˟ fu&"7l #1;@ ГCLjKYw4SbkEU򜸷ZqK!΢?*Sm##=(GXd$#zm6w0؅ڧI8m7J"妺ԡ\3j.n8ڝv%j(4U$ֲR%7[rwE*`'OH)N8d" lWx@Mj+}la˥mfxqvVߵY kmGPԅ|I!۩1 1?e#[QrؼTs(Y5txX7k-k8a`(S9V̢c1c6[KCXPCLHCataQߙxw:E¼QP]Oؔ4\4Z#)I4' k,(֢~9 a= q7g%> N멷.Ѷ#v*S8Bnev3(*;ЙG#yj0+^X` Ld1غ--"| , bħ uz \ 0VHaHʒ*mW ˑ653CUwМsw%rhnAU,`Qm`sw%]Y.pt*@DԊWpdݔhW,yVԫU Tla59ffD78փ30jDبIؑ'(c`00(FUTi` ><"a*j̓\WGQg.y} }Z_Qƚv1qZK vT=ezzKibaW 'ef;;] ۪@-wh'FCiYd#;lz w c4hꇁ~O]p좋Zs~<4^)'^ubw5U rue0ۖuUkSPJtʄT}Ƙ7mqڮGUSa$VSQPj6Ia7 YU7k Nir5ZS ?0Oћ7q<82Ol mLDf62'aORxL@jKwkd&IcaODoʄxGZkrۤvv{1Qa4&)zy]xKl֗pL/381L Zc\-Zi J|PZX4}vvᗨʎQ^筨}ؤ@]aB7ݙ}2u1Fb!N,L0FV1IhVTDn;VT_3"v1`8GGt*呪Tvm,kވBj A1]dJ ]W:t\'|#۞faZ7(#{G̘b%m#Hćq =%qԟȑ4t~LVs6c#`Ѥ>lH<שׂ͚OZ.Z3lҀOm1T65I`T7M&3K z"/j +F#FZuO1~#Yg5H %JPM;Yii+i_.%DmU99:+=Wµ(!oTNZ84.&24F*#q-F^+Rsz+mg,:H7USXͶ,T\·QA`!\h3Ř^DqnLd<=WB}r9 FYΣ-8&r\ڴZA 9_zL:\㱪5Jet@fdQآ8<Gr9v6FtXqη$ihzuJPf '-6A YMf8wU{F5Hjbr8 թ4'gz :n0wѤO-rNYnzM+>ۜMyߞmF]56б@5|{V\1Tdɤ;nJb!1OHiH4<lH'#a5h/itYnGr_[%mWjH:NbleoM}D kYG^BP"$&\ ccf7w *R#Sk-2J͚;6Yx[@hm LI8d/J,u|'fur\?LIc3Wj<8@ ҹUȵY*?d 61U0VQU YJp } pas !( ?FaFwr$2[t+NR^/̋L0?hFHU>a@)iO1D`"l Xq 6Ȱ=OK ۀg84-o/I`]FP>.'9asa btZMjFv& ~gbNF&3q$a< з(@hQў=<*xy("& ^Ga،+괓ܞ5ΖVKW lu;?h=]C~IEe>hSH<0O29K`ق]zi~˸WƗ Uߊۧ[Oe}M6 ._ 3&yk޲|.Z>:\Ԅ8ry[ߒ6e:)rw0L ?!+H}[)1yם_7ml?޾ ]~?|ܑ҅óMZ%!9U"4逥 . D>,u]Rȇl* @L5Ks_hs [Rt( ;Hyо[:>05;;{&׼B]Szj|-\U1t/*ahߣΌiN01(^ %s rl>2M|,':E/V =rFKq՗2$ѪTEoPVV=M/Vӵ/z]P/@0x65@Ph m>z8L GA Jan&\\Tf]$Vƌ5<CHxz(CrVM5.d i ȫ a~X=khh< r[}~U][FB|B7WE SEe0DɎn2$w:C=PɽAV|@Y;R?n0a )Yo\? i)W_dggnbcDupfYnBPGKϤ?),@*|ƀ /F0c[wm|!'o_o.B u.~ȆV}Q~@׏(p?°_~ە3'|*{scCjꪝ)7nûaxooW'i";@xmks)f@⡌@\/{@P". T^ ,C_uID3`SOq:PEUKHQկ,"Gܴu }?~k~JWv3!pE%9o=do RMz ΀7hv~*]؜MnMs_rQVV}/?#ޝG2ޟBNf}~[f=t'~irhOxx;׃V288ɏ]<`(rq;[Kׄ1ZVxE(/bIOFg˟o5KQ @jk [A3eGAm4aj@&sO7닓7[T"़ Л&Sc͕!2]UOY/|+wʉn.dxۖL}5UL`nOΩ '>?6_-Dod}ܡwXaܗ 8Gwӧ\{as"dt.zjL. Kf%YhE~ o xkX`2d@ᾔ+ùP*tҝZْ+V_3B1|%=ӟ2EnFW~k 8Y8e_/} _f̤t0rO]k2[j;?2?LޠYy2B/ ,P{}""8*-sQH$04NeKQOYع ]\%l Z_M _J(Qmhk!Ys˻.m&f킳=]Z(w'>.xTN\rpק-C[b̸?D?I#LK~帾%Usߧg:ދ]3f C@s%t%_zyGqRH\!,޿]76vˢk.FϹ:ox37|$3&0hi(؂~`gJT¦Nܕ3UsVttHw="@#-\7yG/@.S1†X]K闫>eZ=3Dz]ՄKk9kτ7Urƾ|}rgr[;^ _T ٻ>Dl0`{ -BrS%8v!u,[%Ac9m=1x7 eAR0Won75>@ϳh-]O]v@ $j{/QKf{{b_ !A;"vfdI3L`e 7ۧa%Ãy[,% -a@'wAoQ 7SaVbvl8㣗'dR_ ~rTUWAog}EurH}2` 쟗34/Q d7z9}DBk_gun~EK( [忋y7;.&nW@J( ~P'9 0L v\*NL0 X_> Lw@ wdW~}-IH?M!_D+/7}PyIEɗ$B?S9ӏ~ҁd| uowa4ޅ| ˝'؂ŝGQ=-~k& 9-O-uc$WJ+>&;'25T P2ga 8^"01ۓ`+#:'6K;@V HeJ~~b< #HS=<5peM߬b,kOI,DA+#&`br]1Z9(.c"v۰t{=7Y7hpxN-I㐮R\변3jWSQ`IUߥm:ryGIܵliinK0 $SrqpuO\X^&N:BlɁ}`w)>7g7e.5l`R`Nw#8 o&$E'g%qM`n]H3)[ui'  ";]r5K ؒ=v<)kJ;.^-p X& I'z1\_|INI,$Y!n_(:YFLP&iZ{2y0Dr ]^,Djd)ɳz7yNi&ᅡ F GM ~O,{[~ٍf'3)\\=@a%=M\e;ŝ/; ߊA'Qצ7ׯ,P8XÁWi+^*#%cnI`Y0v}z4/ZZn3-q랛=σW Ο7z39['f ē}?6wNq?۹NRd@^?_u#'yi^"U{0%@#ϰ—-.d%ƻq#rjzp;F{lPUעv0Fc.}a&}}Z'r_fc<)@Ƨ`) %úu:lMa S5Ёsz8 ?'D'1|]h5`p aڬ/w/W@SH]{ܲ_- Syp9$^گE+xI4-g4: 7#u=(6+y 7fq LPxB:jO?Ǩ&\?=Kd_s<w<!;L mf<vg~7Ia  /d\yOlܶG}Unufd޳?HJc&.fIΕ U9h.ya.!sSG#k?w8Z9AߒH?wt )R (&^,7ixԳj_^;9a]]ZYxu~=!:8N&r[}BRه |pc~SA:D1х ec!To$Hԏ3[;.YZ len|5|'?{iorwRtHXC4dOxݺΥ!|\Ң=sͧ8{ 7Ig 4ǥ؏ܞcEũS[ S {N: ">t?lT2.Hˉt^줐-f> 6F&%o/m$}ԕ;h*y1>|.??2^{n@?944rh3 K_+Iϯg@)JXeri֖,﫚vI7p%7OI_K*|}²VwOPBmn}-fz$(T7iza\nW؄@\s@ +EW'׼rZK'X9;/!"qťKCS/;ЗfxX_$u#L˺{|MTã[I8ᵄī`N6=%kcH㐦xM6/+͒0'|=8bDg z&`6Y3 &bEu N$Yҥ]-mR_[h;SM0LL Ih 2`dru9|?>;b@& @ޠyP܍0[()q S!;݇WIʋtqպ]`([\?=ݟImI쏥ϫ=ӵ,0ui~˓<@: ry#ך ?1K| ΄dZr4ktn&|M r״ ˇ]^]5YZR2;e?,4F E|tbݾLNA>wu_" Eh\7H3$@YIٛ詓E>ۖeΒ7y&-y\~(NxQ\ݔ/7^EJ |&?,Lmpb %~ #l,cxd'[t\v=>r)`gi{&?L 9/Kڥ`=ȝ}+^\S4?ae7@]R,>fW~⢄;.r,,x[^qs+>\\P1s j(ŭTEWH2DO݌Pb讞BiTtԽ .@*##`GAqr;C&Ă!wlpEW\8\ɢ@>gth_Ez*RYH/m35m[jAHO.σ؞ :98 J7;$ra87E!]DJ,[-.|SV"Ry.ż;pO6Mr25Iz|= \vr]^){;~{z@Ow`V`p=!:ig9//@d/Y++ɮ&،Ze% BjoHɷ/̵N/O/Juu×o?0ƕ#_8?'+y )= 9dΕS'_/Ӱ YG-cv&fpR&mLso_RG74`lr~z?jwڽ7?M}N1 C֧HNXdoguZ?kzA!XB]ݏzhdxC+װl@&4=fVφ駔:S]4O=qnsqI0˥{IRWx[`@F6~֥l-Qd^פBq̉^xN_a="/"ͨ3{9[Eu<*pUkωB|w`k/KS 1~(_aI{O X*.|th@fʳC_ S(" |9;K|){O[a׫j ^bĔ_ Z_os\E/Oo:~zgZ09KKkA0s:)(Rj!-t#[;#v\ yYB!İ!C*56^'Otʞ[tɏ"uRbj5k-N8ltԐ|z(Zuw 䅗)tN|~𣂆 0,HŠnX ]w!ZZgVį _K sd\Cc n+j^2x]ߜuHX5H+(G0mB1U^)aQɗ&S.Nr[?εmp|H%1B_EeH65 6$@ U{ݾ0ה?4Oߔ])XI)ˍS/}>?e^zb\v$Hꭐ@/x̧۷ s g}A]Z#*Se!r'ǻ^) 9FL&-8"z(/ӹP0n6ֈ -dK[XeP)$e^̩|*sL< OPOw) d?LY^Ҭ`w\˿pGqfZ [ ay8|N~nnD/ַ)~otL}rZ^/γHP d$QY o1× !}9 W+OvߩWoڿ>//WWȗg\ҟ_Xm/ O,c+]rpOݯ,2zFpI' P@8y |Z%+R΋@~\˵O%=#]SW_j-݂SIžI24mܹ\2F)M/} ;3""_8Am7`$&t#)..8h KFo<{["屸LNOn\fݢ)}-ʊvbjRI {®@_\,2YlM>]52ǓN.~^4i܏;٠~PQxKͩ6 "Ag4J!L7do75BE*O+{8߮lojņ-ҵB.Y_8IЏADaZnx 8u's vI$.ı;X.'+D>I$N9BX\oԕ&ߠƐ?8>o~Y[G n]`t9f U0@eYv),$$~}۸hN4=Rϊ/gYTbةM(:9VoAR,Qd~Rs ]NOD־x2/s߀sg2Prɓ".\U#;H/?"0&! )TJ3ЗQǼ%7&Yϗkpп~6"E0_˯9~ s,D=8;Xzt":YbJVa1= okY`X-:W 4d`nlsQP~eQ~r %ckvMz`G8]e9Қ,|9LK/jsx[B`w n0;~dQOSI. uK һQ[$h5`rY¶D ߟ]k&[ cÛ KGBt/$5~4g֧څJC\/. : b0\\)asz'wAIjO_>M] G>8fEd %u?29x -b$׵€NEG8\dYC,d/C=;z7EDBo-}o,[[x_O蓼 ϝ (! gR:^ @F,nqz%sU$#1Z3@"%:kaHkd7ƉW;zޓa9]Og.KCxΖ?S9AM<Di1g!Ɏ%+`@t~CRT@'ɬ4ݹw!x50~Xہsm :?M]&zt$`QK4 #_wXV49tTzR~ F v@o;s0H_'~ٝ?,ܣ?fvfq9I5"W)' ᲼"f.WPIgZ+>}gWI^:'])>~yc ?+΋1xξoO5[$muéxx$ s  ^?I=~FɖˊwS>j_RY17=Su m-Q-_=la$P_~  vo8|X[9;Y_ź$JΜ"F8|{hk 8ϻB  'Qoߠ۷x(dYLa%a'+|PݤD^P2nެZ$9M$hN  q(c }݀Ɵ7scyRWr* %K2E>tPyƄ4Y*=_<5WO|)K&6؏ 7,_+zKϒ*n"@om}VrQ?K YoO{\:f-dwg+e*;RV@h}O~K(#7S-No'X?l_~^͖IoMS}+()&y swNmU}%hi(<:ypǿ~!b:i &5j3fAꪟͻ#THovhDelgO?/*"Éڙ]4i&%_RvԁI &ͤH݃H {煀I&^1^n/pe"mT7wz'P]~i&6@W*Mkِش +H 8*n$ח;M#/A%17n͜LIHгQ|?y LJ8Y x}.!I /rs-_ Ynxh"5b_NrgGbR./r*`U"eT0~Q?b; wX9œ?"ltt]7^)gw @[u-.TdLp0+q{%g=|J+ &]lEW'5#y(;ًVܤNyGԆ.MѲ$WbAqоܭ]E$xǕOEJ /KOiAX@yUp|{ӥK!ǃVG/p%xIB7xʏ 1E_dbCn+a.W\Iԕ$A]k딯oEY)mxK c I9Jiݤ4jTvy ,:8=A~Mwː㖛xA`e@^Q^n'rJ7#ͪ\‘ȣ_T3\pU?M?w_q}28i}wު+ ;[g ߍ|TfV\p]wt-MPH@qkoc*)gDgWSf:<}#/w4'~DF)y(1~??+=|ۧhKD2$`]$tXcq?fVhBs>{v|$S/݊w|C_ 7vbfx0j!Z <~yE~Lr([O) VIeP **tudPL/u-oHr64=8+`ܪO#>0 ^;~Nqw!iCܰOYS=H|K/(s״ZX搓E@?%΀<' I`~)0ɷo i|>} +}Kr |M롢[+|Ϥ4:HZg˿g4R zz!cxNKJ.eIE'>6ŗ|M^~_w!)4)u@)d~)aw3 ܈䄗5?*awAQKӟ+Z ޮ&tIIG{đ7h'Reh_5zp/ gf/H I(O ,=cwԿ:zNR]5bS;ˏM&N,x[%Y][MV$G_;IҞ={MRw!KD`odz\˂ܿ:w%>7a-XY7)Ef1I݄$3{{1,0\m}dĕy?Z>x-6d ;DdVd]Ld|Jw!&`vٽ3D?z&/Y2s1k6*3{ܤle>Wyw?>og|tU+=nLLzhpuzм~*Zȗ&r |Q2lt^ߛ6ODl 04;0? )KL΀$ץ;ܧ ħwt( wx=BNf~)¤Mެ ӿXi?x@Hn *U.lN)̞;\+g` Y's/?#Ͽb  HK-Ge[Y]G3,$]}$H1=oaZ2B@dcQKjRwՈBi}sЄ! V %Y^(/mw6e#ǁMq+)B&H TJ%`'h#yWEscy3&x:8c-6oIQٴzW6q ~ykZeiT.1 ۬v/o1)Ƹ{uhߧC (b mMƲN҃, ! r~$8N}e*+15*jL!ѯ=OG{e@q1^HU 1Cdl2$5HA+$ U sZPҊMjNDXV+샠P5=ny0ق&ivUK Ay*@Ӕ.`a! ÷|ȅMЍe@rI2kE28,ü\pY&5tժ,7}53K/0I}EPkʹ3>TT-ȄMIjLĀw){3X*h*( _V@yto^Ո`bRdz ˚KnNV㴣ٰ)SZV;S{l5qk:u=; . vRd&d/ y]b`pˬ*qM&FC/4ll\lxg 1V @> y#Xya*Ja/ םj8"R.h>`Y?v}"P0I̳!HOa}Ӕ^m1 `D %sRpQ Re/ `Hs5"ev.vHBv{&4ᡢVs+FuDC,Sl.`r:,ا[8d?[Hon.`joFh><zDkô_Ua߿U 3Q.s 7Pa/WƢ E?3 Jň/)D[10P;i0RS$O`~X$ٵ/n "NgJr<t=ʥߋ61/4;#! /|@lN *t'袾;9E= (cFgH0#::>`.]Ojz͙ &Թ6^NYW{DyPBGΦUӀ=7 늡B d:Oq.8>>jYvmeP}C]p 3umcIWzN-_]ųTK rB%ph0r>} %s3La&¾&>>iVI3IEm}2[e8Dd# l@rm%B@r?OP2d]$sfA!Q{~\U xơKgm.Dxw%8 KN6lkHwEK^83fLr LaC=8x'sP3h'*6҇Vc1/RVif'`q:@R.f3@JaN̞{-Ŵ0NaMXéGY=.@a8;>ڬ͘ҬzR*p`ߛo2;e*NK:39f GJZGARVZ۩d\jϦq$z]I`w8'Sfırm[]`ǹ^s^׹͔~_0*,˖V䂀p=/xCT2yQnCZf?ڮ{ei Z 41҂{lfvQOh8 WQ]a6p: X8!;p'9!/*<9#$EnӵqˡGDӚVSӬۍe M7tH1DncJD[9-j][Fz5o_U@&X-MT6=8~ =>qgoElFQ.)~sICN2}$$^qj/ K*3c[?Q J ;~ϞNclSwXyKzmUZ,}V3]x oe14vk:0Xv^i(ni Я;X16w3&;~)e~^GUp">}"KmNcGEr=[OKtlAӣ>ªic;#e (;3x]l`jL؃F$P_K=$! o(2ЎrxB}._PߕGBsēg cxijFpM,?<ʼh uc:Ghyv@)]}1%͹ecc 02.; 9hrZTR[hoW*D۵ê+y%CfuvKqEvW:)kpXYQ6W $pqxlZ bbT#Ձ>0Lh8 =LIq]ޮVu_\ëLH`d|g1g-ǟLQ5ⷈcO_ޗ1+׸Kӳs_Zxрk6+SKK'Hpb!rU1ŭS`pXێn­R}%UumbtN)//ti}RVd?>#3XܾV&U:́땀 $P&yp1 R>A׌-} $%WWs tƽ= WrC3ۇ[۬E6 }O# ~%l}<ȼ(46^vp2,,⌾l;W$rn2 px&v^0jP1 Aӝru hgjb;XlyFt? 1~:l{g~YG d0.`@m氣>ypɇ}`Q?W?|RЦZ"+kzNO!cB/x6 Rɚܳ}^R.f/w*a"?dÇ㳗_͓x VNY% ؜d" K3كgt<',۪ oǕk&w 2LM̼oK=xϟs'^vl،xQ0}!N).EZ)9|!a! }l"Iݿ_+'ɬݡ;_7vQXEݔ<&gƨL8x[>XKVq%<8WQmzTL&x2he fLTֺwF:a.6y^li ŮBYn^)x>J~7~d//H"lP_(@k~ѓLY OE(0tza\^(ajYaL,U0V$F|" iGlLSErtݵ-cuzfkmz[^~>0M1СP"ǔ&|l;^6yjMhsb̊m,#G U@ 0P7):DUtovL]n`$t;N>}>pM VLj) cJ_m&@\|u y(ǚ1W>QE 5~J7F.K5uMJR}k59Xd苤F2"1 +&ĪIX/F 64!ySݠ<%7# +]ʠ-N;(9|V궦Ń#G-I VsRѪo@םp!@nhÅaxI0"03:jY1oL`X 3B H#.W)@zBV c#8 l~k]֜߷Ur8/޷v{eO,Cze☁1 ^ gd2Y 2yJڙ%8x9?Xу_#Np {d.?cfff^cN?z1f{=}FO$lrysG , dFF7m!7;- d:ϖ"=v?՝NCL8&j6juE-*^ l ĨgE܏U(p+%t_^o-u^ze,L'dUDϷ\\[q,7#z1{StK0 QlJń]bU\0G ż=zFH͞F^uaR<; ] tNL(.bFтM9{zCM8T|n|VcҀ6/wŲY̎MvU#- U\PpVs8T#bOʉHNUȶDi^y|Par\]A*o;r݂TK n^;\U0eI (}!>X#ٙ@cRVE䧾BOAxYaoY7 ,z@ԉ&6|'CFBfsKIGZ@pR-8Q-QەU) amI3 6c 1HrGйhkhP1dm{Ve#RO" 1:1.V9W=A#Jڧ 4p={NUh<5 V~o'Ny!T2{arg?y% a7_M"a }p;k/`xiN^#oV0er a ͐Nnk@Yu,%:C,5 V(HbyM e$`#FF%Hs^֦|XZlR/I2L#j+A.hr'~JN,908U (lb`ɼn4E]1]9X?CT8-s"'Yn : 4Fl ~Cs}21}\wL~|0XGqa`JoxlŞ&dWb0R|g%15_0uyQ 1B Eoa ȗLl38*[Zidt3!pJاYa@Ѓ{ of\߅EhM'QQD+=,qJWl)biQ(NRK@]$^OP \C|Wc}h^y_Fxs ;ǝ0ԁk;rn~+%~1NK $ryy|rPs;zO!͌T9xaEJo&4ի-pE˹D'YP0Ey1mt`@CXPD{0_^)zQq `2ef 1 }W ˢJ*}/H$HgN!{A7{8|jK2yY;04?dlQХTn0BӛL^u p>np rkbaGO w+ɇޝ94=EvQL L:f=ܔU {5"Ӎr b}g63SŹd0Pʉ'ڣ :jS|ЏVǥ_l9 LrJ#c^ن$ s~x u{Q :G;CQ _& -Z]o[x!!%̎4Gp˸B V=O쫞njdOi TcsMZ.˘^ Ҷ(c{l~7{~Nsק~aȉ!~bNȶz䶢Waξ (b^7g>3mzEi,e;@1дx:ʊ\`ELm&_HAW@VNˀsCϬ lI`5b[+~lcDOWynmb9)2h>ON˪;r=SW fi9ߛ=M#Ng| ` hC^VEϋaW: Nb#4D[d$!)U7y*nPHd k1eF-{ؖH[]]u a,LJ^OqZN2slp%W#sp B)B?/KX@C?ʠKg2\X?I3N}QkK= KiHդQj/HjŽdڿnOۮr5ѩ% UYrδo ¬V2{4!]TBuAa'z,'F]m>E},8Ye 8SlD%949) <@&[yg)ݔҰC;"/-=-~)7w"oP]P'K^bn1> ʊM. nL!c6̲7e8H&^}N/3 zv|wP||uWs.?9eqD"G!ǀ k o߭8{Ӯ A EC:'s#CE`3_ͪ*ٟe5/I1^7 Tpg|+ (GlQW-sxQCn-[~%IWFvm pݚ"^zBsNM7qMrbd1޻-}]ESmooQ/_z6=cMltiVw3 m7voQH=q!Db^`ۘ):,-IdU@f e2mL͊?LD%ʒ|m?e?څ`g#{cFVi AUcׁ19}h /m3W'J|hszvtVQbɡg%jyϒ׳\z%RpIy)HBX"|/)Wal r(Jd=sZ]XLerEh,N ^d5I-}h*#` Hf ‡!jQ#Ӌe8)5=;Ϯ)H3jv}~ao_ܡ=H_Ul=T@jH^(1\g:q*3G=xrFQ⦔o췟 UۡOg N6l֭f?TQyI>D 5RS:m@Ӳ?~A/K#)$ sd gh<?X~qYl=:k|iWh}#apt~6/@**/M#fuіos@g@Bke߉v*af\qXMeC%ٷt21!7=L'|B;SS[(mz 5awQ;MEHv R!E}n^}2J,6Xس^4tf"BX0;gvPL-yL N\2 ]7y jµp'DKΓ(˵o{=qΙ+U7㊝05+ҬC w#qSu EK!0;:wI=PBߖ+B9﷥u}=gtPw=XB§Hl )C"%0@bf\J:;" 䞯i_}՞C}u&29>rE!6q@=vUBL#,ԢTΗHv4xп=AnuѱuI>:;c{^-ɳ ~= $w{-"WI r6[R˜47PFYWtRWӸ'W%QlĒguBA 4o':]I/?3gKFc R]drSg3~&\2+ʜ`'!q%*L=Ew %0K(K.%S$!!6ѪkR,qS_*ZW ;Amq}VZOvytE@ }S-O٩D ;vu~Klt@ F5(TɝsL; Nv9-@`Ru K,Yx)tx~n8b+i։:oKe;OL\TA~bCzT } Ղ '8;~z0~5[?y6p(@6Y0a4y;z맡k Ͻn;HUS>(֯\*~u~}n+_t\lW*fE=[U/rA=3`pcKX=ްV@0Ed[ղ^/^N'='HX,f"%浺IV$ݎNM "@wcKfe|tt((|4Bf:V{g{eGǽɎ07 X57Kk8ZeڽqZC_LB?Ş.HOOR&c筕KlFZe`/"G?xu4G]M z`O ~CG%zk~  q ]98|H灙1o zoYX/ȵbU` G.k(5{$~JG[^ywtͫ/}s2 4Pd@h ^ޔOpv&5@QI 8p.u4|K0j3œV%j,r.*9G0ŻXؔҌu").vFG/̋Q}5rF1Ǵ,s˒,ܒ_<~웧o-pOWl;Eӕi8 ۅ-QcKŏ5uc{oi okOma2ASB|OP|fuQzݳB?{̓'~y=.xPzB#RW580*5^>@/Wo d1q&S f| aԈNcFah1| b@1p]L:%KLm0WAnr1m ZhYj([/>Z\Ê|,JClli NW`h#=C!<^Zt́s<PqI 1갖9Hk؁8ɂIoV 7zo&Y?e搛k,MnX{pqMgp' ߕ ŧ!mV{!>x[0e/j$ H <8e,ekTֳB N1~]gOqJYEW\#յ7MXUjD`7`b=*F]1vGuDDķRkN5.GQ`ۓ;&mepBN=c;yh[ ==|:q"=ha}l^=\ǐ3_㛑]Z4D/ow.w{j$]=i%Nm$:-ա f _/<ǖ&dS7!Oq#!N\0b l@CCbY!Ie(A{@i|\C5Pߪk _7o\6:.G K!NhotiDoQŀ9g) { v78keZ{ s#4Ϸ譱G-lhl4ٱ0{%WΊk06YP[EFn UîAU;ҤOz1Z$C .ڜ`Ky?ˍs]/ ʙ4=7܅<̅{-fAk=ZſnK Y @PF#k#ݔ2'X2pЌ <*uv{{0nAGmS_ᨉw,q&]d{K FHbt+Bއ7SgI#o96Z]z2tw>k UDMeru{u!s4ҹ=:%*Ѵ۽`aW\&i>)6Mul^jB,,/:8Tj0;GNOLm9^sV.]'v[)RǤMG"7`S#X`BS)8nƴ-EJhJLAROy żE:{u f!"ՌPLixmՐG:*Z|jwO:#tVwt/0M2?1zi zb01]sfI+ Qapiqqo&޺n[in9ԧ}C:F Punzka $@>4"O v?A'a=+lԴ ň|ri *E04'5$D:sLÁOTU4}~FUq|e}c@M9Em/'dC^f^?yeVOgl'D`IWC2ncyoN{-(~-~ږfK pwk[? j^11Oo*ݙˠ%%,|pjK!lNN' ]-R}$R2Ȧb2Eℷ#)ڒ5 -㳴%rBHX3áG6qa-fL)Z|wZLHw_tZsR* ݣ굅79_x { WW^Fь^7+9֦ϭ'Hu$miZĔXQJQ$ʈhOW44ۼAY h5Hxkh7-Qdf]J8 l:nA"Q'?- \|tu9\իQ$s&ȹCӞvZteυ}74ũݹexËp"^#?@Y;7uؙ`? vÀ=Rn#`0`^!<ƗW X>e~6k DGɜ3("j(~Mˋ%)2[+woxd9~cJPpC&v4ژ3IYI`@Q/=1p,Gw(#.{7=4eoZJ O,|dv_/&sZs9`n.DLiٹokտpuz4LM΢G pr߂z:-F|FbfɬcC3> 8p `&bږ8GOȾhf N;^o<̚mZcsb>6g296XU{( 3v:yGj-e@&fZ-Zrm05G1XZ]l]2u_wE9ɚ${҆͂R)d׃0JzyKNS9pߚNCz jQZoA˅ +OޠA޺dgTQ $e'(C֠3F,nhXaB]"eAn̠ R5h]y.\_N1_xzV_Y0ͽe+؃1\=Aqn6K׮gko!3 X%;_SQL֏ 7 c:8fF\Rh"d`mC Kƌeyyg Xt&o+hGm6m筽qBDt;m;o]Ӽ.,xtbnzY'XP5AG^r瞤m wQka=4*KkRqQ}3̺ҁn߅>"7pt@H\ا,]ܰqS6-iӀ N>!R9k%[ۈ[ \]VQJatB_\xt']қ09H5*c 3# ]=Vu F^%lTOQOB  `]b=7bj;l%vK,{} WX. 8#0 Πi=&x RXǓ3 ׫A}9+`ܱ@:i-}ݺcB}GZT_L۬kpn͞TdnKsBc0hA , c흨;Ix nۅ]Up>uSfsdo\>SR B Tsd7EZbwŔr/P"bٚ_n 8J};I&f$NEbk,~g=-N sfNX|>h!|r""L)'T,.nF8|a8{yrᓭyCKrѾ\;\zۺQ G?DϰC,)X]`T5Ow |S͉]A.A (R\ !@Jk\!N .G55 lFwp ӊ;)l4*\.3ӂ-з X髲Cb~Uw{`%IVWp)+\; ߗ مh xcLϜf+ *$} Z2jBEnorC;n!Ky $N~[CbNo8X\4 f aP>Qy; KXy}~6a-?gCOϿ gYYj-]pID$Jj:nABk3$܌UBL' OzhhjNiPO1z Yk q} fyBEc BP?;&3'>ypt|w$r>{fӯ~c/7bpj~nkB jID *Bw%(\4כN;FSޛ L(^l+˰xFIARFXhlH}MS\bZl1 a!=P7j_ZSEld>ЀHT[Ҍ$7 z/@Ir`OvSlxÛ>5td hB{s)K3/ ^ztn/m-(l%`fN#l|+?/xԝ 2 Ժ쁒dhP>n|{ nfU5&|ҽAzP#`6u#3xڤ@l/\D{`|i+CYZ0o R>k.{'@ji>F ZңH䶏(bp˒ 3!-V+nahXAFи(7F ;ؒr UjċӪo9V2Ȑ{ZwK7\"9}BRn@rYLHCiB}㪈|*Ssju<v^$p4y.ls_cwz6vM?}_1[|wѐmQ'O()m>R2@km5-hac81ᔜh:@:Ogx ·K0[K-`1V+oŗ&, vbMڦ^U#-xƓ!I$) [K]WnIjwdN(s'ڑ% 9 -ý#~߉]B&[m$~^n+.=\<FvLf5DCM"cr CVښ@\x# $_6?^t>guB<׮z@z8@%Byߤujbз +'L-2C5E`~&;ҳUm <$C^aۺBV2=l]uM&j84oٌĿ6mGW)n &Mb@F[r 8*2PZ Niu: Kts_MhUOm&o)K6f`Sz&UX#+F8s3<[:E<%31G,qG`ayϦW$tW6E٬/.K-و'Bȟ 3KN/*i(|[]Ԁ`bwF B|fe mLrx}LWGY'΢\^by uݠ/v$j^L,?nkx]\&NKd;Dq txΓ̓Ncy)iK;"]7cN4Lms7_ypvyOR*w\F2[_Y?̫(! wx42JKۗ?dO}~4V} 3phj .E/ytà!,VfT'F7% Ҽz (3#JOQߍѓ6 .g - 30(pFOF#sY@;# P2~!Æ-' m<P)Dll_eh?89⪮ᔚK2< hm2PpWϾVg1kzZ9^z5XbT7j6zڐuA(<2V?H,oIM傇vc²V#,FBb̲jV7U·# 2D& ?bד˚5{lx`u3b ?6kN]QJ躥K2{rUv&fB6:w=zɰy~\K@9~-[G"zZG=^5}[a',jN'} M )ShpYsutOe-t&5bTPЃYn\PꯚB++X´r=RE#lb۲UzՆ;]ISnKB*Яڊ ~,$S!nDx2 $74~.69t=*ǂ9P'`f0[RNrhS(3hp,ow4>b@[iYq,Ųl13jCiNw2Yz]vӄ=J(5oKIB(^%CoκH+ #:j`X>I+^sd1fDl&J2m~鸘CfpйYuSh7 Ӱ%$N][CoiĹi3#DxD n{9h@#R`r&v. CQzͳoGߍ^ w?5q=er& jNY'ɽ.([+Ma5 L>n0=^0& ʜ#I&BL'|pȯf^}1fs@x UL4iж@{٨ke^#A>;bks|AAZ@ r|4 TWS0, !;_CBD28s""Vo+P`/1u̖1sxv? $6fʡ˦鿺mNcopߙ#}J58E#vo4uH˾txL|2{gjϻ y{cQTLnLc@[Yj9uѤƚ@_"=xY4T* {` S4u^sw@YI@ҴLO 㭀YWB JB3LDv3Er̩Y3=pQ-Ѣ^#NRD\M# cKtM7R \pZӍv;ӏ>ȣҎ,y~%PK] v|;:j|t M8y -!qyO֚w^9<4k^u#W&>S8CKb,̙HPҪDEw#n)Z V5B 2oՃnGnjEwN %E 6!HT5R6Q&z4\c3WW%z3DS%&B&dV.ax($9(@guHqdED;0ۓv)du=[k89E?. -'IO9; Cf//ĕb)K"'I7k詖4i2Ob' Xz//Mþcw&y٧#'0Xd̨8S^hJ mPщZ~H,Da˧WxzB_@*3{](,`i\Cj(.iŦ ((uV^NJą'4١9&Z9¨P93oEK\VxCRNj;IJ@F{(oAj߸E  3NN , ps'H7zw'%$rɟOf$.zXd "cM ix}ZY;{1*}W D;k`6|XBϝ{c3-\x5VL3b`v u-E6Wx<||"H lZd]ð#<} WFJXb4zџ@- ?d_~y|dxCNy)N~). \ 癭aA؅Pyit>6|>L`Rw>[Ԣ^f* bog)RLa[_o%Ɇs.uk}4SR+ۊ:  fm U3.b^&Ch|N9+9ƲlCm$X%$7DGJ(@뛭#/BZ/Q'trL -8K{5a)J0VoD~"ZRbwfIm43NKMJNv?;`w %Px{˧WJߛSLk Σ(di E&L5dq P([M)q nA=9mdž'%++߹m[[ж CE̥ _D ұ$|26"< #[h{C x cHG$wY8/<-7¬U_Q<_xjRw~;?a#`0ƌN=~hڃ{C3y{h)HQص7|8 _ T=gCмjK.bN.a]]F7#udoXMqYk ۂTٿ1mC.aFs'-dG+{^6T5۱n rcbPbfc1#- ͗K/lN( o:үuo?{ OqgsƔ 5pgoh?#3r P Z 9^p:}d HLgnlj5qQSFXP˅AaLʬkɿk |۾.|Z7z`_A`5aj``7X]x Dah5`|<պt8H\LF cΫ?uN9Zyu]BTkLX'(W Dl$$iJ2zݱyuILA'Q"Wu0mX)2&eZ c` m^- \Ș,*!p-ԪGWk9 ^20 &oY9^ĩc>\ ȅGGL?s&b~S(+7L*dɞre!Ŵ^ีgW6H bɈXWp9:T;䷘G6)Ͼ!ZY`/ 9qA C#{>=XlmZ>s+vgTA0g)q1'!l-(6Y74be< 0G $w3ZXPSͪiz @V+jn #S!=B> } حC"do1ݑ!_ B1t,n?#:Yщ(6貋3Avg1Ug4ZI-9@T Ss1{sSHLk)tgl(Fr4K`qq ~릸|BFT/ɻO? ?nd<<Ds*?ZE~۶|2.+R)'&qCDp7g|3٣222 *:&γ3WBLe*VkWС?)f[Gq/ypoXE<_PcHWbY]%xc=<%zfi.8ׄy14U3 rqP>Q82r$=]!Gӥ\/-)5wu9)%i]F%rlFүHxwAff\ )#k-2 bɃFWRwbߪK$R0mJH$3ƻxPYtAbO@V:69qP&wvpyӤce뙕ߎ^})>:=& IϤԹ+PJU1}:3?{ymR-ZF#OK%X}'܄At *t+ȠUئn%z*ϼl41 e35Tqohܒ xJ% (}kN'Gw>>O-!9׽} h`YunafqiT$[}RϮblGE4n}Ҝvw9b`:.Uau ͝L]TةЙq%=>6"Dd_#吶t}Uv贱䓚+ YB*ȯ<ck'ɶ drgF.WaxXlPsu9:tÙJ.L2Bķip:䟲6c4㗪Y}f6?{ d3Yn(^'`ÞN.,p貋0SŴeXd[w2fV-V3wIœfuήjfl<dPhz>?`i$l5%&}y]` )7T='aJOgÌ̷K'Vtògm[XR%n P1[} BKV *:i]/䷥y{S_ |ʶ!b}/a6!2p[FӠXa1,XHgkC:\V%YQKfewdwJV{1j * r '7-x[ISqªÏAϵ\_~ѧo6r#`50 KOJ)ajWӃP?L0Tͪyɐӎ%zpY.t$$jn,䠌s0G2ƈ D(o %E[h({" h!AgxP)7"l$!` T6~7.`l/H94t-t3Nm D;6^X8Um&0Ȓo#pД\GŎI-D .pT 5"`C5@"ȼ4dY_ p̩fef(h<;42Fs<3JL_ptG \Xc2cf^(5:x ҸJumXHNIf8 N[{cy# ⪓_z*7(oSjVQ q4 ?)Ï4Lݭ (MMYJnG Ǥ82&BD,7ʢPPSR i\L̼glOr[ycH3@S5OQWHҤ0-.הXu|QM !a,9}|&`[@30kj6(: 0<ȳV)v#5Ƞn߆\h"8b#Bn)0ӖͲEbFD:DzύVԅVt}IifekLά 㣪>{ ',IMF잙{TG*tb'ř>%`4fwf.l!GAAY4Zw觢85z>p$a'ƮXTSqIvXcY"|گ%Zq ;ć;Fsa:kod!ı6 Ybj#) 8n!,8GZXcƒTeWt1v.yB Wl_3ka$`dX.RY)olSيlD6GHQfX@S!9uI&/8b%( |\fan8c8P/orTuiqEFv S*oad0u0yVt >[t!ܒ@Ûr#1CS_>YGgVҾZcuk9=Pb?!&֤YE΢T\+G۟f.M"&k;UA{Wrc'7U@=&k ze"*K<#IQ~V4fh3[-5׿}uYn%å䁆F7NzیVN!Ҁ,%/6>r$9x`.=Q)v+ Ow )eȾF w 9!t \ KvF X 8 zחH"0%8Z}kxrÚb1ݐ#zZ,lD:\ֲЍҐ'/mq%ՙa죞=2'ӂ =}pVn=∺%J=0مmRXBjQNZ$R9\01.(* H7u,M!<Ay Cj_'EDd[}KN n<ђ7ICP?Gh{Ry:V d98?hkrqKPK$>?]6]ABH$DwDV=GH*ԃRpd}Z<Rk&2tb}0p\O[mDBkGe)XnC dD$c;~G2y1?2M03g/؍02EAIULGBrߺ^#DmBfQ xOa\ ^3۱6,WBJ# 97::]A^T$%h+ЖOt&Fqݰ{bݣ,(R| ^ժLĈ-x 55m~UmlቂZnJSCIPp<unck4@0QM`E32j/%Pl&4J,1*c&['"3&z0şѬ~gO?"8'hVAG/5g|$+1f(dd=-3/,nU_trGe3.a-/My.x=M#5U8^U/8MH0+4а vfTiQ5WGX>ʔNf!hՄMBț.^Ԉc'(j1|׳b#`q|Oz)atص9dOYg3s~T:bάIx 7X xQrAjKCׂ9DP# % $tEf˸Q&eow2!6b b8"߭K C;|axBH)TVUF`l\F=nsϻ8y@B ad^:[Hs%t82W d8@}&)'9[IXT6o Z,EqUܞƷ XLi)otBlhL+JiܜZ%ea0;P͢5d?w_bkJ7Zt'Sپl%.TIt ʙh`Q 6L9DQRMrhGkKj[`}4y$m:~xeESVr޴/=2"7lS_wf&P6b/5&I^Z _miK9ѐšyZ(YȧbRdOb%+)lv պ+r c{RI o˻@|k@;q&YʜO4p_y1MQ|DnKoK`} M"¡DcQ"ˡSnV98ccvNi"d"Y *K(ȟآrPe,ӘZߢeHK~lz[pmŴi7$vxsmu ےe?`+ upCu6&ߕD M); )MrCvO<ߌt~]'jBhCL?+߯R碬W-I$vgU#r7ctE]ܔ%ʳj}y)A`rŒwlMF$M'2X| BzbNΛ8h_74 3YqJK(1ȹ~5\*KMB$QcԳͨ!M__4>xa$dޏ'n 8"^<}E0h* ơ=&T`>g| h(BZ#ϊH5MD IpQU!jL xPQCNm)h0]Ѭat$-e FNOwpx^9o*Vb0SO9s SUhgCZ~8$3$f6Aq;ُfiԷ̓ŘI7u<Ai^GInA>vr4l ̆v|81yxWZg+తGEQsL+.8ZV<E`Tbdz>g ڜgp "71ӎ^ pTh6/Ջ^K YQPU~П&[8q xs z=6s"%ncw,#ʶJ .C)qhE@nÃ80r#tKoZuot  68՚]POwv3 KR;jFyqC狋XMJUx.z.//IPR,abFX-1<2PSHMc]z܀6p/$ܱ]+xB[-)2i 0ig QQ9^(,ԝ %]-v4v"^Wp Uv9zAb LEۋ7ȶ7!6zm啂f f yoA%GRxMʻ$$`kjH)&etV?IWzAɟԼ8z_EtݤK}2=zߣT47Ƹ#KP>'#CnѸUG/ jtfV1^ :z:D8MΊq h6_cl—SW_[H*`UB#|}f'D) C\@r /u Ma97!ȟcAPncV  8}Xɦ' ft=U+ "ǃby;NKV/FPVK`brÄ́zp^on٫z:HB i!\qQmEP){P'4Wu9b8t8w,ܢ%#KF!S|RP|e]9{iNL#]ZV%j4ºyn鲫@24zV n8@2x>5 *r2:Pw j׹u? }r'jbjJLgDj٦ZB^%+N"'ǓyX}LWfk2iJq'>%q 1\GMl䶫DgDHn"]FF7vznq(֓(tB5X7篫+Hcmig e&-9fçkeX?v`44nUD7p+ИH;,{͸!EZ:`ӻ\9q"-׊y`@EvMh:]!N*V5ۡKUf{n;qC RJP\arB`Bҫr9\|U}NӈJtG~ =7mG?o ANv?%KtZ-T%FNNʳڽ.nDC,{owGʕԤA@حZ {O0@6a:0N2Pn$NnvCS:xجX) AJ.}ݴ.m{>.#SEǒ#" j'2{O ` L!bKnϺ*[~9/kU"s6, zWWxЂA"kTtXo׀ayz!U>hK)/ql0@\VWyne_]Wkqv~,g]Etmѱ+vp?tkOkݴVtDη/@I]CZog-Hr1sהť-$K_4y`۠ GDFΠ'Դ9>7l I7w4rnv^ඬQDz{ ۹^K('Ge*y^Z'h7}9Խλ3>`g^ЍEgS3)Mge"A.}4k ڇCjJwB+kr#m(Zl U0 nY8u m½dMYGҷ4'#|#\R O-藽V[rL~ƾvq>.=1.ȸ0Z$:}ztCa" X5c?\YkҨ;J'׵л:: ؃C q1u貑->fsH`Մ9͟i\{-nu% Tvh\(FK8AMW)MۅTC427Ѵ_yɸ;Qڈjp\ݐX1Ct$DL0dJ|2PH-0 ):o,A7ҏHvyd{&hc>k2t]^I/ЛdtV'oQ wH__""&\NF|R,AǪwPhdc$*C t/8BΤ$a#z~.i)*nKi`rGIgnXMܝ>;9RӋn{N Q$:*>D~faֈP=7tqSǍ*wxKz ͞uD{cK`bSSoFő9R|n8JNhwJ]Wq܍o_Nw[1՞-|k!2Aq8{o org7b3g#q^ߘ1ֆ܉;&9M|g38GYh1YڃCgA܊(a9A~ES?GݖAk*ix}hKWMA{XwWJ0S?; ^xG5)ȿj`!'t!H^_%ǻT5 hSyΊ7t2'pSV'~&oӢ֜Hhz1$-<$4X]u?xbo|Hjw))"C7!,GUϪxxN3JGٰ!C |b<礗ohN1@%_{mNBN(:>&2bjh#omL3m2iO)JƷz5xwMncc}F<=nO6^I(.nǦ"Q!%Q:y ./1#íj9TA^!Pt,rSQJ;^ޱ8rY"^{w0_C E) $o`}`rI<:l]9-dRq7ղ3}Iܟ8lױb12;0I¤%/xGhYc) ,B݌'U9ڑ({ 5C uAi@ⵄ6^5T?x])_4N-uғ׭BOJp,H)1r5 1Uaf D7%w;.0f;`\IquXLe$Vd&þDMDK Us~I&{־uH܁}+lp`IdRFR11^@ &`Z%6qsi^2AYCCYC>v“2 ^-ݧAF%^-H$9z pA;shM-6l˱TTp;{{<^G$ PҺ̌BĴ?'5?/ґ_NB?J/P*U#vyW#nNާ=;6A ɹm1u*Cjwsm¾׾El9i_7^)ط&(\uKG **4ݦ阹|[Ce[Y }kpBP-9Ok6;CX]>惸WHs[ $qd-K0d:l?ro `IhTBN孏 ?ZQJޓX' C!@Y | @F?!X*=lc/soJO>_|}~gGWۃr~lVˆb|>S|~ɑyg|駟}g}uk `M˺^m+yع!M̓3yل;4ϮX(8}C$u̓2|Wʾ~ITkyl|]@ (#DeX#f%4EtX^(c`2*{ւ4 MVK'V2j^:I9H_7rQ"wS+m~)/]@1-6ƫl=]UJB٪'$ bޝ8{싙qۀDk*'p Tb 0Єxa Il Lx=q4NO{GG>{E2/[{|6_m_s3"Uyь1xs[598dY矞M, ~izz إPl˚O {tfG᫔&OEٚY1Gq%sF~ !ȠƶPo_^%tn.d] n#qB';PUhJ_5x$JLӈqH=^M@!P:oXnE l16L"x̙ÉMM_%zه޴ 3 XdDB9$dp@)ecܡ$+`O!&a߷OdD]x [px&z(O^ٷF-mbC]TlMY𾁣6ffIdsC׆ۑK`.b]N̷%.v# xd!II0ۧ4&S\)Ԏ8 Nвc6XNxK x3%) 򗿠v0Q ahRyWC1s O%} K gogj6x0h`?в/WIZ Hy&7̌N08&&=|̞sda`T@ݐuL:9T,Y_ 1el̯m{?3 PU^" a"C(Vx*ƭ8nj?Ohtܧ(nYg9˯^'SBk_~gkK\9C"nf91ٓ;u@f ݗ0pvuҟpص>}Cl |HTǓj_cڟ2]` yr(%1<1FЇ4izEP"S<VcS. t3rNۅz۬H_k!gb yK$_qEӅ巠ho' Cצ޸%CU'y*=N8i&'ՂYKᘹ<з {`٢G<n%;j3eӿ<}_=9NOoR[D#EԻ^ V58n(ȼ1#]΂+ 8'r`# DPB, c3W K x"? w.^̦:{sD9ⱛ_FlJ'%8dKD}_MHaQΎ]rhل -.9e ڈ YnUz%<)>GRȧLَHP/ę8Ao./6> ?pEQY<ǯTg/}/<>}BHCdD{ N܄}g?|w_?:5y_~fbo}vK2rA,O̝%zm.N.;I/G+l;6D e΍nB𘆜KD`ID'w;ˎz.w@Wh)A0ЅQ( K;+zPi51&#"r F%j\f] .pջ+#@؜F?>WE9!/7_4x>*Jo?36 3\s8 $O4zq KZlؽO.˧Vn=J`JJ㐕ۤ}RYg`F$gxk}|SR4mEY󼏪f\Nż;:YOk2ȝ些_r̐lplGw.t2m7]:)e=?>5HO&{yidpJ#_y2t# &.=SJ!lRShWNo:gWuV@`,쏷}]ig^'aq;  !Iؑw5X].((/1.hfZ+ZΪQ;^d-t4uA({u^s"]@tEN0v֎N򆪖_^)Xs,+짎u5}'Q'ƣkdu% Q]p7O߰n#UTI=`&,G8cj%r[;zp#i*L~ߔr1"w΋`Lr=(8쏧Q߮L?3uu]`҈ ľhþ{=b|rLǹ,j.xԜ Nstǰ]=B_xW,ub\=% m[K9r݃&fs_7pvX]Com –oY5-(oOnEʭZЅ9Bb3i:s}_ӟ]"P25=rpFOBFVEm&Njŭ$*e#3szS @J 5[#SvR-,=WR =ɭ/ &BN~wdpL`O5z" ːXJi(uG FXT~x׋mdlH_!N'x[`A,׳ Eadjxq>ʍŜnlL |~n:(F~g{_|0/~>~Φ QN}:aU ru 5KM (?B0ڜͦYQ|9X7oP4sb=9ډ[d"W0|Ց[8WAhZwr7" ˚zCEu'ֹw syˮ`${5~ДfF`kF);hzJ4kp~> EB*7dVŤ.f2#ꪚL ُH?SVRl. c}װ{p-wORKUWK87PsQ;Rooc V%Lߘ ٕBUd@|nmhgCk-;z瞵bf^`AN>>L& %%kώ](BeD6Uk~GzdH &N4/[\& غ"؆.qvTŎ6J1 b&ZLV爢zQhD%P8?6-hGߖ`Z޻# &8+&A"Ѭ\e!x&ݞυ.-څ5CT Asu&/c~ jW܃;t4yiEtx^ *ҫw )8:Ӣשx%_1EKzUӶ[`UZS\7%ho,MY4F.!H<\_߶v?<<>> _ l44:VB{_2sC*P=8'G(._(UY2hTmPvs9QwG4J!#̪k@I u #YE22w-\}8R W)B&s@a=*p@pS#*OQ޹뎭u=w(mϤ6> ^S"ttݢGM݇AX]-/6MD]8G|84;jO6$,Mr ݄TЂz !`-0eYՍUs{C Ns A9 9nCtņBu]p ^*CmNdZs}>zb9Y62r!e҃s&=RgD{," x8$+*ƴ쌚?%À k@1[ My̖FNNQry|>dyY&Tu㸃}%A^?3lٷY>T(qn&.WsiY!^2_4%9mwn8&N<9Y8n20"hBNNe/Q O !Ya R쬢D,qLP4EwK*B&/9hȸ:%ͫW 6J Ta#iC(JmS7dCP 9CۯHBjSBfU4=+` YRaXw0aFbK';/ۡz1WL9e)A4 J\#wn:|42C]ҔsN$!`n0Aw.E'dOOj_ >hjKC刵׆o/yi A!MjhL}Lt-ՊlnK%qAs^X$finy TV֜u4bYbKGS Z//plE誅+ٳ3kZ";[M_P/ņ..)g?Cq J t*Z|8JcY:#_ \eH|t fPZJ0h#`ZJvvYBm1Qn-vBs'$ccܰ?|ʹ:!i@2"T(kfg{ʅRPUGJJSBxʩ4IӧpMp^q_= D dw z➴sr $- &ӴxmNQOp8MI4:-/yGix$clAF[RCHquZFh`ܔkZ ѻB lT HMޚ[RATb4 d; x _fO;9 CC5 Th  '! ;tIdtGt9mm 97?!WO^30͕1 MGQ$Ȃcnb~BlJ[,tb_N-ʸ(L#UIBO#'6`7fe}5PE74R:GM7K@10.8Ld5_p9/d.J 51,o4}  k;;vFy cÓ\ Gwu8?={>;:8z6+y~8WryknL1S7-ae N_Y  gقJ*oCq5o(iTu_T%.°$f2wN=OqZ9GBɓI-qZSs^w>Jc xz^o}-5듎%+8*;dݱ ~:m鐃0Coo%B/Kl.G&('p[eP P{]ձ}-cryQ8i| *ijOqX!E\O҈+\5vY| )am@y-lY$Es VXA\6AP;5ndʲf32u\7Rྞ;Pk;ǠQ܉`’*5|O,Óvb掾ESCMT"2,hH ֈ]]I3j$Owgq5Ý:/t1M[? FM;X0wDoAx3??Ob|`O?(>7_<8q Lui(q +x=p ֗eax y(#G]TMEXX!٪z^8,j0Vp#Asc"]شOx 8h=ѷ.02hlt\Ս_1-"CuP6zOX\}< r{P%;bYw(<{r2G=t,ɁBLk!Vskt_`U`]A-05в{V _ףz][tYRXv$/8;*.3/GVEqaM1ZN?\=Sz*;N?d^;zյjO D+ F+3~3x$<0C<{]LiܸZmd[<7܇#Jy Lhîx=jOg"dމ [x P_3 ;3>.gͽXtQӲ/]`AZ+W~05*;{0)8I4}h.Hb.$[]#tfJ>JMsnzF*\;nqp6ƱavtBv]7+jGcoU%$tOWΜlf>' 7=DkއF[R&*~S2I0u_0"S/uc} ur*QPv8fr91zbH,c$30M!jv6ҥf`"ҮHlFY14LzO&.b^a-7v[qOx98F>C{4' ߖnb:>.D_`GE+Z0xE(\3z\žM/87h JZVZSfF6o;{$`R{8 nGlb86cZ^LC;?Ύ-gtMsL-M2[`wAF%k=9sLa.^91 u"u prX UTӻ ə $vǢPUeauP* S,%Bړl*"KQˢ79d0]U ljSYwι`9OoS:Ler'}SU@9xR7 #Ù#& MrH$u)I7"\R&f)hXaAjnk')?"}W3HۑҦFIhIY±ߠ}?^wGqmg`)KMkNm~kyeʪ05T} Xu'_2`n?tͺH(\r._pFe)Mъ&e}`Į.jvJVHxܗ!aFm\J~ E 4B %#$aŪi8B0cf̉}‹ZE iԀU5VmkA`ؚAPP* V SQ4|ʼnĕRbMN2Is; \pJ f5 'jB ӊ-'ކ=N=$ q053ca*-~,A2ϿREÀƳ]8I J)h*lW+}",Meᆎ 4WPZr2gt_n [Bڶh{8ftgSLMlxZ` `Vf[q0eGā ji`dջ̓!]i;SwgpT;Y>x0}7jxJNݜf{[MVo.CG-X5S-JL溄=G6Br17!zX)9!c~B{`VZw3fb 9?_Ӵ|W QH[ƿ3jP#?GXQ_`ӟFAFݾbmGb1%_ |<Dhj N4*&)\g'e"}P2NsI׸g_>LH07`k 4 ΀ fQrgiR+T^m5d ue:G +1ik[DODGwz }A)fwS 9hĀ݁en؁ٷ %,:+?r=-wN!pe]8>g^TW#fg(A.ivFI$آWANQS'#o>;?V,l#t,5 (oz ٤MiaK8l;>k2IˬCtqb^rdS=@b1gw ChV\6L= 8:0u @G=qfK tE9"TiQF`NzjS@6 _bKmF_#eJ@@bjenӼsX~Ja4?/ʔFofnO5IyJ S^s&Oy%4mߌ޾~M*<6Sgu@-ro?#kB۝/34z|8RYR egÆ1"u^WIHD}X%#JܸcrGƦV(pJ s _<sD#Q98TRz~pi|ͳ5ҙi˙n)]GdwTѕل62\wDDG9C᝝'#t8FǦzpQ8/ T%͛7P+1=RanrZVl.;%0qYJV?QR3|&FѲӄpXT29dD ?ɲ^d? @0S ]r%D/UU>*D]{/I 1P$rj 4O\,ˣ3~e"'>H^R6($㹏*- >dt96۾"8#"ҳe`y#,;dJr%dՌ夜r=Q`oX"0A7y}uܩ|Vu fٶb U C!{S9UND #|QFQٹorFދ) X8.=,|8peX&8-ꬆE1(em=RS@^,|>޳* 3>Kߞ2xHS)el3(N Z }a#tFr# ^`cO nk @?R'Y TK88|7*M1=-l^ak5`8=O93c]v͛G&w<6@F!Mc&9(ܨ8H2ReSJtIN[<[!ҌruN ,`"^lF͎?Q6J&x8FeF/AYmr qck̋rkzEHv)蚗)&60Hf4$690E&ˋnV7⊖udΰvZ" p .zvgk5+:lЈz;_;u j:P:+l3a3|{3kH`X9cFÓ|L94h s݋> hڟoh f4:c+'omĵn|ü)!D`cdK7qleOvl,r&\&rJ^L̚?=kI'b!d-#A3Hx_[Pىs@ CtIpF.:TNqͦDbJrO)(Ņn2QSѦs n$\t.zϗExQ52Za[6&s\*t>~&:ɴףa^'m`XO{q_1 1']p?Ѻuy`IB r% N*qQ@(3SLkP ]X]շ Zℬi!Nf"S3$TkzF*9Ah7:v\8SnA7 !i.Bq::(ӻ" 撽(٫77Jc/DnVk#D3n$y"I7Q{lʤlz3#` #aInYq!6\folm!rv*$z'7U|ܧeJ zl QL[V$q Ki|a6’]l2<#`͡f[Y>j@ .0J 0GR`[fp(F#lڣG]؄}`#!{B"x) Ĩ*\R2%^3 '~Z8SEuUIm+Xћoxڇo/ܷW_×3bGQgjpMlҡ$&Nab*qm1ghA_ M_XwbrQ4xbb8A$ K"-`qZg93K뫼"8y'U=هtIns`98ʓ;B[-`E˜*789,m&᝘%3k7D!crra|"k{҇iI~c629-I"K3I@Y)u1vu1`psD-JReF k .x=L=ƳXXVu50ޣX64eSB: XJDAlLpAZKr{mY˃n pf1)Hfק₵6Cݗ@I,=v?Lʔt*xpŜN6d!1=`1rosS `&aCq_o{QٶlQոifu&9<L E|s\.#fwUq}%Q!bmnt![YB%#`f7-E -`Q.ʌZҴEEo(@;Cy0܈nwh62n|WE #[eh2:_/|嗞9v%!%)I8z;`v349g?_AH"/#Z[LJ-bRN)Ci6N'vD{Jb{5dD̀G#qMW.Z|/pC423݉ͯp>O ʷ|  lgjw>>&c{;) {UOtוKnnoIy@1'm03uQ9' #K ~sӣա>ę Ae8)$g c- h 6HSu Ink3ЁDQ9a|ͥ;vvnSE{Knj/SN@ h>w?ݵg'ǟF>o'<8^'s6r'J`ƥkPbr0UyA Z| J:c jeggz4([aZV_sőK BeݞUj?z9Gd7jZ_O=|Ҧ]Nz˃F@(^N{l#<&4Zz)nS b~ b=T@γf`;$"{QV~rjW[qIUC1` EeYŮD2]Œ.{mauz|(~f2BqȀ<0 "Pnʕ '[pL b&BĄbը>r_3 ǂdMߜzYu5G :IkQm0"\SD./ ӮT<&/Y|};Ģۉ`b00 1%X k9ڵ-15BЗv(%S')O[(;_?{ϞQrZs،FS:0p13ZC|Ձi1 MVaҬ TᣒPjkDHNQxۘ{;Z:̩Z]0!F`{ =e]8?2+N3}U!Bޫm`gBX c aCkI_ N-ڣYՌ鴘~d%Tap%Lj2D'дr z,WF)@repRq* +?l2ݹW,#GBb$O[e#R)"zQ>{j9kPXˈ?|_Sz}^Eތgf ,ءu9Fh?pWh>c6C}/(xB]\jQi˦zWp?94xG"acneq >r=1Lb&jq-2J4ws(If%rk$2(u#c iLAʨG&yg'Eb0}z +HiY4$A'CƔ np>r!0e]Ub ^%1E/C9Ph"&Jz臘9r>3*ȟB՟b $̓K)HX Q B1V26(63#nQl™8^kBR2:`M'E yZSx;4JBYZC&Dh_P:ہw9YqdhGm0`a5h\:h\LJ?jL:;ܕɣ^ ]ȣ nܖT@o޴tQ4 !r|1n_vwdvi2?BYp'Wg]ze7O0Wg =0:˨p&=0}RYkwwk_dIA>OopBMK!`XSI K? a?zd;GDH;I6M95 #vMAȝ3%Qi*=T6NX8{fRF&`Ն'caq'}0juϜ0/]WVAzn,H;.Gşd{ÑJ]]30xu0( ,-MF͟͵G>]t_I}")n8^yc5Է#- 􇉏p9S-"fZ&SlupU#6j@] 9XA%՜bNJM9Dg{,P`y>QŇ[Hí^_#] NdyESݤc2.<9,h碽pPh̵k 10П|BY'\еb YY &y1U:Ml(/2ゾq7@R&-WxPhDGceFZ}WO);q4ZK>yk0>07-6Ԣ&В⅐IDZiUx>|G+d"joSu%Nx |)w+.OqdU倍Em ۉ;1aI&MMK0ʯnG ZNeڪB[hn^ӷUYx,{?z= K|vƥfx{Ep_ y->,6_1Â"kt۰1nP/)Pby93O. 7~K_~<'Q0= i_C~d#qN }a]U!ج8BзY&p!t:YO0P0~$>􊈟PMC|N=gtR1~+ a< Na ǎDeSZ3~򉘮~^PDtj kG$yPF8skfY!B7e _=| R]H*%Z`9*ej$NaDQ .rr,X:D;;FǠH\+k\cȷr+Nz={+8omkmoH(74ʊ>BusCarcp)FЫ1Ciim@5~M8%WPf\@IM`+6z)۸zmPl٘M[8όm_u𓇟_|o_w4uR6+AP6pP~=!n]Qo757,' bNXl1% hDPhh^~|yx/͗O~7>~n}&K뫓pk A) =SwE4U!"fxR6?T[&_z !<(5&'qq$ۨp{T๺#N13N#e*Q5B~O( BgU-yIjT}趍){v Ja8f}ًχGpGi>Hɛ C^d~ݳĀ5 K]]vak8fFZ6OAO?u{t+0 VO?TD23_/?nz1m:x>{2VO;"3?G4}伃s;Mnu`ZwSDOhwD8.Maü׶6t <:@ߵw ױ∷;n>蔣} KG$uMc'jiC9^# 5\-˖,GII˺>.v #WShhWoN(輏7CQ!%\FGLQ6dmN >Z?~],[9oM_ՌBqBMMF f]fLMtf^A&+WBuAc௻-Ӊo*nzX +"/o^=h]&ٸn#4 )axfκCΑmE?'l!垟$zQ8372]ŕ4m;R1R6txzDUԢɹ{T񻘼˿+.ٛons0cl43{ ]$rLJLdL8rB αgt6zlZgHcR(Sz%֐%2{fSqQr+Nd^ K_/S+j]] Ήq 'lp}d~i]ך#?[:{B{L;cfbs=6Bu9?Z,⇐WXпKeLiiI3x=ziZPK>X ٖ#$wFE#N؄ >ߏ:t~-Ol6$<2#phKE%4IL PkЇWe~|-2+,GA|=MndA呀b/$; , AnR u9U KD|;2hOa8;{ނx" ޺2lre%hBZZ3WBqm J;hD@_H'M tϋ?K7ہ_C|k#89pՓ=#iߎQԀ?wTC|鋧/>~~UˁߔtbrqDF{t#ϟ=G@z=rڭm(Pֲf.FL<)C9 \Ws e%vg\Y.u;6*b`Vsei6WݶFS667*S:S 22a& šC h%j|I0fWC0Ŝ3!T ~15;6_ж*j@HS`xh+sEe!;_׀W ̙oZGͮxPʎE %_~cB ,t`α l_&G=<#Qѳ N Z-42f4‘c.%$~$qY &`pX~£)YMӗxۀ(jFrS@-!j·Q,a);1-5#ۮ#5?ݱ-p)}HI&żuQ].c/LEeoɮR },9&2Dp<bOt>(bac!2r!N萌N1,15 fC7vynk4QR튵51v8--5/2%)R8ޜ;=\{Vqx xkJ?%Smr/m1̭*$q2-}Ĥ Zpd~<2'1L/{<yGַBvж JBl nY1{V+VU!SnGqiE-k˛q“,Z :qw+cLע(j\M..p݇9Y.}ꇷ']nnOރZOC% i@2g |vrt*-xi %Iضm'14_bx!o -=_/z01;׉e1oPȴR̂$Z7Q ZCЎ1e ,氜{5E=MiOYRxAL*Ʈ^aܑR%PwW(pmS'ȚFVrp9xv{{`B %>jm\]NE+ί_>㯞?M<8"t'!ub =)0JmO39^g~Om3H7àCӿ|4mfo c {I/AvXFkKj٦zBd,:(b<8bqL)2=DYFl]9iNAAA`>PaFL9rHttMhH0HuU/c0w]4歠V|2Ho-Wiu47!  oa{lwvtޒ#)N&ZĻBݛ<{g_VMϓ_N|h9S{vyl:C{KްP7Go:8/wLaBo1p\7* D = & CId+*m:6y`.p8}S3lSzΕJ7tL A8[f~ڢCYeAH]Jf{9|,/1]*N8:.sP(+,Պ#iX0KZ̆t:p:I[}e>(γX˖DRO1p1`N3M|ᙘSfAЯ{F`wA]R]Q:B7det[.oP1~ͦF\ jY#I=),' |_c!Э*½4$LN Babb67D |Ҏ_g7[S+h6<Л_&@0 ~A\ɿ $SA|vO l4n ָ'}^l\Nor4J˴ߊuSN]J"tSI0ĩ X%|g۸40^eZ#˲͉uIgMIva4 d?[O]ΥRR̻kd"Чԩ{$0vn沉1ycU IYM[XMN-&ﴥt vY33W*ǂj `eX>4 ߌ~8 ѫjjΣT+`vQ^0鄣ڨ|h^TԅLB8b,^Zl6}/1Tዏc>B S.gD>1ߞ{ # ׊`bLȫra0fZNq ޝꮑdzSW)+01%$t՝< sbolaAյCuڢHf(r2?;_ fkX5 \{,܂O+eѭѶ`'0S9&:z !DL{yb*\֞5,E-#d.WxňufRf^LrT)˕7`㜷,L wD|!6 .NYq< '.cj*He臵W_V&{{}41IWml[[]FEs ,?/<=}?6A=6t$ \iS>+Igg$0g#+5D0Nx#S瑡yT+wSYxv,\y.ڴu;7YWE*L"{Y'9H(n0O,3_[O~^v#wYU)T$s!a8~h91ߑh-(vɌ6IBTEp H}*Nlф&‘( zt͇凯Uv RS&{-Fڏ>E x}?gb'F"GSɋc8BݯN:zMPzm|[U $hLrDg`]zs)旆P%j{>̲'@Y=t˖$'210D;z:~v\ Y#,tyW<`FS9/t7=cYц BE"Jm8b zκe6+PlY )$hAH@KdY Z\a~U̹3Ȟ[_חn /U?Ϲ'خP daa[u:g6"%@ Ï{nġIRf*sd+0ޏ] vB2,~毱m?աS3BSL|9`? `O$c9=%sOR.91 .רSo_lw\@y e:w@x 4SiE n*%"X~uUzvO䐉*oܻ緫woVDsqd* ?¯͇spޚ%g9;ؽ#}W&)qD28l=TH,20qir SJڿOCE&Usgi4ɥ-$h~-Yά+|2.F{p\Vt뱜>ha%^e>G|F3$xId6ZtC>\Qя>=){dɑt uJ_Tu2=п sƅ-+I✩e(Ac-d2L5 ;P)d(&3I 8Ӣ/&UEB;94z,PI$_uHU#zbGUsZ q]3~eg R& IYzFX]:8i[@w\XE6!PGWYyy9 )}zk_@ED?#q:,絽Ȅs2$:sY8_\X8סBE7TF}LK7vU]FO_q$gΩثT~@iAs|ãW`|7&쥒7^a :-yt^ǴSR|/lr 庂$<ޛHES'߭]gWݙ1 ?}d Wă6usGVms}_G~ɟ;m?pc33NgA2v39H:⒓x Q^[P-O 4rz߁rGӏ:h 7&d빔f]fiI?pT |>.u->:PjQ;C͖|dNJlِ}IpŵTgYd\ 5Vj:!_nZxˣ>7]}uS|bZ_ &c0W_$6 {UF_y|>o\~ngϟo[}ǹirFXa[:LX\km;+Zl^U)m;FgB M %ݔuǏCG*+WZGMc Q1WwxYS;8D65,w2<_5_5?.gYE'"t{1u'SPqJr R~jBG|.c.L ,xmy@UEX7v1qR2s*ϡ]^өմ+ /0X0jۦUhԎMOj,#q p{{Uݽݽ‡HXYqBRcޮ5X\ٰǭ['݆|X%]α7=OhiRDu]#F  J+jb^~8y8wyZPv{÷%II$pa"43:7Yu-Iz lToȧMuF'' /{;~Lz1Y*etw7_ v O+'sĽ$eLqK%^GzqIn)z B_7>\JC3"$4rid<ª>r>{ vx$~21T YxSC5l4@X2v2xLhHUN/26CD,[n嚞^,<Ͱ9~꒟b(5.4SAx\"BvQf5Xl8Vʞw~n݄۱M.MC^&)V`rZd uޯtDtr}b(9}v5}GxޝV*FUo\m^Em\1؇K֎;[:wO"U=GI{4a-T΍3:40[a"m LaDdDh=pVO6sQyēëQ:OIƈ23m[*~0zst7z纛9}ƛd6@)k^saCd XD-N$:_+.j2C$oH7w"@1=<[UwUw50w`s v;Bj|OS#?zAzKe:3ºqщ􆭑م=Ne|%^7Z#T ^e_w7/! o|o^{ #f2aD@bՊ~2$qށxoFWi=exe*7:#z$ ˆӒQ$$;]xƞr]*%Y<ⷯA {jLRaQLE怤>jPD٧Ւ׼YKlW AW5[. KT/-EA%= 7;gM$(o- b4jw6 gWHn'",n@$-O_M' 4* W+NFe1J!6f&ɵ Dw H~Ȥ*9o289:^7>?zysIV$)(SҷlmWr|)\OGO ~>\'TųqQZtEG?18pq9؏X. OY:tumg?pgzA qZ`,iD5i-mE6 ##DtG쳒[ѵ!p4_%{"=ꢰ58^FV{Xk>CSDc[rt> Gt{Uoq6FK眦#̖i+`.DĜHqdfJPT"]8+p'$%pX7mg}βtnRƊuBj甈rL8/S*YUëܴ>|SbF6gz!JN,TR77jaD}ďB5bozi/DS >_ J]yTc1˱|'SOrU<e/ZxWo9Y]xϤwVr/.|pz`8!>JPlhoe¾y3+7KJUO#(EFQa Y/̊PAO @[]rE:Lep9IxG?|ObiK&U=eCWV&]A;._]{rC +{4(r 0bqn4UJDٻGJs2_ alCQ/8:"_&$4rwJ7ӛ{+̕FXqRǸe6}٬` FGe6$)V\}sa+10_O7D; Pܣ-ttJ2r5v*7uc"]R_ia#-'7=j!Z_2c_M -qE)v/0'15cZH p@ks;fT}[B&yCy0*Q)(?˯Ib W5 >ֈV14%\`45~}}SK^iUp#CLyFeEb7 !RyRS(r!6#'=.W5ͨ6?THvݚe9IΆM~߅'S6(m* 0W)w|4\ 5w.&06v1w(C?괒W+ Oe7V& -b$ MndIEsq(nT{uALp+5wFtQAht>KD/ՋLhQ ކu`y M+VX%8#ƮhCG6V =vXDYL>9늄v O^!,&& ׊ mĨNb00ʔ{n k+4v/ؗkEP2iaXQ]%(]ѕUL$>}v ET,.QS5I{M)7mUD8/ '$ ŔۃmUNF \^A|椰T =Р0bk|eR`Ė'b-_kZ]pǁOf.hC-z%5nѾ0T[ ~tAZ XluɅJnh˕!K{BXL.!('G]gqa \ZEM`(+Bt<ܝ͸*; r[q 8(&mcI&`o:U] LŘf]8>Lώ$t;mJ"3[ sU, u4{/w+Xx z F_h[3(['2aU-,^0woYm"hQnmRE΃/+^GōvU{ 7Y5Ͼ8t[)q` #Siǰ*&)U=bcx,χUQҊ$5Yϥ wpZ%R,xNa;teNtchu\jZh4Z*Oq(5Q]UEc ~+FÙf caBV~%0[j;iڥdw^h߉ہX u,1@Euگ_7U~JŽԥOq*)~;#)Nq /"+ڳky# $>oRsUP!z/}0to]ifىIK2*\BHVټTD@'GAcg6\Ȋ)xOZ7 a;w_&uD i44&L~ 1FOGgs:ٌ QSJ쵡ygin.5XPA-q%xqO7זpvlK aʑt1ŧ>J+jZL߷jIȞQׯq-0aM zV5)13֊5#ZM9@bQQMi7+5]%qye.fo6Gp 8ӈwP OIC*mLCv"Va߽>1gk.86#~̪7=gQ|4;IY^G *5\ 9ҀG-y724]BJte#GJYnM5*!pr.MdktCjN0BtBb݄2st9s($CK6~ks0b ΏS[ Nx=)ON$5b! ',$!tBbwk &-;Ko˽>(C&HT./0}ɬ` )+PC}!zlݵ;]۲a&p%#K#(.X)Jm4~4{l=JQ*l?;8W|b7f] 1oۯ~_C҇/fHsH41sw&i?D3/ GSXkb> V~QA2j3|\ן I=MoxJUJ4Ր{HxH\¾Z锞m.3ԕ)+_K|Y*}}R0p Lc U>v# {I[(R:A ;P-9Rp@Qpai5~ku5Оc/ˆX0S(4Kť8A|8#e {;J͉pcr_&W /^Y-ΰ1J ptQOM݆`ҼeoM-,;g}ZY<sQJˮ*:sbO'k@qVl:gb7MNbCH?#M\σل{1ׄRH=9VtBC9Eϋ,}2Η1\A~b8a6a渏'za[wS!Nұm`ǒ3_#$O'3]n,yN:PRu.Oفs GΧkbX, pdb{EB?Z/I0J`{B Aa>?Z0˚V2Q%;+p>>yAhM 8ra'E`\JWd˫|eE{ꩇ[N) 9B[rTc5Vd´;4:Xj0 =R'"n2['oX(_l[R.6T|XBHPuG>f8`^$2>Za;Juʝ-pQ]e!%${$>Hp9vZ:5L- -W.ǣ $VrH>{g?XDzBtt›*>o `rg{9Pz7럕>H< jR M-eFAD%Ee՟м)Id&7Bh[:IEC|oG CJy,rF{ !yLnP,gEk-qgP}4ӣmt| J5lu0q((GV'`d\!sc$cd l3 .Wrd2<# e)\UJH3 =1|zO%v׶ u׵$AMzkeC͠Ez16mբ5XAq'GyC  UN0tky39MrsZ(W.F!txBOXɼQh2Rlw0 T) <:68>KL&rc/vF&А !"!$mB$6#q[~y=-qIp) b/sH23|OU}f{B(@܆Pb\d^`:Pxy.&@ӑюVyiǠGӥVo-dN.I4$~7q1PSCa?<}L940\_ǜm#۝嗼q㓼3PjpOM (NJz\jBܴFN}dV=y'`tH6Hb>͑=2\(J¹C{Ν;w8_nxy~lu˘pB.Ir8Vi>_i>9+;/M&{;x)bQ.;j7T^40(D}(z"2CeZ՝f Gj09gX=WULE~2xa5VK*’0dXj̸664 ItϊeAr,1=/3ufXq6t o( $TBtGЉCrU)E=h+eD":k&^B7ejceZ"k< b ~= r(q('pF:9Gpom޽ϫwv~?鿭V,7d5]3&D`~1-M"'Vp;x;X)vN||yYtJ9qVik$q ܓC E:,1(D*N15OԲ`涫ȣ W;tE*y^&.+\HDC2#m(Bd)ٱ1^'ztHsD>"\hS' >Ɓ:zkKr15RuHve/[ a{]NH[gS7z B)[مڥtzA~{/tq&1+ (/{r=Kvޝᾌ[K\ۨ&́7vuH=(}[C]Ucoy&_p90ܹW#^!eoGVeH98e"h4}f;R^(W}"O;WKzcuSUx8JADgshJV' 3=$rM_ֳV6&qs.%Lo,g,FvAJ9xCy/ ݷWٮVȦ'/?|![IrY6n\q4:1Ĕc2y;w$_Q8yrXn ֣:*xd>2Zr99w0i+K^ˢf"5lጔ*mEӡ|cĽ&"r0$S|I~q:?vxsR._:*IX <͝C#ϥ㴐nbVczu:J5Uj$ϕĒŎ?ɺGT|QK-.n3w7;c E .):%v$ҹx!g 4PChWsNnE|N,zRjɍX! ڳnrU;aI7:rv`Y˿V S`*y=<; ncW->;2C :~FICk}b𷳗X|W uE%Z(ZV |u~wL0p cRgT!phMstI x󺠋5BW˪ |MkXFƦkJV>88OލNZO6u۵nCΜ@0bC~0ZS7&g.-Cy)p\&d؆NwC~X>@dnv`Q$@T[]*g#|&@C)nS- d cuiW<<1zjxF5r)2/l95Lϊ%o:%.Bfri{UaN.:空9!!tZ,I.nĥe|@ -á>C`.%KV oPG\,@Ä{-+l섕<>*',};7ғҤO*>-H z@_da!MTǥcYE+.TTI ;erJTN~Eٱќe:P uC~V$YƌfT,~t\D6=Lwx$M궃ŵT^ɵzlnq|ڬ JY)tORIqʤjg[#@wz=vgyɳ\.=dU$h%Ϻ|?Pe!X#z)I~DPEnJ:"Pǒ8~"LC`ur\ϝ/ut\J@ɮC,TkT0Kf~F߇0W4bv8y@ILJߢ2DȺ&<5zLwdߺ,YG85a2)w} RP78-Έ/n+=\*g^`Z J59t{LAmNcqZ:~0V]^'(C&t[03B`zJA4=¢eC%nX<*^'E1Mz,5N |W,+rݽR. tw5["Ѯs ˬ?+$vu:p&9;OO]Z*CR._@J}z1T}z>xP+BӨeLbR4:nBFK?їN.:s hD|L8IsjkhsZf>^̽d65}9M5}`cO9q66,UDCT8\\~!2@(ձqEL7@giD;JLtm-2?Lh';>8p2JP>{f1L҈^!^Qn[\Փ3WPm^ +\>2Yr4 LQJgRŗWqVXL%KI2˽ vL^{y)fD).#AeŹXyk/HXI閝R_"-|d]-޾' 6kO%fQЦoEr8e)VlJoaD޴6; l VR}MPVCN狋Bc*_s@2¯7úE 7TC}FO Q^Z]+oQ=^ܼ;x`Y_I+󛒌?iH/ "<Ρ{`ݣ4RTq֕`g`]ږsl]Coųef 8ud*, dЬeTǯ1j5N^?Loho"<;N][DʝX vuFy; 9xXRM򳷠>¾+=N'}!?H.3A Fja?l(4J|ft:Ap\=y] Br09FS-`.Q;|B_"1N+Uw%xၸfwl4$(\zFVisxSW V弯~ԍy! OP.K,* ]VO?u /&!&sc-ܬm.*qUݪ&JJy;7M;tvPat"xH3Y%V2;}3\ܧy_WH7oDbjFeU6;nB)0 ow[.^7 IoO0 5e0]tptr{ .n!HeNL\x49./{ -ZN1s. !?'7{a"tރ{/lWg/.ըk*| Xrn?Fp 5׫6^i( P~c\sD3R~GW+Ew~r'+Xv*tUaozo`EnxnM{XX[Y+G!r=hin ^w"ՕvߐHrM5 ڐ7mݬ<7> R r6S8ti?* gcF Mʩj uӪF_Sx*񭥤u.wx*/ v_}?cĠn+(3,ajn΁xE>fuAbϥ~}6ߍB5?`_lOPX*hc-CQߧ\ApHw8h'F3@AϘ[dU^/݋Uf̪I/hńUFofЄ/`9[ڗ}\%D`LJ>KjX]6dI{J GIOyen>m}>.Ζ\s=VᐳA@M>V*ْv؃PuAKݭچ Ri%z!>թNyUvjJnp Ax ?\Lqqap";x>%w 6p*5Չu&q0`n\ՍĪAk? )`p>xj$nEɲX/]9~b* M]+cZIe)cL=ɫpj9˹ e- QyN^-r 쮨Iv;`_x2yO n#$[N ,*9Z_įb}I y\ M1ocG򝒱*L\:39Mi8Ky>RB]hVq% ǣVIֺV6*Yi 1 0Yb7VDzr1Y}3O LʹT%H-F@y\k;!HMɗw mپܟmw@( q֋3vhڶe1Z"T.QH)hO=}w[(ZqrK!XvQQ ,!/ 2spHg3w:w2I˖K[)"חK\7:Y -\(EJl.U5r9P(u=F\Nr %JhnlDqK+iAG_ b xUry΄W<DJ1G^| -坈;jPV2c],.9ɜ C+t n߼x#EfP+kƆ B21BGwY"L 30F|CrN2B#{+7uS1(5:%L$AƋx!Ȯ1-w3n̳y(a!RĝL9a\%wA@yTx9Nd,֔ ^}uM`-0a_x[ 3l']8W$pQ_b$qX֎e:9WwR:9E#2gh2DT5٢30kl! ʿɏw=bLeK3(8/k;AvS8aŞ":ZђT`*XYg{pw?xt/?p^|޺DϿ#Ո?}oj" gA-׻4Aݓ=,H8GJJwc+/%$?f K9wKOUA)%20r%.?9%˙F IhUlPP02% zMI/s]{Վ[X9T%zͰx kyU+Ţ`SUQơH\QOD3ҊfY3Dw=ˇCLd&3^aUu[;goz%htѫhR+92{S[cmyoCahZAo1;ٻ9X8vsr\&f7Yibq򷨂|1weWlۻ}^ޝώy۞z! +W%k>!*dػ7t>ا|F"($WlH_Pg즼HA^DrcvA://˂./8ߧw-2.a*p7-&vZOxO/~:[Ω5DFP ˬ5BVZDݓu$}j?;Re"Uòߺ5>1IZ j-g$FZWm)Ht3f A)rjJ(턖Ck=AHKum%9WyegaſTshns"?X1j^J6V\MHku/΅Ǥr]S՗sO|;ܧř8iK긜"++Mm¨)wII_PÊ,,=o؊8BbYqB>þ,[29Rr^ؒPM tekldgT:Ij_mI.niqN)/a<{'Ǫ%5t3u7+8&ZHĆ ǪeE[* -l#]+"Vû[+dk~7|w//'?#IRUwiׄ wU ImSjݛѵ:[u~tRmD`Ҥڜ|"R.cU+D8*[ԧjR} fo,̸ZԱ0& O~-;T?PAB)++,eV+yR_L.2N_6a:Bs-5mbKn$GCGWC/xf=D&wE>4J -jazAdcʇƵL ]V\yd 4"-߇K-A(ZV>}C0R+22Z2,|žVig]41-FhrTJ˖yfH7{ܹ>Q%Zq'@swcs_>K}KFރUω3ٳ?&?q~'LPBR61Z̺=ś/jؤMJBtw%jo] 5=9 ycN[:юA8[9B^S4[+}2 t\\g$KИEbxsV|µXLtaVtU =)z lדwyzӌ]6ύ&d.d;Lrsa3%*o-QyG\$a{S=-ん˃7dOs|'>p~߂+SG 'e;I?Q+d.0NfO’,rASBiY bo(*:&ڏA5&*a<ÏCewo#!b@pmp=Z(3<-EߴT]g ;# \MU}|\],_j Ɯs\S)qf뻹6P,I]z^-/9tgrDbgnXz!{?jUM嚩\/ *tmB}ŊvxwepD;t@_A$:HtMψ NZ%GF}Qeh[{:J[Ʋk~^W=p,-\Rڨ_;כ9/<}ц]3wkD7]z2u/ؓep|,Z蓡$Qz%CEu4=_T!oq F5ZSN>o< fw_7zWMԪד<^_z<[.[o Kl5dHwښ/FwmNbg y)&}^nhl!Ծnh,_r饦nCYz~x<~/B]RºZ:(3+"o:9my6{͈PnY: `k)%1RV%IA;0 ;74ecf$!le>ۥRӹJgQ gER|~C-? #?$+RGm c_@ݗYc}?{lLzP PO5M ޴nԵOs})H̗+ZB Ƹ?w 2g 98_CfJFBlRݰB5e[5N,no hK|r~19qK(."q6b P@ߛL5::y6b/>ζw>Í0F~a]65* SJ ND$>⑨Lw::8z(gk-F6UD$ƆxZzc@jih=^\}&}9Gc8/9kn~go;7Ji"goT!YFu )  a?KŠeКw4G!yBܕ!:ZEZkMp{? `^i| ɗqoMmI],.n!!Tf=wwyȽT6h'B4-tn UG·lEFv49ύxɈ!"tF2]s4FfSt^C֞}T5ec'O~I?pTmٰykE5Ԃj: יM;Ev«^Jő2%ܑUEZ3n lrWφ%O+hf|j0RZ61m:5ͶU wz Vٱ¯T\ᐶ/`|8I.'\,`^;U e4T<[#0 vhJ c6WĦ 9?5 cyƁjmlΞmWK\ J䃣 ,%e!#ءBt8\x0(Ѩ q| $Gn#uk{5Y l5J;zx] *Q;S#gsCy*θ+0ZL^%ُF᭑$]UŧZ Jꇨ_yHBtCH3x,7ɍ]eiU@'$44xT N͇JbE?FmM#-b.3C׊LL2dWeL̀6svlt 9Rcҕw;TpʪYM@I[?݆F*]UTcDZ[&V,NsE<סk%%ZjإIy.X.L=[dW0T'a}h;$ 8X<`nq1ny_{XDnb0C64zG J2{Iԟ?3Yx+.젮3t}C-*p44y]-K&RB8woƔIJMkVRPgnƼy8@tJB\>l?-ҿІjWCN_pl= O@T#f=..r}5JVh+CS_l']9')rJ V+/AnmZM-"q"Pf)\QH=HN+#vioXM*oe|pn;q^2nH~?}%QY0"qsK0ī#Ӫk \ρZpE}L+VwZ\>v4ׯw?tv}Pw7FL0C"{z03h+g%]Pm$7ƇoG?}VY6~c?h Յ|\Z!o7w]]rMCTҾV)lxBђv~E3Ӭ-#"V yV?Z=G}j!SKhqJ3jl\0TGQёלP@tD. Wk*4T>xw@<{"XKqm"c`EqUdaI*G+uskKBV:,t9jپsqpRKcbs:R}UǙ-8Oz ]k})ލIDFMuI>:He4' pvԺNqFv ]"perZg4up* G p7kop8D_7GYҩ ɥ%*FAD轒5?Q8'o4|,Oɷq}K-%Ԓi~qQ|:Q1ZsTz9\n:/;slo|皏?<9`dPxV5qvĤ'i^.l|Ĺ`c/e6(O/Qw3n]WE&Aw/7-2F_\ENmqDpcB B W] ͳHr\giCVp?޿'*ݸ:-ӓj&Mv@;n<ț<,6Kϖ( V&J mxq!@m_UP`5v,45 V-05:b"U[=:HW;|{pk>] }\?H֪[oc4,6:2: f2Rjk& Lj2XzvFʇ)X,+l,./ExxH@9ɣᔛyڛTUKγ2яCvFN,kM;uMZV)8a57@# K﯄ՠ9'ZgOve~с{u--Ek gNa'*ZL|(g`4"8=1}1?V$oxxiDM$uH-3&Z g َm|EZS6mGyD 3,ybhiľ< (tNRӼ V͚oaP]BgZ<rj*.EeɈKv\/ۥ 3ZhD%|eJLKFKQgх(q|EP p3Kk)8$NmvY.`jV=+Lpw~SƑgFa[]p&mpc O,bRGP*M~ $ʽax?:8ccuqW{y-fma1'z0 9da^EQo%u+WU,JnZ8Ag) ٳYeu}m=4؝C ̸ͧC&{ ] ʳTYp+]i#qp 4E͉i9r@W+^7Y=~Sh*ǹAvV ħv.h; <Cf9lΣ&n%*AuԽ, 0:LߗŴL΋ fKۥK<VUғi^")^bxۊ; -VEI%0Mo\ΓoqaPl OY()4 TɗR{_EH랟UkC]KU'LN7y]1ն[1̨װѵ:܆0#]r)@=£,4ހM!v?]@t\/-kε\5|ĬBi$>=>PBvN-l4/jGos썧ز)K-#OnXH-V[*ͯY2,|xS"ٯV:DϴU\OFWqtF{<*gƴ!ؿn_o5@L`:\s{M:LrW[xy:?*=U&?=]G8CX ?& d‡*x]b DӦAm5)ʙqtXSbfR 0bG WрDE:n2BBu: ZՉSyO^;' Bb]gE1% AqpJ6e(ʾ](ܼrjRPWF")a \uBM28Y%F˭phdNK+c} Ej9!kzϓ-9.4L.-utZaT8T,UNenO>-Uc@fqȀp^ޝOPɸ=_M"&0F(hn WY&Ͷ  À74WڠI[MKϙD-N]A bz341T5U[!4^H9UU^yS1UՌ_Z.ϩ,DWr?rFR:.<e+1SlGfX҈W/P{{V1y WI>ni~]n}TK@{ᅣwtA,e0۱fH̕ԬY!3NM 2k jJ;q锵ăߺ~p`ݟ7n$5wH5( o<{`֢Un# $'%_כ7{!RdeJM%v:W$&^IjF6m4A_0 t*-$.]U?i!s@+-SN 8IK%B͓'/X|%66"[J#+:9DNeHѭ?*P8u]IK(0ۤ3$Ezs*o]#2%Au:nX*At4 Hgŀr'qn,k;j)'tY},ܽLzcT$a\9ԏCd.K nGcS/g'4#aJst :8̒G,Fũ6X) Y2o `3.)'5jg+=\r+z9?p% [WJ[uRj,~ao^tiف$cXz.~x]PYͰe\-H$I&Vbi 00:Sր薲A] O ZgZ3_"sh|.' {SI #P^N_BZ*Ug8`Am&]B6įۄJL=8캎A$WW0AMZJv:r)}{?2*%g@SuMyJ`R$sTttT4s$ L;aE^4Lvn-HYL9Pxj"sDEgUK\q<`r<HDЏCğeZ:]9QceKPഹHہ uRZɜP;5n /s[7w)Au)3jtv8vv,D* Թ ֘cɄm֬|0 k%N_ha 'O(F0O(~8zR5;7882.emoԵ>W4>]]T7l8>6 FG O{!\XTوIՉ36ն),AVmM*Dze#m͓My!~0|yWڪol׼]"T8 n}ݧo}ͻiQW,N2Dѯ_˥]&` x&Hd$2/nƥ&D4XƩiӪ$ 2z߯hE6[8 Tva M~LZ=g /xU1Ļ m5k{ȓ]94`cBƮ{r<ꠂNB"0~ XnEgX!~`/zvMӼYKأ}QSDoWBWD*'np3LMlbe,ZhDÐ-#U!#vY+,Wѓ})=VI';\L`YfԹAt9iԠ`a-֡M.ҏ\N&'޽kw;~|`?EMB>K&x V[6KR0e/K'#-W`[$}ܘ7"ػP#䦔U#O9 1[M%<;h\ gɇ!hD%|FA]Btk_8{m11mMZk; MtqM4mҰ+(/ #%o3iI/DOQi>΃QP|0IŚ"Dk\hn KXDGG\,UV /Ctʪt2` FEe viŞnChtk5Z#Cq?<{ǗG1=j09zƂUæt~IL}?B$o6&Gΰi4$dB+3sҁ(zܩoЁ=o$O {reY6 r>nmF&sc*^\E,iwH ͤ@O@#inSP^of& kTui81 ؐ\Ny+4;\aی|wQ&TW$=ޥ.^ ^G_m_oXZ`p=g׎Skk9rxwE;O> ކ}Hl[YQK#֜^t?sNzDׄ5"F8DBZf1yFjcvȻyM>â-V{0aLКWffI'fSaݬ+N!Fd-ɪ{:\e)"FwvA )0<1gK4>I[^r+5- [Wzs tQ]2[VHE7[fnDٲA#/;~2'mN&P3NWRI=niL IZn]uӶܰ[`ԮNN->~wم0C0e0xKW]nbWE[2 Ss6޻wϫ2-"Ne"J E1}5\;O;Ήܛmud@AxTl^, j\n2vuYdffE, N4*>R HQOfk^zzgy YO^ V@@̑Bӑ&gx€@I*eޥvF+giOyoX?82:剭xvn?J ?k}ݠտc{/8o\ lu`w>;ɣbqWIQ/tu-JmI g2Nt>,gIk˖)BdyRS-y9VuNdpYϝOD$!zp>(`97K4G9 ^wtyi !Z/]O}^,8Wǖ$yrqbVf|RUgA B<ֿ=&{XWdf' !=hz4Oڇr΢XN'b8|O葰hA?o=9zhV>FWP(vt.6/s 0IN%%4w:yY {p>Jk5wc>ѵWgw)75Vϰ}{z<ˢ ow 8VB=h҉~t׸Ƹ F!BP1^;"#(pѠOEcQJ,Ku}xcVucoP"Yv]WL( M)+C!x.r#6n\uv|f29*g.&b@+40 cԡ܂ eε ɦUfcDk;=rGMZr QGsQl1"wⰥDpQf?&;Dx.uA .a *[-\ GQ~M uIExWl l6kBT.fnAJ 6_ &Q'H5rUb-VM+76L:AKw٭H.K7qw3͉|a1\iG Fh`օtΚż+IgY_ʂ:jplX:sa*-yx\Vo^mZyty30)I߶M"sY0D 2i!VI;ï*1sŜTT/xZ.= G9 ;[#@h#513Ԛ߱iF $QO GpLjS]B$|sE$עi?NmmװWgAKγNEƻVt>DZTxJVL[WlH29A~dÂ(p$Hj\z8z 7Wps@ /+- o~NE[p\0D#w3XB{ޘSӍd0$ܲC)=yy+#$^1SRe6RΗ_)`M T?5H<6%X#j!\\ezC/<@?Y5UUHWBv n>R ;˵s9ql 0zi { '1z*\C6,b V `0GA09H4.t}YKmjFH~^=%5|UߋP~^e1׃(EC \rc$J2lJK#, $~pxi'á))FrL]y N̹cxܩlL[?UMs\M=CC@Z-\ݙďya|qWdtZ,΃NHNI8\Տ9@n9 9$hf8CޫU^vgl2wхiYZG'L*hz5Fv} axfo5ʰqh $yZ5c|t0yRӕ<^=#&k!BɦU˯~Ҋ#-ԥ" 3U:1W>X)W8<5W!غ&!C+kWUwo3Xq-?GM]y6V qi^_fOi8.v;=1spE ,jTu)u6ksc;bTZ9j[ ؄ ^QÁޡ5U;ȜyY"`^l`#}8qa/;Uw_ ~y~v>:MdԠEөc8 c:[}џ}qv՘h9I@UL}s(h4{In!}=EHʐǫ2s0-J<񨜶>A!Z rwI_S*ARiLQw |b-OD4oS[Sa\Jl"l~s41a!\V #ጴ*_eO=5/l#?gLWn۽Zwk|>1$]./"#:K_{#dk{hU^&,=ˆ_o_eWCOMݹ}l QR QCJ'?^އ@$!/+Vցs:.[F4\1פzgIpӳ#YرBe־gT3[-M7]OyŪΤBezBuK.e#" +Gh]K}Ljvv&ӛxJekʢ+Ӹʕ6>QIe?-FrFUEU j"ŚxRĄ~=k5#CW"-fӸ>x隗duD#;+hri-iD*+i_Qn6*{A|˘ڝ> 1F{yWmw6Wjg,[j?i~/R \Y.5J .L^kt@yMUZ%6g^ ~%tO8bfA ‹XЩ@O.ۇ5"1 D<+ӴTÂc×r=FnL8U+dEkWߎtX3B4R7ʦ&2:[XBVj^sSHo>Ǽo;w/k Q0({P̽ Q%ƭck*9JqJH 9W;h#x\{,_Au%9UZW|1rSQ*@">}1(ME!s:y> ?@J+O#bsuh!RGhišcW|׿/fXR8+б8*0Q$|k?y?^zq;)񓣗>B% _֟~G^QDQïq? @|A/35Ԅe?ň;}O?:^p3(w~t4f .1d&.C iHQ֩5zc* ݓ-Oӱ*:gzľi{^i6?3-ae(4V7&yb~U870YTх8=T myB@lg T[nH&qdxiW\G[Y RYi1?CHh̩ur{Y&߲.DINIP*H*̉B(H8xc⌄)jq3ӛ/}b C9Vs`%S$͖=xU' _,%" 0W:6F-TFʃ#qUDxsm?r$nX;ɿa!6MEAz>}8iZʾ:Wlc=׬UĊ*u!_ 2 .b<䫯v^j魺E'Qr5뉉~퀞.*+s .=Qq2rҘ}~M);$kp(vhzpVק Dg-,|2qKq(<]Ed}iRl.'8!.Ӭ3шcyvjp \M.;й@^?qfN锕_IFL37F" v <ު͒]G*22Mt|.؉**7x%8̤!8aA K~+J]MIƹ$Ao KWٵA8eJ:4B F? ֣<B듆:k:L/5pˤX{'eg;` L7W•W%ZSk$#7;uM'xOށV6VX\jJ8*d sD}F=2D`'\zk݋8=`8y:KK|؋8.0Y2au-\=$fuTqC&WF`B2 mcDgHD9f"T\d/S ].˄u HT4`v E?Yy|VvP\ SC&)J# pP컡]}S-̄*FotF|L[sjK  d\ K ')AK㒃&y: 跹$rply,)鄪2@0yLҎJ6XA&LBzyN`:D?Xc 'Q2(t{"&rN&"`"P㒜p1-YKE:­Ag/4_c\e?᷎ONQ%RJ #J>wD,Xāic(H&BJ]E"DRmDX IhGǜx:HX[J\jR[<&@! .C V˜߫ߛ)dŚũ_ `ڍyum=Ru_eOH帰*Mf\ }Ts xhttUÎJ1rC`W M]ufϐʬ>5=VyRK>=[\uDp* G(*F T?#)=an'0H apHœ7D3%&E;PA b们R5cn+0eAA˫ܵkpPYvb)rP[n:K{SGX`޸9m'*l5N%v,E*^*sײArDYy:4cFvXR R2CP4QgO:K[ ^Eܻ{HKϧ?j# G+ijA\JK5SI.M:ί#Y-'9O'R3U&9[g09mhU tW!,V5쀓A Gխ |k3Fl'З«E@I~BC45]?Ǚ9d%^9YP V""`RɾT~- 9EI`:.x[/|)N4_ب[KT{ߪW虔 i $w'ׂO$=XJ7S,/u"u:ȋ3:MtֵM7o^a!\V%$.4W 5p2B 0]ȗ#~nV)qI{T8Щ\^dZ.;;V/J?;SE@^g5]曱W)C1zn2qƸ{TI3?\b%چ@}.NDiݢ*XsHf/L#=xoe -Ǔ]&OwQ2"ncQ\`Oc2 Pv<+v!5D[$Foal<|p3bF([1"XM[f?Q\!VGӞZC_3l&)1 gqaK cXKH)Rb $D(|~^ڡb+%&lG}~޷%cT^Z{' o6($c +Wjʬ3gFldf7w0<^qŏq0'Biyiqn&]!ϬDc:}kT8i(ZgcrMmkJn[+P \vzZu]vòi"~W5Z%s~έY./ hغ>ϽR;hӖAmd!EHv/>}/Mz|>\=)/#/[_ J u_:X8nA;+p@^7 *ufY:w?5XϺX^ 5ĖI/g]B7#LJ=R/w<8L@5OyZ.u2DH\CCgG0K:q+XnP08qZn>[|K agAG\Ze~?Ӫ-:ONdvwX f'>"NeDʐmeHX,f0]x0]·7HW<ۏuqHXCr;#xҥ*/ԇ[ i+E3_W(x!Q"K#ت c(hڰ;&f9<dS-Wn8cb=Ȯ0znPj1e$ z~_ 18`k -ЊYU!ﬖ]ni6V'Ao> kϳd'y:G5 e_4/սX{)|jw/ {d#K'#1[ a!g^^~SrMb]*\v:e4tWߺpsb } k֓mS{(D9u ~UjM s1:.qE 4^V]@]j2&& ؚh^kSfMΈ y;څkҡg[(H#ҖCCi-ftR*Rq Ӫ9H̾2|ez! ŢK 00n$Q e(On4b{;vFbpg_4 M m\y-">`Pti_?=>¹گ72.S)GDWҴ~NOljю)bxa~ 18z"0u8r;J@}bf~\;E7 .Աꘙt9s ,oL%JK-m3E?&+E /ǐO ͗DV;%i L]9+  {Ǚ0IW? adp (r=v8pU\J{]e/^`hx2yeV59V򒕝i QO5\ H贲Q; u' y`q%?d+ZQ\5%|rk LI5 Qaŭٚ20dR]~H{tx(<}/jVSƇy:L\E;Wg5u%*qP]+?" !녳L= :[#lPޞG4XMi^2~<(ppXpK"Ss ؖ^csTTrm6S1Xyr; GXYeWYVJѡUD"Y\,*c5 =1њwyD)ꑊ+ZRhoóa5ch1'0vL?7r/XucH]T'8: TG(+9Մ~?}w 52< &Eq< D["$Hp:I~9IHP 8!8ÁeͯKD2M㑘loZ ͖Z.I!nSۍK-[.c%g~&SFOt%B(RR]dq`.O9Uz mQÄr9Zttl5Tp#9MĦ&,ڢA< 9Z|A`Ն Y 4g;U9s/FBďU}_ >ju|`0J \ 84=䜺Bu$TrSCC=D>z Sf *xoh((p7jr71@pt&6_%pB.$>P|UyYK]J' :-$`k&a.,ǒt>eM!/@2k@Vy5kWF|X, 9ibeV!UX(Z{йڧيn8mo6 vˌݱ]-_ؘM >MVD{zK2W!8V1A5.:E|7,tU3m\ ^P%t;i)wCO}ye |Upͽ+Nr$K&_y5:ۗN\UpvügۘncoJ8cGC#v@n _Ha#'AX?xdqTD('6E+=r.Up3+7y6]2ՇlNi.o:Fs8O Q`uxCrDc:XS$A% b̌BjX9g,V`7@%?9#bca =X*ELs:WF(?|OΦUX3)Hl= lS4O߂=9hcKЉd ^>,T""Pi?~NX/`nPѱ>s{Q&+|h0x#H>ͽ}[6v%o2:+$JvQO8NKe1H`r5a)|0\g5ۼWz6?fz o }Zݽ-W֥'i6"r&֮\\-/kswAs(s_/?뇷i{1 E9w)M6] ؽv>;c&*=âQKɯrX趖U,q@WL7;B]#2B o0ȾsQ\p WNtW E_ҥǥCOPj<\Oݻݹ>?.I$y\v{=3ņߺ! YiV)|r>Y~@u{lz,dh{ⲷjLkG2Rſuu :\߼9W"}I:IvЄf|E#Z‘J2r{l#{9H&:ϜDC̃dO~2[s%~r1K< ޏԸK~u'@S0-Hk C$f lV$/\IVd j/Ey~ -m\sF' K`5e$.S jV x>\\<Ϲāf <u|pwOo3^ {15!)=@*[jk›}2 BH*UPs{ΜXoVS-1eB*Q!L^C0ߚpSJC# 3<:Q#.@[6Gη@CxT/B[]EEnIN.cS'٦0m=u5;˔5q^3Ztx=6Ԕ R]KV<-r)ӳv+ˋ~W԰*wdauV1pť0fvˠ +p]H@Hȷ:I8s XsE>G3 ٕ:s˪3D#,e+a8(P/`3$4n Ea 7'5eb.9!V^JiJ]J\IuBk=;6&Jj$4.DӢlF/D Wn߫n߹+|~q׎3(d E:*TpK|V<#HGV>Բo7ЈdQ%pq`qvX[a[cCGȐmhj+5\ΊTڍpjvYٍV rOњZNBtɍpǝp;HMv~ʂ'fx?Qwz{w :DCgg!JB0ncܶ^;⯥1~u?Z5UzOҕ\ƻ]Wu覴,^UQe4#fA!#J%[&ju`\ewHY/K*춦ڲVm[QQ.eYDνt<0A|b^M"< ڍn1QIQO7%Ѭ|> Jr]W1]vbOkWw0K[j{I^.gLUUPZ !fy84HT i> -;i|޽5~_w~vrʿz;Sg?6`u.Y>eW_ʰxe Q>j^a{}PXMF0R'p_$}lYfӁV$+w5t%n+ q5J 5޵np\*9S&>s|: [A+ D֥칌^eŨ!ՁK !*>V[8(Y%W _5 *$su {T {p5V9O#x p~ϯ}G73H4 ob6Z}6!vBlB$ި~R..'<|~+sWH)a1R=ꔯ;3C'齎Y{VI7"GeR}z8#$g:M@D E?w~矡E=[?ΖcfrkϋD+w0C[&U{h9+8Ƒ5Xg+i8m9R+ZE462iC0q~'+j&TlfU[LQ%^0ZC/ үZu[+R?Y%*R!9'BVx` }9ѓ[7J#SW$ٗ.cs|lJ~lbFIf.s8\Gp:B~xk7v` |qUd{=䗓7RZ+jKnbsh!v i`(jjiw5_|썢yTIc+M2))䫜ފ{EBF(%udT%vs'N 6| w?>{w>o߯5IMY)B" "vsˬ'X.zNtd_1WjM¶)7"tm4Z&5'(l]Z/?9Etl=M*Ȑ%K}֪(U> ~Sq޹/ĻýEyQv5>Jj#ձZ=+.Z)DOw0f [~74p;Sƥzt}ImHp/6Lzva}lZ塔Brʰ6N geOvsuGӨ԰+Iw#1WGqps,xuQ/*\E*]VVY1׍Bv<4;C D#T 6,ݡ'ottm3j5yO3Pg+PqVr$+57bgM@j;;nycgaͱ=ᒶ۪4D(<(fA[Ϲ?~'ﵷZvml،-kx*z ͗$ȄGYV Т9Ql(B ʖC2/kq{\9vG&jV!΍,uNdα#dYis4cu@:frOL2Ii̙Ff⑦qiwDxT{D3]QrP[ym*.~AG (, u2r0!@*ҥ8_M,E5jR6dqfwk2Fk*8HGÉ(ɤ<"98'tK.?RwE3!a,e}>pֺ#UpuaʹIG]{59#{K_)Y{EU1]6-  (}}Ƅ|E_JgkE9dx:|Օ?jiO9׎CG6R"Ԅ':R#9+"A^uZXn fՌDej$_*CG\, VÏaŦFdE$[r•!\|KVkbm3rMqJP? JːTRi: ]8^K\)۬BaV~chQfпC8jˍk1\n 4CGmD |?DOGkŎZkvqamsu^ǣM-pRvx?cUMS<!%t)iJy*qvH"% /|8BE@Bsq[]C|ƴ-W nثg_WgѪy1E^/xĕ^7}ob苴zLYNnb,ZTԋCqpn%pY_RX7 GkM%\9zV]T%ՎpxefÇ'=]Ku+^ZE5Z(v&\o,Iqd[ɖDcbO A&IWGsfi9z]v`] E?1(GU+ B=v!`gw%W5qԫ=q u7.MѯTsͳ޾Q#\VqUy>;5 LFڤu6q=y.\X5Ok4fԫbE2|=;KS;{^l1MCR zVF]!73wi(S^xn5dr4e B=8c`b6;،PIWju[OUP'qFR|D+gZW6Q4,=39:Ri zJ8_8`^,s+ |dqF#9u=-TY! e G܄hE12F$R%Xolq p#nu;R?.q0 roڬ&uܗ_quj;q ؽ^K!83?JtaԕpCsUMDD tԩ#& D s1YxMQ# qŬ"AY0Zr"ڴKOܣ,'OB9La_8J=\R#XU+(]uB9,k-+c5wB3Sk-{4ؠa *!GcM7 Аb%)3r|b7ȀTD:-F,D9{TʳIV`Q+tai3F篆[JyWby?_MI lᆄ0߯dC`3x-YTM;TC=!qAh!,qSN!<*3>[X;RהlpSn 4 :(\sK;+lC mԘ }LrQл9GPa 9YOgijj m|P]*A6};\fi:κ;`D c_5憎 Ѕtw 7Nvs XnT^HjXbc {|W҂3adq'9]4QPzt9uQ/B]0yRV8wV"\g"[H3S#t!"u~6 Ԫ"J.ܲ|Kk|Ex5H./wW}(Y|T&dV~ApT<T>}cw˸VTuz_w$;{&5qSVVMee=DfFfFUfFVD>*KwK+<X c`t,=8像#7"2GBtUEܸq$Yp\‘& <ʸyY#?F%A*J+C U>>r"/{\18k.$TC=g@n'B^Ր`iF`+q~!<\4m x1I~C\\U4Db58.p}Ž.,_7P+N&/ &SC@ڮiJL)/TԯY$qRj2"ж$䲜m g^X`d^d=}Qb<ϰ`zڥi)+.(ZsX a]Z!Y OSIu؅)Z-OPqev_eF֋m`9U>qϸ*;EV4mXLZRXyt][Nܳ92lLѭY +)oKqzbG / ž\Nunt7쑌 .8aC 'FgEIjp ʼn春+ٰ@:Ǥ㾤bW,&2qF2RdEVI& {>u`5a< -?@PyJG @٢ܘeUOC @1]&hT^t &W8^m@yQPˤ~uwƒY0< h wDSxDU$`܆~lTLp1j`VhCK^ă0}E鷳m kb÷ ?K<-n_`TCo[h7G67p aoEx5x? :)dlQe A͐do@3xhqA[>Jj7B7Dî"iuÔ }@$udkP6r@#٩tҐ#ju3'&Zr FE@_6nW+.cy4. ~/'/ZnZ~e D_@_fLJY"%Z}PUgWA#$\|J^]V!_prLInvJH?RY #6%n $U:m~ah2 iȵiYMWtѹtQFvŞG,W[ kbp?G⇩LL9Y.f*=Bqk Vi\1?jAΝ;ʃWȢ@U,*~ˁ/UW@\EnZ/8zWZW@<}x*'|F"+,_:~|a/KID㽾Wj $W's R 8f `m;.$'ORa?V/B(S7my "hBUhK;EdO%"e{SRvJNA8ڤ\%̦E:ODEpiBz4Ҏ,| m}҃sǁV)ę@ !'Jxℋ~3jDq j[c2l!_[Y!W=$$A‡;Vޤ_jCٕ탭MBr(T-tՏ 銥&xnNS ~qȘ56&!3F"C.e$-jUѱA`>'fUp}d>W.rT)5܆攠i*qIpbA˸Ks^, h: ;&MCaW.{-,|2\Et&],"y-Ѱk@AW8ÍQiNiUᅬPbl'n rOM g>hU*g]A2҉sŞhb-99.Oejxq/&U8ϖ,І* HYt5a2R3[A"E&m6cP37| j!Ⱥ+N[< 6ʮ$"t@UP9f/{OX{C#+@j`tx:@zk/s^Pߔ~~ =H%3aj@.ч:Bg@覜N2'8p^45XqsŹt*TEuX{5$3!IM&٣EؚmMt\d #OE<y!45%O%~ꮪaur|(/?(,Mx?HK'A!f?=D׵,M6aͰFXt_D za aA0 #5v'Lq!yqY°@|`~}UR{:6up7 ]]\z{iF= DXpZNYfnuv.Ap̃8;1Y IuzpCli1;LE4A+hv,[PG;GR #H~.cDA"ȁ⠛hqYN*&xs4JFI D4LA \!t* %RQrcr=9Ӛk\) .iGP`KL=RdϢ q S%gjD%]^|^LH$Isz PuQ1U@^07~]!^qA/7eZUtp}%ȃ%h׵q϶Q嫳MuxO=sxK//Y L"W}Xl^jr,9]qD|ŬOhjaVo{XJG$ a* L'.xt5M&zs؄8Tm0,Iؘ JpZR M1sMߪ2:=$$Ι4=: IQ w] (yxl&lrC{R"6 /ZŲN ҿ6%F aC\PLr,PxO&7_]̉sE`ṈdmPTGSa:oR&d qHSˤzO%GmfբY~mwo܆uonT۹}q ՉwU+USlziX@OևX OTKe2R鍖$1\Su3j!ۆ$[{o:q qbR|"z4U7r< %a2=vB_0|;@\W .G=1\> 5FZMi0n+rQ⛍~\n \PZR4-)8ՙZ Xy0Lz7|ьC z9} ZN|;Ñ`Wq/AtAF;VS6TE#⋶ Ѻ\^ecT ‡TXg4_Reqk @8 4+q㠜!7;1oD#7%Q<55 ?#02Uu&R$UZ4|‹TH>s)J"[;+mJ;ρSp` N8G?xc&[$Xlb(\NuѷB_p= H9b. ,\aFހ[xD۶Au:?Ύ̊@- ڴoHK(`xJV׶gǩG8dITSipT/xB]d!UXiٲ̂7|Bڷ-B۫L/#u,X@$XU۩ rDu: /t/6j6Y:7濦-+P?I-^zG7A~c'a Z|lx.hd#A97լenuQ%6+z(&fjX8ۢ#8y"Yd%TwD{'¦c džd%K2pF/Bkeo0v>r"r(!$ wUY x)}I^^MrVh4ߒ*9'ЃeFBs X |LH}32.6=1{CQ&G/ ,E='bt>‡} LXl;@"{{pwKZu%wH1h^ ODn[Q¸W:;$`y4jg0<0t,07t}f1Y$uܬbBa%K2y<4j&`eD_56&%Dar_ubm<@ƥq& y^{W47[(R,`LO֛)q.-wXPPԱ|A}׵Iz d ParJqݕ#0 u!ŕZTz\;4â|CF_;<6μ .L=7G}nիQ j#YD* 葽L._GP _T ;p{ɒ1ƃ9_OG1x0c_.HGG#Oc~M9$):_ف>C 3SnV7X<'HRU47,#89[ [ t_#^=EE萁n`a긂QoQ5ɦ/q֤ji=YRD$t~8-9f5ؓx7+WXGijE^&9fa.V,т2Q9E%w+|8؂y<86Q/`_Hs8j<2rm`)ڶ^~F0dQ:yjF&3xbN9ynԅM@ jNq q?#][mHqcBjP͜Yӝ)>r Ry2~]65^ؐ.餅OZ aȒ!htvdɐp+1;3ax*)4⁗@9!h_rdM$l[9f \jC?.*%# ٠ߊhIÖb93nsU\EX& tQV6!'d5mU@RK?J6IA"Rns>G, <1:.gI'F2AArP!M!ӂ%G c `b V` rMbm £#pe<',J,Qnav kӆK\pf+)>;XwA[<ݥ/HY3qaƹ!N:YN$l %+=2M2 NhD *N >pU/+-,\ z吺luyg|IH7`֔q`x7܈0l[,ʵP5L%ڇHG?95kBOyuGa#Y>L9Y`H, ᵬ.n$'՜Qm~. up4` 6+HBb04"8(lF#jC% fq+1]sT޾? ȴy'6et3$s5o e1Ōi.&"i/)>@VU叔U1{3ABGs(@︐.Li?R2 o5{ ϋ&| &U14Drд D+8wK/+<(6Q(Y%P# X=c<{X\R%'jʤ-Mu(>ȧ,Hpnxߖx:oZ_)a.ܪVΉ[ȑَ sȫ++4A+{N iʧ0sxee.BBHa/-jsôPJ1:4 !@1!!н bJjͅd'إlQy]u%+/A~0 =b].4G8h9 1BFFj^, xe橇!3uhy8Hlr[\Nu* $L#lLzK 7U+VvkL!NؕcuQ,j*F˨Q'"Ò) 1qJ<{QFSlEWHG-Δ8 \qV_zPc22F + R_栝-mrk:B*)@Dz0nqt!j0 4C1&`1&V%ъR@]<[-Kԋ5TDgθƇt| i6QeS”|ta,M5BM6a 5cFt~qګB.ګB*ХUZ/{GЗgd] T݌?OƿcH:: =sCn}׽\Pz\y TfѫG%"Rbv(e"CAo@řJ<;PRբ<Gf*&Ny]T&-'{ l ݀ǎ6jhwhV{ջzhv]hU,5, t^ P:=BMe85KuA4FJ~6Eq)0IDLyQp).v<"_pC, !g&n7CT~>@[Z}O2Y_+FVI&B.PI aM =a$o*3x4u:ab;УUClB66(_yl7'f[;XM41;Z#z# D "_MLRLУ%,]dcUTӼ'&$WuzVrVVJƪyXamSU`q#yx"z( 'x5Ck͓Hf3-|=QQ1C~,!!;F=2."ߵ ٗx6 ժ&Fx埠Oz`)|I![1{-/Xny`O`3>3'M,>(lDܓ1p ~TP݁.{1+.Ab7&J? #op&һEǓC14E*6([$B2VD\'nl( SJ`9eSoSfπz>߬95|۝hdB~Aeh^3;T w)X"BRm2Eׅ)WJLqF D<@Y|*0G hfCqu`ev)hF1G!sGq5j &. ",RB uX[בjuo|3*ZshEL8q >Px-hWɁNIg : o8*a'MGfC/_A|yz[R-"[ȝU|o `\H:, ۆbbUK\eGj:ŸgH \TYz|]/ױ Ɇ ngx0k4rhӘf7ohWJxFFl<ގv#EѡMg3NPtuLT@ UvXf%`ti6AJ/[~Pbn¢[FɄ,gO̤{eַGQ ζr,0$Ns&DEV-?!}m-楼 y5֎ceR3e:&,1ESB? ?YM\hr#}%?JY\xɎQ;U; FbYvs*$p}8\υϢ*>'ߝNRB]*Z|r=!!e##nw7Nů_u$?I2'zTu\vEL2Ng/U?[^_\lg?|+J}!m?oz,}g?xzO[?z'~^OC5o|Kgp7\{|7<^xõ7{~C?c?^~~okkx-ox¯G?7o|}KWVx~❿>?yg3o|Ûx'hSo/?SzG{問x}_}uBŗ^Lo|e}3;o|[?g7b-5~#gBo]Gޕoӿ?y-S7w]{Z;6~}K,>oYYx7~W&o 7^|=u׾o|~[~o~鷶f{ K_7s_ro?}᣿}7'3?/ /nD?K7멗>w۾oP~Wso=FG~+?_40ėbowLKz۴w{<O]oz _o/_}ﯾW?½k>·O _?0*/"r6g__x36Xw~xSD"c?.g~~3zW|v5ڽ=ߞ/=~ϧh~coxb揟'~/}S?>=o~_;޹93_|???ޯ;Oף/|hg~~0voG*Ͼ_zs׮|4S:ţ` y?I'c'1\vh]oǵ[\s1*f˰жE}QhQa\PŞh(g t ,hcg/əMm6#VFjx,=JiCT,l@6K#Ƶx4aC,=LÈ"|S34!1tѡYFSJ݊cchFSx<6ҙ GŠ`FPE\ڌe C%b; 8]" -PhB U&'w~^ fG]ŵ mHK#/DLt'bqBdB?B|~VJDc{@nd>P n0\5όM-J 3KDh<R$h/p0!jbbDad+Z&:֚(9ѝ75M h[tV$}lU;r3oHmmT#ri m5 5 8,C޶Y+Xm܁*n3S~άa`bN>HSH3#xbRjBZ$+i֭]m(O?0'1\b-˥>.1t~kxS?p9Q̣3DƸtq L<3G2 8o#@rsi1a1Fcx&1EcӓP o3Luʢ.Ր$!t q|ghb~41FT@.# 6ÕD,Jq=!P钐d}bѲ!%Wѱh"h:N/t̽.*Y}-z@< _n>x*ZS55:]טm[>7.IόFGIB-cT19STaayM&"_v5qL}޿GGtMJ&o .$:ڭ@Sr^p\5rCw}h:nx2= MLn|3>Lhn=jt%xS F ynxMnkVڌUf p"7&|1Y7VOrlΧN̽UfDhZ=9Ag$9\]Vk>=^uwcs3ki}㴾f/Ϸ7|typ1(Ng͵~!邏F{fXq\0Q!5ZNm.oWwNY\ݫkz6d͝&e#i؎L&:M5f뭥<6iڣ3^L80gZ̓Lc,]L j;kq<1\&d텍Ni.{N̏.n'CV}NEs]9ݟh/ wR'v|;/Xs1urN;a,ӷS^.[Ojjm?%UbkͥYln4b:=;i/lb`qg7S)r)$ӧHq/wvlepdqYvpsUlMff=7WmDzt~:2zfaͭM Oh%lzsaj|unQ:[l,ԁݱbLu2W6:a7BTV\97*ϥ*#i06+ͭn|&t/-R;j~:7M*H6s'كYs=4' YZhTkaU)6 g^*>?ff[l"fqe8xVϬ,.-cwgs,m6ȡ1kVFmkmV7CV0Q?L,ͮ6ݜv&Xd#56u\3֚s땝k}S;Ϯ5OO1}`u4?;/OLaT/όLƘIK|nΟ9ĩZYJ&*i0tZWru67Y;6񑭑nY==,O.qh37~u}3Jnl riVsx+v6w),v;ŅŽ$sմͬ$󣡂Ӎf-⹱_'ka*^1|tnw9; KY2U[hmWGfs+e/5ڛ7E+n 'NjjɃVqy)eWj6:=6v ͎;*ϴa228b+6D]jM3E.חg;da{!Y< Xhԛɹu<>wrBsx|Kta:kAqsd7|tv׊{3\}Zޜϭbfp^N۳-sY_)an؆1kљPG;lj"{nM,N'׍v|;QkU>J2lx~Z9YӇ72~Vnf#Z֫37қ{|akmBٱJި7ť<+6jY9.eVf3i}\kNy礸896]Y[\14UYvXg7js։?ɤΜLn.nV;2bUy7:M}tx]+}-&ޮѬ|u*P<%g2ea%~du *Zf0ъqƴaj!ͥʵ*4e\MUu&m.jː}:oz4jyMamY:\()K_W%%Z 8#IqX",ɜ˒@l'@?\5vyWam;$w#s3󹐄VP)k pIhZNR`̉2TXtزm5zzU΅6'6*hvv~Ɩƺ\ȱ&`ف%tbh%BLKDㅩRKl $ ^n+la+b<. 5H mg/,6JبZ@d;.we߱mIG4חּטxf]_ ida9q nCn ~2elޫ1.(tq%q.85OV\IehfQB;ZUbq)zކ {FJ!i:۔WRF㖀uo`d:uDwzf ЫF0 U^Kv"&) #8|FXXC˄*b0#4CxNޭ i%TKߪ`[G8`Hl-%Uh^auDwi@_2KDBەymL%eۅWJSlZ[V O gk*љcCiQ7 H"5פ ^#rA3PR@&ۀ,8|;xJ&uLD"YvsA &jo09ZIS. Lˮ6Z ]弦n̦]Ff m`^w -KHXV`n/j[,ΟBE%&kw"AV S`K.9}7[K_Pb%Ա*wŖ3ך8g{oK`w&;*1a']7 N*ҌQ[j|[S5êlݲܓ뻁XCփբyqcvȮ<7,q b942le<AmsTinVnaZ4)`( <t2yޝԔ~[nW/7x<7s#[ѼUJ,7-l10㒊Q%@bIdbn.W3cBC}Q~e uGliQ^!*`jՂY[rY6{]Ϗ/Ky~Gz8nHB[\ΝV:wn/>l^]v>޿O*דϞ:IrAOW?7E?Per(uӸ=LDy{LLӝ}MbBKd_φ&ϓ(  J>*m`!U GZJW$bSa"G!bv@y=~?8soQ=xr+ORn^/zwu##`7Gyyn{?$^ u34[rOtSxtέFS_iM{)//ύC˝Xg. ?khy=MN8 \.pq@8 \.pq@8 \.op\ɻl:ܖ[??7y"7]⿾E ??F>ܑb~[n4dۛ0K?-TsPf:A%@6&)I~4]4љ0X d](`+pl͋r1!<_>&s(*pۢv4%֎s?kJz$ÞEۯmX\Q"A9ݞM5DDC nfY] J׆Qa B[=tMɇH3s?MRw+bp4H4"Ph@6m=#gU"[!_٦ &p2G8{G?F&-(HvSgzK SnU7oorsqyƑ|߷6\e9I̕!juLB`2c$?(YX%DC08.ZD)j:xe:wB]G80Kw_D&"33LNK{| hXG5T@H҉=)1;bٸhkT +|ء"/ڂY3jO~1:G`rͺ;V`92h.,'Y"}c/-'H<}rhEzxHdCmmFLœ빕h9XO;r$E  E*nqM]M?CKw pą6Qs/jC GT`ZF*OWeyz`ZD> EDjYtT=f;dt_o{G¹Ѓʇ*> n#?4 3 )~ ºyU^64TC[ŮovU!R2ؼY>Z3/}l+K{ijL x?#Sq \::Mm1 " iWcHg1,Lo03 b +w0z9T40y >h:ۑxmgP415+_d OJ{B<Ϗщ)v.Bl6}t_Q0|5of:)ޠEP'<.h Ejmh玅oaҐ8􊽾 rhltMGivӁ6{+O'62쵹f#Bs~=s})qyڬ(JZB)Mu@tA^ 9 Mk>aKb}W9^@ˀ/;Ȓx!g$If \ a<> d߽ `C/W s ^" R R#H SLd %@sO> X/!@|]Έx';L,GNPtS`e)U,9*<5W=³FT=lΰ˳ρ$W$Rc;]Z' 8,lBvmުEu49:.?qpp_GO;P%N4mHHh: ѓp8k& =xLqP[f Q7b?DbjFK"} =~hB>_/%JAFUo?Vs /# M*ˀ;~I6ǐcmyRS^oo8]ߢy-0L ':.3zRz~g>~Ca 99QV}DJ"[6x6 {v'tftjF_,g 53˻dɻOe:ngIF<>З;67 kJ  GdȒb_Uv`|2GK꭪ZbA=O/$? R%wk\ C@5.vs܏8NxL4 rg(t=FN *Ļ01|t䕳mhѦ] 55$̣› s{{(l@:d\a1^b81c*qL]xx48,6x<7*n1@ٳ! 颐 q;5Tc1Tmp8y'd\c b Db R6H)R)@ 9 =l6R1"y[tŅ?+ ?3חV@Mu7 U_b5Բ Ӹarlx7fyrqjϛgB4{nmũeB/}9lȋ{۳]-NYA~9/],\_T~[i0%w8)αU u^U*I OtdMvџG**d 6/IX&y %VODg0&Z6brMy3IJ([:'7XXPuÅd/-3'cg=_3cn^ +zvT}-kJRYjG4}zhX)dܐd ڐVQ7Z܆Hwa[]Uz͛1:c<٫ln:vs7h7wrv}hv˗/_yۣ Rmb@B'vSl6NAX-yiM$=wZnoOcOF'sv?yJ uepOLomig;\k|nnۧr?]>};xɶ<:3GC>*is}[<3Omos՝N[xu{d\;F:k"w>Ollon~92퇽t=uKҨ)-؜_}`{x9oQxOkl/{ݫԷE?;\_/Jo^%,L嘪U|e/8ޮyrQ?xhbZ|OK[g/T-M~7Z^B5 /Iu^fU?>>\`4Ab#r I2I؄'r6s󹁋,vB0پҐӇCZ^ `vX-])h~ 2},HӔ3)=3Fm-v!_)kR9u*ó0ej]A.\WH^QsEWHs\;*8+}lKKr5P+Z_[DDAó HTKZ!Y' =5rKɻ`pby)j9Q 3fN,ݑ˗ Z(LC(svCScq4{tjS@bBJ3<4{5Dqo٧K1 drA=Ȣ֧hi};F$>t߻L>t5=f( < `Foy.+T鯻(Cnp(S6|j. t3mC]]*5 ߱u>`f2(_:Ic2=Y ^1,be'wAMkΨ:7;>`yTtU!q<3RD)ɭ'c[]k]Ycy >֊K~mRKQUcLŪ[nɬ=eXh J>lYx>^8{VQdXj-`xǚ/˯1> ~^Cmh!ƌ9S dCֺno&~nM1  JӂuӀ@sl КMBR[Ͱv- *w;aĪ2+Q3 MʣQիc-xPt_C-Rԫ|$RPۂN0jrK]>n'܂97 /'/K2Ho+w KoSލz[RHl,&܋)דIc qb F W.˕z.ELfkC7BzC*\~D}V'1|§RT*S5| "|k7˚FDRֆlq-vVV~y%vi۪š?31;LFO c!?@%AWJ#2+1.PIއDKT,m oAp!$ϵGLJ6>|N4U{MiqA~൐7,P{5#*+@4OlGBp&`ejSxq%Pf>q7a"d!( dh>:&C< eVHY_Ѳ\υF7!'Њ [!0 N Izmiw,:M$߽b\cUHCayyyu/4;L4%'xh3Fj) <'AIh^䏏~n0 bP^2 @>SP`H(stgԥ/;` (L.fyG\%;"x|.2oۦ< UpWw#I7]=02]@T;d 4)wD9lPT+D/:P@eP-lXq&KN? G.+14L򪚇V=sC\37/f#L** ƥ,RFL*m_c"3ǫ{$PZ ٌ)@JI/}[Drvfx6pj,T/Q~h][ yL }Vȡ>Bag?Y Msh| CCh*ٓ]Ƥ 窒WH90 q*[Li'MUnA j/ {mL-]/<2![:5@\1)= E}W5[bK4fָz; l[ jGmGgJ1”B=ё[@tx2PZǯ@kL LZ!"&a+ŏ EŸE8*+T4IA GHɕ8ŗLJS=f\߉#QĹLKO\3ќ\G` \Cս[s_T}3VRQluҗf%0mTy}w2g(kpk&>%UcewwhB5/{ۜp;i㹀"$X0ChS0/߂!U:EE-G9ԝ`ݙ}_Q'F4i <.H~{qWh1}h&i%Z²'lj/N(I%[v4Py4F#i4@,:`{&TF?"}F`фϽJm 6jF(wEG3,b3|Y>V&.N9A_|-?qq_%,iPw ˠ;|vγ'5=6)wo<&@W><. qߡw6/6A #S)Z McgRE|m"+s̑ٞcɜZ#Ym-hggPoOZIE+T9 Y0DơY)94+yT2}ϩ{ &Vb zcjR~]ó>>6f |,ÛFĭ6/QQI=VOb`OsvA畱y~E U(ܚrp]f\JZ@ޒ/%9) kޥEHwHQ"(Yŏ?9z,lB26mxU<:g Ѩ~,+jyހ:Íј>"T\yt뾫#J0 l-Ŀ|N.ϟB3E$oըW+K}QVvJ"-RݔrV\|+{*1ΝXvB z*'~US[zJvd|r#]Bfvt9s,-{6fsy?Yi b]hɕ8x% &5 ^ ,;^7`"/zȻ \Ͽ ׍psuYS':ѝ1:޻׹vb72XS {8yO:#;zBOHfwN{!"nC_UFiLHZre~'¬# z"7[48~ u zgk;nC/tqA7*agE4:i4_ET$,+Ũl `87.s\d[oxhԯ$?|KGH_R9/g~>UϧIDsV y!B o;] E7x%Kxɚ>6QV1]iMc`<"6`"9[D* y |'X^Ḥ}Y*ɭ"4cʾGq/+#!F!໲HC(2\%Վ|D"'ENm Kydlgȕ[gg_>;D,7u ex$9s`: j,tW?[`|381SpiT^Ĕ۞؎gךw0$>no@Hl}o&:'Ug~{|m?u ]6OC6evZ>.-7gM aV'0W4.ޡ&FO;|Pfۏh w;D-$/@{#03&p쓿ȁe40gX%Z0رǎ=`7ǜB!-_9  vDw?_ap݃cZݍte'0{X1** 6$CӁH Q c@P jBBin㨗T+t@)b aJAQc=czD35$ Q﷾4>I~n?v\~yl>?w{i6[ۏ/}l J]Q ~Gn~=DLXMZr>2X}a>jm`QW94ߵO~6_ʥۯ[wwo8;rNsÃOGoTkd)e?y81ɋ+}9mJ+д|_װ5VZ>"Lw={? MU=kpiUó] +4JB0uPj VFa ~tǿGo+G@V{_=T&]VX{vJj%) Qn!R |~洲 e;~볩() E3Ǥ ӌ6 Ɓ1AYiShf@eᲒE!ahNaM;ݼ5-i_F=r9Y='B`Q*TА=xX!-Jè@ w8;FF1pQHhƄnױ " {Cԅ dg=>h OsG@^(P3Ik"Go?׹+m сWʫKn}B`8j,?pJ>;5/6quxMvw &nGA'C5a(?ə1" rlY6ΞmR;R7 ]e%7%8d'"&a 89#܈A !-E$}ߜC#N˜`S 3T:=ϴLA2mJiH8p1@b/eˤK8[g[WY<a $bc5H5}/w}?娕zFhQ:OE A+P$їkR^.ɕ)'G׋a57cJ r(d;ÓSkPiW |ǎfs`(W ?05=Er hEWlW^Kf`NaqoHTǦ,~`H6BT(|.iyV'to=|SkP(IZ3&*D B6!xޭ}j .<ɍ}ݔ ټ%څg6i9ح+jj2DZQZ4.b.4.-G8O)nZ$GM ҅?w92e69,q3넾kDpXM,lĺ,;0O7 RcXNz3'Dssi6]U%5yƖ2D95Yj "03nŋW8{==m3g2숚,.WqOWsX)4sRL\PV'f6-0h5Q -M_v7LB66:tϖB! 0K=GJ3#Ajox' ˿}̙J (||̇"kOHܟ"Z"1xQKv;;}wGoZNMvl8=tO|&E?U~L$CkFp% d ЪT[d[ 푇 jУBBpjNxGornE'me?5COхEIjTIɝӽ;{wR@Mr/NixT\S4- mF0gBm|<]4eRД EE'=i0AnjMIA yf:wy-* :S!zp0>'mWA`a|ru~P,U_`px>ZWӰg{=C(*n)O)ǘS~M1m{YO5^.Q’ nC-̚j4S>[\h ɠ i>e/*6O|ja gMV`\߄r4B3:J M~k`@r^Dn*Oj5궪:.ڑt@cqu"RbEpbmئ{A]Պ`V-G 1G'2ۖc*bf!,YP\Axбb!ҟc)?c> Qb~"vL2C'n;L)<{ 8^&q* y x',Ҟr1(GTC{#rCKPGm% ް?d }rͶ65錞 γQ;À=^ƈC_.HTwFֻ}0׾~tUr.o <;x [Ek<;p]ȠgC|gV6/tN txc]b'KUOx+|z;{ydyƙv>[I_[u._ξ&-դz,wӁY$[nv%G Qmlmr批pC>V2Z? /37jllɆV PRidNqQ}d-ҵ,|Ww\Hɏv5xq@1j<O`4cu{3%wQHGIrG0QEyiѶVČ0nպoȫȩ;U+xN hwfkd 06{&vlj%2,*1c4.%ckQxoN@&y㛱ői,Ve_JmIchN"f.0 [V'K.},KLw#XVk VK;7 ͱj[ѠLk;r(*eJ#Ͱ BJMyz1w={>M6 -.vbIitA,mi!>\nb4e c&"gl!$XMQ(,=ԇPk1:Q21VD6M=.UĨ!zCzihzi?k9{лd jl3k7WZ-Rwt $*πoj y0w[gx<n(OP-cL@oml|@碈<}/RE?;?Œ:G>chFFPAm9N+!*` MvxI0ܼ!9Oyʰ1BEۣB*mO^~y&h!z fx\o-sZ=x |[!Sp w3 ӣS)sKF1=+pWxb8< pb5&ؑeh:33XE˙#' Jj !.-]?h>}w:ip酂;> Uwj ;9 }`\\>,j ͢-_֫H_#`~h8m=Fxf/ip$QXpwTD b;#cpmvrt[*S6x|Sli7^񼘾4Tvnr[4[4+oD?AEn,V\rS$23/^@^z-o|>㨹]Myrl* R^VzI7a_۸a~Oѓe H2]J%GNlKb{~p(4hI*7w'IUBG n-Jva. IC7<ޑr ufQv ´Jh&Xw_Sgζ=sL=E'~]=^ NieD*9E9wUnze8;VsEzi'd |}*kd펴Q#  [W:v=6U_ uDV\D{(+*F2,:q[y3ZVY/-70ߔm^::(XM LB7D259hM`,-X_|"<#-@;^ ٖ|_Q}ވ#Y4֢1q:} bMɜ}̐W~'U-0#(b IlꭧO_~+QBG05˿X7sB a<}xƒcf7ǽožEDgzI3HN#E6"E bp~g}+.J/bALts=5 1'F˧K,dR|/V6*~r"^ʼbÖ[D1Y{. _ߨz@$',́S`V3\^s֚+wϰ?fCY.*"sQX$*z]|t[m:[ixܦSqr {ly LؠJmذuPd 귙^q|æUEM"Mo;6"%H]v#8p*IY%$z͙"CjʎX{C\R-֯feBwm^߾#V4UȦ w4v{׉x A$N`Vul6AjwxqcE⣐ea0ۯfmS vg%c |"!zhBM>1L _Ih}\W(oZnq6o-B%l%E0< xe!,6?k[ rC[fבeSE=dV'wW%K{DW>G "Qeaxp^,yuAsl'D8SQ2lair_|6~G+kz?gЬzv1{ip/Йn|k,dYKYEAB{>٧ҳk 67Z>sP#N| ]+XjiRt ȰL-aJ/Y:s8?2V׹pk4BKv8NvA~RUGX FJ`]ia{t>YdS:c>N=}xN=h!VڅUib"}kp:?HrAZf7Ne&PRÔ=?_ΰ-4//kw?!bgL OxR'bUoPB$t,kcj(Q *k*AnS  U/zqU_.gTz&K< rشciӧهdq!iFO_ХQ :_u$-HigAj9R-\do8$kw1z{/ d(@:>k ;ճxwN5R2+'}Vqc@sD4#Uj.ir"Dzkj{"Q{Z ϴQ@N#*߫S- WJ&} ۽tynGӫUB]4d2È9lڣE!ߚ'Z3l[dwDjߑzXk`gL ]2 m:U6z,Ed@C ;hlmNjM#rsi\*ι\8++r},2Z4N9vsl c|u|2I :vV}Z2yoǽlL>7 h?X!] n(ةY-1n{oݮj[F !O{ ]xpĂp9JoC:0zjII?dCt(z`%4pgOXKz+ٔN-Cg9^|nb^,kŚbL@)GVϺ$Di>eOMB j9}UtxELL$z͇wΕ~/S"o?%S"s9`n:#b,?ZM:!T#@2ה7>݄"fˢn} ka߃ s&[/9>7ot[ϟyU!ud0h5h.(m-]y[I0W8m]06Jj"CKRy(:X3K[vnHmc%B'Nct#ں,9~[JpLa򣮨}Zuܮ/VZo(3 gHlgX[36Ǻ,#5#,?2р>]4k`%~|)3*?-rBowoߕgTK+ZE:;3}99SjJïK_k{KدOI_vR[T) *^+_Ъw"b3RmCCy{q,[4˚8fz9VLjIj!Pjyh,]~`QفŇm2,}Ŧ_N%o]<Ul#v]!o'kWZm:Izq`.gɜ&ZZV*}Z&jտmt7QjdN(jeTf\mLLJmYƕ Un\Zy?*R.u(efZ~ſW1~sA!o |^;y^k2p(AN a|Ih*5!ӻ >Ǽ5ߔ*N i ]kU+)|r7>I4ikOh~gQ/⍖7y+1Hq~L?> .J:ʳk,eTQaiX!\{zzh8:RvhTK-5EJSS{+@b1>&U #2֭Z0R8N̓dyئIBdzOQnQdb:Ƿo]-/O5QC$L7+a=2,s-rN?g?I?BFoɰh|v^4G73A`hikR'y:ۻv[,iVd2{K#sbq@ϝ%v+oxy>d0&3Fs(S 74rE|qpC [ѷIӟɯ #1X!M6Y,֓$kqv _]SOI,dXeGW7FݵȮk:]kV>d>CrWRSu̕|[6ELi#[Y#;OJJ|s2KY K{Bf}B8iN,ދf~!SH-r\&dRfL cki<%]4+B&C]S(XohqkB\ܑ.DI)%Zd" bI̺I{z$3h.&;2&o 0[+>Q7Qz_oDn-~oo})6b +y6Y뽗:!n*hMFY W_Qdo [GMR4#1FQC-~M6 WV~Yoc` '˛co/Q2{,(A#/gdoY'wdCDZk"s&EUq儵401e5e 9:#)]q vE%슈+"a]qs]QB!tz!r9 W/'?B@^q1TB+`yE*#W WD6i_)uPm"Wd^n%SC+.W/V 9􃗁.o^'72'{yN!k/"ߍ;&zmt:)mN/'ÚSm6VGdI6dwlK[䁵kicTg[rGz,H̺C:j޺/ж&dEȭo X&ꮮS"^pE \R535GhXRь&W\_-j̴ЦrU%uڦo'rv鏩͌^ؗj)k="fAV\]jSR&v\2XKla!ה33bl*L b38>$%u~F'Ňa˕_#j{&JhMC)jm)t' ˺LGFLMѺ 'HIF52{0R2wi=ӿffDqv{j \f쟘39 J~kґFH#MhM#Nk{N'5}(ܪPpL^r=i~"bS^xOGғ#o tdߋ#X;l H]Qym>dHHYP lOgm7wA̪ %l9DG.=Yߒ gzpvMXL=ކ}ݬҎ^-Cuyo>K,w[<2Ezfo0&㤱kJ{bqs9yt-NV [u91Gx9`>H̙2xͰ!CD*#fEX%2~ ZrWׯ`>܌ߟ͎CKQs]'+OE;5wiښo9/z>2[\ =k~So!ÞzS&>IYP'%]rC+_n:vlBFA5w;NzpyO#`]"g'utoK۴% ҚɄְR1t02F].p6n}y?mfZbSOD)_9yaPtYoi7 _k$Fdh~=,f6鿯rWOxOQ?ﺞ绎Cw?OMS"M.;S}!o% YOp.wi(ۄ[a40N"1~sSm3O_2 11[5w'!+{_]>eS-/P-w2Q@ޔ UJiy6'Kr}L3?Nqh!Nnb%apFfhǶC+l2Rt| CوQrqfCFql5'3@εPO=7Y›%4a2NwwFjXXCo7-E]~0n\GvW?-{j\.8~~uX*A&F`|`G=?cA?:ɑ0SVsS،K/g -4, ɪUω߂#l xcw+8SPfؖ8Zo\L9X$~4gF:8=8H;]@?ˋEevtA==ݯC e 2kx"{ه2=} i-%a; :!_?UsSكj,-#CM?eo3,̂bLN{_pq}9Cԉ[g:8чmB]R`^x)վa=ݪ{??p'^1ʊd1->Y|o%~yZ6__?B?/T诽򳿝uy4__F;=bX] ڥ*NYo -t0g}wGl{ r_^s{4,5 (' NϜI ;D UVbƠIJ:&9[&wpn7G&UZbbC29u2Ns[i؝PFC̬WЙlu\,t;i/q().]> KXHww݊n jͭgQz:^}\.V#s,^To8Q%ゟij[˜Ӯ2툲W+:_.lwҜ)JO.9 FX, ZH i9bcF+++Ί=_=a)/z󜽎A~K^KH"i&IV:.mzqY ϩ ('N/gЦܧ ΀N95]LT/ {k1-aIŊOIf0zc΂r4iVgq)kbY&Lf`~|*Я(,92|ceeeso/g^=lx3""Z'R`Q&e1EI4{J"S}PƢϠEoha2KuCa5pu O!>}eF2`z.4ofŕHf5exMۜl˗5?eu92 k6k>#ܙ҇ؾ,{F\6)7|K '? |xlx̦Ϣ1 ,f۝[L2 onL9g'v[v{1[KeCmƻ->^s4X0*hbq:Hdߋ9yr=*8vDϟg7J֟_&HB!)>킥-cQ}|S&cw{~}K74(9jcRi:7yj=/ ΦrT%%`O,nG\S&FLLH\ °;MݙɌ:89 9҇Q2<*H^,Y99|`rWI$e󘶐z2cN>DZWV]  56Q?+^!'{xlOFGfkܕOfL;3ÏK! `3.\D,Soc6k( +e>LI,1^.g)į&7VJعIUpGM!Nu.w^v@:Hǖ\DaTiZ@ wpuOY&h.rč'<  %71?] zpoQ6M^jg2$oUx9(|:j2}/O&g2-۽4gK^L3dEس.QZޱ{4].7Uv"7Qj]?zݛQs ʌ }wO3H{e*<}/-/#,bj}7Ḁ'zjJ27Sn8grN"JvA 8aq<^ RJI$Rl|BFgsKn#40˩XI\~T&E{BMB%5]&+bܷPXDf@qa{+wJ  ]`Tgs6tUe6\]K>>aV~?KV&f {[fX[x়{p/@,r0}ώkql?<ϩ([ܯM+߲骞iئDvIΚ= 1j%X503IWI'3\E ߬[r],o27SŜf\M/ɌZM?LiVހz #YҬK2ZҺog̶6{^8!)} WMtsuXF1D% -΀V'K'N[eE ֑E,{Efu/)MAxlNMer=KktΫ *ws$_gLI`_݀f%/Wwe7~aF/ߺA}V4E7reV 2վ)t8[lHJ$Z*7LXxsefgwWJ|Qh/lCL.N&+'ZHhؽeey)Dˤaל 7}}\)"Zn{l픐|!f _"$zxK¾ mV mAQ]U ]C=S}W }0@0Pa]%+ 6ؒ|S]Nt&H|-RuTqKn%vehZdkwrko22iu_mLY!#_fWˤU7do574~-iu?W+S&Ӿ#`;ojּmޑ}y<4Kf+_GXוhLTf| /~-~P)/!4oXʻQ -uvі(gg 'ux7Me~?W5e@fw]efԼmޕo 1U>/Z@@#x$xjU2yASWuLT&|Sn5pJ.6.U^6?(/uLˮMխu`r) gE⫲!7$'-;ǡ-Ά$뾻A <}/?K:KR8Xt:͂ tzt64gΆ3wrh)G+GfW*S&Sd\jler5}R^[ӗøK~$*z= r]X~TpV0+/s?ۮ=Ƈh`{;I򅤽onћcբ'scXﭣ\.B)eXwP RLLVȎO |Mc-&7[1!]{vHRCA ZI0N>Nk\ h|T7%u@j)Qgaq6P]wT;Q>Y/aA>L%C2vp]X&ڮB} PpI_3(69AA3@ev7LihPGε7ߴr 9 QUYg^Z=ߧK AXF\$C]Y!f=Yߑ ]7U$$k5o .~e% \yչ>kk4k7/ďL#=zNghq+>B$,Zʤ~~*-E:IE╉\4Yy2 ItNDNEnu;%r+Q{>YdXA.z3c!yn#: ṋ8lgE&)C<&Ɔb|`coSF&~ 3t{PiXIgG\"e5ͿyWi2OH!qFÎWIFBfz:\xG.~#7"̼w}V7+g^x)K!K%$@JM^ QdKD3`|oًԽ.C>gy35u*T P˖}h fA.=x ם*RS5-6*eNU>n8nX I_5%N-h@hMhdD:lzGK`kEX mM-ASS5 %l%~8.p0 -!*%^zne`^m6gމawCrQRy#F3t- v";M7SY< 1v8_e@(\JT4x#5 dax%,_HCS{0nfR9_WՓ:"i"ƘR))DfrBJf꼔BJ&eL XL XHJl d;ȋh>&ꃼ1Wq088kwzcas9w;'j 8w[C,v"*3J׊lvm^:-+D#h}$h$K0{4lAK!`s+2OԴ~O @.|.Wyq`:8ȮX^ SL Gt2)KDg_B"ZDB T(KR]HEiQ4E,5΀-fS~ظp&QUv]H &Q[An+":˖ҚPzh])/Ö^uB!afs.7 5 *v`9`,9lQ6H =/vb8+: Ŭ\\(H.ވnR'Q~'Q;[T0mgOșKαl5@:E|iGgAod)Y\yk0E5~ [[SJH v"A..;sRYˢ)sl* \\81M:~~1#[CM!5l^GݰIGc2JkW0x-ArK5l,aMc-6@رZ r9sp(Nr5U&i|]ԻۇuL{i|]X.|]Orq:__c]6BטzܡkL fRQL|f[O%'ΤC` n>ƟvY߇B Xips,#:S2n]qOW!Dȸ9E Q sOJc!x/.{"_}X~cbw卻-b ZxGwa YE:kue)^nД"j?q!-&˶2?d1n\}k\\/#jowu.t.L X_v1g%Mý+zI6c`X UA{F6c`s?B{ LـʞpYeKSOo<8Ƕ0 3Q<9f1ML=&Bl2D Mܥ#o!7+C6'Bn R6'Bn]Q榉;#e}rH6' 7> hr1AidxйG.)d;d3&ٙ1&;!;7dg"d;]z'&mm!ٙSg9Ad||琥8C>$ 2>sȧDw\w!2! !2OG+Y 'g|~[N" :@7DpvCDXh8#igdn䙝̸ /.Du3e -puTf BeRn.4ȋ>w2D` |6֥tKsuj vs m}ܸLKSҸX)A'/lw6lV@ٟȘO>;kAQ[Hu e9{=Q*"1T* AeWD8jbtB@=cihX,=+fhIzHؔGoIH8鷎Z3q!@.Io6YjP! P:w]?0STG\7)))=6/ST\v)]lJ~P&+6DV^C5t4"hAhr?@-ԝ.[⿏2T*[DJX%d|W%_iR,w]~/!`lU:*äm)o^^i.~Q?O9L* Ss)m@C* :U&?c&AŬ=KP;KIP6඗c!sj? W"UGOPX./HXDT4ޭ fWI$%.iQ+HAX2ǛH9h~@$,JyA+UG/Eo|yæJX%,N%"S6fM*M`&\y_nJR Vi4ioT?TY.`,d6Άä9:Nw8LGEGחG`r ‘ŗr*N3 i@JP ia1aGw#?xM~=})QB68ȱyGFIVPh Ȫ*UW(M!X ,~ESC)ONrmk1!lC|b\7d QO `¡1EtU&5݋`c|Z b nZ@lW]|i?]vIJa:6DhXֳVxg(/$]|.;Fi@ݏ=6\m7 K\MEu l=XfJ4 a_+_r@ar(A{v1FuRm#mr[2p]mK`6x<[#2]u.Z~X= P&*UTj4TCp'_+dp-U WUi؀8* I<j`iUB h.ҁU Y- x5Ьmmsm M in FbkͻB%7IB#(6 gH1FS 3fROpqֳ^maWIxQT h=(BƳ*PY&@pj=hĽT""5֖oBȳ_[!HmܶdA&6ZJ~i.yQJcr1 DrB%ops"ՖoCs"u&3ܶHʘ@H+01P!HS U*Ȕc@bgc@Y6.(\|I1,cER$ȘcKm,se3d>k'= z@\BaCD٭ @٫ NݩZ e $yk8(Vz`PpSs g$ebmstdb Qb 8`\:q '7e_pdFٕ LyQ$zAh gYg%^3A "hlyQw"yQ!zAf]"gug!`3Nng=$CDHy y"Nh,?uv_nu1>*[vi71 xWod'uŗwYLro!cx0X]y|.tQ_޵<f ]8?K?M\|Fg9"&.1te&.'/[Z(˟u[' Ts9 8>9A)z ](#Y$d+6sJv!7>7Ehpm!.0dUzn ̨@\B\\qrqLHKK˱JB&0*e6TU脸HR R#hv 'u 8>7L0z|c8N 7<1Sljs#42 li64@P373o^Qd3 F?7 /`F ύ)@*o`s!o_s#L `~n uύ0R6.@&Hm 0~n iύ1Q,1& /- @~nɉ$DƘv0@1&%?7ƄDݽƘ{>7dhcSbc"Tpԟc"Up c"fs׉ 5^5:1'հ6eO:?ur9MNQ,6#?i3@!>kZ/assAH.eH[筑Wt>sGCrv P8OP~u(\֌º6t3?~$+!N9$Bn~|4Vt+M=?TOl#;oڧr 'h,ǖ|>EHZ/yTϏ ?<#FI_VϏ>N]G>X04;u99 W~j$Om1. $ah6G 1ņzJVϟz8uّ" Q%" ˔N&%IdRb;?XC۔X'vb4Ο8s5K0͗>i /f*͟ (8`I] FH- z{̗Um$̗8\?'q,@TN=`}9W܁$y\Yۓ)V{oEse cH_z0l~nO4{N4ܭN4 ['UUU aBjXe[]1b.;~:X;`|M&z9!=4舦8Lz<^ƽه՛"' F8u|FDt);}$A8nS ,6i_nauZ \'4 U0j֪j/Ob6uA(K2@\7 F1) !am >AhA "8 8qmEos,վT:jk⁗UY'4A$HW/[AXDm]ڴΙ5]g:\;<Y_?5L;0ш GZ mW<#۷'lW[?7wa_O9%z~Z? GKYP~6!qӅN3+]DW%Btv[,>8mh6_خq̉[n8^ׁXun@^lh4q+Gus=|?H_Ծ E}r&S1$|w/D#'.!q&F'Eg"8uc]Bw&c= . _S@P=9W\`U.a/0*+elCsҕ{;d-~& c4V?(5'Za'ǒ.$S{c"D/Պ aqK 9s|Q.p%SoM!ר?&REoKit6P.SuCVpXV&.p *? [1f7Qg}Df2i=DGO$f,KqDn4HX"'3JԌ%8z"5c4pl&:jNK8E_Dqr`Pg&1鬝\r@#[.D1"o# w&/8sj2zD;KsNi - Z*/tJK_i)-}`DJK_W,v1]QZrv[hE `)@MR >e}>-[.! 0&<ל5KU9EPNJܜ+3hKw.RJ(Ӏc=4.UG"Vu`0k-壶FՁ<(#qH" dzG#XSLƴ9RŃ{ }5}* TN:8i'"arq`*}COa4~ * J,M` J9\ #aC  `h/]#?:l o4llNHq9&zSJzЎ2\4\-.Ԩ@ M{|yG)SXĤա ^cˆklYtOuLuLJlYt :[b:Uv4۱uLNP%zE.^-l`˰ K0BCesP ^30 ^Iۚ MCHmT1 A*ODlťЩ+u~bGoq=*[\k"uT.)I MJmRo| 8ha'4 \X,TTt*e 5"pOSR3k<#1꨷x( x3ej/`ƺTTr)-~݇^֩'7Ox' ˔($Mʶj [gvҿ>*kÀ{G2"8B%cӽFL (pd"b)E``%XYZ/)ȑ5`Ws%E 3)X])0G6X Bkg LshR i| k mƅ(I*"PTDtUwS\V2o6(F"";-$uDx1ڰHŠI NpOy@'Ҩ &PmSD4LѨ4//E{4RƙGD7)H9,N0@b>J) cRH6NH- ltMp-N hӻ Dvz'4\eykx<@&QJO 0?gv\|'zj(#8500& !`Dz'g;>aѳ6'\Ẃb ->Oq:^>yx Td'lBer=<%'P&j}OIg40>wK՜_JUр*|}eӄ*X 4.T" cdl&c` rq*t)7 ÎAHmaԃ:u (erh'?kJ @m4a jc} F6\i)M}%#d>,~PNC 1vytNn>ȳNUi k>3e dIa 6(L5>Rt  P& ( _;5et*uR G"o4:mQ02Щ%bXLrHpK3L@?+ "ֽ(h:a VD{xq9X_*槀L01*<Җq[brφčkH.d@JoF|hEѐ0˽zG-Ҁh/Δ7aV(謭< CsDB`9iwv8[?W Q?E;%ָY?mR?m )ןO[BJ-q^?m-R?m 9qO[BJէ-!%ӖiKH%>{ڮI%{zr )ħH눜5O[b۔yʤlyR~JfI2N*$JPH2cv0- |Ɒ7L9:Lեd]ʂrLl`"dg!;[J2gl/s&WEEADhq2F":@7DpvCDXh8#OsOw\EYz*Xz0Vot/ E ݚ|vQ=gPzQ@moo pWw\`P-cM% и/[ *:ޔJ7 r_Uq~BHWo=7g%ù݇\jvJ"48SB @% &0ֈBSdM(wBnK±J@&l$9INA܍y<7KvQs7R*ZSTcͨ 4Q!ȫPi"$9u7 :hEI^AݍbDQerw RQWh)Pd)&bn I1&Ss !I)wcLJt:/4DUAݍ1!Q]J}YR_V/ԗU*eJ}Y%ԗ1v&dAȜ 2!vx}5ƎtK};+д78֢ℋܸ`ĉ HC06]y;̼>+8'7poFswK 6L.b~?8Y=CODbQ ҄uWWs:ń<T-d+Gr@v *7?v ˚2ۃj;uS]+HӦ-n<v{g'X0YPc5ưHuinu(Bkѓe]+ Ͻ~ "RO]!: >ư8gɧ6zu4="D&k4\ WN;kXYbױ}L ‡'j@=5;sWG1H6Q2@(Njn~Rh9Oɂ+s1ErV.lZva=]ðk6Ba@Lsy|K\[H` .q[u {|3xƌט/6bװ@.c\]rNAo]ðMi?Q%<"Y@O@Ј3 XB%*,ɃaIP=U}x؆;%>=Iq"d[?W Q?䰳o8'Fl<@xa0 [='u8vÉ86N<#m-_ool[) 6B, [&o}lW<]R )H YA&7V<*;FH,!UX6oI6zF`E6{FGʿ %H6{2Ž| VF)m_CliT5DO3S>LϿ']yڷB||ሏBx L B'd]dŌՓ޽V^-/lxLf'2>!'w2pv +#|8T @Y@668č3y! ntE|`j\U1R!@uS*Q4vTB; S; QSHao)lQ ) z*RJHa4)DB#SSy2!1KBcSS9*!w ?YcN^bjMK)ojtuBM͢\y]*rS@<D ^ުhk0װiAm}T"/ϠGCm 1Hkl \qwS@\Þll㖦Dy  Oq<*Hkx Xg-D| @8L9FNU@\![,xl|85Z|V& ,hni)+l×m\ylP8&R)l 3c_yc<ѩD *HVP (H Uc¬4bU"p0Dk8@x񀚣әk7}" 6ΛJr,8Fer){.F3G큼S!3)ORmtҪDBj r 1rTBnLL!Ƽ4 7r $)8@v<*+1.SJdl*{|i?vxh/T Q?z|d-^=-h|7j  }•ĒF(>P ߆|%'SwN[`7k.ME'3 r?W[&cuMqW?Cb(y6XaVFQGwq"/6XQfn gwGP\ ïAּT !jݱ8?֎ݱ۸Tc0`?j ٨ lsMF]M&l^{(0އ݁ 8vFlJ [xZ a \mQ/>/Bs<cC(\)E8pl<@csP1󐅔pa%a j&t^\M"`^*DWQf0_ Pcn̄;?̤VPf+ !KRBܧ@mX–|RK^cMc 8X M@):fzM|@My2R:vuV:m#m7(XPA^eTXry/h,,o$~hэA..K۽8>ذ8oGϕ,M.K[aqCr.SiDCRzG- .>i{q @IFgiDB`9iwv8FGr Q-:#aE8ϪON;d~(뜴{\! æ)<@tEZ~6:k;)9+wkpXP3. eԿrNx:Pv}p!e4M7B8=GHg7@/Ѱ'*,Bc[GXZj>Uq,:טLZA`<GݭaW Q?*G11 표X^@?DT~3:$_F,K~I(+] 98e٣(Gİ6~_ [em O@>i%qy@ Q=*Gޣ{Tx Q=*GCUx Q=*LJ Q=48;?TOT Q?ؕC.lCa;_-oXi-[yG.}BAi/_L?)/)R& +A(%*DA(BI+DA(P! *DA(B֓{*SWЂ ZPA *h ZB  ^ϖW*_H?l) S=$`/rC6vfr9;[4'x%C$}(x(A!]}۾+r>l %ad۾j'zcWTwcЋP?%"@T௏ DG>\}6V #~KGJl(m\KTp .Q%*D*DU %*(V$rJ+@Iy?v5AxϖT !?nQ:=1[bNYӡᖱ ^8Cz_F9d .F==79{lΝͬ5KWkY/+bp݈,٣׈lmWÛdZM[A 7\ϚHg#(Ǒ#04G,l%Mm4#X)łgXG*4x:?Wr D&.YHX(Iny_*Vg'g [kmlQ-OLo1'oQWOM *YT(z0jk4-C}48k+awwd;NCr:9)c_ yJ,E9^L: nLtG3†M?O92SF@PI9"e鸯z C`$WZB&=k6J̈́4r1jkg,LJu9팬크8ށPEC>!P]A\ zEH^Dz (:?"@(á R.B@HIOExF ? 0 ';q_sr844 힩HóZH#։r c#OAQJtT S.)SʩC#hvDr])E+wʘ 1 F,v{w~zͮW Q?iS2v{)4 ?J Ӯ\m$O`f1~=*B?" [VZH@F0BNJL!SL:GKE J24>QLQ><퍡 eK'~ť(Ry.NW\#&K6T<## M - Q?*GQž= 8%ʸ%x%%pSm0iYk^_P"ȩa~nRbS5)Rt[q*0R޺@ܨ`!7)4e|J#D;}9?%arerQa@PNUP4K-\΄'c7k@fD<Kv*.2. hwA"y-̽@ 7,h ڧ rU<6~;mn7 Fo`ypК0ny n 5}O%aT v4-BfmE&m:(Q(mlv% pnC7q6"/EN:7(\scj_&:f6rL/2O_m^W ko/["EB:?Q MPBa3fϲ2i* I ]h&o L+\ŗL7 q*͠ A ؠ!n$:nҐ$Ynt{ c)T̴Vaw-67ڷI]ϙTp:#$j  Q!Y"CQvEI*Lt`O&I"xvH"C1nE(e| xOSMs=nbbYUQ6 MuW($@ǘ[Ffkǎf7@ P+7;̍i7)|ɔ5ҀϋH=_v5no'k^Xx&v;5i((((3)Q&)Qy-[YI#x}Sr@p6< *A%@|U.@$Y'$8>ה(~,~,~,~Gg9h|w+֧h+.P(Ÿ%/|`pRkhI+_pRkW!FH" ɐfʵh }%(&˾uDA'A7M5utZ£[*H]葙='ʼn@NlP1V!QuBLA@Nl);i+!uBB&lD։Ml d̀:!3ĊA@lV\Q( ~KaH @Dl[/@@lԉu NW(uLMDʳ*iL|_<럏󗟋^S{ygy[ ?^#|UV_9[G~o4˸ø?mVo^kk+v_V->}X] [ Æs GEZ/9pJ*mB~eu%*r6Z^ opuYJm Pqb3:0X0 ;CT;6ྪ|sH_t?=T* 1+0\ %Y>f nInv37% M1qg}@p&1ۧ* '3%N@=ظ^gJ'幼\<~JӒu!^Ž/:(m3EꨭlA2KU[[{G*(2Kme.2m".mڪc:XF-fJd^$ʩܺ Gm^PрDtttx5!0uպ~d `=yq\DƵ7GJ &;Grq8P)rqxx6;_\ẁn Hq[5AS\NN@32`HAhhqu>uxuYcmnʋ4寿CM! ?GHq"|S).2TSOkHq0ɦQ._` D r4e n@ X6A(Hu bNW}Xnm>b ŵ.W^TOrq`:_c[1-;Cꘊy-^2E(8d* soT"^TP6\$E$TUHL@##b\"VDE.mw|fIv77f:DN"e#"M_#"K_#ɲDN9Dn{]oms<%Opy(|K5G 7a_@>͎WG k 7y @>͎D 7; 2BʧwE2s0{,/ȕɝhxd8DHM[DM.|bP%%O-!6@,"&A 4iBl(lM叚_C 6/pHYf0d<y6~ERFfh֨mwt6?L$}w= bWjq%`}\+w*}\˧Qq%/W޸O,`o\gD7fSK"ػ0?\(JeadRNkoLt*F3^רzƛ5~AF3Ϩx5~x+o\Ȩu).F߭3_(jTp]ѣ2|7-wSໝŋoM V_6p%hf? 'W  ?]}@?gٛٝE~"\:Kw22rsx~={X7՝ZwokA޿o-2o;RxpۤlKJϮEDn?neMK+" @~l~́|CfpfN'Jρ2OV|>,F:GB:,o^u2CLV`uLizi`6fW[5^<:w\xMnV!&k5^ϯ?ZrImuK*]XZ/a:pJ÷3|4b It?M+ ^"Aٔ(d&Y,?d㸥7wfפB! 2*x7ucm}5:Fe! A18h Q*OJw6T# _ݟdw/糣7[- ye`ف?^|?? ~Ca(ur/p* ԳmX&x<)yg*ڼVCST)}*9gKT::x7|Q 2l005ф5q렗^*C;(bh3&cwGLl`0TD(b1nq6ap%f LszUv:[9)R+Zt5g`Y}g39;X^DLqV vr;WDr'BN wzg6:t]=d[v"v b#vD(Bo(OP=Ǐ:f$I' $BoH:0~@Oe:Z~)So8 -?M6[ oTO~61GF>} T+Ϩ5O|(=˯kyx >o;W*_Vt:2m<Fj1:ڤfއu0kiZEWWV$5+*,2l:ED&r[vd\).0&~gOs`0;E+{jE@f+ɹj1\GQ茿0"dTb8NN \>32T";B̽@e(2@-fW)G-ⴂ#rhhPD+E}TʃVΈcbq<,4|dCLqUT :?2c{gx3M)I.7lr,#\Ya^tr &MU$EY\W9Үx\]¿F;ď|`7pENSs!U3DƎ$L,&RNK)v ũ6(JE1Lo^D:??i1>۞:qK nSwDŽA#;eЇ#.wF<6c,j| > :9X dG|g(n`vxOMt. z>{TI$@!lG`0ӑX^Զw}rSU?@?"nmW?/k_]9Ν:- eAJWL;~9huzVhyY/Z]x8$}x\a*Wx6QLcHŤ]6ڰF@ӎgZtH`/ՆMig3^hqeK6QgQ}v2.#XABDA.rѺS=XV$.!6]B ]B9?j1L]B_jK]B]+ֳKH`\X Tq%dWަ%B{sJl[~:Bۖ'SBh<ʺ-uJl9%DLynD)!2VY+~m)!C N)=VAf2{+SBt/eAx;ivȰL "K N >:=:OXNj:U^9P3<:ᕽ !]o:cj_Al]ʔZDdV.N:y=~\N]@L]nuy: )L%ب xN0eϷLRRη @&BTvUx8 RS+JV+JYc% ^H*)@r=P$pW(N ,+Iuȕʤ& ^ TPwy^LwPx E3B S{{5W,2W( a9+Kݣ4uۺ̀yBT\HpBTHiR %u. eTuMAHB!-8g=Pr=Pp Vu;_(D{~ESWP^UgQkafjcM^@elߣ'}$tnF^_yևZ^:/[:J|w/(}1t=&,g%:‚::}C%1TT?h= ԓ3.)3-OfMEAYsNwІ 2ܣ_M:\t (Os' pV͜FS'keG MZK2P40J&FqٗQD'!FϠ9`tF"(һ L̽;W %]b SsK=-IPyx)_' |~хң$vF։r)JP)Ѐ%ؗ\~JѠ=Tf(Ahx6QH!>憣8g3jaᛐd4 C'ڟ4m_|O4bno/ϜrĖ/zP8}s+3`ώŬq4mhwju/q*c|_;gjjOgߙ;l Z:ӡe5^1R:*Yh-ls\ 7<bNy-yR-4CW㖚P*`Z"^U#! 3:eM#sW dXŘ{ eZ514A\^8'F\WD5{#5x+eͦL/x;QtQ0 >궎I?[z.qNemf3NC^5ehrAr{pd IC.e BFg TM^-r8( jvzg"Su:Vf*R4Mk#,MEn$f1Ys1F'P>StD%nJ}l#fr&w|Ƅp*DBMs ?L. ]}kǴ7TbؒCҲQn:`W&J5*siQvlTr{cd;+°eSZ&ԲTu#B͖6l>UÀ%iy<OJ '[ 0ml#6s[N,Ydn&N`_eӍOk1Y {T*(,c=Y2 0&K/6>Ht ^0JNtZ0VTtL]ťP%+ńMw6}D9f<+D[#bz43y{KڲBBbMl1_Yg/du}g洌/x1=YA7ºILVleYa0HY#}XR Nf9Phc ӱ+H@|j?;0__bt0;9U>[?R!@+h!@ag=\%}[ '{t,yhlYQYPCrt5$'XIWC:K=E7ٳhSh[X5Y&FUR5gS%=SI3U'H>rި4*jֲΤnu#t 5f]GFM2m QESx"zzvtͬgO W)He׫)OFһۚe1F"Zd1a "O)'; ߀q9c@1tWzMkF.;G6Rj> m[;3XP;.)Nr ~l0jkJb-b} +ˡZhG*iSŏ0MòO7B .r8ungMcbK1ڏ`n૬~OAGU/8<Hz>'kY:aNs{01x-A5g?;̰? <.;p~{~;= !M)An )WX}- =o@Ey" ~,E ۾cJWL|_{ڧ]jS4Ya.lEߖMnnŦ))U ;FD7hYMCj&Ve+&Oa"DpF'BT8DkNG@Z+#ƽWߵ8*j\ Ÿd bl: $Eؤ-eZT2pwۡ~ [%i.|tv]$P*8y,@L"f~p^'jpN`qw8Db?՝ɩCL;\B_X  &TÄ`B5H܄× NI9!p095ĸ~-kaHqYW<@=5VEu W*ZGc@߮uZ5kqpݠR;-J=D߮a(:Fj1 sk4YZ,@S O' k_odϨmTi@߶4RD{9o/J#]W38싆Qra; rl@aASd`)tjl#%C &͆ _ jŬ8(,8v # So&Z0w1 łQ8%l.nMu-Pm>8%G{LD TxwA=l+E = qU<;6.D?Q=_a0 a{)Ѱn2Qx |̜)wG.#t &8ӾFۅͰٛ8%؛A!A>92ࢃ ?yw5bɵi:l1=PXtwf7H:20%p(n C$5S! U ~vt]N榅k_ds>X.n.?Jz1>[?VT QeUeABT\ ? n*C _7J`U)U*ŃJV)\?W@04wsN yuR;i" ];~ػU*M*MV`*MD&Jeƿfۿ@ \שWGl'BT P!mBٹBT5eXBT  JV P!r@ͶX#\ˇ^D9N)'-ڀD,f;Oif>4T TP/*P81. [Tҟ]Yb1i?GuϫbCX|XZfjoo DYgb>ܼջ $w4?Xpf?޿ozH5O;!LP=wEFe[y|7[ɀf/du}g洌/x1=YA7ºIȤOVleYa0ΨQ6`;SD|6΁BFfaW$#("Ԓ|v͢h(D󿸶[Gѭsh s,'5U^KɊ}?a|sXy+ Wd VFo^>lj0K27òrS%[h"84Nxm돔Q{fsjqXt,Iϓaiti!g @Xf - /X㟲]kڢ^:w%rp9JҕndOٹz /8dKNzٜR%Kٍ3֎c GW9An%u{'pQ)W%94PW˟[Q#AM%^PA@p 4e֠l)ұlq)Dn6[VA# ]Y& 'p{8'`)d6*0T]xQ ùWv9}K/+>_[d530"Xhbwgf'rqG^p[p%&q@ x>q1`q#f%7*(2N߂{ɇ8:63d(`Q%C[m(ʇHuChߒy#?YILJbXƋ&PAybUdGhaCsG˅wsOڌW6_#Z[:dnzMHW-=1X'9$dҠϟ &O'7W|8dz`9lLs!9P^'@$Kh橴| _Zݖ&.Nk*Z'Μa#T.l?Xݡ\yTR?Y}ώ2|uwd ,9v |?`1ńh]sEaiJ^]*>ݕs7%gϷ~zEwC{dhp*`$ۻ>^Gd/^,0[ܐSԻ;F=I 7e_p $@\|%W*_շ_8w_w__ __ۯ`X@R ~ @^uֽ/k{_׺>̗{|y0_޺>̗E`x̗7I z}^z__v+@ |z}}=_VVVV;V;X{_}]׺u`:W}+X{_ ֽ|ծ|ծ|d2*z1dFG4tvP K!C&PIgO=iuu5o+߻"WW6WW\ɿWwuA]G?k\'0vzg_(u7;!əiz/T/t?瑑l_t1S);JcNg^?e8N5' bXggofH*W׹:@u&6H=mNynqb."Z&K1is>rc*q4tS7[bUKU*?\>gg_"os?T<\|ܧTOy OEa9;@wjVb1av1el TGWvc1>>Ax\>/l+@9X) O?ai8[GM[2&](ad?֟KfSvD^ddIOп,GW˳疣2%"Pey%vlu 0B׳ye#.&ssK6!b&ZO4[b> ];{~}O{U߇"WxzQRa PU_Wau5n?zQ"_Wz3h9 ֏5ID?Irނ)zW1@7v[j(:Q}>Ϯ #Ze?G gxL5"Qww22\741$Ͳm-<#SLgdرJ@13-#各|+KHB \l9<>YreN[滠%$%p'Vf{טHX DΦ3Xag"D/d9{gu瓷zK4GS[ d49&< 1uzIMP"|ړ\'伲Xh>^1*DӴwOW׋\\Q?f(CH+7g 89n ne13Œy_tefo%AC']w]b=L'l:2mg` ܛk0 X_=g]ob3˰tolYy#9YC6El|q5)GaIMAFj0Zwrq?ahxGl{2눵dH)|ɓ'oOS7˳nO,_5&辅 DͫKmߐmē3*[#6aђCj`ecmU>p*5+t8qYT(8^-m<'{_/@#2!;<)8/6o3}I2s7 y!PџlNՉ|yCY= 8I6EdC Uh.S,Y8X_̘*leQM>x5'rzшnp3*_PSk${b9SNO~"BD'S:mx}x~\mz_4.HXOBg'uē_~;I-R֚;kaoꊴM3Z|Ca7b8)whby~Mx뜒I:fXw|ai-St Զ=^̖dgN@܄Ӑ/\]~Vi=~džd`F;(C7 [6Smd!=yj%k',H#jrUR GLb,LxF4Gkt-fJlV/ExJ jC`@;A[';ΝP~urN(td9l7ILL\dgj{z)V|*ž4!Ѻ4}agy;, Kk&5qy^C&O̬պ&_\Q?JA 8OSޕUŠ}J+GCΐa<bBgv:9 UmކCT\i皃z+X 柬o+)| Cc&LWk-¿.k@e #Sfʓa鴞ɪ^IM,Ǽ-ràdM2 ?8N\ 5zbhfLT@=RnIԲ%lm9v{njV0ýo&{P[v(p#Trs}RȖqMgqӘR-i?hS]Z3ˡ xndmb܅oVj:'XHDsU/d_޼%gߓk`?0]?bReE@<MrDI?)Otszwr)^o'"1B>1|qW"+C{d _ ,zŲ)9 l wSfc3TV6=N, {{l޴2\+˳ib]r7DTAOx^LpVS Dlp>G>#-G:]+tt:zNG;JnmhH/j"9urC?9^ֈt:,QbxK/C6=uެP?w5(Mv}1'k_i<2RgׂEZg!M'j5Ig :|H, z(P镔C~^0^2F2~ɀvC^ܯ֦ lK+Slh7ЗiϽZr{l5q[^XiuJrgP^M44ޑVV:jƧou0x:j1o6rq]'<=Tvr2ޅc:_7k;>YndJ:MU92nv tjծK~J,{k}=W {)l" A!:~ )L!2Ixʮd|^YP Oٰ\D7RMt}X{欗P2Z;i]!(( jP: O?5nC'q8䁕ŇOqbzKK'\/IJ96XԄd1vIE^Dk0UnvKo4O+8yHw=V$;hrVrFwuX:|T'"2IGtqB u< |-n9s?97qOh6_>A1)=Fg$ _a^@jbF)9x2X_jb6dْ:]^94/:n/ψyA_gk/C.ݚW%׷ -wDi !9.n F=$\}eg1jTo.&!7kp.1sAœo](Yo]7!VkÝ@&EjZ}rs{в:u}ҁ= g^-}~ܫVFF$M?қ<5{K^!De!O!nѫn) X'49QbK4B|C:<ٛD4]n%='":#D5~qtJ!ϐ:Xq|/kZdex(nnVȦ_l*4K&Κ'sRP9 o/wb a8Rx=zί1h봫U88jEV{Ԍ'v=<+KC^aQ(©z/ށȳ)w.x9bCLh";J}J{d3]* K.7z˰!;Y.]ڵBaUJ{&v:ˡ!=& F)Bko$: cjN2 Ԁ[p}+krO]L{Aʗ5WX_:}ZK~(iVɭfp=a`bQ;cw XJ%K8彽@6ļ od%s)+St;JgD{ɇYdJ(ϻ TjPp|!JNgAW7-t&~^ō ;IoRԟhַt7Hx3D/ϘhXpwM@FL>O dO bvh.BkEaAܾ[ŒtMז!nw cҰHG>4.˄}̄L5{d~F7w"$s࿾${C4[`3qYKIvdO:A<*IFonFLΗ#b.sd@]F>[Q=[-fKaȲ>GIh5rqE@/%WYt̻۠9׷璘U:5M`=jH{mI+zHL$TEQnnZjw/ @&BWxxf߽Ƌ+J}ct[2#Ȉ8u0'ۤ%,?gyV=9,EAufmh8NvvsR7"-(1]'2ԔC>Ӌ ^ EPFꘀ=2nJ)!xl aZ (.J.@9Tkgzh:N҄$-U3"n'PLN\1QW.j/O^}|}~)C"d[nE%ۚbz[ \^zڧOD~LȦ!QO%ڍb8H`$$C&F$z1e2&%ΈEc6ш ܃9p#m?NݚdNet42 ^4%.J (Lyh]mx 3q܌F ^EM-^jG,;)fUEvŘSݰ*3@\ɤ$a 5b'AҢ'}Ip??A/A ^M`xG*xQtaw#eSXw?Px!Lpdԫ85xxf|>Y*3~VAϘ[GkFǣUbұh &`;@|56Cd; 7[5_7<}峦08}3AS՝VGͫE 6T2eT j2hV 1{Da;4n=0F&:V ?_D4:J|GCBZhS-/60VJU ɡ{Fj.#mg>JF3RV0JnWf߬ p[G/NY@N͐1Rw&Цo{Q*ՏVGP@(QJ&2^G ls-oi!T[2 Ov?T:d?1{$:/!{ X?J&Ta~*Ѫ*"4O Uǧ0B V$ =l])>=qM-q6swrb[ 9*%d4ny`u|<+Kv1$`ҶXC 5LIf !]_2vپB1K Kу%]4#ۦ>9YEg4捇M> tWҤɦTȗ$?ugƏ$aW¦^Փb(:{_CC ';cz!1ޭ!ݟIu)J_+WX#u8R%e g<m.C$k oxh'?ҞwƊhR%t7 sp,pM/@dVG*BWfM䨜(c`U鎷pGnpStI>e߁1MֺꊬWͣ"k\@!-r/dG<̥T~wy|dj̻=?/:ej})tZz.}/!]2VoDs]h/B*ٰ띀/24.׿N'O>:_BJW;N0G\ Z ʪ7_>y{?:??5fy8m.S0 J6*(OȠ$R,DC6/A7 jN@hHf_Lhэy/!$b -hv\Ma6t'Dᤩ`RU!Y&2MR 8jSze^ZP43S t|/),u\shzJj2^Ѓ?{A|\SLOz'5ÓEO^A] ~%Q#BEݟƗD?EEY&q;3 ld'یyEAܗlhw1Z]LqVod_P>;cy\ f,m#nڷ)HX $p g*9@1;|5<+{E ]",}/Qe̓f"LJV.=Q KW`ފTo x@zdVH;}Euiz o•S7m$aѬo*>^-dg@ 1P\y1J]v"W\2A ΋O sWO&~R y{ _&Qp#߿J'O! '3`~I^y@ 2`AyP dѩ+yYMt( ލtdnfv;j Enc\oؒIA9"= ,(ӯJP#eE3Sgx,{Z~ߐ^P>Jgj#al8+l2mG䣐qP{3<|M)!Hُi$2VZRXm=pP'VVWB-1g<8 /f'W#8HvJ!lP_k_w)~pbA|(M\uz<]pH!ٙPDEB0͇=&@N~T]!i?,vd Ѓc+NIN>ϠZ<ԇC`|t:  ~Y<(@_˹%~niEnZO10m5 Nꛑ{&:7n=ڴr$Fg+:g7u/%L#Sy"ϸRuuV@51nEE9U*a#-jGhM,6+fcpƧD"qsjyMwF`\OK4vis0Kd#}vVq x38 ގR'54>q+يѯDTƯ{ 9mC[~~x_u l^ǵ6tÌ@8zgNWxл[+P׬UW7N՜L,O^C؉CRVŃ N„tTKyf!_k"%Qx6-ߣ0WPb]SpW^l5kR׮p< 8X"(bMMQ0Trw"\㿏fjU޵vQ%zh;x6+ZݙcR ͗FKG gܾEmy鵣;$mҌ<1L 6b+9FKpuܝ[JQHL eԴy@T5WE] ^MxVZ0^%GF kzgl2?ӆR薲RV=ގvޛXցbR a8ΜZr>e p[>GZl9l\GL2]K@w7Ji~`.н%ׂѡ9X'龳}\ݡ™O4 smi!YI]ژց +r>O¨04A2HIqMp8B}1T억*Gzh*.l\u.U֗ ƧǸᢆYAS_|qqaBHGhʊ)rҧzT'$IZ6[pJy Ž@Uc%h"Xj•RXHX2 3 +?\:1`Jht#'.QbotR0" *HcrX Nν+XMlXY ,̕ !svs?װk9N͒; :íVW5kQihۓmj 旸ܐVCNBtgىvC"ѶpЎʲnC4jy!!aC{WjPSR}">DUÁU3~P?GrԌG|j&,!<"Ʋ.27eL2U B*U! Y}iTJQw+bpϡ*+:81 Dׇҙ2ּ\-s\YK.tKfs]]]z%l4=+.=^Qɷjpÿsԗ.06XGijr9##)̵j_tf7 1XY;+G1[c9kbm{061ҶoY:'DIFIrJCQQ1'BG"Q^1Ș ypan7AB7BLuCWb0$B"=6 @ʤfn]n͓ZN߸,ÁW ZC"m2 Be)4*\5J11snۘ.6_UB[2jI,293m_g WW\KIE8ƯT)npc>D9# Bkk.L}t'Ou \hoʦMRYVp-cCzV#+ҫ!\mnTT=}n떣ǏY}w)rDrwtz'r~FNLZx &L|&4Ka#0SEA-!hV$IU/ P?BE0mE u|{vNȶCãyK0Ȁmy LW'`k~Ew,zu>NRdYӂCM:m p}xu={v@# %مYJ>4?( _Y6} 9 @Uـ]n_5Z D L<^CKm2B~w5@I 0c6{f ^^w#_kvA$1a4bnC 'Jקg[za!a% F}Æ~! I`F#Exl7~qEf㚃tUrXuꝮkYʉ՗76zO[u A7ہO«E^w"B^?:Z\a zL`IwZ\&nC}$) ka,׋ϲAjG aFd3%,))\(It'5u>Έs|ঋ:3Y5n JbqEV Y쬄^Do$wMڭh,{`7Ob4~4I*3eCVPK+ w!ٻ㿜I{oJ8a]@2&)UIet֩[UPF3qnh)R@B D5h@vwth p<6K#m9@dא,WP]PƯޜ} nWuY-<^݇dg) H-!8eB/߿p{TDY_=`Ɠ[0JAw@y`Fb3GԠ.$@)7@͡^}De2/ vsl+-Gf趁e^gdb.2y KR:(L;%`ŰxA>-4Rq/gDQRCLJQS\I6vu5ZpdͻD_y4sW(z)+A9$6F#= ĬbŞXi9A[,AE1&y08 ,HФ3U|-^AŞTv0;Lx(9n35̙RΙ፲$ T$K|89@:-,G̈́JbW8~0$St3l@ˋy]TH5V 5ON<#{I1n1z^b_c1()tR FgRUqj(S4@C8q"ƒ} a Ԥbc4ɴBxd",g$Y؏0 _GNl;DMoY6 䂒DK~{ usׯeqׄno%=%ѝ^8InebsclX ,{ƐV0#͑W#GcNaeճYne|cxL@OBƺ1Ñ(F336"{>{|FrYlgϳȻ%SKT"/E}$b+t,wdH lqub1{h8W%Pgޫt\JG=xJ]B9eI?3ZY7-j vXa8v?{$n]Ыl ]Y;HeILyV`N"@e~6p[Im1U:[I$2$69rtWڂsJH,DžɏK-:aA]' Z9e(* Dz*D>JWd2Ik 0M^%7XG {IU+*>f׬oh ֮v|A4C Awh4Fڦz{+5TO2B7zUYnsDssf(4z{&ލ~Cɓ*X{;'E& 䐣XuXB U vd+bD*fܪҖ "0Qgy2%F?}O[a6*!o$S}3DhvQ6nT/!y%vP&G/}ЌD\DxAYQ8 ,|'ZW~Ԏ䚥Ym>nCOk3dpN͗ȉG#IL:B{ 'ړs7F];\mvd"QIuT#PR i<>X6\zP[ѵsU'MovD߿8kHT5}Q4vSS֙d䝼s&͞+RUco;zuy9~ū*j\i{l,fV^" f֜+cCLF0O'5?'i>i]| l>I},Sڢ lY4uc1uG8or/# ˴+uz5)ădf{MǿEۨm優e\Ac٭*6$#aYro _Sgں o*5a(ڮ[x=/~ISw XF'=Bik1OP&v|iR =SYV&o-fG5Ҩ#5ǏH bhOk[5]XxU(RCQDmjڄu6 TrG-l'IJ9b*4{' RPXʐ[N)+&' d&)uɑ'\↹ zZWLziABWTNΏQBLѹo'cOV_q~')?2;Y80&Zz-`a`]W 5,U-(j8xUmrU|)RO4}qͻX; +3 ,8i|׻FF\cՀ.Z)E7Ok4j z-92sdfGXm|4~iAQ[D!t~R 8[Q| .2-*[<:{&TN40OɎ2Q "Ƀ%<1]-N屵@ڰPJNNZ j;qw|; j˶W꿚ղ|h M[R]9|{_J=>$ڼfЄa,2 jR^x(P'^c5 㩒(ZAa Weڠg}0Cf[XH@| }9pFft4^3:thKRa/$"-p6Uٸ! *z;uLc@ԨN΃ R|1Zh &IiuWqٟ=7k@:BU3"4Rc$+T_2&^KkI`ԝv94WH¿J0W(Ĕ-+Cʠ*w}'j06m* dz$r]^ {6en? iԍG ?74GlޠrN"H1!b[/'Z̈iEMbqzG,}Td5ab+m9D:Q">q`\ T#ua7_%0-VQ$E<#2|Uf+0B +"KeUv<+d3x{.^ܘ :[[AC{IE6˓'\PEڌ6nloWL7,S=#GY}Til)lܰ?8k5-eI=v.oHx{/z^v ϻ?#nmEg^܉Gү(F+krBkȸPV/910a rI- hʼnҶY1fz`-W<@o:Y'z w>uIxUȃ!D 4&9`YNOfxr'F(Cksꬥ(o`Fս'6{t 7^Wtcs!AvK h؇Ő GL2 u!J,㺬zy%G9' A V.BnNNBis,9VS]h t=>15eML)+)e #ΕfS̺(Q]-b(Tr?4@Ԅ}Jz5EM8b6&x[LM ҁ3V:(H߬]Udž߿}m u~6WZ*Gl%0]) ̕zZC?}YQKsmIxh^Nz=VB?`Ⱥ)qe}w!^[zv ??2KP'MQR j}C0 (vhԷ.%3 j,4Z+o{LzsiCv{|8o"!"Io 6LWk _p,ȰkjHt )eUR0C5{υ!p\C"y,  XFeLNeM&~^VlP$ܔT C :;A)Rn+sEfW&%ulw0 W&\VP|v+p"Y33'Xǡ2n <,Q*k:c QUQxӘad6>ճ$QqasMcy@K"U20>=}+5)3;2rHyJ⑗vX~iсj v1O+]W̷y|ݛ:.jVtmb1Ե0i\0OJez&)teu6IRH!bJ/R&AWpyt94M9Ȅ[CHg\qb xũC] 3իN d{.'yB[+Y5a'$pȔ79yrrq:Op]\ݹՖ5rfIAEzi5*&A` R+A?8eKtfRzv XkX!뇁ɂNt-4$cA3N|uK~Q[rQ)_,v>]ޚo[tKfV{*Z>b\Jg J/VolEmYFQT#Z/Ȼ:+qLE<̤qDv͛,8q LYdQVp+,4#D)%#%37wݛۗl9cQHH|?0Xr6ǥ%I?(#q)R־dAV#x8½V|gng&V %zv }_x*Xq&Z=a^W4st,~ěr>?nOO.:Q7#mPdQ}a%J/kVZo4Xn+ @˾A_- WD(-51|cKn[BP>cÄnH=Z.D#UCҊpx;\^HȜ2ƥuZ=.gk7U7LݩZY]D+R;WLt޵iW?:MAd{p 5` o H`o1WT)ϠR}JRy<Ӧ9 繪]q #weJ0i Fq_,=vҷ)YDIOR%vƀXK SY_)WoU;|ΣzQ:O=1<z#5Ф10f +""> L;Hr ܲ\SHX, Bgt6,ece;KSQ4ZЏh.CtN^ada8c; x:Uuy)Iq׮鴑)l"5uXU*{ڎ-Inr); XKI5 եqc#*ҕ룄a 6+!1 E3⚊y]Ou$>XZAnZ\aȣհ}JݦwDQ@NaLG"7O {+ T?(d8Ǵ~KҠ%[ ufyESl,L~@VD#^Nm Qt~z CN  #^݇'hls,)k"7I`Kl]CUIZ,  !A1@ڼ=s1"M1BxMN#TNy$usiJJh>_JMYA~!4m9WgjuPJ-G8ICRfEU'?eOʂb7{R{,tej@i `3Cu!rq~'c=`mБg4wmp+vqR,J0I2NB&k#Z& ^Omw1>E6@e]tQDu  Ė8fjDO􃼈-ɨ!蟲TFʩLE`1Ħ8}PG5;NVtZH GRQc>='y"E06WGoj %| .ćF[no&&J Ig8V2O RVlP)Y7u@jʼne<"UWehʘ!\d᭽]LK UNki )+ER*;+qJvIC*u;>C,oY~B7( k`y]uEl}*DX]IfRhrK5/e ]1JrG"-Tǰ?t(p`KW.*^ŃL6[1ڎގ.d~:PȸhI^S?NSl,d~5A&/S@i\ԼX g1F`x1MjF26Amu U}زx[E?ԓ|1-n@(AFTb70:i<@;*n+jHyThh;&/)DnfyzIm|HGpgCaZt]S$-00EBKh$7O|r.aC jWFtHBdrR ..xVEbjM#GbYtFbfYӖH+lh ш( @IVt!(˼9e{s\XaCzdUxrԗyrwf]sƓ؋m凣ӷmlJ=,Q/2NK fwTX nSa6@^7[Z ,>cdԐ4*fqJwJXkqH7TIabcN•K )Kary;8J1z̝KxIB(l_8M)"UO>{Syqﻀ>GmBPÄ8CcNto.:jt{LiЧj.b+XْvyXHK6";;ۄDFvr+k>:?8iv ƁkB.@(-WC;*A!dL1iۣ7'r߀X<ɅSl~=VEW_%ώw[P TH PB(՘mGbbk'\~6Q*;`7e8V"ktlB1p@3صԡ.jГ)zj]MtF/VJ+f1g ţ0~X} r:~nYS:LkyosiwI_*^? ]b39Wlh|k{4y{U|~۪)Hk{EeT)7nA8ֶy&!@5x15i:/ڬ cƋeSij4B;0jll~h&An,K ΢c.sMtWV1S6[ SPш#˩mIkiLdʎޟ_90 :e6ч4u}&JwH5nꘞIX {?` $22o3.vf# `_}u$,mܹ_??P1 x$X3%ڬL FFeFJi2у:0*?  IQ&4ڢ/GtjY=Yޣ3 SNJǥ-} 6mhu@# /&?r@`_љ w*epϺo7!8%#'漂~S*QD!70?_4ŒxAq&Y3 kjGDr^h/~4@$ q zQ"`lkﹻo-T_|1,/TՈ'y>}sWIq tCWecױ! ߄jRt%4CnD p0- sGf_50?Q#|˒7;4z}woa.߽<9;9gQ#n{O>|8=@+W'4~쉒?xjƃΣlqq)lWj.C;*4u (cݡڼ00Pd5BBV;]YhW,b=\Ӓ0.WOڍI5P:c]5c{3j)mѓ,x.Gw:@vԟpa_[)U{|hF,聴P-j gt5Fez'+圎ޏyUHdrnXS8D@}hxĤc7Tc;%چkuz|}O= gHImH:[aVmv9JmLw,!}@\>l)$3xfZҔD݁7ISSy4uI xKxK^+wjk~R,ٜXDQffa;(m%F0ZYÌ.X 11gQ>( x!^AApfxgX@y^0s,$ydXvQGρHR/`8G[mBlEKa[*}HyˬQr(`ciG%Zqrz2-]wV\ . ]c(`;ͺ$j8[5*yth]x񆷀wUIf5@;ɔ]\m[TUz1Yt)~R2Xm Yie=KkU|2D!=)C\.[=Sc@)N(֑J `(6EJ)F)Ό V# #ѰeB~4alJRBQj*dBdw $MFJap+[?WUiXn\ 0~{2x}|y|{srv'i'=G|>~>:}p' 'zO@:w>zzUPWz\?Jh@ k}y џ߼6cN?Vi Roo@ӏN~wzD:?}eUDڊ~9]ťk"suBbV]BsßOn;vhë y|*cr}:4k jK ,s MU1g 5Q>$2PRd פR,ٖvbض{~-^+zKE%ZHy")"tvv|]\&>muLn@,2LM`̠^7zu#CnTRmUȿ~Q9ӚHXnլaV58-:ibuAo{OÂfw/_Pv*3ct=ٮ>xELI%s YZE%HNxSқ U^ ug%F:rsŮPCEY l4 :x<#gW!Uߘwq74`u<#!$ʥ@LLfBWofm3X(Xlp ɹDgO ʼn!90ϊ3Bjk<%n7.eXB^%bS#rqDkB`",v[D! He2f*O6=#dB˄UYcՄ?[".L0&Ë;DZ!bR,UXB`0.@{W3/Vz|ĘsS[f&rD-? (QVZvy٥T|6C풮@%ݰe,-S5* *V9=FE{2JUdnˡ0,(Bl2t\NRz //ed%Yu$x1V85*"=yu~Gg 6?00∘bj RoX¦C6M&󓗟YCg_囓7Oz3l 8`\:e!_<{XO#c2lkek}%M;%r GvsRU|5# P /}7m U ]ܵWO/:;|^ܨXoasX:s F|drKTv3=q0L!ʟt$B[?*ȘOB v$kzV͙M&5MZ8֟n3VѴ MS@lD!VQາL~!п>ϝ5_H~p9AqL8ew*Î=Y uU-8(2aSL: 5$ITȀ _"4;\6V霦x7jPkUƅySjN=T/{Ȥ)`5C3n3_QSLI'/^N[l=sN|J4v <~#v.z[D|lurmnŞ^<"= T+@;ˌb*!;oUQYvi*g[:u6I<~*aFC&(;eM%|  A$Wc+굯TiInrӱSϽ6o -8uz1qSxX,I-Lm :o;++O8`iW=UvNv.l#ܠoy/! ́G*)TF>?pʷRR73sl?ӹSHM*Y5:Kh[J؎_T7K2Կ6e"-4^RX$a"*[0eDa,kEA!gF~\rO 05:\w=͍iK]Y4I6İWTi7E=asF+_ߓ arT̛?i[ _$"Cu+57كTd,Hu;UeV6Z=(מ&+ڢtNӭ֤tlvU^]`qA[StnjPda _n]J^ENwO;y+)YuL$4m@'d[` 'UAo}R s7HŜ.q' dpzcBzAxD&GG "V oKu|Պ}:N IcciGp> iUv !P 7tג.78HyV<|gZlBcmNbR'' s-㽏*L7|ܥ,X t1D3Q.%OA=QWA 矻 Vj mOUC]'4лU&hdR_HБJʖyh4łQ)q֫'փ_ui8$]%E%y|,撝U$yϒ?, 'x~Fn(LU[fÕTk>4,6\5:-WuU?hjx+lr#p *Gw_6/{m#(Պ~gLSx\q!⻜SvE(vA//8Kևf`G] lCUQBW؀RF Id]G>dΚc^Mch5'OV :LPL=O$-AڥWƃTn kZ\z|uT^T[z25Sb6FʨV{1WH4J1M n]nS>`jqî)H C)!ZKtS8MSCJBWx!R p rWLҫkL]2 Q nlQ͢HH))ݓ!-š<(SNIol<zѸUv:vMa9BP3qV}@c Ez{7 g KtJ<@KJ&K1edʯjx2 $/- q6OT9M=_)%cI$ MQgg;TZ߮KyU'}:-'z 0zϢ>V>VD}M/cϢyTI«Xkf]Ίs@Y-F³&f:HXra fI^nM) ]B>SĪ(BƦ%I^g3$zg%k2rݞc bfJ@b4#)ȸpvt3pPU/ܳn[km\f4 ř־dLbft@9^yQ]S TX')L$V!b6gHuxQUCD!@ ij!㒵~x <*)XC*@XH>' ByuzC7ɾI_TSѪ[3^%alyԜ$hY`j"ζVFixBS,90*ۄ5mCF&40 cN9+O:01fWaʬh h߭x9{s:$zGق aǽk=f-ru=f)h$@a)6e` Q N2{q܊Z221\ 來{>lny/"enR\BϑIt4M3O#7(Oi.9^gǃ&5|1 ߹a'x5]`.0P?ؒEè YqWbJ݃ }nhÿޠQÎ Z{T7Sb!kTx 4Dž6aT5E[7 hDSzrv2f5'aakJL':B1 L&a$,g |.z8~"2E!;$F3Fv P8lYBH] ( SF#z:r_ط^"ķq:EB:pD5[@bQt:~MQaY8@g FYF0KXޥX{8U572߸,~9&p vv+~H9*H‚P!!y`(܂849,γ =Gųx>("@ Iajna aM9.ؗ'D4ad8e<-Ek;QxHx@)#( ș@ OZVGWy`d/@:4'R8+k1 ^sWʅ nH^EJBd~nHqLOX(M̡՟ 瘬O |j@ 8" 9țSlCI.9Fy`x&>#c:_6݅F(x9ǰB:+K[0mG{\O յ2CVhkcʒK+dN-ZF^J)df8&xtZLeH損fyO‹!BҩhT9T@p}V׻avU_%-bS "ƌLwx&O%գ5&GOǡVfKdEK\XE-H&,&,O%e<$5FMEjPQĚMu&F+BMR_Q"YǍ$!xFPSХC' /tx6B&UtײԦ3 Vxl 8KTFdeEnYBHo*KÛx8mmth-N[nEC܂g@  GuUbS gjʹd^ǤS "\D`C8!p:T?\ UƚMC0  @1T^D)O)Jyt0KIś23j[\Oc^WlND'd0TrL@aJx8ۡR+jP޴|?qPjpTQ2eDE80#EsӋPFtg` k,=:?bkz؊zOwdgQo߿N>{?MULg*V'Oʮʶ_eo<ޡ zQZpdDB.EG v`{Ϟݧ}x x T'B Ci(}/u|wl4.HCE'=m <.XLՑ,H?9z:n ᫖7{Ơ[3l8  -(c !!r& Փ?t3E﹉#M&̸KĢaMN`{`i] c8x[<pjO]WdCOOQcu\wې"@z-b#\#֢_zI}7UOKb 3&)b.+j sôKyY|ZXHוt]{ѝ lnH kG=gDbn꿐ʍ'v2޺%%c쑀~_쿧Wdg۷=a;|JqK: BDh-P* 2n uԵ;+S@jf>X1!w5K1 lot]KJ!o7ۻX9ΡF'5qvONysO8oGƼƐSV :Q 7[9M'R)@^n5t)!<=+08܈׈TWK˸ütG&[Ě)Nt01-{mM22Qw+Y6 2,*4jJz.XK0 { ՐF/$>ўFwk|Gpj ;s&P)z݅nz)bmM!LQN E(Z~g=2tL;vKؓ ):{|"fA1(>݂vMJ_qʭvf=S4/օҩ[Cw*M@A$:[+I(uy~~}'#h}RűW4kNzXw {Ֆ悆TBHhT̡lD:[Gb#O,WGVd NY H6xURo^uTPr3QI.Z@VFєʤ_{Nk4PUX3\SR ǣd8QfHxDSs9_i]>uryOJ lZ $Bb7b#t8 <鬈؁XQ>Xr VReo`.+8̦MY>4AMQTjH{x]]-/I4R8I)2쮚sx+]q"qO19hǎ"3Q$:k.G5cw~h*]aJA PX7SZBKHD<kC_ \^3'U =1o\gx4JgJ5Q[^EEJRHV1[{a<1J_X6𘢀Rmoj] ~FɈ2!zxfؚ(;ǘltX7`D3V i'lY=8)D9TOzLVWUv 7FI~:lb2%΀Z3tΊjM!a,ɚZT`Umg3qVOIdxRujb?Y Ҋj͆H9S䴑,ްC > [ؗM6U[y};˓WoG/_^}FX&rQ]}$#H;:'Bou Dai{jƉnYy$%%>¿Ue,Ͳ Ip<ְw9' zRQv#W"m Ͻj;ňVŴxOqq Խ(| Yh;tzZb2,sœ@77>7VW:c⑤h 1ԑ2߲D0T5a$H6[޲89/$EO*;u ).OHR A v#HzP687n  a\Yk\rݥl-Ue$ASXEy) ̈o}M04E-E ɳnUſBx,TƠyK dpZP 6v! b"dydש`khDq:" .l3]9GNMS&ܭ0o2s*.jU_p5\_Pjvf8pU=TW<02{Hc*~b%3ivi?/:ڬuHm3~Q?{ wVu`fkf@(ǫ(x4_aG ԕCV/\(ODiVnK^0%T 9Ar㻥=Ś6 yS*V,2R:CXY(OљMN5\ D|7)F9i-H.,V@iq1Zf%e85wk ,m͐4_d&~vٞN~:jC{Z;êlJ!f+{:J(CZAŤռ8GNx d} ;ْuzu GBy \UhRӘ)@xUYe+z" +N%NV>t[r0Do̳|n9;H{(E hQYM܆u  Fc+V K W:y@Z- ]7@zׯڕzr1U+~>zUOQUuU:o*qlLWN$8&lF/möxX-+5A#38E,b2Y'?ouƒ 169gVt6h* B2T0;zWqRV&X:nWԺ]@X*DI*n-adSo'JweP RTv(k&:K;:R0g 5lP̒M]lɼDNXmɜ~^[@[[P[\߯?O'?K?gٖ~rϡ֝\ ZOԭ=[#cLǾ3%ToܬB߹)wbEaݷ/crWtUr$A:E1pdsmVRJlQdEQq,c@zbH#A:bŽ$;rg7M-8.ߡ]#oZ3i@ȇ <$݉I_l%0i-o+<> X(g1 [ 9i:31 *ڻ[m` vQVR:* Ba,q&3FD&)mO DB"<.6-S&(g]|p9J9dk$GQC:H[=ayat/f/r###?/Lq€Yi_6d l[[ S@2r|$ANiU9_s1޺LTH}#绲`F+`J ΦOz|n_(! T 1Z4LlFvwo{8OXlj} "6ΜGcR^8>n 8#4"` ?,tUDN:גYa,IttE _ L^K5{lEJIGcX k 4KGbJ[y:(kb?," ǵV ! BiZpUvw~eIs8_cYO+6Z(:К r]SLITuP'Ϻo, G+#˄xn.ꨒ 9c39) k{@/0V]낃-WH9G_+3|y LPeۙwޟ٠:RI52z7HCe~Pq.* zN ́G\fhG ѪiMBO)n\z;R=.!/ݓﭻm:8~ϗr:A>|^EAy![)YOY>pЬ7*hw6N&U15~z`LKClN8 fMzřN;(ԓVLlA+rfσ9LycXo1O{_ƀ^urTz-Mn{MNױ_vՍnA$X!M;Qäcѓ{^wW|{߭Q~v=4ޓ>_l0}axwCH~2ӊ DO>XOwQ^b#N?Wc5lzPjr;iwyXXMwZn qipu^^ kxR}33CWlHȔ*e\C@Ozg9F^1Pq&EYbP]dH~S8S4φ΁i4&>r0pE:Ty\,]?s'5SLu|2Nz{ -f G-Xoix=]g#5B^xBh<VYw 6 raYQt`9YkF)woK>3Uv6vv+;d6`F)&Qkߥ]z48Ixo- TY`OjJxo- ,a=1qXʽ,eRN<%m9]AGl1W\vk{ei1 f2%b/ضKW p50q݀ŝ[D}ቨdLSfޡE<{.aI[ni֍.Eʓ O[%a>5ϬwV ^>:6d;O8ģ)_cRar3cQ1:4e%ci&=S^+ՃԥV-.9=v )RK($"-p=MRX+uUӝPpeݠkD% TJg34`$\V әEwvtOz'~J'O%𪺷{;AwsYIxըZ2\Ny<2]Bgk:$y}y=׊iP n\k ղ%xqNė|"TBN։kNi&L&-"?vx;T8F`itú`w|$6 +=ʁK]2Wt8P x'ޕ&$gO3 `Gx>[2ζ-]2eC&*e',eF~'* C7.V7I7)'L}d?j(g`L{lOI>iaI2nfuYxɶ@*4]}K΁.-m @."*D."8,ծRD)Poؗ.ė$ (ݣ~0:z~%+G'9)sCH3]gE\e| U/{pEPtrla}W)4elQXF8>u֩ܕ"Nb;Nl:M/jc˗yQ,Jҳ3 fB`]:b2Us|g&9wΜn[ӡc dF<i Ʈ7#nUpz;^1ϻx'X sG0@plT'3\f*YK뙇JeȂI*[Hʻfd-ßEW=[֌,xѝq{{b9ZegVH^yW`koGEG0E;c]f:ՠeexkeec|bا{{QeHٚS|Ŕw3nj.9u '66Q۞(壱uP7NSAx:֓wd0Z hf[c×mӆg.YYOȪdeqh= ,^` EjOv ,(lU0Y6< 䈦-kGqoQ%`KNJ/Ş6s&?hc "gٮo.HY^^gWA)ZrywцǞ!5\X+mέݡy*&@  8S}#ꝩc?$|%TpUs xo4_yH/m^ý6+lz8aaG$QƃYXp`pۯ=2 ngW/&Ogr޸UhPBDkllɗKU6|1l[go}KTsl~+mn#vQJ0O蠁 Lw ػ1Wcp1q6O+t-c&@-M34Qba)"]kde!* ׉FOwVO}8 9y(B[DϞӝ=#hvmco~޳:+ڔk '*rz$`1["G). MĎ&%zy3T,<Ԕ϶K+:r YwW.UCձgG9Ĺѣcx1딵pX.Y/VQ造QyWN=gPkv! 53`OTHផ>}Ɛ.P2(ӻ@*Q9~^N)S0V'C,|Y2E}VjQ=Ʌy:fݮpO֪uKQ>Y^TUQ*-;4CG=:[gOYv^뛽p4;ǞQ=Y_a-]*K4A 3QY!%&a[.)h.R(쭓 Ik>=$3 o<dsz^N>{/w:ӑ' -A0Y9~~"'}JcX?MYog{0G*oUvp0s'벜|]nW߀H7?7oo8'4`Ŭ]U$"tR_Ͼ=u_s*2Ggg%A }Ac:O*y4 %,ܝH<\@HrRɥ *B"PrMƎ=O1$,xOvLNTOiR '_qt3ONlu5mdEʅV̛LQb]L39& &φixzjHRC/ݬxȋzo>4pbJ@Ġv2 I%=  _h+L@3ƓjGw>J\pjf>|9F0ު X5/>%j6|+9#" &K _-lT޾J_Ec+T*xhӸS/'4pNp$IXgD(5 Fu.W3?lWA ZP!gy`ڴ]x]e2f%4y$%aGڸ$()187r ;(Tp  Er o:8 %P\(K(%7Y:Y'l#0[HٹzHp s➉N)d's`ʤWx_.-0y6qбPs{d9:Rl&kAׄR"6%q .EhnFa96jpP-_D턚7:j5,l\^ovt'洴yqqܚ|C&o%e+rb͠3xՂx<słSt@6rzw(U-0 <]  fBU2#:2BI:k2cئ'Lwhr+E:clHHKv @K|#~iTk(1T'Te(0,i#m-w5Ƭx $=%,#N"׬}zNU$ K깋e?M΀b>lE/Ju}XpxU|aqyhL8f/AQmy" bClUZ7Zv~áo?ph+m7ފC bhИjdÛCc<@_8xofHJv鵼Zfzl|t>Ѭ1NT%0˯I)f5Z JVQúQSr=Nݸ 8]| &n&\d7݋_k; U:k6L# o^ΎfJ*IXLdZeMb JpQOެ-&l):HuC'7ʜkbN$$L \fsEƗ ?P VnsheZ6<**,~+;2}1u-|3 |{ܶP jjovp{TV6HX.Žc:ݠNQqcm}"=#"!8,<` lП6E͸4p4ڤ2ıwhɱspGj &{OD_Uڰn.%\h4C܏R!Ux0L߾tYa:62%TX盁}[eUe]Tu/̗1l tSɆ?ϜnU#8[xQ.[2Pv5 yK;;Tȟ к򋻴LՍy8PO}L/ķ|!тԪ(YY˰_2$8&hch]zb,^`$jf%͒K a1Iן)^3W;ex=#:DZrlߒ]u[M^ebwf !Q?$hls^ ')jX<j>axV<$ THQtAwP2m>1bdWL ,1U8Ppǿo֣p1*KH.ceo9;  c+ʤĽGZoi;C#F?U)3[Y pb(DIy aE5efH=fer ԐcRyС?^K~ 2K¼@fM5)!j+0Є# Xb[:` "JҬ}<'F񂭓ـf \]ǀ$䒀̔AtN(L0٩rS6 PYFyߦxN$G5W|qu۸*#Y) =5mp6cewnǷ积I7Fb"ʷʿ8ȱ5zl!5Cvc;| ) PԚQtkM,?:Z9iȧ_<;?p~Z c5vnz\w%m'ՒA·坯 aL8IƙdE>!EoմLg%Ӯ򻦄czSmi-=0u&߆'g#X' d}<+a6s0'av\Qo$W uFWc2KNg$}~M14aӖy8C&D΋x|K.8K}8M?XooQ"_ږEV׻Jno|d~ 60Yq?&) Tj ʓցs5Lc7Ƀ(]督HH7$4 { q51ܱz_il&K)lmj Z9q Sy Xoаf =_Aן Y#ҟ'mJt{|\iГY5`hwC Zm?ᅕZ(X)GFAq|7%Eto焃k'v9%{4ɉW3s5-׹[bi8$8e"GhF`;[A^2\y' @{(EaD  ГlKMl,tbC G \Ъr[8Ln(4^e:$De^|MfPC/gkaы +Mh .!fq/C }eĊ  ~_J,8`{S?.;#Ioe>l=X mG!C:{SCՆG+Ʌ _[:BD" rZl-W,PW A~[6z@%[n^ VW-KӐQ(سW< ȻK*fW!kwB[GSR&xy_s{b~> xFsMoD]#ShVEBKNloWqs &P(=JS0uX4R滨M~={:o| ֮ sd5gZ=ib2D#Kt^"|}GB(q2+ %TҡC\jtu<vyiCBd}䫤 f=V#]w:<:<&10K]TѴz5 K)dHR/)EIkʓ{횞Ygf.RUJgF k]}6{VWu_ .^R]dqV!"Ft +sc+ 56e(|MITEye|;ր8- s(&̻0l6`φjcW1lzUL׭CՐ }A8R"w%)%nɵV2\>I̜'QϝJ|_Sq=u\WǓڎuăhX$J&C9N\]Q"3Mzl !_;GVN5tF?Ng#9| t1xV֋|.Mh[ؙ},&3bYqzQVrfCZvqYT #NR>Np [ݡS@Njj{~v(w:76M'H̔UL yvQC4d'd~8}bמjilD% YnXZb|5 A݈ҕj糉1ƙ-ٜRQÍ?C6 q xҎܹRhQ⟶0RԱZ7}e+޼}zrv@GӋWGN1^p3;DmFU<íH x11[-ܵmSu!_]%i(F=4]Nf<6%Dý=Y*"e`ǥ>hJ3Ȭ˷%`gDIVtx~[9y#L\*;vZ*I'8HX EջV妞T?~ٻ\89z݁b&q3xY'"ELc^46Z""DͯvuB #r2Ԩ%CIxH2;h7ہq-1ZJ'h瞧ly/Lo*F{/pk6"b0 喬v2M1 luە 1*>Bz`@?/<1*ΔT; 7tӸSI<̨P&8cbt^W|.a<cKTQn8ā4OV$ASӝ؅*NgG/ߑ{:#b#LqO Lr| ]hCnHPHrn`Fe8IbeT5ʌ}]5Ǩ٬c,e&j"%F]ϔIŁ,5=V8^avncl6E$NqPrIZCsxS1̤{Սߟ7TbL|,RrZwmuxL S%T\E B@\Eh m2`)s8Z?X=A ͅEۢ~)@G8 =KB#1 xc@_6wNޞ =v*'2k[VOU0tp)Q:,[f~ [ "@ SaR,lMThS&V0 tQ=#GlC64tdϑT}{'urW&͠29bOu*Ӡx pAb4<SJk%M^ P=˂v_{P7m_[#y Q_߉QD.x|Amt φޕ@b_|EcEkW 9|eaE=t# ؎jN۶rbT8~}SVtp^W5B]3;Hx*WE]]e2&E\ 4(]:LEKœQX ]h'ЂPd؊.+c64KТj4~I?ҹGĢ}tE&<4U^i%mBa} V9KIe*QU'nPgxm!`$ ؄/j7p+R ]kP-1ıgvª]|],WybJEF0f DDqB7"pv|BGE 81# ^ qΎ'EfoդXqt-ruS4W3te)#cĺM#ʝf+U?0DkIamOG |?H (fu߹9c?; M2 Xs4De,ThTFXǘXmE)T=\2YYoO'ђܫSM'a\S/QhÕ-$ZNV&.=8VF[zPr[Ä#$*3`7$gXa&yؒF;sf B8k4KVx%La kjAY#U[XyTLѴcjz4I̱AIL}s t$/ù&.X{*hש2HLG ^Q,Sl9Ԏ٩Чal"M\F1ޖR 3+ ,<%x}D7ivu7mNdxWgJ4I6"$6{Uan,};H40UZ 95ޭg#@qn/hV>w1&ʪ ő4CTf{mW.CQ\V]/9bڹTֵl[ضjS e!>|0]1cZ4r y5!L!Xn2XtP,1A p ^Od- F JI* L]Cb>\Ij' GfS$n.)W 7>%32M(u6x ^al\4saW:;_DiYMӢ@z1.ҟ߀ګnh_PX l;Q5 7+$]^veD^0L+ lήJ,s H6D*D,ܮ|?A&7e}Çw.8z{\JEsM>, nЩutㇷ_-tHtUTPlvMO(Yϟ G/_$d/sͭ-l e0DF؎;2kyvsGa؊pRNkD~΍?.[岨kI@HPkc+ԇ4%8ןE#n.[% g'J8oT]xa/^$Ap_1"5< %\8CveQ2#A 7(d2ue)k!o!$gbi(#F s$T SW2~Hek6Mgvx|Zϻ,%}vǛ.KldUn 9Τڼg6$%K68 A# tUWŭ m̒qǽ'Rv%.ۤLhf#o/un Hf?@TӬt|~ԢMW{@ tGJbW(ߦ1Nr}uoKD%V*uGo#Өy:cP_[G}_i`u_Uz фlQ쫖:zuythߥevL},U2 >t3晞0rESo[i: u[pL&A:!&c)4xy}}9o7Ժ;\xne8l46cg ʚ" L4bҕ}MaVS' /ݠ<[ocI:LK4}UT#ór$t$ h:'"3siƅG7$JN,-:YnÃLjܡ dKCd*G cx </3@y\UMW5R&NXbDQ fNN6lp$C0YRʁyh.,Q"+8PMKehh]{ _a[hUZ|ut3>jU&̽B+ZHW6FX9>ڑ鸵]O*퀑(Y MyU)$;L\8n0 U@3ЖBIzd✽էm&L#&-ҲJY3$0_Fg m鸎5FDm3ڑ`(=f<1Q Б,@_c<V"k0mjڦٖoNڒ?Y7ĥcAמZn]deԛ?tMNLBӻ(\(H^YD6|!u&+A.Hzj{kcW,ٕ$iV>mWoAhrhrv opTܬ{H~rXp.Bw S C6q}׫nK +.WXLn^Mx\{&}cG,iRWMZfC"ͷ'ĶFNfءbaʮ[|ҊIxYq%8r U䬴H"i5\:N)Pc#c`)@R`U2l,<@_m|^LPIp!;'zǨXV5'e%w|x]5ʪ[xd*ʲWeɏHqyk&YB-Ѩ;hZ5sS2uẌ8ݔ.zZ [>ss%1;sa64 J,+4:Uߦ2 JKQA1D~eҙlmyu h癥K'̉LSI'f3=Ghܽe%8IamiQ Ktqٍ|z[[RmѲf״DG:LܱN -7$G@}(dD5Gp3<XIhۖ*2 8ɧ-O3Q ]vʓ؅b*Gz}KJh 'ٜq$. ?&TBFw5F(=2Ԏ(]iy 2ed5 LY$o;'uA7˯J &?ASp+ U|rUrkah^(; xqm;R4nFp\ iN"aZE%ΫJPY*nC`6/Q'=5Da 5[D_)1o*&HT;/Cvl lٰyP!+0hJwY~Sx*^Ab;MW }4[o N>|Xؕ%v+Tp(+Fatn6l* ^ H<p7jfc4 ~G6'WyO ba(,lS{LX1ĸ޵5vUݭU곂>ڸӰ"x”PBKHSgLNRᶦS z]=NGGEJ')5_g"#iFǾfS`Ϟ|CzI4TLHuSءU= g<*ܩ` :$m Ix:ssˢXV)kcM^r*\}:LhÙ7' Zri{XƜ %QˉBX0ĝս;"~ Z7Ǡ IC1۶%PSgEg8U%t3Ag05LF2?bVek%_^Gyyb//Ŭ?C&:;{O{ݽɳO_ݽ~P#>cxҖvdt=l"vP6u{A*S'~Suh9?-nUPkMtaP<"I 8֩ʗΥLvu0,4wnMt- YM*Am>*;{9N1rvz(6W6"~ {wԜߐ1:<N({hmK7oٽ^$8;ȳ0'GǺ07ɓ49mb C<^rbR0(z1H8@]vUz8:±ЃG/V&Q^)ςaB0.\M(=+A5>dIRGO߽=(&'c= $/G HC!UW|(Ña CRΈa`@^ړ,u,#9#-yUcBYy 8Ǧq~r{8e+{#Ya=S1LLS~zugw֝쪬[̾}/k➌8y&#='"GImZr n*jlΖSYEkTN 8ף Ţ%OjM:J5mW|@ZCSf_R櫧pJ=cxFvxfā12j8:4BfycU]ǶJl⥜YS)"';NH .w\|gҔERX&'bZ}\Jj/-G鱖p?p5M+6ugY㒽DɔȦM{Iyf77KJl{.Tnshv 7FBKL-Cfd/VMCOlsk #0!O 81Ǹ;Gm' KnT6jO`Q*6V.=NkEt"Qt2X_I'k85 y1$ZOA?H:">%6D҉Ze|)J 9PKf/k `sSH+҅¢x19f^irG@%A*7y(i<+g9^XWC;jn=h3\Iq=zu@Hx$=1B„8N(qq`3ϓQžgiΑ /TޛL:6!NR[yA>P= $#.."`*ehy cU5/1Wx "8*SE]q$_jG_/U䆾l\h=k\={S\0b-E7Fy<):{E[$3a@I.(i{.ocyzˆ`"䲰nfwu:%͛5׍nԞ"f\̃5[IVwyVJ,D WX8q6P@' "!ˀԓf86/؀m!jEbcpNCl!:}P ק/ O]T̑߮ mjdP&uJw,YsO= QV:p\Y W1:tP1/`я/ +g>-E*fD0ϓIW qB$XDKMXU0s \4lBO vޠ H5[>eWu;*|!^uɍlhǾktϖQp;8YWBv\7%l*I C e$3u Yg6q4rbF/ \u-x[ 4v0CK3^͠zDn0que-XkU 4I5}{6F*~]NߔӝfWxƔ';hR$5kGXKDm'77F 35u[A?Y3,lȞBzNRZ糉X\eiEU_Jj e[Ѐwj5D,鴩]fyФG]ɕ{+[^UʭyB0yRQ fV//4Wdg9hijV^CuUbVlB[ޫ3{eLb '<Ə4Q6YNgѭcB2f40Q/JW-#)e^e\l}[]fjsboYh/]Jt9]vAޗu F>ǹiwoVz̺?g?Cup1)/4r$c7@Mwa0IJlԘn.ʢ_"Mk_$$^c~X֕ZM9kuvRS+lq/KB5| RhybdvjڲlS_:%㗼^]뾛o K-nѸi&:Ft&(8Mx1 T,;5Xpԏ-:ium$.'^\ LBWI'ihu:8j9/-4<̳"ɝm%sz\KncS}:I%=z>N~\TdET3)ۨŝRm >_=fHzX Me4n"1oy4rh*].ܬh8 ŸJWm|uU\4,?@WY.tG-c*UkNJ"^t]8_ ײ s$XĚFr_Eki>_xYeDg1K" .&1}J4'Ou ~ e-ssxzh_.yvY#~Bg#%Gpԍj$&:?ǓFI|1v2S sGۏwuh31Ƕn_?O#?@'G=ScYw6(-Yygk*M̩JX鄆,7׾%A⚇켢Y:@c9êO'qd~Uvois zB7c,: lViB5h{Aڊ!dnqglzlo'P5txbQ_iЩ]J:!be駚rG;U`z I߭?X!^ej^kYu)0ޓ w +bap=Ӣ|C}!dGLƮmU3KMz` Z=ڶKG1ޮ0r~L7o&bVwm|G$FhgVĄf si8xY*YP3tUZ:TvHD!e ad1A-H ç5&a•%չuǶ4g>?f7֭u=<r|4Ϋ$|g!,BWӉaCuŚk'v=hGXZ˹X#n2O,up6N?I210]H\pi ⡶`,;gTK F8BAr -Vw_֛jM!!r_zxD=Vض-*_X=҄ɫ+ BN~C!3"ó8gw^lQWdreIZ9gޑ0z6y )e qp`vU'q6:MM[!H:uTIL+aRn &~B`@^]p \[7n .) cB +;]L>zUd ?{t'_N[x|#Ɩ4$)V^ݹ,ݲNM~s8^*Xʕ@˴rfIơTӘL$I9cAgmpSF+w7i.VZ-"70kLs 0gl nUh$/l F>APc-20_&QAd>9:tؼ1}eɦ1WFIEᘒ])*\c>x$LA&wMݡ*t4gSܒ?se? wxu+wܻuf{woS ZoD7ף[wp9^gqj]ydvWlWS!Ja+yeGwnW F={b:fV=W}pjq>n(ɳg,l2R>lJKooݮmǯy6Ǐw=-[1*?KrʺMt|_ JpF2O9?b>;[Qtzx*c5.\9>ߊ^V io0ֵT|wF%V>ex딃nbX#.4a_aGt׺6fCp@oFgx^7˅ EAL}:ib#<T uɳɿtW4hGNً%+Zѯ-'Qmxʭh]#|Aw{[5&%ļ7=^eQi6NR6JV:ΊܴTqe}CZ7B[҄"]$} k,Ra[f -E9'r0?0֝rtJmövֳ |/s8vVg$>K%؆OY{e0)LyAhkO-EC =N$PCi)e'"b}d8ay{x'g[ >1ׇ82c=vekm:x%nB=Y2KrE{3 lг4!R6mœOlt'infxNlb!Τ:XyI[ᓪ<|Z׾[?ϝhraglvsn~p$ЌOɥѸonm:g>]Q9X 4;ͨXΡu 9 fTH% VO8zH|8K CkO'A G#C3 yFaP.7m~}$n܊:/3.mĜ TMApјC!P-_h$ F`l8ëuZgy F=D}1b ˢXt,'ֳ Yݭ^ 3L(I&xš/ʯ>2v 3ˊQ=4Ƨ+Gų7 1iQ>BI?j0|ޑԧX,b# b*g-Myv ]; چP:v,ܫ ܯ/1r4SN@4h4e'AtJpN;c m=(1!qK![ƅ(Wq91sz=Sܽ,@ѿv<=Ӆ@sF53 {5"!QZ_3,~bL+7no6'ڌfYiLZdy9geM(gO,=զCOqh"(qv3ؕ2ޠMW^<$|j^^݊1w)Gȹ}&qQp޲{\cu}:aMk3͜4+'09Vg WWCtaJ??ڊ_Td1: j T fQ'N}4)O6mN}!\9a܁[ o*v?P_⶜S_CۄGV{,Œh;KUWF.ג a#Ӏ܁ôr9:B{\ "6}P͡ZI#CT_gG|]aXp,:-X{"ɮN%ffG15ؼ)oEGZwpZiomq(}DHg2jE88]j.wYɡžc,BP@,`$#8RwPjom6v.K z.?~}=[m4{l?li"yݼ .Rb`2YXN9yL+巰EiqHF*Kdskg1]#y2niǃlڦ8k]z|E< 61=O*Morx-I2:SuU1U5OGAO ¿Iw/lMG_[K ^q$][ JJ*|[ Yɗ+̰![RЋdD hSPcvȘ.Hu!$[Hb+L't ߗ8#Oe# nR|Ak:TrVd,"psU9"o61(ҵ cf&zu>3Nt")wnݺ}'.Ϗ=NBfY Q dX/g){f(dѭ6&(\ڬ:mPFoa /yr1YT;p&JnW[@ּx':m/%K"c/n-pa湢*{c |f-gߘP=oWq| ׵5*j[TrwZ}ҹg L~N&3(CVV7;ߢKV_f>zneve7ݒ˽o็Fƍt} |DĀĬ'`}TRDQx73 %S/y@]j,q[Q|&Pz,0ڮY뚩/y, sfldAԬA8xA6Dp;GMRW[Xxr|Rs&J  uˡ fҙug@֕HWr}* wo*n3+tec>}ٴ":E;.kJiQ;+g_~9 eCQoq᥇\mG:P+*P#i]#I;yW˙ G``+*w<"ٺV{ s K:Qirl56&s6% xfRmIA وгNls@!C̴ƣig[n"y*d7]ҪԱ1ܬ id/hjN& Y.2ǂ9,/)0YI`_ZO;8Ik"yqZ#fef_1oHUҧuVݾUU&mEnWG՞z}l]s~=]w:Mz%/aR0U\.ZptrJ>zڜ)lELK\b[<) n]`wB=MIr]Pd"W ?CFw[4wXlXܢz=gQfT(R"Ժv9߼\Yq5~hN1wzR]cKTmH< -~jށigW q&mhJ"K͢U,P yO}Tk=-WU}+ϘK;PŌ,I äK^̝n om\[P& HyRDFɂ;\㘡3 pY7#-f_mYxYK|õ"Zˊ52Q]׸5Xk;E}}V,l>&M(W+أ,ɡaNx ;Ղn߻ OaLxZ`AMyf`PToЭ F㟼+``%=ƣ_ ;w5,,LJd a,6nA(i߱y'+K4Y9P. s45ƫfnaֳndn[VO(@;Qc Z:?B*b nAEX'KzQeǡIj;-~aaF19r P>sRG;{>LVTLscF5yvap$:GfϿWQ0`b`NX;V+v娪X#v,prdܩ8GF`;(p;5:x *Lj.<6>7Te;Qr7i<D[M lgymޅCݭͷNdx1fCxn66 f3z=SC ݴ힉ua8Jήw&K1[L.xϠ`i{8'`fX*('brKqhz~1nfԉ`p˜zD3An$}I'ј}Aabld=酶֝;P(Zrx!qZ-yLaom <.ay 1#0 鬘3j?L%|9fz ă:84%R#cv)uԁq-/( ІBwׯ-'|>"8Sl}",\:Wp&;oW8z}xHbAf㨓jְؕqs ߤP743Z޾܏>$eZ(OcHwyP9mK7a O,I| @AV3~oAē;| >И*XL:m@M(JV2W},]抣@ƒ.0xJ=&Bjr@nh4=3A#j1ⴐm,x^L.@ A" YÐX,&f`𽷐IQ^x6P¾ZkyL Y+7驝=7xe+ ?WsI,OAs[6gXt\f8XFѫm D,$ְ:54cXrߒ T*utJ/}RV:G*8"}_>Ks 0=mH @o2 0k`g-؈T->`糯|1|h/|N9apJ͆NnP\߄G|OOyb6YP;xߺuIh=g1Sr߃MWf9IW./!wl-VJi#~f®Tk@+Ob8EҾ̬œT`iIP{TPv Rdݼߕ><]yL3"%TqcsK(,2 4[ hGgd'(م=lf 6R Li> Akeη%Pѹ5]\Τq҃91;8ʏ2:w1,Ĵ`߅(톪U7 QIt:`g+ѭ (4~7Y75]H0߭|~I^m(~4ts _Q2s(3`SyU\%2.tNHͱx ˢtNv;bhF `$!wck=k48X#xnLv\rm`exWDyzKVo,N1̔0f'0!Q 8.`9>6hviLI?'Zfd@JY1;=M9N/ u ,@N2'T( AXL;n9#Ez]>r>&qAOψ"VT5ĂՇf@Oϑx nnGmqm^j]3;8,q. m⋁OF2)ť`vJ$e83r 0V]RnL/E6MG< fA/hb; P8O(-Pt}p7bqBnPtv`0Sl4K<ۙ*`%lR\|B% Lq]/oC葁ږ1zvvGh&m|6vb 1z(jѲicvؾ4 L_7dʈ8m(.]'$;ǹpB䠏û$e1@j D83zbA n}Ѕo@B[zoـ Y Hn~g_E+a1V{ְQ-(8B)L=XuO$Qzsޤ [|Bx/zHd=p#Ϩh M؟K]G"WFyV1) jhv1]͆v[OQT mR0cf3M٢2!Ghe>=}! CA"D%ZV^Gy k^XtpК)jRH[ /D̽5p)Ky0тJqSP${뚪ODb撉-% G5tO4o=,xVi\} 0(8TU(8d3AxFmoMF s!ֱ^s f{&~6+g=eYmnVMQ= ȪrT A#: n+bkЃ/g)]"dP)6DzpO3ϙ2X*gZ ! y F-u9~D&*miKZG,o\Tzxy90۪"R+ f#Aoc%'뵄xz&O[Lg[e& f_}wV\;ʁ"ǪHF;7٤o+r{W8[+yHXڅk>O. ΄zP߼ﲮ>ۧ-Ξò~hv2oY@U,l9s\` ^UQzh`gߺ .Yiˀ.gz# .(dz;ry$U;NjX(ơ"G/5?Q)̂؊:R2 dn YE4/(@85cPP2w/I}¶ߟDͮ!$0?Յ(9lP'QpW̒-sJ?hȂ)v0UojinNo\OKs"x_q>?]dt?s>O?H߹+V|c&KqB/0j$3>$qS{CJeD~k Yl~~Myҗ0On`izuQK1ܴл21q&3_KtIGv0{B>=?I߿g.c2"c( aIqOa87gr᝔`zi07̨;NNM!g*&DqhaT5Ӧ SD:ذŒE ݻjtQa&yUVjgEE({+QI*G2j~КE541F 01F)-Qpe3?Q7&HĢ u{bhgq$N6.w1 |ovU7LAoG,K-b#ƺgYR/NXt8ajАa>R*NQbꜞģSTOip>c Ր΋,㈄b¬aG CDQ( g)JF4i-ٌ@kx<31;Q`aYX! +K'5JFAh$ 6Gr'05a-U0HD(IG Klui: ˲gEg[vsA1eJgTUIsrScQ=;~`Y^AYfDsg{BDiq. .ЦYg@4k4jҷu0{Ě8öpΟbyIEnX]==e' Sq3 )w5="A6('L8 cY@œ)|r Y[Fsy콤= =tͣ^ݗ`(B`_P-r#•PhS7Z9U.WF,ktBHKQDvn /M7<^Qȸǽ7kZ+9#">%V[JfZYzXS39ƕj*fUa3]V]ݳ|vq$79H#wtm.k`| 4w95/E"@%Epq񽶹/T}/g떍Qf`\J_y- \cݏ}~Fwf1: ,61ké5y0j< NX0@Wj$&5}o8hg32gb1AkNc(]HZf ?کrР(/\[:\ L.C VQp} ZU}z>. S{ZV8<1=5dZ.}l\/wM#HŬ|[DUֵY-F8{PhXZ6dr,Kw-mE}yg ǎ8[\b%Uwum@ekr`>l)`pP^8*&yPygJDa>Hވooݾ"t]XeGCJf>-蠽׎y,Ǚج=JٛG#n{ atEm:Ayꩌ1Df8Cwc m) Ʒe_ TK^Î";E3fjkLp Au;qMѫ+, ZUPu=^BXX-GN86>c1Ȇ穉h8]hk|gbֺ;/⒦\>aq1]qnFc,r FvP$aY6a2P{_^5%W'+P!ט[εs _0tQ]LB"[-րխ+bvFZڶn'-uM̘QZYNv@+ 9,48[:ѽȦEI|c녱l_?z[Roi Ί̾S$*52;b& W,P;mLQ:)T<-zݤ(5ǬB@.-rQfw ģ<+ r408 QGG0qhf'uR1lD$&p" q:vvfEB8UB$pĿ|%-183.R0 Zh);>[= kQbJ,)LE w,BOCMHz6AgGב,?03P邤SB_V!L"780,lVM Ħ~{.1C8^'0rq[(B2%(y=LM- x;gKuࣥAJkRMMwHia@'[={F[ 4nCܚ\<܇L((& =UZ!a[g >gC˰FQp%79.T}^M+,l Tzsg>Tgj)f9E`StUP ":5x1waIKw#HQ1h:-"Er=RʃdzQc "WX3@ifD(,aSj )kk18R_V?yqO`?GKfVتpoi{W]gxoWzozlץBjbQZqםdLg -C'fdօzF;ű΀.{*蚝L8!T+Tg+w( a4Jb\t>BVg\ ?*Ld++,4&yAaG*Q0}9_}-e{c'v_LDb)RhG|9,N Ӎ1bM/6%[s`K✲j [eVb$,X-mibZ}1#! W;k0! B1^CZDWЅODI$3EsY.?xĞfg@STŽ @#ձT<,/S*-/&Ӡ..&Vً|wyUzƍ˜^&fA=aWح$=Qq `Ttӄ%!tہJ~7bk$aG۟g7FyӘe7%]X&7X, FɘWy}pОHh֝us=NA[NQ|8ĪҡS%Ym;Qרf;vc4C ]4VG $h;` 5FkE*B76X< o {WQm+W L ͤơz=SEH 6q&׀M^!1|kn[Ѓe&kر:B!D5QzO75X ،9jsu<#fȎu;dTy WrNC7[exΧ mw^ K?Kd?c'P`Ħ DwtMZGo-' ʢ3,WDX09P%jitlK(/5!S\gEr)WO潘Х.MqC yAmpy8bX![&nI>BFƸ_XƢVW,6k`M$rV V @+eKGՠ:i1uC&3ï*g͹ȩq"Rqhˎ䳏6gnAwv=A|[I5[LF`oo<5{LR,\X:dD㢏XOm9JuU.z6 xV/s69dYmBrUOG(%D#d>?EҮ*s,#- Dϧ ٍy#yPʰs}`I}R1jY1BO7o5m&[׾,ԍKE&bM2(`.b j$K֭Z@}([&_Č+Yx5U(EO&D5j-vNt+GLavAiȁr5smGarS#^I9L 'a2aGkﯱ!+Fc8^E_uYH7np*Έu=d57FxW7ךYøbwi]î%RJt {#2g#Ӱo+|bV׺6TNQ{Ήճ&fPn|!-r+ėOqch?~IZ5-42(`^2sG#ujz`kp0ҤZ# (fA,XH v\Y",+݋YYedxN.mf`aGX,פD<#Lr:rS  )ZkMYed$dh!"jVx 1U)2Ḿ bCQoV@*H!^6lY}Fz& Pq_F񔻷Rcu~B`!x0>btzj`1Ze ?5l)KdNIQg]j2V% 3 "D`a yZR凍Zzw}BG| 1"uAFg6ekmuhc7MDcgRi9n3Y$Mz[ff"r9KӐz4W]ɞ%tmQj? ^9gx3`aj8g|Ax3G; d>2jC0{,P0ѤK kHhoх*BG5v">PPibOL-'.`4nM+;[UdEH5Lm"ZuUuèDX֝ɢxAq8:lp잏(E+ݯ`:_=Dj{tv> OURԻP!}uN6QFϧ ?P$HfGeAGL;bL, I6Iǀ/!Gb!"+ ?LF*'t飷`UE_>H-n}9JeR4Pƫe! :eo}檼p/&b#R 7: ,$E\ay١h"H|BzPui Q[ ;F8QH C1*6_֜]Yܪd?"P5&vsW nۺNs+q41>d#2%!^e:bt1{X3ZWdRcEQ*,B|xU"jipi騨 V>i+~BK&h2-ɿB \k;N.*x%yzD9Mv!4&>_0*CjK*1 OҳDf#Ř*W:["Q[nWFgIt.)l杮-U|-cdRV1+ FԵamk090-m2A@p{V$5p>1(NP D{Z V:K6ܹ)'@R1?Pdқ[,LDlFG]wC-1h?6A ʢel,MzW0.BJe?o4hѐ#+vW3'^L|D̻pԾCuɰBi^GY}? -ĸX8C3<]z-"0~Zëwkp ^=a'>LNgټv>x(nT Ud'ъ5@4f1[.:=qmkT[59[aQt?bR֣iGc\mf1)aZBSsa@[t`w؏i5 @X`' vٯ(+d>4)L_DY4 5/(˯aTP_j0sky` ܖ6۷06t.NJ[FϿ3ւH|x\/A WXZrkoaaͶJ~vsN,td4E2/4Y&''Xn%F?IFԈx\鿢JQ,3FNiƌzԚ*0Lprs\(9[C"#vv=0xIR2f XgT3Wx}pPwaOdN(f93cZ!AN2s&l sܶ3BA驰2ϜRE У"UbJqP\҅^"1:ѝrvu_+|y^.Ԋx!!-*D 5ws ,4İƅT^1QٛΉ`prƸ .2AWɚ*͵g=BBty5n<1-c]ՍG$W x4?j)dĄaSU3^h~Ft&#L.fa[nhQhb {aUG!ߑE~br$B-J zaQ`@|YfYը/,kR-yu-Y]d.i'9!rUTAVU77MUf} =LnwdTR/*{K3H3o+[Q|qP.'_583vb0[]30;mM޻}g>sG܋N.t &r26ձNwo_Tnܾ;nݾ}&=߼~]YZmei~FϢ϶Z !"3 4ÙkƵc}{] '; TCK k:I&* A_7wCa˓Y/8̆e^Tp= (Wžι[O{'I2E4_8Z#LȀ ]B^#;#?W+բPN;Rq N.ڮ?n,N)PFn otcUKnlgxUiA; ( %X[6&(D%"RPQEfxu%nEE; euoCV$Ɯ`;]ԢZ:J)EdUtk2j[]/W_҃s)ʬj(?..j$ZsT6=0Bgk#w^P|&5ʎUt z6 nr+(b/J UtKZr!Lρ2 T߰&LJlU[gؘ["W;OMI0O TqfJ9UGʕY/mB߮佾]%F߾irj25!ՃJ;Z騗u`wIy)34Lz4L~X |0E%HYP '{kJ0;nۣ:Ñ Z=e;au>C|6l-#+|Ρ];E*i"#k1|)2Pm#%j;(J 0Cn$ä@(h8K w-+)4~MW՞X\߼[ݺ[xaUSn<Ǫ89e]њܐv-Ñ/"̋^ZY L>tO>F3~>Rę*cvq>o=ω;]t Kb5\|qѽ akv&L9N!Is(SmyC}C NϹrJ 9ߖL=y2_׳W7JJ(J6*|}2Hѽ=ad[/fklimխIZ{ﯭu{C)[R)&ve J50{9ǶWVӳcԳ3f?I2#o~kETd.aZAg s:Gr!Qamz**ݶId]Z &@xTc5rTk?\jr7]/K|arTTT,ciQyej!r#3U5G UNJb ΢ӭ'=)ۡ *PgsbCFwW7,\-c44J}gGua$]&h,vPA*(!JvةJچ+jd@gl4Y{[;@ V뇥[^_mg!V__Z~neJUpӽgO/-]$o+үlmUkIև4JE0Xkz5_@"%2pY>hΏ0"+k_/?whlЄ.͂P?Ol`7hj{i7y+1LǮׯ ɐ֦z  ۏQkueԮrnjҳ&<3&aܪ(?VW(HaMZZY-d&gdɦ7sE %g]mC$XM6'ݶѼlx#~[iQ@ΆsՓ.2KҜK׃  Ǘy8"7Ryii*1J&v`Z vݠoitvLdZCOR5y.gөeȗKMrEvW>J MobZ]EL`0p> |>ͦFs=*Y˙2"pլD1?=Fpf Zl&B]t)\M2{m TDt^(qP#a2p$qS!|9=tv,uT\<utP^CVs";̃Bg>2U8W*i7 WeF g8U:V٬ilQ9ƛ54/2L5FNyGbO㶱^v *8d JbK]Mz׊I/2+p9zn 5*MeٯJ=o}o^+M#adfWċm>BR(7 WmI+*؇! 8x9+LF η}x$+g`Gʒ(- usr$ 8r: r+Ѵ/f#e]Dٲv]ހ'$ũWH^UIM5)pXA[LRrWhi]m*" , ÕLFܫ9sݕ; U`zOK 4vրTV\ia@o|$*6篣Be ex0@꧹Y+&2i0Vq^߬PTͰĸԒ٩+elW+N|x= kw9lW+2_ri<\ CV;صrMW=4S&Xη8yutЕz WZ0QnyV~뉝E7Y|V CX$0#5X+WZ=)'Em%tɱCm.>cM]tm Vqɀ_Ј_6Z; yFĭ^Jlrފߚ(xF>&oD%9$7i?R.]8w}&'D v+L:=__ F6Vѱ[K,ދ?QaS@Et;< LA4+hp/x[>q 'K`[l]&=-v5; b" ˍZ8( $誨e$qe֜j@k;|.)rńÓ4*Y.if]NT>œdγm&0Xm5]a;鎘ۀgUн!y:^l^cyɑZ3-Y}ƺEア]S _U18C,QNV,k7EL}3ְ87Wg o6vѽAPZ/\%_A閳Q%]-Z}0}oAmmmJVbMrl;~nje> bEKit/j4nW=MAC!4m(aH`D|zn5f! ;t%hSa9ױf*WS}e+zU!8T |^ f!aJ.bUZi!u KGdU!L"\U)VMP'URM&n=Tc)3ʻ"M(F9B۵ȅ˶:5 QΕA5ŠڪNLǽ*KgUmX"vWcS xۤШƂCV9D-$!ڋru[8[Gbn3J! =ABe6 LRt5:쐮 g$͎1FjM/{i,'_lW LiS4~mﮇ}Z iyHwu+&XƵY~߻ygq;oce詄j I@ V>}hq~,{2ϓC !rA?KH)d3?'?b>s{4ʓyW NlBQjOje-9> ;>(`2h2{ Iq xDZ Z|Ã/w|G#7CK̈́и?̀ܙ,@Wz]+OA g/"%}Xz'ʶmhz/E~s@ׁ&U2>7,**>+sWswH&zwO詓ц?ܴXe񼈀E/DMIO4)|bxҗЩOIO@=r $04q֟e*=HR(6MJiK{X{5#H:C}T*Ol:YlOdIp}YŌ{Ϫ'qg cW<m#=pVyoBC*ڱ: *Z'ɇNm7Ƈ;-A?$Mj-!H)D]~1CLXTdQLhpXdѫzٮec$*q6NT#j%]5)U &Ţh*y]-'C#~4^U[3UZ.OwD *2v8Tk;:x{x-0Ǝ7XaS(9[}'$]$f:W[T)rn]N?9}pD#zu[Š*5XC=:ռ 6 U\xbGk̇ȏxeP|53nHe~<>KGI !}(N6<Ælzg&xؐl:<[7-AԗΈJ[ɈCyؐ($c lpV63i7dmW oMCḠ_+cڒLLJnʏ// S.>_YD.WpwL0^p$MVeUZa^D1{륤.'8+L/-*ْͥtZLQ-G |PZD8w_r,'i?O.fM\؏b*E/>@-n~/kZr戮_Qiw)]DAl2^A8,TQ8̅vjfU7k|4 S6 MxϞ|2~*epgϯ ᯦9[ɿ QCgj~ UB@mG/? F0jiL4.8u~km/ݹ+bda'p4 Serh!;iѵ+r񥼞)c#2\??n){1VУSiYX޸[rFǀV(OKB]a)fs'knku@8{iM/ٶyt`t`e[bѰ?qV#JlH<[QିGbC>&;p~2bt120x~;Z#E2+e 8w\5KPj+*$04Y!gg{gS, Ex+ {x7*'!$b%8H pXy-5$|j0]e͜dЫ¾6)>8!q"ۣiǁ8,/ݤx]Ì 1ӢS•'$͸WT,x_61 tP9!ΚX!D[[^+c r6&/dJ|26az3ƫʠ΄8a*%(sX-S3ΨG&*{ld/lljչ=!d,2tA>Y7'9 wF%$-Eo?HvOrRU7~vDl$u}'%mb!bf])Z4*\8+.(C+/Vo5m&kJ٢MmtnaŰ8S0_G KY̢2*e[eZiPT(~0}0f7yjZ\tryC$~lܝۼ~ cm6LI~u _քġ i:.phuR kLxvg>p:]'jn$5r>7}"N~饤x(uZ1xyLP~%+=& D\ Jjyy 3/1e%m-p9c-9؍2@x^FedZWx8f=yS.k͢NkAT/KROH|¹qJ7``-^Fg/ثXWc+XJ[$I hWL:z%ף_o%՗Ե=gUx9.\Uu:$TQ_6ߤF߰Tp+rIIqWY2QAC31CxULQ@['SrH`*)Ɠ# QSbj=ak\֤kE5҆ƴU6c|x0h,'8dnT{*\]ḰyqD 9 ~LsIś`4 U[SIWݴҬu%uOxڻlG - z·Z$9/Y< Lљ-hԵ|A$h8SAl se9g#yҸ-MTJLtrD:=7rŸ4ΑN<:J_0X@.ӹPf~uu?rO4d%[Ŀv{LY=/Zhh }LTL"~P`Ȁƈ4M[|Tk6NBRU]|ʋX Bf ~C> ts(a56w6z~q?2ߑN ;|ef<5C@Zx}pMxgMkrSYRɅeo6x CS ^&*gUjePqˑ,hC1Ā.͓Lˆ Crźݭ#[`Pr+DS*CSfUiz^K"d]*6pM|OQ6%A({lj2*#fmQC>ܨ=؉A$(& ϱ4 ֜_sS(\6.CXPk ZsG[ ]gColy#V6̗:̨&\Yr2Qy\l\2,LpGIg.tK[?M{k_*t߷RY.G'|\J(]*T w,Jı0A%ETug׭>Y: Odk&6q~~S߮D$˭Ir4g$&FZHaO50jG}eJYO\S䪰$k9n4٦=Jt$G|lkӦ7pjC $*Q:,[MFfx7\7^Hqr<>NA8^l&P|dpts*R(U֟ 0x2;Z9p iI[aYY'[m#W 2,cZuTWVCf%ͿT[?:e^5hG. V6]_ܬ1v]Eֻk;n\t[.qJL$&GX|,)0̗"}1E0nARW>!F>4Z]qo,o`p^9w+2648L@\i Wn C6GFdQM`2Az`6dGb|ºr:ٜJb#\&!GaOou.W HS w GtGteâ/+HB= 4s=J>~5#j(N'%0?^ci<% "̀֍:UaLe(XbM38ҁ#Ǔ0Hl^:hR8-P((Y ` JoӄllߠBffi&~1Jh?JnߥxCϸ$'zÔrkC?mh{96bZ}Jť҃RφĐ[X2W⹴`"3fU VOԌFa\ƙ@,섒,*^fck՛Z4_0hei߀4nEA1ωD:ץ%Xޭz8;jcni&ՙgDD"P` fXgO$^T|AWi8!pnx ΥY^?Ey|հY(?րYa& ۦNTu|2HgK_D&(w]HA|F|\ITO0$2%79` ,8,r|L ā'ٮ Fxwċ@PYAmH(em>J$jj<ۋjvD}u)ԏ![Ϛ߼ ^~f۳8iqu0AϙRp^1Wr& &fk-oe;EBnZNA~QKx t=:8-!c:͎"-!|Wю(G'A@2dY:Ŏq͒ḑ5 \.E{kr41\}`W":*l뱰߃8 -}f j +|)g #b9n gt\@bQi^D>:e3D>kfho"^bb*{|5?f QYjw{-%G q@`Jic |j%c`ז=:^P!z?xvi4bʓS<v(/Ӵ݂r*FQY^,B=ٰ+@9h_grw&EChq{N _d>/Bv9,PBT\Tgg.ds ˵+:C)tY} ˔C]:0e#2Kif݁/2:g(^Qbn f2ic;uMvmkvXO/2.NA d7 P4}h2Ot+RO&ّ2 u0gRQ#0栊@Cl8hwu%QgFD]IR%EkCW1wė[+r/ͥ^D7L !mEkd1Ik[K< iA?oߖ 3B+`aI @\U1aWQ q>,C8M1nƢ[/ï?`Kn^6bŷoE,I3ƿ]^C:.xYϬaIQ<? )^Fᗟ6-Y Gk:(Ǫnc(P_ħI/—SdKGtt,Mpi\\*Jsgs,/DtIOהZAꨓa!&Nh$} im1 `C]Զ;kl"D0H`Yz᫵ncY6Ox_CU#b`mt-8?>t!lcn''U ~܎mAa_}U0r *f:.reQť9d?!`CdU-#yGJ'3@|q7{?{'G}Z~;77ٙ_5_c>wX߸}{wnݺ}έMzy{.=6` VĢ\\7HN8M,vĹ"D1Ql.ѐ[D9lHzo^p1(;(?菹Ӧ,p!1z&kJB7+Zp7{f*Kݘ}pp\z5#BBľr^}.H0ZqCcG6-se$gқ" $$cNPӞ ,1Y6o] 3N[x^_ďntӴнo NS ]0P4jV;H2pi^{E=4(uaD$n^, !^D8>K`rH+ϵHln'ވA9V9|LNˑI,%2"cs,\Ldȝ*8%Ql3ܡ7lbFjD@4ɷ/)+ԉc"ѫ8%arZTQ.GtB 9"f qBL%ˑY.F.Idm_/Y+>s7jkJ2>lfmB e<:Wm/NV4q VG( ]y\ ̉M^;K39ɛ|oͮl!" 4Kb Ca*ҼDwdw?&h<>I{;wno~'>PJ(PͤBh0؊E:*9Y/XU;W<)2զ"]=Tp EYp5?>Z\爸NN!dA 1d4\PQ$ &22(}|`3I4 w ߢ7`:ێD$ \2 Dzb(gaYgs"K0Zpi.`2)0}A91Y=e+Վ <)'Ȋ4OR"0}4} nbP 1zpɍfhɐZXk1Xߩ2ki}tbz=SgаMb a𒥕qWQ7'8Dz/'?cGA  CϊHxHJTnUm44wԜd8~kx9z%⻊OV\; U4"S8ڔ_bj%K4W+Xlz?8amΌʈW;'}\^CcVoqxQeͯx3̫RœP6PEl1:{SK|z3e_AG0g5i1C1}戫Ʒ0ܾߍM,fb+pŒ5bİJ9/ܢ؉pLA2/!Dj HMd 3Wkj߄P4uz0""J c%)j<"b%Q?hysU5̜" SO3L n0o'_XXn-iV75~PH=Sgxۮ*.t{Yo֫oedW5d8~@oZ 7&ːEaI]v s%f[6MiؾPKԂ}p2si) Re) KIZ;o4A`n;\~R>ܰ N4l{6"e@[fFɐ$>>ƓJH55m;ԲWΓ#<5{) & AJ$ΔKyFl4KnzNC !G \oK}*ةzU4 QHpKVXɋ!xRe(+v[RAcaM׹AB,5ʷrw8dJlOK􂬇"l1:˺QIOlbhk0[k\2BG5t,Pxa/!Zw;WY߻sof{g}; JL‘UW^Q^ݶV ;;#.0n"s .4SVVceezJZz㶂9Oꆶ,@Bcn E#[*q08mz {ަ0JStu*̶D."I(򢴶d|Nbb4ԭvj+r7@_~ȓ*A#4cL kwRκL`l2KG^ ֮_8ii.bjZ|uQ`"(  qE 9rhpoݚH,*OUPPz#]H 9E'@ڜכþCYu:#x/:| L#(F'Y>&Yg5S1JE2Z5 l"k2nR*)Eҩ~4C#>33bl8ͫ\xg2O;+tyk gJnIϠyp=[.˅oT>+ [+t s`WeyG%9s ,1IJ2%6E]f;(2O+F[f2zb7"u ҿ{>t~L~\@l>Iu]|y ʽhZalzx^XӺX۩(rEgT7 g v W0+`MzhJ2ÀZ$8QX,)?("nXJGqiVe`%ҳqAsꊯ%',\5[DQ 烂GJEx/@>d8hX(aI2Zr,00 DGWE_'t.Ge۱ax uۉy"?tQuY;DV`35\0̐@*֡DMCɨGi۸Jr*]5ag5i@891aq͏ƦqL7gǃKE#+?ީ޺w;o7n%hm?C$.Z-Y z;'t\«G~h|9kegr!,cL,}N#/ h]0($VQԁVXum{HKBD/(٠&hB;R5BE@bs]DŀF qTo^Be1 y1nyOPCpEdFeơI3[E;Z&yK2bn:d_38פ|*)~kƆki5M`j>&-A"&C'6v}`Wk&#m&*Vk?I;xpާ_8FOq1Ajt={*WVϡ`aYW:g~;C;̚YCj!D mM354HqėiYG;3f-&@1k1")0usY7fnʢ7lR0;1w6k uZc˕1 ˱7EDl=Gj=M?EMT J<tVDּHrk IlY* 8̒Mz k+7C3/:zh>3'B@b0yOB!h[5,1%%svvtxҖbӯb):+#ӎ6 IEmoGʼn>[ͥ:'F.NEƭ(:AO$rL9((ڋNׇQމX-Aĵ,˖])2b~[*1D=da@bZ J;}UlRttˣN̕?}v+D!ʡ#oo ')N4^sf]bR_ȣZ|5joƭ[5w߷ O9 2xKJ iG)xOzώ2-gl 1%GZڀvWGU$E/{'Z;Q~vg[Xs6R|Sh >gSz$fJLUVvpYqqVv 5UTc=*l&ܘgY2r$1(;)38΅VsoހO̡a/ABjW:GLNnõIW=%cpm=m 7bP+!T|i-CSGu@C\^baS{G]U粢3(-  "5s<@{"9Է}c(Kk)W@O+\N#VE`J땬vpBnБ-+uS,"Q BR@} Ԑ\[3mJ,56$[\j+޻,׸2[\>@9y>Y-78n\ ts;(!;øPfͲ5= /?tx#45 3w*=[AZ~rH4 ;_7.c8>j'=_fOHo* &F^_7&F@g k9ZP3:Xhvlfզ:-[?vRk*>d .  7-z%!JA]HɗIiꕱS|)U\\ċea6 K6qS69_+vCZH^"{iNMnF&k&JUW.YDo [vB,p\Ͼv2ikǒoHDFF# iCuo癇5S~M&VHVn3:xo`ӿ|q;A9 ;ɤ9y!ʀG|f96rV́TT`atTƛ߶0-Js @mqW( ѩ_üjh[\{ g(ۡ:#lXGjn;7t-MZ4X9<W0t`R@ԋ? FQWr2/m[V +3 F Lbfl b:'UXK$Ua F\Vo?P/YL%;VTKԦ%#S+)'QX] ۿmU4F}nyi sN|m|η?eG u\q6w66m|>{潿{o{OojWo<pg_cS?LA_??ş??q{|{|?MgbFW&p]won /oG_ =)x/n'~οܟo;y/~~鏝_/{vwgνs,[\~ߩ?~+Ҝ8?ODžI>?;_Գۓ?}߈__=8뷏O_>|>Y}_79zwo3{?w|_>S?pobs tw6~,LJ~w9 -߯~Aw~?}_?K__:[O+ɟ/ w{Kfm޼6>f{cv_0'~/;ݿ6/ }gm=Sp>)J]?O~gg8)Ibpe.g0C,ކ M xyQgS~KWm2t]I[spw(DKqrA~L}΃Јt6ɷmepDcE5γ\A6bW {_^|G(Am"Ⱦ8z "Dm 2©O.(=B!gd)O\hd1Y2ˉÒK1)kZm5Ɏ*,E[] ~5R!`?.je-^̟^;ʭ[Σ7d*Gvd3Vw$. zF/ uFʡlbfpe[\9zmch%ڦ{k>ՑCX鰯KE} :H(o`lq-$2|iVVNXIQ1OT W%a"44!`'r~5,)zz:,QKѥn8?f́iI]B=^V^+."\!YnJSdouiBSpL`_ZP/ϤC g(eJXp%P+&}eKN{եQr"sٞ3% gu{:θX[PEXѸV)iK={nf'95Q&8hvW6[-oG8'`2˰48|Y~) mDA)wWq;̀5e|Km變{0m;G /iiuttnW'{F+sK0m֊( wVoJfU9ic?Ÿ qB|dhVy\L%6eTF*>ͧ/U԰C/tqAkæJAnt߬UccbJ; dO<}zޓ}JN\;=ãѣԖ#8{/_<F|s@F_e{l=}b\{/rqԪϿ8ا#Ŏd>ۥ|F3C˹Fj|*_엕R޽{{BиDw|~kj<.=5pأ_>NϼZڊ/~@C]ҋgh4{<~z04{:9jdIB.Fğ9Ɠn##M:${AĈh^nc6r<I* 霿1e֦ fA'Bhe,vEME 2MBj@"͍+P* G-]mQ*˦"iq@SD& Oh}vf(9h\ zVIhْʇ|ֻDŽ|'rHGy(/jK{kw} 3a=87b{ž`hb&$*@8dҸό?UX_hۛ B y/Q=Lۚ _zE62hQ_t2|(ɀ"eN'Çwv_=}+e\?*SwQƙ=^о#{GĒm_,P!#:WFK\  6$T򝒅'iGZ]b~ v ԠƔ:<=Ǣ'f;Uo1µ!qm-R@00 =F:t]/^A!xٸkT!t>cȡS ̲'lnHw`2X𷈏i 7|}0K_]vd=[P^6W` *%5pn4P4#yvQ$);GOٱIPr!LY5#?~Sڄb+2k\@d/5l$T4:n9HWPju$d[@|qʄ\89Q3bR4 7RJ9oV(k-z!뎮Taϓ7. ,1LUӲHBGOQ xN$+╒8r:q5N:9Pr*p߉yv8tpP> ?%'c`Zf]օ杔lt‰97EÇѧ8:_}EL꜐395ß4fd@ r }̅yuMy0pO)~\,YG9ۻSh56Qfu)-AKP빿,M/lܮ߹uwox 3G,704zxsݸqzaSH} |X3-L]ȫۋN+Lo{_hYyi\[sG qg\EKTr8+OʳG_55-8G4+LӨZޖ_\<0a DvZ<ࣲ4y<(M Lr >{vp GlP'ca 5C`NWw߸10m<L4c.'u9r16ʇIۢGڗ#].49h2$}|h(gZ5 oQJJ-L“"[[$ :),t..eDq*O3wm\HH2IOhcpuW#NeĈ(;̜%l.@1ɏYM)զFhvksgtV6j,Rhz=eMhΰ\Ƣ'QƠU|6𹇈fOYd}ᖫh9< ;ǓaLSHE ?x:D"_fR@%:DbD;T.K +|ф=4=E}5Bӹ26w2gM:{.ylzMXf6lx'\5iTOyhF{(1ܥ9;UA#G Ź8)<^BYc+y=dЭ+ v:- v tнÌM V-YJkcbuZ銜xkMEORZl?mpkwE$9Ktc"k-JGt2dS-Q) w@iVDƝhA/GiN[KIN~a6 :dz`Wp!~f8*[K:vUǏEpsKODR2PD/h.ZDƈц>"O 0bsMlܸsS[,G5,!w JDx:fc#a`,=HJ*/xs$ΓJi g|D`NFYcDd' 6eԁ6ٌv#Ohlx1d]tyTvwqA'j l3`Lasn+0[M!->c)!HeG$1y-ɤs=΋h9,Ȗ"ql|(= 2ҜT2Ze elF$F&׸s1'YXо)[eLh$6ǘ)̿s֚D-% 1=4m vx gъ=)]NQ<%Hl- c  P*|ads(n^[bmS7Zf"ǙNa n3\7t8:5χl{쒦!MLb x9yA+O[ 8s+9.nn+UWZi:=&v<o*2Q)X9W.Gx.p9N- p-'.R/FRSk3%q y6FӬ->V|jc,PCfMo wHWDFsuq5\ ;nx>q<3L+`bWrA!GIќ,JSx^1lTD\LaOɕ8h.W.s x̬aN9ߓ UO3:=^G^i)Pxﷻ~ɗUDoPb2V]M㊣_&(fzvqZ Ò(lLƁ+cvgJ3f`pkqiwDȕq_V *`g;ez)9T&]n~t8[03dvFӶs SNf"1֢Gڸ-{Ҝ<@c\Spt 012\H gkKA5Ebla}hh59 'ǚk)>!c(=8.G ˙~S,S"襽ILlL A:FwެOw/Ev| /X K'Ip`-ٔ Ԃ?eS@5|J%*/ܝf_DԮ "Z ]@EV`vqQ҃7Atgl%[O7J=ڼy㏨9MW7І~P#%;j߿<>sFtx)Gz-C`LtDH}0 ~2G*Â'z=7&YgnZ)JL$Jjŀ'{ClL#s{B±dzA[?柝L׊Ѫuۗ>UNOiD|Q]zz y_[9Rf1u=m-Lag˶d ֯]sȤC:N;nvDy sJY^zvjaPб֍Sc㠔RSP Gᷣt}](0n>@9j1@9B1' ^..#irvq<㦨-FN1 Ny:#vFm'Q6Z (+wEu4A{Vܼ8IG(PÂ0 JNVQ|HWGmʪÐCB}vn}Ջmq3{Xߗ#s̡n?&X~E_ ^N-|V1+]mq`||r0gtƑDzV.9N[ 4rt)(?Zċ7l1.>~;M2WFnv%q^HlMK+Jr @ UcM8=էQ,INcf?aHd1I\ßYg"%|(.Nx5mW TI x}RjͲ*vWA\lw=޶`ʁ(沊=]͌wx!,ti4ˍS>Y'ՙO_#U3S_QX] /N54v70sŸbI7گnt86|=sQWvo.nqQ *\ <%!+ݺ(;jwmo83~<>""Z.,8R\x 1 23ds~[(+ٳFb鮮KP (ކݫo=99ő<3u7Zc%u5•/']FVVT.R 0%NXrQ5>nv*abdס,mzl8a; ^Dl+>rv~:ic1FA} ԵeLc *AQ' agoGbp FĭmٻNtldkYo3j>J~ 'LKU!jzܧ^ u[VA183w7g5rAv8nS~Ϧ1a2o݄ 1 z-Lg p!p7i~uٜF1+Tli#.*#FШ̢{"%s eJ"Rh=~"[&dYPOY., IͣMVI](P=<i=Tt~o5$p j  ` lu:j祓}Cy7/zY\K?W6-pt~^ 6С&Ly=?-h cbgj}S$IG=XQ %`UsfHU 4& _vâ* t++@CһQj>V7#7fuC/|O٬fOO<+h>xh54-V u}9 sj$Rմ`ذLDnPN6jhT_CK4i>lcld>_NO)"O0_y5V_x_3|&+̙/FW$JϺяA~HQ۬!DK(ۣ64 M@{L!gdc(.X@K6uMs U) sT$#NS-$iVP,GU*&LMRkfЉ1vl܋@Rewk81'.9 .E1&{ۇi"(X0u];6$0/#uN[nLdK7`Mv[dTSxE 9hw]qAVxpTkJ9%`2l措DL5==VIcl5X)tTw*( v^>=: +XJɄDw_`4ScG1Ψ‘ׂVIT[pT=s?~!I쳮#0*襟[OPkzdNܴ Eމ>IՉ?C9.A'/܏poa z?w&*`3s>=Ofyl1FEDLc/+%"'"a׶*} Q ':)(+ˌ2^NUZcD]2|xp"Upלrm5Mh0nз&.hE#vkg<=~i!`Cl._%cE=#<Ϣ*^ ވl$l5[ƽ]͠}`V'w1-7~*Y7EMlUށ#!Ԯjƹx0z]N vڢB$'}]LKhOt*D4,D1PO)ʃp&.jEP]{rx0s۝f߶?xp=¼Nx؋ޒb圬Ux dߕ<<k[f?jKv8(LAut -~Z+~n٩S`#]_H6h-;smbA.fk}ݮ2Vv.D=t / ϖ9٭` @FPkN"M0>$uIC`aIʏN$R2ZWM#[k(,pI3h99 7%܁^WQZFONxA)Ap"AkکEwLK-Kj& ɜ1+E%k^ rYn0WmLyQE׭#44ʏE_1# 3R̛(5bR~ߛǫzi*)w&WzD9Iɢ滋!y3(g;&CTѬcJ<_HtJ@<2'g2_azA>eIqUѻuS >@s"&méєYqe>4{$!@0n<~Ncg&#L{RN)-it~8k- 3 <H`.tL,^UBQV:^t}I& 6Tݔ6R 'h~{ߑl3>h+)q><"qaU9B zOQR)I%\,Qc^*D$byuUi3 EpfRʨߍ,^t?}EwMGJdۜ00V@}1wVT^ۺ%"(96$8,;lh[Xt;º xFc]JȦwj&FYSS36fcnp5qx "zD(IMCNإ1$s'WfG7Ucّ'5h4&),@@ьQ3Iڥ;w^ae1}VX-ʗ.VuO$eD>@:!utר!Y(1XmԔk";)N0|T8Vs5ň͒.O95kf17ޣ~Qm`$ IKbؗTԪg iZsGҞuB2 G]b~NMD03MJC_GY6x;Mb N TG"]& ]#Ιw[("@]B%02At"Y`wIak̮nQ ;;J 9Trң k;3rôL_d/F+DPJ QK2}W1@zfyr?t 7yoBa~| X2d5730m3+8$z >ݷULgE@Vd>e5(^8:,E NUGxnd5tQ{'`(_GE.r==zFB 8LUaҐΒ2LC>hv9Ѐzq{Scϋ;z>xI*_' BtuЃ2AqYjQ׾: cI:ڭQ3a*md {YXd9n-ZjFx<9&i;NQ5"v\c]v(cOY,:ri*?Y9%rӪ`%FJlATC ǤI _ 0j/ljl 9WQ`' _ .JۺR{Z Yc ,kcKST*-̎[e~?7\VsEyD n>ީ㍃cz`6G< N D,ڞH 1m-kB5uPh_SX0*dO!~^^ zĻqڡ^) m @U^Mc,KI\E+HJ7q1V7;hj!b5O +Wt "Qzd.^xt0]+u%'g*  +jTejv N7F5`WՀë WKva 17 Qأ>Nif1?;pUg봩|a$;ঁd >3qvpo0#e8DZ{5nNCw놏g uN(2<?٬oO`ZvɐIl`E|x^`~l)RCWDEOTDzU2u֝ mոY.kJ!QI G{PsIjhDF:"guJ*N(TzZ&nHhDi9|"YR2M-$:E"z$^TcW}jh)ZVn0Tq߿4 EQ:_U9 bS 6飐ZF9}W)Mf)nu>TѥvՑq5|өBR[RRZ;uP=WzfH |*s@(GKQ* {XUJ[U:.QSAԽ F]]]0zmu+C*X~PQ_7Uw_:*Tj0++| M&q%Nni֑ܵOUDol9~i\1zvU"-S=2ýh7-%.-X1@,Y/=f+ޭ'G$S&rgZX{x8\v7n!tj/IyWG=ΦIx&t ]nQ7C_"1Y0г垀.LŞ 6E֨Y9~P\O 0r]cUQz/֦Z$ wWLW0s)9\cթݶ0 [*_W w b_=sT[] @۝ӳ{oGئ)ǔWHs{*ptWXXȦ [ VђnȜ9Y Ċ`~][Wi8``.Um#:WcwȾYp% -O;O"]% .ׂmҒ,֒moQζw")1_/BFk#1;鱫yɱIi]CW^,7&FhMru;Ţb21p J$!>_Gi?ʶ4"WN=r+@Pj2=ȧJ>|g;Zl9m7݋RRmG[xljuYZ']o6Cu.>`Т_dggEͥrj=٩K4c]7yrcU~'MCG4`=պ5uɢ ,aUVu;Oݼ7x!;y?f(\Ag3(,3N†bo+ 5FZHʛ„q#Uc/8''OEh .Ȁٲi51cܬX| Iz!P t\j,F{_DwWE~w.&C)/TaU-@踌5 wL_ji G7 ņC^_ }] GT-\A5Γٵ=p(݀ ݉|BYu%隸-YЩыn??A ^A!{M~635<{ƫ}/8Pjcm2991hra#vhOZ6XyLP2[WEᄨ9nu2^lBM'aP?%y>Vy\C*v:Lf +ܞ3t1<לc"Za%V*oE,88?'tÞ(9kxB@hU6DDfHjPRҘm[CBG@pJ֣i:U(8®PaS"0|NCHFG&C/.\D1tidq^R5Q/KaG<~GEzm=3Q$^6!z}6O@c1~dVFE {҇4[NS{iצ+_-˞fލۀÃ0 PѥXC\%c}Dv |◱Dhnm,Q ̭rPHX"dfM9`b`X$]osP[*ԊfN579(7!ڻ*]P|HI 3cC| yZݹuX&LƼBHDob9')n^T7 `j5=CuN#)5čC$O i0/ИB`@{7 N͜.ImzR((s|]c!FǵZAq95ZF[&K] U|b|r`X-=eb6HRbnm fꪜ[o֦n] 괥"gfti֯M0GDܕd؂Gg+3w'*VZQzʁ?Ύ$*wٱXGƏ5p-}_7!Q& m];ېڻqd̲q<+D+rTt\z0fn&;?JE3UAg:S~X(PeHxl>``_`qUԡyˊWG0@.Ta{;B ɭ;F )ToM>Z]fd3eF<,zѭF^<^! _Ch: G% Mbgؤz7~d{Kx`G5PJAہÜ?lf ǡ8ݚU@dm{{QfԐqǿADcfF[yv݋ׯM.ϩ0 @h띺]N1b^Iu`h.'Fq'h7aW3u[M\H[>z1ٵB~RH=bΗQ(njC ‰! -PWn :#T7I?ڌIfЂ.^}'B"[k F¿_1V2P7qr&G叚YFK=g¨}sT״tTu̓q5Bzeٷo :[E͔ ˖ NѸŹyز]0D2Yu._~Qi]4koXYW#$u4mO=wamA.=&ݮdWP'jOI ^t#8Yx@9dg,^|cWfN.[1p; cCQb$ANHǗ ?arYW jx1>8Xqb&6.x-v. =9lS >x`^W$Rd|àK,!^Xl")"IJs5!{!Ԯ!T9 e*%]KxMP5%4W׭Y fͼc~cv3ޘ\bX&ּb ݾx ',:zQ#ziFہF$A糐=[/2(c:M0ut$%QtB1@2K 2Qx#ӯc62GF َ8oe3mijo=-خ8#95tbS T闓KqGK'6IW-~5YZΉe͢ueC>ܫ; U!JWôq {a=LF)%tcp9cs8#x%tXj8qԅq }7LԪ 'jhj2>G]c߬fN?ʯ -ajPvbóջ\e~.s6oQ(n*;Yo[#͉@`rIҶRA~rD q^ \Aj!sG=hs c NFTiGїpdKez{I vUDRf~_]V;"af(IvX6PIqQ&pemMʫe͏ ԛvrP[lb9Ȼ#[r2YUgQ+}bPȖ2i16>勤TգbmsQ4+L6fB4HG 'p|WݝX@UH]H}5}PKN vp3 Ah `{ŊЙ^/#%P*[G!*:XOFh$5$CQ{;A܀ #3׭[Zlfer7khHk;'Zue]bfQip v=& P4 ު6%u{ d a~|d3m.\'"=~䛚j>Ϣub$k<8@@ uՀūY9hB5E6yeI`H|Ua7+pvNn RtK髨H2,Ӓ.&so*p <{a6GJXʾ%DIg zgD_Ld RYOcȽ6_F"'۪[^~zz>U;׀ vu:ۄ@@Ya#Mb0‰^KWGT ^NiM&ٷ՝ve*p 55_C;,HzP4kB2@B̅8*509t3L4R "N&U`S3ſf'g% cT3LY @ǒm\hәC O%AH6ݍf*&͒-BNF52Y k*T툽7[jL\{$]:=m ,t@dԏHIhoZq LJ,ӯ 6aTi+PXڇ?}3"keǏ;'}4 k1^ c rpDO7`)S<۹:h`,-/~?AS6(*$|Bgy2!Δ|q lCLJdi#GM8ϭ5&K5`y4sZcjWhӽ΂Pgx@#B̽V#Nn-2ۣC%jV }qvf:5k;1(e+eRZ"Q[PBaP un^J怖1T5r]v~~l:wrTtk._XWbCOA9?D+T1gf9HegE-"! o^:^@QyuYC 1'|U ^!bTl(]RJtDLkYЂvk5ٲ謉D]mhV b%fbF] E g"LLPxs0 {ӻP&̜w"5d-335DI1.JcJ5Q*P&&'.ĩ}-:A9ԅ^hoSA(CR A*h? Ǟ:쁻ulM~7ԑ7%! 'uUP CMtӑX^I#~˞  m/)+l[u 5Izz\$զ ~g.j% EWBQ;UcEtCPN+Sf g0;mggӺo_c2 [YN N߿b!reUCT=qqYN:Z2bF|aMRq!MZt41mR5{ y.!7VE' զΜb;zߨ~E1, 18@)<*Lt¬}cř|=S0-'Zܐ?w`k2{n۶m:=2_IK1p=%#J:$'Yg$q˂"d42اw΢D']W :q}'\eWc:vedFS""J6SR!զ^{#a \UY EM̹XL])wIZ0V=ZFR۩[t^'QUT.٬7‰lS@X&׌J <QGqq-f3 db︣*1XUiԫѪȒMR BGMIP֘3 V#7LXg"ʲ4XJU}?C-Wn`#pӵp݌ S|Y al{7i]ޘWUQ!vߛwE`LbS{{/6 j-2ݖ"|̩-4"W!urm"UN~}M̒iOɗ7N+e;8uv`;j|U!T u׉8 /9jtmWr8'|8BN{c?~?ɣb 2t YD3?h uWKRHSGu|NFM4$ u*K$Q\0g[T"J&^q6gn:]\LLa< G)HJk"sBӒwO޾ <7ׯQh>jljei4&sр}^);tMS ?N( g2)2 h f K`IZV4 yTJx -&I呰JheJ׆]ۇ9I6v&m+n-keI.EiaEu#b [1Swxp3@J ^K٩m`tXgNW`vq*$]0[7mˆ(>E.JkZHQq4N8zo8gOSJ V;LDEMO>EZ( *$2FAۏGJAt]̊"E\<⠯0]$%0#*&Z cdl8R oeVl{؏@Lm8ZpP^?zEFyA>O#r1ċU\1hdjmmqR&K _c?.  LGߐUȡ?\62㿼9~W^~-9;SCCG|O&=ƨCaQFٟO"RxЍr\ F^oO( DZYN`9k}DluVvk𓤴͑c6^Kb_]]ya:3vwFY:$h'A)8%ljȄsvǰaJ.HE`L T`9]hɶR$w<*]Է"qJ0.V Yy:g %k&-׋ ,k lObDAxT8uKQ5a \1%ⅦP&l Gg\Jנ׭kɆ=X~rwƳ߂bJ`D qt_Drǫ~ٟ^Ou0kE_Mzp|"Fe;%&,6-iՓWõ*Xbv"%B1BوR ۤtϙMZh8SK0C@L'$mPFU)h ND)d^y7vZ[4P mff+n]S]3$a9 V Sd-rp6kJZv8ji(XLQE'܈<N5O:ZpPD.٬x*g3Hlͺ|2{f)PV4D[tZ|Ș ]M+-jަ`.}/;q'Y螢]rh8.4s(Ф񊣅s"XP$Z\X.h!.-ݟgcžFEk $Hˮ;b )sߤ@3$&WA^8fOoYO(MPSX GTV(RuΦ ⅼ!A:Uԫ `d]*Vͫ>i}eƬBoƷ$P]rܱ +@6;i-lP1$qT/|y [h$t "da\[Ec:&]"C-/7亴LPt[^(5Aףf.TFE6C"cI-W^+*t|&D6,d7|*F u/q6H`}¶Ne]Wy ̌o Y9FoipyGoٶ8[褓~4oQBq ړqXD`itDKHpU m@tv[T&WFSX:S6֊pse2.tT'>'~z{|"#ЎRI s/%<̻ZOT~z$.a{i}Tgwa&gES/̓uԖj <44ău~C ;VտcEKP~F _:;P#4 [o}KS*2ȑ5$%T}T}R:7{'Qn:Nہ5yannZCOаrϕZ s[O?p>( > ,:^ce'xQqn8O#4:MעC1ֈ[۷7:?7p[ZI4rvܶ 2$4.Gq'$ ?U"aUMX.Sb`L9C@ɵ42 Kğ;#%01hU |uj=;Ve }x RAqt{ ƞ>)CyL,dla\JtnZ& nvNGXy͹7prHΕU1n+A'4wS@#y@,o"C-x lR]Y+}^屪 TomDg'1<(Jtx`@ Sǟ.)iP6ƅUw ܸ}?GM1t+1:T F, RnWQ9H~3$@~L%ආKP(Vg|MCHU!mVjSW`i|^TJDND;u"Ⱏ׍KU5(Kl/G @@xrz$anp] p`` .[N8@/cb+Å DE uxGUΙ욕kj W^͘1@A7]Lf{Njt޺ndϔ]&(mR/'! 9̸oC"eR1E\HҶ zM 0Ae:<=U6)rw3*/)}.8l"-9 :t`d[a C5ǚv'c^ K56+:1zZu u3[XY{ۋ> DNS6%75``l+ 8"mu Ssn+ѱb׍{4cw]b,!sw52.[h(0˂/WR;n*Hc!1RsU]Ԧ݈w;"C+~6Lr3v5YA 4Ѷ"n3p y鉷;9:pJcДER%캤Ԯ'JM(ۮPoa\bMG]{kTU"n5'SKZcf3,. Z}VݹRǡ$xnרlicfCN}p'+W%sJPHU"i{G PMͪU@ۡNlA9KʓՈ7:y4@Ҿ/5s؍$;ImNު>t6L2_!NSpFƩQ!R?3Jna?68M7] ?m?I?Gv^5ۃ{ppg(OJ S Qߦ966q\C=;Cxq8_=ayVڑڔ ѥ]F0Ʌ&ZBJ [v&Լ6ЈEm΢e%]0(v9ׇ0g;0Q̪M)q9(mk2p nMl֎pBt87<2Ș`nQ]K4Bya;~݁t e5ẸV;qfmJH{Ev5H6RQg*8T1BN2L0uwNO ɐRu[-jeǤ&G;fH8v۔_ %8L!e`?wtlK,)|'4H'u-waS&n{Fuf4O U("Q4L{[z[^*>PԜ=:6Dǽ ]R4ʧ`sNWjQb)OԾT8ۉˌ0nlS76T[XbLIH)]O <@Bvy[~*Ϝ 4IoiξVYozGW7fxNZ0tqq\v8;\Ę$zdpĸ緎C`v9O=q^B9i:'Bsd P{?ϳҡA üK#J@0CM)D#ҍRLWWa]]F2{ŏw>ut/h}d Jv6v+PO5 K [ګFjis 9cu1w0[r-|4FVc/ҏc>5[VvY';,->˴՞1fxNƀY;[bw/MS62}>#)I&HL[xoe)G*Zm̀ޭ+s mlu МU8C]XD:.IMLDK*̘* OILxl*084KYLO$ QQJ`V *QO'`bl2=$FLD*I?_pQBQ!qIU dd#ADR(zU0dVpsXY3Iw:È"6`)/~ .xs|u,(`lU*| h_uC&C>*R7e S{e|Qy%"H I)o(9lZvbFlm ɡE/xA# `!ٟ$P^#l+]6ߓȫsw_E/jٚ 5vIʠ@/ȑt`&]Ug 6a4yl5Tͻ1ګJTjK9DvF K@`)*ژ+">JLC\E(_~A,9__E`-ɔ*(VIejePUrh}' e68*P(" -t_8gP Y'$^H8<G5AQXyw:tLQ; "izba<~Kʖ@H0inH͸h+̅kV$aWJl>` *,G8h )1eNN!縎%i|zl_-])E)B@m6 Fvi-saGWǭNw"SUӫ5ASiYE/ ^^coơM}H?p3J*r}QiRH Gey 3ITmDrr_ա'ćs4g s.:Po6昚CQkPzںӺZפ22&?E-3S0Plp?/mӨ=zW@sM%vF{Y,+U|FhvbV D ]f% v%rnQGwq=nK}eIDf8Z@eԦ ENaTʄ@ը7mIkkp~]z;$ 7S._P#J|LMg%66}B+aO `"6.HXub~OX[B{SYEPOkZWHp+ ?DM+\Иw@|E:U%I܉#*4N"_6#ڰ2y%#K*S 3q7v[z6|~M=)ԎfM $͍.YSnmPL ]wuAąYM45#zϜR>aWNa]XC0J$_$~ctm2|_=_: Hd,%Ll 'S>ObLF8@2+6E f4+HCcB$Qe K̆O.m]t>e>}5Mtܔ 2X2F߄%Cn*Gk#Jf //.uQos*0*0/Ur!ۉy&%`f*i QtGŪW* sh2}*Uc-ηUhm⎨nãъF__.Pq{!QQyqҒI"(=ki6^tѲq FY!\H[4IS UL0kn]7n"}k4xTGm `چ <^dV\)>|E<5ݶ[/1wYrj'7'Ø/9a][?zxw?vTz~X@MmG+aj@>FZr8tI0IMb^鷖#%}qtfhc)%; y)jlDetx?p?ȣE(<͘փ&m*r3x6hbÄ@kMMbiҲmΊ)hh^]Ⱦŗp >Kݾ&ARݠ3b$EDwT'zbU])fyy]Nkf֠A.Xe$w|棧\c+ J-8tl9 aNR8wOXfrKu痢Sjً~K1娣L!s $)<[8<* ]RxD,KRjcqמN@يN9"-j*xX˙ kh?_NbK5RhNIU lLi|+mr'^]d5}hrûIE6vQ AȐ!Kkڿ$#FrHW ű[:~U'~!=QRxEctq XpGS6?7PT95Em{5kA| rX5)i}o`mކY֯?b9_f4>ſܐKc,JgR@/03J&R  !Y sk@ N*F0fAWZvM)Z+w2̳2C?<~w<ūn~\纶 c7dug1ꠉad" PvR0] xt[EO&%G=@ؤ@_Ҧdg0~Hvo̪wL8$#.C x'^{ VXsE;(D@P%tV9βd b.[L#?ʓ] ;@g t>_EL0 v"-Rax*_C_8Ap!q @8^tWKJ*\PQZքu(P4"ۮ?4Q ۼkX& 6 $~Tg]Z:JH uXY4Xĸ!q nTUqwzJV6+ Eul5_T@%W U{*~i݉ [g^ʘ;iM?*2.Nf`~muf*mܬ҈qjƚš &/_+Ӡ+j_7&~'qFNQ?L0x*ͩ)gɴr4d1K'̳O}!鼚@*/d@h n'Pny<3`d?v ש4oȑA0 te*L0͓/}Yk2LWW ,cg0ohkVwID>z#cOԻ1mWY>п/2%'ڭ-z5o6- (do0 A -f66QiH.D3hͣ·$nAݕR~YC?-?de;_A4.Z]{@gMV~4ݘViIʶDn%%bsݽ+|>Gj>/p{ ȓyh(D:]unX$@i["m J?H02y/eEW#HNvk}k?ڨD0 fW@kaU_:yA ~z% Xyi ~`CY t#O3EHq4Fe"#RJˋ. 6ø$, CA}s4V[[d#ތL)2Xz2|ذ [Cg4LG^+z]v.(tE:mhmMN IlPQH$PEMeF#.LYq/ttDcOVuwL.MpP CnRDWJJ jVm|dQ(!_rTĄce5qUZo4Zg׃(' v%1.f08{-CPGi`qUExZpF %qg|]櫊]DUp$J8@XBBEC֤cH?O$]3삂^ct`8y\0&E7'y6Vŏѕƴ`0RH0U02(gh`&l)pBˀE e,{ Qj1%X /j;a|j3L6Gys]$!;#6`;Ekp2}ۍKBirl8[$i.+wp0?A4xA8'B'z52bMغG&H鈻 xIdZqrQF QE}i?05ȯ,f#`ۨ]$|t!GѱQݚ{;PQrj%_-em磈[,e~/CU,Odt18d|Hb΃t`_0p~dm6 &j^e*C1zڼJ'E55vᅸcEҰrl? x e ^oCC-®?qD"oVVi\/Pдg*]LkAzqC)vȷ.)BԂ`!$F<cJjΔfESW6n#N-=UČh)ɇta-!aOF9:n`úz0-Q-wzUa o E8l z! UlcB!\ASJz_B1\^PPxYW3 :=S$wjYށWØ3y6 DɃ r@ZI2+cc^71Ur(e+AFhÞ:z֒H߻z;!5Ӆ*T#uCӟ^Z&C`Bn!{i +͘PF$!:D[g T5pH,`$Ez5ptRߟrl6 63g.n[$c C P"DkblZ`0pʿ fVվʝPцJcNt@H;)Gv~<*8:keXQpE~%*٨e4bF㋤!y̶8R&I(yW/>|=5OYTJ~XU$ðBD'e$)b>Tԗlijh6-rjڀDyB3ye^6ñaˀcFf 'VB7ྫ1jS\f@B n#BuQo^ <6peLv/l,6L={[uD X(wINY(lYd58Nb5%%[c3Cj=xXkՀR~5-&\F͍ ~a qgNG*iĢ4jո)J*yTF=kMP3+ӸљMy &)c|3A"onRNI?v:ZjLH3 oM^]˂[Es^)Pc" eᰳBt a3 OF:2^=&Y+Y3Gk};NM*z<48Vys"n>|$Вk6%m݈C0;:,uCm*ed4yp=K*!_Z$0qĒ5+[)A3KQ, o" Um1m WI>UhQfDEL\O:SRˬȃq9v5!YDg2]lZkxMMu׍9t>d%@A@mx6hvDƒ6`Jd+R19Ԭ 2yZrdWnâ Ba}M|=ԽL1JOs25ɾݏ2 2t]y(VӃɩDrLdsߙ'x*|j/Qo+?:tWyXڞ G*_eiTH`3 2<8< u1] q?" /NZK6[S)FFiny~yQ/o?o]>ɋ/8'_m^ 퓸L&G >wA Q=IFDvlK3sy&-#ʪu Xo@|8Zn"-Bfn{ EIN9,eO1Bb|EG9:(ப8*Z Oj/0{R;8R=v#AZ50G1,Ihα 9}ÃdG|yӋF4w!i?#߿%lxR8!~##fMĹfw_Dgn衸\\ypQVA'00?pPkmAerXq~:'PD'(,}M|I>lNEQIn-Utj7:#ׄ_,SSaG%H0X3KhD2,cK Px;9RƃCڟnf#;ssw8E2aDvchGtZ(IPo\Q8i72/ %RAm "CR?7/]peQbHUDIj+pýlpp&ۓE^ O1/A.s|A(O"/21,-^釞ɏt"E`ņV$$ ੭0D%s.Zf D; >WAU+`}]}bUI9$򋺅f8TZ \9(ma!K<"e+7YPeAԀ(ڻ 6^F7Xfh4'2{@l0a"}uPKW)dVecGIHEU((ANEr*q= V Q.Qh4@F  [Ǜ%6Hl9h8DB >Dj/I Z M*[Cb3CK{p È'*LS/"WHs^f ߾P$yčJ"_"1"L8HWH~ߨ}(k<U>T7_aF])B nO#6Η?yC]wu!ueqvI?5IID!ʴދ^ ^s#!.H#V 4Ñg< 霴6> FaO/_<#CEx/sFT ?;&i\ٺg}mO|e7꺑0\J2=VuP;WFWGQ2ܥ{3Iy[_zL&tQNDrcR*0_=W^@;v(po {8[e*0 JEqz*JFFjͫ,Mg:/OqL&xzuG^~9>Jm=[lz'F(mF$t1bx리a{*/" 3pWZ]b˽KJ"6l*&AJOҒ PUF%خSnevΟhm.a 6bcD4xAMYbLo"WbICJGp"3K ˲$5/~[~s /G!e~u'fX,Iňv-pL4kTWxpFQ!.sj@ #^Uن> JWj[lQ4ηxgbҬWc@7D/nl$ѨIG~Uwi{ڡ1?mk TŪ'"K *wԜEX۫Bk(E`_Dx[o.2{?y켥v_x4ȀQBÈ ޤY4] P Z8 H! C._̃'HçсIg Zϝ9$G6ihQ_bT$6Q_p+^ @ iAQK6S惰Hghv\,=RXv,trr#gGg zGI{d0lၶ%ss 19jnK xðWQT UYf!'˜Nd򙍙OQ73 i=9#V.x7hJLFL, :|HBuj;<([/d-UfjE2:W6ͤv]Yo^\tUD;4^fpUX4Zrӆ b"h@BQ  lnA\8 qW EyxbbDnY!* ?"Pw鎪sjmX6Fte[=Dw}a8D̪ƵKe5LV l k+wp ca@1x}1l6,,᧭3[ WN5*'ٻ/;lcXYmU7:o\)#ԪckxmcDj QVFG#̴:̼"xHP^);Ziz0 ȬAQoC;ƭ'BxhUeCUu_( n j_Sށ8V8,y; Y@qEp%ov*mTxyXmj Z I^p`FqG.1f:|⪬Aiz288B͇d0Eu]ՙ(81?,&e|>$;tҍ(ɉ5ɇΒ2I]qP؊ՌBḚ[aaWr9K4wa9Iwg#k߿Ix}CWV+a[x`k]FMvŜ7KyQ@>,t1Uw:MtNMd};QS@yRMfa4_dj,%KI-KØzʩYT 4@T|wimZɨbZ.ip+❱'&CZ|xL|$K˜!Lpkߚ'w&xhIbԞ u #n`D hȭ-9jƱ]yv4o^#vLvh2[I^ǗJՙdj$J 8tԌshkLױ)v]qGd@ 91b.ar6ٲyfv7WZh +jwsqLyt~պ.IRȸq82Si* 2w5_=%#̃`2pv2UYWlfScճk3em{y0S=H> sέqg]"/2}"_ H{wViK&k2)ž%U߶Bn߸Drl6  )O @@dw)l~y*z8WOEװhuLq3k$jCgC0X4<0 N'YXʈ$7-V/@$]85ͳ;%b6PoXw*nƇ" 2![/N6ڑëjӋ: Bz T-A5W*b5b24 T#H_YZ0ܤ G}c75k213Ӏ(v B `\I\3 d$\RPoow'w0 RXRseߐjk0q!{^b;mAq!1;o|9.|N/MdEYñ(ϗڬ#;lǝn=uL$>*:<稹$'R,6 Hq\̳nIT%+J3Z kT?![Odn*>KqI#VYGL)*(OK%p\Ll}Kym5ʺLtF X G,xڶO%aAWM nw)AZ;Zsk]lo 41>kf? _hRw3"_ER=myMp35\u]3J;CӬrGj^~׬@[ԕVwh9+-4[(kbĐːnɬ}{[=S=C&i* vbwiju6nc,jmބLGuvb&ix껅.cwmDJi*$qd2iNMGɫXGNj+`+jzew)0M%H7Lrn-ْ?ώJ,jt+Ob]"$KT`dTo4ffݏ$ƫ]҂#qX,˸ImRaŘSg6V?rz̒c״%۽z>7tӥzsv%b=BǏ 3 ӟzkzDh9} ht~*~63^PB.?ۺS8=SOFӸf@MyqG8]~ye`'1t.xe)!ByH6mYX':#HWq9Ҋ ,#}̕Gq'_WU;u =L]^$d9!2Ri k-jBOf9_h[h YWC Н /0{,%_w!:[1ꚫ4L~)L tS 0Pm鴦75V$,b(>q)o1οܦҚ|;l]N+kn<&u޹xrȬ8zdf`ػ:H~f%fb1 _.5A{r~VI ~ 9TY9t҈y#eƀZs00.^<έ whp쨀͇3&86j*ĽyVfP?xϘ utH4##vm1kԶ9 M T@}mS׊ t+O6Q%jL@|xp~?tϚ̞\H^ d*keGi: |?08B:.m=Z~ tqLQ .h/ ӭ*urdI"=nb8:FCxeSiT?}œA1crϲ5Uz)Leph}]]_:+(?t𬧫aʱxK1>Y9߄rq?Kml;2uUx:k@X]aV+\"e\I_^\JUXF`d>b1,K&yɣ8,OE^ "[\x?MY{PY!aO&:΄R/W.M&jyHvnj\*VjqyxCMf0/1@j,``]$"ӵKá( m(R(F6y7pd.qEbb&M|E>m:-/t-m}n%jn!<OAD ^=Bzǭ?qEo5B/m04 ό%\a.2"+Vфwiwb;oOtwڽo/ +`ma ʮ4E2˜΍b.)̞lDItIœrN/yX N׃߾ joɦ"Of-/II @Q Ľ[ ;Cm2K"oJЇ196"SL`Wuv&,:*2=yjxC000ç~A+VCba p? pQˣt]_61ƯI?B՛>7C:!A{MYE)?wl* :BYD&C! Ln9K~ 4ڶ+ 6O\m$/I[@AaoLo/.e Ez규b3F:3vn;o1p:bv'PYǂ0QuYn:aѳ .f,gVjr.")Ҷ@wuT8hZ>D ؝*37jP7Q Hrk)Z`k)AC`56(Yl ŇҲS3"h 5-RvE4[/_<;~ur/Mc cGz[?D@k u sXԏx m7pwaSAX P. <__VmYE(! JummNsi(JKC_:oSIZxBdNe ^\1]Ϡ=m:PL6]>{t*0m xҝ $e)j)b_$ǓUAA"j "nƵ&y @Z{_Y`%z"槍h#eǽBT \;$(ج d5K`ho:x[ =83p4n4ؗLL y0ssݽ*篍r|f04K 0"g=ձBX CF4Wl0/IRw`0E!t8t{87*$8s+<@k==&#ӪuJR\8T4aBSE'I"C xce2$8SF[1]<g &YcJ/{Kv@iU1nQ6b%'$P§>nHȝ@/\D"Û1=pfwq26[ t|?ʡ$U$VNPw@{EeBꄰMw<'\<SB50'}<ze1hM) DB;\(^>ͷ('٪t<)?1kc{.}?A3pmp+pRFDW7J8֑NI}(Q\ZaxSsˡA-(2LԘ)-by)M q?`QXjnfֆXo`*WXSlkٵ߀ŭoY3>,YbQh@>rY)ht=):T߂x+8,n|@Yv4( X"" #'>?G9ĭh6>]6sjWv*5uǢ;/Q hw8yqv1q <2>A>1i8pV(i8[EZױ  Ėl㮎?lu~Ax*@1.3Y 9l{Ei %ǡ(XK`l-YCW. @cKm򤇌V*2?yKw~bAE8yt PXK `?PEdBBjE! &==m=kv`+%Z˱b[f׃2,WT/ |Ζ0wXqzLYs`K 17y6Y+ҿ%!B?Zt`2{*j݇Rp}9:&V<5BA 8ZQ\w64.}>E1@`Y+2Ak!sM?Xz8x=$W ;]f܁lzZXfZ.wBNtK0T8"Q'q8U8p8jepɧWN"}?l-S0m%3>bS?O?RcWV=3|4QDMMH톓|( ;F*B/"}EφtFqƮ*90 /2.2aR,pg蟹^}B,lpDz1M. ̍Vϛ,7X/o1QA~ǠW2kߐI&zd<6_T6NO8_h>)v 6,gGMt zEK?{|ok]  lۀJ"@+3>Of/if2 ˍ~O!4p$gL֋״,VrV|nel} ȁ9,4OZV3J1Pyg C~9bAM7*Nxn[e+(unbm[ioࣂQEPukɇT:,""WW<絏{On $Oa޲0E55JbH!D+E)40} ˙ƟjjkD  0N:UZ>Nij%v% \L`4@ocN$|@qP{q7zDI L= (SPU =Ϧtunw%o*ޜ>)KgUBY@CN*Od6286qLz'-']7LK'G2Zg.u*ൃ۝=chСfOh~/? kt;Yam1L ͸[4PĴߩ5"rڤB;5rvආԖԑ40WZ_J\V(-PQ׭H?@(V:4#7c=u{׌2aY{%Lg1oY܁+Х dxB MX^,JȞ8"T.OEahچ2C]aFm$k88*qՔF:Hl7&kc{T¿?;m֙KJ Ja%H$߽}tv,d"0< P8ӸPj_:~wV Y4J.Z@Є8ZH)Gٵ\wd8JU!vl6$'*T^/^Japg3 }rJ,hָ ofP'Qp ͍7OٲD]24,. u1J=WvyfV[ᯑiW}7tt锿Kwp F]~.@T`@dӺe$~:z6~>9N/~wŋ/ ڝlk$^,ML#%~l0*~*,=.X54XoCQCZ%cVSF=^LY"'iSjbS((*uUZp"{ 0D"&&H.VND.lDKT9\ !(\/ {D# .0@070=a@v@Y Eq7gDӈ+Kxrl8h`"2$JڡsMNjmߌmDs, Qs]תN}7U7I/θy#rr59ZdRW\y}Б"vJʷӎ1tX5~Ibi0\ooqw%oڸk6Akư[9#@R)B*n6HXf NϿ-4\Zu<ە7tx]٦vnZПLb)?FF#,zw3>JG"kw@B18 tki41Qk;9GņPI )GU> > ߞZ);Wg+&]ط|WJ?id\CJcm31بh5x"eǼ2*0|"i"ŞP^r==V=Ջw(4& c@ T7 Q7Y"u ڔq#vAMOY3֠m9C'*f JXߖ 2d[[q}N^ꖉIQ\YFgp(msqj!;ʹX8ܾ}Z緙#7u}f0̷5F[6TspoPc'X3%TLhꂂ8QE,OCbnEEߜuUMs$b2G(sO6raVeD}A",]sif ݣTu"wDsFn^щKpco-ǜm!oGk!ݦ>IJ;7n-G]0sRF Id+n769<6+ȗ{u{~-3 fN{al޻9]vԸ{M@'GR(%ډڭ+r>A A`YWvʺ!^Q.p,K*d fΐ⮩eH[58KЩ}XUz }܉>0E]3j@Re;5v;xq@B4 as?!l;Fv -36;UZ][C y玨Kj:l q Ԉl@; c_RR܈pvIcMfAG66{:jKY7 \u#'WɕLnᘛl퍻0Ưh(l\CȦS B j0 )U)O{-;w}t$ωD0WC:1bKEs&Ci EY J ;!ؐ/F$68BbRO^=Y uNW/gYc/ ۷%tIҡN # Kd;]R_,?v+ny?HwZ\nW;Ej8d6-F[10Sv{Ӿpg@="܈9n؍;gֻ-\S|NF71څ;:AjweR-4l#G;(cn͢cubEz4CcH-/+Q7L?/y(5p[~aF]FV ǓD3RQK[~N0=^>EC_v2iKrWQ]]K8=89y`>fymtQg""O蛱S@{扒pغr(̅E{s̉^WnNM&G_^NE\ kKkJ):h8 K f IF3bbE8=' K̐-W0-SDLA*Nչ 5^qIWa&<0a |{Mp%*[>e gv쀿ºheg,f4I.==@ȳ M`MCWsRF څ xΙw깪mηV?Vzl~d|TD6+ۅ'SGaTy]NƔIu 9d֜5<Aqʎ8e7Z-1)?!Eni3*Ǭ:lJ[ןPڃ.̄eftt&K(Li[-0De߱PgKKŠةBF}QS~6*CE6]PF9ZX8\[]E)& ֒ ){$O* , frݓ6Y쀨.ڭM2省zDL 1Xxn(`g>cʐ'RP$ pܯ&B$My) Uz! ;MJG;emY^N22:tDe|HU1[G)Ee?HVauoBG]B{Rӊz@]0>#9bRl; ouE3Da.:~.[TXiKuuW<.*Gݪ-8ݮ1jZ]Ɵ*GȽ0D5Yw'z C?\VPSZ \NSF`ZK ;2Ws/:whGAd.Ld *- !NNz y:)'l$$ŏI/5KJzْtT{6p֝}AoۃlQέPk@򧡫ŐK+BhVK¤qUe07E.,C&ǜ~rr XSflbǭэ}f*3uD,2` n:lLB9Xo~ej  ;R}pB~z6 Z<9Uϔ6iMM9L-~008qѼ9^lB=@{7!c8G| ,AFvqBo#z*Wuby# O~\\bUh-eIyUZ\- ^dDjwoBoZo}{9kHN>( UP4Ax_pɨ s@[AK}MLS'֛jPB*H{5mTt'U\6KF)sՆ*r;qR:zIAc,9%ѻXO7bv aŜsH@hM1X`VSi'q/)E!X _Umf5ij7I'8}|UQkC?vࡺa0`l>⸻Pګ77=aN@-[;ob?Fd%&9҂KLɹ# 7׺ P\w@C존^9r)Bd!,gʂ(vJLRCMH.!ÉBggrg~L"c"iѶpv'|`Z+2فN׺CНmiDn" j+jk>ɨoiܙ|T&WMU=^vJC挄"E.@MSJUE7_9|2|TIOWA "(1Bl6QhY. D@/XM&YӓlF3qIPe 7*j5C:ЭQPgfog ,N8⦋*n`VO_wkAѧ:Ʀ+Yɩn/Gyj熜RrZ[6TkoB ;+Qy* 8"vNCk[a9gOWR./;|dK %R1lFrPcU3iCM=6A E8V(m'#az-~ոZ+՘ppSޙ}YWY's $+Մbh ! EOZ]\AcfT={3c>m|]R%u쒮qQP3v,oh3U:/u*z#+f8HMgƝ~UM?ExxɺѶYULfk1DMl cHl$Pg֤^Vi82:!s:xbChz=fO:,yuGĈO!dQ,~V[x|y[L]< I~8>˷Ɩ|rcwE+NPW8t|ܑ|_;!kE .̛=S;UΪnАz06.HaiѶnB`a#>2αɪ(A/3K4z-Vs! 9q'23J9(yBH:Ro &aP@pu Íƥ c`+jR, ?ڸT1G-|܊&>?yေuAmoP#\︪0wj g OҊs{ZAL9 mc Dv$VY5wGuwQ&>38Rށ"6@nlPڒC޸]mo9^)԰l4')67n 6\t).\>nݒ~="ԍW fΨ,gYj5@MYB%`mDeꈸ98"7|X48iDW0j:и% JPb*+ipy\鼍Ef+ !(B:úԡ}I(t|cft1Ib4(llߓD-j|F`o6; Z%#9jG-<{TA z̖QI/ e-8tDA4X!ݍxTPY )=ZW_DT~ lB4*܄ntwkh?ibɐDך$3dr':]n+zrye3c|$fߡ.\*UqKwֺj&J @֎'AwLd[8u6"p1o^6w }o7l7od[%4mMDB& oF5ռ)s|'%2?+*fƖX8|pkq M@ .u_W ~"/xEwo&)toMul7P@dyp7iX[kl&7;lļg3g36L6mf+%Nnvc*96'Y<6`>i%)+^ K.׃ +|hzwoY3XE )Aa7P2lY`b "Ga")wز=H\4#ӰQ ڃה 6a,9.<(&"*BRnm2`Wd"w LΆ lBUizIMp䵍YcL)qoRr4XiUp}2E)xd쨲i{\4&g2 NعJU7\Ҩg̾Qezw<{agHe寠+#b:;U Ri-NNӇi6^B9RԈ V >R{A9gX43z1ԊO "oJ<[`G/I򈰜Iv.B x19cn5['X%'-j/m#gf/B ڜTջ w ʀs@L嘰>9$pzLZ?& Ateݨ?H"B_9VqU~֍g3eSOVk4% z6Ա!Bo M+m)-_g?ΒwʹZÒbX؏d %[|i{/[)" @5oN]TX({NEjٕC\tkt=byKM$}akzS_ j;XӢTW ;yL@=m&i"z"}G$|Rmym[ ^J nPS<>ŒS.;8NP'M=^3WMiH~ W}*o4q֔##U$~7Ua?AnBSZ$,jy)n FڒX$~( -sUTcx!瑓o%¼%8?]jT_qȹm@u-鼼T/b).,?yk鬂!k[[Ά69Xf-]:r./PTiuVE7#6 D$92>Kal(t9g NQ"!F0fЊbF鱿n1#9o-B4U<.TQZ¶ J9MDr6hP٨sQiZÐQ1+)W" H1i뮞I=gq@lbUvȲnA^¼FAXzjRE"kZ*E})f.X^]DMEo WPHb3Ke3Z0lo桕nnƽ\Md\hib)Ϟֵ7?'A`; Ed+V0G+yج19] (o]Pomd|BGgYm :=~;V emY̝얕f#h2\vX"'mഘ3_S%|*?tGG5W.HFmZ;+XrsiNq)P 0 =3ӹb`Ѭ͋+ EztjyOrnlC!iVdkRn1ڵGýPd A߮hc)Tg뫈팡Qw!RV/sFkv!ԍ[s-T֎n*{诱4h*g$xG0-_ah Jkҁ vtڪ, AŷmjHr8ѐd6ͽ0J-7rfg1"4)6Sω1K˩骵[:\ȁah> LRza&*)@@Grd xESQ0^Yg:it>lv8Z,]Fg!#'!2DFsN\grO%scs:f2%ڙQ ӂ%2z-+b&X3-u>z\49 ?Oi:DHɹwP$aD2ͺ=)6 0؜ © Yuvl9֩RR'ey3z}мL$p!U: @,0(tȷܔZռbBplLL *fu+Z/t9NW ^W)4yrjzfc]~IF96 \5o(~d [&ݎTb""=Gǀ< Z lj^kIGyu D`r6١\M WwL "`W/!Vϰ z:Q6\Ufm~$F\1D\ 3, ĂD>*5MZG5 (^b.YlM ( ʿX@O;,琻`DQ:baCapQ'"M s -cEg)DJgVH҇J6} @ n18'dݍPچ*y5[y| ` ~;GYx_B?T¤'YȾ ݳNxlczյ=&@wC7_ 9ɱGlxws {eN>4LKv4" +<( fܢ%lTq\rӫe *jYjWSнʘ^,+iJB"ore** m%7WIqsqzN!&.P,w"csx v dn%\隋-BԊXJ7"av_۱rbv\)ugz|mûTgh,XulRu n%zl 64 8$.;_t|[7T?gxt[K= - + £aM{wj3cNt^Iy.GvYAmn+Caѩ/:JZsK2l* qhW&e_: "ά|~tY)Ն2.0N/`?7u.NVZ-1F\=n8!սlK =2c{糊h5ĸNρΙe5Pn\pHOH+>چQ"q!' |#f z%d.ۖIa~VYXOH:)Yق,ÿ6$lr4qƐUVPŝS0>7鿥eKS (;"5; ^hW^M AoZ"-vcfK姢 s>.:)?,41ضŹvlx=lÐhVD(OG%́5@1t(bqeE 3{@ 3N]A3`RM"S̝A?~fIF.)3&,:})UWq^!?#NstHLXitIb>I2J3<(@Oeםk07/,`-^]>Oz,mοGDf (^ ڢnѿRqǖls[x9g00:οd5ͻ+$2"ve~J2IH\aUk԰ U<]!to\-%Nd'Tftl&'}( Q!#4Јvi;RGdg'y<:K™!b(;jY= [@vv;P*&|Ajxw^Xʧ+@8 Y,sR5v;ˆ"R'lشMf:mڑiK Ώ ө %Uu   ɨ݀}Z)6mO# =QWA̩މ 5 S'=O'j7$չ(軇8yz3Q+_neKţlV٤7zFGozүvVkڜߺ8LN{qoB=l񅒑$_wA3'8䨿k\Kj 'ent2?`@8H> 8F'K «$'r^DŽWz$q7Z6P# )/e9\a t6 *\.;m,;Kνa(u|$8Yph&q́{ Ƣ: <$'Y/q0+te]iBXXX".BoE#W."MJ\Tm5-dZKRUT23TpR.Y4r5)ؖJz$p tɉՉ0כ:iUF(;=KbFS"Oq._?*# QI"QZ u/Ǝǀ}Ql0d Hq%5sL t},j0/zIzYt0cx, X":x=9j]&kؠͲJ! x믣*Za4x%1.Tl7`>G$Wf -5 {cr1g}%qeꓠx58=2[o9ؗMov$Q[;ugbddM"S`j$U߱f>L<X db=w^]&leiaQ@лª2$N&=UЈ[ RgB|ZbJZ%n TO:4_R7૞Ź]q͌3`2 TD ](u!9u$ \D qXity Oҧu x1# vVE?!L_B}5>2뗠]vۡq'(cAc`Lp ?<om6/x~Uc**y+M6&bEq@jMTqr\]|o?2j?DJ?C1gTYe{n-˽>h3\ Y3PŐLyI&md%E  LP +rSg")Ͼ'_fUv+I,;dM&&ѐb2-'IڛtG`t%k&Rګȴ1GkmeW^UC01JI؎$x/'>$M-St?NwYř  ;adBzvO<`8dGypg֍1o==5b}EglީkU" j-][V\),NrEN@d4GHa40Zh1yӌ;ݝQkU:c-/Ԏӟ+JA~KM'.;ݜx?o I "ˮ-nr2UIآtF_~˳Tp)rRdU+VmQ#Edϲ 奄 ՞tXURASn fqZ'YY3Q5t6cwf+4;X* & a~l|Z԰P&Ɍuw|JE;m]ҁ>Վb2?M,1y<CGL9?5l s-eV{eGc@z^.fѹg»pYiVNo#nE Eݏ!///y5|xL i6N'泮njytc7+YuCo務M9xr2Y $4b2;/*JUgEs j>Vh濽T@ |r{|㳢C:9UPw#J#IGNR\>XYږA@h̕eJO{9-Oc@S g}JB>B%MN| .nsu:(*z!߸'#?ل@Loegэ9`g˲ϷVŁ Gf5l\E@O[[me|5˔qca\0 x' 6)ajp[7_+G+ػھBŋ-[Mfp'u4WOe4W"k&nCD )s5f޿̔T < EEkFYhJDd<$m|3E5Eo ]eٽss#|`VL8ln 44H8-Xw7;?i::Bh婚N{fNu}Mҳj!MyC>& ڧMIIڕ+&ڠ/7!?j]<0Axv McىIQXRPtTSۮww.hAHa4 2UuB2UlT9vWB6{RwÚg0\MgF%ӺϪ4-sOkOGl)(tv;ZX.WIr Z@U>UՅ2 dV\w~FJd, #k wNgy9I^NSBhbȢt{'j\m3 ک {W' ף༂uvzR&'LRy{=>Zĩ1G8%fkˢz]߈^wrI5'E/jE1tލJZZQw#; xa+޴[ V4#qU~\՘;K&`% QCx+-G,$3wuzES)SH-Kf(=B:N OAV[NXB<ں>vQOt30J+"DZّwB9̠Xu]Uܙ'E% ؂NhL`O%NwVpodW"2KzQ}٫E}H#Vɻ8ܻk:KZ'Pۤ{ݽz +P1 AxJk #6F?B?>ybَҝUwv|T7>~oj=TbɊ%Vc|D~/!ç4_eC 4_oQIPYq2+ՌFE)AjxɐuTG6liQı6Y8#16?a_rj8t yyT$B:U*!6ZNT4&] ѥd+3{ UT"}?B r?zĀ:YJg(4v_݀7b \EBejĹs.6I'3C-gbtl)0#Be)a'ُw[?9"6d < $~Q i+f hf3d448x@ܪ!잸 v-)ubu#:AarR6umBHJ' (dSbZұ7M΁G$%ЊV$08#ɗ=w!ǹRqjc1w R| EE7J'/~βiO<2/Ԣy&!2OTW.G )xFz:mV%3KM)15OaR'.UOݖ ρAwPO4]5D2W񧝞(B֏V^)ZIѐs /ׁ~ -ہYG$q"zXuXrt0h{[4Z &g% ݮF1t njrښN0 9ƣ#ȷvgYqK)Ny=OdʹF(Q(RuU~I(q80 )Q# E Gq@$Σ84Bb%}d>G?+-5\ bD;a13w(.hqCw(2!Jl?΍!`8*%(]l+ nXW^$&*PK}Eը$&d:yUpb8E4$ QFE%sΚxn)Ed@e,L҅:4y9ڱf&XNd4UBXx"j-p䒧DKg:*KDxMӅMXF* $I0$}!:=eP|lX1AiݬrNjMȿ>ʠrx6iO5/J91;tHM:t,bmވ^knwvG xm_޴B6'S cYV+V9{JcjW}5{'3^Z/iZ`ߋi22}狟$zvcoC #J[&ٯp%hN =D㝘obhgW5'0>V%<MtW@yU㟷0e@>0*~gO05\~ZU|J4EjkӘ#2妡ƗZS.P-Z:<}S>%TqRe73pQP:JnZ*U Eios#bfBL谪7"Z/IS!Ę hI R𲊴'w TJYuhER떘3"SZ؊)U1G.f[c( v|#8jQ)L Kpα ؅H6Ld M zyr,Mf [z M ge.q gV:=QU )lv,)@T(iъ6#ѿZ?eEL+Www~Q>XOQ΋>\&,TLMMlj^fs-z O[(nM4?*Į!7ibcZkI W{=UHCj+n'3RuPgQl),ZÛ T88pIkM *Ej㪍l<LiD21kjБD2H€(- Zk!f4_ݔ2Pl$&M^;J RtG71oh$חVm>,Z97q'8)8=WStMǓIsS#V3x -Ǒ"1S5r3 ņʀ9!ZWzXMhć> t^%Rru%%Pt sE01dJt>HE\v[ @pH|z:O,&4ίpM/esHE/YoQ9 ؉<4Yg}{{] '"$T:KuU8ǀJY_CS- >e :4rcṁϑ\Ė 0$Ƞd|S!J:%Vxvzz]shFsRqTξ}Ab PR?/ 8%yS}Ԟ*<TlfePHVk>wQLg[$meuNH/}N¤r189s*քx۪HR/XOr>OHHzZ%#\/{ bw>d\b*jj,- @Z"Lvr×Ey3~Ja\߮tMo Ia)Ej5oR~DXrfFsl(y7%bX~>#̹a{4ۈUZO6:u5F֗qc1}4)j,vy,HB}=`Z{6(Q~}_205d=ON21ȟ:k 䲒Jyz03ș:??Z|$)- HI6:+LΓG\(lie`)/eCѡڈ5́Hl7kƉ4/{JXFFVKqu͹p2*1҆t ;0@ZS/I cx~xԬȊŹYq)cĜ VE-4-/>"cJL5U%gL'vԱVM$l,o^_\D"',uP\QD 1$zy ldXLܝFq&콳 S6V궈F֭Lj7K,Hj%q[LJw5ֲǵJk@[ 'D V@I<8S#n(װ&HX&$q8"=Kg(f˫>^ǥ1H\|Iar)tmUfBe bZ h {U*lʬ+~JOMw+b{JW|ĀTK{!~&/+]t!c0 {#='?)Ş@_MDZՈCt*3q{ ue௖^bdQIvkT,)Ǻ@!0nJ%6_|_xyAH/vyKR 2 j^ԺAd,C;k82)JgeX1'mDiQB*s=ޣq{ӕ-yFHEިnO'8"w=z*s)c*Uѭ.w]#Tx=8 Cz Pc#{*@+/*VUgG:f|3Bݦ8;ww??§gWۗ;! a߲}~oNFZFgV!h`#˙.aV;\Ҷ]CRañT ϣэƝntnt^t~tƟ? Y~\ܹiϧ6wv?w?b[z=:Md.?9"#?kgo"I`GWCs*=^^3*OC~{MT+i4zsDY4(UFp'Y>}ǟw|`}w {"xƣQ2I䢢sAJNo8Ir]ӆsRm_yx MϔGeV+tOՍQbQuB*[rLEᰭrFYՖ,uFը*̄3b畦׏|r% jл iϾWw0fzFZ\a$#qS)ϕ~e$|WS}ʣoGɩ(xLf+<E( q [Q_2؄ĵ/k}^`pBX =q:'|slCo8\mW}8hqIs3<Ǭr:oYέvؠ9+w,~A݄{FW/^eMƩg™eV S8;<%6Mq7Ij͎գvfig^5(yV(i$ƅ~^rk~󪧪Xs_E1NsoHdO=WOunL:P)yu W?KŠ4g툾/tk|)H6Ӊi x1b]4KݮnoՉ&yt:xW}b&N Yw^QոHzڒDom^ jKAՙdB^Z0FԳI{6iBeG]1S\.qfiTKˀr& ܽ ;/)l=x!]sf liUXiﳕEiAp w A^]Y4 jF[lP&$4(W|E⪶3_InM/ 7NJ}- ʡm*TEx|sGu}k ]'J|e 98,C-xYNm`VMB%@%Mo;vQܺ|o}A=Y`R8qKMHXtFI+:>Ph}_U5+'$q`1dego՞}eɯP^Uo_|_`B_ouT>C(ޫnC}R݂ -J?` _o.Ά,q^ :'h9UR~X!]<_rR%{í7m[roUȆsԑ]W"s3Ǔi<[L/YC٨\,< 0TAD_q=,\' `t]V[Y5*y?spNv/d(W;sbh}[>=xpKȣ=ݶ&:Z!zjiUN]NV*n !.Y#;#?Tf틿FVҲ![#ڹ p\akս(,݋"Q9&Y;;ƔTqi?nwOv?.ϟCٵlo6m (ML$[8=IK?'D?7~ϛͣޭ/n4-%DA<$_ K~%\:Tq^~w鋄fk!jHTn6Ut A3Ā8!u!䇕9"99}[5,la Ucz-Yl>;%K3R3'kF HP3cZ;^Z9!zQ9^$#'z\&~7ޖeHؐ"=ӄ@n v@'LD3OaZ%"qPM;#zPEncAkO٢kßC/_ojP8KJUMD+9}4e ?ۓ/L3 }}@_O5&qqJEH 5/ lsl2Y? s'9׆fjWUth05=88k- m86nGf8#2icTr3P~!j)862xǪːP\_Uwu鋳+_v%Tw69^>B~aiS&mIZ튁e)S9Rw y;+-beҔ(S mZX(a+SݐӗnDw9J_/vv.NvS.Ή yr1qֱG/^cxg鸫tTa A1,%Rٝ'S ݺ('>'?|uSzo*5I:+?Lc8T!>;g&!r(H>PP򭳾ՋWXP+|JɁ<D~=ȗ}Zq$q!wdDt(iGcד0` Kt@:nSVM\P*6"qefP'B0T\;S8x_<}|΁^E$cFX'U@]zY~>..g#FbyΕ'sM/4*]&oz5_zۢz~5=uFK[ $~$Qg`/j*W5Ϻ p^) $@+ W-uΥ(mW}GhtJC76)\!}SOIΦ?|*7ʶFM k](jb .GHV2і1Һ"S\+IIoToEwZIiq6.c1 !!Γh