summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/skak/informator.ps
blob: cf693fb86db96e758141f15545d3dcdf425c9f43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software
%%Title: informator.dvi
%%CreationDate: Thu Jul 18 23:26:38 2013
%%Pages: 1
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMR17 CMTT12 CMR12 CMR10 CMSY10 CMSSBX10
%%+ SkakNew-Figurine CMSS10
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o informator.ps informator.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
%%BeginFont: CMSS10
%!PS-AdobeFont-1.0: CMSS10 003.002
%%Title: CMSS10
%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 CMSS10.
% 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/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup
/UniqueID get 5000803 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 /CMSS10 def
/FontBBox {-61 -250 999 759 }readonly def
/UniqueID 5000803 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 CMSS10.) readonly def
/FullName (CMSS10) 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 78 /N put
dup 82 /R put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0
7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81
DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91
511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6
1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD
028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86
1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48
63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3
274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F
388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B
E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D
AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4
154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B
4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200
29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5
CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5
C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16
131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682
302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575
F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378
AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49
28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18
121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A
A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D
8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7
69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7
BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960
C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92
B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8
8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01
161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565
F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E
A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14
0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674
D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169
B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434
DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5
261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA
B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2
64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038
F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29
AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3
CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF
5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091
73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5
A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D
EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F
1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6
D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C
13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7
C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8
08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220
B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3
23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA
56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788
2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB
DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE
3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D
5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D
9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5
2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7
F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB
73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5
B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007
11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7
03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE
F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7
5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1
60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7
622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F
BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5
C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16
8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474
1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647
F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F
D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE
257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA
7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315
611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4
246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97
E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698
AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1
EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68
0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A
94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120
73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680
AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443
8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070
5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE
6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28
B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378
129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B
AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB
8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C
B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6
753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD
A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4
93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE
207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433
3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26
7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80
D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825
09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C
5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105
B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29
E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26
C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90
F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9
7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989
99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A
96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982
1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B
48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F
4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A
45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3
D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81
838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794
5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA
ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200
DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF
E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240
5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5
46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D
491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A
DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318
F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B
0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287
EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298
E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0
0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD
ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D
8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C
8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741
A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447
4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1
AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C
2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780
14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A
647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E
6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6
4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36
D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD
60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627
4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289
BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0
1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194
6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE
65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF
D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7
6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9
85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC
7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853
BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4
9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440
6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3
2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A
374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336
39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6
AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F
1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8
E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6
AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD
B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684
CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF
9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3
DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441
670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD
99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B
8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900
E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A
F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1
DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2
99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E
DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF
51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A
40E84014F5BF40948F05E8562C9CA9DDD71F89021BE238E74781A92D64E5F9E5
AD6C0D954C6686C714BF189E78EE47F1530CDB8376E52631A1A26E3021FAB977
DBF01167266AD68A779C0180E034A90CB77B86747395BE885E484BE4028B4093
8BE191D58D0BF85308C72E6384292A2E1CD06130A091F8AF9DC6C3E12B1E4BA2
BB2C37AB4AAFC0CCC7964C06B9EC1C7E3BDCB6BA265288D9C8625EBA35BD2A49
BC50472D7AE262237FF1EA8D9DEA3C0DBCF7C3B2DF5AFB1F31E46B48E0A8932C
AC31A981655ADE717715290110A24F18A9C280B8A1319EDE24430F8B6EE297A6
F0ED9FA62CCCE8D04508EA835C94EAAC87A6B0CB478EAA834FCC96919A168737
09F5AD160CBB4A83185BD3D2FB6C5106F2305408003BB76353291395C141525C
C35B34DC64CB57C382F7D293B863AE11DDD537DFB356CD79C3F39958DBDFAF05
C2018325DBCDBFD6799A213DC41DB996D0ED640669724C3B991A648934351F8F
C0AFEF6CFFF64A2DC8573FAE4D27F42F684FA9DE66B983C75EE125EF4285686B
C079E717409F7C7976421105699CEE6AC950BFB20E66BEFD4E06AF99E0593AE4
5DB4DC8C8832529631FABA0B611F89BA8AB7C42C115A93761D1FFA9B70177543
F76492919E80F0F379EF684F34BAC59C5D2E69B392
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont 
%%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 65 /A put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 76 /L put
dup 77 /M put
dup 79 /O put
dup 80 /P put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V 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 109 /m put
dup 110 /n put
dup 111 /o 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
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
A73760A81C686C373ED4475EEF76A3EB467F2EC721D2AB87B492444996764D66
11C2906AAB13B76373E8E10B6C92AD072356BB7172E941756E1B14A5C16D083A
82D271A5844B36522008EC033C9FA37EE6B8E5603A75500223C98D80CB40CEFF
CADA7CA565351C3844C7E2958DBE1DDE280A937A108D9D67257E51CFFF296304
3F3E4ECFC71A72240C5C1E3E022AE56DDA20C9BFB9FF931ECEEE556BCC9C4374
EA6B2CCD3D37CD025624C7B916A98BFD34E7811526561FE9C51114475E9EE497
2E9524DC3EB093A2793D553A3B4C13236CBCC78A8F93CC75F90C9189297BEEEC
A16244F6181C5C535EC9B0C8DDE504E621B5887FEAAD0F667C7848497110589F
AD4265A06A63E61EBF1D02A87587DC7D4030E320C514539B504A31AF3D78D39B
A3E59AD1CC7763901191CACF97B56367EF01CDF17E2E5049D46E0C470750BFCA
57392DE2D0CA52013ED065C5F3A6A112882F7F37638E5B2B3893392706CE2027
29FD3E48D7EC7516E263C79D6A97268DA46DF57696DCE0AABC09D1B6E2F91C96
8D4028D2F1E7C5BE558D301C8B082EB07115A8316F68504339A38BC05ECB819E
A3FD4EC2887F1635AACF2780AF4067FF1E1EA8D90D4CEEA08E56C7958159C8E9
5855ABD89B67C61781656DD25A7835DD6D0227E8E5197151EFCAAB5DD7E30FF7
1051D6D4967092FDA2997852C9A27A96351DC61E31ABD4A6EA8173FB9DBC2F61
D36C2E4278A20DF0EDC8A8322F6919079AC88C84E75904A2D372030CBE54BDD3
95DBC876109AC6AF2D5DA531182F93B84AB3B31C5908ACF05947F6414AFB850F
043E1D02CD57C8961D1E0EA51C02097026083440BDEC45721D0F6D8C3A1D8CDB
3A7574A94AA0157967D94B4FE04C20B90DA96AB9391B620CE60C015AC73A71E6
84907BBF57AA08BDC107B0B2DC30D3EC4DCA2FB7C7EBBE81AD2A05A0C30B7128
2595FAB8122EC5A75FD78BFD3CE46263505F4BD03527FC4CEC45236399A2BF9C
4A75DB0DBC50D9659B1E1BDD615BBBD2E338012BFED914E88F37F9EBC7171264
E30D7D87E849FECFD4BEEE78024777C8E1E84FA3B14E0B3ABB8A254A1519B911
DBA0A83D0F86446329C71E645D92D02FFFD3B21DFE7CBA87A3B456F5F7063116
C8125C64E8D6ADD54958DF8F45025A36326245B88D01F9C198A4CE29518BE6B0
29A667AFDFA1350FC6EA47AA1D0503F3ACB450EBEC9CEDCC102FCE62F55BF5E1
CAB60218501E2F429EBD905DD8D404E806EF9CB2841F89A3FA1131105F04465F
3C7A2B47C13DEB6707DC7F01AA43592CE1C81B76B5A6E8D9AEDCD79E7F52AC52
19F863695C77C3BD4EEE3493075513CD6EABF0CB9F34F66D6AB84E2B903873AA
286B6431912785DA63C574BB4F80DD6F7A1B493739E58351A85D1EFC7CF4B1DA
EB16AEC6E26F10AC985DAEDA799DE2C09C99906E849A107045862E92C0A1B172
7DDE110ADAA6203C01D69D00071EE1E864B33CD3492BC695E3DEF8B9D83DBBE3
FB6A76B628EBD106B163EDF4C6F485BF8E72FF25A3F08E88648F0877AA3C5A7B
8EE6553554CFCB0B613B43E51B3EF00243D4F5302BC5307FA44BD179D6CC2DF6
F1D9C92C198AB47BFB0BFB2250C48A279E3FF00DA2B09FB23038E781924FCD28
5E09D3201E13708B4DC6BE3D81282CEC04A10C21183A73505F7F430FFDFB7BEC
7D0D22743F6AC58394ADB5D8AEF8DF2675AA70E630D7C4477ED33C1F00073852
A5EC09AC1F212DA9E477CCBC8E6C1716E52E196B929FDB397551C60A2DFE9134
F6728BFD04584AD5F748F136D780A0038D253AF86C005E29DECC5DAFF403F153
0BB5E9B2BD15F6748821A9E687A20D232F530144C800F5E130558BFCF480FBB7
79AB12EBA4FA0C5A5719F3835C3F1641805392CF4F189350D9AAF9F2135D0D24
921F112695D50730EACD5D6BA5028C6D183864FD74E6A7194683A2E542231D14
55CC2E7504334B615CFEA5848F643E8C761E78A9A452B4553EBA264C89076644
8B4BCAFA8A4F12421F14A61544CFCEDE9081C08D4B9AD85C6049625BEBBEE60D
4CD2E0D6BFEDAABE6DBA1C5560D573F1CA77FE7746198B5AF514564BBC7E9033
C5356E7A7A8F62B96A0CDBF27E2C2916C93744A3C377EAF002CB86BBC433E39B
354C24AEB7BB943B425F133B57662B87C4476488D31572EB049CAF8014E433FB
D4C18175FEE5C84C38A3994F5FB26EC9083C33F1FBBF1991E2A1E9AA0D9B05CF
807C9314BC4888E895BA400402574E4697271DCA742DE26BB025A76966570464
65C3919ECEA9779CBFFBBF640D228A1F5D5EE26D30A945888D3469281CADA471
23D8D3260E1DE2E47A18526DBD971C6E8CE40021549FDB096336531FAB5B0136
B4DCBF4B10B6E56E0492AEBF75CFD32981455521B2E01EA9D83E56E5DA6CFF86
1352B688FA2B790285E7BBB1AE7EABCC786E0EB75F87276BC9B541B07234E7B6
BE219112646CF3EEDBB82A365B137F0C9DFBA0BD9E22BDBCA7C979B94005785E
3FD5715C89C3518CFFC50BD61869C4A56248D078F6D51E3901ECC4ABCAFC7AB2
C71FB50E2936C272C805FD1CFFEE5E22246D1506DA4F3115C9B58CFFCB8F4B87
0A6A9089BC7728FBD8CEDB4A9828B07ADAC517DDBA442309B6B8BF59E3563E6B
A2367FA24A141967456DF674F419459A4242708CB4301DFAC108CC8692C89BEF
1D148558F78A9132B26C7C9FA12233D3FB2EC34EEBA0DD7D2BD61029B48039CB
042945A97D0E651FC0D41C42CCB8B66190785C1BC413CD14C32DBC3632DF73B8
2EF140AA01CBC7A4BC5C6ABFD7B17C81BF507191DBCC45C7CDC0B098D7AAAA09
DCED8AD9FBF1A9457BE7193206259EC22C75339488BC5043BC6C2CB070E0EE14
8540CD52542CD19DD6B0396EECBB4F6AFC20FA231F0D7E17BD080C5DEAF24CB0
60AAE5C79D99C0A3C03071E0577DB271842306296AE5BC588C02A3D19DC0F620
AA624139D349E16C0856BC50894855588ED2BFE2BE2740B76B6FF62B3E59EDDD
104E3BF213680CF14E3337C48B6CA8E2E23476F95152C2B7A2F8AAC39D27BC77
6E4FE1F996ECAC2DDF9125199F7CD3AC1F2D3298EB89AC9BC95EB53798FCF67D
2CB01D6FC54423DF2E17F0CF5A9BDCB8CC4C1FBE312D1A3C886E10066F323302
07B273E55CB6350D2942A5C502C7C1D22FA4E883A0E9BC8A75C3D4C23935DBA3
1C4551552C1C3A3F08B7EA4DCF6DB75371235977FED298991765108DAD5D4BD7
074A6411940A3C907511CD71FA45648F78406E164988EB26019CB16819AF47C3
81E52DE64C0A31A242A272C9F2C8EE6C17795CFC5DFF3E680A7A6A9FCA796000
CD734EAB37D86218452A80A189E4D391502FCAEF9D028ACB9BED3E09441FB7CE
6793A4E49E362E506DC6BF5F8201D53D809A02343F19C21499046DBF408FCCAF
53C56B932842843157F3D16CA4EB54F4CD044DA560F9A4BD783E76D80B743344
0DF77397DA7EE6C415BA33B76D6714F7451FBDBDA7941967CC2AC0F89FC6F193
FD58106FF85144D50392B456D16F27C29B16628D12DE23A184A3AAE658CA3E9A
3AE8CEFC800C1AE6F2AD5E359E9B6B6A1DD8DE7EFA161BCFBCC8045423622B20
1C7D14C27693368D56E1C7E6732222B249420E086D66FEC913F6D88AB8C269BF
A36F210851A12FF7DE8FB0957428176477D81B345C69BA368057661601791CCF
7BD7D69A7D6D9F3CE13058805D0D25494868FFF19B2FAC8131D00196950CC3A4
276652B08ED8D6546CAD15D591AE8546A71600613D2B425B9FC7F2367CDC2873
81573201614D241D104F6AF3C8B64E9940490108B626629AD01A4D6A7AC6B70F
0D5E32F0241809B66D0D486DD7032B97F4D2D7D0DF4F0AE6CED7E9C695F47B21
C3D9C263BEBAA7A97F9CDA7455C8302CE3D6D89236F7EAA4878C380A9C23AA08
5EE2658FAD7ABC5EF1ADA32BA39E354D0EA4FA9B9E1F8816E340864F1CB46606
6B50A9F99CDF7A70AC0C2BC8958257DED45C453196C030ECF6E89A5F3F741151
96FA7635AE0748141B6CECDE677133C8083A86B10C134D80D07CC3D5C7669FE5
90DE0133EC61893BF4A7F9CAA915EF3AE61EACA5D851EE1048CD6E898DBD5795
3473E2785450012CC8C5409B9A97FDD10D39DAECB64AD7BED77213FDC724DBD1
AC0535ABC8EB9FE0198E15C50E9657FEE8AB00BCABAAC16F6C1560681A7336BD
177FD31EA4840721BF22335AAD835687CADCA97E568F5F36C96D048C3E6C1F52
2C51CEDE2E3B72CE85CF00AB15C85EDE516399992658BC16249FCDA61AD9BFB7
6A48CEB195A36F3B164B9A36EBC3382950671C29AD8854FAEB9F2A372B78155A
9AB70623E9EB7E22117FB9F75897AB9A64C147B713813C902078A8A023F162B0
7B4243FEFDD612762B8516F97A2E8B6F46B55E2C179018E1CF7ABD4A6B5AF9AE
CAC2DC12C61D1EEF349C9797CFA9D657C6E8ABD5F6EA7AD4DA037917201125CF
94D32FAB37A89FDBD06D23D3868A6BB62A97A94A45581A5B17012390EC83668B
3655005298BB8FE43A8880DD63E8C8DC37515580E56FF1BB6689CF92C4CC2E2B
61291B3AD25ABE0937C06E8CD548771FE0AD0A0328F49D818D8B96019E73B4DB
DDFE56689DCE604A7945F90E74A2F350CD4B76DA2EDAD87EB104DD90AE6CEF31
15A81D31B56A89DBCAA25144D0F225C0640BA06AF3060523DF5C4F45F0534B8E
7A4D80072DA798F8DE379A1330CDEDA5AFD0C337CF041B5D1D4DE7EB013842AB
7F7707355BFBC756DE91EFA187C20C48B3FAB22D770329CFC52169D0769B2D84
BB6CD63D416CA52BC4F502AF72E82FD4AF14569F957253FFA5A1EEC88A92AD1D
CD2436B39051A9B7C8AABD16E06003EA07279A17028727087F332C0BCD20BAD3
D13498F3FCD80D0AD210CA291D42B8184776DA936E2736EA5E3DD3FEF1DA02C5
1DAD1C437AA0277075A39A264AA60A18F249036955116918F68B3066C20D56DF
9D04F756430FEFFA73C5C9BEBD609615E3B5EE10BE0CA948722333AEE411421D
A06803D8831DF9BB5F6C18CD67F2FF3A59D2382228BE611F62339251111EDDF3
6E7D2DF531FEBC5B36E3AAE726DC7AEDC50D8CD452A2B4DBB0D0D44282F217DB
E6FA7EA15975A51E71012FA0226EB22712762546A652A5D6A7BB0BF135F2CBC1
A45449CD6668044181A009EB9DAECE0F6408616ABCD4865D7C3236DFD24F39B5
A29D229495CA4589EEEDB11E5B9322BFD6137A2D35D3AC5B18DABEF24F6126A2
7F53930DA8F839C8D4F6FA20BB2894FA593FF6AF77F4100ECAFBCC2F93662248
7B3C5E1063BD766C9E87722E36F6CFA6CCDF23C41BAD2BDF5E2FF3909CEDEFBF
163F48790D1F3163D67774AB77C24C952E7220C54D7604EA627E90895DA3D059
693D5B4926F09462D6A04AF78B6A28F1B727060BA2BEA51B5DEF0DD4F422FF56
F4AE0CF07CD42A5290AC4C8CFB52030E9664966098E4A7F039CA62FD73A2CCC8
FCBFFD89F74EA9E93981AC75798A20920A01100D01A626ED1AFBBAA7BE93D2A0
B3AE42DA31340398FDBD91CECC02BA6BB4A80DF76BFA27E063C822A33D1B310D
3A48E60F7F1B5755AA9A96332843711A29A78F6C6578495A691C2F9C64F7AF92
B4FD65BA513ECDA3CCCF42A707BDCF13C8A0102A61392450A3B3CD8B94A383AF
35E59FF6FBB28253542C2EA49CC4C2CAE8987BD26718792253B10FD1C78B08DB
F58BEE5BB4767E6455F4B7E01DE3DC96D0043865017196131029E1AA3216738F
50CE57D39BF7BC2E92A8635AB8A1E78D963008C30F05D450999AD22469325334
4EFEB187443E6FA78AA0B8019B50C69E4BD1E450DFF172B5E569BE18F516BEC8
ACDE5A5C1BA20577327E90EEEF2796EF9483B79A0D957A79711124C58FFE8E15
307FEB7F219E38A4E44959570B0B184A39D7147E6034E76596395A6A25BD8A13
1B0EAEB44B77A33FDEE7FCB39B9CC5726C984C110EEA36C3BA33798440D48E87
DFEF88CEFF7EABCECD3724451932AFDBCB66E4D9FFC2584730C6C89395719FBF
E0A372C5BE40B78A2B4B633D7439A6A50E0526FE708212EA92242FCABE82CEC1
C94A23B335B4A4F4DE82385D348FD1DB4C8C2CB5CA6724385DAD0415699C59C3
545282C9DC4E3FA784087BBF5A2CB3DA59A34FA2ED6913FF2C4A17FACEC83C03
2D5A8B22D52151B2F4FB728831EB48453DCEAC01626F1043FF9722B0E81C2288
E1F349021880AE7AC24CE16224ACB084F9C34FEB01D3D89C33FBE9E9FB36C60B
FD05FC107DE6F399FC8728F9B1DA964C65D6E3AEE1F3AE6766E31AC76426CBAC
BA4E21901EC9198BF1404B6682A3EBB2E58EE92DD3F00453283FF90303684FBD
31C495ABC38E5E338E52E8BD8FE9F937F4A6CE0914E87AB607FC41BE4B9D4480
8210F84226701AF41CF23AEEA49E8E65A6D8A5BBAA55EAFF5C9BB311382A1AF0
A278AA337144D278BAA730E1E5B72BFE46C3284789E8F386714856C8885B9B90
A8ADAF3E6A7B242A5764A49040A48CC1608A55356A8B6C26B9FB85339372CA19
994B01C756E9D77ABBCC18A4CB7F172139B481FD1848AE5CDB1D9405BD7146BE
A36E39CC2313FF2630EDD4290663178D3746FB4452090914D44AC76E768D72FA
4264BF8A621B92836653B215D58CA5B042E4E7D2A2AF264DD684375BBB42AAD8
36297B940671A33A746BDADBC074E5AD4F3C37291DAB60136B45010657D8247D
9779B371E630E21326DF56689F85C6CC27DA3E28A216F0BED58171CF6287CB9D
B1D57BC7F8BA0FC520F5DE0645F619C4AD5CA6499C033124BD7493DF1C6F6801
4B29902FB859CD4C1E75E0A6D5B02EABE3AC973D6A0508C6B23F5DB7539E394C
2745E0194B7B080673E265AE425B203D54EEFD55C9C1A915935686568C435619
3A95F967FCFDA0C967CE5F3533BF453DB99D51AEFEEDC80DDA2B08CC90B2E904
5E3D248F55AFFE8A936E2FA3532F295A40ABB0E8F88088A7628AA67ACF15F9AE
ED7F95FA27680858E88085B2F751FC65DD79421E1C521BE3BC6204E396FD76DB
E0221A90353E93EE6E40A98BC3D98CADC0951915AA6C39B89D1BB424E73C74D8
9AA6E7EA7DC31D2979943D4B9658097BD3FF124D64C05220B092471C947E179F
59660E8B992A5B1FDD6A509BB5A736DAACE1CFFCAB512A6651138C2CC0872B6C
1B1BAC588A47053F016571A3AAD2BD86069D7CC02568FB215E659352F41D4E73
ECBEAF452441E47716DD4E8A5338945CDFD0497B5A60B1996E262DBCAA504B5D
CE77C79B714783A99D3445F6FA914B4A5E08CD59CF943E00F2749711BBD1FB49
D40F017953CE6739665A616D4A78FFF7E210F7D7CA870C73647C293C92D7DC7F
F6AAFD3F38FC5DD10B78350D088A606D0E2CF6C30C0D90B59F923850C3E43223
2EB034531F995971C48A28DB302D729394FD87DE8F242F10A5CA01756A683C57
25BAA1D4F3625A93E72C86A0DCD6F010F6340C6BA20281D6964C98186A614EB5
E3632BA1790E4E1B607F5F2B6262FE8928362865819AD32F11472F8A07D16757
24155869E8470B4B5443820F753CC0BF767E4ACE3295666DFDD93D480057C389
1609885D25EAB328A0794C9DA9374329ED1C33ED556E845F8358856A18009911
8BDB06D215AFEB4EDDCFA86ECDDEDB57694BFC89857D2673ADD3091E187464FB
870A70D06F53BDF98C58D95119EB29F564DE0AFF274E17564E598E6E41A4B161
0713FAF3DE0A9853CDBFFEDE22D38E22B3B0BF20BF98DF2B685ABB1BDE1C17BE
0C0500C03CF4E995A87FB4ED9F5762FC95C342E2F10233FAD2DFF7B288EEEA99
2402DE511630A757D679A476C78CBF478D958DE5CE74517F7214874E274ED715
CBFF84EEA41179B451F28F7829C43503B60E332C870CD7E48AD5ECBFBE928D64
7009799178405317118B209B49854B9EA68415AF3BEA92EF7BACA505A67908F4
F5158B0079709D215CDA2884D2D26112D27569062622DA7F2D9D0786C4F0F43E
E07DA5BD2652D2D9F55AA65914723A48A9E1DB36C59715F87C6CE89A1FF11033
77A6C42767837D9934CAA7B994B601A562818E52C47D79777C97B31F008D532C
81D3AE83BB01E1EC6956546352A6BFC6A76C6184FA3A462BABE64ABA445FF969
5758F2E6407742C2F7D9E08B28F16EA657532A1C3859B470860D504F5E9E668B
51CD14B65BB96ACCC5A46AA63CDC4D983D6AE6F27C80EC0C284D4479602C6093
9C6F7D31E8FB8CDBEF0C3CC6BD6EDF9AE142C538E4034F0DCF773BCDB183B667
46277B91656D9ACC8372A295EA7F507070CED85623FA27E9D050A0F375379E20
05343486FA2EE2443494FB948DA30C764D0B0141A04906D80926E2513E172283
772665DB6C1A57DA6430E98AF01B026D21AC584712AF57B25509678E0BE0BDBE
E1CEFD7240B321BA8ACD9F3DE002FDC4BFB81F7E8684AFE55AA6D7040FC1768C
F3B4E9EA9C8A871AABCC4CB88A188B9E662E5054C7258E3A33C88480F0FBADC2
3B0CB6910A7116865D9B5302E023E0D1F2A7D25641CC61CFDCEA42813C36357F
D78931B144585CB2BEA1C97839C91A78043E7FD50539FEB408A7B590C6F3F99E
56AED19C64F5F48D95C2009C1AC9C379B70230F24D38CE89FC74B8B2522B5EBD
C9FAC472AE9A0F6539B8441DAAEF55158658F79F99659CF1770D09CEA2AEC321
1FD28F443D26A81CAA619EEEEC107A74C572A3AC430B6590B6D5CC124F0ADD48
F3E610F21C8E99FE2E3055F1FC9453CC35502C97192EBF65E809591C3361CE3D
E539627A5FFF6AF8071E52608F8B2948D59F747E3A622BE215FFFB7A7A4C2E47
1C776B99FB1944D834CF01D613F6560612F75767ACA95BB808A530765D0F29DA
A7705E35D1B9754E4B20E862981F6944EF8A5DA99453AAF7BC5048E72D11F8F3
95E1B1B8137F44FB10FD2C0A5A943107EDCE2B7088C6B0C04A4835B414C5382F
134BB4848816E7C2D1F3313ECF12809FCD7A488225E1D1185C897A0DE86BE71C
672BDA7921406CE3735928FDCB9D30A6BFEBE864A71F7E20BC9A26EDA40FB41F
8986FF3A48169370248520C2D0583BA30C016DF0F5F13AFEF02AF3E3A4450838
0BF0577F9A5F2E681F0224579BBB77365CEA03126D8588A9BC812897FD2A7B77
413969F32935AE40E0C9B05D7624179DCE0F89A85BF2ECE644277739C1667553
1548A18DF73EC7351B78884FF7B63C01E861BEFB445430A30270D0066E3C0389
953EB8B3353306E782CE55570D84EC9E6856D322E6B6394399C9F0BC846DD58C
EEA93C18B1287C9BD7B8A23F9675F89625B71DD175C46BF3256F88A39ABB44EE
970F6A21F8CE551CBC9A08F97E6D9B8A60CA82846E7F3D4781E20BB2E9A5DF02
EFCB366EFF106FA066B9C0999CD011CA34CE5474E52C1A6F12FD55FF2E952E64
7708C35845D403E283C3DC16A68D43DA7870615DF63C30BC2DCEA8321030E565
6BFE9583E2C4CE3D17F3C8005DC077FA7B27293A8590DAB4FD509BA7CE11CD9B
4CEA2060925E204BEFFCD2AA934E2385A09C260C1FD89CE173BAE32D54190BCB
91D7E42CC166CA67325642EC31062FFDB06BDF7E8A410EAD0B6663CCA00B5335
8DFE6443A3E5F1B71790ACEB1CCBE0273510692BCBC9C064A3587AF58C001FA7
3D930F9C34A0329DEB8B0F7A18B79605F13C3C2D6A24C0
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%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 12 /fi put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e 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
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
B46EE9D1C3D61DB6EB8434F17B15274840BEB842587F3B9AED05B97988E74B69
BC472F5575B136CCEA4A28C49A9A078338F4C164BBBCE925297E4B79CA800124
B3B8DF95BF211547456696F548E9F545DEB165B896B7DA038438114E661B32DB
EC043A557A5E26A988B25EE30ACCAA8E8C904246701E97A57C400F062761658C
DD33BE34ED09BB1BEF9525DBECFE5A994968FB0F993836E4771AF3DA8C13E121
4FC5EABA8C74A928C6472A0912BBF8F1741B4F0C3F41F58EFD3A549E5B76D332
D5E338A16E83EC574C45A49C1C3C21AB31A08E96B0C430BCA2CDBA81C80BD5A0
43B8A5762CEE68CB35C76EF23FCFFD85A5845E335A3E0F3980CEA0DAD5F78225
D947923E1054E8C2FBD30AA8F5B2BE8C21D79675F359A576DFB382A25584B512
5F8F75A913785D877D4F44FEC237704E08CA03EB9C203B92C664F0279287E1F2
5B533CDDA58898CB55B222701DAD14489AF0FEA3B78CD90225A691CBD75C0727
239A26BDECEE46F3C14350F041E7342DA954A27BEC04753B00C3FDB19044CE69
0AE6501EEA1DCF0BEAA9648BB409FB8FE84069DB8A657FFDED9EB87DAA7F403A
6B8A845FC371159F0D61B7E16B02958BA83061A3318B84A38893E07AB1EE50F7
9D02F521B1F32B05125A0E6A1874EF1C298CFA89E4E9ACC493F6F7F2A9B14AFF
68665DC4185E866AF3AF0402546E11BAEE84F00259B404E6108AA053BBE771EC
60687CA432364AF973497A17AC24BCAC33A18D0D2620352851D32B891D1C458A
A6BF008D90E499E7A9C28C898743A8C4A711E46774020E8291191F138D2D847D
057ECAE805053934F62A3578158CA819DA043E21AACB8E006F933B062CDD61C4
8546AE2C9AF14A9345EDE13A9A87BEA32E03F5D4EA114A54732B9AC01A0876BD
90FA43417BE7BF44A7BA61076B20D2BCD8218B41EB6D5A5CF88394D40F9B200B
F9BED4DA94442FAB21B33EBBA13D3AC4EF13147DB53F27AE47866566B32CB8CD
BA21F5D47CDA6BF2CEE32749C91435CBBD8C11ED7D5E51454BA91F4BEBEB1FA9
873F0804B6FAE30226AB9456A444619303EDCAC59B87CCB1E32A1E4F90C185A9
C776772BCCD30F158F572CAB63D6B5BA0274B467F52943EBFE30419AE757BE83
B12E45D5BB98F5BE982DADF7A9E73E43535F93423357142EFA130800802FE741
EF7B33A186FBB64726981104AA3809FFDB177930FEE85467FBF0CD0870270F0F
4054CAE7432E3AB21374A702BF415C92AE3F02805774524932AF1F57CFCC1F10
FF4E99574DE91D69D930DF50D8D566E60C29830A8220E1BEACD02035B0AF538B
16D86BCBAA9A1C6F4B898BE1CDA222A1E64F14BCE6065F68653EFF251CC20BED
840727F2CCC9FE6E6AE075C22E0ACB7B9B7D969F5DB094FFE231AAE05CB26627
D017264F5022E1B00CE037E54B6E1F589D5884D1525A3010F3453AC83F953EC8
65CBD7AA642BFD158CFB5794F199F021CD0BA552C5C77FA2625F89B714963380
56DD5F9A53A440E9677C57331BE3961FF4F8D0B3372CBC39007A2E6BF307FBF5
F2008ABE101AC4DD5D7ABCC9C914D112EF8B55DB17C23BB842D4C6E59AA14C69
045D2F848824792268C3611F8743FBB66B83A0FB413F528D5160C7E9F6F96730
6CBA193CD0A44EAFAC1098C6B3B663C60C8FCB4CFD79F70CF8A887606742CC71
666E028599059F5A86414E0649446250DA3ADD52B73FD02630CAD8F44895A9E1
571A16E331CAC213EF69EC4DD48701EB3B456E72303AAE727CB5E8A87BD6D85D
EBBA1ACA570E083284C80928F04EB1FE18592115FD1AE307CDB81A67DA8DBD23
24FE7A55D7AA015D742F982E6A8140DB2C438B3B08EFB88EDB3F1D471C452767
DFC4A93054DCA315660B75D73F03EC309AF1F996590FEA9096BDB2130AB78F05
685C4493203EB6249B37296E2A52FE14E2E2D79651288356FACAE99EBE00A272
471DFC87BCD5D3DF6023872A30578AC224DBE2DA01CD4307DB36449D0F950912
8DCC07E78011AE57EB79AFA7317F3C6EB7AD57E985020DDEE979F723E5A9DA15
96E3E38CD2D4648608FDCE3BC63BB0267321F5D777E5B9F5308A9CDDF298CC40
59C6FA2E88169F97DE5D1024B06A39C80CE6B06F6441F091C4770E77BBF617FB
F1572802B380B3E2EB7EAF4D2614398C04A3CF831CE98AA3C6C4AA46E9017521
82CE678B0DC236840E6C4A68143B4A73A5739079126DFB21E4562C904865D34A
C735AC6C743407A28F9EA44980A1E8F6E275D79D561F7A01D972BAEC53974123
29A0AE1E6F12220AEE98270C2CE772C29D810099986958EB4EC88C67AD417D79
C9339BCBB4C543C6037BB3127EBE69F67127354FEF2414F313FE467595D35D76
EC0E8DF1347D183BDBF7162FC129D3CDD544BA5781C1BF739E012E3B9D69C08D
4A8D0ECBC8C1E293FDBCC87B6215B4234A9BE59009268B8A0FCCC3F1A53833DE
EA437D980F2FAB56992BB63E65F8AA4934E24F21FE1932E50AE836315EE4D018
7C80A30308C32393B8EA6857A00A341B6AA40ABC940E40351DDC927BC47A239D
FD8824F52E7F9D2242F2C9A5BF7CA2379BDB3E4EE84691F7EC843855D541FD9A
D444295F2858933FC37F8317E74CE4390E3EFA1EA9529C40A59DBF09978C869F
38713613F2A96F36E1975EE2FDAD38E9D11E3493953E412BCE315886C30A8423
45F07DAC4978CA55B1CCB2840EAD2EFFE33FC1A131525CA597AE1760A996ADBB
905CD27390F03B055FCA67D0086E8237AEE970E6D536CF4F9C47798D7FFCE062
0E0243A53583712368C4C2C7CBC3EE90A3ED791DFB6E17D5DA27D093AC69D5C5
998CC1742BBAD810D8767FC53445A8213C56664A25091BBC59F2F5319D50D71D
D127DED73ED729D0EBDB30757211B5709EC713F40FC51D556F955CBF087055C9
BDEBC46FC88BB52D4D638A79F484447D5B69CB603C0DD99F7924C163E19DF472
70F6B6256ED78C81F67AEABE586D9CD47DE5A269EDB573E853C5F1D3C8A11234
2F87C45FAD901C2C0F1B085FF3AC49CA1867B4B61475E02F8402CD8EF346C930
0E0ECE54A79FCE872B2A87BD61C7022898FDBAF2595C7A93C5A75E2ADFEBF3C9
05DC814982B1676EB6EC2183002BD230F7C5E99350CA686D75563EAB3B7F2C05
6E0ABEBCCFA3BB0DB2AB91AD0807E9E070470B20AA602D7E7679AFA5CD630668
86E27BA2DA58321D818248F8CE0BB4688EC0771FFB308D49E43C9A102D9F805A
3E62F2DC9175DC0DD158F7D4F25B2B5D3086187DB478488FCA508920ADD5E754
79DEAC39AE797BA437BE6354C526D89B6B4629EBC1A4B8FDB4A51A7F64C531DB
9E127212E785AEE8414763DF731A2F71A9A56533A6C341B0D00CA5D4A2E3208A
F820F6241F106725582702034652AABE47A7A12F4C0581E5877B6443634648CC
DB056D91D64CA82EF87BA5810E24A8AB39E463C25C86AE0B890EA2DA6DC75246
25ED1C8B4EA60347AE8518D147CE9D306AEA3BD12CD4BCB4EB720F6312BD51E1
2300D272F89BD7216F34C2BD0AF45B298AFDEFF2E818ED594B672B8249BC117C
17AA4B1DE98B24F2892D80B7836E9DE029A15B399104223E95474BB850F56112
FB110D4499C0F8F9235F5AE9391121E828F8AC4CDA9DF927ADD8CABC4C764501
2E6AA28DCBF3BAE8662158853846D35F0E9098D9022CBC59755D937F65986E92
E49832570394FDF9B09D147458BBCE719F5DC1C664B2E8814A28BF423B09E969
B9740AE9CD56D40BA076C804B0A19B0D0DE2D5FEE1B225CB8C7BA29C8E23F544
F4289C611D644096A57029C1140F83669643DD9A15C4092AFD52640446B7F987
EA7A053C5E16055A1CC87FEB711099DDAC66669048586040AFC1A5FCDC08E746
40A7D7A18AB3356FEB917B899BB181BC0BDB600ADBDB083BBC3651A7CF2F1A70
5818124E11ABFAF291979900C1294C322318C8E7D5910328150C771FBA9C163B
24B9D3569865A96F90F53817F0D51C2A78F4907FDC024947478F25966206CF1D
3D5B4E33B0E3335B2F0BC6B00006CA3E29A14F6EADECA0DA653DE1BB0024495A
6E8BAF009AA479931A5774D3DCAB86F57DCDA1EFEDECD3DC06A2148CA2AFF333
2168B0D95456B540A5EDD1AD8D4E2F4760FB89D5A9EEAC9EA2F065BED3470AD5
6018003BD210C5B7A4F776CE21BA674AE85DE8DB08D6CFAB2C7AD425BA568CC0
5F5A4B9A779B59D89BFBBE7AC9829C1A95235293082C4C337444BCA8B5243E0E
9892B502AEEF51E4FB3B04BA2DB3829185737C5EB6F81EE3DC0F38A6C811CD49
222167DF4DB18E5891D03B7CA0CCC158FA60930185275F34FA9D7C475EA55ED1
C8CD3ED102FD8CDADC37A7A4A29D5BF5A4CBF76358E0C9A242A932262AE4F981
914981E4627673373EA4D50165020AD431E6F20FA2F5EBAA7E7BFD39154C990D
26295C7E297FD9CA462E6026F687CF98635F88DBBC73AD3CDFB58B79575B7358
30EFC98156AB8460710C105223AAB95D2A2746B17E12C3C17035AA14E199D26E
63A4C61A330FA751203A7D6B54B1BA0FF9F3BA72DC2BF371F223FA759887D85F
B602287B10DB45CEB4A0109BA5DD23859EF63195813B41C0BD957957A5C03A51
599B937E9011729E54C077FB04E2012E2980B305B5223DF499B992F07E990AFE
35D2B1EA666803C2665154910F1FCC96FA32F3F0BE6B7198ABA63A893B752D3E
45E00A19E9B1FBFE9575B041E36D776F11889D8DB2DD33027E53FCE9024813C4
778966C483590FDF429D64E7103CF30D0D85DA99517AF890302B94C2E26083ED
811F292C265DD3B3971A8AEB844A38EA4E4E3D8FAD2F119FB569E46CEC7C609E
A33B50FC711C9D8052BD5ABE5304727E8F6A01FED166364013EBF3EB610C314A
619621FD38D20F5930092392C3D019A467425BCD0A55DC4DB309601CE0BBA1FA
8097BC3004E4A14EE5BE6AAD6AC03CC7F0EB3D53384D84BC721DDBFABE451DD6
0B6A4056EA45B9777D566BAC2B8D0760CB217DD3188258235BC301BE2DDC2CA1
B35610E0830103B9D527662A2C498CF57A8940D824A62D6FC7445C724F4C3581
4B233D7F665A6678154CFA02B6D08ADDE6432BFC8920C91BC7113F0D76F58FD9
3A73778DCE0378C7E9EC5300496FDDD6A725DB863CA660C989CCC89F55012E15
2EEC3F66E77DCFE1C5692A596F01AF15AC0C5B01A3F6EAEF
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 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
AE6ADA0192657E8078A1D27420093FEBA111333314658021B90DA4E7A8D4B829
F1795501020D5FF0AD25584C1D4669353E1273F51A39C279F1F8EAF073497C25
E79996A530100DD40A73BD980338303E192978236F8EC6BABBC8E4395F99C2EA
8DBA2BDD01AB2030BBB19C9AA104BB96A1A8BF9C25E29269E77E5D6805555B2F
05FAF95D67C87108293EF4BB90A5C2575E484537FB203249A03F54D324D3C4F6
62104C8286DB7C0FBEF9AB2A75D8A17CA5464B417FF0DC1501E40B6D9A226919
145F74A039B54E80023BFBB07B71967C420B23004C4CDF51A94DE0A2708C7957

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 45 /hyphen put
dup 46 /period put
dup 49 /one put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 73 /I put
dup 79 /O 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 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 119 /w put
dup 121 /y put
dup 127 /dieresis 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
9F9EC2518C77806A19730C97F54BEAD10B4729E5749A10EDBE644886443D1249
2C8517DF8D8AE98E2882439FA81903941B363A7D885F93C6DF9E1FD89F2F8CEE
B870C409ED13E78B4C914813B0A01DF8F876EDCC4F384055FD37C575726AD69F
F23D50EC5BEE2FB95A44F2B2E2DD94C933D90BED2C97B53738B4B2ED56EBE617
BEF17B9DF4F314A37F10FDE34C570D7BE76A496A58242F51E7321380CB042424
855F4B53071DF5A0DA5A31B8AAF9FB4F4C491625FF8FD008BD4402918043BEDF
77B840B2BE0DAAB4EF904FFEF935954AFB9BD2041241B1BC8519EB642C89E288
479664226DBB6F1171F9EEBC7E1273D0CABCF6B1BF7F26AF21C21D9B1B916F4F
603DDB68D3614B86566FC91D67AC3F4A4A96E256FA1A3BD35F4465AE4EC64D82
34BEB4BBDDCEEBD9A89D932E55F14CA2776F927C4FD3E0920790A57DAEA08C5B
169A3E2309DA6BA8684A5D1DEE81415796E13DCF906FCDADB092047831B16841
B250CD148557D72DD7E683BF122B38E2C4F614E59B395D1D9823D7D5F126D932
14B50A37FCA7120F8F3A8E42134F1B6B0C248D56F247AA68FB941839F600F61C
14247EFF780BBA3E5198D37CED44DEEC3455048FC451BCDB48DC414AE5293A60
5A59877D6DFD21EAD729CDB7B378CEDD34262B37A194EDD0BDB24AA42649375B
491DC08F6B03DFEB517B2FC125DA9373AFAA94F4E4BC09510A73E079F4ABDD8F
93529E898B13ABCDE7322323B3A2A02A0BF388E89B4F529A66FA22D38E3EE342
54475A1989BFB7A119CF95750D5A18BB4FA9CDA30DB6F1AEF8AE8448BBC999C9
FD0D74DE9A17A3153617F07CACE92977B68FB5A1CFB29FD42494D5D2B9C1ED81
2F3CCEEC1BC079E837DDBB57C7E351F9925FB96349F8D9786D8E6FF03E9C4C1E
67DB235577B68003BA14073E2702296B284F803259283005D97035874D2B9AFD
4D3F29B4B1E6EDE30DDB9C68348CC174A091791FA74520C8614D4FB1125CBD6F
B9367559D715ED057FDF6DAAC180C7FA5CCEFD0C5878A91B20D4919792C03CA9
3AFC986C34C08358A3E85F241E3F8F815FCE7C8E07C2A4258E17D65823264049
3803D47C96A2745580EDC957AC4291730A840A2BADA50A28342A2B7093A3F731
4F4F656E974389E133C53F89D5DD6407BB98B211697941A927BC72A0956FA78E
2DC624B2C253F76778698BD1510D509244AB0462BA8E80769A51F6D020E146C1
7EB6D7207653B80610F8896EBFA6A606EFA54791E78139918C010A404BAD4B0F
F3779D39D31D665C528290D1D4096CF7E65F18936508848DF4DBF77A197944E1
DE53CF98DD5008E84A4BEE48C971DB9586980FF90D4AA43C5277C1676D4A6896
BF3168664C7F31059AEF729BB5BF404B88965F7094345DA4F8535C60FC1FC946
4285EAAF493594567AFB161F8F98CC3027FB5FDF901190949B4B6A3297C8DAC7
3355C84532F7A083D5DDD9A52A0E8E38C858441CC99C4FD0FDB0357BB5233F3D
0F6212F013072DBFAB7C061D56CE72CB67E59EAE0D87FE8400FACF1F3919565F
1D434F1B0B6E1EE0AD2510D6B21D5E44574A1142688054ED5805F3788325FAB9
397B4F558005B5C6CF1EE514D77041F132E00B13A76A105AB3EB6E4FCDBCF1F6
60E8262CD10AA45C67562303483314B5B0B2E7C4F285F9BD614A00DE68255721
89A19315AD384AA2957AF8F20D293F17F5521D3311F85DC40CDD29AA85AE61C5
F3A6A112882F7FB92F190B2F10903EC9AA11B02A8239798483CB105A78F53D62
AF3EDFE03A794C0AB1BBDC245B04E8BAD801177B0EFA57A1BEFECF8CD29EED55
75A3EA75909A28E41A42AA4CCBAA4F94086AB50569D9728470C768F2CAC7140F
6E4E141EEB1D14F796AA6D036117EFA78CBFF7D25EBF1E4DEF5F9EA103CD8FD9
A3278AD3177806EA98CAFC7491019DDCFD1C34E6D4DAD24892A71B82D94243E5
66DDFC314CAE502517B50069F984BEA9E7BB776B37107C5E9BF929823F9743B9
EA2417E3750F18E1F491C658037300F1E113F01439C816B4FD088BD3BE37C6AB
6CA38386B188DCCEDE505281359373DC0A0E0019488FA5E8BDA6B7781682CA84
F36DE8F89E9E4518AFFA65334E2C3A5C2E1325D4FA189E4CA00F948D6CE6FF54
9C179EE04E483F5189130541860067A3119C3639A44BD7A7188498CCCEF4F408
A3CC51FB47D0B21212E708A32245D8E2BE741D163595A84381EFE64A06F69632
0EBEE4C7AFA2141D6F120889E3ECABC3DE478C3ED3C150C391CC4105490C9078
B127D142CCB6C1B3C85976113EFDBE4F7F321B9AC5E0FB1EF3B021BAF474A9CF
A2EC28FEC13422167D2F49D7601A570857F590C7B904D64166FF0A87986CC9B6
EA75BEE378B8328ACB3A5021D490B3C7065CE781C378C1F01DCD70EDDDB83F48
A61231C7BE4C83A0765242FD2E9ADABAFBD771DC29AFB98C6CB1BC8C83ABCD97
10B607C6C05D7A56A704DAAF9AD3AE67DA3476CCE84832BDA1B6BB5244DF4DCD
65AB1C0EE6C6B0EA56507C3D9DB10BA62284CC1676852D451DF2CDA7FFE09897
138C27F7C6BDD27B3520C31D398026730C5AC6998DD218B92FD4C8C69FC7C0EC
74993155CB94633C9CA2925980C37740F766993C8EF1043A56F6453B862F196E
BD7415B50090D1A97A1E290D9E1774A095DF0B82D0D20D0E8EA09BA0D93D9F8E
DAE5DF1E8080485344206AD6A9B214C02A57BB9900646AE4EB85A905D3F9D12F
0BFD63D823161186FD0CCE3AC40A86D14B2ABBBC5EC181E3F95AAA636BFFFAA8
ED2789F734A9E258AC19F8D91DCE22B7229605912110D3C88C27E32FC0C1E0FB
E4E6253B00E17AFB3A56E80E487B1447B00CFA3C6C8A500C6E34DE1AB52E24B4
29285A06EBEA61BB134055B25332C4F2AFC4CD63E51AC2C563B89563D0254194
DE000681912B191666E7CB012428ECD18DDA85972F4E252C25D22B83076B723D
FC464F67B2BC065A56AB23C6A248F309DBA2E131A6EF79586E58C22B28FFAF47
5B59BAFB5D54BCDE67B2D52CF54D722A8DD65A69B6CAB613145652A976CE4D39
64D60C0859891F96E2FFC98EC71CB8627476F971C108F5616E20B6B12B517C95
400FD210006D7C81518A744CC70DE55F76AB2428202F64636BF1B4050C143424
1EDB33B6F1555CFD821DAC359ADFC8241D77E2E639514CB1CF6E169312544A65
D68CFF6687283DA001ADD5140FF92C2A4583000060FF3717E66736B72EB97C4D
B5A6B6E1AF4FB0AB0CE7F517E28F67D1FC76296917E1B91F2C07AA0A48FA9399
B88722B1A4A755CA4825EA272C1D104A426AAA391D9125ADBB46CF1015357611
A75D9D098A27F61719BC50DFACBBC89A3ADD031C747FA6722534BA34991AF3F1
BF309AD264166AE4DABEAB56BC495DDF63F51F7F49DF8FCB5BB79C8D01A8A9D8
C19AF84132DE8F5BEC0E4660654B502F46D4B36A0E52ABC788644066DE41DB8E
BC5039741F62FBC7E022695E2616AD42CA90D225A8B0B85582D26424B74C146E
164A78957817BF9B0F2BE120B0C0F663659BBD109420C6849592A3376F58135B
CFA5DE0696385BB0FFB6345B70A720C655CBBFB8E3BFE02486371A0ED1ACB555
52C3342A01A2C825D685A50DF65F2F9D27604F3F841AE34448CAEC9C5620F73B
A0E13D41CAD8B041D7B68FA7946BF6545DD7B4C68A3F79464C1D64E30219493B
2267C4CE8D70C1DB3A6B32B70C9C0A69EFAB858FF9D52DF1EE64CA7541750A5B
0C8A64DBD11D7A52FDFFE8A2AB92BED886B0533C7A29452DBA1FE16FE252C76C
2147179049E4CC03E5301AC7B4A3EACD5C0C215C3A9C0762A997502B0A338A19
94D371C31198073BDEBC7CB5C9DD3EC0C33B5AB9DC0E63EA214DC576A11D1E1B
9627FB3B5E091A7C7480AB572D86B3483BF28CE1E4B2F74315016D0E2D277A75
7DADBB5CFE83D44CCF99699BF548A45F42602F075F9965585106AFC9DEC1F5E4
2E8E625AA80C1A23EED1027787E23EA1E2B6674FBDC70D0869D9A1D2956BC4F2
DF997A23D396EEB029C38CF7C0C775C25AFF4F50761090ADB3C570B631575B0C
99E46BDCAA4B6250238E5D9B07CAEA824B4106BE1E86015E6509D45EA4B7FA9B
BAF2F6E2212876DE010F4F42EFE163E4BB5C2EA8BB7DFCC55C2ED9F1FCDEC32C
8FA5C996E011DD4061E9E4E543141EEE7BAC2E59E2A70FAF1D325B4C3CDD7550
1AB42F0A7A5283248B42F9C6E8B777698FF688E55246127F4D63B4DC5DF2D690
76FE80C695AB9982C18D48E647518EC2B76EB697066953C3652626890FAE9E2C
E05BB5D8FF563F6431A56CA3B3BB06FB222134A4F3273316F4D813AB4798649D
D6D76640E5267654244891ADCE677A7A599D22835082A072C3772C95424FA45D
F7A2553E5CDDD74FA70CF540AA72053645573A5BC1D076CA56CC148066671B08
623163ED2DB63672DC00C6B2F3A90103D44035E6C62762F9D570EC180A074BA7
5FFBADCD2898CB92192D631588C208C30573A8F7583EB55AF909494F65408672
CF9B4A2C471DE1BFACCF8292D4EE0CFC3DAFCC75CA917207D7FF60FA738D4CBF
DC5A9D10C374BE5D3D04129C5377CE1DF8D68F276989559C2583C6196AEB4557
1CBFA629E30DFF518EA89D48B607797221D94774689E26FF5F85C498D1AF5FDF
B24415B519C99E67F653CC52B83A5E6AC4CB8529822733E26DB40148B6D244F6
4B5A75F275288D9F8065FA60FBA29F8B19E467C418CA57A6FE618126F3ABB59C
6D76CB7D7A8EFA3C0DD4AA65E4D49F8FE9F3E71E95ED6677BDEB1D2223DCCC48
9A83E589D293050C20847A3F53178A895AA780BE8D374A8D48A10B8B0B3D066E
BF6E6D9E8908EC21DA73E6EAA222400A7C729E04FA077550FB80F5C19CFA1A1B
6A9B58AD9C2F087A730EDF4EC2415991D7572619DC7341ADCD7839C05E1F4251
3DD514ECEBD22658FC136B3F6DDDD5CBCED5DDA4C5191E76FE427015B2863065
768A4FEFF46C68EC7F68978C1D2C23C53EEA6C845DE21A5DE77DC935D2A4514C
8A3E9BE93CBB5E16460FDACCAC0E425D93E6D617443716C6721F2F119AF44640
83CD0B9D7E26AC928A0195F0196BDA8F68DF53B5D7592B4655202BEF769BE4F7
9FEA39FA1AF47223B09FBF61601636E76BCA286EE0BCF5B1923AEB3F9FD0ACDD
3BB2526A8619175D1430440DBE02AEC0C24FE51276C4BE36AE93A54D8378D3A3
227061E257DF285EAD467904A0700AD002E718CABA338D2CC52F2483FB1035D1
D065C64DC509EF9B4747EAA3AF3A02CB64EB6E55D3F3C19B8735BABE26852C6B
EBB2E4D8FF77A040D1D5959E701565ADEE7E413340F9451C55B0575E3B18090A
2C28B3DFA6B043BD1EC2A5DC48402479F24D630D743EBE9569A4A63CF6DD9670
E335A22ACD4E09900E11BBA673EF677A021AF4A4A5A1CC56532245117DF5BF0C
4FDB0AE21F56E04C0BA9188348611C0F67032F13B6D6E404C8B3D473496646AC
0D414E18885768F0D65AB506BE36667F54725E5553D664A5C2E9601026989EB4
7AED1F81FE710FA3FF3056729069590C030E702B9179D0081BBCA6398EE8C01E
E01766D5C9CB702C4960FE23C4A282DEA36D96C7E906E0060643D50C0C1A5169
CE7FEDFF384D793DD14D9735C04059058CD3226579DAD72467CE95CB76E9092A
42DF6FFB6D567AEF67B1BE359A6BC569830B4EE65BC7832CCA23979CFC48EE25
F1F477B8D723C0FACA8B24C48D1A7320D6DFAB3997F58A4ABA7439F7AE6C73B2
CC29E7A7B8AD6827647577E4A677A0B41DCD206F45D6777A55A864D1FAF919B0
4BB0BBC5CF40264610732E00DEC68CD355F0027C683B5109110297EDEE6927D9
0CE70C98D22920074B1DFB834413F6EF3FF1C9E1A758A6F71D69BAD93F473672
BFFE79BB6D990B1899CE3ADE0BBEEE40A78BC517710DA66EF190477B360AF75E
8DECF1BEBB8D623169CCDD278F86B41595925FFBF10B4B2F8D7E210B185EDC9C
5E14D78F42FC0BC3A3BC8A6171751C35BF5DED43219DD48407BFA8AF992E97C9
8E622F68EBDFB1A9358375C8CCEE0034E692A3A2A74441FF6949A8AE17F5682A
F09410E8BBEDDAE83E0D579C6A572DF98723B91C04A2D93DFD09254A4EF1EFFD
230721A13C655F2A0A7FABF796DD3752EEE89C4E066A06CA74AD7C3D8977AF6A
577DF17CDE2EF71C47799B026CE94B611441229AF08692A9EEB18F3E2E1988DD
75834FBD9F9A692DE870A5D43A77D677A3D0DF4D0558FE8B1C6EA0A8FC77F948
4317379E4C140CB28B5BACB7F29AD176CBCEF1FF96A492130ECBCF5BD9FE5AD0
C24595D9EAE4A4BE1F8AF27295F140207CD1D4BFF05BEC897A511F0273EB7958
18AC6909CBD5737063B9D30C9BEA261FE5413A4537187ACAAE0A18C0EC6D073D
0CAC6AA417E1846F12DB12529F983AF7F805F790CA533797E9EAF7C2E8979AF9
933CE692EE74EAA1CC4657FCB2552C97BFBD1C6CA771AE7362888840F011C136
13B261332ED0F291B6CCEF9C5F3F766C8F66BB7BB57493124727F254D9F0CC1B
550CEF604C5B2B374B2CE757ABE19925372EC679AC3B78EB66C0B1AEF5C6AC3E
633D475BD3411CE0F5B84A54FD9290EAB4399FBCC2FABE659D0E0D342B80DB6B
AC35ABE3BB6B80FF87DFD311436EF6F268CC3823181136558B6F48B8A7322D77
658A9C2FF41DA157521FD02E22F079E32BD23E408766FA14A9CE1C65F9E73D86
723864E3AA0FF74B367A46A2306300C928AB8E37AFDAF788FAE595A7D53A9FB2
CE8BDE68A11BB6F0BBF48B722BCB32CEFC18756B74FDB79F06639FFD8DCB909A
D5FF15C0EEE2D97EBF64F22534E4F80BC7B319673B591D649980BEABE6572CCC
50DA0708ED65E7493B006DD95A48DFA4CA2142C20AE83276F1DCBD37B6EEE61A
8FF20C3D45372FA7EACAE98C038BE4B911E31A261ED29FECC5439A70E74C4CB6
F08AADA08C128DF35990FB2E30359049494C6ECDDFF663176654657A2945B2AA
77D17031F2007ACB9861CBC04F14896499D2303842C303C712175B1EAF4A2448
F29CE39D0AAC14FAEEAD220C23C990D1E9911C8DEEA7C2226977BD5EF4261116
74F54B064D25222733DE1EC50E6BB19ECB89B9DA9A937C9DD8A4C537C73B63D6
670DFD03BAE4168EEC2475962CCF7048CDE547E8FFE9C2B251B0FA169FC08467
53E619D91BC4342A7AB2381AF0945CE121A947C0BC2B266024F8C50FC61AA4FA
A90E9764268F79DA2A058FA47C9627607809DBB6377F97E754D39A2390EC41AE
E15A8128362D9A08F624DFC8DBAFC4DFE8BFE5C7D0F916DA2C0704D651CA2871
1CF116750B65F38F86431FBF1AB5BEB944D266D5F353B384F0567BDF016BC7A0
C3B36EFF6E690C355F309B449956401E90D94FA19CA25442333081AA87703549
12304787789C4D914DF58A1255D84119BBB3A05A810D772A3C4D91EA904996EB
442D094B052223890340355062218149BE73FC31BBB33878DF4DCA0C407613AC
AEA55D731368F373A67893592BC795DE88CA748857D3BBCE909EC26CA14160F8
CC1B6D993D358FC9FDB4E3A5BE8F0D4536D88995F7A2B4F7A8F699ED497E150F
D42E71B27697F18AF7B74F310FAAA432CF5C296137A73D39E54D2B9C55425F61
4BAD5264C4D687BB9D3445564FDC1BC7D9D4BC48CC05727B715833629BF11F0C
CB9CF12497FB056B0D8C182DD9A22D714A163C9FB2DA05B9F50970A55C9E714A
209AE43ED2EB788736A65A4FC3491455E1971103E89A0F7DE43CCB80C2D082D3
1653BA483F993AF8BEF36ABF3FAE136A4232F93948C8B32F8A2519F45655E204
AEBCDBF1877B261DD983F9FED8301E3B57DF34EF84B91A9927915D64F979B392
A5FD1D2493933E57DD346FF2F9527EE44DC83CCD632A65407A5287AF794DCF6C
ECDB895A5978262BF5A7371EC55CABE222A81F580668A193120D921B2CB7761B
6E92869F97AA77326F4F458C6346B97BBFC1446B854DE5D7756A9A0F5DA6A45C
2A5EEA3DFDD8C57B1C79F65CF17AEE04F9036C1206B3538FADC1CAD903C7688A
7991C53917ED97366571FF0E6C77426C768D4E57171FB4D464644727B8F998E1
54D269AAAB71EC012A3317EA1244CFF897600CDBBACC1D53612DBBC5FFE09ACD
BA2493DD2557D48657DF7C4512CF63D6CBA9616A190BBE6D1E4048275B5A9BC3
9BA504E26069E9806BC6A845B14557E7038AB37FDF212CE86C636D6239DBA113
DB150CB5678B2701F1C90F361654A0CDA76B40AF409D442CAA20BAC3BAFA5B9B
3B17EA86675FCB22B9187B0ED28F824353217ADA0E0B9F61E79179CC5FF25BF1
BF2FB24A490EAF99081494D29CDA270C893F40404BDFC68FB9DA63A231D3379B
9F9A3873365CDF9B6A32D842D26659CAF48765654F05D707042586DA605BE893
863B987F05E5F0A29D32C13134F2337EBA7EFC269BA7B2F041FF542D36F24D39
F71F3DAD9DF9E74B91033BA8B1FF01A3F3A19686B5A5B4D05DB17C137BC52AA1
6F4AF7BBF819488DEBB5571775A7758727931366900E52AA38652FA92D97690F
49DEF882D78B073FE10BE9D053F69949A848A8EDAC11DC0093B331E87BA94897
7491A5337712718E46A0933A3E2677C646569CA16BEC31E5CC317BF49E3C7203
D06A30719B097B45CCD66DB02F041C946C8EE77B62702F4E7E5AFD05BF611E9F
F64D6C9A5E948C5F4B4F5679D14032F3F4FD9D4829EB63E3FB8B4D4165FA3919
ECA69EED712DB0FF3A74EB6F5389499979C3184C28FA6BC25577C1D427AF629C
E597D92FAAA099DF37BF335898BD472391D2EA707CD0C32DC8B6A505D4A7740C
F3466D4BCEC6361673853B40538D9F3E28C5CCB3DD481183EA39C3A3952C26D8
04DE8422C10E5695CBDEBD3BD748A93C7DD772B5597BDDA47A7515832770D0A1
E20E3520FEB8B60A8A727905B90DBEAC81F8E0D9FD98421BD18917E469C32498
B7A1D8F18400C2F6A81A119717245BC7D5BE7FF27274771A1C51AC83CD2D9616
1EB49CFB56A486FCCF47B7BD42245E82282ADA3CA2D6CFFA1834DEF4AD51FDC4
7065B4C4C56944521E76433C70447C7107EDC136BDBE624D88023D8754DFB982
53E5BD12B30E7294004929956902E661F71EDF9CAA53AC43D49401ACD313A93E
1141CA49EF4361FF6DA3A6A368F0577776C32FDFA3ECF53475312691EDF12966
BF5D3C69B2B09A062DF959625C841727AB9AB4353CEB13E1A06C7AB416133FC9
8ED0904D3ADEB8F05F9BCB66C6F04BCBFBCCFE25BE89087C85C615F9F84F4602
9C72EEFA154A2BE435FCF5D3DEABDE64B793961C9F06EEA3A8902B444167A342
539A76A69B4D5F6A73B7124871AC35FB846576394A02BBE80A38FB388E310DA3
63EFDA00086DD59FC21875C34708217055EA38968F29D6CC98B3D959240E4853
25EAA1A6AF9588B78A0A6AC574873B6C3191282D4F3C100955052CC8A04E8FDB
3843F31781E71838593BE39BF9F177F9BD9C7300D3C2260F36308007E6BCFF2D
74245E0F81A692E3D37CAE4FA2CEE3EC5487903B23773823D50FFF3C079B9F90
CD01BDC9F4FCA357233D3F059F7D29C2F95D5F0FF4DEF948F5FD5B8E04D7EF34
198161813932E4FC9B7FA50E9AA356DE7602F908AD71EE21391B3CE512C9CEE0
C1C60206A5C6D9CDB4EAA65FB654B23B417DD407BE99773A43545F01F05BF0D8
9EB1327A7F0A00A7519D03F8872F4D2280E243656774911D679FC88D10D253F6
C8C1E034CDED477724FE4B13A27ED520DB3BBEC21C049211BD949537D9FFA189
3B0270924ECA20F20EB9FEF641F9251BB140CB1CB36CFAA76479B6850510D52F
A1E533845A1C7BB9B3BA5A0BD04FA76C03ADEF6AE8B005FF03101806AEC7066D
03EDAAED0352C5A3F9470946453DE958E11CCCFE17FEA412059C614A815F5D78
D3D379783374A055EF0B0C7C4A2136CDEBB2FA7AFF2D095CDE3996C1534BF247
E764737B814E6C39C89831A76F0EE853F1FA86C3D2000D1AAE76A47E98DD6377
8E442068FE0C2AF3004C2DB654F9BDFF412A5B8415BC85CCB19DC9263B2EB900
1DC907541BCA2AA6A4879A016A99EF4E1179660F9ADF49D7EF3FE7D9FAE42BD9
B134DE6E22BD65BA2FC0904B349F192FF105F46E8B849BE08D78326A200CD548
06C792F185F77C8C01EFD7791BEA93D7E1868E936B66E77B11EB71C7ADBDFD47
30C1B10F097298960077CE4EF8B43498FBABB364BDF1CC74069BC1232664A778
05FEDDB57A536DD97ADB6893C484FBF638F0535AAD005B9040F8F4C5A8985ACD
596365FC9A066E96B3096F2A709E4BA2B5191733FAA31D11B4AD30BE9BD06A46
03DBA293FE94CF06ADA2C661A9E8EF65103980125119447003AF4976EDAA2AD6
79C79EAF57F0819F9649FF6E829D8B403F705DB3B271F788451A5F4DB47E0837
940E766CA6EF0799EE5560BD521390737355D4BBBBB5DB6EC9E12FD3AC9B735D
1C1A7EE65285A7293E7EC30F60462283728E2E1ED4CFBBDCBDAB4EE0BB73FB7B
9382EB082242E48E822D5BCA5C88042A7407D814D945284C4CD9DA223CD41FDA
F640E3E64B86E7A9505EF421B0588BB2746F03D4C370B13C69F7451B98B233F7
B979D63C1C86F9BBD9D3EA06EDCED6B84C0408A7D5E8576C43A0C0CF69D7CB0E
02126074E9B3D0A580B2427F9F6C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont 
%%BeginFont: CMR12
%!PS-AdobeFont-1.0: CMR12 003.002
%%Title: CMR12
%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 CMR12.
% 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/CMR12 known{/CMR12 findfont dup/UniqueID known{dup
/UniqueID get 5000794 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 /CMR12 def
/FontBBox {-34 -251 988 750 }readonly def
/UniqueID 5000794 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 CMR12.) readonly def
/FullName (CMR12) 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 11 /ff put
dup 44 /comma put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 56 /eight put
dup 72 /H put
dup 74 /J put
dup 84 /T put
dup 97 /a put
dup 98 /b put
dup 101 /e put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 114 /r put
dup 117 /u put
dup 121 /y put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651
F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224
FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B
8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0
B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A
966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E
CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4
2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E
56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295
EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277
E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973
5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F
847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000
72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6
3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2
57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB
B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7
547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88
F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535
47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444
24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7
64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204
49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7
FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD
F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A
DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97
CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1
7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5
459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918
1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1
6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846
67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5
71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED
C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345
2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E
3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF
CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801
F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8
16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542
29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327
0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02
A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E
DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346
39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254
28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56
FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9
D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8
116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F
59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74
482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45
4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A
323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17
C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB
5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179
46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1
E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C
C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3
4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C
BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32
5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735
9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117
52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B
E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2
655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC
F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42
FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442
87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107
5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6
6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366
B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03
3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A
A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34
343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046
BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D
775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5
8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0
7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5
E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584
397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65
7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689
37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257
2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E
37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817
DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F
89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08
90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1
EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7
FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C
5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B
8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665
54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6
4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8
86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B
08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E
D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B
B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54
6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC
3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1
DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C
A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98
DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E
748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A
C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879
0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA
1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D
6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422
E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6
F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76
FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016
E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D
903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B
6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21
2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66
139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4
0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9
E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1
2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6
585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8
D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E
51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E
B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3
A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E
512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5
F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D
E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5
1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB
F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407
1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF
BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55
BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578
43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E
AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A
2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51
D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65
8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991
9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8
BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925
969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A
3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A
845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31
E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D
6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407
E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93
3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733
52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6
F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F
95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149
AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8
39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4
8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3
957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07
55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F
53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C
D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106
CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E
CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46
BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1
B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5
218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521
3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86
31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9
7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195
196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9
1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341
ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563
82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651
E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D
F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A
BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9
7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28
2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD
54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7
2F3AD7552C48C6D71102367AF3DD19DD76FA71928B63D7918C3DEB88840FEB80
D288565525B144453F03FD08340E2DD4777484B552E241EB0180BF47E9A19BCD
086D89AC4DC263E273CB0F1D2E2082E023038DA303AB252AA63564D26ED8721F
8EA7AB22FEE60F04C671961BD11F2080F30456DFBBC89894FF05BC9517EB869B
40A4E58290546539BFDB4BDBB450AA7A70D019BC5A39236EFEA6F93A9FBCB8C9
7EC6DC89C5F27EF258F0D533FE882202FB786D0CE1A9D7D0CD18CEC7826291BF
1D3DF573690386F2ADABAEEA8E83960631A33AA07BB7B4970477C46E92D30D75
6E9F27887A8D1CE84F20F88DB678A0D65A53FCC7638BC932CBB2715639B5786C
3E4C88CCFE8F7D758EB497C82FB73635E828F165B2BA010AF65D973D0FF3CBD4
71CCEC76F7E415FE5C72FDF6E2D511B5105874E9B69AD641302FD432DAFC4D80
6B6CD4D1D5B658D4A984B34A2666ED8A74B8A070D33AD7A0E411C644BBD42FFE
AA7FE68F9E5EEA0521867422FD6BE49B18BF8AC265E40049F851DBEA997C34DF
3CA77697F5D48FE22C64C303D089E0B928AC2712EDD68A0EDC595FAF83B5D4E0
28EFCAFA72269A4FB0CCAEBFECEDCE66AC7D1FEB9DBA1FC28C33DB8B89D5CF97
932939B64B63070D7C293EF846EB7DE76B5F06FF4DB59278DA0F1111FF97FD5D
25291C63D01506FB143DD9677CB27DD0364FB1D756AADB0D6DF4816B0B1118F6
340C38E4FBCC4C393F928D47585ECEEF5A7F8A15FBBE393029B12DE7E9E4D781
71AC2DFC33FD7D59FD80DC1A634C5D99A068803C674B94D56D1520BD4B21FFEF
E020A7B28948FC4534240839D1C825B4E6C4C0844F057A38EE984B7E5B9AD8BA
533B9492E64A43E7A04EEE064DA56DA3E08747D5705F44F7156AD5C65653164A
82150DE6717C614AE1F722D571745119BCDF5B8F40EBE4B73D8CA0A567EC9991
9DEE71B60A72734E0E19C41457BC2CBF08FBA1B4E045DB90FC51E874B64D3ED7
FB7487F36D12E8D3D95FE7D078976AD534AB074FFE6BC8279006DAB8CA55DBC7
89A13800F9DAC874BC74E1C6A6E3A0318AC1656DA73FCC4F5A8727DC1A0F9595
5EC9B02BC987B9C37CDCB45F921306EA22788C3930E3BD2C5E91C9FA8FCB2F52
30BE9FDA1E9F58620F5D95AF91C389A6ACA28BDEE8BEFEB80DF279D17269CCD0
279CD36DB612D1D0DB9F3B398C04A1D39591F3660486759C2C2B9EB9393BA61A
81B2DD33CEEF70E02173165D6C15FD36D3F40B5D7244F29D3C57415F60F19698
4BB27B6B6DA60E7BDA42F2E66AAA8E40FBF06465B80B4AE49CF3607C79472706
C29322ACCD0D0151F3D279ADD31AD7FFE9D694169DAA60CE6A67642202BCDCDA
6E29C8BD1D9705034FC1680ED7D7F44621EB918EB0F3233C0AF28372ECBBA672
059017C88511FBF0EA1F3B7DD84411D019D17A915EE05E68D79DFC4F03DB59A5
ECB39748A437A5882EBFC1574027684145EE9264D62757CF038C0AC868A13319
EE14856DEE3979D82F249869C7A505A4B7AAD1BD0599CF398A32AFF95D3B88AA
12974DFA24CEF4D673E9BC4B9FB36398CA44F2B9FF23AA192D56E35056C2177A
ED4A6B1660520A05C01651D10A37748E1483DBB6FE13FD3EEBC1FAA34349AD82
06111CAE95F2013F111D8FE902B996C77A1BE211C2B6F9BC4DF73FB024B4D2E1
CDE9A94BFA9727D95619B30F332C018B528A8F292A142BD5CFB53AF214E36C08
E986347EFFCC3C3C885857D04A85E2514063067F3141BD86B3452A1A2B495372
EAE088FC784DBCA46CC744D9947BC5A8BF354F2C630BECA351DE6A2D47B30F80
DDA9ADA37E50B1816F739DB303627C79CE5DFAC2E94A9CF79957C0CA9B8566BD
892431AE4F23AF6056C7D8F184818C9D4A9E57FB1CEA8D74CCCBD38E5D7E1BC2
4551ECC268BDCDA07E675C206B2DCC7E5C7DAE865A4363D4122848B46F198507
7E166303E4F30C50F0061F6EF316AC7EC5FF61662F088696E1795D75591E6CB7
0ED973CED00B0D058E9622043AF118ABE8C2B757BA3A1A4D5CE2E6C06A2EB582
B99ECB6C765811568EC35E38B81523CCBFF8327E2CEDBE765C18A70B9E054453
1EA6E3E33B9975A49873F3E1CD0438BB53F056254E7051938D08A8173AB22AB0
9B42C13A84F330DB43CAB3AB877A66C3F2A0295E9D8B6292EAB9546F02FABD59
13A88D7CA669122B532C906C4081988C0BF556AF1991E1E4C9B2D6B3BC798B49
A8A6943A242A0CDFC03B498F8F495661C0B32ADAA6C3CEA8C1CCD1E84BC3D174
425A71F8A84A1F806489E2C926CF032CF157A1CFF0498121BB3A6DE04DC400EC
3D98FC20A2A20C110DB95B335C4E1682515292A12C8415E323EBFA11551F2B7E
ADBB7682960FA594CBE077E1EB10AA0158273659E8444562093B5A4C28A39E11
362611D6907C0B34DC4C958DEF21D232E2D01DE7F9C649C45ED941A8108AE2D9
775DDD587DDC8CA72A97C3E2E713DDECB09C09F67026284E674A5EF85DE699E5
7258BF1AA40FE374FF2363847DD0953A20259C7C8191E0FE0A391FFD06DF9051
3FA61907BA4F984D7089F1329579927E64A8076B5DC08BE067E449948BF1EC70
03AED3DFBBE20C2B23CB113E3F4973DB01433A72E68335BCEDA94CFC7239E7CA
55939B5EC58B380871397F1F13D7A640D8FC6924AD183ADAFC447CDB9A6CB63E
BCCFE5C11E884CABA6261D5605CDA3EDE239737490593E4E4CBDADA0182C8362
F27FDE36EFC56AC691376AEC6F3204D96AEE953AD141629A31132296FF60ED96
0D54E153FFB5117845FCB6EA3B1D71FF4328CFA0972B2E3AD0B1430E33F6AF44
5C12F58959EC611A449923604D95883E378D2DFDA4D2B2D43BC9B4F6D1538350
D9FB3E6B5445C696D916E93A1FFEBF2C59973A523F8972BD8FD20E160AFEF38B
E355E2FBDC98F0971A4D04298C47C6781201EA4F16964E6C441331193383C6BF
B3109040BFEBFD7217655899FFBC57FFAC3778729924CF9C9504A25823CFEB22
DE375E4AB029F99B91B037A1F956F4CB14E973D5847A3D1F15F400E54730E0AE
C9C15DD4322AF9DDA0CE77074EBE320435B9D82BD73040E5150DF87AE690115C
AEF26E5EB2612FD51F7761BD894DC139E79C7952BC319E364BC09825CADF4EDF
129D8F7B6D819BE5BCD1C223DBCA46785DB5A2DBF04FB42D451691B25F647B1F
3595EC997C631B70AE41317E8F80394B768C58E64CFC5F97417F88C9DDB98CAD
9F53DEAF7B225CC6DA84B79B21C1C4810D90C1871EE2B20E0D0B4783F20EE925
0E91C1C8671B97FA9E248E8F03B15EDE15F4BA072879E90AA8CAED46886DE114
D19E0A1BE52572FDA487FC97405B4571CD2A48B6135D6EF8C22420AE5C7C9B89
84D96A38FE9067CB6CBC1826C490675DCA6EBC3AFE89FFEDCBB7C83F92D03A32
30C76AFAA57B6F0854E3F4327BF892F0C4985DBDF87E476DB2DD76A5A235A7E4
E750171DB3F4C945A6ED52112B1FB818CC513DF536B7DE1C16685B03589B3D03
DC7056DD140F39C2D21DF867BC23237F697B6CFC080D59239AB465FE688461F2
EA9F0350D62450EF80C454227DB6D60CC4A1156A2C3983503EC4C020B8072F7D
7D471D3D288CA1A1497EEFB7C826FA93CE0A31B1AE583E75E9A97E84CF0F39F5
27694E23AD868C04440B4B3B674246712D89752365E32A6FD7DD024B6B2E9E09
420420996C797C228DBBA33529D256565B4C479C9A4826943B79494816FE9AB1
7A7CF2E0C3110142D10076589753AB96EB827399232E10EFCF1303500DAD9F9A
050FF4D2A7BE882CEC519E57C44AB791605BBD1CF9EB46F588AE695026ADD366
ABA1988D0F692BD8ADA131CD77A6A1E3B44536DC67A00E6FAD10A2807F3B4A76
7AE8F7C5CE76A10958CE05FEE5A6B9DF29540306704239A72166F38FB34ABD12
189B5395FAC0CFBB0B9B743486E0A3E36103A60DA0CC52D78D3A6E646F04BB5D
533B1371C2C7BFEDB46DCDA8E7CF7A00FC29C1BA4F0554FCD1701E0FB3614C8C
E63A351C080E03B7779FF122014A34B32EE0D4557F0C3AB0EDB23EB6ED0179DE
34B1440C36BA2B40CB06D26DEDE8C2EF827E10BAFDB6800B60963FC5509333D4
C6AEA8BDD3102EF19E1DCACE8402DB0E98343CBDDD6BCE24D2D9303BA4AD16B8
EE56A24D80F464EB153987368F7E899F51FB67923DE8EE2F20D6D235E28D94B9
8456BDEF0959A3B015462E79AB7B84ECF0299444CE4DEB3C8EE7E2BD23CA59BE
49E6E2C27C0E787376FB5F9524441F803ED572ED7A1321E3C775D8890EFB4A6F
A2AAD2B92BAAF651D09E1C7B3059AAB87EA01E1EA8CD7206186202B9115B13E6
7995708F70E72A38BB9FBC9BAF38077D3AAB047A7B469BDC8CBC1D2DF9AA8492
74D52FF2AF461CF685C751EC27E643EE8206CFAA38B9EE236E051C1847D58D33
E2801A3F1DA3205E8F383832356366C6D83A22ED1051FB93AA1944A220FA05D1
4D5FB1A3D14781160712140F698CB99C7EC5E4EA8F3C8DA526A7F92BACC1C67D
E04F1A5B080D43B0B8589FE343656B8B84E676ABDC34FD93E24F6D1A0EE4685F
DE701BFE614C49EE893F9E2D7DA3F6E3110C55324A3858E9406D1F098D53D65C
C5CFD7A5B8FAD2EEA008188F3CDCB6A3029FCE3E1FB6B7363E610DE04FF30604
6262C8B4EF036C5BCC2FA76C09DC2106411E40E8382671BEAD16EC56C6EB5A5B
FF2650A38302C5E0A9E5B0456659225818878FD550DEA6D1C8704C6020D2A9A2
9728DAC36B72ACF23991C122E9EA0E52DBBD639431A0C4375225D16C7D1C226A
B09C2CD2A6FE67209668B9B876D777B86F68C3AE872EFECD1730456F168E48D7
23E7A26B783AFA95962E94AEDB1B158DC3DC3A6DA5C17BEA6F42C7D4D5A33206
32A767AC088B9BE230BF67353507449272A35F18937656529A7D701C5D6ED11A
30391309A4FCCD5E7530BFDB769C2F3FBA44C27FF56FFC8BE6BCB316DBBD1B69
85A75C6726A9C0A63AAC84036265EB952556A0610C2832FD04636488B89E2C02
528754DA559FBF275565644798D4F11E33892AFA540C1F9573DB2DEC7B2832A0
A538E9903EC4A97AE8ECE9F42B72EEC9B4B5560D1BA7248993C46DA23A3929C0
EB18C32E4ADB24350F10F1B703A93BAE3B82D7CB66E0FE460DFE1C97FA5FB799
74E827C03981CB1175E54682465C5946442B9C2ED1E5AE3430D7E95680D69315
0603E5B2994FA3666DDB44CD35E5C8116CF2F5DDA46C61BD309353D3D89BF459
7DEDC647A51267BFF24F029F7C34F4B82B9AA619B1B23A678E90003B710D801D
FD60E1ED36
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont 
%%BeginFont: CMTT12
%!PS-AdobeFont-1.0: CMTT12 003.002
%%Title: CMTT12
%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 CMTT12.
% 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/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup
/UniqueID get 5000833 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 /CMTT12 def
/FontBBox {-1 -234 524 695 }readonly def
/UniqueID 5000833 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 CMTT12.) readonly def
/FullName (CMTT12) 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 97 /a put
dup 107 /k put
dup 115 /s put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7
5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99
8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716
EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C
02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D
46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A
4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0
7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3
A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3
4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C
A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251
75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0
9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507
098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02
ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581
DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B
5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2
F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914
2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4
E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21
C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23
42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D
4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068
95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9
830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FE62
C7DBA30E569DD3565AC9C80B112E221E3878624A015F6224597D02C9A07B368C
F9FDC817988D12CB00ABFAB288C20A59AE40E7A75C235938C47F77261BED14BB
6574F633BC4DE9E8AEABC46E0965AD69748C315B6DB5F264D5E7635BE37E23FB
873E2488086BA27275142C774A4A241F92E8ACFF0F25E81E2565642D88F77DE7
03BCCBC437BB1C9EDA969E92CF3423203EEDE585A9371A00BC54DD695BA12EC2
461AD673A27B24AD38903C82D020A8B235845E40A00CEE82BF1B187AE84E847D
37D5098039C3B116C213771F69B63DC822F4B45806D038047C030721213051F4
BD1EF230F86B915B67CC9624DB534F55A1B8739165AB9AB9D76473752C628AA5
4FE057ABDE42A685535EDF4C814CF00F53E7B520B470A6CAC4480488D82E80AF
DA5B7A5FC15095787538038AA94AF56018AD0AA7573CFB6DA444E30A99713E4B
07B1CCBC5DF5779110370C81EC980C9555DEDEDE7B655475DE867CF94E57598F
5C70B80B05C94C00A2E8B33EEF429E909AA1BB0DD1EDC8E27E735B41BE8D7708
F9E444DD44F344736EFB0DE4323B4626237B53275CEE1DBE65396BDA86047C81
25AC606422F5D16179F6EBD2E6B39F838A5171DAC344BFAF5A31A3EC688D5BE9
FEAFCC0CC06D38DABCB1982B30CC7CF3A0197D82D7CE414156525C452B5A6A0C
29A5287C47E4ECD1DAEC9237FBE4DAE723F7256D3BC1BC8FC9281A716C93831D
BB09ED556A845A038BF82B25CF4B2769836EDC4D3BB01B2ED52065564912A8AB
0B1FE169ECEEEF8D6BE91FFDF1DD67E6E969EC3B6C9EB47BEC81A34CB840F348
D49AFB71BD8D9CEF11019F6CFEA9C6E179634796515B45211F19EE2917F1CCB5
FF91F8329B6F04A62C0A430B8794C27D87CF0BFFEA9F5A96CB9D447D6B4FBB42
1BD54CA909D19569F563701215AAF75F8C1B61F072C3DB38D9666F6D635F8FFB
4C6BB723EF2094DF5F6D9C2E1933F72DDA6DA9A6E14AF2D956D5135537EF0AFA
5085D6B9C6CB7B67FA4247FE3D193BE96B85A35ED1313B2255576490F2E0F5CC
3CAC51FB07EBC0C72FE58C577017429AC0D8B80A21DB1ADB042866C59D1D2947
146808980B0BF886D3CBD5D883690698
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont 
%%BeginFont: CMR17
%!PS-AdobeFont-1.0: CMR17 003.002
%%Title: CMR17
%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 CMR17.
% 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/CMR17 known{/CMR17 findfont dup/UniqueID known{dup
/UniqueID get 5000795 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 /CMR17 def
/FontBBox {-33 -250 945 749 }readonly def
/UniqueID 5000795 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 CMR17.) readonly def
/FullName (CMR17) 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 65 /A put
dup 73 /I put
dup 80 /P put
dup 83 /S put
dup 97 /a put
dup 98 /b put
dup 99 /c 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 114 /r put
dup 115 /s put
dup 116 /t put
dup 118 /v put
dup 121 /y put
readonly def
currentdict end
currentfile eexec
D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA
0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93
51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71
7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551
E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078
0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273
C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E
CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61
A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC
D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F
60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A
8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D
E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026
84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F
CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F
52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944
649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E
0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC
44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF
EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10
D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA
6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54
83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B
C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC
F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45
9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E
FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983
8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE
16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F
72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158
D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4
5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F
701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967
D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D
B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6
0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA
23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76
F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33
0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28
379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B
C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA
17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823
6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007
6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94
18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A
50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D
4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690
89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E
56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35
4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C
1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E
B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B
AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB
71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896
1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8
0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945
0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F
2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09
114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C
81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF
2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1
528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493
3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC
4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755
37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15
10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC
3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134
3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3
8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D
982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24
01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA
A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75
0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2
153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9
1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100
D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541
157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079
196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A
D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0
0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12
5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69
BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161
93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03
F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D
05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0
C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118
058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662
1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C
DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419
B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5
D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F
E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D
D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611
67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860
3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453
7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C
4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC
C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158
8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767
B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB
4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5
44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B
5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8
C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7
8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613
8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F
CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC
82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723
7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03
BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC
F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B
D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0
F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95
067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A
82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F
78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139
3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B
C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD
14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44
8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE
C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39
2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D
A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F
66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05
22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649
C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142
706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5
D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935
FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA
96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9
795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20
608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3
084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251
63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4
7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E
F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5
91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5
AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403
74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311
22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F
A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F
AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D
95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A
A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A
F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642
7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639
DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B
71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF
B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3
E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415
35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38
8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D
C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075
5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7
056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF
0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85
C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD
E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E
262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291
830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815
965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801
164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673
445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E
D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190
D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B
BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71
5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E
E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D
7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E
A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC
67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD
0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC
ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C
5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2
B57252D7D87CFB7BE009E0E1AF68C57E2041CB837A1F9DA290FC07240D616876
CBA29ED23952F977F27ED97503F6C6CB48DA6611E0ED9D90FA865D099740C6CE
8A5DDBB1D6550B208321C365A5104F9ABD66A9238B8A2106AA74CAC58D1163F1
DC4A62013C0F6DD8A3E8E1A6CC6E553746D570A744863FD8EA705890890AC5BC
2F0A068C740572F045B32289A2AE66CC44A1C13FB8BBD4E1834995731D19B47E
7C2FE360AE79DACB95856B01EE39EB3C7C9EAEB3D47348C47D928BC883B8E760
6724D80DABC4D736411942BBA8CF08157F21D63C18924282193C5C8E44E09048
FDCB8DB2E01C8A496FEE2CFC19A3A0EACA508237C8BD988ED6D33D01EB548B14
61A546886AACDAFB7C8CA69056B1F428D72541D3F17007CBAB23C8ACC305A655
BE646A9303F9D2FFA3E7060B7D0226EDD997605E246BFE131463B8614464591E
425278958D87871AA4DC5D3640060B9A435BE23AB2DE953A5365623BAC1A90B0
8268AB3A27695A5AA2F8DAEAAFE88324267FCF88909155E959F90FC2656C6B17
7B1CD6735451BED9CC0CB038F90AC4B632A9AFF99D1B4E85661C85F7DA8C5C3B
44322FA1D86EE66E4CF4FB3176B72AB7C9E33B530B4B36E2C05190EE3A6CC64E
8EC29CC693DBBC748C529600BE05904A48F62C4AE175FB7707E9A28D72C4350B
EFF065D7D52105471AC6949CF4E9D2E19BEED19913DD3996589C03E5471B1883
B5ADD0E76316966869433D4D3C2D68897AD54BC0C1056A85F539FB568DD657EA
3AF8B955FD3EBD10BDC86B94651A10010EAA2D7B4CDAA9D04754A2BBEEB42462
7801380BE02FE9C387FE93CE0B2E1D0F65BEF41725130FBAEE89B44B26490D27
DBE1D0D49D3B70ADAC4B2A46991E436070239AD0154644FC4A2773AD68558ADC
A1AA62ABB46BB0FCE130DA7FC6755116118FF381764FBD03D1BD10AB0B8F4379
2FE1C35AD8CFAD84738E5A5304387E958037567D2564B00219AFA30EAF2ED876
BA2829A4D55D828E507C9C049796504220AC52CB108DBAEEF70149F452D85BA5
F394C52C09A4A6C9434C40DAC48F9C126F06A5FE34240A16F69BBA11FCA9AC76
CA1E62961CCA4591C6B96A84E7AE4964CEC00E7A8B003B5D8354CD1200489304
0FA8BE1493A2408C494EEEBF30EF1BFF488852ADDCE5D087652063AAE0BB53EA
ECF423B32495E2FC461F2F2A18B639FD6CEC09EB7CE1BDD115B5DE66A1B3FB1F
77DF9779C16B981546E71198BBCA746E0F0ADCB09EA0F6F92608D30B9E77A082
0BEE151189F51CDF0B7AA8AFF778DFEF01C988224506370FBE7DFED69D73FF45
371961A0888F0DF215E909EDB9E08E56F50FFA9CDB0EBB16BED3956A75648DAA
E0035E589C65C12BBE6904794F8C19C23A830002C6E28217731DE5A0CA604EC0
ECC0B451822F81C725F5330B1C77A5FC085E2A11667AF816D79EE262B99597B0
750F27E862B2D7D9FEB5DEEABD05CAEAB50C5DD1F8E89AB2A6A76B6FD4F0AD21
81E48E86AA9C52E272C0761D3264F78024C493058A5250DCCAF943CCF4A65FEA
3106D5359A584EF79D65DAEE9EF284524D0A40C6A6DC5033C49D740811673194
CC1177FF10B3414334765C2BF89CA1C7D17C9EBE9486479B475A4513B3ED8AB6
D1527B1146DA7325A9915A9E84520C043CD5806531B13773EB76B45F9E96B800
A8C0A25FA1DC2EDB35E91AC6ED1300FFC9EB6D646155DC9FF8D12A4A676D506E
7F15BB5355FB7F84B2F8AE9C975BE738EB0E855CBB513B391B21A4F5366921C1
6A0A2795C5ABD2E24A70B0BDB4BEF07DE92B18E47096E2C33731DDDBFA0A0B01
3410CF285FAEAA7BD1179CC76799C366033FC51E50569E1528D7C978C45EB936
AF222E13C08ECC2A9EAC3B482DEDEE702BCFE3D3A58E19E74018AC6805251FFD
BC6656DBE1B4C00F76DF3BEA8BBDCA1721ED61BD99AE4A61C0ECC9F295CC4B81
FA6F1F8008BD5011DAE4CA73C55CCD441A5134813EC0202D634CAB14C4FDB927
6FE8FA7C6A8DFEF29413A124EB0C6FD7217F93997C5613F02D5436BA7776A913
B6E940D4FF0580CC1B34DACB0736ACF3A534955C9355B4B1E00EBBB6D5CD76C0
49A1386A5552EEE2EE9A1F0C73DF8C00BD31CC14095385F0CD4FE90F8DC42E07
588B28174D701A873121F1C71958AFB10610D90D436B1C23D8E3C4662E08646B
E73DF766E2BB4A1DCA606F70A6DD00499A3C842D826A6DC72EC3441F71FB00B7
AD814CB8716A8955B9B61CDCD11AB857BF04E211868E4B1B158B4BB2E60DB2FB
25EDFB42586CE6C361A180F736354037A8E31D86231892E301CABF90DCE147DE
B44CB65C1E5F046C5B8087201B36A634CDCACE4846118BAA464D6990FB281D13
A9B75142A4F86E274FD7F8487CC56EE38EDBB8E688337D8EA76273B98BB4F694
BF1F5D3C7BEE18519C72E397D87F57AA7FFE59BB49BB70184E3EEB54B81B9A15
3FE205274C24EFD4B8388562B500D672CD32D96A0F822507C352C2BBA12450FB
72956B639F3B56F43F77036B3A607687CA35EE92C6E1E0168709CC2454865997
D89D968D384548DF558E27F1A213E09E5CF339523FB31BEFA5E45A9A874A00DC
C2843351AA96704783D4620EF95475925587F37C889BE748B33BF5D3C8D99C5A
95BB2B55B1AE23879901AE64B434F3E01C8B4493FB282F561393C972BA7BAD2A
503E18D111ED3C1BA70AE497D01C31E6D295C5B57871020771D6A96D22B33D14
AC4EE6F9E4698D6BC4AE0A872705BDC1E0546697B5DB2A64CE4A1F400E643ED1
5372ECB4F2B1B0747317DA34648E590BE041C1062B23F92013A6651BD853CD0F
2F49419C82435299A985075647C2B8F505F1182D24A3390A0718F3C255025BD1
6919DEFD68FDDAF4C35FB75996FC3D0B793F888D1FF6B09797D8A528524677E5
4A04F14D4EC256FFBE3846089ED716DD3567519F5F0EC8BAB700ABE6B1EC1080
801653126A22D50D8F1964C77A371217ACD50C6D8989B3E8CF29A0FD20A5F896
A1AF938DD27979543EEA1BA46D6EFCC1D101EE74AA0D5D110F8D1404DA4DBCE9
4C4AE92FF9E4D7AAC3FB79BFC30B566DD1831B1D68BD0E067D963A725550D57B
0F652A65A2AAC98FD9CD979DCB81EF7A2A18A06661FF72E5CD5D593078D4A145
7DB25ED6480383F1E3E30085EAE0F5230FCF4BB397866E5D465F7CE1FD84FFD1
39FCC779F3072103DA48DF38BE65355781BC259C1DB6A4ED0BF805F51BFECA21
AB0AEF7ABD154098EC0F3DD76B136833BCFD9222F331C8AC1456BA95080F9C3E
7B05A0CED7C26E24B03C7DC4245F1E3B8FD7BA40578CE7D61AD1E4A708C013F9
8141F6834DB125035CEFF6A72B147027D49068B1BDB77DE7563F12994F933960
68A87C4F50272C91B859CB83CC6488843529EF6F55977812E5F766DE23AF77B2
DA859379045E0BDE87860BDAB3D0D37C033C05CDA9680B652FB1E2913B766CA2
BA62CEF6BE7D6B266672D994BCFD263C32DC29674B45460E38BCB2BFCA4844D1
1DD4BE395315946DB693E20B21031EB41C20A82495AB0E49D2DCB51D52B893DF
48A16E3180F04C9AE15FB60FBEF9BE5A80D33C51C9FB97B89FD9891109E25F05
00253805C693E8FC4D58DB6F730D1D80C7F4E5ABC64F88F22D2E51D1A353C307
5D8E6FF6A1D17347BDE026E6D1D00A2195BCAD9A4A375275EA6509FC3044C5CA
219840C08C3335CD820377534847A16EEA2EEA228D9A5EDFFE34454012E9AF65
FB638246ECA0772825C3D72B32CF913DBA6921B35473721E263C209A7DC6414F
C066328E084F3E3D23D8DF87B70E31EC2E9479938162B353A15DCB1320DAFA11
6BF06231AEBAC8364AAE499EB21E4C2C5238B3CF10F2F02B39AE0B29B9BE6C7F
86C90B6209B774317B5422BDB058AADCB888E9BDBB1CC80505089BF8A7281D3D
69F98EFCFB87BEC440009950D0ADB1EF1FC32F4265ECE9E7AD363EBC604389F6
82CAE39E3FE7F3C17A92FADD0DA81EF29D4BFEF9EB143C9828BBE3FF15EE999A
A7F1D8F45647708B6AE7820AF8B82E8BDC890F2D535E3A58A94E16EA4B055FBD
9F4F24AF32BA7395D030E6D8D3FF0F5117CD5E8CB108CC1071EE9BBF59E8E90F
17FDC474037759BB28B9AF3DDD7E4D50F02AA3D2A161ADFEC0EB24566EE286EB
50D0DBC27A38CE66F1F78C44C3BA373EB0C5CBD11EBCDEE495A5BBE44E9CE999
18E50F7B65E4EF21BB51BEF70CBD9932D182E67063BAACD5DB4FC516D03F8951
D12D92887B9E726E064E1E1F0EC4CC09EC8A90F36A358012E5B5D7749B11095C
F8027A8C4F8D58C67EF58105AE39BB0276B7870FD90B45D73260D54D9977DD0F
F17EF66C257ACB65636E2FB1EA6EB9B66A77310A65C9F328CB212B612F1D86D1
02AFCB6EDCB931CDFC0DFB5D8C145096878DDD85D0A621BEE643FB3991F6EABC
5C7DBE8FC841A401D00B7EC7C3867D0A51C1264B659A0F0D54B3733BEBA8037C
772057BE4EBAAA8B01E4140DCE5DB31943121F1734F4B5FD0E3F8C71FD0DAE50
8A47BD2C7F464D787CAA1ECF68689A16D650BA5890AB06689B5F57ED69DDAADF
8D7EC1B634B294F523BC185FA525C6ADBAB0E0FD033128395B9F39D50722B2A8
7CF8D529CBD2891F59876BCF302CCC06E9A301663B1D29F5F9B5B047EDB9F9F0
96406FE1CEF3788ED72D1FD1733239875470A74633545ACC6E1BAD7A32FBFFA0
9D3AAA7FB6DD0DF858D316D753B1AA5B38AB6F19A1606C68E5DE529E05F95BF3
9FF1A51B4A8C0FAF6DDC0F2B7714A5AE4D16A1724730901236C637873129C435
384A6D16BE80A7B5831F0495060AE8D3320018FDD68E5B3AD55E7D82D5E49933
EFFFD35E73B26D813DF674AB7BDACEFDD5141036F433394BB5EDE175FC7E48BF
C9BE85ADB290549290BB464AAC93F4C3D52F5A9136F8C9B00063B49ACB25CFB5
E5F9FF277172FEAD8A36B3AB87A2D82B65C78C59A470C94570AC8D0FB3BB6919
4853AC866CD8890A73CFE28705B379B09C4D25DC3AEB0ACA921B98225C27FD47
52A7F9071ACA940E605890F35FAD92C4D1330773302591720A70C9192E5FAA75
700AF91056CD02A1D54129A3C573BCF54FB3ADE21A23212556673BEDD0F96F42
CDDD606045D5EB18E12488162DB826FF09D0EF4C2B9DE91B6D1A4AB273CB63DC
F22ABFB8615FEAF4EEB614F3D7B3AD83B35FDA4DF8DDFE65599BB5EA87B72CC9
3DB1C3D31CF99E2B9A8BB322885EAB2978E688CE00BDFF62AA653F72AA79FC5A
A53FCD50205C0ACCAA5B2B46FA5A4D2FDDF27494C1F02C347941CB2EF1082D98
D7B0407ED524D4D0D24FA5C007D8E9E13B3581086FFD40E1B317152805DA6A8D
339B2F0CA3BFEBCA120414A5EDBA787DC0DF416DB643ED48C5AE3E1F7A91B4F7
4898E267DF257D517700409FC72C74E267C19378D7B74201E6B2BE6FDB23138C
ED4A081628F6130640E6837BAEADA2FB35BEB16CD781386E951CE793A6F1689B
DEA3D1B479C33B43788DC9B61FCFC5CE75187EDA9E08C342CFB7DC624B03223B
F83C762189575E839A54F1AAE01462670E5D30E37D72AA9EB4F846083BDE9010
232A026C3369B88A64992EB292A41FFE5B5FEF348429C26BA53F936D18613DDE
F50DE424D32D197B6482586BFF7659EC47723E3C8AB729B8050A7095CB757842
DA63EA526AC4083DF375FA41CD04B1DCCEDA0C85EE4407CE858E2FAB980FE0A4
31B02C13E6FFDD3F94E3DAC133B4DF54D2058E747F29F42782C5DBB6F5AFEC6E
10E1C0E143BA081061948BDCCFE0ED68FB0CB360CFD80344459D2DD754FED744
0721973DE17B998B5EE7B2510524D93ADCEF1102BA70A0F24ACDCD364409708D
2C0CBAEB725003635E2D045711E6A84AF6F73BED391EC03BA777C9A62DEDF821
697D6CF90BD4FD840A567A3191BE37677C6C6309CDF2670FEB739F94944BD82D
C908C9BF333C6D2213C8F5EDD12742708009DC4B63ABA99FC3C84565466FD369
7DC0FA50A64DD755A62E78DC9625C7424BA4CAC2F8AAB5C2BFE2375648759AA6
52D842E15FE76EB4273E91617ACF2F3BC395A4F7A7DAAD9B18B9ED21B247A927
ACC803C8C3ED6720BF7399F4FDD3F84241820A323C96BB95F8037C618DC820EE
1692DF92CA48E08F4686888F155ECDB3DA21BD4A4F6EC2D498775D1163921B44
21F3B4C6F2C8523ADA57D15B1C2BB6C5A9D25E32DD3A19CD6D6CE4E1B5691240
F90489EEFC20F0C0A3E8FE36D61287067CE94CC364320F94A95CB244DC23C7A4
8B4C2C5EA46AEC0D4D4B
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
{restore}if
%%EndFont 
TeXDict begin 39158280 55380996 1000 600 600 (informator.dvi)
@start /Fa 173[54 3[59 78[{}2 83.022 /CMSS10 rf /Fb 134[71
71 75 75 83 75 75 50 108 1[75 58 75 1[58 58 108 108 58
58 58 46 58 100 75 10[66 75 75 62 2[33 58 1[58 75 1[75
75 82 75 75 75 75 33 1[66 65[{}40 83.022 /SkakNew-Figurine
rf /Fc 133[40 42 1[62 42 47 34 35 31 47 47 46 47 72 21
44 1[21 47 46 1[42 47 41 47 44 84[49 12[{}24 83.022 /CMSSBX10
rf /Fd 145[42 110[{}1 83.022 /CMSY10 rf /Fe 128[42 5[44
1[60 1[46 32 33 33 1[46 42 46 69 23 44 1[23 46 1[25 37
46 37 46 42 12[60 4[65 5[30 4[63 60 59 16[42 2[23 28
45[{}30 83.022 /CMR10 rf /Ff 134[51 3[54 2[38 2[49 54
81 27 6[43 2[54 49 12[70 9[50 1[73 15[49 4[49 49 49 49
3[27 32[57 11[{}20 99.6264 /CMR12 rf /Fg 140[74 7[74
9[74 97[{}3 143.462 /CMTT12 rf /Fh 134[70 2[70 1[51 52
51 2[66 73 111 36 70 1[36 73 66 40 58 1[58 73 66 13[73
2[90 6[47 7[99 65[{}22 143.462 /CMR17 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
 end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray
0 TeXcolorgray 0 TeXcolorgray 407 797 a Fh(Informator)42
b(Sym)l(b)t(ols)g(Av)-7 b(ailable)43 b(in)g(the)h Fg(skak)f
Fh(P)l(ac)l(k)-7 b(age)1500 1038 y Ff(T)f(orb)s(en)33
b(Ho\013mann)1592 1233 y(July)h(18,)e(2013)p Black 0
1460 a
tx@Dict begin  gsave STV CP T /ps@rot 0 def grestore  end
 0 1460 a 0 1460 a
tx@Dict begin  gsave STV CP T /ps@refangle 0.  def grestore  end
 0 1460 a 0 TeXcolorgray 0 1460
a
tx@Dict begin  gsave STV CP T /ps@rot 0 def grestore  end
 0 1460 a 83 1543 a Fe(Dirk)23 b(B\177)-42 b(ac)n(hle)22
b(has)h(b)r(een)h(so)e(kind)h(as)g(to)g(create)f(a)h(n)n(um-)0
1643 y(b)r(er)34 b(of)g(the)h(sym)n(b)r(ols)e(used)i(in)f(the)h
(Informator.)55 b(They)0 1742 y(are)27 b(no)n(w)g(a)g(part)g(of)g(the)h
(sk)-5 b(ak)27 b(fon)n(t.)p 83 2878 1031 7 v 133 2971
a(Command)289 b(Output)p 83 3019 1031 5 v 133 3112 a
Fd(n)p Fc(wb)s(etter)431 b Fb(f)133 3212 y Fd(n)p Fc(bb)s(etter)446
b Fb(g)133 3312 y Fd(n)p Fc(wupp)s(erhand)262 b Fb(c)133
3411 y Fd(n)p Fc(bupp)s(erhand)277 b Fb(e)133 3511 y
Fd(n)p Fc(wdecisive)348 b Fb(h)133 3610 y Fd(n)p Fc(b)s(decisive)360
b Fb(i)133 3710 y Fd(n)p Fc(equal)525 b Fb(j)133 3810
y Fd(n)p Fc(unclea)m(r)456 b Fb(k)133 3909 y Fd(n)p Fc(comp)s(ensation)
201 b Fb(n)133 4009 y Fd(n)p Fc(devadvantage)196 b Fb(t)133
4109 y Fd(n)p Fc(mo)m(rero)s(om)331 b Fb(U)133 4208 y
Fd(n)p Fc(withattack)316 b Fb(A)133 4308 y Fd(n)p Fc(withinit)451
b Fb(C)133 4407 y Fd(n)p Fc(counterpla)m(y)282 b Fb(V)133
4507 y Fd(n)p Fc(zugzw)m(ang)348 b Fb(D)133 4607 y Fd(n)p
Fc(mate)525 b Fb(m)133 4706 y Fd(n)p Fc(withidea)399
b Fb(E)133 4806 y Fd(n)p Fc(onlymove)359 b Fb(F)133 4906
y Fd(n)p Fc(b)s(etteris)416 b Fb(b)133 5005 y Fd(n)p
Fc(\014le)602 b Fb(H)133 5105 y Fd(n)p Fc(diagonal)401
b Fb(G)133 5204 y Fd(n)p Fc(centre)480 b Fb(I)133 5304
y Fd(n)p Fc(kside)537 b Fb(O)133 5404 y Fd(n)p Fc(qside)d
Fb(M)p 83 5455 1031 7 v 0 TeXcolorgray 0 TeXcolorgray
2001 1467 1007 7 v 2051 1560 a Fe(Command)265 b(Output)p
2001 1608 1007 5 v 2051 1701 a Fd(n)p Fc(w)m(eakpt)424
b Fb(J)2051 1801 y Fd(n)p Fc(ending)444 b Fb(L)2051 1900
y Fd(n)p Fc(bishoppair)308 b Fb(a)2051 2000 y Fd(n)p
Fc(opp)s(osbishops)192 b Fb(o)2051 2100 y Fd(n)p Fc(samebishops)223
b Fb(s)2051 2199 y Fd(n)p Fc(unitedpa)m(wns)d Fb(u)2051
2299 y Fd(n)p Fc(seppa)m(wns)321 b Fb(q)2051 2398 y Fd(n)p
Fc(doublepa)m(wns)226 b Fb(d)2051 2498 y Fd(n)p Fc(passedpa)m(wn)259
b Fb(r)2051 2598 y Fd(n)p Fc(mo)m(repa)m(wns)280 b Fb(S)2051
2697 y Fd(n)p Fc(timelimit)356 b Fb(T)2051 2797 y Fd(n)p
Fc(novelt)m(y)431 b Fa(N)2051 2897 y Fd(n)p Fc(comment)324
b Fa(RR)2051 2996 y Fd(n)p Fc(va)m(rious)441 b Fa(R)2051
3096 y Fd(n)p Fc(without)403 b Fb(w)2051 3195 y Fd(n)p
Fc(with)530 b Fb(v)2051 3295 y Fd(n)p Fc(etc)598 b Fb(P)2051
3395 y Fd(n)p Fc(see)559 b Fe(see)2051 3494 y Fd(n)p
Fc(ma)m(rk)m(era)394 b Fb(x)2051 3594 y Fd(n)p Fc(ma)m(rk)m(erb)d
Fb(y)p 2001 3645 1007 7 v 0 TeXcolorgray 1856 5662 a
Fe(1)p 0 TeXcolorgray eop end
%%Trailer

userdict /end-hook known{end-hook}if
%%EOF