summaryrefslogtreecommitdiff
path: root/src/regex/regcomp.c
blob: 16337542205c2c63cd513ca8da32692fca54e873 (plain) (blame)
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
/*
  regcomp.c - TRE POSIX compatible regex compilation functions.

  Copyright (c) 2001-2009 Ville Laurikari <vl@iki.fi>
  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.

  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
  HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

*/

#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <regex.h>
#include <limits.h>
#include <stdint.h>

#include "tre.h"

#include <assert.h>

/***********************************************************************
 from tre-compile.h
***********************************************************************/

typedef struct {
  int position;
  int code_min;
  int code_max;
  int *tags;
  int assertions;
  tre_ctype_t class;
  tre_ctype_t *neg_classes;
  int backref;
} tre_pos_and_tags_t;


/***********************************************************************
 from tre-ast.c and tre-ast.h
***********************************************************************/

/* The different AST node types. */
typedef enum {
  LITERAL,
  CATENATION,
  ITERATION,
  UNION
} tre_ast_type_t;

/* Special subtypes of TRE_LITERAL. */
#define EMPTY	  -1   /* Empty leaf (denotes empty string). */
#define ASSERTION -2   /* Assertion leaf. */
#define TAG	  -3   /* Tag leaf. */
#define BACKREF	  -4   /* Back reference leaf. */

#define IS_SPECIAL(x)	((x)->code_min < 0)
#define IS_EMPTY(x)	((x)->code_min == EMPTY)
#define IS_ASSERTION(x) ((x)->code_min == ASSERTION)
#define IS_TAG(x)	((x)->code_min == TAG)
#define IS_BACKREF(x)	((x)->code_min == BACKREF)


/* A generic AST node.  All AST nodes consist of this node on the top
   level with `obj' pointing to the actual content. */
typedef struct {
  tre_ast_type_t type;   /* Type of the node. */
  void *obj;             /* Pointer to actual node. */
  int nullable;
  int submatch_id;
  int num_submatches;
  int num_tags;
  tre_pos_and_tags_t *firstpos;
  tre_pos_and_tags_t *lastpos;
} tre_ast_node_t;


/* A "literal" node.  These are created for assertions, back references,
   tags, matching parameter settings, and all expressions that match one
   character. */
typedef struct {
  long code_min;
  long code_max;
  int position;
  tre_ctype_t class;
  tre_ctype_t *neg_classes;
} tre_literal_t;

/* A "catenation" node.	 These are created when two regexps are concatenated.
   If there are more than one subexpressions in sequence, the `left' part
   holds all but the last, and `right' part holds the last subexpression
   (catenation is left associative). */
typedef struct {
  tre_ast_node_t *left;
  tre_ast_node_t *right;
} tre_catenation_t;

/* An "iteration" node.	 These are created for the "*", "+", "?", and "{m,n}"
   operators. */
typedef struct {
  /* Subexpression to match. */
  tre_ast_node_t *arg;
  /* Minimum number of consecutive matches. */
  int min;
  /* Maximum number of consecutive matches. */
  int max;
  /* If 0, match as many characters as possible, if 1 match as few as
     possible.	Note that this does not always mean the same thing as
     matching as many/few repetitions as possible. */
  unsigned int minimal:1;
} tre_iteration_t;

/* An "union" node.  These are created for the "|" operator. */
typedef struct {
  tre_ast_node_t *left;
  tre_ast_node_t *right;
} tre_union_t;

static tre_ast_node_t *
tre_ast_new_node(tre_mem_t mem, tre_ast_type_t type, size_t size);

static tre_ast_node_t *
tre_ast_new_literal(tre_mem_t mem, int code_min, int code_max, int position);

static tre_ast_node_t *
tre_ast_new_iter(tre_mem_t mem, tre_ast_node_t *arg, int min, int max,
		 int minimal);

static tre_ast_node_t *
tre_ast_new_union(tre_mem_t mem, tre_ast_node_t *left, tre_ast_node_t *right);

static tre_ast_node_t *
tre_ast_new_catenation(tre_mem_t mem, tre_ast_node_t *left,
		       tre_ast_node_t *right);


static tre_ast_node_t *
tre_ast_new_node(tre_mem_t mem, tre_ast_type_t type, size_t size)
{
  tre_ast_node_t *node;

  node = tre_mem_calloc(mem, sizeof(*node));
  if (!node)
    return NULL;
  node->obj = tre_mem_calloc(mem, size);
  if (!node->obj)
    return NULL;
  node->type = type;
  node->nullable = -1;
  node->submatch_id = -1;

  return node;
}

static tre_ast_node_t *
tre_ast_new_literal(tre_mem_t mem, int code_min, int code_max, int position)
{
  tre_ast_node_t *node;
  tre_literal_t *lit;

  node = tre_ast_new_node(mem, LITERAL, sizeof(tre_literal_t));
  if (!node)
    return NULL;
  lit = node->obj;
  lit->code_min = code_min;
  lit->code_max = code_max;
  lit->position = position;

  return node;
}

static tre_ast_node_t *
tre_ast_new_iter(tre_mem_t mem, tre_ast_node_t *arg, int min, int max,
		 int minimal)
{
  tre_ast_node_t *node;
  tre_iteration_t *iter;

  node = tre_ast_new_node(mem, ITERATION, sizeof(tre_iteration_t));
  if (!node)
    return NULL;
  iter = node->obj;
  iter->arg = arg;
  iter->min = min;
  iter->max = max;
  iter->minimal = minimal;
  node->num_submatches = arg->num_submatches;

  return node;
}

static tre_ast_node_t *
tre_ast_new_union(tre_mem_t mem, tre_ast_node_t *left, tre_ast_node_t *right)
{
  tre_ast_node_t *node;

  node = tre_ast_new_node(mem, UNION, sizeof(tre_union_t));
  if (node == NULL)
    return NULL;
  ((tre_union_t *)node->obj)->left = left;
  ((tre_union_t *)node->obj)->right = right;
  node->num_submatches = left->num_submatches + right->num_submatches;

  return node;
}

static tre_ast_node_t *
tre_ast_new_catenation(tre_mem_t mem, tre_ast_node_t *left,
		       tre_ast_node_t *right)
{
  tre_ast_node_t *node;

  node = tre_ast_new_node(mem, CATENATION, sizeof(tre_catenation_t));
  if (node == NULL)
    return NULL;
  ((tre_catenation_t *)node->obj)->left = left;
  ((tre_catenation_t *)node->obj)->right = right;
  node->num_submatches = left->num_submatches + right->num_submatches;

  return node;
}


/***********************************************************************
 from tre-stack.c and tre-stack.h
***********************************************************************/

typedef struct tre_stack_rec tre_stack_t;

/* Creates a new stack object.	`size' is initial size in bytes, `max_size'
   is maximum size, and `increment' specifies how much more space will be
   allocated with realloc() if all space gets used up.	Returns the stack
   object or NULL if out of memory. */
static tre_stack_t *
tre_stack_new(int size, int max_size, int increment);

/* Frees the stack object. */
static void
tre_stack_destroy(tre_stack_t *s);

/* Returns the current number of objects in the stack. */
static int
tre_stack_num_objects(tre_stack_t *s);

/* Each tre_stack_push_*(tre_stack_t *s, <type> value) function pushes
   `value' on top of stack `s'.  Returns REG_ESPACE if out of memory.
   This tries to realloc() more space before failing if maximum size
   has not yet been reached.  Returns REG_OK if successful. */
#define declare_pushf(typetag, type)					      \
  static reg_errcode_t tre_stack_push_ ## typetag(tre_stack_t *s, type value)

declare_pushf(voidptr, void *);
declare_pushf(int, int);

/* Each tre_stack_pop_*(tre_stack_t *s) function pops the topmost
   element off of stack `s' and returns it.  The stack must not be
   empty. */
#define declare_popf(typetag, type)		  \
  static type tre_stack_pop_ ## typetag(tre_stack_t *s)

declare_popf(voidptr, void *);
declare_popf(int, int);

/* Just to save some typing. */
#define STACK_PUSH(s, typetag, value)					      \
  do									      \
    {									      \
      status = tre_stack_push_ ## typetag(s, value);			      \
    }									      \
  while (/*CONSTCOND*/0)

#define STACK_PUSHX(s, typetag, value)					      \
  {									      \
    status = tre_stack_push_ ## typetag(s, value);			      \
    if (status != REG_OK)						      \
      break;								      \
  }

#define STACK_PUSHR(s, typetag, value)					      \
  {									      \
    reg_errcode_t _status;						      \
    _status = tre_stack_push_ ## typetag(s, value);			      \
    if (_status != REG_OK)						      \
      return _status;							      \
  }

union tre_stack_item {
  void *voidptr_value;
  int int_value;
};

struct tre_stack_rec {
  int size;
  int max_size;
  int increment;
  int ptr;
  union tre_stack_item *stack;
};


static tre_stack_t *
tre_stack_new(int size, int max_size, int increment)
{
  tre_stack_t *s;

  s = xmalloc(sizeof(*s));
  if (s != NULL)
    {
      s->stack = xmalloc(sizeof(*s->stack) * size);
      if (s->stack == NULL)
	{
	  xfree(s);
	  return NULL;
	}
      s->size = size;
      s->max_size = max_size;
      s->increment = increment;
      s->ptr = 0;
    }
  return s;
}

static void
tre_stack_destroy(tre_stack_t *s)
{
  xfree(s->stack);
  xfree(s);
}

static int
tre_stack_num_objects(tre_stack_t *s)
{
  return s->ptr;
}

static reg_errcode_t
tre_stack_push(tre_stack_t *s, union tre_stack_item value)
{
  if (s->ptr < s->size)
    {
      s->stack[s->ptr] = value;
      s->ptr++;
    }
  else
    {
      if (s->size >= s->max_size)
	{
	  return REG_ESPACE;
	}
      else
	{
	  union tre_stack_item *new_buffer;
	  int new_size;
	  new_size = s->size + s->increment;
	  if (new_size > s->max_size)
	    new_size = s->max_size;
	  new_buffer = xrealloc(s->stack, sizeof(*new_buffer) * new_size);
	  if (new_buffer == NULL)
	    {
	      return REG_ESPACE;
	    }
	  assert(new_size > s->size);
	  s->size = new_size;
	  s->stack = new_buffer;
	  tre_stack_push(s, value);
	}
    }
  return REG_OK;
}

#define define_pushf(typetag, type)  \
  declare_pushf(typetag, type) {     \
    union tre_stack_item item;	     \
    item.typetag ## _value = value;  \
    return tre_stack_push(s, item);  \
}

define_pushf(int, int)
define_pushf(voidptr, void *)

#define define_popf(typetag, type)		    \
  declare_popf(typetag, type) {			    \
    return s->stack[--s->ptr].typetag ## _value;    \
  }

define_popf(int, int)
define_popf(voidptr, void *)


/***********************************************************************
 from tre-parse.c and tre-parse.h
***********************************************************************/

/* Parse context. */
typedef struct {
  /* Memory allocator.	The AST is allocated using this. */
  tre_mem_t mem;
  /* Stack used for keeping track of regexp syntax. */
  tre_stack_t *stack;
  /* The parse result. */
  tre_ast_node_t *result;
  /* The regexp to parse and its length. */
  const char *re;
  /* The first character of the entire regexp. */
  const char *re_start;
  /* Current submatch ID. */
  int submatch_id;
  /* Current position (number of literal). */
  int position;
  /* The highest back reference or -1 if none seen so far. */
  int max_backref;
  /* This flag is set if the regexp uses approximate matching. */
  int have_approx;
  /* Compilation flags. */
  int cflags;
  /* If this flag is set the top-level submatch is not captured. */
  int nofirstsub;
} tre_parse_ctx_t;

/* Parses a wide character regexp pattern into a syntax tree.  This parser
   handles both syntaxes (BRE and ERE), including the TRE extensions. */
static reg_errcode_t
tre_parse(tre_parse_ctx_t *ctx);


/*
  This parser is just a simple recursive descent parser for POSIX.2
  regexps.  The parser supports both the obsolete default syntax and
  the "extended" syntax, and some nonstandard extensions.
*/

/* Characters with special meanings in regexp syntax. */
#define CHAR_PIPE	   '|'
#define CHAR_LPAREN	   '('
#define CHAR_RPAREN	   ')'
#define CHAR_LBRACE	   '{'
#define CHAR_RBRACE	   '}'
#define CHAR_LBRACKET	   '['
#define CHAR_RBRACKET	   ']'
#define CHAR_MINUS	   '-'
#define CHAR_STAR	   '*'
#define CHAR_QUESTIONMARK  '?'
#define CHAR_PLUS	   '+'
#define CHAR_PERIOD	   '.'
#define CHAR_COLON	   ':'
#define CHAR_EQUAL	   '='
#define CHAR_COMMA	   ','
#define CHAR_CARET	   '^'
#define CHAR_DOLLAR	   '$'
#define CHAR_BACKSLASH	   '\\'
#define CHAR_HASH	   '#'
#define CHAR_TILDE	   '~'


/* Some macros for expanding \w, \s, etc. */
static const struct tre_macro_struct {
  const char c;
  const char *expansion;
} tre_macros[] =
  { {'t', "\t"},	   {'n', "\n"},		   {'r', "\r"},
    {'f', "\f"},	   {'a', "\a"},		   {'e', "\033"},
    {'w', "[[:alnum:]_]"}, {'W', "[^[:alnum:]_]"}, {'s', "[[:space:]]"},
    {'S', "[^[:space:]]"}, {'d', "[[:digit:]]"},   {'D', "[^[:digit:]]"},
    { 0, NULL }
  };


/* Expands a macro delimited by `regex' and `regex_end' to `buf', which
   must have at least `len' items.  Sets buf[0] to zero if the there
   is no match in `tre_macros'. */
static const char *
tre_expand_macro(const char *regex)
{
  int i;

  if (!*regex)
    return 0;

  for (i = 0; tre_macros[i].expansion && tre_macros[i].c != *regex; i++);
  return tre_macros[i].expansion;
}

static reg_errcode_t
tre_new_item(tre_mem_t mem, int min, int max, int *i, int *max_i,
	 tre_ast_node_t ***items)
{
  reg_errcode_t status;
  tre_ast_node_t **array = *items;
  /* Allocate more space if necessary. */
  if (*i >= *max_i)
    {
      tre_ast_node_t **new_items;
      /* If the array is already 1024 items large, give up -- there's
	 probably an error in the regexp (e.g. not a '\0' terminated
	 string and missing ']') */
      if (*max_i > 1024)
	return REG_ESPACE;
      *max_i *= 2;
      new_items = xrealloc(array, sizeof(*array) * *max_i);
      if (new_items == NULL)
	return REG_ESPACE;
      *items = array = new_items;
    }
  array[*i] = tre_ast_new_literal(mem, min, max, -1);
  status = array[*i] == NULL ? REG_ESPACE : REG_OK;
  (*i)++;
  return status;
}


static int
tre_compare_items(const void *a, const void *b)
{
  const tre_ast_node_t *node_a = *(tre_ast_node_t * const *)a;
  const tre_ast_node_t *node_b = *(tre_ast_node_t * const *)b;
  tre_literal_t *l_a = node_a->obj, *l_b = node_b->obj;
  int a_min = l_a->code_min, b_min = l_b->code_min;

  if (a_min < b_min)
    return -1;
  else if (a_min > b_min)
    return 1;
  else
    return 0;
}

/* Maximum number of character classes that can occur in a negated bracket
   expression.	*/
#define MAX_NEG_CLASSES 64

/* Maximum length of character class names. */
#define MAX_CLASS_NAME

static reg_errcode_t
tre_parse_bracket_items(tre_parse_ctx_t *ctx, int negate,
			tre_ctype_t neg_classes[], int *num_neg_classes,
			tre_ast_node_t ***items, int *num_items,
			int *items_size)
{
  const char *re = ctx->re;
  reg_errcode_t status = REG_OK;
  tre_ctype_t class = (tre_ctype_t)0;
  int i = *num_items;
  int max_i = *items_size;
  int skip;

  /* Build an array of the items in the bracket expression. */
  while (status == REG_OK)
    {
      skip = 0;
      if (!*re)
	{
	  status = REG_EBRACK;
	}
      else if (*re == CHAR_RBRACKET && re > ctx->re)
	{
	  re++;
	  break;
	}
      else
	{
	  tre_cint_t min = 0, max = 0;
	  wchar_t wc;
	  int clen = mbtowc(&wc, re, -1);

	  if (clen<0) clen=1, wc=WEOF;

	  class = (tre_ctype_t)0;
	  if (*(re + clen) == CHAR_MINUS && *(re + clen + 1) != CHAR_RBRACKET)
	    {
	      min = wc;
	      re += clen+1;
	      clen = mbtowc(&wc, re, -1);
	      if (clen<0) clen=1, wc=WEOF;
	      max = wc;
	      re += clen;
	      /* XXX - Should use collation order instead of encoding values
		 in character ranges. */
	      if (min > max)
		status = REG_ERANGE;
	    }
	  else if (*re == CHAR_LBRACKET && *(re + 1) == CHAR_PERIOD)
	    status = REG_ECOLLATE;
	  else if (*re == CHAR_LBRACKET && *(re + 1) == CHAR_EQUAL)
	    status = REG_ECOLLATE;
	  else if (*re == CHAR_LBRACKET && *(re + 1) == CHAR_COLON)
	    {
	      char tmp_str[64];
	      const char *endptr = re + 2;
	      int len;
	      while (*endptr && *endptr != CHAR_COLON)
		endptr++;
	      if (*endptr)
		{
		  len = MIN(endptr - re - 2, 63);
		  strncpy(tmp_str, re + 2, len);
		  tmp_str[len] = '\0';
		  class = tre_ctype(tmp_str);
		  if (!class)
		    status = REG_ECTYPE;
		  re = endptr + 2;
		}
	      else
		status = REG_ECTYPE;
	      min = 0;
	      max = TRE_CHAR_MAX;
	    }
	  else
	    {
	      if (*re == CHAR_MINUS && *(re + 1) != CHAR_RBRACKET
		  && ctx->re != re)
		/* Two ranges are not allowed to share and endpoint. */
		status = REG_ERANGE;
	      min = max = wc;
	      re += clen;
	    }

	  if (status != REG_OK)
	    break;

	  if (class && negate)
	    if (*num_neg_classes >= MAX_NEG_CLASSES)
	      status = REG_ESPACE;
	    else
	      neg_classes[(*num_neg_classes)++] = class;
	  else if (!skip)
	    {
	      status = tre_new_item(ctx->mem, min, max, &i, &max_i, items);
	      if (status != REG_OK)
		break;
	      ((tre_literal_t*)((*items)[i-1])->obj)->class = class;
	    }

	  /* Add opposite-case counterpoints if REG_ICASE is present.
	     This is broken if there are more than two "same" characters. */
	  if (ctx->cflags & REG_ICASE && !class && status == REG_OK && !skip)
	    {
	      tre_cint_t cmin, ccurr;

	      while (min <= max)
		{
		  if (tre_islower(min))
		    {
		      cmin = ccurr = tre_toupper(min++);
		      while (tre_islower(min) && tre_toupper(min) == ccurr + 1
			     && min <= max)
			ccurr = tre_toupper(min++);
		      status = tre_new_item(ctx->mem, cmin, ccurr,
					    &i, &max_i, items);
		    }
		  else if (tre_isupper(min))
		    {
		      cmin = ccurr = tre_tolower(min++);
		      while (tre_isupper(min) && tre_tolower(min) == ccurr + 1
			     && min <= max)
			ccurr = tre_tolower(min++);
		      status = tre_new_item(ctx->mem, cmin, ccurr,
					    &i, &max_i, items);
		    }
		  else min++;
		  if (status != REG_OK)
		    break;
		}
	      if (status != REG_OK)
		break;
	    }
	}
    }
  *num_items = i;
  *items_size = max_i;
  ctx->re = re;
  return status;
}

static reg_errcode_t
tre_parse_bracket(tre_parse_ctx_t *ctx, tre_ast_node_t **result)
{
  tre_ast_node_t *node = NULL;
  int negate = 0;
  reg_errcode_t status = REG_OK;
  tre_ast_node_t **items, *u, *n;
  int i = 0, j, max_i = 32, curr_max, curr_min;
  tre_ctype_t neg_classes[MAX_NEG_CLASSES];
  int num_neg_classes = 0;

  /* Start off with an array of `max_i' elements. */
  items = xmalloc(sizeof(*items) * max_i);
  if (items == NULL)
    return REG_ESPACE;

  if (*ctx->re == CHAR_CARET)
    {
      negate = 1;
      ctx->re++;
    }

  status = tre_parse_bracket_items(ctx, negate, neg_classes, &num_neg_classes,
				   &items, &i, &max_i);

  if (status != REG_OK)
    goto parse_bracket_done;

  /* Sort the array if we need to negate it. */
  if (negate)
    qsort(items, (unsigned)i, sizeof(*items), tre_compare_items);

  curr_max = curr_min = 0;
  /* Build a union of the items in the array, negated if necessary. */
  for (j = 0; j < i && status == REG_OK; j++)
    {
      int min, max;
      tre_literal_t *l = items[j]->obj;
      min = l->code_min;
      max = l->code_max;

      if (negate)
	{
	  if (min < curr_max)
	    {
	      /* Overlap. */
	      curr_max = MAX(max + 1, curr_max);
	      l = NULL;
	    }
	  else
	    {
	      /* No overlap. */
	      curr_max = min - 1;
	      if (curr_max >= curr_min)
		{
		  l->code_min = curr_min;
		  l->code_max = curr_max;
		}
	      else
		{
		  l = NULL;
		}
	      curr_min = curr_max = max + 1;
	    }
	}

      if (l != NULL)
	{
	  int k;
	  l->position = ctx->position;
	  if (num_neg_classes > 0)
	    {
	      l->neg_classes = tre_mem_alloc(ctx->mem,
					     (sizeof(*l->neg_classes)
					      * (num_neg_classes + 1)));
	      if (l->neg_classes == NULL)
		{
		  status = REG_ESPACE;
		  break;
		}
	      for (k = 0; k < num_neg_classes; k++)
		l->neg_classes[k] = neg_classes[k];
	      l->neg_classes[k] = (tre_ctype_t)0;
	    }
	  else
	    l->neg_classes = NULL;
	  if (node == NULL)
	    node = items[j];
	  else
	    {
	      u = tre_ast_new_union(ctx->mem, node, items[j]);
	      if (u == NULL)
		status = REG_ESPACE;
	      node = u;
	    }
	}
    }

  if (status != REG_OK)
    goto parse_bracket_done;

  if (negate)
    {
      int k;
      n = tre_ast_new_literal(ctx->mem, curr_min, TRE_CHAR_MAX, ctx->position);
      if (n == NULL)
	status = REG_ESPACE;
      else
	{
	  tre_literal_t *l = n->obj;
	  if (num_neg_classes > 0)
	    {
	      l->neg_classes = tre_mem_alloc(ctx->mem,
					     (sizeof(*l->neg_classes)
					      * (num_neg_classes + 1)));
	      if (l->neg_classes == NULL)
		{
		  status = REG_ESPACE;
		  goto parse_bracket_done;
		}
	      for (k = 0; k < num_neg_classes; k++)
		l->neg_classes[k] = neg_classes[k];
	      l->neg_classes[k] = (tre_ctype_t)0;
	    }
	  else
	    l->neg_classes = NULL;
	  if (node == NULL)
	    node = n;
	  else
	    {
	      u = tre_ast_new_union(ctx->mem, node, n);
	      if (u == NULL)
		status = REG_ESPACE;
	      node = u;
	    }
	}
    }

  if (status != REG_OK)
    goto parse_bracket_done;

#ifdef TRE_DEBUG
  tre_ast_print(node);
#endif /* TRE_DEBUG */

 parse_bracket_done:
  xfree(items);
  ctx->position++;
  *result = node;
  return status;
}


/* Parses a positive decimal integer.  Returns -1 if the string does not
   contain a valid number. */
static int
tre_parse_int(const char **regex)
{
  int num = -1;
  const char *r = *regex;
  while (*r-'0'<10U)
    {
      if (num < 0)
	num = 0;
      num = num * 10 + *r - '0';
      r++;
    }
  *regex = r;
  return num;
}


static reg_errcode_t
tre_parse_bound(tre_parse_ctx_t *ctx, tre_ast_node_t **result)
{
  int min, max;
  const char *r = ctx->re;
  int minimal = 0;

  /* Parse number (minimum repetition count). */
  min = -1;
  if (*r >= '0' && *r <= '9') {
    min = tre_parse_int(&r);
  }

  /* Parse comma and second number (maximum repetition count). */
  max = min;
  if (*r == CHAR_COMMA)
    {
      r++;
      max = tre_parse_int(&r);
    }

  /* Check that the repeat counts are sane. */
  if ((max >= 0 && min > max) || max > RE_DUP_MAX)
    return REG_BADBR;

  /* Missing }. */
  if (!*r)
    return REG_EBRACE;

  /* Empty contents of {}. */
  if (r == ctx->re)
    return REG_BADBR;

  /* Parse the ending '}' or '\}'.*/
  if (ctx->cflags & REG_EXTENDED)
    {
      if (*r != CHAR_RBRACE)
	return REG_BADBR;
      r++;
    }
  else
    {
      if (*r != CHAR_BACKSLASH || *(r + 1) != CHAR_RBRACE)
	return REG_BADBR;
      r += 2;
    }

  /* Create the AST node(s). */
  if (min == 0 && max == 0)
    {
      *result = tre_ast_new_literal(ctx->mem, EMPTY, -1, -1);
      if (*result == NULL)
	return REG_ESPACE;
    }
  else
    {
      if (min < 0 && max < 0)
	/* Only approximate parameters set, no repetitions. */
	min = max = 1;

      *result = tre_ast_new_iter(ctx->mem, *result, min, max, minimal);
      if (!*result)
	return REG_ESPACE;
    }

  ctx->re = r;
  return REG_OK;
}

typedef enum {
  PARSE_RE = 0,
  PARSE_ATOM,
  PARSE_MARK_FOR_SUBMATCH,
  PARSE_BRANCH,
  PARSE_PIECE,
  PARSE_CATENATION,
  PARSE_POST_CATENATION,
  PARSE_UNION,
  PARSE_POST_UNION,
  PARSE_POSTFIX,
  PARSE_RESTORE_CFLAGS
} tre_parse_re_stack_symbol_t;


static reg_errcode_t
tre_parse(tre_parse_ctx_t *ctx)
{
  tre_ast_node_t *result = NULL;
  tre_parse_re_stack_symbol_t symbol;
  reg_errcode_t status = REG_OK;
  tre_stack_t *stack = ctx->stack;
  int bottom = tre_stack_num_objects(stack);
  int depth = 0;
  wchar_t wc;
  int clen;

  if (!ctx->nofirstsub)
    {
      STACK_PUSH(stack, int, ctx->submatch_id);
      STACK_PUSH(stack, int, PARSE_MARK_FOR_SUBMATCH);
      ctx->submatch_id++;
    }
  STACK_PUSH(stack, int, PARSE_RE);
  ctx->re_start = ctx->re;


  /* The following is basically just a recursive descent parser.  I use
     an explicit stack instead of recursive functions mostly because of
     two reasons: compatibility with systems which have an overflowable
     call stack, and efficiency (both in lines of code and speed).  */
  while (tre_stack_num_objects(stack) > bottom && status == REG_OK)
    {
      if (status != REG_OK)
	break;
      symbol = tre_stack_pop_int(stack);
      switch (symbol)
	{
	case PARSE_RE:
	  /* Parse a full regexp.  A regexp is one or more branches,
	     separated by the union operator `|'. */
	  if (ctx->cflags & REG_EXTENDED)
	    STACK_PUSHX(stack, int, PARSE_UNION);
	  STACK_PUSHX(stack, int, PARSE_BRANCH);
	  break;

	case PARSE_BRANCH:
	  /* Parse a branch.  A branch is one or more pieces, concatenated.
	     A piece is an atom possibly followed by a postfix operator. */
	  STACK_PUSHX(stack, int, PARSE_CATENATION);
	  STACK_PUSHX(stack, int, PARSE_PIECE);
	  break;

	case PARSE_PIECE:
	  /* Parse a piece.  A piece is an atom possibly followed by one
	     or more postfix operators. */
	    STACK_PUSHX(stack, int, PARSE_POSTFIX);
	  STACK_PUSHX(stack, int, PARSE_ATOM);
	  break;

	case PARSE_CATENATION:
	  /* If the expression has not ended, parse another piece. */
	  {
	    tre_char_t c;
	    if (!*ctx->re)
	      break;
	    c = *ctx->re;
		if (ctx->cflags & REG_EXTENDED && c == CHAR_PIPE)
		  break;
		if ((ctx->cflags & REG_EXTENDED
		     && c == CHAR_RPAREN && depth > 0)
		    || (!(ctx->cflags & REG_EXTENDED)
			&& (c == CHAR_BACKSLASH
			    && *(ctx->re + 1) == CHAR_RPAREN)))
		  {
		    if (!(ctx->cflags & REG_EXTENDED) && depth == 0)
		      status = REG_EPAREN;
		    depth--;
		    if (!(ctx->cflags & REG_EXTENDED))
		      ctx->re += 2;
		    break;
		  }

	      {
		/* Default case, left associative concatenation. */
		STACK_PUSHX(stack, int, PARSE_CATENATION);
		STACK_PUSHX(stack, voidptr, result);
		STACK_PUSHX(stack, int, PARSE_POST_CATENATION);
		STACK_PUSHX(stack, int, PARSE_PIECE);
	      }
	    break;
	  }

	case PARSE_POST_CATENATION:
	  {
	    tre_ast_node_t *tree = tre_stack_pop_voidptr(stack);
	    tre_ast_node_t *tmp_node;
	    tmp_node = tre_ast_new_catenation(ctx->mem, tree, result);
	    if (!tmp_node)
	      return REG_ESPACE;
	    result = tmp_node;
	    break;
	  }

	case PARSE_UNION:
	  switch (*ctx->re)
	    {
	    case CHAR_PIPE:
	      STACK_PUSHX(stack, int, PARSE_UNION);
	      STACK_PUSHX(stack, voidptr, result);
	      STACK_PUSHX(stack, int, PARSE_POST_UNION);
	      STACK_PUSHX(stack, int, PARSE_BRANCH);
	      ctx->re++;
	      break;

	    case CHAR_RPAREN:
	      ctx->re++;
	      break;

	    default:
	      break;
	    }
	  break;

	case PARSE_POST_UNION:
	  {
	    tre_ast_node_t *tmp_node;
	    tre_ast_node_t *tree = tre_stack_pop_voidptr(stack);
	    tmp_node = tre_ast_new_union(ctx->mem, tree, result);
	    if (!tmp_node)
	      return REG_ESPACE;
	    result = tmp_node;
	    break;
	  }

	case PARSE_POSTFIX:
	  /* Parse postfix operators. */
	  switch (*ctx->re)
	    {
	    case CHAR_PLUS:
	    case CHAR_QUESTIONMARK:
	      if (!(ctx->cflags & REG_EXTENDED))
		break;
		/*FALLTHROUGH*/
	    case CHAR_STAR:
	      {
		tre_ast_node_t *tmp_node;
		int minimal = 0;
		int rep_min = 0;
		int rep_max = -1;

		if (*ctx->re == CHAR_PLUS)
		  rep_min = 1;
		if (*ctx->re == CHAR_QUESTIONMARK)
		  rep_max = 1;

		ctx->re++;
		tmp_node = tre_ast_new_iter(ctx->mem, result, rep_min, rep_max,
					    minimal);
		if (tmp_node == NULL)
		  return REG_ESPACE;
		result = tmp_node;
		STACK_PUSHX(stack, int, PARSE_POSTFIX);
	      }
	      break;

	    case CHAR_BACKSLASH:
	      /* "\{" is special without REG_EXTENDED */
	      if (!(ctx->cflags & REG_EXTENDED)
		  && *(ctx->re + 1) == CHAR_LBRACE)
		{
		  ctx->re++;
		  goto parse_brace;
		}
	      else
		break;

	    case CHAR_LBRACE:
	      /* "{" is literal without REG_EXTENDED */
	      if (!(ctx->cflags & REG_EXTENDED))
		break;

	    parse_brace:
	      ctx->re++;

	      status = tre_parse_bound(ctx, &result);
	      if (status != REG_OK)
		return status;
	      STACK_PUSHX(stack, int, PARSE_POSTFIX);
	      break;
	    }
	  break;

	case PARSE_ATOM:
	  /* Parse an atom.  An atom is a regular expression enclosed in `()',
	     an empty set of `()', a bracket expression, `.', `^', `$',
	     a `\' followed by a character, or a single character. */

	  switch (*ctx->re)
	    {
	    case CHAR_LPAREN:  /* parenthesized subexpression */

	      if (ctx->cflags & REG_EXTENDED)
		{
		lparen:
		  depth++;
		    {
		      ctx->re++;
		      /* First parse a whole RE, then mark the resulting tree
			 for submatching. */
		      STACK_PUSHX(stack, int, ctx->submatch_id);
		      STACK_PUSHX(stack, int, PARSE_MARK_FOR_SUBMATCH);
		      STACK_PUSHX(stack, int, PARSE_RE);
		      ctx->submatch_id++;
		    }
		}
	      else
		goto parse_literal;
	      break;

	    case CHAR_LBRACKET: /* bracket expression */
	      ctx->re++;
	      status = tre_parse_bracket(ctx, &result);
	      if (status != REG_OK)
		return status;
	      break;

	    case CHAR_BACKSLASH:
	      /* If this is "\(" or "\)" chew off the backslash and
		 try again. */
	      if (!(ctx->cflags & REG_EXTENDED) && *(ctx->re + 1) == CHAR_LPAREN)
		{
		  ctx->re++;
		  goto lparen;
		}
	      if (!(ctx->cflags & REG_EXTENDED) && *(ctx->re + 1) == CHAR_RPAREN)
		{
		  goto empty_atom;
		}

	      /* If a macro is used, parse the expanded macro recursively. */
	      {
		const char *buf = tre_expand_macro(ctx->re + 1);
		if (buf)
		  {
		    tre_parse_ctx_t subctx;
		    memcpy(&subctx, ctx, sizeof(subctx));
		    subctx.re = buf;
		    subctx.nofirstsub = 1;
		    status = tre_parse(&subctx);
		    if (status != REG_OK)
		      return status;
		    ctx->re += 2;
		    ctx->position = subctx.position;
		    result = subctx.result;
		    break;
		  }
	      }

	      if (!ctx->re[1])
		/* Trailing backslash. */
		return REG_EESCAPE;

	      ctx->re++;
	      switch (*ctx->re)
		{
		case 'b':
		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
					       ASSERT_AT_WB, -1);
		  ctx->re++;
		  break;
		case 'B':
		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
					       ASSERT_AT_WB_NEG, -1);
		  ctx->re++;
		  break;
		case '<':
		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
					       ASSERT_AT_BOW, -1);
		  ctx->re++;
		  break;
		case '>':
		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
					       ASSERT_AT_EOW, -1);
		  ctx->re++;
		  break;
		case 'x':
		  ctx->re++;
		  if (ctx->re[0] != CHAR_LBRACE)
		    {
		      /* 8 bit hex char. */
		      char tmp[3] = {0, 0, 0};
		      long val;

		      if (tre_isxdigit(ctx->re[0]))
			{
			  tmp[0] = (char)ctx->re[0];
			  ctx->re++;
			}
		      if (tre_isxdigit(ctx->re[0]))
			{
			  tmp[1] = (char)ctx->re[0];
			  ctx->re++;
			}
		      val = strtol(tmp, NULL, 16);
		      result = tre_ast_new_literal(ctx->mem, (int)val,
						   (int)val, ctx->position);
		      ctx->position++;
		      break;
		    }
		  else if (*ctx->re)
		    {
		      /* Wide char. */
		      char tmp[32];
		      long val;
		      int i = 0;
		      ctx->re++;
		      while (*ctx->re && i < sizeof tmp)
			{
			  if (ctx->re[0] == CHAR_RBRACE)
			    break;
			  if (tre_isxdigit(ctx->re[0]))
			    {
			      tmp[i] = (char)ctx->re[0];
			      i++;
			      ctx->re++;
			      continue;
			    }
			  return REG_EBRACE;
			}
		      ctx->re++;
		      tmp[i] = 0;
		      val = strtol(tmp, NULL, 16);
		      result = tre_ast_new_literal(ctx->mem, (int)val, (int)val,
						   ctx->position);
		      ctx->position++;
		      break;
		    }
		  /*FALLTHROUGH*/

		default:
		  if (tre_isdigit(*ctx->re))
		    {
		      /* Back reference. */
		      int val = *ctx->re - '0';
		      result = tre_ast_new_literal(ctx->mem, BACKREF, val,
						   ctx->position);
		      if (result == NULL)
			return REG_ESPACE;
		      ctx->position++;
		      ctx->max_backref = MAX(val, ctx->max_backref);
		      ctx->re++;
		    }
		  else
		    {
		      /* Escaped character. */
		      result = tre_ast_new_literal(ctx->mem, *ctx->re, *ctx->re,
						   ctx->position);
		      ctx->position++;
		      ctx->re++;
		    }
		  break;
		}
	      if (result == NULL)
		return REG_ESPACE;
	      break;

	    case CHAR_PERIOD:	 /* the any-symbol */
	      if (ctx->cflags & REG_NEWLINE)
		{
		  tre_ast_node_t *tmp1;
		  tre_ast_node_t *tmp2;
		  tmp1 = tre_ast_new_literal(ctx->mem, 0, '\n' - 1,
					     ctx->position);
		  if (!tmp1)
		    return REG_ESPACE;
		  tmp2 = tre_ast_new_literal(ctx->mem, '\n' + 1, TRE_CHAR_MAX,
					     ctx->position + 1);
		  if (!tmp2)
		    return REG_ESPACE;
		  result = tre_ast_new_union(ctx->mem, tmp1, tmp2);
		  if (!result)
		    return REG_ESPACE;
		  ctx->position += 2;
		}
	      else
		{
		  result = tre_ast_new_literal(ctx->mem, 0, TRE_CHAR_MAX,
					       ctx->position);
		  if (!result)
		    return REG_ESPACE;
		  ctx->position++;
		}
	      ctx->re++;
	      break;

	    case CHAR_CARET:	 /* beginning of line assertion */
	      /* '^' has a special meaning everywhere in EREs, and at
		 beginning of BRE. */
	      if (ctx->cflags & REG_EXTENDED
		  || ctx->re == ctx->re_start)
		{
		  if (!(ctx->cflags & REG_EXTENDED))
		    STACK_PUSHX(stack, int, PARSE_CATENATION);
		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
					       ASSERT_AT_BOL, -1);
		  if (result == NULL)
		    return REG_ESPACE;
		  ctx->re++;
		}
	      else
		goto parse_literal;
	      break;

	    case CHAR_DOLLAR:	 /* end of line assertion. */
	      /* '$' is special everywhere in EREs, and in the end of the
		 string in BREs. */
	      if (ctx->cflags & REG_EXTENDED
		  || !*(ctx->re + 1))
		{
		  result = tre_ast_new_literal(ctx->mem, ASSERTION,
					       ASSERT_AT_EOL, -1);
		  if (result == NULL)
		    return REG_ESPACE;
		  ctx->re++;
		}
	      else
		goto parse_literal;
	      break;

	    case CHAR_RPAREN:
	      if (!depth)
	        goto parse_literal;
	    case CHAR_STAR:
	    case CHAR_PIPE:
	    case CHAR_LBRACE:
	    case CHAR_PLUS:
	    case CHAR_QUESTIONMARK:
	      if (!(ctx->cflags & REG_EXTENDED))
	        goto parse_literal;

	    case 0:
	    empty_atom:
	      result = tre_ast_new_literal(ctx->mem, EMPTY, -1, -1);
	      if (!result)
		return REG_ESPACE;
	      break;

	    default:
	    parse_literal:

	      clen = mbtowc(&wc, ctx->re, -1);
	      if (clen<0) clen=1, wc=WEOF;

	      /* Note that we can't use an tre_isalpha() test here, since there
		 may be characters which are alphabetic but neither upper or
		 lower case. */
	      if (ctx->cflags & REG_ICASE
		  && (tre_isupper(wc) || tre_islower(wc)))
		{
		  tre_ast_node_t *tmp1;
		  tre_ast_node_t *tmp2;

		  /* XXX - Can there be more than one opposite-case
		     counterpoints for some character in some locale?  Or
		     more than two characters which all should be regarded
		     the same character if case is ignored?  If yes, there
		     does not seem to be a portable way to detect it.  I guess
		     that at least for multi-character collating elements there
		     could be several opposite-case counterpoints, but they
		     cannot be supported portably anyway. */
		  tmp1 = tre_ast_new_literal(ctx->mem, tre_toupper(wc),
					     tre_toupper(wc),
					     ctx->position);
		  if (!tmp1)
		    return REG_ESPACE;
		  tmp2 = tre_ast_new_literal(ctx->mem, tre_tolower(wc),
					     tre_tolower(wc),
					     ctx->position);
		  if (!tmp2)
		    return REG_ESPACE;
		  result = tre_ast_new_union(ctx->mem, tmp1, tmp2);
		  if (!result)
		    return REG_ESPACE;
		}
	      else
		{
		  result = tre_ast_new_literal(ctx->mem, wc, wc,
					       ctx->position);
		  if (!result)
		    return REG_ESPACE;
		}
	      ctx->position++;
	      ctx->re += clen;
	      break;
	    }
	  break;

	case PARSE_MARK_FOR_SUBMATCH:
	  {
	    int submatch_id = tre_stack_pop_int(stack);

	    if (result->submatch_id >= 0)
	      {
		tre_ast_node_t *n, *tmp_node;
		n = tre_ast_new_literal(ctx->mem, EMPTY, -1, -1);
		if (n == NULL)
		  return REG_ESPACE;
		tmp_node = tre_ast_new_catenation(ctx->mem, n, result);
		if (tmp_node == NULL)
		  return REG_ESPACE;
		tmp_node->num_submatches = result->num_submatches;
		result = tmp_node;
	      }
	    result->submatch_id = submatch_id;
	    result->num_submatches++;
	    break;
	  }

	case PARSE_RESTORE_CFLAGS:
	  ctx->cflags = tre_stack_pop_int(stack);
	  break;

	default:
	  assert(0);
	  break;
	}
    }

  /* Check for missing closing parentheses. */
  if (depth > 0)
    return REG_EPAREN;

  if (status == REG_OK)
    ctx->result = result;

  return status;
}



/***********************************************************************
 from tre-compile.c
***********************************************************************/


/*
  TODO:
   - Fix tre_ast_to_tnfa() to recurse using a stack instead of recursive
     function calls.
*/

/*
  Algorithms to setup tags so that submatch addressing can be done.
*/


/* Inserts a catenation node to the root of the tree given in `node'.
   As the left child a new tag with number `tag_id' to `node' is added,
   and the right child is the old root. */
static reg_errcode_t
tre_add_tag_left(tre_mem_t mem, tre_ast_node_t *node, int tag_id)
{
  tre_catenation_t *c;

  c = tre_mem_alloc(mem, sizeof(*c));
  if (c == NULL)
    return REG_ESPACE;
  c->left = tre_ast_new_literal(mem, TAG, tag_id, -1);
  if (c->left == NULL)
    return REG_ESPACE;
  c->right = tre_mem_alloc(mem, sizeof(tre_ast_node_t));
  if (c->right == NULL)
    return REG_ESPACE;

  c->right->obj = node->obj;
  c->right->type = node->type;
  c->right->nullable = -1;
  c->right->submatch_id = -1;
  c->right->firstpos = NULL;
  c->right->lastpos = NULL;
  c->right->num_tags = 0;
  node->obj = c;
  node->type = CATENATION;
  return REG_OK;
}

/* Inserts a catenation node to the root of the tree given in `node'.
   As the right child a new tag with number `tag_id' to `node' is added,
   and the left child is the old root. */
static reg_errcode_t
tre_add_tag_right(tre_mem_t mem, tre_ast_node_t *node, int tag_id)
{
  tre_catenation_t *c;

  c = tre_mem_alloc(mem, sizeof(*c));
  if (c == NULL)
    return REG_ESPACE;
  c->right = tre_ast_new_literal(mem, TAG, tag_id, -1);
  if (c->right == NULL)
    return REG_ESPACE;
  c->left = tre_mem_alloc(mem, sizeof(tre_ast_node_t));
  if (c->left == NULL)
    return REG_ESPACE;

  c->left->obj = node->obj;
  c->left->type = node->type;
  c->left->nullable = -1;
  c->left->submatch_id = -1;
  c->left->firstpos = NULL;
  c->left->lastpos = NULL;
  c->left->num_tags = 0;
  node->obj = c;
  node->type = CATENATION;
  return REG_OK;
}

typedef enum {
  ADDTAGS_RECURSE,
  ADDTAGS_AFTER_ITERATION,
  ADDTAGS_AFTER_UNION_LEFT,
  ADDTAGS_AFTER_UNION_RIGHT,
  ADDTAGS_AFTER_CAT_LEFT,
  ADDTAGS_AFTER_CAT_RIGHT,
  ADDTAGS_SET_SUBMATCH_END
} tre_addtags_symbol_t;


typedef struct {
  int tag;
  int next_tag;
} tre_tag_states_t;


/* Go through `regset' and set submatch data for submatches that are
   using this tag. */
static void
tre_purge_regset(int *regset, tre_tnfa_t *tnfa, int tag)
{
  int i;

  for (i = 0; regset[i] >= 0; i++)
    {
      int id = regset[i] / 2;
      int start = !(regset[i] % 2);
      if (start)
	tnfa->submatch_data[id].so_tag = tag;
      else
	tnfa->submatch_data[id].eo_tag = tag;
    }
  regset[0] = -1;
}


/* Adds tags to appropriate locations in the parse tree in `tree', so that
   subexpressions marked for submatch addressing can be traced. */
static reg_errcode_t
tre_add_tags(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree,
	     tre_tnfa_t *tnfa)
{
  reg_errcode_t status = REG_OK;
  tre_addtags_symbol_t symbol;
  tre_ast_node_t *node = tree; /* Tree node we are currently looking at. */
  int bottom = tre_stack_num_objects(stack);
  /* True for first pass (counting number of needed tags) */
  int first_pass = (mem == NULL || tnfa == NULL);
  int *regset, *orig_regset;
  int num_tags = 0; /* Total number of tags. */
  int num_minimals = 0;	 /* Number of special minimal tags. */
  int tag = 0;	    /* The tag that is to be added next. */
  int next_tag = 1; /* Next tag to use after this one. */
  int *parents;	    /* Stack of submatches the current submatch is
		       contained in. */
  int minimal_tag = -1; /* Tag that marks the beginning of a minimal match. */
  tre_tag_states_t *saved_states;

  tre_tag_direction_t direction = TRE_TAG_MINIMIZE;
  if (!first_pass)
    {
      tnfa->end_tag = 0;
      tnfa->minimal_tags[0] = -1;
    }

  regset = xmalloc(sizeof(*regset) * ((tnfa->num_submatches + 1) * 2));
  if (regset == NULL)
    return REG_ESPACE;
  regset[0] = -1;
  orig_regset = regset;

  parents = xmalloc(sizeof(*parents) * (tnfa->num_submatches + 1));
  if (parents == NULL)
    {
      xfree(regset);
      return REG_ESPACE;
    }
  parents[0] = -1;

  saved_states = xmalloc(sizeof(*saved_states) * (tnfa->num_submatches + 1));
  if (saved_states == NULL)
    {
      xfree(regset);
      xfree(parents);
      return REG_ESPACE;
    }
  else
    {
      unsigned int i;
      for (i = 0; i <= tnfa->num_submatches; i++)
	saved_states[i].tag = -1;
    }

  STACK_PUSH(stack, voidptr, node);
  STACK_PUSH(stack, int, ADDTAGS_RECURSE);

  while (tre_stack_num_objects(stack) > bottom)
    {
      if (status != REG_OK)
	break;

      symbol = (tre_addtags_symbol_t)tre_stack_pop_int(stack);
      switch (symbol)
	{

	case ADDTAGS_SET_SUBMATCH_END:
	  {
	    int id = tre_stack_pop_int(stack);
	    int i;

	    /* Add end of this submatch to regset. */
	    for (i = 0; regset[i] >= 0; i++);
	    regset[i] = id * 2 + 1;
	    regset[i + 1] = -1;

	    /* Pop this submatch from the parents stack. */
	    for (i = 0; parents[i] >= 0; i++);
	    parents[i - 1] = -1;
	    break;
	  }

	case ADDTAGS_RECURSE:
	  node = tre_stack_pop_voidptr(stack);

	  if (node->submatch_id >= 0)
	    {
	      int id = node->submatch_id;
	      int i;


	      /* Add start of this submatch to regset. */
	      for (i = 0; regset[i] >= 0; i++);
	      regset[i] = id * 2;
	      regset[i + 1] = -1;

	      if (!first_pass)
		{
		  for (i = 0; parents[i] >= 0; i++);
		  tnfa->submatch_data[id].parents = NULL;
		  if (i > 0)
		    {
		      int *p = xmalloc(sizeof(*p) * (i + 1));
		      if (p == NULL)
			{
			  status = REG_ESPACE;
			  break;
			}
		      assert(tnfa->submatch_data[id].parents == NULL);
		      tnfa->submatch_data[id].parents = p;
		      for (i = 0; parents[i] >= 0; i++)
			p[i] = parents[i];
		      p[i] = -1;
		    }
		}

	      /* Add end of this submatch to regset after processing this
		 node. */
	      STACK_PUSHX(stack, int, node->submatch_id);
	      STACK_PUSHX(stack, int, ADDTAGS_SET_SUBMATCH_END);
	    }

	  switch (node->type)
	    {
	    case LITERAL:
	      {
		tre_literal_t *lit = node->obj;

		if (!IS_SPECIAL(lit) || IS_BACKREF(lit))
		  {
		    int i;
		    if (regset[0] >= 0)
		      {
			/* Regset is not empty, so add a tag before the
			   literal or backref. */
			if (!first_pass)
			  {
			    status = tre_add_tag_left(mem, node, tag);
			    tnfa->tag_directions[tag] = direction;
			    if (minimal_tag >= 0)
			      {
				for (i = 0; tnfa->minimal_tags[i] >= 0; i++);
				tnfa->minimal_tags[i] = tag;
				tnfa->minimal_tags[i + 1] = minimal_tag;
				tnfa->minimal_tags[i + 2] = -1;
				minimal_tag = -1;
				num_minimals++;
			      }
			    tre_purge_regset(regset, tnfa, tag);
			  }
			else
			  {
			    node->num_tags = 1;
			  }

			regset[0] = -1;
			tag = next_tag;
			num_tags++;
			next_tag++;
		      }
		  }
		else
		  {
		    assert(!IS_TAG(lit));
		  }
		break;
	      }
	    case CATENATION:
	      {
		tre_catenation_t *cat = node->obj;
		tre_ast_node_t *left = cat->left;
		tre_ast_node_t *right = cat->right;
		int reserved_tag = -1;


		/* After processing right child. */
		STACK_PUSHX(stack, voidptr, node);
		STACK_PUSHX(stack, int, ADDTAGS_AFTER_CAT_RIGHT);

		/* Process right child. */
		STACK_PUSHX(stack, voidptr, right);
		STACK_PUSHX(stack, int, ADDTAGS_RECURSE);

		/* After processing left child. */
		STACK_PUSHX(stack, int, next_tag + left->num_tags);
		if (left->num_tags > 0 && right->num_tags > 0)
		  {
		    /* Reserve the next tag to the right child. */
		    reserved_tag = next_tag;
		    next_tag++;
		  }
		STACK_PUSHX(stack, int, reserved_tag);
		STACK_PUSHX(stack, int, ADDTAGS_AFTER_CAT_LEFT);

		/* Process left child. */
		STACK_PUSHX(stack, voidptr, left);
		STACK_PUSHX(stack, int, ADDTAGS_RECURSE);

		}
	      break;
	    case ITERATION:
	      {
		tre_iteration_t *iter = node->obj;

		if (first_pass)
		  {
		    STACK_PUSHX(stack, int, regset[0] >= 0 || iter->minimal);
		  }
		else
		  {
		    STACK_PUSHX(stack, int, tag);
		    STACK_PUSHX(stack, int, iter->minimal);
		  }
		STACK_PUSHX(stack, voidptr, node);
		STACK_PUSHX(stack, int, ADDTAGS_AFTER_ITERATION);

		STACK_PUSHX(stack, voidptr, iter->arg);
		STACK_PUSHX(stack, int, ADDTAGS_RECURSE);

		/* Regset is not empty, so add a tag here. */
		if (regset[0] >= 0 || iter->minimal)
		  {
		    if (!first_pass)
		      {
			int i;
			status = tre_add_tag_left(mem, node, tag);
			if (iter->minimal)
			  tnfa->tag_directions[tag] = TRE_TAG_MAXIMIZE;
			else
			  tnfa->tag_directions[tag] = direction;
			if (minimal_tag >= 0)
			  {
			    for (i = 0; tnfa->minimal_tags[i] >= 0; i++);
			    tnfa->minimal_tags[i] = tag;
			    tnfa->minimal_tags[i + 1] = minimal_tag;
			    tnfa->minimal_tags[i + 2] = -1;
			    minimal_tag = -1;
			    num_minimals++;
			  }
			tre_purge_regset(regset, tnfa, tag);
		      }

		    regset[0] = -1;
		    tag = next_tag;
		    num_tags++;
		    next_tag++;
		  }
		direction = TRE_TAG_MINIMIZE;
	      }
	      break;
	    case UNION:
	      {
		tre_union_t *uni = node->obj;
		tre_ast_node_t *left = uni->left;
		tre_ast_node_t *right = uni->right;
		int left_tag;
		int right_tag;

		if (regset[0] >= 0)
		  {
		    left_tag = next_tag;
		    right_tag = next_tag + 1;
		  }
		else
		  {
		    left_tag = tag;
		    right_tag = next_tag;
		  }

		/* After processing right child. */
		STACK_PUSHX(stack, int, right_tag);
		STACK_PUSHX(stack, int, left_tag);
		STACK_PUSHX(stack, voidptr, regset);
		STACK_PUSHX(stack, int, regset[0] >= 0);
		STACK_PUSHX(stack, voidptr, node);
		STACK_PUSHX(stack, voidptr, right);
		STACK_PUSHX(stack, voidptr, left);
		STACK_PUSHX(stack, int, ADDTAGS_AFTER_UNION_RIGHT);

		/* Process right child. */
		STACK_PUSHX(stack, voidptr, right);
		STACK_PUSHX(stack, int, ADDTAGS_RECURSE);

		/* After processing left child. */
		STACK_PUSHX(stack, int, ADDTAGS_AFTER_UNION_LEFT);

		/* Process left child. */
		STACK_PUSHX(stack, voidptr, left);
		STACK_PUSHX(stack, int, ADDTAGS_RECURSE);

		/* Regset is not empty, so add a tag here. */
		if (regset[0] >= 0)
		  {
		    if (!first_pass)
		      {
			int i;
			status = tre_add_tag_left(mem, node, tag);
			tnfa->tag_directions[tag] = direction;
			if (minimal_tag >= 0)
			  {
			    for (i = 0; tnfa->minimal_tags[i] >= 0; i++);
			    tnfa->minimal_tags[i] = tag;
			    tnfa->minimal_tags[i + 1] = minimal_tag;
			    tnfa->minimal_tags[i + 2] = -1;
			    minimal_tag = -1;
			    num_minimals++;
			  }
			tre_purge_regset(regset, tnfa, tag);
		      }

		    regset[0] = -1;
		    tag = next_tag;
		    num_tags++;
		    next_tag++;
		  }

		if (node->num_submatches > 0)
		  {
		    /* The next two tags are reserved for markers. */
		    next_tag++;
		    tag = next_tag;
		    next_tag++;
		  }

		break;
	      }
	    }

	  if (node->submatch_id >= 0)
	    {
	      int i;
	      /* Push this submatch on the parents stack. */
	      for (i = 0; parents[i] >= 0; i++);
	      parents[i] = node->submatch_id;
	      parents[i + 1] = -1;
	    }

	  break; /* end case: ADDTAGS_RECURSE */

	case ADDTAGS_AFTER_ITERATION:
	  {
	    int minimal = 0;
	    int enter_tag;
	    node = tre_stack_pop_voidptr(stack);
	    if (first_pass)
	      {
		node->num_tags = ((tre_iteration_t *)node->obj)->arg->num_tags
		  + tre_stack_pop_int(stack);
		minimal_tag = -1;
	      }
	    else
	      {
		minimal = tre_stack_pop_int(stack);
		enter_tag = tre_stack_pop_int(stack);
		if (minimal)
		  minimal_tag = enter_tag;
	      }

	    if (!first_pass)
	      {
		if (minimal)
		  direction = TRE_TAG_MINIMIZE;
		else
		  direction = TRE_TAG_MAXIMIZE;
	      }
	    break;
	  }

	case ADDTAGS_AFTER_CAT_LEFT:
	  {
	    int new_tag = tre_stack_pop_int(stack);
	    next_tag = tre_stack_pop_int(stack);
	    if (new_tag >= 0)
	      {
		tag = new_tag;
	      }
	    break;
	  }

	case ADDTAGS_AFTER_CAT_RIGHT:
	  node = tre_stack_pop_voidptr(stack);
	  if (first_pass)
	    node->num_tags = ((tre_catenation_t *)node->obj)->left->num_tags
	      + ((tre_catenation_t *)node->obj)->right->num_tags;
	  break;

	case ADDTAGS_AFTER_UNION_LEFT:
	  /* Lift the bottom of the `regset' array so that when processing
	     the right operand the items currently in the array are
	     invisible.	 The original bottom was saved at ADDTAGS_UNION and
	     will be restored at ADDTAGS_AFTER_UNION_RIGHT below. */
	  while (*regset >= 0)
	    regset++;
	  break;

	case ADDTAGS_AFTER_UNION_RIGHT:
	  {
	    int added_tags, tag_left, tag_right;
	    tre_ast_node_t *left = tre_stack_pop_voidptr(stack);
	    tre_ast_node_t *right = tre_stack_pop_voidptr(stack);
	    node = tre_stack_pop_voidptr(stack);
	    added_tags = tre_stack_pop_int(stack);
	    if (first_pass)
	      {
		node->num_tags = ((tre_union_t *)node->obj)->left->num_tags
		  + ((tre_union_t *)node->obj)->right->num_tags + added_tags
		  + ((node->num_submatches > 0) ? 2 : 0);
	      }
	    regset = tre_stack_pop_voidptr(stack);
	    tag_left = tre_stack_pop_int(stack);
	    tag_right = tre_stack_pop_int(stack);

	    /* Add tags after both children, the left child gets a smaller
	       tag than the right child.  This guarantees that we prefer
	       the left child over the right child. */
	    /* XXX - This is not always necessary (if the children have
	       tags which must be seen for every match of that child). */
	    /* XXX - Check if this is the only place where tre_add_tag_right
	       is used.	 If so, use tre_add_tag_left (putting the tag before
	       the child as opposed after the child) and throw away
	       tre_add_tag_right. */
	    if (node->num_submatches > 0)
	      {
		if (!first_pass)
		  {
		    status = tre_add_tag_right(mem, left, tag_left);
		    tnfa->tag_directions[tag_left] = TRE_TAG_MAXIMIZE;
		    status = tre_add_tag_right(mem, right, tag_right);
		    tnfa->tag_directions[tag_right] = TRE_TAG_MAXIMIZE;
		  }
		num_tags += 2;
	      }
	    direction = TRE_TAG_MAXIMIZE;
	    break;
	  }

	default:
	  assert(0);
	  break;

	} /* end switch(symbol) */
    } /* end while(tre_stack_num_objects(stack) > bottom) */

  if (!first_pass)
    tre_purge_regset(regset, tnfa, tag);

  if (!first_pass && minimal_tag >= 0)
    {
      int i;
      for (i = 0; tnfa->minimal_tags[i] >= 0; i++);
      tnfa->minimal_tags[i] = tag;
      tnfa->minimal_tags[i + 1] = minimal_tag;
      tnfa->minimal_tags[i + 2] = -1;
      minimal_tag = -1;
      num_minimals++;
    }

  assert(tree->num_tags == num_tags);
  tnfa->end_tag = num_tags;
  tnfa->num_tags = num_tags;
  tnfa->num_minimals = num_minimals;
  xfree(orig_regset);
  xfree(parents);
  xfree(saved_states);
  return status;
}



/*
  AST to TNFA compilation routines.
*/

typedef enum {
  COPY_RECURSE,
  COPY_SET_RESULT_PTR
} tre_copyast_symbol_t;

/* Flags for tre_copy_ast(). */
#define COPY_REMOVE_TAGS	 1
#define COPY_MAXIMIZE_FIRST_TAG	 2

static reg_errcode_t
tre_copy_ast(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *ast,
	     int flags, int *pos_add, tre_tag_direction_t *tag_directions,
	     tre_ast_node_t **copy, int *max_pos)
{
  reg_errcode_t status = REG_OK;
  int bottom = tre_stack_num_objects(stack);
  int num_copied = 0;
  int first_tag = 1;
  tre_ast_node_t **result = copy;
  tre_copyast_symbol_t symbol;

  STACK_PUSH(stack, voidptr, ast);
  STACK_PUSH(stack, int, COPY_RECURSE);

  while (status == REG_OK && tre_stack_num_objects(stack) > bottom)
    {
      tre_ast_node_t *node;
      if (status != REG_OK)
	break;

      symbol = (tre_copyast_symbol_t)tre_stack_pop_int(stack);
      switch (symbol)
	{
	case COPY_SET_RESULT_PTR:
	  result = tre_stack_pop_voidptr(stack);
	  break;
	case COPY_RECURSE:
	  node = tre_stack_pop_voidptr(stack);
	  switch (node->type)
	    {
	    case LITERAL:
	      {
		tre_literal_t *lit = node->obj;
		int pos = lit->position;
		int min = lit->code_min;
		int max = lit->code_max;
		if (!IS_SPECIAL(lit) || IS_BACKREF(lit))
		  {
		    /* XXX - e.g. [ab] has only one position but two
		       nodes, so we are creating holes in the state space
		       here.  Not fatal, just wastes memory. */
		    pos += *pos_add;
		    num_copied++;
		  }
		else if (IS_TAG(lit) && (flags & COPY_REMOVE_TAGS))
		  {
		    /* Change this tag to empty. */
		    min = EMPTY;
		    max = pos = -1;
		  }
		else if (IS_TAG(lit) && (flags & COPY_MAXIMIZE_FIRST_TAG)
			 && first_tag)
		  {
		    /* Maximize the first tag. */
		    tag_directions[max] = TRE_TAG_MAXIMIZE;
		    first_tag = 0;
		  }
		*result = tre_ast_new_literal(mem, min, max, pos);
		if (*result == NULL)
		  status = REG_ESPACE;

		if (pos > *max_pos)
		  *max_pos = pos;
		break;
	      }
	    case UNION:
	      {
		tre_union_t *uni = node->obj;
		tre_union_t *tmp;
		*result = tre_ast_new_union(mem, uni->left, uni->right);
		if (*result == NULL)
		  {
		    status = REG_ESPACE;
		    break;
		  }
		tmp = (*result)->obj;
		result = &tmp->left;
		STACK_PUSHX(stack, voidptr, uni->right);
		STACK_PUSHX(stack, int, COPY_RECURSE);
		STACK_PUSHX(stack, voidptr, &tmp->right);
		STACK_PUSHX(stack, int, COPY_SET_RESULT_PTR);
		STACK_PUSHX(stack, voidptr, uni->left);
		STACK_PUSHX(stack, int, COPY_RECURSE);
		break;
	      }
	    case CATENATION:
	      {
		tre_catenation_t *cat = node->obj;
		tre_catenation_t *tmp;
		*result = tre_ast_new_catenation(mem, cat->left, cat->right);
		if (*result == NULL)
		  {
		    status = REG_ESPACE;
		    break;
		  }
		tmp = (*result)->obj;
		tmp->left = NULL;
		tmp->right = NULL;
		result = &tmp->left;

		STACK_PUSHX(stack, voidptr, cat->right);
		STACK_PUSHX(stack, int, COPY_RECURSE);
		STACK_PUSHX(stack, voidptr, &tmp->right);
		STACK_PUSHX(stack, int, COPY_SET_RESULT_PTR);
		STACK_PUSHX(stack, voidptr, cat->left);
		STACK_PUSHX(stack, int, COPY_RECURSE);
		break;
	      }
	    case ITERATION:
	      {
		tre_iteration_t *iter = node->obj;
		STACK_PUSHX(stack, voidptr, iter->arg);
		STACK_PUSHX(stack, int, COPY_RECURSE);
		*result = tre_ast_new_iter(mem, iter->arg, iter->min,
					   iter->max, iter->minimal);
		if (*result == NULL)
		  {
		    status = REG_ESPACE;
		    break;
		  }
		iter = (*result)->obj;
		result = &iter->arg;
		break;
	      }
	    default:
	      assert(0);
	      break;
	    }
	  break;
	}
    }
  *pos_add += num_copied;
  return status;
}

typedef enum {
  EXPAND_RECURSE,
  EXPAND_AFTER_ITER
} tre_expand_ast_symbol_t;

/* Expands each iteration node that has a finite nonzero minimum or maximum
   iteration count to a catenated sequence of copies of the node. */
static reg_errcode_t
tre_expand_ast(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *ast,
	       int *position, tre_tag_direction_t *tag_directions)
{
  reg_errcode_t status = REG_OK;
  int bottom = tre_stack_num_objects(stack);
  int pos_add = 0;
  int pos_add_total = 0;
  int max_pos = 0;
  int iter_depth = 0;

  STACK_PUSHR(stack, voidptr, ast);
  STACK_PUSHR(stack, int, EXPAND_RECURSE);
  while (status == REG_OK && tre_stack_num_objects(stack) > bottom)
    {
      tre_ast_node_t *node;
      tre_expand_ast_symbol_t symbol;

      if (status != REG_OK)
	break;

      symbol = (tre_expand_ast_symbol_t)tre_stack_pop_int(stack);
      node = tre_stack_pop_voidptr(stack);
      switch (symbol)
	{
	case EXPAND_RECURSE:
	  switch (node->type)
	    {
	    case LITERAL:
	      {
		tre_literal_t *lit= node->obj;
		if (!IS_SPECIAL(lit) || IS_BACKREF(lit))
		  {
		    lit->position += pos_add;
		    if (lit->position > max_pos)
		      max_pos = lit->position;
		  }
		break;
	      }
	    case UNION:
	      {
		tre_union_t *uni = node->obj;
		STACK_PUSHX(stack, voidptr, uni->right);
		STACK_PUSHX(stack, int, EXPAND_RECURSE);
		STACK_PUSHX(stack, voidptr, uni->left);
		STACK_PUSHX(stack, int, EXPAND_RECURSE);
		break;
	      }
	    case CATENATION:
	      {
		tre_catenation_t *cat = node->obj;
		STACK_PUSHX(stack, voidptr, cat->right);
		STACK_PUSHX(stack, int, EXPAND_RECURSE);
		STACK_PUSHX(stack, voidptr, cat->left);
		STACK_PUSHX(stack, int, EXPAND_RECURSE);
		break;
	      }
	    case ITERATION:
	      {
		tre_iteration_t *iter = node->obj;
		STACK_PUSHX(stack, int, pos_add);
		STACK_PUSHX(stack, voidptr, node);
		STACK_PUSHX(stack, int, EXPAND_AFTER_ITER);
		STACK_PUSHX(stack, voidptr, iter->arg);
		STACK_PUSHX(stack, int, EXPAND_RECURSE);
		/* If we are going to expand this node at EXPAND_AFTER_ITER
		   then don't increase the `pos' fields of the nodes now, it
		   will get done when expanding. */
		if (iter->min > 1 || iter->max > 1)
		  pos_add = 0;
		iter_depth++;
		break;
	      }
	    default:
	      assert(0);
	      break;
	    }
	  break;
	case EXPAND_AFTER_ITER:
	  {
	    tre_iteration_t *iter = node->obj;
	    int pos_add_last;
	    pos_add = tre_stack_pop_int(stack);
	    pos_add_last = pos_add;
	    if (iter->min > 1 || iter->max > 1)
	      {
		tre_ast_node_t *seq1 = NULL, *seq2 = NULL;
		int j;
		int pos_add_save = pos_add;

		/* Create a catenated sequence of copies of the node. */
		for (j = 0; j < iter->min; j++)
		  {
		    tre_ast_node_t *copy;
		    /* Remove tags from all but the last copy. */
		    int flags = ((j + 1 < iter->min)
				 ? COPY_REMOVE_TAGS
				 : COPY_MAXIMIZE_FIRST_TAG);
		    pos_add_save = pos_add;
		    status = tre_copy_ast(mem, stack, iter->arg, flags,
					  &pos_add, tag_directions, &copy,
					  &max_pos);
		    if (status != REG_OK)
		      return status;
		    if (seq1 != NULL)
		      seq1 = tre_ast_new_catenation(mem, seq1, copy);
		    else
		      seq1 = copy;
		    if (seq1 == NULL)
		      return REG_ESPACE;
		  }

		if (iter->max == -1)
		  {
		    /* No upper limit. */
		    pos_add_save = pos_add;
		    status = tre_copy_ast(mem, stack, iter->arg, 0,
					  &pos_add, NULL, &seq2, &max_pos);
		    if (status != REG_OK)
		      return status;
		    seq2 = tre_ast_new_iter(mem, seq2, 0, -1, 0);
		    if (seq2 == NULL)
		      return REG_ESPACE;
		  }
		else
		  {
		    for (j = iter->min; j < iter->max; j++)
		      {
			tre_ast_node_t *tmp, *copy;
			pos_add_save = pos_add;
			status = tre_copy_ast(mem, stack, iter->arg, 0,
					      &pos_add, NULL, &copy, &max_pos);
			if (status != REG_OK)
			  return status;
			if (seq2 != NULL)
			  seq2 = tre_ast_new_catenation(mem, copy, seq2);
			else
			  seq2 = copy;
			if (seq2 == NULL)
			  return REG_ESPACE;
			tmp = tre_ast_new_literal(mem, EMPTY, -1, -1);
			if (tmp == NULL)
			  return REG_ESPACE;
			seq2 = tre_ast_new_union(mem, tmp, seq2);
			if (seq2 == NULL)
			  return REG_ESPACE;
		      }
		  }

		pos_add = pos_add_save;
		if (seq1 == NULL)
		  seq1 = seq2;
		else if (seq2 != NULL)
		  seq1 = tre_ast_new_catenation(mem, seq1, seq2);
		if (seq1 == NULL)
		  return REG_ESPACE;
		node->obj = seq1->obj;
		node->type = seq1->type;
	      }

	    iter_depth--;
	    pos_add_total += pos_add - pos_add_last;
	    if (iter_depth == 0)
	      pos_add = pos_add_total;

	    break;
	  }
	default:
	  assert(0);
	  break;
	}
    }

  *position += pos_add_total;

  /* `max_pos' should never be larger than `*position' if the above
     code works, but just an extra safeguard let's make sure
     `*position' is set large enough so enough memory will be
     allocated for the transition table. */
  if (max_pos > *position)
    *position = max_pos;

  return status;
}

static tre_pos_and_tags_t *
tre_set_empty(tre_mem_t mem)
{
  tre_pos_and_tags_t *new_set;

  new_set = tre_mem_calloc(mem, sizeof(*new_set));
  if (new_set == NULL)
    return NULL;

  new_set[0].position = -1;
  new_set[0].code_min = -1;
  new_set[0].code_max = -1;

  return new_set;
}

static tre_pos_and_tags_t *
tre_set_one(tre_mem_t mem, int position, int code_min, int code_max,
	    tre_ctype_t class, tre_ctype_t *neg_classes, int backref)
{
  tre_pos_and_tags_t *new_set;

  new_set = tre_mem_calloc(mem, sizeof(*new_set) * 2);
  if (new_set == NULL)
    return NULL;

  new_set[0].position = position;
  new_set[0].code_min = code_min;
  new_set[0].code_max = code_max;
  new_set[0].class = class;
  new_set[0].neg_classes = neg_classes;
  new_set[0].backref = backref;
  new_set[1].position = -1;
  new_set[1].code_min = -1;
  new_set[1].code_max = -1;

  return new_set;
}

static tre_pos_and_tags_t *
tre_set_union(tre_mem_t mem, tre_pos_and_tags_t *set1, tre_pos_and_tags_t *set2,
	      int *tags, int assertions)
{
  int s1, s2, i, j;
  tre_pos_and_tags_t *new_set;
  int *new_tags;
  int num_tags;

  for (num_tags = 0; tags != NULL && tags[num_tags] >= 0; num_tags++);
  for (s1 = 0; set1[s1].position >= 0; s1++);
  for (s2 = 0; set2[s2].position >= 0; s2++);
  new_set = tre_mem_calloc(mem, sizeof(*new_set) * (s1 + s2 + 1));
  if (!new_set )
    return NULL;

  for (s1 = 0; set1[s1].position >= 0; s1++)
    {
      new_set[s1].position = set1[s1].position;
      new_set[s1].code_min = set1[s1].code_min;
      new_set[s1].code_max = set1[s1].code_max;
      new_set[s1].assertions = set1[s1].assertions | assertions;
      new_set[s1].class = set1[s1].class;
      new_set[s1].neg_classes = set1[s1].neg_classes;
      new_set[s1].backref = set1[s1].backref;
      if (set1[s1].tags == NULL && tags == NULL)
	new_set[s1].tags = NULL;
      else
	{
	  for (i = 0; set1[s1].tags != NULL && set1[s1].tags[i] >= 0; i++);
	  new_tags = tre_mem_alloc(mem, (sizeof(*new_tags)
					 * (i + num_tags + 1)));
	  if (new_tags == NULL)
	    return NULL;
	  for (j = 0; j < i; j++)
	    new_tags[j] = set1[s1].tags[j];
	  for (i = 0; i < num_tags; i++)
	    new_tags[j + i] = tags[i];
	  new_tags[j + i] = -1;
	  new_set[s1].tags = new_tags;
	}
    }

  for (s2 = 0; set2[s2].position >= 0; s2++)
    {
      new_set[s1 + s2].position = set2[s2].position;
      new_set[s1 + s2].code_min = set2[s2].code_min;
      new_set[s1 + s2].code_max = set2[s2].code_max;
      /* XXX - why not | assertions here as well? */
      new_set[s1 + s2].assertions = set2[s2].assertions;
      new_set[s1 + s2].class = set2[s2].class;
      new_set[s1 + s2].neg_classes = set2[s2].neg_classes;
      new_set[s1 + s2].backref = set2[s2].backref;
      if (set2[s2].tags == NULL)
	new_set[s1 + s2].tags = NULL;
      else
	{
	  for (i = 0; set2[s2].tags[i] >= 0; i++);
	  new_tags = tre_mem_alloc(mem, sizeof(*new_tags) * (i + 1));
	  if (new_tags == NULL)
	    return NULL;
	  for (j = 0; j < i; j++)
	    new_tags[j] = set2[s2].tags[j];
	  new_tags[j] = -1;
	  new_set[s1 + s2].tags = new_tags;
	}
    }
  new_set[s1 + s2].position = -1;
  return new_set;
}

/* Finds the empty path through `node' which is the one that should be
   taken according to POSIX.2 rules, and adds the tags on that path to
   `tags'.   `tags' may be NULL.  If `num_tags_seen' is not NULL, it is
   set to the number of tags seen on the path. */
static reg_errcode_t
tre_match_empty(tre_stack_t *stack, tre_ast_node_t *node, int *tags,
		int *assertions, int *num_tags_seen)
{
  tre_literal_t *lit;
  tre_union_t *uni;
  tre_catenation_t *cat;
  tre_iteration_t *iter;
  int i;
  int bottom = tre_stack_num_objects(stack);
  reg_errcode_t status = REG_OK;
  if (num_tags_seen)
    *num_tags_seen = 0;

  status = tre_stack_push_voidptr(stack, node);

  /* Walk through the tree recursively. */
  while (status == REG_OK && tre_stack_num_objects(stack) > bottom)
    {
      node = tre_stack_pop_voidptr(stack);

      switch (node->type)
	{
	case LITERAL:
	  lit = (tre_literal_t *)node->obj;
	  switch (lit->code_min)
	    {
	    case TAG:
	      if (lit->code_max >= 0)
		{
		  if (tags != NULL)
		    {
		      /* Add the tag to `tags'. */
		      for (i = 0; tags[i] >= 0; i++)
			if (tags[i] == lit->code_max)
			  break;
		      if (tags[i] < 0)
			{
			  tags[i] = lit->code_max;
			  tags[i + 1] = -1;
			}
		    }
		  if (num_tags_seen)
		    (*num_tags_seen)++;
		}
	      break;
	    case ASSERTION:
	      assert(lit->code_max >= 1
		     || lit->code_max <= ASSERT_LAST);
	      if (assertions != NULL)
		*assertions |= lit->code_max;
	      break;
	    case EMPTY:
	      break;
	    default:
	      assert(0);
	      break;
	    }
	  break;

	case UNION:
	  /* Subexpressions starting earlier take priority over ones
	     starting later, so we prefer the left subexpression over the
	     right subexpression. */
	  uni = (tre_union_t *)node->obj;
	  if (uni->left->nullable)
	    STACK_PUSHX(stack, voidptr, uni->left)
	  else if (uni->right->nullable)
	    STACK_PUSHX(stack, voidptr, uni->right)
	  else
	    assert(0);
	  break;

	case CATENATION:
	  /* The path must go through both children. */
	  cat = (tre_catenation_t *)node->obj;
	  assert(cat->left->nullable);
	  assert(cat->right->nullable);
	  STACK_PUSHX(stack, voidptr, cat->left);
	  STACK_PUSHX(stack, voidptr, cat->right);
	  break;

	case ITERATION:
	  /* A match with an empty string is preferred over no match at
	     all, so we go through the argument if possible. */
	  iter = (tre_iteration_t *)node->obj;
	  if (iter->arg->nullable)
	    STACK_PUSHX(stack, voidptr, iter->arg);
	  break;

	default:
	  assert(0);
	  break;
	}
    }

  return status;
}


typedef enum {
  NFL_RECURSE,
  NFL_POST_UNION,
  NFL_POST_CATENATION,
  NFL_POST_ITERATION
} tre_nfl_stack_symbol_t;


/* Computes and fills in the fields `nullable', `firstpos', and `lastpos' for
   the nodes of the AST `tree'. */
static reg_errcode_t
tre_compute_nfl(tre_mem_t mem, tre_stack_t *stack, tre_ast_node_t *tree)
{
  int bottom = tre_stack_num_objects(stack);

  STACK_PUSHR(stack, voidptr, tree);
  STACK_PUSHR(stack, int, NFL_RECURSE);

  while (tre_stack_num_objects(stack) > bottom)
    {
      tre_nfl_stack_symbol_t symbol;
      tre_ast_node_t *node;

      symbol = (tre_nfl_stack_symbol_t)tre_stack_pop_int(stack);
      node = tre_stack_pop_voidptr(stack);
      switch (symbol)
	{
	case NFL_RECURSE:
	  switch (node->type)
	    {
	    case LITERAL:
	      {
		tre_literal_t *lit = (tre_literal_t *)node->obj;
		if (IS_BACKREF(lit))
		  {
		    /* Back references: nullable = false, firstpos = {i},
		       lastpos = {i}. */
		    node->nullable = 0;
		    node->firstpos = tre_set_one(mem, lit->position, 0,
					     TRE_CHAR_MAX, 0, NULL, -1);
		    if (!node->firstpos)
		      return REG_ESPACE;
		    node->lastpos = tre_set_one(mem, lit->position, 0,
						TRE_CHAR_MAX, 0, NULL,
						(int)lit->code_max);
		    if (!node->lastpos)
		      return REG_ESPACE;
		  }
		else if (lit->code_min < 0)
		  {
		    /* Tags, empty strings, params, and zero width assertions:
		       nullable = true, firstpos = {}, and lastpos = {}. */
		    node->nullable = 1;
		    node->firstpos = tre_set_empty(mem);
		    if (!node->firstpos)
		      return REG_ESPACE;
		    node->lastpos = tre_set_empty(mem);
		    if (!node->lastpos)
		      return REG_ESPACE;
		  }
		else
		  {
		    /* Literal at position i: nullable = false, firstpos = {i},
		       lastpos = {i}. */
		    node->nullable = 0;
		    node->firstpos =
		      tre_set_one(mem, lit->position, (int)lit->code_min,
				  (int)lit->code_max, 0, NULL, -1);
		    if (!node->firstpos)
		      return REG_ESPACE;
		    node->lastpos = tre_set_one(mem, lit->position,
						(int)lit->code_min,
						(int)lit->code_max,
						lit->class, lit->neg_classes,
						-1);
		    if (!node->lastpos)
		      return REG_ESPACE;
		  }
		break;
	      }

	    case UNION:
	      /* Compute the attributes for the two subtrees, and after that
		 for this node. */
	      STACK_PUSHR(stack, voidptr, node);
	      STACK_PUSHR(stack, int, NFL_POST_UNION);
	      STACK_PUSHR(stack, voidptr, ((tre_union_t *)node->obj)->right);
	      STACK_PUSHR(stack, int, NFL_RECURSE);
	      STACK_PUSHR(stack, voidptr, ((tre_union_t *)node->obj)->left);
	      STACK_PUSHR(stack, int, NFL_RECURSE);
	      break;

	    case CATENATION:
	      /* Compute the attributes for the two subtrees, and after that
		 for this node. */
	      STACK_PUSHR(stack, voidptr, node);
	      STACK_PUSHR(stack, int, NFL_POST_CATENATION);
	      STACK_PUSHR(stack, voidptr, ((tre_catenation_t *)node->obj)->right);
	      STACK_PUSHR(stack, int, NFL_RECURSE);
	      STACK_PUSHR(stack, voidptr, ((tre_catenation_t *)node->obj)->left);
	      STACK_PUSHR(stack, int, NFL_RECURSE);
	      break;

	    case ITERATION:
	      /* Compute the attributes for the subtree, and after that for
		 this node. */
	      STACK_PUSHR(stack, voidptr, node);
	      STACK_PUSHR(stack, int, NFL_POST_ITERATION);
	      STACK_PUSHR(stack, voidptr, ((tre_iteration_t *)node->obj)->arg);
	      STACK_PUSHR(stack, int, NFL_RECURSE);
	      break;
	    }
	  break; /* end case: NFL_RECURSE */

	case NFL_POST_UNION:
	  {
	    tre_union_t *uni = (tre_union_t *)node->obj;
	    node->nullable = uni->left->nullable || uni->right->nullable;
	    node->firstpos = tre_set_union(mem, uni->left->firstpos,
					   uni->right->firstpos, NULL, 0);
	    if (!node->firstpos)
	      return REG_ESPACE;
	    node->lastpos = tre_set_union(mem, uni->left->lastpos,
					  uni->right->lastpos, NULL, 0);
	    if (!node->lastpos)
	      return REG_ESPACE;
	    break;
	  }

	case NFL_POST_ITERATION:
	  {
	    tre_iteration_t *iter = (tre_iteration_t *)node->obj;

	    if (iter->min == 0 || iter->arg->nullable)
	      node->nullable = 1;
	    else
	      node->nullable = 0;
	    node->firstpos = iter->arg->firstpos;
	    node->lastpos = iter->arg->lastpos;
	    break;
	  }

	case NFL_POST_CATENATION:
	  {
	    int num_tags, *tags, assertions;
	    reg_errcode_t status;
	    tre_catenation_t *cat = node->obj;
	    node->nullable = cat->left->nullable && cat->right->nullable;

	    /* Compute firstpos. */
	    if (cat->left->nullable)
	      {
		/* The left side matches the empty string.  Make a first pass
		   with tre_match_empty() to get the number of tags and
		   parameters. */
		status = tre_match_empty(stack, cat->left,
					 NULL, NULL, &num_tags);
		if (status != REG_OK)
		  return status;
		/* Allocate arrays for the tags and parameters. */
		tags = xmalloc(sizeof(*tags) * (num_tags + 1));
		if (!tags)
		  return REG_ESPACE;
		tags[0] = -1;
		assertions = 0;
		/* Second pass with tre_mach_empty() to get the list of
		   tags and parameters. */
		status = tre_match_empty(stack, cat->left, tags,
					 &assertions, NULL);
		if (status != REG_OK)
		  {
		    xfree(tags);
		    return status;
		  }
		node->firstpos =
		  tre_set_union(mem, cat->right->firstpos, cat->left->firstpos,
				tags, assertions);
		xfree(tags);
		if (!node->firstpos)
		  return REG_ESPACE;
	      }
	    else
	      {
		node->firstpos = cat->left->firstpos;
	      }

	    /* Compute lastpos. */
	    if (cat->right->nullable)
	      {
		/* The right side matches the empty string.  Make a first pass
		   with tre_match_empty() to get the number of tags and
		   parameters. */
		status = tre_match_empty(stack, cat->right,
					 NULL, NULL, &num_tags);
		if (status != REG_OK)
		  return status;
		/* Allocate arrays for the tags and parameters. */
		tags = xmalloc(sizeof(int) * (num_tags + 1));
		if (!tags)
		  return REG_ESPACE;
		tags[0] = -1;
		assertions = 0;
		/* Second pass with tre_mach_empty() to get the list of
		   tags and parameters. */
		status = tre_match_empty(stack, cat->right, tags,
					 &assertions, NULL);
		if (status != REG_OK)
		  {
		    xfree(tags);
		    return status;
		  }
		node->lastpos =
		  tre_set_union(mem, cat->left->lastpos, cat->right->lastpos,
				tags, assertions);
		xfree(tags);
		if (!node->lastpos)
		  return REG_ESPACE;
	      }
	    else
	      {
		node->lastpos = cat->right->lastpos;
	      }
	    break;
	  }

	default:
	  assert(0);
	  break;
	}
    }

  return REG_OK;
}


/* Adds a transition from each position in `p1' to each position in `p2'. */
static reg_errcode_t
tre_make_trans(tre_pos_and_tags_t *p1, tre_pos_and_tags_t *p2,
	       tre_tnfa_transition_t *transitions,
	       int *counts, int *offs)
{
  tre_pos_and_tags_t *orig_p2 = p2;
  tre_tnfa_transition_t *trans;
  int i, j, k, l, dup, prev_p2_pos;

  if (transitions != NULL)
    while (p1->position >= 0)
      {
	p2 = orig_p2;
	prev_p2_pos = -1;
	while (p2->position >= 0)
	  {
	    /* Optimization: if this position was already handled, skip it. */
	    if (p2->position == prev_p2_pos)
	      {
		p2++;
		continue;
	      }
	    prev_p2_pos = p2->position;
	    /* Set `trans' to point to the next unused transition from
	       position `p1->position'. */
	    trans = transitions + offs[p1->position];
	    while (trans->state != NULL)
	      {
#if 0
		/* If we find a previous transition from `p1->position' to
		   `p2->position', it is overwritten.  This can happen only
		   if there are nested loops in the regexp, like in "((a)*)*".
		   In POSIX.2 repetition using the outer loop is always
		   preferred over using the inner loop.	 Therefore the
		   transition for the inner loop is useless and can be thrown
		   away. */
		/* XXX - The same position is used for all nodes in a bracket
		   expression, so this optimization cannot be used (it will
		   break bracket expressions) unless I figure out a way to
		   detect it here. */
		if (trans->state_id == p2->position)
		  {
		    break;
		  }
#endif
		trans++;
	      }

	    if (trans->state == NULL)
	      (trans + 1)->state = NULL;
	    /* Use the character ranges, assertions, etc. from `p1' for
	       the transition from `p1' to `p2'. */
	    trans->code_min = p1->code_min;
	    trans->code_max = p1->code_max;
	    trans->state = transitions + offs[p2->position];
	    trans->state_id = p2->position;
	    trans->assertions = p1->assertions | p2->assertions
	      | (p1->class ? ASSERT_CHAR_CLASS : 0)
	      | (p1->neg_classes != NULL ? ASSERT_CHAR_CLASS_NEG : 0);
	    if (p1->backref >= 0)
	      {
		assert((trans->assertions & ASSERT_CHAR_CLASS) == 0);
		assert(p2->backref < 0);
		trans->u.backref = p1->backref;
		trans->assertions |= ASSERT_BACKREF;
	      }
	    else
	      trans->u.class = p1->class;
	    if (p1->neg_classes != NULL)
	      {
		for (i = 0; p1->neg_classes[i] != (tre_ctype_t)0; i++);
		trans->neg_classes =
		  xmalloc(sizeof(*trans->neg_classes) * (i + 1));
		if (trans->neg_classes == NULL)
		  return REG_ESPACE;
		for (i = 0; p1->neg_classes[i] != (tre_ctype_t)0; i++)
		  trans->neg_classes[i] = p1->neg_classes[i];
		trans->neg_classes[i] = (tre_ctype_t)0;
	      }
	    else
	      trans->neg_classes = NULL;

	    /* Find out how many tags this transition has. */
	    i = 0;
	    if (p1->tags != NULL)
	      while(p1->tags[i] >= 0)
		i++;
	    j = 0;
	    if (p2->tags != NULL)
	      while(p2->tags[j] >= 0)
		j++;

	    /* If we are overwriting a transition, free the old tag array. */
	    if (trans->tags != NULL)
	      xfree(trans->tags);
	    trans->tags = NULL;

	    /* If there were any tags, allocate an array and fill it. */
	    if (i + j > 0)
	      {
		trans->tags = xmalloc(sizeof(*trans->tags) * (i + j + 1));
		if (!trans->tags)
		  return REG_ESPACE;
		i = 0;
		if (p1->tags != NULL)
		  while(p1->tags[i] >= 0)
		    {
		      trans->tags[i] = p1->tags[i];
		      i++;
		    }
		l = i;
		j = 0;
		if (p2->tags != NULL)
		  while (p2->tags[j] >= 0)
		    {
		      /* Don't add duplicates. */
		      dup = 0;
		      for (k = 0; k < i; k++)
			if (trans->tags[k] == p2->tags[j])
			  {
			    dup = 1;
			    break;
			  }
		      if (!dup)
			trans->tags[l++] = p2->tags[j];
		      j++;
		    }
		trans->tags[l] = -1;
	      }

	    p2++;
	  }
	p1++;
      }
  else
    /* Compute a maximum limit for the number of transitions leaving
       from each state. */
    while (p1->position >= 0)
      {
	p2 = orig_p2;
	while (p2->position >= 0)
	  {
	    counts[p1->position]++;
	    p2++;
	  }
	p1++;
      }
  return REG_OK;
}

/* Converts the syntax tree to a TNFA.	All the transitions in the TNFA are
   labelled with one character range (there are no transitions on empty
   strings).  The TNFA takes O(n^2) space in the worst case, `n' is size of
   the regexp. */
static reg_errcode_t
tre_ast_to_tnfa(tre_ast_node_t *node, tre_tnfa_transition_t *transitions,
		int *counts, int *offs)
{
  tre_union_t *uni;
  tre_catenation_t *cat;
  tre_iteration_t *iter;
  reg_errcode_t errcode = REG_OK;

  /* XXX - recurse using a stack!. */
  switch (node->type)
    {
    case LITERAL:
      break;
    case UNION:
      uni = (tre_union_t *)node->obj;
      errcode = tre_ast_to_tnfa(uni->left, transitions, counts, offs);
      if (errcode != REG_OK)
	return errcode;
      errcode = tre_ast_to_tnfa(uni->right, transitions, counts, offs);
      break;

    case CATENATION:
      cat = (tre_catenation_t *)node->obj;
      /* Add a transition from each position in cat->left->lastpos
	 to each position in cat->right->firstpos. */
      errcode = tre_make_trans(cat->left->lastpos, cat->right->firstpos,
			       transitions, counts, offs);
      if (errcode != REG_OK)
	return errcode;
      errcode = tre_ast_to_tnfa(cat->left, transitions, counts, offs);
      if (errcode != REG_OK)
	return errcode;
      errcode = tre_ast_to_tnfa(cat->right, transitions, counts, offs);
      break;

    case ITERATION:
      iter = (tre_iteration_t *)node->obj;
      assert(iter->max == -1 || iter->max == 1);

      if (iter->max == -1)
	{
	  assert(iter->min == 0 || iter->min == 1);
	  /* Add a transition from each last position in the iterated
	     expression to each first position. */
	  errcode = tre_make_trans(iter->arg->lastpos, iter->arg->firstpos,
				   transitions, counts, offs);
	  if (errcode != REG_OK)
	    return errcode;
	}
      errcode = tre_ast_to_tnfa(iter->arg, transitions, counts, offs);
      break;
    }
  return errcode;
}


#define ERROR_EXIT(err)		  \
  do				  \
    {				  \
      errcode = err;		  \
      if (/*CONSTCOND*/1)	  \
      	goto error_exit;	  \
    }				  \
 while (/*CONSTCOND*/0)


int
regcomp(regex_t *restrict preg, const char *restrict regex, int cflags)
{
  tre_stack_t *stack;
  tre_ast_node_t *tree, *tmp_ast_l, *tmp_ast_r;
  tre_pos_and_tags_t *p;
  int *counts = NULL, *offs = NULL;
  int i, add = 0;
  tre_tnfa_transition_t *transitions, *initial;
  tre_tnfa_t *tnfa = NULL;
  tre_submatch_data_t *submatch_data;
  tre_tag_direction_t *tag_directions = NULL;
  reg_errcode_t errcode;
  tre_mem_t mem;

  /* Parse context. */
  tre_parse_ctx_t parse_ctx;

  /* Allocate a stack used throughout the compilation process for various
     purposes. */
  stack = tre_stack_new(512, 10240, 128);
  if (!stack)
    return REG_ESPACE;
  /* Allocate a fast memory allocator. */
  mem = tre_mem_new();
  if (!mem)
    {
      tre_stack_destroy(stack);
      return REG_ESPACE;
    }

  /* Parse the regexp. */
  memset(&parse_ctx, 0, sizeof(parse_ctx));
  parse_ctx.mem = mem;
  parse_ctx.stack = stack;
  parse_ctx.re = regex;
  parse_ctx.cflags = cflags;
  parse_ctx.max_backref = -1;
  errcode = tre_parse(&parse_ctx);
  if (errcode != REG_OK)
    ERROR_EXIT(errcode);
  preg->re_nsub = parse_ctx.submatch_id - 1;
  tree = parse_ctx.result;

  /* Back references and approximate matching cannot currently be used
     in the same regexp. */
  if (parse_ctx.max_backref >= 0 && parse_ctx.have_approx)
    ERROR_EXIT(REG_BADPAT);

#ifdef TRE_DEBUG
  tre_ast_print(tree);
#endif /* TRE_DEBUG */

  /* Referring to nonexistent subexpressions is illegal. */
  if (parse_ctx.max_backref > (int)preg->re_nsub)
    ERROR_EXIT(REG_ESUBREG);

  /* Allocate the TNFA struct. */
  tnfa = xcalloc(1, sizeof(tre_tnfa_t));
  if (tnfa == NULL)
    ERROR_EXIT(REG_ESPACE);
  tnfa->have_backrefs = parse_ctx.max_backref >= 0;
  tnfa->have_approx = parse_ctx.have_approx;
  tnfa->num_submatches = parse_ctx.submatch_id;

  /* Set up tags for submatch addressing.  If REG_NOSUB is set and the
     regexp does not have back references, this can be skipped. */
  if (tnfa->have_backrefs || !(cflags & REG_NOSUB))
    {

      /* Figure out how many tags we will need. */
      errcode = tre_add_tags(NULL, stack, tree, tnfa);
      if (errcode != REG_OK)
	ERROR_EXIT(errcode);

      if (tnfa->num_tags > 0)
	{
	  tag_directions = xmalloc(sizeof(*tag_directions)
				   * (tnfa->num_tags + 1));
	  if (tag_directions == NULL)
	    ERROR_EXIT(REG_ESPACE);
	  tnfa->tag_directions = tag_directions;
	  memset(tag_directions, -1,
		 sizeof(*tag_directions) * (tnfa->num_tags + 1));
	}
      tnfa->minimal_tags = xcalloc((unsigned)tnfa->num_tags * 2 + 1,
				   sizeof(*tnfa->minimal_tags));
      if (tnfa->minimal_tags == NULL)
	ERROR_EXIT(REG_ESPACE);

      submatch_data = xcalloc((unsigned)parse_ctx.submatch_id,
			      sizeof(*submatch_data));
      if (submatch_data == NULL)
	ERROR_EXIT(REG_ESPACE);
      tnfa->submatch_data = submatch_data;

      errcode = tre_add_tags(mem, stack, tree, tnfa);
      if (errcode != REG_OK)
	ERROR_EXIT(errcode);

    }

  /* Expand iteration nodes. */
  errcode = tre_expand_ast(mem, stack, tree, &parse_ctx.position,
			   tag_directions);
  if (errcode != REG_OK)
    ERROR_EXIT(errcode);

  /* Add a dummy node for the final state.
     XXX - For certain patterns this dummy node can be optimized away,
	   for example "a*" or "ab*".	Figure out a simple way to detect
	   this possibility. */
  tmp_ast_l = tree;
  tmp_ast_r = tre_ast_new_literal(mem, 0, 0, parse_ctx.position++);
  if (tmp_ast_r == NULL)
    ERROR_EXIT(REG_ESPACE);

  tree = tre_ast_new_catenation(mem, tmp_ast_l, tmp_ast_r);
  if (tree == NULL)
    ERROR_EXIT(REG_ESPACE);

  errcode = tre_compute_nfl(mem, stack, tree);
  if (errcode != REG_OK)
    ERROR_EXIT(errcode);

  counts = xmalloc(sizeof(int) * parse_ctx.position);
  if (counts == NULL)
    ERROR_EXIT(REG_ESPACE);

  offs = xmalloc(sizeof(int) * parse_ctx.position);
  if (offs == NULL)
    ERROR_EXIT(REG_ESPACE);

  for (i = 0; i < parse_ctx.position; i++)
    counts[i] = 0;
  tre_ast_to_tnfa(tree, NULL, counts, NULL);

  add = 0;
  for (i = 0; i < parse_ctx.position; i++)
    {
      offs[i] = add;
      add += counts[i] + 1;
      counts[i] = 0;
    }
  transitions = xcalloc((unsigned)add + 1, sizeof(*transitions));
  if (transitions == NULL)
    ERROR_EXIT(REG_ESPACE);
  tnfa->transitions = transitions;
  tnfa->num_transitions = add;

  errcode = tre_ast_to_tnfa(tree, transitions, counts, offs);
  if (errcode != REG_OK)
    ERROR_EXIT(errcode);

  tnfa->firstpos_chars = NULL;

  p = tree->firstpos;
  i = 0;
  while (p->position >= 0)
    {
      i++;
      p++;
    }

  initial = xcalloc((unsigned)i + 1, sizeof(tre_tnfa_transition_t));
  if (initial == NULL)
    ERROR_EXIT(REG_ESPACE);
  tnfa->initial = initial;

  i = 0;
  for (p = tree->firstpos; p->position >= 0; p++)
    {
      initial[i].state = transitions + offs[p->position];
      initial[i].state_id = p->position;
      initial[i].tags = NULL;
      /* Copy the arrays p->tags, and p->params, they are allocated
	 from a tre_mem object. */
      if (p->tags)
	{
	  int j;
	  for (j = 0; p->tags[j] >= 0; j++);
	  initial[i].tags = xmalloc(sizeof(*p->tags) * (j + 1));
	  if (!initial[i].tags)
	    ERROR_EXIT(REG_ESPACE);
	  memcpy(initial[i].tags, p->tags, sizeof(*p->tags) * (j + 1));
	}
      initial[i].assertions = p->assertions;
      i++;
    }
  initial[i].state = NULL;

  tnfa->num_transitions = add;
  tnfa->final = transitions + offs[tree->lastpos[0].position];
  tnfa->num_states = parse_ctx.position;
  tnfa->cflags = cflags;

  tre_mem_destroy(mem);
  tre_stack_destroy(stack);
  xfree(counts);
  xfree(offs);

  preg->TRE_REGEX_T_FIELD = (void *)tnfa;
  return REG_OK;

 error_exit:
  /* Free everything that was allocated and return the error code. */
  tre_mem_destroy(mem);
  if (stack != NULL)
    tre_stack_destroy(stack);
  if (counts != NULL)
    xfree(counts);
  if (offs != NULL)
    xfree(offs);
  preg->TRE_REGEX_T_FIELD = (void *)tnfa;
  regfree(preg);
  return errcode;
}




void
regfree(regex_t *preg)
{
  tre_tnfa_t *tnfa;
  unsigned int i;
  tre_tnfa_transition_t *trans;

  tnfa = (void *)preg->TRE_REGEX_T_FIELD;
  if (!tnfa)
    return;

  for (i = 0; i < tnfa->num_transitions; i++)
    if (tnfa->transitions[i].state)
      {
	if (tnfa->transitions[i].tags)
	  xfree(tnfa->transitions[i].tags);
	if (tnfa->transitions[i].neg_classes)
	  xfree(tnfa->transitions[i].neg_classes);
      }
  if (tnfa->transitions)
    xfree(tnfa->transitions);

  if (tnfa->initial)
    {
      for (trans = tnfa->initial; trans->state; trans++)
	{
	  if (trans->tags)
	    xfree(trans->tags);
	}
      xfree(tnfa->initial);
    }

  if (tnfa->submatch_data)
    {
      for (i = 0; i < tnfa->num_submatches; i++)
	if (tnfa->submatch_data[i].parents)
	  xfree(tnfa->submatch_data[i].parents);
      xfree(tnfa->submatch_data);
    }

  if (tnfa->tag_directions)
    xfree(tnfa->tag_directions);
  if (tnfa->firstpos_chars)
    xfree(tnfa->firstpos_chars);
  if (tnfa->minimal_tags)
    xfree(tnfa->minimal_tags);
  xfree(tnfa);
}
ӄtLTb6${aJb=k_ Gvd,(qD]XQ ]qgQD7SPڻdƈpMhK c(z fv""):YxeIw>~XAMN_!G&E;aE774>>Kn$' VU.M/E 睧>o>K"U$f_T6R=sg23/8r66@:5hE|YQQ4J#XĴ@AR:;*~ kOgS{愖dJr[iEN+Z:iz Pb<`,+-V f=jcDfǶ?f޾`w2*r)wh !ZuukR[t5G)a|9y?݅mq?vYҔ/Zesb\Sja){ p.]uF[qtU1|[b;Cc8Lm=ִ]Ƃ*80̧26K XF]W H^MoDk;P)]:De/Ċw-qB : O11@"&KE,g%FIvՇ$13.Vf͡I0`Ѝp\}Vre">xj[X|W?^}u{'sMP(8<@Xx`ǃ9$E'B]P6&Aqtƃ90Ygڷ@xoc&n:2RKUWI9m)qP zMīӒRoa\E5? .XNP"X ()ݲbwΔW܅q;FH/D t6•1hN.[Xci&ZzT#c9Q Z)5Gȑ9R8ÞԬ4}]/\1 $\Xhy19$+6RetE2h( #vfvߣ"z DE0BpY " ̿ԃt'Ϗ<}{aW BhtIQ{˛q[@_ft:5 qCB\ ٤PDc%ټK0l*C tc37/q_r/^|[ ^Tыňd;t.tuxGKTTm(IxArsCcE( /ߋ ecӉi|g5͜2؎=Ө%C( h&ʁysˈiDiJo@[hXvѨ[0XغWS +o ]ԢBf(L#2ΨTBWSjqy*ֳjsC< -Fq4{)ӏf vO e$Ԅ|xᾈTSuiҟtƖbP`zuДl {!Z"ߊ ?1<[xKCwAO"x:'AEgjT3LCGJy) n'CHzZOھ|SG;XaRhKݠsHxݷ*+#ZrS(I^a}n=tg& m>( ?<.O =V.N l7 03whJ v#MBޡ=`ҵ7pE'.s @InQOS:ߠ[ U;D&6'>~`1mty2i?6~1;"a _Ȱy;yF $t)vDKF4ıox{wWhrG{[r%WRNcy [#~H1k$ axqFM{W=mCh7*TZ,gjfCXc :fv~GD%GXk"1'sc=bQWޣ ;V<н|҂d(7B&\Dscw4D3QpHK>ދGads8S9VE2_ƃfw5 ? ŏmQzV.Rl/fn/lZ zcw}iZNXf[Jfj1NV]:{H[l|$1UZg#b~ ʠv긹"$xhQF43Da;F,dܒ.,mr;)IƜ:GE#&Cއ6<6PnY81d:Ч%R=w)azB[_U67O'SE+ &x:/O/rO9XdD7V]KtOPzA %5Qt!eyyvK 'OA/soٝşٟ6]fШ7'qzFozV6^Uwđ_Q(ǽ`TDlf0) 0pۃD$u E5Yٮq?t5_GJ{ԮhK2XEv oRi3$&?(c gڍNx\o:j"u#I:C3216Lq[ݪtb>w/d_ܹ,m6..؈2grqT/CuOicmxqRa~x|ǫY;= |:z5Wj(R)V*Rˤ&laDK(&ajHR{JMoJ;yf{ѝ|PpT;OOymLUma $$=>K«1S"J[T%–e'AD%nn,dD[`SsW0B2+<kN2jjT&n{Y#.^yyf{߅\$m6V4Z?"'Cw2>Yè"N`П1E5r$Wv!Bm Q-?oM2ŧ7>ȯ",k>{/؍ocS{`c' Wdqdn;%_%!. ,vх2sVS-욪ٍVs rRm6^wNݪnP6IF1//!nnHhHTxI ;MJPRp_@. #2PN<<7)7:AxQKΣrQj/?}舆頛w'ѿm%" nկ@_C3&v?|bKW~F{)_N/o z^ae/| [mΖ<3YKY俰Gl:Fst|v};忐~q-)MQc{7?l$tQ۸wSSjuMlBD~p|=d an2CJЭ[;xuwC=}B]\=mo|›F wܢ/>䔱k١wܺl݈ɟ) ᇳ?+c|+۷?k1} !A7C`G@Awxg~_=o?xϯtq qi]>&n?.ſ|ny/[ qk˲6Q}{= [fݝd ڌ|i1;,:]Fe?ɶӤa~R>_=%|b6K[rkIKVWu5)m~5P#Il,;[|w}ۤoֿČ6K'(#|i?vPg/vF32_ƽѷ>&h6aF̸3Po?Z _ gFngL\s#/c|1Cߝ߁# ~n=oLWȮa@9{PȮc|?<;r~y(wfv"Eӂ.k wɿc-IXQ ]n<d?G?w*A/W yb֛ <+{#3] xd6WIDFf2M1E<_/RU_s>w( #/; BT8ds#qs\|6p)|Osc;z1{d ׽y<~ޝ͢FtBG]0M?La 'o!Qrv OC<^sŒ.&P8,0]zb]-> ݫ»ƋoI ow1 |6b5κ tb:nI콿wӍovŇQzܚNFK땤ף݄lj3zowg)tg0$zix  M9yL`Gp1d%rq ]wx.NWy]jh]x'*ԏ #VcIf>Lr~8.W(;@&Սh>=lx}&rsx! ]4a8xM_3:\^7^29T&rn{lXp1t(&=fmثyɤ.B{ .v~+E q1JC@`HԪVz rS?mgloeܵ+_:c|lDwCPR7P/@?._+G;=c0hLlo7CN $!*r|1GN~uſaLFX bw]wnLgн_п/( i0Y7d t K8@Jw BQ}$0aAaH_ػy^/soGk.?rzqo߾[k7 Tkɽ_sЄ {2 4,ozl|MFr' x ;aWj٥\< …Zg070|[x0~{WP Z#;7G͇3隸TےEr~I(F+ x1s~G)LN3g 9&[ 8e-Et]BB3LC\<̦qcgO$Co˥r^xY m5L^4Ϋ^SpZR@VSUR)ߦu1R7[w-[}(MKtCGDҫ|Q +CO%A>@1؏?* i pR h(`hpdVu0Be{g[a:b>l7.Z7*gP;?5G:co#_-388Q9؄N~H<*h1ehGP N Rj"${Pr1uo 9m}8_α?Q.%& +fl>ҀbLP0n-_H=7<@wX_%FvԫaR+{>bN& |sѮҤ$6L`u4'#~c}#v6؟O]$@oC9+͸胋Xt# T>TBEOtnf/ޯ!:@)RWv_Y!fۼ3)6rbt"T_=Kuރf>p)O{UMХ,Oxf|a"E {O+ mg8=;O>=Ɨ'yY_&I6C(DJX'zI~/4Us;5pi AϪ{Mgs?ޢ[g݇tAy_c|?XjC_ c|oNS,XUΔrYv1 wjU/'AV]wdWj5Z^!-,)Y@͘55[ԕ<\Ƀ%^GJ2ܷZ +2UcBj|:ǿ;h_e4!]XM-S h b@]?pXXv^h. |a`F.ȻYL'-s8{"L%~r ,74l,q=Ŵ_i4[HӮ'\xrERܾXZK(W*(fec&qd,7*k8H-Az39DIݷڒ|6Ftd:k}AvV --??zՖH0 ċ>0~fdCFDfi#S~V` }) 9^f)L1Ok wΫVKRgUx LbERҲ98U>kv&{jQ.frhWc_F?}og>Wl+}W)s׸yI!5m ҔeHt9Ct1ۛ.'GQ(m93NtR^E?RJ?ΚMNl֫]t_I/If8Xa@XQ$ľB4p)t4`=(5e~4x%jb̒ j.]P?R'kC&bH R46cWW+؛1&[~4 Db^?^P6O)=:[ܢjؗ?+*(k'EZt͐l~Ym_vתɸiHy~yhC@⧐9kpgr߻b9.n2qD EأG"D*hu3'r e.G#E"ĸGC*IVf8LTM@dƤd E|;`H6(oYaGJ1@a\ kz2Z2jHZ^ϦI=Ch /9Yˈ:Ts8fIru.XFNVrejjd5{1#T?e%|>L`0gM%}C>c|3@ve%30;0ŤW"l}~?[S%սju1eyWH;9@7Cyt dpd%cXAVG)&EC Sz=23CRS6h\9@fz{FmHv(@/"@6~DmO%kقZgIc]]I4:Wʩ lEwV"#ٌ|zLrN#MtAb8zAIm+rcKy&@DMeSe9'[ Xfeԯ"#Ċm羥R 㚡ɓIwy6-3?`@Rb$K9,afy;&\Pb3nϞqL0Hf^6ɤ]9{P/TxW-HoQzI7sl>|V#P'VY&IW8{KX 43!ȓahGISḑ7!z'/3m9w*>,]tN;?lyMWĉiD`)$fI)Tє[yZ 2r`㫗yZ )Z]3#;u2MyA&e4Ω?/R >Z OY" |"-KF PqZ&xɼ-ji/_f 騃ta:Ϯ޶q5, ZR&ٍʩE.9S$)Me֪2mdګ^aU26[Nة'N UrnWF{4ZSxy'EM^V0FgsFS_d|ө3[[v?;~%Ԯ!/Ӽ6zkeuTJ;4.1ʼo$cY4U2!1AZԄ€&ڙ ot:J@i8gL0$ИqQ4V2:<4lW;[7ٙu6qkLI p-@YAnoo2,׫Vj߽˰:gݧC7{~FSqx)&y4 ?vVՊu" :A\5ӎiۻy=mB)gK**$Iq, 0JP1rGP6yEM;Y4rvՔVyκ8rWz#T` 4$|&gyZ))`5$+|!y#!xx8 b[g̿${sI25 _=_Wΰシ v E&L‚)Cd=+:>/E-zf]ϜA5wYjlߜՀ(eiӟu n;{v$ND9Qe[D<#V('2Md•zȌJ&IQq䎒I\Sd+%#TT ESQE[ J™?Ыj+$݅%6[(fڪ!fsqѬ˾*vxNyR/7vJ kTPǵ;Eѫ67:702vZJvp :ɈJ=T?X~T z >ÊC$J⸔*%wjgMY0&cz CZ}ePFVFm_L]+?c_MHK6 S}QFUg dzI8?5A}ÒQj{R+/te`e៬[r.Q>ǵVCM41 oܺ7j8my})I<;<IIoE`?߻*^gGRMr-iCqVs`m e;9:̾YReগ9t˭z+5Av_E 9fw" E̪h".)K7yQo4.:ꙿ辳h+UɬfTa!vWp+C bO^bZ&CT\mUOjgU/~k*v&g5nV@o5~\oήΫ(Rk79JX=Uk5νܼG׻rSCgOrqM:>}fzdr T_'EY^6u憔}kgؙlu1tc_62L0m{JzSfn{' 'Kg! vV;?6G5(uoR0 f^!%y%uf D7*TjPJSZo-cΛғ1Abœ5XjOHt hctJR클 K%2BY\)JD1{9)75 4C1KE+iF%䣎 N721f 669j%fBtX=it|&gBY{R=3Y =OO ܪ6eт}WN af"9\d0vɂ%$)]? I_նץVΠѮUϧ tVjVۤ/cJeMT$8-#rqQ8(8' m8#3 d13L71ujI*W3u;u4AxĐ `+AWL#TXFDE&A#@:tMzFF_=,.;CKכW I&&*P5P< dM+me iiDXRL5b(CaϖbG0ҝ$_i[,h{Z2ȕx$H}iqH*;IWVtT=Z W_U/FFY^ Ӆ0_OA  n ")Q܌&)&P,XqfQH䂰j Axe3PxA]^6r#SD1!UKҔS _ޘ!;7U/j_Q gx쪨T(^33Cq-zAnbP? [֋e<9j&ocZDUĹFs*D_ Ld4KJ2;KRp(QёWH`o*U;p44;exj;,:$AQ199DH&hX9iL0_Aq̹+@HW%6VUƻc;X*|~5įm빅u}Jn;cʌ^cKĔ.v&>@=}?3\ `zB@߽dUƟ 6"^֌- ?83 5ō :rxrk 08d$'b|x ~1oRSH7"`ʔhD*9,PT/7ox 3."9nTY-˸ 'rTi4xU%,^Q mo_?_{|/9G )]< ^ndr,ΉNھ]k!Y:Ewa5o)NxTK'qx>G Ȯ̌bKK>,};(f);_uP"z3gK2W8B n7B?WXcޘN`f~?eeolSe3ʔB__ `,Epv۠ 2(~ r-]. ;-?'埽u <I'0T aa u [ٽ/>gHjY2L')jTM-8M h?m9P8[prw@t/([8޻pL߇0>??8(o5o>b|8GH##fݣ|~G1^G=Y6ܳhwɣ%=K;K^+TQPܻm{;VHc߸G!b;}G拻G?wݝ1O~{8;@{t;Y4 PͧwD,I,|uG"$ij+F4hrt{?6 ?n?soۿl%h1b3OMDOpUQ"2r8Z '!I[z֢'a;I^!TI7k wsB>X~/iNjeo37SkvY͗<IIp%5#ၞz>)+^O|5}Q BvNL%5xB_5OǵGv}*|;A ʝDY vݵSkNwPeD:ps,e0H;; +4k?"Ntř|y1_ynWBmt}o͕5 ho%lv5`W~kz|d€]ϻ6l6Lr3aۋ r6+/jb熐w@oMJM02?>aoO'__ XGm wtPV`M15'YJg1IrN*0I.K/amaFY9Dj7Jv;6SѮ]E\%9S64%Ft&<9HKtԮT2jZ`( _ hD/`&Ki <xR +4&WViPӰYGuOOzvuYO+ 顸7K!TJ H,;.N+vEي4 Clʻy4y<\PWZ7 \ ИFi0&s*J\/cu0uDyh2?MBqʯ7<\{Ҧ >5i,T_)TaԁCN'12ZRp"ɪ*jЗHObo'&ggJ3{o鶻;ZZif8Jv5q̜|h4Ry~T-yx}=`r eC^fwQ ]i_+6}-קO &W;4*v}~}e} FXP~M:Zbfݩ<e (w]S?m:;^jTK1ouK\?$K4 _6&'r\zaB_5!Kj+$n*\p)Aum/m9Ѡ7y?? u~\>?x(թcHh 5FL-^j7`8*ս`1`F]0.'4o<6SB6˳Rj/,L?ZxO#z݅@۲1M5$f"y4 FU W!&elQ0}(U!7 iHBr%4Kj`*&שl[:IJ8*Sh?_ mjX=e??A+@Rw=A.Os' F԰t%}=eҌqdՒBIfId/ߛ )ʽ [GJK9Sfȴ 5%:`Kc`a\%IU=/n;G3Q8Ï27<&@yXqw&pK81@sL:0ց<{[npig:3Y-hJ?'[zg7W Pg7D|0f`:n/V1nz݀VFY$@r@OOL@ IzRsJHBN'Osd6ǦĴ*[ʫ/zL28Sߣ0-)dР>ҋ">>b`ůd.Ք =nY~~D6/.YU;`}P4:awۍzUkg6TMq`#[*FuZh'nw{hku:׆p tEh| c^*g{Y_j;a͹NXnZ\O|^L>DYӚ+!Èj3,h@"MgMjL ߛTCfUΨAAr*x@yt@*"kMheФ [\Xf j-/UYf0ڲ1Yh+ kk%6؝Y HgPVWPv&WTaǭaZZV ӪB#T: OAkYՇ_8I}haQkMvo֘˃"65YiC9m_bQ/mѨ>X)fgM` [Bf_Bp>W%$]9%5oWU2ZSif_k??.8yGkF%>К҄2ZKJZTkq+yga2>КRLkʫUZ.2qsgQMhC] f !PkΈt0ڰTL m);wi2z7)ߠ1sv4C]zR{Ϳ@PWMhġ!9z*f!سpd@Zһ28ñg^*KN\=+i&v`R&<`p߄M\.X  Z2DGoUO'-tYR+\+PEQв\:5;KS${GR]Օ.ҦO@J>k/OқWP>砳j> `׏ZM}2 c%zy8lTsQ^=QϞC,Z^rְS ?0%!on8Cgyt߄`jV?@9Nz0krgrqQi֪uX{3 \)@lDOBƥ܂}n^`W/3>|}$$sI<Ч)k p/i%@]W.a&z ufroTF&UyVTЮ5Cb@5qY?.4h^R43ˮ/= }Y1@hm%vP8Ԍlxf+{ $nչK7!;4>ô `vV,p:CpֆWuG뉍{bWl\P0l:5}OAd9G [!nWFS"sφ!]992 U:a|FAH9tv # *q0A/^}s}a#y^VBCN+W7gr,BNsU׀) (z`q{Fex^ÊYkfMF++ﻺk»?pO"BpnHeWOdRNKq׾vB tjD+#!uRt | |TNѪTD6'ע!2C=N7\C+םՊFekfgo,dv"#v'FEf7 D={4zNº)ǺvΣ83 6q:\?ߍjw*Y@* 7,ᦅ%zNJ ;i5c4)E;ZZBXY0,tq)v6in46a&ս_ <WR$۞X4]Q_ër_( |ւtTjXV*Ӗ$~TG( +)T]0q'pf)3SP-ݎm5j9X@4ﳀ3sJ1V&Йe`4STƂisf9s:}|$6H/Mæ/MgVPAJK]D;^3IY &uqtb1 )_&xFY#&xIHrz iSƱd{HG Ք=]30tW{E^C?KUi݆޸NNC`%<^mηqJIH;c@їa^bBA%! ^•n HPo<.v*G90.[QЇn4] ,+LkD:mZgcdo^D;%{zpR|J؜yhK( "2M-:e }NNTpذjP=/ՁT9@/Q,eVFz! &OA%?:zN^.l=oϢ(>>h| 7s,F*&"l)`5K+JN쮊d@PZASD5Pl.=itê"] y %uSF@gD.zsFBZK,>}F5(377[rԨʪ5Vw`Pmns{/T/֜e{2<2Wy54Ew 4yqN K'LNkgܨO29}in+px=Ԙ3E&7&W0ڽ!~iez,}YWqN]!UV-*R DaE*\ߚ*['(xe"< I0;^IT4JIc7KFYU0qlĪIVS hXT c# Um`wi- @r*;v=nhhMY>3RmUO' A(I(^ j' RJYԔZ7&'4d_EHb=Nwg|ҽٿ2K=5ZVoѰ810ٓ:Nd@ٴʰ&񗲱J M-*2htqYJ71fߨ7 *p &V>|I_ l%r8:n ;j—D*ZW,-oX|ֶ:кs')w|R,v>moN#@jw$E5k7 ꬠ?EhNɺIJMF[/oR q˝8.FeZz^.j lyP9$i$sL\T:/V/asfxX?kc01TYVO3@GvՁ:xLLnڼ&E為:B6kT8wTaK-Zڸ#BJ&Mŕ*Քy׷+ ?+؛76v,_{]Sv+VyT^.WIRyU>Dл!4"}F&KDFF#uT[l#PIA,NRD )^I⾉! `u劻Φ?qa#C l nI5'tblC#}bfcj5R;k; O>=ߑo1xnMp!Uf`kJu+^j6q:qӉ+~LDJ }R!;(.\D7Ve \Jfdu6±]N94p4Pw%*ԪYaZ5;7&g9dԏ]N^Coi-8!ւ*iM(_vx\g<֝.ҚӼ(ƝN Z)ʧգv oCk )@obXa %ODxc8a]  J 7Ar!癜Y8aP.g>-5$!+Rc~=p4~J|։;6Ϊ8F6p⒴9g1H%I ζ&I]y r! )P (9LI v~W3"x.\d+1&,*@ntԝM%ۄnn"Okd4j:ts#a;-өE47v݉}3qhy46#aw6}v)`kNڈQ NjaM+e`IB4.޽ٶ]p|U+Tk'5U+FnVR Zy.`檏 !/ Ёj0P I,b0IcPPH`C3GɠZ:JZt$jձո:VķWV*f).ɥ20Gv¢V덎z0ߩ өҬ` ]o6a\Q`0l Gavf8@=U1 /g I:NDLٙ0 j,)PfN6PfN.`f.T:ͳvEB/" 4|N|tce5NC%֟ 8YO9"o hD{jӞ 'ǵok#4fo2=-CKx;y.6He6Xql@l2BMC8q0<-C0v@oQE#ZV+>PۼhɊ  Lhb.n@`Ħ0,X*8grFłs~e͙\bιs..^ r.^Uh!+r&Ўs $+:'f]b)QMfTy;%LNN‚1b\|tP9G ϴ˚ nhQL1 :kh!9zE(Q/leGx"၌M+˓/T18J#'ϾT8y_Y2 Ȁl/قAF3Eub0yMlF3Td4 sC Pn&"F"CUvbetSQbt132pXLc&Yn;-GsێB\#](r\5 lN- l^h&c:;D6GGy,!is9ǀټ 9 6Prp8=:<8Q WEn֋ ]yڭ-$2o3ɩ%4pLfDAۿ–9w0!͂%62o3޸D!3;&`7.m(*M!RaMC`KŊa QE1Om <^b+an,<Kn!UͻZ7;@ֹB^ ,Vk?mUUy|}7⾛kTxLLL혘7f `?p#NhLS8'oN"ׂ 83* O̻-(ة^F+ öcSbI7&2]֪g.hy\8g+]1N1+v9񳁝̢C>' B'UT9NsJʯ.1d<'鹵wȍ o ֺkU.u`Z3nNjMoi! ǟpHЉ7# | F!9 䩝= ɛa{'f%62`P6IŒ s6E/;yݪ2 6!jY<1(6eT~Y:nJ1ďydtS%qk,Fo{oLώqE^mX@-6fHkKZ@`R*A[9@@S$Ak٥:<[4Җ+!5ZҨR% F(Hj# }4L2r5[ZLBTjcj_;,Ҿҵ! 8ŠU,08 $kuʿ6!q tL'țNM 8jt;}>o@D`@xRs:Q!/Ւr3^a^2@?K\AQ?y:M0Mوٷ~Ґv&25j(n.j wŵiS0NL8S /`p I\p8X݅8őq'v K ;2Nwk7> NN--P,n`Of圽Ț.s\YXv^X;g:UD XDNaV3͟+gqE۬[IR# $݆9#Oy; uJbw,!NcMNsL\-q} :0G;:KK?ط-nf$4 WIh,ݮ$RwDY/BOVeS%E]es6,T[tޓNUm)E.pt "mѱV*A#Цn@Y9o(tr̵3gKd]J)12&8éz] -={Z,Yygg!ǎ.4xs`{F;Ss!scX 5 pn9,{iY7eo,P1J#$naʎjƁoS//Цlz :=/e';s-/MpmҵeIFg=+bcOnX]=hFK:[msteI&c7O$e)xcݨb5IvMcXf)uu ;QkB::tq)•+ta#]̽\BU}]4Q .:q |Sh ͒v xVجCcC4N᭔r:AoNqrQj`1N :W%6{IsgHzn iyՁY(mb7,޽xq I[U5d}Pn*jlǩ_:I P#]:*t`F \ Q/㙅Drl!Pn:U^yuAU2j pZJ?Xn ˪%3WtPKOrHhHR9F,6V-ct/l|"?`4쥄SP*q7E5وכtT~X:Р82wƝ\[!4|U^9cc~VYihqP'7S +K%of W©iTW%WP5|ካT(}\D#lvid+ʚF>W5U ٖlRi_tE`3ʭZ4˦(TǦn@}NURvu#`61\8s%ՏϑIF lFabS&c}Ѝͱr]CѴ'Ѯi)>S;e<+:cNa씠#L!:6QA}Q=QM ^uG*4"F/^xٝtqqTFEJ8> ?]wܥ pk\#UH<C%H-̅T#A% }aA")+Ϛ**64bl 5=gE5k+M/VP#L=bSք2  VjVSY ȗi$/5IZ9'%.ʍNBzJ',8 aiNZF&<5ky;;;6M:=X|M;ǥv]1 i?s<)9mݔV0Tmm=VMn&a?]$Ļ浐qy+)#΁]Gᜳ%ameB=tpQз9«)8Q*;PCѻ9_T$H$8Fz֍??sn-EL5nϧc _3C-t&e6s趎t1#c{ RC*L:06[D;(9 ols8]pCnB dl T^} Tcz@ }M97U|KM G|' MpTɸ@(jo`"B#e&1&3կ3Uk`d8| Ͳq{qb&'.Ĉ LF +0 ܗ g(dC3Q%#|ڕdFҕzL6N&#$-EYd\c(E7!pP}W2Nrec*|&7*jMLvTԪQ)xϾ%* kt`FCLhQLױ H*ܡJ$ w_2N-ā1I;ٖtǁsI8'oP8t1N.CM2xaL9WgY c` $(Yq$T;ȀaXi3"Z/aSɈ5Ź+IJ]nk:ٱg]I+ك5X N.ՂLKfx]ׅ.;)M@0ѯ^0D;ǒڲeb mlsӤ$8.uX{@`Qj̽V[V%s@ Tc@C[ΒQk]c vC0͍Fg&DQ.涂I*c-T_P˶huS;yѬܱ'YG'9aEm6ީ8tÜ7aJWD?R!G|~>) E޾([tYlf5*L~qZ l⻼ e3|4ywAS@Cdsv'uEɁՈPquI D(IlHw3͚{kxı!֮;jTK31B]󃠃Yz`26iKNvtѩ ܶ:'ȶ=:hmbكiN~ȈƹJ#mdC%I=tAy:1O z'*EMʟ/(!+4)cCWE؂3(:mKEg0+(ux%'Y quJʇ\=\}Pa\TIXF.v*T9T"iX@] VH.6)\4=K $%M`hxb6FŊC']WڝNsDy~AvZx.aHԠBb 2TS+S$,ʨR+'S+x:^9 (U30*T8L;{3岩UDY.ZAQj%,U R$bj8A"ט<ͺ CckP8nM@rYF6]F5!#|EN{s[128Kt16UzUpfAD*]wc}g T,w7Շ hS_r2dt3UրաL J QR:$)`I^IYƫ:$֭$:9ҦAKȥwZs͠f٧w!ӻ&g&Rһ&g*һ&gtn*uv2xs)kQO^z ]O`zޗ)RJ\i=t>guJtZi<ӺҠd٦( UiΧIJFS!M:MRC!M:\:$&fwM-γY}S>-j}z_rԲOLeҥzWg4 YЩSsrui\>'VYJ7j Fd¹NKhV@Drw.߹N#v8WʬsJϊpuz}-f[_5k~i}$OJLj/Iq Q>)']Vшl&͔~hp8 >t[:8oi.0P_eH%\oYR7oqP-Kp`ܻi^CGF(ڭDn \Pf {w0f"ځq QPqL$xM>h!8|lp~rdHլ_:@8 ab1C%5.ѐr\84IhȜ| TP`0k\+~!<0k $b<+ُFpc͜%$ .9? AY16:v|󮱔߼iK*辜̅rʛ "˺ 'Gv&_M1Lhrq):Z+bȩRrSpHJ*PphݩPZ9 .-*:б`'7-ҏ>n6֩a3[)$.*!a:5k2MH\Grdh}Or~8C،.EDXSeDyڼi6-ív]NQL{huu~},1CGց*;4,Tr&g؎} C+jt8y2pXv5ap]Qa]̓X0lm0lхUrߙ#]F L$!lB NC$ ji4Hw] ^B WFCe\)ŭ[r83k.odY ҘY5}( i,:eA[P~)Cy؅.ʷJ.A:YR" )Tk$M-whSi bki P$7TznЊǨ[If绸VlN?Q=))AJWa?Eᆪ$/G/hdli#Ȳ2!)xn^ҳIKG/>>9zT.p#Ӳ OG/$ N1Br.YOQd^Rd^ۅ4C. Hf>s鲠K-7G/25TYꍉM ȭwBAR r#B42_ `- * R5ulٗt{ RJ`2{ 9ث 2{MAA,@wB)_6ɻ]فMS:WX,ʬޘ\l߄j.zTFȃZ *Y U:veo6Jb||Px6nj:Zf14oz](ER&^qg)%CV*(zNH3*G_&{B{4gk],IiNHob-]'gWN,4{):CS橣4O=0vb38TZMnĀ,9Ϫ͞b孊wcXyk0,8o 1Ok i!vf {=#LyeeѼ/vOw^)ǐ/K}բ`uJêRN-cuJQj)

[`` L4t:0 `s9{8^R]`F*e`Ш#2&hϠeоA Fq"c]lo';;F1 SLPZBdI]ps JM-?L"4dP{nn+E ?xuŷHCq.JDþ\,JuŭAۯk3YN, U-7.(,RU$::Zdj .,;Zmf;"2۸9+ ,Z %^SC';F66AIʱs$}EA/+h@/-AZ^d̈0y,#`@iw^z` mF؁f#_f۔e6Q_fKY7,FhslvBf\91yl=2aL 3G ̶cïgCpYU& EٙMViV3Tшal;CQHGj3 ^ xTwcDu|FHw`(^e60 3Y7DN\јWsX1wWB$թB2G UN1WAuʴd^)8HJduFSZ:r~&FW!E鷘 kB"$Ŭ=mRܪ  `$&gނ><`$PE[yn43L=4pJ )sh"-`l¸ºUxTXp.rޑx%ϸc-˃b؈q)n6I֗Gf76.})YCƢC7$mX*AFܼp!V G YSspÃaQ`]GW"kp-#&ɓ? ؗƉ<CsM!;t<9F4'r૒$т8BrF{T9+{7%F8x,VH6p`]1dK$\NOgx̵B275?е)M?i8 ;4@o:= V'~[pܳDž V;v/XQ%k@' HŝGy(QV c.Е1b6y}RE[v>FHc[z?_0|8ּ^>- _O Ɋndi׀j ]#RO Va#uF sn08u|ݧRot\ao3mѶYt[YsҲ٢Z6w.`5oj2,o6{!،e$G1f.Mlfy ko#扸Y d81zdQ2Hp|:gs'  #RDY1Vyyll${ 6o}9(TLyC7pJ ]I,Q:muG`s#@00N5EGhtD#yOM*nP vn@/ӷ8\N՟$[,:qN<11uE quMx*f1IXQN,([,IV&B ,p,3 OlFYjCՅX$,# [X9[KisN~圓[.dДQ!=+5 IZje}Fa](y8gQyg`Q+(X(,C'$2H8|o1V|俕zm hK{̾jvO4QnJ8[(7jdQ޵7m$+} *Eyʉ(pZPIPe6=3J%*1tji*D D-NdD jySC u+ ZR "5R)SC1EMubHo0`qifOtS.@o4UDpMպպZ b\TDZL볹QKtPitA_WJQM`\;G5z3..-5h޺-0D)G-5E򨥦 _5E -R;R |CKS$eӄ!mպݦQ]Vȗmrz.t0|19rH󞻺_VbgAz:XYDCTO9Y|"(N;Z Z ZOSAknT)GAknL)i/N:/>ТkD( 'KM=p5;Oz1i{ԹjdF0qV#S{('|lpX5ΐ?QW ep| p[-`"| FF-a!b\-bFnIM5Wjk8\i suZ$>W{a \HO͚\q[<&W)|p>Wy<'NM]PJASSW 8 nީ̐r69j<jܮkR5WQ\G\BkrUipMk4H\,\UqUʯ*\Yep۪I=HÑ2p/>k 0~ k`'PZľ` Ǿ`}G-\2Ҿ>5W\W@|GUyJZ|EL調J#/3]5W)\_fjs]5WIiU|W⌊.]5/6]ȃwC<+6]أ?Џ=Z-$v?_c}5v?Ձ5:I>WsN4WsU|kyv A4o%{|zn6ww־~oѓS}F Mm7vӁ_[N~*۞:@j̷ˉ?*J!%C`iR?I/!{*-7ew P>l1G`a?Mnv#kwg]ݻ[ZqhB\np$Yܻw0*}K¤n̂b;*1g m$Ews?÷_DλwM{',Η~}u$2u-T|…obxOC+>y·1ȇsy=H)(s]P&A hL$|BG|kZi9M#3Dͷ%jDJaiMqw_~臣AAv [&_WJu԰?!E絊Դيft߿w[[̓?4jq,tkMϯduE;j13#2Ulj|bד=½Ӱ&| " +id߀Z w5J*k\䷎ӿc =Cն߶^>$@uDqp 0O4jvɳ4mкWP%iJXE h8S꫺ME:h]-Vݱ`z&{#-9{^tbϟ[n)gx$E/,//թT%,Rꭄ\7Sïkjs]vfJMPq ^g<ŠoO $@sloowf= L)uc]!Ć?Sm&4lHzv^NwuF$$蜸^ t`XDť À?g.pc~b^ \a6)qxG 1#Zl,zi #7 (yDpADG>qAm H88D 7N^E%7w}<裏'7/ m{}p~lABF XͮF#,z48tѮGF͠߿RA^1#PZ4,1 nף8A:#""3jO$QxDยcܠYvkZe ()!l =MLnǰGڃa~曊~/A?o%8|$qM1HpDcị8:,Gf~R^Wyd;l|!ճ"R8V՞z4Ji{x ,Ꮚς\3}?!.(<\, ”6,Iε|6n-SM`Bsyfgn;%IL[`+%—鰳KZtr̼8 8MSCZ*[!cCi]0m@<㭯 _TUXT“1X)Zi8䑱;0oI"IΨjVЁL~Tg*-8»b1JK'!oɋI+Oo9}4:XZn/?t >◀8] blu;^zz7GdV贍V$eKP Td<葟(z̨p Da~zG:880ꛯfݠeޚ)b'q7Sk[O@[I|lq4͗ OU0£=4)8kys8pds 3aIhZM۶K(Clu[LoZ_pYm{\Ul:%k\/dM8LcȔOZ3Pe.._/rKL&{UlM9HQ9Ǵ_3ڦ:X/9rO> fGƿP%x17-Y^^3tl+]5#?H%=͙'oBǹW5k-@e4ȹ\eY^ٍ٧ ~K`"+Fv5"QVW?v?IBY쨟Aʡ90aq6]SJX ȊSJ=aw$!ENSBp/`^f$@ʰGW9crs<'WG\5Q7vjܒ1qW+v_O~;Y?MB02\Jo::dB,ZABA]C^b8]4 Mu(9Sl_ Ntw~cLb?is{-*W\$b,8vè84Uͷ96)oX',غQ 5[ FFҶ]?RhͶGK?ߏ1)tF2+ecBoEc( P= Vxd"b뱨_NՓ|pDzfesE qrnt{Q2z%bk 4Ff# &!UL>]0rJQEHPZILr#ym;0[D"D~x<δ +dRVHЈ,%ɄOMxz-v%3T0PDB:&”&5:Ɋ<OkM$)Yd% HХ$44ѡHVxz5^l"Il .PDn$0ttD"OӫZdIJp{!= H(X"B%0ttD"OӫZdIJP K$,xgDRD:Fb"Yxz-$%SlQy_1'+F^y&b\5RLgmns+d&+Ç;-;ʒGݻYlRBQ=~q"x]su8A@F*HV+#kehtVps?W`hX@Xn΁ܤJ50FOYր!uW(q] KI ق]:2sijs*M=eoזKbw)0][E.-wLanÀI3S2FML V"q%[ {KIJق[:q))s*M=eQwI\w] KISd RrwM4Ik%L3(c 4B6͠`:JgI8K9Y1Β`Pa|Z}ҮnP;ƿW ni>.>Ԥ#{|< HĘ:'gC;K(U5 xk Auޤp `fS2#[ؖeHPfܩe>q];W@VDQHULSP[^Wm o)"hMvBݤCNG2 ʼs*Ao$(LW2KP'#AG\Wn`:֡ W8|s )˪V}iT]U\FN×IɂÞIePqxaUbMeW܄mR>F# r _j,_@ȻP_$)bp xzu@9M9 sGG$V1Nލ31 r<@ƲkEYw<MO'ÑߛtG JBqӟv-l Kr'uewd6 @t{+ޮS3&L>]Q|,\zW"rkO8Nxkx:w/W#ܭv~o-Q?^ ,E W]/"|ܝsw~bQ<1\"D%Nj߻%s?mXKbjT_OAζIU|ctJX$OG%®Z y?e,`JxmXYb-SZm`&P;~+ɣR7$(^N_~I]Rz3̭Ho0 MRUB%FX⸠$r A2U%J'vAެ 2}܍9[İb[U+3^l * 7 Uw dܓW`y.[#OHybcTݜH<'] iR +=F$;A5N25O @!FQ08 :]Sw Tгa{~ 12SRF&on iԎb.eB0 +&c<0 K8Qy#3u}X% Sɔey k$X' BSSI+]z._?{ܧ}\? %$"$Z]XXŸoxao_C:mea2d_.RvAQ0,XUZYa LWD 5n--zTK?(nvlכF>e_% \T"`^5\fko+neĚI*E^`Zԋu|"ްR#zT X''^KVu U97k4gG1=t']_ T1тΆY})w 2qnu{Oro<N7 %9+/wqٷ|MmsVezv JbN?f"t0EUSq AawP pНtFg?vcXX&D> EcR`f($(&,^lM'uߠJaƙ?ߦ(ݯS,*|ľ^#`Zku cLġqp3+@e:Ͳ &y 2ƿFMY漤#kl j&UXO:A&=!DD7+lDiR81;?B "_˛09Ͽ@]:{4Wlԣqҩ8o0`U(!%8F&R( 2`UPdJ *A&P|yZle[Dq8Du ۍF_S>v?4۴zz{wDcx*pR䡈8z¢\G*N'?U<1<V2ʹEUbR(M|tyv?Պj%;yߏ|2JfYqplqkб;eo0ѝ{w0؏gK7MދDa\VṴ}d/_tb>V]BEޔs GTM@in|c(}2hx=v?H[N7u~Ëhi!EjID;["wE+o8Qx<=AIs7&0H*B@I0#3(T:L}S_`".hل{v_0 &L${d&#magD>gEx #bgߤձE!z5+W}l8=wnՐZ/slwAp]ժ'W,۷AEzmZ&VVMQXCI8 X9H"QȔuFFQbxFRIYz}/ I>Co4Gϖ^9YiT̀%K>|U+17C&V!f|*"(?\[@5.sR͜&LQRR5Wԥ,]&kbSs+G 8LxϢ(z"HTCI4KRBPɋqaʸ.kYʼ*e^ڹ&`ZrAK.u.2׮U.yirSV_f%e/%66,U`A0 rmRwR1Ϻߎ ;TcyG5m^Zuժ[|eGl7:7Z5ۂj]^*|ᅛ:Ghj f7)J|W؜>y5]6B6u+m5ڞSCz]{vrrUn$QhgVn5BBFUOwԜzmԽzl{ת50:T}l޴Unٮ!5QWn&6٪{4?ymTNذjBS7xY$k\S(4 \68!5Du  ~JJXRԙZ ɡt.Q=[Ȫ} kp; EEK9wIhQ<=˕VBr#їCVD=3γ"8E%YHbF :NCsO*4CwGn`yY҉S:Fn4h_6}XY|J!KO2ln!nnt|Oao7jS**s(Q *X3MhB,tI_R:)a09&dĕcjCP*][sFWW`_RNx']ɤ @ k@PB"dL HRos@@ʱF1|_>};KVf߫rB-#Tt o#& ̈́ãBj$EAuxs\G)D4AID@Sk]Zӟn߼ vLD|o*lw|v/z5l}W0K(3-+/j1T%־uJ* 6'ËG)/MWlҚZ#)Mi7JfBp,9>Lj AG}_AFYhODa%.B{4H ZQ4h^"i5Q[Agg:]ˉ͕hwB^9xmdT;g@$*#vdyO_p.T}S' 2f O:8'5`^WB%"@7be d,b=_0n ߃UA t`JR#pY&q`Eߙ)v[=% (ߡ`F@"[._@?': \w.rͽ.aT*}$ӆ`]zPݡ phn*xesWj ݞLkDv5 bjC3Wj\20JXy-YX+< K-mgZZQeRI HX^I4Z"o7$D|PBJYh;(Np 8k8Oy\nS_eqJ |SIJzy'e5~ ۃ''Scj 4Vy4-{TQm.^o_)gP:;hWPoBǎ"t[D Vza QR@AJ%)2+dD:Bk_>k5jZ]@[4Doߔ8gxb߮JozrD_B?Y82A>OM0̋V࠴05~t s^\V%)SfnmEN^q LZһ*$2H`gܷ0o.h\7 !aYYl55)\l*Afao\D̮,'˳h)"'h+[/;}P(;D Z F_{ZzQil3Ta8qs83J V25d`NW&}3:=D3o3P C.>|f` 8$2Jӻ <7 Sl-J^$7sv(wtzňLP>nm4zxH+8muЍ(ل-W aUA(HaYA'iLs&bv`*XtC[O|N>] d} Ȼ8g۝JWܻ|S\n5.Ub˄YRnyǓՇݑMbcvK?OE,qY^)ǝ_d;r2+;_Z <θhkS@۝xsl<|y!$Cҷ|kQEhM'Xɷ -q/-,v&TTk]t|;nD35bIضj" ð$*ʖ: !a_`exlW?O7|1UD| :b N(Pd(\Ϗ6궸A@Oixcu Kf4}=IdžA/JH4ډa$$eҕvJ}~0VGF܏prudBȌΎj\]eVf*\\gER"QJH "Y1m˾p1Oht4XL<&Ej2Z7VETз~MĜK7q#¹>#!c:6 %Ӟز] զVYBтmTneGĊc5)j RN95W=UIrjo`z! oċtb%AM'>e_F:LE穨Mg~aTlW~WpjyXOh{I^4>Oq5'\Q4KSV/-;Ў8Xv4AkPr6!XWp$Q@Z5tB~k-GC)z8s_-ݿS?}Attwr& 蟗fh5:g7ȉC\ݫhyiØwɮ&<agS7l&ǃS 7^}VΕ*؍.̍,sA0TALirsYSmn8 t v!CgS y<3# 98+4]A%iO҆m(җL+ "CAŒdNi,Aw 1́@z^WPޓ{P˕F9_|w׉PBsRN\&< ;ZvEV${7l^zZ4Onlag*᣻f<,б pC=_-۬r)q"d"ǯ <((HoxTxyrK*+J6+>)J)J)٦tsE';"n$IB6ەFbI0TbvTD2)^y&S*<%TTȤ.cYE|EβTVb1!ߑKrK[cX&ȹ)UPVrCofEy #O$Ԯp|[ebvpD />y ;lNaӨlZ})cM[y`*;MƘ.Ks5izBɍcZP7OtSypkXT:fcchα ȵqx%cr*~=@̍vUKAI>:y#\l\1-*zx\(IHˎ.2^kB* U?GPk>bU9O QpNS: &I(y蓉.RIT{8.b}~"1^Y Id>qyYZ4JI%7b r}<R~8Pw_^n ~JpKV|2e4Acowlo*94Q/O;0z6l5rۑ+HFN<y~ViEjVvJcsrܼyMv r:=xݩp xܙHQϥ#)hqj<h$lv)ӴH޼ ~ψfxm%EVI҉tGe_Oe?wqgPw Eyxp꾴]aOnYS<x&Dkz8&hxN2tyz@gXūW 'xqTA_1ݖ(x&3/K^@Y~@6jrڠRf<}X))02WZ)3=~%ڌ6Y^FJ4&ũBgHšꆢlp*.8.u9EfwI )%vXՁ~qZVFbM=PhzES8/űƼU&HC3d9aS$~1+:rȌ0rK2;)'ѓ)DWB&5h.\PcIadcm )-w=׋8%Tj>)#Lo3Ap&}FДH:"'Y[B5SDT2KeAb(n#Rf3 wFZ.1 oL b APy#NNs)]U6QH@R^,J~PФwBGp6!^ӇP wB@6g\6=s#ĉHZyfi吟( nvR.C?ٻ9XeϨ+pȜ>b4}DPG4)&y%HĮLMS}H-r$ɽF2 FwȝF2=.IF2wf)Fn5 ZC9n=77 ,)".|: VȑNN$pOBnidۦg[a^[-O3Nu ~ףDC}^kRI'}XqɓghhÑ,SC#S'~!_ \1Q1$~jK.QS=:^t~]ӹCLA7bG 7}U^l"XO %W>O-:iչТtJ j'sC@WtcS`^h7&UhN2kAS#ժ 9ҵC ƌ[q3^HIau$SRXg1Q(pz3qpR^XpzjdN'4^gViz-VHͦ^j!;~3@אf)K<չ1RT^QFr5׈B0!o'4b] hU^u]YZ/qt;v(I;Am NFƒxx=R&N$`Hc.(RN1xsOSq,5!:(Sn1GNza:sw!1O/xau: b_n=ǯU<{=}dx:hxlm[Ъ,ŭ^ arĿbQd[_wPyg ̋+ \) D46̏r l'A?T~t3/ { \0 `,b>'GL_+~Ą"*%y=eHb*q(wj n!C3:z/~˾TKēu[ߜ0ALr[Sz[i;(F/BVJU ٓ콕yvAAz{oHSXUŘ~aL]#K,Dg/;qp$=Pτia*VO=9lځ@il{+Pv57uܸ6āύ'1D-טk=ȫFaݲpw7,"չN)'KU|?W7֟TljNsyFT|Oԡc}pm5N&39vUQNtJIo 0PF#0OcI- Cziw?404 8ΖAE*%Gi P&'T_IvmYLN OcMs7t{÷vѝma{E7FUĻ-WY:rZ495'ErNv*$0$vd8ʴjar$kkY>0(9 5aLgt{we;&ф,A֚ʈ(g ؔƙYoaKV;%a(+`lqX%V5ZΆO9Ir_ I@Hr$#?DyKX4hNl\]GPX8qԥ5Tdlb;y,$MIxZ麇ur܊WCبPļ^Ob*:(ϒOf&ףa3:6P}Ll#SLDDq p&WSyМgueδ wgxlY3ůL@PS3G W74ꖲ#JsQ7m-;ݺ.qjJL# ´I$}煙) KR =Q7+&gUS0\Omz\}U.9sZJ!k)ë[LkX/8gz4Se4JCX/qd:yl96c#hP}CYXh awS+NS`ds|ܼa Zd)kjiFNx\T(_(U _YTŎ싻֏ {[A'WB7{r{V-ńW \dQ+Iz{,j2${ٿ =)7<^VFǴ~4~^27<*9p v \˃_U_U\FYTO,ݑ*}Xa / 4ⱌpd0uL؊b hhlՃRH&nKFT\IɾP^RLl(Xۛ{NXzܗ gkT-Șe˴ls\)> EmHJ\( mw5"]qS休αg*":"dFHu ;wϖV0U#d|VKk`du5_%A"5$B: ĂA r]ZV)4 +Ȋa?YE1 Ȫ*p*LS!Rѫj8]{F Miv|\#K& ώeVXh":+jE=ApԥN7‹ XO{QAɿ07j!܇\{Y0 ժtF/93[#O[=Zu+V"NVHpKhݠDɸ'^֑<>QkXOjII_9}2搈Nt?*?mYrw G$PG,]_4,~՜VF\ غ-y^ L32"Tkz>f{ j0U8EJYځ4Gh*$- ~WkoC3ѹW%M`LKj3`&Z]@؆F8tѵg?La)1l܊/ R|_8RQ%sse5JQߵw")C]40> vr)״vcLAqˉ^ho*DL݈ _WU5;ښH9qhv!'=8V -A@mhFh}qhBq)%~-FHlF4^uepE]0$p}-t>u!w̴Vk s)Z+kACS*Em!mn^O]Gn&w \GkACS>@ɹRu54%Ѭ 5u$&t,'2)i1Ik֑.At;[~%% >i%kd:?m_djUC_C^5 Ѭo<ɱ9}jE^z ;h-j҉`Mw}[*,pYc}1f =ЪQ3M:hW ~1Dt6KU@&zrjp~kd XzKQR }q2zkiE $KeP)w\P㚝<=I%AT.gf/2$( t<7JU,C̥ 5F-Atuqtq S4~'g}j 57^l,rquHe[A^J5^s#|f?\OqHQj~Yี&I;[֡gZ{7 c-ͷ/~|q$rէ33yf\魠T%r˾]nuSt^D)VuKь3itީ}vl94KWM@n1ЌF V)6"d7XivWErc*uʝD){46'8L3k Kjq'6^`̮l%6__(cԐ F^I/NfF9 mY@/p}+[l%_ʂ&(&ڑ,HApٗOFɣ"S^DXU={[^JazdJVFJ>*\ xkTqJ~Q F%_þWNyA F[]Kw zy)0|axܻ,>l]~s&қɈ:YDtp`c 8ЯdؤsR y, jͭ j U }""ɰj֙-Vfͭs-c+zG~%е}?0=nY6ӪUlUlUUuKe͇+!m8l1_:s֠\LfWOb{ p)L#D L&ǘD,8%tzQO&%@w`YBÁ͗+(ЈMsܷ@]1G4~BUXGT!!NZ"ٱA⟴`)>YK|=p !LtT7+9On7h~(ژY 륕}7\ewk }e/eH}aM}aK}##bǒQj= [, A-ll1ٓ 42O^zovܿwïLw-mY ە%NJ!Gk2ҟ<-Ӿ?jWoVNq>< .pԽw8:`gƊx8ƋMӎo%KltDv= VoniB3[uI)oN`Ճ9#ô9 7p5K5VALaO'A+h-!&աn2j:Y(@u+E}<8́ \nĪ7LV"NLq]тY;IZ[3JeUFpG :m Dnj)84*0CxWPŪ!f:%2^S<9U+(Va/C6{Ȇa&ȆWȪސ/)pM,5~/]sr_j05:͵ €FW>NW~ρqW:zuk߰wj<z7 0B8 f lHt՜Std̙5yz8%LޛsRǼ_ 0͓br6""U,Mb0xmoDv[xNWiUW|ym JU?9kcB-:W+Lª"b L6 Zsbu Sx%BAr07>}%UNΑqգP|>qմA12g Td]Ŵ"ڵI-ݚ$MVIN0 TcDLu@9lq14X:vp!SbO!eMa= [ RABle<.xJ2)[+z㬘WU g3L}pl X/lsɁz L@?M:4LSL/L?P 9ԘWxls.`V&6هiq4E[זt^4"G$]NGMJzaSP63)UH<.N<7r%䅬g=Obȥ LU=#\"^ (D=z5 u~ա pnv(/qPf'0>ZiXܭ «SRaByh!kšUӾxh92Q ׀6uh| @K$ҐU|A,[Fqۇk$AV؍@ 4o ΎaN}&ބY1R6/[NMD#U^Y B`K$%G)~ز/XS8NΣ >7c XT%틘VNh:yuK AWU GxbOڇ:Y鉃NžLJ[t Y*]NA"R.pHN GoH3(tUݚA+FA'>?n5NU>;S\+>:_>XSG\5xPsC 3]^Fo:g$fBT8_wSfBϩoOd54pQς7zpje#Q9uro p]l-^MN{t1ypCc3i_ansXp@6i6됾<-ízNζb3n7:j^^fjX\mIjPof4e_!Ostuq6Bkn:\˲٘\u<,iRۥZ`|16nA (r! dlMdhah6a):3[~4[ V´p|c-ʪU-J@1v8ӊQFH2^mIպH9d[ ˮ6rg"d?-&Χ Ux=̑"yP6|4̚hTDC+4aQQ9( ,{CCOǻUA$23nPՖj=S=%TtCmp\Ҝ3U67֝ J{+5Ofzee I*πws4@69wG&Pɣ< .P~<^)9 OPO-$qve>:+D =@qo_(l5S6Fh/uOB3i 4& jkHw-AZɒIl~7= rQtuBs>2uRW[4BXn-)򦋟XբZmސ(%(z%ժM%7Whخ9I*/;#x;ۍVGO8 sB֞u} Nwn wFTo9 ۟l;𶃀jWjo FG.ݦ?Pv 6O#M. #@zgĈH"YDמALr7 _EEItYm/ت{+¸B.~(Gx0룧+, ]~0i@xtT/wT$˟/kU{4?§̛mwǛr:c/C^f|QxHV\HÊ@ʂgLGRQﶀ;t|6Z/cYQVA5dz/kbyT0.sȩO߂@Mld 6e^rD$g{%bë4GUzah;jT|fTyi iD5(cbX@p$]EvFW+x}}(~E؊A r^Df5J݃GG%xbP$Oo èH.~Š>1q |OO DvB J,g*<_{U2v"]*tMҜJ2 i:\:R~SaҸeԎ j4?—m9+Lx i)JiБa2<[`$uny x,<'p {_5:rٲ1!(|~lqJbT.Il$}ap{`nkT"/rE!pSu>zY=[/'-ΤR\I|͵.ƽv@khY[w@b7ڽ3&k+wr|5ϓuŽ[a éT0mHTn'*ێyiP@ ٠Inv9bItImB!jcұV GT/ߛ$bIf$Ib KpMK n;_^\YfxxOEQnc`^QDt3E.Z6d#_f ZWw'!]x?=dj?pf;h_۴Ubj/]\lOFF! 6 ^؅K{7$~ .R<\!9[@A&,^p"%'3Vq*A2vσ(L,Q4'8gS⃋>u~ ,'A" 홣(5)MkYFL 0 v rV~2z5_݉D<@HciPXƔ,CN]H-($Zo QX˂ ۸--Y:!~H):%;1ۀ2ё+@E'o#f9<t$pLZr"I,ptY]32-@e[!r%$mgf2jO/I% x[lB-Ė~ gjj$@Ea`?"()2˟'N%nAAɐ!$ f$Ǝp=iATꔒ=bX$f=]jR(ZC*GD .Ll0]M%5eL LVPNofXݒEe^~*t% f+TQ(Q6MW%KYU z1,a}o0Evn*M_Ivt iji:)Ghގah? %ˏvgp[溤q+|IU f2[(ɡ쌗FΟ˗~C,OtZr _~⼿βRE T z"K鍀za'J-M6sUoۭE ]`!vpiL J*6bºwZaOk|G8Ӕˏ-lS%Z3 ^X b v*MV,İ%3iQŪOo>>;3?ԫ'?7 r>]Z\zVsP>&ܟ3tcY`ҨdYY u1||ʧ.^Q>`4l5̻ҩfy`} oFB{ѻUAEJ?%U6ZnTxVp/X4I] /g \ %PW:`{V6b>ǂ;]s~b @H: {֎l"LT/^vbQl{ #h^{mEH&,˕%^ernxӣ@?ڒQ?YnnpT1 (}O^5posWïa #O]]Hu.i;:ˀP@L8vIhpEt>!Цwun]G@D)PoTN2Nz|g_?wv&$Ku6\z.[8j>s}Q9l5{SM-X<2=|oЄ?EkZYvwAϮжOpL6=5αW8M4*A5,<8q$xfjIG(yuoդU |#d? ;~j]jxMr^#Nk Z Mb))JiS5+laQ 9/jYj5,@~-jY4.I$ei\H…q=ڸ$Aee4. PzDڼYfPϕr\ 'CoyXoإ9~e돦R)9^sr>.4(p Sՙc~UM6IV;WR)KII<}X 'ئ5ՂYŽx7ynl?΃l[ _zc|rD?W;Zpaw .:l8h=]ۏb5Ke#ylW,+XځV0<8֦;e$S*J!m)K hȄN{?ekƧSc2;"u .hcEt\i6K:ڱ6Bc('d z1"TNIZUvy1`̉_CWIX&YvO&9pH#-+Fc[0ils\Η/5M;-i6lS6ɲpLXVSYVչ˳8ؖ՜ ضVd| Y;(J\rʃMF9%ws lmF0`źm17ݙ?0w+kNv)lLGd-{Gg RPJ-1Fȵ5Ex?QJp|W"?7,UTt ,rTBC*4 d/Ϟ$c0E Z"2jxxy8:B@DߋLrC6r 4!x/C^,= E!FX/ -rH*mzQ%1fk{M2[PZYW *EkQCiAzaw Ct-'JKjg~PO ]M>8!qVj͒"}b}XiGZƇR^Y& j>f:}i(S-9V3*m>:Jjsxwxi]_!wB?f\ꍧϏ?+i1>e7p$ l[zA`@}@pd 8Tu Nɣpvv$zΏaPm(=& ZbK:DUǏh;M@y0#{MdpzD'>YZB`ہOUUBc"NBOX%#\L3_i+Ϻ= bM2ȱD\M!CA%B)I&zo V>o@:F%͠ZQ3FJ#?AP%rZxd"t4c<̂4hn^^>x> FC`t{$!7S$C޺*9N1Ygx.@#~՛L^ЩP6hp@idڏ'M1<ܼx++Ϭvo6,' y`zFD-PֻUE1V4(+9֣Ff 6۽x88R(QK2 *xIҍcL3Eaܣm@NJ!TPNl}ktcEiҋ06glA oj^:0͠+ .0n2Ǩ]:S "Gv_A"3(o@a3`GӸg;):!^7WӨJv/jѮ y {ͤYbյ^=38<>UЉ8Mf#$$H{s#D"AsBؐYFM:_M6K!utkxtKaβڠgg&R*`^Oo! :B1[Z4h̔%T$JvMW~{RWqO^1?O?7tSk1r[dIOȴ6T,kG \s d4a#6t׋2"fDH_=RJߵigK~.N5If~Η:%kZr|Mş}BF+Gfi4< 3dASp0 +u-8`b4Bf yflUg`;Qt]%WAVFH ZuOajaz*Df@wzZѼ% .CVʥ.aG:L7>Ythlt>N?0#CP#AHpsN(un ,tYUAU:R&KBc7M{Qn#]Aq5 (攎NQV C|'ALzձehiv t\dnr[6k`5Z5ڜhU֊.[û:>gLu^U[ Js ; Ԋ*:j% x2];MnȚ&I'rA~"8@5\6_^?^ GY: Du0^Ccn.u AU$%8X)de~NҴ@7`;2A=!X۬vmܕ-Qk.ƐGQVR g[iYib ֊6XHD"/()5-T833BYAR*xq,8(/~uS y.Nf0r"j_,LdYl~* mJ_o^륝Zu,ш6*i8/1W2󬱱}T~m7CMi>dm]͐E\Fcu#+uk nlMbq'?̏h3߽y[Gk_xZ?—ɼ;8z9w!z8~x_Du\YIͲ001l]̝>泫v|?vk?/kf=dAIgnQIORTgl o3te|~gqq&=?ҍ ?G& TQ7"$GԷgVA ΒWKI]IΦeA",K;xJhz'`*գܣ} N_ '!ǽ^f@4%ئ" +%PhELfBt\&4usjg$~K .(:aݷ[V-;JK% t~:" xMAYVF0.HP Ӕ}w -1ѥD ?ަ ㌽|vl&MȡH/fչcЗxԲ@E>2D:x&g<_W=g1|zo_@ns1LU򓚕o(~otL ?gJ̧ p"h>kD`FKs+EC@5CQ9Xh7o C8ĨDC,[ߏҵ=&]itt&kl>kO_mݚ_Sg_?MLiݑ>lKr?pD{ZZ#w{Ά>9`\ :/W,s; N WwN֎+)WmeRVɫMJD= !^CN}OU,9z蕾t\G4L3Y3zvâO-5{m*G><)OZk9Tc 6@A(v_+19^*.I=JzvE9oED}==NkYׁUߊWqp: P `ˏ]_ Z&cE%$&]E Jw?Xv ID omCxX" !`ks &h A@uIx37śL3)dN^q\g>B;n HbK{qEK߷-K{Mڎ L:vA+zF⠝CrR.oHF.Rџk2]oxd2ECTRD=&ٓ !γ\ "zt=K56CQ" !dyi+,%̖n@Ѓʼ\pw]IY;* y&Cv%֨rqM\_ 1ϸ qL70zt&dܭ=$ 70mz%=0ZdC!J)xU+ƣ}>|%kW 5o*69 )b6ڒ"FЪ4ո8 Qh(N(/=BLК+2HڞL )R儦ff'P&3L9oP)W9*wYk/W0Rɨ U*ј W*j!+*dxT=I/e58g|'Ff} zx>k kRl]NU-?u;n%_9Ҏw(ir _^U e?TLe}t؁PdICnpW~+׈&[ls A9?":{Br;0iSVAG0m^ hғU?Q:c S]Bߜ=~6Խ+ u3% gԏB]^7N|pn{+pu &7NUw :+Bx 'dw_e6N ^Ԭq#`+󌛓ʡ= r)eW/4t:ҞacawbW=[HEI|KO'M#Uؑgim9LDI"W 3O&[NeOa9wmN Vy=x/?o8ݎJw{߆Mr4AipB4o@xқt< bߏF4hSkBbiѤe=+6G9A ʞSJ#p2"K,_=Eo_釔-lv&+ŅL6/܆.8%LG: ~V?lo‹ gMܱǖw@O.u9K+Y23J1͔Bj-6C +y'Ӿ;d_]#54E#z'G% * w3]I7-"ͅ02wRNӹ[6>%l:PucPK}'5m3]4L0/d8ӧh,)MnSEdHVG,ݥ5':]lEɝ B̔m2m2^%'=!MABJHs}+h/Wkؙ}>_7x?ʧfڏ[^VWi6z?=k/N8)PD.@(2) 9MZ `^? Tk7TVjUSOmf~F~pJ_48lFg3u+0,cJ[sD W ivbl{6a> l4io.[ۢBk*L66"nі@ZpO\rJv%NP~) *N>zų?zDDH86{Y%.̥lF^]@@H>l3vawre~@Y/ VefL_ ˞4Eki 3vF`*/UcE+8X5 H%>NK%/H {Ñ&iNBL$ BԱ$jmɕ 5@/[˗.x<#q}AI:IT8@rDG rC?ufQ+Q)p3< YwZw,ʎ3R"P(gU@΀ ܷߪeלd"ԠW+'T&?ríVz{Z_؜tM[ \"DfIw.MNi;<;wnG&3Nj+x~7;I1 ΃<16%'Sk'*4O\HTtqs htCv.I(kf>=K'.m),Wßv{zSw0^.gv1tA[-s, CQz:)dMI-`"ɿN)K>1bj/g^g.^w'u>s˛ {B47غ_*^EI ^/lBZuFl&ĚRMCZ-eZ3&l6$NNnC^lFڨ,"Âgq&ೡdޯ{A!'}s@fpqgTӸ]~%w_ iʛfnkXak+Y+8t-awkK0^W3jȆtOdYBr4S"3y%l>aϿg]`egڡMDhc"^,5Lr( 1?L@`3%݉ިK{hbna灱8ells2؛# fD3^Ddn"oF*]l9ܚEbySHxm2O@.H8 V$bDZ}Xk糯n%g\XjMPש$& DtPJy{L2{ϧ(΍{*nu^: fd:ŲpUHQWviō}Io5{SB-ϣ Fn#5:=Ybtb Ww$!\f) '1Y$UI !0YeH1ŒCFsMe7Mqs?uSHNefr-J[/V^ FR`a+Q$7jFǧe+J87r hR% FÈ/^t`-y C]knO ~9?HTN Qa B0Eoxv ή}CW)).'U3t,0^1'J=}0B "@'}Fd?l(dXڭ-霃js,^Qvm1IRxBC̉wM/-[s-jOc|jOΟA"oWB{*r:&,=l##&=̖CxsReU=0 bl֢*ݧ-T }4-yAF0HK?ʷ9%<?!>NW]gS4쇗Ql ه)h$X1{h4PpLhn:zQJX3[ܘ|lcd4FKόnf Ix?.痎ril>5.H6NqU|ޖEA̡xlqTu|8KO*qosna{eAHw[~;g8ÛAh(o~q'W_s dۉ3F wAo )',*'E$QyJ!n*9nwѤRBh%!EaZLʪky6C.N[:hyVYDZыSҠKدvwQTrqdOH<9Kp{}lĜ sl2*0r0s/?UWhpE4b;aLjP 5jC<5s.N c} Ksqp&yS%ꏪgD,nx//K ($ 3b+я V.s+6ލzՖu;7 /od5\xItQF4{QqQ~;RZ}#^^ip~, Y$<>Q(p{5i{e-]f 7zt{7+L۰DN:l,N S0,^uv:.Q5ZV&犼]6j/QKl6JJ?J_.QyQx}Oq+D hlqiDErN4.3iuRyoGp.64n;*fKs;趻 mNɾ.0iM 芌(DpnBGkf)v=SӾ6 #)6b&83}`BaZ+mۏ#$&/TvZrJ]WQ7/9jG jk+W`gS֋yՈqg;՞I_;{7066>ͯa4z-;6VF;kU@3n 18~#s .܇P{ˇl A13h>s@'慙/P̔pPft^#[/-l,'҇Kl;:C-~(x7Dp%_,sw")iwr˴vNJ=f{O[0~x@ x6-S܏ '0h/*BmU=t.>C:CiA+oه}3_1hYF=%?gRfʒЂXNm["1{vnLpr}fܧ)Qx_>!\J| x=T(IWqeWPU^);mcuG-Pgq&"$r $# 5*qiaWɣL3RD"@eD?m8L n봕#ZE"o"v.Fz8pFpЬUjpws=ThWV~<ݪUf; ;A4:AnjMiLBXA>Iլ|=AJ3K5pRE\QD"G!{ 7Hk qcDQ]q+t{6S#8PxM(\$8Dq[QDghZY&4]\LDr2ЮaoX7K+(VbR߂a?``6}K6Mm?f5V"l~}; x|LZuzI.cD~ro''Kx//4]/4̆W/R.w`Gl_lFhtU>,hQZ n\ltM>ac,btID LGh>~)lsRVmB~Wu6_TB g? I^C:p9_8"8p̗  f2h6 픯G]wq:!Ӏ^xR>/*h`nYynOoo6+ws(G2 6{6F}:TV9F G|l?Ćre@ۏB#%hK=@T̳̀9=]`f[ ]mWM_x8Z-i/`p[#jj '-V)ڨ(ʀL .o[ Wem?Ewe~<.^?}&xyGkl un8+!S'h8Ȳ!j?‡o&({JF2oPeCό(GӟI;P 9}氇M̝\J m4.:%Q?z/Igl.@F[!3wϯgA}z0zO1~F7']J#K^S6 G l ^mm~"l .in{d ٳls|:&O[痗XDEڏB"poPp !6`3l=y9t0|;ԍ% ^`B=iO~x+h;鵜)v(ʙf,}s 5f7d\'B~ q#%tݮmN! HӲ|[-9Zgmn`ׄOvs~8Hl\aWw&E)2!w~(C9M^/*m׳էp.uƦSj\ӹ?y.ouOݹzw'G?G@k|iwt$'i$8vTJ{kIKFsaLJ4p-Iдs{VR'r;||Ƒ<'%[+Oi [iXlfγPdcd(vⅫ'pmM6VI]Qχwyκ&YVu,{t\ΗV/˭rU,LN!NK6/(S$FVCKhnIj2+ׇ(s=5d3 1t.ƳiXUYnJo˨iRbT;?V$[M& =Vv/ ޅ렕FꉓPgE}ÈbұmFS{oT k?{E{^&,HjI+2:S=bw*fR]"I#i:%6 l)3*ٲVM¨ͶOLH{OG0VݏgpIyz?[.^Ou8XJN?b]8MA+Lv^Iز< mJ ՊڠNoh "ѕ,֥ ]pϤY׋m:ZXD50Q@kQ)E <=M7fn-kmZ} @Z+Koău( 3dR+> hpm2v@+IoKm?`~֓&׬<3(Ei}ʠRUTsXt,~S HX>(&wo R'Wgk:?k& yXJHu#P=-KޭtZbhx8VеrxUn|iSQM2ԗrR?.-rERC^_rϗ:Z;93?tnI9Dw”cգJ.2]{(sүaF+8D;  ͇wlu5!.bFE kOwطrϲwׯOgcY?{c|h激/,\yO!Ł!ݓ 76PаjFL^$Dࢣ-RFW7ÜO݈@'OBO?MexEd[ZKTH*n!JW_Q>߭uQc| ??C[=^ u,^fGF{Qv\ { %7}CIxH;ijB96i#,NŠI9P?ŔUfzzayZ,4I96h(: m0<[*A9sQ.h I݆S"pfp;.;nw4\e<,ao=y {$r5C~Vzk[O=Ud1>Ӗl.\r(Fړn$r 3~q )cO rbۥr\M^=+p $H͏9ϱ/5yjNÓA$¨+FPwba( 筶䪆8oJv]gIq+bjJ=BUcUZ釧9Sqw*GnETk$asH",ܗ:* fj.Z#Mj 0:ʫzB]U4GW $-#$[y2NzBG^#JJm%jI;*Q(MN(Δc'k5DAsEQD "92jPK*qE&Gk $X84@0~ʟܯp=Z?ϲkOG_i1Ѓs#@ΗcKwǻJSRSV.׆d?俟t5I@.H-N[I(zB{ p`〧#7>\%S:iwS;-S)?{Ft&,-dwu3GO?Ӻ(ϖWu۳jOC?ڽ3<E(T|zT౿?z=F?U=ƇsGQD2a$J6;!{VYThvo++ +,fA +VeqB~,"jQHon(G)gG4vOco=Si; yc^QXWV{i?=WS+ S pH󿣊=_w=}_.dvr!žf%ۤw+peG0&cg2jcSlp0cɗayRm8A V+jVn+<n>9'u8Vsس&nt5rۄb0-1` 4c-t|!/c;' 烳 i0t&m~(gi9P~Sd j˂|f$N*Bx$q|NLxE.5os٤hEz(p;`W)8[Hq)ũ41zuRRմ'8nHJ@H8|.F7@%EWÈZ^{#LJWCaWXL" G8 PX#0|"$u3EqL@Bg[2'-yD:AXrӓ>JYb"ju3dD+x-U,XΣ^vCaLu!q\i\v\;'!OPShRC"O®]*/LՑ±9˟t1J0&d^(E2W]d*`LR9%o({q&JWe2@Cpgvd}øt*eL{%IU $09{Uǝ4>U'wC蠊D zuěert{cĐ]t|ܓ=Bj:I'::T l_#n&o ,hu^U5#Wl+ZS|qube ޟ)5 er~ ,8x}2>lV<0MRwb5*8bD [Ǩլ6\jž7*!x>@ё0`V|ܬxhbL4<S(/l>Yk'^@\͠YiR]ЭV[5|}܌Cpqq&~?HE]m4pY ksTLIiu)5 K'c;j5=<8l 5r@dw3erhpl#xhJomΡ);Ö&s(KLE@BOv˥CVbF8.Ɨ!0j^mf)!7>FڲT*[;jU8hKT@6`E]/g3kб}T24*Nl8"KqCcMݒ&$RG Bl}pOҖVv| [M{2}t09S4eȑ$̬hNFFU67ZMx>W?F@qvRÛ,g_]|XJkf˱ɲw6,p\ 1t5Y`7h0z_^Y:1)?F mU%5 ޻³5KK%Vyr\:#KJ\o\F,'fe xVcp,nA*TD\W^h,5KR8ŵ҆WptQ)fYYuųDzAy2%@D1,.cQ'?13WpˮT p4tj&NRRDŘ*DQQuczg$/r Y@ *25 >R w䌌^M[ss>0.&Y|h䐮TY@jxz7G{n9/Pdpvv[C&oz)Yue?~4$=zŁ3-=6聆q2d6m yaIRBCyuIw6\c[+\mĒJF:?ˎlaTEz*60XV>9;='~  X6=3Ͼ&+7s~h5\sϭ6,+O_C;}?_x8 0)@}?90=9yz>z~ HZG_M?:V-V:=7M)W;jNؕP. /!0qiXtY.7;;L_N2pz,i%C~cE,Y/#柿iFo/'F şr\{6XZi./Jq57^VPe{Vz9$OT E%q45re "d ͦ?|֛b8n} [sD$|O?A~s1kKc&D6 tZ[a3=t$$.}D߂'49vI,6RA_ʍ ,,C$z'a8$" (z-ŷV YEBıfے.\q6_M&&Q:_tvk("J Q蹳BъůZDWg:_)yV>ŠSV>l=rzqTm7R~zqT70IRŠ)5nS:^2Sv ?qZ֢$^ܦ!vaxF H+F! k2Ʒ9ޕ3ѩ[)aw*G_]C?1?ŕu6$pU̴ߝ_a_?V7׭j?‡" U|&?93%=8OǁKTp5oK3xbUrTCEq0Y`5(y2M5_Dӧܱ̎w:apu1]="ʑ?L%4~]b!h{}{Q,,(v_*~1rln k݈،'La&C|Bq(TEa 'R L< wn ܺ4tLm~Wuj…q`M&I;qThB,+\ A<:R6T+KdO @eDTxWfgDY(ǎgzylA}|]8MY4dp㐋Z.bTݽ,fs >~mJcBi44H|p?V8E㔶Q唶~~JYW$;Sgtq9)ӋJWQ­OR1;d4#Rҁ$I@p"N}_G 1ne){/AliVN8҇Uct4I 1^ PljLLnNZZH*9>fLM3_>gAzUu".D]) uPW3& 23G. wqI6i$-hG$i-{ü-SIn dL:f{Du;I҃NvfHru"tERNvσ(LDBGer}2}nLS7P Q =yI%Lɜ)<[?=%4TR<`͊D lGP&h;3I Z(K85l߾O7teVt wDp--$óQ U Q3;?; Xoƫ)$x2-)wPkb3d}4l!X0?j!UP5TYyMnXylo&^w1P=~BYv]BĒD !Et̵k wB ?C ? hy G5cQyk~bz (p @@6urFD>?&?keYI!^җSDGyx香1K3i@]\$ (&2A* .Ђ/Нsφ^2*j6 VaiaΠXaIW7i/9 938q52]qF~hJL-i/dO*j곾~xs(=їI*z7T4QAݏ˅̅U CFs$^4ddWhFcHd׃Qޯ+ #HR䤯%$5:FNlW8i]F*ɂ+" .K%9鱅Tf$HA܇{!8w`Ҳ^)<֞Lu(E`%ñ1J!YC20RRÜ&6960F9/>8': ~ˆ5i 3A%ynr)߹JSKWYo3GD= ی%enh9_l;TL\42Vi7l&1(z ѱzt1]0"]- 4[k FTĂ}-e+'~Ѕt'[l_jr}3I^P~m~nuֻg|;D/ ؈x~J+z幖IPrٌ$p؞lGH1S!O4hr;|j<ռG^?0?(*(WƗeiO+?}&tL?Vn4tQ0=wJVv!yP4^uq|0Jь/qDaֳa&pS;v|'a:]AQgz6CEz3n?X3R'rnD2r/ jpN2gr 4S2x-`2$(1ϕTwgfWѼ8pU+Nˬa] \]E50+a;|ρ'ywBLQ(5Bhg =>7dF7V<4i]`!a(7T(4eRR` 2K*ȕʈ|g* Z&"`.εd&4-7GD 4[#zS"/uf9Z1p2>-5'kXS*W8Vh%4W)LZD:j8j8j854<`2j*2 7e(]A'8+ Xo~Nc,'NIj_Bm?5Ҡ2Y[mϡl r~A]# 6M/FŞS45(T*#Al1ZPPU5p򴀹+2+xz3< ϝu֕ϗ-WD[d:2QacHF]e[V =6H vI*#Ѩ<z3@{脺nftIG*ɹߦpIJ,5}vubx d*xkAi**uEv\z$T8$t2^O6݌O}:d.ծ!!" ]%(kQ;8`{2hIwDFD*Lfk#OG.U#^DodXGBa9`[ :r$a8<xr t Po &sie&Jn!,CB?rZLoY&kd,pU W\CN')dWGڶ[b7 vc`%gPF/wR7eR$C')kZ77,=WkXܧ#|hO]pm_5۱ x\7ݤ|޼Ye#S,vA2 |2}dL&͛w[N+_;,%DʀҦ쌗?;4Ԕy/ys~+7s4Τ|eo+/_YVRfLҘL54[MҸuRw+|1c/f;Ͽu8WO[iϧЉY=2X4z:L[*8X=XRh!ڍM<3W-esI2fJIIґM0`&+gUNi2NEvULߕS8Gf}:pV1oXG{ t[=O6S$up,V & OUꔀnB`57+ si ĤNU.hO]ARo<22)<̯W)!6>8G{nc)?6r5cCcц,]&hBDͥ MA?'|K=?m Ǔuo]1U(rr6^*ʞ @B }|yڐjI3eEl:}bT'&Q{u~ԻvlR]nڪn!1W+z^G}{rKcԖ{r)s6T I<Ϻ~e,rF~6p*=ŠWNOwnyG<呦hϩUg>B3z 0_|cI^&pyC-Lʢ'sm/7~6`;jst*0m.:"L]3C0lH3x/;b3;ҭ=}Y~W/GG5lO?1,G}S`Rf²4L't[D;xg;P2_ـDyJ]&o:/z1- ĐVpʟEHv{Fo~T>8$H{Q+ JF zy^vJ8iNݛFi2nCv^ڤl@m`!! !* 0jkk@~IBؐꊏ{YxLI_s23,A]S0TLwp$  L &7QW(W(N4n9Xż _t^^$=mW.d6^.w DY r";-fU0k1Dߏ&De(d~D9JE%Nlt*=X7Y"T=HmKzTq/뢢puoHbGFӄ2P F)#׫J/4~ӿʒUdhԬ(ШAbbB02O:yM& -,A b&AY EYjH3[IW^Xh4Oz¢$)OLoW4\bPF"HBUh-3IĆ]"DF DPzr@)-HFY5Kn)sv{Ѿweq&}O9S$xxo~,Pk`_ęX.|1߮vS$4\'A]i%CNr( K']K$zȔZ޺&4@݋ognºhF?:*Na#ԯ^4djI{JHb!+z1BԺVG[RJr`Bl4I9YlxJWg, NHݍ֚O"pֻ6?UZv*cEüks T#c,0n:‘\x ,S* hi1 kXqNa]Ե6mi5N]z ^2wM+#lu9iv!綗9]aKWE]-zG.J;,clu c$hE]yUC;l8JH {pW$@yFRda:4I5  \>ju#O2 = U5 I"G<֐QHN>jE|د|tdQ:Ý̉GF>BdŏR}'s[3p±|tAI %i]Y)Ǘ߉s fq!%WօwdGJg<6 G|ah霷"8/ͯk;Ri(ahUP=veA JeyH4CG _فQ(t5Sdd"W=]Ba/Ҩb3hZ`cP(mI&ƪSыoYr~͵uVB3%I9" TW]"(v"v@QxvIJsGYO'=;IwgmApf\ G&(M hEX+z_T+EBǗ/*b8#ř8`oŭӵ{ޏz//r:.6ҀZ\2EXlfa<~7<^N+&RM-Ż_xͲ;i J|?!.o|VSsʮ* BZLۘ׸4b>,Wz;iOm lXS6v>\s"w".RG',O+[GC<gj82ؤLA :dA AO6D. va|ҬzpK:6 tFwد $zT(]QO}J] MIpSpq1 h#dt;\q"m~i>rm;B=Ęa؇I6Z;~pK Ntơ36V0lGm&+~ d:쇂'v(-tN\K͠'3W$Xi8F&L,Ϟ6'۷7<#1>c4R$I lP f>"@OCSx(~X 4yiݿh48,Wq&։ W~dǡ.1108<}:[ڿU-+Ox0=ޯwk=lj ^ 1Y~(\uF /7 }:(DM8{>w%]-;a=~^DAXܣ+etnPpd`g+^뱻 Ļc_-n>` 6nl=ZWxwUXGe= kK_ѽc6ϣ^7$F=m 9l+$>ĵWH^ :|"C⌄G{J- ڒVyѸu#G}غǭ=WJ9&o2O%95>wROe_HZm?1>4w/`z3EռʶPݖܼpo.xA!hQ\Vt0J~ԣ5sbSH| >-֦ؗ6$g{2$oLӔ 6g6!z[.TY3 {)Scĥ?gOl }-u0d<~>̎[l[[2 |.yǃ&X]}=ywէc|FN[?`IdP20wOOFhObƵ~^7)ts52ݓײpgm@Mܕ*NҔKiJ~?zV74jUqn /瀟l6F8ȝgC|ػkF?g.l_;͏a]qH|z'u>m/Vktmr2!CӡUցx龓Lt7 jrqll=\2HUw;#| K-IHr=l!Ir:#:D+^)p*05.),o%-$NAmXa; ͑5 DE#$ PQ@AMk1WӰ~xArCuJ5 Q0*`~"<WLݳv͵p"C$^K=FZBZ"D^(*Dl:91d8(S^8d!-7QG?Fe~ vk2GAz S)'v V6.]-qI{햨׺j,:^9„J#CL$< B6aMz5^N:dfD{"DDwPq,'򲝚N$?AO'*^)oah] R4^Aau "Q=!M' FEGL6\EgƫG &2_Q}%*t.#$_^6Tx'*]ZS}9*!=J8' oCpVQC-Uf ybA%d_Z9TXj~3Oۃ\ 04ny|o_|k'kXuW(kM=,е V0/nc?{:;oQ?]ذF ''7~ Vs]*򒀢.ޡ~C ;cEH 1@o;xȭ?=Ɨʼğ^nq?}_ZV/z߽VTj3yr4j9ٞeMz3OҊٳw$B?UI\>fʐwǂk$7}EIEoNKrLH!1pcN,W8/luT5Տ?=ʇ]}Bz|:[Vr8S;)&vnA8݂6np+ܽZwgB+.oCn ^={_pZ$\P.Kz֏?"caft9ldJaŔ;:dB=zc|xO⮯v&`^[:~h@89Z,Ǚ[glAl U|8&3eǨpSmK%%-7qBC_1 (xj1y'O@_a?c|ڔQm<xa] ؃nZY2؞a#)^ACE(ktypL,j^a w9$:qx(9Ѥ dQtHȱMxLG)$h͹X.QysfLwB|GuP!EacTcdI(C~SMZI$|:IRoaO^?Q5jO?C$>OsQtCp)OճGAM:{꼝]e[Z{/IFEQ8~D[<': L3;=΋o R&=y͗7mJ}E=Q Ԁi:a OEi]KZ~K><ʧ݊=}?ߨ?գ] j?tXp^)~7j*lg:'>8iUhvi408# <cRmM{biƏAΑap9T`&tUUxأPޒ?%j8G(s=r' f,[O3nSпjRP,/|wd9u_ޙ6AZ 3 ~;fv<,!b3* g>@$$C$4 @#p? ;~9ҡ%#iU\PHirPҤ7τ^*U~c[.j"^Q"@"XZtz T5p 9g|5j Ru71y4 wlQ;zBxM^1I+2`U{M]XSWt)T"=4*E#k8r:EI 4K"(jf{7vAx ɱaRN 5p4C7+ZucM [kY±*>s[Ϟ݂lcvd*[P ^k.7ٖ͇wdC0ұmS|W1d`蹥w2l%J31ߩ%Ak0/F PgvP͌|4lpXv$l9*"'lHb\SVU1U"k*[]5llG*Ȭsw?-ޡOl? z!Sx_8I|t~ tWANA= }\9NzSA2NN4ԓSA^3!A LHP}t'=)AY&=)A&=)Augqylw_qR7o;)>#`V((94<^7a#Ňh&AKV9u!y?T>Pzg||tQNC?sc\~^Op-OhduPG,RF Juةzmk6&%Gyg^FMpBiETYQ08(ԠvAd#  @$S"*dX/ccB̈Rm-=T $K{Բ%c=dcxy[?j<<'l6*?϶יHph7 י\>6^gn)TiZ~$lM?>R)t]-YMLEWr n1¯YdE:%قzXNJE^Yru,<,E~HDϞu> Xi:p}U(>yA9).x>Bs~> v a tE ['; $5ʪbSV44Rp5~g9/|`VM``v7!ֹ$ 7[2Q.Y+^]og%dhT0oH Ȉ[nj52dFidEfL rlodFjLz8R7e0pX܍ p^8t@ HAua]ȳ݆(;\[I ]wE PiYH&WKj-#B6*J:YAe͍Hxg``^"fT}X7X> $"gp˛y?; (:NjÏ#ULzF `p/~r[nr˕?FeROL zHD[i rC4Qw6n@DEAc>1SU5lD ̽Un6v/h55h|oO=J*@w!~},E) c/jS"SX:(UJ:^+Cp{r%8Y/~pXUNz_kSh=~M9#S_4:}̭1;ayZV1&+irWG*HC!C #/M,],7(C'o|z 󟝉?ʐb"K wْTj"MlR/u9xU)>s?Y=}QX ڦ)$zOPWeuYU"?yS:s+.jF dNTMߢ*4J[nVhJ&}08m :[*ӽ/4:=m{Aժ^+k(|_U:2B]WYIWUj \T"p`543#)M7dx)/Ch'M:Y&NihE(ZnEd0gv~Zwth8ZnԿt#DSH*N_l:OÜh{#7ʟy2?Ds$RVsl\fr,^+)_\-9ե1+dsCʈZ3]\$/$E(,L$:-I :G=JOQcE?ВOG:kJщI/T@L0:1tSz> Hg$]ZQV=U+ Z=ڬZ5en%J3Pf:Hzm{JcҎ [ +H`Lk%Ѩ^dLRZ"^б˪:)0B:?0ӇBΪ|(Z: <˱gMK{}-J\cuAGq6&:[;=@ 4ӁPAŦyby2 -B5F`r,l\@-nigq+jJ1U!ކacoÀ1/ VfUlTŨrBs$36^:,qp6Nh05tѢwe ]Vn5-Jl)(>v cmya~F;?Z9Ԧv} [~2[ڔdN9ɣGn[#nm="]X b8oh?Jռ=x/C"9^gvE:EQ{`RX`zʤLE$k繤Eo/yX$; zZn7~(XzPA\b圈aokD_oBϷX۽%q^IIOgkϞ _L9'*]6i|R}`-l`UR/w["9P|5 m7Of82_ =m({6,Y"ղbwɯP߇V\v8UP%; E|Y$Gp"Ak .2fxkgo^gdq2 \lJRZx҉5]M%u/ɶ ӕ[ه›.)i)nc)5|^ 0 *.%UҠ9*h BC+ѼvQrl:G sk㢹Wdb0YaIO$g体fR7ٖ&ؓp|zAF2]:`#=.VY Ŀ?R;2֪O?˟)u#sx[mOm6ڮa9˘֮$Qh;Þ N॒;-^Zkl}E'w hV|^ͷđa?N/W*#L:'C؜`|\/wk5~T~-P!|?_xCV  FX9`1Dyr twJ D:ߜsswg2(g*@\4?k3N2ϒ JZ XHpw1hvIg+xkWkWPM;o++/  AfZ^L+@/XLaE圮@i^]dU4I"FuPq̦A?{oƕ, _忢 dŲ%ds# ]@=x tK Z<ۿZ 8J2fbٗ:UuT)aN='jJC<)Y?\X`$ !i3m4;͓Ɓ. 9m5vqhx"1KBu[wQapZM..mE)j6;IuT;RʒV"PF)^N؟l& nUej'$A}vt&6g)\FSchzt͘l0qF={x]y&3!M]){bkaYS&2fn8mr%nʛ4W[L_(i#-6O:\#26"XB$ptJd1t\QVd`JN7t'=vEyMp Q>/C ui$< f>oV&ژ߬Luca+_dv?e\r򷡕kpOztgtgqkeUu~L"X@m'e^QZmS4 FJ"rg[TN5-}}kP@6~~)=Lfj8iwT'[-n??G+1={hmU \R,8:X8QuVy(sXS g65pNv,jU"y@O:hwtx~{ـ?nuOL{cw=<;{J*B|nʑ[J(pN5.b&~G5P:#aG{g {[%`yLCYR9&9Voɽw^-q`p;3l}| "e{:/7Cdl?s[|\ٟpʅؙ"OO'b/ R 8U]P[~*W +겒OCJrA*"U "jyU/olU>} OTmb/mg3^Z\WONRmU1Tj&٘ևV5%J[|Lnۭjc% XU-N[rO_綪qsV5v§ S=gln«v8>ͣ|xH*q|Z*`t:%E>T-v2$Y2vPqleC\{G| fTȷ&^HEiblx9;?F".tz+! 8d{+I!&?Z 6[r-`cLXd(-WHg'K3 ف/Y|*[jx)Mӆk9Nsƾ!cf71/tPwM'uf' Jhjsa;顣):88)%*WбB^hyBifs!,|cr!$\cr!޳QO̱| qdd-T[/ʹgw."| b9VT |YT2 OB^K8hbT$`JwC GmSOt*JS2_VP.QV)zQMW(蠆[_Vi=\v<\nzح41؝.]Xy.Z%/Fc^VicK6./PY=|Fa;%rl2ndy lc7 ..c7 ۅ,vaFFadva6vaN.’’m\ {# ciЄH_7Rq&Y\1_1y^hb}gw-K|?N^lO˫=v§O%Z{d _-".h^6*_/qn>rp3 G ߇ ؏scV(XX|'dԝbLK'Y\҈FF]A$42'߫z733{Ud^Nѣ$XcbӃ)-Wύ2Aodb:_dbrSxX]~!.k(_N#)o4 z > y*sMe AI.T5%V6 P 8ZFoP,?e >F`8gWhMn|APdOFN;uYH{8gs$d$  o<BE脁vPZ4}Rb+SЩwz |ek8 vRj:9TJԔQXqzXU>`->1L{1E`?|nđrWvt>qT3'<Q+s ƒ'v曧]u.#ݳb{w-t5,5/wRgfNWLJVVSa @i?9Z#-: ƨM5Tķ;)& zWFry!>'SF+J1NWrfhyـ]##T4ki:\P.*8t9םp{͓ס~AhN+ܞ v٫c21W8Rq?j aݚ90KP$rhrjj5;l rT֛X9H;s<͇FyݜW sh̢ 81ìc~%꠽#+YйQ>TWqR>`N-7>7?|@_&/svgܙy;d? /yHLf=gO,?hl1wa0i0Wnw4 Et$M" 9TlݮUGf=Ss!G2Z3ܫjUwu5j{g~Hg.'gCER(,V;eΊftL%M-,s#=x5:{H}['=b{V ohfƝܿ s4Á\B5^)d4Z&QUc?Z>]e搦*Y_?iy z2һ\!_T0mw3Z{wL1c8#j҃ʔ-pFh. Z1uV+'Z2 [P0@R?N@3 ֘5q &@)༈N rNg2fn5ug[|{k<$c\k`~! q3, ê8& p:E('T]o(;swon--ەoòM]89soO`N_\]vqlp͵e#Usa.;Idx%aQfˬSSj1QYu -ap=ڛ]ѵ$+}^kh e F oi#DkΟr2]b3ϽK+̭~#>:fֻ1@kJIR@ߩ7yмݻ(H+͚F:Or_#@}o+-8Ծ@0CӱB]&XĶ^]!DaDI'q~; B?d~H:/V[3?f/#L6}q~ `oh_nuMt6Ι;u"BME;^ Z|K [ #!&\+KZ,A 1+K.H+K=]Q)$7 .$piPBሆva Vd6n 䲹-nOM :;s¢o}` fm>:dtqrvI-Fk(ɭYUz(~ـdM-}r{[I]fޣ,f!?st6~Z;'vkCϵc%j^E֣S{/Xuc[nAѥ';I,& ɳ?rqR>X"?.|?|4zdpKw/a)J0'|$Ɯlug Ihxj꤄?M9e9̓` ḓ!ADrSm6 ,uY2t0vۅj2rw Ov.$µ!r. w 6{b3[O؋#z SX;9)@N>g(?uxp";wvއB7+Hrt'G?9>aݫO{pg'itccFjh*OP1gD/3HH&Npx=:_;xR\Cp x,؛7I/9UkƮs1٥;r7HsFX>\~|DbSo}{9 3l;ӟ\^b(@Ab0a΅Cs c;bRu8ٙ ֡>W1/%N>9Ot!S-|>f>풓}:yڽ9;*@r}lќ YeK554ǻH h:b2~Yi:!rQD'A5i 3>BS`p!lNhyWpq- u2;@Kb=ӣTKfykNdlV#5u̽3l>/WPGOc@*Sgn51D}>]a:q)M: 8\ÅJ*A'I<9s?ׯLB6N"`w32;!p'^] ܹA\(pnM9@^)>r Qr]Gم k=ˌnI@Ί9Sm,OӋAp0'MfƁe8%alxiB'5LYu#%w#%:OV ruTUڳ-vt~y4E.yT{m|̺;2,[qv?1lt@vvK3 s;{˗Y"Q84΀Q,`!nZ 3H?^T`䠄yI{d Lp]S xOT+T~e BKas u3 oF>`m4ţa/i>pg瑴R^C!C>QvvSh\H0VF-ml< Jp7$iY[Z3i0B}1y1.{l6͋޺ z8/>$GB%.>@H:}JBjkg2%T'j`\Np,`N̾ٷ3afYw5=:\`;'3ZO&aѢm*).Րq4pSHtLjkqI&u %7ɝ- /cI\2)=MSX~n@i26J`Ic2Z H>3~ {To^oAP{ 6 Gb7MWT^:l|5^H@>feܪݥ'%aX<0U, =xR μ+T]IDTE_HR0^]=/b6ϑԥ!-[4cerƇw G./A9**`4W4 2k=3pǤ>{1T'^{p4W{HF=A ÃnVzY]vjh2t!  ;lCu6ulx? `1neKw)LtN/uw`Y@06oʍvmTY w-IVa\Cw@H۲d"~da91DX2=$$uTïL Un>fѱWGTXlyiwMv _;<voBGv^x}<@ $2A\-W4(94(%H$!D.6zU]Q"ǹ7&#J HnDp"> JO:b1GgzrgR|4ۑ`vY9Xtҿ,&lٸA00ww. @4bEλ d1!i~ HCD)ÜT(_H6D) GU.\(D޻$ŕ,./oUy,n؛`ԥRmTltώ0 v=8#ݒE!`>xVնl>b]5[nPRхhW E:_:QmI˺:I#tA":T=FxhWP&C1FSh{7ۣ=v|3 XDKtL uOAR1&ѳmofw:+sR[G)UZv,Bmd᝘_ N:b$4WRɗhi]iqr(~}}|U;_uk?_xwv3|.cj7h%mqBQ닢y 82n79@td`ڽ l;uhdЌ s`57)_#M N9WAS&t<@PYn(z/-9/^`=1oWkr䀝s!Co;;PP2 3L`ԓi†$k߉# >s شXe2lMB(seS(܁@SjRpP0RDv 8⓲7HmpODV3]]( ',lFU1=V-i 3SE1Tz և\KFN_Dȃ" A:)),15\7TE: q‰t$:*ُ p̟I3R܎U3Od`Lnql8+: &gPs1j$ tA fx p~/s܃.l1 J3mF u4xߙLf8PC: Pח'ܻo~iTOt;3_l6ybp5 4TS^wsȧbl,5桏bc6UUT8ryȫ,&v/J_ad^:% GHe3t'AX MPn @1)X"i!4L<ʂP,d%3zCɝs SPHbJl74B`z?gi O9k9tr iJz&)Z1Zie俜դ3AA zި[+Guc2\xSVA.ZG;LUa~v"8iQn/÷ 1.HiB('uqd%Mp+ +{1{5CW`4;dҾC^A6ǣ[!'Μ21Xgԍx ͑r=$҄bS2oeK)KMA3iV:c?ƑL|dsN'uTh56Xtr˻͢%w';.pzܱ~4O?̄vDoHk];9FWm (d&,s&Pvv C=~JOf[v(2gX؆p׳?*hGbh#"KD4*X/$OhǢ[[HYyDHS`j؏ #€Pzfa7ů4h n͹:_s}NRT1N ALsQFʑ>ǒ9s{ q"41X薲vh@M[ô KUR>w|ʚelt+oj޶N<i|#xNZ&#~=YORFz;F;~^AWH 4!aHX #QET϶=z)Y̾%NMHi.,swNGG.IECId1 -vڇ(x}MLFWy I3d@w] mbJM]䕿'G F4utU<7aZUqL~Qֱ)A`4OU>3f Py*p_SNTeׇdbF)ǕCEG=&\X>։M)jJ+4Ȱhvr\cxF>yY(]H(`WqsBNk +j+Nybξ3#z|;oK͠T˫TUn''`6&<‘۫u fwotM O.[$+KG3kE>)W|1(}U;]u58[k L48SG|íU39bdQ.b'N$AO1'd`|rB7LeWj ^zN!i eI Y] S]qGgr&gFۼp2J$ DE8٠nF$H D> NqAx8fs/ O!^ k0Nѹfs4Kg15^3lGPJ!P\Nm$x'eYhK˚*]F~ژ*WS[nZV3Yp))`؇?3U(MV.x JZ2wA8OT\!NJG!py$ `!ӾVE<3Hw_[*6C]J|*aQWL%TaXȗӔКrJcT{mĜKYƔ= 9v@@s8 9S.=@/Fc4Q;G̝ G")q|aCґ[,w ܹrQKܝ0~yzOHH `I'@:[Jr90x) %yú"}?-├e-rfE5Bc ʫ Aܔq+O 졽xk` ]X.\xUi >4jRN]8^GjLa@{Mp+TX+QIAQ3L9P yhczӲWeYqۧpuqxLqKN!Ymt6a ^JB>qc]ժ _=*ɨ +JC@v=j(:>>{oϺf̿f*CLdXcƇ/ eGݏ![|h7)0EAn1or%uj'͓ogE(8 LVZ XX/UHɧvS+a@Xqz㘙 2Vc8mjLN3_MFs1Wt~G} K3'տYsŪ^5Us }% R9݉N:?-,m^"4*ּwOP.krO<$ň:K[orpJ#=LL&PaoDE\u/}$ݷ)=^^˧7F獅WNQ)uK/{|E@4Hqk`OG޲؜")0.3xFda@r% %X:8M0ZGXNwaтW (oq- 튖zi?1DZ@\\YSo5-\Z)`JR*H (I b/ͮl,4#߈b%F.!e6;A/e]Y5B8G7yM9Ű g%a1Ծk`N')/}[DstCVdũƹavv^;?F=SQ(bWQ~b uh39PyIGE@kx]t~FSEߵUQ$Ԫe;D͓g5_ƞN%e`|jMy%,.et'a q&OC`T:HGgvl b6%aB8f@!SJc^n] @Z;68!*|pV?Ս4ŗb0@0 |ۡtqIeӜR? Y´(Φ4  Q H1ǐBA$l a[I!W]93Y$웋gsaթgV8GEV!Lm;yR5瓉s胼4Plq;~սŽѹgy}wnz8"8ilzLb8&,E?G%5Gᒳu/vabHi?u&WS/uG2r)i4oSd@2 `UzΎ.V&Z}Zt(MZO/.:A:Qy.` /{~ o3'So7èJje¬ƀ8cR*A\ WC\Զ *v뙇o@G9^a F`ȡ0I6=zףɌwN wzs`f7xGX ~isʏQhG/;bKbVDy)ͦɾ$b Z;D7Zf/DH3k-Om׍qƩQH5H%-&.Uo*L]Ei[cnVpQ-tLV5O,Fϰ؉E$>1̹aZ''5&cGݛTX&Y I:C޲bNSiՏ Y\ JJnP(>qT]|.!qf 3?\ cϸ ~JQKiҰ.B:=u[C`\=id+~ŏĊw+{kT:l=8nq9쳭 ?9͢9=<w2jYi6'lk1𠨍o?私 b0_ {COF_#6l K JH,,w6ZLrغH نmͯEPSAΏ#w8bJPm.7ڂ%fST!NEx9e2n'$y̯[\p#!XǶ{vZ뼱C[^+Y1& ^ ͜{XX~*d|)eYpY%T)R/Hѐ+GgrQI+opXʹFД 'G=|{[g zC( PLu諀5qi#ipc Vy]1Oሟ3qG__c|̤CqB'LoIY-bjTUW~k5TΔ-zL `ҳ;W"vNJ̸a&-#]28I!`J9XNiaIqAaኮED;z2S6wip-d- L-'y0@j X+Z0[764(|u1/Qg=ש)t mW<Ё?OO4g07eFBkp9dSj8Yk+ EROp='#=Q^@F%)c4ƹi,LW'yo?rdXXpB9âBD\% OOdy7UcRKh'[bQְNoɶ80axRF1bfR1Km(ނ- 'v#PP|%`2/0wvH:Ҡ2Eeq DŽmGbQ C!pfkO8g$:Zzt։tW6 2Gf0P|%v>,Tr? p˾Vأ L$ma֕  dn*DP+vPd[,ZR^n͕cuHNa/)^ٱqǘG6ޅG>j@ ,n')xTIUJ\Q>],0S/"[n*۟ >z%4 `k@=lK^kY*'4 agbjy4U/K4 ?EԸVϮɮ*2MgNl4fI' YcbBOՃRDu4v'hIbm+|C>y,w[dQ[]#J鑎W`~!4dޝKG8,";WϾw"N:9znr:ȆsW,$MPB(R[֓ 7^Fp{3̵[#I# q{eI? Ugj`\|ҳxg뙤̷=1FU6HDAc?aoc O55PiB.\O\U2:EjwL9-|ߝURSW "(O{/v9L=/P#L&S־J=ږm6jiW" Tei dT:hT12(ޏ(k1J}x(I H`UMp4"OU &j5Вb#Ĝ[ygNP"|(~f9_s_m m㭈m*)ZJ/IMmjZa0~JT1r:p5f,ɽF'h,7G,s|Z.KCl`"3K)aʰ\r4`2TWu, +y m0_UU+$lx;}XXh@%yE^8J?+Vs iQQ5<CƬO:hӁؑ{~6)좏c.~"mv*w0w4/%hJlȄz6ta#Q2zx-..x1‰Q2!AU3㝬O>T~3E ^=P&(|>`<0J' ƌM3G?[g9q;$Bt0N@~$Ɇ$O^EpjJ:k 씠?X':y 1NCCi(N!"*-4j]AzٷݕJg쫣8ȁ~ܻͤÇ1 V)JOHJ*rqD!~7ִsR6hf<,꓄vܣzH̘lP~|w^"2 .݉}MhvzI9x0z[a9oZS4|YJE jSO;4g)4iDvh0*Ms'٤=c!%NFlgx$ Uע쀞A[r4\+V;> I ~ƞ+W!z"cq(v'!ڄ&`gc\8Dt28Nn\75&6E< Π-PZM B;;:094w7v;lDG!~*7PirCeM${c/ a@8(}~=@6n>wxbj[ 15^zR[v}Q<)$fU?1KpB:GYGLdY%EL ҏKMY}>6 K ;X 'Iȍ@9W$|H/LS<L[u! 1OoIك?wCmEAiV.PuN&sOQ?Lt-ෞdZy>oiңlvj Lae8y4Twk >0e 5LW0ʧ5@G+Z>$%*|#,ikG_^Oh*%p#.jJb0|\,dτȺKM_n "Z@^*t#NJ>{TQyhP*GϊFt&xևS^{ NJvo0G &]b=!ɷ[jECDrU/>ac|#lMK#`JOq 2,+Nf` ƖqxA2X寶ɠ@}.M8"ȝl|Ńei4Tbj3m0\GC!{Z<ૢ9G .XXz݂wx}#9!H7r8ݸܲ'u!^IF4.wVk&@B}kEt*]U#ZLX( K"޽Ἃ!bbJ-;+pIw@WhJH""XЗ`r=NFCĝ9MC^CcNQ@l%&Gɞ`xcVkӺ3x&^.M0H [Wf#enXԌ-QA{5 wO63>Y1} pxJ%72 (ALgQѭZ!(Pe,f{Fm+ia@)æbq '& 8.K2NdBzI{\];\jm-I©1O4fl/yDH4tCߥк&q Hcp^Ndׅ}!0k>3: EE^n  d"3`x,&O ;cKXQ·l qΕdi]%%oP=:M9Eu{-v&ȏ|< ]xHɘZ/I }6u1YӤc2Z笔1B eE+rLRd .)5-+0RZ EMlm^C~̆DdcԺCcm^WXOda^gCv@W"[ROgx*$SqdMO2kE)y}}!U[d1.wS+-%ihDyTiDp\3q-{=66ݗ 4CyOo¿ ww&) ا%œo_M&-5Jz<=A%ї+]bœbL4bw:,|q׵E8l?M$r6 JRH j{;軁 Gq@ަ _,tU wy=>]Le-_wclxGf8&{2'a[+0hYʛL$/)#ߝI!1WhEBtaͅ9qZEDzDZh; [ TPZ1wIL͔b?³>@M$TgOŏ:zD!Ek+u٭'ɉ7CE=BMsCTS3[b'0s8fW'lUk};60`.vI'ѭЁ+<[ٹZ6 gs.u-?"܋W+Ia-g3"!9ENB !5aC0$KtQD*jc!K~_(`^"D^ 3B;KcQĄD!E.9ͫ|&mIĸhXhW;9{kdjT %+xdkeF2ѲvGR)vd}me{GntSn-V{w69V-6BSwX/ɪydl52PH5G{J ݪUL:FŨe ;/j*dU,NA$ &UU:D،,g#ݯmiTkH/g3v46$Rj (@OrvFA<)V )8ԒwS,RdH JBI$%Mč/~87S[/}4Ǔzy4tZ>ô}}$H F3r{>m֔]rOv<̽8"/Z /fۭIv7& /,G|>s"u:1z L'-ɲ:AJVMag^, dއ,`lmU,./oM,~9<|fa`"6%ǒ*7i+Ul/&yśDI˛шjo#dLݐXdz"dbLt ^Ifڑt{劭ͫD>:{ aU?d+*ʭAƟ-VR" 0]f]O9=tpp?=ϰ,|,#7b{K%1<@ `1bЊ 5aFɐHM/fIhnp_Y;_:o']b@|jY/#a_"oSq_sr i "͝ԔH9V,+_ vc^_ȧUD7MkF/D#>AW8QFB1W?v&MiH&Ff21֟/`M?HtGIUQGvvDJ $eb`]K[ψ~({~뢟6MkTAo` ~oznXBmQaTcGk͛+,Vx'_u leg)Cn!pHwg+5<;WRR 2))߽}D\&K0iö3ѐ]o[e2րH:nAKB&M CEۺUYB,HH79'<+Az!fօ9Gw  Zbbpĸ^-\C݁N X<:aTrZAhw'%V/,j-wm+KϷe-#Yj%^}ܔmt#z(3bΒ:~c&r;J$F4ߑaLxwx Л9YJF ֳrF`wv,k?*'$͠IUR]׻$]_ٓiq 5[igX8Ʃ= Sv6,:q ds0 7]<忚 ovKW2Au(ДhGhJLK/ynuxbu{ gOD$JX.r_T{#&,7 {P;9wګ:BX>].#h'),_&Wђi g4( 0`Ycn9v̘-{B6@ن3Sa$o=i~Hnk"" I{(zi ی84l)@lnaٝRTҨbE]k 9o[h])- L0\^&1.7単2T(-94c7I<0oQg_li6Pq*آ{l> (@5dpآQ/'&:Y3txRgwU(QNy\H!Mў ١]:¢˘Wv/zACoHRj5'Ybwϥ1k>9biGiOJ;zAWiHO$F ȹ(⥜ȓôv5lF|RijZp:ޮkƌ"7fHEpQSMQ]rG4B-Wa0Qc/Je9|cb:?8&>@ #H׳A3 Ҋs4QgI#9M{BSm< Ş]D9`l$IvZWK@M@8CVh))[L@,P2ENni6˗Q5#J([a2tT%;:.)/ N&`tCk'2tfXkB|pc 1"/DѰXtӁ>oSU4ͰH'ː.XҜRJyFЪLɤ5'9P6r=6BBgMtg ~;B6s5 SR4,L6rQ< |!iP/K&b`8ed{gVvo£-e7)%' (1_¡N9fad}#^Э4{p20%+ Xw&L?_\H%U :F82_\4u~~Qzu9l3m^`gY ,eJ ) q;إ.7:Qg Bo&˘2{$T"Lhٯ/< ǠZݑA9H-7qO^-#LמTcw;G@#L7$vr!&) zS.s@TWWHIlƤ$Fka_ ÝIGX/f3ol\Z- 78.q&\'D5)o8Mw g|6"kP p5T1ZI#3p1)Ú:RLȳ8+~`S;KHGur@ 9w :?:V㯔5PLe/АTCńLŀWOG y'c)"Z‡Ȗz=2<]^Ae󔳻ˇۥh* ~QL]@1%*W#f4A52v1ZBTQF_Qmr %vO&ӥm>|wvςYG>r'g r&/_H * l2*wW~xrOx7!C|>p=J’lx ?|C=s^_|d'(*]_ ,#o'~vܿM/;$ϝ75=>"?_еL;k|̇|>Q9!뾙q#BԖNo^;꾮wŋ[ӒN,|Xwڊ,~$ڍW]LS]|8 GGQF^5|uciw~fLsQJewrl24SԻׇsH$Bt$2Uq!Hv0,w!J[4Q]M2P̶5g )Hn %c?KGgtcUu==` RJ<^\% %fECY[,K b,`os8 qṁ,aAswՠa\x> oZ؊A-nwEzn(Ptݦm}5 炷vylw.]o<Xd<cdR~dUDDGmI(2۵{N8Y#E-]<#)bWEJt>xZRJ(K…]PRN4(j![R/Ќ<-도(4OH(04XkQVco`h]oӸAXGLzM's$qq[7vr RWb8F(;wA /y89m5_ٞQ:5Ť`̊Fx--Rx s=]&UztkwrD`9쫂eN(p88y7|f K%%C]v, _@W`U@5e&t+diSKv[k89h4Ut(b7DR%/dأ=DCϷ4Qic!Z_y`hs[,rP;G+ dueHDh1b fбޝ%E=m7J5ن|A\5h5<2]d]&ٝDŽNa{ڲBȬ1y\(2S ^zPu"wgN1M(wiZ4!!},a´uvoP?Dׯu>pb=*A52D @Iv"4e">@Z&$[@*r;J |یIͤvSକD ˯"5Hhʐӓ|Li0):~56H""H(w@ zqE$cqjBb=t_3/ìf̧dJg:Efb}a`B4>Zo=Wdz{~ @"j#q!uM/GR4"u׍C%CEQW̥(/20huqdL=#$Z.a?4qzm/e(wuRIZA8 (L# Oʑr =؅D'2Qͯ/c=L:JX{]k#P cуd5;Ѧ An['%óX@ 6$-+bg`4JKn*V[|Z&Y›cr{۩w:%+Qqq' iN7`ݯ*v*qEsD*"{]sUiUܺ=C _}nP.d2$ y>G#r )k!\]1fB} "].%D8ea؇m"r;F7xK\)eG@8N,Lxg*^&n!t7jFEX?C(Oc>틲vaS1L3Y~lZKXvr*ːC~¤#꙾ѱ.'d5J\\zEVc~Iղu@#ܪd+2n2tFنYb-|w&Wߥr6~ m odk> PLUZ/U*cBٞJ=1LA:)Tnx,|tjѲ@VbMlO$ѧW<3WJB m'-e0M_Mhޙ=#u]3|f,|h*QhLIvr0GO;b[ꄢQIZIjޣgs"G[ϐ|R̟e, ~7 [a0/CV!# 0a`ę`-2>H#sjZ=XPPXʈdBYWy&ۡ/_M{t-h{v,sp϶`2Q|D?2٬s^_y1p#Zm^ZfjQ ov10`>@>gñLG)ԣ8L" A?|NQFttkr9a|ԘvͣλZVay2Nrj'Aj:4[mZf|pOIcoO ۪tvi6N^h9iv~ 2i;l(Zi9o뭃7q|5:'xVqpv\k9gfZi65T:0ة\?87csk0B .Hoh>8{SN~/uI!%m A&vX{ pIܱ*!g[/CUufMAzA7۴`gz :Ԩ{hV v֭qҩZgF$ i֠!q kl}vq=h Rλ7uHoҪp-ڰzl( zv:' Ҝ1 kIرF 4w43>uGN^8h74֢Ԣʈ*4Ȗ=?c~M0]4lULhy4F\[-gr%WC͢mcC!ٳm&S $q9%U0]0(dgSx.}1r7 rc"Y1;0$:(CdkulM:U(vYڰŜmogVnYxdX.:캙⡗I7E!Hc1|g6 bZhv_4-}iӇC:Il&lj7uT7XV4mj1:99O"u :szxL'Y%#eI=MؗU[gG 4qo} 4mXNMf0qqb-0ފ^8/_cSNdna2mj ETToN"T l0UBx;`ZM#zʄ{9̡1''Jc B(|$i/ &bǞ @ *ɃR91Fl6Ƨp4K[zѐw-|},ճ ɳ*aJg'#2ac?L+0[8 ~j/c9|r;F[[xFKV@ RY7'~b{W[VT_F(=M?m"soI-fB"! bѰP&ʑ4A p8@54=Zplv1A01΁V4hus < ST%.Bi+m]L;TXxD$nrmoS+KZP,F(6 `)r}`IۭTJ9Z"ɓ5 PtTT?:ĉ"OիrXPϕM9=W1t NH霼DH7S?"7k5ԼP$cʦxjO˖"oOy*q22HL/5%Ih ٤#FאKZ̭lіJP,W% mh_O6Y^@go)[YqH5 @BDb6N 2I)m_7g6/8 0wA?f 6/Y|1'_C|V?F<>KN'y4T|>\L(a-6 H^g9@_ŜgϜv]IC7K+Y?P 9 R΂7%݁'NZ-Sl4:[|4|)ݰc*BD 4^0 Qu/t{bZ`IXVw\75QN]T 3N CP?G cd?+a?_y/l> >p^v_x8t0χ{Rp{z+_52HA2 nWguyh>A2|? O(Gp_GDs5%F rv{Z@j,RZ4ТJZtIZtq,hHӢr% ;?W<+탌0Lj.IZJjR-\>eKl)_- E$FQqjÿ<,i7uf+ܹ;%6 TⳆ*B?U6?gvg6;Y =3qZx( qMC狳,_f,, wb|ٗ,|u܆;$nff6 }pq6໭>:~gqoެ)Z $8NCyH0h{'Š~ Rƙq~VJQa>w cNr8KL=rۜ%n b>g5?O./o]ּ+rs ?g5?Ocl>?:@jesW{-J 2skJ R9{CoM:L(%ZQH)qR"g$RMbT r4h91?So ]ҏ+@Tܛ^xcxy; . zW䟻coR;EAo"/)yH 9ktΉN-64]̦ ;u|ikޭs>ssoqJ.2e9%)`B#S=X5z.DPsڑe=ޏSOȶ. Il]i_Z1#Sy0Ċ**wWT>'JFOK*ϒ]%uMrتώ;8Vmk4rX;!H?8t$Y[TH)Q8d'unV_yQ[okp#;pdρ-o·WCb }FǼ?/}n}V.a@N6?LFnKgK[QQףux%E^- eyMX$߈vY.<h'MByG:הbhepnߓQg*bëfal![Jl)S,eJr5g!J![)g PR lTOWUSl˗˅b.JR%Dul]N*y?\cty _2"x3[ob(%-R4T9PY`ģ,OPϑVfkNkxNPcI= ܔ3Op[sD-t$҂8p~++H ``g4!WBКhZu3J%TK#XaGY_v{nC`qw՞Eu>+al_a!>6cKO=F]g}v/^$ZI .l1Yql 動j+RT+\Z*BZΖ{[ [4rbT) L5S)R>+nMJ+r-Kbrh4VhɔaU*yh(S.Jri0]-*b Z2r3ͦމ˂K)xؼ9>jgL$h*Nw6ǽcf^2H+-:f>HbN$Q;v^:?GWvFUDY=fW@*N[RX*Yb&(TX닭y2bc| bd4\ctZ*C Wü9)ZėcO(< U0JBo"tNj1Ѥ^AآAJ融6`;d  `|s):"c,[q_``Wn3ء ϜKwrJmm!6lNC-LTK~ 6O[u$:OiyyuqNѩ=EGhNuN9:Z9=k60VTiW=r6`E`,)k+ {"roq|0٫v9ԝ!)ύz{ܓ¹֩ ~un25N:VIM]Ԡ!gUčJni5:f&=߸wv=n~lqA"tGN_mo7o^ ՛HE\#9;1 InvZ'IMRmrIwV;ȹrG / "dT5$ iJ^ ڲA4H5jg8P؝`Y_,=NG K,  )bbsݹsI6C;u^ (v5[6Uoh( [X5)}8Oa8H2 7C sgx2N{.."nh+niKx8vIJwB _3)ZQN27R#(fL9 .9@R*|HPL˂/\L}ǻ& 3[r^!Ǔ60FQo&:QpO)_曚:ʈ/yc;R#u=:nX/JSҖӿUUj}籝8(˱\fAe.WM_)8 gu}g-[XI߭Iqk%QI5o9}St ^+4~Ne"Ǽ\yPPi(<4<ߩ<2uCZObQ\%VyqV:9mUW7 _D jqx8B7;=.~BG7UXV+-ƽ>gea? qWȼU`Bvc?Z`// Q_/A)%*C?| ;b17?s?BDĦGuRDGC"ID5N'[ǷǞaJ \)z{B?8pC|VcK?@\B(QJ42(([K(/n(!v~;l~VCσ|_>% XW{o=' <<m>K$)ƼoYm+ozHhCgs_,K00k_ H)!yˤU Q#>FRI UemBˏF.Al6y'ĊjQw+ޕ7v^:?kM!Xy`iT4 Š a1(ŀq B>,m/òx=C>,q%<CB>{f-C4C0 -Pd4죤!޹I uCn%vlEB}&G'uHCa!CȦ׺;r QT HBYfPAuՂ TڃvgOuP؝{"ܣiXbwD%4C.X8f Cpn#ɷ"XFd]S`kp[qK[ʡvUL! 1}J01 GGwn"d|!/q[ .1ds٥m\(> :Pm3".o7a`?_Lae8^f:P < (Ge7ILf2n@ 0&qaE3ChUKC<S"<6V`@*n \d`X0Ÿ8n,3&E1qG%B/a,ԋ"BUXBtF`:`r`<$TD J!H& bL>qgsp1Am_@薚 ^#pÎrcp dve P˂F3Ĝ9cfQjuRAѠҊZԡV"Pd~CK ~,* q54A4^TĞ\GCVznxsZ&i/ ?MqBnvܷwjEKjIpUk,`?~VCAda2dN. aG &2g(A'c{ \[ 69_xHw9<1_( FtGbS\Wm$Ռ_Cik{xzS(3i>+cU,W:FQoF)+C;:ٰQpO)_曺\y/WK2+Qg86^ pWofoPo6XӏqVWqж>w*9}RZGwG t_2W:9EyWih<}KyHj==ŊEurX-)+r ʎueG̷e-J `cG%öF7Tv?GL^)=bqcoKƓq;QE?E ٍ!>ݯhK!Qv:ҏ"v XZyKL/l>^_U߲s^_(y1p#m^~YJQ lm/AFo[U4,[VR邱{YM.4Jt:޺`l-F]01&]0Q߲aGa ]NG"m ~Of3?ݒf>8h9p\1pLC/p vw@Ia^Lg |"@ DZ G,0HӀi ': F.n- \R<LK^@m[ycl'31v9xt~ [wBO]aa_̆V'3}Gp3'uv<dicA[ɕժ|nr.B[Ye,Yϸݔӿ欈g)\X2Vfֲj/JgYudWlOiㄛdF9io{=gciU{k&Vzcel9Wsrh/C2*dĿ9!ZJ2vܾ#L05hI>*O{9>b,E潼Y"k)I WrTW:ݾۄ22G_ !4i8y ?u y^dװHt~Y ˸#o@jIjL(1`Uρ;_\:l.[j2y^jGX6m,8\lߟ1식C>bA@N7^E4Qczi-@O~&u9-:K*?+*iA>(6 `(6  l' 7״gC2g3DoV>R"uEl=_W-r}dJ,jSwSZT@`;dj5#`By.I3,uACKAGv1!!ZRjsٕX=u $f5d뿸|RJC| cĬ_5_W+\nEu7_U=g}"o>i!>aXq?˞KKKKe/^Q?*)`.O}.2Xq^q9XEzo`-}AfE &N9>^ xa9QKrmd~A9; @ަ]'[*: 10aO'hrArJY$~vk6o '=hKrgLyt{%U{*_EWҟ;=@A6g ;U=,# h>7,ntCFau36:܌r0=bg !A`  g"Yf{J: nUVx97Cҁ7!pGx={Nhu\Gw-ԕ b (P# &{3ݗ1ʙ)ZД [rxr ǐ>wzG80G<مnB !uh33v'1l#nM>+7~R'n<ٹ'`X#ȡr7F1-*ds ИvlZVӬ"$rN̄w6nFBvX;-^2C>7 4K4UB~NNv}xȠ'MCf㲋Sס :fJHars3 ܌p! PJݘ o1 xVᘣN6d!1}x %4NN3SC* $H` @(gY"q~`sʹMn>s %Fב@!5#c9ҳK..":.wiiv|/6qo@Z4 HngAaw{v!<ݱjԿI+ { Q5"Ԟ8]pXS0SU+׍B/Y{B>.s!=FQnwRjo^>7wzܓ?U.8}>ˇ_18INQiWo{w UG8%b%dr xG-'[tx'?H[B\FT"9|SX[8g%g,lk vE?On>GhK!n?@|(KPȔW;#?c 泇zQ)x/a0^0Il6Gם;Xtl^z@j/ܙ[fʌ1h;(%>y",?ƚ,Sp~IWX+%g4A{l7w.uǧ\yt^_g>M7N~rF<} 7<⟯` G3F Z`:#/_X\ru8 Rčw~'9%,byI Et_X0~{/[yi?4 ]FSBI㭀Cp\?vOǍD2)% yP;iTUqrz 4U.UiFf:qZ:;L]ei;ꬕbNԟmcjF?tMhHMVMm7hXqgU,*ԪCO'zX#[Epi(8֎O"ٵv"oM1易y4,Pvq dO00&Y??f>%8,Y>-OQuwow_E&1x7!O {.%~%oPҺmvxXovyrDt*7OO28X{zqt7!kޖUٽZzpN1XB*36L qxy40Xa?brla}\(gx>vGұf++ ;+ 8|I!g-\> 1l(ڭ^Yo)2 Y VV Y],Za^K@K?y{>?۹U+V c%֏k: |AgUx'KeeBq-oF>W.U~K83|Hfdx0MofJi| -nR89LF%n5N۲f>r&̺E뵷a12:45 *W]fk>6Y~md vL*|og  w5ҭb\iVx- -tLHB:óSE/U .r]L0.s\,hD2b9E=r͟nnXzg`Ub[';N?}[_Qe1NKtEv:ܜA,&kNH}u|Z*`R!ZtaquCldDWf}Sj5b8xL'~h=UyxB2OQzlNS~Ok"i6[@-H'Gw6Ϣji,;kشnyv҉ r' %<|SDngHtB3n΄N0!-DVdPG5bߛ&n&?`%轄 /)uW(`P%G!"Kus)wt\U \.{˫NV8G1܁H+@[  @n,nz)S2_{u1jc|vmfVYn 2~ij |t_ܛsUiSSȢU0|ŲbѨ%5az7Y`V_[z8_8b Vo@3Ȋ T>a\w,-%% hH7Jpi#Ϩէ*(mkT5\VHfg" ZY3gix\_ٯ 3L91>vF;D"_x.@3۔I ¦RL ̞3|2*GC~_PA"E/b Zv9` "XQ$4.TGÀÙ-fP ]z .z袣vpfޯwҏ"2]娷 "/;v-9fn@p y8BYݮh8Akr1LBX{&0aV9[2C|IoI[5}fOD ( $ 8h|rz 9}nOCD:"9&=AY/Ƅ"yrxQ _9iɥֻ¹|>}dꍯ`?|gӣ,Yxl?'«5NaS7'3fnA b1]Vq6 U '8wZXX:x=߹~R>ϡ @!ls 5 S]oxH $4`4D& F;v&/2P@DbZ0 h T4o^y }0ʱZ)QfUB4|lnͻ]%DWe>d0h c x!<9#|1Nf`!`8Z}ƻ{1!na@ZͳChh'Li{P0Y`lSl<ɗ3< jL5_rժ2T|J-yWW\PUrY9 ͗ RߧWK}ϸ\Gr _) ".ʙj5liPTire{s)N `RKV~i?(=s!Z*u}:/R٫R[W3~* .0ta y}2Y?x+ϖDRTetl Gq Ŋﹴ!~ʞT\֮xRQT^,Rs YK?WtU^j?cs% Q_d{ RV}>Sf^etDW=*Vl%C@TWWEe^ˁ p~l+W`4b)S2W*sEŢ۫&T+%FWA_zg~VTbT`U|(Uz*_0iZR *T2>rYZ rŅՃsȀmūVb R.EF~+U\v* kK% \^዗ |d(V?SzYUX./*L`dJJL/Q.@RwY73*JVWK*l><`v=?S+{H$YXU'l{t{< UJY¾B^ʃJz|ON˔rq hv?LՁv Ub ȋJ SyEϗ~*/Sz(.@XyX`q8e&)ejOrN> XL+ @*b*DHHWq–@J\`Jf LPD%݂ g_Ū^Jj++PgT3r^%IJ_f}F|Z$@T|n> #!yށ\\%SeKlJ-4A+؁A\(AYP|>[1LfW$–˽)%w3< rD4HTU& 84+ˤvZ^0K j& BTU\;liWd |Q9C2R=̉:Ų-{eO9إ|!W(]PmX8p{97p 4MjV0i;ӚO^5?(2o :1^&߇{X-(Nføir\W"DWVVq3پ$J;(z%|Vi~^ޭK 2[.< P1\1Vh[wEճtTbzRy>p@! 9؅@VX 3Wje`ih_u{%М\F̩`@^[}Iaqό[+ Q| j >р^z%`9 ܫB-SqXJ829\/Wb-}1S.PCH25[xLg@9蕋 h-<PupSU . S64=`i}Oj͖}W@cU% TLex@eUfԻ,~P0V2`t(9 6907;Xn>ØRc!/r`B^@|dWU` Cii4[at.JΔ*e?_0+j`]%#>o-9YTcnp;U=c zs(8P H@ U3,7 j 2,\1, `O*AlPٔ"0R sḠƗTo=>}8pb1+J+Yf .Vv|Ū /e.ʃJ_!ryf{NC+K TO @}K`s@`P{ { 4lʹTYKcS0O 2Vv9#+rqLBH/d2S|UXp(Vs 7)o+Z-Ds{>Y/[  }+@Y쭔2l+ ,,=|xX>0@` j︼% < <e}j偮1[9>ˠ.%/K`ëLJ^Ra=  F򹖭WtGX+nZ( j1/b'!LhEN? gr=s '1% B, 0l.*<De@=f\7BʀЇ#!ǂ۠XQ-KW ,K@Ų+43B.ic70|¯d6T{LcsmeíE m<7<=R-m-3NեSGtZ4XB?Ƙ.{%kXp<vVK|mɊ( GV> ,(I8Le j$J `^&BUYq$jjd@SlEu}\JBI6yFD[!Ar4H2`$خa|Z?gBJ]”@ʖ-TTP:$]u؟m*,)reT(h,*CJ[э0)ʃ< s +;u^!(E3\C^a ^:(&KFJ}"`*j ,_(a:A^K^Ji%c5h8+,+ o 3&eQBc84|05B4}a eW&_FQ1:dSAA5HD>w QPYH\kB+IYZ^0!G0B |K^GU`l { RUWi% X "S cV৆ D I0ѻ1%( mKpAڔf;T%Vr0 5`̮=P;A!; Rk J /+0N+@ONZ^x`QKR%"c֤eFfI Q6~0.t(r``e4Cf{f>?a 9ס,aAinAeUOAC0Xl/34m'V"l K\0nF pAA%h")pUaJSBWIƙ3*c" ,4D*Ei +:@ pKRp*H<`ʫyh?Lw! 4c*O|-C`B ✙$, y'i%cU<˰ 0xy/ 40*P ,ŀs,4y\4QQ>~댙\o{VfQD}-+eXvJ2 3%@Yd9(LvAEE~K̇&#gNU: Pй;>ʴE`|GHe\p=hj7ӊY ,?,cpa=e<,O [ bJUupXdIʎ'%2Ʌ^>Ң ./Q+DD Y`.x,hThh*ט%Q*TIc p_J_:YR* 3B&;a9o70̀9T TKRr+`ie7")  E+^buXd#9Xu&lSU{?`<.|Qq\ʼn,GI_|htƵRa{0A׬APժ1 R22^;~&ʚ EZ2HD?BY ALR,K\Y7B,,O!Fy,#Gq,S)Ǹ&J02 ׇ`ɏ; q` 9Dž9Pr~PLV`U0du)b6~pOT%}Tq+#ѢSFڡ+@X3%BPNHǯq94'F F%hC4Ry5 \Xgbˡ L}  J "$9t1C+D؉,6WAS૕fGx@1`TJi"(\ a$:t&Jv=^ 2b~FwXV8VQU!F+e7V_La/P)Sg o!B$J Jt+:0HKP^ĕ0JRg2T,-GGdܚb !oJ 3po0/x!l) c5B1xv^|Xr j\r*WUYԙ*I No!l]cϊfYqG){ *6':T2~YGW'x贕c軰އY-a]E*TM@a)<}` 9 9dLvdtcQU6YEaqʇǹ]^38t~]|UU!b  bdJ˺ʄ%d&Dx0,@gbX1j A^G`F\l2ul`$Q^F6FT~] v+̩Kx$p{T0T\ 8D\R3^aevmU* DYncTv0ֲ$t6chI1c,D m,q9l<`JoF`[#tK T ~T[ @xe%lhʀ5+tpPYwc;Yqӎ%OBQ'hг 1l^D#J0Uͬ^'%1g?Ep@<򌃊}b*+9`FZdsTjSA-W/%f] @JUy@qt.!+kJ4WGŢ5 HSpw#׻ m +/٦Šaۘ?AE@02ܔXi:D'frH ܊wKUP$"_tBs&0Ƃ@ozVAd&"g6ςO$+@ s*OgjU`qg t,<(²ejKߕ2V4<  o) zAU/2`Ҡ<2d|SN˱TZ](O* IPQ0ba@ũ`k*VU0+R=*ȀnF Ri0J; (+*JrV"!(M+eYIX J :Mzqc `5 @3ŭgyc$IrEZud1؏ (sB**/YW^flNH@O m3.`0b-D7+J2[f`jZڃ FYqADiW MB/tZE5)E1bi i Vo>#̘@:BAT)O%,2)&tv&,FiIn{L^J|0_T>ԛ GV+1jH,0aV%+0#6M%@ C6GmMucu&j-x̴戵YX`а,AB鱀BrK f<.esV%fߍwJ} #|d-@6Ih FLbG/| q?5/L$RbV2 \AY1#,aQWZڏxN85Xp6 eR@tywnL(JFqk$"^Qּ^γ(d5990cHKu94T'a M$s"}4!x |8*詿y$/kW)uTE3[ 7"1Y*m8ŻoniERO;wЖ8!yS2P^ uqP<0b I⭝O;Wܺy=w~{__VF//_M'oޞbEqf+6/chcA+VhQ|/P V-5sm(pѠ]ALpH>A{ F鋆!`pO%f "+jFcKGHںKg[HĠ&b/E Z\(0 0y2?})^whq8k^s`a oa/a5,v R[}7h,`f%AЩ0m6Q,fz7FXWK$F\c\N{0@8sJ♖|1ӝ1&Izjٮ1޼I7xr气5'8gz=׍]_aWzK[1k\ {Ԝ|sc~@;͋D&wsP\Pt24s4dYQuc}b'Vc٦c&g7C3usw(60]s{N<4+򞹝\VST|A8wٱς7I#2c>J_6U7 w5Wr7bG|?@7A%V/-|LD<_"u ZZH׹4LG7WwF]'up=x`TgJڝH`@D<FNk[OSY[)R>u*SSmI>zKY ħ|]~UQ3B~>hQ9"LopqNklx&_q}fIw}!. abG38-im1>wr:ҩ7| E'19xҋ*s< K5[|0'9ut v S펑xJZslEHujãH7It LAǶ }y}9>Ή{ LxDW;e\Mj/k@x%"=C0l#!`ޘ$|/ϸYxLG<㜞y|lX3]7ڈO fX Q=i=XyBy׷u}z<Vx$>]hqL51<"BTh>H)(M5烥,0O|qKב Zrs}(|yE @xz+d?B&ȏg1薉`΁|顳4w8d΃{B6Q#V&+6_GlQ9Mj=!"mV/  k;S9D AM ʧPqrrzje@ I/| FMtPPɓi.:|?A|+8< tTek|LiYwl{5+: #3!v!/~d|Hot`<;%N`҄O5zt0q%i:xXOƆ`=%dsE뼳[]MS7L)#o\APG-Mɹ1+%e.{x'}˦$$babkQlg xNΏuo(xH5,g `)jPZ_]9k^`ҹ ^aqaLIk&^X }77B`xM}+kN'6sX ~ֶU+Q/!u9C[d<+ΞˈǓ>HNI_r>`,Wmr `I) g>M b @Ǫxu=T,O7gܓӧzS /Vp"Ri߸ʗ} tq6rǻu߯^\#5)XP޷`i!c#q6jj~ml.}" zn =}mx CHHF 6^=,Y_\3H>6ܻ+f `$$8#2FL'lAp0Y\!p7v؟7.Dgk}\1Cv60,$epvp`c}?ƮX=Un FŏrUЈ|04Qu{lƠH縆Iz.o}ρx_smb LC ?fD^ Eݹp#~nz9T/`^6P}TgspFiq!mV.Oma@ jLĝkv/ټmvEwy.bs,86T ØK^J)u >4kE;" 'ֆ*uƀ1\JPDPyhqNi`$.u{sx;᫳\!AR!zn-p'`l>S V3jm}t #>a2;{ D&>x{RLv31I=_sCsE$t1Lq > &xsٿ;ds+\Л4 s! E<3ޛ[In܌\:b?ԼT':1*9dsYƚI<^&+uq#tu'Po0_17.Zm ^=]Tx>/x{OOpECJ>.Yd\dγwUc3H曡~aj:Sf̽8wKi e6;D9]⿙+hOiD;HLHrnz yw~}[-k|:5~/yA(e1c*ee,'~ΏN'woo_>篷_Q2`'#z] ʏg~vǃd{z{_^/EEIw !ڝh|v tV">/g5+ćt 'jWÊ_0L5}$ÙV 7\:bxAmckV2W>&7eiO1_'|%mۍg3*Cn]'*o9OϏь͗u0h.-m6B,S䱩J$ͻ;p)Os B;N# qxDҗHVa*=i=6Fe'.Q 2R0r{s51B x!0+u@Î\n&(0׷yl~hʼn7;gc]ac0#[/(BeT_0i|zAiH2mR.m`:J]RQYQ3E= "'CИ`k&ͽ<ʍ\~sxkػ9/?/>&#pGt` ƔgƷ97ƒ;l}nhNt,})'kXܴ@IC" un/57~ y#mUlU*4pobL@gd1kWgZhVWMgFF//fJ(wuU_V ~X&zwl-sW3 #(f:]'Gl<*p/R6O|S)jD+3 ކieiFGaLYq x.|H.s ?w76noյUy.y-Oik;8>2kx1 ~x:{z &VUӻ6lMnDPI<\dgKAO(a~kp\k&EH-1v8 L9KUÈ~ cf'yx4ݻn7}2-xw;2>v)b:-8yzSMF<{a>x ݼ!àTͥ,MMޡ3ltaTߢ­}qvz4]NOaù ~4k57dNA`sz$Znx{h[@喷޾{߻{}yׯc_oxv^y{`my|{XݽCogC;as{{!|ܼ} u.6;=?ܾxgs{xaa>}x֏[͝wkwww5uӔ͠s;#ֽm,l#elcJrp7ƶzU`B= t8x|pDܾulMjwlݶw?:%'O@&}hKcx4#劉[|IJTDZ"6Zz:vnk!`ƶ`[ic>hF`[ʻ||^W{3ڃn˸緟і{ [5Cqۗ0ڏ=Vc[oOvoDDj鶟_Ga:DMa߳Θ5([gL&CƋuـhL 0̨Lg&mCW 7WJ}g6~ۿl»4>9mQNP?*-OƯ~ )s?-a-SώBX쾩pJ~QC.v `K{h:Rb"wL;#@~ai\BH6L4]8=BH41Ӈ,Dc~ؐ)2i"m1y3]$y΄kC`hPóO>'١v'guh6:b[wwaat 錺=K6΄-$4zP&M4x ySr74}y=٠tzw3ua;(6CMGdkF28Hlgs$IBv`xM߇h"R:|եKg%do^X@^q>i^T 5#lQ `p)Z0=葋yDS헯؛݆a i:#ݢ3Twтδ*:10Tѝ6eVgr;ҠMӰM%M.e3ff?i̪ez4RiS4MPLi"mzyӗ3^#-J v`_PtocwԺMyӡ@ZCmSS%L~!gViφCu&d0 NS:>m&hsG̒Y}7 pL|(vAe?u؎tvnMsco;1=a3t Bύ}xw`u$l4Zq~nW^1l~ng ~kip4sc@:HԡQKMsc_>=7J?u$ ύ}p6|˖t<р=ؗHiDSl? :vBz/aӵnOZ6ݧ6SomMsc_:Ñr7V6 b>8tFCH𡧟S 6i}_]?8E-~xw[|o)\e;En;%[{_jZN 2b+/@-~xwa>o ?ǥoI\4h{ہ v` %#'ebKi6ivX(m ^i=m t 9_f`I6Nlllll/UܩBi4Pڀ xڀJi=m62M9Y)0 @6e]6n%ژ}Q_Em_qG9zOǰZ-x_;?*P^~plтעpl 8GPLqK߷m妧 L8w N--x_;/5$ A'G>ڀwzEYd-G8R̀ȿ#1y7.Jl9&cK |1+lam9VcrQSڀ'GhvW}쉐g[N͐뫭*.U}5jP^^]o;5CwoT ة2@C7~*.5@Ayy ةIk]U|? 1wZ%cpSYP.! ߍN\0%c=_),(rw] 0Ăr̝Vr= ž< K,(i{ 6(;-(KZB.=oɴGkg|#QN*_/>[kjt<:{ݼyL:6n!ֳcMɳY1>^;t%^5 ~[_oX^*|ݻ~뺾 ?{ǻ\B^5$K:ڃ>H6S}ngL?Mo霮k_kJ*wWىNo`J=9n y+J)Iﲢ*<EkN<ɳ2?j81wΧIÛ'p3Dhi1[A[[XR?ݹW\4Xeod5&;m;5d7pKԷw 40\m oiV|垾ͽػ6^#:DX|7T#o P&HF{Nޓ<] o0OזT z%^0; ;,@|~ :6z*5ds /OFT\O 7o_ ٰa33d k[d-@ ?}jfo t[h^%ھ(/Rc卑4CY.|Ϩ=~73CsWMn)9ÝZ3q0y3IDpHo3ijnKoq'D|of&k_ tUecRM A .q.Pg 'F+ ]A/$2Ekл3 *@[|kC a8׊hv6pMy ^Ϝ3b(';y6{.fX{RsuZMWuu\㕖52bz~64nnv1w^RڒP_ ֒ۏ̺A2̈hV\9O6ò q= gZ",FX#?Wf{]&}::ɬroѳ]i"誹\a Zᚽg~R5~}&LY"[)ɝ^o/yhG||tjͭb9Ō kuF2>)̬+5YVj[zu=WG,(vQp5FCXMs5͝ Z.槻9\Il gNIC܂ūXEugԨPprL5|LZp͛y:Oݎ x\L71+ '?kEǏAk8F3nﺎLS)yuH:@@72XRl#ۃZփD7+%OnW{/^E#ң^]kSw-!ﰴ@M`k)n`f62t#A1'z)@41v@PaLgY37w]Ijs:s[79&ԞmBuٴ`CwM隦&~Cs",]n}k/c2l=N>Yizlƭib0zP/gUlѻon䔣E"'8[CK^+ݻ8O{57NFލ6eLq 8cFKQI!r>6$MTx4I^UJXBa e]߰o7wkz@:nė͛2M^opqlw 0lNYӽ{mG7+D}MO7Zs?tF^H5y痱d|4^)5ѭz6t:v~_S@%( pf^x@#wv-neb@_Dx"f8=j7Mcq8`&k8:p s7ބӲAy;v֚rU۵ëd+IH'g,?G'JmreaW 2 +.bOMk-Z9K}thŅAK9{|B0 Y_ +dB&l{6+a5>1.|;S-7̳:mw8!ovGdD^1i> g։ߩ3Td&3{k^^fʯoSW >0T$PpUV3pR{XI7ͯl og>|_~N[I1L/ (AuSy3DvveԘ~c)o>͕~`8=9yܸ*F1͖7=cZft{{v:._yױ|0]|XSwe> u%#p̛_!:+xAɴ<4JoZjt39\t1~*_䘏@4)G` w3?> cD"6O%^/Z(PVvrN΋Y$#ee5C?A/ʣ]̳<:v;Ν7cko ʀt>Y-n[L~۹ 8CyH!(e_x.$m_s cMΦypw'븆%[{yts}W0&lK6(]ŸԱwɜ% ! 9:xMHlzC?CΉ+nZs?['h/82?3kh Md@VOgr>$ dHG~6*4p_y'3^olD8l6Ul=\61txox'd\z("I:cեMbzìU-Pu-1%:@I̦##?WXLR4({$|/=l Z1T kj5C`' N̍Xѿ{E(rچΪoGgy᭾m J\[[@Y H zhB㰕m oKbTћ|Xg=[nzowиM1<|81lobؾÒ/W,9Q῭8$_2)(Ʋ URUr%_5ᵤe< 0TaE @m~V?-°N][DE!yUR|+gCaSUe:Ic)ü82R'y]gDAytȂ\㌣h~YVu&D4Jèa7FlbwKp UNC 9x@ r%޵:H#7G N 83/P84 \p!Apw@. .PY8c=}!3t`ηAXP'(PG(ci>覶U[1$߀X6͛OwAtm}Ezy#W ġh&QW7DAveLEKUӤyjR,LUڮ"fv 5]@:u]N9}v]}YJd ><z4!!$9*/a'|E^r  ?Qă=笆;(gtM<6ld :Z{ |?5 Ƒ6 wl1}qrÏxi5߯ºo{7.uaٯ5y B'zK/K\$t#Z@rﷺ持N~U_,r  6'7kdľI|z:+=)쌾(ÿE9ոFˈɀ9F`lez=N1PT;R,nu'h˚*@y1}U$~Pd8Y4Kk -'H͐Fwt(b:NK(5jZ6Qx6~#gU]5yCx]0`O[}w6>6w{v>>?7u"./lhg{oF`vpo!{_CwA;ޣ.4m{8<1QSxLU/ŭrztO7<[sq_/R0S<@+_EÉ|b __,un9x'̛@ wojxkX.NT/p2.RS,QEnj~>.;1lىf'jى^s_B9#g.vWoGr [V%"^[VFC}אp;‡ ~$ 2eQ2X"$ 3J*үIwQU|dQ\ʈBɠNer˜(#UQRYI3~! *|IH#N"L*N$Kd*!<_BUǜV~fEW*LRJkJ闹()NV*eIy!'Fe!%ei"I)8Ķ4.oD(O2s?.8$FvYPR_R$~{RBp?Q)8!3< ~Ήp(eIL,S.ZP"=Ή2,RhI\F"> @,̏eI "}NJYB O@$ AXEYh_'UiL"+˜T~@| IGqse4esBa"&'XF@vUp"eA(IZK% j)zp]+n?y/6<$Ln bT*-W+CPZG&'O "yS(B|Ctݼ:d~Qz崐 !:T#F PG|쟢X+*䦓pH F#1"D@?&&~C}ǘ>>7l5lג57ǬM䭵r:ykn.\7omIx[9ky]dVq4h < : rGq$|ɤvxr ?Ӵtxr4px/Ag-OKK,=͏ss8=vn\OC}ICU|qcw\cÈq`&7j/⁋sQDkw2h0{3G GBX- 'ˈ`6z\~ޥsgpdpCx9^57:Ʒ3ǝ_uY8] |3k)8&5H_œ Y75gx"IϭtefD_ձIݱ)$`2yJFX7:)ʾ{bw>>2E&OsAO$g.?gI;'30#|ɕ/)`\}w+==UGlE1ʵN6?ID"7LiD#p<"p<8MN:D"vss3#HH5¼<*ΎR$UQY&Ha֏MQ*Ҭ*_mr L(H5I?*b?|&)EY*TT6Iy MMj.~lBBN`.B%5nTˤH،Ҥ5:IFecTq&,ԸMSjI Rh5R~l"-p81*I2+H69RQ& _&ڤK SdNU(j̼NJ!0M>Rq\չZ%" ,,13P$\J>Lmrh5KC~54YNJ;;&9}74yZ!Qֵy2.a~ tV̕a{ȕUYTUq8 w0? ۛL0QUdlI_"LyB6_?қS _a6Vuc QXU#)LMXQٹ4dQ['PT0)_& )rftYUJ&L 69heTf4MҰLK8 IRB >̚jYlOLȏDֱbE 35 m0Ga)#Mn @(ihb*J d0V7f2 TT.XdߕHa D"Ť1WyRUqY)d:J* T \*hE =R03AjFFγ>py\$/`a-ӪHW *52 ff҂2Ss3_Œf2yUheTA?UT( A=2$f,#GuY т?0YZybC ^6 Iz"zL)0w5l`!PR*90pd &΃lCyX Sϝ_ ?8W9y`3^)e~g#.N4exNdG&|$O`iP%OiopγNbp oǡ^W-OIyW0QRw,]@(Yf°$${d~~%"[Nޤjz\K4c0ҹLQe3?/p_e~^z}|`3?y k]63(02RBJ ÑļO0Qg"ϐ>l|F(G@@"I'cTH+ QpE\tfSKx%Х_eZ]d(b ĜPrMfdrYa`^C /I.|t)ZڥRܼKBt)^Bv)iHv)u7e/DDMe/d|wDiܙNjR.s sDK"p#jB,eȝ G?AZ LX!;a`)EE<7!2I·l$V*eSy{*e?Cy!{dsgV/N>woKlwc<^$;o{}~|[~u_/ѣ׷{L={n 3}|E%O}8[sso#%J>?x )>\ǨzbCw?{y ?m+ x+,ۡi/AH+]m_W^8OɆv<:7Z^bWh]`_8 iޓ#އQU=ɟ*e,Ήag{4pc(T$O ::1I2;bhKMk0gҋ8&V3PDw wvRt pML^e4>DP}o_"%o!?~%maD?;??Oۍπ? @0EAE?^G'?z1yíg{1x{{{sdy)m<~wJ7$7/ ^3~֒Ԉ.'!WFYh# LDGHQX~pGFV)?D;>PFG Q!2=r}XCtZK=:?=;nr 7Z*or5FsxvT<+Ogώj^`߱?sc=+D=ä$-aXu=3SJH//u?e?GT5~ǺY Dy"]>N Ѣ )\2'nIJQ FWJ("1y"ls#0# 0#dt54"cD|vSE,Gq0[~ K}=/Ca 'w =~^(,e(FYG6.H-B⍯ɿ,W/6Y-5-/?"g6+_E8? y~}݂>mO~wTP؃G_{G ~_K'VM|aON^^|6DI/ˏTLeu&L7I$-uPPgT:[ ϯ >S:S,.!hޛ+ _JLƆ&q7s 8a_c'ަfVz 8NfƝZJ%TJr6}L| PRŪQj^Z[jVdmXU'W:(wn7NTXekbWuoZ߰6J;\tJj ߀-nLFSkR鞭sGմM/BKІ41Jq)As.*6{nN$p&S K䦃&pvUP \:Sϲ|Ͻ1:}-ǟq |qJCPߟ([4g3 U'@ @9Ξ\{cr* Z 3R Ugd JĊFZ^RX*1ilsnÈ\JdRT.BZIG>x"˶ȔHh2`^1$NI~Eq* oOw160j49x\MgFy;{m@ŗJŸ:Q,2EX@HUkP@3s@ƆD?H,YjylFlj,6PSy3RȘf\$o(M`MDT\kPpڀ60rD6H(+&-cqV (Eq*ePRRr#%x$'W͛˶UJ l.Jw-#w+Xe @HUjqm06}D7'%hdZ|8tWTi v%\6zjZ eNQS\N lFPL?i 7=6ej*sxIcOe J^ SFv͆sf8uZGotԌCz)usd5 Y(A&Zizy5Z={_!bn)%92əӆߋ6&5{Ib0̅wAL\I)'dhbWkJƤjL+TG =FOjfd>Y+g샡='#Z IU6ű8-+A==g9)m?ƌ)b ]N6z@u zQOj8iq1KKzMcj2{ntgZ5Ssxgr0u,cI25.z6 \O&1e#1%z^~S3(4fJ*;k3'k)UZr7ĤH\ufJ-juFGUj\pc jH83F:4-$5lqb2hBpipNErJ6Ȍ13<6Ir42%QXh_-'xK55Fب-9,O_S*琴\0PƐmNҔܲ=+FƇHi6qfglIyl,c{ȓŐK)L,e!YE)XeUjֲLR%UiX#'RRSzp6HO;={n.1x7$jA&A$LPpȴ d,YllEwu.I-fab%˩Y.rX#\15] GJV\u+b9odK )C~=pFk!)b0JV%=2fǃK# `xD`L#5]~ fDMq-1Qv(OؓIQt=;V7nu}Zq6O='c7,mVfI~`2}#͗7gJg$K> {;k K;ڷɀ'kH+G1:hX*oƮэ֓T Gs;sc5b.:h 3q|.gAXneW R"y{DmgDlYo| 8܌S7xU5bGzuW+")3;7u:~$-JNEf^(n]K}D:CiD @ fݦK}]Nl>-ߞ{!EU-$*^wDZ5P@lmryg,ZTZI _ 6Λ$ۄr"T@Ie9=B@5l[e6"*Q$v[vg7_H2)qjE3]X䬫Ȋjˮmu6uVaURnq*K"WQ6dH]y!UJSRfLӔIIՊ hϚ&G6tIC[RuM HEQbT.2eeu,Jʀ.\k>,4gR]5kKenYfM@zK|4%2/"BDo4%q+|Y}xo^M ux D~-jªօwmx*9#x{djU0!*T@Jh %6 ^:x^7Dqd?nQUnUSդJU! r^إLJp $Wվ 9hkK}k K6ljiD\ٓrItw${*ů%jq8jَs9r]KϨbyd;g]O\+Fb$jpQ4[Vڨe\xi\jJ(r;5ܸvk+5~Ney jX2'H" ƺX|WAN&"5e<0gfAyi3L}2sl x Cꟑ|̢0;bUh}a;قSU,|&O| 3mLd>!*(?(GyWfL(%zq(-mG;ĎD$zh=LtU&.KnDmچLhȏu탬y2%I`D}Q픲UȔA~ 8Y2^E֌Q42C DzՀxGcgUQKwP*;h 2`KThVh# A7>UI6TEc[Dko@l_'k}Q-y'hZQd<–d{5IŨLtFN4%9G]Ku?zhOY!%z!uYAH=⺢uܯ:g]=4Eި9UYMUݖLk% X[E!iP ڸ!7d WUy طA}. $0w,@IҶCf.%GFf, c"P.)^%]*%)-m-ѩc3GU|KdG(8WQ?Fu=jCq0ZcCGb8lTL2lghU׵ $VVC⺎p0vE?V%찥Û_׆ECo5I[~R$B"Ql/,'*? %3kcJ=d(S ĨCҒf,b jQne.C9HH KMv)mIFE@rtTIҖ8VW*NW:#T1x8q^WC6TJd+iIHK2E$-(I"Rrl#V/HCWҐDAL+DVCRiȚOIlԞl%쇭hʡlJlhfK >N{?鍺]&^r0'zKA|o9c+4?\C‹)늼nX:;d$$,B񽏮 z-.{O> szx2Q%>% ,TlYvky߱W̩%dFpɒ-Bs']rb/]s'/:^j?'_' lk}@~gupKp9yO:s_ 3N' kߕpo @&c1!ׅ Փ7Wo 3$xe&"Nl @XL.DL&%>u%dbu!fלW3,dH=={ƞ$xc)Xaybu?xMN_.-3n'>@ 4djH1Y*𢲥a1 y4|934O$ tR"3)ߕJ'%0tҟ3ZVoOy"AS|FNϨ-f/VX?l!?d] [y)}rS"9=P(Moԋ"B6VPj$zMnCVl M VW!dus|D2 RA"&P [UbE>ذh*F}X Tq-Ń?@v1'SW;7 )'Mȓ@SNhǁn MJ_iqgϸ vb2GlxD#|1/zIZM8Xڙ.!)øB7IQO.$:_s. y"?wŮ|:܁(c]ϮC6WJ;Vݸ.QՑR5t$6n6{6NqbWY?ISxkT*;Ŵ7D@)sMs{[M}ŭ-C))))C^7)1<v&_bgl8_bieʓgȢ1ng7g?`?ZX]5U£QW}Rmvs }"T@eb罀40=A؇BF{kjF"V8_-vJix=j`P"ʂ6(`xv ][/ `zQ46:eH)CQ@R^"ϗGbxgA_/t}oEsDȺ!z2#bSMeOv.4UX<7w@F;w8?9gXYSYdɿgxrvv\N۩ |ÿH; ]`y2XNJ܎5 mnF?y?C\>9c_~;Lgd?LqFߏ/c*[)fQRum]c' j"A[ ɌKa3 8=@>j\(Vr bh.tGѡ1πǴ2~jյHTm!h g3H|)'2ib+Pi#(Ez^ؙ1Һ i@F.ufYjz[$%ǂ㪡F^l֘/wJF%1$i.&!Ɋ S [m<Uy"[9fT_Rvia1[Sm_/_.+Wx?RJ 1.^|JWP e K3ܹ5fdVד{_vykc?V/ڰzIllzEllbo׭VzZYu fL~6FڨXlܷ6:߮X6A קr\y nPJJq(yi]JR+-v7يaBgBmO~,RC|7q[,NPBp%TYmZn 6^S?ik%+B>5 m0RH>Bj!fo7b9Ψ) S!4 2HW% 0l͙uYv1.;غ&jkC$i* LږLRNm,.gMFl ᰬ% ^vj|‚5H[4R$ULZ1bek/t`u,VS`@L%S!"XI`g/Ƶ6%Rfd=:Ѷ3bW TtBZn?O+ɕ˼! .=J(ʴ gD]Thtպ_5 >L.]dҨKꉳE4}wF>^qN%PRjzfN .(G^kk{˺`J*) Ԧh:vъ#M@-CZic+G1hj`ĚJuZ~3'`tb2w`mnr_Vx9/=umxѫ&6h"> qfU|[^{IyA!?HʅDyMU5R|?~.r`r:՚$ek{qƘs'oQzr{mslH+MC#-RQ{2d66@j1=fԅ!ROH|ⒷVh5Iš'!J OWMS!> -,i4߲X}*(-ѮRց/Ϡl-1QS׶-P< Ӣ:1UI\XV66C:{Z*e1'K%WBblu ͆2$`Z'5p9(š!ί1FmHȪ*2͚zp6TcWv g=9:a/gTj?f:GSY|^:]R3J&)Iȑ82ݿU)!2?Žj^,Kf\?,A~{ìrjg,&['{mp*pceef L }3+g ]޸%m'K?h &&Za >þ5`6&kiJeqgO>sNOTqp$?A{W ,^`VO4׋R?K .zaslp/ȏWmIQ `h~$< {]7]oI$^xp!dQx+Iب Zb =$Ś% 6}{ɶ!7-Tz/voߖ1)̫:рaxM_-Vא[.>VoRKS[\q,V3AW ݇m.~[xčko!돆xt˧׃2Z-_^b+c ?+"Q5K-B@gE 4uj8s5=b$ 8}nouQ-DͼgQ@4dJ7EyP`йc^[ϰQ(fM$ @sbr(Ul~k!bAσ|/l^=oTEx)EwSs@7FH6m붇mҢA-hx{-\p+҅V92tXp>/aP) 5ϪYV6KޒKKhSH ֐ZV;Da`ױuu.@cfk6{lH*jx[KÃ/jnTke ">'n )n@~|c.F>ԢGLØ^oUlFS{}d7&h tWIUZ8'GI ( @=>/ԝ>n ( bz[0MYFx _sgr _ɓ3T&r׊uO7~K8˟/denreQj7.Mvfj CXA=d/}Hd3~J1opJYϜj].~z.j %TRyZH8P~J_IƉz\TEl ȑxe/GdP[R< /bY1^OVbgCv5/Sn&U#%N,l܌#r薲+߉tS-P˳^M3r}vM_vW9PSo{xy7U\2'\%7nN%̌oXEUF;v>NۙOɶWuҎN}:7/'w1Bgu`'#J9 lfX%~N^\Мf͕}POVWsӈ Qv΃7$WO)N5C {pn/<_4s _̴ \׫_X+_f 0aTK y<05њ}v HNGhŨ0Gm~vzwۻ#'vQ*ߐ B?k~``~8{IF킎%Pٷdф.%3og$Hia\yQ?d;o^ɲ U5<[Y,q_)Vvy]bH$ y=9#qTu{xx=hJ:4VrI!駰VL:^10WkZ˶C5Yns''zysx.Scz x'-fL<v]P? {{ $E2 4I`KchwݲسhXG0퐅4ՀRq63v}ϳ树4^̄? y4t_Ld><:99<^olK,[p9Cڧ칻G# Ҍf9?CՌBMo=oӣFLq(Hd%'h @c ?c_=8rO~ȅݳ| EfS 4s$}VL9'Ck͋mV]3׳uu:1Eå?lbBX*,2(χ!W[RX &- FȤ±f tl!HfiK+C[)zU'Wʆ̾ MJm79x"&m *xgW͘-<mjHápE* ^Qg+ͱTߍktVI%bNJX$ !IؔT(iPB6 \ ;FK %@un!d 1:y*U oHi^22?oެ4I_BsIN"SJS+дԥNp#wPM Xvn?v=je3gZ ȗK@gD&:+wt_e0`]@)-TB fMd+̣ ?,:F`4i):rIÊSj VW?dP,ZE\SM*,୭m,8LlSS]IcFThh4 :'eI|.WڋJh}P匕>:i˓0,m_Y< '%聺 !}…8s_Y㹇 s^otq&^_k?ЋLNL_b3~32=!OE[6KTǂUp4PҲΐwj>޼9mi;Dt]ҧ7I ڤjz mWOJf!iʙ6ڔM6MSZA} LJ3jGbu DfGoqQ]c@nte=j mѢk30ZfP8UCNOBp&s~9yC.]@~ݚȊ o0Yo`;+mDxئC4Dž|z[݇M( /XqDw,Q3S %<]7!K9qLF4%nDwh¢J7=dwI$Wcs: bTl7 qm~$d-X2!b{7;g "g{N'62)Q%irLyNLeS#2\8l|W_O(Hkd"LD$( SWX ijB<>ReAn̠5C2 rDdxqȼ9V}2|HoTT 'D2"Ku"=d#Z}1JW@ݼK,QEU#=sJbTa YKՊQ evDgY##[^ Y<:";>9:sO;{O'g JIwG; z?ŗ,^6ϟ?7&tX3+3߆^˾4V3 G*FWn? 7ӵ<;`ع3osB_ ]o[JktP7^>ſ/~(G N|qv<4gT9=Trlxb|'{p"?rhOնNgTDZ?}'gt&u&[ i+4r䂏Flty@1 P2C' qᅡw)ZIOVвt"S+y.7hnd)j*(F `b;Ą_,,\[\|>`̦r6)4,J9õb`1L% l9Ez%)f"} n |&`?|s g(tR-Ӟ s٠'dx͡,;N)!:WMKamȶm3ZeSJMB[[߽ H6)bwX +$f';{G>(CW|[#P}ƞvl잟4>eM-uGmۭeNYDKZ` ŷFU'ߥ4rJ@ަEZGʽ>$kET5WSګ VЕ@q0^a( W09\d̻_ $pYHu=] xd>!f+)x[dE3 }()Ndg{Ёx^$wkfl325 {5tڟ䞝$j,??y_^NEbYD]&PԴиA%3-^~ڑE 1w<⽰ ޘ` ba[+*%d6v6>m&+&]Jmsx&$dr< r䅭ec|1^^0@Ai9ImcrCfۥrծ:ؑ?<;>;mm}OZMt5à4}.P%_@tw`f~xz^xǮnXz`0pE=5%zN awGX>(s-: en#, 3aC ]s~O#F~5Xnqm ehU|[/%ڶV|RtcJxkn+}<ܬIfJ+'yc!K7VCxr=}ϱx&IzK\$;-9G7yK]4X,nk8Y-:X<}u^/!ubd% _K}׬X("PxbI $}'~Z~ʙIo0 DhwO1k|)ҤqcZHt؟'eШ2Sd:'Khwfj$ITw_sy=WOĒ * ^2o =?gR;_S~=6fA`R2|~ê*c9Mc{H$U9bHy @r8H7ۤaےԎh,Od$WmB[QAQ.Uhib}iQkP1 OmU'4(-P Pօ-EmQ&tBNKTP཈!q>mkR 1 8p @WsvՎڭl<-YٶF*-*15Kj4E>#3公sMe)TA~Ѡkёcq"J B .Ҟ}ϕ]MOp2Nǿ:m^ %$;z}ǃ5*?9|PNMn?@ Wzxtv;igwq"DZ-qhifeRT+E>7x ~Õő1i oa8ysp%y#.@_ХO4P߻/<=5Dp㷇ܡuTI5TJ]秿~&޾ Z8 WDww ow,H4^t`NNΔ ~Gr@qaY 7&#]xb,N$ Y{3'`A;iqq[oSZnxNtj7gpI&nЗ *:Gy2Akv9?>>:9̴h"BJd$Ƕ:? 'M LòuQȀcdbVzx0v~?Tތ9lc7oGs$joHԏldzƺk[R.V}}$dNjQ D]OL,+S=:Jz*N'a$ҝ~5^/2؀ Føv5aup =ă![h9!XM@lw|>]L6IBӁЄQ^&~º "|mA'~Q"5 ]l`nys3~Mgٯ[sy irqeݣGYHcviCVJUPnt1?i.]i{P絛է0zJ)`l&PV+D A20<_%V='p;79 ir8޷Ê'x\Pj柦w/r [*2Ra@lGgq'jM{d҃ݳS9uNh0ldG08lɩ&) g}C+eg;'O'}O3_W= ~FtLjt^f$ ?O9;)j^`9QXgqY|Jhq&K=jf&^;OΤ3}P>M=&b$r#3! Dw @JZ}Z0|p:"ESK..>ںH. ęt;t#nxQ}k#D<(q ]p._I;xRQMAtLu)!Bْ ޏqe0 71kM0h=}kG7R ^ ,?^4fHro]"@iu?8 i4|O= ?u{ccE1QЭz_3',0:y< { c&S?S_p޼DGKr(%U^x)_[Q?vڢSt`, e.{8fA (g0˕JJKy8 (ڃRSC4F!4"Km F~ZZKB_3X O6FA衟 og13qKw~14ݣs1OsU zOj(/V)z6hi:Mu|SnfSzZ^,aȶYI P  aVA,ڡ6.7lk H;ms(@Rp!5)OԜI??<|Lv-lKE6Ȧ)|#12RIYѕĸkх 0.&&b߁Aп !ӱh(DaLli;ܫ@&x%11 a[k6K¢Ntߘ8O2« aKc"v{Cֶ͑giH( 'BEpz.KPOraRzt'o뷩2hssj z驺 (t[왠c+5Gaxᆘj-E4d/`4zUNSZP)R g0%ӂN5*3Tݝ-U5MtX[sfPLïC=B7yM)u&m{| .]!37]rmU.+2zw,9<3\} 1 <-5H2W@V A0Dp:3;QE6dǁÚ8Bcі iP|$`۲f']k.׸$qRhXԱ!̸{Mm3om{A(zkd$87j UV;K#C<< *̦4n!aXV>5_Zx!,ۇc[gkk]y/-t'G]%SjrHyಇoIZ=%Fs \ *[4ˊFcF(4 k F#5]•3$`;?dۋy<A%5"ht)+PbOAc}ًy< s4I$_?m&;}4|Ġvu"nۿQ(TLxq}pώ~9ɑ\^jw4KoqIL%75$NοUZGu3 Q1ͨhp2C V8_U']o˩zi1ӿ:,|O7GsK0bpy '7?ߔn $De!0Ea2oRzV,˷eAhPw7 )YqZ hWV A If:QnT͎r0`-|"0fअOSvL%] *|&)RtB_,?x!/^,5`iD&:QHڼzw{#v*~akuZ I[Ic?f|Yj??}| Obǃs==u|s B6 [tL|ۃn~B޲H -넟Ka88 '$T0mȳ` |6h́?H8aBz[ݻQ@LQu5"Y.C6rPhxo:Q*qzŌq?Vd/iria=s?dtRZ<'#V-߮<v !ESh kxwZ/gR?ԝ{O.P|$I@![DP4\h8>[LZ)}_uw.O_;>Op./_5Hj nBo0C4hȕM+y5ʋ2`:q;Ӭo3&SДSTZ|QOK{W*~9??iIjW6+58^+ud|'zm@K 9f2*IVļ~Eg#TtYѤ16b960ٕ's{; LZx! ZM<m@bF%wr3Cw)ؿ’peeA^%6"H5,Y dlv>&RאD$KExQa[_t@!կ!%I#r8:%Z3SJcaS,3$-Pbe[Ҋ b r)ilʉvʳ aP1yd ,>J?nlǭX\:g8tSM+><9wkS,9MS)KB\2uߥ=&xAqz󸥩q8")]zڶ-M7k, XJOՖ-M?U[iKmɜ=ؒ6[2`EDf&^-y-%}%\KָN;R^?mg3n}o?q` -u:nл:AE:`Ji5VGA ^ ]/ZEԀ:a](ѧNt:>im S%vH0s쑎N\@Rޱ@v;W`E7A'5~^'/-.ʟ? xW犽n{l<}iE |[Y2|.=@pݼ$˜|W2?oՐ%,4vX=Zg ,8Lu*jD̗(ӄC%70kiYQ4 ҋ6../= 4=:WwIG/(ekd#|~xS( 6\A7WAb#{A+o8ᱺУstLc;q.:@Iỉ=PJdab7'IfR$Wk ?xfcrX=ZDϺ nZ2>x|[ynm`sþU)H݊_-6Q[U! ѠhC58`bi:DYP F[d-Z4&IC#o,v0EWKIm z+.[^U%UlAF;l%=fBk$ ]jR)~T!xn^k5g]L& zMƉTrgEٲ(N]/GkoDhz \5tz-h n4kt֜Q` 5j(h@)*WxT<N /B SU0Ua&4„N*B8/_Ϡ_Yx/4p_WvK7'p}Q<G1A/9?u{q\yox?l/Kpzigӄq(ް+X,0$CHqsE>^MUݓ_uޗ)OBpw]J 9)xҖ7`Ȅ򣱰_Ȟ۪>"EGp] u]"ZcN$";7tj2o\d J3T{0҇7{"tL݃bfv݉'PM=8+P^YV. @Ol'߹+J%H@NᦠD"Z424R?je;GÝU@.KI?{d)PYTݫi .Lߐ,J͚TT#,&]!, *R.[YK /x닿[^aclf1F@pzs1}GCe#xD|Tfn5!)T0+<Ӌ(UFx)%smN?Gצ؛H$;8QWKIs&1ޢΰf<' *$G @$mOh 9á |UF/m\ӑ̯jqR4-n4~D5#t :tuLmO!ixOb7''o /N"OSwU$p44w,CĽ@zN!Jc}QugqD)O{i]L8l"<bvAjA._v;mYӋb*()^:,RIa79i5 'cUs{]<gG{yvReq<]%$9$7U:iJ'S){5 MXfr!?y<r8hN^uDdnD<_0ߌXǣFE$甒GtB%kd8ru{Âx?_^< {< $3K jZr s^?@ϛ6"dCN|xQ1elEeHÌy N3@AS2)s'IcYTq9?ɓ^ ga Oj x???=?1@Se ݍzѠ\0nARv|TN!@}c!+.( 6ݜ<~Gߏ9#hCŞ4$:_WkOn{A%Yˣ4wׂg*ot|!Gd8y*&g {L c}'nМ?T@,wqGǤk}T\/l^=ӡ>DMUBTP0Lea9^/fAQcP,Qxc+~S茊efC6tdpE, 0 A᭭!{=\H `#td`IW{s@)6э7Ъ24B]VEUAhjŒU)u蠈)WW^F%{-#~L%{QU뇩C=6^sVU+N !<܁)>܁ 7+M6E\\Gf/?l~NKx鰆3B˱hi(F1#C:(h#:m$UBl,,Q4F7C/[Ux&eJ0)mr =DqLܛ o PFqe{Mn"Uv[E8 ~핝e2; p ?~*! N~{blA2a6ǩ_HYl hFҧXuX)ݖ lm@1̐7< ke%D4ZVI4TL Vx[2MMU*ԸNYk5C-R7h2DWὊe70?WuEX$S נ X[]]62F@%ޱպ#fsB"yCK+^QT{Mu I);Dec ;l5;O*ڌ"虘ljF^k:A!iAЄ ;ZQ- D;IHh'DSۗh4 ZQ6n"M>k7un^,c$h!?/1][vM ٟ[@Uqu`]_+9T\55NƏa9aPB* /yICg'ͥCaҸj m&"18#'^xzή|lQ/ yaa:^AI敇 F!:#?b~V׻cGhk†W0 W@^FXb`b 6p⟀룃]ZK2\Gg@ yi==:%.=:"`^YG=l{Sޛ݌O(&.vk4]PZ ]8Z|]o@Nt0ΰXGQ*ƽ5vfcUhEwgޑc"HVJzA[cJOd=>:9yEowvid4>51s')OT!֥iN t.?N2HYPdE!SNc &愒0^({%PSӳ3{t4[s"a'nȬ>s߂?.NL ʇ@ͮA?gL[՗ؽ=5ԭqݤV'k.+N8ku+? 2|AҠAfݻ 3^{n't,@A yN˗* EK d$ r量AkD:6V`/@=jw%<-A\:x52:ph|CʋUzVPS)hJ(Q.0*JU ]W\ qs+tSkBZ-A5VS%/2>I% )۵OYy<hg= R &6°ĉ^0qtu1-i(;{}}xo-rnS31.9x9k$qiThZaT?`BN'Z%Zy=rh[J6jծU Tö"J&"%H^@*Z:Umc-j뀣l .7h4(-NeKӔ7-黝X¬\Āv2tJ Ց$@7&M?{J//5qCDWhcͭV%o|[o>reܾ zacr 9a^&uW@úK%s^7Q5l;F/ 2iMb~N z>c&5>l&lU=YIL`_-LnT'ljHtfrwz%*Tj^K v;aaװʫex?z]ow;4EEEh]Dci܊_7Ӌ ^6үTGM^?^ byDŏ֨}<xM4rI`w@p ͹ek\0j]`L][!K Zc!*a!aqL$0^s"VZM=:kx#V%ꢈC~ֆ(j(J+_Sv ]+Y4 ok#[_/x9ScHc4jOAzu,&MJ-pRZ3I 3G,+'- Z C>NobпTz! 2cm7\hVte( W1b叜T[|R'L`KG!VBd% )2Y]<Аo~xdy#G $hr4 R#m[E>SkfVRbz]l]6gB,<уa@Qc"Ǔu (Qulw=DЀ}~ GGN^ձqK(wkw߷t\?,nxqiàS1(0Ep7ޛО~4 #52SU!#O)ShIR%;vNLqh@"G0QkFXp<00~2T[ akt (.zyDx4mGs f (U4-bOQ|j$9'724dqpiJjrb(EL2iw̅geUP)~J ]1d].7nGEU6 =hw|x1a7F5!˸6$ C_d` 4Ra8 㠈/S{/Apm[=zji\[OFW1\=|}O/īze [[e(l1!;B 1b_!`DFz^/ZN~bU,k+|]ΡDX cd̔ұbwZ;ţ|1 ,~IV?Tt_e"gQw{O[fp"m 5|z|Z!C,uڼFkf>q?s_QvNww5zXQq/W12\ʞ|gt)egsxrM\m4?m0?a~σCeך+OZD~=s$u=E}{ZSLb3uk2)):?.~0)d% Lûq_վ'_seLJ9?kM "TJXZoDI7!q9XEV2GKKDR-q~ꉨ_dzFgd͏O9kA&spj}s?(ft 4}j p2&SRٮ/%m8 E-/?oyCo99bBR_v^G Qo/j}uœoF'Nu{y#K8!YnQ$Vn5{k˩V5̈́A1Oe 8f[ssԍIe"J鎤eoDz˖]e,n떽a9%˱-DZTej95˩[κlXUcVb_yp'xlR]x pds%,\&IU[Z-XxCT[#qM<Д`,OBq46=' L<ɿ6DJJ5:2+n7U*Ƕ*HFu~n&'JvY`IVWs1*: hƮzl}ZyuBX_ M6yu5 &U&ݥJ~/OxQcҌMJ}tkW6vC5[ӫWP؟"N pFlo_D9͑t;ү2&VdVŒZ ѰPfXpx}1v]ie»D᭸̌Ft@fH||Nms|Θq ]_ ۏ8Θ9->5JpIۇ #^Y8y뗐 t8 W$ z0:ߡB $ ӡ3:7ZBmIGx8%'.Fgf#yE/ݞg_=>vyh`nNGo ~hgё#đ14#Ǽ-w¶S+)01ay!.6Y_,S\:*>U`뫱~g1"z+e ~]QLc_u <r0%5s}{x뺊,$Q2- :'Q T,~!Rd 4REy4 Ϟm= ->[7b4gCZ( :Շa4`^ty H!MZ#*fr1$f*۠ؽr ̅EKK1л|(zwDm-I1.򞌉|h!׋\nJ t׆T)`in S@w0QBv0"6U(7Ӣ^Ft. t(@P-̈jf-hd"KqC 1]I'o"ch)q*W<89g\I1]Px}{#HnܣTM!mxDw"T~TȚv\EE$jMC җmID .Q=CE@ts^k˱k h(>.M3ڠE 㙟-quhj5O2Cܾ?hT&rb,_lrp9d&f.Xcjdr$SMgzDMc=:Kwpl,:e~om1AzDO73@jY?Q[#RM'F&YT+{NЩZ@?8 f27T |z@*z(&g9!;QbHq*wg &V1\^3 {wʠ ڢ3;e"Oy ы{\> 3S`d{xi 1c=8kB4٢.Q6N$,l\h7`&lWޟZ=bP|O @)%kǠz-(Au]+9rJ`no Y03ML\lmf іu3sDYp|3Vd(tW.w3i 4Q0GT:dOy (I+=?v էG'Z-ō%\zV4 ^\tRjR~uSX) |_[/ " H,yd23W+{&>wB%nmB[vɒ@DiaB(} aښ,Bķ$Yڣʘ`\ûIBV. 0Jet:j/+/Vmcj+ e~MnqcqdM ^V/v>TqX.y*Y"i7b읹{tն?|?hpA5vvoqJʒQM6m\"9Źs׍ޗ>D~F!kBMEd𾼂譚eD+Lb3w]2Y e-E%ldD! c׽!Z]hLjF+Q դk%2U-F@EI3hوnj tqW|Fݧ-J7 %32mM`b !+#9`.I4#>")*c͛Y|bGdK'Ic;{SٞXǏUiQi Ji K a0@ZʈQ1 ƅS&&0tC)xu +;z?V.끧@pA.vP$eXb'*Ǟ|f:3ɠ޻ź`CzVW egGnWC  g7q(ݔdr\9aA$Ԓ%~#җunA@^o4N6!W i}BB?\q 綆0j-{qȀAizx apW#5dz:ECWc7n}dBjzҐ FmxfUWxϟ?pciTN^TX;L$H>;);5Է[8p%VEHI \ʴ+mfXT,x_HL]Pp㯦@[UMrbҸKZBW"E5D_N]Z/,Oka^P}qxٟNgR.咕olLԌR35$l9 s8& Up%Hʒx+;eL2$ qLNJ]<5(᷽QgO璂1#iǽƛA`fdRIx{sSND_)s@P cw׶]. 6;i5vmijF=R}qqVnx-2BGb wGpЏAg(t #5n * yr/@kk}c A@I`=:uiF˩Ui|Iނ^Ky(Y,tۘ;  brX1~OL'9M? azmslxVZJo4n53?Cv^i^-^|j lhx՚+EJ(6i6B*9H/7rft*~&yXHߤSN`GadL~IVw<MӞ:P^H{T;6uKIi0iS9**:jI+qhCB3NM01?MHGk 븦M'8xYb tҕTZW˻}R0O[(\QpfCDW/#%Kn`xH MO?E[3aSoF'AfV6iiҒŲ;y062ȶ*< j~o(iJzHB;h7"Eƚ:I+%Lt5adla#wYppAg9w;n1T䔕n+BL FJb@rJ=JQKGm2hjNaci&˘y`ipMlZ,mZ -^I;3"5"喥i&{ x.Qk[|zIgrmzz`|FhyP??~1~J/{1ˣ g`nrGY`FrCxWUѸߙ-;9XqHBV,+_ }D~nq!m P*IAqU㓟uFc闍fS_w aZnMuCe` ڰ`(Z-i,v%Ù=c".,h~tr[E3Df/Y9<,a⥙"c#4xie,hOQYk:h]4c\JXE3A列KpÝXYx&(: uqݵVͪZl9mbݣݝ3@y|s H53kF…@T0/ FKVR[Yu5PYR^7%ܤ p(:u Y+R.2 ʨ(B~%!( HpSRl8!Sv.{p%7rHIǕK$bL.eܕ g[b84H K\$ɀV2Op3,'Eҕ6b!P&p} ,3y~ZjpSƃGqALhڇI>s}$I%' qn4 |>wkbx)&` b $탱܎_z;f~_G*I A `FrvWS%B.S!~:H0.h%)l ^%SNfl;6Dk{3/ˬx_gB5~9#+ͥ&މW*IՎۭn̯4FZ˜TV̯LXt531쩶^vvmzeK1Nɐ2d:Z봣Z%SaouDA!&C-N|ia8dGa:24 NKe$Ӥ1BDC̞#mF`)8mIA(H|HӎukGڵD&35,j SJ )Y'g0ELr/*WVG(GȀ09N֙ɜiX͡9BCZ`P*Ow^ # R5FuA n6=ȗO]|Lހ )KpM<LKC@KBq٩^xx9`586/G>1Ʊy9`kGF\v65I9<6qWhCGl9ƕqb{_q=j.ǖ#E M_:eڈ@c,AcΧ($~9nti䗁8(߸+F HzD*`P\@E\VX4#ޥTe3CU1IzfT1RQ { BY(?F~ÌBQv) RgQ$K4Ht5pEIT>Vݮd֛UӸ WZWj ['28$\)'̡d@)AjyECl(<׭uk.xf$ѱ뵅y< #ݓLYM_5yO.@1R*?sy4ﴓw>Nqk&eI= 6ޜp+#%/-ţ4:6Z!_c8Έ82I臄ɊFLZVA"Q,T 8@+9  ~A4uk4hIo tL̞a䠀ߥ%;]Zk. <c}s}s@G`T-دX&[}%X/ާ$b`V[Lկ5U(F Y;//DcnjOaAA5h( 1b@~prSrgzv7=ߜ_Gup$ۃ;2ks<5;Y@ 8VOCͯ'[8k# ^%評QvIŮf<Ԋy2SCbFu)\eڶkdu׻*"$^Jfꍺt[W[)Uw[+怈܃=NP$+Nv $x+λ]Um?y;lIl#sIne_+@L$4+/z"ohk@k(VxkrUbz59WEb$!l&6 ϋDqr%3dJTx |sK5+ D$kD%DSEwIǞf"0HWdz.u"t&Ah`$. 0q+"IlZ h(D`CjHd@D],.^ Eb)h$ik\ڀk\WM~oSIۮg.9<:.;ѥ־)2=:Ft5QI9{p*gOV3Zg/W?aBe2]ɐ:^񅅠J< >~m)XiJH>-iOE8ye(ةMd?Q ˘v߻{tAҺQE] G'v֍*JVQ2Fv, ѡ, v,hɲ'pOQz]*;z]*;ج ܚQ6|KF$(5H\4+4-/OP%%}pT7Ћ~oNVЫիpw{?giZ/|‹'k75Np[ߺýC'YơHz}rC}wP\i߄nKycF-/o;X*5T돆[Am=%&yB"Z7(}µ? /8d"w\Sh \'8@,!ܕs<2stVP*k(qRFDO [۝9ye`J=ec sc|-7ӟ,q.G̗ow𗗼ֶ܆Z Q]^ HmiE|,Ń02T̎ 5eUΡL;pL(G_>+~& _+/2&K«lA CAVʦLFZSƤ,f{r&ZJ JwrS3d! t/4 K9q"Cf6C@0rn<]]JGo |[ S<#Jc31|S?YWn^YIlݔu~-kBޘ 8zL\Yu &^Hᐭxa 2yo\ru&<-;b'Z]u~p2λcLI. Z3R|P@Qޮ3,7"Rc*"T z451%ê)5ؔ" f~ #!Q;KUPp ֶא-)%{q| .!qܩ~X2sDL>qOŬb'[Si,l8EE*WW[:Hdbx>%j7E{)pڈSff˔h=GfgBǓWg0%Atc`n&Sp8bpXkyLq[ R@ l-q^5ك^/A-~9?-/kؠ !z*p!{MW{M0Wh2~&p\=<MAg~&fKr̼15&J95O{c?![BRzs+ujU>$U<9? /L2{N%b1 $dat|v ,-v r{JPɸWN+}TggOfnug5Li?5^Ģi73];~< UӈX }ځ?VG` =v/? OO^%6z X[ko|u/*ĸXL.]a '9mI LZeVV]yNgwJZ}!$ WuaLogBUxB:EWe+чM-*ZqZb\t m%GnP($#wNvwk?.\47RF r"Y}'~ B_e&UdAs7,Yei'znԐ=KqC\^Bc>pU\NoYZ10e~@$tʈZ2K^ @o|)C Ӫ::ap-,Nv5F*< ℬnvj@`=,/$K80 5\S_O`;4h.|[q{dI} +h}5?9O$0 5b+BP[yqҋ88{LOQVn{yZy%@ @U{B=~R`5h|z)@޴OD^^/Ois:AѸ^@֫tC>;8%HL-a=x #pxbуN¿bz+$F]7DL-@PvP]pRR!k%3b@.D._w4l2,ƔQ-[XY6zimaYbbv'gI?Ng89g:`d/B/OлnW^ _~gLJb?gf/L '2f]@ q7ws  R'.RM#iFBzTe//) 0?`i#0 >/܎.g^:ZLqxL½xʉᚭm>; Y :~ }SMaz^G'E%M?:NJ؋C}en@fbs Oa[vT2[Aw>m?phsћt^s^h1򻎠pז$0~Ӄ-vqG^1"׿!K(=g EY\<>O(@SK5ɕv8ΜcYYb}rZ_%TYx\&"7 4S*)*-zc!`wxṡCD`[B{GX NJ0ZLcJ $Q?gKr?{[guxTpTNp^~D, eO <_ 8 WdP^}vyqO~DNZYs:O( ^cDI *Yv,g:_ ?,|zyxf|s?{_Z--sx& zȰ?g˝yzKOװdӽ_CyF*Wd 9B9+ߩ-ǯ=W۸k+Tv:4|[n { ݏ1xql?ہm7#ɲ:s8ĖF#YҌFc@s]#D+Af'- QGŷ:U!h/B߫Ɛ@Ue@e{ؐWJ{0/Z`_<2W>45ub9xwT!oAugKIJ]v5"C93cA&$Y3utBccL{!G_R,&b($Dv_ .x AHoqn1m?lPLlьǻ,Ej@lաd_uK)P2u׿KW_ A__-b_-Geߖ-\ݔVm9bQ, `f(4Zj5mݰ*  !~nX膉xFKjnU@&[Ϊv%@nh(?tP_ZJ|+|s7&"Ow{oe@5ؐ^AJ/oMK/1F̦5~ _ m!Vwu?+2 Kuz_;/jl`-ZNIwH*|׈{q!s=4l iږ+~ix+6Q"JvPP=lH&?N_ }0菚!G?>Za]c㻚1~+7XVpƭ\0+'-Jd R:/e@fpXU?ʀF-srqaꏩS*O2 :5M_ˀJ?l?9?贪?ˀ eBSj]]pfބ0[#.x:"% J„Dd`;z[!V,F㵰O>Vԏ+]Щ<5XA;V2@:{'_{{t:Z aǃfhaX(.IboW5~(sT8jĹmǹz^hd)q2@3tmdWGzl#64S {@=Z`X"@}b°4 P< $0 "H"I-<+{P5էAm J=F }j[+Z*6u2 GYaX>aEGV'61mOlN7%ۄ>H{+CL@i 2R S8cSNuH\cEx8?xZZx^LgDT*NZOɕ+ׇ}4ZHS"s×ZuNtCؕ][w`e!u]z ^_`&/ Hqlj0Ӹ>uLɓeǵǨ4ͭZj[qFSAnل1(-F>6_25l@@0Ь 9%nx"(GI0&j<.qey?~)G>e:̢<#PyRg0{<(vo6 zH_!}Iqh%!ėni}nwdBm69#]/h;`^\u d0YVTUEn;yc: ȟvĜŽ0b DRGG,K/.哗G#PGGE0CCx/['쿽~_ DAf>k I\]1w!TQ'5Ξ_UJ]GVC|k\"o\uX2U@}f#H6&0F1/x=@d`o)QQn#zЙ"-bCFwm^k~6h;1ZF@ ƟlȖMtAH[Wpg dn(2{ͽ+&[Aŧ0&~W\Q5G2D NlU'#.P>t0! )6S}Jۅ!d)M-D X '*qU'mA=6(w+L*uD۬*a7 ox \2] xiU@L9E~G sALȯ/O^A"dY?m_ˀ/]e8~DK8೐ ѿ Iɢ>@χ_@rl9?[~׭)#S>2vmЭ T 7,b9H-PUӬ@V 3ƶ55@: YDAQi1ΆZ-@0 vp3,3˼3]a~:PSg^:j (X`k1ga F"Ŭ"q΀+QG)Pɽi8Р2s[ĊJ JR@GeD͑6 ˋw?V *fk'z ֐ q0A04OHD3}8JX B(A}6GGAoCsus!Cgګ:srK] KzĭtS}J/}3NoX^H;e@z+SOVߪˀb_3fXO ~%v  ퟤE>s{a)SszYʀ% ӳ_MX*y@0NNԢ6ҿA)`VtћHFdG5q"gȿKVtp }YϪx7xMv;7 vY~ڌt`ΟTtJfP7sɣAP"6Tg;lޜӒ%B^HdNG Vxz 㕀˯CDѰA.7Nd|7"uW2ݽ$T~KBNо8.6):9O*_;dt k??HW,0(οO/y< wN]8Q_ӌ89=g{OC~\@ewi27'cwZdРKAgeU3l1T,F#]hz dÇbe#?a**7_Ͽ_W $ˎi5~nzPxzCE2ճ#STDz|{驘GMHQ}$5NK MX=A0*J74FD4bwA()8 E"E^ bQ|00~0 10:-;H+aMA {c=K|=},R+8!5iu^(*IZ[gq`oC|b@zS❬ԃCVÀuzvĈw-DWGw 񑮇 R7+J-xl*}ĻvCĈb pxLpfq$YzQtIZB&bEH!ja_ *Z7u/Q1gCimҗNJ[D p3l*hb{F͔>^A` /L1QHަǗi= ƭg回BIOhKu#͡i(ѳDzLOR=_g|^$ًD{l_BK<-߳|2>[gK1r>UY;A[NCC4 j颇&ic`3'IR8)c2rJR0-9cK;/K>P7ET*`'4A3I3VeqƚiJv[)S7'S''xlLTx^\.R 1IxG뙥KR30D]&!+}G|wTO˲c{|WKdZod!<,@}<Õ3QJ` V+C~ 7:4j'Ǡ6Ɏoz,^vٲ;f0l]l֍b6k5'Ap-^ywǕ §(뮖A c,S}2Gr/IgYZX RxƠm}7,Ta (ܧQ7"#"2cóVB5Ђ;Ozx5.6}:~>~O?eo$/7aMǟ|~KwhNoLu%/_,~@ceŗѳ:bp%cG?bL}%8;^!{@ݫ%`?wۊR=?OysfU_/Sxm9t?{H aN}|-$|uN>[E-J~?5?_Ϻh7v r 4y]_#b}2~si>[qוk-.ւjhc`䋗WuKWZcrTm>̰4U[ͽ=q'z-.]7;SgOo&x,tdPG?+/}?ZlGUݵ+^VӾϵݰ={zG5_si W%'guakntRmu~*m~:` I5sעͦ,˔[ͩbL蜫WdlxՋZSr_ګCsgufujz/WPY\ av<8eGƪYԇ|zfv\ ?s?:>q/r,Lr0Qs_ԭh`QmTvt -+ys:X~Sc}M>ob CƖ]i;g~7wsT?ػeȸqߞ!?{gO |Gbz.>/td uiN_J精[<|rlܷ ?tbh1}}f-2W8OvR7{c%qjHlsf;8__C.7 mjCJҶr{yz?a>ש{_)⳾_h~wU!:WO ^ Zcjf^msO9j)\L8X+ޠ4ҩ6LKprx]enf=?sb 5_BN+*CIhxi 붖g'ˎ'XXo[[S[xw>|^etd`뽃L郭\?|p5%rIo &w/1;u`[S{s?wdd?|{_w;yDSwnN~c5'tV(كGtkCǷ/dwl{:okLc[+m/T1ϲ>}5Wv[h W>C^/N޷/ jpG+j+Q8{:Nީwp ۯ"ǣd.;1^ vgxq|s~~w|wDǿ>ǟnn?~}zCGG?UH3mŋ)=xc97!uum)}X<Xhӝ9gl?/ﭹWcClm[7QRm0w5(Hֲ}dw{yc}' xK \ ͳyh۳su+p\9>C)uڻ8>y&I|o/xjν/jO\Y6Ӡiְ"YkE80 .*;'{1Dߟ-v0{S,Ix{3|cK;+Adt}ޛ/iudΩl-^+x-ΏveT<ss<3`ƍk)[>;Sq9y~>~-U;q񝱞qG>g݉ߌRy|dtoZ>YŦ'1Vv;Yd1*޳)αy`Z煚ϸ-]s9gp𝭽{;GS`'';'ߑmuq0˜O;x7LAz>Q[ϏrL/m._ߛ7Kg/WSv=CjWǣ]n=p?j\XK>-b/ L0󕂹v2xAZcΟxpW^4/_MzKHp|Cs+qpsYu%ڊe2/?s?~z~ҽ.>/tm@߸ntڽmr;vz{{g{V;\9#ךߧkKxwK;=[{;kgf2oU΍"EZ^=O}~x7]Zٕ݅翄I㹽ւ?{]|~r+Cט7⠗Q jMm:\k5KE?\?_m?uOWK^qtr_|k繗>{'G;gUO]|~Ӭ_Tg-X~!`:s<_i{ m ;)U};ܼ_u7|^]l-h? k?{]|.Kx+).'ssϭs)}9ڿzn- ŷȽM.\Otv:vE:!%n?/E=4@Ӗӯ__1w%Xopmi] 0]<VXgBv`Ge^ ߸!um.ŗߏ4]~YwM(wS|K}GZ? G蓏>?ܣަ{0 M.bwsi9H'n]>3D;w:yvbn9c]#k~Z_ >蹌wus|Ke-޲|[gbSҖ=g/~~˲0;_-M?WgsKׯ%mҽw}n_ z%B8GF\dnp F;Q-XIDpO66/z{~nXNvv m [UfMr\S-M)Vnٷ0 w{~p\kq纚z[?e9]sz?~}珿~[?Ͽ_l2~;'{{+O?rRbL=#u`^`;+-~Hruw9+ Vu_}g5?B ^ܖ5 {'JFn-HY*`.% 뿱FI|\?w{Ai'iUPOI |k36u%_g}_n띇E}!͑k 7sS裋&^{~|5fOp?wpYn8>`6Ƶԙ<4&>k粭R,OݥPSBOs?y΋{?1m?߃v/G5`Ǥ'Zf)#K*Iֺ\Kcz/Q9'-)l=Рd[ev!t<+zhS߯c5Ow\wV?⳾/"\Ӽ>#Fm_(ȟS[+M^hg4Ϟ>]o>__>IJG*ihl>7z5t?y!?/?/~Ϗ9~?Q?7'/~o2u&}Z3*-ʔ ٷJC71 =Rfˡ9)^sw/&wꅋί$aZv<čwޟHH4P2Y:t*G{S*ų}K:R.l;GDMvTсKO[(͜hNѱWVZ<۳g_QOA]|vl,x*Jwt޸w<~G;GJ t/"qS'hy˞|'x[jW 0!/<6ꃟ?%w9:>JB9Գ6ʒ?>%Dѓ=yrVƘ-tk~=oB)Pvy*cxkNk]絫Wǧgx?{]|~C8kR܎Xi?g{zx?}n*>|n~w?:]⾈|2\ 5U?wkz_4%%ub96]|^ iQ?Z!ٷw (>|nk,\F]\޿ÝݓG 5nJu KVÕpˈtۗ?g.2]`W Iͬ359{)4qT?\ZtE颛kwJRW?ӽwNJ!׾{zr5_dz㔂pn:<y>/':Y>'<'6SOi'YӗՓOv~^xϧ+5uoT8][Gj^=^ =^=^ =?QQksum 99|࿦+p[ǟi^xX~swU#?TJs]P ;A7S/ j]y+QOQ. w~;x//b;>˵)ꅟ<6m^׀dLJ?xu>WN탩Rg_Eo^$IaTfoG.%;nݍ:?s?{}ڿWWsN]|^ 1LtGYGG[֋po{n{' yjqp?sUry? }ÿ~2@Bv߶a dotݓ3[8@_)_B5޺hyI8כݫ*q= R_S>e_A^JIoL6}ّGG_/;Wώ{X:8D aDLknxMc1>k?}kMOS¡\Z\%-m?}A@f?'fEKe̗[??_,OҳGÕܞ4׍q}۹j5Vmu.뫬u\zq_5'``4_e.~.?ϣx23v)i _F޸#sŐ4 oKvK:Zת]KV%\_e1.Ѭֿ9y]2z5S]|~4T6oܦ??\Q_wIV5k|{]|~w+3o:s?|xKq]|^g.gz)\ޫWKsfg,ޙGtWwScK2E ^'#uΧ/ўֈӝ{Y] >mseS{?ݙWN>u_~bHvb6Ҋqr~ܽ.9FIcia\伤?᪕d-+],#,ޟqr'd'EqzXq_yMw%q>OX>甹L6MR;ߞRɂ|{o}mC3>|i=8Yf`y>]~ҳ 2^<-_qgF(-Y]rѰ׼} ;5#XHF6G~Z/+KN0.vu(eV-sm z}~X_Ǘ뻅?oj{ϝ|~ f|C\ST\Ԙyh`Fh}ж3㝧JΎvNv/J`a~Vٳё<{JN:>!KŷSEL)ɫ:N\_e.֯Qx . U|}{ O{ssݗ~|>_gg6՝o_wszӓ?vo6G'onZFo0JV'e?Z0x;'>n{yK7l517U]S͋W.TպDzz|^W.^p5W//RujyvTY}bxw!ɟ^>]|{{QFjsiџ >s3d墽}{9g˻7Dq#.ndmOf'ñ%z0w5?:/W}vq.l>._seCJnz߯8!xnoW'?枝Ĺr'{_3+>zsp녞^hJ{ֺ'sϽ}~ w<^kTӏܽ>7!K힝켞$p\V=N>uʶ_L]8~w>::y1ՍfԾ,ӥbdMc+0UgµׯIQZۻ'w[Oٟ>p?=˟wqwek.>؍1 1O}j[1l[o#]Y|!--go~3Z^|{ \U%q`VszpŽ*(zg%SD+M27VWϟOB H+H_ֿnn?Us(?g{VopG 7Roںc' qO>>reJ FC<[6[=ey_ℭxkߵRʫ? _vv嗝}66Y5h(/C_hxqG󛅣ů-RҝG5Ge<('AHI< e &y]3O-ژN<Ψ)'= 8&x^x<2?fnz(UF QQ|PQṵ0EVѥ;:Ύ&~kLMў4P7=T1܊WYz^-ڎ15x{=0o"7=b0PO 2$bp-F=g}-:qB-Ы"y}<>fFk$k1"5S@ոbiqfjjj02f5?ZM9iYƈB#lZ4r|iPkҸҸҸҸҸҸҸҸҸravmMc@wΚu<ϏzzWZ[u鍍W1^o{͉bw%-zA/1mu 6ڳcY`vN-X%Tb beZv#OX?iqzC,,8.3|f[ˬ{*A;@5+r)yA:a*4PɎ9]d ,PG4!$D ڡy.h̙qd⋷)eTqL/1:ǑZ۳X1*@tlϚ(I(;&s0z441SQ&kng7h>M"ehdgHPv ꘈV:̬ lGo|?tJ s31OCJVy-f܅&-}M8o)ƴ _KDS6c( s3JW$XݢzQA*EMA}yTJZb<+iX M D-tcEXط"ft0.2V1H\hFRNZ$ J,G +80'y]ǍV]cj kE%|4=.s}%S3}aW- κe82ޯJJlƙ5&f)OV΢`+ ˬ= ]f`/ʔd#갅Ks1̺֒e-HѱgEI"0UŠ(Yd3 Uaa'՝=UevKj̦ENЪ0n@3V#'xdcNY68I`6q``|(I#+d(e1p6qVº %z%(Gf,huv+*, GlYP[J+hѐ+bDY? 8˺ʪ |z)gJrfƜwVT Skem7TLZƟ—Ƣa:ݪҬrJ1^qlHEUY\Z%kFժ1~ãid WYڠb4մKh8Y;2iD4BH!] } :N761c=`uvAjcʌ{E֠C+.S4t6_tKB _24JUՠ OYd\z1UƠcF4DT :`996 ^>MG`"8ir; Xrst0."(/Κ6:jtIX]GB1v#nl,b98Ԓ။Vt]$c j%F9_:d˦mg 0u< *!˞#-S[ U% W^ˠX*S^LleHaQر"8fcQZ;EXш+^l W[IFK# ' ^fcI21ydఇ@*6@;F("˳='M]'Fw{A2NR;d XA3rB$f[_?VJ%-Q\8VS.@2m*"%!Ui.)`X 9NsvĦR`c0Z-p@95Q;tB%ǂ]d>UgVVP͒M,J1LA3*ENdZchcDv~tsȭ݂tUd逢"u.#{ut!E4\j3}?<0+{E+YуڠlN[q8!tGxt t]ǕQ#r-s_()ݠ5U3EE^0wԥ<uc1k#!iub/7Gj)bǠD/H4@-&݈Hŗ$%!DxbRLZK0Y"x]:%"2cO@ DZXDqD( T-v:f+4&+Ddmᑪ;q5I1lblV?NCI65Ո I]4.Q<6U&Asj<^ jFLzGw61jP(rPu`qGsZQ!tc6VChAXaWFęBY f 7d_tG>"1'gl r38V9S_ѻqj$6:0d =JY_`XF[8"x˗jE(a'7T^p0<5ɘp$ZU1X1VEsF6Ď"&h)VLt C`](p^$Ë+"Gc?"HX{PgP׍ k܌, ؉#QIpZƦ]$.%G.8~9Mj&9)ivJm)9bV1б4G;[)]d/TMT`/*²T3۹H[(bBj4du5*d6l4KE hbA~Dس t̅z/c Pӎ}^T⣨6iXĊPpeU/v 6lUA#uJ/VQ}vړ;Ϯ..@+}Ǝe̮յd6P|50;fDJmc}[ϥĮG!oux`ws(ӄo|#98b#fjQ1NS[PJpbD#T I;c")g(0X;MH LnjsRGW5>ޢD}9E*Ef.ju{;I3GŞtWG) NPkT;aa*':|G xq5|S4(yI\hay4EE&PLI;#/GzE~BQ ]pP㊦h#*h*fKR\4_e8+f# &3h %&U 3[!`e蒷DG]j˨S܏.ec7(uy`sSSʰ\ X(c5KTȚl+LS 1Հkbau]3v rbh4'܊9-G1g#r/XQZx^:NfIQV<`*x: Z_UY9u`y-i yR_ p-.Y2%*U- r V@Q9.PS7(l*Ն{4 Էcn5;G0[.QUZ״۫#-{a]khpڤ=S\*LɸK  Γbbu5ګ|&(EdJ`b#F ig"PMSnvJ[ n.s֍Jz %ncC^bv +VjcʹG[=o0^ZD)*vl @Diby1)^ڈ1"T9xŠaAGS"_s$J̡@ͣY;_X0B;lj pQЗԑXqQr$ʃ'(edžHE)!C@{Hhq iq6zHq1_-[Ds&e_"ehY$-JSGQzDJ#bxĥ w#'7"VlzXTƢ1SLWjǤ 'Z LG%Ɂiq"9pg րʈ/54Aǎ O  Gm?Q߄TQBuX`8Xu5b/5`7(bPs,.pS"QexG'. +mSzJ%43V4`5qh<:3} s< c-R Tut6XcO n#{9߃*0c,XAu;pG=J  $7`8@6f)èCy4IG*:aGjprcf2 tX() &}V?bY" rcZa/%b3NX+1%[W>(\&@4{N$rJBNI $0@`&+I'zB*L I'L#!$H Rn 9%'"%'R%!CAԒl: x ,90#Vf4+[FqOh2윍]ֽd̏% v@e~~Qd$lrh)yv+cȘ$r2?%2p&.wt}ъvE>-΀JhlilSJBFdO\a1fE6K<(xb\1FaY: #Ds1{3u V -I9q8@a쵘 - 7rJtGYLA6uq8J[)e8nGc3F|"u8muGM,($=qX 317;S^P/X?JQ"͹`#:njP,L~0Vt*8&~M6yu4Քjʼn{;ݠnE# R<`&o Q%z'7=hnPQ뒭44.Z$HJjerJ{&|%BFB@J36ԷI@T%V@pPl~tGO](S"9[4XP'XMYs ϦL?u㠏F$`<~& |z<6ߛ0n#`, 5pHE`Ċ#=F~xdzQ3j'%'ބ&?!d$脾9f)zn& E{I 0N:x ~} 55x1u #UF(3)gQ,bI(c;8KbR3(h Q  *( )? V@qyv,.#TC%A)478M~Gud8KDdC iX1g F܂faFm5^95@4( Ojgi5AM+)Wvt; .ZDyBs!D@ ><ù a n`^p(^ҥLryE_D !j5A p1d;.J$cZhO0|bmy^IJ@ #?QLf<|_P~fO6aa ugoU9*721p)+lETs"{y40*ܤXq5wbL(li!}u=¢2b a\&TVAXTlƮ`1<9T.v18<VUl}8PƮ9EOM`-CNjC_8 .vF:n48N춄Wf( )Yp΁phEgp ENq$T: *;fܘMlQo hkcD#V 0aEMDIB $ƥ` ThEqEVCj.DW,JBŞhEmdpHfS]j|'6 b!#dFYFkG* .{YRl 7xR#*Nlx:&qYWL`T7 Iu |tV,;mîۀp6 sNh d lgÉ:״NaWXf @CXnBg*H|v ;Ϣc&|dQ) s FWL|D4Ss`&j%x`fbE@YiP#bsTxtax0-X1) _.G)y3CB[dJ}֭`,wbF4`X cCBiqH6$*kLNq)-q]&x{S(M.;\2r*,xD2Ytj١5vN"~$L;.?=ZnR|$*N?NI4~t"VI0kH栰J:_C.[̀G3v 13t2LTOG[@cT ϔF|V\Qx.BAC轡?pd0L%BȠ $k?XP ҳ6b2^KɨLsGB^lN/k:]AoDӝcqGh0ᨪ\K#<-)Px ظ|C[@7 sCܐqccu(r!:S{E V0Lc/*QEMX2d Aś`c;Pfɳ #=&UBcj쪘0)fmA⅊RqDXň́! ;8%ܒ*xjo! ,]zDZ` ,q~<-L2j4 )uhQ$3'J57¼dc^`jq-c&\(K% UBkbwz* =؆Fص3%3P2"㈖bf,q[Ư,WeAe x^qτ˨ލ /%XL"TV-ǕPE'!l٬AL%T4~ Rk6XF!2SLP\ݾJ8 0c P_PeU`](-~r't`'ݙ7ۨxެ$sp',D1#M&3*^ 24ufg !$(2 :i 8Tc8fh$yAG3'܌#9_ЄO`c'&Ghx*"l%[AF qLy ^V0];D,ؤ-5CRkZT1kRGv&LOýoٱ;Rt(s()8(z\MVl)lwX805} W;nOpLUH~=((k+nco0@P_}ctXX<[beDP 26@~(w0HC Ӳ)Fʤm h[D p '` H@𒀛 BQ-4_b )3D%(B-G"JX= 陀(/2j27bFvF`fgQ96"aK ZzB_UDJ,J [*$AfJyF;`jo0"9!g(tZ ͞ـddUŰ?a!i=p(~voEK^B&E?Cǎc$Sh]5ij]G)Av=@'9c聘9g'6JN:&;X\ LT[ iK#) u)( XH#yIIIO|II[qЎςA4ܸ̐z.zpZgm0x"jڱiۉ1"9dP$VY$P6 dM Co֪pL([o拏B8##2TN߈[p$g$رVT'KQ[BhwҖK]YU8EZ)$O$R$U1tnIF h1x?-V04TTieTU"r_;(NZAHjn\G[8W+:6x%ec"дǫ jǠ`]4[tߤ%[QgJ%Ё"U(] qߗ?%Ug-gU´Ȉs {7VEw{,My$ 8nT[IRJ*J.J"-:zjZA5NA1dht!OPh?=[",efG{@HQQraRϊͅx:n,FѾUL k<3W[uAYݲw$!V4,_j H@d~HBP%! aVFm!q5P0 DtC24XTldƾ MC4p`'"VEPEP; X\# '&{;jemko & p*AEMLfaBS7@ٞ0 6CQǂBG"$~$N(z]K5Xׯ+2I9H1M+ݍ%0Q5uY^:)¡G"NNxN1pIv,i hQ5gƆ(iT1"[>l{bj$`?R(-'og\?GL™m)F,,CLaªiNQw"wf4J5DQ RY",[75N03f\Y 3]Ix9#) WLHHpQ+oP/(g@ #;9azbx;(nc@t۱ٟ#zdccֱm n^xF,Yji0FUV8$g]A=7,+L?VI1#L1T[&<6IOA(VWg_btқ3z2ūREǶ o0rŔ(J9i|pCB cGdC}'_Čq)&@YlJu+au#8&FX-1$Qqau_!, tc9y)[~H,8~BlxRB K#J<w$fl9!^A=LsiF=@YEsʻ-'ߏ`ݖF 3ب lۅRHYZpD.$=zhlȕ=ͳ}bǬh+J4Sm`#6y IVƋ,U87 i3;;Bԝ̻9'bI3~&Yx7e7vPEpqJ5,j.+tK2Q8B h WҔYDwD (p Fu _Cc8ΒY<' ' p#kCBGܘhIw"XXo*sz0ܥ@HQ/I# '&0i-pp2z"%c8K~ qʭʡoJ_,/*(~F-@ I@+Мt)mI@sЍuI@P(M@7А wpBJw8IaH4)کYfy9 "1 4G(ki DUBH*P%,g$4C1]Ե©$ RG[l9:-50;R2&lZY 2*S:v $IPHM ģHNN"cNpBtOh1;Ã$:ûd,86D(ɌL̐ Z%` ܿˡı\p)drˋrLGHcW^DNl{7+I' ) , Nnɖos"1]ёXoY`&K>,Cb&m>.Ym `P]6+lY*`JJv_ ӯ2~јDa,ؑ>v1EA͸ cRSH:.P )kc3nHԥye.^1w[vRsbAfN'`a/UL{m`-0aۥ~lHP# IQIH"eH4CT&kyky  'p 6}硤  xv ƑBۓ+[DB&8)dGWUxt]q" y2xM$i>#cRN ?jeU+c. ?4<osDa6@%DÉmJTř8,]-AV\X4Ӏtl1.YY dt89{+: (0#$(3i\<'2M,Qvr⧒ ӳ(bYaG$  dG*]=u''N*>*c+m0TpU点"`qVU"`0 5467Gy,,)"k$fDn%` Ғ Md 4nD WĸF@BՁKr @\| a" ߘDa#ͦF#$!ӢٚqZfl$aɱ%dn uU =-c0٘?@6d@72B PW"Lpb`TbSƘXyS(p1hl;@h|29^gTf-MԄ(xH0e# &!RVЂ0 BBadh1k W+'(|)u*XbF - Vt|,yj@MH!QaA S 2@y `fyA&k9,8L RϱtȉX`? .(iVVԬGGJʕ+U2B!*Ec"O _;aDx$J+,*vJ\Q.Wy#w 5$R;E &"uEZ \;:R=" tlk;Whb0)b:VK SX`@o,1{8z9Kk \I҈-ݜiX|7:1~b۽GXr 9 kކf* gpm!{Y[#MxGc1L rQޙ 8RN:T+ X j_"2u~aّI;;rhgBǴ" 6<@aa;!;I C9ҲT#3J`ZH\rE3(Y(pbuɴ؞ulgacIppse6\.n'_b*:C@-n18pW-IA:.".d%z|<R8ǑGHbO` G?x4O[-VQ>Y ey3V(5JMQ<8x GA1:KJ8  htP REhf(qSE5Rouer%U7MATAV܌D1^lPu$ͦʭ&%)@,:ee很9ɇLgYjUif]ƝؗPD\BLF*b휥8ȁ@"tƞ@ GȘPDTEo'Xtr|=pN ?#$VĦDnYPBWhP$CSt.'JEYeG4[ !E*;}AD[j6ϛAL bZTg.ߢZJ  %?L8 ȉPO:Xo$}ԟ"$_#=%:B&B9Bi ؁(8`.dQ56H8AwIW)NlU PB vxW>$0=D<̢쪞A-s/fiQeC'hl -g0 N=qO@= ?:c#,*}E6= @ oAY|x!Lr b0F85r IBLBL1KaC6ʭgw^ՙECIrY@`&} =@DHRURw# i=#R9u;췑_d1 ғH%6o$RH@&pE#G#%r} 蒜]݁HX6B !',/ <4%!g yx`'#albbG=IY:f rD&&r:gs@aXrl" @8$sX2E)*Ji%PU~lBV (> * /--PXR Qw ҭ ֬RO@uD͎i̓>Hsd |HWc"!#OV"@ISwepoiid#GI#fk&!3ai̊IΣiR/@sx娱4o65FޫyLX,Q %P@2%B[##gҼIRISDŽNy\([4u8 h,D:.̴X,u=T l7@#^rL:ά耜z2|YX:,cD,Y3LveUE;N7( 4:|CP;ow@;NEq% eG É}jV@351Op(j'GXIeG` |%at4wU| 3j;E"^PژCڒU F*w]M{~={1=gIh] agyQH/< ( ugP$:D0M ^ qL<498 H(Eң;`9N kŢȁDD0(quLVma䇠1 GS{Ub#$4$6G4{6#6E.Hw&YkDIEDHаH rg,wGH+:N4dR2|2:l8HH}cwa5kEefL#>K4 9:tL"H.eO$:d*ZHx%K1D\[vDbmKD %r Z֖0%LY!*&.z٨iF !gl&BF B?}F-K#A| W$Y& *B>yD  Ay lQшhYMnI^P:1 {fg**+QC^eAt+,jVH$H8JJJJ0Ċ^*c2,#dckd QIC+ŕ8pJJhieJo"ubjKʡ~-O|n=|x̃go 3~)Ur8 0"(*u\쁣݄Nkl`fշ\!p>BtJ% T W瀙\EX0jl(r0*jr9NJ \:$= _b0gXL|,?w[Fo(UW  hȑLW] i7AD$JpDG7Ϧd-#KC+&9DF%.I aH$V \ F),h`:yd"8/bGaaHF_C(DTQMdN[35́\CvQZm13-:5h8jSN*[*}T.]0ˎ -,C2%l"цJ@0QⓘੀR,$5g7`+E>۵(]34C bAPcb*,D_=x%relZkؽԩݣ]:@.pJ*.H@5P$ ʣ\Rݑ)rdPu yhEQV3 bb0"a*RǯXÃ"̎@HL D̰?&P#`c4|Ln%(hmY_E\j%#awkIU|KJ0|K[ff6i\Z] Ҍmg:?j)Sɐ#3* >JEEF*AVư'Db莈chs}VnI ɨ"#wpb(EԄD9@O"CBUq C6!L,^:n'5 ulL_o:w ʀ.12)$QDGub+]'8@4#DQD΁re\#N)ѷ">"Q?$tFHRHc'B5I|3HØW "{(i( b&G%ֈw-+FKi87 pS1'Nb EŘebXɻF@,D#P~EkIJks#$nC C&":Fv3VJ*]7- ,tFꚖFB0G#ȩpt(]MFJL_e<.qUw QBLJD\uwˢlXu,/16b-2l"CK$`xN7ʤ&QTgdeKQ-'!JD+'͌v( HuGxL،-c]yPD6I/ I$W:DBmUqK H:-#R|}QJ,r~[w\AGP:rJL\A`ɡzЮ,>`'<RH JBJꉪ샕#ANۢb>&S6u#J^FE MJ>ʛ8Wr"hf$ dI@#X{D#EEQX"En@2{Z"M&EʹX%O |EX4s w# !!*,NWt  ´ކǜa<.q 8%;aX·-qny.E%5:85ET#XQ-&G/lzX4Κ"c\AB'Kz]B9Z[8nR"rZdE$&.*b/Ho_L%V0`s/k"h1Ąg0\&EA cO'PtEQQ% v (  pl":$U!p8\D1ed&InG $3A(ePP D Nh,%$).%]k3pڌ]FeTF$ t P+jbⶠ QdG4|ҜĎq2Cd*aʇbb-^4@ui Db!H8ψĤV92?yUT5=F>ʙ\'%b k'lP ЅHqFuP%$"IIo7H2_K@lppT$N1Vc~Z1D%q?E(͈U G!8\ qUA@m@LrP#ܸ5A*PS4em dA$(jcAïEXA ϓe2gT}ei,V5r_ :Ʉt Je&Ej}5bTQ`"qbHepTB%MŹ00Fl4T䍄uP!H7&C-$I4JPjudy< &r& [m),LB't ~rab\U)b`jq?D4숣Ltice_@$^Qħ'O! R Ä@&p'v;\Ju{y/SA5J H\ wʀ&?,1 a^#)bS(0(]gkf%8/}vw/Ǿ($ E-*R6 Q@&m8Z=Z]z%Lw0r )tl`qſHSu:O!p \J z񘟀#bCs IR7%E4=:8$mb&<~U 3!3%o0cwϓQF]$PL1{oF ̤i ᙃcVG*)#RBb STYj1*@5/X|+ cAwZFʻSՄb9B1qTR uXrWVoGś;/~, +"]+BDl ᖜLMKh 04Aγ-a@4U'LiD">@ /Gmш:PX4B4~SݺCJDž0* p r\*]UGDF;`:â[wbtWw8`1g@:OSx Pi:ƏNNΦә9KApxQdLD{=nd?L[hE"jG#ڐ^'FQ7[65n!T܌JnQ*hUL*!1y@ocƆG6$EzA's5_I 6q2V4@;/xzRV%Hɸ<=b$[0pLovpB)z)!e$冊"' 'iqЬŬ@!X8NHPi"> ˀ7" BIȤuDlǔ3vLMsE6xGBLFXBYs]ZN1wTQ#ر#;K3^u8[ u1_@@ ]8zbVg:rK"Y%()8Sپ#FwC P *#w+(8-tA MAg0ّWJ#IĎCAfmؒ  .פd,fƔNL,.D#^e3󦲘'9Z9K쇶)R % ʺ*/ ,k)ŌȈ-G {3F:I\ h@Eut: B-Tcr?D@%0>rhF(%AA`H_[wVuG۩>v,܉*qUݵuD9km(1ʌ(tc&DbW֖H9ހ4&Dd$@X3!I3#oxpx,(#vQ4<[y  AF՜›*Ţ"%J6 잘PoDs8:S.4N%HlV޼G =I$VLW`* \6+[!,ɧD\ 4ׄSIkH8H%FCsO{n<1WoYf"J7gRIPW  $o &)j91ghEiV08T2uP@ßeLLVN.1a5R?.+0T6~lCjahgBԽQ1WBuֵκ֑;^%VQ[ָn1>K nӌĜ8vlH"5&jQ߉A]N 770Ou\]wr(xi:oNf>EK5FĢXۑCe,a5Af3/4ƚZ-IAK)X$px"E /M ` Ӄ%x$xL2]* {O'$H K##Ԁ5*!29iV& !aY{@JCDd32<f DM@S%@9Hf$DuDm&H',޺r sw&zY +4uaD%. 0f(Xq$["bn[@p,gQJa]+;%><9y+*K)=;h"5#PDH:0*!AS r" UNe)(s2J xՉȍ&PİDĶПDY^-R$x mIF v m@ Rr,<()mYT4[hw3uh2ʙ\l;XxR\&6VM@{78d D1 xܰ2}.w.:7m112rCʄ@&D ̤͗(NɧSkV,"aG^q +k0i88VH1Ih%@uMo73PII mu_WtLGWc-tI!UZ)g$C%y$ P b%)td4FĸK#dNH%ІXwv/k]fK%cXkFBb J>yjl%PMIb`fAIJ]EwE# + {$y^#wwmu PQeu1onuW<'^^" o.31e4d-V<_ ɲ  I% KۍdX`,w8Q U+k_E\.TajZ+1ʻۃ&J8&)bR%4qeQ PfYYW*R}EfHq2*2*K%ges,81&yg='c⮄%ahI 6!588Rŋ´zUo4X¥ezlHΜ,3s; -DE.fN1#855U `CJ܌e]H< Eۉ҉ W B1^tb:.XȂfX#v3۝Cub9 Yױ;r:뮣Nqus~tZ[P&0x:ճzBJ2NTppql,!F6@!<KVB GY)9 (.,Ia>&&[>[~P~at'(IhS "X9G'`APB sT5LtH[3x$8 V(JGSPgkfJ!DQ^.F1C=!B/>*"{lkIyR0MM.`$K$)fM0ω;6aH҉d@M(Jj/0vux287fF v2Ҍ4$evW ŰelT31Ubg1b/mXl99~A]2a5+:L,X!v2i;ǎN+jYJzbUJ4Z TkUBLU[h+^%REЭߊ0\yq0#P([2&294DLW'8dDh TԈ 9Z%bY8 VoɧT~?FV H}ld,gݕ5خU@BzOm0݈@UֲJP"V}64*y**4j7U(/7]FĽBظ2I#QP#AJUR23 3z0DB"^YO]a :f^[Դ"/bè#ڑ%{Ӈbs G0/#yl13mHvG&PII`&R6ᯛDH@Q4p;I3Y2:D"EbEEz؟, jlxYR0SZSꕰF$RE*=ϯNR<<(cS#ajQ.&ڠ `Lvd@q$ڹD1]rƈzeVHELd™0M"&3W$yٝMw9bbK\] *4{xBKNwhV$KH})X]cpܸ<>x$Z-ƬLGSEY\HrF̾ !3zw i/=[tu٬$&`1`}1bi/Ŧ {k1tMLja"c7cSu:faDA`K@V>F1F?Z xֈ ߚ9}Wc r̬Q Ax.eOk A68 CPO$xׄ2"E+gTF:6/㘨V.2.0%io۾6֢Vb[$%R؉f ;dK;Ioiܱm7I b!e(@<זȶ聜X..ZddQśc~k#rbв^H\ɃA+u Σ1ED@`ðrce)a(ooDH%#!$b!+*Q%%րwŐjJ*]2/*d$9. O?@gE"S$Y^,-9A@ti(', ɲE1]1͔EaJR;l^ބn4a$AIա@<~ ONAMEءĞT BYe[aW(%1RTb#,ey ɝͭ5L8 =GϼAu P<5Kd96OAD6tEo @ %u2a*KyC;,%+LGꄱēĩ\n%l!F;>EDh [3΃uDcϣ-#N7i`υGm :V7iZ` t3v[A0Zode]u!rl]C\t""r&vE@@Feb X rh>^XXf9dtf,]sx~znww~d޷gOwwc!V)sR`C$Ou>g;''g/w??=8xg~EN NNU hslaub|`6؜/zk1s{b.Zom,-|{o읝-> w~܄m W4?೜o ?|1ր7ӱ00dz:ߝ&(alw?}9f-ܷytLkx߿7ڎy|{؞΋ewٳ6xWŏoY_F?[;dywmMظP{=`˕;g??XOժ]_i?<{~量Ww/N/3󂰲=9T_Z||`d/6n.Ɖb}qS<0օM@'Vx~47ǿq\py?;;}-W~k!@:^uAx~m_?]<ܙbc͝[8z|"׋oסX&e+w19ǫ˩-T+%rR4/Z˻=:M+Wҽujgu.KM\{:J&]Xކ'bj:;{ٴj׫Y57><99je[[zj-U]Htn_W8Cmxyu7\,~hϞ6u/wInumxMhc?nu{立ח|Þ^l=~vW) (W'ӓ~b 楪}?9ozb쫭Cg6ɞ/6Uu<:}'|6q˓FE~`Oylnoo~{ٸ̯O~rR7c4-6_<-7~{:QELeTۓ=:?%/֣o:o[õ//~y q}͇͂obpg_zT{os0[<9{?~-.W=}1jn5~k}yGσ!m{"z߶˝r3[?[_=?V3iؽkʃKew]nsTz{kx;vbxoL=?3[v qgG{sQW{6z_lc`Z!ٳ?]JsOX`?Zcz1q$ǒ2Ăte^^7-T?{\;O??%qS0/ܛo p_x76a. }/|_x_FQ"DY yt3K|9Doe?:Lk5ugte+E {?~|ҏ"їu㦋_ŨQG7"5_i9!u2asg hߎ=&4}:WmA6 Fy^ZN=t܌n2̳,gj,oկjo5,*vWWh>Soyi h 4O_{қW,z̘dH26珟@NV Ҩ׸,6yV/V6~cXQez..FkIsV6^ ̲@'Y%]n\mѲ◥jٙ4zӚ{SѸ\4Us[{ӣ ˢ+=RWxlM9֝cqec%ۏ!rڗtq,cx{ֲ(z&|AQu1YUi;Gf8~xZlI(=aEʒ,y4梩XiiζΥ8h9SoqZ5T4˙T;ט당kgB\t5LrfBՕj-rf۶47߹y^ba˧7J#[S{WE z 1).^3e}wo(zesכ7M'FN:$0ɶ.${ 1}uTx!.H.)_#v2@g466'Eldzp<盳1a抽IN*-V( Lcǚty%_#󋲉Ez,Q*dRi=qlLcq~IVUGGiNrAS_d]NS7Zu6a=+]X+۰`n}شlvspР.l3g'~I|bN_i0.0|+Ɓ7*mwe+3ۙ_Z߆Z{?6DU^z׈e>:Mc;+/9L}GU)*;f=*׬%Mص/[5!xRJ+o) )^3-D@xI˰VWuڜY YS9h|AvKuzh⵪_xdeR _a_г 6(Mje*tٶ8u]:1kt&:{90ån^=Cʠj_V%R4Rzꨟq֎W0Oi^ʉ`M '*LQT_+}ѬAuI0^iN~~qIʻIWzШ/uqyGh2[%p'_4k\ yt^?C̗`',Ep}؉X*Fv1& ض=,R_qaDNZ"1bI3+cBzvլx*W3,kWj ri+ 6Wjt˥NP ӆą[xU1Z=d*hWX4fM#P]vFe؊{l`&5$P$K @UuY&Vk@/Ѧ ؽ@&eVj&ayK`42Ԭ.@r#Ray+#ޔw0jgڥ^Sߕ[Uw &  u Bp/UR tvsXW$'ӆnߟcṼ̺n0'hLЩf)ȌW6I_->aM5Li;Otَ5$8dȴ5mW*Z^:xZ&M@qEX? xDڦՙr8w10:]~L'G5TWKYqmg X$ty@O8C笩*F/TV8A.XBhm[+u iꏊ7 b&=Q5@{w1ix['|m*&I:+56k˸DvNsA4V(C6΅3',=l}_UX 6t6:CUg}7'7CidL{%~M<{"&arxL3-^kIo5>L.rI)?y hWY_mWYkеBL2y] Ձpsۊ<J]UCXCT,/x ɦi* @pf2CG[6[4YetMߛzfb|V?i~[>KL!)^_-[OVk?ploS$tB.&ϵ2kū7I)<܍lkobǶ5Tqg,/6ߚ`z;ۧg'{o-'=ee/7tiŽP.+nKJhյK3sO>|i9$ޜGe_>ч?ԇ>_~>y)$_)iGm-^֐h[Mf0'Sd``oꎬH7,.{Ãéq[k[ݴ~7j;7ǫ8UĻ7y_ߌ ssyM˭ , kj 2{p<_iW^z-j|[yE<h?'OF_ѯm׼ĿLWSWϏjd﫝OV,/NvNps~^dL>k¸}yWn-Y zCcTy_Yk2X졖ͩWv˻&x<_0̠\ߚ縡cF/{8}~he\j>Mk8:<~zqVc-&I ܶʌB vaz0GoUu`O*kuefdq};xoϺoiDjhK:Fl2`}?=Zo߿ac_ԩ7fQݲLGX;O{w?;֍/g??o?7OjZTu_~wP~jc???|޷p귣~_/=>lu?|?r_ gDjg?Woo? 6.GêT-?&_|)P/_goGlZ؀V鏣}oe[C*e Ga? I?_z7?3Ͽܟ:Uwƿmn9?寿g?;oN=*/??uWwo׿2~d̀W? ?a8jo |_Ϳ?m~;way_0:$m?Mo=/߳Qb\[ϯWM?9W''ڵoeDO0n|?zb=ۡO%ȼ9iv"__?_(Vog*www?S١GUoE]]oo]),_QK&Cg~?na?w=1g/{oڡ3ݳ{b2O].fN/O3*ocp?#(RDz^~%_ *{ve'G?O?^OUGS}a߫yj9g׬&_ɹþ^]ʽ3?7~Cٟ qOz{o?U??W^]pÕ ߿~u\iAײsOSw?/rN?ޫVw?q?F"߯x|~_ԆvU{վ}Cڭ}5KU=ZݦSy+(-E1߷v|qnwt8:ץץ\W^W^W^W>?@vO=ݞnO6< OmxjcL OjxRc.mj]55Ǥo7ҽ=nGRkxF㸅3<?v~x>O~'[{wac9L9"\Of3]fOLOdz"syC3++=ir6FymQFy[Xoc6Z{[Xoc6(ec'ݱ*!?0:= Zq?1#~yw:C~1Xc}1(| ?L|1ccOUC~ c;1Ǹ~1Ǹ~v; ȏ?Fc^>3 1R?19ṕcsXT81õԯQV5^#{na5vw5ט^G~ 5ҽFkzk@=a_z=[[R34gwL^zRדѵ\gg<+Y!Ϫx1{x3g<=y8cy@^K'LǮ=y/q>.L>y4~3iz>~zt7o[n͵oOڭչ|nn ./^nnbtuǕg}uuv++\vϥMP3n@zS=ګu솇 ~6te< &~h!oF=d)8`~[`-eOq@}>$mCڣu SVWLp}Q p7@ nocd m]dk@ڀ46QhnUPVfcD <#8iCJ8~1! edf:0ˀV2c+X(hR d"D 2v cިy:81j Pc(Dr}]sS/@ŷ5!G d˼E0`1G Q ;#,`m}d|[zǷuG~Yߴ'#Vz:D󰁒|[ z$A=|C;=`Ƿ5| @ۆ֕)hmz7 #|[,X?ZcxqqnvW]ݮn1ϕϕ]K Mh"&3B?Zg;vDM g9uz7(83og\ L<ڄn&t3:Uh]OXX`]j]]J6hT[v|&4 &MiHe]zvZx 38Le >̘O|5Xe&TKAn^ KMXjRT=6CgcՄf!T&D5a KMᄥ&4 M5!&4oc/4Lngd9w?#c:6^`DN0iI8 ,M`iN 3MiLVgcL&4A 2M`Yw'4!e: 8NiNm֏&ۺ񃥾֭-pm])G`}[XL iMۺ5X`,bnbo9BW WMj't5ыկzS8 ]e#'t5^0քfc cMjBW+KM(ۺg8M<շuQMㄫ8oWOc䄴&C]919q8Ǻi '68 Mۦvk.M`;~[ m_ mn<~&rg 8p5, q„߶ogtMY( 8z@>NPrb'(9Aɉ('q"'p9ӡub'q8V7%(ȉ( ΢ v&0I'L:12[m#N|I'L:a҉ȉukd GN|_':1ȉ};JX]PvV NLX79ooڱ`oRkDNۺ+G#v9qJ8 +O;Ny"'N>NXc"g39􉉜ȉp'> O|G#v4&rb"'Tmu0ְ'>0c u; O@lıXɉX OE@;N'?F8N`'?A_D/ND/Nny8/80qEƔ3`rL΀y&_ 0|[[ '0o0'?oai!oOx~߶gz'ۺs;~[z)/okU#mu%0w>y`+99&'? [o۷3㟇 OJN1|!oiz'?q9OBu9iyYN%0C3 ep @p g@Ы@Ы@p DK SnS[2Ga\!^%]\;uKKzmWv[vv17::7=9nw\.... ΀ A@p @p @0F1Р:(hpApj4aP3:< ~7@qApA ǿ1:Mރ=ރƔ 8 zw{wG+a Q]F Ыa\U\UmzzQ/A5U\U\p 00V WApWApWApWAp@ \_ /P}պ=jL՘Fy2{Qރju0֨֠2n@Ap|!kt;j $k,BLɑXNp#B-B-B-qrp-Bp-BL[[@C0R6՚w oy0ad/8#3"p%\%\#K|Q>Urnn ΋༈襎'M˛:x5"LNN N@%v}0oɁi^ |s9xD"%~ Hn@W@Nݎ#9#p\p,+ȥo#6511(~O.@tpCIJ(9"9x!"x!" |?"C?C?DzP8=zJy|s?C?s?C$>!!|| A989xe | hNH~Iރ7~76n6n0|on Kn8`@Sq@!>`H>`q;]˾I_|@$|@eq v; 0|;$^{0xۭ=ګug](Wp; ; 쀰: Un/&>(qx>x>$$| | 8`a<,~E^[Xt\ aX֋oa-,ŷx"^| z`-,şCX|`q,nm ֠]`,{x":X`q,nբEn CX`,΃EnBX(~!,>ŇCX`q,.E7gX _@I!k" _ z_ܾov5m< J_(/Xۺg /}F/}ؾ&/}Akz0/}#^k޾G /} n_pܾ/5`/X}ľHxT/| ^ [/zӫ0tΌoyC/z ^+<~Py+P 2^d /zE$/+nXz`Q,Hzi/xzӋ`i/:EU VP,:EI@%Ryڋ` ^$XZE@E1En/g/g/JE7(em]j ^wǚ`"/ʀ%y $_5㲟.|+Mi|,|,a+|/|QW 0_m/{ ^'/ ݿ@nj_! ^/8{o ^`X I/B/UX ^\_\_B]@ ^HD_/{5^@B/$нn/p{ o0 ^@J/l†/Pz{a-Lm‡ &dyYxڔ*I"L 2$NR׷{.%JlmfSr(LreRtHb$N1f h&.7(1tD \&vbtL2.L =*w[3 iQ h& fbwL2fqLz妜PM\nrhM04w@&PR7Gݘ n nDFntPoFnutzdDӛhz@FnPv)ѱ'd2Vmvh7@Eeovd;nHw+MRQ))ޝyc7dɨ7&H +otFntFnt6D77X 7vM葅71&ݍ o|r77x#r&b8 o}n7AܷI7ľ! o oLnP}cz7wczw"7 a-*|cw7 a o\7y<0&07wlXM!Y oH~Cߐ7Fw֍27mÆշH o}p -n}{$ѻ[|n,&ޠJzTXܽ7ۍ&@FnFn}wZ-{CID^zX-7vo;W7&@ҷ<_Tn(}CM@Vdb߂7 oh|ct7 on̷_{o8|[dYe 7aFo|ߛg}7w@7нA7нi7нMRA7wVMQջ! oɷb ߠ7$a}z?7zwCb7ļ! 1oyC̛6z|a-77d! ox$v-w>7La o7>\20Fnx}7-7ݹ6 7oD7ļi7ܼM-o[]XyCɛ8zʛ6zC5 7oy["ynp =o:}Mx7}oyCbް7 %oq<6d!Q7|Wހ7HA}{U@p7W7A cmw7л nt7Qe  7y :;,7y#7HA'lx&0oxc7`M 'Td>ވ %o>ޝ)m =o,7 a Co$~6A9ޠ7x7 a =oyn *e7xCVިp|P#:5||+X'`}|Ùx|>Dn>p|W;OIv˽tHҥtMurvmnnn7=:[E&w> =C,>x@?G%0~`PEeCg PH>@A48b?qz?pA@z?ßF}| q?ԇ?;v>1!>?p:@AD"?냁>k} <툻>bg 8#p:!8\G88{pTAeNv8 p$AbC}8 >àngk;yp8Åp8>\ LÇp<88?\ p!ZÅp-vC8݇ w΃ypZ}xa=8C}A.ÇpaI8< pnmp 68c>~op`nmp 68z{pa? ?'? ;DOëpx ÷p[8| o>< UJP *ph}á8=npL1q8&8H ~T:*p[n#8#bÑqHw ßqh!L8|0pq888ysZq[8r^C~B#r#R39CpB=ág8"_,=rhIrWɡs8t^krV59M69tp:yrlySw!z8*G!?$ pZrHϺc <!8, pnCq8[-r9'9y9bysHtLCqxso93pCp~9tO#96_shO͡a8dל#?á^8t Gs9/pTʡX8vt8\Sp^r^F݂␽nmq8,W8\ٷ3*}'84{`8.8x$y8<9\f8e}xU8< <8Sit=5Ŵ_L0ҏ_nh r!\}FӥӥE5.|."/B]i\uXap .W*ap/(Rr _8οK}Os0B¿PR`/<o|! _3]9.Bbү _D/`~;//~Q94~Ai/}ܾ/}!/p} V_/@}+/ }a C{ >_R_Jn/ }a C_X/}p/BVٷ3I/|a+BbE_~g|b/|!tp}S~0/| 7_X/|T6D %_LBb/|QH@e>/L|`/| _6ܽ q/X{ ^°0a/z\/z! ^¤&TܼY"(/@y P^%/]n@"/y D^  =^.+%hV(/@y P^z]= D^ ",dB/@yP^ 򊯾@"/|fW/x 8^b/x >^b-M)\엢t(/@yʛ K^X|E_킒@]%i ]^%ǿ²/Zļtļٻ:y! i^K o^xм`+oҢ^t./ty ]^./pyˋH hޮ} i^HBҼ4/\߮}a {^žR]K7p.%R_>O/|z ^§>O/|z+§>PR/zi/zV/z ^ ^XªVU/z;GY/z.z!KpKpe w2A %L W-+p7pnBWB _AJ~\X "n!JW(Kpa C_A􅡯 I#A%0ח0֗0F\8 _ܾ .}+6S\S\S\vٶ+RU\WT/~*LtI np/~KmqKmq-./ OOj _x\\.ťпb.Kaq+ vj+ĿпTRU\z _ކ9. p9.43 @W%]\Wp9.ĥ{r \q#xfG6&^K%#x`≐<^ xAn≍b'#xdOd#x='&I8RG#x)l<~ǏQ}:<幵$xdO8X#xdo`y,q<&ry-l k<l7ltO|ģx<5nM<払x<8O<~QOy:q<'zq<q8{7#RxAqJc1,jJeE2o XKeuyRC)̡PM|{hFG}i /z`G8JWAZG[T'x 0nѼP!\ moiA4s *ë+%9,I]~%K$K$KG{:$%9,aIRcJSrÔԼKޗ4%y_Z}Yr,aIKrXÒ$%9,aIKRҙ%9,aIKrXÒ$%9,aI+SKYÒ尵-ٕI_QWlZC;\; ~l;~Eüba˯t^11vhc~Eļ>k_mvmg '  g G ' W_NNNԠ.G$'WBP$_IHHzZˋSmhG{,jyq'5e531K 975K v+>'=}:צsmɐ&?\%?\%?\ڨrXâ(E9,aQaPr۱(E9,aQrXâ80(A)\cQrXâ(E,u6 eP.RKνܫVg(E,u6 eP.RHv,eQ.rYˢ\(E&A eP1XcQ.rYˢ\(E,u618wE,eQ.rMˢ\(CrU;al#ikj_߱ےUs>}Q/:\'-Z/.mjhVߒzԋ}:Cy<}w[^t:OSs:Cз|[F-ۖѭru^:/KKߥ2eŪ9u6ve^ѵ7zMmle.t٦6]4]2Mi*uݎmle.t٦6]:\2MiLGvrd'GvrdW3t٦6]4]2Mi*wݎmlcئ6=9 |`)kb4܂f|i2MiZLbӴ4-i1M%z۱MmD4-i1MiZLbӴCئ6U0M:3MiZLbӴ4-IHM6-ޤ4-i1MiZLbӴdԐ]n^LS2M4%T!8u;)٦QU3ӔLS2M4%ӔLS2M4n6%T(ՙiJ)MR& H$@!*{ H$b"wۇunú}X7Ux+V<}]>w)vŘ(ƺ|t>:Gշȧ=&1q{Vt~>-9Nt~:3MiL`44 i0ML٦"(?YL`44 XR혦4 i0MiL`44 j1MiL`4RNxu]dW:ՙW@W:Iqu3\^;SQrq eUYԘjrcbՙNlu^ZjvZIkM`k{͵vWk?ݴIk]|웧R4 kPZurWڭ>`L 9Ms[H7?iO3~ӌ/xK'^:59Xr c,`91Xr pW/:,`91Xr cÀ c&,1Lr c7`9np+,8<9qxsp x yD^':׉Nu"yD^':q5,d9&1YrLc,d93d8P31YrLc,d9&1{r+bcFcFbFbFa#LFmEvQѨ}h64j  ڃFmAvQϨg3jzF<6QΨmgԮWajqa4J(Q F)Ry}~K<ܿMj'4GQa1UGQbGQvbe=FQbe,FيQ{^uk5jmڵFmZQ[+L0b_7Ma6fSMa6fSy( 7Bo~B'P_8\b7c_+%{^~loetFxW<+gx3^ xW<+~E{b:8Kix"_ݯWd+~Etyx_xW+V)~H"_ѯWl+2~;bu lW߷zab{O۝P/_b~X[atߗ:!4?We`Oߋچ}װ{/tQD!PҾ_9_{94J8JQJ'pP)ATJP)A'!8 *%RJ *%RJ *%/NBJ )e{qTJP)ATJPÔ(1%)LJ3%)1MjJ\SqD%,g=˦ǯT=TPM@5T.PS')~|Uڥ=զnS@}.Om|yػhdXю4M*ZuykݎXAA @ @ @Vj` R` R` R` R^|)0)00 altXqu'R qCoӱύ@T@T U8PU8PU8PxUxe^r/"++w«~LxKxJxIxHxGxFxDxCxBx'վʁ}{ywusomk}\ |1x0x/x.x-x,x*x)x(x'x&x%x$x#x"ޫSy^9^^y^9^^^y^9^^E^*꩒*|5_W1XhW4+e[N#} gpVZJYi9+D5>}5| ('2| ('=_ >AOmu'^|'D |Bl3O"yߒIyr<ϖTy'D&4k;_`5g :MivN3sӴ48Mi.NS4 Y8MiNpL48i:NSn 3 I8iNSp$f4 y8_g1i8iNqT48Mi>~[y_J8NS)TJ8NS)TJ8Ne'J R©p*%J R©p*%J R©p*%N8NS)TJ8NS)TJ8NS)TJ8p*%J R©p*%J R©p*%J R©pnt~:?Ose R©p*%J R©_)TJ8NS)TJ8NS)TJ8NS)TnVgA'O:aO瓏Z8ZM PO\u>qPr۬2 e2SZb3L-f6;UdN}rg)Y:3SZb3USݎ*2ZL-fj1SZb3)g-eFVgfj1SZbV?/fj1Sݮntf3L-fj1SJf*d%Tj)ZJRLj)Zʤ2U33T2SuD dJf*dJf*dn V^ ~"'2 ~?O`0?A_Go׭E?O;K>OD?Oiɴ>Oog'ޗǡZo>O@i }xR>O>O% }p=ѻ~F̱'| }w'q$Nu=Oiu#c$|Ic&e$zz'IL{' }zYiK#WJ&!3T2SL%3T2Su۱SN%;T:NQ,)OIS0%LIvTSN%;SRLS* Z})Svjufr)G`Xf8RNu;vJP"w`r܁)w`:3SbR֞ (E6j6Kڭ=ګrĤ>XcH?V )1)$)aArּे{?I'Iܓ$ß': Wڇ' Ă?y|R< O'uIZ)xm)Z[>jCڣZ|t,#^/n4]o W.[]P}h(]]Fպu:+++++^|apt8:>jufm[מ 戣9F#m:3ShdMoSj֞ Fܔ7hVgfJFsn/۳_d{f3מijSmݢj}Xnq6NmMav k7z -M.[7a~ZRZ da96RT<|[.F5Oٕک mjc3YM*m}*Rnz^+mJɥJ»,4+BZڪ[Vjݚ-d8buANkυcX.WkDc\9Lʔ2W3;%K攨9%jNՙuDcKscXG8)sr:W33%Kz޹ZkV8\N])!5GH)s>Qs5N :VgfJHR#Ct>QsaՙRsH#]eD5GDQF^tf8]̔#F&j}03%!6v(M*w:XauxBpotb:km ~>.+LꞮ]+fh=)ُjǨ"o۟]ID"ʦDE:wu7E$jFK{HiNVҏ4\=Ge,IgQ IX߹L"*,5tB>w{V*!PJ-l؆՟rDENȖ<&TR7$}YLbe,e^6eE^e.wY YײlZ^t>"_AIe>˺^?aDzż,e/xY˚]VZպ^˚]NG^bO]Vbo(&Zzi &Ky2i夓R2iA4i ǟ0!UzэuM4&Li]Ƥa't5r.e\.JS˂ *?HCƧQkQ6HevFyc.=Ci'V?L|{m3NPw(bS^P{rykI?JW~[1ptNKUǖ)Roo]Pnu8 ZCPЯYd2*#- ׅ2@v vYX -.N^-TDJTGw.?/:N%&п&fI%괖*N8b@xNK:miaivZiaPVAe蓯^nxg[ZrՋ-m1oy[۩iN g;;m'n|[ۀl {GFfVYmEngIoKz[̛uNMۀl 6 NP \u;GnUokӆC6tmC ]9EvFmm6 fQ.q}U!UQ„!9a4>2~SBH¦$M2̍2\eTNKlti2 <˅.lX&݅tS珞ujc ~z=8쭫2qur|X=`b?]`c\+ONG>~lmt1]i]> oF7i|$9G{#Oeq1%m}&4lQW*f/ 8Kڭwkޝ^"?ȏE~9u#cZ.j-ca;S%},\t,c+1c}{ ,Գ cmkXǪ5eEWw] sڼkquC7^T@oK%9.dD>rM֟~>E#&y'u.Qr& ߕQe B=[[]ϐuQ%{8Ȓ:F"A*u[.P!v9R{iwn_jA9fW&YO_ᰴEޫ[$] ():k  E 9XXuǐVu:k視:fNek7ep7Kɥ)wNO bv\>Ew7`}FOI탪^+B4׺vϵ_,Y<}Z~ 䳮_<ϳ,gI?KY}c,bv}-g1?1b~szs"zV__ϒ~tp ?|ys:z>89=c3F_>H=V9 =g`+G=F4?^[Z؎yuz6kdzg٦ꈮw_HSN:TLG&JW b9,˳cCҲ["Z:X1ul<]rC:8!C)wJKҺ4*C#Ѫ)=,xT%$7B׆ʟ.hBq溲_4Tf [ w/e]Νڿ0YL0pnR% 3fl#Xk!V-NQJ=Iwªi>d 7oh gW׬ 8~q]1!(Yߎ%>%xIRĨ-ԆviLR6tyn^CW`oiS٤4->, bv \!`9zf T!R9*X\koݶn6̸0"bChpp%(8` CIN~*ΐUhmu]IA?.ZK 3Ʌ,ߕrvu b5d&k΃Mlj3ߪ*:7ooEd7\]qn;׹wȌ*{~ tffe:yV񰊹 b͞rf?k/u ST-,~Ϗю5 NCzXX=c6ac~`ϏK}ZXp 聟Psk rUCaZ ju?=C.MaؼuSϽ6]Em>l*ӆ]SB:<STrǯ=Sr.Fh$_D>?Ճg,BC<&jmye۱e]㹴mZfBT3@,`k NG&p.Ϯ4_j\Ƴ@UF>S<قYLCt[?攷sRáX"ԓu/`H$F%:H2> ~<i$X1XvsW(ZKbR?T׺8&=ڤ@D 22FIi1Ӆ 1-iI?P?&]|Rn9rL ?c:G??[l4uacG烣l r؇r]Yc#'1 KwLD@$@sVM!vds jNa`߁Q hD@VEnd8eG+B?J]Fe=MlkE\L?S uN[j ,CXMZbMSuIlB&L}(a`HEu0FMT8n׆^wͮF8Te?V^Ë)[)_U /d.e\óqDx๼dulEy}^F0$Q_Os}XR4Rkt)?c,hYo?uxTDz\^6Xy,Nu; 98z  h%,i$X-eEsנvƱn2,ubA 0Vqj#b)ƲbNzP @FhQc8Xfxq\M0i+M .Б #lQ s5 a2V޹-nPa`6<tڡ_пn>u<q Zس2R+ӆ'pJ0-:|XRB[e> Y]k+!DZKj%V|!oCwT`(YXs9RWKLY U]voP9UtnqZN=V#P] :sob.P}ho}>mWAuz0ϚlRYfmL62Fsŏ+[aRHi:^dѻVkڋT^|50p8y]7BL)EpC|fd?ql+Sc rGǿG_F,**l+tw *z16M:f@?PVηe+)Y3ۤB)~2M2 l!K6*r9f'#Aϸo[u-~Mʘ<~݅/=t._8_!_~{RnbI(Cj-Eq\۽YV *_2~ a^U~]T STof&S"oƔ+bu19H0ΞXs: eV3VMuJy)l'͖ux^%\r%='/p BM1<ƶ%-f2~`DZOcEܺ=|j֕\LcEc @@@8ENJ>V4n:>>4s4z,o[0㬦'| CRdR&$`޷X]€qv_ qR}%de048#!G8F`<>( %$ǘ?@q{d%.*ɦ-d'sVW$,}^vF)O& ٘6oq =}*u lGa,eS1Κ3&/b <-;>"V[|^8ҵ R8ׯA[۷ r;SOQ|}i4-^Jϖ#G&Vڤ_E$Iwʼn,PS/z)]ٖmbt{<4Sy|QV|60诹>v若Rj84~q0[3P.=]ʠKuʰq 60u]ʸm,E20`e3V|zv"eo-eз ihrЮ ڕe  mʠZT+2ZT+jeP aT+:Z2cʠZT+jeP Az0Hh8A9ng1 iD`L٢I?1`Lz `L҃Iz0IJ=vgN4I& 17-ʺ^t!?EOl,I$F)r ٟBksA3LTY+T@Cm_m/R!!D0O |sSj3;ҿQlzo6K(W  Whլ;W&IHQ,ruKK,,n-[p >6k5E։*J?j"/Hcv, }dٵ:(q C2ޟO`tש.Sa\Gנn!kjlWKەmsyB(UT,ռ2%vkOI9iZf@ռ6隷\&\GZΜiȼ瘜ӫ̡N3e11凘2RfRZ}oI53f&̤H^)íe:|Q:IG39B'hTSLʚYʚL`3 l&jx"&&񤯙I$1$&Ĥϫ#RI*1I%f35vI*1I%&l^K%&$)`b4-5[G01!I01ms8$3 ZwWu`|K!p§6)Fm*^Q'6>HӁժ'8Q;k;XM2ZpJPT‚ zB`ViO6ۣJ(C wUv- U8-+::;$aHD {m9'S^Ԣ'ļ8N˛5 ˏEgzd J1 bE϶e!afo$-.XttU{jiˇ UõsDqXyɊJQPƔ*cL?vO )rmuR BcLrjL9nM&HN 9 :I3xf+ܘdDYdwYXˏɬzaBJd!j"8-]&*Sr& Lg `p׻c-J DiJu qPxN+?.ǎDq꒚;,|NSYquh±|GnY&4(%zb"(͆VqkWm *X3WM7RTI $*5p_²I 3I& ڔFfѕWKE@>'sDS4嗙Es2G\MLYfd'?A eBنP!TmUBՆP!mEBцP!mvDk4%GSRٻ"SLUu՗p$MI4ijJ*iR%M$h=ګ>ɒ&YҔrd'M)GPƦZ%$HbvmB5P$! Z 0wd&=Rc Vg3S)liGD'ΏUTm[\%!EQߩ!7ݒ~*9ksN>*|2U)4dO'iGV*}yP`cx^~Pv LDg<"&|=K"\_LD~"ꈃG׵ ")9<[aRD O^6,T]bQɿvK9f|\Nl{)U$Q:5[4[ͪY)aGm^)!WkȾT7N(IJRԡ$u(Iݕ% 1DB:!1ۮC$u(IJRԡ$u(I]cդ%CIP:%CIP:ŨcZ5u(FQbԡu(FQbԡu(F* $ىbԡu(FQbԡu(C]*Ţ͂_MLvo4}qUBP!*Ԇ BmP*Ԇ BmP* B!'$ؙi Jh0iT+WȀ, ]zf vsMr>r9|Gfp '~*_[sfLux`[r;O=vYRW5)#iqɹ:_n)+nT{p9`u}'uk`YZQֳYDif)g us{:ՙ)|SB4_)Eו*VdA F'>پݧ8v@Gڏč}fBqL OJ?R,*haLťmIS9b춭ڹsLJGu}o42:fRLE7)e2xbL\ğVk/[*ƔcRLjIM3eGzyQIΒuڙI;3)&Ôb?Lʇ),C"u>E0%.I0i&,X CѵZ7r:}00)|Z(I0KPs"ztVU6iN^g"y;e&OGd:!`JkPXNʀ)@XLqxo 6xzH5= y>hjevJ?u]`|Re7UkvI|Yc#L1$k3Ֆ,1zCn%/S!c >?x_Ж@KH QՎ4w%<9'#k|\@UƨpzeFc_ANM:^S^)Ifd ^lqˑ %dq)v9v:Y\ 5m60|d?:-Ғّ$%dʅ1IK&iɏQ䇴|?A5H΄gJ[1Qv1rbֲ[ܟ?+B"'BvPm-^Vo^ٚ'u y{B\y֕d< BP e.uBgFL1ŧ9FW20buu [%EwաUN] ; ߲WDEGMqǪ/]sxD;t 5W@0ŐL~rQ$QnZv6@^`oPa 5N'n: "]W?VmJu^VʖP:r^r/Q~J(;1ji~f M6᡽I:b.)D;-T7r !g"WZN'Wr]u^?Gdqz1:jpz HN/x5/6.u D]#.uE(@\B~rbE[N #-pmk#HoY$絚cW[kd ,Fqdr抏.EݕJ:UQDk6J)je%|{J̎<;2|ޏk ΟhIu9)))Db|G+?M`1lJ]_5Q젪uPH'FYOJti[bir ]&v$9iNQК>w i&"Whݲ\fƬEGIhږ}6д-5x6Z уwb*Z xEl6MP%hOch?b[ YYl TX@++p]TƁ dW xcg"TCE6)MP@z S{y @t>O@%(@ (휂CXTZX@&)ze&08vZs̃ %gzJ::#Y|OgѮiՊ^\'ޑ4~ s Q Rr;OD,pYdngZq e-,QD0#n͎8P*α,H|~%Q#҂0Q Z:][4&#>G{:-CQ?Y~j9:6!;vBSn)A  { $9\>` 6⼱8C<$g1+NDхv0[ (r] 9_JHؔu\٨Ն>%EGCcc+pW UjX0m+mq]BLxdEO3Pz5,ՋN/B`nLQ{t{ޭ(1 I!60:qԡW_S3m-Z.[1H/W-hgԒJ̎TQL*Jђ=Ӣ|ߣklNzϒ˰I͟uGm:ĵrrLi;,T.~vQOԃtOaDz~AV*n|ERl0~dQV`6l~;/9xIΊ#EmA؜՚Eb9i8m׮hޅhXZ*2lW{}}ߎu[.:'0pW\ `ia]9,VS!mu> }ey@ ~V'rLR՚k 8gK}5<"HǨf)^:!zՃZTIN*KWʡMCdw6ixҏPΒDpȹΔD,ho\%+ԯK]~::Vv㹥)rt.Qg75WO&qn+)0~!^:E Vo~+:NkvvןfB h,`AT!5dc`wL!$6sZt-ϩ-zaƚ%Ŀ,Db^g0mGi6%pQmPz j]c-Kh4~["Yx%luam []8N?nY]{^tdOl=KW2X¬%R8!ᦄJ/H\gM:s::V;5,VZN'κbjĜvp̧+Aˏ$2@0ۄBf΢]PKbXΏ2Yd'+jY4]n 18s:v|UVB$D!U (a\C1'oŸOXN#7N$CytƯ})3 y0_6qðP ^(^ߎe[6o ar?q1B.ᩋl}Zz])EۧU])n0ԅ[P0E`s_t '(YZT$o_"LNoNouR@4B5ex҅[IѨ~o$]XZׯV.ޟo$\ %oRqpb/hZpBpqg,~ +0 pK~$#*OªJ܎Z|hlgqi_%Q?/>u"\ퟂSiHFFW'E/Gl nٹ}$n%/Ư)M@MF슸':mUK/uv#b6b5*, J씤@PT'HԦlMif?2G |.3,;4Эl5r)\EW#%Yolu_kHsWϵ|Gٵȝ:e*yzY/:X4 \ʑ XFyu0(/1/ Tz K]Dպ=}ax΅cyZngJ7Xs0@.B.B .ћ +虆@jb&B .B .R}[`V88:`[]} 9fs>r8Zq1Dԭ["ꖈ5{f4B#.4.B).Ig~ung:Uʼ_+ͮZtvVsŎvRIANv-14A*gIӌ*X;N>pj(h>i.@ي:|sScG4>"2fOPi4[ņ'؆}%}TFtBZ^IɇljJ"}:Ns~d%yRrcG4D+~-78}޷zK(/a.BM/ 'ڿ$sա`K6jus@\/c'VDHy@KF%nV؏h*+bo[0jҀɦSNZ$_?[ lxKY8óD-y+ʖȹvٟev0 3`<m4B/4-_60•/\ -bs4pE-$­@/\u.1pT_Z}`K$RuwodqEuU&GU̻XnvN)vFb I4SN}x:.br;/*V!瞌x_ŧ_FTjѫP^'~d߮df#4+^0^q|+@mP}O)vbYoolY&6&B-Chyft#^z"|n)ˇsD -9?˳] $_RL.i}I3Ekw a친V{PK(-,G.[x.e^}/qKr^ NXV]6:5L$_\XhW/r!ldwbY-CٮV_9^]7- /,/OOPşOĽjuLVCZx8_9;ǙE{1~bNms&.Jt7^-ʟ\Ɲޭ dw:G.K;]\OgfݻS cL}ۣJVש)HyPϧx-Do~,¨}ɼesC!YBZ1R\(%QТEVkv=M&vW2+dMG, bXcui]Yr@Dgp;]vi'%/~oO4s/8)L)berB/3Z_K_ZCz9Q ~Cd.I+Y:ڽ6p]α OkZZW>.wKTպ 5Hj] 2,$3.Q֋&`,EhKv%;ObN€Evx/-] E 1@k:4["_dKںT\BE%<ղ5b[ OVQqL㲕|?j]~f N+x:6CMI{gtHĽP"}Ih "8Ss=si J:#X0O%N7[] 6>Ʀ-1Si_R_?XM6qyNُ:kĪ!܀|jW*Q4 K>+ʖN\ !:~ XHT{Hv!)ǡ<؂4pjB^*u:J":wQ,>EEdvBHv7-ʢEYKh*ofK:uʢNYvk".X͋`Sb-:un Р.rEn r!l}](FdbE ٣!LX E*B6W5Rzu"y"OX (j]n钱{j@,rt^K/!Ta),u;Ja)qO> Z}E¤*Ci^!BWuSя=_Nq}+#n)4;g7p|͸D^OAl¬8WG9# xCIz\C tJNBîmm %#`hryP7i顕x%Aހ[u"OerwA˱+_>洫AK\8]=>āW;U4J#peo޵-\c ]}^1 S ^d.eT2k( x]!i,be,#X2E\ʯq ^vE벺\%t{5C.i.u/K\.zZ*YL²AnEDJUKr%Rז\wS] $a$,E1"FXyum(:롐{,%w ] KzE| t߄ 1t!Zd3,Y?Nώy X=הHa GcSY՟Ww80tR . iğhA($s߹3NK%ȱδ6=8a_]P϶U R+qv,&wq  & ]islbW]ix=OgjbT ./+Yg(x0I%"=|Sعs,:}t=I^eHu[jN/?! ӉTwtʃ&AB=m[R]'GgキM촩I[$FȎ\W{+Y'&S8JSHhId@K|DlP~pwoZ[97DF+I"cvZkaY꣗: K")y-G.,I&%Ǔ%r ]NwWt,IΒ,Y:$YRk#IT\7IZc'x S{)Yc'FnB-dׂ[H[bmdُіC>&O` v^trv)Π)>)b!)Vgx!x!)HZY}zgH3T 鄞ˋ_7>Q_cr׶3Oy.Cqw2;tAELnzKcVQ/\Q)vmD$ͧlPqU?C> xGTM`$'$l2 sCu8%7anL㵕W}  $W'f , :A<_6[$`IO8;865(h ɕ.(YbjZLIb'5c$Ayշs(IgS#f^M:4$2I""EV"6$:6gW 0աlKd\$XE7bZT֕ 1g'4β(g+c:UW!$B'F^gOjLG'>Ih#[V$1BF3jt)?Ù/$և.IAN4 I4 I&IBZIi7_#Dz(=!wl-vP lYݕ&r}'}sυxi6:Y(LR[J6ZS2ҖVg(X9ֹ5M>)tQ[݅^{٤HLc HTvv$gI_ygK@%)[$9gHE9RiEn) Dh", ̮$K$K$I,KID0Xj=#" .~)@vfFVg&Hj"+1*F;Z:e)@R$Bݴ6SZlzRGHb\cVJ#R:%ӂ9"H 5WeZ̝#Uy6|nx55}kv5eM .5UTtOU ~U2Z]4 | ~pi׋ޝ#-<ѮtQ h xuM əNAN83Z cujr,nat ]v Nٻ]}:J"|Q)<,AP*dD׏PQʵ7~?;ED%͛:Aھ#({G{[32rXmo`SX-vTu"=p'eh W1sdcO1&L+y1;:)_{p&EWx'OÞy:3><)Fd&yF&$̦3i&NV^L|vL)P$AP (%d$V_N %P %PJDCIZNi9I:)7iRL&(PH&eI7I"NGVc(2ۯUC:Δ!xz3sBO@.ކ6]Gg t*g4Zne!w,Xv/u0qv c$1ul<+C\_~KQʞVίs,E7eyyAۿF.s;?R.{ eWM9K"`׏+.v{8B-[%OM]!;-5I;fCvHT!elHj ?i)e*IO].qI]%+3&y@% K쟶ɓ(ѱtfC IJjuvK\RD$oIHsI$"Vgr*)5S)JRQeTI2ܤ"|٘dOza1_KWnC~/-gjrN!4ކ:eW6;;$ՕJK2mG>JS[uzW2o$inby* NìNVLs:9_r(xIĨ6K.)^;2/[z$ejufR➤'^S&^ N4eIKم;(eIOE7>$K Y_6D30D$_R&_gMT"O+f!K"z<- I\#`%It+I0G\j6TIERte躲t]un:9R*$G@IE燩ŤNy?;(WǩX9*؆ExsXQq!d8oe:0? !e3J\_w#gǿ>^a-RѬYjp~RM|m Jj?IQz{P6r8asdm]O(73.Vr;#RnP2hJ5^LƒQv%[xjcaN!Q ܴOLv} PR-o](z($LL UkUր[t4'LH]XQ.9xkyt,!eI$!$Vh=hmdϮVd65geI*'tD8H9B'[8Is9iJ".D8I8BuUNXGA"$I$I쌤7I}22) ޔ_&))ju0-5dSlMN)n,TMey:! PwP~fwV2N)Bԟ>`,nBj;:\gKȲXĦ4X)l+y%7+uͦ2 MӳQ mSl d')C>Xznil~nŸM fVg"ٝfkWm.!8hmǶ΀Ph&Cew!&T(B[֒M42XΨqZju~:;KD &h'#]mʢ6}̟7[s(PL\E4Z~&jSY :hA\fo(RLgD݇_A??&tXvIIWy>ۚ],ԥ[Z޵@^8 ~e|STKt.(&"ת;EJ0)%o'>,Ej]}RJr'AP USP1S}'/>â,R@ H0v"nb:7?|$ys:>Z! ҷsI/$owQN=6]R[O'ʽh؎ŗ0,b'[ޭ'x!c3}˦lفD-[0ۦ[;T+;:czf$*;rnMV(t%9$'sItm*MA2`-& $$4Bi: @ޙjk"v$FoFoFwZ×r[16`>wӍ[~Ѝߦƽoƽw^pb7~s%;|[ʂ͓U74j Vq:;n18 tvŎii!aAMj!=MS 5۸JF!h6m ކzOϖ3 .xQE/oI?:ε3=v2ڿo+B^I3)H>kœ֑S˸jǏ=bjevtSTuF`0J\t⿯^"3޾} =FCH)&hՉkYhݹ껥oQ D$ƞo^}aի>2߸+߬IW^`as;nZpofd񮚻;U2۝k&pzj]7|,s71f1Lŀo ƀo Km̀oN17s/7r/w{;j s#0wF@`n96r/7r/V_s OXճLp)ܟ텘{O廧ۿS!v|7=+v&L\%K O*F< %4/3wŐOszna !F˘=c"s ";M9sHXi!?+ ȳu̝1Ef(GvɚܞщLN2*]ݢ8{?]M0\9me(Uyv!yw/'tv-) }ovp<̮`wl n|c1-gŀo?pc{k|c7|c1cߝI7i+ Kљ9d7|7bFQoD6|K'̍̽&\4#nd+̍2sK9q{7FvUkp@>TdwjI/]r1EK!qbzu*q v:!A@qkqΉ{NW+1~oy:/k'Llŝ6s"Ui*XӕmBsV3 (Z} ɶ[ǍV;8[lڭ=ZvdwХn!ۄاU43yo.-F`n=6RZj}~+xpnCGgᇘ[Ž-jgs^l|赘[};'CH;b.Ɋ &a_\طCq[ggld ܈ R _}3;^.X暝YBU7xV;w$TI>k9 &S!en!TBvvl!ImFY5J ?DuRM٩x'kYU>;O dAuM"I7ZM_"ffe#738-"3#23"@nlJv(viBYdWH";{.uACP;3w^"VXk9ϒw YAXLeQ%p_7C ᳸VU9,0QAd/.*BZz_W9BjqaV r'$/iKZV f*URTz!}J[*J$/|T_ $eV2RZj5B׬` .$%|.iK|<ʏ6!rc*m/@nݮWoopGaҕCrlϧϧ}aPW%,I X׉Bȶ6a|j7B cga>M IFٳx3KbbJO`+~>#LzɮbJ=Qu."śMk'y?@л W;_U_C)혊D _Hv;)]i{튇ѣb^Ѯ"feC|Z"n=Z ;wqWQ?( ;#'NE 4J?z ^䛇Pc=+3O'vKc+IUG.ؾK ്ti ;"GCoH㍪ݑfұW}|%톤ݐ(&P@41,` yY{غty~ ʀ!9c)$ dAP3 A6DhUWw9[g .v &`Y Sn u̮Ci0c cr;v_L@ՉB(s  ;"}w$sXlp,ܭL !;j]NJciΪ+cUJю ;N(og`Ċ4zsZ{;mKn@Kbi8{Z*hn0wEMMI}j(b^/̶ q?\`ѩ+*\6Np$fK!<rl^J&& ъޗ!%#,@1xˣI팪"fsl@0ZRCڣUC^{k!=E7$d 41@ 3P%CzH\CzA\b80 S[vbQ%A`pxH3GO)SRCP|?( 5ˡN|`]y( 뇤吴x_吺G/b SrX`X CahI5DJjQuתJRe2Rq@TnFmjThpJM'ujLl&Q͔mhu6f#Y"X:e#~hl6Ҙc#8وU6t;K*U]+ 4rD_#HOṆ=b]%։c+Ǩju|8Ud RQF"V/Uū:1 cGmiJEiH5%ȇ C|H2C|*d1%G CRɔ~H!}>χ!>$ч$(E $D >ՇPW?)rȱ9r(tP^?$~Hq&?$͐C6~(ꅇPd?ُ+NEC~H I i0N8i!?dϐ JT_2N&E1uQZ1S-" :܏82$Jp? u$$͒D7(R"e. -eU[љ;\^R81M cҘC"Cnr#9ӚO H5`0dH|Pv?=xr1P|?`!:OP|?F=0Fu5 :is$`Pv?xh e`@*`n5 X(C'{Ql8]N.#@h0dr)V8pi!E+Kx yC= T(o}/bHG]'PV;@0&p nGQcnGa S>j  ݪĝ;iir 36gӌ5UӔ4MId4MC27@ 4@Nͷ=L129VlGѯ.ڮ5D(nES|]`O );FU"@;8xPz̒/mA!7atSvA_ǥ8HPUL0 Uʀ<*,Cnj 2D7@ʀT Cve@UIl@ H2 UʀT*R8+~(` @0 3/cW,`#H`Ȁ3p`TҸ @h0 4tF3p` xG` @h08!4 3%4ZJ[` @h0 ǀ3pC~cV"x ӁjU\-U >t:0aam2I:Oc&~@O1)cf *D'` ıROZUX(y[ѯ*!E4Zрa˨ϓQ@P + &3MnlLLDfƱaYJHa@t:ӚxsT3{]E-*wA:VV;yS[yey,/ŲXYoM\SUGx+mGkT˩ ]zs4n8h2Gn|ԀPoÜ06 |iAYhu0;7Y9fC0 4C:_d2u44f-0K XTִf[֭> E5 p89B]cܭ:9*o+E2Հ~I`Ȍ9ƪvrZjzZ$]A%~a6b A7Ji›!n ck<c[1Atfb9-1ɶuSDFrSntL 3 3J`<:x:X,r0٨q u=S:vP>Bz'τvBvLog/evBwNX #Nӱ KyeLr"iuݘA0L 4DK:[.!ʹ:A* JV4iMؤEo@ A7!sy7XFZ 4 =Do@ =DSw:Eemdm+ )oo EOmw+wd6Q["(y06 ÷N*b1ZFXE >J35'lRMI?5Y&kD}PMx"+VRt+Rdu@K='3z(Yˎ 0!SrZpL)?->eǔßE 0%ǴV1SZL9i9"֩=ْ:m7~d/kT~&'q/҉iO-j;e3f[ uzKi-b};Kc)l 5LV*g{ wI6լQ,B ڥKĢF}+q-vW7 pO \bdۤP ENr=d-<ŻȴSvRY̶%|!uUuip&3~KoɲŅr5YJی1B2æxQۑJR* [#W|ʉO9)>eç<WbOy)><d2S|ʀOY)>廧|%i,-֩YFyy2R SVrJJ0"8%Qy)N9)8%dF҈SqJ#!gчF+TPÀ?PZ=M.ɓ6I\ &C٤1N'\%P$z[bwj㶰ԒɪoEJ :JX?_؂uꪉ&ڎ`W>FTS",[f;?퉗"\o šZo]dfuγ4jϫFXY)}7OfմScrS^y.SFy(Okx(ӦuA ρcLQ2SFy(ON92qqe,ߔߛ{Ӝ?SboJM= ~L@ɄRadޔ̛yS2o4ޔƛxsT"7J0ToJb$PݔRtSrnJMɹ)97%:ˎ *60HYXltc] ½Lo:e}ٛK{6[K^74 o۰6 nCP67 @!'sB L qthI41O|ϋXsڞR%6k(mHn+ y15|Kaײ[{"іlSL5vTF"n%E+HE]O΢BdcWٵ]Vrߡ)_rם2SFwN\(mڟ!'^d _`N [1!)۔wnS[Nk!61۔~  6QOLٷ)/~ӳ~oSMK`BmʾMٷ9_~oios-!6ZLٷ)6eߦTb?UH͒SrjSNmʩMٴ)f<=^ ڔA2hSmʠM`J@hSm EɠM)6e&aʠ -z 㒻JCP~}=jSP zݜ!G [E۲QoOP: GZ&6SVS6*62lPfZLC@Jl6Ti]6lӁ6]wӁ6eŁQ6Mhr6˅1sR*; od m>s'6 冠pyd+paO7~lVdX|fuYoV!{UcK$_SuʠMDCh:%Цڄ -S jy!6Ѧ<ڔG"Oy)6Ѧ<*&q*%6Ѧ<\ű<ڔGh{*{aX>kQ#/%D4>A }XHsDyB=oLOdz SΧ0tN7;t37әutSMM75t21̽bW`l5*-_/L|Ĥڢc~6u\X%&V)F2J(H>c&^nBHJY;DC#==SJ [EH-DI$]=foqsekcV]1l<{+v 4׻? V*wZ7WnP~,˫[^ė7g,qy{\8B\cy S~0dy-/8o|Xp_i#\:euZ3/:!x-nQ1ΥW,w5lQXQtXi.2D]`],f4 lBh6Z zB6àcTÂjX "im: ު tp rm{ZvȟDR3V+6.][,i{N&ukdqIkfLNm?|Nw~:6j']; f2U>um[6ԗw6M|O/ ߊfؗfN5N\,!Co Vh36Cd36={3\6hA"٦@T? Dȓy,rM6Y]9͂6Y&|if,|4 b`RB2 HXHP:H@ֱ|])GJZ b` /1(s`SIXUe3HERUHETd^HEPt,iKc!YG*z1I0 Re ,KRcIO,ew]һ\JRu"Ig:^fu0ژM:]>땸[LcQRQpmPY㷁QQ,{P'`ĮCб" "g=3Jة@碒s!p5±$NKV]}dW9*˷$vwR;Yӂꔮ:7^I䴟@U$C {s5|ӝ}۶*iSlz֦Om!IX4 6*fŪtEY9Lȸ 9JmM(TlTl%-bq ,5 Y N>~Y 5QZqhɤu0@t*G(&u>6!YHERӳ`zڂAisLR3#&Td,:7NZ3MHE0u,$6>f@XZ@C8s:i ZDK@p)YXpD hShw::M h-,,"KÂ;ZE>ZG hA*Ǐuj,%ò2@XBKbQtvQ<oġ gOӨo(oCO>=2\s ?)r70 :ݨ)>P KwG?/p!Z"6SWY1ʹJ1MMVe_4|&XA΅BMZ{2>:XW,%@j]S6Uk:i ,P (]jA-P 8(?Ln0AYPz-GmѲkaiҦOT!ziNhgi ;s%w3;k3)3;. ;L}Ockp!vnw;8ܮ:6fٴr9vU{^K;k'hDv]aAnvthfWhveWj[.8bCtpZ ZWOQ"XA Rޖvh,E]h(z  -TRԕ%u;.(ϨP9l꺻e-<%n sȰڌ%vs3Bntbu^4<0SiEZG H)eWbٕXLѢ sa2{/NGт>Zr hYz?*6l2PR/He,KmR/85+Ҫ!?xC}؏Ve:"w}}v*6Ѫcn gFVJr^/ K5%~W+*KRw1*>Ui-g^bKV-9/Kl/+KzIi:A/Kͺ.ѿK[.qK\䲒cFm Nu `, M?ki9Uesn' TyzFҦ obۂz[V1 z[Po mA-nA-VoA-%dXN,Y,1M̈́f2nLScԘVfMmj<451MijLScԘ4MnLScԘ451MijL $9ijLSc:=4u3MiB??LSg:Th4ԙ4u Pd6un^g:ԙ4u3MiLSgP參٦LSg:ԙ4u3MiL q0MeiLSg:ԙNdk'ډkDv"[;Ndk'ډlDv"[;N\k9懛cc?TX:;;;;;pMqc8pO>|:ӱ *6NSƉTqH{96éTq8sOU#~x:v:6é#^5@Q~gZViLSg:ԙ4u3M XN4u3MiLSg:ԙ4u3MQ?f:ԙ4u3MiLSg:yMtuLSg:ԙi:i: `{Mtp``*p0Mt0MӔ(bN6lm:i:i:i:i:r:`n4L4L4L4L4ӱMtp``XK\v> NFSiѩDx*3J;fvfjgة٩JxTt*B:JN#iLe5ӱS;;S;;T[r8UL%ӱS;;S;;EYZ3S;33S;3{;3UjNNNTV"SJxRLLFSJZS;;EΩDy*d9 YN'=SQKNNNT9iLLTqZ|w}````)xm:ئt0Mt0Mt0Mt0Mt0Mtܜ9ٌ[aA+# 8o,46O4N4N4NCt?fϺ*t}fO7{͞nt8v C}xGw4 ex-^BWhx-3N /gx9AW4Yy;z鮙鮙3՘L5f*tcvSjTNuf3STg:3ՙ)D'u:D{=Q瞨sOԹ'u:D{bSTg:3ՙLuf3STglSTg:3ՙLuf3STglSTg:3ՙEպ3STgSTg:3ՙLufz?=OOe'iZgpyxOv>L֩B"86߭PgP+է`]7u]7u^ygzLuf3SOʤiNuvs:3ՙLuf3S3u0SO'YӴ:::?fv`LLLLlS;uSw`f`f`f`T6參٩:ة;u0S3u0S>:r:v`v`LLLL3S3PPLM۵J{?ߴM/p?8p?{YTx*n^Y'y/.zo%vX{}{}{M^@^Zߧ>sP;Uv!+{T SZ{f^5ߛr#+|-(/DڽvT _Gf.W@n[!4|{㎦iMc%wlr;6ێmǩ#X;U vU(]y6&L;,KÒ;@-twaLLLz?;uS;uSw`f`f`f`U:ة:٩;u2S'3u2S'3u2S'3u2S\~?FzbN`fdNfdNfdN>'{}b>wػOi03u2S\BwZS'wdNfdNfdNfdH8::٩;u2S'3u2S'3u2S'3u2ShO\'._?矼7=>O>O^_~]ߗދoOF`8@Z߯>OMc/=L;Nvr'jyD&tثOG2c%uOqBJ^"!g2{r/B./as_πp cMRi{QHcH\j}E9eo1Ju])أ0T0q'=DӴI [:n{; =h۳'Obw&hrwR;ت]X7Piʵ=8[Eԗn,wgL>(~wM'Kiv>YLؼx,nηvrYr?>W!2VlXCdbe%v%C TCA)Ia'fzqID4\/ фB<]l/A٪2RLsIR$t7J4<؃:g 8PzOwFP;b?(:!{L8R?_* Fr94fN,J3Bm(Үmdptt 78wG(QoE'JPr)i2!'y"ft\> {ءaËNQS&!1Ow*kñXfK;->Bf)%.$Fׂ7xݝhE/p~7;w^Rb6;Jc-Fūj pB%qEJ黀)$=VE1H#!1h^Jf"* D~PWΝn.Z򫃦"LH,9<0ٞE@ώ,ykX\|^cmW.@F^#Ardl-t1yMvߋT\ygQ^*߹s[ !ao+Jg)q? =SJq6;WT}I8k5FJûIl`U.kqK=R 6rƇ;RJZ{S}vrp2 #wuqK691 =ѳp)*І.Z?9 D>jE-2Ļ]]*kUk;%Ӕ`8+DaYW<|#v!-N[4 00HK|0'Ƶ0o CdsRd¤CqOn?^>SN"F}%{<תAp)7Yfx Gx)(ըpj&y xGm[n{VeYK`ǯkn-}?m,o(-T-+RЎ"l`b~ӷਞZz!,['J7 Z)R^nJ7N3't#hBΗoH+(YcR%,@ynypugQ zCr0NH}_g iRJATi:jzC36U.!q ٽEa4yDw*Tы]ՇsPYȓa(43XCZIA#oAWvdfqa bIIr,N.>o% {55^X]W pd&HB֊kL1f nn fH TG!IIE3SeܗN.!p!Zc;պ3Lu@nuJtzo\3J =myԝrQKGu.;OO+W$8!q(r7gJsŴz>`-Uj3x:qb<[/WOX9qZ%o?jdW^qTyYuAax\޳B'Ru>j؂/]D;K| Z`t| msmg0:Yd%LeiZm/ QKd2+u&!T?2F #k$'͢+]*,+JvlO(==ՓK2 jD"DbTza0Nw9\/v0G?Ftθesbϕ,M:3nfN¢ 3b=zlq5答91?3M@X!fV$kp[䉺-tt*l{bˆU@w8:m߬KYGI|)GSKKƥ5$P^,' >D8w"W%e1Aw!wJlnY~8FlN0B=|!ı'ԁ(ڔUކJĤ=Ed!|(2ǤY5L^zS0`WHkԐJtW;V\ĂCS,]h I";*9퇚Cڢ*/2ع{\PdMT]LN'oBe*eER̘'ڃ=𮪁&ߕD 9>%hL< ;>4cUUCr᥸q|숐z.utU5o*dM҅IeWok^xΉm,#mِ(NENݪ/=JKP7Won >Jq|B髱Hj!v (C$S:q`N~B['2a( {bV Ϙ"\¾4zW7J==?z¢&g{eX8WH"G17KD]-2p@:.eYf.P<.eřhM+ӕ$[SR$y4Ao8! zۑx'U@}.P>DtϧԁNݧ0.JGex|I0ۍmKҏT`"y Ϊ0 @G Qc|䫠 |_PÔ+a<.-ά"?>Rdb`'M檉' Ln~bW| G;Z|͔N۳`6;q/e3Oi@#VlTz8 t ,ˣ&e8иŽ9 F:QY|ɒg7" C *mc# hɞ{拾xo8)ЛߣD 7s}JɈ3}cv b&̚eKwg?W Kʝ v Q8#TaY7e}s^*vg7LME"u9|{D\菠lV Z/_:.8cSڰС@VA8#ƪ=>99<OiRrKA=>HJD<]FXq=UD*&`b O8 lQhoC"#4eKfasvU@g}֐g>{S۾nxemr24rOKkv[l-51A&$4bQu 6T&^%fu_nbddS_ f r2 U`PU~S~VH0!2C &@!?~Isif%PI;߶k:V2*˧ KbcJ\槕sVl qt,ndp9SBKy:42E=KGf8s/EpΏwa$_@gLfţ*·wR.K@A|,eJ!.HUdE2|bvgiw1m]Ac$ 7+N6&v&s+&Q:{n3^QSSPg!m<8҅$S Tvq ot.vIKu.!ayS!]3o M$GxrD9HwݏعFշEF w,d=K(`2 QEu)gQ3^T;7pE0T1J²[EAT$sZĬt5vIèt4a8pe3uhy[e!񢙍o? N9E $%ݳFvBy?:#<0, CDC@)\2u{; `n/I ԓA 6JD<{KrBA^io\t^%&S)H <У=.% oտ`Ue[!NqCe7^`ɳ4Q,1RPiEL#zYRX%S:Nd3K QbI; Q$nYB?Σjjη!KvLˬBO+|\7PBKukW\J&A;tӅ`2eM+>[ʝ/)6ɣ M|0d7gW'w)X_ƬRJp(e rR,;%FUcНܭU]E&WԐǟҔBw)&hoq M<9eƼ†3P0lCH2zBJqΣ: =?%p J 29;o>?OJZ(k>ؐkUWYU <{]SkAH'3T3u/$e$e@7@m.9QK^oJ]*.CuԔuOBS4[21+ڏ ~LD0(蹔1fv'RIǶ"u]+p@- yVڻu k6'A[r'3:KsHzj`~v@#w>c;,%:3i)-Sy+ $ͪƍ OH!b],cwVK@b-Ds{vRTE:͚5X|e(I 3{CګJkz"܈0?XXȔ/)<))Zy  d,C B6i#g$-J]h/%6d?:}N#ᑘ *! x ;㌫8ʟ u"[^j'XfW8<!>F,D+=2ˠQiDs&w0eXX{Vה*AԒY$] &[K' bjQPN"=BI)NRM5<\,tť-A4NTn[y{?=D ߒb3uQemAo*>s,cwOaMj ɽ=w]Sl&#ﵐg c~N$ ʧbfraۯB{w>U=TS"J~ɦt f &vWX~odCk&0)RpTUx݋!U&]ϳOZq(ʯYhb:<bƖ]yNTc5U|Sb{)ȿ.2B̽ 3ἵIfx% 7k%IP`ܫ6Aȴr,$NYA]yxd\+vOG## J2$Vt"O+rN^ ՎLzW? a )*n|$(XKTOiB "K K6 :Tv"i"Z2*CAʩg g:#I>QqU2Rxxixѩ,7۠UKy `Qښ#n<N(И֒B ~  ,3]X *ժě?y|8$o(ci^*w6 (V/K5E{V%[fC?Og@'딠P(lR3XWeC (/ӶM~H%vKk[})t,KEJd/VŀAf Tnb!Kx =%o&vGM{cm÷ ٪L,X3 <s!Ӂ]nRSt|Qwy;HMY=_ZxRY{%R "Ty8ix9Q%ab+"+I/b\ny&.| e9R\Z98JŞVq?ek6Σw}&άvɽ JψQ] GT)dz^c{fلP,(kxt2n  yIS,Xoť c)Pz-_ܡxzjEpFXoo *S}gt5Gfde&DߚX¸t[K*ȋLA/2'(([+[ o YMt" DR,;Me1b6K\,(I$'U,H4,|QؗSV `<jݫV8? W)AEͮc8K9ʁ Y 2,Kd7&h/ c%b܉t;I]"M W}X'R ]'wJ_gea%JEωpRSqW+%Ҿ0:}b|9vS/=0$>\kͰ1\Si.0ME;4kq<Q^JeKY ڪ~) "{Jig$5}EX~ FDy7qdAU TO$|^*v(=`9/$łj6 p&0euvk/`?qxeD)l -kyбM5kU}xVƍs-(2k0 ]҉Yj7!OpyHE>\r#I1VƈY5qUc%ē#)΁YTU62Z$ڳ*$/F2uf%]_=BpJRRr_/qS]F:A"T}RC/ҹh$ P*xZmpW|\ݔ{J"K(nȢ/SaTG`ћJ=DK_D܂z|(I-=fESyeFL9 , ^q`zX}1YE@C=v?]U΄6CJk[ ˺uZ(󃶭5ֆ$0к%ేY# k#- _*jUrCg]dʒxOh05XdH0m?)b䡄l58nZJJ-d&+0z]hQPB*8L' +kJ,=s:USmm'XSYKG2a%-} gVArhWBX|5;8)ZQ[9RVCG-,a z_6\VU(#s= ÍfՅ D&՚t$l{5\d`FA]i2r(S+ RS[- Dzvsmh10KN\~,'n2U4Y$ 7\$nE캊t\Yo!-?\f??hɜP[onjfQ`=Z n]ŀ<@xPYdgzݥ.öD[vnl#k \{PE/ ʢJN@@G&Ϯ'w6Zܣ@k g̛s aSKR-C/&(zM H"~%S-ZGQj2;l]4"rX3" ­ +@)}`/Y~%z+5bG<`$*ЋM%֞CUL*Kt~nt iE$xfC?xVpGj.j}g 7!h3}1*KvIc "lc&7*n{<ŴЦi.k4OfGZ[Ǹ!aLGX}wףzG ֵ˻^@88 U ᱊cިOZjTA'1Ng>rVlhZ%5OMֻ%S2*l˩ybW{8ք!jϺ h;םtWMxCz5˩Xf׃ so2YLf) w)LGIcxo'{/:cW+3i^QEG{ŵDHmQ 6XB+qM#2MNrAj|wX%8ѣT,=Ƣc1{9I"IHqdzUXI7Auqi/f[ˉ/|w&&;2已oݗ56S'Ū)Cp /DEg)z]Zvv6  jt$q `(+!GV^.G?wkяUޢL͡v>8| V@b4,l BtŝzŬTvր&rBenz9+ הrQ".~ãx]~/.B'lG@ۼ 'w>ckwַ׏?olp~__ ~?G^^_ͦW}O/>m}O?ϿǿmO>/?ݿOOG~/^oۿ8~x}Dҩ^|_|o8__/7GOΏϧڿ|}To.~_7'GR_yV'Ku8U߿x}닰ͩ#s{z_|/>^_~//^ǟ]/{_/^}{䓷|w_/_}~>%?>?}Y~o#=/য়z?_U}O>~G/{/~ww/~v쫿y߽8ܭ~=`^}^_?⣏?''9}{zx""ז^?>_}g[v/Y/jv~džO7y.y}:.77<~~?]>=N8ck\㟹W~Yn}W\/-pncCSC͖~k džӏn߼'a~3C) q̱jyMq۸nvwx/я^O2ݎ];ɿO}{}=}?>^=|uzbǧ??'///S/}Mum'{|ۜ!~|//ھ|ͩ)~<}s|49NcosߏWGrۜW} /6m/~|/֮}=oŬ~^~?޻[ۿ8V}o?j#>x۷o^;{?ݷů>ŋ}R_?L?'?yX]ͧ⻿\ߩ E>qq_fӼwO7gyO_?y|.^~?qo÷>ʿ>/~T{>mC\ǟ7?Շ_~_}?S=ߛt~3O'?ӟxzO?_y_Gv}チ~|owb~\χOyrձyTտs|/_|q?ǯy:}|ߏ{{x|xݿ^r_ܞ_ٟ^pֿֿz{-Ư~_=}qOy>Nj]6i_>ÿu'ȿt/^}qr:_zw~Ȯ=`]n Wsωs?<o\r #6hڿ'[{_ݵalV x}E}/ūWnO?ӿ'x~LF_ͥ~/|o܏?|:7_ڠ?w_o^^|N̷^Kߟ/k{̯~q`|K7x}aapR^>}s|W h9>dz}g'~/Wue>?|Xnj6/fW}m|Wt L/ͼ??[lͣ,ļ5ռ|tdaד=?_oO2s5ݝ1=}z]"[jY_gxkGM&1|/}v{`?u?ݮʷ,MPmOnOb>5 kP~O;.P~y??6rw}[gg8S6??W췾l߻wɻXs{q$>}fm⧟்m]A]FsO|ݝ> > I+-y|G| !WzG7T;sG#Gy۾@_;̽>{g>k.lN< w6uK˷Moq}-{{ucf!;kӗ/?#}_~do혴t/|sG_^ߒu9}e|w;fN{7oK^?{~oq)0o/>_KW)|jsj{ޛgacWg?{;zB +~/>ů^ӷ=4ti cI'?94<[?ȯ~3x~0Ƌ]uo {o]Vg?W>O;z:ڽܹk}~KC}b?z:p{_ʾ>zgqxC/^_GΖj_y9?_l}O՛յ[^Ukoa^o?z_}yd|Ogwkx$;nުwl÷ͷѹ)/޶9{wڿ~?zwk/{g=t}{Jҽ|_8gg]w?^Ӷ]jFuh__;k6y-#柿pMwymܷg_oOKr|{i_oG':?U;8ſW|?Vs}ƞw ]?ѐ&{5ܿ鷱So8o6_ ׼?9tׯNU|?}}`|W~y |γ~??]{{So/ m88o<~w^0E N~r@?Ȩ+/knkol"\f.~w/x}7Vz[ցo~ASh}~;~w?>zW޿jrr Gf'gm@BBs?Wp蛽@+zR'~>/>_ "xŋlG^?O勿{9Gq->/>V|~<7?n?hП~yoȒ_~w3_gmoY v8+G|y^_J{?{~;?|ᱼcabϿӟ~^˿wEԉ=6ַ64❭_N׬2LK;YvKfӖ`?3ժhwܼ0oM{ _>Ň1x^яno}V:7_oٿ^S~v9wf#ܶ1yu5?*Bډ'ᶽ;צo??k^_}mo[eV?|7Ia|$}Cq_Hcf߲9_(xmz/Edɮ<_֛%_xLA-:U÷SXw #*(ӗO^;~;7_M}MEQ꧟?wu]ރ y"?[}D .xx<ʓޯ9߾~oӘw wy=?|KrV)g!xOVd^ϯjBԿ|?|D|) ?Bs!4Ao8[~-w߾ȸ?w1tk?:_/m}{2co]^w 3_Ou{mXĻ1է;O=ǯ{\_7= S$~oom#_;~u{=}fAV+ۜx<_w}݁O{ofOw6ox|r ߺw6w_|uכ7z~(fG[A'!}g,G[s~ &AoUkķ`;^>~7=&}@_rŎk/;n}޽/<|;g?s_>>w_ aK+[Ij']p̟AJMO/g__G0^.ͮ{>op~ޫ.x7]?]'~? 7n>R;hMNo]Wqޛ~}7׵ld {_E/\ PK<. !PeE Su24nIO6(:C|{gbM\ Q~4L6ߑtrFeF&7PW8 yFꛑ37 -HGuuuȗ +R|SP_tXQ=(G)P+  բ4J#wxX3u}?.hLK眽\C[Bq"s•.v7^^a\ai/)/343<+Cz(Če8?33M9gf1h!E8̷1P98C3d9]PX!/Zc2aؗϻ76ӫ\5!;"*vKG^ђpu='od>nnֱͱ͕7C}~JN˟2 ~W1ʟ~ _8/={M|9@ zZ_\Ǜ b1 Fy>wiyp'W{muU}{9r` ZZ?<;H;eH"9<ZudEpdI`E,"EFa[ch"u; XW;`XQ M뇛ccC?_5E!{#ڎ+FxT79tC79tC7!T!C79tC79tC7ߎ&nr&nr&$MZTk knr&Gu<^ \7MM:nr&GuR͔:X79t4MNMNMNnB*>vjɩɩɩYMSDG`MNMN݄pYlnw4ng?5B}qG, B %&f(t Qjf | œt9a!FW~,MB"x;,\| m8glwܞIȜy>k}Lg<;8KP#ӻ Eݎ;JvZmVgGyvG&rӡF!8/LuHMȸBSVN'HH9=L;f=l;-cmP#EMM |twQ7BavεJ?;ʏu܋7+ւysIttft3b_Vl2P+#e}V A=ԐV([!f\cV[[^F_YN_O_t7zѭg. Qa ɖ8m ꖀI袄ֹkH0Qksx90!ǔV{fn2g#G{m&hwQ [|B?(|8!1ю#]s7׸ ȡlYL!\*鎵v#w9 i@^|+Fy($O-Pr=m$yR7x@tF_PqzI0U*R)J6iFe'ճ"VY*uFݝ)4p{`7wx3YN{ >At~&^4ړa/Ejة{})#DɔSE Yt$p THzʼnsC?)v\$~Й[M*K j! ȫ"9ȋ+sJ=],j%̐Q 3tJPVDhF,hsx֏Yl ǽ(3R m.BIpZFA42pKx&Cyݮ^dy"amdP%7P6۶>ƤqEƼKF~ҡIcJ[@pWG/X"CeD _`&LtE4rD~֫d O/Z(<~*MOx~A)Zԉ(lS]=4_x~7O %DA#LϣO9-s͈^5ԉEnhԡ"IFߓ[]Jr={]JM/qR$K]*FݻbV."8qֻgЫI>R2UAzK*#"usR]A Y̶b Yo[/]0ǻ#kqp#/dRktUH歄GHA,'B"mRz&ۉ"_9!{/!Ұߟ>ӯ4fBpGXT I Խ,2LI5:1[[S7"ME%ܐFIQ((}hGd](Gο%*e*хXg; A1OǕ75ZRs#j@)z0s YۍnF-q8Lܙv0A+4cFv(x%efxi琮ŠޘSw'lmx ['`WSL0aFnJx$4Ҕ_>#p;^K^p%HBoyi=P*sOa@H Ou\Aq,Ap@F?ф)CE=v6ϱ=yT~Ȋ A3;:=L23DZ) r'Im5>xOɴað~d -Wmč؃-xft͸L7; 9#_7GeM,GD_ _3q\Ͽg,,wyo)A L1D5k0Gt(Mo6Vx g=_IVӒakuPj*ч(ړ;ݡ܁^gѶR:3j1jIihXEἮ儝^,/NbvʝDDJ6]p\X]0ZkR,QNr4ɞ\VT",,j)t AuDɻZǃeHRVKE>nCfmjБTK^ruzsOt͇1YR}|S'eU,D9= b6tޭH%@`Yß~ldZk{'o RoT3a庬U{QD2t̂ո;h!v3БdrtEz z'B|yʧuƑ'}eZpQM8/a {WkQ'^^n;B@&ÞC{gMꤴ!Z651GV C=k1EҁiR_eq>EwpM%F oT D/ݰm#(X?v⣱%Mw28"n]"3}k8R,9ĝ=͍DS@&/"yQ2W"f>΍L851YS>!?Nl`#_9DoF~³X<+[ZY"F4l/m0 \WbbzRtFVϙbRgPq<ĢZpb98^vn!ܯ4#{< W%O i^"[. 06ɱ 3DdWMhI> za%}Lq / ӄvIތR>j1Qa} M\}Sm >~Id<Ϯ$;GDNCB\Lopk9H/mLpY_A3(ZÓe xA H4|4K]*yu ZfT/f!udN v'l: wʝԘuGVs)˺{(:S2%/f#oZN$#NPُa;/WX(,Y&'׬rLe_ϊLʖdyqK],s ʹ]+R;ŎD[hw)HwֽBSFOmƏ]('8ͤwPxq1SVWňGhIx]:>tK2ND{̤5r1f/T@}ME/AwAͺu PXpXhNLwI(/W>#)sM"CFgF< y*}`?(L3 UbM~MU)z?#ɞSޥ&ƪCtyWދ xE5t'Id ] `3Dv<9 .1rV1~]mB'0’B.7xJG&Ykri9kPT1$Sjҷs[w_p mf#o9hu%),JE2}q8Gn][ŗN+Aŧ{g{8xZ&X#d:uՋqet΢`J0$/r =p<騷 *V SExݷ/jǔҁNT0n|*Jp`Rgv8~\EhN.";eZ۲ԑNiG8i/!=)W,2W,Qm|.я<5;|`nMjzBÒM6>V3k@ \obL)|Mw䯘3c)ȕ16!6hüXn2y+o<1L{ yN?̳b 6Aā[^/~0fUv:sR3T-Fiq3Ƞ%/~&juۉ,{vR5㑾f 1 /&}eG$ddxDǬ0:|_ZWJ 59kTЍAfV! VƲhE1q[@.>hP &SUaU-~,&+2 s3qL&cy5WTVEZ #cNucn K- #ۄUĻ{r Ա{ee5A<shyryYt=p?jٱYWVF{2s[&< 5#ֶyv cV9*>I`pǛyH^;d=f)9%啫E;0[-;9WPd-V1GО (-%ZYcH=X+y/Ж*L$#2WBEyL|$| )J/(|qׇ0ڰTaS33Jo5b) TٹтŇ9 \-VTuy_rrJ/7LBƷ7޷ hV >*jQ&2] rԊ.3o61 -w&qC\`i8;1}\瘜ZvE󊶲7 }̭Bw|ǽVti٠iンSȪ:QXX!7?pʌ >Bo@V8įGmȒb)qԉ^ұ*LeY$ОP=Ko"sv w3g|.ޭ e̚50共(&.|la?F!x<;kq3nj\TTUy@kqta#m}{ﵖ:fO]³e`W!Yň-vUUt o2|=F<(.{ up,IuTАpN˭ P)Ql ]-oB>;Y "= uAԲ.Y}e ѻPV~UtUUo $9na'Lp`6uU #qh1kӂrīY1Ι/tFե֛:S 08wA"1{ςPx |]pdV5N* ^\|`+QLU̴F˷%=f8k{<ěAv 9q(T^r%HrX8+TK1wB|kU$DuXMWX%…OX[B亅Ex|"f2K2\"E?nR d^%![7?O@4C ;$l@q)G.1*2֚ I<2B0Л+ (V8.1SF /+E!LǮRs!^)V>r?\OFQapZPרDJU` ;HDtn|M8vIf ˴o̧ {ys9?`/ }LC{.=%#x3:VN*؄|(V%YdffT#1b) J !n.9ӶnA͚X =%r[AD%Oى!ڮ=l˵k5],]Ŋ6'2UV`T3&/:{ۯPEς])ݚQXՅ7cp^`\XrrI/ *XJ,U' lp_#;)|Ba0pKe>pc'R?GHWH4'|sSoh~ j2YA xH Ctd+|doR xhUYEPz$ӝL/&;#v㼪WĊktSz9d1ȍ뭖&YFy{IȐ&U pyp~lO67&0{O>VvթfB//bJEqD`̰eemK\.~oc j8jNd%j ^AeQS\?+M-(\<͔K[*-U.Y;l&Kܸ SS}+,zٮj& `c`3V xf}܄_%ÌL9sV (]([9H_e7JYW7q",xeA{4ZqKV[zS7Ŋ̎g}ZB[ɋe>OcQO$Ԛ'5+^*h6kK1ԆbSa!cIkpV`ssvZZTYNfI&lԱ-C<$ zP2 OkUW (:M|ILTAm8&/r |:ة`I%jP]}G%ae6Dⱱ[!$Z5^5[tRś]oU jI=_"xޫ?7aMh;뤞oi@\ 6`*/dS}5[l%,ZV>6G9]h'iALZo|pLmJwm-6Nƹԟ?bU 7k9|&?0u &aU _<, +P]YM(AYUJWg V < ۺ *+bkm#J($\UmB+/DZBbS#kᱡ\laښp8;nɵ |*40U)g`_aڅwq].m ljr[>;eT`\ޤJ*)Ib6>Y*j.ϖZ7 [Vɭv("pƁmU}ّy*Ra|^ Ռr\OVA˅i-ϐ~Rp0IO5}'gRii QZ{.u~ |LA``&oxۼ@\}wúZ1qZnrꆮN>L7b^ʃt Fv5jNzwX:ٍ=~eH>ÔWlQY0LjϏ:QC4>} pp&DcIۛvUDaV=)u''" LbÔ:aT/]`6 óWzAvULNV$(yvSoG֍qɢL`/ۻ=G "åexwP!3Z%[y& &l+fyt^t7:dW?6-bg7x2tI~TRBQV?W'Th8Hc/Z$~,ݺ.Q'R"݈3u}N:צ݄O΅(ʡթUoqܭ|e=`:dٛIұۺU^.i}*yCnxunJ]+*+׹ϊUV7{uX>N+ʰ+&t& C.5ѹ\}bٱU:c=") &)#?*ń+PAlYc/*a<ôvDW DwPI2 K6 ́[z!s: Pa;C(zQ|p`B]lYGF>;{ k_$x2]QNy+֞{{GDP~>{REaJ< h%}\@tn (jT%C0~|EC[Ul0|ͣ*Z+_jx@jOpLC(}IG<3ǥzO>8u⿮BxT=?*]\ܐHGE gq@a=Z!SqV=S0CڔMljK}vjN(p̺t aPcMa\!nKq(0{q"<t,82d6΄sQNq 鴇\/؊zbg0E{"9ʽir'νZTt|ŦJ]dr>/9]z)洸?*g{iSy;Ι;E$ӹxP^DHiUQV,|N|Vg!D%ajtpR(ũc8VWA)t';-{t.$AQ\i:ΣPBjw[r /dN R-;-ϳy`_0YۧSb? 2Re㧲tYs@1 )%x‚nl,H[ 9*Wa}0 9s9Q1ܐS#CtrO ]qU6,U`M g' q: utr[kϮ_x5hS`TVN-# Qh.˵ k/ާ4 ]FÅ_U= P{(i<<^k}raV%}XS6[zUcbB\UˎjE9d}L]|ô*)B#|"0Pm(X2C(U4e_Lշ~-d9 OYH6cG/e_sTB~F4ԯ.z) ˊz𙸳& %,7 c_W+]J*: &U,).eרGPREToj\ҬWUnթ!ؒK\ ]So1 ;5ːY.: |u!Πed=݇%C6_ko**4yFP_'6Z/,C2V{kjRPEI@Ӯ*L4#26> /l0ڵ21>c)}:ɭ,z(8+V ϐFj~sV7o!y4"Q90 >>'sP2:_O'8FC.7`4ʏ#168E.≈ %^nrTm&LaC?ȓެO1 fg;n v Cw^ QhVCT*L19~TIQL gqT0NiPqXG4fL@2 /S\wWMUHD$kb3Dq lc0]\PB6DEâ[",ڰd!N ُ1[95y'JgTcGrkKag-JFBgd0F˪ YlYY#w2H3L:anô*0̓K?YiϽkb{O4S?ga4CX):29Sq>Pг}(lKcUa@*?%4r8^s>C!iOͩ@sݒmDsj79 4r#pZqotk[X$[6-njΕ.䳝jJioo?.wvx۶>[&*dU(@z/9^l;rֱ)(ob:ZW<|wA*4"p(p0b#g!dllEBRsLѭEt{ :r{Z[qF^tM{nGId;di]/L;(.^=y8Ox珝 ]vf5JhUNkOTXGw {]NW .Z'KNsTTrlٷ&JSx]%oޠ/2dxQ'ʼnU?PN|-StqUrU=͕^UmN7"'V"sՎq~sKE8f+]07zx w"2X4EO4f/\_d:L^j&m(F)a%\iW8G4bOh!g+ʊgIEY;]Izk+l C0?{uCnQޡ efjʗ;Q֩CU{d:'[( ;bN=IAtFu:&0[= bW1\>jԱYJY2Sڐu8)"J*v UHmg} GX:'<QuZ}#ʹ[-~@*C-h`?`DTinbrwJ ZG/S*r?qVMXө4>>+9ܖDhE\Ǣf4MŬO!;%\V}aK0Q1菢_BҰvN ͕Z *eOiqc։$ % jN;[|.ab?Pj;gQZҥuz.g)B^gO%Gs! Q,%!s/ N?DBOSq=4>^%v\$oXȤwn\:St{\a?Oc"!!xm|~e17L;"]c֞)v¥_ZQ aEÅ ;]GR7uvoށ(2iZl#'!=Y`;` @ >?/ .8!CS_|˷ǹ{N_hq`8S( 98y'tV >瑟YʸEv6·fSy9}<7dQf'ǃ oٯ͉8 V'<C ~W'7tEC`\Frqr/nE/c1TTz:k16$,1J4!-,3p9Z0uhP<'"@A2[>pI\ûo62͡*TC:ⰈJ{"!eUj<`fE{<$M,!RRU$S}JWiL7[IwZ樋ty>h?&2_K-;,m@^:0V7:8 nn5Egڵ'jY:pY ?!8Z) uH6mǂS?/N䦊%l [e/aO^-p  (ǵ4,؇A>H}RpûQQdgɱ7Q!PLD;Zh=),6[TDCIh8);bgo6WKk fcQ&@.O+>KՄpKdgIrfaCExzg2'̳ѭz mupj_R%|Ĭ;֩NHڸ_1q(S)~^6M@QHi\ ff*#ؙdVdX:t3^R;;%Z'K]E  83h Wgvؼ };xNbNeM\G(|4mp^ԑ:ձ.weQvA/ ZT6Jprҋuf6t[;ʞ^ ם}ٹ:{@vj^`\Pl*,"؁Nމt?s'nZ"tT;N7GPfֱCzu?"v*w,t M%reVsɷR~9h4b'8#)yf"%NL䏟Dj!_ )uE;T夨r ̘FnD|3V)%(3fbEK*Е'wW*;s ֯:sUFDlx)ש\ ^S&Qv^W7DlD:0\ǡ@,tҟIEM ]R*/Lvju83GyT: #Qx;YtԂ('`\* $Ƌ_;Tz\*Y Yغ-MJ$S9fU5da,*Yyh%D( %H$ RMVx_.!0!դ !;f~ߋ ǧǛpqw 4ǿm h;Uˋ˃o~r':@OXMjRRRRRRRRRFF]yIiEEGhD&U,9M5-86YћugM-&SM',4+Qe=J)łA$8PiYDB(yf# QbY.ļU4RP\ K5Y$I!ı2n)[:G6V:zCLvtެ gf 2եF3e@tnh2.kǏ~iHjC5] *.9Puym벽vRShW*msO#sUz\W3gwn!YH G@Y*%, '@>@i4p\U?rvNI9I;')H@@v>?I%9I;'i$휤)x* n;qrMg 3  (-hK[Q].hhOQ)R ƢĢ.b5]_u~]\}X]шvF7G#=~O~W8͎(N+N7N1mLfc2٘d6&1lLfc2)QmYLfc2٘d6&1lLf-ʚPq]_օ cY]"B tVXt]:cG]f H01 ȹ >WإqgN\ܙՠTX0\u1]|vM`hV+I Hhfxk)af/M4p^3 5y!7N%f8/J@]/f8kf8k\TRW4CFe-3MJ*w*03l 0n@_.2RΔ2SJ( N^XXXXXX+8+8'8ľURIec`EpŲU ` zb$Ib$Ib$I2I,2I,2I,2I,xŘ,2I^&eX&eX&eX&eX&e *Y& JIeIb$Ib$Ib$Ib$I2I,2,2,2,2YDKIfdI2,2,2,2,2,2,2^&eY&eY&eY&ڬqBǂe%A$FIT#ȅ"]}A17@Փ7і֏dq'q ycV|g ^AKʙ9!;i%A C..&֒\ AA`Ah lDAHQi- $p@^ n6)O0^.wyRO*ͭ{~9s ٜJ(UU 2yLJʭ[6i\<~AyGk ?4r̔j"@= (#'4WxN [+Vׁt K$I]¡MeTeIG*xQdXUI-ӓQ3*#NoJNe^ 0 p@*g4$uVةָ H!UʙRw=mg/o53Q3SB̳*%?Lh_% Į ~r̔+c o@%?3⸒ yHe$Dͱ51jJ+_7@nR٥AJxLzZiMPL 8y$I4S+“ Ee3eW CQ >l[w`/=@e9f$ N*iq |eH+7ʉQ.K΀*loj*42]@P$R8I=WR5ԘƄ4^l<Ij<v/Xr OIjGzLg:/F"3JѴ|X:Qʙ2S٬ (WdJ5AN5e(3*(HɯZRx "PR~x?(p~6\8Dg?\DD6PVJnP -C{tk(izw&5)>UΔBTuʗ &c^˜0%x ]Z%r \J-apKFI-a'K,a!bf% 鄧Jb:g!9[qSMܚΊK4;pp93R<-AV^R8hL.KQ,Qi8KHx3ԝZJbQ22$0˅t0@BT(ET9S* BYR=,' Qr(@?s-.F ^;-p^3lyۻtJgvzYh2)Q` Qvѯ2wJBVf"ʦrbSɭ[#Fn\tA%W i!9 <-4)T&J*D2 7G2QJ?ܔ9Q9\Lem r,YpOaҭviH+\ŵU W*r%t"1J~f"MG7CQȹ8U{d=SY)*'\RPVz2nԝ4J(!R+jp%\I T5!w8T+4]hv$7 MH@ҨTe$0r}(zZ=Z2D+J(6+J,Uh*A% RЌCF5MZ55MCxJ4CMO@QhOLM=_E>9QfJr8QuXq.=dxb`tLɯ,T_'w< 疄s"JV+#]vV;2&*3eԝvk8~+ ^C:鐝Q@E%鐝_FfDbQLt]oᶓpI$|ggf1FtiQɭL\[GCW{:v2$Gs:jSa:1*% /'ps{#1ĞpnO8v cAeMtKܚi4-Cƴ"LeU>vDY\reҨsɔL!Ѵ*!A QWP.\iTL_Eieq`]pLB '*q:W)t5]e%FGG%7Dĩa(M&CD՜L* 2S+IfLE\&^!3wW̲`*yXNf<3i7 53)?bSu&$i)faeU^"),*%*G?_%- &L4^jW(cA xgURkW^Mh}TsL׌oJZdWƢ2leUz+/[yV^VW-FyNlef+9&ʕWVD7VneN+\]7f+piB įJ׍ucr}bQe1Gנ62d¾GDD;X^wzݙ묾tV_ײB:YM|geu|jTr˨O:%P:KJnOTII2Pj,ҷL 3 ܙ3+dT` Ae_͗e|_Ǘe|螚k4ѸCNC xŅDR몫G+)|gBQjR ^+pJ Thvsj ?WR4+HeTz,Z(A(Q2;PɭLE~Ez鑠F*'"2  Sx08$Qԯ32ǣQX3c$1BeԓgD Tv  U1?01JNG R q†jM+>O@昐3ꫤ+Q!~8=]L|8Bf3'n(h^d7B9c(uHeT/Q{8hBa JV:**̯$URY.tgHC,E*&Z8nBe3Uz*Cjҕ|VC'pPٿ<3!4xѼ3TV΄'(y}ql>ju,Gse2 &9@8@iCgp:F{Te7L\*x7,Z\G(M ,merl#cGbUΔUe]7iqȓTI5&MJh߸H^Y_3/`&E&Hv<@*@Ðxdxgܻ3v);㔝q8b2^J5~]jZ*=z*U*uZLpL^RτSScJ_QCpmJK45JM -2RH&PҀ_bpq:TtJl21WD֟/TM`tO$&FUjo(%ȯR7TQD.TUa|,Q3qO(eT3 I+rN+݌p7せ͸fn3׌U+ {}(eT8 # _y$>+KG WJx6̰ 3 af y!+/%Wx)YV\Ġ ,cp~ ?1#HJ7A)hq'K1|a'_!8+>eT5Wu^3#=R T 3nj(=CfΌ;Z̰3R$;H%TYRrIvҌFIc4>.q8iuHnB*iQ1#sICrW*B>q%(3W?S\(O& Lj`%x2d<2ITI84d2 eTFFu0:=ҀKBa%4-E~?%(gJaMIP0 KÌ2SVJGPhq.X?LeQr+VCAԌ2PR­ 0GUI*8dTr"3Pơ 'FVAؖJh Ja Vq+6ydA2QV.J­&zq: vFf_w TQ UT@%`o@LM`/`bR9(TΔʄ $I%%2:08 /ʦRÒ!e٬Mreو2 τ7bYOB'!gG=kY}KA&JUM~͑ڄ2Qrp!#e2 L&Qj2.cyt$\Jt1FHB5n>R%7}ȵYմ_#:(pcaF8ƨ]{ q5n"ۉqk2X Wɹ ?HeJHE"!rƹPH9b͢ɑ׺_h$,5g%~44h& 8ʤ m%,ZW7!¢c&y&~w%l2p\ONDn ^CѾ7B;k|{Ir41T7VA"r1ҾG"EE2ul&Zy̑yNAH8[i=]3mlg:z'@飵}xGF{7QjAIpVl"?ٕVzNfYN9)SHL3;Yଵ$\\9 6qt{TND" wMN=]9>YDtu6-eŮ) 4.;_=f0Z CJP=d&'+;hrGEQAe.f?G 7VȊ#5X"Ⱦ}6W#+R3.J+',eO/ W7&$4ɭ'Ѣʱ". 7*4HX]&48* AjQU-i-B"3DВyɄLz"3U#r%S#`@m j~HR{ʒʂ$Je$Q 6ҍY;}>bfR“\$99VK8+9ޯppQq*=RDDW=%JO LsCUj"D>Ii߼K hI Lnf"^ψHL݉iI&r"BUD͗._uHKyV'Es8kL*k^_BSDX_Ei*TY IaI:dN0F1Dg' =Z  3LBtI%k"F/+-hlWq ifIg*NDj3":. nz)^!}蹹@Ab ڻ ВN^ I,%QPR D|#^o O &P[bdDiDZൕH]Cd-4̜1×4b}XbNIu Fz  @A39D&@ "v BYlp+(BDyH9QE-LK%1z Nx$64UEdK3˒u7ɠI1vxs_YCD&2%\G"!"qY6?"ّň v}`E _E@+H'y=ATar5]$HqkrVKfJʙBi̖\{[m󬑍D9#C I]r?hVЉ$W;{h3: qy|t, nK& @#E $ >2yNevQg+F;\rD\'?l%&FPHѻd#}%t$ -u.IH~Ddg}ρ#Fs|P7q8o9 uY7YiXt6,>*L{]d GcJ,4 #Tב$% 2Hаt<U!*W H7J,$f-lɢ <ؕ`m#ISc! cFМ`Wz4ٖBZ(L;B'F M/5Nȗ%&P 5A"{J#"˂_a$쮙bkEI>ʎ/g- x*5-8̭ &ʯRîȅ\YPT6 vdH$ў x&R3qzic4WX759fl;!oaVTU"+,%U0p˙i zW@((/^4S\[˞m1O ` M6W9.W;yJCir ,{~FiUHQ,$+Vhޮ̓o "C^cm^2r4uKkT9ķo0;h1FT:ʤ@3HH.lD׫UX4K-ME1F)_2v-gwzPή C9PFʙ2QfB;% BH%KFM*3 0HBU y} >Fi:twj#$|7dL۬o*itQinzهAy3*ZlA W)m/Q4X>eɤJ\[F"^©Dɀ*ͬAj mI7hBH˱K+r%MG}NpbDt!HrHL8s;z'VfW%3*ɁE?8'aIŋYD_mK$j$."ĚQ`_#qy"8(LD:TvT +тxuZץ- SI.M=F{IllEܝB"T1#1t ?3ĄPJz+pLd%RI44 TALz[R|75gq>VI:*8a ,8ay#ǃErvf&FGqzيTϜ cl @ub} kc!`U" aq Ll8rYn%/݈I`5i"`W x"<*F5ȁ<|D9fBDɝd=sVώ.YFz]q&MUd=X {OJA(3>WcCSPP܂O$rB[A)u+-ܷlhY/f]* 6%0b[$ èpf6: Gٙ#@m;Luy!g %xC@yO5wyi{$q"Mz.2)t3JCQ'}6;A4Nd%MEbt ؟Ehŋr8mLx 'dEF-,[qx~Etgl5vRISI<%)14:>7H$ V߂<ݐHEJK9KdBKޫjn Nнf4 jv4_l~7HcS01>2"Ժ%9bK%I'Sۦ'2_eK8Xɱ9v! +m6pVT$_ =6j%3NVؐX9ig iI[ZSl%?%w%1!%]r8iGčIz,eAN I;pq= yk JDk$+J&.x15(:NKCpytky0ER026YNrW$W^M23:"2QWw"&U^ !ȤD(Ku`?_Y>ԯ⭣%:< P(Wdq4 `2Ej!P |L"g, 'XF4} L! 4-`Y",,\TDBd'bh;hFl 6z @)-X+CfbQF y:' rxF$2D UΤh%d'ӭkMozDK:lmS03vjl3!"a%ct>Q]M/P(X 2|(B1Ds̨ Cbv eI휾p@1 >l` (Ͱ-F]LFfCoBs)9k*Rgf,:z@9I1yLx"3:Dnx1j, y*+`Q$*Pu&0j5Pp#[,ښܬ EC81 '[;Cn ;d:0:w&˧ZA2P Elʽ1%`EPy?,yτ(L`W:f7ZԐaQF cR-P3~&؀P+'u5:CZYlm't*iD `˂4{qjX5Um6t R8̹uhC̔Y(?'G#M#UZ+btX/z> g%J>Hi4tM^)X' ohKup2Xx2{I=@H~HgyQf<]9+A4mcq2L@YCdn7 ㉘@h'"*:F\DB7(T,E`F"a"YZt bSH$Ļ`_ 8?,b'rN TC 3pҌ%a&T \= Ɍخ C4,WtGˌ(EL&2 Bw2cNͣMxNJD} 2Dxd6( ENK[Jsx]0kP HP|4c.U| „|czYJ۠X?Lju4V2RLlSb=S;DhQ=ޚr2_ռH2G&F}(gɭSOk򍏌1Sf dFÕ@'1,g58+6-:{q(K5(a5fXJݤGb<# #:OҚdJ f (08N Ml47" T{\<;3r lSJs2IG-A! $"#SiܨI56 J4\SOLGt$1T!oh @reSbL(΂ }%%Zgd1 N6#~PXa MqoW(h@lGC nOч.W\≠b/ZzSMpIu+sFyN/XPv& JH= `'Ȋ~:?=+TgxC uG崸$D9?8[t_ Rm2 lA,u4$bx).{*!a*(G]a ht$B{K?5PQrU|Z'Pw+ڂe?_0 mK*vs?3xdDŽB `zzũ)b- xHXhz&_p!FHY,.=#gCpF3 d bg1񨛪-f|4[/ 1/А~X,QgCScJL|EIx*wUu$"|Q'v#|D1 }]B&iIFG 5TN'Un*k;'*3NVAfFK?eHi#zJ1D\pdyQ΀N:*&):9dܵez@V4<*1M0[x/&f 0څ ` P2A"PL֛;MA RNx $':7aN YҎ'Lm#PBQ##t1%nIhC$UW[,+1>/;v"fvr$NhD9 zU8 ˕noh }>A1%bG[N[tb]$D?I-NЉ_r.1]N~2 H4 ʹ]rD &80tHh;>{&dyQ- گFdC]l:,t$$bA'nj Ē٣2C<^3Ea[$8n NQGLMxc/l7P$C-I8[Ր6M%4?,i^^".D^[f#UP͢0I*9mW ͨ++ɻ8CdTWUrJN,N1a6.G5q~SS%yQBL3$.+S@z`l"BQ7sLDɵ\ؒypZpH"w{bzY~^<-(+pX.O@|L~A[ّ p}p[xf? 0ݒJ`NJcqk,lLDQH Ui 2BMK:O3Nȑ<%F^MLQe0P!z/8y%G$G~Eݷ~q1 m"GD gcuELT! ZHȓ±?:CjeSS4) LT ӡe, eEW$|Rq,e Y!\P=aWPkƄ[4BHk=Thrk;x f9!#ov @t0Tۈ87p  je[2h/#`$fYz>kvw6'0[4;vXXn2Lf xq603؛95G$(>`)6RH8I (hR2l^Ep؜p B F;A&Gr I;@;}ލU.=r5Ie3:eB"-S!WD@L43; qԲg$7f$^!JA&0z=Cs3y"G=h&F Rﲙ=N>8)G C,gqu eD³V r=ڿc?MWPhYFnGo/&`9١$ygkA?lON( hE0cI!֎1b%f&]8wHNp]eQ"D xV&!G7cF?; ݄Rq'&o=F;(>+ A2!t&Ȥ5  ֵgvba0 OXA$F-4Ș9Q9WTs|%^:NkiM.qT>.ဴP1#b88IOĎLG'f 䱉A.q&*^@Lv>Ճ#5hcT39bEHdyeB(ڳ 1uA+n~wh9Ќ㾰'+ c2Dpvt$&蠭)qVL\ oFH n3h8/#Cish#! ">VdpdIfN 6Ra#CiZ!. q"l098U:X!Rrk2x;ن/4Ą #,E 1&k4 넉xhA.@8 "%/:@[u?U9EN\Ԃ!d" KE0لʨ0+jP >-6j oD&"蝰v…0a'/HS #A:Gg3+_H0S&F"^ѴfլgTA2[2 .h Du(# #ƹʙ_q?x7P0O5; AWZfn3fx""OO8YI?+y8!UQjɌͣ8Xr-=9#µP 9ǙvlTt3s\IHO@IY#`m:u9(wUTTZ+PFD$5bHq##Qsf"Œ"&/1J0 0|B"#u̮f{qAkU`I0aB~+nYS=qU`DHP@_L`X*H\?9<t&Ц)ʸUsg>J!%M 癊  e@H鄸L؁H;iF-HW&xLvP> sUըt{>bIDJd@==i]nXTsu#Py!Hu1dI c~@ aJFAhmN7g$j%(0F- _܆ ⢒Q-4(feb p ٖ 0=&$"9Ndߪ {;(͆ysU MC(M!GnHе3n6x50vtkw~m/τoFPA`G% V|gSF"&qEN&ڳc)F*̣ɮN'ɪzY]4%B;#@n7i1\X q,nO4dv"nI*1[ 'N3qх 0w8,F6UՀ`$n%mʮ 0Pޓ=WWZb~9\ XkNoXyI_,XD>GyvwBi`I3N[Kpj;2:63:}TfN_@lh Y FkDX`+qT +k :"M^\nkN`Z(?ŧ:$0\J Oylاo- gd)!G3?$#YrEÀq}4X(d@+Ok&ng"@/`<*fU9)isf ,8-*K(Xd 4+!b Pƭzrs9fGa%V:QHύeYL`Gz0Oǘ9aAƴ.&`چ({ 6gEsl>vv*$cЩ@pnSl`B)/ɾ(IPه}kG$ Xls䶁h ; 1,""p9DCD3_rTJ t"7bJK}q/Ŕ89a2uk519"`2QH~i7|% .RW2&[r"ԭ%Qw-Qny&D)j:qi(#,8œ(=Hy/P@Y=SC'h(.8BFbULQ*َG ?;Vp8ixN}c1TL]ahiy,e,!5m-oD6FYj92`̾xF3 +ʑLŴ0+d IL(e="X pi썆3SC뙕KW‹x,bBbmdYVz`aEpeZXq (BZDWׂ.` 2K 4K١cuOCú ;Ʃ4(aI%V/FYl0Z+Pd%:&K:PcE*gl`B`cy һ?(f͐M~oFh^X(lv0Dk@_В|q3ٌq?"&٪TT<$#}UEAE 2, |veEvHC7a \Mu ^{A|?8?xɳgRJwPUIr׃0}//.#OO/oǣO6=vm _}w8;~jr}|}yb׏Vo˓ozg/O?'%~~._W|r~<8~FKFsۏŗ绻n/]ߪ7|6g%u%9=9yv?ģcWYzfU>r|ۛ3]eke\/G=^hڋ~-?l [7+u4qox;_^l..m./o_כ 6^C{4~r]wƷ1k{e_\ut2=-qGCyGO1~֑{o=]G?>7c1?O'_d>c?/~ο>?O/?Yox98:=Y`yȝY.=p=OzSz?:9xQ'~::ꭋ..\l~O~x+jzk^/~F?ojGu׿n5V>쳏n0z'//|5˘ŧ;t([zE\{I$Hkfuݵ{O?ǿ)gڍpc𗺷O~ϗxV/p|tpqF/7ݷ|q?7g_ke\RhI(OQi}dMΟϔwx`,T [f39OJo'2 \)?4ّeAPid^ȃAgLDR˃L d!zW.4HE '-BȮH8 4q4 dHwl=+\ƃ6 rz Fob6x2zCLіL  Xb Ra xBB L i0(\_B&{^6A֚ @K g#7q1 2z Rwi烜˃AAʠ xg@Rds tw =H?@HPuw>h@pF[) Ȑ) VC^y rkiQy2ȼR.6 ~ 2XaS$,V`0rAW q"2kB6 p 29ANA j#(b2tDffp0!& RhAx dAh RPn ta>Ae nA`bu`13(N@G]A?G(۹%1RHdzq*0bbeF,%cd[ wӔ]<)T8]fx *t,R37PUƪ)L*mps9y$*G-YU9rtf i/rq W^“VUG p><4iWߛ M!{NM&Fb 4&9hpJdWhB6aF[Im B&sDM F^Ȧ]5cUɘd& UhY]DR]Tju)"73GBp:s<| eI:\,:UEǴ|StDu.UBPM. E. ">Or]{ A&5]䅤%wߧt&ϊg߁俱_[.}٭k__|;=F;޺rzWO6ON6ݏxyէriu]G;>x{䍻Y޸p;'gʝEw}ypT,#ѓqqۑQsN;ڧ=Tpj<;|{{O/b.WKc>eE[lMoM[wƧQy֘;X?ݻ(v۟]9j|ӏoj흟>uӣGkǛgNH!xAON/ק㗯70;>y4=\|x8ˏEOW~{ۺ>ѣ7zvw}ˣˣU{Y9F+o<|q~ͯ?ſh8ܝ wU&wzv/y=L׍gvr}6G'?^]{g6!v z9|y^Vv!wa1ǟ&|L/'ORAh:ݨ^Y$!Hڗ;fJ''ڔ\==7NfM<-31b[z5{%Wg/OF|/7'> 4L:jݵG p߿}PQDx/X_b?ÿoеbk qq}Fxdsx4>dԍO_^ ^bbsBW<^urǧǻ뺶99'=?qߊկolb|syy7~<'T񌎏8y~}SO7 (h@#I,w޾箇@>z(=h+Sȷnַd¯?m8~'?n D~#)39!>9zXSώt%~PgxiF:ٿWGOKu>daHjcB_ vfԔ lU3=.?]|O/o|ytz>{^H{Oےc_ywnm5<ꕾjU'^_ ɳ/b(X88iâ7;`$<8?/(rf.փ=.xq|BYj !xpyRO_ڴreR\W][q8cY侕B:5V2G.8NǡD `޾rOǙ׺޻Lw.|øzw}W'48z;Wݽwq pgq;&vj uܤzይE_v#a2ƣ/O_yw0 aډ\IZ2/>Z߿홷7w{3'䵕/V>^@dq.)oz2-7}pm7w${o.KO{[ӳ+ZϏ !^ѣ0_ݐnnu7-zޮk~~A>^wF#cw7~ :5u>xcD .WܫuO~}{?ڛe{=ܪ,톰tv:>\P>O|-gKtJ_oWm7Oe92b3ߏW QzrUpU:bW# ڭDubj㋐@7y/"ɷܿ7iBngC` _?q!͌8]De4'_/6{ڳͥygϯW"E3?jT|~p15 b؋rzG&)d$?~{>lZh;8s*Wu7BYd ]?|nI_o|q LA[LK?y3YZ?~um'ʍ=v-ܹ5Pn<̉'28a)W{owe?fͿoP_ASֿeg_]xQ !Ϗ pW[O"?nN=&iaoGA}Jcj76Qʙ@ 5ɝ9 {$~P<AB:IAq;Ev !(%;wܠtAA?b==u؁+b !ȡ1(Ma<za%\E{ !i'mP܇Q\4!(jBP؄ |A2G!/c4Ut'-|An_) H@DH98nݭUE.oz_kn+_u~cZAAAAWԫ7R]WnN~<{rV8kiLC#db)%'h@B!?.ֈ QU",>"~=9))X Y&ۨ"AbO>)"5'(pPZà?AnAaɧZ$(sP0E+&UihZçsqVM$(_͸ސƵ9Kt!tc}o,1:u {\✐ioZA^ɣA>gVZDQ1)[ۑGxdo<#{.o <#1ȍ#GV>I{کs[:ɯ Qui]t|j) lcFG;*AC|MHqJǾ%P2ꍽutyEda(Qb45h҉%Dj@R@_ˣi7V(DVਖ਼ tྟZQㄾ!y Kg A&@&D Apƻ.+ E*A[-DldF/ZQ@LK3Ғ!+ C&wgy,B6Fp [bq`Tb{3)043!cmA" @ԋd\s92FljnphII7ڬD]R*&FS41c>ۈF$ JOHMmsEoˉ(:?\L=I;i1R UU΁n؉Mzp?VCpPF0ZcQ909UkTXIue*ˉ\]!lKA [aTВdIoK75NW~hBb3ov0$De< d33=ЩX"3V/HҤ@ItRr{ 4H.VF_0W4.1dօ1bM Ai]|LA-aY]9DKV[`ęLfL(MWYƚJd "\U,Cd(*Ҝ&:V=RIas9PF Ws8@vj]Uz"JcG"&]Ȫ,e+T< c^+_VGߨLPt@S@tcF=̆Q@+dskQԈ(fS=evS `-:5q7L)qֺlTZ .(p lmU܄;6O;}B Z$QI@EuyVu'ξպtFqbSKK^>-#]ESbR :ho&vSެtyn~Yg2#ے?;Zh-Wg4Jy|8OJ9@W< $+94~s cI 3%_ x։&6(u,*mPÉ5[O?,7PlAAy?P^fc')ȭz7!NKIl"c B% YoH=QyuQT~ b,Qˌ%rle,CWo}$$1Y7A%SF /^ aDI&Y(B*|%HS7NQ&]Z!LQ2Dhf3څuE5֌^pF18#4d+GNǥt/E!Iy!ԈpXYnF%VҢbiHZG45!h&.eU_Ub ψDMKNuP!qbIBNpE9TA͈GcyEPtKa3-0dNux'.2ۣīMH9`ͱ-%m<<x~hCXmQ@!bW݆D (f~ȥƁoV&tSgI(e\%+2 9@溤%/-.X_(֛?dy=yQv~_*(؛g &KW J<$XF,DWqA] c7>J kZsFwmfb;, RTJ-p2>ENۂɣ\xp\xm}N'#\5;mƾ2ۢQ>2(oc@NR֡Μ'v͌]<3[,M+鏔ö睥l y,2,=M n뫒UϒO 67x @#<#?Ir(c4(-}5=/ыGqɕV?iΏDH94idQO֤Ct(1J"'gcy32$&D Ăΰ~ 7z Ve(=-wo!Cd( ooqH'R$Σ͒TiB`g$?Ԟmǀp#L0íU bU1ˢ3 -N3s͝Դn {2+~n1<Ѐoui"lo}p|ZNN@!YHA*wiToȩV]X&"XRLhRBh^L ^<,B W aɜZd0&Ѐ Iɚ#*! fc+DwLIkM` <|<R6R:x4Jmyp6<9P=:O+8 %C"A8^fzW<5NT1Sh<4E͙ƨv،.]oqy7n/\ %[dm@oBI;]C FH{.Z.y YZ4 _V'#܈)&-Ց훀cj$[hŒdLޙ܂$@,~*in3ĘZ4 +*[&U/7.=q?aOɛا(k\n>5fjx'~ٙ6j-6$1H0D @$NzU)>~O/24XHK¶&ғ,v=T$s2# x c &qTbjK VU< ؍3823g*]AL. h%*|Q*TL d> cNVeTĀUyTvd8/EM.$ ZYxyb*8GԫC4@6NA-IxjmϧdL:b1ż"yH^eAG}O6Whj6 7x$A[j;Jhs^MI>)˺T?04X[K]-ʴa'1u@JvVr=JoN2+%/uo*/ĞJe޲}YUyxc֯4>oEt?F cA8$禛Hdp2G,QѽvpT9o.. }U2┠x%Arm`H h ?G=0"  JB 'PʡxC8 (媘 2"K\̅Կ8yF:eWwIX4C\M pͺ̅5X+xzuٽod9P{OSn/RL!a)4"h ,[8ߊ:rŀVT̝c>@F` MÎa=[%+A쏌$4Y .5QjZ 0,a#KQk4⑱Hg+g Hwg|?N@J r2㟐˰6HgV$eϛɨFq\vKIA,E*g 9,OX 2L&却pKcsC8WK_Y"Jk 7qLWr"<05ǣ86nhpuSI5|!y+qG<:lnWTFރK|B&>rXֻTDs\/ D+k3'v!>0?WB(i)bju3:V>:29[I-"PAvs c۽3}NtZKݿE 8SfBY)%͚V"J3{ SRǚ@,DyrᖳlvI)r!71>V@aT(`-0$'uk6I;@WWvvkHuTԺ)^%B%Yq|#0Q D\%@=O,%ԑ( S<ƞgTD Aa FcoW\,Mt*鄨Jkę3yF$tL,N4#g i@fhNom:g~ !e[g}4t(wU, 0ij& ż Ok`޿@ N,*kXb̑hY @P>X/JzY+4T &۶0Y,dt6m:S}ft}yQx*1D 捛9Mm#OboɞKo.Y ;ɓ p!6ɑO8P Q pfbѩx)ͰƹQ#gPHԸLf^Y[@p%C٨mo%lo켘^Ct7eѕ'x7hur\ap3x.q~[- dc$vrMGR_9)@ ` ҄1@'Mģ(%kGT,,-.C l@}&Wݜu2{sPv\eTU!gɩ%vԜe4!_fMDϡ| d1Uf$ڬÁn7G [>L9Rҗ.4u֘``*wLWۓaIfq ` :c6(Ǝ^Vp<0|^0 sG ’)ݏ#>tHiGt5 Dsi(n$6J!O5f?I ]O!#,ff5!oO,r@(ٯo, r" X]* ^ mf/m8஫+yz% Cc8ԙ=hYqvR?߳QQـwkx,U[ƒṅhbqm%:U@LpqS*{Hw]$xd]Sql=p PUG_ `Yl Jl` PUn9+eAG Ίy(AR(.ʘvJHeu*s`G@|+I*Rx3-5f(hkOd$X\F  K-%VEqlpkA_!Y0c/*N/rń@08Ţi Pe;([^'K '\YɱծVIU09Ȏ"-,)f@R ঋDҴxjQ-U@dyx{Y :Z&.H>rh(  $bDI10-EnqEE|<%9yGFDa/oE%#`궿 i^,@9t~p$l8M|V͙C  ς[ Ţ P;b,4(}k+As(Z\_$pĈXMU-,|ej:l;]/PHauX;I+0dT["ͮÅQ` wk^y@a׀KO4 r8 Ȭfw$p#ֿYG絚bhXb0&87OSX3mI;X- l^R.0@rIh؋Nǔt|t6s(EjO JK <V&$fZ0sYIx"?AW*?@i4{c':Sy88m?x; !cBpեOh ĦUo8" G/R T(ݨ DWuM)6(zEbctDH0jL.^\}c8%M|(زŐYkߐ$۞2[G̸&򛬆32"Ę)|Ӣˁ0b0рl<1ıoտ5I&:Խ8\lu7ÐAA D/::9g* q')/KNupq'O[ .`C"K4=b+Y/ԕ'RonBZ}ȆؘƪGqlD#+6r@HF?bTR|^ %zRӀء Wf4fr =)| IKIࢗM9q*hv N9T?@d,,W4qS"j>o--HP24<i`^D#k/HCՃqd ҋ[%t?qA+tJQ9[a فXPFx2S3.O{,%*fCzɔUgJh.&9ϳ&qUa=a3&`hl51\J5֥.wŰy\*HkR@m;uMfJ8HqxdY˦G n3[6ǜOL6NIzAFEG<4T<ٌ3Ohˑ\V𼵿fTATL-9|Ӈ3 ^$DPϻ&pu7`,H`tȹ=sn#[KQ#BcoTv &4!R'j%شURTՠBX[V ˾Q(C^p?:*Ew SNJ ˪Ȓ5luB_1JEV犌Y1+jp^;i,}GN& 'T[ {Px\`zwGg`dT-xљv KWrcB i^:sE1 Q:oNϝ6VW C(1IL x!:^ƺzB#ܰZ%D'ʎ&0C *J,l7!FB1MV$8q+t!qIM5M"=pkѷӿȫ_`K !Ʈֈ\jB ?J3wMY9_ 1˩JZʲxqOb wd)W4T86`Y l7@&u D4yaF%ք 5' ePH؊YVhG&gk" *F'ʶHB"}V06yYrH$braY5:G4Bٙˀ{*ά.QD80tlč/DX8IڮF@*/qGswx ʅ[4)MDH&BPV)ށ9`*&k2Ӑ1:~L>e/./ E0:ib'ւssv+L*jETź &ЈK05Y'4 9G>*vX,cTc\yS 1"FVȊeb W+( {V BTXv+/-٣2ȉN2awk p^ &@"+diZ^ȋyJRL2-2LD6A`fDewnKOpsgp2zĈZžox1 D4|kQ,Ň$łM\@o!:$<*,p)|Yz7T*ⶠdHS= H84?4 B qLcE*tjrZ%^BuDЪ+o L% "`QlUțZ]af#{**RӦa%pcq1@GV$:Rh5q"#yRqJpl57Jy!|c]&n1 ?Y 'lG96_Vڑ F}&ui:[vva(:1B4tԟn`zr ~Flד+KF#jQ% hL b6Z-< *ZqmyJr;|!2L-M|u]{V&\H(}E#;^}Eiij*%D8DH[CmHs-`ny- W<:T sq!Jo`K$[$`ãgQI%QGwpR$P\ +2Т3'{&$71sbi9Dbbh\$@d 8()nn^0Ч`n[Fםa) Vcu-̾2c.fo&nWu+$a\пo[yITnyB 3$i&qKaRpmx|~Hf'|Vɡ jvPܼ@Q2I. jUZKÅiq6>0Yf]ZÒgB\zM’-9;Pt)[9_QUh&`3 ѮalV)0,zMBܲrg̢3F?si%o1Oas5BI`]5 6p,\}ŗ1Zq&j0H@pɖ2^Џ%"wg#a`Vh4.Q{DrK jɜ#nWwH.1e5œu}jYNVzp(g$ &L/]WPV<vj&6#I*qP#}5HV.;;X@)DlMЊ~_nhl_<-B֩{8u V#ް6ZVx`!z5$Dאלpx{%ak?/)P& kIC#b 0.enHu(S"/= $.5`ȥ)sd`I"5 mAL$VQ\_%%|G3$B$-(Qu@Xg^095*۳x / $1؛2Cc$x; 4y-7CpiQI8dFmXڥdCӸZ|#!2Ƃ nd VGm?$@`/IѐOHIAV70 fu\1*qMLm0\0$'aϭ&aͻoz"ai%Y pYp0n&,ܱu2NLyN8 k!4hw{S+E2urї7CqڅwA1- ݕ`zҗH`Wv#ۥ&AL0Go@! ;Q`mT&pW GLYeM3rI%nx f0zKb ⏫q®]"{]jQI$Qkxq oNbbw+Lb՜f-k>?[eDtwBkCÐ:[C؞:rU7f[|GP T1|VZsbW6nXH s#"5B-`x[c2! p{& ku&Hp- Ge S 5YHHdp QzL"@>c R G/ QcWJ -mbw%E :Aڪ k"/xVѓ)f Q#|DLAog݉hvM 0۽%=ʋۗ cUH:s2G(o!JD/nYAȡ-o<᳻#S?F}@,^Ѡl>0*Xj!7p-cRt HH\!:jj>d&įw%4Fg߹WP.ubo3a*Z`Ixa@9Xɞ!W)}BA >FV2 dӍbG{L)z@u]b-b! i㎢"v72:BAcJ $v Nq({5;"VD^5$LWz iGQ".{bE'd y^>eI4+=EЭluG9ѡ pdJdgP=r7Fr)h{rT?X,߱I g<%#C4'#v~ L6_!&]}yi]@$(h$M{nn%/:&`F(Ս9u 򋊵hzLhܟĒc`/Z'X' ] G@T62'@ώUA뒱 =P9sul8!RxxP'Ř@Ax32Q]vqO 4;"s흱&7 e\Á;8"W#ɼ}tY(RuS?2o,_$w$e$oc$@$e$F$8a$F2i.ȫ9#=Ͼ]E/s.]~<\ώsWyLg_2M#2l\!_#HHH&HVH8HHHLH^*F/H0SEyO.vgK.jG<=eW!ak[%yD*I3 Gi23GL"%GdnZf8e(WjQ.#b2'Bu:'e]d:n]"j^ Pdw{Oًw5.NF]xD.̂/Вaɶ+pD> CF5]l%}\t;_E%= +00Ns?V*`u#A"!p""g#>Ws|m#.LoNx`J{t[w\h%3FS$R5i˟񭏘"Z+V$y$eK՗%R"(AxucԠ2 <*0 +^ِaEIG/>*w]F… M$N<uiq> -f_a2`tFgKkLUƬ2f?A bܼuρ q,Kp8$#8yTY $:sʊ&JdZy899jvWgH)UfK."Y'Ph]!QNJ!@{ YcA { VhlwK7jї,QsSRUυOofF1 .lY#B;d$-9'CLHd{h1$VggZL33UQ>5>Z9ī?Wf$ZKnC\[ 4Ʋ#G4\M;+m%^!c$JTfQeďOq+8@̘e$2 M*Se ͚_\횴eQ8>) wd_NU:]#Z")"`*}Xnn^j2[\.Vu0]ƾۓ$G*a镕Tr&3t K!:vz{bd KO|bYǩ!3(Pt\)32 MrԒDzD*Jˑ{.^wSƞ"OKFho~A^cB^vIyY3HIB-1 D^)fƒUAӺ'y^^{//O7\l.JInS΂vI{yqyp>y~zzM}_?|YVW..=}ٍkы߹[WN+1G/~O?{w>O?_}Ojmvro}xzrqV][8zrt[GOw<8zvyrw4h]o._'7:5~z[ﺵ>tڃ[{f}|3g4s~gG}ӧp|8y>=9柞~Ƚk8ۜ͋{9?:8>Ә~mo\8ۜ-MC}3\~T./_-WT-V,߯}|mᜍ_4~9z4=\}辍O￿F?zw=|. plzw'cy]i>^oN\M̲.ǂ?s}sK}URQٝQ6.~c ~O~`9szqzZoO_|/KanzG7gJ編X(1_߼9??9fұ DDMNnR4|y|4.A<`|ͳ/36OGSqjo[bzt1>\}N<\/B}~P]n,D,[d/w]6riT[z/kXFo"-w/zl5OJ^_]>÷ {}lE[,wmSsp_Szo~_w#"qRx&+'Gώ.=&BtJM=dߛ,f'ѣqL)O8>{4oxtFFϗFo7jxdYGޘ^ٶo3cc<꣯u6ج9;˻C$l!O%MΏ=6GCf_V$f$/q'2Yb_ݦDGC+I~hӃ JW4j<}($ ~Itɠ03Nu O\^yo|ne>-{3wydM1P~dd_n_?[W2-:}Kg)-!p2̢ºmWw'מp|zl}1s?Թ= |7ݾɵ;?[$7?>=J5~R\nlrz5v.dY֩Vի\Փ XobnzWQC|Gc_9lc};I[{*jys_^%{0揗ON_}*oa]G%}Lʞދ {{kgt\L7r\\<\~rZy}i@Zvm:$qdҠ4W$Z,w|i kV훯皷^جw$vo%I|{ f8/tc_\<;zr}lZ 'ol"$\{-tc &M w=(bῄ_:|~9x Վ+߭;'؜ۆt:~ `{IDaU~ddw_l]z|@_ǟ.\8R[=hO^c*Aw+aux=k_J'$O~*?Nטx~[?y oC|7[e~7?dPoW 㣓> IKl?</[nҙzPPq?>7. ^us B'ݟ׾!©Y{>ǟ6gw<=z2!ٴWLS%i݂ѝ `}wbz-~O~1䂞WՓ-cu|sv|p8Vx+svC=f5|3߫~ ;Qi~}^Gn}~?ǿ7fbm?[zq[m|qG[] (ۿ72_;_.]:q/^1ՕQS!J%L:Ԑ+ ӗ'.0g}<ZOq ƻlο<8^qzddW{z9t47'ݗWT;z64ZCy1A=pą Fp]$z͋}~?Je[_}k-_]7}atu`oX&7E`/0F_IR#>I5ut;:_,iEՍ<_:Fo2>=֐ &i!wnH˝Wc7tOao= [EBgc6gW!6?;y՝{ g}*wn|WwxćFHWa"e6?^Eߥp5{Wwv?ɾ~M}?҂sZ5aq>C;9~W--&S{&dв~d5(Moo(^~nozh2}X"lp6heyql͜ 2r.r2V/4PKQD2:ݻ8;8ܬ:}yD^Nm}tgE0~жGF7ysb#;e~v~3Ēڣ(3Q?duT5}v4?Zc<Ie^u-$P}!]~ykwyq܆Ry^B=bxjBؽo~?3O<@~'__wݦx\mDɸJqѵ?YOW^\HW7ne&IȊFV_tlਯὛ ĕzow^oz]t78^_m-]v ?xN}'@T|6_1`}so{Dob?D}A[assChwҘ+‡ |oy4qnG?{/>7?gӧ~3O ݅\77 MMztƳVhxg 7m_|l3~xtG}u{I:wFk͓1*ݿn-t"n}2'ԮM̙{g+O"Q"ӧoͅw_:]=7:8;:yz*+=vÕV#ˣcnPD"}c]Uv~fg/iEp8ಣr0NZDm"}UٖB.lbwi /Mߏhv"rv=AbM xU䦼-[nP$+{s5\+V?ߜov L'Ez|rOx(nM=ǍyϮC%,fu&]q7C# ur_NG盗 /GcH)qCkH̽'5 ?拭XaBL5>[Sg!l怜i!4nx|A7|MGϞcG0C:"c\ vz[ɎO_=&rFTt,9=}9\dyr+Lvd/={Cfcp/=`;#)}Y-j'ܬOCOcv>f~O}׬O#lu;X[H3hhX?<2a`W\@~xĵ+7)гwZ-//kcnf͡•+Ei6P /{(V~vŲEt' s~;nmo|t< #wDL3aR&CXlg'ApŚ_׭hB{_~xڜ߹wwx;JTJVwn#o*3ك~_O>{3:Ai8]Ψz,nӚ+gfb_zj~ I1_vkۧw@|W47gWxxE#{2s%jFw׻!niB-ݹ#8>]sG|몯- cؿ:#$Nl)f3?d-Lœ0] 뿬A.Ⓗ]_gi^={`^Χ_7|jXJ5]ױZyM>L )z.b~[⽵kc[Ka].v}[+ֵ_=~KĔ!{Wi׮~~k/ l) u{ ʜJ9 ^gBO姟_Oaz%(|=ɓ;ws~ve2w_O~V{\id: Ve}]'z2Kvk [foT{Sﯩw|W?{oq-үh( @]ճ(2C#2'9U@AEG5ڵ=+ :k?E[Uäz]Ox ǘKRƼn6nOVBGχx~W&ЩLp& K6,a kX~ Vx$jX†ïƒJ9^8Pօ_=x;"/հ DlbK2]xЋ'5Lmo!6=Aؤ>Y lXR}8#]?W<ڋ4J@ z<׃>: 0?X6A/^ <H.1}]pNsUGH\' (]^0GZ\UL"uz}4wi #=hPr-nw2`%- #|LqxqħO,Yh *bB۞*v]1uEWn`I,/|9>j#>NoW]=˺4Λ]$eg($Y]@IZ'4ZUEt$v$gxHt9Su7Fz[ jniPE+nU)(*_p W8NN&;.z1=q&%h:#OHyb* 9~&,wrSIOLጟQ4y:'hz*_X :i5mHa̎cOȓQܰ؏Eo^Γ O֯ X2p>Ju_ZI~Z@ȽlMSt/2E /mzEeY?9!Y+YR`t]na"oܢ#V -wj&iAPX^m2Iu/u K/x ,5R=˧w`4.d*^eP^,l 20lfA[*bG֟KxQ9x "!*&/B)= }ligvV5&ZJ^6 nĶa d*}]zysL-v24?tqYeng[. 1 ;rD!h_\j'22zڮ<ٳwL|,,ŹifFCc pR_,.%;z05ݫ˒ĥiu|EMoꔭu(~l2]jAT¯4CP{oB3M^IVN^?N>Q,01 U+:N ƚ]]=q]ɚL8-ɲ97s6W/@Ma0'1Lp\Q {jb kN ^eM",Jgesf'(K5I/ ސ&SXnycf l~".W@ahX֖rg󕲏aEWZoV6&M=|IOPZ,ur@пdF[}| 5CwR;ЈQg]1ddNnM~PL;d&8[T^;g=IZ&f,=M ?$ܧ1=U;8d>@J))O<}gK*vRԠHΩ\(gJjx,˜u&DNzfyl]uJVԹaJFSlp<\;RH0JccG .O WM (jz^̍xȎ Ze QK#R߾u/3%(G捔_Ch~=uO5[,^/8ujW#AzvT+%8-ݜ&>5.^_(Zk_Wף:Fd2ɜU!*J$<ߘq~@3B3W$I2SnRZ[7 @vXbOhGp"R5(9OibE"!DAGW]P/0`s2+*k jxĝ(ϪYDnwy!w%_nrnhEr1d@u8)oNf5ƥ^1;ϏoM~-3n#ͦ8yÙ*w^]L=q8 WJ '.͜UV9dV/W?'<-(v]u[IʑBQCfq&Q-ߗ(,Ahr17CiHq3THvG0o; ?:c> ۦo z٥_ғ_꒦+`2tD=5'I€__©{OCc^V(in8mK8ᤆO,eD9xMQ)PY;|K:'+R C5eɑG{%.1ڜE)4V_T{޳2D3;&~0.//*]i[2$% }@fMLJgWs .elhװ*VqjlykÆb |3?d2а(h6<=O uò/F)JlC`N\v%[vB53S/ïڝ ?kZach OHh1"}U+7Z-Ft;!eʿSeiQ%MCOֿߞTY+lqF_ js3ú-ѧzT6ⴾ1Wo1-37GŤĪES)8]]fwO`^??ԓ;-HݍKb9 햖{bge>JAPɀeř+䠠1)`Rgf᫷#CTI4L'@xu٥Awj Stht_sqqt,f i=*wcRsU]V*3Îj(Ӑk# l/42ŠԽ0.CվŅRKi,Xښ[L$anRC4ցvay#ٸmIJvUH6cgj a ]/,-;~6Ⴑ,)yiT\QWaf宎ꮠ"6f4:V,`-S 9lL f]%N F?zw_qST_OxOG/w, U-JFv@Y&QwZ ѱMhKm* T9NC1Y8i/c2kRIY3+JǕY@B6?{_} 9dٙ09᠅%TO3k^ϗ볛4GҰ .`# i}X/g2Jf5zᝬXaET:,l.'/ɦQWR8w1N?{8ԆlRlTL?VXUr'Խ\@_#S q |5L!rE2#G*$)nXhK___ #n.DF>w}~oϥ}]&e^.~-y~c0<}1Vo5Im*>>>̎ д41ݽϽ7Hp7w0>z? +bW*MUTnT*d?`LPwD<8=>&C|vq`٠z(#x\1c軟 "D/iUX'Qdg7r>rH|>]!$/\;ӋԢ(Kt'P=Yxu=XԦ _&k: 6+4ՅRW)]=)1:H>&cGgcY~xݶ.CV,1E6R ut6Fo;%W*t(&[1)T*lWɺ!"rچ'}y.Ydy59.Ey.RLP"g`n `z AY*LWL.)B8.gP8I>gLu%{`ZӑguC3$ǔeр<`ml97 %Ո8C{wɑkCjzخ"(݇!>YL(#bPV`qD#.Q5 Ma! s7ͳu1Aoi^8wc͛$eƬ:_W#31yPy)ǣ ף,=)a.J0շպXh X_HE'aO9PmTUYh]p4~Uzahl^G< ܼĿ􋡝QR!(EJ]H~ո78eSYNft$j1}x®oTq>kYD)Dְ"#/@[+uˆ ]jinڟFuk<?^ifPa#Au.u眯ɓXZG%zZʆw Ou{Vuu8UؼҔA^%fM{B/a߿~Մ[0p,oJϠjHz_䶡bkN7:Q83<"4qXŕ蘫GP 3z =]%5GyLArGYl=O?bp;(,̣.ut:u.Ҳ):`dwɃS+\ޠK|r u9`%LSV^/81~Ȏaf 5ݣ^ID`KĉKљ 6l/ILÃb2 IJcDEO~Uk9Sx#5MIYu^ ט>dq}(lM69,c%Kq-@z}F!}lŒiI7֍MSɗht,FNb Z`+1v1wf5( :xV8j" ,=3ca/ыr8?ޜ< pH<v)8g˫KjA5 ZVPeV%F[[r8dbJZN_9N̈|NS~1GVȐDs_"/+d:#gʵգ)|n=+j@i~>UdUcgf7=Ňߚ>jVnasVK"b@:-|HW7cIVwooējsS2s:NӠkX^vjQ:CCqN]g@sW4o?>e! D8KD[`6".DAi-"{Y< i,3YyY@-0CN@˹d30PQXr&kܨ[_ips/ȅo@F/V1^C *>XΧS6I F_9o=91]W r=nlG} ww䤠/ ?K ۪C@.u,5g ܐh<}/ߥhI(w7$JbRdEϟVt>n\yRp38ˏQau)14#JPK$?'мDT98/ vz]W9eN˼Eπx3Uň(Edx/e-~-2/pGjukNy"f<:݆Q:rﻵ癆аUKwXV1LM *iTq@J},QXv㖟*tx#I}Q83Ufڼ}vK2tp5hK]/'ͳ,E]fcɊus#\ 9m5gKM:mM+Eð1M[1% \/[ȇˎ2;f]Orwr.ҰP:I2ʗ&?ѼtbLÇ|IE1G:.ɸ)ȥ_ict{EZXYAPd3i*t$ez"%7i8 Wl#&xgYa>6Uqr:=- ]\dTUٰ*H\&%QɤUA^gW>U"]Դ&|.2/(YQ9qEXJ3ؚ\e/k$`Em r_RN,:e;4}Z yQV'AH,͔~DC,>/nX<l0hpK "(Xy4eFt ~ UcQɏ_`hUd@ɺ.`xMK!&U*h>fhTc*7.EЬ5՚ޡy 4_*[ڡJZ&}eR!&%6'[΢=;=L (uӓSrZ: ~4|!Q`dj J] w6.hZ~|oz[SFe\8-Į,<7^k^Qᩦ댳Yhyix'.Ixƽ]JH:X/]Ӎ_vM! j1nX=^+™-mW0.G-iHG{R.3{E`|zz𻷯{F76rLjC^+nOPt.hCS)N*϶s'#GjNZ,Rxr鼭O9]Mnmv;Ucq3;M w+eN^XMY/{/(hT.pm53,LeEk{3QMa5M/W,^/j/aYJY3ל,bT-~X$Zk@CmG?JHOFҕ]=nvXE]4}ka WP_LQ15=?Jv?ٲdsEw{/듉C)ԎYb;1ptVDō4rOfڿ+~21Bc,ϑlrVݐ}>[o9})j͠7r0ec\O", RiYeXu|s,En>6.Yv+=' bC QVKpp(/:Ad "C+zUD" FR{z >/2 47x?6,)s܎l ؒlm^'qiY6Cذ%,cgv֒R# ,`!7K k@4S4.2mv`lq/-UTc |;j1]SP|Ũ|'O<jpZ x|͚h<+_u_#ZmGsJɤݖ5M͸f o:-R77XRUi/a1Jovnf9$@(l227XfUU>pƴ K^7)*ךzWwS2k\PfmFk5/dvS@-OaUSd6˜#pԿ20TuFe]d6Z!έ ZkRYsBfa\ &lk6ct?\q͊3|1ɚCHal8S>7Ε2F3|u»dFޟtk MW)5(#hs%C`^h898v %C;¥{ CDnfDj5|}]_(펢`h[iR/<=v3tjPz=@f:_6jbA ] xZ9թ, H,^ˊ f߯v9?8+ я:??VtZ}lz-d\kɈ8ç:9Tre 1=#{%!PEcCwMF#Q2OdO;=gJǗ#Y#,bcRwF aoGpl?KG>9L$l? nDVlL)WB װnu`%)z琌,1J W:J* Ik@0skpҌN3c+^wtNlrP<_f`%dXͷFuKvh_cd-ӆ}d]M׷ ?owuч_wJp({tp*ZRhis>EU˲'FrP"{s 6o}l8HS3,V@w&JiÏ^bj!'ZB!'d8qXԺƳd,sr<]XrXs0t nہ>:%]%,ɂ$03dS>@<3i2 "NƘ/=F(|0Ԉ=KNnVg ?Xƣ=|\]a$`tN"6O&묓F"S' opzV>ۢS @s+N,ӱP;纶ځ Fn,+p8&2ܒ-]:uf%DrB'I #j% .ܺ{V.a4co[ 8u|:.痵CfGJXPTqM`)I7E+&A OUl3UQk|R r.bsPHv#bX)BRdi 6&a`<5AA QT2ռj.1%($bB UWЁㅀ~ ^7;nd8+mι}P"ϱHRXMtJ' -繁 B<]GIZj}GaQ{І f|K \ϋt`d@t(FhxDC 3x p;þBtHOB% ô[zrjST e > v8hʃDjϤ@ux (Zڮg@2V͝a@ōPD! (82ʆjR`51. w@t]a0Pd~)u]<}BѿNgO^@o2Ӛj071l[57pC>[0!|!Wyz49 [b;әL1-R;M}Z#i^byhDˁp;[G'Qx6!IdƍZ.@Sכw5*`^7]^\Wl`(E.06ceZ P!)cI gBu$MΨEYU֨c]xw^_y{?_{A.vqJtwVR¯>pͤ9S#lp:X&_}kеCyJۺke9;C>u|aR^qy@9Be2iSU cUCzQM_sGt69zo3_^S/@66.1C[VS{4xDl∤ii=Z745M ?t:NQCHnZQ.v2`3e\OB}F|/pt2ڢ͚ o{R/v\*Cv+AK]O4 Љ$Q(GɮmS5/8h*cCc }QCzsC)]I˸'\!}D0Eh|y9-:0_ymϑHIsč%<>ԂI@ rG޶J9߳C #x -iJ5lZ2!+w?%$ v10Yhn/6tX(ZXCy[rdhX-{#\65)l+u? +~抟g/>RlL ӠP#  K0maKRd%|;h`b@@ mዀiB iќ֑lW麡X')`S{@\ 6g4^D0KS/hh"`.9a\`g 'L\v(f-' r!P!溞' (@JҢH+MfK`xQmF H a"0х4 kyJhyfd0uǃ&V F.. Ak9/*t/ѱ/@ r󆆄{aE$E =iHm\Sω"@4KR@uўWa(`}8# H&B?# t (ќcäl;r/\D`ȧĶZϼ4<xQy C!}hw{rS=\I=(K86Kp0K[Rį?> OH82+?s S~{e9C GCOk7I ]K媆RW1փ O_b_sCO j{iJ$#hٲhӃ㿃4W!tH*eFQ'r,B/(`vtn@?ǫW[ܿK ?bk|``H.Yq?s/WHP' pqў~/ }_@qybj#t*gpŸC怕sv?kASHxϽ?!v_Peh7bѣ4Gx#RC<_#x^)Bz60`z:LyOӫK=5r'$?XkYo6{zևڊ 6l/!,^p:(:8zOpޘ ʠ&zZ=4A_kX8^HTdY _1=R(2%.7@WgH5 @/KL7pq5KL ?NRu^ڟMD߷ٮPSwQn;|6ÀP0W@nav6"J^7w=JO 'l5j欎~̦h秘Y~ݜo2Մu3gL._P?|uG.,$Lĩj)>NkM]T40<@ZL^H7@woSzUb4v<I&E L"v㿵߂ocb[oߓu)=|H)U 58 %YL8ߧ|S5,#Y"xElhmQwzZfgp6z9ǜ #oX T)Tq-z")'r$ES4*~ !A ?BJ0FD^l5׍aHxV!&S|CMa6AɚX( :IF䜍Dgw\_dV"mBZ&0eEۛȏB(d˖{a/–RJ6D(lc2v *4w=s'nk"? G t%0O3 2Q2lKe>:~VA9FuP+c SOshX#YSW I[= Rt|_]Q`6LS]lyi>!Q Ct!rlP'1ɓ[5),ꆜzL)'7gߦ{&VFз,ԯrգw{w'4U/O=mܩ;a Tr$t{_Wz2j6C 1t}礈QoxtR¡CmTysz;Zps 8`qvT@ @n{ѻ*Ѐr*BSLԳ?SC@@EחJ{ TyE9ғ1#͎bv-GEEu&4O kxX3:b6I&nIV|-QJd`4X4Q<+T5DZP9H3́녎M{y Zc<-L$An<H dͱG(` Q@)g"M2Ѳ4:b_j޼iu"jgY'hq6 Om6xrʗ(Ϩ<%MhqmDQqtТ0v;ά}HJV t48≪qѽPR(9v2h4'ImSߕ}^ Gsv52Mqp G4&ꕇeniqQQíM=kI.oE'2JSOf\ŤVu.GŢ8 +P <`==kү8EuZ6kQ@rVR8<#mzpkLvECԕ䛱.͵F{BB|2PDUUq]:CGs/#ѯ<t8ߋ~o7n6 C@O{t6ŖCQڒ}bG;r5gPx#pP|`&d}6Kt\rpS4`-u7?X(w6h|a xsy5]OɐUZxy~̒`j]Ӣ*N>/xCǥͯ MNSc%W WGݪc;v~qר'MkTbg060n̖"(oJ{3K\OhHrdb9  l¿Y|ikS,/EX&O@뛝0c9i::M+H_Z,0][eT[himLw(Y 8=p|q%+5H'og 4obf }^+kl!_3jQ,zDF4ϳx.8SPČD>>3X7ϪAd%*/@~ F؉5>`J;/G&2[Zl:hړLk]QOQ%{0?RfGebL<_H.˜ho*b(J o~3 ~joڲ٭ndɨ%˩ zd O]eF^9Tu"rON/9[E'\?vXוМw1fm+n]nO@34nG'C|J{\чnETubS DoXx\#t~HuzHRNG!7{1(4 yv-E'X9~wXWϭ}G(mI5Ojĝú}t`ɰhm!hTa4fϷKt~7r~ӻnӕ)j]F%z(vh/ 671t Cַ8F۷e4i]oǒGյîiVASѠ v^7 ʿe|m8^f2ryb{Nxv`{(AZġ#؅]Bʠqzg;1-}ˠπ >0vaKHm?@Gﺾp;)ѥuem \$n]'{^aI%Q&vp9x}߉{InS @#1ģ4~txAhnq u;~} &#-=Gߋx`3Lloҍ}mg4d^ԥwZ#qƫ6,p3a>20F.4q@AƂa`EL{@#aV5ry0ہm%Xu;1_AH# :n35w<.2K;myGvAݎCm+bJJcz "W1W7cNQ9>p^qiS0,mb d o'^Vuhs;pH9]68l ƍ]fwaK=6CÖq J }^#ɶ!`qAx{] /0Q'A>Ifюs0f2td'Px*!s2{4piT>u1n={3IJuϨ~L14@,xuڰDL#?h絻' V1x-Nvs >l;,jD]ɔǜ$tz(PXo3E{3E!b6@ʎ07m͔ۡ+rS&(!nC)?8 9o?ޗY^iN㓠ىˆw|[ݾ H'No-\/0B!Th KmQHy-q 2=8 S"gXF;t<V1L][2+1?\*yc^i@= hS8%eOﰔ#dLagbXmwڂ#ף5@Ǧ 0: ńώ {<6B^)G\7TT\d͎,EFŪ$@DCs XfLAF7WcW&~<ٶA3eu,'X_}%n`KSL@A`6էh-# |l.~شC{K} x2?-mJ:@czt0P@+^67v`hq3jcbXɶBVF{ǫڏ{$?1mGJF,qb ?"Vbd:1p -%v_VQL1놰=:t5\2'կNR=`KY r0(1ժ/Y @mvX"޵X <l^Wx rC V(ځš^&܎)R^7}İ @qg=nwTVt!n_]ُX?vzmV{6PcELOLBі,z]  yT}YGԲa^kw;ΎF, cX|NCrL;AznJ2/ԮڌkB5cEʵTBWn#xu;TEyYuyvAgݪߖB~邢.p7~CPS^u\/dŎ|)t6AGwԱheQM=WsW6UUqW4G:^$èl[G=|E[ZÈs"GY)}$0ЬQ' ȹxh'll ԬCHX2ֻc " Ys}5uZYnVc*]c)zD1(,ߍe2h,;v?zK~;dI+v 0Bi0zn̴I1b_t *t=ula+~j$X؞Tg{"cw1Uѫ+C4@aj2t}|l AySrv;~y]Ok ;)%Nۗ?]% :#Aa)@bͿC8@5cİQpc*aH?hA4 yπig 82/+i0 PF} !)'=>s4% $X#qqY#f+MS<%򁎚Ӫͬ4[9vP\Dʋ|PW/i"qa(xsU*Q`nS bJ<-Ӓ! QB:Is!2oU-@(P=7 rPUB(L!+P@O`q`@!"0WV$BJYU>i"&M//tNILC:(k @׭緍MK|8h Mc֘|(OIqѸl|,mc|S11Cv1>G7"G^gRGY%F@蛡,a':P02!J,k2ye׭/vE]W |{~ ck`Ru?=K|g]G,wD|I~]E+ Z/SMպv ZhfΎ k=Ag8B5'kkw@O;4I|?+ckݪI^LVkapG4jɍq(u#88Vgu}|JU[4^o1iPLH mM)4_C?)W-R _Z34`E[FhBǔX]O3FGqcK/s埍1o"n/-+:?%R=ުMo6H@S&f ??e{ "" ѝ0So[Mk~ 9zk̋7 N>6$yiB [h6Ҵ>hW0ݽȡ`4B*Ƥ2cuy:KSQ_Ӌև77/`A7l$I֜_#WW|$l˱C+;@CD$/p(̪n4.)ZD :2UDUΟuP; NwsE(b1lic{5BC:AD6CD/ e\Vtbvr{3Y]>SZ+#> +Lt6^:/-fw5EEg+#so攴xړ49$ ( F;y}z1NZggy#gwMX̣}5byvz?H ? Dۃˠ4L¹sja%QQ ]޲ ?~(p_\1CO!! 4keaE{c<7WPkY;LO֌ݫi2q5SBK1r5aG.6"&q~APoϒ`I(0z~=9x.t@4 1Bٌ`%48αNwA\(PJ5E{wLH|R=_ 1Yy={[HW #" C%jծ1rBѾox"7"1S}蛟9s"ABY³"[H0D1dko՜7zS!y7UF*sI>Oyp[J.mo,R/*t3P TFXI^2SMr~AQ *dAL VEuRIfQb!2N\Jq-2,Q\{p8~8,[e[zߵ:ll0ޢS. 2vg袥)!5-icA.k I:TDnLv]cX'-c²sfQ>57k 5ӆ:o!ߵwy]x8iZKʹT1 }"g+ݓ̀qNdZʳ^&P'DLVb  qIk<!!f{"ϔ xeH5)q, }O.7dž*e9iG5 #=4t05Qi@RFf3iɻwcBW`rG^a ;|3yq !gJ{!z}RQy<581kQyǨn7ۺg†) Xg-V 3TUՠ;>qNVh}UT׍2N5QȣŪ:D}~Z b青q'`j0A 𑤴TYY;XI #pu W6[0,i,2jt91Kz'-|}UHTY Uj嗰>V B0R.D.:*Ԑ-~HJF%VK\L.q#%ZC~=͔&<[G%l- m- ,X ⱦdSE^%Sly YYo~#Qa_}S`*@Ae/@Ãj  p #閊I 4襇]0be|"z[fTqJuS]~8hXaE<~B h1’=YruF:D(ƾQrVQaǯ$rLY^mf:'-O>yǏuecwG/<)w ܖ~sA׎%i?BX#@|3ƜAktCUyRcKkKs5IX9OFǰf+eF-O|FtpK!5"-*)ezR VШGK5ɰ'gm7)IOx4Q' l%`qu bfR?Ab1kVl^Cg=?>)x3iHz]GS^^׉NO1鸏";I4l0'%(YVRLvFtFvc~iB.#BWHr<%W$g!Dpg7cj 0O':fq>3`H%W /YJ2WW)fl6٘a$*m[@0F;ĉWr ,8~TOهnS 7C-A^jx7oII&T5Fj@6'أb6p*b!>-1w+dsڊ) &Ym(ai&Û oZzi,bQ= T~?:=ТM7LBI*'vvt|Zas5eP#!L9;pۆ˘w N[2x~G>!-7VC!\]VX,V݇1ZւϟG o'k?L8lŃfar H.66Ri:桚.:.\7WyͶ8IȑD+quE7)ggKF-^; b`jv[Pd99Zɽtb.z\tZEe0wK!a`tl\Cuud[n2w,wsЅI'aywvg\a$AϺjB^S$Al#XyFz3Xb>u45\9BG/jc ~da0 k1~" 7^ğY7VRa#bdn&I+ϋO<|mU roƒiy6U#|؂sdZ%X,C1:,Yr:N6ZϹ4-)BTb4gMY)ji**M!:τ MU(*DNR<| OUB&"# yߦn.3 Ey*7)ʹOpgyύF@0˺E7 &tPCѴѨ=a1m:,oF o| D,:HrcE& |Hy5yڲgT8īGM=AEUѫWC^[NGa-|?LK<% ^9θsB`JRhwظc<hcr eLYj8ͼJX4!*%gJ@סq8UF#}cD҄% 3y1~N8H) 7@0Z 1b1:䬰%5:̙C$wgj-(p3g,E ɧ[FP>:4k?=4j\`ncEV[7.ŷ)8 vYgaaZ!Goa>jh_jD A~ V{-zo:5,o`u%nR55'0NDѝ/ʝ`9BMrw,u+ԥCE ,Ioi-Ĩz39uqƯ12zU39Gᛋ^UP#rhRa,xۼOGsfx!uĪlŧp«#ߧCAb[ :LqE'xqoQut8 G4|542]+YRiN9#X>0;8=/ʼnwiM)2܂'/W f:Al}/YspR1*)}[^l is&^MA0t+)Flٷ ) hz)aPyIDL dw(GNJH N1B h=BJiKyڛA}o u(At\L%x4@Ҡ$21кy5mvv]#9%-KrhkЮv)$?+dl<@:t@s- hJ"h:$z|qq!t"M^44'c \}dۋ4W RXVB vW>m}?^5jn)Hww4=3"--F~fvm_L:RNXg~m"<="R c >j4nP%C[h?X:B2;6*)XpkA|ΦHWPόUi hvuEm_˯~j < nğ-g AK{G?: !F3C LڴB&F?,:;or 7K̃≹Eò֯G/+J ~;篠}D7f}NQLcY^ʖW>\ F ʬKWrge"HL75Ⰹ'a?(߿3-W:(c rp&W[+L3YW ⿓2,,0qߨswEy`TO1!,G#t0KyHw"p@ z?NCM%oUhۮ&B$aBYpdbYf,>DL q/?Gzc>B*6yeM'8۫'wOua{P68H -A2QfJzVT|XKd7'9}xm:wYP@< KHI䇗eDԓQ"" K $Ftu{S"^DdP@%5G]ĀeLiD۷{v[qMĘ^m+ipؠh !oHrE.\! Wqq1٠O䴳ۣ?~|P{ SCW6t܀V{̓l}BJNpSLex*]#(q׸<(yP!Q>j8:Gxfdkwu(91.b+ZFÓd0ʱ")Ii4]lQERɳѠВ8ͳ;<m0m(@LJqN 4+qvYZB!0}d٣ h|87{Wܶ߿֧@9)"91@ly׺T)qfS=b-Eed?v$R%rХAp_40]N1(zr5 D+/\^/0y V0׸ 3;tr3_ tOYKʚ GܹnwZs{WMgbkk=V'eBTlkc?ͤbqwA;YT_mTYҍB\3oif Uθ Y nlL2ϣAT&ӥ{8Ul9#'HS>40N˼w6sNq*À)g\^nM2)0U>K)C? h;=.MjHX uVcVi"|M=QX&O5Hв+]ҭra!OMY2{FyF1TsbK`<@_CEc E\PJ S .*#6!pIg\rGAl VCV‘L%n8/6$%610Yֻ)*/xN/qq ##Q֌\@ |db.CJp<_sQ̹` H :?Qa.g,]A]`ԟP.Eێk!g-pQs9.9,s!Э.Գ#38-DJsf'<[Hh +rioHnp^lC/>[ w`q'c^P:mk\/IM(/Uv", ̢ ~K9Q_lh^KE?t[֖ayuTp͊/(k߫3d=ixä8&UIҁGW{$i)܈ B@`0V6 tL}Sl:պT 2 'tDԀp6jӢFd%Ci C3e!Fi۠ḱTb 701ՉA@!pT $&fi\["j. \(%u#Nt}EPʕ_;p#Fud *nD:tbm#EDc{eGAby,H7p>щ0b1 "2Bg6_6hw)]~Ỷ̀3\{ @!L=5y6\'4 z~iY)`fs=`dS c?'Ϸ;$Kc Dų+A9<&M KC)n:ϸp'|L2CL4=x %K n DWbƁ(((ࢬA.q ۹z.C۾"#J΄*=DD$86v -vd7=q`Mc`(#İ n#AvW:0@u‡4 ANRO"rx<Pj^e3AE0b< |*'r=3 Je0`C0gOSvT ^0=yv")2 -l~ F WvyNQ)fU嚮|dn.Xg,&]k*DD aX] E%ć44DjĆ$3N9PW~9\OVO`CcwC߮=s(2;C!tDKa]8tч$VZN" 5 iE)RMyq;nWd@=sQ)_+qS /^ {YtXy:IX8e4ܒV{̿=X%kוyG寥?]iP߀+?Sl /(TϽj=𰷩t} S4p/O>ҽ?m;,P Z!&H}鈏(q#?zo۰zb۠z_k Qa]4z^GlOEl ]l `WSA_<~Z/]<I[ql6hV" XV 8] |nM+6]`Wh 0&OH/j??nM؆W?F@kbJb|Y뤾/66Uu6+/FDx$Ϛm:ފxi?o6hl7ZpoVȿ~_?+'O̮"~~[YV1qHF"n6_ RF,$xp}?U%߭&rv b)26S_A[Ǎ?Z/woTTxojo6NVWh߅8mmPxU-Wɿ Z/@?vZ+Л >|F? 66>/6xt;<Y~'`#Oد{y㦵7M6W7dјOKYmPWſ1,BW % 5fq۠z_];l;UcA㏍ ho^#O_}7XOk>7 z7 xYoAߌ:AV˿?sR Rڼro:d6|;g͑w\ {X ͬ3:;V|(bnu]n >XoOC6?2Z?^FN[0gàLQ>Ma`o&ѼkyuWp1f~ g8N|b]aZ]r #Ɓ l8SPƵ7 alE_ۙ7Aך&Tg~rX|臘L ηp$@"$kMooM{Y;IA$n1df> όekouVYϘ-^|2]ԢP=W9V%,@n~dZfs2[/r]_05DVlfY[7Znq_0fПS/AA扙2ѮoJ*:y+#W#:50@u^1nA>o?Faϳad-u?{?w[ygT͒@rz8hX2}C8 AӽNT^_< ; Jw ;ٷhLrml ǵt w "''.']BvD,JMݧ3]W*n+&\:*Q8tKȂs0^Diod*eJPͪp(t2)>(، B\*)?89G6eD g}Be3ptZ.=|r8Bs,_9&_IBc/ Jtm¨ $_f4S]E\ '\ p8$K0?=t^#q`Lj  \iBB~^sC K 33ޙ th@Lޡ..h-VZ[H+ؽ]yr^gPϋEw^ΓQ nCnH8\@m.ַ8"Cpj ({c'ZnCFkm 8ҥN_Ô6Ztua:?0幭!dh=I4m\1&A c mvlĴGd ~c'ZtZ5}uSBSt'v1`NO үhˮho0++V1 ]482b%z _тu^RL"*%޽."뛴^VL ¯p8 KQ'0>v^]?P |qpw?%X۠x8geV7C0̺ᇷt2m{}rr}_f?K[]#%QAK*Уt8ib1Fmcۮ )ϔ觛ܞӷmN >o=ZdV$3}AEiCǰղRZG5<ԆWS- SeWHD?;zs~8gR{."* >ݤf@X8h p/ DXut>y_ӟsI΢H$KZ`_&ԏS.\?n$,'o?:o~=} Y(}-(֙JR|de7F9sj"=$ ܬb=.Iv*\e'} @oɎT=]=)ڳ=aRetehxak{%jo۠|gw{zŷ54 sqi7z=,0MG֗1&A%Tx?_b"]&XzsDw{fP#wx5B.9e<)㫫'O>nm5ûcc6@Ļz󸛺p<=v~'mKYB3-3}w=ښ9ZnGig.#6TF>Q[9jL'4l.- s4O)ۼ2=/@3O&oYT*iOtn{=(2wa 'X+hqw+Hu-<XK.L@wF uJ z7M܌xpTLvLs~&1V<g3TEZ"2:t' 8>>8RHE)fFP<Ȧ0L8d@dN*=m(Bʘ㲟МD bXLɩĒ9fБYcɌnLϟA^ d]bŊ*IDV X> ء>żcJ02HLUk 7P<3’Op8c#$UE27됣N#)LSmM+wyX̩q>Cq8A|i0Z ]FeKnqN$T0$B)iӉ hE>s6]S1.%_IH#['S0ƌєs$ P(~zIqĈ:qꮊ)IppAqD,sUZ׮S-RhNtWڔRr,cȮ0a$j \OeX*OEe ]IAzCa9>qcû a0@f֍+ȕ8Iԁ:b]axG԰6-\crp0 gRS]lt>>ois'bG6d}4gceiٟO ﷲwJEoo,Y:z̛ Y7)+tgP|Rr] o>?$a|n‚yӅqK[ #|tyfooK7Ͳ0)?lcT_T[Mu\v"k500bмj1ȥ~`XBRƺ[f0>8ܖf dgk4 vu1ߝ5(nbpQ}Xg!@%vFJ+hnEmg^!ޫWQ;bFl4"t)Fk2*StjS@Y)mLw,NWAʖ]J\/i'KaTN oH=x9`NchQ6i[d9)Tv k P[ՠ0v(McN"'9čHt %ThC8:\E 9 hz Ϝh#Z5@KN?3K|&Nre?ʾ'OI YY{~r477ys=sV- JV*Qv4,M"{/KCڝLZqiNOiRŖpV(s нrn<(@! {'+ M}5B-@/pbmw : ;.I.N1APbKaZ^X\NeB?^T\N1v .Jj(} %I-K[ OӞDzn2\m1`9f׶e89HػOD,BjTհk3uYٶa4b Jk -WyF,$H<?kF5;vhq/9qiR EtB1?d?@XxK + ˥d&hAIOdxy:cZ+ԃ1%p/...(2ːZJf%J*)*J~i k^NOTP~>i'SN)`RJBsHP痩m~2__6χ{9%p>b%~-~}Nϔ}3 XZLw|Nu( ~pC[~ !獄uo v7:&o yї.9vݎ~ɒ5ƕ5f2S ,7@G4/_RFK& 싒VQvݑu"<ޞ{߷FN0(w2&Htf>qklTz]bXi󠨟.6*2[C(# +G >-xU321_A&6R#eMjmd֭4;~xgZsBTo 5??A[>_Ƌi`p87y6ûΓmhz95eu>kC}91IywڰPr8I{4LthϵY*31Tq*B"֐2'2Ks+goW`%B/&#JB5OZ)]Csjp?UoTz @SW; ! Td=S|jC(?5H6hk§.K`g ʛ ,ůpDm<_ZyEz y$ՠxM$֮@*Py4ؙ̱uf2aS}9!EB Ouo˾mX$7w%Ml"|q<&RñF \(/7## K$K#p'? ~P/7w%E&8>XHNZ+&S(QЮF+OQ%J Ob ?&#BIk~?G?哟Kt/,b{B0O7_0o ,l4=Kbn҆EWNbLܪtHȪhny.oZcrpB+ p%CB:03HAy,oH VRI5AZ(=(Nl9oS68KpT qأIEyhRKBa2C(bPt65ˆ2NbjxƌmBa .TB4C113\N1@.M-fJqh8M-ʉp;R3*b]d%0J3+S`H#h Lمa ЯZc 9n-縑6(|_羚Miai|y#~yzYX᪗2'KHY];4 /|.PE -;S+pDa.#Y,8y D0arR‹K,֚*K b$g;x> r%)1ccd0PJ0 $y $#1T poeP )('@~+jGg+7TK_TUlU&DL 41U8@Sť*Z|CEg+ $0\Y,`Q+,a`* [b"!-0t(j0™Dzmi5:\qEE(y9Yo3 ;A3$m%a. >@0ALa   gYlw跚PTYG`pCCn,E@(!L@g5M hÌSv)p3Ј0i FHdbF$ԏU,fMԚ`r>)iO$ .נdD(C`A(|#غ*h\ hcG D ʀ6AtCCy)AȂA wT48R c ޷wq#|9gI/?D*")'iFdi~U@wɦ,9I5P* X`C $o,a)7x(IpPa "rU/)1%9K%qMԟ@om[e(ri^+r+}㏬w[Y!+@d\dZX{ۚmnt{ ffq )ooͫMoDbY/6n/9tRDV|u)]Fy E+hxJq۠?Ɩ]ZdzY}C -8?܊tW Ea{`U. @@ICe 4z4ʄ8}E2ƗK&؃4$uK,QEa 4#9V]a+5vyf=duMϤh`Ԯha)]i cnf1>gY!S;6ԮhC)YM*C;i T_nwh2 t݌FuΤ˞6gy wV+YiAo))#||v>^l-l6 ʪH?_08PS!.-6mݠ75^/uϜB&)B\pg߶F oN3plzy=qvB$ gxr=c h<ߵR)5;{7/ ~>g15{t1)~@;Cn|xTRw((!sՠ3c(תDn~Z>ɲtB<|9i!6pVU:6%~%W[,u7WvXg;m[W@26SbU;-^'EĬy@{P|( L&Kx:fU`7Xz^ h/^la*oث;Ғ 3 Qnuڭ`ag|f|:ۼ rRE!U!boݴ߷盛|x^"xcʃFgryAĆ)Y;+xT2 28` Ir:t;MN6LY@ Ăg fp@$]j]GubG6+[+T, W<2wU!6)=(G9- )ޯФ E;({ [\]8]O7ƕrjksOFm.V>eYxؘ+ȯljBڈ#9^mߞyݱStlZ Xl*w&#' Yky?Z??湣K W5^~hOYo}!s':HӐyI-!]J8J7/yn$#-zv9hτ,6>a/YN5V7j42vjzmV7_O[}VZVoٷZjcvy̛6c.)\UPlXFo dΘfo &$A8xUhAC+g~Ⱥ&Ծ=v&bk}Sһʑf`zW7rv9C;u@K$0xʙ?v5 0{=*_Y=5_GC]궛9ѣT\V?\UFԌEU!@I_ۿlS|x8$^$΂L-/-FբzZ ˢ):oK$[3AFSoI1յ t#|5\gzd`ww4n(jj} Vylb]dxgs~<[R$mXA$aXh^ƀB_OԌ&L՜QF5 uHՆWscH4n6Ծ3q]c򺓗Flׂ7_$`T?X1fd'lh{qF+_oo>|{6x=!/9gލ\8,lUܯ:i_!_t"t ܭɞqLIBR29U&= $ߎQ1mEsL\>EZJ#53f5A{y9]uIl['|°[(W?Y+Ok?⩑I4pDŽɺ/\)'aU:>ыUzI؊ ya=ˣD7QoNpwuUʼn"lYSݏ/go ِ}k:" Eg_Sʤvlڹo#u(j?|xNs/kmRqͧ_ߪNկqWn9 UXK~i]8R'oO*9Ƨ^_^#=-t1<5?ul̾i/yp = ߳o>˨!C7X| x0-ctݞ0|_tQnA\'*ѠK2(s#x{SNu7լUBg[-k w_IjӲKL]īu{.DWW4`t=dʱk6doOi KT򒾵` $u56M&\҅u˫*DO/}6}ia o, xə-QY(!rR@u|[K3#͂hzG_7)%ea0s"\%Z L2rC*b wcg8Ŧk>+ʯ\sV"koW+ڂֶ0wixVٓ Ax;Iu֤.q(L7Z|D؝94i(~ W u"O˞|Ka vϬ+k> ;r/nY_^Z_'lb{}Cɘ)N!$8p \oZqJ^&cW7OZXDTQ\D)sݞËO;ggLWrMq^UPlԻ>?)&Yc'?D5/9-֞NݜR<3;tr|ḿ=@n~^C]ߡ1FɄ` ++KƻT>Z=Ϋ90qkY]Dկ!ZQlIrHp^)^U-ˤb4GRd+(5/nҷwҸFu*pd^q?CaVR-`ڴ][CRo˳!twWo-Y2JFJ ={D0Քn_@6ݓ- ϬQy͖db@ }2R>с[- {?_1,^ g%*d)E[A@U^TÒQ;xMϘXb.]ib˳~gI^e~~RgJ_%橕>pu!;*}z[0<?k~vQ+^%~gp@qոׇ;"X;ٲ O/loo%*~W\J|qn)>v|ϺQ 'Lvdcߪ\ EV^6ܕKX-R%:Ne:I#&RЄ2Q (,&x;__Iy]Vab{C& P֛RI`cM4ax R^-x҇Dz1oj6'~v}~eӋcmW-I {ʒI?\KbBTP1It DㆻVV8vƬFXҒS S>`oib oW}8(3 P@W67[a*< X͂~`mg7Y\epjLnh\ócH\vF_ΦP ʅt_y~hSD {BšfqX)(%2f+EhQZ[N4hpj'a,nҼ2M^H['rTd~b'r7f9zJsZyM>UIRznҊ-} Vw P[[ Ph¤[nf"UeJ[NZ7D'd)+x>mB8^Y6Y?Z L稄~R06gVZVXN 6{wq57'yׯUSʱeb3wB? B(o9[]_7mͅ6fWp6oYtxct2î.@+ v׍Va: dlxhex2F|G0i΢M:UdWN҉>wcAܮ{R;cVĐalߔg$E+,ܟyeU_LU^xln&R!&C4ZBAٕ9 ^pBS>+h.-T,4("JE-!(xuw:ԁDIJ^#LHVF $hi()bebLS ݋Ia04!DQN8ًej-vT$5F it ;$tEIX@Ǒ2(v "sًTv%o0[@aNm@ȴĽ4uvEj0 p$q+$2 6h3b0 1$c Dq@fmp̞vľ`h4oh%#cBEL;Ͻ]RrWvBGi8F": $t&tTLޙjUidO3))A0IvV{v&M[bD` h 3IĢm,2GBZUva;;ɮޗv$mHi26p2 G=KͲ- J &CQ&*=ٍt8{&N40!8ZVTG3;)H?X M71NLZ,ȝ}=M-1YTI"@eCdTgagGw#ːI7vFhIC$CU.KYHUw'&CH#SpVTR!tvb 'x,Lb?.Ւ\XAG 8N1 RHT Xj9: ޞBR" SB@ɂ$;i>`ܕ!IˏSǏi; 16+0Rq/2:S`IQ/X&P VbF5; IXq T*i" f!]X0rGtcY@5c(4N ttg1!#2aaaSBL B3j!XJTOSSKGݝΎ,?&dPY*X#FBS@O4@=`:&Le#DigWL*\@?RA*;.XE aA\A)4L#"JmHu0NkFaB0Th\%f* Ք0NDC JW&oGRvwI`Xc60(mI@-,@X9C"GqJЦ QIWn$rZġ&)TZBoiN-N U2+a6vtN>Slb"O0}kxU\v?P4YXԆw޺I<%?Fm ޱhҒ*g,|S-Ѩ\hX=p28KmSߩbjj15BI6Lcx #Wd@3 hf,Y1 |(_,@];r};DoѯOmCNvY3 `V0`_>hv^dOڿol~}Հ s 6xn_*cL_-W_sK+R>"ϨJ%(:4>HjWVdE_3ɨփibM$i0:; [?\C0LBճVOM{Q"eTS=eIk dJ0`8<"/\64dBAWgIlzjkyi0r0PuPOѐk}t2N*Q:8Ůa:ZPm^'a-LҴT^VK>kP(ʤ^२5& @Zٗ}^ş#qwKơg>HҨkX2}s@)8X&T&:TjQnPtRu& Crz@YC:Ғhg]*$Ѩ/aEUZJ*r@贫ߊGɊGyu0rJAFڗaǣ4-XwU瓉 wGV=ɤ0Z? ֪*zurEEVC`"^0v`$ta?DWx ZχH4AcK_ >P Vb9 :VTQ*-y( "xV$-X۹c׹FUC9%CoXno}KqU=:F_P 6{Z}{?z(#8#F썰H#:į=Dx^&Guk#񍙈ok%.2 ߷S"L`%{NO$F2. Bq~R ”NV1G<u~Qenq}@7=B~=.P?dz]e?Dlg/-i8<:?vFCCtz]ty]=;8zAI]{ΎNPSWtNNѣ,Z}½w~u6rWcC)rS<&yL$sd@|Fݲ|:+6%YKQ3rEvSDwRTkҎ?ۄ`wBr2cڑҎܐmuDM?524HhB|vjTgps_,P v% %qxǺaxZT$DOsAP#c tztus ;<8CidPIJT^ JPw#TziG)y7t|=q)PȕmM1 7:M42"AY,$Un# : J)&HG 5ן(x!G:"RrKLCCWsyBa: AJbɋLdҔk$PoJ&Z6Ƒ !I2J+;v% ƬR稄—(*l-H :EN@NQ--6KHH4MhԿDJ|FQ $NS\}HL#iDV:[)+CJ'r$4h%4_$xQgߕ/ք9bK6nC,W=]XgE[:H![mY`DŽc~NEP8 : S`6ؑ+`)pQ K .l`(5HT#(o9A"dm4_D` NO v+0L\yCprAIz-Ȅ(2Q` pd_PVbhB(RҕO: D8@m1\Wėv[9~i6h:@-XK6!I) DJ \ 撔bWQ|&L1%:t $aʹ-8{l/F$%Um2ƄnEPt(@(04@sısxD!4 a&ʹ-& |C)`',ҶicYr ELv1e^Ơy&2wքmBP+}E|xyc;~2Cm0(A{+Rܺ-2?+&nB]#Z8O'DnKS:lʲDH1"ʹC+BXTWg(NNMؔ$SPNh"i+V~S6h1f\R0j,}QO*VX 6 D;|CNExV2a& 1$ V䣌4HW MbńbH G }̋?(Lkq{(NEcVQLV(_gŜAcB*TXC !V(҈𣖉q $"tJ`&RdTR(N $i(aM!TSHSZ!9@)(UuRI㤙(rj=I "^M޵wdO9{flh'ulp,dsҌ#fAؙd>߭T=kcPtt-8Eix >6.1Zi$cO2@7/?b7<$n_g'bhNC,Y amю/Au^֔2CIe*aO+䇜Ȕ&c\ ky=$tB7u-r8͚C)K\$Iǔjix(@y@@LGW<`4iQ/ȌGπ I %c!9G!̕u.Ti1R5vK֣D x)A 5|}@G28R_X:BH 6hzDhs}|>:oʣ! p'$Gר# »  a\: ϓ`B8HCZǰ}ڣhd5eHކpu]4nfAR;PXW88#jjKE&Oڣ}D\ziA Dv.ɸx-3H &DVh=Iĭ-%Et6O\1:`VX׆V*:V\@;Ð(aǐte zO004{Hs#,MRasAf7 !zA;;-X Z>.] Fta&]lIdYdmQ/VUuQmj?-~T[XdiKn,9x~yWrvߐVc:QIhD2"- +tԙ313_XsLL2 eT U1HU Rt Ab*W K1zE89TsP9,:C$Pm3UL6StMf:,}s^O.~T3zeIy8+O{-hJD1[Z$Zܼ >~daXk2x T,\X2S`vvA .VRV [%'Ol%Hӱ}Gkfۼ|^"+GkcA?`r\.$W/ŗ\e5VvIP{KБ}'k=8=g},#& ;[˥,&!RO[71v0;ڣ\F^u= I"kd~^\SOt_*=Z()$:Zŀ@vGY߫[OӘ r:Z4?Tm<]S jQ2W(o[`84;8< vp=jvխuu՝0 &<Ҧ>)<; Kbs`8x.}ف= q]1v^W"vb?Q036Ak> XetD=p Ղ 4n83`1eY0@Tԟqc4_. -UR $/YVje29@+Q3Õqk\i.״i:b>I$;?󉬳!]ZF1Lf`>X5#Ma69-Ld[f@IۅϢXǠ(4yBS'p\ԈgUwd*Ɵ HN&rXB~BXb8ΩtL>iY*ΛQb RbSg1]>IJK^U 8ry#Czbr D8"Dqݍ85-y:KXbJ5"(7 Xo*8  ,YaR#"@fωЈ+qKٚvhx0 ?: NsG$Tip_ a0#RY\Y}e{|ERUx'Yy9 Z2/tDh< GU\r1tBW`6#{8Oz&G`gUH1`Y{Wu*'1Lr x (bAhH%_v#'M,q^E.I%[A3Zk#2Osrd,<Ш 7k`vD3vgI`z1<|aMQtq'b[4 PC($H9&0]\3 f"d6ɒ+r C^Ŗ1ì͚E(-.n{:qxv*JhĈ~gmMYcgwu\bU !@õrnXS 5+]=Eը eMN8+TDN|A6ikohx!}|2KEd;>6oiS^C_{Q6ŗ%Le/&6u! y~?}O1`%jG1pHretmR.THI5wY%/oE䛠L|Pؤ EOGEd(L SRԯfvBNUUQ:1ByyaVpTZ γ8S68iQ~!weEF Lj"l@ X>]E?ݝs]c@ORճCK_ŗ%Le$%8ڼJEI7:ڜm6-i&-94{˔~N$Nh]Лczs=gRVX%wkjʺ_ǪnvȺj5moK~ېZº(ŗ'\%IXT*9j'n:.s%O}DQAs-]՛~# +r,w,7eo/⎅5>O$B7mUMZEs{VQUTܰܰ~nXƪ_~WJ{z̻tzC^i:iJ[R5tϩk!-JNZK[*!U5vkM>]f%ɢ_s's2ؑPܸ9 ]^p˩:3 Rduwn ۑ^q;چz=rрw=h׿7M\c7=|ǙF 3)@ sӮtdaFI.?V);֫[ݥarS]θ 9}U:x3 =9=i(x~BO~nu_iCd-UsҠTƮl]˷@ ;ңlD0aU/%^f/oGne r)⪆ [.]!)<_ޒL\W%6}MMe\&z'` ^M*Pԗ¦")UȖ~όN EQz1B"th6E Gsք7Bs|Jٿr_9"6{J3lIƺ*fVŐE_#(tU'"U_lncx_xLaa{ ¼/h@ʶt>[]K_sjbqFxYԖ. .~/|=l3NX zjw3>Me~j;NP,$l8& ,QL%Oq~oDv/s^\: q|/ROX Z[8[]ڊ/1ӧ(b,~hRjQeOKp,\ےDкnݹްֽ5WSOY?i{tka<8t u WjIkϩwv(zb<=?%|8Bh X<$nuhg8jt1GG`vŧ:GݏB~]R/zN}2Gl֣$̀}z|xQ/o%N9x̫̓h8[rɌLhc0Eh'j4xƴ\Ed4QG$C-WEzHH4\.=F'qZ FPq_kQq 8U{.ڭ[FyAsρoCCZAUx[C k͟{ynݤzI%7C>5?}};5knhmqkunuu[_!d#p1<5&w1_0_$x#yX7[Z[?~>Rc[>DnO-q=(^g|/Q ^3=gȰ_\rAC{cV3&۸V1?w)t廱.G%]A |՜)ZrJ) ^X5J4kQI<[NF4d)Iq*B+NIqCeԄ^(-rܫt_~M)΅n3 uWkIqHlyNhK}vc;.am 3-S_a&%n0Ab'횖S{ڵfzq1Ў![ zIX)u6.7iFXId)󨅸+Ӑ{Z8)f]HJ Mrv#ܬ3ș\f[+Gnm&Vd(ʹjfrGLL⥡\lҚjz%:#J'KQ\sӧ!o[[,M')˾%J\ouHvvƥ̀.+4\|円8Q7rl^RÛ5misHlƏ]Q3ٹxui(8m!)sr.Xc}ϖP'dÊJ+sKݓU܌͙Kk)T)˕]gXJ7s@^LClbvl "ڬZ_d<ŽRr#ftXk&U% 4j*xRU#m&X{V5CԅE~ ӣOÜidWJL{*D2WE6PVP2݆*-=0@7 `nϦcm},9t_a H.Hj*j-%Ǻ( 'dIV!eFWi1xӝ )<㌫p+ YǕ}/D)jd\҃@^D: iXarύJӁ-!mpbyG0 6tt 8ܦj^2qekZHU#0@MuvDb=ɰjs9ՁV$ocU8mDHNKLH򪴧LEA&)2+΁B{OW/RB!Ԣ˃47׍NvF@ů$8m2"ƻM )k|w i ͶbCG:8I?)1y A[ GsD0CMŗ1 xn ;+tsC|ݺ?\~?=ۋݸdicOƳ?ןn~4Iꊷyyiu#?lz|/~a}_O~ ǠfN4O|Og27g"soS/w$Os[j >!ۇ71NWon޼x^խ͛oN ~ $(yw5ؚp97RǐcX]{9?Z|s*ʄy)zy\Vr55ϿJޭt㻛|Wy$sն |wՃGm_nـi?_րA`swo^70@+A㛫߈_@aߜtaO}-^vDn~u>"l~~؏x/@| V;.7oʳϤm?zOh[A(ҝ{˴`Zg8u{{d߭Tdk + sE7&s[nr[1 4Mͤ/-|od*k{i, [Q ˯L&ߊ[ȂBN&[~y0vsZ_x!nsAZJv *fk+maJ3]B>=|8Ȼ#Ӹv$VZfpFL+&Ȼ]v@[k2 7/k,]v-^zsDcVv.b2sf:h݌ U2Dm?,4kڶs2R2qRJAuCZ,d+M):R J.o$hX+}\Լ)PTjIIEƅ8P ⤘`B`~|NTR o؆1F6ay:$GH()EoZ wFIIl{'tҠI{6پv.blZ-.؟cH1I2SȊB /X)&Y%sbfO*)vdz\fk*i$C%H}ъh#VpEB""J J\zE[ȌKMC`ZAWl']WIVHj+ey+ g'=!H4(fϥZb)$0,B$}D`ppWAM=V~٦Z$Z/Z&oܑ&tXj1}ZiزSEp!Ez$%&H#w@bn8 9Ԥe)F6 CՀ:Y׀#'G(V2EͰ>FF=TP2`>0 eCV*b2)jOB:)!x  8ʒbpk:c O2k*PјZ̊ {wHPQ_Nv4GyO5ZR$ştN&x`'[&)1A.5^*Y5N*"G@gM raR|oITk K+ ) N>!(A 4T1;n=Q4Mq 1AwoK+CE(̤!&hÄUI/:)& &|}`W_RLFO"ovJ1f)Z2,`.xPIBZ~=oࢳTXP}dx:vr RLhEO7FM5N0e #CquK\ ".lx\A w@H=TfDcr!Mr%6 #"htjk^ uK}_ z^@׊5o[J!v֚+ iPJi"w5HI kpN*]d LÕ+^pc67IT2Le]* 7@N%)v!8|x0NNb*}^Md˶?Wvݘe cÊԎXnJ1zpR$oz [M7C(:>Yxf꾉}|DHۥ&l p!:_5o# /rtC CE+ZMl7I2\ EM# 󑊕|dķHN)?./74^k#D(_m!\[=UD]uYI@o^:c鿌o4ގPk:15B%^/"^"5SUG@Vj"/ITK#rRIKaeH4>&;\q`n6fj4Пà1PT~hVċ boU#^l u4n?n$fbdGs '(d֮p*v|tt|O=^|UOu'0H&54V|:hb+Ra~; ^Iȓ;`gg|p1ooS( [Y W* $A+q 8y,4Y*[m,ݵ!#sb'}ne(sCZ?>6'r}p;&9M q>@ӝBogT^y-JY=:ڔ/]n(kZʐʧ@`X~h7'OsBӗF鴺i+)vF)w1gh7Rìa&%pqEGdq(w͓T'R9o#/ڗ*ydZ,>p7T;my}rz̖W5eyWMާT~ {j@: ,d#.hG-?*_FENJsHi;~b9A,PrG_U@HyOi$ڗ2\f*o/o^)R'm(tT h7/BU>~;pz=bjuBWYR" ڈʵ]Dʲ뫾+,e *\lXZB̕ Ҫv^Ff()>T}UJW3OD:է L-#3&Xegsd5諬loD7!ۂi (*uemTs ]v+4r::Ȏb\0ܼۘ I*z c|(>.gmC΄+}0?V]j[ZyC rGѰr^x䙓Rv۪i]"qR0&[Q9N6 G1Q˜Vp] _# sLVX3 6$OW.)bƋ{)ywtF>SJԕKd1vuUU]xz }GDZ'a\8D3ǬmS+AH묥\dm[WV:j.&V2Rf(˕N;ٶe +<aQ"i驟tCMqH1gOGv%0W.aǑ)Zk l6F@5Fӂ8G)UB8 9aHz*/b[c r(3'% ,LYKxr>jؗ %h+8*.U?Avk;fͳ@_ԗ0=ż— Y;%90UA;61֫%u86 ~)228y`\KZヷ]eޮ$f?5kE#dHi _.K &e3Ru^\JN_ /鼓0zEqN_Qv_Q0ɥ N[?њ+iBb!i?br#8&5_62+PzÇqn1uJTYs2Omj ?2?ǧ6Rv wS^1I^U= Y87@4rFg8! D}ɇ˦(B7o=lXeAbhS_Toc4_e`^zNAT_CR". >Gq# MR[Ԑ*Ҩ! 2NpɞǬΝ߂,v~qlPE;KF"ph*>\ g"/!X7*HlۊQ}C 'Зt:1#(d|wry 2[uU9N_ 6oRuϑ8CwrSIyF\ 鲑t R?gA(?xs+?|QO@}3>^ϛ?/_gHYF_4+$@??#J[);ݛ2x@w tPDjQR_)^Zr/NS~(s8׏ȷ_}?fWsysʟjх|It`In܆hQ0[lQy[<=ywɄ P Xcs&fFw^DA 4B$ɤr%J~\-YbJ"I&7S%qjYkpѠ:ΒW6&̮+qx{B'zMq!l'W+ -T!7K56&/)ob1QI]p{30jC0{^_s'kB^P-KxH]U/׾X%ۼZNLom񪚦e$lorE0o098>O9Et_'.$Wx]߅CR-ěUru=&0)0jp`,~.[T>Z0|~'φ:űK^wjGxfA1^JmbJ3̲l'VbCQ̻wT،7w~uyI4ȩÝ3_LORqod0$eit/y\(^ ޛºc4N'ePLF〢b8\BAo/^ 렟[ѹ5+ I'HnW5SbguamuЪܡPT.oIBIMSybr#p:;VTxۘly#HC)P!敭rVGgvMȱɳdo.ѡ^^[kܠ|Z;lUBQ\E"'ex'N 7|z6^: 9 ]49]jQwqEDzBs򶡀dquUt0k;YLyA-=8:*.ftSW=:;zSO/dnP LͩPD8 e:&yx|zW ΩEM{şODAA:l7<3mtu=ogG=mNE%d4, ?gӔuesV+FBp[8RT{{<7=@)+*Rǜ嬨5yiע9Ϗ4 O)9XʫRu{OUGsrbZg.2 [N0D9+ygR9НVUU ̊Fgp JXl&n_ӳz,1>h<"f,+G?)`U, YOv4,BXHb'9 kУ*M: ̫8{{?QD1'ʄBߨiK*\'Z{ NqMO.i4jWN~M?0!A9Ezg6~<\?/h{}}bD]?^2v>\c'|Wy8_idb\!G3z< 9*6KP#_Avyhd dYvˢҼ=&˹N[x6 0*v% n}O~L b,Qw@Fn)&nz k$˲A}^Gӫ1S\Q7V j>*M짬O,MZjJ} &CP×uh4 vHƠWdI,/ yyk9BYGm8hXaѢ>5#:l5tJ&S}tGJ϶ 5rK.B"P"#CH&'v&7 >o >CyR"j(Yx1k^]P?dy`(0^zYo}/n׹_݊k5u+ofڞsZLM >S'`kl0{ xd&924awNS\sZ*h^L>uszJW8U88r C1Ы/ojlPx7J8jE9K9TFl`0=;mt9aDN`j]7<w[v[8m&-<v{rә5 9OdES?L%J -Mfp[^9SÕV|)lܯr`3sSNi(  (;;!u)@Lw \*+͂b|Tp{ypF5S0qAYDb6JAjA,A*IM,gVt: G- m|vr\é6գIM!lvur=үqlV'M`oAeFa>b M1 mfk-''.2i6mړdlk`b\\ UR.; KS6sR c(606cp}Ϝv6ƭ(UO.2k3/DGFgwv qϳV[.#9hꥮU1~?%C,NNt1'm{`wa@NTxNgߑIDcx@"UMMSv1G_y}#cq`H3o}H6O q@9v~xAƒQ9}?owrXg ^IIBAu۬9<| 9f]< (D0."Ygwt|tȒX3:As< "1Ÿ<$O㵏|񔘶X1]Z6EN欙6͋rP`$]f"@b6^szp ܗ̴dX'|q/P/Kdf br~ćoY9pwm&z-m^kT+09m%O%~1I4ZiZ͗Q9>>P%R<m~p)@Z)^@>3)( W˥܍jvWeX.bC :DTgdXx=x0t5MU M}7Iv S^d|Ct =51<.{h9K隶lN?T@`Ä34:L.bZ(S1r)W뫿= %$ܜr%:9wg'jJ>7J@rFʾ+wzB95]`=r]ۃ+ꂐ,\>ʦfTD-}PnZv d¥T@'8u9vK& u94nmo/9O\ߴ0Q5B3Kۉ.]1@thyZ2 k}KױXRjp=ܕosVG ^L Psk5SjJ |Eݔڙ߻;sGv헝ўѻ28lQ;QN&;ZGhͺY ,$evg)h7RV{` F%+h[vs( `c2<Nd%ݮVpSSxț7M|ՍZQ;v$Fx+wd?Gl<Xț樹erWRx-kyIޯl|4eƩX":qJ :%-I>^ xdfz~abߧ6Q0Kqt&̫,,s5֍zW%Aj_jP{9cbswX\@le׊<~ݻGe K;Y-/7fxJyPlX+UYRiwj%TjaMVam+{_!_ң_ai&- [X`&X\~HXn o2k_䖿hf׏}m./E۞s-5mV&;6*MCrXE{9%/a1΁ pS*6fUlkv]yl6޲q%f_Y}^RXD-WOt`J19J@0>{4hGh%"` l0Sl0 䫅jag`$O:nm?8S{}\_)Zo*]}Qn}\41&@frVU쟋Zh+aަQS+zS}z\kz>.s@O~y_^u*N{+*>z]3v>czUtB7sX}\1|CyS8S^CK>{Z_ Js]WFƢbkȨsH"8)DLe7 %Bz;^i"ԓljřDD՞DQ*}~Cu2+vnn`ȠK^±uAMөiIJPͮBQvi3ri1a dNxp&Vc'] }\_CKVnjZ kBlPHA++6RK14Ig,=ՑΎěՌx.-ر?B^gm(('jch")h t5/JCe6{~X5Oqq _B 4Bu͕@6b=R8~e.$6D [4JߩTM誖܈ ۷bm&'e(@18ך5Vf_NOO$Lߕ&h(|~գCoE9]FYA`]}jR2';̖+E0j%A(^&%yQ}(UpB2)H{M=MA.ԏM(XïCD;V< z&쁨7Iÿ*mH LlLY_Pjj9.\eYP>XLoDsZh;A Q픋&[PʅL‡fBd ,V`I(du􅡜LtUg|U1$5Və%/QzwNQ-Nd$K6{ Y6es4:KhYqlYӊx"]OKQ R1x`jwWK\],宁f|r[P6$9rf Ļ%7??| <i.<čA|E10 7DyO]T*DP f45`i.W"4ej,WO RD%+r5TJ!K%f]f4&U>H:RJ0 h:LJOxcȫaV3Cr^GǪRHMF2Xٗ`)zB(x]v.vՙlO@|3o.ЬZc5|3ذ =-pje>\bTL)a O% hEc6)=0π=Fhh J[,y(^-'zqwMeg[6WW`(ls{$jj*6_zLR^J>5߼~ªTO߿"C˫$rjՀZ/_ϟFYbsXQnD}T1L0ozyW߿Z,:q!g4n>wfBk-ncHݵdYH\a!Kb≯kRdj8'h;#~w֠5mVGԹn/:,+I;EU[Me@hru-WS2X~B!CyF(A:UcM :@ݨO@F@{E叕xXKr3'X;F+qjGLj"߻~830b@;lk(t8]0pl,FsPRy}k;&n9K vF} n7:6l>@;Ԁ]*"<Uq/Z"$K!.GR=#c0lQ{ւV!I$hbUXB[w1Xo(Op rz 󠩯"NNX㍡I&t6K??/$M__'rg(\{&oR>ᑸavܫ!bg*½tV?6Hҷs̽'xZ':^\-ɲRn(7h/50ڜӕ`bߌ@/n>巒lv (K:2/pԕO’$n3TOIh K`X 7#Svb@qԛS>2sɚzx45^ķwAA#\dăp0HDF!̬,QuV*zcI -Dχ۲B^e=y_a5dsM31@q\ {“A,:PbEJ@;Ձ^X*RH}4E$6wBicRYV!s9ݨyaP=beBm :Х{ (šRJ@ r>T(EnIVMJt>aՈU*S֠x+k^C T-]E 'ZЈ-`P\En0 0_ǫ)&{Ȇe?:ꀰ l%@%=u'|@K)%[Z\J Q%#MzE~#ŕ Q<3T|yh1 k]o4 #3tIEɡ/^x,u4]^ s(XQ f]-,Z J2`Ux:Ӏs,-"W7CDVĠE17\(]TJaps9êgxwI(QމYFc UG!uw: `T uUHR@ s tc5`$lEsHK&gʌ){Mjb[E8mMVzb55>%\|p6'*>TO%k2_"ќLRnq\вpHܛ;( 8Ahͼ[% L rJvP]Q4_^!5 (l Հ__@ ^z'(t'!BPՋ+=BUsmncPKUY /g:HӎU3Z"]pF9==0p0NX*,)fhXpx5 T0S nGчa@^F {!TfkxOՌqEU< JNEPB-:yN)<\ bIƛT8 kl_w]ͮL$eh.#&! 6Jm3֘nDSK$874̘X3B\i%v} "p@GbI Z W6,a*Y+t jbb`Zp d 4ipHJśpJ/а.ދ[]돌#4<@c~lj:gI^{ m-^>R{aagX׍Uݎk&}diuEݑin> ]H7ױ}YK+|1[#DUR(PIv) n 1H߳H؉. {$265netnІ-+4=egLG A<#+I_Pv[`qp$ PÑu>C5$s6$%R_ְt-1#IyD U!(YHujdۈ$PQT%J-hY5X]KQZopZ8r-cuK:7K駟}uu\PNaٓ2iFKPk:UZ_l%1*]40Pn(T=ZTDm$kYtLqsRImM8m>ˣ?)"/ 9{a%B"0o!Vh(A'm?9gK߳4MEs$3:|=ժX!r9>w]ε@; s"_bG~{4%d!f&#znOvWh"gz7{M\ 1SF:սiZa:.(T295Vɴn"ix@pPLjhU Pb8N K?I@jYf"+:4<}eTVu]FkݧD3N;q?g"R,(3l>&}։a"OjS|X|?g1/kߎ.%oN_fc+H}#B}Awqe>S#e̽)%2['y塼[QU|ďډY )C]B3= 'T\]}Z1*[L f]4Pո{Q.&iDqfRuxy(Ac!K$ 4^SٴgTǶWmcC5z/R2x3I._26q㉅Sҭcۇss0TNTIDIz{sG\b5eqf.F4#!gFc$b6|1c&T(+h5­&1ѥ')TJ o-} z;V5Qjl vI<ߖR`OTM*RZψs4.nXyG?5ǑnR" cNWYv,F!lm( JkL@ݠjۂq<(1VofFIsQFޡoi ۆzLDԓ6?|-/״Kt7/EbA<^׌Ab-'q> uL,a @*t'ck脲FtC}G'RWYcmDR)2dJX1>@JBrĤ^IZEfULTHʥ|*nvr?ի< sV)7|v<`Caf) hv_kPT?7<s@r9\,; j7᭸֜>er[!Jn"d\_̮* R͔(dL~hp_iu1: d߉qoGL6 4TeL{m?'xs>"> "N;|T $˰*ήމhhojP&k=f2bknbAXuwZ:d&' v+&Rj7{xoI+ |I5S,ҧB8q4wDjd؎*_l2/t9h߭f;j>bw `JDh9OF z7/ mni-"#^%쐉vG|1cnji%$3?0ǝLE1IωkVPb#<&BNTZ˭5[3C G89|Ha?nmW,"ݳO@έ$)<#(vׄ;٭C>>0 TPSsDz)BOvz7CVsRMqObskЦS?V>b =R9:a6TkI t kQ F;!tHaw 95ϟQ;:`:#†'h N t/󴀑lUȆk9UԜTdK9+rk;keuawv<^-&ǵq@[. I?ϖ"Zq9/HXָW ,Guη&^8B\jJ7=GhL or^'oՑ)~3wyՓHÁȆ /&s=Oe|Ʒp*xi1vWxP d*76byH_LBN*tdj<̠PtO_ >5(k{r H:O4d"YN{9$[EaOqK]x- x9WsmCg} |F\J:C+Ą_o{W,"?0C$mH3?5 +߉轂"ʗC1?7/H:O4dSǧ=So?%OV y1?'K_Hkg(ϛǏ%aDtt M*t`W:b8]Eu0R-[jj53&ӆ/CϬ?%R?\`n|y_c+ I:??Rd(0bmwN?}_gYY?~oEorS`E}YbW1[os)H%i7Go9?VHaN%^'6?w-k R/$)S@Yŋ<G_/\O;?Z |6Wyb.W2śrx2{1Su⽀#ۦ]UjMG\Y<] `q}mv,zPwvOox0ɳZYܔ@2^uˢWRr/"I1K@ҏ 1,tR*&R.tRmm]0QAGRMm- 'c=LeWNpC@ף8Q?<1֪`j`|~k,B @=`NOή3\(OZ& y- ѺR5'~>wGqᙋe Ḛ=X>Hk HJhB/i4DYbH(n&9s{& {1ͳ"ҷ]ă"8$9?Ӎx?1{;ˍwx%#O08߿ȯA4@f;?`DEx>E FhG-(4dkx1O1UgfX$1ax)#A@, "Šb(* i4]&ک`D!x?k`e*$ u bXh0oَ|%=\* z~-43 JT?0%es!jyBg'k- a =Hވ3YOIzX2AΰR,`4rt5 (h5}3yX-\?i {c32;>7˭ w\I+  qI!1z>&$+_w/Eu&3Wiwpyq ~xd|sIpuygvsyi)"࿼ _]UuOr?u:UE%-B>gy?جE$eBmD:SLJ&JHr+VD)p"@ߧ:HUGrq3cʗ=eo|̍FN괘^V0S]vo{aGH>Gϻ;SPpqU9ѫd9t4~t'qJo/h' I%i_Xoyg(9s3 k2S. o4z-f>02qO3 ͘ yp7Oo oUvߏ3`|gk4K3-~/fDz-<[Dڽ˯Qb1?s]EC??%rnmU!?iHVN-M[tō_Z}_ɱ0Io(p-2FިCS[ힻ >䐞#?R}]3ζ2ӑJ6L_m]V-"Pg,> f < 8&uidPx"K^1c'u}LoIzڜL^?D6"#i_uH:Kե_G.H:OJ`:,GwH?CWwxI:O.9{9?oEwgH><@>o!>\}xnnxQD-m7K`vI-̈́i߈Iy?3fE$ Pfi3%xWR/*BsWHJP',I2l/dYN]DJDI'i_m_ڏ9m)tk?`< h ΰAL$K&ޯ4Q"> ˜B`W ^r՛0J9yMb-,+{kwLɹ.BR uIrDcyH^c [N$`تy_E<+itмX4q|6x d9_U+"ii K^[+?tP'I~.>l[$5g>41i/"pad_NڋosXi+"i d_Nڃu09_H;8wܧ</?2{!i/-