1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
|
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
%%Title: refman.dvi
%%CreationDate: Thu Jul 18 23:26:37 2013
%%Pages: 3
%%PageOrder: Ascend
%%Orientation: Landscape
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMTT10 CMBX10 CMSSBX10 CMSY10 CMR10 CMSSI10 CMTI10
%%+ CMMI10 SkakNew-Figurine
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o refman.ps refman.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2013.07.18:2326
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3
def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90
rotate}{show}ifelse}ifelse}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0
N/Ry 0 N/V{}B/RV/v{/Ry X/Rx X V}B statusdict begin/product where{pop
false[(Display)(NeXT)(LaserWriter 16/600)]{A length product length le{A
length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}
forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{
BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat
{BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: pstricks.pro 0 0
% $Id: pstricks.pro 647 2012-02-12 15:03:40Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 1.12, 2012/02/12
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%
%
% Define the follwing gs-functions if not known, eg when using distiller
%
systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
systemdict /.setblendmode known not {/.setblendmode { pop } def } if
systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
%
/tx@Dict 200 dict def % the main PSTricks dictionary
tx@Dict begin
/ADict 25 dict def % The arrow dictionaray
/CM { matrix currentmatrix } bind def
/SLW /setlinewidth load def
/CLW /currentlinewidth load def
/CP /currentpoint load def
/ED { exch def } bind def
/L /lineto load def
/T /translate load def
/TMatrix { } def
/RAngle { 0 } def
/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments
/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
/Div { dup 0 eq { pop } { div } ifelse } def % control the division
/tan { dup cos abs 1.e-10 lt
{ pop 1.e10 } % return 1.e10 as infinit
{ dup sin exch cos div } ifelse % default sin/cos
} def
/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees
/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root
pop pop 0 }{ sqrt exch atan} ifelse } def
/NET { neg exch neg exch T } def % change coordinate system to the negative one
/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter
/Pyth2 { % Pythagoras, xA yA xB yB
3 -1 roll % xA xB yB yA
sub % xA xB yB-yA
3 1 roll % yB-yA xA xB
sub % yB-yA xA-xB
Pyth } def
/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
/Rand { rand 4294967295 div } def % a real random number
%----------------- hv added 20050516 ---------------
/PiDiv2 1.57079632680 def
/Pi 3.14159265359 def
/TwoPi 6.28318530718 def
/Euler 2.71828182846 def
%/e Euler bind def
%
/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
/DegtoRad { Pi mul 180 div } bind def % viceversa
%----------------- hv end---------------------------
/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
%
/PathLength {
flattenpath /z 0 def
{ /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
{ /y ED /x ED PathLength@ }
{}
{ /y y2 def /x x2 def PathLength@ }
/pathforall load stopped { pop pop pop pop } if
z
} def
%
/STP { .996264 dup scale } def % BP/PT scaling
/STV { SDict begin normalscale end STP } def %
%
/DashLine {
dup 0 gt
{ /a .5 def PathLength exch div }
{ pop /a 1 def PathLength } ifelse
/b ED % pattern should fit evenly in b
dup /X ED % pattern array
0 get /y ED % length of first black segment
/z 0 X {add} forall def % length of the full pattern
%% Computation of the scaling factor as described by van Zandt:
b a .5 sub 2 mul y mul sub z Div round
z mul a .5 sub 2 mul y mul add b exch Div
%%%% scaling factor on stack.
/z ED %% now, z is the scaling factor
false % for the length test below
X { z mul } forall X astore %% modification TN 04-08-07
%%% Checking whether at least one dash in X has positive length:
{0 gt or} forall
{ X 1 a sub y mul }
{ [ 1 0 ] 0 }
ifelse
setdash stroke
} def
%
/DotLine {
/b PathLength def
/a ED /z ED /y CLW def
/z y z add def
a 0 gt {
/b b a div def
}{
a 0 eq {
/b b y sub def
}{ a -3 eq {
/b b y add def } if
} ifelse
} ifelse
[ 0 b b z Div round Div dup 0 le { pop 1 } if ]
a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse
setdash 1 setlinecap stroke
} def
%
/SymbolLine { % on stack [ x y x y ...
counttomark % number of elements
2 div cvi /n ED % n pairs
/YA ED /XA ED % the start point
n 1 sub {
/YB ED /XB ED
/XLength XB XA sub def
/YLength YB YA sub def
/PAngle YLength XLength Atan def
/XYLength XLength YLength Pyth def
%% for negative SymStep we calculate the distance
SymStep 0 lt
{ %XYLength SymStep div abs cvi
/nSym SymStep abs cvi def }
{ /nSym XYLength SymStep div cvi def }
ifelse
0.5 setflat
/Shift Symbol stringwidth pop 2 div def
/deltaX XLength nSym div def
/deltaY YLength nSym div def
curveticks
{ XA YA moveto }
{ XA Shift sub YA Shift sub moveto }
ifelse
nSym {
gsave
curveticks
{ PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
currentpoint translate rotAngle rotate
0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
SymbolLinewidth setlinewidth stroke
}
{
rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
Symbol show
}
ifelse
grestore
deltaX deltaY rmoveto
} repeat
/YA YB def /XA XB def
} repeat
curveticks
{ XA YA moveto }
{ XA Shift sub YA Shift sub moveto }
ifelse
gsave
curveticks
{ PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
XA YA translate rotAngle rotate
0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
SymbolLinewidth setlinewidth stroke
}
{
rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
Symbol show
}
ifelse
grestore
pop % delete the mark symbol
} def
%
/LineFill { % hv ------------ patch 7 -------------
gsave
abs /hatchWidthInc ED
abs /hatchSepInc ED
abs CLW add /a ED
a 0 dtransform round exch round exch
2 copy idtransform
exch Atan rotate
idtransform pop /a ED
.25 .25 itransform pathbbox
/y2 ED
a Div ceiling cvi /x2 ED /y1 ED
a Div cvi /x1 ED /y2 y2 y1 sub def
clip
newpath
2 setlinecap
systemdict
/setstrokeadjust known { true setstrokeadjust } if
x2 x1 sub 1 add {
x1 a mul y1 moveto 0 y2 rlineto stroke
/x1 x1 1 add
hatchWidthInc 0 gt { CLW add } if
def
hatchSepInc 0 gt hatchWidthInc 0 gt or {
/a a hatchSepInc add def
CLW hatchWidthInc add SLW
} if
} repeat
grestore
pop pop } def
%
/DotFill {% on stack: dot radius
/dotRadius ED
abs CLW add /a ED
a 0 dtransform round exch round exch
2 copy idtransform
exch Atan rotate
idtransform pop /a ED
.25 .25 itransform
pathbbox % llx lly urx ury of smallest bounding box
/y2 ED /x2 ED /y1 ED /x1 ED
y2 y1 sub a div 2 add cvi /Ny ED
x2 x1 sub a div 2 add cvi /Nx ED
clip
newpath
/yA y1 dotRadius add CLW add def
/xA0 x1 dotRadius add CLW add def
Ny {
/xA xA0 def
Nx {
newpath
xA yA dotRadius 0 360 arc
SolidDot { gsave fill grestore } if
stroke
xA a add /xA ED
} repeat
yA a add /yA ED
} repeat
grestore
} def
%
/PenroseFill {% on stack: scaling factor
dup dup scale
1 exch div round /penroseFactor ED
a 0 dtransform round exch round exch
2 copy idtransform
exch Atan rotate
idtransform pop /a ED
.25 .25 itransform pathbbox
/y2 ED
a Div ceiling cvi /x2 ED /y1 ED
a Div cvi /x1 ED /y2 y2 y1 sub def
clip
newpath
systemdict
/setstrokeadjust known { true setstrokeadjust } if
/I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
{ Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
[0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
mul j l + S rmoveto}F i L j L stroke }F}F}F}F
grestore
pop pop
} def
%
/TruchetFill { % on stack: scaling factor
10 dict begin
dup dup scale
1 exch div round /penroseFactor ED
a 0 dtransform round exch round exch
2 copy idtransform
exch Atan rotate
idtransform pop /a ED
.25 .25 itransform pathbbox
/y2 ED
a Div ceiling cvi /x2 ED /y1 ED
a Div cvi /x1 ED /y2 y2 y1 sub def
clip
newpath
systemdict
/setstrokeadjust known { true setstrokeadjust } if
/ma a neg def
/ha a 2 div def
/mha ha neg def
/tile {
rand dup 2 idiv 2 mul eq { 90 rotate } if
mha mha moveto ha mha lineto
ha ha lineto mha ha lineto
% closepath .1 setlinewidth stroke
contents
} def
/contents{
0 ha moveto ha 0 lineto
0 mha moveto mha 0 lineto
% 1 setlinewidth stroke
} def
/dotiling {
f ma mul a f a mul {
/i exch def
f ma mul a f a mul {
/j exch def
gsave i j translate
tile stroke grestore
} for
} for
} def
%
/f 3 def
5 srand dotiling
end % local user dict
} def
%
/BeginArrow {
ADict begin % hold it local, for end see EndArrow
/@mtrx CM def
gsave
2 copy T
2 index sub neg exch
3 index sub exch Atan
rotate newpath
} def
%
/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict
%
/Arrow {
CLW mul add dup
2 div /w ED
mul dup /h ED
mul /a ED
{ 0 h T 1 -1 scale } if
w neg h moveto
0 0 L w h L w neg a neg rlineto
gsave fill grestore
} def
%
/ArrowD { % the sides are drawn as curves (hv 20071211)
CLW mul add dup
2 div /w ED
mul dup /h ED
mul /Inset ED
{ 0 h T 1 -1 scale } if % changes the direction
% we use y=w/h^2 * x^2 as equation for the control points
% for the coordinates the arrow is seen from top to bottom
% the bottom (tip) is (0;0)
w neg h moveto % lower left of >
w 9 div 4 mul neg h 3 div 2 mul
w 9 div neg h 3 div
0 0 curveto % tip of >
w 9 div h 3 div
w 9 div 4 mul h 3 div 2 mul
w h curveto % upper left of >
w neg Inset neg rlineto % move to x=0 and inset
gsave fill grestore
} def
%
/Tbar {
CLW mul add /z ED
z -2 div CLW 2 div moveto
z 0 rlineto stroke
0 CLW moveto
} def
%
/Bracket {
CLW mul add dup CLW sub 2 div
/x ED mul CLW add /y ED /z CLW 2 div def
x neg y moveto
x neg CLW 2 div L x CLW 2 div L x y L stroke
0 CLW moveto
} def
%
/RoundBracket {
CLW mul add dup 2 div
/x ED mul /y ED /mtrx CM def
0 CLW 2 div T x y mul 0 ne { x y scale } if
1 1 moveto
.85 .5 .35 0 0 0 curveto
-.35 0 -.85 .5 -1 1 curveto
mtrx setmatrix stroke 0 CLW moveto
} def
%
/SD { 0 360 arc fill } def
%
/EndDot { % DS is the dot size
{ /z DS def } { /z 0 def } ifelse % outer or inner dimen
/b ED % the color definition
0 z DS SD
b { 0 z DS CLW sub SD } if
0 DS z add CLW 4 div sub
moveto
} def
%
/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
load } if ] cvx newpath 3 1 roll T exec } def
%
/NArray { % holds the coordinates and on top of stack the showpoints boolean
/showpoints ED
counttomark 2 div dup cvi /n ED % n 2 div on stack
n eq not { exch pop } if % even numbers of points? delete one
] aload /Points ED
showpoints not { Points aload pop } if
% { ] aload /Points ED }
% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol
} def
%
/Line {
NArray n 0 eq not
{ n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def
n { Lineto } repeat
CP 4 2 roll ArrowB L pop pop
} if
} def
%
/LineToYAxis {
/Ox ED % Save the x origin value
NArray % all x-y pairs on stack
n { 2 copy moveto % go to current point
Ox exch Lineto % line to y-axis
pop % delete old x-value
} repeat
} def
%
/LineToXAxis{
/Oy ED % Save the y origin value
NArray % all x-y pairs on stack
n 0 eq not
{ n 1 eq { 0 0 /n 2 def } if
ArrowA
/n n 2 sub def
CP 2 copy moveto pop Oy Lineto
n { 2 copy moveto pop Oy Lineto } repeat
CP
4 2 roll
ArrowB
2 copy moveto pop Oy
L
pop pop } if
} def
%
/Arcto {
/a [ 6 -2 roll ] cvx def
a r
/arcto load stopped { 5 } { 4 } ifelse { pop } repeat
a
} def
%
/CheckClosed {
dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
and { pop pop /n n 1 sub def } if
} def
%
/Polygon {
NArray n 2 eq { 0 0 /n 3 def } if
n 3 lt
{ n { pop pop } repeat }
{ n 3 gt { CheckClosed } if
n 2 mul -2 roll
/y0 ED /x0 ED /y1 ED /x1 ED
x1 y1
/x1 x0 x1 add 2 div def
/y1 y0 y1 add 2 div def
x1 y1 moveto
/n n 2 sub def
n { Lineto } repeat
x1 y1 x0 y0 6 4 roll Lineto
Lineto pop pop closepath } ifelse
} def
%
/SymbolPolygon { % on stack [ x y x y ...
counttomark % number of elements
2 add /m ED
2 copy m 2 roll % copy last two
m 2 div cvi /n ED % n pairs
/YA ED /XA ED % the start point
n 1 sub {
/YB ED /XB ED
/XLength XB XA sub def
/YLength YB YA sub def
/PAngle YLength XLength Atan def
/XYLength XLength YLength Pyth def
/nSym XYLength SymStep Div cvi def
/Shift Symbol stringwidth pop 2 Div def
/deltaX XLength nSym Div def
/deltaY YLength nSym Div def
XA Shift sub YA Shift sub moveto
nSym {
gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
Symbol show
grestore
deltaX deltaY rmoveto
} repeat
% XB Shift sub YB Shift sub moveto Symbol show
/YA YB def /XA XB def
} repeat
pop % delete the mark symbol
} def
%
/Diamond {
/mtrx CM def
T rotate
/h ED
/w ED
dup 0 eq { pop } { CLW mul neg
/d ED
/a w h Atan def
/h d a sin Div h add def
/w d a cos Div w add def } ifelse
mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div
/ArrowA { moveto } def
/ArrowB { } def
false Line
closepath mtrx setmatrix } def
%
/Triangle {
/mtrx CM def
translate
rotate /h ED 2 div /w ED
dup CLW mul /d ED
/h h d w h Atan sin Div sub def
/w w d h w Atan 2 div dup cos exch sin Div mul sub def
mark
0 d w neg d 0 h w d 0 d
/ArrowA { moveto } def
/ArrowB { } def
false
Line
closepath
mtrx
% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
% setmatrix } def
setmatrix pop
} def
% DG/SR modification end
%
/CCA {
/y ED /x ED
2 copy y sub /dy1 ED
x sub /dx1 ED
/l1 dx1 dy1 Pyth def
} def
%
/CC {
/l0 l1 def
/x1 x dx sub def
/y1 y dy sub def
/dx0 dx1 def
/dy0 dy1 def
CCA
/dx dx0 l1 c exp mul dx1 l0 c exp mul add def
/dy dy0 l1 c exp mul dy1 l0 c exp mul add def
/m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def
/x2 x l0 dx mul m mul sub def
/y2 y l0 dy mul m mul sub def
/dx l1 dx mul m mul neg def
/dy l1 dy mul m mul neg def
} def
%
/IC {
/c c 1 add def
c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse
/a a 2 mul 3 div 45 cos b exp div def
CCA
/dx 0 def
/dy 0 def
} def
%
/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
/NC { CC x1 y1 x2 y2 x y curveto } def
/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
/NAC { x2 y2 x y curveto CC x1 y1 } def
/EAC { x2 y2 x y ArrowB curveto pop pop } def
%
/OpenCurve {
NArray n 3 lt
{ n { pop pop } repeat }
{ BOC /n n 3 sub def n { NC } repeat EOC } ifelse
} def
%
/CurvePath {
%% for negative SymStep we calculate the distance
SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
0.5 setflat
flattenpath /z 0 def /z0 0 def
{ /y1 ED /x1 ED /y2 y1 def /x2 x1 def
x1 Shift sub y1 Shift sub moveto
gsave
curveticks
{ x1 y1 translate startAngle rotate
0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
SymbolLinewidth setlinewidth stroke
}
{ startAngle rotate Symbol show }
ifelse
grestore /z0 z def }
{ /y ED /x ED PathLength@ z z0 sub SymStep ge {
x Shift sub y Shift sub moveto
gsave
curveticks
{ y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED
x y translate rotAngle rotate
0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
SymbolLinewidth setlinewidth stroke
}
{
rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
Symbol show
}
ifelse
grestore /z0 z def } if
/yOld y def /xOld x def }
{} %% the lineto part
{ /y y2 def /x x2 def PathLength@
x Shift sub y Shift sub moveto
gsave
curveticks
{ y yOld sub x xOld sub Atan 180 sub /rotAngle ED
x y translate rotAngle rotate
0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
SymbolLinewidth setlinewidth stroke
}
{
x Shift sub y Shift sub moveto
rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
Symbol show
}
ifelse
grestore
}
pathforall
% curveticks
% { gsave
% x y translate rotAngle rotate
% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
% SymbolLinewidth setlinewidth stroke grestore
% } if
z
} def
%
/OpenSymbolCurve {
OpenCurve
0.1 setflat
/Shift Symbol stringwidth pop 2 div def
CurvePath
} def
%
/AltCurve {
{ false NArray n 2 mul 2 roll
[ n 2 mul 3 sub 1 roll ] aload
/Points ED
n 2 mul -2 roll }
{ false NArray } ifelse
n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse
} def
%
/AltOpenSymbolCurve {
AltCurve
0.1 setflat
/Shift Symbol stringwidth pop 2 div def
CurvePath
} def
%
/ClosedCurve {
NArray n 3 lt
{ n { pop pop } repeat }
{ n 3 gt { CheckClosed } if
6 copy n 2 mul 6 add 6 roll
IC CC x y moveto n { NC } repeat
closepath pop pop
} ifelse
} def
%
/ClosedSymbolCurve {
ClosedCurve
0.1 setflat
/Shift Symbol stringwidth pop 2 div def
CurvePath
} def
%
/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def
%
/FontDot {
DS 2 mul dup
matrix scale matrix concatmatrix exch matrix
rotate matrix concatmatrix exch
findfont exch makefont setfont
} def
%
/Rect {
x1 y1 y2 add 2 div moveto
x1 y2 lineto
x2 y2 lineto
x2 y1 lineto
x1 y1 lineto
closepath
} def
%
/OvalFrame {
x1 x2 eq y1 y2 eq or
{ pop pop x1 y1 moveto x2 y2 L }
{ y1 y2 sub abs x1 x2 sub abs 2 copy gt
{ exch pop } { pop } ifelse
2 div exch { dup 3 1 roll mul exch } if
2 copy lt { pop } { exch pop } ifelse
/b ED
x1 y1 y2 add 2 div moveto
x1 y2 x2 y2 b arcto
x2 y2 x2 y1 b arcto
x2 y1 x1 y1 b arcto
x1 y1 x1 y2 b arcto
16 { pop } repeat
closepath
} ifelse
} def
%
/Frame {
CLW mul /a ED
3 -1 roll
2 copy gt { exch } if
a sub /y2 ED
a add /y1 ED
2 copy gt { exch } if
a sub /x2 ED
a add /x1 ED
1 index 0 eq { pop pop Rect } { OvalFrame } ifelse
} def
%
/BezierNArray {
/f ED
counttomark 2 div dup cvi /n ED
n eq not { exch pop } if
n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat
f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse
} def
%
/OpenBezier {
BezierNArray
n 1 eq
{ pop pop }
{ ArrowA n 4 sub 3 idiv
{ 6 2 roll 4 2 roll curveto } repeat
6 2 roll 4 2 roll ArrowB curveto } ifelse
} def
%
/OpenSymbolBezier {
OpenBezier
0.1 setflat
/Shift Symbol stringwidth pop 2 div def
CurvePath
} def
%
/ClosedBezier {
BezierNArray
n 1 eq
{ pop pop }
{ moveto n 1 sub 3 idiv
{ 6 2 roll 4 2 roll curveto } repeat
closepath } ifelse
} def
%
/ClosedSymbolBezier {
/f ED % save showpoints value
2 copy /yEnd ED /xEnd ED
counttomark -2 roll 2 copy /yStart ED /xStart ED
counttomark 2 roll
f
ClosedBezier
0.1 setflat
/Shift Symbol stringwidth pop 2 div def
CurvePath
[ xEnd yEnd xStart yStart SymbolLine
} def
%
/BezierShowPoints {
gsave
Points aload length 2 div cvi /n ED
moveto
n 1 sub { lineto } repeat
CLW 2 div SLW [ 4 4 ] 0 setdash stroke
grestore
} def
%
/Parab {
/y0 ED /x0 ED /y1 ED /x1 ED
/dx x0 x1 sub 3 div def
/dy y0 y1 sub 3 div def
x0 dx sub y0 dy add x1 y1 ArrowA
x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB
curveto
/Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def
} def
%
/Parab1 { % 1 end | 0 SP
/ySP ED /xSP ED /y1 ED /x1 ED
/dx xSP x1 sub 3 div def
/dy ySP y1 sub 3 div def
newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
x1 ySP lineto closepath clip
currentpoint
newpath moveto
xSP dx sub ySP dy add x1 y1 ArrowA
xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
curveto
/Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def
} def
%
/Grid {
newpath
/a 4 string def
/b ED % psk@gridlabels in pt
/c ED % { \pst@usecolor\psgridlabelcolor }
/n ED % psk@griddots
cvi dup 1 lt { pop 1 } if
/s ED % \psk@subgriddiv
s div dup 0 eq { pop 1 } if
/dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs
/dx ED dy div round dy mul % \pst@number\psxunit abs
/y0 ED dx div round dx mul
/x0 ED dy div round cvi
/y2 ED dx div round cvi
/x2 ED dy div round cvi
/y1 ED dx div round cvi
/x1 ED
/h y2 y1 sub 0 gt { 1 } { -1 } ifelse def
/w x2 x1 sub 0 gt { 1 } { -1 } ifelse def
b 0 gt {
/z1 b 4 div CLW 2 div add def
% /Helvetica findfont b scalefont setfont
/b b .95 mul CLW 2 div add def } if
systemdict /setstrokeadjust known
{ true setstrokeadjust /t { } def }
{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
exch itransform } bind def } ifelse
gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse
/i x1 def
/f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def
/g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def
x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if
{ i dx mul dup y0 moveto
b 0 gt
{ gsave c i a cvs dup stringwidth pop
/z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse
h 0 gt {b neg}{z1} ifelse
rmoveto show grestore } if
dup t f moveto
g t L stroke
/i i w add def
} repeat
grestore
gsave
n 0 gt
% DG/SR modification begin - Nov. 7, 1997 - Patch 1
%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
% DG/SR modification end
{ 2 setlinecap } ifelse
/i y1 def
/f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def
/g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def
y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if
{ newpath i dy mul dup x0 exch moveto
b 0 gt { gsave c i a cvs dup stringwidth pop
/z2 ED
w 0 gt {z1 z2 add neg} {z1} ifelse
h 0 gt {z1} {b neg} ifelse
rmoveto show grestore } if
dup f exch t moveto
g exch t L stroke
/i i h add def
} repeat
grestore
} def
%
/ArcArrow {
/d ED /b ED /a ED
gsave
newpath 0 -1000 moveto clip
newpath
0 1 0 0 b
grestore
c mul
/e ED
pop pop pop r a e d PtoC y add exch x add
exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
mul neg d
} def
%
/Ellipse {
/rotAngle ED
/mtrx CM def
T
rotAngle rotate
scale 0 0 1 5 3 roll arc
mtrx setmatrix
} def
%
/ArcAdjust { %%%% Vincent Guirardel
% given a target length (targetLength) and an initial angle (angle0) [in the stack],
% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
% This computes an angle t such that (x0,y0) is at distance
% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
% contrary to TvZ's code.
% To achieve, this, one iterates the following process: start with some angle t,
% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
%
% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
% the value of d = add/sub is used to know on which side we have to move.
% It is only used in the initialisation of the angle before the iteration.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Input stack: 1: target length 2: initial angle
% variables used : rx, ry, d (=add/sub)
%
/targetLength ED /angle0 ED
/x0 rx angle0 cos mul def
/y0 ry angle0 sin mul def
% we are looking for an angle t such that (x0,y0) is at distance targetLength
% from the point M(t)=(rx*cos(t),ry*sin(t)))
%initialisation of angle (using 1st order approx = TvZ's code)
targetLength 57.2958 mul
angle0 sin rx mul dup mul
angle0 cos ry mul dup mul
add sqrt div
% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
% (if the ellipse is very curved at the point where we draw the arrow, %
% the value can be much more than 360 degrees !)
% this should avoid going on the wrong side (more than 180 degrees) or go near
% a bad attractive point (at 180 degrees)
dup 90 ge { pop 90 } if
angle0 exch d % add or sub
% maximum number of times to iterate the iterative procedure:
% iterative procedure: takes an angle t on top of stack, computes a
% better angle (and put it on top of stack)
30 { dup
% compute distance D between (x0,y0) and M(t)
dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
% if D almost equals targetLength, we stop
dup targetLength sub abs 1e-5 le { pop exit } if
% stack now contains D t
% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
exch dup cos rx mul x0 sub exch sin ry mul y0 sub
% stack contains: y(t)-y0, x(t)-x0, d
2 index Div targetLength mul y0 add ry Div exch
2 index Div targetLength mul x0 add rx Div
% stack contains x(t')/rx , y(t')/ry , d
% now compute t', and remove D from stack
atan exch pop
} repeat
% we don't look at what happened... in particular, if targetLength is greater
% than the diameter of the ellipse...
% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
% to give back the result as a an angle relative to angle0 we could add the following line:
% angle0 sub 0 exch d
%
% begin bug fix 2006-01-11
% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180
%(we don't want to make the ellipse turn more or less than it should)...
dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
% end bug fix
} def
%
/EllipticArcArrow {
/d ED % is add or sub
/b ED % arrow procedure
/a1 ED % angle
gsave
newpath
0 -1000 moveto
clip % Set clippath far from arrow.
newpath
0 1 0 0 b % Draw arrow to determine length.
grestore
% Length of arrow is on top of stack. Next 3 numbers are junk.
%
a1 exch ArcAdjust % Angular position of base of arrow.
/a2 ED
pop pop pop
a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig
a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig
a1 cos rx mul xOrig add %
a1 sin ry mul yOrig add %
% Now arrow tip coor and base coor are on stack.
b pop pop pop pop % Draw arrow, and discard coordinates.
a2 CLW 8 div
% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
ArcAdjust
% resets original value of d
1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
} def
%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
%
/Rot { CP CP translate 3 -1 roll neg rotate NET } def
%
/RotBegin {
tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
/TMatrix [ TMatrix CM ] cvx def
/a ED
a Rot /RAngle [ RAngle dup a add ] cvx def
} def
%
/RotEnd {
/TMatrix [ TMatrix setmatrix ] cvx def
/RAngle [ RAngle pop ] cvx def
} def
%
/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
%
/Uput {
/a ED
add 2 div /h ED 2
div /w ED
/s a sin def
/c a cos def
/b s abs c abs 2 copy gt dup
/q ED
{ pop } { exch pop } ifelse def
/w1 c b div w mul def
/h1 s b div h mul def
q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse
} def
%
/UUput {
/z ED
abs /y ED
/x ED
q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse
{ x x mul y y mul sub z z mul add sqrt z add }
{ q { x s div } { x c div } ifelse abs
} ifelse
a PtoC
h1 add exch
w1 add exch
} def
%
/BeginOL {
dup (all) eq exch TheOL eq or
{ IfVisible not { Visible /IfVisible true def } if }
{ IfVisible { Invisible /IfVisible false def } if } ifelse
} def
%
/InitOL {
/OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
/Visible { CP OLUnit idtransform T moveto } def
/Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def
/BOL { BeginOL } def
/IfVisible true def
} def
%
%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% ### bubblesort ###
%% syntax : array bubblesort --> array2 trie par ordre croissant
%% code de Bill Casselman
%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
/bubblesort {
4 dict begin
/a exch def
/n a length 1 sub def
n 0 gt {
% at this point only the n+1 items in the bottom of a remain to
% the sorted largest item in that blocks is to be moved up into
% position n
n {
0 1 n 1 sub {
/i exch def
a i get a i 1 add get gt {
% if a[i] > a[i+1] swap a[i] and a[i+1]
a i 1 add
a i get
a i a i 1 add get
% set new a[i] = old a[i+1]
put
% set new a[i+1] = old a[i]
put
} if
} for
/n n 1 sub def
} repeat
} if
a
end
} def
%
%
/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
0 1 index { length add } forall
string
0 3 2 roll
{ 3 copy putinterval length add }forall
pop
} bind def
%
/dot2comma {% on stack a string (...)
2 dict begin
/Output exch def
0 1 Output length 1 sub {
/Index exch def
Output Index get 46 eq { Output Index 44 put } if
} for
Output
end
} def
%
end
%-----------------------------------------------------------------------------%
%
% END pstricks.pro
%%EndProcSet
%%BeginProcSet: pst-algparser.pro 0 0
% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $
%%
%% PostScript prologue for PSTricks algorithm parser
%% Version 0.04, 2011/10/21
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%%
%%-----------------------------------------------------------------------------%
%
/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez
%
/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
%
% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.13
%
% 09/2011 DR factorial with ! added
%
% E->T|E+T
% T->FS|T*FS
% FS -> F | +FS | -FS
% F->P|F^SF|P!
% P->(E)|literal
% literal->number|var|var[E]|func(params)
% params->E|E,param
% number->TOBEFINISHED
%
%% E expression, T term, SF signed factor, F factor, P power
%
%% parser
%
%% str
%
%% C->E<condition_operators>E
%% STR index -> STR index+lenExpr
/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def
%
%% analyze Expression List (separator , or | )
%% STR index -> STR index+lenExpr
%% /AnalyzeListOfE {
%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
%% NextNonBlankChar dup 0 eq { pop exit } if
%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
%% AnalyzeListOfEPostHook
%% } def
/AnalyzeListOfE {
/NotFirst false def
{ NextNonBlankChar pop AnalyzeExpr
NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
dup Strlen eq { exit } if NextNonBlankChar
dup 44 ne 1 index 124 ne and
{ dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
if pop 1 add } loop
AnalyzeListOfEPostHook
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% E->T|E+T
%% STR index -> STR index+lenExpr
/AnalyzeExpr {
AnalyzePreHook AnalyzeTerm IsEndingExpr
{ dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
{ { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
ifelse
AnalyzePostHook
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% T->FS|T*FS
%% STR index
/AnalyzeTerm {
AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
{ dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
{ { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
ifelse
AnalyzePostHook
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% FS -> F | +FS | -FS
%% STR index
/AnalyzeSignedFactor {
AnalyzePreHook 2 copy get dup IsUnaryOp
{ RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
{ pop AnalyzeFactor }
ifelse AnalyzePostHook
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% F->P|F^P|P!
%% STR index
/AnalyzeFactor {
AnalyzePreHook AnalyzePower IsEndingFactor
{ dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
{ { dup 33 eq%% is there a ! DR 09/2011
{ pop 1 add NextNonBlankChar pop EvalFactorial }
{ RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
ifelse
IsEndingFactor { pop exit } if } loop }
ifelse AnalyzePostHook
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% P->(E)|literal
%% STR index
/AnalyzePower {
%% depending of first char either a number, or a literal
2 copy get dup 40 eq%%an open par
{ pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
{ AnalyzeLiteral }
ifelse
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STR index STR[index] -> STR index
%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% recognize + or -
%% chr -> T/F
/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% a number can contain only : 0123456789.
%% chr -> T/F
/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STR index -> STR index number
%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
%% STR index -> STR index' number
/ReadNumber {
exch dup 3 -1 roll dup 3 1 roll
%%read mantissa
{ 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
dup 101 eq exch 69 eq or
%%% there is a "e" or "E" -> read exponant
{ 1 add 2 copy get dup IsUnaryOp
{ pop 1 add 2 copy get } if
{ IsNumber not { exit } if 1 add 2 copy get } loop }
if
dup 4 1 roll
3 -1 roll exch 1 index sub getinterval
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% a number can contain only : 0123456789.
%% chr -> T/F
/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STR index -> STR index number
%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
%% STR index -> STR index' number
/ReadCondOp {
NextNonBlankChar 1 index 4 1 roll
{ IsCondOp not { exit } if 1 add 2 copy get } loop
2 copy 5 -1 roll
exch 1 index sub getinterval 3 1 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% a literal can contain only : 0123456789.
%% chr -> T/F
/IsLiteral {%
dup 48 ge exch dup 57 le 3 -1 roll and exch
dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch
dup 97 ge exch 122 le and or } bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
%% STR index -> literal STR index' nextchr
/ReadLiteral {
exch dup 3 -1 roll dup 3 1 roll
%%read literal core
{ 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% expr is ended by end of str or a clpar
%% STR index -> STR index STR[index] T/F
/IsEndingExpr {%
2 copy dup Strlen eq
%% if end of str is reached -> end !
{ pop pop 0 true }
%% ending chr -> clpar, comma, |, <, >, =, !,
{get dup dup 41 eq
exch dup 124 eq
exch dup 93 eq
exch dup 44 eq
exch dup 30 eq
exch dup 60 ge exch 62 le and or or or or or}
ifelse } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% expr is ended by end of str or a +-
%% STR index -> STR index STR[index] T/F
/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% expr is ended by end of str or */
%% STR index -> STR index STR[index] T/F
/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% expr is ended by end of str or ^
%% STR index -> STR index STR[index] T/F
/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% STR index -> STR index STR[index]
/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
%%%%%%%%%%%%%%%%%%%%%%%%
%% DEBUG
/BRK {false} def
/BRKtrue {/BRK true def} def
/BRKStop {BRK {BRKtoto} if } def
/BRKEvalStop {BRK exch if } def
/BRKBRK2true {BRK {BRK2true} if } def
/BRK2 {false} def
/BRK2true {/BRK2 true def} def
/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
end
%
%-------------------------------------------------------------------------------%
%
/tx@AlgToPs 12 dict def tx@AlgToPs begin
%
%% algExpr -> PSVector
/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
/Strlen 0 def
/EvalListOfExpr {} def%
/EvalNumber {%
ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
exch 1 add array astore def NextNonBlankChar pop } def
/EvalAddSub {%
/ExpressionVector ExpressionVector aload length dup 5 add -1 roll
43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
} def
/EvalMulDiv {%
/ExpressionVector ExpressionVector aload length dup 5 add -1 roll
42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
} def
/EvalPower {%
/ExpressionVector ExpressionVector aload length dup 5 add -1 roll
pop /exp cvx exch 1 add array astore def
} def
/EvalFactorial {% DR 09/2011
/ExpressionVector ExpressionVector aload length
/fact cvx exch 1 add array astore def
} def
/EvalLiteral {%
ReadLiteral
dup 40 eq%%% there is an open par -> function call
{ pop 2 index
dup (Sum) eq { EvalSum }
{ dup (IfTE) eq { EvalCond }
{ dup (Derive) eq { pop EvalDerive }
{ pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
/ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
{ /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
dup 91 eq%%% there is an open bracket -> vector element
{ pop 1 add NextNonBlankChar pop AnalyzeExpr
/ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
{ pop NextNonBlankChar pop }
ifelse}
ifelse
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% the derive function : Derive(n,f(x))
%% firstparindex lastparindex ->
/EvalDerive {
%% manage the function descripiton
1 add ReadNumber 3 1 roll NextNonBlankChar
44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
1 add NextNonBlankChar pop
3 -1 roll cvi
dup 0 eq
{ pop AnalyzeExpr 3 -1 roll pop 1 add }
{ 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll
{ (x) tx@Derive begin Derive end } repeat
ExpressionVector exch /ExpressionVector [] def
AlgToPs aload length
/ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def
l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
1 index length /Strlen exch def } ifelse
} def
/EvalSum {%
pop 1 add NextNonBlankChar pop
%% read the variable name
ReadLiteral pop NextNonBlankChar
44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
%% read the initial value
1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
%% read the increment value
1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
%% read the limit value
1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
/ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
5 -1 roll 4 add array astore def
%% keep ExpressionVector for later and create a new one for internal Sum computation
ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
1 add NextNonBlankChar pop AnalyzeExpr
%% add each term
/ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
/ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
array astore def 3 -1 roll pop 1 add
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Convert to radians if trigo function call
%% (name) ->
/TrigoFunc {
dup (cos) eq 1 index (sin) eq or exch (tan) eq or
{ /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
array astore def
} if
} def
/EvalCond {%
pop 1 add AnalyzeCond NextNonBlankChar
44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
ExpressionVector 3 1 roll /ExpressionVector [] def
1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
1 add AnalyzeExpr
NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
ExpressionVector
/ExpressionVector 6 -1 roll aload length dup
6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
1 add 3 -1 roll pop
} def
%% CondOp STR index
/EvalCondOp {%
3 -1 roll
dup (=) eq { /eq } {%
dup (<) eq { /lt } {%
dup (>) eq { /gt } {%
dup (>=) eq { /ge } {%
dup (<=) eq { /ge } {%
dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
cvx exch pop
/ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
/EvalUnaryOp {
3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% H O O K S
/AnalyzePreHook {} bind def
/PreEvalHook {} bind def
/AnalyzeListOfEPostHook {} bind def
/AnalyzePostHook {} def
/RollOp { 3 1 roll } bind def
end %tx@CoreAnalyzerDict
%
%--------------------------------------------------------------------%
%
/tx@Derive 41 dict def tx@Derive begin
%%increase ^^ for each function added
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% algExpr variable -> PSVector
/Derive {%
10240 string 3 1 roll 0 3 1 roll
/Variable exch def
tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
} def
/Strlen 0 def
/InitParser { dup length /Strlen exch def 0 } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% algExpr variable index -> PSVector
/DeriveIndexed {%
3 1 roll 10240 string 3 1 roll 0 3 1 roll
/Variable exch def
tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (u,v)'=-(u',v')
/EvalListOfExpr {%
4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
2 copy 7 -1 roll dup length 4 1 roll putinterval add
6 -2 roll pop pop
2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (-u)'=-(u')
/EvalUnaryOp {
4 -2 roll 4 index (0) eq
{ (0) StrConcat 7 -1 roll pop }
{ 7 -1 roll 45 eq
{ AddSub AddOpPar true } { false } ifelse
3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
2 copy pop 0 6 2 roll GetIntervalNewStr
7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (number)'=0
/EvalNumber { ReadNumber (0) 6 2 roll } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (u+v)'=u'+v'
/EvalAddSub {%
7 index dup (0) eq
{ pop true }%% du=0 nothing added
{ dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
ifelse
5 index dup (0) eq
{ pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0
{ exch
{ 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
{ 5 -2 roll 7 index 43 eq%%something yet added
{ AddAdd false } { AddSub AddOpPar true } ifelse }
ifelse 11 1 roll
3 -1 roll StrConcat 10 -1 roll { AddClPar } if
2 copy pop 0 6 2 roll GetIntervalNewStr }
ifelse
mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (u*v)' or (u/v)'
/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (u*v)'=u'*v+u*v'
/EvalMul {%
4 -2 roll 7 index dup (0) eq
{ pop false }%%du=0
{ (1) eq%%du=1
{ false }
{ AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
true }%%du!=0
ifelse
5 1 roll 5 index (0) eq
{ 5 -1 roll not { (0) StrConcat } if }%%dv=0
{ 5 -1 roll { AddAdd } if
4 index (1) eq
{ 8 index StrConcat }
{ AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
ifelse
}%%dv!=0
ifelse
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (u/v)'=(u'*v-u*v')/v^2
/EvalDiv {%
4 -2 roll
4 index (0) eq%%dv=0 -> u'/v
{ 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
{ 7 index dup (0) eq
{ pop }%%du=0
{ (1) eq%%du=1
{ false }
{ AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
ifelse
AddSub
4 index (1) eq
{ 8 index StrConcat }
{ AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
ifelse
%}%%dv!=0
2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
ifelse
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% str1 index str2 -> str1 index
/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
/EvalPower {%
4 -2 roll 7 index (0) eq
{%%if du=0 then (u^v)'=v'ln(u)u^v
4 index (0) eq
{ (0) StrConcat }%%if dv=0 then (u^v)'=0
{ 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
}
{%%du!=0
4 index (0) eq
{%%if dv=0 then (u^v)'=vu'u^(v-1)
5 index dup IsStrNumber
{ dup (0) eq
{ StrConcat }
{ dup dup (1) eq exch (1.0) eq or
{ StrConcat }
{ StrConcat
7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
{ (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
(*\() StrConcat 8 index StrConcat (\)) StrConcat
5 index dup dup (2) eq exch (2.0) eq or
{ pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
{ pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
5 index StrConcat (-1\)) StrConcat } ifelse
}
{%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
AddOpPar 5 index StrConcat (\)*\() StrConcat
8 index StrConcat (\)^\() StrConcat
5 index StrConcat (-1\)+\() StrConcat
4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
8 index StrConcat (\)^\() StrConcat
5 index StrConcat (\)*ln\() StrConcat
8 index StrConcat AddClPar
} ifelse
} ifelse
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% No derivative for factorial ! only cst => null derivative
/EvalFactorial {% DR 09/2011
4 index (0) eq
{ (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
{ DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% str -> true/false
/IsStrNumber {%
true exch
{ dup 48 lt exch dup 57 gt 3 -1 roll or
exch dup 46 ne%%.
exch dup 43 ne%%+
exch 45 ne%%-
and and and { pop false } if } forall
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% literal switch -> func call, vector, variables
/EvalLiteral {%
ReadLiteral dup 40 eq%%% there is an open par -> function call
{ pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
{ dup 91 eq%%% there is an open bracket -> vector element
{ DERIVATIVE_ENGINE_ERROR_vector_not_yet_implemented }
{ pop EvalVariable }
ifelse }
ifelse
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% first last parpos Expr[first:parpos-1] ->
/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% (f(u))'=u'f'(u)
/EvalFunc {
4 2 roll 4 index (1) ne
{ AddOpPar 4 index StrConcat (\)*) StrConcat } if
(Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Func derivative -> Eval<func>
/EvalFunc_sin {%
PreCommonFunc
{ (cos\() StrConcat 5 index StrConcat AddClPar } if
PostCommonFunc } def
/EvalFunc_cos {%
PreCommonFunc
{ (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_tan {%
PreCommonFunc
{ dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
PostCommonFunc } def
/EvalFunc_asin {%
PreCommonFunc
{ (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_acos {%
PreCommonFunc
{ (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_atg {%
PreCommonFunc
{ (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_ln {%
PreCommonFunc
{ dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
PostCommonFunc } def
/EvalFunc_exp {%
PreCommonFunc
{ (exp\() StrConcat 5 index StrConcat AddClPar } if
PostCommonFunc } def
/EvalFunc_EXP {%
PreCommonFunc
{ (EXP\() StrConcat 5 index StrConcat AddClPar } if
PostCommonFunc } def
/EvalFunc_sqrt {%
PreCommonFunc
{ dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_Fact {%
PreCommonFunc { DERIVATIVE_ENGINE_ERROR_no_variable_expression_in_Fact } if
PostCommonFunc } def
/EvalFunc_sh {%
PreCommonFunc
{ (ch\() StrConcat 5 index StrConcat AddClPar } if
PostCommonFunc } def
/EvalFunc_ch {%
PreCommonFunc
{ (sh\() StrConcat 5 index StrConcat AddClPar } if
PostCommonFunc } def
/EvalFunc_th {%
PreCommonFunc
{ dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
PostCommonFunc } def
/EvalFunc_Argsh {%
PreCommonFunc
{ (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_Argch {%
PreCommonFunc
{ (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
PostCommonFunc } def
/EvalFunc_Argth {%
PreCommonFunc
{ (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
PostCommonFunc } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/PreCommonFunc {
1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
4 2 roll 4 index (0) eq
{ (0) StrConcat false }
{ 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
} def
/PostCommonFunc {
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
/EvalFunc_Derive {%
1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
exch 6 2 roll } def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% literal switch -> func call, vector, variables
/EvalFunc_Sum {%
1 add NextNonBlankChar pop
%% read the variable name
ReadLiteral pop 3 -1 roll pop NextNonBlankChar
44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
%% read the initial value
1 add NextNonBlankChar pop ReadNumber pop
2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
%% read the increment value
1 add NextNonBlankChar pop ReadNumber pop
2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
%% read the limit value
1 add NextNonBlankChar pop ReadNumber pop
2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
4 index StrConcat AddClPar
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% literal switch -> func call, vector, variables
/EvalFunc_IfTE {%
3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
NextNonBlankChar
44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
1 add NextNonBlankChar pop dup 5 1 roll
AnalyzeExpr NextNonBlankChar
44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
1 add NextNonBlankChar pop
AnalyzeExpr 1 add NextNonBlankChar pop
4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
2 copy pop 0 6 2 roll GetIntervalNewStr
mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% advance in str until a comma is found (no error detection!)
%% str index -> str index'
/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Convert to radians if trigo function call
%% (name) ->
/TrigoFunc {
dup (cos) eq 1 index (sin) eq or exch (tan) eq or
{ /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
array astore def
} if
} def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% No derivative for condition....
/EvalCondOp { 3 -1 roll pop } bind def
/PutIntervalOneAdd {putinterval 1 add} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add open parenthesis in string at the given index
%% str index -> str index+1
/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add close parenthesis in string at the given index
%% str index -> str index+1
/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add 0 in string at the given index
%% str index -> str index+1
/AddZero {2 copy (0) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add open parenthesis in string at the given index
%% str index -> str index+1
/AddMul {2 copy (*) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add open parenthesis in string at the given index
%% str index -> str index+1
/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add a plus sign in string at the given index
%% str index -> str index+1
/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add a minus sign in string at the given index
%% str index -> str index+1
/AddSub {2 copy (-) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Add a pipe sign in string at the given index
%% str index -> str index+1
/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% H O O K S
/AnalyzePreHook { dup 5 1 roll } bind def
/PreEvalHook {} def
/AnalyzePostHook { 7 -1 roll pop } bind def
/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
/RollOp { 5 1 roll } bind def
end%%%tx@CoreAnalyzerDict
/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% NEW FUNC
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
%% x -> theta
/asin {%
dup abs 1 gt { EQDFasinrangeerror } if
dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
} def
%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
%% x -> theta
/acos {%
dup abs 1 gt { EQDFacosrangeerror } if
dup dup mul 1 exch sub sqrt exch atan DegtoRad
} def
%% function arctangent in radians
%% x -> theta
/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
%% HYPERBOLIC FUNCTIONS
/sh { dup Ex exch neg Ex sub 2 div } def
/ch { dup Ex exch neg Ex add 2 div } def
/th { dup sh exch ch div } def
/Argsh { dup dup mul 1 add sqrt add ln } def
/Argch { dup dup mul 1 sub sqrt add ln } def
/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
%% modified exponential funtion for 0
%% x n -> x^n
/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
%% modified exponential funtion for 0
%% x -> e^x
/Ex { Euler exch exp } bind def
%%
%% factorial function
%% n -> n!
/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
/fact { Fact } bind def
/! { Fact } bind def
end
%
% END pst-algparser.pro
%%EndProcSet
%%BeginProcSet: pst-tools.pro 0 0
% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $
%
%% PostScript tools prologue for pstricks.tex.
%% Version 0.02, 2012/01/01
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%
%
/Pi2 1.57079632679489661925640 def
/factorial { % n on stack, returns n!
dup 0 eq { 1 }{
dup 1 gt { dup 1 sub factorial mul } if }
ifelse } def
%
/MoverN { % m n on stack, returns the binomial coefficient m over n
2 dict begin
/n exch def /m exch def
n 0 eq { 1 }{
m n eq { 1 }{
m factorial n factorial m n sub factorial mul div } ifelse } ifelse
end
} def
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subroutines for complex numbers, given as an array [a b]
% which is a+bi = Real+i Imag
%
/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
dup 0 get % [a1 b1] [a2 b2] a2
3 -1 roll % [a2 b2] a2 [a1 b1]
dup 0 get % [a2 b2] a2 [a1 b1] a1
3 -1 roll % [a2 b2] [a1 b1] a1 a2
add % [a2 b2] [a1 b1] a1+a2
3 1 roll % a1+a2 [a2 b2] [a1 b1]
1 get % a1+a2 [a2 b2] b1
exch 1 get % a1+a2 b1 b2
add 2 array astore
} def
%
/cxneg { % [a b]
dup 1 get % [a b] b
exch 0 get % b a
neg exch neg % -a -b
2 array astore
} def
%
/cxsub { cxneg cxadd } def % same as negative addition
%
% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
/cxmul { % [a1 b1] [a2 b2]
dup 0 get % [a1 b1] [a2 b2] a2
exch 1 get % [a1 b1] a2 b2
3 -1 roll % a2 b2 [a1 b1]
dup 0 get % a2 b2 [a1 b1] a1
exch 1 get % a2 b2 a1 b1
dup % a2 b2 a1 b1 b1
5 -1 roll dup % b2 a1 b1 b1 a2 a2
3 1 roll mul % b2 a1 b1 a2 b1a2
5 -2 roll dup % b1 a2 b1a2 b2 a1 a1
3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2
3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2
4 -1 roll add % b1 a2 a1 b2 b3
4 2 roll mul % b1 b2 b3 a1a2
4 2 roll mul sub % b3 a3
exch 2 array astore
} def
%
% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
/cxsqr { % [a b] square root
dup 0 get exch 1 get % a b
dup dup mul % a b b^2
3 -1 roll % b b^2 a
dup dup mul % b b^2 a a^2
3 -1 roll sub % b a a2
3 1 roll mul 2 mul % a2 b2
2 array astore
} def
%
/cxsqrt { % [a b]
% dup cxnorm sqrt /r exch def
% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
cxlog % log[a b]
2 cxrdiv % log[a b]/2
aload pop exch % b a
2.781 exch exp % b exp(a)
exch cxconv exch % [Re +iIm] exp(a)
cxrmul %
} def
%
/cxarg { % [a b]
aload pop % a b
exch atan % arctan b/a
DegtoRad % arg(z)=atan(b/a)
} def
%
% log[a b] = [a^2-b^2 2ab] = [a2 b2]
/cxlog { % [a b]
dup % [a b][a b]
cxnorm % [a b] |z|
log % [a b] log|z|
exch % log|z|[a b]
cxarg % log|z| Theta
cxmake2 % [log|z| Theta]
} def
%
% square of magnitude of complex number
/cxnorm2 { % [a b]
dup 0 get exch 1 get % a b
dup mul % a b^2
exch dup mul add % a^2+b^2
} def
%
/cxnorm { % [a b]
cxnorm2 sqrt
} def
%
/cxconj { % conjugent complex
dup 0 get exch 1 get % a b
neg 2 array astore % [a -b]
} def
%
/cxre { 0 get } def % real value
/cxim { 1 get } def % imag value
%
% 1/[a b] = ([a -b]/(a^2+b^2)
/cxrecip { % [a b]
dup cxnorm2 exch % n2 [a b]
dup 0 get exch 1 get % n2 a b
3 -1 roll % a b n2
dup % a b n2 n2
4 -1 roll exch div % b n2 a/n2
3 1 roll div % a/n2 b/n2
neg 2 array astore
} def
%
/cxmake1 { 0 2 array astore } def % make a complex number, real given
/cxmake2 { 2 array astore } def % dito, both given
%
/cxdiv { cxrecip cxmul } def
%
% multiplikation by a real number
/cxrmul { % [a b] r
exch aload pop % r a b
3 -1 roll dup % a b r r
3 1 roll mul % a r b*r
3 1 roll mul % b*r a*r
exch 2 array astore % [a*r b*r]
} def
%
% division by a real number
/cxrdiv { % [a b] r
1 exch div % [a b] 1/r
cxrmul
} def
%
% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
/cxconv { % theta
RadtoDeg dup sin exch cos cxmake2
} def
%%%%% ### bubblesort ###
%% syntax : array bubblesort --> array2 trie par ordre croissant
%% code de Bill Casselman
%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
/bubblesort { % on stack must be an array [ ... ]
4 dict begin
/a exch def
/n a length 1 sub def
n 0 gt {
% at this point only the n+1 items in the bottom of a remain to
% the sorted largest item in that blocks is to be moved up into
% position n
n {
0 1 n 1 sub {
/i exch def
a i get a i 1 add get gt {
% if a[i] > a[i+1] swap a[i] and a[i+1]
a i 1 add
a i get
a i a i 1 add get
% set new a[i] = old a[i+1]
put
% set new a[i+1] = old a[i]
put
} if
} for
/n n 1 sub def
} repeat
} if
a % return the sorted array
end
} def
%
/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422
0 1 index { length add } forall
string
0 3 2 roll
{ 3 copy putinterval length add }forall
pop
} bind def
%
/dot2comma {% on stack a string (...)
2 dict begin
/Output exch def
0 1 Output length 1 sub {
/Index exch def
Output Index get 46 eq { Output Index 44 put } if
} for
Output
end
} def
%
%-----------------------------------------------------------------------------%
% END pst-tools.pro
%%EndProcSet
%%BeginProcSet: pst-dots.pro 0 0
% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 2.02, 2009/06/16
%%
%% For distribution, see pstricks.tex.
%%
%% Timothy Van Zandt <tvz@Princeton.EDU>
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%%
%% Modified by Etienne Riga - Dec. 16, 1999
%% Modified by Etienne Riga - 2005/01/01 (er)
%% to add /Diamond, /SolidDiamond and /BoldDiamond
%% Modified by Herbert Voss (hv) - 2008/04/17
%
10 dict dup begin % hold local
/FontType 3 def
/FontMatrix [.001 0 0 .001 0 0] def
% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
/FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
/Encoding 256 array def
0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
Encoding % replace with given dot names
dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
% % and save /Bullet at this place in Encoding
dup (c) 0 get /Circle put
dup (C) 0 get /BoldCircle put % 67
dup (u) 0 get /SolidTriangle put
dup (t) 0 get /Triangle put
dup (T) 0 get /BoldTriangle put
dup (r) 0 get /SolidSquare put
dup (s) 0 get /Square put
dup (S) 0 get /BoldSquare put
dup (q) 0 get /SolidPentagon put
dup (p) 0 get /Pentagon put
dup (P) 0 get /BoldPentagon put
%%%
dup (k) 0 get /Asterisk put
dup (K) 0 get /BoldAsterisk put
dup (J) 0 get /SolidAsterisk put
dup (h) 0 get /Hexagon put
dup (H) 0 get /BoldHexagon put
dup (G) 0 get /SolidHexagon put
dup (f) 0 get /Octogon put % 2008-04-18 hv
dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
dup (a) 0 get /Add put
dup (A) 0 get /BoldAdd put % 65
dup (x) 0 get /Mul put
dup (X) 0 get /BoldMul put
dup (m) 0 get /Oplus put
dup (M) 0 get /BOplus put
dup (e) 0 get /SolidOplus put
dup (n) 0 get /Otimes put
dup (N) 0 get /BOtimes put
dup (E) 0 get /SolidOtimes put
dup (i) 0 get /Bar put
dup (I) 0 get /BoldBar put
dup (l) 0 get /SolidDiamond put
dup (d) 0 get /Diamond put
(D) 0 get /BoldDiamond put
%%%
/CharProcs 47 dict def
CharProcs begin
/CirclePath {0 0 500 0 360 arc closepath} def
/Bullet {CirclePath fill} def
/Circle {CirclePath .9 .9 scale CirclePath eofill} def
/BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
/TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
/SolidTriangle {TrianglePath fill} def
/Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
/BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
/SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
/SolidSquare {SquarePath fill} def
/Square {SquarePath .89 .89 scale SquarePath eofill} def
/BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
/PentagonPath {
-337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
0 574.7 lineto -546.6 177.6 lineto closepath
} def
/SolidPentagon {PentagonPath fill} def
/Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
/BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
%-------------- hv begin 2004/07/25 from: er 2003/03/24
/HexagonPath {
0 550 moveto -476 275 lineto -476 -275 lineto
0 -550 lineto 476 -275 lineto 476 275 lineto closepath
} def
/SolidHexagon {HexagonPath fill} def
/Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
/BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
% 2008-04-18 hv
/OctogonPath {
550 dup 22.5 tan mul dup neg dup add /xMove exch def
exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def
/SolidOctogon { OctogonPath fill } def
/Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
/BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
%
/AsteriskPath {
20 0 moveto 10 250 180 500 0 500 curveto
-180 500 -10 250 -20 0 curveto closepath
} def
/Asterisk {
AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
} def
%
/Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
/BoldAsteriskPath {
50 30 cos 100 mul moveto Basterp
60 rotate Basterp 60 rotate Basterp
60 rotate Basterp 60 rotate Basterp
60 rotate Basterp closepath
} def
/BoldAsterisk {BoldAsteriskPath fill} def
/SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
/CrossPath {
40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
-550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
} def
/BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
-550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
} def
/Add {CrossPath fill} def
/Mul {45 rotate CrossPath fill} def
/BoldAdd {BoldCrossPath fill} def
/BoldMul {45 rotate BoldCrossPath fill} def
/Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
/SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
/BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
/Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
/BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
/SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
/BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
/Bar {BarPath fill} def
/BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
/BoldBar {BoldBarPath fill} def
/DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
/SolidDiamond {DiamondPath fill} def
/Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
/BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
%%%
/.notdef { } def
end
%
/BuildGlyph {
exch
begin
% Metrics 1 index get exec 0
0 0
% BBoxes 3 index get exec
-1000 -1000 1000 1000
% -571.5 -742.5 571.5 742.5
setcachedevice
CharProcs begin load exec end
end
} def
%
/BuildChar {
1 index /Encoding get exch get
1 index /BuildGlyph get exec
} bind def
%
end
/PSTricksDotFont exch definefont pop
%
%% end
%%EndProcSet
%%BeginProcSet: pst-node.pro 0 0
% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $
%%
%% PostScript prologue for pst-node.tex.
%% Version 1.13, 2011/11/21.
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
%
/tx@NodeDict 400 dict def tx@NodeDict begin
tx@Dict begin % from main pstricks dict
/T /translate load def
/CP /currentpoint load def
end
/NewNode { % on stack: { x y } boolean N@name type InitXnode
gsave
NodeScale % a bugfix for xelatex, it's empty for dvips
/next exch def % { x y } boolean N@name type
dict dup % { x y } boolean N@name dict dict
3 1 roll def % { x y } boolean dict N@name dict def
exch { dup 3 1 roll def } if % { x y } dict boolean
begin % { x y } dict begin
tx@Dict begin
STV CP T exec % set scaling
end
/NodeMtrx CM def % save CM
next % InitXNode
end
grestore
} def
%
/InitPnode {
/Y ED /X ED
/NodePos { NodeSep Cos mul NodeSep Sin mul } def
} def
%
/InitCnode {
/r ED /Y ED /X ED
/NodePos { NodeSep r add dup Cos mul exch Sin mul } def
} def
%
/GetRnodePos {
Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse
Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse
dx Sin mul abs dy
Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse
} def
%
/InitRnode {
/Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED
/NodePos { GetRnodePos } def
} def
%
/DiaNodePos {
w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
Cos mul exch Sin mul
} def
%
/TriNodePos {
Sin s lt
{ d NodeSep sub dup Cos mul Sin Div exch }
{ w h mul w Sin mul h Cos abs mul add Div
NodeSep add dup Cos mul exch Sin mul
} ifelse
} def
%
/InitTriNode {
sub 2 div exch
2 div exch
2 copy T
2 copy 4 index index /d ED
pop pop pop pop
-90 mul rotate
/NodeMtrx CM def
/X 0 def /Y 0 def
d sub abs neg /d ED
d add /h ED
2 div h mul h d sub Div /w ED
/s d w Atan sin def
/NodePos { TriNodePos } def
} def
%
/OvalNodePos {
/ww w NodeSep add def
/hh h NodeSep add def
Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul
} def
%
/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
%
/XYPos {
dup sin exch cos Do
/Cos ED /Sin ED /Dist ED
Cos 0 gt
{ Dist Dist Sin mul Cos div }
{ Cos 0 lt
{ Dist neg Dist Sin mul Cos div neg }
{ 0 Dist Sin mul } ifelse
} ifelse
Do
} def
%
/GetEdge {
dup 0 eq
{ pop begin 1 0 NodeMtrx dtransform
CM idtransform
exch atan sub
dup
sin /Sin ED
cos /Cos ED
/NodeSep ED
NodePos NodeMtrx dtransform CM idtransform end }
{ 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse
} def
%
/AddOffset {
1 index 0 eq
{ pop pop }
{ 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse
} def
%
/GetEdgeA {
NodeSepA AngleA NodeA NodeSepTypeA GetEdge
OffsetA AngleA AddOffset
yA add /yA1 ED
xA add /xA1 ED
} def
%
/GetEdgeB {
NodeSepB AngleB NodeB NodeSepTypeB GetEdge
OffsetB AngleB AddOffset
yB add /yB1 ED
xB add /xB1 ED
} def
%
/GetArmA {
ArmTypeA 0 eq
{ /xA2 ArmA AngleA cos mul xA1 add def
/yA2 ArmA AngleA sin mul yA1 add def }
{ ArmTypeA 1 eq {{exch}} {{}} ifelse
/Do ED
ArmA AngleA XYPos OffsetA AngleA AddOffset
yA add /yA2 ED
xA add /xA2 ED } ifelse
} def
%
/GetArmB {
ArmTypeB 0 eq
{ /xB2 ArmB AngleB cos mul xB1 add def
/yB2 ArmB AngleB sin mul yB1 add def }
{ ArmTypeB 1 eq {{exch}} {{}} ifelse
/Do ED
ArmB AngleB XYPos OffsetB AngleB AddOffset
yB add /yB2 ED
xB add /xB2 ED } ifelse
} def
%
/InitNC {
/b ED /a ED % second and first node
/NodeSepTypeB ED /NodeSepTypeA ED
/NodeSepB ED /NodeSepA ED
/OffsetB ED /OffsetA ED
tx@NodeDict a known tx@NodeDict b known and dup {
/NodeA a load def
/NodeB b load def
NodeA GetCenter /yA ED /xA ED
NodeB GetCenter /yB ED /xB ED } if
} def
%
/LPutLine {
4 copy
3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED
1 t sub mul
3 1 roll 1 t sub mul
4 1 roll t mul add /Y ED
t mul add /X ED
} def
%
/LPutLines {
mark LPutVar counttomark 2 div 1 sub /n ED
% t floor dup n gt
t floor dup n ge % to allow npos<= hv 2008-08-14
{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse
cvi 2 mul { pop } repeat
LPutLine
cleartomark
} def
%
/BezierMidpoint {
/y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED /t ED
/cx x1 x0 sub 3 mul def
/cy y1 y0 sub 3 mul def
/bx x2 x1 sub 3 mul cx sub def
/by y2 y1 sub 3 mul cy sub def
/ax x3 x0 sub cx sub bx sub def
/ay y3 y0 sub cy sub by sub def
ax t 3 exp mul bx t t mul mul add
cx t mul add x0 add ay t 3 exp mul
by t t mul mul add cy t mul add
y0 add 3 ay t t mul mul mul 2
by t mul mul add cy add 3 ax t t mul mul mul
2 bx t mul mul add cx add atan /NAngle ED
/Y ED /X ED
} def
%
/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
} def
/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
/NAngle yyB yyA sub xxB xxA sub Atan def } def
/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
} def
/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
} def
/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
/NAngle yyB yyA sub xxB xxA sub Atan def } def
/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
VPosEnd } def
/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
def grestore exec /LPutVar /SaveLPutVar load def } def
/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
LPutVar VPutLine } def LPutVar } def
%
/NCLine {
NCCoor
tx@Dict begin
ArrowA CP 4 2 roll
ArrowB
lineto pop pop
end
} def
%
/NCLines {
false NArray
n 0 eq
{ NCLine }
{ 2 copy yA sub exch xA sub Atan /AngleA ED
n 2 mul dup index exch index yB sub exch xB sub
Atan /AngleB ED
GetEdgeA GetEdgeB
/LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 yA1 ] cvx def
mark LPutVar
tx@Dict begin false Line end
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def
} ifelse
} def
%
/NCCurve {
GetEdgeA
GetEdgeB
xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
%
/NCAngles {
GetEdgeA GetEdgeB GetArmA GetArmB
/mtrx AngleA matrix rotate def
xA2 yA2 mtrx transform pop
xB2 yB2 mtrx transform exch pop
mtrx itransform
/y0 ED /x0 ED
mark ArmB 0 ne { xB1 yB1 } if
xB2 yB2 x0 y0 xA2 yA2
ArmA 0 ne { xA1 yA1 } if
tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def } def
%
/NCAngle {
GetEdgeA GetEdgeB GetArmB
/mtrx AngleA matrix rotate def
xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
/y0 ED /x0 ED
mark
ArmB 0 ne { xB1 yB1 } if
xB2 yB2 x0 y0 xA1 yA1
tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def
} def
%
/NCBar {
GetEdgeA GetEdgeB GetArmA GetArmB
/mtrx AngleA matrix rotate def
xA2 yA2 mtrx itransform pop
xB2 yB2 mtrx itransform pop
sub dup 0 mtrx transform
3 -1 roll 0 gt
{ /yB2 exch yB2 add def /xB2 exch xB2 add def }
{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse
mark
ArmB 0 ne { xB1 yB1 } if
xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def
} def
%
/NCDiag {
/lineAngle ED
GetEdgeA GetEdgeB GetArmA GetArmB mark
lineAngle abs 0 gt {
/xTemp xA2 10 add def
/yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
/dY1 yTemp yA2 sub def
/dX1 xTemp xA2 sub def
/dY2 yB2 yB1 sub def
/dX2 xB2 xB1 sub def
dX1 abs 0.01 lt {
/m2 dY2 dX2 div def
/xB2 xA2 def
/yB2 xA2 xB1 sub m2 mul yB1 add def
}{
dX2 abs 0.01 lt {
/m1 dY1 dX1 div def
/xB2 xB1 def
/yB2 xB1 xA2 sub m1 mul yA2 add def
}{%
/m1 dY1 dX1 div def
/m2 dY2 dX2 div def
/xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
/yB2 xB2 xA2 sub m1 mul yA2 add def
} ifelse
} ifelse
} if
ArmB 0 ne { xB1 yB1 } if
xB2 yB2 xA2 yA2
ArmA 0 ne { xA1 yA1 } if
tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def
%
% GetEdgeA GetEdgeB GetArmA GetArmB mark
% ArmB 0 ne { xB1 yB1 } if
% xB2 yB2 xA2 yA2
% ArmA 0 ne { xA1 yA1 } if
% tx@Dict begin false Line end
% /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def
% /LPutPos { LPutLines } def
% /HPutPos { HPutLines } def
% /VPutPos { VPutLines } def
} def
%
/NCDiagg {
/lineAngle ED
GetEdgeA GetArmA
lineAngle abs 0 gt
{ lineAngle }
{ yB yA2 sub xB xA2 sub Atan 180 add } ifelse
/AngleB ED
GetEdgeB mark
lineAngle abs 0 gt {
/dY2 yA2 yA1 sub def
/dX2 xA2 xA1 sub def
lineAngle abs 90 eq {
/m2 dY2 dX2 div def
/yA2 xB xA2 sub m2 mul yA2 add def
/xA2 xB def
}{
/m1 lineAngle dup sin exch cos div def % tan alpha
dX2 abs 0.01 lt {
/yA2 xA1 xB sub m1 mul yB add def
/xA2 xA1 def
}{%
/m2 dY2 dX2 div def
/xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
/yA2 xA2 xB sub m1 mul yB add def
} ifelse
} ifelse
} if
xB1 yB1 xA2 yA2
ArmA 0 ne { xA1 yA1 } if
tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def
%
% GetEdgeA GetArmA
% yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
% GetEdgeB
% mark
% xB1 yB1 xA2 yA2
% ArmA 0 ne { xA1 yA1 } if
% tx@Dict begin false Line end
% /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def
% /LPutPos { LPutLines } def
% /HPutPos { HPutLines } def
% /VPutPos { VPutLines } def
} def
%
/NCLoop {
GetEdgeA GetEdgeB GetArmA GetArmB
/mtrx AngleA matrix rotate def
xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED
/xB3 xB2 yB2 mtrx transform pop def
xB3 yA3 mtrx itransform /yB3 ED /xB3 ED
xA3 yA3 mtrx itransform /yA3 ED /xA3 ED
mark ArmB 0 ne { xB1 yB1 } if
xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if
tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def
/LPutPos { LPutLines } def
/HPutPos { HPutLines } def
/VPutPos { VPutLines } def
} def
%
% DG/SR modification begin - May 9, 1997 - Patch 1
%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
%
/NCCircle {
NodeSepA 0 NodeA 0 GetEdge pop
2 div dup 2 exp r r mul sub abs sqrt
atan 2 mul /a ED
r AngleA 90 add PtoC yA add exch xA add
exch 2 copy
/LPutVar [ 4 2 roll r AngleA ] cvx def
/LPutPos {
LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC
3 -1 roll add
/Y ED add /X ED /NAngle ED
% DG/SR modification end
} def
/HPutPos { LPutPos } def
/VPutPos { LPutPos } def
r AngleA 90 sub a add AngleA 270 add a sub
tx@Dict begin
/angleB ED /angleA ED /r ED
/c 57.2957 r Div def
/y ED /x ED
} def
%
/NCBox {
/d ED /h ED
/AngleB yB yA sub xB xA sub Atan def
/AngleA AngleB 180 add def
GetEdgeA GetEdgeB
/dx d AngleB sin mul def
/dy d AngleB cos mul neg def
/hx h AngleB sin mul neg def
/hy h AngleB cos mul def
/LPutVar [
xA1 hx add yA1 hy add xB1 hx add yB1 hy add
xB1 dx add yB1 dy add xA1 dx add yA1 dy add ] cvx def
/LPutPos { LPutLines } def
/HPutPos { xB yB xA yA LPutLine } def
/VPutPos { HPutPos } def
mark
LPutVar tx@Dict begin false Polygon end
} def
%
/NCArcBox {
/l ED neg /d ED /h ED /a ED
/AngleA yB yA sub xB xA sub Atan def
/AngleB AngleA 180 add def
/tA AngleA a sub 90 add def
/tB tA a 2 mul add def
/r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
/x0 xA r tA cos mul add def
/y0 yA r tA sin mul add def
/c 57.2958 r div def
/AngleA AngleA a sub 180 add def
/AngleB AngleB a add 180 add def
GetEdgeA GetEdgeB
/AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul sub def
/AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def
l 0 eq {
x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn
}{
x0 y0 translate
/tA AngleA l c mul add def
/tB AngleB l c mul sub def
0 0 r h add tA tB arc r h add
AngleB PtoC r d add
AngleB PtoC 2 copy
6 2 roll l arcto 4 { pop } repeat
r d add tB PtoC l arcto 4 { pop } repeat
0 0 r d add tB tA arcn r d add
AngleA PtoC r h add
AngleA PtoC 2 copy 6 2 roll
l arcto 4 { pop } repeat
r h add tA PtoC l arcto 4 { pop } repeat
} ifelse
closepath
/LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def
/LPutPos {
LPutVar /d ED /h ED
/AngleB ED /AngleA ED
/r ED /y0 ED /x0 ED
t 1 le {
r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC
}{t 2 lt {
/NAngle AngleB 180 add def r 2 t sub
h mul t 1 sub d mul add add AngleB PtoC
}{
t 3 lt {
r d add AngleB 3 t sub mul AngleA 2 t sub
mul add dup 90 sub /NAngle ED PtoC
}{
/NAngle AngleA 180 add def
r 4 t sub d mul t 3 sub h mul add add AngleA PtoC
} ifelse
} ifelse
} ifelse
y0 add /Y ED x0 add /X ED
} def
/HPutPos { LPutPos } def
/VPutPos { LPutPos } def
} def
%
/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
%
/LPutCoor {
NAngle
tx@Dict begin /NAngle ED end
gsave
CM STV
CP Y sub neg exch X sub neg exch moveto
setmatrix CP
grestore
} def
%
/LPut {
tx@NodeDict /LPutPos known
{ LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse
LPutCoor
} def
%
/HPutAdjust {
Sin Cos mul 0 eq
{ 0 }
{ d Cos mul Sin div flag not { neg } if
h Cos mul Sin div flag { neg } if
2 copy gt { pop } { exch pop } ifelse
} ifelse
s add flag { r add neg }{ l add } ifelse
X add /X ED
} def
%
/VPutAdjust {
Sin Cos mul
0 eq
{ 0 }
{ l Sin mul Cos div flag { neg } if
r Sin mul Cos div flag not { neg } if
2 copy gt { pop } { exch pop } ifelse
} ifelse
s add flag { d add } { h add neg } ifelse
Y add /Y ED
} def
%
%
end
%
% END pst-node.pro
%%EndProcSet
%%BeginProcSet: texps.pro 0 0
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
%%EndProcSet
%%BeginProcSet: special.pro 0 0
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
savematrix setmatrix}N end
%%EndProcSet
%%BeginProcSet: color.pro 0 0
%!
TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
%%EndProcSet
TeXDict begin @defspecial
/landplus90 true store
@fedspecial end
%%BeginFont: SkakNew-Figurine
%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003
%%CreationDate: Mon Feb 02 15:14:46 2009
%%VMusage: 120000 150000
11 dict begin
/FontInfo 15 dict dup begin
/version (001.003) readonly def
/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def
/FullName (SkakNew-Figurine) readonly def
/FamilyName (SkakNew-Figurine) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
/Weight (Regular) readonly def
end readonly def
/FontName /SkakNew-Figurine def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 78 /N put
dup 88 /X put
readonly def
/PaintType 0 def
/FontType 1 def
/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def
/FontBBox {0 -114 1241 842} readonly def
currentdict end
currentfile eexec
D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949
1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32
204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501
429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53
FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969
C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691
6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9
5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716
C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0
DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98
218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549
1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8
7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563
F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F
401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39
B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD
9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88
68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC
067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB
3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E
E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510
6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA
AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90
A73760A26EA9F28C74DA6FD1AEE7BD8F21404F8FC3215606F8E3838371563F7C
27C0833ED579C89FF32E4F2275FE27F5E70B4B6D62EBB0E0E26724A5B882D939
13C29A0FE8B6823CF7E0FD24EAFEE0B17FD81119F9E9E730F889E0E6A6BF83C4
C3AB5B3335202013A4C07D71EDCB645D75EBE01B6D98DF536ABDCEDFCFE0C622
333D69C242E78C42BDC2E33ABEAC4122F4596B941EEE41F2B753588999185585
F81C9AEDA32A0BD44F9524B9507F56322B2F69125FA7879FE893379DB4E9B623
4A4284E77EC96EB41BD5014C4D2C952C8B879ECDD46A7D6F765AF5CFDC63EB48
F3F635F1FD8DA05FBEDB7792CC93AE900A7E6D0D5E651DB84901133618EF2A2E
0171B1265CD7728C0BE06A039942CFBCE56565997574AAB2E4D872A51D8BF02B
8C9FF495D51DA88E25C017DA0BCFD68F818DBC70C21B0D1A5BFAA10D703FD9EA
70DB8A6D0713921E6A9F06D18EB8C923D578B49B56B957F2829078137A1654D7
07092331189B3832622448CAEA135A077CEEFD9F115DBCF8F8EFD10A7E9ACED8
465CAAB3C01D7DA2DA499E4356F15DC5F39D92C89652D2076DA4156E2F6FF1CC
CD25F6103A1ADA4D804AF9713EDC2E735305BF84268AC987D25E618FF5830ABC
664C7D24F5BE04A94B10508F995F25551F09DDE397411C32DFE1DE7BB4B362EE
F0E89BCC857F6A90A2E16A87B235EA5F907D242886828533DE028CAF26599169
51786065E65083F6E7998D450209A662EBBE0F47FE9F857830D0A53FB713BD10
1F617F1534AC91EF42C29F809333A085CF82E28FD4C4CE70E005C968FA255598
FB48DCDB10D59E0BDEA6E48DB2DC38A73D7DDA26E4DC6C20D789C9DE0FD07DBE
77C505C5481790BE351E82B2E71797BC63C4FD2E5A3D2200FC869C8731D1C4D4
52927DB2FB6A9A9D94E5A9B82386BD671317D335068F327B80A76B76821197ED
7477E1A0F3E825319F38B5B19D8D4254A568404F573503A98486EA3FE9D90B49
B8FB9A14C78C398FEE336C6C06D26094253CB3C05DE94D479246F98955525E5B
D396DB0463D820EFE630E45FDE82A1AEC969005BBBECF953A4E4D36FEA40774E
257696BA1AA6893D8F50A739291882B49D194AA6CB52B6A9A5A0BA572D888611
1D820E39A37484CB2F59442267F69CE3A98AA183B301EF970EFE0CBA542946D2
B9A3376F2EDC866218B68FB3B04F95DAA1414BB2044863226EFBA073668EB743
D77E06DF99647DBDCCD31821EB3FAF7FE8492230D69863CBA258F0E0AB8D706E
32C3D545CFED4D6B3EC8D75B6D44B0CBD3D101217C9188711C50D7F96001B86D
A6FDFD52372F09F7D4F9AD059B4C16E96F4E4B7956D7BC1A5202FCCD97F69580
EAE80A741927F939513C39258BEBC1336F60F2F9E1BB946CCB222BB5F7923A0E
54AB540082DD231B11E1F262EBAEA0E01E90D212BF3CBA3CBEED477CB1823C4E
B98F9D1D10B4E036AD5E21504A2B9257C6A0183F194E9C048CB520DED328F39F
5BC23801CB9668D693FBA408A32D9FA99A47FB3B29D8
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI10
%!PS-AdobeFont-1.0: CMMI10 003.002
%%Title: CMMI10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMMI10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMMI10 known{/CMMI10 findfont dup/UniqueID known{dup
/UniqueID get 5087385 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMMI10 def
/FontBBox {-32 -250 1048 750 }readonly def
/UniqueID 5087385 def
/PaintType 0 def
/FontInfo 10 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMMI10.) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
/ascent 750 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 60 /less put
dup 62 /greater put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
11453BC81C443407AF41AF8A831A85A700CFC65E2181BCBFBC7878DFBD546AC2
1EF6CC527FEEA044B7C8E686367E920F575AD585387358FFF41BCB212922791C
7B0BD3BED7C6D8F3D9D52D0F181CD4D164E75851D04F64309D810A0DEA1E257B
0D7633CEFE93FEF9D2FB7901453A46F8ACA007358D904E0189AE7B7221545085
EDD3D5A3CEACD6023861F13C8A345A68115425E94B8FDCCEC1255454EC3E7A37
404F6C00A3BCCF851B929D4FE66B6D8FD1C0C80130541609759F18EF07BCD133
78CBC4A0D8A796A2574260C6A952CA73D9EB5C28356F5C90D1A59DC788762BFF
A1B6F0614958D09751C0DB2309406F6B4489125B31C5DD365B2F140CB5E42CEE
88BE11C7176E6BBC90D24E40956279FBDC9D89A6C4A1F4D27EC57F496602FBC4
C854143903A53EF1188D117C49F8B6F2498B4698C25F2C5E8D8BD833206F88FC
BD5B495EB993A26B6055BD0BBA2B3DDFD462C39E022D4A1760C845EA448DED88
98C44BAAB85CD0423E00154C4741240EB3A2290B67144A4C80C88BE3D59AD760
E553DAC4E8BA00B06398B1D0DFE96FB89449D4AE18CE8B27AFE75D2B84EFDB44
143FD887F8FB364D000651912E40B0BAEDDA5AD57A3BC0E411E1AD908C77DCE3
981985F98E258A9BB3A1B845FC4A21BCC54559E51BC0E6C22F0C38540F8C9490
88A0E23EA504FA79F8960CC9D58611C519D3ACDC63FB2FBCAE6674357D7F2285
4BCC9F54D3DA421D744D3A341DA3B494BB526C0734E1A8FC71501745399F7683
FD17EC3044419A88C3979FD2ABA5B0130907B145A8462AAF0A9B511D2C8A7C7F
347FF6AC057E6512902BFD2918E2CD31DE615F5D643764E900B60287670AE18F
FDE15545D8BC69591A8CBBB275AFFC9B14BD68DF0AAB32268FB84844D4DBC7BB
C591C1AC5102C50A9C7BAAA848DA88B0519F0F5F0813BF055CF0E3C86F633A04
B779D2E8E656DB1E09A66A85FE21CA8BA5523F472A229E83F2C4E91ABA46C733
F3C7B5775B06C97782BC225C46385BEBDC61572458EFC5CF4190AB7A9C1C92DA
29F84BAACF552089195966E3AD9E57CC914D20B6962BE80429A16D4DF1ECAA66
36C4343FADF0B2B48F12E2EB8443C4AA29D00949255F3968617F98B8ABD4CC12
048B838EE243A21AC808BD295195E4AE9027005F52258BFCA915C8D9AED9A2C0
80814F79CF943FBE3594C530A22A92E11BE80FCEC1684C4F56712D5846B0749C
9B54A979B315222F209DEE72583B03093EC38F7C5B9F9BCB21DBE8EDDAE9BE8B
75ACE6B12A31083AC8348EC84D1D29D2297A266284B7E9734E207DAF59A25F4E
4AA38509E993C5394FED76E6A2F25462685C4C86C6E8CFC9863338EC1428BDFC
74616BB1BC8948B0ED4C87C15B4405F3A7796F9DB3798FFFE8BD0A94E834817B
D5E9812E308D0CC920470A6F2CD088FCB80462BF7CB3F039A7DF3DAF5B2B5355
E083A385CD2EAF0FC181E40E96DD7E9AB9EF5C7E6866A13B8A54718E950FE097
EF0951A357114F18CE9933D28B3A77AA71E3CE884661F13284BCED5D5FD1A86D
543E588FF473DC2CF9A4DC312500135F29C2D0174B32018C8DBD40EF9A232883
710A1F2AB2CD11312300ACDF789A9B7B93D2035D81D1C84984D92D78A53A00C6
EDA94B24BBAC1AD17774A4E07E6F74ABD90415965616AD540C8ECD8C3A44EE4F
7F4F6BB6238C5062D63FA59B7BF08BE93FAEA70A2AB08FBEAAF7DBF56B95FD93
03CA406543BA6C9527D0DF01F5108D31A51778A5EB1C93F27B72B46146A353A2
01CACBC829603B9989A87CF64528682CCBA0562A8165B185C58A5C6BB72F5E89
500ACCAAB8ECEFBB2640E99EAEEC4EA979AA793D013D61D8ACF8784FF8D9398F
F6A252A709324FB39509F0B3A4E725E82F53543383C6765BE556CC897C758208
AA3AD37B0406E4A79F8F0A6C1983FC73E71CD858C0DB66ED66D5D992978614EE
1EA91EBE191E082EBA1FC040AF19A2202575C2EBEB8058833E3520FA03D2F915
85C1ED337E457B9FEEB0C6EF2735EFDA6E0D05FA641BCF698AC6B97751E8306C
4DF00A39B8581FF53DB8F8525FDB196D85950906CCB59B8EF171349AA3B567B1
6A00819947A995FB383C3C1709C9A2C113B2E40BB832B7D4A0FBA0B16A2C455F
55809CC425C403E9668DC66BE45B71A81C332FD4DB279D22A2959962304A8F18
085893DAC61317D24A8F198FDAB95F3B86F0AFD35047B868A9A17037A2829A02
BAB042F75F349E197A7EED41984C2859754CAFD0251439921C248B463B516951
2E1322C80D73F9CBCAA63A585450275AC2492E4D3FB78E800F788254DB5E610D
CF788DF5C70FF99892BCDF16133E34B24B77C8F097F546B87C603DDB8998B66E
BACB68BA27462AF54AA405682EC96D701F0D474DECD5F95CA2102DF639EB169E
D518162C2BAE45FF698B6DE15FC6E7DE48C336C40A670FD26952A6BAB09115E1
991F0073419F2CC2A1C08BE91096936AA0C37E4ED3CCCEE235476074B8FF1125
6BDE3701F85532D8BB64CCC927CC335281C95EA689706F0AC717DC2CF680C754
E5EFD7FA4BB8880B2B727A964C876D4A223069D4E6001771F0E23EAD2A4BBC80
E76675297B2EF05F52BF4E71B3EE2BE3048CF088C79540113C66AE98B2FD3CB1
B0741A215FD070882C52765009D7D711DAA2508F19AE7DDA15229A856AC49BC3
4DDF40814FF96500E4B9B02D412E94623C5FDCC76C0FB8E42DF56A904FE49D65
1DA7C53901B2EA71AB658A464D3ABDE27D9DB8D9E0B48F64E61A2495AD5D8DAB
B5E72424AD017DF37964AF911BD7FA21A5EB4775DC8E95EF0C0EB856B00D89D7
8172A1DE8530767D317B8256103E53CFB877E10686A04F5A08F8DC58D843DEBA
FD5F40597588663D103689F6EB3EB14D06E18C8078F2538B43E712DF491FC5C6
AF639256C8C6134B64D560D8476DEA6329D995E46CC4BC78841C59E73648B47E
BFA7DE0846422F738454AE77E822A083405289247BD7C478BE4974F742CD6051
E99FBB1D1B3FBABFEE855174734EE45E87D0AADF32B1283B911162A9955847FD
38944D70584FAA6B1A7191C5C134B73F98EB632B69E2F0C0F94156787C34C8A3
7622A029D58F9626B74F8A8A1F3803E0BC20E0EADEB1E99B70F1BD9F980FB751
2A842843DE42EB142A84D5D3138629AE9EAF6F3479C423E8829C8816FA6EFA27
DCE5580E65AA9854B1C64163DC318420CD993C15BFD76A8BA1182860A6B03D6D
22B8CF43CFE6C8AB27C64842E239CAE707D3086BADDE1D7C94E3BC96319470D6
8D26915C575CFDD03271D6BB9DE86A0EB6EEA6E768B224A626C62A9AB48A6EDB
44F70BB5AF991CDF9736D65933E81CC57A78F623F33EC9AF535F2F25FA4EEC90
D50DB7E87F31E971A75A33A301CA6013EEC5A4E179D695B33DADF2C98364434A
42926776000B610E17524162253F6FA638D6581C18F99EA0BD1D2E24D2424ADF
C05010D08192485153DD03930C7BF45237593E484F9851E6D464FA10FECA5D9E
0C8CCC97DE029030900CDBB491C5CF226DBF903CFE7735D939C3FDF3A20B70CE
66579B28B99313FEE914E295388C7BC8E055A2E54EA3A8206D3C8F4F7C0BA5E6
E519419FD8CE215F7B8E9BEC604A9E3FE272A0328A24E31997C8A91E0946BCF1
6943A97CBED2AB9FC636B49828BBB8B89E0BBC2653796431224895ABA5DAC41E
1854BD9764E86147FD7624F736F40DE3B7582EDDFD15C2BDE3F22B5A54D7DF10
B87A1301CE85CFC061689A890A321412A13314AE96DCD3EDA75035FDD8F4AB9B
897A2C68263A68457032C469987970648BA2D88B1C5375DFEAA35A917B8A952E
EE670427942AEDB3CB599C5746180E392837D371E15D860620ABDB6AA7772C40
A5E346661673ACA530BE3D8E3FFB895E5DA3DC23B1B43C080C77F7E47847F0F3
F3AA5CA9E4BF75FC5EBD18D19F21A7DAA3B11CABC6E4070A15F7DBC8B05EB6AA
A02EF1B078EB66D61D6AFE41DA9B36FE7EC9EF94D1EA26282A9871E2CACB3126
2AD49C2D9B50A6E47D8F2CCAD50992D1B430979A45FD9E76182A19964BB2A1F6
51779A2B258DC1DF4C2F3074621286831F3848AC152DDD2BA561E6586ADA88D3
598A2CE2CD048F027CE0008B828BD915887D7785341E8305DF2346ADB76BE99F
87B02173BDC334E9221C8DF54114A6B24C1C5340299512FA6C8C51AB4C8778CE
178CEF531C6D1B5FF0A1BE8EFF767F959BD4C345C52699A29A17B2A230842BF6
4B011217D6D24EDAC3F6D53482786F1CA33169B90ECD499407D37CE9B70DDF78
7B7547B32952535BA9ACD1E244447AE3FCED3AF28717083CF9590A09780984D6
AF0743C82AE4FB3E2BB2856A4153A3967A023FFC35382D6C22D84A924900B6A6
3DDD400E6D2418DA6C27F2FA34C075C902B89EBAE658B3C9A18EEE449DA5A379
337DE95CB7AB3F0970CF1A5D8FAD8090E495570FDFB2FBBA79244780D8035547
C5A55BB21A2270F724BF5D442CDC5BB9F09BE0CAE59B1C2270F0BDACE698F2C5
DE8F66BFB9634904B161F5BA2B1950048300D69BABD312D58D89C4ED527AF7BA
7DA2478EDC2CDEE3473DD8A8ED9D891CD1FC21F23013228BB3281B71FCE959BD
6F8E9059D682A7FCC5265A0620992D4FA8D78377EB34CE3ECA070EE3707239BC
98907DB0120CE42ABA32CF97127E28382BDDFD685674279F588D4F951216C355
821361790F64C2CC720DE97E8ECB57326C43EE47367628E05769E106868B54F4
C33C9951908DF6FC4F5ED2C7787BD8FA591BBB3E9C6C1DA94CC5E38D9B20C886
7D237572FF46DD896A4D6163408EA6CEFAC398EE041EAE29D577E75326CA17A6
B072D47A7B13EC441CE6DAA042ECD02134CBFA6809A435050413817193DAEB16
A5882C8AEA44BCF36E74E9ECCDFE7E19FF5A5DD7A94E5AB4F8702C3DA7F42325
23C808670A0490F5B373DADE40814FF9650241D3D69C91FBC5ECE728F827D9BF
C928602E05477903449E079164CA39859C4BCA60C579F490AA455F82B5050BB3
969AFB478E0D4A257B3356EA3CD62051FCE6C6B1929CFF85BFDF166BEF658E10
3A55E007F38EBBB248B3F0B8ED1925106B499B762E45113AE1AC9DE09644C84B
9C08034B297314EE69BC32DB6E7D7FB9913CE5AC17E7335979E9DCCE2BAB3725
1976155551F9706A576FE0E3ADCCF72C87683291528ECB749CB0ED291966E239
B5E3630676BD409E08F85BC1AEC9A2D4135376284A96EA24431243BD6FE8B966
95F11A4BB53F392E0AEFEA623064FF8A7002367B0A515635CB2D2DDFB9B4A8D7
FE721754E81BBA548848A235B91AD4E4F7DB19CCE2F61D277FC00AB956EB93BE
44AB4970CA56BF59506C94ED160FB1E25D3DF2988A532BDB787BFB8539D22986
FDC378AC31444E63C4727FEE121A43751043849E6DCAC5B59D0FC703AAFBBFD4
E8B7C268F21615AD02CE9DABEFA27B5FE6A6441B619539CAB1F810F1263447AA
633F5DAF483752EF1A0421740E3A811D2D2898CBF53E7F686C9223FD7235F02D
6F90D2D48CC20AB87778DE3C6FB335E0F0EC20B5DC5B65223FE117526DE2C72F
FE839DF93CB2A7D66CD900CB325F891E311BEC932F703FB4FEFA29DB8B9C88DD
375EC71B3D58C7BC59ADA91971A3BDA1ADEA629CE6CC92BD542CDDFAA7706FB2
6CDDE2DF07E56D6741916AE8E8744339816F3E6C38062747AA9FDA2A2678A6B7
EFEA870AA3A4D71B25EE3013EAB1DBA34401B867C7A41AE51E0421D41D3BB83C
E120C8FEABA6E5DEC53A689C21426D4BBCB68CB37568761C360E6D4E3596FB7D
F4DEC7918E58C0293D12D6DDA7E9DCDAAD7C939F55CD1BC4A228B31E9A904156
DA6B40B08E6ACE674618B768DD681C772A3E55FE096CF949CF3B0460ABDCD891
D17B37B355B29AB5137899C036F31DA026244FA25FB798FBE5105BDA29F46538
D3D3AC1001A7BCECE64DE94FFE6C354166A0F97256137BDFA07F6E22A3D1D2F4
9588DBAE95E895BC5E64DDCBBAA8D0A22C229B42CB717FC711E7E9DF793DF80B
9F14754585A3C7E17F37B32924B9F9870DA8635E3E18BD1DCD81EDF01834D9C6
B33F23C956C2FCBFA47D84422F583459D827D1E120B97694D12F1F54D02379C0
D288F7104F3FFCF4F76E3494F4ACBD1BE3A15543CC680924C78A473F8E311ADF
8FE00A04C6C393DE61AD3EDA5BC031E2353076A2489391B52632387CA28A7B93
FBB065A6EF3658AE80B1ADA47E9B2539E73A71FA75645F85ED8ECC257FB4CF26
B6C912DE9D0F9899E70BECCB934AD32CF49A093371A9F73DE6255EBC39DE1E7F
00D0CBDABD4D0383977E694890E71FBE5C376BE5F3A80C28987417504F515C50
909F3D31178BB9B1D085BE514F71B910A9085BD6122DDC72A150BFE266920E49
5661BCB4BAB51D6DEFE32B616963DBD989FCDD1637B294CE4E288655FBEFA1BF
7F25BBF8CF17C2D5FD161A7C2CC9CC7490D9BF15A1D35B3BFA43ADE256E88BDA
BD490D92907C57BAC408A575EC84D6AEE070148C7C9A91C03B09FDBD792E8FF0
C0B886AAD2EDD86541E5E579359D40E3AC312ACD3D8FD49F71BD533DDF8859B1
BAF17F1884E331DD07CEEF93B71D492AEBAADF7A263450A7A72210CE630A0D37
BF024BDC09ACC882816B8C22C62AE38A3A8D0F6EBC2B1B2C0B8161A8B076DD5D
4B779C0788546BB4CF57332230D237856B00D79C28A7C01D11F44B7304F69075
94B97A745DA43D1BE561372CE611C345A843834E46AD9DDB16CABCD3FA33D6F1
F6B5C0497F5EE5400B305CDC16A7EC286AA4D45D0EEBB9DA06AC9C5294D68EC9
E4DC3CA2B92CE8FC0526184A86EDC7AB34D67E60AC12D9CA8FD300235EC968BA
92C6FBDA47572BC5600F25249F60AD287CBDAE980E747FCBE7EE5CD323E733F0
63553B494D3DDEB9CC1480B5C3BB79A28E419AA65B18CB297AB383419E890E2A
CE6F98C9900CCB4675280A10CF060B8D220DDA1BE55DFA65715EABCC1AFAA271
B1F8732341613E17B231231A0D24D4D7FC198AE04D89A99C4536217769C6FBD9
5EE24A6302F97438F7C0E311C878F674B4477A5ADA3952CDE4055AC408B8174E
86F8FB797646DFFFE0ECA25D1BAB9A9F71F3926D3D85AA63E7A8C931D71E79E0
AF1EAC26FADE468F4FF7F3861D14C10E3BE1F9EAFD6D3A544E8108D5DAB5B180
3950C74818BC8AF4758A108F462EF1826647A49667F5E482038C54716856D9BC
35F29922846D2148F92F943E951D7438C73D6A60459A8003174036C64E1629CD
155D47FD04B03C023AD67CD5A70C98AB556EEAB8C48169706E5B352F6505D580
AC945171BFE62E81F8F500438AC3B64D857BA5BC54C2C4BBB237F8FA51296255
E66A92A61FE13FDE781D393557EB72CEBAD86511035F775FAC39A0479CCD400F
226709118F887F47CC2ECC8F79816D4A945B2845F50AFD62D8C9A9BBF4739496
9E644BC9F7B04803B7EE75A09EAE94365F6F374B4FCEB0B506C76297564B9B6B
8B812BC3A33929AA94692572B010E6210AEAA312BDFC88BF302244AB9D587A9B
919823FD01DE12438D960944D1977800FEB49E638C32E5B188B1CA033E0C37EE
A142F746367888AA119535F0CCAF7EAA461B790EB089D2D6962E28A398439BB7
9C9943654D7A2D765B46BC0DD1F915327F369162E1BA1BA83110B93F442905E0
523BFF5E279508A98568CD5CFD18FABBE9D17265A9081E7BF64155A2CE3C0DF7
88D00671AD65654709589BAD7EA65BBA811387ABA5CA0BC3F66D3D48597A0D1D
2C268375DF47CCF62166262AE4840AB03BF49BE67A05EF66328EC729F03CA5FF
AD3937FC053E223303565DC771ACF32E63DFB96D5030E787961D72D02C195C66
B48E9AF0309DC169CFE8D16E2818DA94693A18F027DEA0D9173633D9B50449E0
F9026E7A4CC1A3694D6C030E5AE53C0DAAF90B0046E22E14FF2787AC8194C42A
4B8846856AFE4CA20940A4E53896A851344E2E5538B9550721332077A972C793
89CE532A20FA4A52F80B5D7EE0FF0915523A98E98B71B8ABB4D7F35DA6C05364
A8B3D5DA9B1716C5C4D4402847C5A9BDA2F668709D51041BD566B7E1E675DCEC
1AF4BD172F05A73329FBB30BC7D1D7EC85FEAF5CF1ED6BE70F7526E115381BF2
47D955C5032404DA2FD82824C73F530E15E157EF023A2D9B50F4516A611B3F99
3803C6EFE49E08AE983B4D15CE6699B5111C0A45913DE61EAC437709143AF4ED
0D5136428AEEEF3776F9BA48212963150132D63DB4098AC124EE86C3AC7138AF
B90A504A1E15524BA2662D7E0FFD6377FF7CAA3B6113DAB8AF64837C4A99D99E
A499EC597828133A4C6421E0707E7E978C9B2A459620D0CB189775816D1421C1
87110675A765C25DC2FB607ECCD8C53F705B406932F41A9DFE08
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMTI10
%!PS-AdobeFont-1.0: CMTI10 003.002
%%Title: CMTI10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup
/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMTI10 def
/FontBBox {-35 -250 1124 750 }readonly def
/UniqueID 5000828 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 110 /n put
dup 111 /o put
dup 116 /t put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E
2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A
EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD
8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF
CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2
7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC
32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09
482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF
118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381
1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC
C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA
8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4
61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20
C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504
3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70
9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A
D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0
125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8
34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A
30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9
39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49
9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184
2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF
0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348
3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D
9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757
802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28
FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0
98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9
5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF
AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD
A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93
5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815
DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37
4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC
8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B
A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362
E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F
42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96
3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59
A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F
7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4
49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428
D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C
0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955
CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485
1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB
8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388
6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468
83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29
60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284
42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2
1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A
21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA
206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9
D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7
7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B
55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4
6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762
4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392
871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E
9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645
DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5
41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8
2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F
220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001
A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D
981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F
337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8
139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B
1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC
100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A
1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905
F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB
72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7
A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D
310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928
7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989
1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2
8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33
80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610
3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C
C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996
4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB
865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B
301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48
3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9
1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B
E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29
0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0
30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E
2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0
C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89
14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A
44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC
CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654
DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34
9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87
4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3
2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676
21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26
47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4
F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9
D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F
03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5
886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8
352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD
9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0
9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3
92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F
821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93
3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0
47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0
F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B
9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1
AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71
C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978
B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED
D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD
F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E
81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038
970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C
6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7
97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668
A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE
AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594
971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96
514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7
8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C
392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170
3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F
464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE
C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E
F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053
911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6
261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED
D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA
147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D
C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516
C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB
61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD
FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3
F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C
2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C
7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193
11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C
9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66
C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3
1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692
5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5
6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0
EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E
F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23
AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D
8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94
376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6
B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B
02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56
4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF
9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD
751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198
3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A
40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962
2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360
D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A
0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E
8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946
AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA
E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8
ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7
E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801
21254E447FB15A8D020E976D8544D374B3A5974A7F194FDB147A2350923DDABE
457B7AA8A2D05B2B993D1E3D64D048CEB465BDDB93249897B7470D7885E09640
0C493522A4B260106698DC076B24ED70A29B29ACAD8E0976BC0C4C647716BD75
A008490BD634504BD01639C0260C04DF791FFA51D5BD6DB0B4881071E7BEA3B3
B457217E778ABF7E5CDFFE6E0408A8414C68F7BB0D5E2DFD34798763D6EC004D
0C5E1CD575A379579F80E0036A8D3CE7C9A033D993567AF9959567FF8FC473C2
A2545ED18E039847BD1FEBA958F0C9E5CEBFBC3EA8301823629A588F77AFABB6
5309BAEF9A4E762A1C56434E83FD96ADF1129585E409D3148E4BF724A0E0FB52
8655FC71A34655C85F6D8A0CA2801A97547AA83ADF8C829D0392B985C9F2D60F
8105103B2EB1600189CD93ECAB2449CEBC5D364576B73EB26E8EC760AD31848F
065DDEC8D51DB284D7395A719237CF2262946EA7A90DBF818272ABD8799DAD3D
98FA7ED773708399D198399306D44717CCBF6030C5B68A5FA420B0132974120B
D9C8A6FA8D096854AFBD4DF4E9188CA4D9CD3AFD65DA452D7B642DFA305F8627
2ED7406E4E11D522C3B700C1C5D51131D6A8813D89CBDC469AABB4E8EC4A5649
EA75095BEDED116B9CA61D884285A326F1527686A507912D8B44333032BB168D
58A2B5532A76142B3B7F2157D17E70FC65BEC4A9DF1830F40A19FDF862001A66
EF30F571470D58962352EBBEA70134564F6BFA8D0D3E5738875018EA87587137
990C1F817EEBC1C5EE77F4001F9B9AE40ECAB505BC87EB382E6D7D1328E391B5
6925F46E63D26EA1539FC422C4E7C70D6F8B3EC291709E3E38E4BF8A613D5973
FBF6EEA30CFCD0EADA75E9C148EA563A0EA36DBC72D99E72D3EC18EC
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMSSI10
%!PS-AdobeFont-1.0: CMSSI10 003.002
%%Title: CMSSI10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSI10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMSSI10 known{/CMSSI10 findfont dup/UniqueID known{dup
/UniqueID get 5000810 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMSSI10 def
/FontBBox {-97 -250 1077 759 }readonly def
/UniqueID 5000810 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSI10.) readonly def
/FullName (CMSSI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -12 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 44 /comma put
dup 45 /hyphen put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 53 /five put
dup 56 /eight put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 69 /E put
dup 70 /F put
dup 75 /K put
dup 78 /N put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 121 /y put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7E94DF619E5D4CC604
78288A019B254A5A0A8E2D5ED465C9DB3CFEF0F444DA2A7DB2022495EA1B3FF8
BA3E769C503BAC77336BAAEFA8F7B4BCF9BD63253ABE621C7C696DDD22E0EDDE
ABDE1706338BB5F604B4F42356E2A96751B8EAF1112A1BE30B618E7F7BAA96CC
A264B5EA7138FD007E2CBE19B1F008AE13B47252D2956A06299FB28035624C39
08E9E5A4BC08DADE08861DB9940F6F0FA67E97E9A73C9F41525E865D0BF68F8B
6D48D1595EB69B3FF78F5F4B18470370BA219A010F9B5EA904289205DF20C7EC
91A2B866BA05251BD3D00FE5229CE2D2F220B6E25DA5B3C0EAC68979BB312E2C
532264814FF214CBD46C8B9C8E45878C9E28FF334C5CC7DF9D378EA5A37986DF
0450E2D5645371B8C577C28A008AB7A702E89FF337A17D05AFB0FDC55856AB3D
FFF997FF51AAD70FED81A5D307FFBE26E862070E361DDF6D162934B7852D2FC2
F3FE611F218E28CE0B964BE311E59D8729C7C0FC2B2D5781F73C87D64E6388D1
D7798FE70E74E76368174F5E055FB8CDA3809536768B0E6028826436C7E6454E
895EB7E435FF8AA342BDAD46A2C7BE5FEC83B8AD16F2C773F55F58870E70F2D4
FFCA12D89B06A706CC204383C0238C17EFD01E0118FA4CB77681CB7260BBACE8
30C8E7B16669700F884F234C36EE9694841EDD4FE5644949AA28AE2745FACFDC
CFEF1590F99B0DE494BB0851205DF4E7F2EB88CFF794DFA7958F6EC9197021DC
D4C3590B2729779345143AF6C349CBD2F17AEDDDC23AA8F0998C27170C44FE2F
163C1E2FC314C6CE27D6CB497C3A12F6D10B92D699E1578C23B5D9A907EEA297
4BF7D5C4ADFACA310E61EBE5655745FDCC48B661CC2D3EC016A87632AE410B69
C2B98B87D3F46491EE8611E31CE17843B05C05924FA42FBAD7687003C14599DB
08D72670855271EA55082BBF6AC146D452C1531338138D9AAC7E4D2F0CA1FDAD
11E4CB830A9F38A83999F6F0ED15D12FA631B8604D4E3018E625C8BABD8E1075
93F5E17CAD3CADA2210088E71C02CC6654DB4E12F8C2B6B7EADE37E52FAD3FD5
83E45B62FC9B573A6068EF3B43856CD4B6C3E096BA93728B05AEE2BB96C60AEF
58214FD24DEFA63E3FA299289B211A57E4B0CE9EB58414FB78E20151BCED3F4A
9AE6B1D7ED559B3B619385AA8496D6F56D2B353E4B1BCCFA0A50247E283B1540
4300E1119F710664ED5DECAAE9087B8C0CBA63F3FA09F217757B8448D13648BD
D16FEAB50D245C198EDF27C8628CC7BD02385EEB04AF8F4C76308BEF4D640C8D
6F2FDA7BED98F1498CEB1226F009BFAF6425265EC0D13FCACF4909B7495F4211
BA32B04A3B0BCBAC89D6A9088C47C47B4BAC36FB59D9B5D73B2E9E926A9DD183
1AE00AC58E9485379FC6DA119EEA3F6E478F22B60A464F192B2F43379407D4A8
795073B4309C27D8E945468055493D0204B4A57C39CFDC951A04E0288775FCFB
DE3993852671BE697999C9831A33CADEA75B369C179EB8A807CFEEA5CD97BC55
1B0EE49DCC4B6BF4137124123626A5C91603B01B4E0AC759526C129F6AC5BE74
B77B4E431B596E29C17BCCD1CE8279E9C00DF7557AB25770FC9B02762D7EF141
84FFB4730BB8451A485F784A34647741D9B8D2127D158283E01B38BDC39BFA8D
EAE249871ADB347827989E11FAC23F76C2389F8E883B01FFD1EA4968B44D1B1D
760A1FC8F79B50385D8327D6A6381923BE9A2FB8AB0CC6ACAAF5C7701C8F7BDC
81424F63D2CB312235AADD050FC4B71448EE02B7B25C82B6BFB070261919DC1E
32F5E6DD4C38691581D472C254BAF83D7F568016B5AFAEC895187E88AA4D05C8
FEBB3AEBC348AAB84907BC4D85C1F888ECAA5ED2714598384D7369F5FBA0B92B
ACA0B6BCD2D22F9F10B27FBF11A8AF204794CED402A3597D2D469A99CE64BF1C
9242867251B8EFEC0001A1ED0F470A4346BCD9DA22C005A079EE1DE3E33970FE
56620C318D2FD3DD9DFBB773B4FEA7FEECEA9FA1923AD4B2F49DAFEF48E1C529
DBE9EC77299E02DEA39C7B91F9E4F6D68EB224F4555F53E66CD00326CCB5FBAE
70243CDD407BE63DF7BB85E70A99F8B58BEC1562C290D8E50666E1E4EAA484DD
487C567B7BBFEED34A65A6407E3D8925E3C667AF40DB0EFBAE2C07EBE60A83DD
C1A02842861C994C4D314A87986CC94EE74DD4E29AA9E70F393CF956D3BE586B
AC618055571DE00541BA60D022DB49CB62C13FFCB3932DFBFD2D52C8F0C72F1E
9337D95767E376B80AB35264405CC5C385ED6DC9F95535E00C5252DE66961AFC
BC7C83ABFCFD5E0A055E37E7D261A19039D47EE792CA30EA673F80C48C0EEB20
DB21686ABD169A45DB94E35FF086C9946F51409E9E0836041081B04F861838C1
87157DB76A983928BB4122798551318EEB70A32C11A412FD56B7805BDA93AFCD
B11D35FE799224AE30C3BD09D971AC651D06184FCE45D898D09685009DA35EC9
CAB63751F8241297562AE2FEB577AB074D36381B0E5FC0DD5572E3A3079B166F
56C42FBE6147FBDC7EC2ECF6380A70F87D1E44CFD02A70BB3AF4BD9D350C7B21
5DDFD4FE288F0D9EB2FF4C24612FA759B41D0854C04163DC973570B974BAD7B7
BF766AD59D543E808E8F56F831472ECFEECFA7BEA74CBCCB025AB04079AE0838
75852BDC83E1D723824761459DA6A8920A27282043C38BDDB43157A70D552072
400E84CED5FDFDA0F09DF94431956F304F6E92F3DE5F99874F995B467E2038A3
B9C787E650C4A31B2FEFF078BCAC93ACA5816F5DC3FCE322C9DDB15E34856182
BA15F2D56FF4E91573BD2D8B34767974BE928F10EDB3525C2B259F320DF99B88
87801826F2B6AAB2C178270B27730496C44CC83C8036EE6D7D33D6D4C0D871A3
62B7BBC8D8A4E86AEB2CAE76CC7B091B7DF5516EEF043C7D2727FE569B2E28FF
F6BCC6FD3696A85CF5ED26571BFD346494CD6C0974BDE257EDD4A2C53C70FA89
C81F9D32F5CCBAB39A7C00A1BE116FA1254F291AD26C1DE4CBA27BC03C5E5561
8E960A7169F86C0DF884419ECAC607FA82B00CE0B41F7696B2C384582AF6A986
5A9FF800D3A1F4B6C2524F1A4300B9FCDAE2C2050B9882BE4F512FF539FA6BE4
C9577484EB323E7BFA5BDF628875A3634214B14947F7C16541CCE359F72A0E27
C0DB4CCD1653693F7D0BA68D02D5A61AB516173E794BBE4C2C3F34ED9C33BE3C
4A9E20A687498DA1DF7BCB1F6C595B90A5730A10070A54180318A1BD01844585
E78C6EA28EEACCDCB49F1CAF1D21EE97B1DF74523291FCE2ABFE2C000E8F061A
7CAEA494183B9261307CEAC6CD13B362130AE56A651DFACBBE7A6F6747CB61BF
F94BF393769F2A1BD493E1E6502A3507416984FE0F7E509D901A106B857E2448
7284E7ECC2D316EC1C54EE4FD7DC9972DE33B46356E414C92CF8DF9E472F7FE6
7404362C8DFF6BE223B8886503A83A83348F7E9F88726CE068C904D45496494C
641E4443D9474344508ABACF3FF3424383D79A8BDFE6E9D9138E660EB3FFCDCF
8F4E01B24B3070E8B480064D946D0D200F4468EDDF7BDE9D3DAFF03B6D8165F4
0CCB584D542D40DC72554A7597A19EFF3BD72B8520EA71A51048F15E2CA53F3B
C3432278CC19751B38AEB52534BE6CD9BBD489444D313F8C78C2C252AB25AE6A
5EC7D05F3FC21202C4B30A7FF9E1BDC6AE3F6B39B1E09F65E95292FBB1915D20
44D7212A60408FC0F5A2E957BCEBE93DDDAD35D05D23F7E58A3602FB3FC1D431
754A3A21F181C437437D7A22C402DC82275DE903E256979985B6E794B459FEFB
393317FE573DAA5416AC52AED36AE9E79040097E2BAF6A0C6CB68C346E4EB059
5E8A6AA1C751CA4A4094257C39ED48FE4414BE73B4E0BF6394FAC05CEEFD1C3A
F5F5233CEB4625752057789ADF113E1E2F77F5B471A0AAA761AEB46CF37C2360
E701B0DCAE13D4583D8DA516BE2E264230DEEE5053AED15368B6CD81DB761A49
9987A07FC48E1EC246D04D80D86B32F7A093AA23B769B0DBC554EE48DA202C28
55847E3D36D80B7C8E779DFE6EAFE3EB35811A1EF80DC639195D5810D90B4DB9
6BABF8F4468AD92939567DEB43BB00CADB46964B73AE13ECC82C3A57A63A23A9
92A46206C70B027CE34FB81E6919828462F8C2166AEBE9663259CE5D4CD8084A
8BA479CDB203F1B0C3579B3E0B8B8E7AA616D798970A11423C391C25EAD95351
A46A856512518A92C7693B42BE92C2E375047E9DF8620B624AF8DCF2836FB1BA
801C822472AAF5AAA719038D3B53D0AE481753F2EC689394CFF9A911C42BE535
C5B4A187712D487C63A0C8607D67D1DBD0EE766B526184768A93416366B2CCF6
364F2D24B44021D0935CAEA289B120A613378399B53E2B50C11F67B7DC4BB1E5
861D745B7FA3C7906AD591765884FA7D746A19EF86C30309DE0F43D4747EA290
8E3C68BAF4D5F4C0C4E08DCA301E46AE3A0141A58074BA2EBBAD8B3F326C240E
ABE33FA5AC689444E7E04B78C29E49D3A128567D08E712C5EC42EC1BD3D95E19
5A7337B8AB2AA410EF1C0EB31D5766575340016CE477CBA3478FB68A98362C60
18CDC9BA410A545AB339B2AAA2934222DA734F6A1AED9942B43B18BAF77FB63A
71059FA66EE04B76730B499FA022A52139BEFF9CA6CE3F9855C7706E3F804F6D
D622A6929D049F921079DF979F31828C31A73CA0238C0D2F11BE2FD68F2228EF
BDE9837348C10E9F08477F754F6343A39736386912D6BC865BE30D1862BACA23
0DF2061049CDF9F894D73A549C10E7BE7790043F9A642E4676F9DE2B934A7F8A
7B0917DDF3255E6FE122D88DBD80252D0C1C8047A13F835E3FCFBFC0AA1D92CD
F1CAB8D1C673EBDC5601B84615F513E4D9FE1F8CBF2337C9FFCDDAC85B6922E0
0BCB0DEF0FA647E6828DED2F5B20F227AF3A792C0C63AD888D7AF39B10171FB1
A24840EDC55158FF3D8513C89F666A2DECB4AA4A1D46503919A4CFD911977DAE
4779F23271C23BDF14F4EF8352D9C66A7C24100C28CAD7BCD89E6E344EEE173F
CF8BD462E1C67F06D73A9085A2AD1EA3DFCD19EB5FE217406771B80C8A3EE798
A4CBFAB9AA93672B8FC9D02014F7076FBB477A777867C6A6AF2E6FFE3CBF3917
1E4F68BCED22EC345F87A92480F4568006BAC16A2DAB940CB9F3462D254614B7
78ECD86F7C3B3A7DAF06DA2D790F353D9254133C38D668C38082D0CC1BDC226B
4A7EBB1460735A5CB04BCA4D71995483CDDC9EA7D3E070C00D5EA6DD4AB539E7
E5C8E436656C99F30B3B464E5BA6CF7025E098C1FDED8B76260ACF62D1A08DB1
F126517B05C47376D20C999565399B06CC686A817B226101AEE3644A706F3767
372117607576BC2B9AD2637DD13C76F9CF2A356F1B9101496868EA8875C94C3B
D181936A02D5387D1C3C285F2DBEEA25457F6A74FF7E00449FA41878776C0DF7
C58FE07009574AE6B457F3BDE448E71CD04AC7E3C22E0CC8AF56B8B5611C4014
3CC20A39A5FA3D9F6A5599495BA0457109823CE71BAC2B7057AF826DC623213E
A6738E640DAECF08E69FE365741CFF8858337131B53A0AF9E49C3655F62E367E
DE824A37A5DA853E1DD5970EC07D3594A59DA1AA85D4FFE3E9E7745FA7FC7F2F
AFD4B9405C7907F383A5149D4DEACA083B457151CDCE3BA5F0C350945E8B92A1
635239241B8FAF7704E3013EE5D21F421254F23194B537C36F8B673E70073189
8B2DE6C30159232A2D054AB8254A450759ACE9C0B94DE035D9D6E5024E8AB56B
644A5C3EF00A5B2EAC0F89C5FE8D7DEB9BC817EF1F87C2BBD956AFE4DD4B50C3
A3BA4931A32827E612DC3059E97069D3894234BAC0E9AA1DB7B7EEE7F97C648E
0B7E7012CA4977258733C72CE466A2EBA8F2B391BDB7652BC07C2343FC8A4B5F
7C6B926D1B751BFFC6FCFDFAB9CBFF6D630CFC8BF374DF4DFB4B0845237E1E0A
E2D044324B4F05C8C96970451C9348E8AA6F1153EAC8BA1C57FFA09B3A181CF1
3EACE89F204BDBA7884FF6F90D1D0CB578DE1CDE56F526AB11F9DEC4FC09642C
A68C8F1DD2EFC7BB301279F474967B1B10DD7FBA6B09B95E7B4D34F66CAAE07B
F792BFE7755882FC790961FAD109A7C35258021DE25BB14410828F9122E01428
D72EDC917C835553A30FBCAE5D067266A205DDD3AF3A4734371426968A7BF7C7
9F48A5D91B596D765E15356F388E74D100B2243D230BFB33147BBCB298320930
000670CB15B7EE9C787EC751621851C3BD5EA6E70FDE66C9834189A9B0D796C4
1FA4179D594B7E8A39987A3DB806F337945A02DDD2B33D43F1E39FD20F41CA25
BA3B5ECD3B32F961F4A98BE40604BF61732690F3C8B247C6E381AED4F277788E
223F8EBECE8CBA7F48801118966E39D4EEEE3F04B254A87EB21C2E4B00F15AE6
F1E2E59DA6353A45BD0A5BF4B822D86E0E7237809C1F0129B83BA2DF82D5D54A
522697FD78DC73D8A75DC6BEE09FC523E5DDEA837BEDD90DEFCF214640DFD4E5
477FD73B86A08885AC44CEE72F0E27AA63A901F2DCC7C42EC261EDD9699A278B
507ABA7BE7101057297C6A3D67C37D61CA4015E7A46C30202617F3585D719309
7DFF48AF4FBDFC7DD9F66E9549B8B800DDFB2D8AD69B3C6D2C3410E982559191
93498926825E6A96A2CB12F8FD15F858AA28E4F9A9D1457D7B9AB16D9B9D4D45
8FD6853853DF5851C529D134CBE17C6B99A8286519535CC1368407909A5B3CF3
C75B4F86A40BD2EAB1918F03D93A283EB119A8F63E346E7502F0CFD12369B2B0
09A2AD610FD210E8CBAEF4C0498B0E53BF4EE1A00B0C067C113F88E5E000E6F4
FACE37B09D72B4242CD320E4F72F5E123E5578ACC48F604124A0A45559E1DCD9
B58D9EE14F3BC6B4452B9236F6A3CAD7FB7E7D5C949DF2875CE44537DBA8B1D4
C7ECEB76F55EA06D56209E0BAC984AD37A459B6C45B4D7F8B84CA66BF274F1D8
02BF247751733715BDCAFBD55854B0F436BCC787F66B44784838F56AA29F83B7
7D46F0D88835E45159413BEDFEC525BDEDE44291003D313CD2268E240C2388DC
37380A430557D988332DF505B16CE488AF68C8F8626B7EA790121D6ACB87D94C
83418919E0CAF58E41A3E036DF13D13C6B107500902A747CD7D7BF12235A766C
00539129C31EA3E738733C4E443698673AAF4E9588AFAFBD00577721011A12BA
D556591A82E2739AC4234917DD7A850C05F595BD87E0F7719D42DCBD9D724C85
520006A9069E1CB2557D2F97D7A0C54AB564DC62759F793D60A4760854AFB05B
AE445CB9131D0C14B6A6ADFE12DB225684D8254EFD295E7542031CCADC4B27E4
F579C84F35DC502F17DAD24C1775F15F505888F0C3E0FD42357ED07FB5076E78
E862016F7E5835CD5BAF87CECAC4BC92375B426E9512928E748E0328947B1844
E251F3A6E99BAA5B97045D1ACA798296D0CCEC2044E59F32075BB7CB7C636BDE
755916CB59C802761A99B211EEB550EF9BC14AADC70818D0053993C9F299B3D5
AB1427B463A4D76459385F036A95770A8157D225FB75B2C92CA39D1AE7411AD7
19AB8DEAABDE9A2F7530B474CC7119E4335AE12A9CE84BA7FA92AD46D6A7AD54
A676EF1B2B0F3A73E6FB24B20F9702ED522DB7BC30DD2212ED63C88128ED1FA3
7B05D70B0BD95BC58F1330343EAD91AED48EB4252314CA3B7FF921B61E040858
EB3F545F8A8ADD86FD770249BDAAD02613AD5A45C3997E33188E59E004E2255D
BDC14AFFD80F49365D5006821F2A4A2F801820D4D1DA9D11F02CA514EED93425
742D97CC8F84E529FDE0BF4C6437A849A6630BD6760B31870D69C4C15EEA09E1
831354F7C4A70C5F04DDB4B27952C3745B76EE5B168F047E59360CDD5D084D3D
BC8BA0C569C7DDE62033CE401D65C35DF34D2875D4E6E83E7854E73F44EDBADA
9368225C6160F4B0C4032A9800198C83EABDE656CFC1C1B65993D629A1BE0263
41D83EDDCD589F05D1135AE5FDF759260CAA81FFA75E52E7721686F09ED30B6F
A7E3A8B23FD647A7156FC46A098835E130519E9B03D51BE72D93AFD1C8E26369
1003E8DECAB113FB42AFEC3EB1B58E4D4C57DA6A7EFF05766E9640AD6221244D
863351C7E11AAE874D2C37B6AD9F9324344621662E0F626F85F2466C4DD58751
8CF9D2ABFFE134E2281BEC8D06F7B41B1E46873EDDD6D5EE7953B988399A6C98
57B8186F02ED58B05FA74B94FD084CB58F31EBFD5EBC64404C2DAEF49047078B
06C8A968F278BA7BCA00EA900B268D520162BD000C1F8359A11D488DCE3E1240
72620E53A10E1A0B555FC30C8CC126593508297A962130FF121C9621988B5909
B8DAA24AD638AF9C9E4B9A8A99F13E8E0E1A1C7666BA3372C3432B5BD650F404
BA14C3E9EAF67AD47B14035E4555E73E38D51BE87D6819BBE989CAF6F7B670C5
B0D37784AA64A2F9636175C36B9997A071BDD275850A4F13A09FF65D57BA71AC
87EA99A7C3C898D707553AA905E009F13662C2CCB8A22A4D6A236642F9EB8BF5
65CFC666A8087C4B9D2B67E91911E03F9D9898B246E414AACB8CA8A22522A688
2F513EE7D3DA11312A2B33128BDD0D9611564C99CDD4218B6097B1A8D527250E
D06D7A6E316CC400C43D101C708062E98B2E3E6F0C2B4843A7615CB8F7A62B41
1B6E77C241BB03BCB2A0FDF5C777A91F0B28330E00E9D2C9BF34F9861C47C420
B509E436C446CCEC37AE97A88E17EDFE1C1451E1F922E7D6BF1C07FCF5BA55E5
086C44F64DC8CF01E5B7329985500E0843243FAE19FFC776DD40D3CDFD3F3F5E
380A603BE26E115F1581FA37FDBCBC3F74BE8B7481B377258AB9883A9FAF4AE0
2BFB5505446BCA1A571E27A0D6DAAC312F7F5893A55D366E629237CD018458EA
ECD90980C2E25FF13A928153E48347A50DBC46E60BC23F2AB1A25255C7C43B56
ACF69FE81D608DA6A4744E88A4E6B3BAD37085DCAC470CFF413429B3CB33647F
DE74E89C657FB6E95DFF863F70B0FB9C9AEA84AD4026907A4F2F1F5B73394E54
5F24857D07F27C2B7F05565BF9B8227CCC870E578EDA8333B280CFAF6AB53FC5
986EF9B3DDD2F97418526B89F3C166735F1E9FB8DCDF274326E41A9475789638
29DB011B8508B09FF0D016ED1993382FD8B112AE89215955E34DC8117544FF86
9BBEDFD821636C4666D5F85A6285B4F072A6B2BB39983E940AA149335E5CA57C
9227EFDCAC25D1389D048192A848E2B57A0DADBD54D759E24B73CF56A580C38F
6C0A41FD898F28B86A7E35F1D9C6301237C35828229C43A10D5C2F624EE80616
CCD087884A919301754DB026DD7B5D0BF7F92FDD3663935D92716C0A6D73E432
55E60BCF8E257E2B16BFE9BCEB5E1CADB082EFF5BC8362760F9DBF482AC53550
DE8E7307CC94A17269F4E072C214C30965FF8001302A33A6682FF1B646E7FBD9
82FF696174772548F04BF5703272CC5243915C0BA12E1E16A8A13FF1CD91832D
14EFEB996D87395BE57985614DD69A438F06D3EA35C1984FFB124253DF153BF8
7A23E50A601A34E20EC2ED6060B4A305BFF150E99F8C1DFC5FD0B149AEA55338
4CEAB0B7673B8B33D18E2BDD3BFDE7A0B0269645E99D74B913CA74225D35F3F0
4B7B868BAA796203E6FC720E6CD5753ACCC84BE4A4693D83A216C3D2EBA24606
EC2AA7D30ACEE8DB8724D14D4DA28FD3D0BC8CAE5F05E8F667308D5D291DC1A0
6A04107B93A6F3BC4F5C43DD989CECCAE3C263F32E1D87BE884203FFF304CCFE
AB8D782E001263982E436750E53C5A21BE7B9F25D6B6CE178C529CD741BC14C6
A9DD3CFBFBAAE1381BF375F622054AB84E487A9715EB718C09072EB43F173BEA
EE0A3D981DF89F3E2911C8D0180B2FB117022CD3BD2728FD7A2B210D22863741
5B67D94A4512A6CBF00F451E27AED24BD1E94D2C33CC1F5BF10618840106C79C
0A70C547B6A739AA763B975C5AEEFAF3ED37DFCA33BEFBB6F17E8DE96E6E9D93
DDAAF22A7F369F9564E688729112E25BE2C8952B496196705B72AE20FD65DC7C
177B4564AB3F5E2C0D744209BCDC6E7D732071C9EB9F35386C29174C110D3714
00420597CE811D2A891F845029FAC350278A79641FC2E62D8EF85DC4DEAD6362
0945B22B25EA8ADA8AF3CDC1B907510BC028EEDEAC9EC1048B64B576D3B95FBB
0864D96DBFE6408C5E680717A4C6D6BEC5D997699DEAD866315D28483F96CDAA
490643EEAB079C47836DA0BE6EB432467BA84AAB278888E0E3520072AD999759
B3BB99066BCDDB347467C1185CDD9BE1B6EBBA0D1348D1F4E41A78FCDBA97AE8
D0A3A4619754685259ED1F24CDC39E36651307384467D51D7E15707B8C0EE506
1C9995949B334E4891E0107BFC45849AAD5D13CB0500106B9E35D30F4C201AC4
6C7F64C49DFF7921BF765BA7A840F757C192A21986765CC69A0B8B5678BA03EC
06392E18756AFE81DCDCF2303EBC515E7314A2F030D6D5982E971B6E76B75553
6EE103CAEC61923735BE23826E6188D2026B9BDE6D5EDCE539AABAEC01D390D7
1036913A7D9149AA8B386999B5A78B7EF5315A0A07D6125CB2A3E0C6A6FCBD0B
627325730E613C31937DA670530780EEA08AECA730C1246DA651357B7E4CF808
ECF5E9E2ECC28357E4F5857E21396BC04582D0CC7647049A830AEC277DA82E31
FD28E305C18C408AF4C2EAAD1A780BC7165494EED0B109E7A61265441D0FF0BF
716E3A275DDAEC49579CEEE0CAF3C1BDD39DE0E958848550405962DE23E298F8
EE78171374FB6D4ECC267AAE3A44E986CB5067958AEA67E2F5FAED6F3455395A
C9D57CDAC571B5225619FBC801C322004589CB676D04CE4003E534FC74AA77FF
1A400A6888EE3A1F395D31CDC412C39B27A758835DA380D319A7C4586FA682DE
4C2C311F3CFA0AB281D2298B97053039AADA6136ACBD090582D552F7E5DC2335
2F3920C0B7AE12AEFEF44EBE0E5C46F1C8723DEC22F8D4A4081C88105D41D305
99F11751E1CDE4F9A4FD1DC5F46620B18ACF5273A0556B046C2CDF9272A6B093
9EDC8F4A07457095C29D741DA644540C97C8CD4DD6422931A875B7D508ADE031
30AE4E53B076358780D154B8DEC44CD4634415BD6F6A5ED4FB67B6C8BFE46E04
0825E942E3372DC12364DC4258D4581A53C84F7B40FB8C2AB487C40C076FB2E0
2119C09604DA55D04A3CD71A64FE3CC40630FCF4526CD23D9209C38A63CEB5DC
5A38AB584937F75DEC7849C7B87B986D2557EEC20A621101055EA371E13B0F44
695CBC4E1399DDC577E9B254F10144357C88F1F6FA97B2E7C589BFC16A4EED08
85B17967429FDCDC16A22EF656935BB2C5AD7C1F7730EE9CAAFDDC680A876555
0039AB74B913EDCA4B4847C9EC328BEEA65BB634FA3CB8A830E3D244C25ECADA
9C3F7B64242779AC2CB12A43A90994D3233D447EE89AA1439FEA5A924AB77B15
0321BC42C8129FDA3AB471AA002F9EC629E0E59D792A6EC43C7DC815C83BD7B3
E8859C3CF707C700300BF475F585B2E61599AB988728DE07E8FAD97794F7F72F
FAE04D436AA069C28DA27482F62102FEDD78B0FBB3DEC60EEF6F3B34CAD38DA9
4C580279EDA8B9978315805539D3FA0F91E8FE31BCC0D841EEF75CD810F95714
19CF1FD5834AED4C2ED817B62E571D4C42971788692DD2C4323DAA4032323A2A
1F8E91BE8CAEB35992C890159DAF1EF50FC2A400CA13F716A694FAC7EB165714
68133A6889C968D989CF9A3130AB5DB9EB2403D07EA6B6A9790B31F54FD5D039
749D2B1D5BB579570600B5C051F83E2EECCAD8C087879270B60AA966C3FFE28B
C8F7E805074D665524205E93B828909410FEC4494FE71D2935EA75B8231CD600
B13411538D73B2EDE351F5C135A4138F10EFBC2EFB255FA3583B90014BFC5476
5D9DF52DED61C7B8D1D03D2AE323E2F97448546BD4EEE26C24AFB1F0F07B461E
7DFF0C40040385B56080F2D4C0F9614450A26A73FF410FA05DAD6865E207E3D7
CA06CA08FACA85DA4BD5494E2F6E59040063AA4D5554DDA97AAAE956C340D46A
04A3D90448FA9C2E4D803525F04FEA55FA48FF888CA9859560F90EA2884F04BA
EFA2ADC837D0C3BDD94AFC36171FB44FBF6C9410115348A4A0C3CBD799F05C60
AC944711AF4444B5C1B9A3A4D8486B036E8EB5E0A614FE46D0BD2C851AAE1A62
E6BC80F4DF23D2E8219D124D0EDA1A1AC4E0F6826F90583D1FCCE6072E3BDE39
D7AA16E0F84140812F906A63F1BD8693FE1F60259D3CF28BAEA60CA4F96A2243
C09331B283F4825A85FE23D27093A102335ED62571FDF43760A5C0B6780B8AFE
BB793C128307E65058A06B9CCD1FBBBAAE2A761179C4C4E1AE06743178940C58
FD24711ACF0B16C0A1FE73AD4A2D43A7E986B3C401AEC31A1282BC489F8B2856
2671F43D11CC7120789CFF12384E8048502BA3C5550635FE41F4B53D2B14FD50
B4531FEACBDCBEBD7FA6F340732F0C820A5FFF7A1C505E9B82AA5E805CAE5E5A
A979CB66A9821A8443D5A0C30C459ADE51B87B2088A12ABBDB85B12E8044F994
900FD73E924A4EE76A9FD4C5B72AE3278143C79CAF1C58993C575940A6CA1CB8
5DF299A27CC978DBFC845517A1F45DE76057CF1EB854044E1F0DEEC492842C13
C46509DCD78185EE8C702826BAD9988370CCF24C7EE4F64866BA4D61AA2CE114
153FA58F17B5EBC87EA46F2F23634ADA8957101340092A3703C3E7AD3A7C2C40
73FC655531DAE01E1901F71C2920F825D5BD2E60A8B4C4D05518C631CCEEA92D
729C8ADC9359D1C5B8CDC769D945A11E7B7B0B5A7136145DD77C84EFD04DDB7D
AF1305234C5235D94FE416BB2DFD7342C8FF24B11A07295240C9E4519B4E3ABA
45582FE5007A008602885FFA8D0C0C6E4929724EC8A1B1919ACEE2A84BEF4E04
182BC6D6687784B6DE7FBC853AAE9A30F903FCED1D16EB9B5FF9DC1E5E6EDB2A
D43F7E6497BBD11C5A668E6D76EB494790816FD4B3AD01F7FE4DCD3D045DA8E0
8D98B214195ECDA182F6052E443B71AB6EA5D68086449390B613C69D3A0DAFEB
2F29F4F306A47200CA7C1842E7F329A77F9D04EFF1636899B3CF49FAA3260ACC
9B278CB5E006A172134D2423396B476758B49C4B75E970F179936D2FF45887A4
04E9A6D932EC8AC7B3427F44D0085C80AA5FF08C8BC5FD470EC499AB11772920
8B1868513D048867337053C886F4D5048210BEDC4C589375CA9A1440414F2FB9
E80F9FD5729157E6DD07B2B0068F6AF9394E9C17252AB81FE68DEB609AD8A42E
50D5879D4D638EB76573BEDB6E78C3132F016BBC547D4391558D228FAFEE9A84
ACC27C6981A7294C55C87F6E3C4B4226C86D99D17E12FA91DF9CD0396B740874
7B3401AC08F2F3CDE7FFC1C95B8CC48D63AF009E4F6FA1D12576EDE381B150F4
0372997921D0E0B55C94169835A7091A4C335CEA972893D24386A1934F9DC7CF
31FB39CD70EC9E5D29D76BB9E12D3012F1B771D0B0F5E97C323332F4F89BECD0
DF217CE4C2B0FFC095FFF3DA9644FF0DF043562D3DB1E40D61D2236E43245232
F48C21CDF7E1E7C7B67B823784E45A178C724199532F5832916E44A0003A82A7
6119AFEA841CDE11182F04E133033CA72F75BD1C911D914455D9B1DE47B93E80
F74593BD8385E33064F7524BFE81BFA79544B1A2F7E96885054DEF9FC36B52DB
7ADEBC340616BCA96959170EECE50AB2961DCB39BAD3C648028803BB5DC10090
0F0AB818841F736B268E06EBC317A45905C9F723078561177D580BCEAD729328
4C987E6071267252AE217839E7213E96170EF8B24BEF73D40A65D501A63A5E7D
614F88F7B00A0BE3BBA4AC04F2704D9367231BC7D23C353A264E6191F67398F4
83FF7E7E9365B476138A083D378A4C448436542DA895CACA5F1A465A188F55EB
B9BBFEA0AEFCEEAA5F2536AA8EE03ADE16A1A1B0B34E53ABAF34E4311FD26FC2
81557A04F4D890B6A1E26018FC3E28DD57E46109A30A5FB65AD121C182672DCD
F45D1A738E62B64B4224FA20FD0F22E492548B07CE1F6CBA0966ED1D86914424
C0BCBE258E38F5A6972122856AD38F87840BBD154EDEE7DCD9BACB834E63AD7D
3862D8F37BDB71AC595D8378DFAC81BA749C7CB1687ADF5F05EC8A18A9C57075
D2D82275CC9B8150054526BD78284B43C6DC180468A386C655503A3EDE694FBC
7905C8DFBD8F573BAEB0839A3C85E9434F19BBB569827FBA207666FFD37F1BDC
F0CC71A277FAA9E3C25B5D6E3D24AD9FEF1782169ECE7CB2A2095613095232FA
60CA70D962AFEEAB0199759B917D83DF7F695BAF5FB55DFF040C9E18F219D59B
A0429CA824B655448210888BAB47F407E878EF29933577268FA8CF3BB764DEC8
0337BF121ECAFF024EC0EF18B56617CC47A7F7BD2030C6838D5DBB67675C7A79
D0772A8B515DCE57C04DF173CCD71159721672AE541B91A1BF7A45292D95FFCF
2062E7E4A01693750CDA8B9A09E742D96C0A9A17C5C39C0EAB3B1214182E7D55
873BCE23E46912F44EF6B9E3C7E50E340926C30A1FB1AB638EE15617301B4197
B85C1C703F9A54D51CA10FD6CFD0A7659899D0B3525A8608A437279160D49393
88E6E3FFBA88E5CCA8F833B6FBC30F32DF89E717347C464619E0EF172C72ADE9
628FC3F22F6FE185ED66D87C992823EE779316BD7016B42A8B31D5C08A4C77A0
24BEFDAA4FC771A54716DC19BA9A3FDE31A0127AF69730A5C038C96540980E34
A60C64683997CE491CAA40829171EE1799665B3DF16F8A3CF1E4391EA3FE2E55
41E19008BACD478B900CA9CA3553F854F6C506CA466D9CD85F77092EBAE37D77
B6217ADD9C1E70A20988F3DBCE74FA45B0FA5A850A051A216A090F69BCC1AA8A
2C5494E79DC7A74355D890F2E38301CBA018F73ACFCA9CA9FDD84D870A1174F7
D36FD7B1DF9B668CC8399924E5AAAB1C1D5EAEB66CA9A45DBE10073E35826ED9
863EA4B88CE8A3E0BDAE1A709F951230712B0402C670C17C886919154C974220
935E16E146ABCCDE8EB50E7E1D569C03E1D8CD3CA1D2CEF7C3D5596EF61471BD
0071EAC87F998209F6B77EF4FD8CBAF201F96BD911DAAD9AE38D4474B77F222E
DCC9D0BADFEF1E5683884511DDE519ED77F655222C54FD3E6C6689AE542CBCAD
173D609CA323F55DEF622D8973FF50B0291D7B29D5AB1B922BB8DC0ED492A49D
3FF1590B5F01A87BC4E40D3A2978D09927DD0C7081F48C967EBCCC49A9DA5057
78CA0C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMR10
%!PS-AdobeFont-1.0: CMR10 003.002
%%Title: CMR10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup
/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMR10 def
/FontBBox {-40 -250 1009 750 }readonly def
/UniqueID 5000793 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 33 /exclam put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 58 /colon put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 73 /I put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 87 /W put
dup 88 /X put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 124 /emdash put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8
569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079
24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A
2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944
8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E
3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26
D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24
D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B
03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685
767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A
8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B
DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E
94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004
22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7
72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C
8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491
344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A
64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B
07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC
1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8
78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51
CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120
7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782
BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462
4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A
5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D
EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE
EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622
4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE
0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5
C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904
314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E
DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029
EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13
DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E
DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084
7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91
1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155
69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE
EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5
7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67
CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D
38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3
22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C
0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1
BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D
4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F
3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD
B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE
15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9
849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3
FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84
4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76
1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798
84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF
7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122
CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA
4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B
3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394
F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D
F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140
DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7
D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886
56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4
8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53
59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED
49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86
87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B
8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60
C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342
D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64
D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1
F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178
0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B
5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448
229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC
17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4
01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616
F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662
3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0
689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20
4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F
A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03
DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D
364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F
7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F
26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1
43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD
8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7
C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08
94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5
C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1
B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56
4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5
7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01
204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE
B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56
7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6
279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB
E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346
CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A
65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78
BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285
6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7
B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3
63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89
4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A
A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6
67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C
DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A
5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9
C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C
9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D
B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51
963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0
D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB
B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B
72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE
B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358
8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB
3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0
668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152
ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5
69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118
C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754
3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13
407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01
11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF
2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87
4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40
2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF
9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889
CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8
DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973
0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362
5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7
9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A
EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2
09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A
2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2
AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420
324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786
486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A
EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660
52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5
9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3
4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D
B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7
BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14
6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0
B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359
16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED
E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6
546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED
6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507
559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B
C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A
ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354
04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B
7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A
8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B
A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02
94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB
C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC
41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654
7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5
18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76
9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD
E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947
5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F
4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F
E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF
9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9
89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87
7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3
AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26
71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629
2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B
75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC
85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9
44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3
2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5
C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92
BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE
AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2
461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D
688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92
76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A
3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346
0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A
26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3
903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399
AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732
655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2
54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E
57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5
02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231
463C95CD9943F718E9635F8765BC693AA01D8B18E0318D56BE2225A82EAE9027
257F2186CF716C6853EC7389FDC1874319631E4C662C9C68868890B42D93A44F
4F90FF43CABCCE04E27E3D9DABF95CE121CA4B3389E3FAA8AD725CFCC84AA3BB
820A654E2172ADDF88F7AAE1EB3E34869AD5A9FEE87CB3C125AE6CC4F723DA9E
6E7040E6A0131184185A428C37E133A909D6CBEA24B0C9920CC4A8F933F7D7E7
1505B73C16EAE85FFBAD53C403EC4BCD0B75DF8008633BCACB1FF8C6275B0025
F5169291029FE697BD123AA4EF021B951DAEE133E2A1C17F6B89FAC0D0D8829B
994386AF7574278AAE385AD7B587A7E8E59EF92E6CC1D2BC815E17AC56D1946A
608EA2655E2E2A8DCCBE54353F36F4E774CF776840DD148024FB210E217E0852
031A7D7F36BF1B708F787EDD1CAA6A64AF0E4738E5785A13DDAEAD02B13FBD8E
CAD50825E0805A6B7C6A9B3D9363DEE1FF11AD7311DE1E29EECC0B3B592C4E22
637826FEE4F51D273ED865B89F6E1A6A781D86A0C662DA545F41320F1BC615E4
2A6E79BAA8C8D4127BA30637E2548D045FDFCB7879A80950B920717296570932
E1456B873972DE35878B25BE36FD03D80D7F0FAF3C270451B5A9923E57A4F551
67FE8A2F947030413B8C42BDC2E33ABEAC4132883FC9107AD8C633ECBC2EC7B5
5F467F12BB61BF99669E3449EAADC717918F45CF83D8C5A955A34E87ADED2BFF
B3A4972640A8BDB9A8A3593C10F20A118BA6B85CA52B36DF9185814B65B339B6
79F5830E4BDCCF6D32E9BB5B03E860B59A297D7DCF797C8F18CC0644CFED52DD
450B0D34EBA62E99CBD1AC1A0CB1E7BB27C347E379817760012E134F225CB1B8
A2C0F7339B45431179AB4CC2F2E6B107A0F419AF8DD2D9B46E1F8C42A3D70C7D
DABE98B213EA221F1129ABDB9B85AD5549133EF4D6C4D74EB5448642FC41D20E
9994A1F6C35E1C0A7E812419A59B5310567A38E88190011E19389EC52BABD91F
477B06FE855C45A924199B057DAE78F8DE0451BE2D39031BCFA0FC4F604F7F00
EC0A18AF6E0C71CB53D01ACFCABB35BD34693C21BD24037CA7A96E3C66FB6A93
CD041D9A34FC79121E46873EDDD6D5EE7953B988399A6C9857B8186BCF91C21D
63B69BF99C8690A400D1CA2FE0E78ED83CB3D71908740B1CAEF5127D119986C6
0E8474360DD1D3A7ECF49D9E6EC014E952660E9E16109F9CC8170475C298C715
49E86B585CBD2B71DFAA94111B892DCA762BCE71DA37C609A831C2C5739F4629
05B1C1244304606C26777E858635C1A842070CF69B7333D58873663239C9397C
79645EE1471EB95D5ADDF0821009F5686D8E1027A7D7B9990F04DF98ADD8468A
EF74790EA23BF76211CD865F328F54DBBEF0181E9379C2A199464C4E1550F7B9
6BD586A956F89B8C0E91891321A1DDDC6B39335C85E12121AC8CBABF042A6A15
7BBCC127E2E2011181E9DAA9C0E01D0F11FE571BD75E0493A03EF1D6982AC51B
003A4D5A6099CFD9D88FAC3D958013F8DE7F22E7FB13ED50BD3F26AA67B8FC1B
1350787B084ABDB846B808969D529740949C437A7DDFFD4C18A858C2ED18D068
E2C6C21E7D2A1403C4ACB7DE2DFA80E34A90B12646B3A5FECF77538CE55BF99A
E121F495A9135BFF73C1A531D5F9AE0D448ECAC997FB83DD9C099B73ACAAF2F2
9B7AFB6D1710CB6E2D3C5E05D7A90B5BBF36845CD641E85C4F6D5103FD92791C
A43F0AE5BE4ADCCE414B562824672DCBCBEBF7F69B2C513EDA46C9AAF35264F5
A590CE01ABC8EFFD9B0B6F1AA6DAE282D69E25CB2C0BB3B039CABA8FBA79D946
765AAD67418EBCC961ED8FF9D514EB7A5042D9D52A210969CF48AF899CF2272E
5D4A4C2001B71D52D3E83FFC086397EABA35C15A5B0610214F0A6CBAB285A0B9
DA9475D34528238F3697113D936DA8B01806128E41A91EE43C4EC19A0D63112D
71A72A8ABCF89071C9EB5BEBD2166E7CAE33C7522AA1AB43F5D26BB072F2540E
9612D605E39346DF44036D0E11020AF2C67BDE0D385104C7C0839389DF2DE45C
75BA94A27BD08AED6F66E7C536F6759ACC4C6FBF1E3B70E1A00E87EDA4C7B9E7
AA036CD174EAB0F5CBE249C234AC0A313FF090EC82E0BF9FBF432EF46FEE4E36
2E91A4B5F518445A66CE1C1B433FFE0DFA8F2BC135B4DEB7D540E46CD2824DDD
A8CF5C7004C2A603DE8D88BC029D03BCECD2516B26D8C8D2A4F3F90F622382CC
9ABB385D300EAA72C74E18A9670D2576675EA38B6FB6CE8134B888F972723266
4259182202DB21A73395BCA830DFEC0A2252A1F976B7A48101ECA141ACD68FCF
7E1E3791E910896957AE263EC2EBA316F10AFE92048510BFB0D09B560FF43A19
CA43E66167AA9A49D8948ED4D54325986EE678833815E2F744AF97D7C02586ED
B98FBE60B6F7491BCC891E8688AA96B495873B270AA3E60391407D31B5C62854
B3D276E1EF1B97C67A3A2A384C92029F3941F8768E3FBBEFF11615453BCB4D3A
C46CE7AA1C6AEC94CBD224C35F11523178F724DB01EC7E67FCB37C0796597233
D90A21249238E0092A1708B1A968EB32FFE46340DC10B9EC7590C31F3DA4CB96
A4B4D3F47AC0B592C30DB09B415495635BDFF798B9CFBA71FFB5F4FCFB4ED010
74C776108CF5F166883E54D1FDBD0316F104DC95DDBD1FA5CC26D439A9687BD9
F33D19327646851E976E986092C6850FC3B010EE523352299DA2A2209688963B
35C3521EBE7C5497413D4BD74244CAA8BAE0E25601F2EDE3CF3F028E00965DEF
CCE3E144F053F55B75BDE37DFB709A424799F8DF33D9271E20F0913AEB920AC0
3641019D7735DE32DC8120E63045002D044B71370D2195B07457A646A203D58B
74C3A4A0927374A0D87992244FDD432B79605E1591E19AD0E79B616787F348A0
66401EAA31ABFC926F03982C54D7D03E02278C3CDF154D1DCA305FD1D602269C
73C8B107D49B98E5E0C823066636932D3B9A492B777A5246BACE613DBC2CA3C0
30354B824DB613D561C49C85A31472E074183D3427FCA4CB60FBD2CF9261DCA3
EEED67EC08D704A5C76187E8FE00747407A1C3C0D2CD37814E058AC017CA546F
6C4C6B34EEA836994665A4E41C750E53E61A74BE0CF33EF1B7F5B2138AF50A52
AE4A7EAA8D51402EF8AD97296C73BD7041D048AB23E6A8DC8F1FB53400CF2CEB
91C815998B9080882620469AC4D0251F21FF313C69074164C253326CCDDFC28F
B32AC6A369680233B5F65CD966D4A24C782DDC09305942D9D5334058573A75B7
2F5BB465941B59D8ECFC37031A9DE46A8FA9ECE13E0D01EB0532153D5C6216D9
C9F43ACAD6C5DAF01B737E30BF4312B139CCEF00722ACDA099D2E3B026BB1896
3A81D696FB4E01A4F028DC5EF2E073BD163C11B1D33DA05721E17313490F4CDE
233ED8AC7E69264270AF05EE7FD59641A99D3529DD3B8224D77F85FE0C0FA84E
5982631047678177BDB1EC93DF74839B0D2B28C3EC7D6505E47D6E76BD5C9CC6
EC08DB9DEC5670442C353BFF38589785CF58BD802870D89C85F9ED422C5FDE3D
C0FF5DAD20F71DE5A8EA592AA84FB05F2673F4CA1A38DC169CC6B40412A7F5CD
26A041E7FD808475B0E9F612EC00075FA5D1419F9A6EE0D3DEF420127F7C3C3B
405D04931471FE89F97A171C4E8118331723BB811D3E9C54875B2146E9555BE7
87A8BA43CB32D81E9A0328E93EC7C5D9F10B663B4A29EFCF6A0C6CC0E315A83B
AB96B42A9792F731C249271CC9FB13F198D4B2A61465C958D38C79FC41348ED9
C56652892C0BD2965A1F5B6132C363163D1F60CF7601DEE167F5F2576189EA61
289B87371E8089D21977D5E9611F4BE039132A78B7F60C1B896AE1214578E550
75B781E183F46FADAA2D1C235B021121ABE6D0F3F07AB62D3E9AA5858D29458C
9FD93DAA342F7EE545CC302E87B5781993A3571B347735CF8743EEE9BA042D9E
09F44EE4854F5312AC651BB7042A1DEB52F28334EDA5BE5A647C3C98BCB9E123
B8520BCACCEC7E44C1B460FF152DADAD834A4337A4F3ABD7BD597B4547380FAA
E6D63A5452671713BCC9475BD6D9DF05E57E2CFA6521C575FEED4BDDF41F3DCD
EF0A62D30B5D646E907407F6671708D2E93CB86E2E14E7A13680158B6369888E
623215498F8810A77688D932305700C0BAF6F531D0AF48CC858945C7AC4D2155
BACEA3DF2351DCA1E675A9164BD9E45715F46574FC956197B0DD7B3689184396
DA726793683C16CE628F19377CBDCA9497951EC5A5380DABFF783CA37491E90F
E85599447DEA5FB3CB6C2EC95CBFFF9AD28992870613722CF009287F2618A354
56A0137B99EE21355A7A2950955D1483F5FEBD36CECB32C41E234840D6B3E15B
2B858BC442594669827B752E4F0C4C21E3120615A67A445EA6BB8E192215EFE5
B63E669303FD91D72612DC32427AEB32AD1F48CFA187C7D08E41191C9CBB1DE7
0DAB1289079E84AAC599CAF4692EC27C297C2F419D579A5B46B0EF83532AC9D6
854D8CA02890BA2948B126BB018E2FBEB9E96F3B52EC41A7776C5A35140F3893
EFF849FEA4963554D300193E89B3879BA0011B35EB850B78D70E85B5BF8C2C22
762B35F4478601FC3AB06413D6C26AD26D57934033B1AFF5245946F87B6D8307
B0BB18EB1C848C6F6C82D5AB21E42F25506C090F9B89CE5047476F2034FEEC96
E6C1847416A0543775F266E73D534E7773871FFAAF646D62315F5E3A47D09445
B18516E452AE332560A1793F80D9F65CF464223A9740A7291F8314EA87FC11EC
E41D489A1C263A0B11C7D838FBD8C8E13DFA6F3CB88C163DD95749AEF53B2C52
18A0D7E64AA1ED89A7B7BFBE653CF5B287636A94809540D7197900BE39D18C7C
D060BEC1843ADBDBD5AB1F8DA35720A7D4133C14C19C81BDA35BECD81AEBB4CA
E45903E6D944386B92F56165F27CAF7B20F3440AE425E167D2CC79CD5307D190
8F288BE070103DB7B3C506BA455A223744CBB0D921B270DA922287758A6D3912
E32CF5EE0121CCBAB5DA252B4BABEF2C61908A21E2BA209750ABD4269034FF0F
3980002CF653AA398268E8E2560D32C090E3F6D90B77A87C08D82444D0AE000E
8CC562C0773B8E0AD16B9B82D177B6ACC21E91EA84CC8AE62F63EFF6D632F30C
27CA5B9A3E6EA20CC7BE934007F73B056E4CBB6041935806ADC46D9AC3AB7AD1
15041F513191DAC59745AFB67A821BF400F4C41EF7E1D056016248BA883E89B6
260C62AB9F70090D04D91DBCF3D315C9E13DC7141AE73174E152632252F22CFD
DDA96F8B25840BF6C1FDEB6EAE57E6DDC58399EE8540614F2862475E273DA1E1
CAE15E7F9AF4C9A74A66BEC3854BEB1196A3E94E53E2C6BBD98C291719E53030
BBA9CBB1FAAE31389D324A0B00B9CB380694149D74EEA7186C27A87CE961E0DD
15B5D3C1E452E1E22AE11250737C5215D5F187B7739A5EAC13BDD829D1081131
AE6CBA39DA326A846711E5E33E9B31B082A6A7A7AECDC771B8F2380073A20803
4B14B7777705CA83AC0ECCA867C89FA4B2B654BC5EF0654DA81DE1D9B03729B8
0CB0873477B739476D4A23A81EFC63260FA461611960F689B94EE9C44982552B
02D710A283E84A67102B57B53942435D22F798F5B4F164CA3B17C20B9D94BE97
3BBF2D7C7220CC6D41C71E83A013104F5AA9F7E1353D115B622B5F5EFA95296A
0C97FD912206C8C7C467286A685F713FE527D94B04426DF78DD44A19DB94A158
5F66F8D1A93152E465827884CF5693C5B69C7AD7A104AB1A27FD74784F0378B1
2AA00C7B04FC5D788F0BA82C81DEC0CACE755181DF72E231D46B8E5A97C88681
0CD9F476FAD370FBB2668E48B31D55BB964A078D40ADA170A17263C32E35E40C
9C27F31BB31ACFA06261583D4224689D53B61A56E252F0A936BB747E0167EB64
18AF31F967DE4878F3B4B354A43F8A32B703424E9614F26D67F1D3B2BAC82C30
C25830F63614D85B362E0EDB01A2D46D8C16D6D154116EAA6310644BE814FCC1
E5594C05D6A7485F7433176651F1B8329AA5334CA26B3501654E770B3C00176B
4E34B6AB7502B668369F81BABAA8C34ACDF5C02D3A7B72A972D5F3631D12B3D8
04F5309F74D52FE491ADF7B0FD4C79D452478F055A5A7AED37B374190331C1E9
32795E40596E940DA034BF1BD6181A2E7D84DF61B4D1B72FDD793C064693DBE5
8152EEE1752C8B38F1A0AEB2089389CB7BF2C353334A805204DA8496B5344059
E30CD43DF34C5BD40FE52D9D90E2713F0CA5E0231E06423B6F62688EBA17C137
5C2DC50BECE8AE23D030FF1D8371DCCF73F1F8BA83B6FAF26FA8F675967EAF0F
4AB529600B0A1781FCDFBAAB30F9DD313E834EDFFB1F64512C1FE701098F77CD
8686F7BFA53730CD3BE819315492E77E135677EF09CC71B1A4DFFB8A491FA2C9
052783A8FE7BD599F8B1D47B3E440C6CD94DF036BB823110AF7F7EA4A09BCCCC
B8093EECF3C734294704EC67269E3FE3E59DC6DD39DD5D0BED8080B2197BEED9
E164ED36CC893993A6484414DE23A4F59E4323C3E04C15A992BD7256F98F8113
2E3BE53E4F79C03BF22B934B64B7153E5EC55F0FED4E80940A1DF5ADFA515426
38A87F84FBBF73C0CA39C0FA920D784CB39E0A482868B102C93D68BF7D2321F7
3DF74F937A890A342025958C696919E885BEC8BD87889ECEC76D739460DFC5D6
357FEB46D7393341A4C50D4E99075883343516D912BEEE2C390F1536F13B2CED
965D302CAE3245F40EB6241068A36D0A63724AA3F8D618C4AB110D2E40B33CE4
918962E7D2C367D69C4B930C8D486C3A17EEBCA33BC20DE3EB505CF188091216
14BD6620BDB1CF205DF5CBEAE4830A480E1F616E14D022C92034E628848A1B17
8646CA6CAD8A94292781DA0754C4A117678089E04DEFF6BF2A3942656EEFDD0D
E1E47F92E822BD83FB9C492B67137C4D01FCEC010A2019680A7B179FDB772223
932862E227D0B25249B5D5DA3CC1EA8C07BD0F89D723D2853D6ED3A2A504712E
53550F30F9CB9E587C16AF687A0F5F8D444C2AAAA08D270BAD2CF27F14B6A918
3803B204EE11FD092415B90633E98F3F73BA7BD790F084E337ABB96B056B3F24
6F061F9AF1C33D69FF08CD41000B9C8F592615E8AB55A05C9E68B7EE0B47644B
35239B81663A5E6A21848E7AEF7AE5FB1523DCA5496C277190FC32E4020AE860
B797EB58B8FC4ECFAF926B627FCCE7879FBDDDA998AEE234052AB98B6AEE3859
5CE50666C056B32A85DA0CEB5190B246B52A27E8F499989B384B6B0DDFDA82F9
48E0E8A7B3F1EEE51D66A0E2F6EDEF3D0E095446BA683851D0B89120918EF4E9
E5BAE8ABF8D0ED16BECC8A14AE5BAA50A6507512690D2DF6A339B703BE33D035
794EFE575ED176256C9CE036213A7D85ABE09D942F1A81D574E8CF5A5F289528
E630680B44CFD4379E15E6F8E10373AF66786767FA3BA060C0A60B6A6BD7DFB6
FBFFA93BB13F75B1148751D1EBEB4FEBBC4E5AB6CED0373EBB31819A3412E544
FFBB67EF665BFC7E09D4FFC65DF77538E2515C68DA5228107A5250C4E586391E
9F12EEF67ED37562D402E5539504F49435C6A8FC38D3E69325DF1C381CA3B18B
4BE3185DF2B0C95C1078F1A1BF01C5E6294A15F56874D348792FF90E5C150C18
BCA828B1059444B2EB9714779F128F503606AAC7E1BC04EBD0CD799D8DE68E68
5A26855C559F20576740910AC79CD410EDFDECCAAB44DB171DB6CDB0FCAE2978
3E078B7C99DE96543C338F2040C8483C8FAE98C21B7E8DD17C48082912B2A04C
580E9B9EB6784848C00BB1EAB3C6C08819B80E0F227EC8F4230EAAEAE8E95809
392E23E62D96F7F7024C75B312709B8F2ABE6BB23F57B5C52F41C934AC395EE4
DE5D574D44CDBAFE76C414AB9A57A5FB6B8B9652CA2FE6C2A8F9ED3B0F63C84A
E13640A6EE2A32B2950F54B61EEDF443C3A5EC2A3748249DD2FA0426622BBD13
7B7F3A5E2C5CDC2F41C57A110705EFC67D28D26DD05FF4A75EB51AAD244F8CA2
04D4D6C2B97770B1CB1A31780BE0E2DB62B8E22CE7E8FBDC0D99AD3EAD3C9BC8
F6A1E01EA13DF95F15051F28909650EDD5CF2A39DFFE7BC67B814C3EC266F53E
D8298B663E2E98E96B18EC7AC95CBF828E195AD9C2A816921E0DED82A9D002C1
DF25A3AD7DB63C076A64C40344350397869C01E70CDC0110EECE0C4A0CFB86ED
99892DEC28F4357C165569373DE0E518D7A6270E9BECD50BE18528261984E026
37E83516546DAF23579C03FF778DF6A5953B3229E46EAE38049EEC99AFCEF595
1305A40F82391CFF8DC915EA884B8F24386DED2DC26C28A403BB6D84417A38E0
BA9DCC37764F44E80B38439E12C85CAE8CD62C2672D74CA554FD16982CBBAA62
F05AC754DA56C395B64F66E609DAB1E7B869F293CAB2F8431A91315B81A8BDE6
7F564A054443472B8900FC9A096ABB404C016D2BBBBF08F538376EB6761375E4
690280C2A65AF639E6F884B0C6A98BE4D4F3241B29D6D90505B8C5458DC5DAF2
B71D37D3BF0E6B0C5982FD145FA7B1DEB84BA31F9CEEFF193E098AA125E63B22
037AC5F33A40740C97D869E9DE483E26EE6CC605D6D37C62C3EC5E2D70731B7C
1C1A810FCE38719CBF746B19A6B6407A82A5CA6CDE5579F331BD6D214600103F
2CB1DB5E4EA115A2B7FDBD4AD3711F76F0AF388A9C0842492692C9FF85311A99
2438A7BAB685F0B2D595356DF8900149D3DA7CA2B07D5CC1137196FD6DCEA0DF
9ED738DC0E4EBCD7E89B19CF453B751ACB6EF68623036CBF47D49012E2D05F0C
C4133842495E939E3825F22804B6D40525DB77FACCFCD9686E19E8280B1B0FE9
97C741F3E31E8343F77A96D73680AC7D15FBEC9FCBDAC770C7074ECF9B9E27C2
A57CF6FADFE0A853E39C904FBA7E72A361726B359962FA59D3BD0239821E3334
E2A244E66440804188355C2F92C5B096FF20A9AAB29ECC193557ABE31C9AA46E
A964F52EE49BF794083FAAB661F1A114A83550DE9DAEC62AC24BFE480AF01107
E7C0E1D17955049D48A4C82485E0AAED3855106DFFCC1EDDECB1F002E8C1BA6C
84628613FBAB88D412B456EA77B3ECC04F8F689086BB7F43F4CEEE2AAE3444F4
63C292726DDA4CAF38788B1293A733B4FF579B43C3C82739B7A12346B442CEAA
DF67303018171991C7702B4319DD83367635BA74A5233BA0487820F95E037B1B
DBA168CB85403096205F625E8E4BF3143CE998121A2022429B5F314508328199
60364E00D907D1F8F0D81F4896F6611F85AC2C2538E4158477ABA1B2C26DCEC4
75517A0A2400D35FB2D63518E33F23C5A4F7210D38AEB82542BFB6EB7E06BE80
EA27362B337D53F340B0ABB809CB20EEC536B9CBD9399D9B603C94509A050D31
A685B29F16F3F2ED4D8E715E1CB28F0E4D2897F7C1DD466AF64590F4AAAEB337
2E4154FCFBB5F5044D046811B66F16C2887F3220802589B3A6FD9819CE72307E
63EB146B4B76F24403DEA09456D8613A8236057D1B0FC6B0615DB595EE64FE13
22533431344B59D93BC85B572041C47FA26FAFD56023EEDCA2BD827E2AED7D25
BCA2547A6DDA7799741699E5B55C5F9D900FF10C9F9837A9636A47208122D144
B6EDBE1849A0FF8764066A277F9AC4F670657B2297FD202AB52A0DEE3F42C3F8
22D060E7E12B68655E7BE0FD98C8F9D9EA2BF6FFE8D56EBD3A475201BE41FD57
CB378D548E0F60C1B39DFA6FDAC87144701477B9D5D95C8F8221684CD1CF8410
8765B9E53345A7B4EB6D93A246F0AC92F2DFCA5608EB92B3D623DBC69899BB7C
20175C86EE09D92D2283CE74597B93E684111F97313C2CC1E607C1EE5D387200
A16A545C4207CB5A0853FFAAB66363A505D13F9455734A2E4AE72FCE46AD4953
60EB6D986792CF5865BEEBDD9628CD910E6305B9E537910C36FD2A4EFC35BD7D
75C8B2A3544FE04DE229A9F5613FBBF36AE361CDDAE57DE5C41AF3237DC67736
B4DAFC0AFEA42CD956E6B9B53D3A013986B49FA8BFB1D8E179BFEB990C439CBD
E183F7B34462E0EF3F3FAE54C37A50A64C0423C61DEEC1201B57989FAFB71310
68921101D459C1E637092B31D2A9645742C236E019B65EB8CF51F0281F2AF327
45A9CDFFB267301075930E104A86F481958E3A1A97FB52B606950F5A663C1072
8B50D82DFE3CE783D1708C7BC1EE5429923889EF180BD52AE93C907B4DE30767
27084C5815D99CAF65EB5B17DD0BD989FC77885BB82D0F58B7FFDB8556062D14
F5B0E6B44C5467F1B0BFACF7D41B111DBF57A03D28FF4F7488AE938785F56C21
84FFA937ADA59F1ABD0EF17D05D0076F444EC3BA12E2E135B0EC8D61458BBA60
E44CD9AC676725D9E256A1A97C462E9685353FA83D1B12164DDF740D71DB4ACF
E9647570736718BDA388244D96ED6F22ACA77316ACC455064A334049FE24CAC6
A031EAC85CAA93DD1CDFBA587818820A1AF7459EE70422024A7111D902068F83
9C9D431C6CF675FE99AD3DD83C941D86AA50DDC7A991FE7D7AC375142E1330C0
8160D2D92096E90B00631E609E77A6B19542D3D8C62FDE9901533D876285031B
EF6DF462373B595EDFFC36E585621DF391EA65F7DF3EF92E2CD268F9368CA91A
46E040C184F9B9F4147F38CD0B55DAC9D5CBBDEA0F9A2E1627FB9D1BC8391553
122154028E7E48BA9B29244C1674A8D3BACF50C70C8B2C2EA06CC77FFDC3BC37
DD535985BA830172D0204028CCA20EC05F494E5EFB08A37584141C1222A4E214
9B69F1647CED393857B574E3F16C128EEB36750E88191E381D44835FF636827F
EAA630E13B47C2C93FF668CB1F17B9ADFB497AC91FA84C78DCBF083587330523
811BD811CBD8E4FF4EB894C7396183087F8445A451BB8D5CF86515FFAC955548
E7BCF576E064604DCF9E142244EEF7B5561BCCEF28AC11F6AF8154FAFB8A75D9
F89BE523BAC02924C2099C316E331CFC39DF04B952067853692DD30CC84D3E53
9E55253BABB9662EFDA1D26007A117082048F15E7C809035014C5E4B546CEC44
C1F75A8FA429C7B567605F0F9C3A0ACB86C6AEB80D0EC6640EA518AEDC4ADE86
CDF9DC9DF91A1523C0D3FD6B532D07B72AED86742DFFDE8BE485E5CE0141CF2E
F7DD73E2F0E4C14CA03F06F1D11EF523F72AA7913710624D1BD536FAC0BD73F8
C8B3E07C89D6AA0F28782D5FFF7E8BB3108485C51D0EFD13C7FCC532947843F3
72AF0C42F480BB0CCA42B642F47D97BB14E2F183B5E14CFD14B774CF506A8684
3E75715C44A5354A3D1C388DF88B5FF977BFB1EA0AFA6A9DB641DC86D3322E80
18491B35AE50C3DA3923A0998BFCDDA0B23B226F2F7266D530EC8B9FA8A3FEAA
54C6F30069F1F075F348B7207CC2A4D881F7268B79B064839320608126FF6A3D
9AC1E4FA459094363A03D6B43AE53D2B5E6692F65BB35B2500EC243DF50CB14A
8633DD76882E6883C19C7F06E1406DA82241BDB9F204C02BC2E7C5CA389FEFFF
F842670BD9860530E7376108C089A67B07657932ED08098D84015360D1268865
E92644B365827C0ED09A1B2043F297C603143D57477D8F1777370D9417B8CCAA
A29B707D61A273589AA16C9D854173DD8F0A384393A1DDF2F3DFBAE60DBAC13C
52FDDBB4521FB8AC6EAF0788ADD6414C1230E3A7F9426BB5CE7A755AC2D95987
4FDC1248E830DF7388FC7D459DBD219126ED47366297FF1A54950572FDD07A44
E9D6D28B569884E2E013C53EC0D36B6FBD675D62415B0C8B7F7E4387145F4F6B
6706847CDCB928701934132B84A25577680B36F76B0FA9DF164524BA090D97AC
65551A510C67ECF3258FB3BB2236439B2FA1AF55AB4AC70897E2F3B015D53344
2E218ACC544D88860FCFEE30577A9AE910F3093E397117F79FF6949595B9FA23
35FE83BB2D964310674BAF62144DC98A91EDADA24A85049B03B0F3D4FA9BC452
B51FBD53F07BEBE5CB31A9A06CCE0D3C99B9575854CF9F5595B56A90863642BE
F3CE7A131083215226F3748E0F427ADD3C952C8982357ACD7CD7B6F5F4E48FA6
74C13E9154AC725E5AB161386FC2B2EB089064622CB4E96E5D55BCD90F5759F8
AB42B5C0FCC592363C839F683348AEAA0A20A0DAF1FBD75AC1233833E1995272
A3EC0DBC8E2DF182E44F9DEF9BC76804ED16305F8A431B757C0F5459C2C780AC
3451C86C9650B6A1A6922EA91C9D57945796E6141347D1B66005EBCC3B0A327A
90E16092E78B5F2D98632B99991AC4A127D4604914E113429635889965CE8B3A
F587D96C71F213294DAB6560EF1913CABACDD05893531360C9FF47B42FB26349
17685C52DC0255357CA502AB8AF4B6F56331F44DB16319D401AF8374F88A2619
89FC1975C5AEAF11625F935B8A8D86FE7FA475AB8CEC2B023BDAB07D750E56D4
6A73D5F985098AE8EE5A90E0B177E48F9D6B522B869DFAB57BCCAD899A3107F5
66B70F9EED4C1A1B18BD1316034E69C4F6D2D71911577ED1E71C29277E208680
FC5461C8F746A8CE09BB2A83ECD32F2F16E7FE65505CD5371461AAF620EA7AFB
A5E6B75A94BAE9DF3A64737FE596D7DED0E5DC8DCF4C32844B999E057AB3BDDE
B344F9931F57B59B61A29A88687F83B36056CCEDF294BF50E4EF9EF1301B8FF9
09A6D0A9F82D0D1E077787BB1B8ECD8C90BAA891E7D8BE930E97F60F8D701E66
7B9B3BE513063B2B8CF5404B22855BEFFED8C74D762B45A75F606AE16BA0A7AA
B7947C9A55FC77A9A1A2B6EDC05DC5E056D5A2400E0CB20D28648B152E4E049C
509D38C97550753CD8D47FE1AB02E6737913F8CEE99D40D075DE0C839BF4BCA2
98413EB9AAE34AF3F7CCE9ED39E3421AA0F101BA284DAB29624EA761B70EB436
D648FEF00EB1AC11ACE5054897BDE77E3371520032301CE52DB6B9E0393289B2
0F38B51E7E459C4BC65102E834B12B905227B0E83828CC83A5106F702F0C7890
10DD4AD72F4B46A107C222D38DE41A73F7E7CDD174EEB4E844160D80B8B30BB1
D7D4048E5F4BC0A40C37B2512709447C377D29754F33C51EF8BEF48CDA91BB94
0A3273D31BD51249577A2440919206A031F3685AEDC1DC219D81013BFF457A53
0BC8844CA44E513FB470B59846AA40A4127955BABE057B586555F018C131166D
11087267B05AC994CA6E4A120D7F4B83241550988CD20CCFC8AC30D4F7691BB8
74776B791AA81CBAE360E47C9D3E1AE6CC53ACE31AA52AE615864906AE7DF80F
806D1C1805D030209F38B908C179CE715FC3DE41E0DAE8EAE6021835E3271437
9A39BB9317E5959441B0C274C396A0A23BC559E9C487BE315D4218FCCB2F4B77
4177A43B78976D9A772D58F707A95E77F301D7789DEFE284EF1C921710524C68
D58C46DCFEF1AF5BED73CA78CC045C193CA472D316C4AA5F8171365626392397
7C5BDBFF28CA3CDFD75E4C4CF7836E8C5DADDC733AB5EB3B3011DA456B979544
151577F38DF3888F45330801FE208ECC29503191ADE4BB98C9BF2F2B0999772F
433F976168DBC18E928682C90108C38F54E9E2EC164A17899C88ADD7348D3E65
2BFFF124FFD09FF0355F7A30258359849AC8B955DD11D417CA487F3E7538F278
358E2CE00BAEB9FF195F542D2F5F7B09F8BF5F04BAC7976155C3A0DBEA415682
D20F267E76B0886865DB7F7D34B4CAED1A5CA8EA2CC276CB18F663FE570138B0
444F4E61DABADDBCE7D501BD4A9E06C947B93C44B028053D52F933FE4FD397A0
F1A43CAD67BE4B97069F84FCE6BF9085335FB7FE6A65420F93879A00ED5EC1D5
5166B6DD5A1F0BBBA087007B69F3431B400DD2AA8211283B9F26A97116BA13C5
2A96078B665AD62C60BC10E5A9748B2C7CF049F688CD1AFDAC13F82A6F2F5489
062C9DEE23435EAAF352C22EDFF7BE110938B52077A6E1306C90FFEDB6933CE1
384FFE323F92AAF5314AAB2B29BD85A2222275102ECAC3D7BA95913E317ADD3E
85053BE91937B2EFBA797583F59884D2EE1675F355A6EDA48DDB894CEBAB9DE9
70B50D1F2F02B033ACB7280D22A2E538FC8CD4A5C0F7E1184DC534869E707B35
5D257495423B03CFE7E00DF966CB5AC5D877CA87A377ADBF20271815570988F6
563163B440FA92B6C8D48DD818257B22C997CB2A9E3882D30D132E83037463E0
C1AE69D8F29DC825DF19C0F1DD2EEEEAB6F8E2C02D837D9D71BED1FF77327EEC
79738DF541913DDDC18DF5B5F75DF06A3037B078B288C197F12057CB0A418393
6557014E5FB2201F77EE19D1A1247577FCC26128300AEC98E69D73B86C622870
FCEF2E9AA65BB6BF2A790883DDB1D3C6B17747DCB177E6DE97D98B81DF5CFBE7
DD609CDAB8C2EFD920471013908BD8426A8F797371FF7A379ACFA1EA334397F7
E589BB9307AA7DBCB06FF7915DF8DD21783BFE27B679DE290EC0432048B3289E
C1A6D07A355B8E4DE93CAD903EA3AF7D01BBAA1B57E2AD9806279FBA6743F3F0
976EFA1E424DEDA446CA1EEDC0557975DC0AEFCFCC1DF586E7E6DCB23A94AC1D
D345FFB1194F23179355255D757DBB00FE9D09022963AD06D3DEB5DA2ED62F8F
53D63F4541EF8CD1570FF54E5CF93EEF7BAA0950FA0B564EC0F769531130A51F
AAEA05F0637A988EBB1F615347B1FAF64E4A03A38C76F6846C8B8B8A7C02A54D
A981D08A948049E8FAFB8B5226695974A3B69B79E45726392D398838012510BD
20875A839E7243CBDDA8BD71B2ECF2D02A9A3C73F5F859E2AB66E9992FC9F9B8
F6CDE75A0EF66FB252F3E18A7852FE2373722421D7AE7C37A6EBE5591EC81DC0
F79A89F76A94BF1B421CE8D1E5042452B582A46C2263E8961974CCAA1FC44CBE
8841D70C177694412822E894C7330D833BC0DB52A442E8BE93BF972DBFEF76D1
341E66FE8D9E973FCA21E7F06595B200845E0D53EE5C41600A6D9B127C5A90B3
3249FF9EF55343A77DC6071369FDCA3985BD8AF29CA7B739248C6290A279ED35
8D5ADC7D2B54426C90D94337472039AAC2C6DAC946617D9C7B5AD44AA702B6A7
E216C05DDF46B5741BA5E190008DFF1D952B3C7C18CA5AE940CB9265DD577C9C
65D7561A6790973B338194B5237B5D9948A86FDE27171A3BA227BF5443BDCEB4
F330604421130276C0D5C0AD3BF73076893929B7982C59E76E657172BC6E0BA1
5402E65D6812F1BD0DB84E9B28B9F86FA6708AF865170BFA902F717C30AF22DD
DC6063C732A6F428C0930FAEFF1D2470D07AB6581D4B7DBBD6D9E246B5227BA9
8D399415D1A9068963D707C29504B8730E87D260984760C4C7B7E0B4AC08A96B
B4909B3BE711FDC8581C8834EAFFCFE045B1D45A327EA56BF4A61EAFFAFD5F29
A99E798A521D8114490670E527BC95332DBF95DE70C076C137D3D5B0AC1B80BD
C75F147276CF75AF31700C32F301848A6039F6F5A164CC33E4C8320706CE4148
855B50E3C37C4F8ED4CE7D79B796732724A0A8F2F828CB1DD315C636253FCF3D
6026D040A2D8BE827E39E7E0B06B1B0C4E7685BE712D925656D23317D0FAD0E6
3EBEA4DAC99574E813AF4F72501D78FB92A8A32F408C758F785EBE774458D65A
E1C0699D9F64D0D6F462A49979BD6FCF474E97B4E0A7FB9206B33F7A59A17A5E
83794F56962D76B876D11CD33C610204905422080A852323A8834D981922AAAC
2D5F2BCB0A0BA66719B60B37801E203754E1785D185EA29513F3C9BE6191F255
72452B3698C34C32CDE4AEFC297530DBBB9E8F402FBA40C3D2E93BA0A6C911D8
D3B73AF2689026B2F255D95FA0F097430840CEBA3C00838CCECF62709DD989B3
8BC03B5A233DF75B7D1213329980CFCFB12A1360E9119B536CA3848C620F7645
5B20F2F4CF50B1139F1DB6903AB982845710838B729CEDB7836F1EE1809E80B2
6C85BF301606266F400204C11B430C89BAA234E6D354688EC1014A607B2C51B4
2E9F464124C8F862CF5758AD7CF1415B5DDAFCE95E8AC06FB0B847E0C0E26E07
4BD48BCE629C4D9BF6117DACC9A9972CD0CBFE537A86AA0E6C1A0D3635EF3AD4
D2DF2A0607C0019A3B7CC9292874ABECADFEA3F3DEB90A2D99517A35BC451831
7C673BBB207594EDA347E486C3F70EC67C55649BD4783EA351457683186BDA68
0794703B5B337E5C912707E4122CB2200EC7E672B0B13B3D0DA532D2F7087F32
05BA59D9C0BE703CD07CBF7A8C6EE352B1C4CF7CC990ADF8D81A672772807AEA
BCEB36F56B59D8230C42647953A07169127F3E85B3CD2B2D3B2D06A940CCD5D3
BACE10C323F429126F5AE12739FDE06D9DC43183C48000BEE64228990E59D9F0
B282F6C574262E4622B2CA73405E82F418144ABA58E5C033AD0C0FEBEF8F330B
F6970510A30E39212199729BFBEEB59B41D106B9C8C491C94D59FC570FD31858
FE93591098CBFFF2285604FD976CFFB42CB4E3E7BDF00FB502F59237381069E5
8ACD6FA8A324649434C09D08EBF19C7F02C11FDA51250502EE600EA717D41B5D
65EBF066867A98793E5C1360814308E4B74EE3510705C3A105527BC7379B8129
CE2ADF113BB01E9009E16CB43D886805437AE7BAEE8D109C4D529E6E816F7DDF
A1EC3D79388DA5BD29DAA58AADFFC1B635F71D4280D2B1D5A9B62919F08EA188
264EADE8D32AA577415897DE9345C42308A90D507106B457CB841BAEECA71950
CF5091FFE041426108185EB7F58EB7F3D6C684FB216A6B8A4AA9715A93CAC34C
6D04D0ADB51AFE9B73054A41BDD7BB24BF4A1024278687CD3E343B8650B550FB
B706205C4705507BC67423E7214B7EB04EEDD30B3FA29048BA3C0392C196B8E3
8BE3BA3E3360B7EFF8542CF72DD07FB73D081DF6B6E562D863E959B5972DFE80
3B7E68DFEB6CB76F52D27DCBC3286542D9EBA6F112F5C0C747A30500DF890462
18FA6023A59AD8690D5B665561EB70D54236782119D73879441DBD758C96C041
9A36E9EFF7E397AEC27F49BDC1B0FA9712DAA076344598AF7AC32008EAEBB9F4
0CFA76396A6678176BF27AB8AB22293AD9A13BDA7EA5FA85929735D5F5AFED43
A04794308C1A55BCE37F79482BD65D5AD1E47AC669EA276620386E6323031479
0060A65AB8756A92EC055CEFDC55BE91D24B4D7680A3A6EF4146FFF03F2E396F
E8FD53B43EADAFF1A63ECF0D268A11F2B980E1DDB0E0A926919509712901FD04
4F3A3D6B69C9C081F089F66796D3559FFB24D0F977A1177F8B88A42469E7E5AF
0FF0E6EDA585E1095E6A9375BD675B202E24D76C86A7472CE931C39A9518620F
31F9CC61496C397A1A46C69FA1888DFDF4DC5424339744836CB1C0A13F013D73
D0C6BC868A8992EA2F747FB603CE960D43B48C4CADAA902FEF43372D5D1D92FE
7D143FBA8719B87AE4AA8D7BF8C1F65FB2CB2D603A722684D2FBD652D747CE86
2CD3C06E30B3566E444084682D76C854B7A997D157253CCFC757EA239EBF3A1E
728F64F3C092477F1C44C8D723454C4D98F2369FEFFA88B1D4DAE41FBDC7581B
60F3ECC73743D7B7E81E4DA90AC98CC9ACA77C8C7AF106C1C7145DC5D315D8D8
2E2017F203DF0A8298F4273AEAE0268C8518A3288EC8C56D4CCF898798FA3350
509335DD4D051015D94367B2D236C9E8F639578E3BBF140DEFBA03B813A4E7C0
FF078C21292D8388CC990D4598A90723CA6F9BE62C08F31256CAFB6043490966
7825417626E45CBEFDA8EFAEC8D03AB6185424C85963D80340D56A96D580A0B4
C8B69A054CE529CD9C36104694DF3B8BB5904F2581340557C3D668337A1EBCC9
3F282475F3CB81AD29B5E0753DB80463876F311E6C572A38B97E1CE6741E2025
4715B704DF7080D9FFDCC0412267548215190DAA9970887D990BC8D29A5F9E7D
4F59DEE71E0F936C9670318E90CC10EB63F3425E8CE88058DCD2CABA070FD78E
C96E6DB7F554299D893F30806EF60DD0FB11A07A2DBD9EECC2E57546546A2550
2FE08B3BA75E5DC2E66C100A4D72C335DE605393675F8FE5927E9BD2DD24EEA0
7E991DB13B685AD13284E0CBB7A41DC6B7015219480FF73E0A676B3AF36DAF64
3FBA5F10E5B789C27EE99E9C689EE66519EEF26C7300E4D90DC9FF73A9A2F938
7F009E6211108052984CAE0F368C741A7ED2350363F148BDF963B1E31C55637E
D1CBC916A5C8C5D6B30C5150A9A185CF001EB3FE363F7566B6937589B6EAF025
33163043D40433305D5D6C67B98CA049B0A4F1DBDA9F0A976F346D9B3D700785
6CD75048380B1C88FD441BA10B8F6630A9B3CB2E19484FCB6DF49BD628D46993
C68960091CE02B457DC31B04DA70E8972F3A347B83DD922B13778E4EDE3C5121
F411473C5B1669840BA412B7D5693E0B5F2A59CA51BCF84BA45F3F3837987709
EAF7AD5678C7DA763E23A0B7F3BF09F0F8F4E0D9A44BD4AA7A8DD46BD1878572
566FA20256649867525587AF615902407949DD45119526B2C3D29456192901DF
C6E4A0209873EBF15A4A990A5E42E1E99999D535BFB68FCB1CF91AF9DD343B10
DC8B9A5432989BE7B4AB989476FBA0A6A645AC89751912DBC2BC6EF3D85D705F
9A7FD52FFC37BEBD42B388E73618D6A4CF61AB9CC08AE7E65BDD1C39EBC98ED9
183535A6F05DA10849978B1325CC654EF0E799E5B56446D797F423C7E5D1EA3F
22D801536A7B9EDFA7AD42C7C07EE168A78D116DEDBD7B3C4EAFBA5FFD7B1D83
0B400EBFFAF9B2432FC80C38E0A144CC731BABBE8F71E70720B1F6A9120B513B
2D6A3C54B82025296B46BD00A249A682D4353F84ACFEC7710D87905040508ACC
7A1A974BD03C1D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMSY10
%!PS-AdobeFont-1.0: CMSY10 003.002
%%Title: CMSY10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup
/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMSY10 def
/FontBBox {-29 -960 1116 775 }readonly def
/UniqueID 5096651 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 102 /braceleft put
dup 103 /braceright put
dup 106 /bar put
dup 110 /backslash put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4
3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021
91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2
E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A
11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97
C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857
D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20
B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3
93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F
10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D
7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF
B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B
491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB
F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6
019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6
915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36
356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0
5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D
9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64
3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1
FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252
720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5
D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726
BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5
7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377
DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56
AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7
A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E
0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743
AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18
CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023
0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD
5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B
5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F
E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB
54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809
E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F
A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906
4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378
4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4
038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4
B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308
5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC
B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837
A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD
2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D
CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246
455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE
FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03
16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C
16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F
483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352
67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2
3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472
1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770
93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA
051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B
8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4
8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436
6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0
06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7
84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0
D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6
DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB
0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD
8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC
C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34
754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406
1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05
CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523
1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F
153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02
905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718
617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2
8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A
98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278
53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B
888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D
052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A
CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501
A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F
07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56
B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672
10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2
CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D
3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12
D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F
849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16
648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE
84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA
2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD
2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204
9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0
B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B
D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7
135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE
EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939
C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782
7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0
4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2
9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171
050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486
3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271
C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8
843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342
CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B
B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50
3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175
19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946
FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0
17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6
8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B
CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003
F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194
1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E
4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194
2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929
9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593
E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB
8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB
BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027
04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5
C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404
ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C
4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909
84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6
C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6
09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777
D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503
56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF
035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB
FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333
CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663
B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A
F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD
CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B
0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C
B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9
33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6
4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D
F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E
2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A
CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5
88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37
17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0
55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A
A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50
2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3
406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8
AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B
60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388
C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6
5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50
822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E
94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02
D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA
343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE
894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5
DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327
DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F
8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324
A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA
DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270
E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947
DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC
4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653
5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1
02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8
88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A
60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E
71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52
9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016
A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44
A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8
AB66A0899A135B400DA86109FFA7A6A6FDDD10F23FA4FB84C626402F2ADE388F
8E15FD1310A54E213599843C7E4F6320D2E6ACD58DFA107554985C62C277D580
6AAA79CCC71454992970B82C1EC19345B393A2D13A4F5110BA6AC7747674EF31
6A464E208F1A38FD21BF1F62E1DA0E31C3E687393FA84708A1063BAC1B5E2640
DFA4A30DC75B3347473A27915F6E9B3911C0228107405CBE945D5A92E25E8C65
F9129501B87E1A3E5572A24F2436C08C2D2FF1D1A9B11052AD1E15B69C9342CA
A71281C67CC3EC0D070E3194BA9F01F68658F210974EDE91EB4B1C67F2DF1CA8
21C6594D49E7DE5ABD9CD93196989B7B5176E1C7F301C5163BE92DC79799757B
7CC33A6A525423164BC94F98256EC2CD929AAF141C1810BB3D302F83C1A49903
8C1EA4A568D9C3C27F3CEE245A9A4AE9A376EB2BD898C915B56DBD063054728B
A69C0132640395A84760DE8D09CDC9CD54E3F5F268980C2860B66195045FF6E7
7508F5D23E6A51A2AE1E3C7058E3F4FCE6D8147E319FEB8A5836F7810AC8D5B9
F85F8135F813AC9F41E62BD1C10479BA112E79B080359E6CEEB2611323D69994
5913A228E0E1DE2847E4D50C4C63EAC9F884BC3683351FEC27274728B2727421
B6DABB1F89DD5CED4D4E75583E6A7CE327F89D70190BC917EA887E3DDD87C11E
F838D58317721257F2CAC9E991BBDEF6ED51F0719CE1F0B4446596A78A0737B6
0802CD6B543FCC01ADAF847C21E6966A9B2FFFEBE545D3B2E8D24732E7C44C38
62C4999D769C15F24299D76A71DBB3178582A15CEAB6A8CF8F3E6B0E75BF73CE
C5280880B7C88D6E9BD4B8D5A3B18CE41C681D6BC7C73CAACC7B533EEEE2B234
D38C22612FC6D2075E4303D8470FFC72BA88618D7FF7E138199232D1BCFD1F9D
0F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMSSBX10
%!PS-AdobeFont-1.0: CMSSBX10 003.002
%%Title: CMSSBX10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSSBX10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMSSBX10 known{/CMSSBX10 findfont dup/UniqueID known{dup
/UniqueID get 5000806 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMSSBX10 def
/FontBBox {-71 -250 1099 780 }readonly def
/UniqueID 5000806 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSSBX10.) readonly def
/FullName (CMSSBX10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /ff put
dup 44 /comma put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 71 /G put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 85 /U put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 121 /y put
dup 122 /z put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3C05EF98F858322DCEA45E0874C5
45D25FE192539D9CDA4BAA46D9C431465E6ABF4E4271F89EDED7F37BE4B31FB4
7934F62D1F46E8671F6290D6FFF601D4937BF71C22D60FB800A15796421E3AA7
72C500501D8B10C0093F6467C553250F7C27B2C3D893772614A846374A85BC4E
BEC0B0A89C4C161C3956ECE25274B962C854E535F418279FE26D8F83E38C5C89
974E9A224B3CBEF90A9277AF10E0C7CAC8DC11C41DC18B814A7682E5F0248674
11453BC81C443407AF41AF8A831A85A700CFC65E2919BE7F4437ED75BF2F7BA7
02F85142A4EADC8C9C7F11ABE2AE2A9DEA79CBF9577DD8627E31D25A7E4DED9E
FBB1C413696C88A07E5C937451D40A9211B29E24C9424635CD4FD6B16FA7D76F
5BA1DF0EC26097EEADD70EAA577531177A26B5017A32675C68052E90E68538DD
E779AB23150FCD1653460CDDCC713599EFA381C3322175809A73447720F6911C
6BFBDC0458C477D2CE69BBAFD05B5C2DA1D2E3E8378A2112066B045243D3D080
DAB211DCC25430973C18E7FC5574A814E3EB79F34FF5197453873C8AC66E47AB
5EA57CB3C8365D5235E7746C8584734F002E9A28C38B0C25E3753D85A1D2F3CA
B8DECFE14A7AFBFB76CF3E91A1E0203FBC8052C2DF967693C9BA0ABE86B5D264
BC345D7954C9523B3E70C4AEBBB0F2D56BAD6D76E095F9390FBE2CD607F3060D
F713ABF47F0FCA5D5C27CBCD4140C668F733F769FF5326917C0AC5D4C72F99BC
5AF4540DB169622644D320872947BCF1D30DA4EA150AA22D6D53777345858DFA
3286EB68314E30EC650C8BCC572D72879E431FB4297AAD6533C8F4802E0B9902
8360C57504D4176C1DE7F57382FF2E2C0A3D5285A061CE91D3149E3096B91076
1E914125CCA8D1C9230B72427990ED4468CE79C11E8F0CB89A3213C535B040E4
0C5784E6D53C96696EE45C87B5E0DAA80D3A06E5759D0676ACF99020DCFC3E8B
50002675B01959500133BC30223C75A54948DD28FA83F399924D4ACBE33F1F2E
D85095A76AF6DD92EAD139A8D5673A35B3633D25EF3B10A40A7E28F329D6E7AD
DBF1DAD1E666931611FB107D1FD3576F11A22B50943C536DC2BA477EBAA52BDB
B65A98268602F26DCA5EC761526CB7F33CB5B345110B7A90E1D078A21E332F78
33A0CF88EBB2CE852384DE3435F7B3564A0AFBB2024F79A633BA5B6EB7CC5389
C43621C82972D60F7DAC71FD9DD38CAAB865D7DE4ABC39D71879BF31549DE649
4B9CD8C149880504E5B34C2153E963B3FEEDA0D59F70E0ADCD24EDBBB8EA961A
90E5AE4ABB26E1AB1757E25572622D5A2541CFFACAB673665C7693855473D78B
847FAD590B657CC0B8289034AFEC3C54FE97B010535F70AF67ECC88E21B077D3
A9C2C52D25CE9714EE430735DB57991AEC946C96B6988B2C85D17C8BC80EA844
3A076618A686040ABCAC347F1B1C14676B05E13C239E99C3A2B63D0388CB50F2
BC119D6F74F70DD96BB5343D5458950070576BD6E319AAF5792EBB9DA5778CA2
58DE0976AEB766DA6A865F09FD6753FB4E7E0E9A06AA1A06C2636AFACF787460
9E73BAFC4A56A99277DCB14F52555EBF6DC5E5785EF7745521FA061227B725B0
7A5BA223D5EE9239A7A1694D4F9EC1132FA23DA44ED0FB0AFD8987A01F9FAE15
ABD485BE098CA7B1AC780A9A02AC58DCF0425D4D110226DC7B5982FE31BB78A1
C0AAF9B712E8D478FC4F85400B5E6D71AA653F9BB2E967A76D02B04887CEB9F0
0EF50A956AF7F790400EBBC07467D9A8BF8BFE8200F8F7EEB5DF3E62A9A332B4
513120FD9F8A93ED683CC47551C629B5313E4E20A207845CC37491ECC3945EE2
71A0C5633B353B03B1A7727D5D9A0478D20D67A981F6E5CD8737548ED4348A91
82F2CE805724A028E346E6B7C542FC69CFC7935E6CF3320ED9701C6127FBDFD3
B20F0DC2D1F92DC69E4FEE57B457E82D5721D932B140CD6DB9BC86B961E7E6A7
5816F42AF937D97C3149DC2AB0054564592448D0CF52427B766FD38E3B040B81
59AA9030CE06A9A9E3A0572A11BDA85531060B75DF8791176CDEC0A9BBF472EE
BD433BCDAB926689B8806CC8044D0925814C1784A41CEA48ABB9AC039485BFA3
026FD30CCE84AC57DF09B1581ED01B3A840AC5E9208465BC160238EECC7A6753
D5B65B159FB08E0DFE4C9F2EF5986352C0E0C4DCA0EE62EE5C19BB6C486FCADE
99D3519723B70B20FACE685ED8D364905EA64A15981B00A6DC06D7B0E3D38FC0
9DDF04221696F7A8F3CC7FDBC25A61D9AAF9F65D3A64BCAC4084CF13BBED7195
6BA4C2445676804C333DA6569E4AB7E6999505DD1988C3E62495DF61B722A6E3
00ECC4EC698E33F7B8225FF591B746E449D2D178880741074D0C3CA740312D21
1F8B0B1A855FCA081AF1E69D14C9131B1769943EA6D5D6210E10BBD9E404B445
FC3E2ADF8C9AB6AC07BC2FC0482515625523C04303F7884283D5CC35A4A6ADAF
59738F3DDDFB51E7134327AC4CA577BAB076F3B588FA3828971FE9D561F46358
24BEC4C7F84D8FFEEAC94E2C632AFA5AED635E867AD362E373CEA718C750B4B6
954A7CB6E4CB2614A4E1C707412B7B09F8969EBD5B6510B66818A2F5AE4EFEE5
9DD7690A3520C477DECB7D61FBE5F84D1C655971FAD7CDA78E695C18908016CA
48B468BB6B43EBE1DDBC49F43B7CD667B4131D7B0C9BB048178A31D0CB70A76F
527DD352F7A9F0F35226117FF305A9DF4AEDF474FCD5C7F31FB06D4B2CC40629
1BE1F40B6347201F84BF35CB5155BC4D2E1DF2A5C7613C27A0EE77BE55A744B6
DF7DA5741AB55F133D518660751B0A91E6BE43B527E9C97E2F06FBEB58DD0215
BF4105DAE1B2A29DB05FA204D0EA6E574C7344C3B3F44092F7F997654D61EA9D
4C811CE6087BA1615A31F8D107DC64F1CFF707234135B728EAA0ABB475E678D8
9200950F24A8A61AE6AA18F34A067849825FB3925A8E01D64E849546FF7F4418
19C0FFC2EEEEBDC7805612F7849BBA7BBD954BFDAF2E6FFE3CA520B79070F8E6
B1509EE0040714C9F5023816250F40FD1C6867F77FC8ADD3A16A3A6275CD6F5A
21BC03274B350EEFA6EE929AE91DEB8D8B309E3B3524807B4562C7758794A8C8
4E3C6EE0C0859AC9B799428EAC242BC4AD9564F2444E3C79F11D4C1D5672DCF3
2E191E25165C77EEA2DB51753ADE07F5E7E748704000265649A2E1DF68909F38
68F0D5F415330C9537A065728D2104C34CE05458AC1B2A53946890DFDD67563A
E044E7AEDA111FCBF431546D410D67602985F6E13988999E46C80A983C7F12A9
FB56C6735454F1E194F63A1B6B21683A281AC6164B3229AE25B1189366C9DDB4
09D1BBC8429AC3D64F8BBFEF1265611E7C2FE1D3A2FE24FBF3ED96A5CBA6FCA7
847F5E3AD4D14C0C77C225588FBD0DA2E960FA3901DA1B46B796121DC804FE82
C382F75AA0495312A80EF9350CE0F80CE0D18316E5D02B7BD78667C2DAABD879
E17D5EB8F274DD2B1BFBC04EA2F72EE5376D01DAA129FE257162BD19D19B13CB
C13181E6DBC12826AFFD87AB152A59D67D0FBBE5D9CADDB1CAA8C27689355AA8
FDC556015E4A9708995E51E46D6D1ED7B68A61625561FB594B9BEF87A1720222
64E4F8A47637705CA32B1B4CA5B8473F1D67FCB7E4041502B7ADA9FA4B16CC6D
282FB636979D3DE7C76F3000ECA08AD6E116B1558FADCA251D67FDEB4607CD3A
84BCA7DF488C97FAA4FC195661D7977A08EF04A7D9A2D619EFC7AE291D7DA633
C6DBCA7DA01EF336E378764F6B4E4D6C517BE05F10BD1FCDB20E5ABA7F65A8FF
17D93CDF1E60787712C40775A5C3808AD05A2F276C94B05E10C6042604F592C8
AF1F25B98A0C78AA7BE1DE9ACF2273965F0795B0D79ED6CE2753FD0FD7B41A18
FB490B06B5467561DFE5161C27F58E48EA5F38A5477C9CD0C2FA13683271E55D
8B08DA0C96BDE97C653B0B18096EE7C0E6BC3894057F14E83A902FAAA4C2AC7A
566A9EB8F9D622476DD4E722F55F28230124F67501866FFE952AE93DF5BBE2D9
4B9CB9955320A9E256E611EA3838ACD9073107936226140ABEE92A096659764C
4ED2485B33E75BEA57CCF19AB9409B684EB14103ABF6811E7A8C0AE0C0C11BBD
87801F3F0260D04A8921FB9EBDA2A2048F4B5C47DF63051A0BA6DDBBD895E0B5
F9F0F3CE62CB118B86AF595F4F34359DABD9EA354798E8561599CB32345A43B5
93B217C43E316BD10BCE1C66A10C9A8041A14570ED7FFDD95AAA76E92EF52042
69F0B8FBE21CA4E37647DDC890D13AF489606195900063DB0CB8D71968C1311A
D56155D2B2382119E603AA85E9ACF1785E4C0ECA137E7E4F5EE7915E8A080509
02FFCD2494DA2D3B2AD27DE5F11684BFFA2366B6C834AE309D8E07F98B7B556C
DF3E0B42559610F1B78C79254AEBD7B0F5B3D7F420BA725AAA91EA20D014334E
8FE221BB02BE7B59FC3D03D8ECBAE21F5E37E4A0352C475F9F29C5D2FCE8CB9F
2A059AC06AD9E6F13C39F2781D7D4B3FC34291D165E5C66C5D01B5AAA2AE8F72
9B3C634FB38FCF35283792048BACA9F7EE6789621D9243B917234405BF194BF5
A4F137680ED10F216076AA2767C1D220AE71EA7393C7E252209B6ABD94213AE9
F61FD2CB3160F41C4328DB8563483E13EEBA83A7935E4AC11A97DB7988585184
6BD3DBB8241EFA1F1DC5CA9C2E16EC1EE12CAF4471FA83605DA85672B34B1F9F
8CDBAB6907D6CAB6DD7E00A7D636EA20961BAC97D1AAF32C8096003E096855B0
EF4845013B9243A29BD509436CA78C6F8DF4F90DDED960A0D12BFDBFCEA539AD
BD4BF883E09542C9D75DCB8A4AE82DB495B0B918D330979F347A76D73B19995F
4039557D337FB55B8C5922F35B354F6C8E4D861A0B66B3D803C9862C9C507404
5EE039245AEDB521E90F83F15E44F42F0802F8DAD6A9BF6176C364286601FC80
E14926FA518CC035337904132AEAB9785361709CA01AB0F352317294B34B2B20
FF88CFBCC8E89863BFA2D3ABB2A596C9D9DEB261CFE48E403F88652150EEDF05
3390F002B2E4B53446FB39C488E3D0D4EF4AE2AD19019710FDE56FE29B58B00F
0A6D5B26B814BF64F13C35EE903FA2190F460F9438924E1D7158704F305E326D
66CB529B3A4836DB0FE383EF989C975A2F603332FFE0748E0D695327CC8D9AB6
E036E0E6409261C30B80977BCC3CFF8FF8A9BCBB889ABE47B0CE3450783E1EC7
1C030CC18E074E01605908C3FB61B78CF4FDCC8E8CB13EB77CE6FF2BFF91D658
51FB05DEDBB20B0E4C5604AE3CE6D41A4C8D71A1F90120B1F90C83989B892253
31D06ABB335DE237CD0CDC91256A54797CBA5E284B6CEA6FAE01F7BEFD905E5E
139D57E163137B5751A765B46A3AE6F653FF2551988CE792011E0548CFAA6ADC
E32B876763AF6F6FD6864E7B55E341C97FFA711913F8A7FBCC1FDCB4CF2F4D3F
17358EBCED45C975F2EFF3FB9F77A22EEE4C9DDE63360DCB2DA2C1AA4BE44BA9
3F9CE6F27631809DBC45643DF7BEFE247E79AA7937C409986500EC1026ABFDB2
6C30E0A4852A6976A73AD7483C36F1717460327BBC05DE729E23D370B78630D1
7E87C99A5C3A3C0FFE204EA81A8A33D7DE80DF3C0EAB557F4E86DDF8E03AD072
61B1D8E1BA05452A6FCA404D9BB8FE9831A367B0AB31041B474DA9536035E7B5
EC83DEF0AE17DCE958DA19869DD51F53D4A4BFCF7CFA635D6F9F882E6F0215A7
0494E76F258D44FF72EB5A1104E8F73AD2F6F2ED337D854B81DF4083E6A2D679
6B5613D76DA2347118CF009E8A88924C2A42B154DF1CEFC93C89DE0ED8DB26CD
8C2EDE2670F494DC591E79DA26CF8B5FB76613296FB1F39AF2001BBDAAB12CF4
3906B4C304CCF1D066524DCF92FF484CC682C2B197CD797056555F318279C3A3
7AD8EA9CB19724AF57EFC6706157A5E2F51F104F6232F252594510E0E4BC872D
D610F4C99BC3ECB668139331216DF1AA8F6358EB90CE1F0B8267B878B19BA7E6
77A53A674E0B029E9142865CB92A1596D5AB97FA12FD05A04369AA00BDCBC2DD
1AECE1A4AD55A93885C626004B41FD277AAE6DF68161F7443EFA7D9C913AF909
970F4C6292A694AF033B953CE37116A2AF2439E482867EE9EE2BFE1093A738DE
24D3C408DD105CE6D7B8967994F7C5CE49FBF61AF135F8F7799E2FEF29A168CD
B2F16F795FB475204FBC41AB78AF87E4E80F992FDCB770A3DC0501AE1D786ED0
449956A1BDC93876934331C24CFE4392AA860A1ACCA39978BA8AB90A2174F5F4
97539772660D3920E1B57E9E0674CD34C9EDA83B6AF1B06B26207FE5D67E75DB
B170F1D01D512CF6D586DABFCA32404253F0A9985A29D46641A81D5A810469C2
8081D7774B3188423822003AEB638F21661E0BA7AAC765CF8321F9677C85A562
88AB1320B3256EA9FE0C67E5B69A5127DC1B13E4062CD0C9ED10AB36CD370105
8FA04F89E3F836B01393F1E9365077A30D8E46B67400DDE8EB0AF8C815729699
469773FC3F0ABCEF752A5768C9DAA1931421214E69053775A238553AB6620E9C
E875223681E60B7F7B25BEFBECDD4FF799ADF34BFB397AA114515E2133304A57
B422E97EB3FC5314F64BAADDFEF9C0EC719A78915B26E7E3F381435563F650EB
7587F11CA3B14875F6B1D817C1EFA0B89C85B888E8391C74D77CBCC6A990C36B
1062D049E20876B40CB030367818A3CD3E2CC354CDCC9A0FBB8DFCF7135FB2E6
A0BB0C3A441CEB8D5FE849AC7299431DEE27CE28B33AB7E836D6958104D1777F
8010546687CCA23DB48E53376A446136F449A92C07102315D4D0A897521313ED
1A3A8456A70C16EAA50A3E67336DC89FEC56AB54A579EF264377A103939D5EE0
0A90B4F20AE1F2511469C34B5984A04D5AB8A162F18DBE4D613BA1C1C85E994F
80AFE3C18A045148018045C63376CDEEFAC53A55DA67D5980E3A99CC1C981FC5
5C25CD0A685E3AA6F8C0B8FAAE157DB91AAA50A2B5F7D8860624F29B8DD87606
C30F84C33D802DD5B95E090BD7AA4400E090DC1913BBC392D7E5E87717AB14C8
A031737560F3D132BAAC0D6DD88C586322804BC2D8C505973F015F7662571FD1
C89CA0281CD48AD84B9ED8D70D240A4EFC2715DBE98E545B987AB64FA259D81F
3F768326717675A3A2E22F4EEEA22A5201797C6D5EC644318CDA28A2C3CCD123
B0159205FD52E1F9A60A69AF7B40C4F7189FDED20EAC3869E5F53F4955CDA0C3
2B06D72EA2B8CA5F0B557E9A36B8E9BE7EEEF96B5EDCA6F79F53F83234B2BD45
6B3D631B1C9CBF7D283F377177C60B3D65ADD945D31458164043A17B8DAC8409
B4261A4A0EB36E18BD104A8E66F45C3AECC07F4E8FA9F3D2A27334F95AB79BF8
06C18D57EA745116DE0B36C12B6F5411A9805218B5A31731CA0A35D9AB6BF5AD
928726A6EA61E0B69FF0F4FDAB2CF5B222FBF9BDF4F89EE47373AA3944678328
1EB230EACCEFF4243D6B4F8797482DAB78C1A053F2800144A4C76BB839E536EA
2D4DCEB625DC0F754EED8BE3FA53A7AC3ED17C92757CCCCDCBE21A9D733291E3
61235172F117D4B8305B45D7728DBB2D71411954EE599B0EE786D7603D61CABA
AB241062BE3776FA150680F9CB8784FC7A94790FBD2922772EE886254B59D0C7
4A4DF7A2C1C4ADA1DBC51CE27D3FFF7F96BC5FF7382864369536BEB2EBA6DE2C
1C427990F6BC84E92CF718BC6D4CE9EC1F2DDEB8637AB1FD673C5BCE1A090146
171717B39B9A83F2DE0B79CB1B836390828B3EB6DC397AADE45B21F55D1A3583
C3A5BA93A4ACC08CCA4DB80B78AEA6002D80C5513A705E7232938D8423FFC72E
1B96313ADB255D43E2676DD2B00B51D116A328164BDA8475741EC234EE6581DE
06162F006405D6D823DC47DDD14536BB530D132975C0C436F08F9243F1A9AD16
898823B8E2739B4428E62CE0E41C291157F1886BF937B3D3B9B6DF0D0EAA38C7
D7F17D962490AF81157E76074422D746EBA97ECE803A205B482B03FB06D080D8
05CFE4868E62494AE445824BC127FB7367DD9F70B2168F2B8CA0CF190BB838C0
67563169C8454E5D0DA086467F1536F5E8A1E4D3E727B1688F745FFB4F9E56CE
4DF06341FC891C28C943B570A7A38C595E07707E41935285DFDCA777CE731DE6
B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E18380
9095E88840F703E9BF997E8A666691909635B7CE630194962E4183C3838D9401
260A743CC9A7FC4713C309364EC95DE29F6D6E1FE8C348E25A878C7133EEA500
102E3952322F6337A44AC6070352D2594952A1234035388F5E4A9BA075B48F2B
BB86E2FB3FADE2F7F18B865A1C5CC0DA17E34F9F8127A8D020AF96CCD64B5BB9
90D31E59E4B8258173740252A2667C765A7567788E9F64EE4F71E704C8F7037F
43BAA8BC434FD9680AA039F1DE6EB2DA3D71B47DF439558CB59EE04921B2E186
4F99469C7FB363F4D59CCBEEAFA09987B5978A87A278F8D21AE383FFC43C30B4
51DAB7F784178804D2BEB5031508FEB0ED5ECF846D99F9AF8DF98647196DEEBD
0EB21449B5C2CE51E49A07044356A8C6C8B9C3F3E00BAF3B3C58A4DDB1BB6711
98ADCD04C76640DE3524BD0622A445AD11BB43D8C4628D25551C686B0F7FB8E8
1951064B4E1834FF5CAA8BBA6DFC1B2F6E8A9A91B0267E96D73A17951D0CB96D
4B8F9CCEF3C84EAEC4CCC5C1E4B7D14AC0EFE5A42FF7077083405236F7B6BE76
A141F2C6ECF4A6CF8E183B5D71E7EA9D370D20A8FBFAC9AAB39662E6D1DE6DB7
00D37402DBAE9347BBF0D65ABB6224F5E5DA0FC52A80C3C2A0580D065DCECE2E
FE228239DA44AE72F8730B607591F517CCA3BA9D94A72BFDE1AB707BF3B45F5C
D26C958C757167ABA99BDE64A35AF5C80A1450986080788AF2E70979C4696B5B
057E03522CF0DF8CFE4F4ACFE7114AB435241AA75EACFF4131EB35987377FC45
32E001C04839E46FCE7C80C0AC8F720963876CE7947198C2DF6AC8869E15EC16
D6867AC12F40F7FC462E55952C1CFD9B01A7513A6C0D273E88B504BA4429CCFA
E9B65D65F8B3CEA519DC3A48DDF2185AC8B1DF1AE3A3115352DC3C7E17413B20
5E111B8140646020648F9677A27019A909954D5C4C02366F97D8DE10A8EAB4F2
D6F6EC7137544FB6D10F9577490D9588B730FE9A349A7F13641DA4F0C6A8309C
E5BC7E0E00B732FF41483EB5A5751A722648BC8C8C7996060C9118EB00C227C1
2BDE3E261A4CC4D74A0F20733C42AC4E1D88BA79AE7124C17057675387FD1E81
CF24F6AB1512B8A9AEA7FBB6E53D7DAF283BF863EB3DD7F9F55C21A04F1AAED8
7C854F0EB136FB76BB96D8503D6844B79000254377EF99CB72433AC6DB6C8CCF
F47E4D44F2B4BCA4F750BE236F541C763CC890DBE03F39C90EF39A352FEDAE19
B261BCCA04AEC45E8C9D3276D4B5062522F44A925B555A6EA6E5F16C33474080
C50F068696F90B465620CCA8B2181CE92417030D00AAE28A85BB1A31B0FC5A91
404F77036F0EC33C21773C46EADBAAFF95C07F50083319EB83205F2B8137B343
02AC094DBCF0506C3CC757D3663A9C06B49FB9B251DCC4D2708499C877D26D03
4FDD5735D5EB233DE2C17258DF16DF6D4974916F5A6D014C600CF7AD18A3153A
39EF17B01F13524EE7DCAA5CCC0D80EEC526F59DABA970CB5651CD6E9E71BF4F
09F7356C2DB0A1DFE82C4C4969DA1CB1D0AE0E263A53B8F0529AB5BF0FC1F653
DEB838C8ED968AFA0BF8D9B7D51A645C95A415931AE587DA37213C0C51CD34C1
66A69B1FF7DA7E1A1BCF8496AB284E326786963B59D9A09C7AD30115FFF92536
FE458D70AE2DE5EFBC54763176A52565111C05A0E81468F58F5BC98E55C12193
DBEDEA09AFE84A9292983E882ECC6620278E7DDEC5C6D8FCA4AC3DB1FA0E39CE
B198CBF6204C25A8BEEFB45D53FC0E6895B29AE2F95160723B11DCFC06E34E0A
D4D216A8148F39767D142A14FA96E7F0B92DBB7886ADFB4E55B7A7B4719AFF55
0FFCB6C913D3D0A5287EE3E01476802F3996854E1C43C5136C6BF73ECA3092CE
5A42AB40AD6B235330ACF421637A07B4C473FE0F8373D3721C56699078D0737E
A90587194647F24785B302C756C44D900E0286628A3C560715D504F578890B8D
E836F9B058CE94DACA1E8D1F985B6FDFF6A333BC8FB9E0CDB5215E2157D7D044
56CA63DA9955A67AF2E74AA249E4F4E9A6740195F8F7F217B724DD78BF229051
CF865DEEF4DDA79B66C410C224CCE4E887184A706A278A6E280DAEC8A6DCB4F9
729E9FA77B7A71210D5E9FF8493C6731A2E06CCCAB2DDF2609462F7AE842CDAC
3B330E77DE11F8933D0047F2AE7C1511D91C9EFCDA71B665F941ECBB02C25A0B
9F93498EC1D4FF58630DA69C0EF224669A64764A2B7CE2AA28267A54EE7D6D30
3129BEB24FDB02F234C87DFED18F99AEA42292262E0250275E3CBD337FFF75C7
7A24D5FC81E9B92EF35EAF2C94D9DA8B7CDA46B4D5D04B05A8012549600C01FD
0A479208058DF898F9F2D66CC5800D3AAE341037684012239F852B33353B90EC
A187BAF521E12266FAA1F2147B524C14719A22EE48ECD5C1904403F6D24B423C
6F2581355A55186009E57266D206DDED832CFF38AE62A7C4C2AF813A84B38867
EBC5AB8BFC2F6DD92ADD7C25EF6861A2E858CFD9E8071A927E8A6D21F32E1D2B
3841261A0A65453FE299AE9D9F92343FD3E59BF896BE4F8F5E37301E1FF54445
29A78ABADC532F573B3AA814A2B8E8F3BB7384C9B1E2CF076D6A4CD12735B732
D86A6060745C3F2259532F2F736121695C9E68DF2C492600351418EB5A898BA9
EA56103B5E362C368671D30A51312EA1ADC0D461FA7AD0AD0F1E12138DD4EF42
D95EE63303C802CF9323EB0BA982F0762222D2FAA808075BDC3C98E921F335E0
A165821C5D5D94B74C9A58085EB4F4BF49D6890F31D0A36188CFE1962C14D5C9
4E38FB3CA04CBBAD7DF0B93B54B73981C9CA5B0F29AD880B4DBCCAE5362BAC2A
CFF5287031DA97EC29D758332CAB38B1FD366ADE966771B5AF7472B9CE45D1E1
4C8E7CCE80EAC82E3F862AED69465CD0A5BEE34490CD77F0B0AB6283D0211F2E
AB4E11B8C82EA079623B4C72C5F515DC6328210AF19C3A7DFE965AAF74D505DC
22EBFBDBD9C9D60D6D78A00BFB189B951C63457EAA2EA85914C8B170EA410468
2E73B28DD36AC2BC59970500FA332488F1B926EBEB43F37CEE560190963D6862
0C8F7F9CBAFEA3855503B8BC04A75CA357C3415584E9A6E7AD11D3ACA0E48032
3263292DB49F5B2D68BF08438B2DD99B53CD91FF206FBC520CA93CBD1E94AFFC
57A10246AE461AF37E2A30DDB18766C17506A9913783A336C9DC4948E7B78CE4
F773A12606424260A6885E032BCF4499464C12ED15E0D01A2CDC28DADB8746A3
81D4AF22F02D075C5D2694363AB65E2383B629F572B6A3327507A5D0A0E3BDD5
8ACFB96368A60FFF7F1FDDB27FE8CCA96B64022E2FCB6F0BFDCE088C3A26D8DF
DCFAAF3A2C3D404B7A6CA002C9DC171B02F806F0C9B7F571B5474F4D9318A005
AD6A983047B23BEE8F55C980A4255386BBA9B1DFC45374670EBDF72EEAB0E5B0
A3F2940FD70CE16F5F598C6B0F6A38048F2EA10F68D5F0C6FFBC07BCECBD0E3C
246A53B0483A0A9F1FAD2815B97CF5D3115B409DDFFEE27545D2772043025537
3D04EFA9EF5563F3E5F6379580EFB79941EA961E77D42B1C3CACE31BA462B82A
DFDCAE87FDA2392032FD811DDDED35864E4A85EC61B68DC5A55361B3F3B54147
05F683DE5555BA3065BC0FF577624D6AF22120A795A9906AABFCE03E0399B7E9
31A53030B2014B57E32A2F2548C4BBD88D112D86819A74DCA21E4F24F9BC632F
4B6A07180796B05E1C329E3B137C476E7833F42516D71A7E6E8ACC3EFA2AD8B0
E243EEB86E8764BAD95237D0DE6DE8C96D5A850B6B4AADE1BDE62B7A29DADD01
D8AD258A291F98B57EB56A7E53CA2CA37E400FA52AD8EDA9992538B3DC69D5F7
55052DB9BE972F8CACF0F1820DF5672714597EBCBDA59BB8A91F8C9D353895F4
6FFB1301806BB3A194550C798CBA7F2E1799CC7AD8816C97F5D42DF44285AAF8
D94B22BA2DA93B961C3447A9E36E73E62C3158BAB675BC46BE0584140D58621C
F80E5225EFD57459055CB5FC8D17E3FDBF1355A4FA515E39663EDEAA66BD677D
E9FFABECF40E2836AA7CF8D7438C244BFAFB343D1866A5504D55F6B5219D0FEC
980B7B91C718AB802A8C3EF19D4C33550034D686D04385DA603A6A099C986622
00C64E39E27C95596652640F26938C248D1FA7F2ACAF5F0DDBC70F8C6DA2EC74
315C590692BEB807927B7A60F16061AEC0A57119A73D88FC3EACA1BE1537BC80
CC963B2FB7EADF916B506C78F32930FA2159F23B8F9C8FC73FC998C972128278
590F4000F567F85A6362284DAEDDE4E7996DF5F18FDD5985AA379CFC8D501F55
62F68333676C1A750B344A8C2950024AFFE8322B86BEB28B00B1A179F48B2A7A
3B814C840BD47852FA6EC5D1A6948BE58E5AD931A4CF3249BDD8C945CD9CC2E7
FA20A3A6DC3D5E43DD88B1A85003CFB546C6CE4E5278D0C60DB1D6200AD5FA32
682C9E3F4B5C95D0788CFB2E2BB042ED6BD0A9643F8B31DA412CE97F665FB356
08488ECEA5D18F6C38746545422F700150D32D86ED59AD1F7A32D185A38D555B
3992FE710B379B4CB6ED0612FAD4EB10EEE8B915E40545EC924BF0434AA2E15D
E8958604E80F2EBA44CF0F3D0FA461A20BC31369FDF487BB8F820D226F1F5013
660B935F40F6FD5BA538780E569618F25120F26CB6903786F0D38E20F504AAB2
52D7170871A73C6C9FEAE12A0CDDFABB0D133EBD31598CB8D14A1559DB8CBFE4
301BB7B8C811D4612F91496FCFCAB7D110639F49BE71C3478EF633EBE6EE4ED8
B7AC835A975B2FF6684810BB0CF57BB88ED5FF8A00FD00F28F7D46F8BA089BCF
F7CCF4DA30DEFB2330DBEBCF928875F40ACBCA8C815F7B3A64E297CF3FD626CC
47D247CCAB9B7B772BC934F0983E6643787AE1F50502B4D6DD3824F3963AEF8C
62353F8CC09FDFCBC69B3EF51F1B2CB8907B8E26E8792E22DC46B9A9F2CAD94D
0916F6FB3F189B5621D374878E636EFD089E81B7DA5C7F67131B267AAD36124D
E3DC8BC08B7FEC1D8EFB873798613528E04B694780E2C4AD132B212D59CBCE57
EB0D92B5C590ACE21F79233FF8FAA9F03141F84CC59AEAB1622A76034539DF61
59DF9E448B7DDDAACBCBDC996CA2A2D2281A9FF9DC3085FAB099E0538174DA8A
480E6B2C82DB804FF228992270E1039CAE24FA6C7ECCF47FC8FE3DC93AF5CE5F
FDDC9D104966B8C098232486727FFF7D7174451D1C559AB0AB4E75BC64785F74
2569C78EA16F0F516CE3065C483E6923656E924AD61027D7B2D33F2FD97B783B
D7171AA6C02534543F76F56D0D397C8E981C0D32DF71845ECB1B0E8DE3A09FA6
A232C2B120A80FF68B779710493AF2EFBC22090C190AF97C4445BCB7690518C9
4E59517C36935BB565559D1F36A1F9B6C9B4773265EB63902568FF99E7CDCC8F
9AC8F6A1130294527F59187DD7E69A0412D5BD5AD4E1EE12C5A4A5E21E460D67
16A5F7279FCABCA3BEA9655A159036417018139F31C43D2B50F1EFE12DEF52FA
24BC855751201D413AD322E884CB4BD220725C53B4534084958FB53862A9CF34
996E9491B848A9827D1856E2F4E83BA71C15C2132B64967509802798A11089CB
47E0474D0D62AB4BC9AB39B7B41F93332B2B68BAC5979BD46403FA4B079B20F1
E36C5DC8CDAAE3C5D97A289538A8BFB7B2F425D94FBAB3632BD44064EE1FCC01
CACC75076BA87D29A4079B24C20E5AC57645B3BBA1D67FBDCDEB134FBA62E011
F50B8728B5DC0E0517EB39551A6DB31E332CEA857E8E5FD62C8204EA4061018D
83B9A441D730A05332FC7FA9DD10C9F785B14F4A6B9CD06CD0C3DE492FDD9B4E
BFD04C5E38B10C2D12B10A1475B753E1E4906D4EA72C7F2ACEE0D69D0FDADC9F
982B151078F96328E9909A9C39F282028EAAA4CA6D95938D8BF9CD1034CF0501
9AB0CD7B19AEFFE54EA25BB0418DB5D068B68DCC68B45B2027C5D534B9D66984
CA6ADA7A52BA677F8DEFFE844656347B514ADB52AD0509FC0F9986D8D33311D6
C014E6B8BC0EA58721D9C4D92A55E8B973FE59BDD6DE5451280ACFB0C2FFF54D
FC5184B2390C02BC342872366B98CFDC692111A5D2D5322AFED9C4049B1A5276
9283F09F362344DEABA5B5EFF2748964C3D3149A9DC92A4A7B66E1C8E3F2D3EF
075DF53BFBCF1790B255C7FA87B398CB4DCFDE1692673ACE41A49921A00F2E96
F2909E3C8DD7315CA1DC44A9F504084BF32B442B72566E9041BCEC2DCB2EEC02
532A7864D00CD9AF4676C0BF7ADD7F82AFD03E94062B2297B32EE22EC57E39FB
82A52D9E53F446CB7EB9E1372CF30C269C4CE5BC6ABED3887C679948711CE525
FCFF55A15AFCB88BD9B03DE2D4A8FCA7F1A5F75124677237E667DB4A19ECD57D
9FC9EDA5A7DE854C8C862AE0133C993D19643BC7ACF722FFE9CBE54987B09E21
BC24DF15E8669F1B89BB7606D791ADCAB5747F29DC814A33DAEA5E7E239F9ECD
08DA565A271B15BB9A0201B80999D067DD96AA2BC79B4C5FF94127F50C5C62B9
C0F805F54C5C11FE40952D962624DC8EB57C6494780926F0266AC161A7D6538B
5E536518D99D9397B37199ACCDC7E5D506782ACC9E455A4FF2EEBF6E32804402
6CD996ED3FD8D834B7BF693EE569320688672BCCCDB2CDC454A54D53D2F58F99
B6F3FE0AEFBEB573FC054159F73E5806B9EDDD6CA00B982159CAE4D6AA001322
1EE16D0A7F1249277EE4A12249864167F38DECCCEA91A86514425C2677589A51
CCBA755E7A82F864AC991071504DCE6C21253F3C952C4A8844826D2682168573
DDB07F5E27A4A5F5DCE16120B0AF579C546B73BB3003F0821A071EAF4DAE7BD8
79789F0F4B9198716F023A0B79E021F588D0E60E8B1BBCD4C4A0065582AA89E7
9097077CAA4A35D34BFE16290ED3443AB1ADB5468D78C3B3064E96BCFF71EFDB
BA0AB8A4D2439A51F31591622B7766078FC2D5E7D6F727898A197E818992AC10
C6199531D60C8E8B10AE0974C979DAF7F30EA87C2A52A2394D49C8E76515F861
8B596E17FD9B599DFFBA26C8CFDECE79DE4F871859DE9D0682A68BAEDC176967
60F808C7FEF13F630E9307BD239914F8774A1B7072E27EF5D7F1DBB7AAF3D0C5
AA448D07F6808A5A72D5DBB9EAE4B9D906D256C1C5691386EBF0365DD89DAE47
66E2C29C10A1A3D1D17FFA107C5A8EFFBC7C8431A12536B464AC96CFC79BCD12
CE09467797C6C73097AF2A9A948244FA7D310F1EF9EA900DBFD80B822B5A7B1B
0AD222516C5BAA35AD8588597FDD75721BB4E23B4AE1F79835C8D6766A18CCDF
F179A2510DA9DE4D5BFDFE44E315661D93E1634E7F043D9A04B6428D3B9AE1C4
F22CB3A3AC1978C93E0DDB57311825AD1FD13AFCCB67B2391E967555F9E3A3B2
4F453091A719A0CAE3CF514BC9B68ED65E928AEEA1E61BC9AEB1EABDE876522A
9ED439A92433CA8A95B441D19C1236F1B1EA69DCA366F92E4C3F0D4E1151CEF9
C083470E2F8202C06EDE655E14B239D6F5F4458E30414DC9A247A10932BEE664
946450341BD1BD5C3F5A6111D1BAD32EF1EB5ECE513335576A9089BC3DF2A586
7CB8CF140A3B9D181AEC90CD17999B37F1947926B2DC12DACC6652DB4E399C6E
B878862850F2FF07B04A16FF88E81D97AD93BE222C39C9BCFD0473E04C26DA09
CEF8BA97B832790D52092DBD362C987D15D6B3E586
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMBX10
%!PS-AdobeFont-1.0: CMBX10 003.002
%%Title: CMBX10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup
/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMBX10 def
/FontBBox {-56 -250 1164 750 }readonly def
/UniqueID 5000768 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def
/FullName (CMBX10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 46 /period put
dup 49 /one put
dup 50 /two put
dup 101 /e put
dup 105 /i put
dup 110 /n put
dup 111 /o put
dup 114 /r put
dup 115 /s put
dup 118 /v put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB
B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A
6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6
39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8
407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4
F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF
285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33
DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185
53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108
74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D
ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2
2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89
8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D
718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61
C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B
03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2
767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09
FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377
547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A
3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62
57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10
9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84
1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4
822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB
1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B
28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A
B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893
9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B
80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7
D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356
582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89
4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB
323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D
CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC
2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717
0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C
E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1
9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F
9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237
E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814
9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF
A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45
8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96
BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921
5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928
6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711
86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990
0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713
6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05
64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377
879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B
63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE
2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667
9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317
47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F
F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387
9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F
C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB
6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2
BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238
4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751
125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E
37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6
EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E
7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD
A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986
410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E
8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0
064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9
28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B
3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759
8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5
E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08
EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4
A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0
0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9
24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373
73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7
213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501
3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6
B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82
FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E
E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9
42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE
4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B
8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10
CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D
13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D
52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493
FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3
760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5
5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D
C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58
0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6
E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974
A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED
16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C
25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8
B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B
45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E
C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE
4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06
05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A
D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00
63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B
35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC
DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75
BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40
70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F
BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71
169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A
BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3
EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441
FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC
6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9
05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C
EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30
69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D
813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70
EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552
19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340
1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024
D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D
8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6
17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24
96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8
14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668
4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635
5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE
027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215
A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96
BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551
66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD
92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F
93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613
83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963
093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6
30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C
1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9
DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E
D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE
6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F
9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183
BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8
5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB
6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133
BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548
DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A
5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2
913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E
243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609
51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A
A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4
C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239
E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945
942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589
3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348
A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D
BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060
6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB
926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9
E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D
08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26
8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E
42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88
C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0
BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3
6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D
DC158DCD1C1BC03B83FF94C60B1DC71CE8A86B46DBE661C9F8F4677F8A2C7CF1
E41A91EBDA2304735147BE66CDFF2673F09D408297302124C127F0B35690CAE9
CE1679120CC4D582FB69550AD34A047DDFCD9D411724554CCED753DB52D6AA7B
22B0C55EB698ADDBB0F8ED15C971AEF113C74B9E25DA29199237B98DA4023665
C2A63A837E4CAB38F8DF37DBAB5DC80C0C3FA72C8A70DC76B5B36B2EEADDCE74
23CF794B66E4DD3B35BF99893789063BF7B01D5F186B2FDE518B2CF2EDE51F81
38244BC64548AC3433A80B86D6A0CA26D77F403C06D65B7394BF1FC7D06D37A5
E70ACD844E3367DE4DB71312CBB85ADD21D5A1F99BB8427F252D90ABB66D7154
EA5AF4A165DF6415A0880AE784071E6B3E2101F0B663DE14DB1ABF8B7CE0E6D9
D24F9CDD9F80028D37C9CB4067A28D41E879AEFECDA71F649EB3C250BFF809D8
1E427E3BF24E85C75F080D93E0314883988B3A4A2B72A1B4A3D2189AB6ECFFBB
C58151AF05AE335200711ED945E18B4BBCE24A8A162BD9BB26137253BA8B5819
41E759A7CA7CBA129BAAD438E87189F2F6AE7C86F4EA099DEB23705A500332A7
4F141D8778EAF3910486B2EA25AAD16B60DD804D0E5BAB0FEBB77BC95EDED08D
B8941E040D99E8F44E70FF842306ACCF65C0AC9673859DB9C3A724238CB8CE62
255BAF0145692EE3B52643A0DE3E667AD03EEF6C753F57E34AECAB0CFEC7B07A
150D7151E57BB3A026D50C7A88DF5F480147D87DFEFE463F76122EEB5128796E
46CB0AF4B537987C2ED552B37D83F393222659DB735F2A293159AD84AF082B95
6F1454471FC36D805485D619D58FC53FBD6E3F72660ABA559B91ECDEFB267268
86A75650C3919962B0139409A29F5E3FA70B901CD5D2C49144778CFFF1D5B63E
099C92AABDAA73D54689812279C95FB7A4F7E840DD53DD3197A4E6D3099446FA
C0032FD40411E8F3300A8A8934B5216B01D916D41DDB32513DC4ACFCEFE43D6B
22FEF13D3567B047C6B35C477ACF2E172701FDB0FFFBE01DD58D7E54398EF4AF
DA5A404E194BCC39BEADEE5C76D7CD1E602793B950256F25871A9760C80B1EB4
D1E1179C390BC240DA061C9D539B20F4FCFB72DD0C1E860DEA2988E749819787
F04BA7A9CC3EDBF9CDE46895FE31EF0F8DEB63E295E8826BF920C8FEAE3B2080
8C98DC43DB22C6537028798198E2D3B0453ED725B774686310F635AE6153D9E1
8A0514882D4CCFE9D2D2465513E42E548F64A50ED78AEC9D62E0F9CF61EBFC9E
E8832D60E91796C916FAFE58F51818B80BBA52C1C06D94E602481654E5378C8D
137E3A872753CCDE4B2618C031CFB13EE91C91335441C434296DDEF61CDFBF8E
8FAF25DB3B6D6796FCCE2711938D605AAC00F0A58DD1A03FCE8732DE541E5E8A
41FC87E1FCA5CD9B5E8D63E7A7D6CEBA67D8A83EAFCF490DB7185AD55ED0F43F
9A1290E91C463895BD12E8A831DAD661E36E1B01ED4C112B8E1D0991D0294BB9
A13B7E9A8835B12A7133E834379B3477DAD425B7996592FB0395E3B4FEDADF4E
23A07F6C0E1387DD54F5C8BD071C4E9E4CC98BB16FD06B69192A2146790B67AA
56FADF3E66C9DE6A975007BF6EFC3BE05801B2FFB32162A41F22B8CEC7D01555
1B07AAD8C85C6196DC28076CF4C4A1C4569E58941EC067EC4C03A2F8D4D19690
C2AFC60AB75F8A618D455B3B13A9AAF2BD7442D393B3431CDD133C7C3BB39FB2
4F9C16AF9C4EFEE51EF298B5F6040755C8EC13E0CB4A7EF88E3592E577E044F4
2EC01203E8C0EDE2D696E60DFEE5F15D5EA092DCC4D49B12ED573CDE6BCD32FD
6801B199C3BD68C675412849099612EA52BCD504367D0DCCCF62D091D5276CE5
65DD41674FCE08A600644BA6809C10739E3DC03011481D2AD6D0270F9B030756
2905FC6B07D20248F857B32920AD49354FA7A748A71FC9BAE2F5714E57C8F6AA
9362E8A8C69E14731135956DDDCE694AA0656AE18670DAA3BC88E7A85599FC79
4A93D7F051F55968F63A8507C386FCB705BBF46AAE7CE33D950E79953DDE9F3B
04019CE057473CE62550F2DB9D317DCCAC277B9FDBCCA8E99A035B26D05EC9AB
5B3FDEEA5E6B5F589744DB14DA1B182397CF03F07D66C46A4BB5842DB2F4AB03
FD01A2657AE0E24179E719D6674DBBB512BA97E4085C23730EEBBBC2D1323B23
9944FC0727155B6A248DE14B83C7B313FE192599F5C1BE52AD65C5F78B048C00
28AFD0E5B70F8524CB12BC34CD34C3251813CE12B7620D9B713FC26F35AB339A
BB48DD4EC07C9F30EF7E85931AED5B2CA6B68415E301B14680A3B9650D699C9A
592C464FE65352F56E7855FEEE8886025336AAF350CEFFCFACC48629586C7D5D
F306BD03A3C8BB99996749691B0E9C8A3C32C3C394AE9B2E7E7CC48F7869C019
717E4F7691688FDB8B30E08C9681BAFB0F0EC7233746DAA9EFE32783C300FD83
731BF72F6C13EFF7AF02A722D5BFA4EA491DF016DEEEC4AA85D17812F9302EE8
C0D3169B31AF7034155870747FCA1150FF64B719550BB63C46244F0115F1CFD2
7B102E3AB251EB9FD654EF7057A74C206BE178320D01B4DF145D6DC515C88CCA
36F894B4EE4F16964E6C44133145FFFDA237FE9329F03A34955CD521F35DE66F
1E96F90A8FB2B785287A4A6D77D423F8B82923BCF82ED05DB98A2EED951E7A3A
24E661E7F98C07845CD85D5A41A317A9D1F5F14377D75506A966334C622CEA33
2147C7E17F4E7D1A3D592C795528D30A8F10854D497B84048CC3954B44D35852
7B20D9741AE93676CA3925E9D2221524FBE68BED4C64FF1B61A76FF8FEDDD552
F26F829E105E486C829264B058D390127F6F40CB8387218CD94EF127847A48B6
48FD0B691D5E1AB0CD9B4F53D76767CEBB5907ED1D486993131F24D58247DE6E
D8D91F32EBED2672A3B75FACE3944869DE18407AB99EEF38F110610C982A4797
32DB1F8AC46237680ABAEAAD15FCC022B7E44A97CCFC95552FB1189648FCDB9B
4E11514A957757D2A7DE972650DB9E7822A7E76D06CA8843CEEFC991073DC00B
B1B12F5F1FD47AF9F648A4883EDE733CD79552BE2C55747D7A733196FA6DCAEB
E4C8059F524810E76A41D85840139298877221F8DD695404E083A59089A726F8
627C03F34D3497CB9A895D5B84664934FC4D65BC6B73CF85EA4ED9C2FA5127A5
1CF68FD2DCB05FFE2923670AEC10EFB838FF77A47366316DFAB72FA65617E1E1
1F6E58380B604CA1B1E67715D33A3405DB4C5BDA12D6BC74227FFD29102910A6
2F9B937CD016F3A2C486C0397CA068EF73F6745D4E07AE431935C86900995600
1CB414839555437CAA2596E7676EED3BD4C545BC36CBFBA3BA1C7FFE79A00837
C7DFC6CB623C871E204A2AB5880D33230F4D14DE16CF1379D6DBBF1F53A4AF06
079573D3CE3D7A70B9FCF6415E8161BCF58257C1D243EC2E0C788FD9013759B4
AE948304ACF34F0661254C4C0E9A795A7AE38D94CA85F0AB987BC6CD15782D3E
0A907EF1071494B3B43D3615675A9BF0A25A2E73283DDE5D92BAE6709F99AF03
F923F3B1759FA3857F76636634E05397AE767968ED4CF408AD2EABA2C58642D9
8F284D433AD44CE6D656AE33137CB508A718F2C6D6255A1BCDD5A8511F6D51BA
9929B3035FF57C27A39E08164F4D7FABCF7890A8D05CA70DF8343F630C406FCA
83ACBA24FB6EDF0966CED4754A6D5E5492E7C6D7E68199C72CD505B705D047B3
7BD0389BEFBA9FFAAC78B6814B1CEFD348CE29484BEF3A598DD4999F5423D0AF
7E21A589EC463F659591DFDF6482CAAA3605853256062EB72116573126F1507D
CF280F96F425238C9D82D79D7CD399DB5F8F75FCB66645C65CC17FA55B4AC8FE
B1CFA98C1A8BD360F943B9761203DDB59CDCAF6474107A53B880B69EB00419FC
D8DF80A69949E9B431C524F8FC6C619D6B61BB35990323493358266FBA0DDBCC
242FF0D9759B6E9A190924BB180C2FC480AD23D3D1F968DB91CB7C898A5B6A31
6285A79B0FF893563999F00422F81D3C7BE97C850B177E32FBE823C3D59E3513
B895446BE443236ABD095D25589231F995BF177E03D35E12870B680CEF505645
8BE5B45860D905315BC27700F5C17D23B6224C27161748515E4D3D0CD17BDEAC
F137048C626C3AE67867BD5488F6895BD9225BA59B6F41B00EBEF04483754FC1
09DFE918660EBC9E2E3682D3F3DB37231A086DA36C6F7B8D4A33F28792C259E4
572A425EC1761D3EB74D8B46DEA01A89B0376662CEFD2D632379EEC34D5DFCA1
94ACF58358B7D9F6B65DC32200E796531DE450654662753BB8241CC0600389EB
42FCECF23F7781B7985CD6BEDC5F3FEF7CD5A48EBD652ED5352C713E9D36D936
1BDA95D18DAD5E7E48C901F7C0BFBFECE431D937DFBF86A034B36E7F682E4BD1
E7F229341795ADDEC27BD550478DBC031DB8A1198C703E46FB2DC7F4BBB4412D
93C126E77D2461AB00C3FCE46BFD20F8F03F223B6B698D07258E7BE2FD1A3FB8
C8FA19011078B8A498F1972CEAC6B4E5A30553EF75A12F65918AAE593CB46C10
670C95387DD01F86935DC105E7B4ECB3C33F198B90D14433093DF9BC994A07D6
DAFB9FB081F123EE651C868F2ACD0B50B1AE66A64180106BCA4A5279B40D3CB8
C64E50D8506AE17B131D6F8D078C98BFD1260D731189BA6F6B411D7D250D4EBA
AE115DABBA864901E69539643F53608DFEA8738645CF29CEF244C62509562164
666195274757A3A8269DCB600E81811AE932CA1C37814854BACBC0AEF9D75056
B8400563AE9EB767FE8478CDA103295B951C397136BF6CD87D0F5EBB4B00CA22
711D948F36AF201B749F979B0827D78D99B470B9385FB67BD2011C1DC5AF326F
B7B08953FA7F0FBAEB12947BAE2C5F7FD30F410CD86C987888F3755674D5D4B9
51BD9D7C6C07EFA27F0A87BCCCA6895EC8676AE98C8B490BF565B6AA0CA274E5
A028B9D12E52C47B2564BF2F4484118D1E77E6B672582BA630A6B7D7A61EE5DA
DA8B7D5BB579EE7E05E2EA92980364BD59A9DCC0BAAC3FB8DE34D8E1F9786933
721DD0A73C10EB61E1E1DF623E13EB0458996DA50E295EF15E804186EDE46608
BC4C8A0851887DC87D4EBC41CDD34ED1EEA66C7F30A9C890A95A65AF81168041
E421D2D5AA1D756FD5DD
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
%%BeginFont: CMTT10
%!PS-AdobeFont-1.0: CMTT10 003.002
%%Title: CMTT10
%Version: 003.002
%%CreationDate: Mon Jul 13 16:17:00 2009
%%Creator: David M. Jones
%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT10.
% This Font Software is licensed under the SIL Open Font License, Version 1.1.
% This license is in the accompanying file OFL.txt, and is also
% available with a FAQ at: http://scripts.sil.org/OFL.
%%EndComments
FontDirectory/CMTT10 known{/CMTT10 findfont dup/UniqueID known{dup
/UniqueID get 5000832 eq exch/FontType get 1 eq and}{pop false}ifelse
{save true}{false}ifelse}{false}ifelse
11 dict begin
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def
/FontName /CMTT10 def
/FontBBox {-4 -233 537 696 }readonly def
/UniqueID 5000832 def
/PaintType 0 def
/FontInfo 9 dict dup begin
/version (003.002) readonly def
/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT10.) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
/UnderlinePosition -100 def
/UnderlineThickness 50 def
end readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 45 /hyphen put
dup 46 /period put
dup 51 /three put
dup 52 /four put
dup 66 /B put
dup 68 /D put
dup 75 /K put
dup 76 /L put
dup 78 /N put
dup 83 /S put
dup 84 /T put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
C01924195A181D03F5054A93B71E5065F8D92FE23794DDF2E5ECEBA191DB82B3
7A69521B0C4D40495B5D9CE7A3AF33D17EE69979B82B715BAD8A5904C5DE0260
6C15950CCF6E188A0CDF841EB68E5A2F88253E382140F87C87E55C9EA93B8C89
14A36CDF630D6BE7CD36DBDCE22B21778E8648B97B7EC6742EB5114BDF0454B0
0EA7B1FE236C84C0E5308C871F67B973892890557AA12E00B2C20C71F516C397
3F3BBD14A1D0149CA064391056E45E9470FC7F6F556ABC82653B3C8049AB5CF4
BA83C8F2158C236B2FFD4208846013BAF4165E8BB8D334C8FF2E8D74AF5DAB2F
D44788869B08399421AAA900ECC6A2D594641C121660D4B5F512938994C18DD0
FCD9B008F68F0351D21ED735B2740CB1E0C1CCD25EB548C35B844601D98828DB
556F71D07E081A593FF12DAF83676492A0FFE16E95717A07082B43A966C1EE8F
8A59E1255E1705C43A23CF29A5E4A6547C93F1680A870EE7BAD8CF74D838CD5E
F806911D8FE4262ED8E7F5BC58B92C9C6D74F8AD45FBB021EC7E97393018B9DB
B1B84E7B243ADB05ADD3F1DB3692ADC5D47FEC7DF93080669E63281F1576B673
125EDF08016664BE73364F65389F7C3B66623AD1754ECBEF9E5CE6948D933787
A5674279ACB2EBECD3B4E6361419AB32028A27670C9F3E18B746A10B00AF6D77
4EC00E3BE521C02A99AE5BAA98F793EB1228952BE67934B91472E01AF7B816BC
56D7F19F631A1927846D800C107B1E9CBFF9D2DD513B4A8CE2E0DFD77B1ED178
E43FA7052765E9FAF89989D490D8FEF6C536EC0D4AE27A74F474B98DA9E6B92F
15E063DB260571979A5DE2423920CE1F59F56EB11E00E3BB9D466A8263E1E385
2014BEFDA8D1EA3EDA04BE32AEE6CD15C5C010A1DF7F705A2C0C18E87C8DCCE9
05D9163181CBA56C0FAC8C06A2990554C8E759D076B01BBEADE3B5FB8B551390
6C8E4A2A1C6E7D9C708614626F3770C0AB7DD2027469C77975C27576065862AD
04E5E50CEBE907E3E991FA0C627302C0E207B4D5992BEBAB5853AD1C0D271728
C76F40A79392ACCA7358F948AC65DC823CFDA59E1FF69CEBB6B7EC3CF21669E4
70D999508F9C49E2D9F8818CA53C977D93E15FBBBAF75B1E84F0BA62BCC4BAFA
4EEC82D804C8A8C0210F3E5E258BB1F6921AF02BA9861BAD5C3D5FC8CEFABA8A
A607E547B802096F7AEB09FBA99C83C9A494B94408DD607CA6561A6E6660C473
62CF8D35F31D052F6C6C8138A8E1430CBA7EA6973D6D510C1A06B3FBD79D9364
240C1A00272DA44B89A9FE8D5BF36DC1B5EBB4A78ADBE9C5EDB485F093D9517D
69E1AC9A8E6C9D7C324E3797CFEAD9A18E82E03F69B2CED7D5DDCD1A218BF2E2
ED2293AE999FE2A4B5213A10083EE0407BCF8007670B8C737EAB30311C868D84
121149ACB4A27F3ED6C0C181C98AAAF51B105F264B5672D7F745131ABAB5BEA4
0C9B43C0DD9116D6DC61F90BE72018F290D26D5E9D341055CAF09C9F45333CDB
D45B7954271767F638EEC499F7B53C2CC5774EA7A7F024C4CABFB93D9CB1856A
0C671A4ECA7C62EA5242648A84E7F3AFB9547A0AFC29593CFCE6D8B873A78157
D337CABD291431C0A2CE1F37E0CD7340567AC206FF98E4B5A6410F70F750451C
550EFB54AA259A1B236CA9CB730D2CEF125EC65D959441F7CC9768F777B44844
CC9842A307C72B740680ACBBF6AA35FA7A94825069BF7696ED81A371A9E5475A
9D997F2DFAD339AADF797F7E03E654234455AC3D17702A420EE0A597BA31BDE4
FEB8DBA7C61D311CC90441A620164DC22DC2D373973EF84CC553453AB1B3337F
7B39983B8DFFB3A9425F119B45C1CD37A76F905777B3154CA6200792F1759D06
E017890F4041A385F2238E3C48B6C8EE6F5258463FDBFF7AC762F6C4363926D6
50F004D473B7B7F73CA686B559C2885F1AA761653C727A77D73431E9D110E76A
2E55C68CD50F43997C9B2FC4710F8C8540909829E215678E63BB8363C4B8AF05
9986102BB36580D9CA95CD216B7C321822CB41B2E0422CD077F3B55E0246FDB2
44D5976F67296B5B0BE4B06F6E43535C21164E6C5089C3E9BA2D6B30888C57DE
49DC8D9D46C0D5EDC47ACF2C03B72DE3B69512508539019B759280BABEA12BC9
385308A0395C4CD33182A10A5A229743379C2075D82D8BFCE4A66E1AA087A091
8F5372684FA5037D1B92D50CD9CB4F50AD4F8EE7D51F1C9E63C721CB5B9BD011
6F0A8DD4FDCD2B008F223A1036D90F0F3B252487DE7898F9AFBB3A9D9CD49E0C
EF4ADAD5155A98D2125ED5A3D3907F67301649519419F33CD942E8DDEAC1BDA0
E90C431B198F646766A8FA9F8D1561B57E126EF604838C0C1966655CF31FB7EB
C8CCC434FC1C96046D38203E1791EC824A3D7AED85C029288D4608CA7668A2BE
484C99639F121845B22EEFCE0A3B808261921AA042AE19E641769E91277BEC29
4594082CCB3058F90FAC4A700A8A827ACA00FCF574ABC8EB7DBCECD97F2B22C0
0AA19E8739B81AF8C6F621D69B8E6F29BAE233FBA655A0AF5BDFD7F5C6B9167C
6BC7AB693D45EF2AD999F5DA3CEFA39BA48A17EE6D9F2C4DAB91AE3F0044DC3F
5D5506CE4675AA928B0092D6F173644F91295216D8BBB14CDDE0AD524A4D545C
1B5E284A3BF0396664081CFB4F186A84A0D24D61E82F4767C1E55A0642720CF3
909FA1AB8EAB78030B59BEA067DEDBD2F1D0340E790AB2777DB18248521934A8
BB38A58B7F633DEA4291B0D5D13E9A882C974697CC6D3B49E030C94EA29B5506
CC29C44D01B4751B453A46A9F6BF3BF135AE87A4CE232AF57B66578310DE41E0
2A6AC422117F1963C4D7CC306BD25A6E724E51921779F22F029733122E23E2F0
CB340008813ABB104380C80A492B3FC6D0BB07CB8D8409E9576891EF6E5C9D08
EB8320DFA31BAFFBD336D0C2BBC3D3B2D30368B9860768FC080D30569C7F7811
0EBEDA2962476113625EEB555490B8CE4C5F99D74ED10F738C61854CFF8B41C6
9402E56BE8856144A1A05D0B05F4CB7EF728B2F4F5A439F18C3B68CEFA41E59A
D8308ADC92EC1289DC84CF48D2CDEFF509A145BF945E1E00D552D329EBD2A7C4
21D58082CC8FA790E981F4AC8EAB99950678FD3A7DA3DF13778681B208DD71A0
7C3CBD0664B37C9EDC6B601D79A2C51FB54DAEE849F93209793849104E722D3F
52DFAF7047EEEDDFE744787A5801E4AC2C3D58EC5DDC15FCEE03990C53B0C57A
FC54F125A04C8E4A0ADAA725808C587E7DAFB9F784FA2875689979D316DC22BD
AA36B306A1ABCF907B63C6476737B746099973CAEA8C1E2C5C41F27E0F7DE8D7
F0D942E34E92F43FE902653D4D2EBB6F3B9F7928B1550A82AF234D45D028F429
067652BD3D391BF423AE72B9CB1E8D91E898161BE3A7849D456A861A2046711E
E934DC59442AE7D81661CE8EF727D8D7DDC0270E937E40F896AEAE6171661431
C1025C53172F9D366834BA0054FBFD84503FBAE328B6FDEA180F8EA35B1DA937
5CC3B8F00C206908C2FFFFA6A7AC6915D15EA44BDCF29E2BFCFD4A849535F19B
0D307C696BE8205C7D84B9C77F02EF27D911056EDBB4080E4D3ED72788666CAD
CD91B0ECE27A177DB23320A7FA9C31408B4D02D2A4B1CC6DDE1A6CAC3D8EC1EC
2226EC98E51046D1EC26FA20EE62D24747D83CF4941DCE5CCEEC0DBE387149CD
E05B19FFCAFC0D117F9A3E60DCD4C815228D98EF95EB559AD0ACC0D50FFDF714
56C3C812EA5ADBB013BBD956A7C4CC0ED7D3E25D5C9AF5E626F18297F75D4957
F5B0B33379114B903FE98BCF35C3FF76FEE1D9AEB711F2962276531F7380EE3F
E368720E0292A170A15C5539B1FC7BB954EE2624B504CB8C805B8D31AC38307F
0513606F09211AE64DAC447693B2A0AD15E9A64C34F5A911ECD0ABCA90E9791D
67C6BD202B0858EF96E7722305B8AC02B01AB1706CC6AE875A8DDD15EE349046
EAA65005E7866B506EDFB7A5A2AFD5C9E9DCC821A79EE9C1EA2C7BBA32A40BC7
CEC26DB1AC473C8C3960ACEC581B37D6569E8C8C42950BAB7930B65E1570E3F8
9A7FA719F1DCFDA45A3BF2AAB32C9A93BA3552608A61C623DE59BCB346E87EF5
9CF025A87803161221C5C1C6F6B3403712C76E9D755C7BD68D7F2DC03C14CDF0
C1BBED1D648B905B4B17037B7263C1EA7A7F06FAAC4E09E08483A8D714C19861
327CD9C32DDF850302DD6DDE24912D00C22ECDF3CDFB18FA831A41A7488EC203
F564CFE30D506F0829A96D35A7E09C3DCD107D589B627A15B55C5D6649126BEC
60B88C55ECCBB4E680265D9EAB4CE22965D3B1AF759B01ACB0D0E6C92B6B4EFD
A81E6A648708979487FC591CF09631310D46891423F4EC159A73E30D8DD147A4
B0EACF6D45D18CD16CEB8176F03ABCB41F2234747B9733C8FAF34AE5D43D3BA5
0CE0FACFC9B087F84FB6C68678BC6E76022B1526D6E5B3A48EC1A110BD75F45F
1C4DC6D39F254976453F57DF873B7D635C80C42026DE020E5BAFE0DA0D54D1E1
DC634D2621BA184347E5252F645A6A1DB7657C48124186F0E4C644077457C24D
55753C651A9A7B6349867641464B515B821349C795A645420508673B93750D0C
7A3B33EB1F09782033742AE8F3A23FC02284E6C03818FADD1731361542E3FA3E
75B8D52B668C3E18A4AE967D0FC3157083D952AFB8144D549E69EAAC51C279C5
E5D88A0D9D53013DFFB4352A1598FF84DCDE6FA32FC377306B9B92C0F96EE149
8CD55E7B2445B86CCA7A547FA732D52D59025129FD8C6333AC0DF4F0CFF6287E
F2036D5DBBB3B91B92F12FEBE0B61A313A4DB5A9CF0BB3DDB781A56FEBFFACCB
8CB9D1D3DBDBC4CB6AAE6769E470582403CB920630221B68BCB625CD4605FA8F
D3D5B7A1A28D15E44B38E92E906C138E72C15B86F64C38E23BF0440052A8C914
54397F49DBED99D0AF7CEA3B0A05FF37C2D7EAE1412567E6776333237C31E3C0
49949EC8BFD6E0F6446CE2D4DCD2C1524A288818CC5D159BF8463A847AE4A2B9
CC8C58F822804B81B13BF4F2DEB6229C4F51F093075581791D02C36A13B855A0
34900AA7CD4F1A797652656FE3A8425A38F421C4CC0ACA1CDD44FA6B31219276
1CDE1CD63D6A58CE705CB56CCA1260F9B86E989019071563A9B4C274A87558CA
6EF1660D574EDA276801F0057740E2C3B80D253D697736484D892CE1AB128B8A
DECD69712F5E70E895FBAA927E8194D792A04AB6CE205E04E38A433BBB793FB4
E8BBC4279D58A223C6673D909D6AFECD246E66A52F4CB35E5931D24C828489BD
4ECAF621A220D8ECF702BEB01C4FC7510197D3F6D15321EC87175ADBA6434ECD
2B5A306E91375CAD22CD94301763E4A8B981472890422C5488FCD523C9CB17DC
ED22FBF12D5F7525D0D6BCFE8CE85B0DFB1D6F989C267FFBA0A996D309E4A934
3DB54A9D29C88B9D55D7300DA3D46419256C5A07A2A529A8DE8BD1727281F5FE
97033D861E0531B14E811378EC1AF1CC7EE9BA2B07D935843D3053F673979F8C
FAFD59D555B56CE338F606747238B22BD62C42BB7238FEA335678D474A643570
A9E7B4970E8C541CE9DBC7BF70ED7BA33639D6744A18379455029E934C95E2EF
639C4848CE9A0879B51649FAB023A71782444B451F92A34CB8A124270CCF86D4
D18EEF5C1D2B2A29012613851C49F50702D63BACF95EE2AB4D72B375E0A62615
E0991E130A67ECBA9E05329B740708F1CB148724C3A6E5E3AEC1F88EBCA398D2
1CA8827C977D72734310233176D1AE26C55CF2CEACA62223315C28FCF6305C7E
A22414D4739A059F552F1F9372CCCA5FED4F9AC987942848EB498900269511F3
F408CBEA0659B954F5F1B18AE4FB270213646F9B28AE4439D2BA2D3E0AAAA780
5E530E4EFC8A060EB979E12191044509DA0C14397AFF949E12DC970658D5EAF5
4EA963F5BC1407A32F3837CA6A24B7F3D60EB8E6222B702E25ED903F9D21AE50
664A095009BDEAF4B78DAF94E5A55D48366CABF07791A1684B2F54EA69070844
4F031AF8DF416C2D3679F8BA038B0DC9DD0400CA6B34667BCBBC07E62C1668A8
35A8C57C9048A7227E672E89681B54D662079A189A9E96A3CA96D8DD10189B04
1DA49BA2729F1CA585B1BD5C467295285D52E47CA904235A1A3E48EFAE9EB6F6
01374125CE89D53C276858668CF45D2F092DDCAA52418E0BB94C2B8266B4D88A
5D911507BB1DDA3D8F6E7C14A91CA11AE799EC42E993098E18CADA70BD2A1D82
2C39326C6E3F9E84CD9758B9AE43D79BF99E6A0CD713E95B3D9B7DB90D127DE0
DAFEBF850CAAACBD860B5DEF2082F1ADA64B44B193C4A1417BE221FDCA36456C
BE5934C8CE3ED55AE3A11697C2D682B7D0F72D48976451D205783BE25DBD2507
39C14FFB4BB828DFD187104F38A7F11D5F0698C11E8C1D4F107CACE573FDC4B1
C56FDAE47024D6FD16A2FEABB434CA320300FC4B6C1B6CA08F76C60B7C08A665
99F404DBA8A2A1EB18EF6750E4EC186E31561A3F080BA6562967546715859481
7BA782940F5C5D06626D6F6A412CA7C13820EC7C1DF23E15E5829F698CF617BE
D940523E4EE4ADECEC48C24297DBAD528BA1DCE7AC335A1D15D55415B108EFC8
6D45030D27B3EA63B2B4CD771DBE66AE0218ABB1153D4B7482289D1313CEF184
5C960B1E3C3C953912CC6F4521D1E15636C1545EEE457EFB87B88C9E43CC2F38
6BC4BC96969F4FF28ABB06F4454C01CEF1B6DC538F1E832FC1666D977E5A881B
F72F1B4C7DD4BE167A5535F1163A0706F9A0B26400178DF8A128FB5EBE6A7B81
E478AD183EC06622B591337B9F1872AAEA356F4FC67EE767B34CB5A4D90702D9
39FB846947F4096FB3DCF16EC81455164783BA0B5D723060DAFF411B68307E81
7BEA1D9A47A5AA3D648E618C83C60F060029E6EC4D46B045FA7415BAB2AD0AA5
ED9C729C24136F6AF61E6409C0B5CA760B16225641E268A68CFB8260BBEAFC77
6626EBD97195E77CAB425CFB0096D805D9EE699E41680D095AE9FA10122A7882
2F00F495C9EB2102DF0D3E61833BC0A2E468C5CF7AB430FDB7C0BE3DF2C0D230
1580BAA25D65F599378D873165482A1FBB224AEA89C6BCCFBDBA42AE1C5DCF41
06969F585CD3B737D1388D6359F5468D88FCD2279BDB270F6A858FB7D2ABDEFE
5EE8FB79FA437F8F50237B92C307B73B0DCB808D07A9C3255CB9B3B17039CE5A
288103D05D132863FB522A02CEE3839EF9AF7F07D99732F0B8B384745369FB3E
7901166478F4A16076A1504C5E98D17408494E270BBF4470ED12B4332422679F
759F1D93984D7E506D16950DB6C2682FE1379EFFA6F6C95DD71F6E55BE3EF6AF
E0CB25388EEB436E6527806FC75484133F6E561DEB979D5C1FFEFDAF2A6D964E
03BAE0BD593C2992AD84569C81050F7A793C5263E50C2F50B98C4CC703EAE17A
6AEDAACE312DAFAF5278D125B6EFC5587484F61DAFF46B87B7C9B1EEDECA4859
314A9A9E2248467DE1E54D90DD671660B9040B3E0DD982260822177EFD757266
74A16C83A7FB168016A320D3DF3BD7726F1F4EC90EE5DFE810C96B099FD4368D
906AE4699049EFD37E8EF058D4B97BF71106445AADD4FC6E90615A0066823A36
673B8DE32322BBE861AE251226B4385AB28702831270DBD25D666FBB0AD7B96E
A44E891EA1EAF0F87013AFC982E33D67A28E96E0C9CB99B9E4192536830D9901
931A8CAFA41289633B20BA3BD7AA3414B6DA8D57CCF2FBE39920CC06361F075B
CC40335DB9A0071CFF77F6B7BB47F3100DBDC9C4A58C2B81EC99E8E966AF3390
E3FBCC28BA1D79961C8A1584266454DF772FBA99664D74D4A89FC82FFEDFCFE1
4C9E4A04291E803D142E37E7ACA66AB279378F2F192FFB2B5BBAD18B95F03136
2CB594A3D6D3F8576B90A6C4DAD6D6C8EE07AF682F925F01D0B26CBA347C03BE
F3B0585CF4539FDC66915E22117078CC94D621F31DCB3E021998A5D6EE94CA4B
E214D07517283D56973D8E4367392BF6C1150DEBF459D141AE0941C1C8C5CFBE
E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE
251C28A90D318A8A0384439B38D63B94757252062EA44E88509FDD2E75FAAB71
7329622828B2785C1A8B26351BC7448C1719C88FE99BCB73F7DEA427FBFCDF4F
00EE079B0C712F7D2C8DF98D4830A9D8C8B70A8C5D54BC1DF3171135278BED55
DA1CF0E696B12935EB59B606AA3C0CC50C7A259AF32F4C81D9B39470D9993CBC
8644403D2833B34AF40511654F96BCE0064860F39849DC62E4A0693F75308FF5
FF450EC05F142D5E300D3850C66D432BA581D5D8DFA97D901589C53181CB5057
7FA8B2C95DF751A861DD1A614B2F32ABD284607F40B3462FB05C79DCBB586B43
B853D7F77AF5ED7AF2A913FB2CE66241C5102CAEC3992BEEF19A4F760E98EAF5
063E373A084CD6829DC18D063618B4AE443B35B63BFA956368397A69D41DD715
6C5ED849CFCB2825CCB577C1669626E2C87DE60D69559B3CB98FAA07F1893EE9
DAAAE01D549A252D77E79AD37BF64540DAF7FDF2FDF4017F94D9D89F1B6F249B
CAAC5BF817A1979163F3A316640E382B501A6BE18C334DED469CA5643FD07D8F
6E37275108F7168F45BFB5024D4FFBDB140741D2C8AA4AF19F22592587A05FF0
A324A0DD415F312D653513ADE6EDE9E560BA16573295F6B3A0427A15A585A40D
5265A4CB711011332AAE28B05BE6E4B11B1B3C178225B2108D94089E6544907F
DDC2496B0B36E2E8C1494640BC702AC192A3CF82B04FC836B9A8F2B42AD59DC3
77DB2F1D8B7F9C0DC9CB7BD85C3D2C7730AF276E6F22D1158896CA00870B4B64
B72731CE69E9A92BFCA929E0834456AA81EEDF26F58D771229C2A3A491455426
500E410A707ABAA26C2EBC0178A2DC6A24350823AAB33A391820EC085C6C7F35
65B4A26C6C28C08567BF5860D0930D7EACCC5227BCA1589504504DE109D1AAC3
9B97AB1FF22BF698E5C01C812B0C32F4F0110E37BEB86AC57D1842C8DD13102D
2AFFAE9B89C5965994D167E4008EEF6ECA04DF853985B8E7E5783D62CB82BD0B
1984EC07B99D887C2344393FA940D33B693F074E58FFB1B0CBBDD1263A9AEDB2
9E4B3D4C87EDB94FF5664A8B29A0FAFE5E61900FAC8F910C7F073FA7C227DEBE
F9D38482DCFC5F6F6E6590E30852211E3953CD7AD902B72051DA4A839D61846C
633967FDE5A3C7F8E670E4BA0CD7D2227F5FFBE12A10FB29634CAD38F0B948CB
022868DD84BEBB8142D95D00364B969F8AA651DFD7BFC5FC1ED5CC71B9F43B5B
E8837EA00B304EF419E41F0169D250AB650794B7BA5F7F92FA3FE7A7DF7F4EE6
D26D6C66A45541320F1BC615E42A90EBFF77422970D01D5A056E2D16DF2FC184
D547684B190468BFB7BF81602799930DE5E32CBC4CDB2199A47BBCC9753491EB
90F9FD2E532F971AAD224D6E9A5A869916E8F6A31EEEC01E83B18DE3C0BAA2B0
8F811A23E1897EFB01FAA2676E16FCF3BB0E6BBAFCF65D434E8A92A2CAC20ED1
7BF006616A3453365758F50534E6ED6794D38BE3C3E79047A38BCC6BEEE1B892
52A246887920976D383241758D0D5EA9018EB689C9F20EE15F98A4010CA4DD07
82520D170267CC9BB5EB439D43ACA47BC3DF2C96046816223BE4157F0A4307D1
18828992D032C341F9B8CDBFDEA3CBF8189CAC95333DBC8305E2D7B5D30DA9A2
E715D31B2A9F95A6306F7D5261C85D4A011886DDD520D8A429FCDCA476EDDFE1
5E63310A8BE3EDC46871AE21A24A0AC523379D9F2ADD4BFAFF031C32BBFFB33C
7C11726F5B7DB8A8D7F3E1C56E50C986D9DE03CCC5709F6D80ECEE69FB2D921E
6819C33950E7DF87FF3B51680A23603F2267173EDC0E27D2E91AF18427CA61F1
7DE1E2FE17E87E20B973635459474A064BBF94DB3DFFE16B447FFF69499F029D
2AA21FAC0ADB16ED438E9577B1DB34F9DA70EFF044F21E58E6CCBC63A6415ECD
55BE2301E115BF38212DC6A01F45384CC706BF6B6F85F1407BB061886BF564BD
D888F397697A70416E36E9127419F27499232B36CE27F29A9BCF43FC7B4676DF
805447BD7AD01EB17C5D14F4E6B98F584664D911B0E64203D75D3911C3E60CF5
683BCDC2F4524323E067A69959FCFE3179134C3CA13ECEEA7A16305AA80B0CBF
0B5A64309B4D30CB87799DA576274B6896EA3FC5082386B939F6C6B628B89501
1B8DA347EE03B97FD19D4CC070A06FAA516DAAC180C7FA5CCEF819CFD86A06EF
122451DD2380BEC359FC48129FED52D8782A2D295FCC07346BE82080C78085AB
907493BFB424316E1AA433892A68A36C0A7E8FB0AEC8429706986B502216EE84
2B1B7EE5CFBF9B70964B3A8AB43FAF4980FBEFDDFBE9DC4CF11BE9CE560DD2C1
658D75329245640329667BDB2B79A6C97B54B8BFE82A1E6D7F3FE9433BC4B809
68AD1178A8DDBF0175562C2E450B9BF2902FE31CF600427C11D65BD670F22FEA
570C34D7C3320F4B0562FBC0AA2A4525AB8C8AC6D254E74DC132283448AF16E2
F6896603072ADB6CCE65BD6A3A5D23E96C0B0616DA2E2448F499AE49E8437431
EBF58521D5C9ACF119025B3EBCC8A2E60ADF67A1867B9E09A5A39270E37AC4E8
08834EA5E1F1409C0185280F62DD2CC436E9D88A6B89D36D0DCAEDE5018EF41C
5D418651E3B1EDFE3F14ED7BA85AA036C15338BDC24238BB910C11D23439CBBC
7CC32B387E42044765E800D817BFFF2D0818403A26D1ED01722E83609862BD36
44ED8993C4CBE39FBE830678A19912E7197A423405389974C5CE46B247AA0FBE
DFBB823DDD3AA01A1B487324E304F996BBF6132EB91BC1D37E1D9D351DA60B65
08F49A8E959132D9929266498E6D409FDBD910BE7886D6172393058EA872F7D6
3258654378484F5700C33B474300FB97FD7DAC00B46C36448FE2DBFDE99043C9
E69434290C26AC940EA1D3D6433BC3EF7F2748F126BFFCE0AF7438B170502CBD
EB3982F857D11869F41C4B4624238448EFF5A1FEABA071E9F7701FA7DCDDD053
008FFE748BEB9851EAD2D9A4C9C6B422548DA9E80C85B746408B794212E5BF33
63A7BD9BCFC1DBF4B3F47A82596075BDDED840436A6D487EA59EE1F031D2F369
5C5087A2F4232EDE2994914DA29155F292E9A75BAF7EF413888DF12274EFA541
405139C62EF85E7F14479E7D8C80DAC237C034AB6E55ADD91D7EA476932AE079
07D1B1454F424CFF149DEBCA8B8CB54B2FB900F1B1924443A85BB87581AC180B
181C09E46669C52C5BBC47E007174C5C3722A5EAA0C8F43F36429A5804997ACE
90D45F5E89A171AFB5FC5CA1075DABA918C3B0A45780F0BA276D794533BCC224
FD990347DC10307365919914E4B235D91FD6609820C578E77BF103C7D76A5C3A
026693A3834D9D286AA159AADA7D1C3CF5E5B078C27B4399B1B79177DF54231B
D83337B400038A80286DAE1DEA5C1A0C9CCF8A427FB7A9D3C9F850D2328DB47A
624C0296013AF251918EE824878018A3048EEE1FF3BE6C3516B3742777A5C1D4
34F2BCC7AFC5E4E9F9F14F8567573E95E13AA99BE913021FC2D6526821C6A0B5
8808E1555A49AD087347116E6F068B8037575FCD1AE8F191CE1ADAFE01B1B25C
62A0A6F94AC26199811C7A46615AA20EABA3B8C7CEEE8C1273E59E12156FA535
50780F7707B23695100CBFC23DA2636FBBCF8F974B4B63B2FACB13CD9094006C
EAE505D8A58107437BA59253D9BD9A431921C9B0D5FA31AB145E989D0488F073
A246A06DE64816BF3494EC3A25B1A7018000BE34C03B566BCC75735473808936
89001FD98067E231F6A17A1E6829DFE906D0F26BA8DAAB40EBD5460074555ACA
3D9A06A85A6BFCB9A89D9D895426FCC9E1786A3BBE8572FFA0ADFF4FA441B1F8
93A1F2825F83D0F39AAD50F81C9C502C4D2A389756BF7CD41F40B7E00DB971F3
1F79BFAFAD4F5C1DCCC295E9D7EE3E8C935B948F63A37BAC3A8C3395B768AF90
9D7A3BDE3614159D5BE42A302761E70913C419B8735DB8BD003C88A222AEE9B2
7ADEA0AA9867E56479A35B982CB227C30DBC0B17D89F8BB736AAAF64A85CC8FE
D6F3F3C38F09982D6B9863B2AD1DD209F7D7CCC73C20EF069FC21A17A7F5DD8E
5E909B78A23D621B1B715AFFF927BA680DBFFD0FACA27A007D9B7A9D6149AF19
DB19133B02845DF2D5B41AC037D2F1E0207909DAAF7AB7AE4ECA6F1576E56B43
2B101E445F5DDE49CCC1E220951621D1B375B38AF2C8B8060C2AE4EC36BECC2B
8E48175BCDA6404B9A9776FDE9ADC7D846CFE341A490E4F84BF9C88EEB8CFA0C
71C7F9C70A166EB4A3D7B285DA39595CD5C58A91445D1FF01A1772D2C6A30924
CF4AE0A521DFDE9321AF5D9BD9BC88424C5CE13FC4BB9768848499204A1CE4FF
3E19E5CAA58870A24274A1E8B8B7FD81979448506B37A05FE47206F82F1DAF24
93745F328137A5FCD09950C59DBF30F335136ADAC47EE6DF56688BADE4BE7F93
FB60EF3C8046C68E7A5C1AF812E30F6E6A21B5E0195B6DC383ECAC0AA6BF76E3
8BC64B9F68E7F7EE86C91B6590C155CC793BEA88B7BC142439E8A554039AE55E
EAE7456BC31486F997635D756B98AD011345E4F96361CA12B051F81B17DAEF91
1DD10F5CA9FCBDD6B371872D18EE12EA51D3E7C6BC0A188C47C2773ECF4441B7
AD94735E327264FD738137A23312C40648F125B75CB7ADFC904C00E72BD74B47
E5F5EB75CCDAE8B11CE33E468014DA1E87EF63BA7B898E61F03D414C8B67FA9E
F5AB2C74903BC196D200E5E9DA2116DC5F6922F35A0AAC8CBB81AAAB95C1C337
64FBCCC1635FB1203A4D8F545189048DA98E7938B05C6A5468464ECD5E2512DC
1E7523890987ED095FAF98CE425474E813E5DF4C6EE9C0441A5DDB75E8C158D8
1649907A0A136D52288962B150E3749D993CE76C3F1376E0899E8C3B06767563
A71E0F94E611A71BBED10E4F00310BB1803FB3DA376892E57557E6B049AD4848
D205FE19358BDD9A78AD754BC39265E51DCD45F39DD45C9DC4EA3776C726C111
0CA3754CC7B2FF7067B0E86AB24417D8AB5CC849A80132816DBA63F8F8E266DF
66107F9533DDA3E0735E5F32AC1E39ACCE64E45F7958B9D69BF52F87B21781EA
A7B1193BA98C4433407C56ADFFDCEAC621AB4B60C0C293BB158A8CBCBADF4F88
BFDAC62243F57757EC33990AD15E0C3F202661210AEF980C50F26786532AF1FD
162FD82D10CD1C130B8DD72FC7819EDDFB455548ADC5AEC93169E26130275557
A40E3A0507C33ABD1337B07546E470942FB1B44ED2D4B961FBFBA2DF21F8C4AF
E90BAA5E8F73A090F63696CE0F5F2A78621B7A0BF579856DD6D2C4BC10392663
9B15EA5E63F0407962576373A6B462BA09394ED5E1D2F80DA13FBF3E77AC1992
2BFC86622B4E5F3F19B941B2E74CAD1674EF7656ECAD894C17D7F1EB8F616A08
5F940B8BA909EBF960B60FBA0C107C3B8473890125AA7FD77CB534E74F59AE7B
BA364BC989382ED656A2512BFC5146DE7B11EDF42309163B94600861140F125D
D0C0305C2DED435F98A9CD52C07EF2C8202DDBAD4F4CBCA1BB2A991BAB9261B6
C8949B70605D0B3FF8145CCBF3BC642A363E4D432BFA03F772CACF35CDE51CBA
5BB14B426DDCDF08E275786A9C1CF040A8945AC2FD369BC53F2262F1ADB27871
E711B7F0C67D2DB65A4FB892FA72F88BDF2DE1C3D3877BE6149A335519702830
F27F07EA02C921A73E44A4DEE6D4D11ED16C9DF2E914952865AB0F1A9E46FC43
4EC18296BD068870F1FB936B814B16E8C83200DC078DA0E856AF477AEEB3BE4F
4C98AD0BD79DAB678BC97E122664AEAC251192C3C6A0A02EF9FE7CF81EE3DAF6
BF9E8459B5128F2C270FC1C452701BEE026EC93BD3B1373612C37560D7E73DB5
88EA90EBCD1B78E579AC0983899B9C092A2D870C519F44DD29596F9DDD98944A
BCBDF56BC16C02A3B34B39B422C51B6A003E8C31A7F552649913ED5B190EF3AA
5D9A285613ABB7A88212A5FE1FDB1E7E97615A94C79F7255C11AE7768FF3D795
43F3F9B0C5ECDF9715A1148DD3E9868372D3F8967D34FEE7A6E5ABCB3976AA59
D6C205C7652A54D2EC8A988EE20C4A675E4D422823FD8DBD93CB0EE12AD86C87
056903A7639D91572C54D193336F145E45E1C2B1E4C1348BDDD96B06773D6F23
2A424046A7AC21324A2A4C339C5F849A0189C91006CAC30600B3347919B41D62
01CB3103A5116818A1D986A49CD294D6A0D44894201C8DA852338DD7D177B719
EFC34429B60AE19D1CC1CC6E3C653C677CE6F0D175A2A4F33E509FA3AFED1C3F
27C2BE2ABD0D00CFAD4C28D8DCA9E8FEC4DF43C85EB11250498F3B6743023976
72B9FA7EEA0838AA5BF59349DAC852E1B712E0F42F6F95DE73EC1EE585B6D08B
3039232559B97270F88FDB8A9971757CD4F74088C8E4386BED2942137FC603CA
5C48A08AF753C720544DDBF419CBBFCC0094ED6E426A6914EDCDBFF782FE5904
986716E075C855002B5AE15C2E8DE58E70F94FCE9CB3F15EC963A84FEFDAD012
F7E49F220C9C7EB9F387D95091882C688F5A661ABD214C3AB891FD4865D734A5
42FF37007306AEE7883B5D229A41A20622BF12A06B907A938142CDBA5B2323A2
3FB3C5407F122AE2580772252716F1C249AB457EB21EA14C919C426D99A8C1A5
A71FB14516B931ADFEE851C106C32F9973F95644B141CE8B669663BE3B83FDBC
BC7AE9C07DBC14EB54F98F657A62B3ADCAADB9C3D3985621B0CE816EC7538EAC
7AB801FA7C688C7925C3B69D93862244C625421ED707199D1E1DFF6000B0BC36
6251E989FA5A3584B32862DCC65ACC44444E9EC15D742A4A4E860936B4B18237
FEC4021295A1523DEB1B3596968FE7B65B18B04D73B3D331E18403A6E9FF8767
6D5BEF04E9D500932BCC6D47DFFAB2A1B12048A717D14C9A8C2416CA600D3EAA
22DF60124EC9E1A177498EEECDE88F9214CBCC14520DCA6EA0AEC710E345D10D
DEE7ECDEA83810A6A9F5A8BC2655FB6ADE99CF1F3C9D2D6FB809016DBE406872
AEBD3F1A3DEE15E28FC00FEB73A075C85D2088CF1CDACA30BD55C9E2F7B4D2E1
6C3C59C6CD18384AA4D7618CD68022A3F9964D932C98351A9E26C6C8B150B8AA
91165D6E1D37C2E0D59760C917610BA3116867A0225191297E533991033EB770
28EF61050962894BECD66FDDD5EC8194279E5280025594CA2D24576B34B89103
18BFA198F06ED188B8341EB63A61FB11483754248C7D395A835E57C90618CF9C
962E7B59B0AA6319585E7AD5780C70F634607ED4889DFC82FA600996832D770C
C75A1D1A58976A1222E6AE38354742C05F133FF64CF1464FB468A5212768DA0D
1AA4BDE59CE93FD594052BF8B476B5889ADF864D4347684775C778E838AD245D
D04A5A0CA410949A02855F70E7C0C292D7C0BC7FC7BD58659C167B65ECCC1BEB
D3BE173E7899AE4E1D03A5A96FF6C6E7B40D368CB23ECD3225C27A1A81B11C1C
BABB8F3C63EC967AB3F5A43D7C3521F2526E2051DD950F00ED71E4E4BA26F747
E4CB2C607FD31D237DAC9E5BDDC4B076633909F4F50FA76DC152259140146C14
793FBFA0FCCFE05F29761CE7A8A0ECB677AFC17642A5067072557CCDCC56532B
F1805AA83D4449A15293A75B559A55B7B6B27166746C81FC3D320291C0D88E2D
FCBEE754190B5C3C00A35721BC469C4BF045D5695E827152D4FE496F593BAB40
E8305381E7E6615C14CDDBB962D84373508BC3764A52412383478C3760EC5B9A
B28FB151E8F93C4CD097F2F5842D84AC330921C1AFCF3C978E81F6D6CC52CAEE
D1C2080B644F32C97B9571B50DE6932901EF9F3C232AB9C5ACA7B9834558C2E2
62834B6DA12C3F6AB98CAA7537D5DEE061A7CB2BC0787517C75BECA2658A422F
C69B8493B314F3531A8C24A86E3C7922DDC1FA642B69664AC0F79A8FE45429EB
C52897FA3528BA6BBD3679DE7304A69A49BCC57D7E3463F32BCCE93CF501B524
03C1F1B08901EB3F0AADE811709AF1C53918874BD5A1F5FA8224E6E6E4BF2FFD
1F75848B67F57183BA93C051D5DF6CEDD84ADDC305185D12789EBBDCBA92058B
A464D44049C7BDF71C67383A6DC38528D9B2B4328431C9FED18431855DB98AAE
BC85C4CA37FDE476CE0F4EE25250462CC747477446BA6375CCD72647C3A62E27
759FE92621522A5815F02819F1F127805078D1945C6B5C91A09133C05E38CF15
11966BA0C0C1EDB2601DACCE3823FA8F0B7C147EECE12C27CA629DE958EE88C7
506FF8ACC164AE2F84263A84871664A411ECD21F38E580646DDA140824F78E2A
CFA4F230256C8C6ACA374358D705EEB228FE6287590C09AB3945C5781282E983
531D2346F4F3F8A9D7DA641995E291E65493BB49D4C73D5848B771EBA7887C90
9EEA2ED6483AEE6B872A85ED677335A3444D643B1ACD8D8C7A28CC69CF436F29
CA1BB157E48C50A7C5285E6EF96E3462AFBAC03EA387B1C740A52F3286FE44C5
019771E29CB71E6A8DBA063966AA7E7809FEBED3D6DD8B59DB1148BAFD00070C
4348FA2C3D4C79D415465E2BB2AB7955D8AFC378EE7FF7AD30495425AA8E1CA7
26F94AD3E0CE97A54BDAB5541A66064C987A445AD31BD84B3956E7C7A7490BEC
C71FB27CF47B1C1BBEF350B1A292AE42274EB8951E6317B22C44A6B41F5FFD8C
EA0E2B153A55FD5959AB20563D0AF87834641F3E088D94BC83D918FF6C135FCC
DFBCEE2C0D72A8D860824C6D5D49CA061A7FC66171206AC522801B88BD99981A
3F012715D19F9F75DC19C39E106EE07FFFD5902E6E650EEA932325FD0F3C06BD
BDE3796DE7B2E4844273CBA2EF29BFD210168261C396ADBCA70F4D0B8895779C
099D09B84516A1494A25C4DCB93F1DAF7C616301A793E55308CDC1EA165AD12B
45C60F2E0131BD59951F840DAC5E316E4E287A6DD7CB39DB811DEF405F76D739
5FA11220DC99F4E773AD6E3AC8355E2F002DEFA280E1C9871B6E9A4D344400A8
E2C3B8B1270B0BBEB5D0D00A91FE1920CDC950CC041D73BCE70E19868132DD46
C042E2B5531B227A38794189273BEF0D0AEC976386D3A6E1A9E094D5FAD1F28E
FC34357DE397C66809C369A42741F0F7495B49C27D630EE2424025A26E426F83
1E1463482E81D9759B16C5524CD32BA173512B85940776E27671C52DAD1CF777
A238A175654E87DFF60BA6DD49CD44726EF0D477698AE57741241FA90E362C82
E11C98E05BDF19AD96DC237B9336F4D672920A99C36BE42165244FFAD5796406
520349F098DE9C9D6F2368CF5B6318C5661D2ECA41B7118E9F27156EA140C2C6
941375A07DC940293E378FC0CC742FDB4A15C8C1A9DF90DD4E87A7CEAEFD6AE7
50A8755630AB66DB2812654ABB2D69041CF9F90B9A9C64F48FC5E12742169D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont
TeXDict begin 55380987 39158274 1000 600 600 (refman.dvi)
@start /Fa 167[50 9[75 78[{}2 83.022 /SkakNew-Figurine
rf /Fb 193[65 1[65 60[{}2 83.022 /CMMI10 rf /Fc 139[28
4[42 47 110[{}3 83.022 /CMTI10 rf /Fd 134[38 1[57 38
43 30 32 28 43 43 42 43 66 20 41 1[20 43 42 25 37 43
37 43 40 3[24 1[24 7[46 54 61 53 1[59 2[58 4[47 50 1[53
55 55 8[42 2[42 3[42 42 42 1[28 23 31[45 12[{}44 83.022
/CMSSI10 rf /Fe 131[83 1[37 44 44 60 44 46 32 33 33 44
46 42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 8[62
85 1[62 60 46 61 65 57 65 62 76 52 65 1[30 2[54 57 63
60 59 62 6[23 4[42 42 42 42 42 42 1[23 28 23 2[32 32
23 5[23 20[46 12[{}62 83.022 /CMR10 rf /Ff 145[42 3[23
2[42 42 102[{}4 83.022 /CMSY10 rf /Fg 133[47 50 1[74
50 56 40 42 37 1[56 55 56 86 25 53 1[25 56 55 33 51 56
49 56 52 11[76 1[61 2[70 1[79 97 5[73 2[79 70 67[{}31
99.6264 /CMSSBX10 rf /Fh 134[42 1[62 42 47 34 35 31 1[47
46 47 72 21 44 1[21 47 46 28 42 47 41 47 44 14[58 2[66
1[81 9[58 61 61 20[25 32[53 11[{}30 83.022 /CMSSBX10
rf /Fi 137[50 2[38 39 2[48 53 4[27 3[44 50[48 48 2[27
46[{}10 83.022 /CMBX10 rf /Fj 135[44 44 44 44 44 44 44
1[44 44 44 44 44 44 1[44 44 44 44 44 44 44 44 44 12[44
44 4[44 1[44 44 6[44 1[44 13[44 44 4[44 44 45[{}33 83.022
/CMTT10 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: a4
/setpagedevice where
{ pop << /PageSize [595 842] >> setpagedevice }
{ /a4 where { pop a4 } if }
ifelse
%%EndPaperSize
@landscape end
%%EndSetup
%%Page: 1 1
TeXDict begin @landscape 1 0 bop 0 TeXcolorgray 2220
-242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p
452 -209 4912 4 v Black 452 -5 a
tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
452 -5 a 452 -5 a
tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end
452
-5 a 0 TeXcolorgray 452 -5 a
tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end
452 -5 a 0 TeXcolorgray
0 TeXcolorgray 83 x Fg(Up)s(dating)38 b(the)e(b)s(oa)m(rd)452
214 y Ff(n)p Fh(newgame)452 313 y Fe(Initialises)28 b(the)g(b)r(oard)e
(to)i(the)g(op)r(ening)f(p)r(osition.)452 437 y Ff(n)p
Fh(mainline)p Ff(f)p Fd(SAN)g(moves)p Ff(g)452 536 y
Fe(Up)r(dates)33 b(the)h(b)r(oard)d(with)j(the)f Fd(SAN)g(moves)39
b Fe(and)32 b(t)n(yp)r(esets)h Fd(SAN)g(moves)452 636
y Fe(according)26 b(to)i(the)g(curren)n(t)e Ff(n)p Fh(mainlinest)m(yle)
p Fe(.)452 759 y Ff(n)p Fh(hidemoves)p Ff(f)p Fd(SAN)h(moves)p
Ff(g)452 859 y Fe(Up)r(dates)32 b(the)g(b)r(oard)e(with)i(the)g
Fd(SAN)f(moves)38 b Fe(but)32 b(do)r(es)f Fc(not)39 b
Fe(t)n(yp)r(eset)31 b(the)452 958 y(mo)n(v)n(es)37 b(|)i(this)g(is)f
(useful)h(for)f(commen)n(ting)g(a)g(game)g(where)f(y)n(ou)h(w)n(an)n(t)
452 1058 y(to)29 b(fo)r(cus)h(on)f(a)f(certain)h(p)r(osition)g(after)g
(some)f(mo)n(v)n(es)g(ha)n(v)n(e)g(already)g(b)r(een)452
1158 y(made.)452 1281 y Ff(n)p Fh(fenb)s(oa)m(rd)p Ff(f)p
Fd(FEN)d(p)r(osition)p Ff(g)452 1380 y Fe(Initialises)35
b(the)g(b)r(oard)e(to)i(the)g(p)r(osition)f(describ)r(ed)h(with)g
Fd(FEN)f(p)r(osition)q Fe(.)452 1480 y(The)28 b(format)f(of)h(a)f(FEN)g
(p)r(osition)h(is:)452 1580 y Fb(<)p Fd(b)r(oa)n(rd)f(ro)n(ws)p
Fb(>)g Fd(w)p Ff(j)p Fd(b)i Fb(<)p Fd(castling)d(options)p
Fb(>)g(<)p Fd(en)h(passant)g(squa)n(re)p Fb(>)452 1679
y(<)p Fd(50)g(moves)g(counter)p Fb(>)f(<)p Fd(move)h(numb)r(er)p
Fb(>)452 1779 y Fe(The)h(FEN)g(for)f(the)h(op)r(ening)f(p)r(osition)g
(is)452 1879 y Fd(rnb)r(qkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR)452
1978 y(w)h(K)n(Qkq)e(-)i(0)f(1)452 2078 y Fe(Note:)42
b(the)30 b(50)g(mo)n(v)n(es)e(coun)n(ter)h(is)h(not)g(used)g(b)n(y)g
(the)g Fj(skak)f Fe(game)g(engine,)452 2177 y(but)g(it)f(is)f(up)r
(dated)h(to)g(sta)n(y)e(in)i(sync)g(with)g(external)e(programs.)p
0 TeXcolorgray 0 TeXcolorgray 452 2370 a Fg(Describing)37
b(moves)452 2600 y Ff(n)p Fh(va)m(riation)p Ff(f)p Fd(SAN)26
b(moves)p Ff(g)452 2699 y Fe(This)20 b(will)g(t)n(yp)r(eset)g
Fd(SAN)g(moves)25 b Fe(using)19 b(the)h(curren)n(t)f
Ff(n)p Fh(va)m(riationst)m(yle)p Fe(.)32 b(This)452 2799
y(command)c(undo)r(es)f(the)h(last)f(mo)n(v)n(e)g(so)g(y)n(ou)g(ha)n(v)
n(e)f(to)h(start)g(one)h(ply)f(bac)n(k.)452 2922 y Ff(n)p
Fh(va)m(riationcurrentt)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452
3022 y Fe(Lik)n(e)j Ff(n)p Fh(va)m(riation)p Fe(,)f(but)i(do)r(es)f
(not)h(undo)g(the)g(last)f(mo)n(v)n(e.)452 3145 y Ff(n)p
Fh(continueva)m(riation)p Ff(f)p Fd(SAN)d(moves)p Ff(g)452
3245 y Fe(Con)n(tin)n(ues)j(the)h(v)-5 b(ariation)27
b(but)h(undo)r(es)f(the)h(last)g(mo)n(v)n(e)e(\014rst.)452
3368 y Ff(n)p Fh(continueva)m(riationcurrent)p Ff(f)p
Fd(SAN)c(moves)p Ff(g)452 3468 y Fe(Con)n(tin)n(ues)27
b(the)h(v)-5 b(ariation)27 b(without)h(undoing)f(the)h(last)f(mo)n(v)n
(e)g(\014rst.)p 0 TeXcolorgray 0 TeXcolorgray 2949 78
a Ff(n)p Fh(wmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949
178 y Fe(T)n(yp)r(esets)36 b Fd(SAN)g(move)41 b Fe(using)36
b(the)g(curren)n(t)f Ff(n)p Fh(va)m(riationst)m(yle)p
Fe(.)59 b(Example:)2949 278 y Ff(n)p Fj(wmove)p Ff(f)p
Fj(Nf3)p Ff(g)23 b Fe(giv)n(es)k Fa(N)p Fe(f3.)2949 406
y Ff(n)p Fh(bmove)p Ff(f)p Fd(SAN)g(move)p Ff(g)2949
506 y Fe(T)n(yp)r(esets)44 b Fd(SAN)h(move)k Fe(using)44
b(the)h(curren)n(t)e Ff(n)p Fh(va)m(riationst)m(yle)f
Fe(but)j(with)2949 605 y(.)14 b(.)g(.)g(\(or)42 b(something)f(similar)g
(according)g(to)h(the)g(st)n(yle\))g(in)g(fron)n(t)g(of)g(the)2949
705 y(mo)n(v)n(e)35 b(|)h(can)g(b)r(e)g(used)g(to)f(describ)r(e)h(a)f
(single)h(blac)n(k)f(mo)n(v)n(e.)60 b(Example:)2949 804
y Ff(n)p Fj(bmove)p Ff(f)p Fj(Nxd4)p Ff(g)23 b Fe(giv)n(es)j(.)14
b(.)g(.)g Fa(NX)p Fe(d4)2949 933 y Ff(n)p Fh(movecomment)p
Ff(f)p Fd(Chess)25 b(moves)p Ff(g)2949 1032 y Fe(T)n(yp)r(esets)38
b(the)h Fd(Chess)e(moves)44 b Fe(using)38 b(the)h(curren)n(t)e
Ff(n)p Fh(va)m(riationst)m(yle)p Fe(,)i(but)2949 1132
y(do)r(esn't)28 b(c)n(hec)n(k)f(for)g(mo)n(v)n(e)f(n)n(um)n(b)r(ers)h
(lik)n(e)h Ff(n)p Fh(va)m(riation)d Fe(do)r(es.)p 0 TeXcolorgray
0 TeXcolorgray 2949 1335 a Fg(Sho)m(wing)37 b(the)f(b)s(oa)m(rd)2949
1474 y Ff(n)p Fh(sho)m(wb)s(oa)m(rd)2949 1573 y Fe(Sho)n(ws)27
b(the)h(curren)n(t)f(p)r(osition)g(from)h(whites)f(p)r(ersp)r(ectiv)n
(e.)2949 1702 y Ff(n)p Fh(sho)m(winverseb)s(oa)m(rd)2949
1801 y Fe(Sho)n(ws)g(the)h(curren)n(t)f(p)r(osition)g(from)h(blac)n(ks)
e(p)r(ersp)r(ectiv)n(e.)p 0 TeXcolorgray 0 TeXcolorgray
2949 2004 a Fg(St)m(yle)37 b(selection)2949 2143 y Ff(n)p
Fh(st)m(yleA)2949 2243 y Fe(Cho)r(oses)27 b(the)h Fd(st)n(yleA)f
Fe(for)g(t)n(yp)r(esetting)h(of)g(mo)n(v)n(es.)2949 2371
y Ff(n)p Fh(st)m(yleB)2949 2471 y Fe(Cho)r(oses)36 b(the)g
Fd(st)n(yleB)43 b Fe(for)36 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n(es.)62
b(This)36 b(is)g(the)h(default)2949 2570 y(st)n(yle.)2949
2699 y Ff(n)p Fh(st)m(yleC)2949 2798 y Fe(Cho)r(oses)27
b(the)h Fd(st)n(yleC)37 b Fe(for)27 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n
(es.)p 0 TeXcolorgray 0 TeXcolorgray 2949 3001 a Fg(Size)38
b(of)e(the)h(b)s(oa)m(rd)2949 3140 y Ff(n)p Fh(no)m(rmalb)s(oa)m(rd)
2949 3240 y Fe(The)19 b(default)g(size)f(of)h(the)g(b)r(oard)e(t)n(yp)r
(eset)i(b)n(y)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d
Fe(commands.)2949 3368 y Ff(n)p Fh(tinyb)s(oa)m(rd)2949
3468 y Fe(The)28 b Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h
(b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(tin)n(y)f(fon)n(t.)p
0 TeXcolorgray 2887 3717 a(1)p 0 TeXcolorgray eop end
%%Page: 2 2
TeXDict begin @landscape 2 1 bop 0 TeXcolorgray 0 TeXcolorgray
2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p
452 -209 4912 4 v 0 TeXcolorgray 452 78 a Ff(n)p Fh(smallb)s(oa)m(rd)
452 178 y Fe(The)c Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h
(b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(small)f(fon)n(t.)452
305 y Ff(n)p Fh(la)m(rgeb)s(oa)m(rd)452 405 y Fe(The)h
Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(b)r(e)g(t)n(yp)r
(eset)g(in)f(a)h(large)e(fon)n(t.)p 0 TeXcolorgray 0
TeXcolorgray 452 605 a Fg(Notation)38 b(and)e(mover)452
743 y Ff(n)p Fh(notationOn)452 843 y Fe(The)28 b Ff(n)p
Fh(sho)m(wb)s(oa)m(rd)c Fe(commands)j(sho)n(w)f(rank)g(and)h(\014le)h
(names.)36 b(This)27 b(is)g(the)452 943 y(default.)452
1070 y Ff(n)p Fh(notationO\013)452 1170 y Fe(The)h Ff(n)p
Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(only)g(the)h(b)r(oard.)
452 1297 y Ff(n)p Fh(sho)m(wmoverOn)452 1397 y Fe(The)e
Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands)h(indicate)h(|)g(with)h(a)e
(small)h(b)r(o)n(x)f(|)i(whic)n(h)452 1496 y(pla)n(y)n(er)32
b(has)g(to)g(mo)n(v)n(e.)52 b(Note:)47 b(this)33 b(only)f(w)n(orks)f
(when)i(the)g(ps)g(option)g(is)452 1596 y(used.)452 1723
y Ff(n)p Fh(sho)m(wmoverO\013)452 1823 y Fe(The)28 b(dual)g(of)34
b Ff(n)p Fh(sho)m(wmoverOn)p Fe(.)p 0 TeXcolorgray 0
TeXcolorgray 452 2023 a Fg(Selective)j(sho)m(wing)g(of)g(pieces)452
2161 y Ff(n)p Fh(sho)m(w)m(all)452 2261 y Fe(Mak)n(es)27
b(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(sho)n(w)g(all)g
(pieces.)452 2388 y Ff(n)p Fh(sho)m(w)m(onlywhite)452
2488 y Fe(The)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h
(only)f(sho)n(w)g(the)h(white)g(pieces.)452 2615 y Ff(n)p
Fh(sho)m(w)m(onlyblack)452 2715 y Fe(The)g Ff(n)p Fh(sho)m(wb)s(oa)m
(rd)d Fe(commands)i(will)h(only)f(sho)n(w)g(the)h(blac)n(k)e(pieces.)
452 2842 y Ff(n)p Fh(sho)m(w)m(onlypa)m(wns)452 2942
y Fe(The)i Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d Fe(commands)i(will)h(only)f
(sho)n(w)g(the)h(pa)n(wns.)452 3069 y Ff(n)p Fh(sho)m(w)m(only)q
Ff(f)p Fd(piece)e(names)p Ff(g)452 3169 y Fe(The)33 b(argumen)n(t)e
Fd(piece)h(names)38 b Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h
(names)e(of)452 3268 y(pieces)24 b(to)g(b)r(e)h(sho)n(wn)e(using)h(the)
g Ff(n)p Fh(sho)m(wb)s(oa)m(rd)e Fe(commands.)35 b(White)25
b(pieces)452 3368 y(are)30 b(named)h Fd(K,Q,R,B,N,P)38
b Fe(and)30 b(blac)n(k's)g Fd(k,q,r,b,n,p)s Fe(.)47 b(Note:)c(called)31
b(with)452 3468 y(no)d(argumen)n(ts)e(all)h(pieces)h(are)e(sho)n(w)n
(ed!)p 0 TeXcolorgray 0 TeXcolorgray 2949 78 a Ff(n)p
Fh(sho)m(w)m(allbut)p Ff(f)p Fd(piece)f(names)p Ff(g)2949
178 y Fe(The)33 b(argumen)n(t)e Fd(piece)h(names)38 b
Fe(is)32 b(a)g(comma)g(separated)f(list)h(of)h(names)e(of)2949
278 y(pieces)h(whic)n(h)f(will)h Fc(not)40 b Fe(b)r(e)32
b(sho)n(wn)f(when)h(using)f(the)h Ff(n)p Fh(sho)m(wb)s(oa)m(rd)d
Fe(com-)2949 377 y(mands.)37 b(Note:)g(called)27 b(with)h(an)g(empt)n
(y)f(list)h(no)f(pieces)h(are)e(sho)n(wn!)p 0 TeXcolorgray
0 TeXcolorgray 2949 608 a Fg(Move)37 b(a)m(rro)m(ws)2949
760 y Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Ff(f)p Fd(from)p
Ff(gf)p Fd(to)p Ff(g)2949 860 y Fe(Dra)n(ws)27 b(an)h(arro)n(w)d(on)j
(the)g(last)g(t)n(yp)r(eset)g(b)r(oard)f(from)g(the)h(square)f
Fd(from)j Fe(to)2949 959 y(the)e(square)f Fd(to)5 b Fe(.)2949
1101 y Ff(n)p Fh(highlight)p Fd([ms])i Ff(f)p Fd(squa)n(re)25
b(list)p Ff(g)2949 1201 y Fe(The)j(comma)f(separated)f
Fd(squa)n(re)h(list)32 b Fe(will)c(b)n(y)f(default)h(b)r(e)g(highligh)n
(ted)f(us-)2949 1301 y(ing)k(a)g(thic)n(k)g(frame)f(on)h(the)g(last)g
(t)n(yp)r(eset)g(b)r(oard.)46 b(The)31 b(optional)f(mark)n(er)2949
1400 y(sym)n(b)r(ol)f Fd(ms)36 b Fe(can)29 b(b)r(e)g(one)g(of)g(X,)h
(x,)g(O)f(and)g(o)g(in)g(whic)n(h)g(case)g(a)g(cross)e(or)i(a)2949
1500 y(circle)e(is)h(used)f(to)h(highligh)n(t)f(the)h(square.)2949
1608 y Ff(n)p Fh(p)m(rintknightmove)p Ff(f)p Fd(from)p
Ff(gf)p Fd(to)p Ff(g)2949 1708 y Fe(Dra)n(ws)f(a)g(b)r(en)n(t)h(arro)n
(w)e(from)h(the)h(square)e Fd(from)j Fe(to)f(the)g(square)e
Fd(to)5 b Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 2949 1939
a Fg(Customizations)2949 2091 y Ff(n)p Fh(newsk)m(aklanguage)p
Ff(f)p Fd(language)p Ff(gf)p Fd(piecenames)p Ff(g)2949
2190 y Fe(De\014nes)52 b(a)e(new)i Fd(language)j Fe(for)50
b(the)i(input)f(of)g(SAN)h(mo)n(v)n(es.)105 b Fd(piece-)2949
2290 y(names)52 b Fe(are)45 b(the)h(upp)r(ercase)f(letters)g(used)h
(for)f(the)h(pieces)g(in)g(the)g(or-)2949 2389 y(der)59
b(King,)66 b(Queen,)h(Ro)r(ok,)f(Bishop,)g(Knigh)n(t,)h(P)n(a)n(wn.)129
b(Example:)2949 2489 y Ff(n)p Fj(newskaklanguage)p Ff(f)o
Fj(da)o(nis)o(h)p Ff(g)o(f)p Fj(K)o(DT)o(LSB)o Ff(g)28
b Fe(de\014nes)35 b Fd(danish)g Fe(as)f(a)g(new)h(in-)2949
2589 y(put)29 b(language.)2949 2731 y Ff(n)p Fh(sk)m(aklanguage)p
Fd([language])2949 2830 y Fe(Cho)r(oses)e Fd(language)32
b Fe(as)26 b(new)i(input)g(language)e(|)i(defaults)g(to)f
Fd(english)q Fe(.)2949 2972 y Ff(n)p Fh(mainlinest)m(yle)2949
3072 y Fe(Activ)-5 b(ates)34 b(the)f(t)n(yp)r(esetting)h(st)n(yle)e
(for)h(the)h(mainline)f(|)g(this)h(command)2949 3172
y(can)28 b(b)r(e)g(rede\014ned)f(if)h(sp)r(ecial)f(requiremen)n(ts)g
(for)g(the)h(t)n(yp)r(esetting)g(exists.)2949 3314 y
Ff(n)p Fh(va)m(riationst)m(yle)2949 3413 y Fe(Similar)g(to)f
Ff(n)p Fh(mainlinest)m(yle)g Fe(just)h(for)f(the)h(t)n(yp)r(esetting)g
(of)g(v)-5 b(ariations.)p 0 TeXcolorgray 2887 3717 a(2)p
0 TeXcolorgray eop end
%%Page: 3 3
TeXDict begin @landscape 3 2 bop 0 TeXcolorgray 0 TeXcolorgray
2220 -242 a Fj(skak)31 b Fi(v)m(ersion)g(1.2)g Fh(Reference)h(Manual)p
452 -209 4912 4 v 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray
452 78 a Fg(Game)38 b(sto)m(rage)452 214 y Ff(n)p Fh(savegame)p
Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 313 y Fe(W)-7 b(rites)27
b(the)f(FEN)g(string)g(for)f(the)i(curren)n(t)e(p)r(osition)h(on)g(the)
h(b)r(oard)e(to)h(the)452 413 y(\014le)i Fb(<)p Fj(file)42
b(name)p Fb(>)p Fj(.fen)452 534 y Ff(n)p Fh(loadgame)p
Ff(f)p Fd(\014le)25 b(name)p Ff(g)452 633 y Fe(Load)i(the)h(p)r
(osition)f(stored)g(in)h(the)g(\014le)g Fb(<)p Fj(file)41
b(name)p Fb(>)p Fj(.fen)452 754 y Ff(n)p Fh(sto)m(regame)p
Ff(f)p Fd(name)p Ff(g)452 854 y Fe(Stores)27 b(the)h(curren)n(t)f(game)
g(p)r(osition)g(using)h Fd(name)33 b Fe(as)27 b(reference.)452
975 y Ff(n)p Fh(resto)m(regame)p Ff(f)p Fd(name)p Ff(g)452
1074 y Fe(Restores)g(the)h(game)f(previously)f(sa)n(v)n(ed)g(using)i
Ff(n)p Fh(sto)m(regame)p Fe(.)p 0 TeXcolorgray 0 TeXcolorgray
452 1262 a Fg(P)m(ack)m(age)37 b(options)452 1398 y Fh(ps)i
Fe(Includes)f(the)h Fj(ps-tricks)c Fe(pac)n(k)-5 b(age)37
b(in)i(order)e(to)h(mak)n(e)g(ornamen)n(ts)452 1497 y(on)g(the)g(b)r
(oard.)66 b(Required)37 b(to)g(mak)n(e)g(the)h(follo)n(wing)f(commands)
g(w)n(ork:)452 1597 y Ff(n)p Fh(sho)m(wmoverOn)p Fe(,)26
b Ff(n)p Fh(p)m(rinta)m(rro)m(w)q Fe(,)h Ff(n)p Fh(highlight)p
Fe(,)e Ff(n)p Fh(p)m(rintknightmove)p Fe(.)452 1718 y
Fh(pso\013)34 b Fe(Do)r(es)27 b Fc(not)36 b Fe(include)28
b(the)g Fj(ps-tricks)c Fe(pac)n(k)-5 b(age.)452 1838
y Fh(mover)29 b Fe(Issues)e(the)h Ff(n)p Fh(sho)m(wmoveOn)d
Fe(command.)452 1959 y Fh(movero\013)34 b Fe(Issues)27
b(the)h Ff(n)p Fh(sho)m(wmoveOn)d Fe(command.)452 2080
y Fh(notation)g Fe(Issues)i(the)h Ff(n)p Fh(notationOn)c
Fe(command.)452 2201 y Fh(english)41 b Fe(Mak)n(es)f(english)h(the)h
(preferred)e(input)i(language)d(|)i(the)h(only)452 2301
y(de\014ned)28 b(language)e(at)i(the)g(momen)n(t.)452
2421 y Fh(st)m(yleA)g Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleA)g
Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452
2542 y Fh(st)m(yleB)h Fe(Cho)r(oses)f Ff(n)p Fh(st)m(yleB)g
Fe(st)n(yle)g(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452
2663 y Fh(st)m(yleC)i Fe(Cho)r(oses)d Ff(n)p Fh(st)m(yleC)i
Fe(st)n(yle)f(for)g(the)h(t)n(yp)r(esetting)g(of)f(mo)n(v)n(es.)452
2784 y Fh(tiny)h Fe(The)g(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h(tin)
n(y)g(size)f(fon)n(t.)452 2905 y Fh(small)h Fe(The)g(b)r(oard)e(is)i
(sho)n(wn)f(using)g(the)h(small)f(size)h(fon)n(t.)452
3025 y Fh(no)m(rmal)f Fe(The)h(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h
(normal)f(size)g(fon)n(t.)452 3146 y Fh(la)m(rge)h Fe(The)g(b)r(oard)f
(is)g(sho)n(wn)g(using)g(the)h(large)e(size)i(fon)n(t.)452
3352 y(The)20 b(default)h(options)e(are)g Fh(notation,)i(no)m(rmal,)i
(pso\013,)h(english,)g(movero\013,)452 3452 y(st)m(yleB)p
Fe(.)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 2887
3717 a(3)p 0 TeXcolorgray eop end
%%Trailer
userdict /end-hook known{end-hook}if
%%EOF
|