summaryrefslogtreecommitdiff
path: root/doc/gperf.ps
blob: cb1ba65a7e6c4f549752494df00ecf3b1f0ecef3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
%%Title: ./gperf.dvi
%%CreationDate: Sun Feb  1 12:20:28 2009
%%Pages: 37
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMBX12 CMTT12 CMR10 CMSY10 CMTT10 CMSLTT10 CMTT9 CMSL10
%%+ CMTI10 CMSS10 CMB10 CMR9 CMMI9 CMMI12 CMMI10
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D600 -o gperf.ps ./gperf.dvi
%DVIPSParameters: dpi=600
%DVIPSSource:  TeX output 2009.02.01:1220
%%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
/p{show}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: 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
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD
0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE
E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C
7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37
88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6
DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1
AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMMI12
%!PS-AdobeFont-1.1: CMMI12 1.100
%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49
335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146
BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888
15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10
0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8
23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2
378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMMI9
%!PS-AdobeFont-1.1: CMMI9 1.100
%%CreationDate: 1996 Jul 23 07:53:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
/FontBBox{-29 -250 1075 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE
2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA
1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB
431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588
A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433
30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7
801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMR9
%!PS-AdobeFont-1.1: CMR9 1.0
%%CreationDate: 1991 Aug 20 16:39:59
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 39 /quoteright put
dup 44 /comma put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 70 /F put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 83 /S put
dup 85 /U put
dup 96 /quoteleft 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 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-39 -250 1036 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835
3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203
046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E
C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A
A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2
A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D
731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B
09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1
49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B
5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B
54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C
C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AD14F1CBE935942AEC
D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A
109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40
3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343
C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7A66D8E9C810
49CCC0D35AE00D3669EC7D8ED957EEB2105BDCF7408E0B04A325495D38BCE845
E96329244411EAAC14D3ABDD2BECAD7D391ADFFE3F7565B14FD29737EAAED3C0
7F3981DDBE07D4AC09F6C1A32369BB88852CCE980C1E950E27EF3CF8A840B393
9792FC1A510BCB4A2976BB640EE4510EA2BA3C7B5FE02F5F0F845B6B00F617FD
EB4655CED34B0097F22329071DE7738CA994BD0F983C5C4599AB9161F3776023
9AB724F231D9C38A76FC8F6A2DD4E6C9FD2B8061CDC814442CC69E94D437AC78
B2DB204A99A3240E1123E0568F6EDFE11586FD1056FD547B7CC477D8D32796D8
A37A1D4F89A6371F302C421EB4279D560D645BE186DC504CA606DE1EBCE98358
0B8C800A25D76755E1006164AED015712653A9EF8DB0B980E8A2E6D30E9CA40B
433989DAF8A217D2A70E1F2C2B994615FB279E30AAF8B978895F1CADD9259DFE
03DBC2D65ABBC25560ECAD7F743FCCBDA16EB8AEEDD091BF1DF8339DF57DCDF6
7CF63057040C0FD028EDE603C19448D1CA4AE12B15DCA284FB786B144A2D7E8A
82ED6CC0CC8A43E5CBB660231928EAD80834F2F58311DB3FAC75D071A496C3D6
24AEEB63CA0697CABD7A59C526C125E26701094960851D4EEC73E4D03E2A3B63
0518DE30A8D56C4CE6C892A4CD61371739DED0C95474D1DEDDDA5C83480C8023
B3CC77CA3D2DAB88A020873D02EF2B242555140A908FD857F37F704FCE3A45E9
E2D02C68F689F4692664CB4C60225D7D19A2A3D88A7F2CEA66BFE06F3D9CF622
676E384A983406A25F80588F1BEA3CE41AED345303458308C476FDA857E053C9
E17D561BCA03FB7C35D8134C01E2209F2A9B8D25529DE43CB6EF0AC872C99C79
CB7D9144577C4F939B4B2D8F93543543A4161B8209D38CF073963A78A305D9AC
7A9F3BC2350D3455BE94CADFC7F4BC01EFE76BCA10F3F35930BEBADED4F650A6
71452586A3C29A644F2F25BDE14053F5CBFBE26454589967297FB9791D108832
3585A2F66A42E75B3DD5B1536E457F5DC3EAF69C3C5E8ACF4F32BB5118F503D7
8D328212074424E6B2E83BD26E73B0FFE3957D5CE744067A12229451A17082E8
E7AA765FCE539C3CB34D5185F381894C074AC30E906773F2FF25689E488309E5
28B3121DBB2466B3A07DD8119635F5AA790DD87A29F1E0184F9B811DBFD9988C
5E7C698AADBA838F81D63F61022D8F28FD942AC95C59AE5C710A6D1EB4913078
6215204C63019448ECEFFFF812B33014B6BC5FB22F4DCA7817CB0E21747E574C
B98762D02F302896B17FF8AF44E95832C7C08DFBEC1B1F33E16704FD27EBEACC
591A81AF3AF9E0668EA64088ECBC4317136D895BD030F8C5A3C4218AECD86388
FE4775E057EDE6251F771EA5F125E6026697B0741729BF8DE0B542AD32B562B8
7F61E71460AA96E414FD4ABD7D23D4C7ECB122E7DEC30400BFE0E7C19990506B
F27B5F316BA18F35C7AF31422718B22FC86E9310737D2A638E02149A3758C681
700987E99FD05EEA921AC6E6E5C785FCFEAC82FCD9D5FB2CD3699D8B1C81D11C
5EC87314EF4E837D6548554C11D3D21E847405E7FF2CEA029E48046168B3E08E
2CEE460980CFDF59491A35F10D15A68E6D06CDD3BC51037F68C0502EBD64393A
89157994982EE9EA6926C64EF5023A0FA334D2414C2839B12D12E03EA51AD687
3F9E7BD9D355AF773648FFDFF6E21E944CD26C6B8B0592B1A925F8C0605A6E45
DE3E637307EFF7027A98136B6F93B0C9088743DD8DBE1CFA3F87F06A8434FFA7
4D9468EEED7FEB9F4DF36AA6E872F3FDDC253AD795EAEB294BEEDF6EEE1EBF96
4571274E142A5BBA3E68EC6857444B708761CC7B4ED0FF7410AB69F93DE6B46E
8EA7D1CCAF79EBD23CA34879E0865F6D1CA61D6FA3A1E0B37F19EF5FEEAAD250
052B463532465EDE2C010E58E4C56D3C3871128400DFD07B9AE06CE5CE56D333
85A22A76BA0BD255D47FF4C9A8528338E08B9E37A22230563C22B57D732C40CB
A8596ACECA557E3D8F9C842B47BD89ABEAF9A0FBF45399B902AAAFAAE45C13D2
7673A789D91398C3365C9F42D060C49459F9C0F8119BDFCC6B712323701C1B3B
90E59BAB047F1A2A3C2028AA427E39ACC5BEC9FFBD9AF2EF4977069E9D12E18F
2DF8AB7CDE5B40232CA3D1A65AB7C995A4BE80B2575372C757C38E3A6B014DD3
743CA81177817AA76C527DC9B4AD429DC20558C5E1D195547B1A86EA47B8363D
B6BAF78AC5FCC2A345768ADF8E1D4473199B5BE29FED3561B249A48CB2D1D295
3628EF6305ADCEF41706DC434EABAFC3286A5C538F61DF8AB76778A5EDC39BD6
F33DC9E580152F032ECAC7D3000B97E9C0B4637486CD11D2BF47B5DF8844319A
AFC9E4B0000EB1EC745CEDC6D052D772B5325B656C1DC7D27F7EB0586094EEAC
AF339B7E2B056126C9796F68659650D0BDC4C456931DE0CC79560771D6374EBD
8C8DE881E78D31F1F5CCB1597602D07793EFE2F1B991C8FD05F35CE2168CC1C9
9815DB43C9E19662B27AA40B7F2ECDB5FA6EFF7C1C4AEE23230BF80C352FE320
1D8F3E59158E52A32EBD691FD5BC0D1D5370F90A0743F8E5BCD1485372F001F2
2DDEE60AD113AA36D9A2C830098E669838958588AFBBE457D008A089E7A1DC17
8ECC91F8509FB5A0B7935928EE72086B5BF92C10F195B1183DD282E2F31AE6DB
4B660B0224C907BEF3CD0A45C9B1C92F3915608015C9D4178DE9A1AF2621A214
E3975C1E95C5F7315D1E91CF055B43141583650EBB8D570D8E88A545899980DB
E07C092978AE0A295E80F888220DC5EFE60BCB534B4CAA13D56892A18DA6784A
456386E6B5FDE92E0880FBA74BCDE958BC6F1664156288F136DA69DF84AE6E6B
F04C336D08643F64F579C8865C8100DE1139AA75B0FF349ECB193CD40FA60319
B24B825C9DE6CCF7BAC2D722B93D386D19170D71F81FDC33AC8CEABB5125E50F
0151E113EAFEA48C1C05C113952BE0ABC5B2A3908192397FC56A1F4090751BAB
D409CA4AC0091866D114B9FF10AC90B6916ED111EC224F294BDF8CCCDC3E9336
B8CB13A695887B8A893BBA7562E054E7BC2C4AA4CBB96542B0137F091B7578C6
73B34C5149D939F8590ACE8CC083F63F8F239175513255CB4697E7E7ED584401
A2FFF58723043A7F046FC9EC4C70E835FE80B07D4EC11FB14D16793597A09BF3
292A8367AE4A8A279CB92FCD2EEC083A75195178CAA4A1D93D67A2C6A98D408D
A7C145F5FE4C6C7CF2A4CFAFC02DDD631B745B13FEA4A5710B4F0D7E992D18DD
A5BDE04158D7EC4DB9DCE3E24558FD74C2599E4EF16DA1C33991C7D27FC1BB78
4E9865C28A75075C4609D08EDCD4DEC28522043E510F637944C3BB8AA67C2CC6
9E3FD5B528A6744F4E0DF4D924809D1FD627F4B6031D85E13E3B07C7D710A0EC
86BB8269797E745D7A7458F7D15D1810616EE9699BCA0D366FE106D60BE84D24
DFE7AC0FC125A70D7FB057551E737C5675D165E3DBCEC1E053987D078AEF7839
2F73428EA2F6302B6313E162DC81D93FE0E981F859DFA4CAD80A78515BCD48F5
708D332B4A621D8848561893987729CEDC45EF4022E1D2A6A6BD1048201D28F0
AED64DE459AC4CE272B170103D02AC44E3646396B251CB5D70A418DAC1E1663F
890F510F215C03092C96639523566C20957E98EE44BEBEEF04D7E9FD33D8356C
468579E018AB336E18EACD06ED8273F67475F6A5C732D75F52703D019F40D53E
2B26C34D5C91269F987268BD26A0AE63325228771650091F9D1D8E15A4210255
C38B54E8EDCD23FE74D1B92108892192B274B7181F2B214310E37DC5557450F0
B6020D9375A4E11BA6C4F476B214CEA60741454170AC24F1DAF8C45D07D81E16
E5229C27886C32BF404B151602A53AFE13485BA120940C9BC32C87C3125D6B60
60136D024377C404D34D5F245EB14304C78BFC2C2E4769250DFA386A171395D2
FCA9752197E38E568F5FFB81DF03299864ED405068792837A14D23E4DAEDB8C9
90EECDC45C21B5273F120F1E2F8960E62FECA7903A9AA3DEBC031A5D3FCDB717
2C7B9F627D7B76F47AE0905810B0EF86503EE4D747EEDF560B3BCFE17822D496
C77A335466E6C7CA4C5FDDA4523BA7B2AC8D438C554B9378977D64FBD56FCCD9
73ABBE4CD4FB36D7CED8F6A0D15B0D1C15311E5D77694AFCB14409189DD5E386
4026AB274BA33F6032E4937B1D345BD4FAD3C2BF0904E5A246E9EBBBF1FFB7BA
789726B9D7F39D64A29817C40C9515551E19775E50F3F4BD1EC47E2D8FDF830F
54CC5C4371CC30B0856C00DAB9B1ECEBC0AB17BADAF8E2E2EDEA95EE74938E09
B3CF241B9E09C0DA8E0AC696F4C98A2EFCC526F1C75E637B8A31CF9A8BF52280
91A5543D6DFBDF49AFAA51CC6C7B50F6DD1958121EDB2A0C653C3A32F08696D8
93A61A7969C35E6127BD7A2FA1055014A10286DEB8422C9ADB8765A11082C7C8
DE96F0092F3637466C053BA316379B3CBF21D84A7B01D174DC5BE1415BFEA654
2E693BFD946BD7569733B0FBB2C5D247735A48A7C841BEDC92CF8A799C07A478
E7E398817A355F875789A28715AE0C95B58DB0F1F27572D16AC7BA72F98E5895
68848616B25441D0E1269033AAC8A6C997B124AEF387D72F0F1BFFEB5D3F345D
F6A5DD7FCA0CF5AF676C62F6174340AF7DA870B6D406359A7B294A818442472C
799EAE9D7D9C388F2A302459D30DA7D5470F8CCEDF9486B4F387C5F50DB4E409
C74A09BAF62217004C0DBB83E3E73E169BF945253F42DEA5F568E28463DF7328
9FF0CAB049BF700902B78AE3ACDABA17BA4B0DC6D547FFF45818D34B7EC699DD
290A420A9DB5567E5109FE8646CC874E057EB18AB1B298A5F67012C0D297F76F
26FFEFF0F02CF4D7E2E8A25E1D99E5207EC9C9BBA6AE7E6D198AF2ADCDC536D1
A784B82ADB0278740BBFEC9A8634AB35DE798A23699048CDD5058F0BA64E0D4F
906D8869054D22948931BDB65F4454567DA31B3B5E60C8201CBBD7F05339BCE3
999E22049BFD2660F750778FEE6D5294FA04D74B7AD092173C7EA8D77C44F6CE
F37D47B42CCD6623EF57806EB9D752C098FE656395A77B5DB10B910979B7ED1A
CA360887161F01EFE8DA8B7F6E6F08139977AF1959F6525A73D019714F5ED0E1
9349D5B3EC3A26FD8D7C3AEA1A6747003C24C5E23551816CE52EE19EB2EEB486
28DF30EC3988A852F002B1ECD24DD29F1B49D6F3223270AFBC25800DB1693656
203F52D11179DE90012149A324DE96E6096B6FF7D15BF3E5DC51D4E8B321E232
77E14621B21A103322A4ACFA7C4B76CFCE1F631B94AFFA67EB0C2BE1AF4D91F5
B9DAB5DBB40C79B54FE2C63D5DE4C59E92E7C976BC6A085E81A3C63C9CE9DF55
8D54219F1362EEBC67839B4293C2467827A9FE0B34353C4857D75EC231AD9ED8
659F3B608F3C8FEB8F94C5FC60D6F9E05752FBAD0DD4F6BC6AAE8462FA9F2F4B
F6CBC08120BE84C15BB337D33B20D6BFBE8093C08DFB59CBC2CE586B6216A81F
A34605C0657706309FA7D20B11E97AF4120F7DC50947CB8A11F9294CCEEBFA48
FABA56438EF8BA3E09CC74AB561CB299E444A3546E8F230FCA5CDD3420B65D0E
39770B4AB697A0238C51EB51083C4650E7546F5E7B6FEE147546E4D679EFF14A
A19622DD442741D296B470B9AD458E50EF4F8D3024B7ED91E65619EFD0A09621
83B4F482AC70945077C1C7543B76BBA4D4D131D3FF755DCB3839FCEA0FD950B7
394E68521F744344B2348EA92BCF46A232EA96D1F3374818E66D9CE066F30CD1
BD1F455F36FA1DF4D09D9A81A330B2037BA5DA8B3D511876B1C37BA3790B5C1E
D29072290C558FBF170CB6296E052313801BD9F45ED2226D11A46640A10D4F9D
8F2ADB5AA691CC3BFEAB8E0A658F03C42902DEA8244EB9F6DCABFF415E7DF538
60562788DD8017210DE0F830BF6E6082A6381AFAE03A7DAEE1A15D0BF16321F7
ECA7EF7ABA8813FF7DBA12B78034C64DAA2BE22A5905D8C27C1B705C9FAE55F6
D9599694E3688E6A2EAE40F585BC5568EB3BE264CE97DD016BC1C763B6C11638
70C159E839EDA20BA075D84762C9CE8232A32A6888A0ECCE7459309000735CE2
A4646D8E947A0ED36EE490BC472EED575D05D4882A0A104205D2CABDFDD77134
71ED6C39A01FB5FE23D3DE562BA399DC34F869FA8DFF1C781FDFE1B5E1C9E467
6333B433FA29679252D93DF71977CDBA50424F3E97D84CFB7F555A80B0705B2B
4C0ECB9747597A32D198552D7705EF4263818BF6FE9F4B2D7AE1A6BECDA40945
C7AB6E19BB324B2EBB38D003F49B01598111BADF7A03F4F006F1604072BF72F3
C2636D8CAA5D98EC25F7D9B3E0E3C99F4A79BE1F144BB11C7D8BA4E5726CEBF3
EEE5B37D234FBA35917D724BE0B4FF9E8C85DD923A486364FD44CF2259F0313F
8BE916E7370DFE34CC3CC6AD44460CAF739E24E5308FA568FBC08552B643EB18
D86EA125D4EE98AAAD884D2BAB1D5264D45346F81556FF310D5DA1BB667914C4
6272DFE61BF3BFA30341A21A6AF4681C4099CEBD51FBCB3C43F2E74AE7E262F0
38682D6C78B016A997E4FEF8959B05ABEEE29E00BD3F86DD98FA3210E1691080
374666B5A45BAB3A3C8E231DD5DA433CD5C1D5DC95378C9C6EB6AD10801C27A3
76A1EEE11A9D1E086DEADFECE2C039DA804BF4C647381F0A0F7FFA9B70568710
183B0436EA4AB0ED9A68D829C1DC77292512DA2711920831E96FF2D7DEDF7CF7
9E075702E1D9155ECE859AD5C28A10C3F1A5576ABB2196E562B588EA9681B9DF
378AFC9F47AC346E10ADE9508FCF5F208AB4063151349CAC48C6B1B1AA77AB24
358E29488FAE43C44CD4393453E1733925FC34E4A32B26E23AF0F9A73DA7C373
B1FFBF09D893E83B08675B4D2A05FD34999973796EE078DB227354822E55E3E9
7DA31FDA41AD4693B9219268DF50B81A75713A8D8202574E6141C27C56A2ABDF
AE040853FED550A96B86A1BF802597A987D15AFECC5DB29D13DBC0DB83605B5C
F4DCDCBC7FCA89FE7573491D94FDC06607DD8E3AFB4F37816B755131DA7A5F91
20AD2409A7BF06ABF0185A8ADF5570D85615113105C9F2DCECD48E5DC5E63D7A
B22275DD560B3F908C6800CEB8FE2CC90D7D0A474F5BA7F5547C570095AB1DF2
CF2CF8C0198B4DB8F63056BF3B22850DDC5AE22C06236DE26CAB01FBFB817060
CB3A0FA3F266571910D117A3203D28A18117B91244DD3AE911461FD73C9F78CB
C9BF436DB0B6A7B99F4D2574B397AF876BAE65B337BF7D882279BB1F61D71E11
3B2A773945AFA21E13C9F80D91656A01B1EE0E1BDB739C215BC2203D7AD28456
4FB7ACDE59ABB24DC49E9799ADD8F7B092002ECD40A9DB0C46CA4B74AA21BBAA
4C715DB3CADDA99F79A7CA1149F2D24FFB8705C60EE84F258F023412DC042F00
9893E3C2F10AFFFF9FC08143564FB7E99C885589F3A9BB4DBB2D3207F2C715C8
E3147793DB25BDCC2CED771A606CDE35B95B261AAB560BD6A6D7380CD09EF766
F069EC63E0C98AE637A8C3A6E3021F0488DE5D6D97971D82EBB3DD9FFDD4457E
FE1C9C9BF09602500EE7C45767A1E8126586045CDD11A397448961DD348A55E3
5FF7BD0B3D1DF585577B9115BBEF9510E64F47F2B6847F04E117FB59AE43C512
7EAC910998069FD61EC937DD2F58E4EE2F5B24A79623E8AA5C515DA73F6436BE
4E94772B0053E8C565961E9D767C506339867BBB18CB833FF42A8703D676FEEF
F7668BFC9468881A006C10436FADEE8EA4E6C5593CCACFFB740D0C6C31D6FE8C
77EB8DC51A69E671BD4562B815111E654279331D97F535A23E6B771D857251B0
563420B8F29F15C5AF357C73792BE4358667753A7A85E80A1D4FFDFA38ABE03C
E5D21F22E02522DA4D82F50BB743FDFA58E7A435D4D1047CD38F3703F3F20EE6
ADC9957EDCF47C852B7B030D0BDAFEA6863B1043C7DC2CE6EBBC62B8BBD26E32
32C79231B4F48575752865FEFD92400FEDFABD13248257C912C930FB26D440D7
CFD294F626C36421B0FCB03F2CDD880C66D0402DBF548C6A3F807F4DF4DCCD6D
272AF53B21899D8C5C0737929949753F012B8D07E21F043663928EF17DA51681
2066E48F5B1C9117F45F0010C512627A327F99493699264E6AB69ED86DAADA54
A100036B079CD4882262FE22BEC5BD9B701FB077FB970123E009D1065AF4266D
EFAA3B6FA0333E4803F81E6495D8FCF35A16532673F71B7EA505F05B569DD75E
0B3F39F5CFAD54AA5C80F8F082C312F952222AD409FC850DCA1ACC78B7992A78
939EA3A4B51DD2DFD10FC59F049619FCB40DB92A9D6B16E93093C994488F6F9B
EA42C3A835E0CB93F0C1534BC9C1F4E33EE345B4FF54CC4FCA7B641A8F155006
CE79BE0B6D0B8CB74170B6667B5949C6F9BA4CC90FF6BCD2322B351894035934
CAC8BAF06677832E40BF90313CFCC979E6B8581F6986F5D5A9529A5778F4927D
ACE747DA8705058D22F03697EBD239A4EA64D77519EEAB4A72E719545E3BFCB8
4317217726052E32239D2A34C0D6B29DCA53899B4C930B5B2034D0E6894F5110
9EF709BABB60B8C65616795F40C62B611CC0703B8E9F394A61B5EF1C14129357
261984E369EAB3CD2B58536E84333D9F80946BEE12F342F0650F2FB184DE6165
42BFE4432E3AAAE9341D8068FE446291F12524B2A1B8B5A4D60150C642B18C0C
0E5D74B2C4B508652729E342F27497D769ABE54E45EBB0D8A2E01F90393C6F59
8E4A6C278C755ED6633D9C8FAF5C30BF86DBBAB912FB22BA4F30912E8E9699AE
8CD0D3631AE3D192418939D959257CBE3B39404C0111AFE56C81F5932478CC4C
C0453C2D30956DA085457F43F079E94ECF6BC61914C63E240DB5CCDDEFCF3EF0
CBDCFE02344129A8DA0B9F986F6686DE8E52280401460019CABECEFEC7E8F98E
8AE135A5E05DFF8E62E75BFCC7EBAB8EC380C1FD1D48FECC229441C4CDE93B8E
60C96E6418A9D286DEE46D0D82AF9D2714FAE2A30A4D9B9D2E5B34D5368B39EE
266B2CE395CB637EF2676610E303E83A0CBB53FB71D5FE08633FE3207970A864
48F03997798A209D930B8A92338D177CD0C3FC7520FBB7FFC4E776009AFF4D0D
9FCED078981ECBBFC8B0911F830DABEBDABC30A42C9E60FD5DD4672AF1048621
8E3D98F92A6156D31B4A7079FBF1639BE20B24D1439007C200519E3A870BF5BF
98C2A9962BA8449FC5E48B9677EBBC4CDF8070BB6BFFC4FE1A6635DC735F4801
DC0176C98495B2AD37791ADA6C1FB8264CE0D27BA13BA315D08DA1213CCC6748
E9673881C4183F20A8B97FE13ED651351E5D2424386962F578205C1F7653AC26
D83239B66A9C567CF1606CBA9CE574320107794F9229ACC234987FAC848FBC49
4D1253649515BA36B93A1A09FBBA2849F20A4F5C6F8AC8B4EA054219D21D3849
DC6D1E148BB0D1E83AD1FAF3BEC996E016C32BEBAA421A94FE0E64D4E2239E42
5CC7AA4590643357472F59DE1D25276F4E8A6DF2DC832AECAED359D2EE0DA6C9
AB1EA510DD4656656EB736D8B1AEE07197BCADF408222559E39409D334A2BE2A
81B7E652C20CE6435A11B9C03ED0CFD3F9EC893F74FC4899E2359D4D2723E0F0
89595D06DEAE8E448E268ABCCDB833CCA7BA37E2FA9E2A827CD381EBB2F5BC7B
03718C4A68DEC9F9542E2A1181FD444A1E564462FB492F10F290CEB56386B141
F581E2BCDFD93A47EBC7D6763648030CA866EF24DABF14BFE929E70B4B38B605
22F9C0B7724371EAA474B380FA5CC0DA0410FF931BD9CFCC6F7CA04EF1A3CCBF
B86F1D1EC3FC26CB85E3F07B0E833828922D03A347267805D279ACF38943ADD5
7390121B316BA0F20654FF0643E241F78BD48AAC1A4E511514EF1D63BAEFCE12
C78FC9335044190E899B70781CC02FEB37262C76DC73B30CD60699CF8AD070F3
C3409DD6242709E18A452AD935ED9DA19F3FDB7F5F2009115D2BA0FAD270D183
5814B26902689058081D48DD84BB2B9B3D76099EE6856CFC9556BB88566A3F7C
09A2D66F5BBC5A3120FB7804E958F29452A26EFFBDD0D774614FEBF45136710B
CDA86D589241D213BC7B27B440C7D60901BA9EF08DC84421BAB0874686E13D33
2805DD8836DEEDF7C9995320B9F22091D30A1A176B516C71B67A92CF365E31DC
AE54B695714E16F85D16C80189B5A8EBA8169419077742AA0A150078A5A9E902
875CD4E59AC0CC9FC1AEDEC76D007FC53EBF36D746153960272A0998EA05AE4E
447B609AB48451DA178661D7B4F6C40F5B2D40D0C7D08EA9BB55D82FF6C26196
9EED42B13F570453E30F282C1FFE8E9F0231959682A39B8EDB3DBE83BED1714C
862E92C0A1B5F96538B8C14F06BF040B387274A27EF0561DA0B16CED92E602D7
C221F55542EB8E712A48861E64830260D1251C28B124425D37C1BDF671DBFE45
89DDE5CD60D9E592B5173C210699B12F449CFFD9FC2721894094B5143A58BA84
3C45A4CBD1BBF9782755A91C3B006DF983A543005BB8BB89FD72453A4DF16E92
F9D2C6399F401360D475C44DEBCC18F61E8429ED28178DD8BE8F74014A4DF429
4F149489773120F53DEA4CF78849B4025057677B47D82B8130D2583B51E576FB
1D3D5C7A90B820D6782AE44DB08D1609C9415686FEBFBE4D0882C03DEB5F4899
AE0F205F2F31F96FD55FB7AA3B384A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMB10
%!PS-AdobeFont-1.1: CMB10 1.0
%%CreationDate: 1991 Aug 20 16:34:36
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMB10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMB10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
dup 108 /l put
readonly def
/FontBBox{-62 -250 1011 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542
A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A
99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D
2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563
C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A
00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56
B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F
BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90
8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362
FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC
31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831
2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41
9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB92164865738B015A331
EA9EFDD478132047DAC28DD4FFE419F94CF5FCDE732E53FD332ADBED32F76B2E
69531BCE0D461BA3F41A528DB0CCEFF9663FEB3EC9CE0F760604F835699D7C08
CADBF7AA3DCCE9E813D66BC62C6E452FA02FE7E5F4FAAA527B4567AA4FACE790
87910AC2498C0999866614C90AF7DFD65A59B9183FD8AC5DB9AA81E8E8477F07
3501D4BFCCBFE32C964D3549B42070D43977640A289060AC0BDF951B78ACDE58
D95548DE8DE75EA7A6F5922BB463FAA93487253414EF4233C8BB976B280E1A92
A77D2D907599AC9302D1143597D4CD494045A0261DB9245A613EE31DF8994568
F7D0FB24D761F5B4E8A96B5AB339418462C29EC1DE163980AAE4B6190A1AA91A
D935859055FF59BDC9365F825C409B52530DB59A099FDE62E716090B6B14D2D7
28662E609B24D00FDD9F092F15D94C0726B1D3610F20A7C658F19D26DC8B53D6
8DD06EA7E45A8150DCD2DB3AEDD9239A029FD6B5344B0FF779CFE958A5889AB6
E941B9BF0464CB0FF3247F17290F82825313C171AAB70BB80D21EDCB7628B5D1
8266B3E93852BBFCE9CA6D38170F6CE57219A301EE8B989D66852EB7A48A8177
96722414CF3B147E046617BA46F6F1439F90B6B3812D61619904CAA0B7CDAF29
D6868D7F8346CF4164DB12015292BFBCE474B05BF886430411E8E937B6F09D74
42A2C0EB14BFC76003DFF172AC44D730214DEE512BF257C8688FBED139C01604
2C34B2E4C33219B9
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSLTT10
%!PS-AdobeFont-1.1: CMSLTT10 1.0
%%CreationDate: 1991 Aug 20 16:41:43
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSLTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch true def
end readonly def
/FontName /CMSLTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 39 /quoteright put
dup 45 /hyphen put
dup 46 /period put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 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
/FontBBox{-20 -233 617 696}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8
0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB
4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840
8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079
8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4
B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F
ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858
C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F
EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F
2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60
4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370
52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D
38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA
00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0
B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D
CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF
B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F
802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE
32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8
00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96
8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B
3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D
CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC
A2393AE6935C0F8B67FC1D1A1359BE7E7BAF694B91B61BEC6DE6C64356746771
0CFF188ECA9A543A49A39A046F96E819B541E5208755E19B080CB0FD9B42B72D
855FBEBFF32292D435852A14BB713396782BA940E05F38593D288F107CC0BF82
14A204A7CD65F00AB44D48036E58F687DC2BF6584C410AD4A58F5A7CA173FD74
244C7313B0268589293A261CC08460EE65079539F5E68D4ADA3BED2AB983A354
3D653F25D0452DF9C3519A0FC8CF71AF81BFFB48CBBC8B04AA3F9B3A60D933A0
40299CB46697044F849FBD7847BBA0F7D5CED705C8E4D74B83671F05E5098857
E87FBAE522995960B125E2B91D1A565DC09646FD83955162C3A583467C792D2E
C98B830FAF360BDFC63AC345EC6F1A79006953121CFA26BA7B164A1125BAE4F1
2C2EDECDABDECC2F8D94B6F1DA48E3D1C4B1D914E14DC08AD7E67BDFBE327092
2B48B134784FDB084B654398A1037BD95483F8873FAE68C9F31CA1F90284ED16
951B2AF75CC16F2597E0A72397554CD53CA9541B09B2DC1A45C6FF503E3528E0
22D2C1AD257C5E564FC4F4F39236FE6AF9F1421BCAC7C2790B2A855CB7669D42
752639F74EBFCF234E570EBC7F2858144D17CF17D6A16950BC6919C73CD4AB11
E948284006DFE50A754DE8217B23D9FBEC052236F8486448A6D3F9D03B0FC959
56471B443DDDFDC012BB881C15AA0F03A34225364CDEF2FFC5BD9452B3179174
90FC3114D948E15FEC13B03D08D15ED8DD4F99A97237B46EEE8BC7428FE2F3E3
1737E6D8DBDA770EDBC95C27317191CD77DD1961126D917125BBFF006F7B96CF
E84E90D56EA4AB1A0323FAB001E835A90DC5349CBE9AC0FB5FE253DF6ACA2571
EECFDC1256C947C29455937094F5839D5665EBC1F0DB67FBFADC836A09A82FAA
B38C9854BED9DEA3B4A1118A382B2DC930D896716D9E1075476CD91E6FE77940
4EE4A8F2B77E8465E0267D0FD471667CD258DA593CA7C6C478D178F27848815D
1E2F429ECE1015C3805B9BB5A94D288D5169D2DA94016B71B5276FC32B336576
F7CD75D2B87107F7B50C5A328FA139D42359C3AC6627E689C02161A8FA5718AF
EB2D49598D96C64A963C1DC630B1B1038E7AFD48DBAFAE5E0C185D312BFEDDC9
96D8C394D73CA89E7C26DE76147F46FA239EC275F1F4E17278F7F8C3846032C7
FE805D50242EBE4B4D60209C414A1FB50489D532E1937CCED646DFA4A8965C04
4F2B5DDDED79977D93B8BC10F89E22674947E1DCD565E0F71EA150F5525A228F
523770127908408EA2825D9FD41B6FE442B1BE570EECEF2539A10D07E6A0FA1C
9ED9054606FB92312C353DEB64F9F99C52C7541A4284BEC6B04D8BCB19BE7D47
B386B2CBC7E2726B7906DF2B9C60BD0EDF02F7BBDBBFC77A6E923B2627AA48EA
D25F60AFD1DAE1EAC5BE8A5BB9E9F8A6A71869B75E5C09C43D7C7A42B3E48351
72704E1C990989D63839643504DEB3AB1C65EBA7F034926D26AEFE92AA8CEEE2
D1C535BEEB93F5E671281F6C20435B4A873B4CD9FC8DDA212A289ABB97932DE5
C12B848AC1B0FBE149D0AA9C5A0FEBAF15248D56AE6CD7E306BFE9C21876159E
5ADF792D6335A5BD308692C674167E08A02FEE67090D58BB2B2D9EC6FD598DFF
DFB6CF6B78F8E1C8D4215CB33AAD5E897C75A7C8FE63ECC17EF941B33766AB2D
2C295DDABC784851BE6FCE8EB6E8DC24B332CF836D2AB3888B85E1DEE331060C
D7D3677489ACEE8D77F64D9A833AADECA12191611163BBE545A4C75E4CB1BED9
95F2C06560FF628CAD961838DF4B03739E1C946F9E5F369FC86CCBA63DD638AB
67AD4A40EB009700C2FD6CED16BACC301F27C12B797F480E73ADA18855876816
DD85E5E2AD2C5BC9CB59E7F26DAAFC5848BBE7E40CD9E334E97F80A7461CAE07
6E92B97CA810486F696F2C8BA8912D19F2C0D434011F66554B7599517A2FBD7E
F442B85BC639C49614363A126A498365435C4398CA0151DF8EF87A81F5282EB3
EDDC5C39F2BDEAE08555113F9B4C61A4A7DD1BF8BAB286AB2E971DBC265A6A0A
931CB6219FFB8C04E8208225E3D686315EAF39F674B63C661B23EC073E82605F
1FFC94BCDA637C86574319C41CDDF97768BA23954406741B9134FBA45155F390
B18215B80BF01BE86C325E612D50DF2F0879A2DC24FE71C9BEB77C42A67361B0
D9DD197A80D16EDE3AECFD703D1257F9433EB845C9E7AD81AED36D534495EDC9
D68C856231BD7DA9010A0E6AEF18B11C0B392A4440A8F56FC28397C1A073B618
B0AA06543507258A3C63C24BF4E1BA06BD3F8C3930269EFC2CC42BB4BEF7E363
78979A2B8456784550F744513D8BDEA6A946A3F4FE5E48C6766A2DBFE4BAF29F
97231EED7F9D916B4545091E974CF0129AAAF6B285F81CEE555D5ACFB8FCA47D
235BE102E9305D4D0290651BBB4037887E1AD6E08C01D13C182109DBF68AD805
C67C792D7D3A9C099FE4419B70F6D932F325EFBE94931D5D28C79402A1C6837F
DC6E1811168038A342BD5B4F5371C9783D0B74940633D7B7B8F8B8C32BF5C71F
A06112A87225B4270ACCF383AACBC983DA29281C395D7F2342696D35197D4CC6
661DB9FAC95FD9EB4C77F5F83159604185AB162347DAC0EE51E65C8C5098F7B3
3E8754211B44EE1C16DF2B59923CB8FF64283B5C01106A978EE3C09AD5AFDD64
A881049FF8B17FCEA0B0CDD92A9B366617167AFB6D18FB19DF70BBB6DF205536
5C1D58F8459FB03319F3B5F4D43DDA15C8323B57CB2D5686BA1A4421625F47D2
006F73993BDFF70C7FA63C0C3B3B038AA907711A2958116895E75C0C99ABD2E1
F02AB43861FB0AF5E493471102BA57BA6E3995996696107D1537F9B92F5B0767
0C3A5E374D3B34D7A67AF8AA012E9BD904033EE95FFD412C14EBD51FEE69009D
EB8F4194E21C596F529243F6A31F1A5631C42990D6249D1EB330033ABBA40405
2CE62AB60FB1AB122E9A40FCA88D97410DAFB017153D37EC4AE4AF13701752EC
387EA20846202187C1F4F853B6D4B6179E7D0BB9C0E208845E975D26DF1C2B7C
7EBE4B2DA5ABAD95BCDB294E50B42FC032D8D973626ADD10142D69B4DABE2C89
DB817C2C1AF9EFC62DD501A9C91AE35EAFEC12CBF66DB9318DFFCE7EC3C9246B
569A2DE8A523BB6337D9828EBC0E639179C94E067835F6D345731FD98483DFD2
549CF02C77E1C4262860DA5F182E248850A90F5C23E2BEE1F6321482F040E2A6
8B83C7B2502702648694335B177504E757553050DB684A254C924A5C9B8D20B6
10CB6D8D7D495E473C09E271E8A315D7E3829A429B085C803BD6EB1BE5F1D210
C044B15F104EEA05CD5D90078BDD975A8EADDA67721895774C477A8913B4E97A
34939CEE30608A842313D30BFB9FB4846EB87A939C84C2BA314EC87AA8655183
F5F42F7489E067FF643F159384EECD7B679C6F34F8AB537E11D39E5D897AA913
6037E8DDF13094E0A9EAA04AC7D70F9684E36813BCF872C39C0DBA7B0AB54870
9D1F991B684B058662CA8C8A7D57F38ABD15CC50C71BECE67F014BEC61FC5809
407EBBA0263BBC1C7C1642DA4E76029BDC9D8BA94F527A11BE9AFF27A87B91C9
7E1C0850166433609BCEEE28EA85DA21E1F5E312B5992CF94452946B525EBEA9
658D1F1CF8E0CB6A36C6446F70C4EEA466CF85CA50B051A73998CE1E9E1E308E
36B04F3D129BD618BD671C52E8CE6C8EA7CA47C68D9864107413B6E8D0113BF5
6A076BBCA316114C7E3C0EFF2BBE5348A80D09C4F8BA51BD544BB23F554511C0
9ECF91F8C6BB507003AB73C536DA96FD4BB21A1E0D23DC3E754D9AE220A88944
A70B01A8E4565C4E8FBB9FD6AC5BDA3BD91F896CB8CE67BED7182ADCEAFF58A1
8441452D10A158832F40BE2214197EB41DE2F0ED9E407A0A0011ADFA806B88EF
B3991ABBDCE871996F0B17D61A0C76C6E9BA926ABF8BD3752DA7D757B84C1845
D864C5C6BD8FDAF3740CEA2D0300D53605C9861D4D86C188FBA84F1281C4DB96
E22D31A7E218AD251111010B0DD4EE7B32745542DC1D4FFA6543CEBA105A63FC
59F8DE4578B263901E38787E0F4F197F1BF90EFD29684AC0965B66357C1F778D
60CE61BECCC65BBC134D6A77EAD3E498C3B8639B7A4D95B08353104112107862
85CAB073714A7211F36E2923411442210A3F063340CFEA003D6F85A0C11B5469
581BE31AB60EA5247D3E5739393058710F0DDA36CF53256110AB08F5B422A291
4C402CE894FE9EDB5BC468F379CF47258518A01D28ED3E3941768124F5C71A2A
AD7AA8BEC0D8358EE389CE8EA9AB646D4B9D55E588879AA8566C6723BF43AFCC
0045CB2075EFA3C33B9D2838D6D0E99F3A1C0068231D585B4CC7E81D44F5D04A
2CBDEA50F302603C1E5C67D5570DAFF1D2DC87D5D85C977085FB505E48CB425E
35EEC9E447ED6AC61B28CE95F33ED271D2BF80067D4DD723F8B719AE06CDB75F
68844045767BB1C7356974099CAB81522DAEF863ECF0F0FD272C7826E66BCD41
2234F07E08E0B0FF5499D0BF2F7277EF2FF8C2BD85C5BABC56B7AB26823F7C4B
D0E53B0DF1755FCDE48804EBA05DB62AB79705B3B2C53C981855C6094D304878
F6284149A86DB115741C7E6C5CD1D8A0BF4A0BB1BF316A8E0928B9656F0B6733
59F2516A1F70AF77722D8F4AB51A77C19CD627A7B784C9C24914DCFCCFC64176
7576B4DC562906781880F6C1560E62584C781C998DA2D127DC5003E8D1DFF54E
541B4AC0B7EE8CCC0C9489BF39B03556B97831028C842E9F20B3510766D8432E
6BCE9C543E887E9D9A6C092887A443C677FE7E900BE4B1313996B4062304ACE2
ED7B88B8861154A0C216F7EC643C7226414B39E4E6929BB826E02D8CCEF08B80
006ED1FC42D95E24D9B031915D350885B3E5AB465FE01232D2F27C4A3FC92D46
DF76B2B123D29DDFE79ED5E0EECD1D22C830FF9BC789BBCAADA52BABD7B66C10
A658251EA32AE3AE94F98315461A29BB044AD943D7432CBF48F725B1B88A5501
431F2E748ED9DB9D13FEE67ECF01848424FA21B8FE8BA16577672545D175B37B
EC018BBFC6CCE8C4FB88CFB8D7FA37FF627F32D426A574F58DBCBA705A7798DD
AB6704393E10362110FCED17EEA2DCCDF84C5B449D689E74E7AD7D98618E29FF
3509A62E807669BF1F7F95FED4B1AA76026D656E215D084C7ABAA01E420EF290
D4ACCBEF1881E199529966845F3182B6233749B0CEC2F7B391783BDBD36E4202
6A274DE4B2FE4A4BFC9814FD6DA28E9336D01DCDCD574DDFD55E2E444D283128
D3AB410158380922B04355D6A602C9C90485C0E85BDF27323BF4564FAE8CDFED
5B3AB5829B57A7829B86224096D5F5463486AC860C86C1F2F7DB3B6C94A5652C
FAD0F54ED6EB58255695FE737A235D38632D78F456CFF89FEBD32C37B5B6A5F5
16FDAB471003158BA994B284051A7F597B42D10EC6236947C5B54E4D7FC7B011
3940AFE4F4CAB864A07A8962F5508B7C2BFEF24E89F38759C1A024858C44FF0A
A4D4223A416FFFE7B852221936701DD392DDCE8A1F2A39D432A1346B20C5A8C5
AA6052F7C99549EDD81ABE45BC03CBC6F3BA94CE9682F3923EFC7D564E3E16FA
A765B61A0CACDA6D0DBB26EE38F16670BD31F3221FBF040767CF6D5686971E1C
ACD791939837A0917804CB320195E99322FD79A03CFFF2EB313B9ED7747B55A7
E8992B0AAABB424BF295C185D4DAA77AF41D0D7D0BEB29BFA5629B67C1C48174
DC2280AD1E80ED5E429263E9CD6292219AD5B4117166FCC60E675172C335150C
B35DBF4FFDD7EDF7B646C8E1E8BC00255664A2548802B4D33A5C26790658E4E9
6F3F75A64A48C26F90F7166B48D3FEA6CE661AEAA28D3EBA7611C9676411B1BA
F49EB8E02E41FD3F9B69C76C843DE849696EFEBF9E980741A6C05EB7645F1946
1FE7B49DBEF2B29F808D99BFBDA0E85089CBA26F5343E7ED1023830F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSS10
%!PS-AdobeFont-1.1: CMSS10 1.0
%%CreationDate: 1991 Aug 20 17:33:34
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSS10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMSS10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 40 /parenleft put
dup 41 /parenright put
readonly def
/FontBBox{-61 -250 999 759}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9
D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858
D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723
3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6
0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348
44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8
46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13
6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5
6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3
16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4
1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED
286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872
A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477
713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C
3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE
3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5
034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185
9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A
12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA
901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68
64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5
A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0
1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9
342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007
6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F
107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5
C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102
65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D
F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B
A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6
44748E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 34 /quotedbl put
dup 35 /numbersign put
dup 36 /dollar put
dup 37 /percent put
dup 38 /ampersand put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
dup 64 /at put
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 75 /K put
dup 76 /L put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 87 /W put
dup 90 /Z put
dup 92 /backslash put
dup 95 /underscore put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /braceleft put
dup 125 /braceright put
dup 126 /asciitilde put
readonly def
/FontBBox{-4 -235 731 800}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA
726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227
CEBEF0C9440DC034DAD9C19FB27DB399BDAEE22053591D6538587C768C1B7B0B
7D1E222D2D8AF3A6473CC4C0D6C3E0DB49068CEB8C9BD1C5CD486A50DAA10BC7
7D6286142355E3F21DD254E27C00C442728A0BAEC9D3F17AE9CE320D365152E9
EB0D5E3874F2BCEDA98521D23FCFC30B4B69DAD2ADBE80E5964ED0ABEF6C73B6
DAD30E2C5061E3747FE536E1A5D190D028F2130AF608F5DDF9DDDF1E77DC8437
ECB3EC93B33505DF47884DDBD1DC6BBE4098DF04A29AF6FA3AE344600D0AAB53
B3820DD7ECB600A3B8001C51AF2CA7A39AE1485A0FCD5D16F0657F61E9655AA1
B8326F1813FEB669F4E88D7C1F3AC239ABDCD32171C7377F7EBD25E7B38A2A2D
CC6F434D57D1F1E4A22F381E957EC31E2211714A3A438A26AD3CB48F0463CD4D
3C0B6E5655214FF177BCEDE954490428D1ABF0CE50C21797E455D0C97803A32F
DDBA51C36537C0B104011AF144043D0FEE36BBF1959020769522A015B3A4F77C
D4AC56294BB989CFE5BE6EDA938B4850D347DB0724353AF84B14EC964B9BCD59
1D8BD34EE86C37A97CAD9DE966B6612C23069B547004CD96B116E4F72E75AE37
D506D9FADD61696418EAE950995A0A401135AEAD81CAFC6035C51C38E7ABE815
CA5D91B363F99E41F567FCEF760C57EABB51EEEC484AB72ABC7E6D2370999714
1E5B9B8292424474931AA278F716A9314EC34E7468432DEC2EF2F54639BBAABB
ED7216DAA183A57CE0906AE4FCFD17D58C24D5FCD2A2DFAA6BF09C0206CD22E9
C690E58F9ED3E42F4171197F2A5436A906955B6859FC02527328EB346414A822
A022439DD30559870FD88BA50555F481DCA6D4FDD3A0086577262F9D73970E63
E51F78D2372D0EEB83478AD15F449FD9F2A740F61BAFF20CB34950ECBA703C18
188F61C71220FE9D6EF6AE399AF0A0DBD5145F0FAEBC437AB87E300E3F30DC68
5C9F034A31E1B2208A0B9EC2ED38FAE85644B1EEF3318B83B65DB758A8F534C4
587F975B83727DDE95D037DCF497CFCB87A8B0CEF46466826F3AF1C20B6248FB
B41FAFE73DDAAC1F28D9DF2B4B96283DB5AFB0B4BF4BC77963CFBC4030DEB130
9E95F6085A809C1C55CA7528CB18AE5659B97CE789191095ACEBE4DE36E77BAE
62868382DA764B7E37E26D998B0F1B11E702A222867ADB96A95D2D0B48013158
CB5B61831BB5360220322B06B40E83B547BC3422AB94BD154B5989A564B0C242
28C6BB5A72D2E81F0265B42FF6E9C80D2FFEA7262ABD942B5DFA28026C213ED8
F7188BF6A9697EBE10738FDA63DB75B9D359678278B0A9347C56B1874FCA6BBF
336684C315493454C21A113A8536694D3788080E17745964EF9AB781BFE4E300
DC9FFA8593ECC54626085F0CF4C29A58F0CB4CB3FBB253334A1CE99B1005D474
321A9FCAF141FCF33C8A703714F4AE0D13CC2E3AFE4EE2899664CA159B7FB652
157A0A1B9FB4DAED19CD969AA216961A83322BB5C721A0D3045BA51ABFC42A5B
562312C71A1194869785E52B95F4FB6E05551172CA5723A225D247F94B70ABC0
E36EC104DF35EC9D3B828711D1C504E3985B66151A53436F7F2D34A1BA5390C2
249DE9E1C1774FAF61D33F9C93ED13A7C39F4FE175A5855507D4E5BD34293E4C
0B2DF8716BE8B2471D22E1223F2886EFBCCEF6307A5B89F4DFF342EF03661732
F50E63310BCB76DD35990B51C879333AEF0A866B620B28F1DEF079A303BC81C7
980D145314ABD0E7D86843AFB41C2506071A845FE3AB31FE4A6799377A1CCC04
418E44564114157401C86633E565D28CE20708934612092F35D711150E57062B
778F00F9F767B12EBDAE7C18565D7C58580DAF4712A191341FE9421E50900CCE
88C29297090319473CFAA9C1C6F0E35D7FC6CF9F10F44AEBBF800DAB64302F72
5759BC755BF27BC7FB6F02082A0541C7033BDFC30D8D42B80EA15419957895A7
65CD33EB1CA613B9A8FF77EF032B58AD8EF314238C7FE95F1B679AB74326E651
C068F3CA9D2F203AD8D9BB78328D79DE98F511E74F1E414086FE9E226688791E
B7560E6875B5071D3933E1359AE9C9B5651AE3E3E146EC413DF143208ACBA46F
3286BE9BF866F762B9BAB698501FEF48FA9A446DE48509625E452E28A5C3D479
637B8822F08996105488333826117B10FE03148E63E5449D443F312F1FA75F59
205E581C337E4FC0873DEBC65DE03068173FD29DC102E2BAAF151AAF0133F98F
830B0E94CE4E88038920CB2BDC3A62BA1017FC5C2E9A018C4174DFF94A82ED65
1B753E8346315320078D179199F7F3E1BD405D1D7016634157A905FCEB1DE060
A2B191893D00B070533DC64C6867C36DA6098C236F72C0658A1236DF8CA8792F
3728EB1007F2E7BDFDB4181DD0BA60B400CA843F03DD7A13AA207ED3EF09829E
0BD28A2719C9B02946487C3F2AE4FD533D1997170D4A2DA1CFAD5842621A7D1D
E90764878E5FBF38480E31E46E93B04D43E4B7C999B074E2E81A1A033DF6C055
DCAAFDF409CA61BEE8C73B0B1772022469D3092F0FB36C72B0F72E0DF211980F
5699E5C49C931A3DFAE2EE88F8B2AAD459765E717440A516CDAB76A9DF252DE2
A2DEEB02D6E33484C674FC96957D485E66FD625E5039F0C3403B29AF9C64DD61
645010C7C2B9A6CE8ACAFDEE5DD8AE20265FE8D7C8FED619AABB8B038B6F165B
4E104723948C65CBB0BF5263954A297A53C6ABF631830F9136104CB0AC30FA7A
DB482BAA1100EE9A61C1F8D6522862F80739DC8A32BC913A0BA6656A377A1A27
F96993C0AA6381A1AC741F3964239CB8DBE83937DDD1F19B5724A444F3CE569F
DFF25DF2C3AAE4B7E05C8B8A57417F21DCD326E230A723C17ED0D368EB6884AA
279F775C902D075EC47C80549C4F92E2227B120F901A5024C51CD3221C21DC03
D6B380DE7150CF00EEEBDC9E9DA24755B6EBB322DF923807A6864ACFA24A4690
93E6A9DF113303DD59993CC57452D2DBD33C20B12AAF506EED17A40D986F6F64
6F0241AA13009825827BBD20D860ADFA572C82B92DAC8C34CF8A730EFFEE9D4C
A20F8DA47FAA3D317A31B5AC22B1D70CA6228B13783524D6D691EA04BE00C5CB
18E3785BE3521DC4651270FBFB28DB2B11EB3A339B308A8FDB54DA6A83AE6545
D672C8D3E706B46F71153991807E88F3292F01A7E1B6999A45492189E2251F5D
FFFA554257E2388CF8F286E80F22275B743CDC9E886E4D881EA445A5002730AF
BA5AE30A3AA5F08C28EB2A87FB1882DC649D9FF31B80680F8324C4F9F8ABEC87
24411FC65DF5214F02CA47560F970DECEF3383EC36F4CFF7E2656EBDDCD824E4
F55140BEF34F501820476B5A52A93A6DC2E6C5BCBC3FF23A9697C447E7C37199
AFF2BD00D8E89A3B2D48E9B8637E35A89EAE4B168B4A4980030CD3A86F66D425
B22AB1B57912CD32B5DB582D1331ABB2CD414285A7924535DB49BC23EA3CAB29
2BA13CBED6030F7B5832351374DF51571CA2FECBE5A1350D3066B71E6D01D499
133D0B554A6427756935877FB01ACA4FF74B937F39AF455CFB68B7E839BF4B7A
B2C81A989C299677EC5357B8DBA8D4D40599B4FB5FB5A6D088B26261DF6A476A
BACB78C7BDA294D6D41B74DAA6C03ABFA6C8D26CBAEAB428633CBB8532DC4659
4BF4B97B4591920D029E36C5410AED024950D093049A988DF9C196879171BBF6
FD711F98502C975AC26C7BBCDF239D69E71A8C642DDD96114DF03DD473BE5E76
AFD77445F4C1F7A432B85C741982CB82E5096C61C4243269B6A3618EAB43BEDC
31C38F15F09D85EE1BAC19C2DBB5BC03C8FFB21065EEEA0737A2E0B92450DC58
707B5576BCE4E89689C5AF2DCE7FB3DC4D2B592AE161159FEF9F211228089861
31C18036B63B11EC60545D482A43AEB754509097C3082687D430DEAB90D117C7
0BDC910CAD0D70B6878EC6A10DDD6E38EB4516D8403C382D4C41223CA7B43FA6
08D278D1DEB314CB03C2CD37FEAFB7B551E76255B69E8D2211DF32B233983B9D
E81E5A484DCFA8E36ECC4442102C2E13CFDD7ACC518C144FA06B44893A6B5B00
5E1525B5FFC203A8FC62F11694700E2A4A2A229C0B44BF5FFC7E7E566AF8B055
C096B8FAC47D09D857AD239AD6A0E10E36011EE11EA7191FA593E59F95180923
280E8BB7CD0CDE4707649C0A08B22014266A5532DA92A84A83449D3C31DB030B
F543F95780E69CD74E4EF523705495F48B903E85DA098DBC3FB850CD059F71ED
6AE0DC9D17180B7DEFAC1E1281EBD468A4A8F654CF2FB5E23572CC195FE14D83
8777A436297D3FEDBCD7BC627D223FD586D3491FFE3592D3E802768510DD3A7F
A422E75835D83D10874E9F4B1D7DBBBA0AF639492366B56770A635A7C25202C4
569B75C7293545C46E7B371D8FE7B22AF4B1ED670067BD59FBE74F7283E3E56E
D455003DD54BD626CD77F806627F2518E08745F7FB5605A7152EE0F08390AF33
47821BE929E621CE3DB5CA7244462D83F674BCF47C87591202C389D427B37A1E
36E1ED9EA23E24A086812F239938BE4C19D4150BAF6A9F04BE819D5F404ABF91
519CB7D81C81E2D624ABA46D40C531FFE4219D0D631A0D375757F95D96327216
F8F795674532AA64D8B32020F8FBD5F092E6785A669B9D5923C08A8F900BAF1F
56E90553705F35D12188F1104FCB390FC29ABED2E0FC9B731C4ED40946C544CD
E26AFE5DEB68912A5B532C8756640AC31087E7D4D64139898D2E6F69596DE462
91E664EC93C9A5C22774AC592F8BAFA074558604D54484D9FECE8CEFC67CA421
49227640944C67371F12ECD524FF392A71826494059657CAF454FC870F5387C0
3188725BC7F25DE5383B49669AA4339CB0021788922FE0C65C7374D3D2F2A1E8
400D59551C6BF5F603DA2396FB199656D58304EC8AA7C9AAD8F056AFFDD2C453
7245001DB1CF6550816E6BBF32CB30E01B15E299A35D55D079E10BF2AC459E14
1D9DE4DE1643DED4C142B81AA48E28BB11BF478860101A4A4067BD5AF109B9CF
90CE0370184792EDFF55BC58A95EEB80AE685FDD80DF1727D141232ACB248697
225658511123C3CB048CDBE11E1C6E7CE2A5AA350D29F9EBFAA3913C045A55DD
F64BEE7FED3CA1C5EC310E50E8522F3C1E4FAB3EBEB73B66A57C3CFBEE29FA99
5EA2EC693D0D0E4B3BBB7456FA27793A65CD19A04437C582CBFC7001E2917501
C62E2742A24CEDBDF9D305BB9C963D500A330464C346880632D6F5BE93DCEDD1
AC943CC68D0836DCCD345F786825A522C2AB7C296CF72C8DB96C1A16F8B0C621
48F546EBC38A5B3F125FF8DCCE82FBE331672E40781F44765D6BEB98BC5F56EF
365A217C72728A96ED69D0C80BE128941357C1E9149A0FD5A3023054F12C9CAB
A087BB08CB9FA6842B4C7721DE3A9C199AAD120DAF05E388D8B7A73800146B08
9B0ED26E7335AAD093FBB191716E877F78A12E971D17AC3EC33B8A66B18F7959
D7AC7757A06AB638AFF519DBDD13A35373B3F6702FEB07AEA752C31AA23E6E94
ADC876DF120FA5F1C359E94B5C090C3E865FF59CA439573A5AA49F0EBA152FE7
595EEBBDE95968EA675903DF8FDE3964FC26F46FA5DD206E486151BFE3AC88A4
AD6D5EFB678E6D8A8BBCDE2648F812DA3BDD7FCE3112A091C66075A360FB8BA7
D59207FAE2D599030BB4C21F5246E69A7D2EE02365FBE9D0CD1BC02839681F50
9B2E222A117C99F26F271F3E416583FC8BD968419EC92CD7C4FCA2B00D31BE83
F81A69D97764CE9E5628B82CE4C2F071344C363C2DCDAF071D83BEA3F76C72A8
243DDAEF2DAD4E483A9313938B8148179EB0E8550B038DD746F868A6A5990BC6
B87BE72A4D814A74CE993CF39120F18615A71EBE5433B3BB36B6F8237CCCDE40
65E8D9300BA9E587B37E201570F08FA9E2721B843682C4475AD4F21960CDF6C3
2A75BF94B7CF2ED1DA55C3102178E12C19E996B6295A375C8EE43AE06A92EC8A
1332AA683BC4C482A116961B151F17FD79D9A5DCE58DFAA03F8EDBAB45501F12
C4211851344ADE9D1EFA5A2A207A7240F8C908A46F64291006523244E58D359E
827AE19723DBA28D81BE6BC801CEA57EA324F2221EFA51CD299207E7B387B6D7
B66C036874A673EF5243AB21A02BE1A393B1FE4955E264CD967ABD1B487F79BF
2B387A2B47C16938BD3B77D8A43F6429F492A44426FC16E84D845C093B60D2FF
D0A79A46D01C22CA62BB7E09C24F1AF8D56AA6A11AF916905817C052339CCC40
48286A871FB787C7DDC1D9AF7AE66B8E7667B289A4CCA798352391ADB9708201
E251F9DF6CB4733295E53CE5EC5EEC41CBC550C7BCBA80A2BCCA1077910EB375
5442F341653133493DA8FEAC695135355AFD2E64E60D175AF7C9DCD309F09C13
8B3304D30CD5D7C4104459C20D81E2E69EAE8A2EA9E4E37420F3197DBE6DB0AD
398D5426847CCD123B598D1CD01F84C148040D41EAA7D6589206D9B84CB533A0
155587C14FA4DF9B24594B485C4968EFBBD55AC7D971734E41FF2BE9FB4AA5EE
3536B421A4F0CFC06359ACFF92A57F9992B9E871F35D2A2EC854BCDD077CB0B3
501FF0EB2432811E630AEAE51944FBC370B568F4D2585C0E773056D1CD0F516F
AC1A02C8EA3CD2A8ACC50125B02A8D72B5950411CA46C0ABA6F71015533203A1
94944681B76CBCCDECB62FD214FA405E24D413F4EB7D86BD914F505F133CB409
1B93A35F2FFF59EE10C16BD76703594D7AA97AA8C6894A4C13F53EEC597BD968
DBF9EFD7F25BB20273E21F145350BA1E5948F0279D5D13F315B6D9A4C90BF3E3
944E3ED4F94635A75A18267546579D67D382E3A86BB2CC8EB2708D2A185A52AB
1C2A776131DB4B1C0A158204555D81EAD0A7753663D565D0F8FAB8AF65CD0571
7273A1B5D5C48FF093D25215C7801FE36EAC417A66AE1B6DE4C9E58306FC0308
F39A29896D86E1F539AC06DBB4DDB3A38877793B1BA87B8FDD7D56735181D18D
4C7F72091D269F3C064A571923BF0965CD83999FC15C826DC0FAB85526BB8BC6
56C737A6BD970EA5483A0457D9445AC8532DF2BDAFE1B3A560E1B3B8ACEBA811
C7D09E26E1CC7BABE9A1DFB6FF4CC2F06422D39C340C75C4B48DA31A3E904381
07259E70A86F80C53F4114AB7CFC26984A1E42024FF29185554D99B7C80227D9
CF1670E12D4C428E2A590ABDF6A30D209111C8E84469303B7E887E20BC153306
B4920E9135E38D1ADF227CC7C6AE369BD2BE75B8B5EFC43CFACE91E77BF29F95
0006BFE766A925A71EACE1432BB7A32D48963A6D47341906E6D1599B4DE5183D
4DD62BAD06DB145E17E316C16873A310AE2F37C2B6AEBFAB8F740E293B868080
1F7B1B61B88257465F18D762A96A1706587ED0D32201010D7C2C9A1E10317804
17CAE6BAB1B82E4B158C25D46BBCD3D71D79C00DA53271A5AD1FD8B9383B8765
50769DAC5F9A39EB90523E6D16B5FFDC97EAF49F47DD21DC62F981BB7C9CF11D
47A74332980E6A8E61BAF0DFC4D359373FEFEF52A7F633A06DCC7671E843477E
5EA865D2B9870967E1CF67722651C9D74FB64C45BA2A8EA73656D76B38A5B189
491E84A948BA65144419F40B3352A2835B170F42C58A0F333FCB1D271C0A4BC7
8FBC64C387C7A26339EEF291135C8B2F1F670C8B14B920EE77D00F37AB0CB285
87D47C102062933A40BB8E11D4ADE52CCB9AFF7F64C21B0CA8241D88AA4330BF
B880775CDF71FB4923F0E43DFC64B240B1195F2937D4BE746208A219E0549184
ECD33BC0A20D8BDDBDB6126D85FAAE8ABD5452FAD1617A42446BEFCF339CC49A
EBFC20FF4E40555F07A9C81CD3E890158FD6A58BAB6ABCF08D1EF2BADEAFEABB
5FD05B061C8C2347BC1A5AD9F6A653CA34B925CE12E5F5BF1696EC1C44D3AB2D
C8E18134A7D937ABFF3BEF5E3211F4DB70DCED73DA1FA2A89EDEB8CE17967424
5F2C26106E3546B9D9ACC389749C48BBA619393CE649E19493B918B81B6B6E57
D65A97C464E038C46F7AF946877052D9206D8CAF1A4480EEFC6D95B805670A39
BEA382487050F25DC205B3572C64CB87288EEF7E7B458024D55F96B24E7A74A7
87DC524E5A7E3B7F147E2E79A0EDF219E6E3B7BE8345946D742774F983F2EC9A
73F5B1D0E4D4BCF5EEE3DDFDCDC08419E594843FE5D5FD41C72306C6AA43E4EA
93FA44F2AD5E0321533CA468E6A4E086D9A6CCA3BAF1A7C5A96C2E65FD966650
448BAD418CBE74F12F6F670858FE6E362D1AD40CA5DDAA7DEA5ED5AF2F6FE23A
6A43A1198F2C026E8C65C7F1614165401C484AF0BB292EC25A651D1B359C019F
43E21B2F07239CEE4B864C2B818EF7B7E49C3CFC195AA104C75E72FC46CFF69B
ABC86A00A2FAEF49924FDE58F117484670B655D60404D999E2AFEDAC3B59F52B
5B1DA087243458A85A8711CCAAC382EE27E727CBD90BBCD51414B2698DDEC5D9
36E21D3B50D897F78760E7EBB39B957DC044A1557C7D5912E57B23E82ED54860
6E2DB6181FD8C19A3403C2E57C9F71B904DFD85949010310458D50B23BC39B13
D0DA4EBDA698D75C9743B36128F8ABAF389B19C0F5CC71CDA37E722209250D36
742A8DEE4F994D1D71405C5855B2CF8B18AA5F2FFF9D4B9737BDE81B62EFA298
2B6FC900B708F08D909AAB33857FD9C06D7312F7EFC3DDA166A9B0B110FA42C5
3DB57F5C4E39A534D1088FB0826B81EE5B672033A5210E5CB9F478750DF96626
34A9362965A7F51F7C00B5664A95AA517FBEA5EF2F9088ADC2447DA282423BB6
7540FE63C61B564F60F98CBC3464E77AE8845FD13C349E8836A01BFC83924E49
757C3CAE8240573B3E194E5CAD718A8D43B28CB6770AA4C89D5D7DF98B1FE6CA
3B03DF561DD85A0DB4F165AABDE7636EB7B3177055609FF69D0391F7F31AD816
0EE599DFBC9B9196F433155EB21077A222146C7B1FC54761AB32DCF4DE556C2A
FC4CA42E22FE5ED9A7C225EB82A070764928655CE7048E6BD62EEAC38143EAD4
07F325CE53345968BCB486988B3ADF521A440272E6A0BE7AD000D9134F758DDB
470351DC64D38E8A405E4BDD3AE550F1FE889B708F368D85E2DC65D59BAC1E5F
854EAC12D773978D2E46316671D8BD27EA45F422B74113C48353DD2600EA686B
CF20AC731D9A7E7FB7649F1A0878685F5FCE8A9E3E4705B2D27ADDFED696FC1A
EE7BBAFC660A41812E422C4712EFB79F3A29E21196FB53987C706A15EAB3C986
0353D345BAF4645B12B441F35BA9AB46BE7C0ACB3E84E0A066EF1B44E76F7264
E548F7022424819EF56C7A917AD5DD80268898632FED22B6057CBA76A0275E72
69A3B27ECF7DEE9C1D43F2E15BB7A18D24F1FF9C02F1BB5A737891BD4252E142
40DF98670F0897B9BF3C60E02BD243125C28E177C19A18639F581AB7C5713D0D
618BA5EACEF18947E5849BBD2CF752696436D222A4244B1C713FC4AC9D0FEFCB
2C52B26FA451A61FA9D770212E5371EC2E52A39B8EEFE2967F15504A19ADCF3C
BB25EDBE61CECD1D4E0A9DB5EAF6EF54071A624161F0113E0FE525D83180AFAF
8CF5D27D08B51E2AD43B22539734540E8460D1905A6236E07EB2E383DF6E6F84
6FDFE96B5EEC8759B0DE0F3EE2B4F984BA6D40CEB8654AAF7094F71C51134E38
9EFAC887361E885A3753650686E6C6797227211ED0D927DC8ED6E9006D4C5B0B
6EDBF506067E9D237A42C7FA41640A0E2CDD0A71A887BB2745B103FD3941F9C0
1B1092FBD68B12FD6BF6AD32814CDC85A0AAA9DD55D7243314AD90918F9EEC5D
C0823FC5FEE0D593627BEFF2DB78157570692E6A849FA0DBAA77AAD8EAE7DEBF
336AD33663ACD6FAA6355BC80BCF9F8643A647376C973F8497C6EAE0D4D5CBBB
A8A61CD10FD528775BE2B136C526070BDCA15269375F89731E32A331F33EF1FB
CD242AB1B191E33B532294EB1283CAFA53F8CD8730982BB4265C89FC674D1A78
E675AD20F8AA1C1DFFB24F78AEAB8BA223F0E31DDE797032AC643E330AC79895
3EAD5E107EB71092AF2774E0C3F23824E2DA94F4529B473AB6C0081FCBCBD9B8
45BD11869A86E267822589F4A45EB799BB613DDB85202DD5E305E3D172CD605F
30D089E3AE70A158089469899C13BFB769958C8D37BEF2F9ABD085A40ECB5C43
9B2CFFB9AA0036A962072C282FC27D8FA9BE1F0B0AB113E80F96A455949DCE7D
CFDEE414406F7798BE6BA284FB860A694E2F81821EB4A95F456ECB407D4504A5
B0D47152E95372EC6E81B2B91160BDF996614873BFBEB361FB8FDDB22090FC29
D5A9EAD120DDA69EA88CD80300AE2DDE878DAE1694F46F590BAAF718FEFB083F
A96FB65C11FF4CDD7BD821CACA9A360C2084F96D15C33827CFEA6C6C36791B6E
2CF2CD24269128FD7FFBB32AF1E345D5DCC768CA3101404BE06A9DE762A051B9
C7D1D87BED457E65C244C8E257451C3BC65418E77256516A9AC64FB58882C525
E1BC1A58CA5E99702F36C368C910156CAAE4118C12CF1DB5B7259011976E93B8
88CE0FE1F0B203B3E40E4BCA7491EC69860A25E8A705D3DDAF0B9ED24B30A0CE
7E9BEA705D6D7C02D78341322405F0A6D6E1EAC98C4A7108F9C3A8D10B76B1AE
5F485BB6E359FCE6EE10F346AF7008B5532B05EFC7E4F0FF5580E9BA357F5ECD
5D86E6240E0A0EE3432DA7CFE2D15B957CA669C2273F61F8F92709FDEAD7EC67
420939BAB8EC9B7BF52D8F19CA81FA95D58AB5F19727157018C2AB45CF258FA5
BADC36BF706D5B191E11E30C1F4F5178A0C5681DE932C2B37B1402FAE1125F58
0BEF22CCB84A9DD65EBA52FAC12A115CF3B0CDE54CD88833769ED08DFD9F80FB
1D97D4BEC3692B287BF34BC20E8FA407C675C2E150BE17FF1A0C4008EF3FC950
BE7A656297838C5737255A18C39CDE6A53518BCDDE82B6A8A43A4685C9350B80
7F167931298612330A36EF38625F86F8D563A111F8BB3B02D5CC032386C5AA5F
B2E6AA5E791BD1FE540FF315E6D07947A9CCDC04EDBF967E01BA02CA8E8AD66D
C693752CB0F1A4BE087D63FBE452048F2513243ED607BB4541767AE959EAA325
D0DD64A5A55C3CCE1BFE2467DC08E90A1D9DF87B44E0F0268D0B1368997D671A
5AAB40F7DCC697124C62623466FB10909990A6724A601E76FAC0668C06953C02
C8289FDBCFCB07A532DF65F562D4FF7FCE9F5166E77A0D82C7F5EA434507BCE5
0204881294D45DB905DC353EA802F6251831BCB3A874E2E1797061395233055F
AC844805DAA79DD8402BF902CFE23E6589F50295AFDBFEBD6D37CD0B82C45693
BD22B4C566B99BC8CA4C46B7089E46BA087FB380BBEF1888938A3A554BB9CA2B
45E206614D29DDE153C3A5CA8EE3DBBF1D77D2F9905AF06BFF7660CD63D92C96
D311734AD82D249B249D30EE70D76824EF0A7C7646DCE9A3C337DA87B582A74D
1B30AE0C5E822C352FF3C5DB0BD0F367275EFFDDB50011A5C39327ADC6A951DC
A4C80510E7D96ACA191344AFE2D1A5EAAAD8007EEB8A51F581CD7EF460C87807
0D274570F8B651EDAA317E1E50B2E194B6F762E28CC7D4B1477EB9D31B46F78F
0C73762DE4A83B9F31CE2AAD9195712562BC40628402843328B1E1AE8D6F4298
AF7C9C0DEDA42B5481BBF1AAC4E6B3ECE92E6AB4CF48139214187BC609F3B6E3
D4F1F909E24AA654954B103BB89BD36D9F76C48CE7A0B17C6BE9D8E24184833E
391A96DBB44B1C9583B8EDF7287A52BB43187F651E4848649EDAAB1DEC3C25FB
79FEAD19E901284D1E84311DCBF128063973A32FF6FF386B46AFF18BF1E7C64C
18B069DCB3E5B96EDFA17AD846496F69C1F00DD9B81F4D46B004DB63FCE9E27A
CE9FCED4E121B8FA784FAC3A49032621CD2BEDFA831B42F73814A97D22B11E1A
38D3FB4540010715890707828B3CE11B17D1ABD42417238A5AC472D9C8D8DEE4
AB6736D60759A1003A38AEAED363C71FBD05B51DFFF7D8782B0F1382E9C6660B
5E35E1BCAC6C69A64CC0B62561DB8C47FD8A9269969B9E6CA02A1D18C0456D65
C24DB4D14377784EA7490A2C054F80C7569FF90AD1E264B1E1EB3A9A8E0F24E8
E31C4D63ED7BCE3E6444F485278E4451DC1CA432CB51083F22183FD92466BBF7
FA4B6535AB0DF6DE9E4894A9B4F135D6C34A16D4D03FDAED260AF506117A66E7
FA012B2A97EFB0F819B2F579B99C9867D97AB6E6997C908C7D4CA2B8F305533C
A4358230F2F1D1CD48ADF1C0A82F79DE6419A1ED438759CF1C103A830A1C1D77
F188FCE9B55C8E17109B9CA82F2DB0ED325FBD1B06A84F72EEAAB6D8D70189EB
CB5E4CBC49FC1CDAD7CC380D54F7A98D62FB841FF387356FE397293CF0BAF503
33B992EB79DBC524868D2989CB59CAE125162C1396D8807F02D84CEE97A3DA5A
18D432F6FDFB91CA7124C135565BB5CE067CA968DD62F8F19733D7B246522D01
AD892793950ABA979506F15AAD043B4BA66D6A434A74AE41CC84F181808620EF
165C9C02AB17C9944EB9BEB185215FA79E1B3AFA7E1D5DFE062E35A0939D041D
6FCA58CDBAFA993EA430DDD3929CC16A75C7D667DC6AA302C24060CF8F9890E1
56B99508CA4FF83053C9EF6AC3FCA0322DA0E01C9C15560363DBE82CFC54F35B
5C436943AE6F16C8E99AF94FF64EA384AFAAC1ED0C2A966924BA4CBDB5BF6ACA
45541DF9F9755E0D5CB9B48530A49427D82201BE60E1CD3BDB389F48447D3BEC
FDE1D3A32DC028A457215CA2A3EFC1F2E4853291825DAA8FA9DF148FF67C3299
3C03AABE7A43133D07726A6E98FB8D4A1726AE3A142B5032A7A3597197B47604
3A3EBD6CF2F410F7FB49FB6CD0D6772D9152D0328DED242054F11B0F2EDA6831
E36F5B24A45CBB204E884BCA15928615B2397AA1E564E30F15A495C0CFAE9079
186C2B481F7DE57E3CC324525AF90C7382A6C7445B4BF2BA89F65C4B14889E19
FA79BF4CECB93C5940A8F1C98DE3CD9E73BDE466A6D8A804B732B526AD4BD51C
3BCE1F2A49D7F96D4017F9C79BF0E7528E6EFB666E14567E5C60D35D0ACDDD32
CDFE5D1CF0238A9744E66FB66D5680C24694A88406BF44422DF27E4B2E5C25EA
C4FB115E0FF66D6A646131FCBB4F2E621C5AD9EBDC5BB04CE4E029C957152D8A
2D7941E84DF4693A8F588047D70EE69215B0B0434BDB60C3BCA352C507394522
4B8DA22531827260666D1A719973713153F5F071C0F2EE18AD6A65466F414C78
78CA9535DCC0E1E56D01F59AAF961D2275EA14DAA97B873994D98C1133092BAB
589012509E648CC303C60C82F7346F897AA20151397BC47A4FCA4EB5224418E8
F877A5CE3267AD3C3E28865600649459D8898224614157326BB6C731B0812895
6D09851A2CD0AC24E3564EBDF859F795BE32DB1DB06FA2601CCCFB442885252D
565FF2F2CD53399BCCEDDB5552EFDC6CE6EFCFAE5077D7E2EC26FA50E8EF83FA
07331406CB529C10C2E8834C6DF8A03BFC4460CEB7B0A47CC3A2E5D3F7D4595E
D19E181443CE00C992B97224B5F044EDD6DF15CDD48CA29F6976E41A67FA94CF
312D7B5F3FD4F1AE0AB22444DAF14A6563A557E0AD3BD32EF135C8D1281CB608
15EB09CAE15F4FC36E3A4FF5CB55DD29CDBA97EC9F0A480BA4D809F389F2D8EA
CBAF9FC3CBC1BC601122823A2E095D5F46AB81E10F7D6E9E6A41FF12A7467079
E0CC02AF9D4F50F6CC53C16F183EBE4FA08C6C8D14FD51E1D4FE329525647F21
201FA180DF3792CD3CD5AEE51340B026239B9AB2643C921631C1111712621C78
C016FC996D1F7EB658A496CBA87EEA09C23020D9FA3D467BF71D6AA1C1D235CB
BD4F5F76D7631C4A104C91233764DD7805CCEA7D07C7564F2DCDFB03BBE9431B
BAC79C9FB93002787873B8A6936375F317CB3A2E4BA3E989FDBB2A0321790997
0241621DD47916EA28415178B127DC9058093250D6E3730F8C57BA3C04EA5170
7A327543C9BF4A8161334F2C4C1DA720DFC24AF5EB127E38067A12022AE64034
32DACF7CE8E25B2B6DFD0896F509A89668198D67FCD7472E903FA33501B9A32F
58491A9F669B98A25ECAD38523956C7EFA01E79AE208F5444B12314D37CE7EA8
EE90E036A59636D687AB9F56578D9E5A184447A638284289AAC1315B80DC3B19
1C8D1FF53A5FCA26655D2E4BA6D8779F1E88EC3BF28DDD22140BB975FDA72B78
02E69808E8607D93584F4CAB6DBDC1789534FDFD6B8719087D6C77992FB5B640
5BDE8C8BFAFE1F9B691B2137BE874B1A98DBB76576D40AAD985F8D745340BB89
F95D3EB90ACD2AA4FA63E47DE606E16A78762DB1533F04F0AD55423C2DD5EBFC
E37EB91C7413E95520E9AF74A85B6BA31372CAC89A91DAF34AF9EC87C1E5C19F
7EAC8C50F30CC681B4ED75C08197F7AD6C4A6C95C7304FA56732491A4C667631
8E4B6FCEBB9C8C186536B7B382B10210D157ED4F3FC5A4F040EB9EDC43C0D70E
829AD7297BF6514FEC0ED86504C192AAC7EC3B57B190AB635B95B36C168A4D1F
1C7F2CC2E90664D4F0F69DFEFEA54D903D12CE3121A9767C14170FFD867D3D48
42C6826642AE5B6A5180E3DE0D42170256735CAD47B26DF5068C74310D99F9BC
04EA14BCFD1F1BF51DDF86B4566D89AA583709340C7BBC3665EA29AB1D061938
D449A03AA7EC41B595BB0885ABC137B0EBD834EC4691AD71FE0DF9D30996FDFB
C359A5E109C5EFD0152D4AEF651389BDBDE763EE2C1AA3C7897135F8FA97F171
E3FD9E1D95AEA8F2D31A4F2F18F45250B452AC3768B1C7D728ED1F4D27BD0467
CC6991ECD1C2525EA4BA1D9ED5EE70C7C9BF579A6F04F12E34AC933276D92FAB
F97D45AA75F1CD0C20701F5A9480FF5CC6DF6C8553348EA0A241B44738646394
DA236F88F53D1A183382B420F6A0D3F7871A39E578BE8F883BD0C6B03BD7EA77
24E3791D1D6BC2753F1F84EDF2B242A7DE30B354F1CFCFC3A429C427250D2057
1E879577A62DE28728F96F1BEC12E1BA409D66435D587711CBBB87168E5FD45D
4C405B2D61E223EDBBEC483010D21D8E6733E6314794ABBF19917A8506B37183
0CD6931742F24D1589F27EE6CCE04360E0B1C43E440349A731CECEBB62AB59DE
94E738713F87322E6F4B5F4D403426FEA0E45E23F32746F37B7E0E31A69F6EC0
DAE7AE4C3EE7DE93AB54DC3325AD405F389814F7622BBBA247A3CB858EC62AE9
D2489E2252E0D1C0E7AE7C14E5B72E18DA81B4F14FA56AD21BD645FBF3334591
9956F9D4DB6018FCA070FEEB31E6CA0638DEE5442EEF99F9F0CC4675EE3CD551
8004B682A1649B050CC874DF5FF1BC5DB4D33A5C6CFB4E529D33A45983047778
96E38BF80BC18CEEB6CDEFE2BA8F65E51EC9BC43E15E17CD9C64F45820962B40
0A91ACE263E8B78F440637FA55F506163C8553FABF89662703C094F2EC622F27
F1D83ACBD9CB18FD179B172DDAF278625BA1CF5C2065D25733D9942A851751FA
B2A9971A050370B56215C98925E74AC36B2AE4B013CBED8F23C0458EE99C9D11
B86272D90D984E6C05CE153BEB0C5C2E7A66D8524778C31D82EE325B514F237B
7988F1A94394F498288B4401D4B639E4E819469A35FD4764BF0D0354EDE9E046
DF7932C34420471647FC91AF39588AE076987CF39145C28CDF3C82987E7DE26F
EB20F52A9E2050CA53B8EF1F78B846C70FC4FB7FCAC52D5BED0287B01EF7394D
08E96544A175405D0C2BE4F443006D1D9348346CB2AC9FF48646709A2BF61BAE
0059DCC94DB11EF0BB3653A44D8CB7B3275C01B8B6E09B0B389CD7EC5148F2A8
7AFB64F0E4DFF01DAF8B29E628CC2137924CF68BB433E064FAB734314784CA6C
AB3771A5BD98FA71DFA8806935C14C9016F3D8674182E3DE603B02D20348F876
A413255AF23080DED1D288549C4685643A3FEF2E16D05A93CBB7F5C69DED541A
B3927E22DD1632537CEA77ADD04633D7BDED8C988EC6770CD83F48B74BB32149
9BE1F4C5364617BB1635336EC1D442DB160A51ABBF8AA3DFB9C93E20D9BC0951
98AAA43E29527FD9BC3DA340B7585EA73D5180969EA00BA4B393D6D88D33F7BA
E4B2736AF1FEC5F24B64D6C64428CCFDF53F1CBF3DBC36035708C593258CAA8C
14611422F204148981A15D01FEEDB3D98551DA34357751C5F47591656C118F5F
BA3452E7CB4F08F7CF7F1569B37EB2B64E8CAE7BF42E06DA94B3B261C01D8523
141E1BBE5B1491C0E6968C4337515DD0C0CC523D6E1852695E6EA5ACAF98BBEF
120E44166FBE2F0EA02EFCC6AB694BBF56A522FFCA2F3C2D43E5533A6890F217
99498AA38260AD3A4FDDC0521964534A74F99075934086F01E761CC37DB5DEEB
DDAEB22354D17F4DB58F502BD23D04C2B23410C359E1C0B5B6AE4C45D929D734
33F500E907D9FD913E0D174C5B01FCA305E006638376E8E2791C39D0878EEE91
A72942E0F4637169DBE7A7089A7F9C0499CF1AAC87BC8F676980E0B99AC4ED8B
33F0F531F25392C6B35B5C91C649BBAFFC7E3312B2DE35ABC74C6E52BC042B6C
A013F7E6B73FBC32E12B2A24CE86FE30D727E7A8F4D70CC52971398E9276315D
58D5F787068F3AE820A5FBC0EB7ECCA3C5A5C316CFC77DDD23BDDEEBA20239E3
F3872B6934C4AB3FB522856754143708E6D8BA83493723494329E7B864891A6C
5866AFE1AFB3E7B1C589795D073A5FCD201222A848C2044E5DBA03A154B6D992
AA0614CA56BC35D679BE120AF3EA4F5D65C9DE663917897D4001305735D8894B
C4F92096450CF3B47FB0B0E4E6B703F70936CA5F86CFFD0DDAC00AED05369D2C
5F0FEDD9438242D96F5CB8B55BCC9BCDEABDA9BD33194200C4C4B6BDDB84732F
DC9B6D4340B9D1CAAC41097CB74F0DB903F563BD0F83EAF9DD3F72EB33800B9F
E03839C6C8F58A554F2A6AE4C5D87DEC7554A923E31D992E582F8FA3D87AB199
E1C9485F60C453126A28F9D713B0703B2E5FBDC6FF9E43DE0042152F81EA13B5
9F87C01DB8AA4DC7A79A1A0C10F953E284D51990849E20C5F5830C940FC96BE4
9E8B8A4B478CE51B1BAE7E4F37126894DC9BAFC200EF9E366A4D054B80500867
31E8911B0B75E16E690638471822B07ED3C230845ECDA423D7AF521BB5A8D230
29E019DCA98DD25A0E3587EB037FEC117966A28717BD96EE6BBFEEABB437453C
9563CACAF9F3F0BC5FF1805A596B1BD178ECC82AA33B31A0DC874F31159A64B7
58B8714958F49B334C285808E051FCB293239C364DD48EF3555D0E442D60517E
168F8D4480DD284A1B8916130F7A3CC9BBAAB9F95E43C59F8A21FD739523BF98
D5D851737E3CAF0E5439FF63BC9051BEAEEEDFEFCF491F586B1AB7D8CFF61BC6
0901EA7E4C9E770A4BFBF6CE909E8A6DCCB3819438D70088BB3F1C87B776A4C6
A90D03F224851A1480B468E249DDAB7DE3212684B258EE29194A26873ED61318
492C8C9091F3DDF4094428FEED2B39E9667E8344CEE8E93A7C89137EC66841F4
51FA538E5733606B1998A7EE5CFD4267A1CB0C01500503EC8759A825B395172D
DEB3CCDA35F921175EC34A414718813BF9875D1DB7CC6513026B0A9D4D851183
DDF5E88913EEC31201F22F67773D1DE48DA44DF515A9AA924853E73ADCA771D2
5F2AAC342DB76EC44D23973FD8CAEB7E1E5303F42872AC1904F4EA6790CABE65
151EF130A25983B375E9BF4A5E5514B56CF5563AAF41BCC9F5A8DBDC9E3EC344
C387D43912FC70969FC7C0B6BE5DC1E0BFD0CC1264DD729931396E99D9BEE3D3
2339B4803BB8185697820D646F8CC15451EB9D8D26124B5CAD7389A8F3F5DC87
2DE9B3F5A6E4BE87AE282E8B8FAA9EB0F559A369683436E6369AEB562DB3231C
ECD34DCFE68E8B660A3ED80C0CD85E4B29E56C93320B4434F59F9D36D6F9AEF7
1001305EE280CFD4C7F84B0CB42C8F1A2838F78C08A041B3827D277831A8C49A
54
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT12
%!PS-AdobeFont-1.1: CMTT12 1.0
%%CreationDate: 1991 Aug 20 16:45:46
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 105 /i put
dup 110 /n put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
readonly def
/FontBBox{-1 -234 524 695}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
1353CC1FC512D59DFF847ACCD3D03959C548F21BF622A6C3224EE815E753BC87
E0364A12A1728D0762C266515BFD30F7711A9F1F796BC4BCF679918151320681
D3202FD01EE5901981E7EC55F58812978105DB71D10B0A5A39BB69F703B11160
71E527862BBC00736D616BF295EA94ECB611548BE15829EEBD0909514403608D
4C7C220B61E9F004D1CE7760F7D96A75029244E5505A2579171BFC831AA0C18A
5D09BC573A582787ABBCF9C680DC4A5F41F6D7208A4DE3DD4E566675781B86D4
7631FB52070FBD290AE6DE90DDCBECF4A71A9C04A88F4DCF468E3256B3E240D9
86688B5DE5C0EC734599CC85478045BF32033E14B99C532D3192440F4D23BA99
AABC774E8978CC4CC681102FECA5969C404FD82F9A0E9F772ABA32D9A309E140
C33E65CD55DA1973802702A9D38953F95734097864C045690EB370F9600CF504
1D8C256C3F54789A39130AF465468B2EC43496CD305352AB5C50B19B6D025C0A
8D85950ED3DEDCE064098AB2EFBE0E5470B1553AAA691B108AC28B169609B244
B9A4596E9DDDBB5017847AE359E7CFAE76951CDB353ABB5EAC83026FDD24BFA2
40899B9A904389B04CA8EDD18D19574585FC843F2D8459EDF6A296FFA0047F3A
7D08570D877CCC8AF22684DC4CC7BA11F5E2296FCE728087D5394F3D2E4CD157
399E3BE34CC8A97E4D9B7AE8A54747C945C23C3A2E3C07307815EA77E3DB8F02
FDB2E31E2EFC2F4FB10A6CCD14D6C5121AD7DE0BC201BDAB24998DF9797D7F37
8C00252AA9783E54023EED68AF1D0A7C3DE94C0D51DFD79F6D1CECCC35FCB852
C7F523D4CAD562FB00A60835EA49753F176913C4B79708A071CF88E1757215F9
4844D934D0F0DE9E79A4E68328C9AA900C8351B7A51B5504C651FE9C6832AF05
72A710A16C7693C544D585311E6F81BEC2C33BC8BD3FAE4E82B0DDFCFB1CE847
B4BF65F30AB480B329774BF6BF1246E2D1F402FA72F4298B90887DDE0AD09DB5
4CAAC75BBD2437B7B50A9F42206421D0AB69DF3DEBA9F0134BD699BB223EA67B
B65E5BFD4575E7DDEF810B768D568387AD94DE8A6673134B824C78AE36D0922B
E21F10BA2267BF39AF9D7C06E64A467D96A0F8C4B6733BC9D801FC391D426B46
7FB6CEE46D3C2DD27770565774258E5F2C5773D82F491039976FC29DB4E86213
0A4D9491E5EEFE362AAF37F6C0FC0BD6C285CADA011201809FCE904F0C558834
FF6EDB62354EB38795A4FBA53A670912FF984A2A702B9898D4723FB993AD10D5
E8A3CC543EDEC2D6CFC69E6DB0321010D6A7FC357B9B6292A9F6D5BCA1FC5B62
E769CB1BD40E7711A0298D1A425DA896B11A68DB14795FFD9FCBAE6C35DD3FEC
6F914A57C65068473594716B2CE171E7B59270B129233571D0A5D6D477907286
70057B799C2BC43735E2807CF34BD920C25B736BAE8034A6B8CC5E39EB4B7989
84626CC8667E5912BCFE3C9FD65DA80D6CBAAFA6795E8B9AB9895EFBA2C46704
64FFB18CA92B5215AFAB89876C41E34E5C1F14118714F73E516210C21D44D038
F860AE5512AB012BA7931B8411359B63E6013B3599EA007B774D6B6D85E872DA
979837435B5EC037B756A26BC1DACF1050AA7884F3D694CC4D829688D599C994
3352EF1436AACE4E456C6C8E1DCF29BC276D6B2130EFA0F2318B7904F3391387
EA5650743E6CB1768F4A9ADEB48378D1B86513FD8BF92864812921D262407DEA
276AA0A2ED0C36C7678DD04C5975A8D9CA8A315FA127DB1DE6AEBDF79375543D
654BE2B92AA5BBC5461CEA72A689751C884E7139AEEFF88BC589DFC285CAA007
FDE71A258B28A382967D314721B5D29A2D31444C9EC9A3481247E6C878D3BC6E
43FBDE0B6E18B7540600F0060455FDB2294C88A0C67D635103151F8FB91696DE
D372C14C3742AEFDA7DB3A5719CAFC7BA3BAE587B239F2D55F33C70347558225
1C2A16490B20E00C8976A27FDD326D2151C6FF53CC045D2EC1DFC9E01C169FB6
AD694DB6D8CE3489977471CBB867AACDE52F245BCDEE90C3A23F07BE0E7E2094
7937446BC05A1705D86BB65AEAEE557E4B922C542EFB6172DB59FB9B49785C7E
9DFE1F47B9FE21B6C0D6436EC7E8B1A057B8AF5128E5B888589EC1307734D22D
C2B20BCBCC3DE667F067B44E9D0C9BB639B054CE402EC991B5B12F1A8E2E6BA2
E50CF2D44A7C4C10EC7DC93C472B75ECEE779FCAD56FB7F293314ABEC48CCF74
B04B2AF9078D0E57E936440867CE1BC1FA8FBD944E3EA779BD89977B7C0FCE9B
6B2E4F4895D91654FBB5788FBCA84985E90E92E5366CC32DC874B51ED2281CF2
2E6FE6BE3B206CC18FE73233F014451BCD5D8C2F4873DB3EF2A393F62D5CB2F0
B98CB8D8E19DCC6F885C4E8F7BE5F96BC34661DC6FFCB457F3642866D393DC45
FE66B8AB77F95B02ED26A9D550860BFA4AF0881BBD5D0F01F035FB466CDB8C9D
B6406B2679EFEC268CA1AD8D4CDEE2D47D6EB641D13AB7F3151722588DE3E2C4
3EDFC0BE4B9A65D0CBFA0F369C9900CC105216A86DB6FC9338910DBFBC4F3447
531A32AD80C30F83BE7183E30D9C49D00CCABF3C615A94917851D3145F7FE82B
B62C60EDD92FEC634274679B1BBCD979F502CCE2D76A7A273D071BFF9A6EE664
D88B56896613CEE8617A239391A3140C55D8EE40DB0EF84E1E6F378CA62073CE
D0C24F98F07BC80875B0D07E8D449344826CB71659AF33E196C925256B11A737
066C9A1FF0BEF8C90B068024B012A25E605F1CAB88856FCCBA52F23ECEB9091C
368D3616332718EA80A122C74089B911DA55F7AB3E4BCE1C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMBX12
%!PS-AdobeFont-1.1: CMBX12 1.0
%%CreationDate: 1991 Aug 20 16:34:54
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMBX12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMBX12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /ff put
dup 12 /fi put
dup 37 /percent put
dup 39 /quoteright put
dup 45 /hyphen put
dup 46 /period put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 87 /W put
dup 89 /Y put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
readonly def
/FontBBox{-53 -251 1139 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
30F19E1BCE69BC499D860F9B17E6A78469F652E1FC6991A91F9978B9BC027D54
369E4A59EE1C03C9B0F21DE425F4D56FFAEBFE015BF1C1368DD77C7AD0C015DD
B05A6EF47AA55E82DF783AC53A410FDDF14211892D18481CFABDEDC5BDB93027
4CB70E6274C41C2BAF35E928CE449181BA6E7B26F0DF1B397DEA0033C1923E1B
E269D731456CF82C1518E140455451382F5EA496D0DDDD571BF2DD94843DE64E
F6E73F9748288C2BAF3C59CDDF0D83BF7A36C90963E08DABB212A738BBF4066A
AC8CA286A0ED2094A19A22D3A9EDCFA19D855E8471EC346255D502520FAF6C7A
1E8C11240EAFCE3BC6D791B01F27BD942963524FEC6A61223871D8DB2CB89CCC
E139DF92AAB0DC529D47C74A55287C5A846F7DBDC633D3B2F3E1FC9E3657F8F2
E53A3980D2731E05D4A590A5F7F31F6C2D8067D40BFB024A8F97A1A8FC6A593F
26A6857FC8D7F50A962FDFF66658248FF36EAD6D024419BB101E0CC0F543CFD2
12CBEE8D9F44D3F8FD5A4FF70626B462421D831E09DBA3E54738A6F17770002C
AB138BDFC1130F8BDE9D34A3FDCA988EA810008B2F374290F3836F8E08AAFCEC
77F78ECEEDA7813AD79824026D20FB106DF5A508330C82371BFB2EC25D24E409
014A288ECD37145E2BE9B2FF823E6EF37E2694EA922CD758E639FFBB70E10D71
CB4F0FDE41384220D7FA3F32AA91EF012B1B1471E993566E73A40505EA2E42F9
9E88EAC350E5CA9E3F7B6D616B17C007820F4269D6C3DFD25BC8E592EAAAEED5
8F720213E94A15876B206E6A1B2E999697BA23250EAF883556D6A226B9B762FE
F790243B977887442C7C31A81A55A056C88A971BA41B3008275B021AEBCAC643
3008834007A66A7923D0CDF62E492E47E3AD8E852B0780F7D449BB0F96650F8E
8443B9426ECEE46FF25F2A9FCA4E5EB5B616CD6C68E4B84E2B39EC2FD713CE67
BD7459A5567C08ED9BA05F1DBC9C535DA766265612666DEFC3DD11F7C3FEC3B4
0B78322832C7984B4379AE0EC025A27F911FC4F0386774985C96399C1E7355F6
99115DA7497132CBAE3C9F87A9748225744CA4603AEB70A5987C0A2566CEBAAC
49DC3B4C5CBA09DEF0AC0F07127AB83666D0B35D783DCCC86E858F9393C0F52F
C9D21C22B383421404E7D8F5C2E421610D1B48F46C7E97D2443A596C158567D2
5F6871CA1D0D01DB0C423A86C50826A2C052DC01B8E7AF94D44E30433585124A
E07F813A15A23A9D8CD5840228B74182BAAD3F7B1652A1B30340B9D65388C7FE
F3F5AD7CA7E91074125404607BABC9B04B8EB76E61C4B1004FD3D3B97290DE56
0053B51112AD71094C1FEB4C7A23A07CE32FBA8AD35FEA07E3EF3AD81CC10EAE
64D84FDE52992DB2B3BE9B4C2C36D1896B55A7848210C4A010D864A3FA8A3579
0874AD97935317B618FF13852F48BA817E2619749222A030899A70B13F4D180A
8DE07BF7682E5F08B38F95FBD8ADCE85521CDE3B2516F22F0E321FE0AE2B9B58
9D52147DED77F651EF8BA7C9541CD79D9F0E84AD5AEF9EA592068AE5771F20EC
DD03C25845ED10DF57F33D2A5D0AFE9B7721E4B4CCD61858D9F52D6CF6377EB4
5295F861A29F568C14DFAE32126EAAC9F83694B83C2B7411F9CA1F52F99FF2E2
CBE734427CC372856C18C6678EAA8E7412448FF0947B03266A9999208EBEA70F
A60DBCF81DA579A49CEF39A8F7942CCF4B53427585F4F7810F28E20E921DE8F7
9D39675C943A554BB613F16F3EF64062BFDC7A99E3C9DF5025A877095480DA46
9166288C7172D8FAFB26CD89CB7D5B1892AAD1CA865F2273ACEFBA32C7D7E72B
78B863B0B9FB7FE3A707AC1A88B6DD46432466B05E417ABA7C80FCCAF63E9B43
14E9B98DE85292362B235DC195238B468EC5AA1969892F2C3E0D501742ACC8CF
DEDF269DA4E5C5D9DCE7F5D939EFA5D3064305D0C2F867F0D22C17A56CC7F8F3
74895BF8071D352446877A1BAA290A3B97357E420713886E17ABA1BA76C504DF
DA93A9B2DAE9A5A47101A20A359976806DF926E46895F8937E132658BAEE64D4
256E739938AF703B05CD268FB98F86206134543B73E191337458A4AFBDC8601B
A20664ED640B95F5A2CF4AD52BBC3D81747E4B619E6584A11B7BBC4B3804DFC3
205EA47AB5FDDF018DB9824B447BA99E290426A8105F9B6E11E1644671483AA3
8645D62B6B07F1C5D27C69E3147B09722012B2A56CB41643205ED7D9D00D7932
FD436F2FA0F736C99C6AF7C539DE2F458C8B3514C5DB64A78F0A0C8C73CD67E0
EFAB859D00DAA765C13D2FABA83097A05877E937BD542623F392F8E1128557DB
E401EC34EECDEB59EA1CAF3C8CCCE400968DCFC952AFB7C008D1ED6A6D2C818B
39A77A22E8EE72EA118A560ABCE819D9F8EAE383132093669D7D0DAEAC591DBF
DB7805B5E5A04005BE920843271D8130870E3E6910DB62497FEEBBFADE456CA0
1F31519DBB7578A9BF3345DE30A2ABAF83A81B1C6058FD328F655062AD58D04A
7B21A4961991AE7A26BF3FDF644AA1606D4196EC9BE4E55C590FB2061A767B2B
831B876084D8052F4AD711B06277A92435FD2308D26C8A0473B599A19B6D5F02
FBC09157D9518EAAFFB6E8126ADAD815B28328AE89208F03177EBE3AA0B971DF
C32C33BA930AA726F777548D33ECC7F47015F9B2E25D93657E840F46D4F209A3
D3F5A1C682DC2B1AB4AF7FD9347EB1018FDAFD9C4402FB4F5643319243B9E98A
85AFDE9EBAC815FFBA85F8E8F87A0E3E0C011258782399D05B621E9744C828B1
5C30FEB98092C4158EAE6F3A104A9CBA33695502788DCE4CBAF736A36B4DA40C
40A29CFC4FA95E861DC9041E955A1688539C4468FC059ED1D6D3F8FD64C1B405
0D11B4EA2E0ADA8D09972AE83B61719287C7C8C7BAB7926563EE59E79A7C6958
C413D135AD43E4574893F8EE9EDE8E8979594FFC509D0130010B233B8905F440
C9C6A0FF1BA97899F2EBACBD98E55A9A192AFF23E070BCD4598F09779F2A5EA1
8A749DAFE106BFA4803B9FCC327E9C9181C525BC8914D17814AF08CE5E861A48
4266AE3330FF6EAFF4A1CAD6886FD4F216A6CB7664EFB7D6BBFC88DDB24ADC14
C0EA67F3B3EBCF9AC242D1BAF8D0F13BC23B74EEFAC85D77BFBA4799F61D150B
FF6E20D1D4A3C554C2DDCE0E09E78FD93A9C918D9C2395E440F38015541185F7
93E496FFF81B4E71E322CE850DD92E81BCB326005D3B7D77B01245AC631D870A
73F917717A6A5377620FECC0E5FF5D3315D4621EEE65DEF2C3B9E5C3A9C771BC
35E7D3066C836B87771E171EEB2AAF21DD79417F1FC8B5A920CD277713BC3820
038F87F979D52500CF36B783AF02E9EC2EAC7BB285F81D45A34F92EE8E5A4189
35D8B2D290270293A3EF3E4CC39912F2776B2FE2A4E711BC481773113CB9B9D4
1D7387458BFE25C412E1EB4E6DE05371325841BCC75122776B706AC6A63AFC47
00946468EC67AFEE6E6F8F9643238F80E39F2995405D850FCC2842163DACDE1B
A48238865B68D82E80F6415E33313B77E9F6203F143C05FDA28893F96C65A119
741AC7F2911A149EF804EC845CF1616559AFBAA824175D31B385E9851B3779CB
C182F25BA5EF008C67C61B422226F9DE470DE590EDE30962E7BEA93BE1CA59D9
5653886029F399431C11C6805053D93BFF8CEE4B53958EB6E14640370C1E1BEF
EA5758D169239BACC3D3A6E7A3DBE36FDD7BD3F12F64E5BFE896D8388FF6ECB3
561724E1F66F5F95F21B33783A4ECFDB6107B172198104F38F9A9C34CD41D396
E6F6292C53429092D1ECAFBBEFA55187510A4FE01D9AC5296F17ABAC96B5AB69
C5F7DE27CD510DBDE0B889C1FD0F896EECC111CF40E92E37E96564B7CE3F0ED9
212178D6B27653CB412CBAFB6E24C6834B5CD4BE2A76EFF5FEA4C818B0A99961
64860AB302820155A018E006D72214F5765C514621E3490279E09E94C34F91F8
3745875D9CD03AB430E59229EADE37E1DBB9DAF7DADC7E121B7F072B1CB03300
663EA733D6BCF6F647FC3688242ECAB263D4DB751A4D35BFB61225D1538382BF
A2634F378DAC2076E415D82AABF67E6FFA138CBFB37260DB5FA41ABA1CEDC05C
1A1A049F0721645E7C96C00849887CD5B0DCA715307605DB92DDA5B968CCB0B0
894B5C0E4117857373F886A5E99AB0A152EB37CDCB0ABF42FF642747F98B5F22
3247AF6874892D1435C5C83C435762B371D808BB40B6A3EAA72529DBABD167AC
A29BEC7173CAE80E199756B1FD49ADEF2D9253DD7E7C991C150F3EFF7AEDEB09
BA787D3CC7369CDDD87EED4017C0B42BCF644D9058CA6AD8B436422CB87ADE12
F8EFC558E2E43940F6B69C2811D3EEF0D7562F455566FA57518B8F8984A58772
EECE76024C630B1345065144C7A921773044BBFDA029CB1B9612AAF872E87FB0
946851021E24AE2EFC0D84677BDE5FFEF6C55861B15035DC06E2A941FE802237
E1CD0AF81192DC69492C81BF8503BFF377B3C12199B30717F1A1E81020F4B385
31F1CEA123464F7A9B8A33E6C9B1E836DF6A7477B9ED9AA5A21281B4464C5791
9203113473218B0B5C1F2EDEEC257A31B5B0286A4158BD7166FDBFDF19B7F294
27BA3968A1812B9C20CA8724BA005150117146B9A9532A7FCED73455A3CD0579
28DB7764DE2F0B5A9A907B5EC2F477C3BBAC430301BAE4E615646FB1EEB62890
BA0268D1BE1DCE7F845E70146CFF852CADB4453EA47DD6341D1F8434BF19B4C0
1942F870AE6E5213724CE2611254A101E346D3492326E596A7C0B984B630BD6B
5145C5E91C3875F3244DD4965A3B56D759050B3B37ED0D2F168C99C804C52570
D83382FFCB4D06399DD3A0A102752E3050F111500B2B0D075A5A18DB72E76C2C
D6FE1F028FE2B689FCFE089B49F3273143CAE314C986E6D1F56D7C5BF580C7FF
0CA51006B1F044436DFA4B45C21B0CA9E9887525B6F88FCBAC59BFFD7504EDB4
E6B8EBB471F80CDF4D883FE75CA3743C57546AB890ACB7815D8CBEEC38825F82
BE33E462C79C9585E909FC987FA86205ED2478E8D1B0D7A4DD70FE5A9F8ACAD2
E70B049C6FED63FC48E3D5BDBAB67282A66E07109272505BB63C480FA9B2C753
60F58761F294154498B8565BDF8FD01A3676D39B8BD373A12CF298F281929260
AB2B5E1DBF2817D15D6FF4B57638ABAAD031DD3EFE44DCA5F2DECBA4DF397EB0
83B4C9DEAB025C75D8F65A339F3FBB9A70B0D786A836E4FCF2F42A54CA292929
A431A35CB7DF6FFBB0F9679601270AA19C992F7B95114F461054B38ED9FBD6A1
2EA3B221DD2F357BAC157436A537B37168FBDBABD738539D16216D9DAC15EA6B
ACBF9072E209817F370DEAE812247391DF38FC245B803EEBEB2838C3BBE1269D
8FA49A29EA9AC18E12D122605FA5FE2ECFB65F57D03047A09BA5E0FEFE06699A
1A078CA7CA4BB6AB935248CF6392B6677CEC876F86E434FCBAE20629B7E78997
13F4931515FDDF9865097788B3047C0C3172CA0D8B84B2C27FB1BA5B4FE5FA1B
FDCEAD06D4459E5BE0EE94DFA465109036B3A49DA6359A33A7C965D4BC834356
4EC4C21B58212EBBEE3D0B0F70573E2D35CD5410C3A6B233639B0919BFC95899
D0DE3B347B1026817CA0001AB441358606F664738244E0CB8959F9503EB46D7B
944BF6B80E4C1931BE88E813CD360E13122511167B560CDAE652469EC7F61AC9
A68402D951AA93E938DB6CBE3019D8EFF62F9F09D148C3CC3C63F45A1AE229BA
9BDEB00033EC9BAAD847FF6F468AA838A62353A5331D7425ECAD924C3939690C
6E7AA3F888F9FFB41FD42F0EFF4784D442D82BA5B3647189F8FD292689FCE630
5331D2B45480038D37A223C9BE0F9C3F051F7F27E953CD343681E9A8049437D8
5198D7634E3352771FC06BCF51010E0BA04F318BDFBA1D90DC49898D72949F8C
D212F1CBC219C7377E51B2E01A60049B3DEE629E91198709703F027E258356B5
5AEEE1E71EADD63D43FBE0F09F564C3EC9C321BF23C07C541D3AA214E57EC8E6
FBDC9F0ACE3DF926FE5B4FECB8743A2FE52A68ADF9910B2ABAA072B137A0D83F
006570B4C31972993A3352DC54A05BABE799D315AD54968023CED4C033BF1242
9BABF562FC3168175AB0AB6C191640A29624E0F42E716095E631EABA67D37B96
F496FBB228CB97C089D844F6D6AB7379ABF982D1C62187B15F37333F749125B5
4BA7DD4E63699BBF4E982DB65824411020B0E414E0C8432F0E1AA737B55EF0AF
46213A161E4EEC0A4011185E404A4AB5231D3CA295ECE626CD4846F539921E5D
5061BC58D6D1114092AF8E3A1F704A2EDBBE43638955798AE058B94BAF7A5893
E17DAC82A6CDAC9FD46A41965C73E91CD6120D137281C4AA37477B5366477B92
985BCF335E802747CF7F261664C47AA4181C551CFCA84282668E37F7DB5EA45C
6E7D583D24F2DFBCC3A1A735B51833EA222918765A8DA94484C8B51B6CF2ACF4
89A3DF198D7DCBC46E9176C84EB3DAF0062E721F84CCFDF4CF6963EAB0E02F17
6488AAEF7D896BFDA94D99E6EAE2CA90BEFE6A43E346D67703A82CEB5B5FB013
A53A6E880C5DCA893D90AA9629F46B00226539B76757E703E83AAB03D2847FCD
A4B433C722FCF52E5ED51372D4E2CD4FF94AAF6C2B6064A12BD5733813500274
9B571AEA311AF69F6CF9F940B9FAA34F4917FA97C09C3C2C93CAF2E1713FE30D
B5A2D1B9D5F28D9F0A3F195AA6BE2B91BD8ACCF5095F62E474982D872121A430
87A9877149ED68A11E61DF7991C50E185DDA1BC88B209DF3464F06D4282037D9
EBB745D5A0D5C6BE0051E5381B6B85D415A81F936458BDE11049E8CCA0768536
7EC223F6BC86004770B18A0670DA9A137745CC2B794BD62DF93EB5EE077DDDDC
88C132C0A99BC7D3BECF242C384C61A1979BEA575C4BBC7041E8E5A7B9DED402
5472A375FD386B2A081F3F49A3F10B66F018F3A05BA063E41382B472491E2DDF
891635A8E49E5EC0F9CE94081249DEB15D8037A01A41FE2AC505390945A920F6
D877BD927F2CAC2CE8EA5EFE2504DC46D57F555721D278D8ADE95AFB502030D8
5DEC5354166941CB96DA86BF00F1A8C52AA988F5E09C4644F615EDA7280574D5
9C7CE7D6149D520B917236E87F5ED1194C6EC70223DF0DA086B111BEE5E3F7D1
9EB4ADB52C35C084222230F7C924FCD2F47911B8ACDF27D10148F5947F068946
C69264CC93C2F0D76FFCF64645C30A5B18DD5C2EC4A702819458915CFE982E77
95ADE2F0D067B15D4C31B7A1E3E278A627DA7714B720754E3FDFCE8A02B2189A
8A288766C242D23C2ED78E2355798E21BA67E90C205F740908F3307420AC8CA4
12B7C27D285A3B8412BAC33F69B4AFE9D0113A391D83E5E5D5425BABF1105D86
BA7768352D7CB3DC4A72A71C636151E314B83443FB7A84E35344C4B6F3DF3505
9A0108D3841CABCBA8D5D32A1EE34DA9EAEEACC3C236ACB198933E8F5EBB0395
98BA4667953D80FF1D78C204CEED88669B06A157EF0C0FC137EBBD82EA2D652F
042CDD45A5E120AFCE799CA85BF7BF610CFADD91BD92187F7E2AAB0E24013622
5F078CE0CE9673B4F6CE5ED7542C2F41784ED2A1C763F721569CAB3A436FC46D
F10CB49945C096E903ACB895192E3A2577E81832CDCD52BD00832711ECFE9677
79342E0A921FA4BCAE2D1EA79AC6FD946D818C4C58699CB04FC349A0CB5272AD
5A4A4D777D1728F79E26EC9717FEB258788E54186FE30F2E9108992B522E5D6A
AE97E4BC589340D06A28BD597723E8B87E8F2B99A84B63BE0AD0FFA511CDA1FC
53F198D2A66974EA3DA147EA6A68B2DC2F120B44F8101B724640D08CBF77047E
6C99CF1D0CFC2FC4A52F0A715B224FB81058829D0C0DDA4379B668C342D13690
2ACED593F76DA482DF8D9A9DC92A4A69E2C3606FC8BED180A7D22A1075918161
95CF0FA1AB1BE6AAAB1820A00511F871E0A3E55A036486EAD548894DF391969B
DB87D0FD1EBDC8344667321CA472A6893BE7B59565479EC85D21DC03A7AA09F7
F998EFFEFA2C6FB93D0FBB8B4F897C08A61435776A24719471CF0A0C22240C6C
17B3FBE0EF28FFB9AB574B7D38BB11CFC62E0F4ABFF8006F94DE250706DF133F
C97317ED9867045906F13B1ADA637E858D105423C6EF3C28A633DCD75308F80D
93889B99A89DFFD792AE7ED5579D0F2A82FA45E41FC6C0ADD5B6C2B9623259EB
849C4A4D82F88CBA96FBFB2ECEA6AC67F15407688319991E3A426FC440496877
3EB7F526F755F6DD3FF941A6A2F1AFF6B3A6A9DC60C48EFE924A54EFA164A3AE
20FA2448A41464B3B1E9D16249B4D861A8C91670B1F7994C81D014A25D35112C
4B34FFBE0DDA3F3F50F26F1E9A6E793EF026C0966E0B036E0C5D5CBFA5117D2E
A00EA233035DEB0A9D80B0D63EEC8F78A0FF0B4256AC9B2F47F1224C4816CC65
B518DC59F5CD4264B88372ED513B3CF43011C48B4D1BCBFE342A73D647992FF2
B1FB8F398E8FC21F1F0A4C70D8A505B10E452B273C3167EF909C44472F55D464
DFB683574220F379D350B9195E409C34EC39F35E468D32DC1A6E47BAE822F77D
8B12A221EBFBC19A70D128251EB8D3389962708F82DD6B7408372BE6565139D7
A774A3BBA0258779C62C68F941C29C36B658386EB7DAFA96B659E983FC7BA3B4
C8EE0CD927CE9DCDEB6F3E4EA7E53112899CA7A3D08556557F227919291495E6
639615687F2D8BC26E10BCAF72E6DD89EAE218932652833735BAA71BBF80ECB3
C924002EA55127010EA56694ABDFC964B90CB9F2C33C9EF78701AECD00B23693
02A009CC3F8FC6FAB8ADC30679B74C19A985BB4D6F3D1DF3F3C5C09DBEEDC9D7
641275E1AF7B1DF55317EB3ABE4B9BA16FD41F9A072C7AC928BF7CF3EBAB86CE
464B6DF5FEB568C459CAC53DFD60D991F09F68206D9DF48752F5F1D073F014C4
06C627D70F22498CE826899C19FA15212ABD0CE18DBA483BC6A2620F390DBB37
422AF4A36FF7BC786E36A16CC0B29A8B4AA28B866263580058E1DE25E0E53223
B97249E8DF3498ED768FA5A39049ED70443B0E8F4F6A9C4E582AA710B13C91C7
AAAECA803F0C908656134A8253BA7FBBC55C85240CA3A5747ADDB7B8C01C6F6B
2B177226463DE6E4342C2CEC1872D384338CBEA3714B05540EBF7381E112FBD1
90526616F09AEBF836C16CFEA24E5B0EF78F2D97A856E2DA8C8E9428E7A15FBB
9DDC4F97C7B7C5FCABAB63CC9C96D059B2BF54BCDB4F32873D6F932A35E1BEC1
856700DE2AC1F6ABA2024CC733F5AA0B218E1D7415D22A5E4B1082547A3CC7F4
F474AA19A3838291748E4F49EE98869C0F01B7DDBC977A3B8E1D879C0BFC9260
70283E9FFB6650661623800E0E1514A160CDF3DCB5C305208A1243D8B6CA5D0E
D135C94E5155DE8A89FC859B211EB26849A167CF9EA8660FB9E2E2B19F0158EA
D00356F52E52B81C7F7E98D6D3D1827AFB9EF8C83C9DB91EE6E5767FB1A3BFBE
EE596310848A822F323F421927AC215F7604C86486F560BD1DDF585D371FC54D
898BD493D4E49E1118CF3488A3122441F709B6DC4A44AB95704A9530938AEEDC
4A7F50E45C246A2BA91A7A9DDAA6B6CE2E9657E56970D0E5407BFBBC9A3AAFF9
A32C8EF2904F0C3E85AD10BE2456B8D2BFDF8913C718EF11E27B7DE368202FEE
D6A633614A6FB095D544ABBF7F015B530A92E29843D5928FB74901377C4E60C7
84BE89074A79634E24FAE41EC7EC18C4652A915F7EB067C469D730DD5BA3ED92
9B0C11EBAAE911D207687EB0DE2438FFF5B5FBAA361E379B7B9E55837AC94D0E
98931C9345E4B3536F1B01F037BE24582795D547174F3EF81E656C5166510AC1
72F973AC5E3BBD242B7332C88A2E09129AFCF06899E549268AEA6F26098989B2
1E40B71F50A9359A84B8A571AAE3E9A46DB5BED194E2476A14077E11C4ECD532
2DD2CF8744A5A685E3DA650EF9357377C3906A2339E4A47A18521BF479683882
6617F607BC23B484318F67B54F04563656E17DB2278ECB617D6700404E137256
339C01DC0395246DCFA612534E721C0062527CB0B8FCC7B17E1D12F11B880251
7A34B2F04EEF3C459F34E8D12F79DDD9372B62E214FCA738D19D7EF0EA98C207
6C2DE95E4C910862EC793060B2617435592C0F97BDC46B7A271817E20893372F
DBEA1627F24FBC77E180DD978B7671E473E8CCEEE8899727BF9379AA7D55CDAF
BBB0F5AAD672709D529B5692ACD5C97439F3306AA0414FEE61E0D6B5700373D3
6DE8006F00FEC8F67BDCEEDB2E2B49941784A5087C4788C16973AFFA33D7173D
4D0F7F302C55765B4C4E2F42E7F5DC865A5154F73A7673173AFCEB4ECF23BAC8
20969C981F60816C13CB7221068F9099C9B80F179A45B85EAED3E7B211A53839
6A10AD15E2535EC1716345058F904B7351A023F7DC6B71B289A1CB8E41444C23
450B9FDEB1AF3D622707F92949317707AFD55332EF155DC1945073C95792C782
96261B3921F969DD7BA9BB1DC4B6061748D29A255D411B612F020292535B38D8
853030FC48E29C8896982894A2C49187940B5CA455D83DF2F0B5281AE3FABCA1
330BEF053EDF7B77295A064268304502B6270EBC50EAE1565325C88CA331EB02
FE8CB6FA22FE89D8ED81FE73041369FB8918D4B6D50BC160625DFDE9CC7F3458
A577891265F78157D57428C8E99963EB9878D9C7FC040BA3A5EC8AF488DB20FC
833ED2AD7F5082177C4FE884D37E3D5436C4BEE9C8B82FA2737BB1B92EF0BED7
F01564C45822537C5E73BC2D79D783F7C715987E89ED0B78D730B71152A338A7
BA661DFF0E0EC5EEB02B861392217777A569C41B80973509EA942B9622E55CD3
B4EA00FCB0440DE4D6F7889084D680F931F2B828176880088C610050C45E713F
8451B180205728742EC190DA46F0380670D59209211E45C91935450F0725F07D
CD183F1FB8414F8356F37389B61FFED4F1DE6EE765FB265FEBB71D5DA6374D07
882ADA46F2A891A24FDABF57C08EB2F595521E911C75240F97B836FE62AAE7D9
9E886370D986E2F2421F18FE7FE4782BC9B6CE3744756B7A3B3FEB94BA3D06B8
5BCF61A18DABFFDD9B9982244B53BA48532F73ED8F6D696B303FD210BC0C3E2F
BCD8CDA3C6BFAB7392253E967371D092B9AC2C10EE25532C1C1A1F322B122D32
CC0740CA5C65FD9BFF103F6A19B9D51A8AB42EA04F1C873F1699B6958AEC1239
DE30D6FD6CF8C22D0B2593692A39D6949EA1B0B53E6581EDCB1CD0A95869876C
5CF0BDE9C90BB5DC921E24D994F1B52AF67C041B5491C07A65A3F235D962061E
F888F5EB9B54BEEFCB4203EE3DE6C298CF3F41AA7636A25304B085B150000E6F
1F65ACE847E85BC188E810BE698840BEC394BA6909BFFA99E0A76317F5725444
A7C91A27621DDB668E1408A4B42B0AD158FA4D1313B27046C40E355D1014DBB1
9C24EB133B3B32908FA4859BF391133EF71813FD63822808966239FFC96F6F43
AE7D089CF57C1AFBAA4CDB6B57ACDE095F46E9C9892B799EAD90067145792E0C
E614C6CAC3629C2DB9B53943D7EEA84A68C549A13119AFB6BD1B609E4ED00D6F
7794F30A7C142D59FFBE6601961F0A184ED53CB07843204C1F58131F83C72F44
5B335FE76F5EEC8D4D322C64AB345615A50BD3BD1FAAA49AFBECC5136048BD4A
4E2CA4CB5CF2456A1426656D886325F989331DDB60F6BF9A7B9057C025283E93
6AE95B08F872082FCEF59097EE9709821BD16C198474C4AA76CEC70DDC916BF3
B12EBC8FB34411199F40642A9E5558073C63C379781293F7CF3EFFD6D0E309BC
B7D49A606187943E6E75C0BDF39599C998A9B4F61D72F448F29FB1CCD49AEB12
14C7B83CF066742E65887DC8493EBF905092FEECC09FB1688D6F7C6B196102E3
372A138AFC23D7520EA86D64CDFAB8CCD41BB1F06578C62CF125CE83CFCB4D2F
62F7645C51CD43058906DF9FC59BB7B5745BEDF719E6F5BC0C43F78358B0D49A
6FBE10AE9E7C313444C210B14AA51A7783137448F21415B1F7A16099960D92EB
5357742C16939C7B1FE492261AF3E28797CFA336A12DD1FDB793FD845D37AA39
4A739F6DAE90498C21EA73372949B0C486D028DA7F2407513973835D864A0853
A63EA940D96F17142ACF1B5486FCC8D8AE40CD79D55D4557431C31D85797B1CE
7E113C1A0302C68052F0AC9F2616F85201F8F58E2BFA539D7025F289BFEFD3B7
72B6884368984751EEC27F1CA26ADAC6F7DAAD4BB4F28B39C657AABDB7487F52
AA973A22796EF8EDD70E6AC0722BFE2707675865C90A8F13F02C78DB32DBC23D
2D99E1F07FBD493752528A6E5C2F4E8F83B2D1051AD3844EAB7A27260F19EDAF
D05BFD824C41051AFB18893132C749AFC43C264D924D42B60FFB55E29F591FEC
43EA5C1F06858B8CE97A75EC7B5787BEECE0896EA46457BB26B2D2C65C17A022
B1E870D92C74C799FAE25EF4C3E87587B0F435E54DBA42122C0AA21A08F9C7AC
CA423BFDCDD252E20D08151A637113C3407276B41134BAF14FC488BDD9087613
A25CF4F8C4861C62E1EFA6F92DE91368EE171CB610793A06C978E1B0D641901C
0F310716DBFDAD1CDA7DF2975B6F5F5ABC05E331878B09C114E974E9C57CB303
2621D41ECC898B617485D7645980B35CF84CE5D28965F4D3273DB7808EC8C0BF
7AEC58BABCB0A4FD528E21E0ED3C41A81DB12BC0348963B55598336141E2B647
A5CF81547CA5E5EB9E04405385AD3F165A50586C7F9076A1983D43FC60ACA6AB
144803547A48D54477D3B4517A4FCABD360EA2EE9B5E3BBDF8C9D9C68743DEA6
6AD2B9628DF2C5535066E703E8272543DA07DB2AD7EBBDE49AAD5E37B92451ED
85EA239A42FA517D2D85174325FEA940407C0F88E8508747F3EFD7F25BBA4CB1
08CBF027E16BC316CE1DFF875A622A5EC59C6ACF8F4D7DAB4011841DEF0D4AF0
D93B84AFDF60433E095F1C8FEDA88961365C80E3F36C1FB345809522DA01539E
BD8DE4C8FAC28A51BE1F43288AC5F71BBD3C05A9A30DF0043906668ADE23311E
4504153DA865AED7267CA45E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTI10
%!PS-AdobeFont-1.1: CMTI10 1.00B
%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 34 /quotedblright put
dup 39 /quoteright put
dup 45 /hyphen put
dup 46 /period put
dup 58 /colon put
dup 65 /A put
dup 67 /C put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 87 /W put
dup 92 /quotedblleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-163 -250 1146 969}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC
D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D
993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363
2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B
E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3
309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513
F42EDDCF39AE522A1DC2DC523F046EEC4CCAE25792B702C288732F5B13B5CCE7
E8B6A1A1DB86B1EA38883E481BEAB54023EDD9BB94E7780DEEA577ADAA169E66
AB7D8607B409619E79F242CF52E618AC0DAE43317C507CDB27EA8A1472D4E8D9
17E62C98DFB049C78AD15560CE44A39581BD6B555165091C5D41071212A9D2E3
05965AA02B8A67AEB04D915DADC1B84A531A1D672AAA06E9F720BA88419A3183
63D1F9A3BEF8CB2E23CD1F9C003BD7849F093D3B4C83C153A5A790C1F9E37948
5799C02F004C61A6FFDEAA1F9AE884DDD40DEB1539CFE3C3BE03C7C33CB54D56
2C2A0F467049797B56D407AA43EE6B8C3F978A7D945A80BF711C12D6BFFA3DED
35FA8B22E68BBE4FEC59E4C56D3C57E14995A8ADFA51CC6C3A84D3D775CAFA87
A1A0F45C0283139FB485B8FB0BEF5232494C0CB564F966DFE0D0566031392619
3FE8F0BB6747BDA591DFB26132947872D3B209FFD838A17EB1D5047FF880E7CA
28BA81889AB0DEC353C3435B95D95C2F085D4137A62F570CDEB16C44DBB361AE
83DE118ADA0DA5161C826F65DC8323D7D8C9CC860FDA7ED795EAA20B1CC97FA8
AF8EA786924702E9D7923D38C729D4CF51F3FA68583E9CEFE4C7E2C46F7E343A
78D6B6DFF1CE99695B525932A36FCAE65CBF8CA33F19B5FCC65501732575ADB7
75275A8B076C41B49F6B9DD98CCEE4248EA55F396FF5FD3F2C535A291657FFAF
9F8670C5806792CAB5FA50A235A9D2E5357D8D8A0E05A75A790249CF09AD48B6
05FA7E9A8751BF2EF4D2AA0222D20E405D2471F19DE6D58FAEF624A437902362
5D81178CD62290E4B519BB1C5003AD7D7FE7A42A48F04D640C744AD138C159C5
0F88C3FB95A0E541777EA35C392F09182FD45847263DCE59588AC86D95FBB79D
BCDABA5CE37C217572D6E450C20DC0E84E25EDE104ED8B8E840530134214F0BF
BBB2EFE76225C286D3FF468E55477CB868CA563C7D28C94733A75DB8947B510A
3F4699FCE22CBFF8C01FC6286CB0F64415BD65CCE6A80B84CA751BCEBF315BCB
A3675338D53AAC627C2DAB1F230D056CCF017CFC0DD87A3A47CFC0C126D408B7
4DD99F2DF57DB3330681F0F9E215366B38CF48284DECEA833DAAC926EBE5A535
86F0EFA4474CB1AC1DEE03AEA22D5AE1484355BCD2E6B5A715F1BE34FFDC7E25
5011233239AEE2C49A61AEE7B63068F3FCCE4D8C498E120BA9B13DF0A067285E
49887B2653BE88CF91C6239FEC6192E9DB3A0EF33095056CB4D28588028D61EF
16D171D79CC6A01C4C8983D992C72179D08666AA484F8842335B3F348373B5D3
4284A7168B38B18DBED86BB8E87569A61337D79303F889DE30E1E3EB8A9F59E7
A5FBE8AD4FA13CAE431276AA758B55DAFB8087E3B4B5BDA6F4E491E32010F7DA
1622BAA5796897149FD7A0078B9736039D38E61B3F45DFB9A59791207157B4E1
A9B7A6ED061DD169A3DBE6AEBB360102A01A4A9A939D5B1B4D88354435384C01
D90646D9FA33F52A6F51AE7BC3C20FD35400B7EB9E0DEF902DCD5C683A812E0C
317BCE806452BAF0B635924B29155908F9E398DC842325E7A805CFBBECC780E8
858C4E651DB3F21D7C2A7B0A136320959B4CE6648C443AD58D8940E892160AE4
EAC7A410773E0447C1AD979935B5FCBD2AD2A4700E60F5C7B2DC3B6F952307A2
284241E23617650AC6F7D4699032B7AE2A33429A74EEB3147CA630BBCF023F57
0760E9EAE801D873707FABFB28F845993C74AFC7DDDA61616273420E40D441F0
87E195147C084FD24F5ABC665BC8404927DE8C7FC1AD3905336D6B5C270AF89B
E30DC11A608A6CCE6BCBE3965B99462E74F4104B025134F94F9CAF6355CF48EE
36A0E6E93B01C8A47B6E25801AC20A70055EA99BE72E82781EE7762CECAB33F4
5D2D49CF6A3762310C0926D9EB6D02EFCAE6AE0F19C90F9EADEE2147665594A1
61D1F4BFB9F9F026638A63392DF68995369084E8878D0DDECFB9014051A63949
10A7E2EF46B2E13A6156C7EBC5953AF095AC1DD4D0046E4C5BD5AD4AB5551DFD
FC79F4B1CB623F49131D78C0EBFABA072734D63AD9060418DA63E769B555D7C5
503DE5766C2E8E58F18972DA3A971E059D617B6C87BE20C0D7F35C6DB48A87B9
479E2DC34D28F52E7581E1500ACE5D297FAD917497329D2C861DE6CCDE674AC6
709F1560B9A3815A137C94B3656A9530C94A8E93F785D1F3D3C6D6B572249C54
8096B03616551E37F33EEEBB6E8F51487798BB139BF82DFD0B920F30FF3CEA03
9337A75AE908C570BC7DD9BA08C06A580DC513383EE610E916988B2CE823374F
24394F119F5CE5B07E764FCBF963378288A5250EDDC7D91DF02F7D5B46F45217
F7B52D7F80F82E0C909BDA40B366D02E85D35F2C3165B5D13BFDA6C394093EB9
22AC1D7417C2D8AF50B8EF4C4331FC7C1966BE7F1F9F50847A52CCA3607BE7BF
6508E15283A54B1532BFC2F35597A006CE5427FF7C114B80BD33B58FE42C811D
6706A12A615F4B7BC1CB26E1D686ECB4FF2A962F76D5E946EA5C934650BF0816
988D09E7B49917BC4B33F68982A6D6A0C91A86CF1ADF26EC250FA56FB73813B1
79475C929EE854F49CB11190E94A9173E7C78A65ECAD54643127F8D64F84FAEA
A6E31E14C146A3A3C6DC59D0C29C4C7916E6D2B60B17650AA80EEE170ACE051B
7AD90FED27278C197B82954E63C566AB102CBDF0FA581117782F3A6ADF241ADE
7826CFEEF17961FF5C4EE4BD84C45047A300648F4EC19FDA8212292DBC54B027
901EDC9AAB0D6F5274A1A20CAF591A4B2598409676C9DD3522515458F226C946
7C05F4D88915BD2C149A025027281C92C6EBA700B57EAE12702BFA3D03F5D079
A58999697C16E18F99865FF93ABDA0EA4D01AD8C14BFE3944704AB250D9E7D58
B4E2811DA6C1C1AD351EA15A23AC406F2395F1FD1301F23AEA6CE23A8EC34BB6
032AB1C4B6F3E748FE852BE0C044E07852579E6D0A84B72CDD725ADA718AC14C
DE1FF077D87D37D7282166BE35BE1D6AC4D0C40A0C11852F3F9001BC78E2BC78
35D0B4CBE6965C515002320BDA2721D4968C1835406680A72A0B02B6D83329BD
DB81D24FFA508AA58C8A509C18D9854CB4645A7C05460297B32A2FF9AD1D2F57
4828A85DDD879B7596564425611A023FEBA4859F1080B4F4AACF4565A152697A
FFE891139F18DB6691D2C9CC4B10DF957FCCED4CDE00DB326382676C38F25E8E
759955441A70DE8F722915822357183302742447D892C56CDD3E74D007BCB5B2
27B25D0507053F4EDB0BC66289C83A47B4633FCAB7E626AD5AAD6D24BB252F52
176F6F32826442D59D2195B2A7F5DD540599229A6CC6371D4D94422E31A64047
029DA906D2BDB4B267851488C22347845B0BB402C8A97E7E5E133D8917236A1C
30806D41551582E7C728AC0FB480C255EC810266DE7B46E52A6423579CBFC06E
C8E2FF9FF00EF9FCC51FBB22DE4428E280CE1FD5241CCBF81070486A0DB9536F
B6BF451F7C706EE44D37A0D78793D24CE9049BF285C1DC9AEB61BEED88C4CDF5
D3BFFED602B26D4B3788E171579289859313C918CBF70EF8F655CD4FB73C514A
A34BCFB555B6BD835FA0B80997608E9F938257050F1673AE03E6B4C6F96045AA
A8FE116B8A9C0295D34802D22528B80EDCA6AC2C5CFCD57E12F12ECA8C0BDD0E
EF7F3B6F4EC14C3A9C68ADB70B6454CDDDCD3181DDA00BB3A9DDE3C64F162D0A
9250AAB836AF3F3C71589E1DE6B542E9D82B1266E23046AF5A57A7FD5A3EBA92
B137FA2161E97A54B5C472BD23CF56F3936DAF5C468AB88A6B587226829516C7
71BCD7CF1D3DD40CEC1A6F7895DC95C9C9BF1A571878036428A9A42E9B363EE8
64FE7D1473CF558A246F0921C3257F0EDC4EC2C1FE4E342011AA9CFA4472204C
CA1DF74F5BF01A3D0F518FBD76194711589E02F3F5290599E0F066F617B8F0DF
6C9196A71F091B8D7A8FA8A72E907EFD9821E1A023FA4583B1BFE762A07CB409
FE74B4CE4A642AE77B5FFAE5FD7D65A1C03EF6FB31264EE51BCA46A8927907F3
AD83EC5B5337F738F44E204BB64FE063A8C7738F217BA319F23FDC8A65610014
D99A05449EC21CECBEB27602F66708B1207810BB167AD4D4FA4AF54767A35B1F
B17454FD0D82F04386A595397E2246ED339259A4B70854BAF3F41500CD1FA69F
799BEB5C6FF670D4E0623B2385D545E2F46436FDFEE4F37DE68308BC86551E26
0DAA88D7A8E54B4E5FAA94B88E322EC04542C3F8C9AD3DB9954CC32DDA1A7002
8793B4532A5D6D31DA33470BB6D812891A52EAF966AA1629461C25930BFC4C8B
6B03832F4AEEA5D0B27EDA93F980E91B5493B9618F143A4CBD26B4CD8F0C3D16
5B2F27AE628D9AAFD99F4A1677557D68AA42A8832A7D44092AF20DC586290685
48BC89B6DC4734F8E13F714A54742DFDDC2C85EC30E53E39206594DB51BDCD17
5A68BD85E351CF51E86163748D3AD70555FF1D5F7B0E556E54744181F7C48BA1
C2C56129EBAADE51F7764AB181B6FBA1828107F61E8047A5CE36B58F5D6C2C17
61990478D0D44C23B1BE2BE6CCE369DDD14AC25BBAFEB3E33D5D50285E947EED
3A23B5A8698CF9F42F75A514D7B3B0EE048B2F2A4084912CA66A14D1977AC21F
7B2A332F41CB33D48E09F8F0AE912170F6019D655DE6827277CC043E001E37E0
88C7898F6ED2FDB215E4D4EF79787DB95777151B1951A2CAE8A9528D7E2BD15E
37F3BD6449856E5150075B92F10F9615F66FDDE2111A4B7BB546DAB5536B9437
2290D2405C5152996CB1D4B217FB16D6628A0FAA3DAE60943C98F4890D18E18D
3E2740F42CE9151E388827AAFDAD7CE9F12C54A932837464336B5575F0E2FA55
15DE03FD73C73060E4AB72F7BB3B2FC23D1691FD104F0330193915910A3FA534
B4EBE0B42222AF6F1F8E2657D3CE8AB1E8CEB40686CD6953C233E52C3D1534E9
A7B5EC22ED0CE565CF1B414FF50B6E3D6CFC342DE97F723B674E63CF67D8AE5D
C786A0F6BDE30587A1CCB7BB049B73559AD44CC0BF2CB3934ADF7401E5A8F327
9D701A04B88CF62B6B57FEEB8A36ADC12DCF241AA96C019969BD00317C36D0CA
2642B811E7611680AC3B4DC34B1E98426D7F85043A042B74D8711F587EF31CFE
3AC4F7FD9CC6CCCBA3522AE22809395B0B3BB1B4AB9CC1A5D1EB982E9F8C3F97
2BF975141C39AC80AB0904EAC1BE6A2C7F97A9AF3B32ED276373AE4D9FED44FF
4F1A91ACD26F957F9E50E1D4940263BEA65E273B926AA3E7DF828A43F54D9A49
7AA151A70ED55B8B5717527339C2A468608C1A5D665D0541F53B5386BF6CDE9C
E07FE982E83975D173824F2CE58A357A1EF179483CACF1C2E95563C2E60345CC
21556A26D49F40B84A4B4F00EBE05FE36CB920F65FDACB38AE6EA7734BF35029
9865BF659669E1C829199BD232A128E494B1D6FBEE9D92681BD7C0E430C6F958
2054B0587017126033B6696ACF3ECF85A90B3894AF9FC37D65A6A8853DBBB25B
1E016D3BC01EFC65C13E487DA69A7399F57D02FA6FC3EE6FFA7EEB7186D1AB77
493EB4A36D0FD86592DCB7F28617E4EAD22AB1601138628F521962C978CE0D8A
384573776F31625C13F19D35CC396DFC57DC36173DEB95F8A86C3870DB90C065
70481E6DC8F7980CD49C6A2CFDA7EC07CA76FF8DA24E7B8A6364F2B734E1E645
1829B8652B838E7C55FF037DD51C13B2A6867000D3E8C6652DAA087170804F66
3F9E437FDEBA6989464E9C03528EFA9D82D5C67B80A06892B23F6DBC7FB79988
FE00769CB542ECCDC42FA28F34EBDE4C37152A6C6419033854C7351FFD8DFC69
361909D977C3E8CE7E1AFD26FE2B8A7FE5F43058233310A63B0E11F28C516A4C
7B82A552BB84C0294DE50E6969628C96A9506B1EA590E02D199A6174C0CDDC50
B7E822C9312F3534030FD1838B843375F0B30DBD4AFBAA0D0E3A49495971AF2C
E98061E422984F585528EDC16DAA7ED05B4353424554AD2D6345D6767AC69675
2151A3A2B5C28561DBFEE99CE0C957E8BF045D790BA25949E2B9CE6F63BE452D
7786129389D5314E1A0D6EFE59139FA6583DFAD8C130C8BC8C5D4B9D77E778CF
175CFCA392C7D49331486E34C4A934969F61D00E32750170C7B70CF72983E39B
79C07A23D10937CCCEC01186C028E704BBE47ADD015EFEC387B6419F6E1CEAC5
56E182CC28172FD62A1CD65CF7CB008C637CEE19FD4EFFC27E6BE2ABCC70C5B1
C98E9E4975B21FFF757DBEF194AA8266B0D62FFADC903D525766B90D94F3ACD3
A7FC9C32DE3F22F4501B952AFA043A333C7D4F5EEFC8B8733EC891B1A8737D06
867EB30136155DD70E9843E5E240BE2A27B2A5FE49E681CE09FDF95580D6EAE3
005674C7DDB1F9CCD71599383B145B25B0E2F8D97A257CEC5CB815B87E866C4E
C5742D0259F6ABE53CEB7F99038C604C3F975E43D8549C79C26BE9D90F3B7E8C
D4BDF13BDA5FC962ABDD444491851D4C4DFAB33BA07ACFE9BD0FFBAAFE053379
E2524F7C96C62E2F32A9FF6ACCE2377ED03DEA4C75F4872E9BB2971DCE61F2D6
5E40EB4A94B72A99D95D10B1EA7380DE2D290F06E6A63F50F1C942AB62371FBA
E81128E0B72132BC5967C2AC5863B8E849A57A4A9D21635DA15150B3A5F68E6E
A64170777942B04EB0B06033F5C37CA43F00D2C513D6572370E16B8E381652B1
D4F4270B1ABA10CD543C1CA4F8B86E4A8A41B75733223D9F7632019B86EF650A
FC8290993AF5B2AB365A600B766738BEBF9E9653FF5FAA418D73D84C60056D98
06D94BF718A217725D0EB7E2983DF02FE8D17FB2D3F269A0322839D5B0252A07
EB950B64535EAD9AD6DF3A623855983B92803E98A5B15AD12BC1A74A439B9C1D
9374691E7A77F4967AFA1B84034673A932B0DC5C8401347F5126E2C91F775310
84CC81A0DCE7F2F5B6C94FB0154BB6FF0B4AF290AC3E47AD945E5D5F2E1E094F
1FA125199DE39E768166F35BEAFD4F013E46E91BD2F3A43B1313AAE36DACF9B7
3D930CD6196960C6CCF6AC5898F4A74F00C641BB654C72C8F6F4019487892314
5D7BEA38D16CB807395999F745E89C2C0AF226CB5B4A37A01228457DC91FF7BA
768300416FA88230832FC3E5DF27756173824D8C4B438974947DCDB17FE523A6
E26822458D3861C4E3D94679FC72A3E54C11E4FCA8FAE335DEA7D9F09F3EB320
1DC5E1B69CDAEDF6D01999C3B48F27428FE44CD0EBD9BD2F21D7FFB99EECA344
83DDCA627C2B934935DB8C6EA42C40194F84581FEDD784F1305B49917EE2D745
CD43006AAB08048202F11D0461B6B6917E54717A8FCC254A7FCB525167519DBC
B3A261DA71CA704743F06FBD3BFCFF50FDD815E1C31D3A07BEA05D8FEAA4371F
968D5593D20D351DEF6829F95A89B836D6F67F43C5A969A5495F8142B3527AA3
A8B0B484A7082985804922DC8704C9863C30A798854725D31716115801E440FF
37E1C000A901CCA9316C327F4C5CD651E24629A9D6DB57FF174619AB1BFADE6B
03F189C1121F12731A0BFEB2706E2E49802AECEB2C869E8F3916808FEB82893E
D9102140B95BDECE891EBFDC0877CB05D5D693595BE1744486199A80D2F299F0
1532B5B51D44A81F6630285B775CAEC4219484AB679C387736AB657D2FAB5FF4
C1F38955043568B0923EED7871A79EC0EBE857CEBFEFCDC56BB88B8DF95A5955
B1B5C6C3758EBD3961A9AA8EB80F727587D52F520D9C2F3B16D53D04373C40FF
8B43EF30AA6905E7954B30F8CAC576C961A97D017E38333401D46497F464C58A
6F6DAEA14796130F4207C9A2C915FD60987A4FADCF15B1CE028E19D84741A4CF
E92F14975B22E90408636EC2C6BEADBBE2F700D9C52DAB85A8305314D0E9EF86
7FE155A21200C540749897BBB8446DB0FD9EA6ABCF1EE1384401EDFBC56780F7
BA296BC9949FD913A6C1465F372FBE8A94ECEEB080DE004F68CA85D8E14E2FA3
C2C9F25A7AA3107560737D89D424415F4519CD32C08EE537ED3C1D868FD9E959
B7EFAC23F9A3391952F82B64900A8E823A2C151A507F13B5B8494D969668D5AD
18E616740BF5FB4FCB456948366D740DB5977F1486ECEEC222BA34275678D000
E72627EDBA485B582B3D0B8D39A84066E9EC9AEA514C99A610647E8EBD15002A
2A06B2B774369115542E5819FF5CDC8EFBB376FB8848BABC2A9FE36FE58664CE
ACC537460646EF5BE3E27AEA3EF1B448F483352A74BB076C6C70F26919DC748A
8F8C8F00D17DA9BA1A2C6B2EF2991820AFE725820547C323DC5D881A09951743
CF93DBF69B34DB77E5179489647F10AE99BE1A397C3E9F867E32A41D5E648D37
D2A23BB0BCEE888C27357C184545AEFFEEDFD381F02CDF27365C2F6081A9F130
6C093331619FCD8DAA5785ED724C65C750F68AA4F0DB9482ED5A9C7AFCF992DC
C7E835150F6FB2FA3B7ECF0EF9E2DC3FC4B662A39BB4E6647C970729D6C4AB8F
CE91E89425D5C3A7CFF43E0DE81B4010EBFD6F4B59E6974D8ED78EFAF93403EF
2546021413AECAEC33F23DD20C120A352490BCB429609877704A5283163164B8
36B1F3C515F58DB0539340A6063F88E2846698593D5518413D76184212A1DF22
DD13C9CD8251056A988A0054F340A7A69CA5B946BA01456FD45BED04A44158EB
89AC05C4E21BB4CD9D1721250A8254B62795B4F723DD561ACD73A975B84D387B
FAE002B7854DE9284C72FB4E32BD70F440083A990FCF0B35A7DFC987DF094D8E
31700EACE3BAE2DF2AF61E8675D5A55062426268A169B24CE0975982C76D36A8
BBE2559A8A48F3B022DA0E3339FEB3357B83EDDEA914391DF8F6E80EAACF0742
B31348E509D17A4C02582E854D3838AAC88AA0C0906C8505FCEAF8703970A3B4
38B0579D7AF0E0283FCBEE979A3E08AD484F0C1171E41F58AD8BA063FE85D248
60EA777285CBAC139159875E82165494DC8A35E3A67A75D8B9C8CCDE9805325E
39EA26FFF3BC9BC99BF2D2D70A5F00F410E50D759E1CA678492DE1072966BDE3
6469C249BC34CD048FA81F3241D36839491656C95313E1BBA617EDEEC4ED9703
DA7A345DE172C2760FBF66559ED167BCB696C93FF085D81987602B193E87495D
2A2A19DC6FE716765861A94108BC65FB38DB6EB504E7E351B9347B68886382DC
B872968991EAE65F67B8FC8DFF6E3E97E94AF46EC98C89D877EBE2A9793CA763
EB155FF47A65BEA3D5D23177D8CDEED3523026E9B5132F6342F1257225F087D3
BF2C1177C097AD32E23138CDDE0F651AFB6F10FD173A3B73042669C116081E80
2A4868ECBE26189E358956839C56678FCBAE2D1705A1E5928A5967596A4CB329
AA02488FB3E2EE9E52C67FE4FC7D40F2030E7072F160176BBBD66DF7B2AFB1D7
2A5AF0F3564FAF8049C4B7397D1DAD17A1DC4E2099D3D8BA176FC81EF20A0A63
C3116BFDC1F0700720DC16B6C58259582B39D00B478ECE899951E5B8084E876A
ABB69C19482D66277AF4323FAB7039AA9CD3B17539E75FD7EC8AB8474E9BD4EA
423607C7FAA068A9339ED9ED7B1C67EEE03AF3F3137CFEE8FFE71FFF275D900E
AC82CEFF1A42FF1955309E22E006B69967452AB7F01A2C3ECC090AA180CCAAED
EF42CAD566B25CEF7BB035E4C6F50264BDE376609389EBEB3EAE245555F49F1B
C67BE891C11FE7A4FAB4D9C62974F4E0655A72B36A86AFF1634B6F5E5B569BA2
3C3C5D9E133A4229C4597D4B767C3F55009E29FEF97A003D249E1DF465C73A41
6BC404CE79CDE12E861E8455E88A5C8A92E325192599261D99C319B561B54931
518EC86D45D7BB6F19CC3C66069E597E1CC055C4A3BBDAB813CE6813C6D8BA2B
DE6327582814F278D91B2BA37035F322B921A22EDF9D80DF29C0F6DD0D81C17D
7DA05D5668C25720338B7DD5D71683926279031B8F1C3A6585726F45B173E405
2ACF6F97355BC9856D0597990EA6A35DB3B1EFB83CF1009882AF73CC04FA44A3
5F4B1D9C72BE9F2441B09AF179D154D7964DD71B0F9469525D314330DD1C8BDF
0B2312D6ABF64290EC0B24BCD55294BF719A222D945ACEA9E427A42F32F5F5FE
D839F6378F381BC8194497A8A3B4F042EE1B960DAAB4148B5F1DEAD2049D1726
F28D34283E1F2A2CE61C3DA6E3D1B25F21A2617377C4C5B3B275678A158BBBF2
430A7079B4FC2873DCA92DD3B3DD4903C71E544302E76AA5B855A51FFC17C7DB
D11D7906E024E2F193A10ECD6E74CEC5B1ED8A6A494F4E79E2269AC55A26EA8F
02A6901D66FCD03C338FC6614B892D011DC089C36236AB07DC5104B8266790AB
D464B1775BDEDFB991A9015DA95A6BCE1B3E61B71BDB2C08D3C58108929F1E6A
5BCFA64BBF4E1EE1DC873492B686DA569873C0EB51DF8CFA743FCBBA2CCDE3D1
F4DFB080A258BB14081593ADA424B77DFBA348CE11E723F091AC89C0D25F6794
5D0DD2D1A78CAF3AA1DD692EE3D76C6750B1104A0D6512FF293E23CB895D3285
F9B4CFAE9F4B44129E45102104786D8EFCE9F00B15AF914D27CA7332886D68E7
F32963740C6ED8D1934EDA3A3BC3D16FD3121E76040657E4C917AE56512E46B1
B3E57AD1A83FE1EF1A640E9D1F532A30515CD527153C9A597C5257E6B1DA8018
63A379B4B36F7C0352E184A30A581CDBEDF325D9D92CF9FE2EAF2B4056ADCC46
817C75FAF27861C519C2EECA730EB6215EEAEAFF9E13E9636E356B24C1FF32E2
BDDDD4CAD0D46769E3A4CBF16C9AF3D2C739723CAB2427464A9B5FFCF7BC5318
8365C834564EA5B11F1A22CA59575D07C25C30567983467499F27352D34457F0
DCD55D488CC9E5AB42DB1AF140B73EA7FE27CD44D8E610D9012FB57EA1438F85
5DA3A2ED40810B23A6A8F814CEEB2320CE5E1A9A1BB117EC249E409A06BE8BC5
A37EA89E74B99FBD237917F62EF1CDFFC3893CB8D1BB527779417FEB0351C69A
06231B2BA6939CC21BD9414B9C1C1295D6BA5745B2F6FFA498C20964AA73DA93
F2BB60822D88A77C029C81CBC8118F1369AD883B16CEE5E59E892A027681D02A
D67B1389B10A2A0ABF8F22B6F8382F06F3CB90CFDA91AC45FFFD7AD3A192DCE6
14201D03D9C5F6331137715B6B10D0547434E4E129EFD3ED59C5B2134356F265
E2DFA95CB62EFC4B820966A9A172E5B2A134D359D777B68186704FAF7DAF575A
D201A26C6194B9FA36D41DC291A62613B5522552D2CFFA81D276009A8612212E
293FCC8A5C85EEDA263009C4FB50ACD7B65555A9174AE37B1DC8264A15225426
C43F8A6ED11198FF1BE2ACB099D3A03197696AE50238E20ABB729E5E52571C77
191CF13CCC1401723756C86B0A420A0B906EA5D42A64A44E519F55E03AFC0661
751F9A3C792E69FC2C33129196534A91F1F939092789965E9477CD9BB709ED4F
FBE00A1C99CB740844686E0376C00AD3EAEEE30EB00722D4868842EE0892E746
9659A2100DE024835D5CEE113295339BDDF6DEB2A98A0AD1BFD3B14F635D08C7
AD869861D8996F6D62C1E427117BD63D64EA42D7BA83524496C4987056CFADC9
63125C0FE0140ED103B5D6B0E1AB36A0B1D4CBF91F4169A7D9AFD33DE1797C81
9CE9D164F82D8FE0A418F6C507BC58553625BAE9DBE8BC9C32EBCE696D794999
0CF08A51E382D9D61BA9A775E65AAF66530FE0EC1AC59169B9BCB4639D7BA735
3F2EC8F2717E3FE8D5DE9FF5455B965D020917253C4D2547F2181C4D654D212F
3FC05C4228A594B7210983D1CFD275B1FC3ED531ABF2ED9C2D7DEA0A76803647
F39332BEF79D7E9BC27B37DB13A0FB28589853079C450D5CA4DF04DB318C960D
99AC8299307D088A4FE960B7A9825996C0DAE4D079B7432BE00BE3F7464A964C
5C3C3CAA002B275224F74A1D321C88B5B5A1C75E4BF4D6CFA08A5757A9170235
D6FC628111A061B5BE909D9DFA94D2C9AAF14485C29C8E989E4AC62BFACA48C6
1446A1815C66E27532A8C4739EA1B66CF6C2B1958EA6A4D5050437EC38EF0611
8029D9239ED52DD578381676619C50EA37B607B850897BD128127EEB1E3D309A
C639B8EE8EE137E869CF4A7ABD7A95C91A92843F10695BF222727E1468E3C441
8EA028EF7DB486CF36F39B3FF362C8B1EC317F3308593E9161D3344B0EA7FCC0
D2F9DE79BF85D1FD4E99C08C739F6912D31D564D6CDD5259CD1C4F8A6CD880FA
61B17D640C53D0FDA25243FE24145E591D5AE252F5FFA4D915F7D5A276F24734
C1871202059121ED1925B364F6CB73BC01ED20F15C2DE3B8A57BEC3573521A9B
983424E10A5912C522B1C3910959709D1CA6059BF5D62CD29F839E8990DB94A0
D2F2F933E6222C7B7D2AD2CFD06A7BE46A88D0AF8DAACDE46F75D49A34C4F272
AD93FB97BE8954A737C1703F7A0F838F1D0B3D5087ED11B65E48EC276C768325
A3BE5EF5D572A248068D9E620412F1B3AE3B7946A213712E31318D888CB42AFB
1747CE163ED1CA8A3EFE18FD59ADD9911A8D8106104514123440BBBA69E5CEF5
08B630C56C95328280FD4B222DF082439F36A30FA69D24901879298B98925255
7CAB87C2A1B917A1382E2A7B4253A9FA3A72A7AD0236C9D75910DB3902C6D3C5
2D81416C240740255CA5703A3EB0DBF6BBACFCA8A76EE8C5F5F00D71234556F1
5EA0C1FE6AF7D11E5AE2430405A0031F82BC23C50F689D5521205D6188FE143F
C120F809C26E1628F32CC760D4DA7A4781DC7EF8508ECF12E141F2D9AC668E8C
6E6A41E979AE5CC8488B365F78C9CB2C9B0B213AB9A57EDF56E618B189129E95
DDC72CB8A9DA836D83A01C5909BFCEBDF3C696E6DE0D1144E0BA3DA3FA20006D
C5C73BFE3DEEC1FA9504F2F09B34C269635F6FB343FFFD7BA1562539EFCFB33B
7448C2A38564FFE17B1D9CA7048901FFD113163499A42776AE0A30947AC65D75
4735A13414A2A533A0F1575CCB273C435E78398D74A731E940B750CD4F90FC9E
E03A7A20C25141BDC34A5D729647939D4D90D583CBAD8DDD432446BF28D60362
958F81E6A99F0CB2DBAE71D6C17BEF29ECD901AC4344F3BA01E631467A9938D0
A1188EBA5C2F40FD98466EBFEAF7D4BD6E7FCB269B0992FFC5BE3AA4F1FF7AE1
6A5CC0D5D4E1DD0EC2F1B9B879785048BF5791B06F628482A44159BE758D62E6
E52911494CF6F0E8D0EB25ED90D0641990FB7A39230B47580A34D29F2A900476
A515DF6568B93E22C53C98F7C36DE18EA8B4D501C16190A7C4C91EB7BF7BCB60
74FC91B34B8A6536FABA7E00E0955F5E7A8D382123C7A01D480C8CA3D67B2D74
10BD37407A3CB7F5304D5B79433FCAF67A27453A29467C231B4C96F0A5244EF8
66939723C6B14C7B8B12EABAA8B71920FD550DC8B709333C8680EB548DB9734C
B3759DB19C0AD15F16D3558570A1B2CC7EE67800C4AF664886EFD5198862559D
7294CA27D656B76DABB77A757DAA94E81AC235978E29AF
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSL10
%!PS-AdobeFont-1.1: CMSL10 1.0
%%CreationDate: 1991 Aug 20 16:40:20
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSL10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch false def
end readonly def
/FontName /CMSL10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 42 /asterisk put
dup 44 /comma put
dup 45 /hyphen put
dup 49 /one put
dup 70 /F put
dup 74 /J put
dup 83 /S put
dup 87 /W put
dup 97 /a 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 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 121 /y put
readonly def
/FontBBox{-62 -250 1123 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142
08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C
30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF
C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A
BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78
5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D
43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1
374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23
DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4
B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B
89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
7B6DF50EE617C00966B9A2828882804DB7477F4A8CF5345B7F3568B4F72BCE73
2E2AA5BC4B4C70E21F3AD9AFC3B8605A00D67EF9ED1F4D13DDAA920D45B43CE0
0941BF17CF05D2B777C11D4D844AB20C0693D1DDF00B27D9E1AA2D98A4A06CC6
D342AD8F644F4787B66CA7D861E7CE13FCDA85C1B0C9F94009768EA89838EBA2
7818F40A3CBAFE9BD3ABDEC16E56A061E3D8BDCAA7496A045A55DB3EB2D2712E
AD9D0B0A01072845B118D703585D7178D2306EC2D431C59708D066FC0631D814
0166966BB1D20080DB10049D1022989E3BEA3E88B7D448A6E11CCC2EF181C85E
07BC7C52DCF06C10CDFD186FE1571EBD33A7320232BC930E1C24E2474128885D
9119E6EBBAF80BD6015FEE94A5013A074425D65740F1C9B139AFDBCF7AB843E8
41F9A080CC231064EC885A5252649C7E9FD78E314D50C4DD9A43BE0CA22E1950
2221EFFAEC3B0D83B1BB3E35F871077622C8B7B2CFAD7DAE3BFF0E3814836083
8FD3C852AAC0B0728EF54E5F9967C494636B5DC17C6D539B1E72D248F3064B26
8386B3844794F26DEF6853DCA972E15324CB1D2119D7011C1AF4C3D7B6591EA7
80883658E0A6807C052F42B61638F650C15D427C253BCBE8F3830B4617014488
15700EE0439C5CDA4F510DF3465E1AAE17887771B35439B699B3A7A9EEE6CA14
D02EB76AB25B5B7381415BF4A2E730E0A80C4F72E8D7007D5113FCFC7A9F445B
01CCBC45E99F86239D840FCD3D588E3E128F6F613618B50BCBF768FBD373DCED
42125A459DB775A40A7F76E39B0AFC77927EFE9F159E3D1CFD11E41CFF83F737
28267F4A3128934429DC0309DE53618F51AFB0FD58C2D978C193F1EA19D16B47
F56AD6643D37F7DA9C396E3C8029F98E65F6A6873537A0B57A852D1F3EEC36FD
2E3952266E6325BE4196686CA4B7EA75F4A9DB06BC97AD99F948CBAB2EA169DA
D079DF5C2F300D86CECC35AACBB7B49C1057A70E61886623FB98E25BB3A92320
F2D77F8A3DDFA2D6FA3D598741DB8DC28367703373BFCBAE3C3009E1D6D39B2C
C6C094A761C61D7F4723BEEC4F0C9458A528FDFDC344C23F95CC1E26D0309F2B
D1A2AFFC9B952B3EFDF90E9D645A4B45D63103A8E8D88EE21218D63AD5AE2BDB
A46653268D12A154DB51C7A58FA4B93E7A5937D50BF187845CE96B248DFB19C5
99D55346984DA6173D893E5DAF138E16952C2FFA39549E7BBFE927AA995E6A27
42EF88CD074D779B05670F9171967727DA9CD41ECF5936C45EE71167C9DCF17C
4C40F46C8234AD63CD79B485CBF4DABB79AEBDEFDFD745FC580B2AC65682965B
250591B44B95B2FCACB8435258EA75E395B74912F4E5A811016277FEDDAD9C60
0E3F69F532024C9D1B85C67671A29E46CD6BB7CEED4536C17C583B8A2208CBB7
C8DF9587DF51921AF0F31360B3391E6D316C40D3B92BE722404AFC3BC2F0D75F
149637A5DA2585020DC6790E0F415639FC789B5AF7B17ABBF2B9EBC517576FCB
7E16C10DE1577BD4FFBE1C5654EDBE7BDD6FF6D18348C21393981C1C1E3B4C60
FD0C2F99719E87138CAC9994E346591E3879BAB9954AABF8B1171FE88B4B461B
7B3B9594AA33DD598FC1881635FF90CB605951FB20B6726872D82777B37B739B
9A372D9162E4DB72EBFF4E7D691F24A9751028317AA20DA5B7F463D79725D596
D3A6203DF5D51D96A82BDF2C62EF925F45B3AEAF135408AD0562972EF01DC686
8BDE1BE3072E5D717FE9F4623469BA557C33866765D4563FACBA00E615AC0750
45321E8535851BD89796FAAF929CED94E57AE67F7A8A1163613EE205F6D8005E
5F7C5D4F2CC25AD3776855F84D827F96FE80103EAEE8B740FED39149FB8162FA
0F9E76E3213327E7F24CB055FA327C4827A2252375FEBE6A501C45AB528DC658
6ABE430E25A972A5DEF700730334CB58E54C983DE5A56E41B29B76BD3E2AD1A6
6C10520A7C651DE43A525E7535E4F4E6A81FCEF5A4DAD2F2541CC26432AD8713
C09B16FC4A305E44A1DD538803D5936AFAE28BF5870A7585BF40EB36E24A3650
B464E673FAA258DC6F41BC844EA90EBF80C39B7FF7DB328A394EEFB37E12F011
BA2A8DBADC26A19B7B818CFAA834F479A182F0AE16F1898D0511A4076B8DE1D1
3E9BB210FF930779431C100768DC92CB2B981F46387BB7B6B6F9C9CE775CEB9E
E51A8AEC07B799D58748E7C64A1C030ECDDC4C074B4E1B4AA4ADCF24D8F785AD
D342BDDD1D49A5071B37EC734BC91E06A599F2F96618916DD73C6722FAA39E92
03F9F078E0A1E5EEC7D85771CC85D38C0A5D835B3D10C2A57A14D1847F6568D8
1E0B6C2C34A29ABD213DBA1EFFCC2C0EBF82CE289E5AF8CC1D12325EE22DF17B
F9F85333A859D69313035A7372EBA717C94442D84E76C517C856AFCAD46B7B86
5991E71EA0193629440F31D731B0AC9BF1946002872CD75A681080C8A3F9722E
17840788EB6953C8CC6C8C07079EDCBA9CF1A490E5F21C1F97D73CDFA69A85FF
624C979CD37CB39388CCDDCC4A9AF90A733A41B4A2AA19B7B460369447F77B95
80F977981D0AF2FDED3882D2EBD87B4E61003B8A3EEB50D4AA59063AC2B095F4
455B0E3B5223C50EBCA6726BD030C1B361816774B62A6544C0772FE4B172CD79
22EF2842F2454B949F1E136F4ECA260522D4BA3B96C360274CF4A53338D9EF3F
CDA148123993CD1446739DD3A91D8CBCEC2641B18F517705E5DD104942713E8D
41D9B51DAD6647925A8DACD925CFB31B481978E25934F126EF8D07E2C0528103
A52AAFA322F93C1C6C7B762870FD4AE5C66DD3CE7092BE49C16CFC9A6B58C2B5
127B04C953FB1F1D03FD15D93BEE09B2272A2D173A8B8EC6FDCAA69D0C32BB8C
67B9D2EEBE97535AC420BCC58E3F9BF055C57B4400A58DFE2D240DBD978D09E0
B464522DC94EF44A0A443B8BF2D73ECC08DBBB49CA8F984D8FCEA9A40B284281
09E4C0D7EB58BBC0702386782A8E22C6071B23BBA92489973C01D7D77F1A2A98
D7E670EB64124AA8C09C2550C944E922427071C453880CB1700647F94B194B15
EEF7F2981EDCDEF3591CA65BB912FD6EAD258A68893D0277E9B5E718EFCBA5C5
0ACC45329E6B108BE3352CA15EDF9A6ED489438FE8C4A7D193B8D9B0E1145917
A27E6ECC57F3926AA6A882AFCD751897C4B22A6AD3C6AEF20C4B05F2162868E5
FB120E5F8D971952B727015499B534C6E56AB71380F78BD93241DE5DEFBD0633
39460803E947A3BAD8A1D6E2E884899581ACE84137ABF87A595E8A9850B4ACDC
F61CD5B284DDD28780C24D2941A1062CD433E715D6F4E238CA8CDBA305C3FE5F
82D6D34B1B368046F3E894CEBE62FBE58CDA9B9B4E04D0F991307BDACB09966A
EFF08ABF5A2F4B12399CA62EB3E4CE3BF2E47D6BA9B53C5B6A4A2B55BC54022D
7ED98B399B40B9A702614098D4FD6584DCF539346DC3EBDC15213545BF4153A8
D5EE8BBF0FF20D54FD738BAE955E2B6F96DD0343D259532175E1B67C4852D31B
0638692C1E7B49746064F3708A9E09EEC84E93069B0A0AFAC2D5BFA420072568
B73587F9D160B1344AD7BC659B35CBC02E1F5FB9E94ABD1598A90FE8A1DF3F0C
95F942395351C765BAE3E4E993EDA98AD3EEA47F248CAFF122C0EA1802A36F56
A1E7E92246136BECB2460B01F0BEF6915F1C2FA2B377F1857644D79CAC458E7D
1CD55747511FAFED8863D8FEC568105FE3320C4C5DA5816AE4310449D412E86E
63C19EC6EB57A782224DAF30C864101287CDA0FDAC83CB837EA787016B40CAE8
F81E96E186AF5BBC9FD43AD997D2BDE0DEDBC7BB3D77406946B4A73A15D246D3
98686A1D69AA38D8EDDEB1A950C8F19999BFFD0AB4BF22C855945A76E91F407E
93218BCB50B407A7A3BC467D386C5178E8B7783CF67A07B2850655D6B02E82E4
6F7A5A75FC7C5F4CE07DCB94816627F38531239A0333A6E9B5C52A8FDDA9F4EF
11C9C069AD5E91FB140BAB9F743CB4AA42DE249B99012E73F01562319A45B4DD
C0D60AE5E829E948DB38BF14CFD8C4FA83D3C9E28B537F704D204806EE161325
44E4E73D644820539BD992085508E1E7EC278C78804D52727FD40A4A0AD86B1D
5CBE493941DCE82BAAE014DCF85D7893103726DB2CF7524808336221A97043B4
7E08671801BA2DC8032424F362E545275462D1C0212F64E439F3027DEFC8FF7B
27488C5CB42464AE8A289E759CC1431D669B339EBE31B65043BBB9856FD6414B
CBAEB80F47FDC1C64931DFFBA0B6C552230115A30CD88234E460DEF77583A467
A67B2B01F6263930F9DBE5DAC38E2C98C340E896EB4DD6FEBE14A5573DDB6D64
36FFBC63EBB55728873E2F1B0F065A7475DBBD17DB489C6D0BF8C85F94C8D71D
CF2F8EE428079980742606C4475F475EAB5899C9E80E072134394638428B4FCF
A9D136A96DCC1D554F3E178016194E52D2AAB4A743D0928517C2D52DCCB645E8
F2FE55F48D59F328D36ECFBDB21AE2F549588A165358BEAAA0F8D1D9E74AB145
554E0E5B18D0A547D7EF59D991C56DBCAA96E5C082D7EF46D1C815EAD659A0C0
601C579087853D66004BA58A818D65891D455C4CC6AAB94B0589BCD9DCF438C6
08B177F032DEFB683EE5900084FA33DE563485719D632DD7D0D432660FE871E8
426545ADBA1140CDEDC5F9801C378C534E25CAB24F3331973DEBF97ACBE84C3D
B56026B0A3D73CB2874B97E7AFFA512C2EA5DB509602ED15D57FD768AF6FFA60
CB210D64B02284DBADF03C6C15F7F581FB8368A20F9B30161FE79DE03796D59F
974CC627E9B7BFEEE51EB74A49350B2630EC51132DCC3FDBC157AB39427A3342
DCF4B032600077D071B600AEB396534C128082A50FA6EAE7D4A8F0F72B933D99
6BEC6BD8655502AE0D9B23E6D3C49223855320782CF9C5F6386971E314E68F03
71F7E44A8702FBFB32C40FFB94DE1B3D41C98C85FAF8F9DCFC7E9C3BE042E298
4369EEB3222DA615FCED23047A9DAB956ADCA061F4B90B2524392CFB9C3C704B
D2AE92068543F51D68DFA4EEB17D3EBBA2D7C8BFE8CFF1015AD696067CD0760F
F889C8B0DCD0830FF2095A220E674F32E3EE8013D5408A28CE3367C3CCB260EC
07BC07D33B327CD80D4A977F10CA839D5F1E5D969E9BD8F2B70A4DF954132F8B
9F699F4A5537855D2E9176FB19B8FF90373FDA715505F87BF2E03DB6DA2DD906
B7B31D43B21106898048238BDD2FDEBCBD6F500CF3F52D00B9E1AF28081C04C2
D3B2AC5EF946FBD2E217729BB37938F8621E0E29682E50AF217D784ED2380786
B88D30703444C9ADCC2B8DB6E00B703B4FE2817107805419E7CD15D66DFC2C96
3B11441C1DCF7CCF4D2E7DF6462D9146C02F9C754A0F6D90426C72CED69DF0D8
75012645B886745241EBC350EB8499F69D1DDCE861C1492692E7A7ACB548FE87
ACD4D9A014239ABA8F086B3CD16412CC4E2195E51C6E985EF3DB03A98B74A8B7
F2440C9DDBDA65BB020C89C6DB704BCBE120178F79B1859491AD6D43CB56EF81
330D3A8126B91F09F751E6E29A06654C3DE21B68B86D25FB93087997267D4EF3
D46AB3339481306B932583A55066F3BA8A4BFB5822EBD0AF82FB6040262ED52C
E0505154B618D164F658D8ED4A949CB989004D2CA045BE1B6C13A67E8EC1B524
EB432FD100858C7054A519FB470C3A5269FE4C25BC000A326E310E8CE55DE50C
6D9F5C9754E83FF5B08822A01A0753F316E25AF68E4A875348890485E1616274
2808EB2E24D75580074E9977B8057E406DDE63D54F3405551FD4A57315BC40D7
9DACA854A6A568EA69FC252C9D5308B177C91F4DF6C43DF1256F65E67449E1A3
AFB063720152E69A513209CEF8B9DB92F3116CF3934DC71DD70DC84BC93361B2
C6D6DC275A84F775E25FC5BDC4F1B039A69BF843D2F1799140852B0BEDD56B76
0ECD00F47DA42000035ADFFB9627443445AFD17845E4C1F140A66D511626857D
60E264D0B83AC96B1C48D44E41224911D7F115107647E70E1840B49A3C696860
736C7CD905129FBE0D3BD82AF2AC51E34C920BB8BBB403B1FF14DFE7324354DF
B6164FF2706C40A80D1A3861BDB1E8C876704D860484FC5F3B9D10CD7A72618A
10FF7AAAE8803FF3939D99C1B8DFE383BCDC411847D557D2F5B4E383B94BEDF8
597C8150D4C0C3330951CB09BD2CA5616E4C75583C9C67FAB14F18269A3A215F
87D7E4A87158F77BCCB230787D7F31C6763B9C320B450C74E526616AF9E5AFC3
CDCB8ED572B536118C774BE285EAB3B2F50630ECB34E5E729A25BABE4D4B09E5
59C11EB1BAC23CD74EF2595FE0C39BCF1934E6E16557CCD789AF2C8D248008E6
CC693CB89FC05A586B96818F5CD4624C99D5195EB585CFD0AB48D2307FC769F9
46BD64068A370186510415A37DCE005B3CDC993C5E5D44361A8F6D2BB449C3DD
2E12F12E417A6D9F933F375A66682E6B68C8D08A793795D8E687B1AF330AD61A
0179974C61BD9352AB4AAD22B5C3A520B777E81D6D3D0EAE03801BF449332D40
BC6483013BA052AE034C6E74E0304562C4029052DCCE18A4B4BB962B4252BF03
A6FA16241D5F47E3D31670B4C034619DD64BE7456C6236796A5BB5C05DC4FB20
A2E1065F3B98A749240BF97C982679D07F2C74D06BE6F4B1BA3F63EFD82B1CF3
EE2BAE71542E9E7403AD59ED0158CFC8D7D9B680528D8DE3CC753A4E3B350E03
A90580D592846C0249C8D0F2D24B8D26085821758425233492DACB8A5074B1BD
E5D531F2610DD9243BED758B000E9BED44113A2D82BCC31E718F4BE8E9DF494E
5621BC341B37DC790DD97E254F24F57B668B3D6A2562F3F705C27F6F9B564063
B1952888D847AA7F5701C649C62CF5B83142471715CBF81C4EF513C4260D5A5B
980A2B96F36F37F52509252F0C8D87D802018C1DBB3768030848BFE3983B4822
38FDC2A35163C44F7F55AB556C29EDDAA0146E9E66801B1780E86FD6AEB8FB84
9D73CF495D800F2C09D99293F222272BD613172446EDAC65D131EE88E08362B2
9270B016CF74D059EFA44B37497C2D694CEAFCE06AFEA6DB493BCBD4CEFE8F03
30628DAB9D2C720AD94ACFAFF6692DFE5C75D9DA1F09E62ABB647798D68634BD
AA3EF0208EC3E1F42BB7A7F77617DB452CD7DA99BDF6742742AD6A4FBFDCCB03
2AADC281CC6493738A45040A20EE8FC7DABA5612A12A4A1C14A2E85A58A8FCE1
AAC9814F69507D49E458A18321A0A4BB97B38BA3B5A7C2C07240019BF98D2BF2
1A2DCA37EAFD96E69BCD773163729172E52B33B7E27A56F57BBCB25298FDF85F
8BE3E9286469CCD28F0875E9550E95968BB46D9546D4C0B3F35BF776AEC9CFB7
818FD280955293EB672A44083D3D724A2D1445F3E5BBBD6811F38744185928D3
64BD78F9B5943F9FEF1E83E0E98056433263B4A1085018C332DFE5082443AEED
318D97E14B48860EF380DA1AD90D4885D3E9D6B10E8686A2A5B3D6EEE8EA26E3
89A1CD93C51E4C5A26943D86664551E3926B06176905EF00597B71B0D2816313
63702C0C0CBCF117CAC0A0667D8399ABFAA0E1F6A531FF8A2BC43CAB660A93F5
8F26550D92F9203E404EE4F45F2B472F5ED9C2A8E18A89383330A3E2EE42FA4F
B3532CCA28910FFC74E3ABB69CDE0E1B5D2AC466BC52883AE14C88C780841BD8
4F71BD470B26D17E6E8FD96252BA1FA4DF9516C762A28D659A877F79E23E5D75
B1DC530905C9927BEDA9AA5289A167EF6BB4CD26FE2985DA4A940015FB15C87F
230DC5A1B25F40FFD7F4336F9421106873FA7ABEDA96AD82C9E37C9BC7CD3FCE
2999994F1F213AA69CFFB74CEC9E6A94AC0D579910C7C015CA8DA8F37B34D2CD
126CDF54B815052E46AA3DFE319167CDDDCF12EF6E71CD663E8B0D782CCE5851
B82120513461C30820777ECF1C721B5C0884CE48E4E9CA79445FD6FF125ED099
82B6E10EEF47A8025DD6CFD0CCA8B06BA591984F99AA06F5202127FF29D47F85
91FAA2
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT9
%!PS-AdobeFont-1.1: CMTT9 1.0
%%CreationDate: 1991 Aug 20 16:46:24
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 37 /percent put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 51 /three put
dup 55 /seven put
dup 58 /colon put
dup 59 /semicolon put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 87 /W put
dup 89 /Y put
dup 95 /underscore put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /braceleft put
dup 125 /braceright put
readonly def
/FontBBox{-6 -233 542 698}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A
9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F
B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
A2C69F817061D6C60B121EEE844CA5008F23DF098C1DEEB7C8525A11FBEA53F6
98A9BCA2389071966670E9607563B3CE7E25AD67D95D4927F6AD572015F4A59C
8C618A3E7BA431403BC01F92F345DEF735A30ACA3B55B48B04258A2E82F69643
BB43967E4537DEB3745B4E276D6AAF0ECB79052F87DF71B2CFC2B8280DC2A205
30287B658793532220F980F87CFF6CCB40AB0439297ED795BE38C34B19D438B3
AF779CA633952D6F984C7A5885A627D4578BEA33A4AAB8AD0AA20B3F497E103B
64F8A3DF99B120CE03CEFD4F53945CD81BA0711100E332DECD15712080E13635
5EF2AB4C6BC0EF4FAA879390F71E7CABAB22BB3434E03CC272E68638810E4213
3E5F79D2202097D3597C7DEA0801441AD4ACD6737D8931C161CE677EC7B62D8D
EFCBD4196B31E622FD652C9AF3219E3695D95C6EA2825456272BE77F58E6C550
47284D40234BAACB41CAC991BAC730396AAFB42342230DD6CBE47EAD192D0E9A
0891BF77AF840FFEA18F938E8B8C8304AA7EAB76116C1BAB98577E86F516EED6
5CB3E3C923DDA90A0F64B612F61289DDB52BCAF6AF0C29EF0CBC9AFF87414078
588FC1E8CB1A7C515CE7A2C5BC7A192E0A8E0F3162292FED4E663CEA07551CEF
82487875AE849504645DA2C2A962DBF82374D85C1BC9F2CC46F501A29A58853F
2FAD42C68AAC9E9EE68C65A47461A6466884E059670099A8CBDB54ACF54D60BA
BB11B4D4578CD7574EF90B0C03FCC72691A04D73AAA2302E853A93654DBBA8EE
BD619E82C7D83E77E0C932C2E7062371D8F2DF1F6DFA9E2636C863B83B4F2CC2
090BCC3925B4682C9C8342708EE6F1E4958ED3F2D926CC2EC3CDE8AEE0BE7578
D3A9CA50ED1E981D426C1145732D124451183C2E9B3BE6D92337A8DAB42EA95D
D66F559D7500BD83F1534CBBE228D59CE583260524958EEDDA92C518A08A2F8D
D3A6C9A663F6F178300A3D1E106CA4368ECA4DC3F1654CAD459D492C612B89E7
A73B0D580DBC2D8C2F1C4DE9466154B6AFA3D2FD6080FA409B8D57BC805B6F4A
5BCB9F7117A10A9A62627E8785F82B66A9CC2A6420F57A2A84EA372161B0DE45
2547D2E2B6100AB054681C488F421FEF1966E14072D65571FE2E17A2DA53F97F
2AB479094E10827D09E6D93799B071F2358317B7AEABF10A6F32FAE751970043
AC4EB6EADB7AA211F02803938B8C668250060C961039CC61337CA7B18A5CBC6F
B0D73CAD8214D70B51BFE9A6F5AA2134F3EA364A5849998963EACA4060437EAB
B7B1B0282F689C220608E90FE9A48E94EFA1EC325E519E19F1EBDB2301204629
BE170567DC4ACEBD3C9E77F58A18C9E7674E74DF14C06C9B79F214B1D9D68FB6
7B00556467E1ACDD873CF9C69B9E9DE4CB6C38385545D03463EF413652DDD8FA
546186B39AFC9CABF1C03988AF99E40DB41D78DAF0154816B06337C0F548008B
A296B2C72FEC96D90537F123E349FC71F5FC3211ABF4204A392974F472AB1B75
BE473257575CEE78B5954B201B07F84F49E3CBEAE74F2344356D1D18C8DCDD50
3160341232C5C64F6EFE6DEF4366A077DD56419BC5E5AAA46204583282DCAC06
EFB9ED502FC0630248476D442E4EBCA78A6528D56251E82D1435B537143F5CBF
9B4D50C8FD5DD48C3404770471A4EC244EA3E1A29712FBBFFE73582AF4B91263
EA829C0AB264AD1B13419F571DCB6E8FB68F643C4621A68B9EB46AC0A203CF7A
4DFA6439EB79289099D6150138A259D69A88298F40EC9DE6E0C6D0166CCAB106
22042C8717E6699746A4E4500BCAD2CFD962BE58BA90D2F3C324899D795835BF
517AD51325C84354C799ACD9312FD1A68BF321DD1C570A64DA73F09D93F06B14
3C71FED756E583D7E62651871532A9A9DA08BCCB45AC9DCEC095060017D7BC0B
F366446AAA9C5BCB400FED24E9029FA9C302A2FD1BE1F1623E0542598D631406
72AD661D5543C8E155BE180EEF97927F7D297C7891F116FEA273864B4F34D015
A46D3D4C1B57C3F0147585C25F59AEBA6566D2A1FADC2A2BD501E7049F4B948E
8C48A046F894F26E401A2947793C431FF80D5FD39411E2FFDCD1CF240446F62D
E1147CED8F14D7C228EA87C84DFD1091580368000A4C7D72C522D7E8F00F5D8E
4228568FE0D0B5022E156E78C2FF712D6328AF0749ACBF204AB2733999017D4B
DD3FA855AD1E814FD22D2000BD82A09DF349A6B04FEC243FC16292CD82A73075
F14E7C349A61E2902334C21DC5E6BD1F43892A0E293C8D23EC732BF0B437ECF9
284873394803C28728D538A3EAF598E877A3B6D45DFF61AB8A510627239775AD
9EB716DC52FBBC941B624BB6A811D1F1E0499032AD1EE979D81F933D83C4F01F
239F7A51191E747A776262260C606426DB43F5FFDF7413A74C4838D370AC3123
B888D7557335D205AFB531F4A731E708DA4AD6C6DEC091F24A3AF33F1F8AA506
3C2E1CE8C7A5893244C69DFA95DA70AC6415AB9D8650DA4A6E9C5AA347159DB2
ED57F24C7EC875166C12BB7C9E0573F6FBB499CD454D596424E3EABB80C39B40
1EC7CEE366DA4BE6EE8CB8B36BCA1B7861C9B6E2721163E81BC2A6D87D5092F8
069D41A0C2036751BBE07745D745836461688E7DB9623D58E01D0E9FDEA88130
8E7352684D89AFE8DD9E011BAA66598D777155CA7B465614E253B13B63204093
1F855288C0B98B0D3190ADDBF5E87204455F44556A8CA5540126ACA44639017D
4AB89665FD51F5B29709B987C7C6F7099FF107BFE7B164D2E875A85CBA8A088F
D30E56836EDCB684DC803CFB800724B0B5556D2A7C018552BF7AF3056DF735E8
870FF3658D757FD8F2177FF787436C6198026CFC32E9BC779C0FC5DD1E45F354
CDDDF4CDDCC822B75CFF4F0F085E9908AB9D645CE8172B1ED969E2B58568BD2F
BF2263CA6E814BBB0EEF1AD56BA8B3338A707E45F1F63B88BD13048A550852B6
67DDFCA53B34EC224AD5D318B7DEB4B716B4D7E839865495B9F02C622DE9E7B3
3A5122936AC6CD85E5E820813B96D5991EB331CCC07ABB27F0610D5B8D93C6A9
C212FC47EE042D091EB967A16C3B856CE98A6D77925CD90F7CE00E0EF6EFBC07
092DF61D15356B1086F69016194CB500FC4E78C68026EB5690AC583A39F3BB78
89CE6AE85B7399531281814566F305A6CC7EE4C23351547970DA591552E55D44
667746AB7B69A7B9F72EF84CA05C8B55BA2F2813B8A7168C12058056D1C004BB
3C590491F07752F21889BA6A304C0ACE9E018C533BEFB136A14470D42F2B1702
CA899800A832B7D169FEC902AD96AC59010F4E760FC708DFC25CA2CDCB18FD1D
B1CAB76A54B8010A7DBDF8C8259E5692714C9F6865C7E1DCC3DD36D5AFCB3308
2BC00FFC4AF0FC58390323A7CB5471FFDCE3D0F0DA0C90532768EC4E75B398F1
1A6A3598CCD0CA764A52DAA7B904089BDFFDE26FCA6C8D79839B59E389BEEEE8
A316542A1E34FB625D02D53D5CB45C85E992779105FDAAB72336D9A090290AB9
E1A1CBF308D6F9B4E809A9C9AC6C884A07DF64213C8D11D1F68336E05C90B63B
F19A613B7325C078816896D24BA0AD823BEF5DAEBCF36A0D21526D997ADAC3CF
2AAAFEC6434BA32FC483E3751061CDF66956B246314FEF9007610A8D3C5FBB15
CB195E5DA0BE543ED914D7D8B3A7F91302E27E1D7FD20AFEA563A89BBAE5F5F6
8446592AAC5798AD1E12A6645A376D1E2A4A3D7A642A21941E08D962C5A1C65B
A7EEA14033EF11C2141D334F3FB706B8DD973DF78CA023C68956EC70311D16C7
232918F103B72CBBD6AFA52B332C01A2D70CD4E8115E59756C628A3F90AA2183
53B362FF63AE235B2B3735FF54CC0AE1B6F9228A63A7D26D37DF6AE0198E67ED
F582A3D86791B83838D5B6BA78D0EAD90E000DA0091B5E3B0847B7EDDBE024CA
9B59283BE3A71B3E598CEA4E663024E6C6B91D8D14090D3DA7F9B11C447E92B6
E88DE37D38A3DC0D054CD58703A849C8981C9446B638FA6077193975B7763E40
E01E9F64EF040D5215309DEA22B76F428C9DABB4CB0F3C6B0D84759EF1C9AF43
5388D9E06EDF2034BF3C044CFF55AA4C24C260C6F14905E664BED7BFBD608231
3163CF949CD4DA8E5804ABB3932310853D79B245CF21023631DA0031F22D0DD9
B0B888768BA4A388D4E1B7CA211D905E495A5253369C38E8BD55CC440A660856
49792716D6B133B7DF6C2D0145FD4D0C32E82B36F8D3C4083B13AF8D536C572E
C44B0A22EFB895B27FEDA2B4F8849722822E6ACCD47D4E7052C61C3AACFA0F4A
C469446809295E4569C3C8B3E6FD162DDD09E86B78B6F516592497D0EE7D5182
B50DDC3C8DB358C713956721D2EC1490D535B0A6D0C2511916B34FB6757D4943
21918A1567DFAE0CF38C8A78E6F0F593A4E0FBE058C3FE7F9ECFAF3AD5FE707C
9EB61C58EF5224EBBCE0C59C21B8E81A974A45FFC728F139A6598C1DB4B65753
3E30B21EE83722B6590D3EB07BB0EC5576B078818F9ABF14D4288F78512986AA
601C898AE24B1F9A234933997A7419C08158F741AB22F5E5EBF60D92ACD46500
32DE53B95EE857F07CBCCCFA0D6AC16C55084EC3FEE4AE2339582E7BD09C1BAA
C1037000E1600991E00B56DA3BCAC72B53A949938BAC1FDE9E49B812446FA936
A1D0A1DFDDFA38D8B917074C93B45F98B57ED664ED8A26ED68CDDB0013FCD1CD
4A0A7B83C456697039312C8F628BCF268D8FA47100B650128CB50265003F9BBD
743270196DBAEB0A068B47EED0DFA76446DFE8D79AD99B48681E0A93090F7E0E
765F44158F9FE895AA5729E9001F851A8CAC45DE0A1F4BD02035121A8A8AE1F7
B26A243B8BECE53A8318DBCEEC458D93167547B3C48A62D3E72CFB61D7973716
66F9C238083923289AE863658DCFF1AC7C8E0B63CE038FDBF4E7C3BAA1F04081
9BA3F81A5874BADBA6D95A9CC8D48DF125BBF01AB7DFC8C829E3B24A7F661FCF
ADD7D786307CEFA10998080D09C0A97DDA55F33E1DB26776993A3E8FDC11EF81
47CBE6265BC9EA0769DEE0C82D5B49DADC978B39FFB09AE09DCDD22755B522F5
BA877717D5EF3031ED6AEC7AA1EA9F1A74E76EF146C51351531E7934C487B5AE
34A5DC732789CBB19D7D72BEAAF5C4C8270CF02337F8FE0751CC6D25BD5E3C48
C4C89BDDBEB07E54113AFAD5F4FB7C4F33F84AD8DB5E34D9D64D6536171F6871
6A67F70874F1485890CAC656C84BC92806D4903C0EC3F29108A936975BA12862
73ABE73AC5ACEB5EBDF220B509843D658E0043E742BE67312A85039F4AE48157
93961B153AAFD8CFC1C346A9A4F866CCD3751222388D9823C1B5A9ACDA1F2ADE
84432734A85FCA3B28AA8F71B0E20FB9ED6BB4CE6D349207E3429A1606CD0A1F
506AD97577E9FE13871792DE0EE1BB1EE78965442D47383B9079B9310D3C4C34
9B98F72423D9B3B73A03DB56D2773C3C8689B27A03A1EB6182D39D0637969499
0ED96CBC49ED0E96FF0176C092DF3C16169AFC5C41D34BD1739FA95D86252CF6
024AB0EDA56F0CED192FF0CD3C67E65CAAA788C09D89760CAA7788B0B585F516
437BFF42CB34A1758011A2D26764E510A6014758876D3F9F1E76759C79C8CED3
9279F0A1B303C44B0350E66607397AD2D7D4057C1AABE8AF47604C867E433565
1CE2B85A1924F88EF88A995063BBB236A8E6CC61F30E86AA35FC5D0B1EAC4FD8
364554C9A449FAAE56681D42EC4C1207B4AC56B2C56DAAB9926A49762E189F58
79192CD73C69DB8959692643BBA6BE6C6032820D1DF3357518C15F25D92A1A9B
BE6EA98834774FD03067F98A43AC4440767EC905D6EF2AB7F06022755AD03E09
66F03C5262FCA0B42EC237A238D337A27ADAC00CC7CB3BB364C56162A1355D63
11B316633F1C77B4BBA07B05C3CB4ECE5F56B66F847AF2343F42E339488557EC
A637DBBB753E1E7F8A1A26EDCA49A9801A560FB0CD23DE0C5EAAEE1DCA7CA1A6
CFD18FE33008E5EB9D8A1EAF605F5F0C988830FDB51618D9DC751D2D3F681F1A
4247942FE023B11B8295815926BCD8972D9A14AB832D01BCE0E9CD7B3F39EAF7
A5D8B818D4EDF1D00DD24EF93E41FC2C9935B0151073AFF30453C9453B488D2E
3164CEA20F8E53E7558FBAC9192F157BFF52055C1FD5572D0201B68290E05F1F
4C12E7EF571D8B6834A916B49191D05F679830BA557F0BE75B0B81F6017DDECB
FB9FD3668124D666EACE0D92982BF3FE60767BF43DD1BBB9DA49BF3033F0E163
292ADF1A9C2E6984500AF8162001FA2A182818AFD57804CBF79B1354A6CD22B9
9402CF3B52D49D52061B342DE3E053F7E87E789AAE0C6A321510793CACB37FE6
F36D0AFB61BBD354F9FA51EB6E8A3EB87437474CB7C9A2D399A91D99C1D5C622
4D1C461E309A6DBB534B34C29BAE2166E746C0B267E6CEE71EC9569C64C0B26A
798C8B634DF3F7CFEB08050A0DD910F7DC3B978075EB23AFB72B46D4AAB8DC97
9F23898AFDFAEFC96AFA47BADE9AAAA580FB90625A7B0F7C7BC8472CE99767C3
F80FB3207453742B63B36D063A6CFEA520F744AAFA016FDACB11CE7269DA07DB
7EAFD778CE065717512035C3ACC049DDE075E8724343C7720C217ABFDE9FAE77
2395AFEC6A786BB0008015C77E2A124629103FEEF89B962D16F5A9EAA8A74D35
CEF76CFB6FDA7F8D5A22F2D81308E90E3A51A83D18145057F70CDB171BD5DB35
89E5AA27C97EB7C61F21753C1E21C9503660B3A1393EE734206E29F161694578
292939A9967C6C57F9D1B406E890AAA3A3FA0E51D62D4CFDC42C6EB30B979F9D
2700AA0AB9F5BD032439DA1D7E80283ABAF1621DA6744057E5B275424B1AEEEF
7CD90A688A9FBFDF25F675B8989735FBF5A71878EF508701BAF0BDCB475FE2F7
DC4E83B652C7472107AE84B826970DAD15889FB2FEC8C84FC4E382E5C6422EAF
5F9033A69B2D7CE47559FC0DF1C967C28A140F7C135F21E26966EE00FA23B3B4
BC5BBE5A48DE5BE5115B7B35D5347A46287C9CABB769F7232D42BC3991DE8159
886B89B6C193177D72850DEC1271CB4C6E4B66C8C7A238FEF6D519F2CB656B8D
3EFAD3ABC2712B4D791AA8EB182BE80D7C314EFEB596081FB473291A2836F192
69117152F0DF4D152B97105B538260A2E8F031D63032C79880072164646A00D4
3C4B11114B106D398F4E1118008688E28182796D63B190B9702503153B706463
9AEE5BE245B371F1A8AE5C089DB1B219185B62460B700EC1D9E8ECED525E256B
5C340E5DC616DA271E4558A411B669C05BE555BD209E89447382EC75EF809E71
2149DF776FCD686603D55208D81583CFE66FC21B212030029ADAD999F4A2AF5B
A69A93A0D305362BBCFB3607E06643B810B5361F7257220EEC801EE13BF568E9
B1E43D1AF42B3AAFC1980329A1B76782D1FD1DA499510749C69E1DAE204C07FF
B6033B4217C56C3DC59C56E3A986571200344FD8A7BF7AA5921D584E34A0134F
BB3430FDE1647981B07EEBC6D6E3C0FE31BFCAE4F9D79922BD7FDAD1C947D360
54AB08E7A3DFFF8EE646EA0C650ED778C601A42C99B1CA4820DB8E8129C6A291
794FBC008E51A096033D21DA7E2C3BA027005CD698B910549982196E3927793F
AC1B48087C7B71DFDE6B3BEE69F4BA8B85BBCF4040BC6D390BB0C67F753CAFB8
F9D5406FD5C6CC0B239FFAD514AE5348C3E91E864CF944A2152BC183016ABD86
899C2854E79E37423A2A6B82D3977CE545BE8138FC338843C8E3CE90D4488A30
61D64C3852E5B0E614C290940CB533EED07638D301D295A5A3D0A2ADC1766588
050722D7C56875941788C5FA73DF6C15AFC82EDDF1BD7D5F74D4C8B3B2A9C26D
DFAF46E7D80AA4B75428923E8F8A0C7D76FDEBEB8B18B977169BE83F210177F1
C48FCB3C57B166AE4881FC60D8BBFADBDBA79179E0201DA04ACCCBCF835B90D0
49AF9BC25A34488811A0D8AC5C4CD30FC7405A7CB311980A8901DC335C100A20
6D2F85C3F4B850E82B595D67333A4E19EBA8F8E3F7FC5AF6ABA6BE2ACE252489
5A635F6A09080E68CEC7CE86290A1EE1917942F8215A6CFB9F325F44D8502B39
9FE6C58494ECD32E3E24107D58F1F192D1EF6388C385550034FBF5F71CEE3508
5E58E2FF3DF78F3D6C2DC680B4B635C0AF556CB21EE29FDB8837F4ED58F704FC
210EF15DD2C7FBFA57AF9CDD22CCF4DBB14AF0240F8B5BA407684556910D7A88
8DB22639BDF0AE9099FC1DDDD01E887F5DD40456412EEB4DC8B92EC01C0DF4C5
AFA824FB2B49E5D266776007C54630D725885DB2580A0E4A2EBAB48A83F50FAC
9AE8D4313D416192488B53DB7D1FC758418E6393B0A31B2EDA0B47FE639074AC
6B5A103DD65912A9F3661F7C4B1C961831D4CBE95E56281C8F6B4802E0CFA812
5E89E8A4E801C83B1E1E671C8C29148D9E66CC733C2FA909F01D14B22B9DE54D
8D946D30B5BDA3D9D54BAC8DC0407B22E04844A426C3C4F850C6AC08969EAF88
D57B7DFD591162A2CC3B39D3DE42F59FE1075B22C354A32CF5C18344CDB5DACC
8F34E10AED2166FFFA93413DA79837BBC312D523048AAB5AFF710EC013187F08
16BB6B81C989215AACEEE12E8B275ADDE698B525F558C7581E953834A190072D
7F5AE1FBE21BAB680B00435BD48E127E66F0B1293E6AB6A739D313A3AACEDBAC
F9A948D8806581BE8D786EF8092FFCB0F045E6B389621A779649225A9883984D
6549CD8DF7CA2B9390BD02BA122BB88CC8E774D57003F5DB20C813B7C7682C21
0B3A9AF46AB39C065F55CF8F5E82125BDF90AC23C65940DEF36C59140468D341
86EC9135929C375B3A6669DBF35BBCA30FF06874C50F40F1BF6A9686AA3442D2
60DE0B7E757D25F0C81EDE5E4CF20ADC257029D2A2973769326EBF823B814691
4450BC52F93E8925F11580A6EBB7BB09C42DB8463D7A6B1AAC66A476F42615BA
1B6F0161CED79859435C7B685F9832E790BE2BE87C4107ABA3B09A31BA69C796
73E0E4850865AA0D6901E8F097C50CADDDFCFDA9B846D27E82489A8385517629
3AC365917DADC0FBEBF882651C037EE822689BC241C382DF7E899ECB140217D0
B17F794227DFFC0ADCCB5B21CCF23218462708F69649A48C08D3E0523F0D2695
67185082444282FD6251BFDA4D9766546CA3735AC552E7A201AE5DC2DECBECDA
039DDAEC1F6382A1C980FD579B89774357452859830FD9F1EADD31B8EA1972D9
1A8563D85606421AD645F6AD1DA776420868FF06007E131C9965EF4CB6301902
B3AA06AF96A0427B230C9A8239B48A3C9E67D5834B44B369BB7BA55F681D52B2
B77532C1CFD4B5FD02569A0815EAEB358129790687BBB7883A11D88C4FCDAF2D
8CE6F48D18E81E880FDF21F48874CBEFAD71B7F75F6E3608EE10B91FB2DA2885
C58712ED9A73B2316E0B031C69C3E13E6DF414C7923DDB181130E648A72BBBE0
AD2F8284C5F32A0DEFF238AE3F178717296120E0CBF85F17496ED4BEA82521C5
7201087E18DB95380D29B7D41C71AAFAED7DC7F386A059F37CFC1C5E036A6DAA
EEBA2AC35D8CB5513341BBA2F66A3A8C2DB5254D5865D2A09C28EB8866BCF77A
C6C642792C7D5B8B98494B1AB50DC7B7B73F84C0D9E689B320EB3F78802CDBF8
1932BFC97189065795665BA7D9C0B996205BBC33E7E953A942D436A848D60C31
AA3EC00C9259A35D46D3AD72B12BA09FA5147FAAB88BF98AC03BECC111C92338
E5C32B051A2338E3F7124B2C2331117F0E3BD538213ADA1E2BF9C67501846F4D
CE12524A237A92475B151FDAF3FEF6EF44AF8D73DA89E4BF2F26D01497DCFD44
28452968DA88F5EF37FF82DDE9AA2D26572702C95E300D6BCF8EE4F6FEE550AD
2069E15A8B02336C72F3DB247E756700A873C15B22D0C678FC4ABB5FBC0E7BC7
6AEA3DEDFC6A4D67BE32F32579C000CFC858419E393A3617F495806381D9C473
459AB0512A4765B29D7339E1068554BE5514A31C65E9CBF6B137C7B6E6230ED4
2AD4292E54237020C0D59FEA10AE705CB0D66F8C7162C10D2BEDA905C239B633
48B63918C848BF07B5060B93CEF98638592CA1A1F378907CB3C119C8FA9F0AEF
B232A578E97B1D219FC4A4E6B468EE9AC7302F315E8FDB75AA0DC7C5F4AF8D02
063CB56BAA9081D337161644EFA77AADEE5B5FD0A9E23D1E6B2C993CB5D9861F
F933130EC98C4997EACB99BB0651C0A62D00E6FE21FEA867D7BDC218A83B7F0C
60707F0864651897C9A94777853989524E0F879DDBD37E0E16DA4193541C2A0E
E848337BEE596177A695FCCDCCDA2815DC916C75ED593492D47941C0066F94CA
D255773CE31976784AC8D96C42A8531B496BFFA7C004EEBEE2EEEDCE7C0D12E6
3460E1A6A3A29C3704FDD436E4BFE9B392F4D039C5E82876196BC1C6EAB58B94
6621BC406ACE07DC8EA0B966A7BB1152CC69C0B2C4201A3108D025229F444F04
64D60965AC96C7BA6CAD1E384D21181D9F7C6BFE82AB2178BAB8C57146696F4A
A314E37BD9C2D30328068FDA5196284BAE10588E1762FF179714AEA6E23B983F
8D4AEC80B4244CAF00C08D799D71BB86971D21F0AE08C5D6B1547B49B07B97B3
6329398A20DBBCD1631DEA7F1655C8772AF48E255EF1307878D648EDFDA3BDED
A449846BD016F844E54CC83A6AF4C0351CCCAE7866A5605A75F8BC4863EEAF85
8C4D4F2EBC3E68EECDF01D149F94EA59D6DE1E23457700099320B9CADAA2F25C
1EE36EF641839E1C66BDDFA078F6C0E57531DE99D5B8FF93EFCD27BAB14821EC
144398E095677BDCE884D08B77A43C3CB84898C2F47D2BAA047C39F747A9FB2F
C2256A3D69A96E5556BB42CAB20A3479A4BDC264744C1D21D09388672F2124FC
5ED76FCD3DB8CE9E83128DDAF38EA09C5F5BE534B7E8C763818967D6774AEFFA
943F41D49E165FC6312D9A2919868F18FBDF421754807168F3D0B46D6FFD94B8
EA4AA76745BB42783BC3D6E180E249BA2F49FA9EA93C7C803E6B60957FCE0462
F37220D1F02C0609FC8F86B0BFCB36AB362D65FDC9E4006972F8827DDF0B74B0
6D75CFBAFEEE0666A3E635D6BF6B82ECD59A0EC11A598ABA9C719516D40931E3
B88807B0B97679EED2750DA89CE72490045ADAD93E2149B2F4DE824EDF4F589B
BED47D1A68FA443B43B12627213ADB4A13955941A414298369E56C9296A08948
ED824B5AD50BFFD1278012CBD25C2900947DD36C7BA84862BFD0D6E5C8804DFE
A009520243BEF0FDE4E28A09308967AE5C17557905522070944642A61E0C3ECE
DE6F930581CEA7D90722353094AF344FFB6A9AFD77DB33F5BCC4C389EE337093
C729A8EBE416D38592E391419773533361AA40A4A069DD2E513E01529379A770
CF1E4B6AAA04E6859C7767A7A8DABA86A47F00504D97FE89B9EF06C2215F3CF3
EE4C1AF567E96FBE44DCCD55C5700D7B8978B02AD4AC66D75B444BD75DDE1694
A63B83762C0E16096803805F6D0DCA0D860854CDF5EDF0505A9188358952F936
76CD51B7C1B080DDBE0EE98844C63F603E8A20C30B82E9FD9666127DE42A3EB1
8B1351970E27C4ED14DFF0A3B233F5CD1B0C29F83EB364326306509EE34291C4
42F3131380CC0CC7044B27360733FDA81FCB46CE50C78671E7805DA1168E9E1D
C0412304730716E52F48BD729E2715EC9DD491C30BFFDEBB47C8253430C3BDBD
3A943C3E39DBF1063B33BEF0C9E6B8241FCC3255F76A731CF80EB31B57439231
4A0C689379136CAAD5E640F7A40232B08538C6EAF28C00DE6D26100D792250AE
669E7DE50FA71A511F3B9AA23DE99764999D7E04EA0B6E133CEC569E50DA13E4
F8A6232646C3C501DCB6F11EEBF2C7027EC938ED135D3397C0EE21A2887F6D6C
D5476A118374069148C7528B8F2F755CBB26FA6632CC5E1A63CFB6E54FFD685A
0312B80D606D31B04EF73A53BE6A5389EE90A6E39A8AC664638C63DFF4454205
2CA6F1D105D12E90D1D4022FFE7F80B7E14A300B94E31ECB6301CCB7F75AE168
B4A38B67F5568BCEA87C4A4E39F9865FBD2325F7F1ADA633796A9853BBDE6A52
A1427B9EB6E36F43085E5099F2955E3B26B4E3A19E888D7BF716225401C284DB
5452653EDF68D540DE39065356267288D831AFF2507DB7F0
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 13 /circlecopyrt put
dup 15 /bullet put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD
5F3D998D8365AF76D4CF6A06FB66E1CBCFDB3A67D8880377CD677B9705EE853A
D849F88A828E244FA5816B7D081D4D1975A56D771790C21AE05809BEE6613452
953F26C39CE61F0E134BC35404FE2F0B7D244D9A6F66E4D817D1C65024013AD3
5F242EDE94633B8E20EA42B07F83BA649F12B784B2AAFA542BC597C6C2C9AE9C
39D60FBA6CD16AADB5DFDABF22F37E244DF3987FBFA55031CFCD46ADF03650CE
D6CDFFD87BF7407FFB63F3FE4C29FE753896101B2CEAB9007B66E29D6A5B85D3
FF91F888E445677157A5996FC7A3BD19BAF3A3BCF33F0719B992A0F013B1F0A1
82E42DF6F651071FB407F448DFF37653E2A0569BDD8EABC3280B3582745DB98B
644E5B341F531B0D81ED85F815B993C2B8B34CDDC6AE97606F6B3B1C5427F174
362FAB82B935087B568E6F526347058C406E878F1CC2DD05C26D35565347C5A5
7575891BB4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /ff put
dup 12 /fi put
dup 13 /fl put
dup 14 /ffi put
dup 34 /quotedblright put
dup 35 /numbersign put
dup 36 /dollar put
dup 38 /ampersand put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 61 /equal put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 91 /bracketleft put
dup 92 /quotedblleft put
dup 93 /bracketright put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /endash put
dup 124 /emdash put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
0E172209FBE3857AF495A7F2B34BC893D942C145C2204CFCD6A5C69FEFC25B60
E412CB2BEAE7F7FAD03AF46344F6A7D483BBB1E896BF16B0F4C363799DF23CE2
E8127996DE841B6F9D8A9E56BD799B6A938582988AF87151BB8D3AEA85C49857
DD862B5E10D9F33D57795D656FB616BC9B8397B3612131A2B0F472656700958F
739A548F7C3A348698AF9F6F9821D7A9FD4131781ACBF7EAB885A3AC254DBF94
02FA697941A0F97F048861788BEACC20DE829764413CA58F9D045A6B38BCD6E6
E4827247EDF1171F64E3B041A69B244308DC07F66643FCD7D5FD37F36EC4CB5F
957D4ADAF91850A3B1A765E0E580EDC77556593D1B2E1C22685268469298688A
45C474C9D0472D019CE1E83F25182D084AD85A49C502E8D679C227DA8E32045F
8055D1622C478F8FDA342685F858DE3F53F1CEA0D70BF3FE09037D981E9E7FFB
BC3F896535D0DCF53F4C85A1DA5D0B632484D1F25460E3EB38E251D2AA17817E
F3B25A2A49C0AEDE0B89E277F52CBF744EF0243C409FD71FB0C574640CF11599
117A4F42F27D8D282D34485AD116F7E753A8DEBFDF7C552A1179C02B7A37782B
743D0DF85C15A333BE9EE82C13DBC9CB007DEB5900954AD9309902E08B3D5BB4
E8414211B971CE8B9F05A61C15F400D9297745F606C6419E8A8A9ADCBDC39243
617EFABFDCF9F836D14411BD72EE19D0BDE89234BF7D52E7A68ECC952FB74FE3
33E1A87DA39AEEE9E90406E2B1CF3799C63E9BA858D54F38918B814C0DF0B696
839C820C26FB473ACC5C08E2056457A74123A398806EECDB427BB183F5458105
2B66D7E1FC3529025D3243A045625E9DD9417FA089B3C7C394D2B65C0367FF73
79F17ADEC6B5D27A5D3D3E244A0839E38267ACF07B2D994C2B4E7F30A416EEE2
D1688F167D1641A72A795B1F4DA3350F75AD6D546AA118B5F8A5085F5794E6E5
28256CD31D250D8328C9620B8ACAB03E4A33DB4595E959F4D0FB1C8CE85A710E
22F1940067C036A7DCED7EA48F1EB81AC4735FB26A249A32AC2E3E7636B32D31
7D76FBEBA106D6C67C94A3BD4256B786B71C6EF8D191CA90CAD8D2EEAD42C6DD
8BB4BEA7DAD4ECB6E002F3B71C2955A5A401E34D55F755BED68178C270109BAB
FA0AD848347EB977325530B27180661A59447D7DB55A62D65309DE24B6638986
1D3A539BD37E74C2C00DFED3336B5C6B28D915AB7188FFBCE3ADB3CB903944DF
1BA5923A1C053D4682BB8616F44E81E18DB2B58298F4B1A6289CA993DF3E7C73
B00DEA3A9B747FEEBC4A11E5B9B8B05CA2709B8AA935A42159D3DE399544F5AF
AC1CC00F6CB94AB69856078C9A2EB2046BB9055CDD6A0622112F7D3710143F1C
20CD8DAB4109CD47BC00EBCB88314081C1D6C43132412F261CE0262FA28DB7A3
C7D8534BCBE1A60488EA230DC558B73C72AE87539A9D7E28C2BE05FC05F58DDD
87117FB7D26E271EE319A45AF58B5060BC504767962151AA0BE18386D7A6B067
DB4EE68115AAD6C430A83684A650CAE13BDD3B2273062E649AF34CFB7A1E33CC
4459B32357BCF9E9D240B4B49480E19266F35591878434DAA5C22547994C95C4
24836FB59B23DB98769E02DA06763496C34278BB44E9ADB6B0A4F6F25513491A
5DEF85F52B2AEB160684F2FD877B1C0C20AB9CA213CEFA13DF43E8430DC07E84
AEA51089F7DB2D5A2DD2B41A09C6DC4C0E94DD1A1F9B5D4B948AEBB424958B80
F1CF7424B30C9459FCBF8ADFEE2DA11544583C2A6D44EE145C1848C52E01EE0C
7AFC55A87FB3A81657D41098685A17A181D0CBC519C1579B64E8AA9A56665016
221DD4F776B39E4B1C7A6E06E92EF8586B9BC24692F3F850EC07CAF38D46F388
07B36DDAEE4EDEBDA728B444B69CC8C86E8A316338EC254E0D39527A6BA0101B
DC4A7C0C6B3A57325B671E16E7D565FE32AEC8F12DDAEABC4C0F5B81ADC4FBFB
3058680581EF6A59BBB791A36D25CFFC73832385B74AA2909E2532E12C17416B
9C753552C5CA9F257B49FA4DC9E18DBA9E74AACC73891AFA4EE5AE5270A49AA1
F21534BEB46230E1443B2CC1BBD7C8A53A4F81A94917F2C8033B81B3A5147009
6FDFBE24DDBA427A8710558A3FA56FC095CF43965471C12B7E0317A055181D51
613B637F6DC09665B21627566D893D99E8FE05DB46054A99E9BD96C905457807
040B91EA8AB82DC2B238DF8299DB9D96AC80C58EC470E44AB57563C69ED0766F
4D7897A49CFF983CF4210633F5556ED3EC9269C69036DECB0D3F95D70C4160E3
CC03EBB3EED2BC58FF82A1441ED504DD64141BFB1D9577D697123FFDDEAA86DD
122B65104DBA6FA94273E11F847C3F6AAFB171F13C6A9CC35490A7059FA99C53
EB841EECE3E2FC7293601E799851ABB94E61D5F9E19577B5C5D53FF307739FB5
8AD96F4C982FBB42AAFEB06FB5B985CF3B5A94D347795D9BE05F0A2DB35DA51B
6C6EE6F81B9A14A470FB8EE86DF5D17C4749F9C64F40AD82CE6F5DC2A0E61355
FC3845139194F4F5009E8299E9FFF9EC7D12FD49E423874D41FA8737009E610B
8ED0B8F4DA3D512635ACB23828E19A26307B7A2D3EF8345B5D8121DB386D8976
AE7D6792C02EBD15EFBB17B514D4258A2981D64A800AAD53BF194F5167DEB3DA
764499D825A23BDC6565EBD942063347874C34413B02569C71D90B785ED3F7A3
BA9987350892CCB89A75A77A4CFD7DD6383E14CAD21FC4F7A73FF4271E57EFB3
A0F543FD467E29B02115D124F47DCB3C02817123B4EE694B9AA846F7CA86F432
03B64474879A2D94708721A0CC8FA8693A72CE3EE4AC1F4D6A47C5EC92BBC1D9
A0015887829A47250A0B9B19ED203DA3231C66BE6056EC2495BE6DB3E8EFBC6D
D47ADE79FC302ED199F8FA1385747D3652F5E3C3A311D4D6FF082953B3188EB7
C7D3FE68B51DF57AC4697449E539FB149BF6797E0B14DB1BE89D97B0B93BFDED
622694A35DEA11D8ADB4F117D9351F73BE0AADC51282F4DD00158D0DF10A307C
6D20394A15C86CBA42B818F6A68A89ABE13A14CA4DFA4BCA19DEAC249F83CBBF
7AB2074FE43424EA9E92BBDFDC3EE2CC7A8F3666D0D30452409D8DB80AD1EBDB
A12846FCD4226A6B357AE6BEF384A58E2FAE1C79D43D5E474E0EA2FF1D833899
6C386610786C056C54C826F99585E7296C4CDBC846AC36D94EEBBC0DEE84FFAD
210AC51E2EF34126098AE612DEECF8EC4533EBFF700F9B75BACEA7B771CB397C
6413830C7DB0E333151B30D32627FCEF266E170A4D4E9D71883DF60C4FF03D08
8EE3EFC8FCF74EA015E7EDE94C5E9906A3AAED85DC255CDA01D9063B124EA9D9
54F2FDDB8E05829C8FEE07C6C027732D717A9515B3417BF705870EE6364DD785
A3203480FB548EE57AED6B3739B3F1C6C2CD68BD1A0A052E373C81D661753994
7C751E6F15E7EE2C075F1C43DBED60E8FF8D7581EB2D2112F62F15A3C6893026
6651E3AF5E655AB85C63F34360C4820D327F6CE24D5BF665355035972DA992E5
3BDE376CE6155BF5C3BC0C05ECE69D824061D2BB29CE02307B6100BB8EFF7ACB
87659656E6C175E8D064D4B9EFF87EA45E42CE881484809FF86A0DB01E783090
81B04CAEB3D27B34ABEE1FF55F6E3BAD0F9D47DC8E2DD2D75599C17C187D3E9E
3F0B2D57D03F42EBC7FEAC40D62DD2545A297F7CD1C2D3C28BEAB8F069937A60
76AEFA5B77BCEB2AC85F000E046F4D9B009688CA306970EF923E9BDC60E4E9A3
628AB4D1E0D643D1A0A18375000ED121B460ECDF65B191E43182FC69B62BB2AC
991320BC421EFC03419AD216AAF307ED3A2222A923E57A43A13F18199D5A2393
2C2779A6EFF51DB8A696EAB9E648CBDCF606654BBB7DC9CF5E05D64EC7433A2B
23C713A4AAEE6044DF5231C866CB126CC8D179EBE944872FE00E5647FAEBDD31
069C5BEB6DA336A45583C87856C0D8409D8A02A58F0C16D712665667CFAD187A
DBD8CC8AD1962DD6494B792FCB6A410BDAAA2E1B9C8EA0B57316C15D17EEB68C
080A43C5B803A58565E93F3BB30832496055E861F6503AAFF4B48BEEA5657992
AA29F49F6E89AF9C7A16BA8F271E09CB0260922A3D706CA4E55946FF3DA900FF
A8EABC97426188ABF8BFC2D85224F9D0BCA5038EDE33BC6EA20B1BC2C5B1A683
A5AF575CE5EA826EF7D777F1824AEF9A456D8A1857E79CB21E75C1877CF7A0CA
4E3E1943BE4F614CF9F8D422CE8BC3744A09A12BF2F0E0B9EA8412ABAB1050B5
E5F423F3974EB0F2C323A9D5942BF0B52217B616A178B51DE68ECCDDF3D852BC
3CED3FC00C8358BBD9621DF38709A7BC7CA7F507CAFAECD058416622C8A6778E
56DD0F56D087DA40E09429600FC97DD913C31491AFC81CFDD915D2D3BF3811A0
8FCAA9F7B9A1E800E4E3CAF640898FF358B3B3AFBF09594DE760D03B2B21EE6B
38EC7B48A4EC277FA6E52434D9FEFC5C90CF038E7F8297592057CB484B697E14
145D80B40B9FE18D453AE12272B4165DA8ACCF5D8161303CF8AC0C67EFEE09CF
61EC2BB71FB74AE4936C20AD50F006D7818A1B5F6546385280062D5FE1BD3B92
AA7B6D60AB4000F75D7ECA2BC27090B34D313AF755BD6E8D2670929ED5D9A7B3
ABBB2130AC0AAA0552FBFEE360F0491964A823B54AC07DB43D526B1646F70C08
C9B143A0092EFC0C680E42BE0C7104CC23ED2103678AB9805BE6AB0501010416
22CA00A41D88E36048B3C871A917D8311B88031931DCD15F687AF5380CB73CFA
933F9682D8D616DBCB68CA9E1FC7DB0CA94EB42E40673597589E4AFCF1313C67
D0B6B2A380D4CA41AA89417B19E5B4BC2060CEEF5676B49000D717250D796359
CECDF88AAF08B71AF8859BEE17A9BFD57998A6C66419232E7973F01E3E8A3B3B
C4160A1F51D1AB8D21B32F8DAAC9653077F752CB0B141589F171B312ECCE4AA2
A1ACE97D0825DAB81A577613EE062BBB62B3D75E3D045E8B0155D2A9325F6AC5
29DEE4C20A015E03DE5B60DBE04E2BA16228F6EAE52913AEB4570044C0E817B6
ADDD0596149BC6C429F46FDFB0EAC6FB4A1CF298495B59C8A70C2B9D240C6F20
93B94A632BC46C7C2755CD234DCE75562990C0258C2D615DD8CD4092D10B0FA8
A7697647846DD95794C141A571BD27295A6498BC8BD6B2ACBBA73D6239B677DE
0701EC5B5994FD981017F5B314CED6070CABC53356880C6CEE6DA1C519198B7C
D390CCCFD01B089375003D055B3D704D3F67CE6150BF41ED2CF7CD4701230728
7F89E00C87705C76B3CE3CD1C3929EAB6000E193D01E9C7264BF29030E9EB051
FBB094633BB51629DD1DB40CC5F3FFA9A70093E59704C129FE895152BD6C5BEB
66E46DE52CE673316344555B00BA09F7B60455C10548EBBBF13D1FD485585A36
00061D31B7DA74AEC16AB236780E004D8602B29120854C950F29FF6F15A4F853
83A553319C5D2DE26011722C90563043AF87E0B851FD47C01E30A6E73546E0B5
822A1C591AAAD550429CC1143584B3E827C0138A6AC5D24D3142459A996AF5CE
8177F93ECEDB4661107DCC38BA9815D7DB51E35E7D9BFA11AA6D4FFCBC95DE64
1A563634B42202994844A9D1D6CDCFC0439BCE6B058D8E902A279DCB44F36DCA
186C5C15434D987ADE64331BAE39CC537D826F9803B7E9461E7415B66327602A
83E73050816AD4B284B7F38D506A8C8F3931CF92B7774D3D4AAFCE1B5D2DED59
E15CBC2D7CFCFE79664AAD7B4A005A0313403EF78DB7543DFDB0077C146E056B
FCF76BE09EAAE4CE8C4C5F6B9A400574C3E02BEED4C40BD49BFB2C640042E6DC
5B6CB5D793E27453B4ECC044D9232C3901DFE56A5BDC07FB95E6B19E431A8728
6E2FE837973B10CD1A207D5F52DF1CFFCFECE436B4753E4120B6075B43DA9F43
3D09EE27ADBB9E3461489F3F8AB70D85EA3D551521E208421390EE9B97F6C7D1
FDA6A6B9BDD9C7FA025FB6EC31CAB096D467BC25F07BC0B9F064E8A02DBE0411
233C350BEF9874B22C783B8290A6878D7475F6905AFCC9B20DF5D9453449B90D
106805613B924CCB40CC607140C1D8CB4C66143DA11EFF15ED437B23FEB505B9
62F3502C4CC0D8F2AA7E595C05BA4647CBFDE86238A9AE6F4AE3E616EE8EB11A
2E57F499C5BFE242D1F4EF7E6AF94EAFA6F029D78572FA857883410BD42FE17D
53FFF9CFA96544326F5CCE7A29379B231734F06CBE7921F42158FBE5D7D650D9
618D4701FEBA560CA102DF29E9595B0871585CC8D810341987537EBCD0C003E8
AAA0FFBBE730247E15DFE53E820EAB442E042A180E41B1AC45C3D35310049E96
6619E36CC21AF0F69D6C0A11466FF49DFC0C5F30C5118CD95A8A36888C822676
128015D05C755FA399CCBDD108FACF02CA2D66EAF830FC2D8A4413A18416C52D
B87F9E91317BC5B1B50E8E67ABE67AE5F20B16364B0754B682BF918A9E8262A8
25D1DBFD6597DC5B635A73395A20F310AD55D47059931ADBA6BE34BFC0183F51
54B4A1E638D954589D823F65215D79264626E3A935DDD6F0F5070C2301F0CBA8
7B51DA5CC2CE2993F68AB04A7C83155A4FDA32EB7B02475C2E0DBFBF65086E12
26C5AB818E7108D6E275C226C5BA55D9BD89107BB73E4F3302AEA534C67274C4
5AD6DDE7D1348799803AC6428F514688408069A6EE0DB338C422EE68A21D7CBF
A5AD9AA7934C7C06639064B0257A80447BF9433A7BC0122002E45CF9F2032415
58191AF9038449A4B780701834D1D93C4BF49AD18A2296BC2B4E43B425D34933
110C63C8442A989B08ED916A97EFCB6B4363DD66240359C4E961BDABB9EF406F
50B5E99461D5C8E133BF7AF81474AB31F8140B803B99370FF3081D80022837D4
D3A3706E9B0B3972A81E4D2E7139E255AF691F6A4678D01DF3BD2A32693A588B
44E3B60BB102DE737CC83D432FD76260355366E09A7850C4F269101EED46630C
BD80499059F066A2BE0F3C83B0D8E0A7D6440A9F79291FBC4C218C57A3B6A487
EC56CAFC64A6E517E2C4D3267CAE196248E6051FFB2824552D0FCF656A2BBA49
8E8DFF9B3227D820CF942FDC5722A7BA220D0029C28465666B99132D551FE278
C93D4E92FD003903CBEDE56E64D7DA481297409E5B63423D0FDA65431E6A59B6
5ABC9EA077F0F08F26C3AECBF7D5F51317C4D8EFF5EE1CD6664DCE57022F2965
8D3520633288A0442533C847915E969FE7808B485003FF34B3F29850F037A930
583DE61E0C92E56EDF3F08227146C48545EAAA72975FE80C405D98E1634953C4
8469D25036B107F3E2FAB78EFAC01F1A7C266BCFF7D4AD006FC21ECCA80A1F44
8396C4DEEA7F14F7C051B24A76F0027B8AC80956CCDB9D86907BC6299484F168
C20BAAF6D131C506AD51FB477118BE491E72283697DC88DFB1E5225329F3E7CF
F0C061C3C8433C8B39B81BEA0396DC7A0CC0A9DCBFDB7E634CAD538AE4CAA055
88E63B4D4CC99355DE2DAE6555BE3B4C633709751EE1053C35D59882B3F3E559
0FB569FD4DBCAE28B2B415B444BA6746C0968ACE6CDBAC2A81205B0D7329026B
E8F1133A3C02CCBC4772A8700CEFE0F4FF6FE5D95B6CE6329819F4370F3461AE
F6CD85F4F903FB220987A51696D3C141ACFB90BE00C2A9263F42DA4AC7128E8C
B4960BD94617A0BE1E9EE443E625C3A19F6988A52889424F52F10259CD191ACA
DC0863C3F38A85EF445482DBCFF9BAD900E86A37F82B64C48D5C8B7EA961C476
EF43151EC824376C450610CE2A3074FB84EA257E52E8CC690527833B70B08150
DA3907DBC1645613B9F02C9E97AA3E46552528AA8138A9DD54CCED001FF3A0B1
248C62BB75B842F56B7D402A00FBEC7B3660E1B85BD2B2149545FF83697EC13C
0FB36D733FADC3AACA584E110B4C97B34D29E9F62A69BDDF8663DCFDCD7DD89C
9FE559BA7EB195E27177B9E6FC4A5EE4E707749A0DCF391448D2B83EE91FD91D
EDC44C2013C9444399BC2A49077AE821BC0A51494638B7307F4ED02A0B93F685
765A2CE63373C2ED943BA0B92AC29F589A34391879D513D318E659192EB96800
F70C097613825CC6F0A83BACB6128603D5D1DF74F83FBA4C55CBF4ED0251796B
8034371CE0DF07D49AD6435D048C2B11F29B8F7D3D259566103E645592CE6185
9532BF90BAC105F042466043D52D8E323E1C241BC7D2337F3E420153DAC45279
902F35C33773C30327F7B1D5EBD92F4C6DC2002905DC00B9A60BF55491829C6E
0A8D4B4BD39948DFE749E2CD13665E5DC253DA2DA9878B8C88AEF1CF492E6726
0D7DCD188C5E8190F41AF40C81057C88A55466667296314A5A5C42C012306071
15157E2EAA6A731AC77CFBC990F1193CDB767480CB4DC849B723E873AD0B888F
4AC0D820357E1C5DBB0477045D972FB10F0053B967D6A5BB70699D5199BB9240
4F69F592E637B26F23956C4FF9F0E18FD7D55BFE558F3E1D274845DA4F3F5F51
6943DB48B2B5CF2987B0C11A76E1976F36FC46C6F2E8BD831104722D5E5BE602
85979C654683172CF19B202C13F2D4DA2E0B6393CF9CCF0695A457E71EF6E697
2607BEF44DEF2F2EC35A060C70C2C1021AF5F989B8296AD4A173EC092C49BEC7
D60512EBAEBCD4D508B476694F13E338B574935626BE65D0B7388268DA6C569A
571BADFA2F3A36A0F885689C98A6972397978A146725C8B4936A4CC9A78FBE66
29208AF22F8A37942A24CD96C3D4C7E41882B73A874CFE293CC8189CDEE9086B
94938576622FF3C92E42578037FDF6219768F3D4B3656E15C9829883BCF7C174
D30D8D4C747FC1007B4280863DE13EFBC8F3381765AE9615551B9DF4F7506EE7
058B18333AE4E956802D68C3F9BC72849912D2E167EC3FFAA0E8B9B61D29099E
C735FCB73FDD8C73FEE70D45C266EB87F8D6A2D37E79EE369D111F18852836DD
4287CD0DC39A1B8A4E4790D0C3E1CCB2148E52E53FAA3A59953544BCFB083959
42526D744C7C4B6677779AF5B5E23FED05C286F311225365A87875586E4E54C7
F8AD27A09D5BF5D7FD077B4034CA24C10E082F6A2E5FBCDAC348655DCE737592
80BDA2B6BC4C38F81F6C5DC8CD5F01AA169CA580C78B60B1B2B7AF314FF226B1
C9F8179B629259602454ADB36F176A188C667C5146795986CE173FFFB1081C57
75664ECFB354A62A590DA0FBF09EDA7FA3B6D1140A9A67EAD3D73DA028C19C7B
399AEED3CDDCD7C4419F4B64256190CF73B681C25B59323A1644E2FA58957599
56478F8824957BE1A74F6687EAEA3530D45F09C2B8E2DE6EE6379154D02FBECB
99EFCC22A17009272C905E0C3B8E9011A7398FEEDE844591189BCEC4C1142738
BB8AB10879E20AFF186844C9CAEADAE55D9493608AE7102143535521968B699A
14D9BCCED59CDD95CC786B3939CC6CCECDA720102533C05C18E159C18921C8C4
05FC5F150FEF9EDF4D15CBED48DAE8822CF9BE839AA4CF75C62D45BE75AF800B
83C277AF3CFC6A4B99C7978F942579F27258A42A503D970BD6BCB84FE984EA53
2DFF57F083D6B339AC6B87DD15D50CBD6120330BF5D6926BB15365F494CC8E2E
563B1FD178B9970DB6A2776E1993C787F8C10CFCF177566FDA26B32EF7D2A200
F010F38C6B91A23FA6B1F96237C23F8F3436460792768F9E1A4BC232907F8583
85A6A25FBC0768ACE15F2E116972224AF1836C3F543035786589A473C3D76E18
70D2B01CEA0B390F0FAFCC543340E57163B9A8AB387B258289F260997DC22AD9
9540088A6CEA5ED000950781F5F6389AB4BE7C6A8813BDAFE941056A7E083C47
8AC4C0E8EB9DD42AD319F846B633E176769878AED838F0E9856C954B341D8A69
63D6259E5C0B0E3B45066F57CE561CB24FCDB31ED2D84CE5EDA8FCABBDDF9DCE
F4294C7D7FAC96519FD6BCFB938E327A231F8EB522052D0CC707067F7C71FD17
822C1EC08784C04649108D75EA9289E6A5D7083663F44DA57FA48F72208D58ED
B7817DF355FC52D7AF73DD0E06A2EE22EEA87A54FB92B3CB944733CFF5BC3FAF
8E70909D392177C9BE87F4ABAF30F184E51F44442134599958FAB1E7C3C2A1EE
A409BDEA1D48245C536639DA7F4D5D14F6485032070079F5A17C15C10599BAB4
351E6EB7AB2147410D850BCAE443F2D8CE8F1122BC7B85B5A8C4893350381609
9E2C0231E38FCAEBA2053756659D0AFEC1950DE731623281CF5D65ACF2BE8F68
825D65A5714F26F24B588C48CF7B671D1720BF291A2605E9F7C7BC0C99C42098
1813545D6AB190F3772CD1B7BF879F2D7FC1567EFE7D797CF7EAC1B82B693323
B4D4CF2FF6F0EFAAC99A0C994438806413FD29766AE223940DDB26B1544D7D05
A36E7202F2163F93E6F90E7BB0122A953A06480F44A5D281A703DA043AC524A9
22DD04205F96750A1B64CDD7E046461E42A392D651F7FD7846D359E91354508F
0779BF12AC1C41054E3896CB116E67F503061B38CDD987E8D29095A943506184
F4B30302905F10A7491F4A9F4A35E0B30FA89693114CCB61DDC7E71E6BABCCBE
AAD2FF8AD99D9029C205606FA41324B98414B5C797B8F431F31F50C68E224ECA
5F2C70779CBCFFF6548928CB638697845A2EDE4B64BEC8063CB30E04AC983DDB
1186CD7B88B2E37AA33493C1745F2932C0FC3E52E2D8F8DFB8187B0AEA11DB05
74AF52E6ACCE06CC069ED62E4918623608AD5B68F0B82901CC6DEF80653535E8
B73B0ACF9355A710BC55D945A5161A68EE0FD265BD0DFFC6276932507902F923
6220C3A5C467EE1913B81204102515C90B375332C1583CB976FF9829004FA63A
65F97D2A873B5ED0CB78F3C43D3B9BFA7A309F26530F71237BA2850405A30CD8
224D4BA64880BB8676E41C6F9DC03BD7C5D1D12AD80F9C91F5ABC60D1BB1C24C
EA4DCFA355BB75BFDC5079025F9AA783F346826594DC7502E816024730435C6C
8BFE5CA1B52F56A3309593879A1BBFE764044A0AE0043B65AA05BF42CC8693DB
A9FC848E9BB33D1FCF56BB01C68B3643A761351D048990F18B26039A5CF7E170
BB5EB48AD76A9244F3D217039BCDBBC94A2C55B5170406D3ACB2072EC05199B0
9A83728ACA69390C7FBBB3D51F51ABA05E0A2C3DB089EC8B3158C9EA036E2202
B6A744EAD50EDFD5140BFCEC3A83F858E5167D99D692882175F396DDA828D198
0ECE9559D54F3EA1BB55632941A22D04AF8B48C1357EAF891526AB55CD428637
5FA1C3FE913AA9A3D638D44874CDD0BE614971D841F80F4E3D39C2003737B9A4
5433FE9116B892B90DE2ED7F20FC4E37167E535974DDA396779D0DC00B50465B
FEA6569E6826B258904F7F197E7781BF1479E39D6821EDB69F23733058F29A8D
C384ABC7B82975FF67F193800AFB7DFD8D87FC587CD924D976788A3A36A273D3
618029D11E9D78B299A8D8D125F0B3E47B53D8BF2E21A9C1A8AF80BBC0D2F1C0
70F9FDE4EF23481255015F393416BC4482DE3E42EB0B6AA6383FB3CF99E27DFA
3117798E6360680C83B4676C3811677E233EFEFF9E2969819C11F26CCDCA8786
AC0AD9FF7FE358443D90A3198688614D2588594E48D5CD09FCEE5C4F4457470B
7F92DBDB3F042313AA8E47AA6FB63F2363F88103D7FE34BD4A6BAA07B14E63C0
12471954CEACB0CF176275C6FBC6A4ADF857C2F51F6D0D2DE2C02E03EBCFAE3B
D8005D76954B140D067909E5CC0B2E4FBB23B8BD9AEB44DB233A28B45B031346
E16F97552647FFAFEDB3A1A6EA3E64D27F8DFA9EB8B58D47D8B12AE4E5E29DA2
898CC843DB8E7A909810C33E2AD1697423DAB1994B22FAD8DEF79121CF130D28
E1700AA8357B1082E352A0A68244F663A0A9F37C47A90BA197CFE9FF7EF0CE60
4D68434FBD743D877FD1D65CB33604754BCB1CB9E8FD760B3A0A506DEB55C186
EE41E005F8BC980F83BEFDDA40CD0C88881D21A786434D1DBFBB407E1D081256
0F37489E075C495840746627A1F0F77E7696DC850B3E3F54B3D2ECD09A35761A
ABD9C648EEA41F399B8CA49469759667F1E2BBDFD1DFEB252AE7BF0C088CAFA4
4FFAE41CC8916D70BF5DDD90A59D8B2AEA048832B0721BFDA97333D29C7B0276
D4366A7C06F05932963443A78187574325BE8F86748AE61923710860EC7DD014
22EFAA051AB129A6B8BBB38F528F3D21189A273022B43EC0086F09CC32C738B4
2A3E846ED36696737CAD442A3FA8B9A7441E3803DB48B24E72C8B6F5E7092771
739C234900D4C81C57F57C51DE7D38BE6CAE358F4A96CF2295C1A083D9B6C6BA
B5CEB5DF8154C63E666EA04A336BCFA2B8B5194779BF09104B1992C7371C109E
8C89A82225E2E88D078731946B58CB9D8F5BE95E2BEADED02E7A68B88570A83B
98B6272AEF6FBA7BAFFD8BBF6503EDD077FA4244C2A1995576E796C7F324DF9C
184DA0FC40E487F22F23D929C3A3F40A7AF4F83B298A3A96E31F7143D4B46712
112F92D723AC14FA4E7856A1DD292E369B0C4EF9F87352C5B7DC9116D1E17D8F
76F6661DC710A1158E8DEF2D2BB03899DAA6C307082EBCDD583C1CC060CCDC16
3713F2DC8C1A5BAD6EE2D5DB652D466054539FBFA2468EC6B482D7712064A008
5C86DFF6ED79996A0F02FE7AE3173B53AF7685C3F5DCCD27AEFC3CCE239E4816
12B13D7A9D11F00699384D1CE947605EFF14997105270B833F828091B8F5D749
F5FF4A8B913E898782694D5B8DE8F97891BF6C956C2C2454D664B9947D799324
F488E9F4930D0CACF85AF21B44D2693BD6994C2FD9F0C0A23A1187566BFD309B
43F7625447132894A4B5CC3162752BC890C9AF9115A925F9FD12E069B1447A73
E01B55B9F2EB050ED0D6040F5023221F95D2DF816062C5AA1AAE0DF5A4E459D2
3FF887B6AB8163179FBC3F31B64A59D76534290D9FFCF1307373238CCC379F7E
4F847BEA63C1C66D4559E785BEE9DFAFCDE279CF37F306B6BEC2F1938F6187E7
DE8BB11CA4FC0371D15AC3D9E6E46A89DBBD9F690AEA8887976B107F90BF38FC
2C6C235569F568454C24EFACC58E7ACFE2ECA40FCA4734C3F4C4C614549F669F
E8A489A0F80277C09061BEA823992C634AD1D7041A20BDA7DDC6FC2A44F4A27C
7E0BF56A658ED3513CF151E908B40B1F7AE014E26D7C820D9A0D2FA4A65E4BFA
0448FA66B4BC9775448EA7FC89CF3C59980D2E64BE4E8B76F26B987C113DCC86
F999CF295532FB6CAFC47CEBDA3202BE846D80AB73739BEEFCA7C3228FC27F2C
B35F6D205225ECDC06E0932641E9984CE3D53AB056D51C4C41EEDD6CC2A177AD
8230F95DB829EEAFB51F1B888A67DFAB9D06B485C260ABC5B086BADB74DDCD83
BC4E93A3B45639814CC7B7FE027E63AEE77D89436DBCA67562CC60C03749E750
DC3A09FE290AA918F48805C57292EC7CDB0E44BCD7E736CAF27DC2691EBA3A7F
84C38CC9C8395D17F20C5B198CD168CDAE8EB233D46EF930874C25F3B1D7F6FA
69401DEDEE59D3087628C5AD0B6D1DD979A646B37693EC4F8CC44210F3EDCFB6
B22BEEF692B3C2E4E71D87EE75D71A3AF0178BB8BB90ED8BEB5CAB7C763D3DAC
67B426AAF471509682673FDCE4135181A09746377E398CC9BD28950E7400BFAF
89E32A8EEC6B879AC6D9EE1D48359A2478EF7A1D3CA9D98B8BEA11AC6452361A
4EE844B3152F6373E3843F58491D52615BF117081DD61154BD54CC524C98BFB7
693FA7D9B96CF43E95A02249CD9259DD7515C78258A2CC55284CD5ED6E3B49D9
2AFC2D5C0D984D02394157D5E6EA35086DF6AC26330FE2670F5695F0B1DDB335
4F162E15D35E1E44A9D837CBAE7D1650A2B1540D329CDD92FFD3E1382A17B6C5
023C14EE5B4CCE6A7128BACA9EFD6CF2E84C8F9B341620033F291C5A598F28CC
A4D142EA99FE0572E657A3F6DA85A2551A968AB16A58A21465E24EC65457533D
A3F08FB9C12AA161BB181D54AC7A2139615EDE6307EE24D10CE7BEC6D7752534
E6E4A487A768FF6EB2525D7C9C55D8D3FDE99F659D26AF0094122E42A6C9747E
BE331E26A7B5087E1D56859E67C461A513452ACBCDE8ABA296E76DFB171EA477
4139E5920137834337DA64773E240DE83F8EB8391CDA3ED38478D9759BE53F05
095B75D4B16F4241372856E37D038E5E3B1E10583CFF6C2AB9FBC1BE200F040A
F20A314527D30B1F488A8F90CD82088F0FCFE8341653887E367EDA6E243E6001
49FDD7D7F9DCA04536D02DA2EB209BE0517F7315764D7F9FA6CB90E51183C161
3E9AC2B6BF5B3F1E6DC53239999E0E30FEA8B60EA1F63718CF53D446261883D1
24D454DD505171EB522986C2A2BA9F765A109546EEAFCC2034710A899F200236
80BB8CA61CC64BA305495AF2F4146761642FC4A0FEAE74865E05235C81EB1E6F
00758DF5BB2256AEBD61899C476E2C613E44235FC01DBFEBD4C8BF1AC9EDEC93
FC8542FE7667BF5BFF4F98CD568AFDC1B0CF7E5B874A217BF8AC214DCD1C3454
E6D91DB4AAEA06A749CF084EC81674D420BC6D42BBF6FCACA805ED46978897F8
26F2A56CDACDBBC059C2E343E662CFB4E52CA740AB9F74917D644184D15FD02B
65AC2910CC284948F04EEAEE320536D7F682274FF77505F5BA1197E06D0A2274
309B3FED9CD2151B9F75C0E2C36B0DB65374B707DA050D6FB5D074A3A3673241
B48525013CBC16E647A50FAF625D05CC0D9725E6DCBB5F6A0A8F6589AD435399
0C10184EF4FDFD1F53EB305EB64F1EC3604B4AA0B3D9C2BBC7905FACD16CDDB6
1EA236E95C4E63E0A8410D077863F63B371AEE7F407AB462CB08E1F346A4FD71
F0DC11366AC190C7808D9465A4B3E1179972251BDB5180E282CEA3B277459C93
238D787EDD1CDD76FD70147762C42D339A5D8DB85ADF65B8766F342EFC00E57D
497DD1929FDDFECD8CB01240D03E318820D669B8205B345C73EE5109B9AA7EB1
71C8579B6F78A35AC7722AD682D35D8852F453A95E67B948CCD605AC3B6F47D7
E7CDB2A9464A0B07D396D36D25AC402CC8E9BDE1E38F60DFDC677A95D498432C
EE8BC8E957595E99161B03702B885E6302E23EABB179899C85097667CD5518F6
40E7C12820B85A94D9FCF21B8DD01C65E16E9196650402B4E04AC72E99BFC394
5B207552F71251FBCC365A9E2355F35C8E059423A8A0BB8FBA0D8E2147F7B5DD
CF73E36063A501398CF9EAF08B2D783F66A06C4B660B928FE138CD3CEA3698AE
DA23E6F875105FFD363B968EC3BE27CACABEC135849DA164A9D320471A7F60C4
F5CC6FE898B1DA69525F6F3BA5CC70176B1F59BE78D655FEF04F1EDFF18761CA
C25CE5A8F14CC617A837EFF994D269F30070DC58721DCAF8B84E12DC6DDDE605
347E41FAF0E108AE69E9E0B71802F8F98282E0D8FB3276B6D9A33EA7417EADE1
67500A498068810BA357213D6E90EA892F410155509B8CED08554C56525F9C4D
2DCD9178BE3BC8CC6320C646590FF4925AB9599ABA8D8168CC4F8DE1FB815AC1
D8031F9A3656D002E773459844DB987AA4ECF9F5FE8B2A0690ADF811836F2BAA
F5DA7FB2A1D81E2C38D8E15BF3DF895BB2FE4AE915DE304C55567EA18D3CD1F2
829FAE6B28447F589D82BB70A52918A5DCDE9587C50969D4CCF574144C1F8D9B
4CADEBCB324686BB0937354013975F3C303F58080EE244A6DE2982E2970DAADA
288C54D4C16FB3F8F5AFD591327109C298FE05240D6C361BA72D9044EF5E9BA7
21146E4F107F7C4F408C04108CC330BE7EAEED969A66BCCDFE27F10F22C213CC
896EDE048DC4DDCC1984117866F0CDA39E44AF09FA7CA3F29EC68F8A35D7560D
3DFAD13A5D46682924A3C43B4FDE357D315343D2A192DC434053E6F22CD95151
EC038AFA00E6C0639C36BDBAE0127F27E2DC2BF7DB7A8D6CB0AA5B0B194320DB
2586D0059959EFECCA1677447CEC6C199C80A76788A61B3D1A4B69B051192E61
CA528B0AD3EB7F2D37E23A04F34D54A2CAD84AE483703FA0B323A198A2B06806
5C7630B9112BD7CA5C2032D1080E8F6EB7886CE7C9B864141D31154FD8D2B2FF
680E1D255A0CCF227C4BF80C5150F371E0DA2C422E6B9CB4449D06606477625A
56B0142F136DCEFE950D8ADCF88D34E305BD96D900D0784F44E40E736CB86C3B
6AF394FED5AFFC61321BA9D511D7520BBC33AFDF2C4F53BE2B7CB11D8E1B419D
9F698C305CFEFE7E391D190E608BD5E62FBC3E193DAC65F1B21EA0D535CDA3E1
70781C4819F1B98165287D0A7E9F2A0AA9BC27D02218047A5D3247D41B387677
FD5419E5BF713B9F9863C77EA0218E509B036B622F157F382093DA9F32DC1778
B47FECF95A630218FC13AB09829A5D7E5A874ECF40F240FCB4177C7FCA7A6365
76577CCD1E19CC6C9AB15542EAF6A4E8136222F29AFAAF520FA06C40E038B43C
DB4C341F31AA25F3DD92EA498661FF852937D1146260D5BBBC7E627D84B31800
1B362FCD6C631FBED0BAE0BD019FE4767A468A94E8E14400A0F5C845DE5AFD74
280E72812F50457152EE943295A3983DF3AA8FDEB4A09B94B4A25BBF5839144B
5C6C6E04BE342B7A744B3740D6E8413034F72E32FCB965232041229E432AF5B2
F2F2D962EAF147ADC361D5F776783D59600EACDCEA4BF130D39B042C1F707407
323BF1A510CF4B11631786C12805EE232CCDDBBDACE94BC3D283F5D0D3FDA65F
AA3800A395044516773D3F596595BEA5ADED5BCA272EB0C5FAA47E091BC0C77B
C12D502AB17F760968573E08E193445EABB202E0DB01175297C984EFEEA6B956
B9C9A746DA9846B5A5862A82B1FF6D3D21DAE713939D089854106FF83C898E11
58B9EB9DDF744E1C4AA5AB1CBE4BA3DE83921121D0E835406E7AECDC1C49F384
A8711329BC7FF65A0D66E6852F681505DBE0CFBAFC357112665098CB7782DE3C
2A3751A44887BFDCB414788FB7C5E981C2029F8F661B494761EB8048692FDFA9
9C2AE1FB18F18035BC0B572BB5FF87C13779DF90465F66C9F22EE4F87177A8E3
56E32BE71E9C4A05050BBA76849536267E3F49634D833FFE863857789EAD7CE4
ABDCA696B0AB9064D4A9FBD592134972A9834C95D8C2D31858FAB6FE0D354779
B5E0D44A2996F3AE1F4A1444E9A3BD944CE4D015F5DDFD4A6FD285DC5BB5B3D0
02559620703CDC4502229532E16345D7CD7C20660347DA827CCD009D78819CB6
6ABA23033E23AF8496452D058F04AD64BDD9C19AE91AE9DF1B3C72BF5C1D5AB3
8AED52D9BC552E3F531CB676C6E3657A013D020ACDB57CC48297BA3CFF1096B6
679C7040831AF0734655905D088850CCD3878513D09EA3FDA53F8FFF344906EE
3661DA4B3F4A66500A5B9B7B2A18E48D7110A4375A9DCE3A7A7DA63FD80C2440
5EAFAAA1C2F773E1C58A54E0775264A8BAD6EE25DCD32DCAEF4070946DD65558
50CED1BE599AE6B444FF7CBCB68EB63D09E98286D14ABFA4DEA41D8AD92E9AA2
98CA01111924E80CCC0427253DB78D1EDF14758CA5F6AF562791F2716951F03C
A5907B3D91BAAEB7E5A08B9F9EA3172F32B2D6E1C7586079AA2B1E2FF31281E6
499B21248EE2D344DFFFEDE1B7FBAD8BE06FA96A299DDF903BB844E961833FA2
11EAABC22885A67896558FB2A4E315E02BBC24DD4B700174FFD171D824E6F32D
E34AD2A210D5D93193DAF1CB368D5E83A660323D8B784543C9C3A3F072C3DB22
5AEF8D3B2A4B05F54F28254845AE3C1F843C8C7BF098326939D8BDEE50D7A666
25279CD08CCB9CD140B8E0A91CE26F7FD4290F46DE997B4F98A4C3A72431230D
F236F3333BAE93805B0C6A757F37317BA8FCA78AFD2F7A9F58853996B9AC8135
060E92184C4DBC346F285E1F2A094C41BD803E738A5E58840BEA4D6196C29446
7FAD1A09B0E0FD587E13239E9576C222914092DDC1405F52BAB6B37F122E7F40
9369049979105670716CF10CB3AE1E1A57A752D6E0EF8F4C08367461B7E3572E
E5020E1C0A946777C0CF4700B448C38434C67C67DA7CDA01A3C01E145F107F92
A817FD3762A07A8D6D08A86B6EFB6ACFE56E7FA99A370350038FC1AB1C3358A1
FDE3EBA015EDE9CDA4A600401082DE3920D0EFC5521AB03140323E3A032DB577
DFC16F83E7159603117BFB685637674DCB4E897065FFC5A44A56CBAFB42F78C4
027C2820CC42FF5D8A6A8579E5B7E153955CA8443EE32F696F286B613CB11F99
6D564F921C6765DE8568187B138F3609863D2A6E5D573E4789AC2E248DA97A06
37A7F693180D51F9CC75E2B2D4A0ED4C1F1A599820C9FC3A12B7668198B5297C
7E76C8F8885B7556AD4F31D705BD4DD482C7C6D28DC61257F486D2AC8C34CF8A
6CEA8B398AD69AB6F55665CDCB9B2A743A09C9CDDD019F64D2829F76135745DB
24C6926FD744EA9DDB8710CB029B9DFA7EE03FCB6E3263964957C1C634468B5C
16A959326883F6D0D118346D12391C757889D54631F892EA7BDAB541B36E7953
B4D6FB36FC4F2EDA95D35A01571C8675DC792787D06BB6D4AF3BD9C914F0EC89
AACF7BEB5D40267CF8EB34C303C6851249A1DFE4BE30A79BAA95FF83EAF7377F
6C361D31B87D0379B67EEB6260E6021C38A86793A00BC86F97F1E6950EA877FA
514E53902891A9CE840B97EF393AA874E5C52AD0980640A8D7267E9DD1418C29
63144AC596F880896EBA77C1B6287CE441747745A5DE244506BB48B1D938B060
9F388E3F5041DDE6EA36A538BF58444C86DE6D1746ED6AF74119CCF81CBCCE00
7571F824498CFB82BC86551E26330EEB918469ABC25781641F261CC395C52CEF
9F65D9D7448FC2DFB35ABE03F203771E9830CE1D4220B6921549D2E089E8C4A2
7C82ED52AE847B53A6675C37C77C26C33547AEA0361D788397FEC78CA3EA12F4
74D04E6AD1DD70E06958D2FBBA37CC91C6243B58DB030B669A95CDACE3B1E5AE
775CCD9FDB741059D6B3B7450F5DA98A92AE99394396DB92D96C37051C2823B5
22DACD630ACFB1254B40001C3A699F75ACAC6BFCFA00A6C5CFA13D867E607C88
5470214ADFE4295B643E57B3AD1DF8AC90F90B8D935F0D9ABCBD7BF46E58A568
D829C02AEADE3435AAF6DD9CAFD7FD57854D9FB4869B681714238F9F2B1EEF21
D48AFFDF33FD9C8AB50EC0F719C18EDBC0F876AF50840CB89AC517B8DC65CA6A
03CC999ADB424FAC6AC907283B3BD3953002DF77C1E132E0BABFC0CF29E645C0
EFC844A0E15C7D9494527CEFBFBF7E87F50E1AFF8C52C9A3D2A3FECD061BD216
2A59DB2A6FD82B2557D384676A77AB1F9CE2674B2CAE1288566A4089689BE473
D17825C17B5B04FE0EDC6242B102660BF2FEF961D8EFD908A933E42A55954172
77D48159D281D0F5180164A974B8DBA5103D23966D971CC482608FDD49DF1471
921AE08EBF2B43B37D60F7FA3808118421BD114E30AE0AC4407D3EDDBA22CB8A
542D606DAF3BD3AE6FA4C9DAD9C0D44215D71D1E4C7EE32416991A52C001B9FD
2FF0A566172A069BD6ECC90E17FBF0DEF8518D2048A1547A48AF50E65B767CAF
0DF408E5123216A30D25103D7D9DA3A4E099C49EB05F23B351B23FDC78146A6C
AC55A81FDDF51F477AFC7BC7FBD7E45793CD05B66A861113C03F7D3BAEF1C3AF
59C0E89D028E1409218E6D75D0C9DF4030C96F6E7B8CF6054009000FE8D9EDE7
7A6488621A69BCAB5ECB521CAE729F09E49BE076C95035BE44C16438943D3578
499ADE9431651D3D38F95C908E055F40379B2D14580D7E2BF5C7FDFFA5E2D0A6
59C6AB6EC5905D1053CD02566231941D92B38E585DCAF42DA4C86C5FAD2ACB44
A4131F3A74F6AC0D4B135A05088B858D5073AF7865899F059A9FAB43B7457C36
CDD0E5A411A083E4AAB62645FE71112C1D143C7CB838D092EDAC57393439A429
559129E946EE237C5B4CB2BFDFC3D32ECD99A0360BC89787A38B0C57BBB3CDAA
0960FE7FA232D95B888D195578601C30198BA517F526C8368D426D7B1049EDD6
FC36C9CAD2DCE7AE87F007233F4F1783DD06FC306A55CB0692D0A668D0A8FD4D
62D2BC739AFAC84541EEF28BCCCA352FF095BCFCD4EED4563350BF61A8F08517
E5257AAE5C9A6CE12E6714653EA552E03612CBE4E898FB1D4D745CAF81813E05
13D86F72F2175F9B72809CC01CC7EC3D57700F817028526AC4AD2B184F046631
4F5F8E2840304DD1B90DF28A4F596374FCE81192C4656A0018AC6387886D85EA
4F8206C8CE899D825669321CED0DDF9642522E3A3D4317223ED5CD24BF0D7D64
6375E46FF7C8A440B483CFD6C9196AFB2D35D8EF2491BBDC5A22A7078F08585E
5C05297B9A7C06BEE85810349F1675A24A3D1AB78672D4A633C8212BB62B84F3
CDC1D5E350F30B08154A39BBC8FC28160A499A2B12D66AA6B8E5183D8201D4BF
FCD8EA1C9597C33AB92C4F42B1A52DAE32B9E859616D2E4FB8D0CC127B03C14F
3EC6A6923541FED895C775306DEF4BD8E1169016AC4846FAE80BF3F2CD21E65E
49E325D669E9134375C597B4959A612864E585AF8634E68563B25FB5482BC5AB
6AF17D9CD13FEC36C46AC83E0ECAABC6CEAB0599FD227A4BE2699E9B14773694
FC0FB23BE139E9536614C4D97077FA48CBBDE26A776A7AF1A392167A7C66216C
6FAFEFDADFC5621E81F6A4B70D291A3BCC7E336DB32FBE89020880FE1F242024
5E550B3C5C6520D7B962CE689805125AFF169EFB178A06ABBE374EDD4DFEB861
F3B4AE7313A01ACFA26315AF290365FBA57BF85D4DFD2334954BF8606FDC8D3D
3E6EE8CC35C88BB350C8CA0843697710AC03EFA6597B0D1C2F832982CD8A2AF4
9F5179D8370642E347B43C4E194A24B411D390A5EC83CB35269A2746ED576D2A
ADF58236ABBB4DDAE6C0B8C8B0F5A556B8C41BF15461084D434C14C72BB8744B
90424BFA46FBD91A07A5697F3A4189E1967D45EC7E829209340E846AB4F313BB
5053C3B8372C1DFFF614BA4BC26AE1B607F97C2C0C9F25E812256B136609E913
9803082AEDBD7961220DDD1A23D69A48A7D81087FE47049DF6DB4ED9095186E9
4B5F70AE4687577E3DFC94D2EC884F0D61641E963A361266CD46CD42129EA6E0
896DDC893ABB5A67433D0C368A08A486693B54E5A154AFFDB87AAE3F406668F6
D0C454A7E3C2318549F06EE0ED9754D37A473BCB8AAF13510EC727FE0718A72D
8DE699F09687C6999345C3DAE7F0E90EB774950D1B67F30807FF9D44F203B751
DE2C383BC1BA4351C0277F5EC8DDF26FBAC7CC6CB735C501B959853A2B0BE03C
6B245AC6357A5F853D007F704915EA09760E8A979B4D4B93279727D90AF79FEF
AA2966B003371EEEAA21AF2576D8FB025D1346CF993D388D7D6895042C873B05
26157A9D64E60788CBAE03B51A95B1B73C65BE645FA2F0C31C09F9EEEE9BF70E
3148979C2AAB48B64DB687139F704EEFB00035D785081FD8EB4F3B1B1B86A68F
012087AADEF617
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
TeXDict begin 39158280 55380996 1000 600 600 (./gperf.dvi)
@start /Fa 197[25 58[{}1 90.9091 /CMMI10 rf /Fb 197[33
58[{}1 119.552 /CMMI12 rf /Fc 197[21 58[{}1 74.7198 /CMMI9
rf /Fd 133[34 41 1[55 41 43 30 30 30 1[43 38 43 64 21
2[21 43 38 23 34 43 34 43 38 21 10[58 1[43 4[58 70 48
60 39 28 2[50 1[59 55 54 58 7[38 38 38 38 38 38 38 38
38 4[21 4[21 39[{}47 74.7198 /CMR9 rf /Fe 147[25 10[44
97[{}2 90.9091 /CMB10 rf /Ff 139[52 52 52 3[52 1[52 6[52
101[{}6 99.6264 /CMSLTT10 rf /Fg 214[35 35 40[{}2 90.9091
/CMSS10 rf /Fh 136[52 1[52 52 52 52 2[52 52 4[52 52 52
1[52 52 2[52 1[52 95[{}14 99.6264 /CMTT10 rf /Fi 133[48
48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 51[48 45[{}25 90.9091 /CMSLTT10 rf
/Fj 138[56 56 56 56 3[56 4[56 3[56 56 56 99[{}9 109.091
/CMTT12 rf /Fk 134[65 1[89 65 68 48 48 50 1[68 61 68
102 34 2[34 68 61 37 56 68 55 1[60 9[127 1[94 6[96 2[96
1[46 1[96 77 81 94 89 1[93 12[61 61 61 61 2[34 41 45[{}37
109.091 /CMBX12 rf /Fl 141[62 1[62 8[62 62 62 101[{}5
119.552 /CMTT12 rf /Fm 133[37 44 42 1[42 49 30 37 38
1[46 46 51 74 23 42 1[28 46 42 28 42 46 42 42 46 4[47
4[91 1[68 65 51 66 1[62 70 68 82 57 3[68 70 59 62 1[65
1[68 6[28 11[28 33 5[28 4[47 34[{}45 90.9091 /CMTI10
rf /Fn 134[48 1[66 48 51 35 36 36 1[51 45 51 76 25 48
28 25 51 45 1[40 51 40 1[45 9[93 3[51 8[47 3[59 20[45
3[30 25 1[45 42[{}29 90.9091 /CMSL10 rf /Fo 141[74 1[74
8[74 74 74 101[{}5 143.462 /CMTT12 rf /Fp 130[39 1[39
39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 39 1[39 39
39 39 39 39 39 39 39 39 39 5[39 1[39 1[39 39 39 39 1[39
39 39 39 39 2[39 39 39 39 39 1[39 39 39 5[39 39 2[39
3[39 3[39 39 39 39 2[39 39 39 1[39 37[{}59 74.7198 /CMTT9
rf /Fq 134[39 1[39 39 39 39 39 39 1[39 39 39 39 39 2[39
39 39 39 39 39 1[39 39 50[39 6[39 39[{}22 74.7198 /CMSLTT10
rf /Fr 129[48 48 1[48 48 48 48 48 48 48 48 48 48 1[48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 1[48 2[48
1[48 2[48 1[48 48 48 48 48 48 48 48 1[48 48 1[48 48 48
48 48 48 48 1[48 48 1[48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
34[{}80 90.9091 /CMTT10 rf /Fs 134[85 85 117 85 90 63
64 66 1[90 81 90 134 45 85 1[45 90 81 49 74 90 72 90
78 11[124 112 90 120 1[110 1[126 1[97 126 1[60 126 127
1[106 124 117 115 122 9[81 81 81 81 81 81 81 3[54 45[{}47
143.462 /CMBX12 rf /Ft 240[45 1[91 13[{}2 90.9091 /CMSY10
rf /Fu 134[71 71 97 71 75 52 53 55 1[75 67 75 112 37
71 1[37 75 67 41 61 75 60 75 65 7[102 3[103 94 75 100
1[92 101 105 128 81 105 69 50 105 106 85 88 103 97 96
102 9[67 67 67 67 67 67 67 2[37 45 7[112 24[75 78 11[{}56
119.552 /CMBX12 rf /Fv 131[91 45 40 48 48 66 48 51 35
36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51
45 25 2[25 45 25 1[68 68 93 68 68 66 51 67 71 62 71 68
83 57 71 47 33 68 71 59 62 69 66 64 68 3[71 1[25 25 45
45 45 45 45 45 45 45 45 45 45 25 30 25 1[45 35 35 25
71 1[45 76 45 19[76 51 51 53 11[{}86 90.9091 /CMR10 rf
/Fw 141[89 1[89 8[89 89 89 101[{}5 172.154 /CMTT12 rf
/Fx 138[108 75 76 79 2[97 5[54 3[88 108 14[149 13[152
18[97 97 2[97 1[54 6[54 39[{}15 172.154 /CMBX12 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 150 1318 a Fx(User's)65 b(Guide)g(to)f
Fw(gperf)f Fx(3.0.4)p 150 1423 3600 34 v 2005 1519 a
Fv(The)30 b(GNU)h(P)m(erfect)h(Hash)e(F)-8 b(unction)31
b(Generator)2537 1627 y(Edition)g(3.0.4,)h(1)f(F)-8 b(ebruary)30
b(2009)150 4958 y Fu(Douglas)46 b(C.)f(Sc)l(hmidt)150
5091 y(Bruno)f(Haible)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4152 a Fv(Cop)m(yrigh)m(t)602
4149 y(c)577 4152 y Ft(\015)30 b Fv(1989-2009)k(F)-8
b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(Inc.)150
4286 y(P)m(ermission)g(is)h(gran)m(ted)g(to)f(mak)m(e)i(and)d
(distribute)h(v)m(erbatim)h(copies)g(of)f(this)g(man)m(ual)h(pro)m
(vided)f(the)150 4396 y(cop)m(yrigh)m(t)g(notice)f(and)f(this)g(p)s
(ermission)g(notice)h(are)g(preserv)m(ed)f(on)h(all)g(copies.)150
4530 y(P)m(ermission)38 b(is)h(gran)m(ted)f(to)h(cop)m(y)g(and)f
(distribute)g(mo)s(di\014ed)f(v)m(ersions)h(of)h(this)f(man)m(ual)g
(under)f(the)150 4640 y(conditions)44 b(for)f(v)m(erbatim)h(cop)m
(ying,)k(pro)m(vided)43 b(also)h(that)h(the)e(section)i(en)m(titled)g
(\\GNU)f(General)150 4749 y(Public)27 b(License")g(is)g(included)f
(exactly)j(as)e(in)f(the)h(original,)i(and)d(pro)m(vided)h(that)g(the)g
(en)m(tire)h(resulting)150 4859 y(deriv)m(ed)i(w)m(ork)h(is)f
(distributed)g(under)f(the)h(terms)g(of)h(a)g(p)s(ermission)e(notice)j
(iden)m(tical)g(to)f(this)f(one.)150 4994 y(P)m(ermission)j(is)h(gran)m
(ted)f(to)h(cop)m(y)g(and)f(distribute)f(translations)i(of)g(this)f
(man)m(ual)g(in)m(to)h(another)f(lan-)150 5103 y(guage,)41
b(under)35 b(the)j(ab)s(o)m(v)m(e)g(conditions)g(for)f(mo)s(di\014ed)g
(v)m(ersions,)i(except)g(that)e(the)h(section)g(en)m(titled)150
5213 y(\\GNU)e(General)h(Public)e(License")h(ma)m(y)g(b)s(e)e(included)
h(in)g(a)h(translation)g(appro)m(v)m(ed)f(b)m(y)h(the)f(author)150
5322 y(instead)c(of)f(in)g(the)h(original)g(English.)p
eop end
%%Page: 1 3
TeXDict begin 1 2 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(1)150 299 y Fs(GNU)54 b(GENERAL)g(PUBLIC)f(LICENSE)1477
521 y Fv(V)-8 b(ersion)31 b(3,)g(29)g(June)e(2007)390
663 y(Cop)m(yrigh)m(t)842 660 y(c)817 663 y Ft(\015)h
Fv(2007)i(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32
b(Inc.)e Fr(http://fsf.org/)390 882 y Fv(Ev)m(ery)m(one)h(is)g(p)s
(ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)g
(of)g(this)390 991 y(license)g(do)s(cumen)m(t,)g(but)e(c)m(hanging)j
(it)f(is)f(not)h(allo)m(w)m(ed.)150 1234 y Fu(Pream)l(ble)275
1393 y Fv(The)e(GNU)h(General)h(Public)e(License)h(is)g(a)g(free,)g
(cop)m(yleft)i(license)e(for)g(soft)m(w)m(are)h(and)e(other)h(kinds)150
1503 y(of)h(w)m(orks.)275 1644 y(The)c(licenses)i(for)e(most)i(soft)m
(w)m(are)g(and)e(other)i(practical)g(w)m(orks)f(are)g(designed)g(to)h
(tak)m(e)g(a)m(w)m(a)m(y)h(y)m(our)150 1753 y(freedom)k(to)h(share)e
(and)h(c)m(hange)h(the)f(w)m(orks.)51 b(By)35 b(con)m(trast,)h(the)e
(GNU)h(General)g(Public)e(License)i(is)150 1863 y(in)m(tended)25
b(to)h(guaran)m(tee)h(y)m(our)e(freedom)g(to)h(share)f(and)f(c)m(hange)
j(all)f(v)m(ersions)f(of)h(a)f(program|to)h(mak)m(e)150
1973 y(sure)35 b(it)h(remains)f(free)h(soft)m(w)m(are)h(for)f(all)g
(its)g(users.)56 b(W)-8 b(e,)38 b(the)e(F)-8 b(ree)37
b(Soft)m(w)m(are)g(F)-8 b(oundation,)37 b(use)f(the)150
2082 y(GNU)j(General)g(Public)f(License)g(for)g(most)h(of)f(our)f(soft)
m(w)m(are;)44 b(it)39 b(applies)f(also)h(to)g(an)m(y)f(other)h(w)m(ork)
150 2192 y(released)31 b(this)f(w)m(a)m(y)i(b)m(y)e(its)h(authors.)40
b(Y)-8 b(ou)31 b(can)g(apply)f(it)h(to)g(y)m(our)f(programs,)g(to)s(o.)
275 2333 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m(are,)i
(w)m(e)e(are)g(referring)e(to)i(freedom,)h(not)f(price.)61
b(Our)36 b(General)150 2443 y(Public)e(Licenses)g(are)h(designed)f(to)h
(mak)m(e)g(sure)f(that)g(y)m(ou)h(ha)m(v)m(e)g(the)g(freedom)f(to)g
(distribute)g(copies)150 2552 y(of)e(free)f(soft)m(w)m(are)i(\(and)e(c)
m(harge)i(for)e(them)h(if)f(y)m(ou)h(wish\),)f(that)h(y)m(ou)g(receiv)m
(e)h(source)f(co)s(de)g(or)f(can)h(get)150 2662 y(it)e(if)f(y)m(ou)g(w)
m(an)m(t)i(it,)f(that)g(y)m(ou)f(can)h(c)m(hange)g(the)f(soft)m(w)m
(are)i(or)e(use)g(pieces)h(of)f(it)h(in)f(new)g(free)g(programs,)150
2771 y(and)h(that)h(y)m(ou)f(kno)m(w)h(y)m(ou)g(can)f(do)g(these)h
(things.)275 2912 y(T)-8 b(o)24 b(protect)h(y)m(our)f(righ)m(ts,)i(w)m
(e)f(need)f(to)h(prev)m(en)m(t)g(others)f(from)g(den)m(ying)g(y)m(ou)g
(these)h(righ)m(ts)f(or)g(asking)150 3022 y(y)m(ou)37
b(to)g(surrender)d(the)j(righ)m(ts.)60 b(Therefore,)38
b(y)m(ou)f(ha)m(v)m(e)g(certain)h(resp)s(onsibilities)e(if)h(y)m(ou)f
(distribute)150 3132 y(copies)30 b(of)f(the)g(soft)m(w)m(are,)i(or)e
(if)f(y)m(ou)i(mo)s(dify)e(it:)40 b(resp)s(onsibilities)29
b(to)h(resp)s(ect)f(the)g(freedom)g(of)g(others.)275
3273 y(F)-8 b(or)30 b(example,)g(if)g(y)m(ou)f(distribute)g(copies)i
(of)e(suc)m(h)g(a)h(program,)g(whether)e(gratis)j(or)e(for)g(a)h(fee,)h
(y)m(ou)150 3382 y(m)m(ust)i(pass)f(on)h(to)h(the)f(recipien)m(ts)h
(the)f(same)h(freedoms)e(that)i(y)m(ou)f(receiv)m(ed.)50
b(Y)-8 b(ou)34 b(m)m(ust)f(mak)m(e)h(sure)150 3492 y(that)29
b(they)-8 b(,)29 b(to)s(o,)h(receiv)m(e)g(or)f(can)f(get)i(the)e
(source)h(co)s(de.)40 b(And)27 b(y)m(ou)i(m)m(ust)f(sho)m(w)g(them)h
(these)f(terms)h(so)150 3601 y(they)i(kno)m(w)f(their)g(righ)m(ts.)275
3743 y(Dev)m(elop)s(ers)i(that)f(use)g(the)g(GNU)h(GPL)f(protect)g(y)m
(our)g(righ)m(ts)h(with)e(t)m(w)m(o)j(steps:)41 b(\(1\))32
b(assert)g(cop)m(y-)150 3852 y(righ)m(t)38 b(on)e(the)h(soft)m(w)m
(are,)k(and)36 b(\(2\))i(o\013er)g(y)m(ou)f(this)g(License)g(giving)h
(y)m(ou)f(legal)i(p)s(ermission)d(to)i(cop)m(y)-8 b(,)150
3962 y(distribute)30 b(and/or)g(mo)s(dify)g(it.)275 4103
y(F)-8 b(or)35 b(the)g(dev)m(elop)s(ers')h(and)e(authors')h
(protection,)j(the)d(GPL)g(clearly)h(explains)f(that)h(there)f(is)g(no)
150 4213 y(w)m(arran)m(t)m(y)g(for)f(this)g(free)g(soft)m(w)m(are.)54
b(F)-8 b(or)35 b(b)s(oth)e(users')h(and)g(authors')g(sak)m(e,)i(the)e
(GPL)h(requires)e(that)150 4322 y(mo)s(di\014ed)42 b(v)m(ersions)i(b)s
(e)f(mark)m(ed)g(as)h(c)m(hanged,)j(so)d(that)g(their)f(problems)g
(will)g(not)h(b)s(e)f(attributed)150 4432 y(erroneously)30
b(to)h(authors)f(of)h(previous)f(v)m(ersions.)275 4573
y(Some)e(devices)h(are)f(designed)g(to)h(den)m(y)f(users)g(access)h(to)
g(install)g(or)f(run)f(mo)s(di\014ed)g(v)m(ersions)h(of)h(the)150
4682 y(soft)m(w)m(are)34 b(inside)e(them,)g(although)h(the)f(man)m
(ufacturer)g(can)h(do)f(so.)46 b(This)32 b(is)g(fundamen)m(tally)g
(incom-)150 4792 y(patible)j(with)e(the)h(aim)h(of)f(protecting)h
(users')e(freedom)h(to)h(c)m(hange)g(the)f(soft)m(w)m(are.)53
b(The)33 b(systematic)150 4902 y(pattern)j(of)g(suc)m(h)g(abuse)f(o)s
(ccurs)h(in)f(the)i(area)f(of)g(pro)s(ducts)f(for)h(individuals)f(to)h
(use,)i(whic)m(h)d(is)h(pre-)150 5011 y(cisely)d(where)e(it)h(is)f
(most)h(unacceptable.)46 b(Therefore,)32 b(w)m(e)g(ha)m(v)m(e)h
(designed)e(this)g(v)m(ersion)h(of)g(the)g(GPL)150 5121
y(to)38 b(prohibit)e(the)i(practice)g(for)f(those)h(pro)s(ducts.)60
b(If)37 b(suc)m(h)f(problems)h(arise)h(substan)m(tially)g(in)f(other)
150 5230 y(domains,)28 b(w)m(e)f(stand)g(ready)g(to)h(extend)f(this)g
(pro)m(vision)g(to)h(those)f(domains)g(in)g(future)f(v)m(ersions)i(of)f
(the)150 5340 y(GPL,)k(as)f(needed)g(to)h(protect)h(the)e(freedom)h(of)
f(users.)p eop end
%%Page: 2 4
TeXDict begin 2 3 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(2)275 299 y(Finally)-8 b(,)34 b(ev)m(ery)f(program)f
(is)g(threatened)h(constan)m(tly)h(b)m(y)e(soft)m(w)m(are)i(paten)m
(ts.)47 b(States)33 b(should)f(not)150 408 y(allo)m(w)25
b(paten)m(ts)e(to)h(restrict)g(dev)m(elopmen)m(t)g(and)f(use)g(of)g
(soft)m(w)m(are)h(on)f(general-purp)s(ose)g(computers,)i(but)150
518 y(in)h(those)h(that)g(do,)g(w)m(e)g(wish)f(to)h(a)m(v)m(oid)h(the)e
(sp)s(ecial)h(danger)f(that)h(paten)m(ts)h(applied)e(to)h(a)g(free)f
(program)150 628 y(could)h(mak)m(e)i(it)f(e\013ectiv)m(ely)i
(proprietary)-8 b(.)40 b(T)-8 b(o)28 b(prev)m(en)m(t)g(this,)g(the)g
(GPL)f(assures)g(that)h(paten)m(ts)g(cannot)150 737 y(b)s(e)i(used)f
(to)i(render)f(the)g(program)g(non-free.)275 881 y(The)f(precise)i
(terms)f(and)g(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h
(mo)s(di\014cation)h(follo)m(w.)150 1128 y Fu(TERMS)44
b(AND)h(CONDITIONS)199 1287 y Fv(0.)61 b(De\014nitions.)330
1427 y(\\This)30 b(License")h(refers)f(to)i(v)m(ersion)e(3)h(of)g(the)f
(GNU)h(General)g(Public)g(License.)330 1566 y(\\Cop)m(yrigh)m(t")e
(also)g(means)e(cop)m(yrigh)m(t-lik)m(e)k(la)m(ws)d(that)g(apply)f(to)h
(other)g(kinds)f(of)g(w)m(orks,)h(suc)m(h)g(as)330 1676
y(semiconductor)j(masks.)330 1815 y(\\The)40 b(Program")h(refers)f(to)g
(an)m(y)h(cop)m(yrigh)m(table)h(w)m(ork)e(licensed)h(under)e(this)h
(License.)70 b(Eac)m(h)330 1924 y(licensee)43 b(is)f(addressed)f(as)h
(\\y)m(ou".)76 b(\\Licensees")44 b(and)d(\\recipien)m(ts")i(ma)m(y)g(b)
s(e)e(individuals)g(or)330 2034 y(organizations.)330
2173 y(T)-8 b(o)32 b(\\mo)s(dify")g(a)g(w)m(ork)g(means)g(to)h(cop)m(y)
f(from)g(or)f(adapt)h(all)h(or)f(part)g(of)g(the)g(w)m(ork)f(in)h(a)g
(fashion)330 2283 y(requiring)d(cop)m(yrigh)m(t)h(p)s(ermission,)e
(other)i(than)f(the)g(making)g(of)g(an)g(exact)i(cop)m(y)-8
b(.)41 b(The)29 b(resulting)330 2392 y(w)m(ork)f(is)f(called)i(a)f
(\\mo)s(di\014ed)f(v)m(ersion")i(of)f(the)g(earlier)g(w)m(ork)g(or)g(a)
g(w)m(ork)f(\\based)h(on")g(the)g(earlier)330 2502 y(w)m(ork.)330
2641 y(A)k(\\co)m(v)m(ered)i(w)m(ork")f(means)f(either)g(the)g(unmo)s
(di\014ed)e(Program)i(or)g(a)h(w)m(ork)f(based)g(on)g(the)g(Pro-)330
2751 y(gram.)330 2890 y(T)-8 b(o)31 b(\\propagate")i(a)e(w)m(ork)g
(means)g(to)h(do)e(an)m(ything)i(with)e(it)h(that,)h(without)f(p)s
(ermission,)f(w)m(ould)330 3000 y(mak)m(e)c(y)m(ou)e(directly)i(or)e
(secondarily)h(liable)h(for)e(infringemen)m(t)h(under)e(applicable)i
(cop)m(yrigh)m(t)h(la)m(w,)330 3109 y(except)34 b(executing)g(it)g(on)e
(a)i(computer)f(or)f(mo)s(difying)h(a)g(priv)-5 b(ate)33
b(cop)m(y)-8 b(.)50 b(Propagation)34 b(includes)330 3219
y(cop)m(ying,)39 b(distribution)c(\(with)h(or)h(without)f(mo)s
(di\014cation\),)i(making)f(a)m(v)-5 b(ailable)38 b(to)f(the)f(public,)
330 3329 y(and)30 b(in)g(some)h(coun)m(tries)g(other)f(activities)j(as)
e(w)m(ell.)330 3468 y(T)-8 b(o)28 b(\\con)m(v)m(ey")j(a)d(w)m(ork)g
(means)g(an)m(y)g(kind)f(of)h(propagation)h(that)g(enables)f(other)g
(parties)g(to)h(mak)m(e)330 3577 y(or)k(receiv)m(e)j(copies.)50
b(Mere)34 b(in)m(teraction)i(with)d(a)g(user)g(through)g(a)g(computer)h
(net)m(w)m(ork,)h(with)e(no)330 3687 y(transfer)d(of)g(a)h(cop)m(y)-8
b(,)32 b(is)e(not)h(con)m(v)m(eying.)330 3826 y(An)25
b(in)m(teractiv)m(e)k(user)c(in)m(terface)j(displa)m(ys)e
(\\Appropriate)g(Legal)h(Notices")h(to)f(the)f(exten)m(t)h(that)f(it)
330 3936 y(includes)k(a)g(con)m(v)m(enien)m(t)j(and)c(prominen)m(tly)h
(visible)h(feature)g(that)f(\(1\))i(displa)m(ys)e(an)g(appropriate)330
4045 y(cop)m(yrigh)m(t)j(notice,)h(and)d(\(2\))i(tells)f(the)g(user)f
(that)i(there)e(is)h(no)g(w)m(arran)m(t)m(y)g(for)g(the)g(w)m(ork)g
(\(except)330 4155 y(to)e(the)g(exten)m(t)h(that)f(w)m(arran)m(ties)g
(are)g(pro)m(vided\),)g(that)g(licensees)g(ma)m(y)g(con)m(v)m(ey)h(the)
f(w)m(ork)f(under)330 4265 y(this)37 b(License,)i(and)e(ho)m(w)g(to)g
(view)h(a)f(cop)m(y)h(of)f(this)g(License.)61 b(If)36
b(the)i(in)m(terface)g(presen)m(ts)f(a)g(list)330 4374
y(of)32 b(user)e(commands)h(or)h(options,)g(suc)m(h)f(as)g(a)h(men)m
(u,)f(a)h(prominen)m(t)f(item)h(in)f(the)h(list)g(meets)g(this)330
4484 y(criterion.)199 4623 y(1.)61 b(Source)30 b(Co)s(de.)330
4762 y(The)g(\\source)i(co)s(de")f(for)g(a)g(w)m(ork)g(means)g(the)g
(preferred)f(form)g(of)h(the)g(w)m(ork)g(for)g(making)g(mo)s(di-)330
4872 y(\014cations)g(to)g(it.)41 b(\\Ob)5 b(ject)31 b(co)s(de")g(means)
g(an)m(y)f(non-source)h(form)f(of)g(a)h(w)m(ork.)330
5011 y(A)36 b(\\Standard)f(In)m(terface")i(means)f(an)f(in)m(terface)i
(that)g(either)f(is)g(an)f(o\016cial)i(standard)e(de\014ned)330
5121 y(b)m(y)e(a)g(recognized)i(standards)d(b)s(o)s(dy)-8
b(,)33 b(or,)h(in)f(the)g(case)h(of)f(in)m(terfaces)i(sp)s(eci\014ed)d
(for)h(a)h(particular)330 5230 y(programming)44 b(language,)49
b(one)c(that)f(is)g(widely)h(used)e(among)i(dev)m(elop)s(ers)f(w)m
(orking)h(in)e(that)330 5340 y(language.)p eop end
%%Page: 3 5
TeXDict begin 3 4 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(3)330 299 y(The)24 b(\\System)g(Libraries")g(of)g(an)g
(executable)i(w)m(ork)e(include)f(an)m(ything,)j(other)f(than)e(the)i
(w)m(ork)f(as)330 408 y(a)k(whole,)g(that)g(\(a\))g(is)f(included)g(in)
g(the)g(normal)g(form)g(of)h(pac)m(k)-5 b(aging)29 b(a)e(Ma)5
b(jor)28 b(Comp)s(onen)m(t,)g(but)330 518 y(whic)m(h)33
b(is)g(not)h(part)f(of)h(that)g(Ma)5 b(jor)34 b(Comp)s(onen)m(t,)g(and)
e(\(b\))i(serv)m(es)g(only)f(to)h(enable)g(use)f(of)h(the)330
628 y(w)m(ork)c(with)g(that)g(Ma)5 b(jor)31 b(Comp)s(onen)m(t,)e(or)h
(to)h(implemen)m(t)g(a)f(Standard)f(In)m(terface)i(for)e(whic)m(h)h(an)
330 737 y(implemen)m(tation)g(is)e(a)m(v)-5 b(ailable)30
b(to)f(the)f(public)g(in)f(source)i(co)s(de)f(form.)39
b(A)29 b(\\Ma)5 b(jor)29 b(Comp)s(onen)m(t",)330 847
y(in)38 b(this)g(con)m(text,)k(means)c(a)g(ma)5 b(jor)38
b(essen)m(tial)i(comp)s(onen)m(t)e(\(k)m(ernel,)j(windo)m(w)d(system,)i
(and)e(so)330 956 y(on\))c(of)g(the)g(sp)s(eci\014c)f(op)s(erating)h
(system)g(\(if)g(an)m(y\))h(on)e(whic)m(h)h(the)g(executable)h(w)m(ork)
f(runs,)f(or)h(a)330 1066 y(compiler)d(used)f(to)h(pro)s(duce)e(the)h
(w)m(ork,)h(or)f(an)h(ob)5 b(ject)31 b(co)s(de)g(in)m(terpreter)f(used)
g(to)h(run)e(it.)330 1212 y(The)f(\\Corresp)s(onding)g(Source")h(for)f
(a)h(w)m(ork)g(in)g(ob)5 b(ject)29 b(co)s(de)g(form)g(means)f(all)i
(the)f(source)g(co)s(de)330 1322 y(needed)35 b(to)h(generate,)i
(install,)f(and)e(\(for)g(an)h(executable)g(w)m(ork\))g(run)e(the)h(ob)
5 b(ject)36 b(co)s(de)g(and)e(to)330 1431 y(mo)s(dify)39
b(the)g(w)m(ork,)j(including)d(scripts)g(to)i(con)m(trol)f(those)g
(activities.)71 b(Ho)m(w)m(ev)m(er,)44 b(it)c(do)s(es)f(not)330
1541 y(include)i(the)h(w)m(ork's)g(System)g(Libraries,)i(or)e
(general-purp)s(ose)f(to)s(ols)i(or)f(generally)h(a)m(v)-5
b(ailable)330 1650 y(free)31 b(programs)g(whic)m(h)g(are)h(used)e(unmo)
s(di\014ed)f(in)i(p)s(erforming)f(those)h(activities)j(but)d(whic)m(h)g
(are)330 1760 y(not)g(part)f(of)h(the)g(w)m(ork.)42 b(F)-8
b(or)32 b(example,)f(Corresp)s(onding)e(Source)i(includes)f(in)m
(terface)i(de\014nition)330 1870 y(\014les)g(asso)s(ciated)i(with)d
(source)i(\014les)f(for)g(the)g(w)m(ork,)h(and)f(the)g(source)g(co)s
(de)h(for)e(shared)h(libraries)330 1979 y(and)g(dynamically)g(link)m
(ed)h(subprograms)e(that)h(the)h(w)m(ork)f(is)g(sp)s(eci\014cally)h
(designed)f(to)h(require,)330 2089 y(suc)m(h)k(as)g(b)m(y)g(in)m
(timate)i(data)e(comm)m(unication)i(or)e(con)m(trol)h(\015o)m(w)f(b)s
(et)m(w)m(een)h(those)f(subprograms)330 2198 y(and)30
b(other)g(parts)g(of)h(the)g(w)m(ork.)330 2345 y(The)h(Corresp)s
(onding)f(Source)i(need)f(not)h(include)f(an)m(ything)i(that)f(users)f
(can)h(regenerate)h(auto-)330 2454 y(matically)e(from)e(other)h(parts)f
(of)h(the)f(Corresp)s(onding)f(Source.)330 2600 y(The)h(Corresp)s
(onding)e(Source)j(for)f(a)h(w)m(ork)f(in)g(source)h(co)s(de)f(form)g
(is)h(that)f(same)h(w)m(ork.)199 2746 y(2.)61 b(Basic)32
b(P)m(ermissions.)330 2892 y(All)44 b(righ)m(ts)f(gran)m(ted)g(under)f
(this)h(License)g(are)g(gran)m(ted)h(for)f(the)g(term)g(of)g(cop)m
(yrigh)m(t)h(on)f(the)330 3002 y(Program,)29 b(and)e(are)i(irrev)m(o)s
(cable)g(pro)m(vided)f(the)g(stated)h(conditions)g(are)f(met.)40
b(This)28 b(License)g(ex-)330 3112 y(plicitly)h(a\016rms)e(y)m(our)h
(unlimited)g(p)s(ermission)e(to)j(run)d(the)i(unmo)s(di\014ed)e
(Program.)40 b(The)27 b(output)330 3221 y(from)37 b(running)e(a)j(co)m
(v)m(ered)h(w)m(ork)e(is)g(co)m(v)m(ered)i(b)m(y)e(this)h(License)f
(only)h(if)f(the)g(output,)i(giv)m(en)g(its)330 3331
y(con)m(ten)m(t,)33 b(constitutes)f(a)g(co)m(v)m(ered)g(w)m(ork.)42
b(This)31 b(License)g(ac)m(kno)m(wledges)i(y)m(our)e(righ)m(ts)g(of)g
(fair)g(use)330 3440 y(or)f(other)h(equiv)-5 b(alen)m(t,)32
b(as)f(pro)m(vided)f(b)m(y)g(cop)m(yrigh)m(t)i(la)m(w.)330
3587 y(Y)-8 b(ou)41 b(ma)m(y)h(mak)m(e,)i(run)c(and)g(propagate)i(co)m
(v)m(ered)g(w)m(orks)f(that)g(y)m(ou)h(do)e(not)h(con)m(v)m(ey)-8
b(,)46 b(without)330 3696 y(conditions)30 b(so)f(long)h(as)g(y)m(our)f
(license)h(otherwise)g(remains)f(in)g(force.)41 b(Y)-8
b(ou)30 b(ma)m(y)f(con)m(v)m(ey)i(co)m(v)m(ered)330 3806
y(w)m(orks)40 b(to)g(others)g(for)g(the)g(sole)g(purp)s(ose)e(of)i(ha)m
(ving)h(them)e(mak)m(e)i(mo)s(di\014cations)f(exclusiv)m(ely)330
3915 y(for)45 b(y)m(ou,)50 b(or)45 b(pro)m(vide)h(y)m(ou)f(with)g
(facilities)j(for)d(running)f(those)h(w)m(orks,)50 b(pro)m(vided)45
b(that)h(y)m(ou)330 4025 y(comply)34 b(with)f(the)h(terms)f(of)h(this)f
(License)i(in)e(con)m(v)m(eying)i(all)g(material)g(for)e(whic)m(h)g(y)m
(ou)h(do)g(not)330 4134 y(con)m(trol)i(cop)m(yrigh)m(t.)55
b(Those)35 b(th)m(us)f(making)h(or)g(running)e(the)i(co)m(v)m(ered)h(w)
m(orks)f(for)f(y)m(ou)h(m)m(ust)g(do)330 4244 y(so)29
b(exclusiv)m(ely)h(on)e(y)m(our)g(b)s(ehalf,)h(under)d(y)m(our)j
(direction)g(and)f(con)m(trol,)i(on)e(terms)h(that)g(prohibit)330
4354 y(them)35 b(from)g(making)g(an)m(y)h(copies)g(of)f(y)m(our)h(cop)m
(yrigh)m(ted)g(material)h(outside)e(their)h(relationship)330
4463 y(with)30 b(y)m(ou.)330 4609 y(Con)m(v)m(eying)46
b(under)d(an)m(y)i(other)g(circumstances)g(is)g(p)s(ermitted)g(solely)g
(under)f(the)g(conditions)330 4719 y(stated)31 b(b)s(elo)m(w.)41
b(Sublicensing)30 b(is)g(not)h(allo)m(w)m(ed;)h(section)g(10)f(mak)m
(es)g(it)g(unnecessary)-8 b(.)199 4865 y(3.)61 b(Protecting)32
b(Users')e(Legal)i(Righ)m(ts)f(F)-8 b(rom)31 b(An)m(ti-Circum)m(v)m(en)
m(tion)i(La)m(w.)330 5011 y(No)44 b(co)m(v)m(ered)i(w)m(ork)d(shall)h
(b)s(e)g(deemed)f(part)h(of)g(an)f(e\013ectiv)m(e)k(tec)m(hnological)g
(measure)c(under)330 5121 y(an)m(y)30 b(applicable)h(la)m(w)f
(ful\014lling)g(obligations)h(under)e(article)i(11)g(of)f(the)g(WIPO)f
(cop)m(yrigh)m(t)i(treat)m(y)330 5230 y(adopted)e(on)f(20)i(Decem)m(b)s
(er)f(1996,)i(or)e(similar)g(la)m(ws)g(prohibiting)f(or)h(restricting)g
(circum)m(v)m(en)m(tion)330 5340 y(of)i(suc)m(h)f(measures.)p
eop end
%%Page: 4 6
TeXDict begin 4 5 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(4)330 299 y(When)25 b(y)m(ou)h(con)m(v)m(ey)g(a)g(co)m
(v)m(ered)h(w)m(ork,)f(y)m(ou)g(w)m(aiv)m(e)h(an)m(y)e(legal)i(p)s(o)m
(w)m(er)f(to)g(forbid)e(circum)m(v)m(en)m(tion)j(of)330
408 y(tec)m(hnological)j(measures)d(to)g(the)g(exten)m(t)h(suc)m(h)e
(circum)m(v)m(en)m(tion)j(is)d(e\013ected)i(b)m(y)f(exercising)g(righ)m
(ts)330 518 y(under)35 b(this)h(License)h(with)e(resp)s(ect)i(to)g(the)
f(co)m(v)m(ered)i(w)m(ork,)g(and)d(y)m(ou)i(disclaim)g(an)m(y)f(in)m
(ten)m(tion)330 628 y(to)41 b(limit)g(op)s(eration)g(or)f(mo)s
(di\014cation)h(of)g(the)f(w)m(ork)h(as)f(a)h(means)f(of)h(enforcing,)i
(against)f(the)330 737 y(w)m(ork's)28 b(users,)f(y)m(our)h(or)f(third)g
(parties')h(legal)h(righ)m(ts)f(to)g(forbid)f(circum)m(v)m(en)m(tion)i
(of)e(tec)m(hnological)330 847 y(measures.)199 982 y(4.)61
b(Con)m(v)m(eying)31 b(V)-8 b(erbatim)32 b(Copies.)330
1117 y(Y)-8 b(ou)28 b(ma)m(y)g(con)m(v)m(ey)h(v)m(erbatim)f(copies)g
(of)g(the)f(Program's)h(source)g(co)s(de)f(as)h(y)m(ou)f(receiv)m(e)j
(it,)f(in)e(an)m(y)330 1226 y(medium,)33 b(pro)m(vided)g(that)h(y)m(ou)
f(conspicuously)g(and)g(appropriately)g(publish)f(on)h(eac)m(h)h(cop)m
(y)g(an)330 1336 y(appropriate)e(cop)m(yrigh)m(t)i(notice;)g(k)m(eep)f
(in)m(tact)h(all)f(notices)g(stating)h(that)e(this)g(License)h(and)f
(an)m(y)330 1445 y(non-p)s(ermissiv)m(e)d(terms)g(added)f(in)h(accord)h
(with)f(section)h(7)f(apply)g(to)h(the)f(co)s(de;)h(k)m(eep)g(in)m
(tact)h(all)330 1555 y(notices)37 b(of)f(the)g(absence)g(of)g(an)m(y)g
(w)m(arran)m(t)m(y;)j(and)c(giv)m(e)i(all)g(recipien)m(ts)f(a)h(cop)m
(y)f(of)g(this)f(License)330 1665 y(along)c(with)f(the)h(Program.)330
1799 y(Y)-8 b(ou)27 b(ma)m(y)g(c)m(harge)h(an)m(y)f(price)g(or)f(no)h
(price)f(for)h(eac)m(h)g(cop)m(y)h(that)f(y)m(ou)g(con)m(v)m(ey)-8
b(,)29 b(and)d(y)m(ou)h(ma)m(y)h(o\013er)330 1909 y(supp)s(ort)h(or)h
(w)m(arran)m(t)m(y)h(protection)h(for)e(a)h(fee.)199
2044 y(5.)61 b(Con)m(v)m(eying)31 b(Mo)s(di\014ed)f(Source)g(V)-8
b(ersions.)330 2179 y(Y)g(ou)27 b(ma)m(y)g(con)m(v)m(ey)h(a)f(w)m(ork)g
(based)f(on)h(the)g(Program,)g(or)g(the)g(mo)s(di\014cations)g(to)g
(pro)s(duce)e(it)i(from)330 2288 y(the)36 b(Program,)h(in)e(the)g(form)
g(of)g(source)h(co)s(de)g(under)d(the)j(terms)f(of)h(section)g(4,)h
(pro)m(vided)e(that)330 2398 y(y)m(ou)c(also)g(meet)g(all)h(of)e(these)
h(conditions:)379 2533 y(a.)61 b(The)28 b(w)m(ork)h(m)m(ust)f(carry)h
(prominen)m(t)f(notices)i(stating)g(that)f(y)m(ou)g(mo)s(di\014ed)e
(it,)j(and)e(giving)i(a)510 2642 y(relev)-5 b(an)m(t)32
b(date.)374 2777 y(b.)60 b(The)34 b(w)m(ork)h(m)m(ust)f(carry)h
(prominen)m(t)f(notices)i(stating)g(that)f(it)g(is)g(released)g(under)e
(this)i(Li-)510 2887 y(cense)i(and)f(an)m(y)h(conditions)h(added)e
(under)f(section)j(7.)60 b(This)36 b(requiremen)m(t)h(mo)s(di\014es)f
(the)510 2996 y(requiremen)m(t)31 b(in)f(section)h(4)g(to)g(\\k)m(eep)h
(in)m(tact)g(all)f(notices".)384 3131 y(c.)61 b(Y)-8
b(ou)36 b(m)m(ust)g(license)g(the)g(en)m(tire)h(w)m(ork,)g(as)f(a)g
(whole,)h(under)d(this)i(License)g(to)h(an)m(y)m(one)f(who)510
3241 y(comes)31 b(in)m(to)g(p)s(ossession)e(of)h(a)h(cop)m(y)-8
b(.)41 b(This)29 b(License)i(will)f(therefore)h(apply)-8
b(,)30 b(along)h(with)f(an)m(y)510 3351 y(applicable)k(section)f(7)g
(additional)h(terms,)f(to)h(the)e(whole)h(of)g(the)g(w)m(ork,)g(and)f
(all)i(its)f(parts,)510 3460 y(regardless)h(of)g(ho)m(w)g(they)g(are)g
(pac)m(k)-5 b(aged.)52 b(This)33 b(License)h(giv)m(es)h(no)f(p)s
(ermission)e(to)j(license)510 3570 y(the)c(w)m(ork)h(in)f(an)m(y)g
(other)h(w)m(a)m(y)-8 b(,)33 b(but)d(it)i(do)s(es)f(not)g(in)m(v)-5
b(alidate)33 b(suc)m(h)e(p)s(ermission)f(if)h(y)m(ou)h(ha)m(v)m(e)510
3679 y(separately)g(receiv)m(ed)f(it.)374 3814 y(d.)60
b(If)36 b(the)h(w)m(ork)g(has)g(in)m(teractiv)m(e)j(user)c(in)m
(terfaces,)k(eac)m(h)e(m)m(ust)f(displa)m(y)g(Appropriate)g(Legal)510
3924 y(Notices;)49 b(ho)m(w)m(ev)m(er,)c(if)c(the)h(Program)f(has)g(in)
m(teractiv)m(e)j(in)m(terfaces)e(that)g(do)f(not)h(displa)m(y)510
4033 y(Appropriate)30 b(Legal)i(Notices,)g(y)m(our)f(w)m(ork)f(need)g
(not)h(mak)m(e)g(them)g(do)f(so.)330 4194 y(A)38 b(compilation)h(of)f
(a)g(co)m(v)m(ered)h(w)m(ork)f(with)f(other)h(separate)h(and)e(indep)s
(enden)m(t)f(w)m(orks,)k(whic)m(h)330 4303 y(are)c(not)g(b)m(y)g(their)
g(nature)f(extensions)h(of)g(the)g(co)m(v)m(ered)i(w)m(ork,)f(and)e
(whic)m(h)h(are)g(not)g(com)m(bined)330 4413 y(with)27
b(it)i(suc)m(h)e(as)h(to)h(form)e(a)h(larger)h(program,)f(in)f(or)h(on)
g(a)g(v)m(olume)g(of)g(a)h(storage)g(or)f(distribution)330
4522 y(medium,)43 b(is)f(called)g(an)g(\\aggregate")j(if)c(the)h
(compilation)h(and)e(its)g(resulting)h(cop)m(yrigh)m(t)h(are)330
4632 y(not)31 b(used)f(to)h(limit)h(the)e(access)i(or)f(legal)h(righ)m
(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m(ond)g(what)h(the)330
4741 y(individual)j(w)m(orks)h(p)s(ermit.)54 b(Inclusion)34
b(of)h(a)h(co)m(v)m(ered)g(w)m(ork)f(in)g(an)g(aggregate)j(do)s(es)c
(not)h(cause)330 4851 y(this)30 b(License)h(to)g(apply)f(to)h(the)g
(other)g(parts)f(of)g(the)h(aggregate.)199 4986 y(6.)61
b(Con)m(v)m(eying)31 b(Non-Source)g(F)-8 b(orms.)330
5121 y(Y)g(ou)29 b(ma)m(y)h(con)m(v)m(ey)g(a)f(co)m(v)m(ered)i(w)m(ork)
e(in)f(ob)5 b(ject)30 b(co)s(de)f(form)f(under)g(the)h(terms)f(of)h
(sections)h(4)g(and)330 5230 y(5,)42 b(pro)m(vided)d(that)g(y)m(ou)h
(also)g(con)m(v)m(ey)g(the)g(mac)m(hine-readable)g(Corresp)s(onding)e
(Source)g(under)330 5340 y(the)31 b(terms)f(of)g(this)h(License,)g(in)f
(one)h(of)f(these)h(w)m(a)m(ys:)p eop end
%%Page: 5 7
TeXDict begin 5 6 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(5)379 299 y(a.)61 b(Con)m(v)m(ey)32 b(the)f(ob)5
b(ject)31 b(co)s(de)g(in,)g(or)g(em)m(b)s(o)s(died)f(in,)h(a)g(ph)m
(ysical)h(pro)s(duct)d(\(including)i(a)g(ph)m(ys-)510
408 y(ical)37 b(distribution)d(medium\),)j(accompanied)f(b)m(y)f(the)h
(Corresp)s(onding)d(Source)j(\014xed)e(on)i(a)510 518
y(durable)30 b(ph)m(ysical)h(medium)e(customarily)i(used)f(for)g(soft)m
(w)m(are)i(in)m(terc)m(hange.)374 655 y(b.)60 b(Con)m(v)m(ey)30
b(the)f(ob)5 b(ject)30 b(co)s(de)f(in,)g(or)g(em)m(b)s(o)s(died)f(in,)h
(a)g(ph)m(ysical)g(pro)s(duct)f(\(including)h(a)g(ph)m(ysi-)510
765 y(cal)k(distribution)e(medium\),)h(accompanied)h(b)m(y)e(a)i
(written)f(o\013er,)g(v)-5 b(alid)33 b(for)e(at)i(least)g(three)510
874 y(y)m(ears)i(and)f(v)-5 b(alid)35 b(for)f(as)g(long)h(as)g(y)m(ou)g
(o\013er)f(spare)h(parts)f(or)g(customer)h(supp)s(ort)d(for)i(that)510
984 y(pro)s(duct)c(mo)s(del,)i(to)g(giv)m(e)g(an)m(y)m(one)h(who)d(p)s
(ossesses)h(the)h(ob)5 b(ject)32 b(co)s(de)f(either)h(\(1\))g(a)g(cop)m
(y)g(of)510 1093 y(the)24 b(Corresp)s(onding)e(Source)i(for)g(all)h
(the)f(soft)m(w)m(are)h(in)f(the)g(pro)s(duct)f(that)i(is)f(co)m(v)m
(ered)h(b)m(y)f(this)510 1203 y(License,)30 b(on)g(a)f(durable)g(ph)m
(ysical)h(medium)e(customarily)i(used)f(for)g(soft)m(w)m(are)i(in)m
(terc)m(hange,)510 1313 y(for)k(a)g(price)h(no)f(more)g(than)g(y)m(our)
g(reasonable)h(cost)g(of)f(ph)m(ysically)h(p)s(erforming)e(this)h(con-)
510 1422 y(v)m(eying)f(of)f(source,)g(or)g(\(2\))h(access)g(to)g(cop)m
(y)f(the)g(Corresp)s(onding)e(Source)i(from)f(a)h(net)m(w)m(ork)510
1532 y(serv)m(er)e(at)g(no)f(c)m(harge.)384 1669 y(c.)61
b(Con)m(v)m(ey)40 b(individual)e(copies)h(of)g(the)g(ob)5
b(ject)40 b(co)s(de)f(with)g(a)g(cop)m(y)g(of)g(the)g(written)g
(o\013er)g(to)510 1778 y(pro)m(vide)e(the)g(Corresp)s(onding)e(Source.)
59 b(This)36 b(alternativ)m(e)k(is)c(allo)m(w)m(ed)j(only)e(o)s
(ccasionally)510 1888 y(and)29 b(noncommercially)-8 b(,)31
b(and)e(only)g(if)h(y)m(ou)f(receiv)m(ed)i(the)e(ob)5
b(ject)31 b(co)s(de)e(with)g(suc)m(h)g(an)g(o\013er,)510
1998 y(in)h(accord)h(with)f(subsection)h(6b.)374 2134
y(d.)60 b(Con)m(v)m(ey)37 b(the)f(ob)5 b(ject)37 b(co)s(de)f(b)m(y)g
(o\013ering)g(access)i(from)d(a)i(designated)f(place)h(\(gratis)g(or)f
(for)510 2244 y(a)j(c)m(harge\),)k(and)c(o\013er)g(equiv)-5
b(alen)m(t)41 b(access)f(to)g(the)f(Corresp)s(onding)e(Source)i(in)f
(the)i(same)510 2354 y(w)m(a)m(y)30 b(through)f(the)g(same)h(place)h
(at)f(no)f(further)f(c)m(harge.)41 b(Y)-8 b(ou)30 b(need)f(not)h
(require)f(recipien)m(ts)510 2463 y(to)42 b(cop)m(y)h(the)f(Corresp)s
(onding)e(Source)h(along)i(with)f(the)g(ob)5 b(ject)42
b(co)s(de.)75 b(If)42 b(the)f(place)i(to)510 2573 y(cop)m(y)c(the)g(ob)
5 b(ject)39 b(co)s(de)g(is)g(a)g(net)m(w)m(ork)g(serv)m(er,)i(the)e
(Corresp)s(onding)e(Source)h(ma)m(y)h(b)s(e)f(on)510
2682 y(a)45 b(di\013eren)m(t)g(serv)m(er)f(\(op)s(erated)h(b)m(y)f(y)m
(ou)h(or)g(a)f(third)g(part)m(y\))h(that)g(supp)s(orts)d(equiv)-5
b(alen)m(t)510 2792 y(cop)m(ying)35 b(facilities,)i(pro)m(vided)c(y)m
(ou)h(main)m(tain)h(clear)g(directions)f(next)g(to)h(the)f(ob)5
b(ject)35 b(co)s(de)510 2902 y(sa)m(ying)h(where)f(to)h(\014nd)d(the)i
(Corresp)s(onding)f(Source.)55 b(Regardless)35 b(of)h(what)f(serv)m(er)
g(hosts)510 3011 y(the)e(Corresp)s(onding)e(Source,)j(y)m(ou)f(remain)f
(obligated)j(to)e(ensure)f(that)i(it)f(is)g(a)m(v)-5
b(ailable)35 b(for)510 3121 y(as)c(long)g(as)f(needed)g(to)h(satisfy)g
(these)g(requiremen)m(ts.)384 3258 y(e.)61 b(Con)m(v)m(ey)24
b(the)g(ob)5 b(ject)24 b(co)s(de)f(using)g(p)s(eer-to-p)s(eer)h
(transmission,)g(pro)m(vided)f(y)m(ou)h(inform)f(other)510
3367 y(p)s(eers)d(where)g(the)h(ob)5 b(ject)22 b(co)s(de)f(and)f
(Corresp)s(onding)f(Source)i(of)g(the)g(w)m(ork)g(are)g(b)s(eing)g
(o\013ered)510 3477 y(to)31 b(the)g(general)g(public)f(at)h(no)f(c)m
(harge)i(under)d(subsection)h(6d.)330 3641 y(A)35 b(separable)f(p)s
(ortion)g(of)h(the)g(ob)5 b(ject)35 b(co)s(de,)h(whose)e(source)h(co)s
(de)g(is)f(excluded)g(from)g(the)h(Cor-)330 3751 y(resp)s(onding)c
(Source)h(as)h(a)g(System)f(Library)-8 b(,)33 b(need)f(not)h(b)s(e)e
(included)h(in)g(con)m(v)m(eying)i(the)f(ob)5 b(ject)330
3861 y(co)s(de)31 b(w)m(ork.)330 3998 y(A)h(\\User)g(Pro)s(duct")f(is)h
(either)g(\(1\))g(a)g(\\consumer)g(pro)s(duct",)f(whic)m(h)h(means)f
(an)m(y)h(tangible)h(p)s(er-)330 4107 y(sonal)g(prop)s(ert)m(y)g(whic)m
(h)f(is)h(normally)h(used)e(for)h(p)s(ersonal,)g(family)-8
b(,)35 b(or)e(household)f(purp)s(oses,)g(or)330 4217
y(\(2\))26 b(an)m(ything)f(designed)f(or)h(sold)g(for)f(incorp)s
(oration)h(in)m(to)h(a)f(dw)m(elling.)39 b(In)24 b(determining)h
(whether)330 4326 y(a)30 b(pro)s(duct)e(is)h(a)h(consumer)f(pro)s
(duct,)f(doubtful)h(cases)h(shall)g(b)s(e)e(resolv)m(ed)j(in)e(fa)m(v)m
(or)h(of)g(co)m(v)m(erage.)330 4436 y(F)-8 b(or)42 b(a)g(particular)g
(pro)s(duct)f(receiv)m(ed)i(b)m(y)e(a)h(particular)g(user,)i
(\\normally)f(used")e(refers)g(to)i(a)330 4545 y(t)m(ypical)e(or)e
(common)h(use)e(of)i(that)g(class)g(of)f(pro)s(duct,)h(regardless)g(of)
f(the)h(status)f(of)h(the)f(par-)330 4655 y(ticular)d(user)e(or)h(of)h
(the)f(w)m(a)m(y)h(in)f(whic)m(h)f(the)i(particular)f(user)g(actually)h
(uses,)g(or)f(exp)s(ects)h(or)f(is)330 4765 y(exp)s(ected)d(to)g(use,)g
(the)g(pro)s(duct.)43 b(A)32 b(pro)s(duct)f(is)g(a)h(consumer)f(pro)s
(duct)g(regardless)h(of)g(whether)330 4874 y(the)h(pro)s(duct)f(has)h
(substan)m(tial)g(commercial,)j(industrial)c(or)h(non-consumer)g(uses,)
g(unless)f(suc)m(h)330 4984 y(uses)e(represen)m(t)g(the)h(only)f
(signi\014can)m(t)i(mo)s(de)e(of)g(use)g(of)h(the)f(pro)s(duct.)330
5121 y(\\Installation)h(Information")e(for)g(a)g(User)g(Pro)s(duct)f
(means)g(an)m(y)i(metho)s(ds,)e(pro)s(cedures,)g(autho-)330
5230 y(rization)d(k)m(eys,)g(or)f(other)f(information)h(required)f(to)h
(install)g(and)f(execute)i(mo)s(di\014ed)d(v)m(ersions)i(of)g(a)330
5340 y(co)m(v)m(ered)h(w)m(ork)e(in)g(that)h(User)f(Pro)s(duct)f(from)h
(a)h(mo)s(di\014ed)e(v)m(ersion)h(of)h(its)f(Corresp)s(onding)f
(Source.)p eop end
%%Page: 6 8
TeXDict begin 6 7 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(6)330 299 y(The)30 b(information)h(m)m(ust)f(su\016ce)g
(to)i(ensure)d(that)i(the)g(con)m(tin)m(ued)g(functioning)g(of)f(the)h
(mo)s(di\014ed)330 408 y(ob)5 b(ject)34 b(co)s(de)f(is)g(in)f(no)h
(case)h(prev)m(en)m(ted)f(or)g(in)m(terfered)g(with)g(solely)h(b)s
(ecause)f(mo)s(di\014cation)g(has)330 518 y(b)s(een)d(made.)330
650 y(If)38 b(y)m(ou)i(con)m(v)m(ey)g(an)f(ob)5 b(ject)40
b(co)s(de)f(w)m(ork)g(under)e(this)i(section)h(in,)h(or)e(with,)i(or)e
(sp)s(eci\014cally)g(for)330 759 y(use)g(in,)i(a)e(User)g(Pro)s(duct,)i
(and)e(the)g(con)m(v)m(eying)i(o)s(ccurs)d(as)i(part)f(of)g(a)g
(transaction)h(in)f(whic)m(h)330 869 y(the)d(righ)m(t)g(of)g(p)s
(ossession)f(and)g(use)h(of)f(the)h(User)g(Pro)s(duct)f(is)g
(transferred)g(to)i(the)e(recipien)m(t)i(in)330 978 y(p)s(erp)s(etuit)m
(y)43 b(or)g(for)g(a)h(\014xed)e(term)i(\(regardless)g(of)f(ho)m(w)h
(the)f(transaction)i(is)e(c)m(haracterized\),)330 1088
y(the)c(Corresp)s(onding)e(Source)i(con)m(v)m(ey)m(ed)i(under)c(this)i
(section)h(m)m(ust)f(b)s(e)f(accompanied)i(b)m(y)f(the)330
1198 y(Installation)d(Information.)52 b(But)35 b(this)f(requiremen)m(t)
g(do)s(es)g(not)h(apply)f(if)g(neither)g(y)m(ou)h(nor)f(an)m(y)330
1307 y(third)28 b(part)m(y)i(retains)f(the)g(abilit)m(y)i(to)e(install)
h(mo)s(di\014ed)e(ob)5 b(ject)30 b(co)s(de)f(on)g(the)h(User)f(Pro)s
(duct)f(\(for)330 1417 y(example,)j(the)g(w)m(ork)f(has)g(b)s(een)g
(installed)h(in)f(R)m(OM\).)330 1548 y(The)38 b(requiremen)m(t)g(to)h
(pro)m(vide)g(Installation)g(Information)g(do)s(es)f(not)g(include)g(a)
h(requiremen)m(t)330 1658 y(to)32 b(con)m(tin)m(ue)h(to)f(pro)m(vide)g
(supp)s(ort)e(service,)j(w)m(arran)m(t)m(y)-8 b(,)33
b(or)f(up)s(dates)e(for)i(a)g(w)m(ork)f(that)h(has)g(b)s(een)330
1767 y(mo)s(di\014ed)37 b(or)h(installed)h(b)m(y)g(the)f(recipien)m(t,)
k(or)c(for)g(the)g(User)h(Pro)s(duct)e(in)h(whic)m(h)g(it)h(has)f(b)s
(een)330 1877 y(mo)s(di\014ed)29 b(or)h(installed.)42
b(Access)31 b(to)g(a)g(net)m(w)m(ork)g(ma)m(y)g(b)s(e)e(denied)h(when)f
(the)i(mo)s(di\014cation)f(itself)330 1987 y(materially)i(and)e(adv)m
(ersely)h(a\013ects)h(the)e(op)s(eration)h(of)g(the)f(net)m(w)m(ork)h
(or)g(violates)h(the)f(rules)f(and)330 2096 y(proto)s(cols)h(for)f
(comm)m(unication)i(across)f(the)g(net)m(w)m(ork.)330
2228 y(Corresp)s(onding)26 b(Source)h(con)m(v)m(ey)m(ed,)j(and)d
(Installation)i(Information)f(pro)m(vided,)g(in)f(accord)h(with)330
2337 y(this)d(section)i(m)m(ust)e(b)s(e)g(in)g(a)h(format)g(that)f(is)h
(publicly)f(do)s(cumen)m(ted)g(\(and)g(with)g(an)h(implemen)m(ta-)330
2447 y(tion)i(a)m(v)-5 b(ailable)29 b(to)f(the)g(public)e(in)h(source)h
(co)s(de)f(form\),)h(and)f(m)m(ust)g(require)g(no)g(sp)s(ecial)h(passw)
m(ord)330 2556 y(or)i(k)m(ey)i(for)e(unpac)m(king,)g(reading)h(or)f
(cop)m(ying.)199 2688 y(7.)61 b(Additional)31 b(T)-8
b(erms.)330 2819 y(\\Additional)29 b(p)s(ermissions")e(are)h(terms)f
(that)h(supplemen)m(t)f(the)h(terms)g(of)f(this)h(License)g(b)m(y)g
(mak-)330 2929 y(ing)41 b(exceptions)h(from)e(one)h(or)g(more)g(of)g
(its)g(conditions.)72 b(Additional)42 b(p)s(ermissions)d(that)j(are)330
3039 y(applicable)31 b(to)f(the)g(en)m(tire)h(Program)f(shall)g(b)s(e)f
(treated)i(as)f(though)f(they)h(w)m(ere)h(included)e(in)g(this)330
3148 y(License,)36 b(to)e(the)g(exten)m(t)i(that)e(they)g(are)g(v)-5
b(alid)34 b(under)f(applicable)i(la)m(w.)52 b(If)33 b(additional)i(p)s
(ermis-)330 3258 y(sions)27 b(apply)h(only)f(to)h(part)g(of)f(the)h
(Program,)h(that)f(part)f(ma)m(y)h(b)s(e)f(used)g(separately)h(under)e
(those)330 3367 y(p)s(ermissions,)31 b(but)g(the)h(en)m(tire)h(Program)
f(remains)f(go)m(v)m(erned)i(b)m(y)f(this)g(License)g(without)g(regard)
330 3477 y(to)f(the)g(additional)g(p)s(ermissions.)330
3608 y(When)45 b(y)m(ou)g(con)m(v)m(ey)i(a)e(cop)m(y)h(of)f(a)g(co)m(v)
m(ered)i(w)m(ork,)h(y)m(ou)e(ma)m(y)f(at)h(y)m(our)f(option)g(remo)m(v)
m(e)i(an)m(y)330 3718 y(additional)30 b(p)s(ermissions)e(from)h(that)h
(cop)m(y)-8 b(,)31 b(or)f(from)e(an)m(y)i(part)f(of)h(it.)41
b(\(Additional)30 b(p)s(ermissions)330 3828 y(ma)m(y)41
b(b)s(e)f(written)g(to)h(require)f(their)h(o)m(wn)f(remo)m(v)-5
b(al)42 b(in)e(certain)h(cases)g(when)f(y)m(ou)g(mo)s(dify)g(the)330
3937 y(w)m(ork.\))48 b(Y)-8 b(ou)33 b(ma)m(y)g(place)h(additional)f(p)s
(ermissions)e(on)i(material,)i(added)d(b)m(y)g(y)m(ou)h(to)g(a)g(co)m
(v)m(ered)330 4047 y(w)m(ork,)e(for)f(whic)m(h)g(y)m(ou)h(ha)m(v)m(e)g
(or)g(can)f(giv)m(e)i(appropriate)f(cop)m(yrigh)m(t)g(p)s(ermission.)
330 4178 y(Not)m(withstanding)e(an)m(y)g(other)g(pro)m(vision)f(of)h
(this)f(License,)h(for)f(material)i(y)m(ou)f(add)f(to)h(a)f(co)m(v)m
(ered)330 4288 y(w)m(ork,)40 b(y)m(ou)e(ma)m(y)g(\(if)g(authorized)g(b)
m(y)g(the)g(cop)m(yrigh)m(t)h(holders)e(of)h(that)g(material\))h
(supplemen)m(t)330 4398 y(the)31 b(terms)f(of)g(this)h(License)g(with)f
(terms:)379 4529 y(a.)61 b(Disclaiming)31 b(w)m(arran)m(t)m(y)f(or)g
(limiting)g(liabilit)m(y)h(di\013eren)m(tly)f(from)f(the)g(terms)g(of)h
(sections)g(15)510 4639 y(and)g(16)h(of)g(this)f(License;)h(or)374
4770 y(b.)60 b(Requiring)30 b(preserv)-5 b(ation)31 b(of)g(sp)s
(eci\014ed)f(reasonable)h(legal)i(notices)f(or)e(author)h(attributions)
510 4880 y(in)24 b(that)i(material)g(or)f(in)f(the)h(Appropriate)g
(Legal)h(Notices)h(displa)m(y)m(ed)e(b)m(y)g(w)m(orks)f(con)m(taining)
510 4989 y(it;)31 b(or)384 5121 y(c.)61 b(Prohibiting)23
b(misrepresen)m(tation)i(of)e(the)h(origin)g(of)f(that)i(material,)h
(or)d(requiring)g(that)h(mo)s(d-)510 5230 y(i\014ed)30
b(v)m(ersions)h(of)f(suc)m(h)g(material)i(b)s(e)e(mark)m(ed)h(in)f
(reasonable)h(w)m(a)m(ys)g(as)g(di\013eren)m(t)g(from)f(the)510
5340 y(original)i(v)m(ersion;)f(or)p eop end
%%Page: 7 9
TeXDict begin 7 8 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(7)374 299 y(d.)60 b(Limiting)42 b(the)f(use)g(for)g
(publicit)m(y)h(purp)s(oses)d(of)i(names)g(of)h(licensors)f(or)h
(authors)e(of)i(the)510 408 y(material;)32 b(or)384 543
y(e.)61 b(Declining)29 b(to)f(gran)m(t)g(righ)m(ts)f(under)f(trademark)
h(la)m(w)h(for)f(use)g(of)g(some)h(trade)f(names,)h(trade-)510
653 y(marks,)i(or)h(service)g(marks;)f(or)397 788 y(f.)60
b(Requiring)26 b(indemni\014cation)g(of)g(licensors)h(and)f(authors)f
(of)i(that)f(material)i(b)m(y)e(an)m(y)m(one)h(who)510
897 y(con)m(v)m(eys)45 b(the)e(material)h(\(or)g(mo)s(di\014ed)e(v)m
(ersions)h(of)h(it\))g(with)e(con)m(tractual)k(assumptions)510
1007 y(of)40 b(liabilit)m(y)h(to)f(the)f(recipien)m(t,)k(for)c(an)m(y)h
(liabilit)m(y)h(that)f(these)g(con)m(tractual)i(assumptions)510
1117 y(directly)31 b(imp)s(ose)f(on)g(those)h(licensors)g(and)f
(authors.)330 1277 y(All)i(other)h(non-p)s(ermissiv)m(e)e(additional)i
(terms)e(are)i(considered)e(\\further)g(restrictions")i(within)330
1386 y(the)j(meaning)f(of)h(section)g(10.)57 b(If)35
b(the)h(Program)f(as)h(y)m(ou)g(receiv)m(ed)g(it,)i(or)d(an)m(y)h(part)
f(of)h(it,)h(con-)330 1496 y(tains)f(a)g(notice)h(stating)g(that)f(it)g
(is)g(go)m(v)m(erned)h(b)m(y)e(this)h(License)g(along)h(with)e(a)h
(term)g(that)g(is)g(a)330 1606 y(further)24 b(restriction,)k(y)m(ou)e
(ma)m(y)g(remo)m(v)m(e)h(that)f(term.)39 b(If)26 b(a)g(license)g(do)s
(cumen)m(t)g(con)m(tains)g(a)g(further)330 1715 y(restriction)33
b(but)f(p)s(ermits)g(relicensing)h(or)g(con)m(v)m(eying)h(under)d(this)
i(License,)g(y)m(ou)g(ma)m(y)g(add)f(to)i(a)330 1825
y(co)m(v)m(ered)g(w)m(ork)e(material)h(go)m(v)m(erned)h(b)m(y)e(the)g
(terms)g(of)g(that)h(license)g(do)s(cumen)m(t,)g(pro)m(vided)e(that)330
1934 y(the)g(further)e(restriction)i(do)s(es)f(not)h(surviv)m(e)f(suc)m
(h)g(relicensing)h(or)g(con)m(v)m(eying.)330 2069 y(If)f(y)m(ou)g(add)g
(terms)g(to)h(a)g(co)m(v)m(ered)h(w)m(ork)e(in)g(accord)h(with)f(this)g
(section,)i(y)m(ou)e(m)m(ust)g(place,)i(in)e(the)330
2179 y(relev)-5 b(an)m(t)31 b(source)f(\014les,)g(a)g(statemen)m(t)h
(of)f(the)g(additional)g(terms)g(that)g(apply)f(to)i(those)f(\014les,)g
(or)g(a)330 2288 y(notice)i(indicating)f(where)f(to)h(\014nd)e(the)h
(applicable)i(terms.)330 2423 y(Additional)37 b(terms,)h(p)s(ermissiv)m
(e)e(or)h(non-p)s(ermissiv)m(e,)h(ma)m(y)f(b)s(e)e(stated)j(in)e(the)h
(form)f(of)g(a)h(sep-)330 2533 y(arately)i(written)f(license,)i(or)e
(stated)h(as)e(exceptions;)43 b(the)38 b(ab)s(o)m(v)m(e)h(requiremen)m
(ts)e(apply)g(either)330 2642 y(w)m(a)m(y)-8 b(.)199
2777 y(8.)61 b(T)-8 b(ermination.)330 2912 y(Y)g(ou)40
b(ma)m(y)g(not)f(propagate)i(or)e(mo)s(dify)g(a)g(co)m(v)m(ered)i(w)m
(ork)f(except)g(as)g(expressly)f(pro)m(vided)g(un-)330
3022 y(der)d(this)h(License.)62 b(An)m(y)37 b(attempt)h(otherwise)f(to)
h(propagate)g(or)f(mo)s(dify)f(it)i(is)f(v)m(oid,)i(and)e(will)330
3131 y(automatically)g(terminate)d(y)m(our)g(righ)m(ts)g(under)f(this)g
(License)i(\(including)e(an)m(y)h(paten)m(t)h(licenses)330
3241 y(gran)m(ted)c(under)e(the)h(third)g(paragraph)g(of)g(section)i
(11\).)330 3376 y(Ho)m(w)m(ev)m(er,)j(if)e(y)m(ou)f(cease)i(all)f
(violation)i(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f
(a)h(particular)330 3485 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
(cop)m(yrigh)m(t)h(holder)330 3595 y(explicitly)42 b(and)e(\014nally)h
(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 3705 y(holder)34
b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 3814
y(after)31 b(the)f(cessation.)330 3949 y(Moreo)m(v)m(er,)k(y)m(our)d
(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
(reinstated)g(p)s(ermanen)m(tly)f(if)330 4059 y(the)d(cop)m(yrigh)m(t)h
(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
(reasonable)h(means,)f(this)g(is)g(the)330 4168 y(\014rst)f(time)i(y)m
(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
4278 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
(of)f(the)330 4387 y(notice.)330 4522 y(T)-8 b(ermination)28
b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
(terminate)h(the)e(licenses)i(of)f(parties)330 4632 y(who)38
b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
330 4741 y(b)s(een)f(terminated)h(and)e(not)i(p)s(ermanen)m(tly)f
(reinstated,)j(y)m(ou)e(do)f(not)h(qualify)f(to)h(receiv)m(e)h(new)330
4851 y(licenses)31 b(for)f(the)h(same)g(material)h(under)c(section)k
(10.)199 4986 y(9.)61 b(Acceptance)32 b(Not)g(Required)d(for)i(Ha)m
(ving)g(Copies.)330 5121 y(Y)-8 b(ou)38 b(are)g(not)g(required)f(to)h
(accept)h(this)f(License)g(in)f(order)g(to)h(receiv)m(e)i(or)e(run)e(a)
i(cop)m(y)g(of)g(the)330 5230 y(Program.)i(Ancillary)27
b(propagation)g(of)g(a)g(co)m(v)m(ered)h(w)m(ork)e(o)s(ccurring)g
(solely)i(as)f(a)g(consequence)g(of)330 5340 y(using)i(p)s(eer-to-p)s
(eer)g(transmission)g(to)h(receiv)m(e)h(a)e(cop)m(y)h(lik)m(ewise)h(do)
s(es)d(not)i(require)e(acceptance.)p eop end
%%Page: 8 10
TeXDict begin 8 9 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(8)330 299 y(Ho)m(w)m(ev)m(er,)28 b(nothing)c(other)g
(than)g(this)f(License)i(gran)m(ts)g(y)m(ou)f(p)s(ermission)f(to)i
(propagate)g(or)f(mo)s(dify)330 408 y(an)m(y)34 b(co)m(v)m(ered)g(w)m
(ork.)50 b(These)32 b(actions)j(infringe)e(cop)m(yrigh)m(t)h(if)f(y)m
(ou)h(do)f(not)g(accept)i(this)e(License.)330 518 y(Therefore,)f(b)m(y)
f(mo)s(difying)g(or)g(propagating)h(a)g(co)m(v)m(ered)h(w)m(ork,)f(y)m
(ou)g(indicate)g(y)m(our)g(acceptance)330 628 y(of)f(this)f(License)h
(to)g(do)f(so.)154 759 y(10.)61 b(Automatic)32 b(Licensing)f(of)f(Do)m
(wnstream)i(Recipien)m(ts.)330 891 y(Eac)m(h)39 b(time)g(y)m(ou)g(con)m
(v)m(ey)h(a)f(co)m(v)m(ered)h(w)m(ork,)h(the)d(recipien)m(t)i
(automatically)h(receiv)m(es)f(a)f(license)330 1000 y(from)e(the)h
(original)h(licensors,)h(to)f(run,)f(mo)s(dify)f(and)g(propagate)i
(that)f(w)m(ork,)i(sub)5 b(ject)38 b(to)g(this)330 1110
y(License.)60 b(Y)-8 b(ou)38 b(are)f(not)g(resp)s(onsible)e(for)i
(enforcing)g(compliance)h(b)m(y)f(third)f(parties)h(with)f(this)330
1219 y(License.)330 1351 y(An)43 b(\\en)m(tit)m(y)i(transaction")g(is)f
(a)f(transaction)i(transferring)e(con)m(trol)h(of)g(an)f(organization,)
49 b(or)330 1461 y(substan)m(tially)24 b(all)f(assets)g(of)g(one,)i(or)
e(sub)s(dividing)d(an)j(organization,)j(or)d(merging)g(organizations.)
330 1570 y(If)28 b(propagation)i(of)f(a)h(co)m(v)m(ered)g(w)m(ork)f
(results)g(from)f(an)h(en)m(tit)m(y)i(transaction,)f(eac)m(h)g(part)m
(y)g(to)f(that)330 1680 y(transaction)g(who)d(receiv)m(es)k(a)d(cop)m
(y)i(of)e(the)h(w)m(ork)f(also)i(receiv)m(es)g(whatev)m(er)f(licenses)g
(to)g(the)g(w)m(ork)330 1789 y(the)d(part)m(y's)g(predecessor)g(in)g
(in)m(terest)h(had)e(or)h(could)g(giv)m(e)h(under)e(the)h(previous)f
(paragraph,)i(plus)330 1899 y(a)31 b(righ)m(t)g(to)h(p)s(ossession)e
(of)h(the)g(Corresp)s(onding)e(Source)i(of)g(the)f(w)m(ork)h(from)g
(the)g(predecessor)f(in)330 2008 y(in)m(terest,)i(if)e(the)h
(predecessor)f(has)g(it)h(or)f(can)h(get)h(it)e(with)h(reasonable)g
(e\013orts.)330 2140 y(Y)-8 b(ou)36 b(ma)m(y)g(not)g(imp)s(ose)f(an)m
(y)h(further)e(restrictions)j(on)e(the)h(exercise)g(of)g(the)g(righ)m
(ts)g(gran)m(ted)g(or)330 2250 y(a\016rmed)27 b(under)f(this)h
(License.)40 b(F)-8 b(or)28 b(example,)h(y)m(ou)f(ma)m(y)g(not)g(imp)s
(ose)f(a)h(license)g(fee,)h(ro)m(y)m(alt)m(y)-8 b(,)31
b(or)330 2359 y(other)d(c)m(harge)g(for)g(exercise)h(of)e(righ)m(ts)h
(gran)m(ted)g(under)e(this)i(License,)h(and)d(y)m(ou)i(ma)m(y)g(not)g
(initiate)330 2469 y(litigation)f(\(including)d(a)g(cross-claim)i(or)e
(coun)m(terclaim)i(in)e(a)g(la)m(wsuit\))i(alleging)g(that)e(an)m(y)h
(paten)m(t)330 2578 y(claim)j(is)g(infringed)e(b)m(y)i(making,)g
(using,)g(selling,)h(o\013ering)f(for)f(sale,)i(or)e(imp)s(orting)g
(the)h(Program)330 2688 y(or)i(an)m(y)h(p)s(ortion)f(of)h(it.)154
2819 y(11.)61 b(P)m(aten)m(ts.)330 2951 y(A)41 b(\\con)m(tributor")h
(is)f(a)g(cop)m(yrigh)m(t)i(holder)d(who)h(authorizes)g(use)g(under)e
(this)i(License)h(of)f(the)330 3061 y(Program)35 b(or)f(a)h(w)m(ork)g
(on)f(whic)m(h)g(the)h(Program)f(is)h(based.)53 b(The)34
b(w)m(ork)g(th)m(us)g(licensed)h(is)g(called)330 3170
y(the)c(con)m(tributor's)f(\\con)m(tributor)i(v)m(ersion".)330
3302 y(A)g(con)m(tributor's)g(\\essen)m(tial)i(paten)m(t)e(claims")h
(are)f(all)h(paten)m(t)f(claims)h(o)m(wned)e(or)h(con)m(trolled)h(b)m
(y)330 3411 y(the)21 b(con)m(tributor,)j(whether)d(already)g(acquired)g
(or)h(hereafter)f(acquired,)j(that)d(w)m(ould)g(b)s(e)g(infringed)330
3521 y(b)m(y)27 b(some)h(manner,)g(p)s(ermitted)f(b)m(y)g(this)h
(License,)h(of)e(making,)i(using,)f(or)f(selling)i(its)f(con)m
(tributor)330 3630 y(v)m(ersion,)40 b(but)c(do)i(not)f(include)g
(claims)i(that)f(w)m(ould)f(b)s(e)f(infringed)h(only)g(as)h(a)g
(consequence)g(of)330 3740 y(further)33 b(mo)s(di\014cation)h(of)g(the)
g(con)m(tributor)g(v)m(ersion.)52 b(F)-8 b(or)34 b(purp)s(oses)e(of)i
(this)g(de\014nition,)h(\\con-)330 3850 y(trol")40 b(includes)f(the)g
(righ)m(t)h(to)f(gran)m(t)h(paten)m(t)g(sublicenses)f(in)g(a)g(manner)g
(consisten)m(t)h(with)f(the)330 3959 y(requiremen)m(ts)30
b(of)h(this)f(License.)330 4091 y(Eac)m(h)44 b(con)m(tributor)h(gran)m
(ts)f(y)m(ou)g(a)h(non-exclusiv)m(e,)j(w)m(orldwide,)f(ro)m(y)m(alt)m
(y-free)g(paten)m(t)e(license)330 4200 y(under)26 b(the)h(con)m
(tributor's)g(essen)m(tial)i(paten)m(t)f(claims,)h(to)f(mak)m(e,)h
(use,)f(sell,)g(o\013er)g(for)f(sale,)i(imp)s(ort)330
4310 y(and)h(otherwise)h(run,)e(mo)s(dify)g(and)h(propagate)i(the)e
(con)m(ten)m(ts)i(of)f(its)g(con)m(tributor)f(v)m(ersion.)330
4441 y(In)e(the)h(follo)m(wing)h(three)e(paragraphs,)h(a)g(\\paten)m(t)
h(license")g(is)e(an)m(y)h(express)f(agreemen)m(t)j(or)d(com-)330
4551 y(mitmen)m(t,)g(ho)m(w)m(ev)m(er)g(denominated,)f(not)f(to)h
(enforce)g(a)f(paten)m(t)i(\(suc)m(h)e(as)g(an)g(express)g(p)s
(ermission)330 4661 y(to)32 b(practice)h(a)f(paten)m(t)h(or)e(co)m(v)m
(enan)m(t)j(not)e(to)g(sue)f(for)h(paten)m(t)g(infringemen)m(t\).)45
b(T)-8 b(o)32 b(\\gran)m(t")h(suc)m(h)330 4770 y(a)i(paten)m(t)h
(license)f(to)h(a)f(part)m(y)g(means)f(to)i(mak)m(e)f(suc)m(h)g(an)f
(agreemen)m(t)j(or)d(commitmen)m(t)i(not)f(to)330 4880
y(enforce)c(a)g(paten)m(t)g(against)h(the)e(part)m(y)-8
b(.)330 5011 y(If)36 b(y)m(ou)h(con)m(v)m(ey)h(a)f(co)m(v)m(ered)h(w)m
(ork,)h(kno)m(wingly)e(relying)g(on)f(a)h(paten)m(t)h(license,)h(and)d
(the)h(Corre-)330 5121 y(sp)s(onding)21 b(Source)h(of)h(the)g(w)m(ork)g
(is)f(not)h(a)m(v)-5 b(ailable)25 b(for)e(an)m(y)m(one)g(to)h(cop)m(y)
-8 b(,)25 b(free)e(of)g(c)m(harge)g(and)f(under)330 5230
y(the)32 b(terms)f(of)h(this)f(License,)i(through)e(a)h(publicly)f(a)m
(v)-5 b(ailable)34 b(net)m(w)m(ork)e(serv)m(er)g(or)g(other)g(readily)
330 5340 y(accessible)38 b(means,)g(then)e(y)m(ou)h(m)m(ust)f(either)h
(\(1\))h(cause)e(the)h(Corresp)s(onding)e(Source)h(to)h(b)s(e)f(so)p
eop end
%%Page: 9 11
TeXDict begin 9 10 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2052 b(9)330 299 y(a)m(v)-5 b(ailable,)32 b(or)e(\(2\))g
(arrange)g(to)h(depriv)m(e)e(y)m(ourself)h(of)g(the)g(b)s(ene\014t)e
(of)i(the)g(paten)m(t)g(license)h(for)e(this)330 408
y(particular)35 b(w)m(ork,)g(or)f(\(3\))i(arrange,)g(in)d(a)i(manner)e
(consisten)m(t)j(with)e(the)g(requiremen)m(ts)h(of)f(this)330
518 y(License,)j(to)f(extend)g(the)f(paten)m(t)h(license)h(to)f(do)m
(wnstream)f(recipien)m(ts.)56 b(\\Kno)m(wingly)36 b(relying")330
628 y(means)31 b(y)m(ou)h(ha)m(v)m(e)g(actual)h(kno)m(wledge)f(that,)g
(but)f(for)g(the)g(paten)m(t)i(license,)f(y)m(our)g(con)m(v)m(eying)h
(the)330 737 y(co)m(v)m(ered)40 b(w)m(ork)e(in)g(a)g(coun)m(try)-8
b(,)41 b(or)e(y)m(our)f(recipien)m(t's)h(use)f(of)g(the)h(co)m(v)m
(ered)g(w)m(ork)g(in)e(a)i(coun)m(try)-8 b(,)330 847
y(w)m(ould)35 b(infringe)g(one)g(or)g(more)g(iden)m(ti\014able)h(paten)
m(ts)g(in)f(that)h(coun)m(try)f(that)h(y)m(ou)f(ha)m(v)m(e)i(reason)330
956 y(to)31 b(b)s(eliev)m(e)h(are)e(v)-5 b(alid.)330
1121 y(If,)31 b(pursuan)m(t)e(to)j(or)e(in)h(connection)h(with)e(a)h
(single)h(transaction)g(or)f(arrangemen)m(t,)h(y)m(ou)f(con)m(v)m(ey)-8
b(,)330 1230 y(or)35 b(propagate)h(b)m(y)e(pro)s(curing)g(con)m(v)m(ey)
m(ance)j(of,)g(a)e(co)m(v)m(ered)h(w)m(ork,)g(and)f(gran)m(t)g(a)g
(paten)m(t)h(license)330 1340 y(to)c(some)f(of)h(the)f(parties)h
(receiving)g(the)f(co)m(v)m(ered)i(w)m(ork)e(authorizing)h(them)f(to)h
(use,)g(propagate,)330 1450 y(mo)s(dify)26 b(or)h(con)m(v)m(ey)h(a)g
(sp)s(eci\014c)e(cop)m(y)i(of)f(the)g(co)m(v)m(ered)i(w)m(ork,)f(then)e
(the)h(paten)m(t)h(license)g(y)m(ou)f(gran)m(t)330 1559
y(is)j(automatically)k(extended)c(to)h(all)g(recipien)m(ts)h(of)e(the)h
(co)m(v)m(ered)h(w)m(ork)e(and)g(w)m(orks)g(based)g(on)h(it.)330
1724 y(A)d(paten)m(t)g(license)h(is)e(\\discriminatory")i(if)e(it)h(do)
s(es)f(not)h(include)f(within)g(the)h(scop)s(e)f(of)h(its)g(co)m(v)m
(er-)330 1833 y(age,)f(prohibits)c(the)h(exercise)h(of,)h(or)d(is)h
(conditioned)h(on)f(the)g(non-exercise)h(of)f(one)g(or)g(more)g(of)g
(the)330 1943 y(righ)m(ts)32 b(that)g(are)g(sp)s(eci\014cally)h(gran)m
(ted)f(under)e(this)i(License.)45 b(Y)-8 b(ou)32 b(ma)m(y)g(not)g(con)m
(v)m(ey)h(a)f(co)m(v)m(ered)330 2052 y(w)m(ork)d(if)g(y)m(ou)g(are)h(a)
f(part)m(y)g(to)h(an)f(arrangemen)m(t)h(with)e(a)i(third)e(part)m(y)h
(that)g(is)g(in)g(the)g(business)f(of)330 2162 y(distributing)i(soft)m
(w)m(are,)i(under)d(whic)m(h)h(y)m(ou)h(mak)m(e)g(pa)m(ymen)m(t)g(to)g
(the)g(third)f(part)m(y)g(based)g(on)h(the)330 2271 y(exten)m(t)f(of)g
(y)m(our)f(activit)m(y)i(of)e(con)m(v)m(eying)i(the)e(w)m(ork,)h(and)e
(under)g(whic)m(h)g(the)i(third)e(part)m(y)h(gran)m(ts,)330
2381 y(to)35 b(an)m(y)g(of)f(the)h(parties)f(who)g(w)m(ould)g(receiv)m
(e)i(the)f(co)m(v)m(ered)h(w)m(ork)e(from)g(y)m(ou,)i(a)f
(discriminatory)330 2491 y(paten)m(t)g(license)h(\(a\))f(in)f
(connection)h(with)f(copies)h(of)g(the)f(co)m(v)m(ered)i(w)m(ork)f(con)
m(v)m(ey)m(ed)h(b)m(y)e(y)m(ou)h(\(or)330 2600 y(copies)k(made)e(from)h
(those)g(copies\),)j(or)d(\(b\))g(primarily)f(for)h(and)f(in)h
(connection)h(with)e(sp)s(eci\014c)330 2710 y(pro)s(ducts)32
b(or)i(compilations)h(that)f(con)m(tain)h(the)f(co)m(v)m(ered)i(w)m
(ork,)e(unless)f(y)m(ou)h(en)m(tered)h(in)m(to)f(that)330
2819 y(arrangemen)m(t,)e(or)e(that)h(paten)m(t)g(license)h(w)m(as)e
(gran)m(ted,)i(prior)d(to)j(28)f(Marc)m(h)g(2007.)330
2984 y(Nothing)23 b(in)e(this)h(License)h(shall)f(b)s(e)f(construed)h
(as)g(excluding)g(or)g(limiting)h(an)m(y)f(implied)g(license)h(or)330
3093 y(other)k(defenses)f(to)h(infringemen)m(t)g(that)g(ma)m(y)g
(otherwise)g(b)s(e)e(a)m(v)-5 b(ailable)29 b(to)e(y)m(ou)g(under)e
(applicable)330 3203 y(paten)m(t)31 b(la)m(w.)154 3367
y(12.)61 b(No)31 b(Surrender)d(of)i(Others')g(F)-8 b(reedom.)330
3532 y(If)24 b(conditions)g(are)h(imp)s(osed)f(on)g(y)m(ou)g(\(whether)
g(b)m(y)g(court)h(order,)g(agreemen)m(t)h(or)e(otherwise\))h(that)330
3641 y(con)m(tradict)35 b(the)f(conditions)h(of)e(this)h(License,)h
(they)f(do)g(not)g(excuse)g(y)m(ou)g(from)g(the)f(conditions)330
3751 y(of)k(this)f(License.)59 b(If)36 b(y)m(ou)h(cannot)g(con)m(v)m
(ey)h(a)e(co)m(v)m(ered)i(w)m(ork)f(so)g(as)f(to)h(satisfy)g(sim)m
(ultaneously)330 3861 y(y)m(our)44 b(obligations)i(under)c(this)i
(License)h(and)e(an)m(y)i(other)f(p)s(ertinen)m(t)g(obligations,)49
b(then)44 b(as)h(a)330 3970 y(consequence)40 b(y)m(ou)f(ma)m(y)g(not)g
(con)m(v)m(ey)i(it)e(at)h(all.)67 b(F)-8 b(or)40 b(example,)i(if)d(y)m
(ou)g(agree)h(to)g(terms)e(that)330 4080 y(obligate)32
b(y)m(ou)e(to)h(collect)h(a)f(ro)m(y)m(alt)m(y)h(for)e(further)e(con)m
(v)m(eying)k(from)e(those)g(to)h(whom)e(y)m(ou)h(con)m(v)m(ey)330
4189 y(the)h(Program,)h(the)f(only)g(w)m(a)m(y)h(y)m(ou)g(could)f
(satisfy)g(b)s(oth)g(those)g(terms)g(and)g(this)g(License)g(w)m(ould)
330 4299 y(b)s(e)f(to)h(refrain)f(en)m(tirely)h(from)f(con)m(v)m(eying)
i(the)f(Program.)154 4463 y(13.)61 b(Use)31 b(with)f(the)g(GNU)h
(A\013ero)g(General)h(Public)e(License.)330 4628 y(Not)m(withstanding)
39 b(an)m(y)g(other)f(pro)m(vision)h(of)f(this)g(License,)k(y)m(ou)c
(ha)m(v)m(e)i(p)s(ermission)d(to)i(link)f(or)330 4737
y(com)m(bine)h(an)m(y)g(co)m(v)m(ered)i(w)m(ork)e(with)f(a)h(w)m(ork)g
(licensed)g(under)e(v)m(ersion)i(3)g(of)g(the)g(GNU)g(A\013ero)330
4847 y(General)29 b(Public)f(License)h(in)m(to)h(a)f(single)g(com)m
(bined)f(w)m(ork,)h(and)f(to)h(con)m(v)m(ey)h(the)f(resulting)g(w)m
(ork.)330 4956 y(The)f(terms)g(of)g(this)h(License)f(will)h(con)m(tin)m
(ue)g(to)g(apply)f(to)h(the)g(part)f(whic)m(h)g(is)g(the)h(co)m(v)m
(ered)h(w)m(ork,)330 5066 y(but)38 b(the)h(sp)s(ecial)g(requiremen)m
(ts)f(of)h(the)g(GNU)g(A\013ero)g(General)g(Public)g(License,)i
(section)f(13,)330 5176 y(concerning)31 b(in)m(teraction)h(through)e(a)
h(net)m(w)m(ork)g(will)f(apply)g(to)i(the)e(com)m(bination)i(as)e(suc)m
(h.)154 5340 y(14.)61 b(Revised)31 b(V)-8 b(ersions)30
b(of)h(this)f(License.)p eop end
%%Page: 10 12
TeXDict begin 10 11 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2006 b(10)330 299 y(The)35 b(F)-8 b(ree)36 b(Soft)m(w)m(are)g
(F)-8 b(oundation)36 b(ma)m(y)g(publish)d(revised)i(and/or)g(new)g(v)m
(ersions)h(of)f(the)g(GNU)330 408 y(General)f(Public)f(License)g(from)g
(time)g(to)h(time.)49 b(Suc)m(h)33 b(new)f(v)m(ersions)h(will)h(b)s(e)e
(similar)h(in)g(spirit)330 518 y(to)e(the)g(presen)m(t)f(v)m(ersion,)h
(but)f(ma)m(y)h(di\013er)f(in)g(detail)i(to)f(address)e(new)h(problems)
g(or)g(concerns.)330 662 y(Eac)m(h)37 b(v)m(ersion)g(is)f(giv)m(en)h(a)
g(distinguishing)e(v)m(ersion)i(n)m(um)m(b)s(er.)57 b(If)36
b(the)g(Program)g(sp)s(eci\014es)g(that)330 772 y(a)31
b(certain)h(n)m(um)m(b)s(ered)d(v)m(ersion)i(of)g(the)g(GNU)g(General)h
(Public)e(License)h(\\or)g(an)m(y)g(later)h(v)m(ersion")330
881 y(applies)h(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
991 y(n)m(um)m(b)s(ered)h(v)m(ersion)h(or)g(of)g(an)m(y)g(later)h(v)m
(ersion)g(published)d(b)m(y)i(the)g(F)-8 b(ree)35 b(Soft)m(w)m(are)g(F)
-8 b(oundation.)330 1101 y(If)28 b(the)h(Program)g(do)s(es)g(not)g(sp)s
(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)h(the)g(GNU)g(General)h
(Public)e(License,)330 1210 y(y)m(ou)j(ma)m(y)g(c)m(ho)s(ose)g(an)m(y)g
(v)m(ersion)g(ev)m(er)g(published)d(b)m(y)j(the)f(F)-8
b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation.)330 1354
y(If)39 b(the)h(Program)g(sp)s(eci\014es)f(that)h(a)g(pro)m(xy)g(can)g
(decide)g(whic)m(h)f(future)g(v)m(ersions)h(of)f(the)h(GNU)330
1464 y(General)34 b(Public)e(License)i(can)f(b)s(e)f(used,)h(that)h
(pro)m(xy's)e(public)h(statemen)m(t)h(of)f(acceptance)j(of)d(a)330
1573 y(v)m(ersion)e(p)s(ermanen)m(tly)f(authorizes)h(y)m(ou)g(to)g(c)m
(ho)s(ose)g(that)g(v)m(ersion)g(for)f(the)h(Program.)330
1718 y(Later)37 b(license)g(v)m(ersions)f(ma)m(y)h(giv)m(e)g(y)m(ou)g
(additional)g(or)f(di\013eren)m(t)h(p)s(ermissions.)56
b(Ho)m(w)m(ev)m(er,)40 b(no)330 1827 y(additional)25
b(obligations)i(are)e(imp)s(osed)f(on)g(an)m(y)h(author)f(or)h(cop)m
(yrigh)m(t)h(holder)e(as)h(a)g(result)f(of)h(y)m(our)330
1937 y(c)m(ho)s(osing)31 b(to)g(follo)m(w)h(a)f(later)g(v)m(ersion.)154
2081 y(15.)61 b(Disclaimer)32 b(of)f(W)-8 b(arran)m(t)m(y)g(.)330
2225 y(THERE)47 b(IS)f(NO)h(W)-10 b(ARRANTY)48 b(F)m(OR)f(THE)g(PR)m
(OGRAM,)h(TO)f(THE)g(EXTENT)f(PER-)330 2335 y(MITTED)g(BY)i(APPLICABLE)
e(LA)-10 b(W.)47 b(EX)m(CEPT)f(WHEN)i(OTHER)-10 b(WISE)45
b(ST)-8 b(A)g(TED)47 b(IN)330 2444 y(WRITING)34 b(THE)f(COPYRIGHT)g
(HOLDERS)g(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)33 b(PR)m(O)m(VIDE)330
2554 y(THE)d(PR)m(OGRAM)i(\\AS)e(IS")h(WITHOUT)f(W)-10
b(ARRANTY)31 b(OF)g(ANY)g(KIND,)g(EITHER)f(EX-)330 2663
y(PRESSED)k(OR)h(IMPLIED,)g(INCLUDING,)g(BUT)h(NOT)e(LIMITED)h(TO,)f
(THE)h(IMPLIED)330 2773 y(W)-10 b(ARRANTIES)38 b(OF)g(MER)m(CHANT)-8
b(ABILITY)39 b(AND)g(FITNESS)e(F)m(OR)i(A)f(P)-8 b(AR)g(TICULAR)330
2883 y(PURPOSE.)39 b(THE)h(ENTIRE)f(RISK)g(AS)h(TO)f(THE)g(QUALITY)h
(AND)h(PERF)m(ORMANCE)330 2992 y(OF)29 b(THE)g(PR)m(OGRAM)h(IS)f(WITH)g
(YOU.)h(SHOULD)f(THE)g(PR)m(OGRAM)h(PR)m(O)m(VE)g(DEFEC-)330
3102 y(TIVE,)24 b(YOU)g(ASSUME)f(THE)h(COST)f(OF)h(ALL)g(NECESSAR)-8
b(Y)23 b(SER)-10 b(VICING,)23 b(REP)-8 b(AIR)24 b(OR)330
3211 y(CORRECTION.)154 3356 y(16.)61 b(Limitation)32
b(of)e(Liabilit)m(y)-8 b(.)330 3500 y(IN)26 b(NO)g(EVENT)g(UNLESS)f
(REQUIRED)h(BY)h(APPLICABLE)f(LA)-10 b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)
330 3609 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h
(OTHER)f(P)-8 b(AR)g(TY)38 b(WHO)330 3719 y(MODIFIES)33
b(AND/OR)h(CONVEYS)e(THE)h(PR)m(OGRAM)h(AS)e(PERMITTED)h(ABO)m(VE,)h
(BE)330 3829 y(LIABLE)d(TO)e(YOU)i(F)m(OR)g(D)m(AMA)m(GES,)i(INCLUDING)
e(ANY)g(GENERAL,)g(SPECIAL,)f(IN-)330 3938 y(CIDENT)-8
b(AL)32 b(OR)f(CONSEQUENTIAL)f(D)m(AMA)m(GES)j(ARISING)f(OUT)f(OF)h
(THE)f(USE)g(OR)330 4048 y(INABILITY)47 b(TO)f(USE)g(THE)g(PR)m(OGRAM)i
(\(INCLUDING)f(BUT)g(NOT)f(LIMITED)h(TO)330 4157 y(LOSS)28
b(OF)h(D)m(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8 b(T)g(A)31
b(BEING)f(RENDERED)f(INA)m(CCURA)-8 b(TE)30 b(OR)e(LOSSES)g(SUS-)330
4267 y(T)-8 b(AINED)43 b(BY)g(YOU)f(OR)g(THIRD)h(P)-8
b(AR)g(TIES)42 b(OR)g(A)g(F)-10 b(AILURE)43 b(OF)f(THE)g(PR)m(OGRAM)330
4376 y(TO)30 b(OPERA)-8 b(TE)29 b(WITH)i(ANY)f(OTHER)g(PR)m(OGRAMS\),)h
(EVEN)f(IF)h(SUCH)e(HOLDER)h(OR)330 4486 y(OTHER)36 b(P)-8
b(AR)g(TY)37 b(HAS)g(BEEN)f(AD)m(VISED)i(OF)f(THE)f(POSSIBILITY)f(OF)h
(SUCH)g(D)m(AM-)330 4596 y(A)m(GES.)154 4740 y(17.)61
b(In)m(terpretation)31 b(of)g(Sections)g(15)g(and)f(16.)330
4884 y(If)d(the)h(disclaimer)g(of)f(w)m(arran)m(t)m(y)i(and)d
(limitation)k(of)d(liabilit)m(y)j(pro)m(vided)d(ab)s(o)m(v)m(e)h
(cannot)g(b)s(e)f(giv)m(en)330 4994 y(lo)s(cal)35 b(legal)h(e\013ect)g
(according)f(to)f(their)h(terms,)g(reviewing)f(courts)g(shall)h(apply)e
(lo)s(cal)j(la)m(w)e(that)330 5103 y(most)j(closely)i(appro)m(ximates)f
(an)f(absolute)g(w)m(aiv)m(er)i(of)e(all)g(civil)i(liabilit)m(y)f(in)f
(connection)h(with)330 5213 y(the)d(Program,)i(unless)d(a)h(w)m(arran)m
(t)m(y)h(or)f(assumption)g(of)g(liabilit)m(y)i(accompanies)f(a)g(cop)m
(y)g(of)f(the)330 5322 y(Program)c(in)f(return)f(for)h(a)h(fee.)p
eop end
%%Page: 11 13
TeXDict begin 11 12 bop 150 -116 a Fv(GNU)31 b(GENERAL)f(PUBLIC)h
(LICENSE)2006 b(11)150 299 y Fu(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS)
150 556 y(Ho)l(w)h(to)f(Apply)f(These)h(T)-11 b(erms)45
b(to)g(Y)-11 b(our)44 b(New)i(Programs)275 716 y Fv(If)38
b(y)m(ou)i(dev)m(elop)g(a)f(new)g(program,)j(and)c(y)m(ou)i(w)m(an)m(t)
g(it)f(to)h(b)s(e)f(of)g(the)h(greatest)h(p)s(ossible)d(use)h(to)150
825 y(the)i(public,)i(the)f(b)s(est)e(w)m(a)m(y)i(to)g(ac)m(hiev)m(e)h
(this)e(is)g(to)h(mak)m(e)g(it)g(free)f(soft)m(w)m(are)h(whic)m(h)f(ev)
m(ery)m(one)i(can)150 935 y(redistribute)30 b(and)g(c)m(hange)h(under)e
(these)i(terms.)275 1069 y(T)-8 b(o)29 b(do)h(so,)g(attac)m(h)h(the)f
(follo)m(wing)h(notices)f(to)h(the)e(program.)40 b(It)30
b(is)g(safest)g(to)g(attac)m(h)h(them)f(to)g(the)150
1179 y(start)38 b(of)g(eac)m(h)g(source)g(\014le)f(to)h(most)g
(e\013ectiv)m(ely)i(state)f(the)f(exclusion)g(of)f(w)m(arran)m(t)m(y;)
42 b(and)37 b(eac)m(h)i(\014le)150 1289 y(should)29 b(ha)m(v)m(e)j(at)f
(least)h(the)e(\\cop)m(yrigh)m(t")j(line)e(and)e(a)i(p)s(oin)m(ter)g
(to)g(where)f(the)g(full)g(notice)i(is)e(found.)390 1401
y Fq(one)40 b(line)g(to)g(give)g(the)g(program's)h(name)f(and)g(a)g
(brief)g(idea)g(of)g(what)g(it)g(does.)390 1488 y Fp(Copyright)h(\(C\))
f Fq(year)49 b(name)40 b(of)g(author)390 1662 y Fp(This)g(program)h(is)
f(free)g(software:)h(you)f(can)g(redistribute)i(it)e(and/or)g(modify)
390 1749 y(it)g(under)g(the)g(terms)g(of)g(the)g(GNU)g(General)h
(Public)f(License)h(as)f(published)h(by)390 1836 y(the)f(Free)g
(Software)h(Foundation,)h(either)e(version)h(3)f(of)f(the)h(License,)h
(or)f(\(at)390 1924 y(your)g(option\))h(any)f(later)g(version.)390
2098 y(This)g(program)h(is)f(distributed)h(in)f(the)g(hope)g(that)g(it)
g(will)g(be)g(useful,)h(but)390 2185 y(WITHOUT)g(ANY)f(WARRANTY;)h
(without)g(even)f(the)g(implied)h(warranty)g(of)390 2272
y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80
b(See)40 b(the)g(GNU)390 2359 y(General)h(Public)f(License)h(for)f
(more)g(details.)390 2534 y(You)g(should)g(have)h(received)g(a)e(copy)h
(of)g(the)g(GNU)g(General)h(Public)f(License)390 2621
y(along)g(with)g(this)h(program.)80 b(If)40 b(not,)g(see)g
(http://www.gnu.org/licenses/.)275 2756 y Fv(Also)31
b(add)e(information)i(on)f(ho)m(w)h(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g
(electronic)j(and)d(pap)s(er)f(mail.)275 2890 y(If)e(the)i(program)f
(do)s(es)f(terminal)i(in)m(teraction,)i(mak)m(e)e(it)g(output)f(a)g
(short)g(notice)i(lik)m(e)f(this)f(when)f(it)150 3000
y(starts)k(in)f(an)g(in)m(teractiv)m(e)j(mo)s(de:)390
3112 y Fq(program)49 b Fp(Copyright)42 b(\(C\))e Fq(year)48
b(name)41 b(of)e(author)390 3199 y Fp(This)h(program)h(comes)f(with)g
(ABSOLUTELY)i(NO)e(WARRANTY;)h(for)f(details)h(type)f(`show)g(w'.)390
3286 y(This)g(is)g(free)g(software,)h(and)f(you)g(are)g(welcome)h(to)e
(redistribute)j(it)390 3373 y(under)e(certain)h(conditions;)h(type)e
(`show)g(c')g(for)g(details.)275 3508 y Fv(The)27 b(h)m(yp)s(othetical)
i(commands)f(`)p Fr(show)h(w)p Fv(')f(and)f(`)p Fr(show)j(c)p
Fv(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)150
3617 y(the)i(General)h(Public)f(License.)41 b(Of)30 b(course,)h(y)m
(our)f(program's)g(commands)f(migh)m(t)i(b)s(e)f(di\013eren)m(t;)h(for)
f(a)150 3727 y(GUI)h(in)m(terface,)h(y)m(ou)f(w)m(ould)f(use)g(an)g
(\\ab)s(out)h(b)s(o)m(x".)275 3861 y(Y)-8 b(ou)34 b(should)f(also)i
(get)g(y)m(our)e(emplo)m(y)m(er)i(\(if)g(y)m(ou)f(w)m(ork)g(as)g(a)g
(programmer\))g(or)g(sc)m(ho)s(ol,)i(if)d(an)m(y)-8 b(,)36
b(to)150 3971 y(sign)d(a)g(\\cop)m(yrigh)m(t)h(disclaimer")g(for)e(the)
h(program,)g(if)f(necessary)-8 b(.)48 b(F)-8 b(or)34
b(more)e(information)h(on)g(this,)150 4081 y(and)d(ho)m(w)g(to)h(apply)
f(and)g(follo)m(w)i(the)e(GNU)h(GPL,)g(see)g Fr
(http://www.gnu.org/licen)o(ses)o(/)p Fv(.)275 4215 y(The)44
b(GNU)h(General)g(Public)f(License)i(do)s(es)e(not)h(p)s(ermit)e
(incorp)s(orating)i(y)m(our)g(program)f(in)m(to)150 4325
y(proprietary)35 b(programs.)57 b(If)35 b(y)m(our)h(program)f(is)h(a)g
(subroutine)f(library)-8 b(,)37 b(y)m(ou)f(ma)m(y)h(consider)e(it)i
(more)150 4434 y(useful)30 b(to)i(p)s(ermit)e(linking)i(proprietary)e
(applications)i(with)f(the)g(library)-8 b(.)43 b(If)31
b(this)g(is)g(what)g(y)m(ou)g(w)m(an)m(t)150 4544 y(to)f(do,)g(use)f
(the)g(GNU)h(Lesser)g(General)g(Public)f(License)h(instead)g(of)f(this)
h(License.)40 b(But)30 b(\014rst,)f(please)150 4653 y(read)h
Fr(http://www.gnu.org/philos)o(ophy)o(/why)o(-no)o(t-lg)o(pl.h)o(tml)o
Fv(.)p eop end
%%Page: 12 14
TeXDict begin 12 13 bop 150 -116 a Fv(Con)m(tributors)30
b(to)h(GNU)g Fr(gperf)e Fv(Utilit)m(y)2094 b(12)150 299
y Fs(Con)l(tributors)50 b(to)j(GNU)h Fo(gperf)f Fs(Utilit)l(y)225
533 y Ft(\017)60 b Fv(The)45 b(GNU)h Fr(gperf)d Fv(p)s(erfect)j(hash)e
(function)h(generator)i(utilit)m(y)f(w)m(as)g(written)f(in)g(GNU)h(C)p
Fr(++)330 643 y Fv(b)m(y)e(Douglas)i(C.)f(Sc)m(hmidt.)83
b(The)44 b(general)i(idea)f(for)f(the)h(p)s(erfect)g(hash)e(function)i
(generator)330 752 y(w)m(as)34 b(inspired)e(b)m(y)h(Keith)g(Bostic's)j
(algorithm)e(written)f(in)g(C,)g(and)g(distributed)f(to)i(net.sources)
330 862 y(around)42 b(1984.)79 b(The)42 b(curren)m(t)g(program)h(is)g
(a)g(hea)m(vily)h(mo)s(di\014ed,)g(enhanced,)i(and)c(extended)330
971 y(implemen)m(tation)d(of)e(Keith's)g(basic)h(idea,)h(created)f(at)g
(the)f(Univ)m(ersit)m(y)h(of)g(California,)h(Irvine.)330
1081 y(Bugs,)31 b(patc)m(hes,)g(and)f(suggestions)h(should)f(b)s(e)f
(rep)s(orted)h(to)h Fr(<bug-gnu-gperf@gnu.org>)p Fv(.)225
1215 y Ft(\017)60 b Fv(Sp)s(ecial)33 b(thanks)g(is)g(extended)g(to)h
(Mic)m(hael)h(Tiemann)e(and)g(Doug)h(Lea,)g(for)f(pro)m(viding)g(a)h
(useful)330 1325 y(compiler,)d(and)f(for)g(giving)h(me)g(a)g(forum)e
(to)i(exhibit)g(m)m(y)f(creation.)330 1460 y(In)22 b(addition,)i(Adam)f
(de)f(Bo)s(or)h(and)f(Nels)i(Olson)e(pro)m(vided)g(man)m(y)h(tips)f
(and)g(insigh)m(ts)h(that)g(greatly)330 1569 y(help)s(ed)29
b(impro)m(v)m(e)j(the)e(qualit)m(y)i(and)e(functionalit)m(y)h(of)g
Fr(gperf)p Fv(.)225 1704 y Ft(\017)60 b Fv(Bruno)26 b(Haible)i
(enhanced)f(and)f(optimized)i(the)f(searc)m(h)h(algorithm.)41
b(He)27 b(also)h(rewrote)g(the)f(input)330 1813 y(routines)j(and)g(the)
h(output)f(routines)g(for)g(b)s(etter)g(reliabilit)m(y)-8
b(,)33 b(and)d(added)g(a)h(testsuite.)p eop end
%%Page: 13 15
TeXDict begin 13 14 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2546 b(13)150 299 y Fs(1)80 b(In)l(tro)t(duction)
275 533 y Fr(gperf)31 b Fv(is)j(a)f(p)s(erfect)h(hash)e(function)h
(generator)i(written)e(in)g(C)p Fr(++)p Fv(.)49 b(It)33
b(transforms)g(an)g Fn(n)f Fv(elemen)m(t)150 643 y(user-sp)s(eci\014ed)
k(k)m(eyw)m(ord)i(set)g Fn(W)49 b Fv(in)m(to)39 b(a)e(p)s(erfect)h
(hash)e(function)h Fn(F)p Fv(.)h Fn(F)44 b Fv(uniquely)37
b(maps)g(k)m(eyw)m(ords)150 752 y(in)e Fn(W)47 b Fv(on)m(to)36
b(the)f(range)g(0..)p Fn(k)p Fv(,)j(where)c Fn(k)40 b
Fr(>)p Fv(=)35 b Fn(n-1)p Fv(.)54 b(If)35 b Fn(k)40 b
Fv(=)35 b Fn(n-1)42 b Fv(then)35 b Fn(F)42 b Fv(is)35
b(a)g Fm(minimal)46 b Fv(p)s(erfect)35 b(hash)150 862
y(function.)68 b Fr(gperf)39 b Fv(generates)i(a)f(0..)p
Fn(k)46 b Fv(elemen)m(t)41 b(static)g(lo)s(okup)f(table)g(and)f(a)i
(pair)e(of)h(C)f(functions.)150 971 y(These)34 b(functions)g(determine)
h(whether)e(a)i(giv)m(en)g(c)m(haracter)h(string)f Fn(s)j
Fv(o)s(ccurs)c(in)g Fn(W)p Fv(,)h(using)e(at)j(most)150
1081 y(one)31 b(prob)s(e)e(in)m(to)i(the)g(lo)s(okup)f(table.)275
1215 y Fr(gperf)22 b Fv(curren)m(tly)h(generates)j(the)d(reserv)m(ed)h
(k)m(eyw)m(ord)g(recognizer)i(for)d(lexical)j(analyzers)e(in)g(sev)m
(eral)150 1325 y(pro)s(duction)30 b(and)g(researc)m(h)h(compilers)g
(and)g(language)h(pro)s(cessing)e(to)s(ols,)i(including)e(GNU)i(C,)e
(GNU)150 1435 y(C)p Fr(++)p Fv(,)24 b(GNU)f(Ja)m(v)-5
b(a,)26 b(GNU)d(P)m(ascal,)j(GNU)e(Mo)s(dula)f(3,)i(and)d(GNU)h(inden)m
(t.)38 b(Complete)24 b(C)p Fr(++)e Fv(source)h(co)s(de)150
1544 y(for)42 b Fr(gperf)f Fv(is)h(a)m(v)-5 b(ailable)44
b(from)e Fr(http://ftp.gnu.org/pub/g)o(nu/g)o(perf)o(/)p
Fv(.)70 b(A)42 b(pap)s(er)f(describing)150 1654 y Fr(gperf)p
Fv('s)d(design)i(and)f(implemen)m(tation)j(in)d(greater)i(detail)g(is)f
(a)m(v)-5 b(ailable)42 b(in)e(the)g(Second)f(USENIX)150
1763 y(C)p Fr(++)29 b Fv(Conference)g(pro)s(ceedings)h(or)g(from)f
Fr(http://www.cs.wustl.edu)o(/~sc)o(hmid)o(t/r)o(esum)o(e.ht)o(ml)p
Fv(.)p eop end
%%Page: 14 16
TeXDict begin 14 15 bop 150 -116 a Fv(Chapter)30 b(2:)41
b(Static)32 b(searc)m(h)f(structures)e(and)h(GNU)h Fr(gperf)1425
b Fv(14)150 299 y Fs(2)80 b(Static)53 b(searc)l(h)g(structures)e(and)j
(GNU)f Fo(gperf)275 533 y Fv(A)24 b Fn(static)i(searc)m(h)f(structure)k
Fv(is)c(an)f(Abstract)h(Data)i(T)m(yp)s(e)c(with)i(certain)g(fundamen)m
(tal)f(op)s(erations,)150 643 y(e.g.,)32 b Fm(initialize)p
Fv(,)g Fm(insert)p Fv(,)f(and)f Fm(r)-5 b(etrieve)p Fv(.)42
b(Conceptually)-8 b(,)32 b(all)g(insertions)f(o)s(ccur)f(b)s(efore)h
(an)m(y)g(retriev)-5 b(als.)150 752 y(In)20 b(practice,)25
b Fr(gperf)19 b Fv(generates)k(a)e Fm(static)27 b Fv(arra)m(y)22
b(con)m(taining)g(searc)m(h)g(set)f(k)m(eyw)m(ords)h(and)e(an)m(y)h
(asso)s(ciated)150 862 y(attributes)37 b(sp)s(eci\014ed)f(b)m(y)h(the)f
(user.)59 b(Th)m(us,)37 b(there)g(is)g(essen)m(tially)h(no)f
(execution-time)i(cost)e(for)g(the)150 971 y(insertions.)j(It)27
b(is)g(a)g(useful)g(data)g(structure)g(for)g(represen)m(ting)g
Fm(static)j(se)-5 b(ar)g(ch)32 b(sets)p Fv(.)40 b(Static)28
b(searc)m(h)g(sets)150 1081 y(o)s(ccur)c(frequen)m(tly)h(in)f(soft)m(w)
m(are)i(system)e(applications.)40 b(T)m(ypical)25 b(static)h(searc)m(h)
f(sets)g(include)f(compiler)150 1191 y(reserv)m(ed)42
b(w)m(ords,)j(assem)m(bler)e(instruction)f(op)s(co)s(des,)j(and)c
(built-in)h(shell)h(in)m(terpreter)f(commands.)150 1300
y(Searc)m(h)g(set)g(mem)m(b)s(ers,)h(called)g Fn(k)m(eyw)m(ords)p
Fv(,)i(are)c(inserted)h(in)m(to)g(the)g(structure)f(only)g(once,)k
(usually)150 1410 y(during)29 b(program)h(initialization,)k(and)c(are)g
(not)h(generally)h(mo)s(di\014ed)d(at)i(run-time.)275
1544 y(Numerous)c(static)i(searc)m(h)g(structure)e(implemen)m(tations)i
(exist,)h(e.g.,)f(arra)m(ys,)g(link)m(ed)g(lists,)g(binary)150
1654 y(searc)m(h)45 b(trees,)j(digital)d(searc)m(h)g(tries,)j(and)43
b(hash)g(tables.)83 b(Di\013eren)m(t)45 b(approac)m(hes)g(o\013er)f
(trade-o\013s)150 1763 y(b)s(et)m(w)m(een)e(space)h(utilization)g(and)f
(searc)m(h)g(time)g(e\016ciency)-8 b(.)77 b(F)-8 b(or)42
b(example,)k(an)41 b Fn(n)h Fv(elemen)m(t)h(sorted)150
1873 y(arra)m(y)d(is)g(space)h(e\016cien)m(t,)i(though)d(the)g(a)m(v)m
(erage-case)k(time)c(complexit)m(y)i(for)e(retriev)-5
b(al)41 b(op)s(erations)150 1983 y(using)31 b(binary)f(searc)m(h)i(is)f
(prop)s(ortional)g(to)g(log)i Fn(n)p Fv(.)42 b(Con)m(v)m(ersely)-8
b(,)33 b(hash)d(table)i(implemen)m(tations)h(often)150
2092 y(lo)s(cate)27 b(a)f(table)g(en)m(try)g(in)f(constan)m(t)i(time,)g
(but)e(t)m(ypically)i(imp)s(ose)e(additional)i(memory)e(o)m(v)m(erhead)
i(and)150 2202 y(exhibit)k(p)s(o)s(or)e(w)m(orst)i(case)g(p)s
(erformance.)275 2336 y Fm(Minimal)26 b(p)-5 b(erfe)g(ct)28
b(hash)f(functions)32 b Fv(pro)m(vide)24 b(an)f(optimal)i(solution)f
(for)f(a)h(particular)g(class)h(of)e(static)150 2446
y(searc)m(h)31 b(sets.)41 b(A)31 b(minimal)f(p)s(erfect)g(hash)g
(function)g(is)h(de\014ned)e(b)m(y)h(t)m(w)m(o)i(prop)s(erties:)225
2580 y Ft(\017)60 b Fv(It)34 b(allo)m(ws)i(k)m(eyw)m(ord)f(recognition)
h(in)e(a)h(static)h(searc)m(h)f(set)g(using)f(at)h(most)g
Fm(one)41 b Fv(prob)s(e)33 b(in)m(to)j(the)330 2690 y(hash)30
b(table.)41 b(This)30 b(represen)m(ts)g(the)h(\\p)s(erfect")g(prop)s
(ert)m(y)-8 b(.)225 2824 y Ft(\017)60 b Fv(The)35 b(actual)j(memory)e
(allo)s(cated)i(to)e(store)h(the)f(k)m(eyw)m(ords)h(is)f(precisely)g
(large)h(enough)f(for)g(the)330 2934 y(k)m(eyw)m(ord)31
b(set,)g(and)f Fm(no)j(lar)-5 b(ger)p Fv(.)42 b(This)29
b(is)i(the)f(\\minimal")i(prop)s(ert)m(y)-8 b(.)275 3093
y(F)g(or)38 b(most)g(applications)h(it)f(is)g(far)f(easier)i(to)f
(generate)h Fm(p)-5 b(erfe)g(ct)47 b Fv(hash)37 b(functions)g(than)h
Fm(minimal)150 3203 y(p)-5 b(erfe)g(ct)47 b Fv(hash)36
b(functions.)60 b(Moreo)m(v)m(er,)41 b(non-minimal)c(p)s(erfect)g(hash)
f(functions)g(frequen)m(tly)i(execute)150 3313 y(faster)44
b(than)g(minimal)g(ones)g(in)f(practice.)83 b(This)43
b(phenomena)g(o)s(ccurs)g(since)h(searc)m(hing)h(a)f(sparse)150
3422 y(k)m(eyw)m(ord)34 b(table)g(increases)g(the)g(probabilit)m(y)f
(of)h(lo)s(cating)h(a)e(\\n)m(ull")i(en)m(try)-8 b(,)35
b(thereb)m(y)e(reducing)g(string)150 3532 y(comparisons.)56
b Fr(gperf)p Fv('s)34 b(default)h(b)s(eha)m(vior)g(generates)i
Fm(ne)-5 b(ar-minimal)47 b Fv(p)s(erfect)35 b(hash)f(functions)h(for)
150 3641 y(k)m(eyw)m(ord)40 b(sets.)68 b(Ho)m(w)m(ev)m(er,)44
b Fr(gperf)39 b Fv(pro)m(vides)g(man)m(y)h(options)f(that)h(p)s(ermit)f
(user)g(con)m(trol)i(o)m(v)m(er)g(the)150 3751 y(degree)31
b(of)g(minimalit)m(y)g(and)f(p)s(erfection.)275 3885
y(Static)37 b(searc)m(h)f(sets)g(often)g(exhibit)g(relativ)m(e)i
(stabilit)m(y)f(o)m(v)m(er)g(time.)58 b(F)-8 b(or)36
b(example,)i(Ada's)e(63)h(re-)150 3995 y(serv)m(ed)31
b(w)m(ords)f(ha)m(v)m(e)i(remained)e(constan)m(t)i(for)f(nearly)g(a)g
(decade.)42 b(It)31 b(is)g(therefore)g(frequen)m(tly)g(w)m(orth-)150
4105 y(while)22 b(to)h(exp)s(end)e(concerted)i(e\013ort)g(building)e
(an)h(optimal)i(searc)m(h)e(structure)g Fm(onc)-5 b(e)p
Fv(,)25 b(if)d(it)g(subsequen)m(tly)150 4214 y(receiv)m(es)j(hea)m(vy)f
(use)e(m)m(ultiple)i(times.)39 b Fr(gperf)22 b Fv(remo)m(v)m(es)i(the)f
(drudgery)f(asso)s(ciated)j(with)d(constructing)150 4324
y(time-)38 b(and)f(space-e\016cien)m(t)j(searc)m(h)d(structures)g(b)m
(y)g(hand.)61 b(It)37 b(has)g(pro)m(v)m(en)h(a)f(useful)g(and)f
(practical)150 4433 y(to)s(ol)29 b(for)f(serious)g(programming)g(pro)5
b(jects.)40 b(Output)27 b(from)h Fr(gperf)e Fv(is)i(curren)m(tly)h
(used)e(in)h(sev)m(eral)h(pro-)150 4543 y(duction)d(and)e(researc)m(h)j
(compilers,)g(including)e(GNU)h(C,)g(GNU)g(C)p Fr(++)p
Fv(,)g(GNU)g(Ja)m(v)-5 b(a,)28 b(GNU)e(P)m(ascal,)j(and)150
4653 y(GNU)38 b(Mo)s(dula)f(3.)63 b(The)36 b(latter)j(t)m(w)m(o)g
(compilers)f(are)f(not)h(y)m(et)h(part)e(of)g(the)h(o\016cial)h(GNU)f
(distribu-)150 4762 y(tion.)51 b(Eac)m(h)34 b(compiler)g(utilizes)h
Fr(gperf)d Fv(to)i(automatically)i(generate)f(static)g(searc)m(h)f
(structures)f(that)150 4872 y(e\016cien)m(tly)f(iden)m(tify)f(their)f
(resp)s(ectiv)m(e)i(reserv)m(ed)e(k)m(eyw)m(ords.)p eop
end
%%Page: 15 17
TeXDict begin 15 16 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(15)150 299 y Fs(3)80 b(High-Lev)l(el)52 b(Description)f(of)j(GNU)g
Fo(gperf)275 555 y Fv(The)29 b(p)s(erfect)h(hash)g(function)g
(generator)h Fr(gperf)e Fv(reads)h(a)h(set)g(of)f(\\k)m(eyw)m(ords")i
(from)d(an)i(input)e(\014le)150 664 y(\(or)34 b(from)g(the)g(standard)f
(input)g(b)m(y)h(default\).)52 b(It)34 b(attempts)h(to)f(deriv)m(e)h(a)
f(p)s(erfect)g(hashing)f(function)150 774 y(that)k(recognizes)i(a)e
(mem)m(b)s(er)f(of)h(the)g Fn(static)h(k)m(eyw)m(ord)f(set)j
Fv(with)c(at)i(most)f(a)g(single)g(prob)s(e)f(in)m(to)i(the)150
884 y(lo)s(okup)26 b(table.)41 b(If)26 b Fr(gperf)f Fv(succeeds)i(in)g
(generating)h(suc)m(h)e(a)h(function)f(it)i(pro)s(duces)d(a)i(pair)g
(of)f(C)h(source)150 993 y(co)s(de)39 b(routines)g(that)h(p)s(erform)d
(hashing)i(and)f(table)i(lo)s(okup)e(recognition.)69
b(All)39 b(generated)h(C)f(co)s(de)150 1103 y(is)f(directed)g(to)g(the)
g(standard)f(output.)62 b(Command-line)38 b(options)g(describ)s(ed)e(b)
s(elo)m(w)i(allo)m(w)h(y)m(ou)f(to)150 1212 y(mo)s(dify)30
b(the)g(input)g(and)f(output)h(format)h(to)g Fr(gperf)p
Fv(.)275 1354 y(By)23 b(default,)i Fr(gperf)d Fv(attempts)i(to)g(pro)s
(duce)e(time-e\016cien)m(t)k(co)s(de,)f(with)e(less)h(emphasis)e(on)h
(e\016cien)m(t)150 1464 y(space)31 b(utilization.)43
b(Ho)m(w)m(ev)m(er,)33 b(sev)m(eral)e(options)g(exist)g(that)g(p)s
(ermit)f(trading-o\013)h(execution)h(time)f(for)150 1573
y(storage)i(space)f(and)g(vice)g(v)m(ersa.)46 b(In)31
b(particular,)h(expanding)f(the)h(generated)h(table)g(size)f(pro)s
(duces)f(a)150 1683 y(sparse)26 b(searc)m(h)g(structure,)h(generally)g
(yielding)f(faster)h(searc)m(hes.)40 b(Con)m(v)m(ersely)-8
b(,)28 b(y)m(ou)f(can)f(direct)g Fr(gperf)150 1793 y
Fv(to)21 b(utilize)h(a)f(C)f Fr(switch)f Fv(statemen)m(t)k(sc)m(heme)e
(that)g(minimizes)g(data)g(space)g(storage)h(size.)39
b(F)-8 b(urthermore,)150 1902 y(using)40 b(a)g(C)g Fr(switch)e
Fv(ma)m(y)i(actually)i(sp)s(eed)d(up)g(the)h(k)m(eyw)m(ord)h(retriev)-5
b(al)41 b(time)g(somewhat.)70 b(Actual)150 2012 y(results)30
b(dep)s(end)f(on)h(y)m(our)g(C)g(compiler,)i(of)e(course.)275
2154 y(In)44 b(general,)50 b Fr(gperf)44 b Fv(assigns)h(v)-5
b(alues)46 b(to)g(the)f(b)m(ytes)h(it)g(is)f(using)g(for)g(hashing)f
(un)m(til)i(some)f(set)150 2263 y(of)d(v)-5 b(alues)43
b(giv)m(es)g(eac)m(h)h(k)m(eyw)m(ord)e(a)h(unique)e(v)-5
b(alue.)77 b(A)42 b(helpful)f(heuristic)i(is)f(that)h(the)f(larger)h
(the)150 2373 y(hash)36 b(v)-5 b(alue)37 b(range,)i(the)e(easier)h(it)f
(is)g(for)f Fr(gperf)f Fv(to)j(\014nd)d(and)h(generate)i(a)f(p)s
(erfect)g(hash)f(function.)150 2482 y(Exp)s(erimen)m(tation)31
b(is)f(the)h(k)m(ey)g(to)g(getting)h(the)f(most)g(from)e
Fr(gperf)p Fv(.)150 2726 y Fu(3.1)68 b(Input)44 b(F)-11
b(ormat)46 b(to)f Fl(gperf)275 2885 y Fv(Y)-8 b(ou)38
b(can)g(con)m(trol)i(the)e(input)f(\014le)h(format)g(b)m(y)g(v)-5
b(arying)38 b(certain)g(command-line)h(argumen)m(ts,)h(in)150
2995 y(particular)f(the)g(`)p Fr(-t)p Fv(')g(option.)66
b(The)38 b(input's)g(app)s(earance)h(is)g(similar)g(to)g(GNU)h
(utilities)g Fr(flex)e Fv(and)150 3104 y Fr(bison)29
b Fv(\(or)i(UNIX)f(utilities)i Fr(lex)e Fv(and)f Fr(yacc)p
Fv(\).)40 b(Here's)31 b(an)g(outline)g(of)f(the)h(general)g(format:)390
3246 y Fr(declarations)390 3356 y(\045\045)390 3465 y(keywords)390
3575 y(\045\045)390 3684 y(functions)275 3826 y Fm(Unlike)41
b Fr(flex)35 b Fv(or)g Fr(bison)p Fv(,)h(the)g(declarations)g(section)h
(and)e(the)h(functions)f(section)i(are)f(optional.)150
3936 y(The)30 b(follo)m(wing)i(sections)f(describ)s(e)f(the)g(input)g
(format)h(for)f(eac)m(h)h(section.)275 4078 y(It)h(is)g(p)s(ossible)g
(to)h(omit)g(the)g(declaration)h(section)f(en)m(tirely)-8
b(,)35 b(if)d(the)h(`)p Fr(-t)p Fv(')f(option)h(is)f(not)h(giv)m(en.)48
b(In)150 4187 y(this)30 b(case)i(the)e(input)g(\014le)g(b)s(egins)g
(directly)h(with)f(the)h(\014rst)e(k)m(eyw)m(ord)i(line,)g(e.g.:)390
4329 y Fr(january)390 4439 y(february)390 4548 y(march)390
4658 y(april)390 4767 y(...)150 4974 y Fk(3.1.1)63 b(Declarations)275
5121 y Fv(The)33 b(k)m(eyw)m(ord)i(input)f(\014le)g(optionally)i(con)m
(tains)g(a)f(section)g(for)f(including)g(arbitrary)h(C)f(declara-)150
5230 y(tions)d(and)e(de\014nitions,)h Fr(gperf)f Fv(declarations)j
(that)f(act)g(lik)m(e)h(command-line)f(options,)g(as)f(w)m(ell)i(as)e
(for)150 5340 y(pro)m(viding)g(a)h(user-supplied)e Fr(struct)p
Fv(.)p eop end
%%Page: 16 18
TeXDict begin 16 17 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(16)150 299 y Fk(3.1.1.1)63 b(User-supplied)43 b
Fj(struct)275 446 y Fv(If)24 b(the)h(`)p Fr(-t)p Fv(')f(option)h(\(or,)
i(equiv)-5 b(alen)m(tly)d(,)28 b(the)d(`)p Fr(\045struct-type)p
Fv(')d(declaration\))k Fm(is)32 b Fv(enabled,)26 b(y)m(ou)f
Fm(must)150 555 y Fv(pro)m(vide)37 b(a)f(C)h Fr(struct)d
Fv(as)j(the)g(last)g(comp)s(onen)m(t)g(in)f(the)h(declaration)h
(section)f(from)f(the)h(input)f(\014le.)150 665 y(The)26
b(\014rst)f(\014eld)h(in)g(this)g(struct)g(m)m(ust)g(b)s(e)g(of)g(t)m
(yp)s(e)g Fr(char)j(*)d Fv(or)g Fr(const)j(char)h(*)25
b Fv(if)h(the)h(`)p Fr(-P)p Fv(')f(option)g(is)h(not)150
775 y(giv)m(en,)k(or)g(of)f(t)m(yp)s(e)g Fr(int)g Fv(if)g(the)g(option)
h(`)p Fr(-P)p Fv(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)32
b(the)f(`)p Fr(\045pic)p Fv(')e(declaration\))j(is)f(enabled.)150
884 y(This)k(\014rst)f(\014eld)h(m)m(ust)h(b)s(e)e(called)j(`)p
Fr(name)p Fv(',)f(although)g(it)g(is)g(p)s(ossible)f(to)h(mo)s(dify)e
(its)i(name)g(with)f(the)150 994 y(`)p Fr(-K)p Fv(')30
b(option)h(\(or,)g(equiv)-5 b(alen)m(tly)d(,)33 b(the)d(`)p
Fr(\045define)f(slot-name)p Fv(')f(declaration\))k(describ)s(ed)e(b)s
(elo)m(w.)275 1139 y(Here)g(is)h(a)g(simple)f(example,)h(using)f(mon)m
(ths)g(of)h(the)f(y)m(ear)i(and)d(their)i(attributes)g(as)f(input:)390
1284 y Fr(struct)46 b(month)g({)i(char)f(*name;)f(int)h(number;)e(int)i
(days;)g(int)g(leap_days;)e(};)390 1393 y(\045\045)390
1503 y(january,)141 b(1,)47 b(31,)g(31)390 1612 y(february,)93
b(2,)47 b(28,)g(29)390 1722 y(march,)237 b(3,)47 b(31,)g(31)390
1832 y(april,)237 b(4,)47 b(30,)g(30)390 1941 y(may,)333
b(5,)47 b(31,)g(31)390 2051 y(june,)285 b(6,)47 b(30,)g(30)390
2160 y(july,)285 b(7,)47 b(31,)g(31)390 2270 y(august,)189
b(8,)47 b(31,)g(31)390 2380 y(september,)e(9,)i(30,)g(30)390
2489 y(october,)93 b(10,)47 b(31,)g(31)390 2599 y(november,)e(11,)i
(30,)g(30)390 2708 y(december,)e(12,)i(31,)g(31)275 2853
y Fv(Separating)25 b(the)g Fr(struct)f Fv(declaration)i(from)f(the)g
(list)h(of)f(k)m(eyw)m(ords)h(and)e(other)h(\014elds)g(are)g(a)h(pair)f
(of)150 2963 y(consecutiv)m(e)33 b(p)s(ercen)m(t)f(signs,)f(`)p
Fr(\045\045)p Fv(',)h(app)s(earing)f(left)h(justi\014ed)e(in)h(the)h
(\014rst)e(column,)i(as)f(in)g(the)h(UNIX)150 3072 y(utilit)m(y)g
Fr(lex)p Fv(.)275 3217 y(If)k(the)i Fr(struct)d Fv(has)i(already)h(b)s
(een)f(declared)h(in)f(an)g(include)g(\014le,)i(it)f(can)g(b)s(e)e(men)
m(tioned)i(in)f(an)150 3327 y(abbreviated)31 b(form,)f(lik)m(e)i(this:)
390 3472 y Fr(struct)46 b(month;)390 3581 y(\045\045)390
3691 y(january,)141 b(1,)47 b(31,)g(31)390 3801 y(...)150
4010 y Fk(3.1.1.2)63 b(Gp)s(erf)43 b(Declarations)275
4157 y Fv(The)31 b(declaration)j(section)g(can)e(con)m(tain)i
Fr(gperf)c Fv(declarations.)48 b(They)32 b(in\015uence)g(the)g(w)m(a)m
(y)h Fr(gperf)150 4267 y Fv(w)m(orks,)43 b(lik)m(e)f(command)f(line)g
(options)g(do.)72 b(In)40 b(fact,)k(ev)m(ery)e(suc)m(h)e(declaration)i
(is)f(equiv)-5 b(alen)m(t)42 b(to)g(a)150 4376 y(command)30
b(line)h(option.)41 b(There)30 b(are)h(three)f(forms)g(of)h
(declarations:)199 4521 y(1.)61 b(Declarations)33 b(without)d(argumen)m
(t,)h(lik)m(e)h(`)p Fr(\045compare-lengths)p Fv('.)199
4661 y(2.)61 b(Declarations)33 b(with)d(an)g(argumen)m(t,)h(lik)m(e)h
(`)p Fr(\045switch=)p Fi(count)11 b Fv('.)199 4801 y(3.)61
b(Declarations)114 b(of)e(names)g(of)g(en)m(tities)i(in)d(the)h(output)
g(\014le,)132 b(lik)m(e)114 b(`)p Fr(\045define)330 4910
y(lookup-function-name)25 b Fi(name)11 b Fv('.)275 5085
y(When)35 b(a)h(declaration)h(is)f(giv)m(en)g(b)s(oth)f(in)h(the)f
(input)g(\014le)h(and)f(as)h(a)g(command)f(line)h(option,)i(the)150
5195 y(command-line)31 b(option's)g(v)-5 b(alue)31 b(prev)-5
b(ails.)275 5340 y(The)29 b(follo)m(wing)j Fr(gperf)d
Fv(declarations)j(are)f(a)m(v)-5 b(ailable.)p eop end
%%Page: 17 19
TeXDict begin 17 18 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(17)150 299 y(`)p Fr(\045delimiters=)p Fi(delimiter-lis)o(t)11
b Fv(')630 408 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g
(con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m(ords)630
518 y(from)k(their)h(attributes.)54 b(The)34 b(default)g(is)h
Fr(")p Fv(,)p Fr(")p Fv(.)53 b(This)34 b(option)h(is)f(essen)m(tial)j
(if)d(y)m(ou)h(w)m(an)m(t)630 628 y(to)c(use)f(k)m(eyw)m(ords)h(that)g
(ha)m(v)m(e)g(em)m(b)s(edded)f(commas)h(or)f(newlines.)150
774 y(`)p Fr(\045struct-type)p Fv(')630 883 y(Allo)m(ws)i(y)m(ou)e(to)i
(include)e(a)h Fr(struct)d Fv(t)m(yp)s(e)j(declaration)h(for)e
(generated)i(co)s(de;)f(see)g(ab)s(o)m(v)m(e)630 993
y(for)f(an)g(example.)150 1139 y(`)p Fr(\045ignore-case)p
Fv(')630 1249 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g
(ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)83
b(The)44 b(string)630 1358 y(comparison)28 b(will)h(use)f(a)h(case)g
(insigni\014can)m(t)g(c)m(haracter)h(comparison.)40 b(Note)29
b(that)g(lo)s(cale)630 1468 y(dep)s(enden)m(t)g(case)j(mappings)d(are)i
(ignored.)150 1614 y(`)p Fr(\045language=)p Fi(language-name)10
b Fv(')630 1724 y(Instructs)33 b Fr(gperf)f Fv(to)i(generate)h(co)s(de)
f(in)f(the)h(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-)
630 1833 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m
(tly:)630 1979 y(`)p Fr(KR-C)p Fv(')238 b(Old-st)m(yle)27
b(K&R)f(C.)g(This)f(language)j(is)f(understo)s(o)s(d)d(b)m(y)i(old-st)m
(yle)i(C)e(com-)1110 2089 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but)
e(ANSI)f(C)h(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110
2198 y(ings)30 b(\(or)h(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m
(king)i(`)p Fr(const)p Fv('.)630 2345 y(`)p Fr(C)p Fv(')382
b(Common)23 b(C.)f(This)h(language)h(is)f(understo)s(o)s(d)e(b)m(y)i
(ANSI)g(C)f(compilers,)k(and)1110 2454 y(also)k(b)m(y)e(old-st)m(yle)i
(C)f(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fr(#define)f(const)f
Fv(to)1110 2564 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m
(w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 2710 y(`)p
Fr(ANSI-C)p Fv(')142 b(ANSI)32 b(C.)g(This)f(language)j(is)e(understo)s
(o)s(d)e(b)m(y)i(ANSI)g(C)f(\(C89,)j(ISO)d(C90\))1110
2819 y(compilers,)g(ISO)e(C99)i(compilers,)g(and)f(C)p
Fr(++)f Fv(compilers.)630 2966 y(`)p Fr(C++)p Fv(')286
b(C)p Fr(++)p Fv(.)40 b(This)29 b(language)j(is)f(understo)s(o)s(d)d(b)
m(y)i(C)p Fr(++)g Fv(compilers.)630 3112 y(The)g(default)g(is)h(C.)150
3258 y(`)p Fr(\045define)e(slot-name)e Fi(name)11 b Fv(')630
3367 y(This)65 b(declaration)j(is)e(only)g(useful)f(when)g(option)h(`)p
Fr(-t)p Fv(')g(\(or,)76 b(equiv)-5 b(alen)m(tly)d(,)77
b(the)630 3477 y(`)p Fr(\045struct-type)p Fv(')27 b(declaration\))32
b(has)e(b)s(een)g(giv)m(en.)41 b(By)31 b(default,)f(the)g(program)g
(assumes)630 3587 y(the)48 b(structure)g(comp)s(onen)m(t)h(iden)m
(ti\014er)f(for)g(the)g(k)m(eyw)m(ord)h(is)f(`)p Fr(name)p
Fv('.)94 b(This)47 b(option)630 3696 y(allo)m(ws)f(an)e(arbitrary)g(c)m
(hoice)i(of)f(iden)m(ti\014er)f(for)h(this)f(comp)s(onen)m(t,)k
(although)d(it)g(still)630 3806 y(m)m(ust)30 b(o)s(ccur)g(as)h(the)g
(\014rst)e(\014eld)h(in)g(y)m(our)h(supplied)e Fr(struct)p
Fv(.)150 3952 y(`)p Fr(\045define)g(initializer-suffix)c
Fi(initializers)11 b Fv(')630 4061 y(This)65 b(declaration)j(is)e(only)
g(useful)f(when)g(option)h(`)p Fr(-t)p Fv(')g(\(or,)76
b(equiv)-5 b(alen)m(tly)d(,)77 b(the)630 4171 y(`)p Fr(\045struct-type)
p Fv(')33 b(declaration\))38 b(has)d(b)s(een)g(giv)m(en.)58
b(It)36 b(p)s(ermits)f(to)i(sp)s(ecify)e(initializers)630
4281 y(for)44 b(the)g(structure)g(mem)m(b)s(ers)f(follo)m(wing)i
Fn(slot-name)51 b Fv(in)43 b(empt)m(y)i(hash)e(table)i(en)m(tries.)630
4390 y(The)d(list)g(of)h(initializers)g(should)e(start)i(with)f(a)g
(comma.)77 b(By)42 b(default,)k(the)c(emitted)630 4500
y(co)s(de)31 b(will)f(zero-initialize)k(structure)c(mem)m(b)s(ers)g
(follo)m(wing)i Fn(slot-name)p Fv(.)150 4646 y(`)p Fr(\045define)d
(hash-function-name)c Fi(name)11 b Fv(')630 4756 y(Allo)m(ws)31
b(y)m(ou)f(to)g(sp)s(ecify)g(the)g(name)g(for)f(the)h(generated)h(hash)
e(function.)40 b(Default)31 b(name)630 4865 y(is)f(`)p
Fr(hash)p Fv('.)40 b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h
(t)m(w)m(o)g(hash)f(tables)h(in)f(the)h(same)g(\014le.)150
5011 y(`)p Fr(\045define)e(lookup-function-name)24 b
Fi(name)11 b Fv(')630 5121 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e
(the)i(name)f(for)f(the)h(generated)h(lo)s(okup)f(function.)75
b(Default)630 5230 y(name)28 b(is)g(`)p Fr(in_word_set)p
Fv('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f
(hash)f(functions)630 5340 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g
(application.)p eop end
%%Page: 18 20
TeXDict begin 18 19 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(18)150 299 y(`)p Fr(\045define)29 b(class-name)e
Fi(name)11 b Fv(')630 408 y(This)66 b(option)i(is)f(only)h(useful)e
(when)h(option)g(`)p Fr(-L)30 b(C++)p Fv(')67 b(\(or,)77
b(equiv)-5 b(alen)m(tly)d(,)79 b(the)630 518 y(`)p Fr(\045language=C++)
p Fv(')43 b(declaration\))k(has)f(b)s(een)f(giv)m(en.)88
b(It)46 b(allo)m(ws)h(y)m(ou)f(to)g(sp)s(ecify)g(the)630
628 y(name)30 b(of)h(generated)g(C)p Fr(++)f Fv(class.)41
b(Default)32 b(name)e(is)h Fr(Perfect_Hash)p Fv(.)150
792 y(`)p Fr(\0457bit)p Fv(')190 b(This)36 b(option)i(sp)s(eci\014es)f
(that)g(all)h(strings)f(that)h(will)f(b)s(e)g(passed)f(as)i(argumen)m
(ts)f(to)h(the)630 902 y(generated)e(hash)e(function)g(and)h(the)g
(generated)g(lo)s(okup)g(function)f(will)h(solely)h(consist)630
1011 y(of)d(7-bit)h(ASCI)s(I)e(c)m(haracters)j(\(b)m(ytes)f(in)f(the)g
(range)h(0..127\).)51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630
1121 y(functions)f Fr(isalnum)f Fv(and)i Fr(isgraph)e
Fv(do)i Fm(not)41 b Fv(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f
(this)h(range.)630 1230 y(Only)e(an)g(explicit)i(test)f(lik)m(e)h(`)p
Fr(c)e(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fv(')f(guaran)m(tees)j(this.\))
150 1395 y(`)p Fr(\045compare-lengths)p Fv(')630 1504
y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h
(string)e(comparison.)70 b(This)39 b(option)h(is)630
1614 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h
(3.3)f([Binary)g(Strings],)g(page)g(22\).)630 1724 y(It)g(also)h(migh)m
(t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g
(comparisons)g(made)g(during)f(the)630 1833 y(lo)s(okup,)i(since)g(k)m
(eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h
(compared)f(via)h Fr(strcmp)p Fv(.)630 1943 y(Ho)m(w)m(ev)m(er,)d
(using)d(`)p Fr(\045compare-lengths)p Fv(')c(migh)m(t)29
b(greatly)h(increase)f(the)g(size)g(of)g(the)f(gen-)630
2052 y(erated)j(C)f(co)s(de)h(if)f(the)h(lo)s(okup)f(table)i(range)e
(is)h(large)g(\(whic)m(h)g(implies)g(that)g(the)f(switc)m(h)630
2162 y(option)24 b(`)p Fr(-S)p Fv(')g(or)g(`)p Fr(\045switch)p
Fv(')f(is)h(not)g(enabled\),)i(since)e(the)g(length)h(table)f(con)m
(tains)i(as)e(man)m(y)630 2271 y(elemen)m(ts)32 b(as)e(there)h(are)g
(en)m(tries)g(in)f(the)g(lo)s(okup)g(table.)150 2436
y(`)p Fr(\045compare-strncmp)p Fv(')630 2545 y(Generates)22
b(C)f(co)s(de)g(that)h(uses)e(the)i Fr(strncmp)d Fv(function)h(to)i(p)s
(erform)e(string)h(comparisons.)630 2655 y(The)30 b(default)g(action)i
(is)f(to)g(use)f Fr(strcmp)p Fv(.)150 2819 y(`)p Fr
(\045readonly-tables)p Fv(')630 2929 y(Mak)m(es)41 b(the)f(con)m(ten)m
(ts)h(of)f(all)h(generated)f(lo)s(okup)f(tables)i(constan)m(t,)i(i.e.,)
h(\\readonly".)630 3039 y(Man)m(y)31 b(compilers)g(can)g(generate)h
(more)e(e\016cien)m(t)i(co)s(de)f(for)f(this)h(b)m(y)f(putting)g(the)h
(tables)630 3148 y(in)f(readonly)h(memory)-8 b(.)150
3313 y(`)p Fr(\045enum)p Fv(')190 b(De\014ne)31 b(constan)m(t)g(v)-5
b(alues)31 b(using)f(an)g(en)m(um)g(lo)s(cal)i(to)f(the)g(lo)s(okup)f
(function)g(rather)g(than)630 3422 y(with)37 b(#de\014nes.)60
b(This)36 b(also)i(means)g(that)f(di\013eren)m(t)h(lo)s(okup)f
(functions)g(can)g(reside)g(in)630 3532 y(the)31 b(same)f(\014le.)41
b(Thanks)29 b(to)j(James)e(Clark)g Fr(<jjc@ai.mit.edu>)p
Fv(.)150 3696 y(`)p Fr(\045includes)p Fv(')630 3806 y(Include)g(the)h
(necessary)h(system)f(include)g(\014le,)g Fr(<string.h>)p
Fv(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630 3915 y(co)s(de.)39
b(By)27 b(default,)g(this)f(is)g(not)g(done;)i(the)e(user)f(m)m(ust)h
(include)g(this)f(header)h(\014le)g(himself)630 4025
y(to)31 b(allo)m(w)h(compilation)g(of)e(the)h(co)s(de.)150
4189 y(`)p Fr(\045global-table)p Fv(')630 4299 y(Generate)38
b(the)f(static)h(table)f(of)g(k)m(eyw)m(ords)g(as)g(a)g(static)h
(global)g(v)-5 b(ariable,)39 b(rather)d(than)630 4408
y(hiding)30 b(it)h(inside)f(of)g(the)h(lo)s(okup)f(function)g(\(whic)m
(h)g(is)h(the)f(default)h(b)s(eha)m(vior\).)150 4573
y(`)p Fr(\045pic)p Fv(')238 b(Optimize)42 b(the)f(generated)h(table)g
(for)f(inclusion)g(in)g(shared)f(libraries.)73 b(This)40
b(reduces)630 4682 y(the)35 b(startup)g(time)h(of)f(programs)g(using)g
(a)h(shared)e(library)h(con)m(taining)i(the)e(generated)630
4792 y(co)s(de.)j(If)21 b(the)h(`)p Fr(\045struct-type)p
Fv(')d(declaration)24 b(\(or,)g(equiv)-5 b(alen)m(tly)d(,)26
b(the)c(option)g(`)p Fr(-t)p Fv('\))g(is)g(also)630 4902
y(giv)m(en,)32 b(the)f(\014rst)e(\014eld)i(of)f(the)h(user-de\014ned)e
(struct)i(m)m(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fr(int)p
Fv(',)f(not)h(`)p Fr(char)630 5011 y(*)p Fv(',)h(b)s(ecause)f(it)i
(will)e(con)m(tain)i(o\013sets)g(in)m(to)f(the)g(string)f(p)s(o)s(ol)h
(instead)f(of)h(actual)h(strings.)630 5121 y(T)-8 b(o)33
b(con)m(v)m(ert)h(suc)m(h)f(an)f(o\013set)i(to)f(a)g(string,)h(y)m(ou)f
(can)g(use)f(the)h(expression)f(`)p Fr(stringpool)630
5230 y(+)e Fi(o)11 b Fv(',)33 b(where)f Fn(o)37 b Fv(is)c(the)g
(o\013set.)48 b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s(e)f(c)m
(hanged)h(through)f(the)630 5340 y(`)p Fr(\045define)d
(string-pool-name)p Fv(')d(declaration.)p eop end
%%Page: 19 21
TeXDict begin 19 20 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(19)150 299 y(`)p Fr(\045define)29 b(string-pool-name)d
Fi(name)11 b Fv(')630 408 y(Allo)m(ws)42 b(y)m(ou)f(to)h(sp)s(ecify)f
(the)g(name)g(of)g(the)g(generated)h(string)f(p)s(o)s(ol)g(created)h(b)
m(y)f(the)630 518 y(declaration)48 b(`)p Fr(\045pic)p
Fv(')e(\(or,)51 b(equiv)-5 b(alen)m(tly)d(,)53 b(the)47
b(option)f(`)p Fr(-P)p Fv('\).)90 b(The)46 b(default)g(name)h(is)630
628 y(`)p Fr(stringpool)p Fv('.)38 b(This)29 b(declaration)i(p)s
(ermits)e(the)h(use)g(of)g(t)m(w)m(o)h(hash)e(tables)h(in)g(the)g(same)
630 737 y(\014le,)39 b(with)d(`)p Fr(\045pic)p Fv(')g(and)g(ev)m(en)h
(when)f(the)h(`)p Fr(\045global-table)p Fv(')c(declaration)38
b(\(or,)h(equiv)-5 b(a-)630 847 y(len)m(tly)d(,)32 b(the)f(option)g(`)p
Fr(-G)p Fv('\))f(is)h(giv)m(en.)150 1108 y(`)p Fr(\045null-strings)p
Fv(')630 1218 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i
(strings)e(for)h(empt)m(y)g(k)m(eyw)m(ord)g(table)h(en)m(tries.)630
1327 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f
(a)h(shared)f(library)g(con)m(taining)630 1437 y(the)29
b(generated)g(co)s(de)g(\(but)f(not)g(as)h(m)m(uc)m(h)g(as)f(the)h
(declaration)h(`)p Fr(\045pic)p Fv('\),)f(at)g(the)f(exp)s(ense)630
1546 y(of)j(one)f(more)h(test-and-branc)m(h)g(instruction)f(at)h(run)e
(time.)150 1807 y(`)p Fr(\045define)g(word-array-name)d
Fi(name)11 b Fv(')630 1917 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f
(the)g(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)i(the)e
(hash)630 2027 y(table.)106 b(Default)53 b(name)e(is)h(`)p
Fr(wordlist)p Fv('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g
(of)g(t)m(w)m(o)630 2136 y(hash)37 b(tables)h(in)g(the)g(same)g
(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fr(-G)p
Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630
2246 y(`)p Fr(\045global-table)p Fv(')27 b(declaration\))33
b(is)d(giv)m(en.)150 2507 y(`)p Fr(\045define)f(length-table-name)c
Fi(name)11 b Fv(')630 2616 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e
(the)h(name)f(for)g(the)h(generated)h(arra)m(y)f(con)m(taining)h(the)f
(length)630 2726 y(table.)77 b(Default)43 b(name)g(is)f(`)p
Fr(lengthtable)p Fv('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g
(of)h(t)m(w)m(o)630 2836 y(length)33 b(tables)h(in)f(the)g(same)g
(\014le,)h(ev)m(en)g(when)e(the)h(option)h(`)p Fr(-G)p
Fv(')f(\(or,)h(equiv)-5 b(alen)m(tly)d(,)36 b(the)630
2945 y(`)p Fr(\045global-table)p Fv(')27 b(declaration\))33
b(is)d(giv)m(en.)150 3206 y(`)p Fr(\045switch=)p Fi(count)11
b Fv(')630 3316 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)
e(a)h Fr(switch)e Fv(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
3425 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37
b(can)h(lead)h(to)f(a)h(reduction)f(in)f(b)s(oth)g(time)i(and)e(space)
630 3535 y(requiremen)m(ts)43 b(for)h(some)f(input)g(\014les.)80
b(The)43 b(argumen)m(t)h(to)g(this)f(option)h(determines)630
3645 y(ho)m(w)33 b(man)m(y)f Fr(switch)f Fv(statemen)m(ts)k(are)e
(generated.)49 b(A)32 b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f
Fr(switch)630 3754 y Fv(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i
(a)d(v)-5 b(alue)23 b(of)h(2)f(generates)h(2)g(tables)f(with)g(1/2)h
(the)g(elemen)m(ts)630 3864 y(in)38 b(eac)m(h)h Fr(switch)p
Fv(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e
(compilers)i(cannot)g(correctly)630 3973 y(generate)29
b(co)s(de)f(for)f(large)h Fr(switch)e Fv(statemen)m(ts.)41
b(This)27 b(option)h(w)m(as)g(inspired)e(in)h(part)g(b)m(y)630
4083 y(Keith)k(Bostic's)h(original)f(C)f(program.)150
4344 y(`)p Fr(\045omit-struct-type)p Fv(')630 4454 y(Prev)m(en)m(ts)f
(the)e(transfer)h(of)f(the)h(t)m(yp)s(e)g(declaration)h(to)g(the)f
(output)f(\014le.)40 b(Use)28 b(this)f(option)630 4563
y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g(de\014ned)e(elsewhere.)150
4864 y Fk(3.1.1.3)63 b(C)41 b(Co)s(de)g(Inclusion)275
5011 y Fv(Using)26 b(a)g(syn)m(tax)h(similar)f(to)h(GNU)f(utilities)i
Fr(flex)d Fv(and)g Fr(bison)p Fv(,)h(it)g(is)g(p)s(ossible)g(to)g
(directly)h(include)150 5121 y(C)i(source)h(text)g(and)f(commen)m(ts)h
(v)m(erbatim)g(in)m(to)h(the)e(generated)i(output)e(\014le.)40
b(This)29 b(is)g(accomplished)150 5230 y(b)m(y)37 b(enclosing)h(the)g
(region)g(inside)e(left-justi\014ed)i(surrounding)d(`)p
Fr(\045{)p Fv(',)k(`)p Fr(\045})p Fv(')e(pairs.)61 b(Here)38
b(is)f(an)g(input)150 5340 y(fragmen)m(t)31 b(based)f(on)g(the)h
(previous)f(example)h(that)g(illustrates)g(this)g(feature:)p
eop end
%%Page: 20 22
TeXDict begin 20 21 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(20)390 299 y Fr(\045{)390 408 y(#include)46 b(<assert.h>)390
518 y(/*)h(This)g(section)f(of)h(code)f(is)i(inserted)d(directly)h
(into)g(the)h(output.)f(*/)390 628 y(int)h(return_month_days)c
(\(struct)j(month)g(*months,)g(int)h(is_leap_year\);)390
737 y(\045})390 847 y(struct)f(month)g({)i(char)f(*name;)f(int)h
(number;)e(int)i(days;)g(int)g(leap_days;)e(};)390 956
y(\045\045)390 1066 y(january,)141 b(1,)47 b(31,)g(31)390
1176 y(february,)93 b(2,)47 b(28,)g(29)390 1285 y(march,)237
b(3,)47 b(31,)g(31)390 1395 y(...)150 1636 y Fk(3.1.2)63
b(F)-10 b(ormat)41 b(for)h(Keyw)m(ord)e(En)m(tries)275
1783 y Fv(The)33 b(second)i(input)e(\014le)i(format)g(section)g(con)m
(tains)h(lines)e(of)h(k)m(eyw)m(ords)g(and)e(an)m(y)i(asso)s(ciated)h
(at-)150 1893 y(tributes)i(y)m(ou)h(migh)m(t)g(supply)-8
b(.)64 b(A)39 b(line)f(b)s(eginning)g(with)g(`)p Fr(#)p
Fv(')h(in)f(the)h(\014rst)f(column)g(is)g(considered)h(a)150
2002 y(commen)m(t.)53 b(Ev)m(erything)34 b(follo)m(wing)h(the)g(`)p
Fr(#)p Fv(')f(is)g(ignored,)h(up)e(to)i(and)e(including)h(the)g(follo)m
(wing)h(new-)150 2112 y(line.)57 b(A)36 b(line)h(b)s(eginning)e(with)g
(`)p Fr(\045)p Fv(')h(in)g(the)g(\014rst)f(column)g(is)h(an)g(option)g
(declaration)i(and)d(m)m(ust)h(not)150 2222 y(o)s(ccur)30
b(within)g(the)h(k)m(eyw)m(ords)f(section.)275 2399 y(The)36
b(\014rst)g(\014eld)g(of)h(eac)m(h)g(non-commen)m(t)h(line)f(is)g(alw)m
(a)m(ys)h(the)f(k)m(eyw)m(ord)g(itself.)60 b(It)37 b(can)g(b)s(e)f(giv)
m(en)150 2508 y(in)f(t)m(w)m(o)h(w)m(a)m(ys:)51 b(as)35
b(a)g(simple)g(name,)i(i.e.,)g(without)e(surrounding)e(string)i
(quotation)h(marks,)g(or)f(as)h(a)150 2618 y(string)i(enclosed)g(in)f
(double-quotes,)j(in)d(C)h(syn)m(tax,)i(p)s(ossibly)d(with)g(bac)m
(kslash)h(escap)s(es)g(lik)m(e)h Fr(\\")e Fv(or)150 2727
y Fr(\\234)23 b Fv(or)i Fr(\\xa8)p Fv(.)37 b(In)24 b(either)h(case,)i
(it)e(m)m(ust)f(start)h(righ)m(t)g(at)g(the)g(b)s(eginning)e(of)i(the)g
(line,)h(without)e(leading)150 2837 y(whitespace.)58
b(In)35 b(this)h(con)m(text,)j(a)e(\\\014eld")f(is)g(considered)g(to)g
(extend)g(up)f(to,)j(but)d(not)h(include,)i(the)150 2946
y(\014rst)g(blank,)i(comma,)i(or)c(newline.)65 b(Here)39
b(is)f(a)h(simple)g(example)g(tak)m(en)g(from)f(a)h(partial)h(list)f
(of)f(C)150 3056 y(reserv)m(ed)31 b(w)m(ords:)390 3233
y Fr(#)47 b(These)g(are)g(a)g(few)g(C)h(reserved)d(words,)h(see)h(the)g
(c.gperf)f(file)390 3342 y(#)h(for)g(a)h(complete)d(list)i(of)g(ANSI)g
(C)g(reserved)f(words.)390 3452 y(unsigned)390 3562 y(sizeof)390
3671 y(switch)390 3781 y(signed)390 3890 y(if)390 4000
y(default)390 4110 y(for)390 4219 y(while)390 4329 y(return)275
4506 y Fv(Note)38 b(that)f(unlik)m(e)g Fr(flex)f Fv(or)h
Fr(bison)e Fv(the)j(\014rst)e(`)p Fr(\045\045)p Fv(')g(mark)m(er)i(ma)m
(y)f(b)s(e)f(elided)h(if)g(the)g(declaration)150 4615
y(section)32 b(is)e(empt)m(y)-8 b(.)275 4792 y(Additional)29
b(\014elds)f(ma)m(y)h(optionally)h(follo)m(w)g(the)f(leading)g(k)m(eyw)
m(ord.)41 b(Fields)29 b(should)e(b)s(e)h(separated)150
4902 y(b)m(y)g(commas,)i(and)d(terminate)j(at)f(the)f(end)g(of)g(line.)
41 b(What)29 b(these)f(\014elds)g(mean)g(is)h(en)m(tirely)g(up)e(to)i
(y)m(ou;)150 5011 y(they)k(are)h(used)e(to)i(initialize)h(the)f(elemen)
m(ts)g(of)f(the)h(user-de\014ned)d Fr(struct)h Fv(pro)m(vided)g(b)m(y)h
(y)m(ou)h(in)f(the)150 5121 y(declaration)40 b(section.)67
b(If)39 b(the)g(`)p Fr(-t)p Fv(')f(option)h(\(or,)j(equiv)-5
b(alen)m(tly)d(,)43 b(the)c(`)p Fr(\045struct-type)p
Fv(')d(declaration\))150 5230 y(is)g Fm(not)45 b Fv(enabled)36
b(these)g(\014elds)g(are)g(simply)f(ignored.)58 b(All)36
b(previous)g(examples)g(except)h(the)f(last)h(one)150
5340 y(con)m(tain)32 b(k)m(eyw)m(ord)f(attributes.)p
eop end
%%Page: 21 23
TeXDict begin 21 22 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(21)150 299 y Fk(3.1.3)63 b(Including)41 b(Additional)g(C)g(F)-10
b(unctions)275 446 y Fv(The)30 b(optional)i(third)e(section)i(also)g
(corresp)s(onds)d(closely)j(with)f(con)m(v)m(en)m(tions)i(found)c(in)i
Fr(flex)f Fv(and)150 555 y Fr(bison)p Fv(.)36 b(All)23
b(text)g(in)f(this)f(section,)k(starting)e(at)g(the)f(\014nal)f(`)p
Fr(\045\045)p Fv(')h(and)f(extending)i(to)f(the)g(end)g(of)g(the)g
(input)150 665 y(\014le,)31 b(is)g(included)g(v)m(erbatim)g(in)m(to)h
(the)f(generated)h(output)f(\014le.)42 b(Naturally)-8
b(,)33 b(it)e(is)g(y)m(our)g(resp)s(onsibilit)m(y)150
775 y(to)g(ensure)f(that)h(the)f(co)s(de)h(con)m(tained)g(in)g(this)f
(section)h(is)g(v)-5 b(alid)30 b(C.)150 982 y Fk(3.1.4)63
b(Where)41 b(to)g(place)f(directiv)m(es)g(for)i(GNU)g
Fj(indent)p Fk(.)275 1129 y Fv(If)26 b(y)m(ou)i(w)m(an)m(t)g(to)g(in)m
(v)m(ok)m(e)h(GNU)f Fr(indent)e Fv(on)h(a)g Fr(gperf)f
Fv(input)h(\014le,)h(y)m(ou)f(will)h(see)g(that)g(GNU)g
Fr(indent)150 1239 y Fv(do)s(esn't)33 b(understand)e(the)i(`)p
Fr(\045\045)p Fv(',)h(`)p Fr(\045{)p Fv(')e(and)h(`)p
Fr(\045})p Fv(')g(directiv)m(es)h(that)f(con)m(trol)i
Fr(gperf)p Fv('s)c(in)m(terpretation)k(of)150 1348 y(the)23
b(input)f(\014le.)38 b(Therefore)23 b(y)m(ou)g(ha)m(v)m(e)h(to)g
(insert)f(some)g(directiv)m(es)h(for)f(GNU)h Fr(indent)p
Fv(.)36 b(More)24 b(precisely)-8 b(,)150 1458 y(assuming)30
b(the)h(most)f(general)i(input)d(\014le)i(structure)390
1600 y Fr(declarations)44 b(part)j(1)390 1710 y(\045{)390
1820 y(verbatim)f(code)390 1929 y(\045})390 2039 y(declarations)e(part)
j(2)390 2148 y(\045\045)390 2258 y(keywords)390 2368
y(\045\045)390 2477 y(functions)150 2620 y Fv(y)m(ou)31
b(w)m(ould)f(insert)g(`)p Fr(*INDENT-OFF*)p Fv(')e(and)h(`)p
Fr(*INDENT-ON*)p Fv(')f(commen)m(ts)k(as)e(follo)m(ws:)390
2763 y Fr(/*)47 b(*INDENT-OFF*)e(*/)390 2872 y(declarations)f(part)j(1)
390 2982 y(\045{)390 3091 y(/*)g(*INDENT-ON*)e(*/)390
3201 y(verbatim)h(code)390 3310 y(/*)h(*INDENT-OFF*)e(*/)390
3420 y(\045})390 3530 y(declarations)f(part)j(2)390 3639
y(\045\045)390 3749 y(keywords)390 3858 y(\045\045)390
3968 y(/*)g(*INDENT-ON*)e(*/)390 4078 y(functions)150
4322 y Fu(3.2)68 b(Output)45 b(F)-11 b(ormat)45 b(for)g(Generated)h(C)f
(Co)t(de)g(with)g Fl(gperf)275 4482 y Fv(Sev)m(eral)28
b(options)g(con)m(trol)h(ho)m(w)e(the)h(generated)h(C)e(co)s(de)h(app)s
(ears)e(on)i(the)g(standard)e(output.)40 b(Tw)m(o)150
4591 y(C)i(functions)g(are)h(generated.)77 b(They)42
b(are)h(called)g Fr(hash)f Fv(and)f Fr(in_word_set)p
Fv(,)i(although)g(y)m(ou)f(ma)m(y)150 4701 y(mo)s(dify)30
b(their)g(names)h(with)f(a)h(command-line)g(option.)42
b(Both)31 b(functions)f(require)g(t)m(w)m(o)i(argumen)m(ts,)g(a)150
4811 y(string,)h Fr(char)c(*)i Fn(str)p Fv(,)i(and)e(a)i(length)f
(parameter,)h Fr(int)e Fn(len)p Fv(.)46 b(Their)31 b(default)h
(function)g(protot)m(yp)s(es)h(are)150 4920 y(as)e(follo)m(ws:)3350
5121 y([F)-8 b(unction])-3599 b Fh(unsigned)55 b(int)e(hash)47
b Fg(\()p Fn(const)31 b(c)m(har)g(*)f Ff(str)p Fn(,)i(unsigned)d(in)m
(t)i Ff(len)12 b Fg(\))390 5230 y Fv(By)35 b(default,)h(the)e
(generated)i Fr(hash)d Fv(function)h(returns)f(an)i(in)m(teger)h(v)-5
b(alue)34 b(created)i(b)m(y)e(adding)390 5340 y Fn(len)28
b Fv(to)g(sev)m(eral)h(user-sp)s(eci\014ed)d Fn(str)34
b Fv(b)m(yte)28 b(p)s(ositions)g(indexed)f(in)m(to)h(an)f
Fn(asso)s(ciated)i(v)-5 b(alues)32 b Fv(table)p eop end
%%Page: 22 24
TeXDict begin 22 23 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(22)390 299 y(stored)28 b(in)g(a)g(lo)s(cal)i(static)f(arra)m(y)-8
b(.)41 b(The)28 b(asso)s(ciated)h(v)-5 b(alues)29 b(table)g(is)f
(constructed)g(in)m(ternally)h(b)m(y)390 408 y Fr(gperf)34
b Fv(and)g(later)i(output)e(as)i(a)f(static)i(lo)s(cal)f(C)e(arra)m(y)i
(called)g(`)p Fr(hash_table)p Fv('.)52 b(The)35 b(relev)-5
b(an)m(t)390 518 y(selected)28 b(p)s(ositions)f(\(i.e.)41
b(indices)27 b(in)m(to)h Fn(str)7 b Fv(\))26 b(are)h(sp)s(eci\014ed)f
(via)i(the)f(`)p Fr(-k)p Fv(')g(option)g(when)f(running)390
628 y Fr(gperf)p Fv(,)j(as)i(detailed)g(in)f(the)h Fm(Options)39
b Fv(section)31 b(b)s(elo)m(w)g(\(see)g(Chapter)f(4)h([Options],)f
(page)h(24\).)3350 830 y([F)-8 b(unction])-3599 b Fh(in_word_set)49
b Fg(\()p Fn(const)31 b(c)m(har)g(*)g Ff(str)p Fn(,)g(unsigned)e(in)m
(t)i Ff(len)12 b Fg(\))390 939 y Fv(If)33 b Fn(str)41
b Fv(is)33 b(in)h(the)g(k)m(eyw)m(ord)g(set,)i(returns)c(a)j(p)s(oin)m
(ter)f(to)g(that)h(k)m(eyw)m(ord.)51 b(More)35 b(exactly)-8
b(,)37 b(if)d(the)390 1049 y(option)d(`)p Fr(-t)p Fv(')g(\(or,)g(equiv)
-5 b(alen)m(tly)d(,)33 b(the)e(`)p Fr(\045struct-type)p
Fv(')d(declaration\))k(w)m(as)f(giv)m(en,)h(it)f(returns)f(a)390
1159 y(p)s(oin)m(ter)g(to)h(the)g(matc)m(hing)h(k)m(eyw)m(ord's)e
(structure.)41 b(Otherwise)30 b(it)h(returns)e Fr(NULL)p
Fv(.)275 1361 y(If)39 b(the)i(option)f(`)p Fr(-c)p Fv(')g(\(or,)j
(equiv)-5 b(alen)m(tly)d(,)45 b(the)c(`)p Fr(\045compare-strncmp)p
Fv(')36 b(declaration\))42 b(is)e(not)g(used,)150 1470
y Fn(str)k Fv(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)h(string)f(of)h
(exactly)h(length)e Fn(len)p Fv(.)62 b(If)37 b(`)p Fr(-c)p
Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)150
1580 y(`)p Fr(\045compare-strncmp)p Fv(')22 b(declaration\))28
b(is)e(used,)g Fn(str)32 b Fv(m)m(ust)26 b(simply)g(b)s(e)f(an)h(arra)m
(y)g(of)g Fn(len)g Fv(b)m(ytes)h(and)e(do)s(es)150 1689
y(not)31 b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275
1833 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions)
e(is)g(a\013ected)i(b)m(y)f(the)f(follo)m(wing)i(options:)150
2006 y(`)p Fr(-t)p Fv(')150 2115 y(`)p Fr(--struct-type)p
Fv(')630 2225 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f
Fr(struct)p Fv(.)150 2393 y(`)p Fr(-S)h Fi(total-switch-statements)10
b Fv(')150 2503 y(`)p Fr(--switch=)p Fi(total-switch-sta)o(teme)o(nts)g
Fv(')630 2612 y(Generate)22 b(1)f(or)g(more)g(C)f Fr(switch)f
Fv(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)j(\(and)c(p)s(oten)m
(tially)630 2722 y(sparse\))j(static)h(arra)m(y)-8 b(.)40
b(Although)23 b(the)g(exact)h(time)g(and)e(space)i(sa)m(vings)g(of)f
(this)g(approac)m(h)630 2831 y(v)-5 b(ary)32 b(according)g(to)h(y)m
(our)e(C)g(compiler's)i(degree)f(of)g(optimization,)i(this)d(metho)s(d)
h(often)630 2941 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.)275
3114 y(If)c(the)h(`)p Fr(-t)p Fv(')g(and)f(`)p Fr(-S)p
Fv(')g(options)i(\(or,)f(equiv)-5 b(alen)m(tly)d(,)31
b(the)d(`)p Fr(\045struct-type)p Fv(')d(and)i(`)p Fr(\045switch)p
Fv(')g(declara-)150 3223 y(tions\))f(are)f(omitted,)i(the)e(default)g
(action)h(is)f(to)h(generate)g(a)g Fr(char)j(*)24 b Fv(arra)m(y)i(con)m
(taining)g(the)f(k)m(eyw)m(ords,)150 3333 y(together)32
b(with)e(additional)i(empt)m(y)f(strings)f(used)g(for)g(padding)g(the)g
(arra)m(y)-8 b(.)43 b(By)30 b(exp)s(erimen)m(ting)h(with)150
3442 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f
(timing)g(the)h(resulting)f(C)g(co)s(de,)h(y)m(ou)f(can)h(determine)150
3552 y(the)f(b)s(est)f(option)g(c)m(hoices)i(for)f(di\013eren)m(t)f(k)m
(eyw)m(ord)h(set)g(c)m(haracteristics.)150 3798 y Fu(3.3)68
b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3957 y Fv(By)30 b(default,)h(the)f
(co)s(de)g(generated)i(b)m(y)e Fr(gperf)e Fv(op)s(erates)j(on)f(zero)h
(terminated)g(strings,)f(the)g(usual)150 4067 y(represen)m(tation)41
b(of)e(strings)h(in)f(C.)h(This)e(means)i(that)g(the)g(k)m(eyw)m(ords)g
(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 4176 y(con)m(tain)d(NUL)
f(b)m(ytes,)i(and)e(the)g Fn(str)42 b Fv(argumen)m(t)36
b(passed)g(to)g Fr(hash)f Fv(or)h Fr(in_word_set)d Fv(m)m(ust)j(b)s(e)f
(NUL)150 4286 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f
Fn(len)p Fv(.)275 4429 y(If)k(option)i(`)p Fr(-c)p Fv(')f(\(or,)i
(equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fr(\045compare-strncmp)p
Fv(')c(declaration\))38 b(is)e(used,)h(then)f(the)150
4539 y Fn(str)e Fv(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e
(NUL)h(terminated.)41 b(The)27 b(co)s(de)h(generated)h(b)m(y)f
Fr(gperf)f Fv(will)h(only)150 4649 y(access)h(the)f(\014rst)g
Fn(len)p Fv(,)g(not)h Fn(len)p Fr(+)p Fn(1)p Fv(,)f(b)m(ytes)h
(starting)g(at)f Fn(str)p Fv(.)40 b(Ho)m(w)m(ev)m(er,)31
b(the)d(k)m(eyw)m(ords)g(in)g(the)g(input)f(\014le)150
4758 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275
4902 y(If)35 b(option)i(`)p Fr(-l)p Fv(')f(\(or,)i(equiv)-5
b(alen)m(tly)d(,)40 b(the)c(`)p Fr(\045compare-lengths)p
Fv(')c(declaration\))38 b(is)e(used,)h(then)f(the)150
5011 y(hash)c(table)i(p)s(erforms)d(binary)h(comparison.)47
b(The)33 b(k)m(eyw)m(ords)g(in)f(the)h(input)f(\014le)g(ma)m(y)i(con)m
(tain)g(NUL)150 5121 y(b)m(ytes,)46 b(written)41 b(in)h(string)g(syn)m
(tax)g(as)g Fr(\\000)f Fv(or)h Fr(\\x00)p Fv(,)i(and)d(the)h(co)s(de)g
(generated)h(b)m(y)f Fr(gperf)f Fv(will)150 5230 y(treat)i(NUL)e(lik)m
(e)i(an)m(y)f(other)g(b)m(yte.)75 b(Also,)45 b(in)c(this)g(case)i(the)f
(`)p Fr(-c)p Fv(')f(option)h(\(or,)j(equiv)-5 b(alen)m(tly)d(,)47
b(the)150 5340 y(`)p Fr(\045compare-strncmp)p Fv(')26
b(declaration\))33 b(is)d(ignored.)p eop end
%%Page: 23 25
TeXDict begin 23 24 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(High-Lev)m(el)32 b(Description)g(of)e(GNU)h Fr(gperf)1520
b Fv(23)150 299 y Fu(3.4)68 b(The)45 b(Cop)l(yrigh)l(t)h(of)f(the)g
(Output)275 458 y Fr(gperf)24 b Fv(is)i(under)f(GPL,)h(but)f(that)i(do)
s(es)e(not)h(cause)h(the)f(output)g(pro)s(duced)e(b)m(y)i
Fr(gperf)e Fv(to)j(b)s(e)e(under)150 568 y(GPL.)35 b(The)f(reason)g(is)
h(that)g(the)f(output)g(con)m(tains)i(only)f(small)g(pieces)g(of)f
(text)i(that)f(come)g(directly)150 677 y(from)f Fr(gperf)p
Fv('s)f(source)h(co)s(de)h({)g(only)f(ab)s(out)g(7)h(lines)f(long,)i
(to)s(o)g(small)e(for)g(b)s(eing)g(signi\014can)m(t)i({,)g(and)150
787 y(therefore)31 b(the)f(output)g(is)h(not)f(a)h(\\w)m(ork)g(based)f
(on)g Fr(gperf)p Fv(")g(\(in)g(the)h(sense)f(of)h(the)f(GPL)h(v)m
(ersion)f(3\).)275 922 y(On)i(the)h(other)h(hand,)f(the)g(output)g(pro)
s(duced)f(b)m(y)h Fr(gperf)e Fv(con)m(tains)k(essen)m(tially)g(all)f
(of)f(the)h(input)150 1031 y(\014le.)40 b(Therefore)26
b(the)h(output)g(is)g(a)g(\\deriv)-5 b(ativ)m(e)29 b(w)m(ork")e(of)g
(the)g(input)f(\(in)h(the)g(sense)g(of)g(U.S.)g(cop)m(yrigh)m(t)150
1141 y(la)m(w\);)42 b(and)37 b(its)h(cop)m(yrigh)m(t)g(status)g(dep)s
(ends)e(on)h(the)g(cop)m(yrigh)m(t)i(of)f(the)f(input.)61
b(F)-8 b(or)38 b(most)f(soft)m(w)m(are)150 1250 y(licenses,)28
b(the)e(result)g(is)g(that)h(the)f(the)g(output)f(is)h(under)f(the)h
(same)g(license,)i(with)e(the)g(same)h(cop)m(yrigh)m(t)150
1360 y(holder,)j(as)h(the)f(input)g(that)h(w)m(as)g(passed)e(to)j
Fr(gperf)p Fv(.)p eop end
%%Page: 24 26
TeXDict begin 24 25 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(24)150 299 y
Fs(4)80 b(In)l(v)l(oking)52 b Fo(gperf)275 586 y Fv(There)35
b(are)i Fm(many)46 b Fv(options)36 b(to)i Fr(gperf)p
Fv(.)57 b(They)36 b(w)m(ere)h(added)e(to)j(mak)m(e)f(the)g(program)f
(more)g(con-)150 695 y(v)m(enien)m(t)f(for)e(use)g(with)g(real)h
(applications.)50 b(\\On-line")34 b(help)f(is)g(readily)h(a)m(v)-5
b(ailable)36 b(via)e(the)f(`)p Fr(--help)p Fv(')150 805
y(option.)41 b(Here)31 b(is)f(the)h(complete)h(list)f(of)f(options.)150
1064 y Fu(4.1)68 b(Sp)t(ecifying)45 b(the)g(Lo)t(cation)h(of)f(the)g
(Output)g(File)150 1257 y Fv(`)p Fr(--output-file=)p
Fi(file)11 b Fv(')630 1367 y(Allo)m(ws)31 b(y)m(ou)g(to)g(sp)s(ecify)f
(the)h(name)f(of)h(the)f(\014le)h(to)g(whic)m(h)f(the)h(output)f(is)g
(written)g(to.)275 1553 y(The)f(results)i(are)f(written)h(to)g
(standard)e(output)h(if)h(no)f(output)g(\014le)g(is)h(sp)s(eci\014ed)f
(or)g(if)g(it)h(is)g(`)p Fr(-)p Fv('.)150 1811 y Fu(4.2)68
b(Options)45 b(that)h(a\013ect)g(In)l(terpretation)h(of)e(the)g(Input)g
(File)275 1971 y Fv(These)d(options)h(are)g(also)g(a)m(v)-5
b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le)g(\(see)i
(Section)f(3.1.1.2)150 2080 y([Gp)s(erf)30 b(Declarations],)j(page)e
(16\).)150 2266 y(`)p Fr(-e)f Fi(keyword-delimiter-list)11
b Fv(')150 2376 y(`)p Fr(--delimiters=)p Fi(keyword-deli)o(mite)o(r-li)
o(st)f Fv(')630 2485 y(Allo)m(ws)30 b(y)m(ou)f(to)g(pro)m(vide)g(a)g
(string)g(con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m
(ords)630 2595 y(from)k(their)h(attributes.)54 b(The)34
b(default)g(is)h Fr(")p Fv(,)p Fr(")p Fv(.)53 b(This)34
b(option)h(is)f(essen)m(tial)j(if)d(y)m(ou)h(w)m(an)m(t)630
2705 y(to)f(use)e(k)m(eyw)m(ords)h(that)h(ha)m(v)m(e)g(em)m(b)s(edded)e
(commas)h(or)g(newlines.)48 b(One)33 b(useful)f(tric)m(k)i(is)630
2814 y(to)d(use)f(-e'T)-8 b(AB',)33 b(where)c(T)-8 b(AB)31
b(is)g(the)f(literal)i(tab)f(c)m(haracter.)150 2991 y(`)p
Fr(-t)p Fv(')150 3101 y(`)p Fr(--struct-type)p Fv(')630
3210 y(Allo)m(ws)h(y)m(ou)g(to)g(include)f(a)g Fr(struct)f
Fv(t)m(yp)s(e)h(declaration)i(for)e(generated)h(co)s(de.)44
b(An)m(y)31 b(text)630 3320 y(b)s(efore)43 b(a)i(pair)e(of)h
(consecutiv)m(e)i(`)p Fr(\045\045)p Fv(')d(is)h(considered)g(part)f(of)
h(the)g(t)m(yp)s(e)g(declaration.)630 3430 y(Keyw)m(ords)39
b(and)g(additional)h(\014elds)f(ma)m(y)i(follo)m(w)f(this,)i(one)e
(group)f(of)h(\014elds)f(p)s(er)f(line.)630 3539 y(A)31
b(set)g(of)g(examples)g(for)f(generating)i(p)s(erfect)e(hash)g(tables)i
(and)e(functions)g(for)g(Ada,)h(C,)630 3649 y(C)p Fr(++)p
Fv(,)24 b(P)m(ascal,)j(Mo)s(dula)c(2,)j(Mo)s(dula)d(3)h(and)f(Ja)m(v)-5
b(aScript)24 b(reserv)m(ed)f(w)m(ords)g(are)h(distributed)630
3758 y(with)30 b(this)g(release.)150 3935 y(`)p Fr(--ignore-case)p
Fv(')630 4045 y(Consider)43 b(upp)s(er)f(and)i(lo)m(w)m(er)h(case)g
(ASCI)s(I)e(c)m(haracters)i(as)f(equiv)-5 b(alen)m(t.)83
b(The)44 b(string)630 4155 y(comparison)28 b(will)h(use)f(a)h(case)g
(insigni\014can)m(t)g(c)m(haracter)h(comparison.)40 b(Note)29
b(that)g(lo)s(cale)630 4264 y(dep)s(enden)m(t)e(case)i(mappings)f(are)g
(ignored.)40 b(This)28 b(option)g(is)h(therefore)f(not)h(suitable)f(if)
h(a)630 4374 y(prop)s(erly)k(in)m(ternationalized)k(or)d(lo)s(cale)i(a)
m(w)m(are)g(case)f(mapping)f(should)f(b)s(e)h(used.)52
b(\(F)-8 b(or)630 4483 y(example,)31 b(in)e(a)g(T)-8
b(urkish)29 b(lo)s(cale,)i(the)f(upp)s(er)d(case)k(equiv)-5
b(alen)m(t)30 b(of)g(the)g(lo)m(w)m(ercase)h(ASCI)s(I)630
4593 y(letter)42 b(`)p Fr(i)p Fv(')g(is)f(the)g(non-ASCI)s(I)e(c)m
(haracter)k(`)p Fr(capital)29 b(i)h(with)f(dot)g(above)p
Fv('.\))72 b(F)-8 b(or)42 b(this)630 4702 y(case,)d(it)d(is)g(b)s
(etter)h(to)f(apply)g(an)g(upp)s(ercase)f(or)h(lo)m(w)m(ercase)i(con)m
(v)m(ersion)g(on)e(the)g(string)630 4812 y(b)s(efore)30
b(passing)g(it)h(to)g(the)g Fr(gperf)e Fv(generated)i(function.)150
5071 y Fu(4.3)68 b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for)
f(the)g(Output)f(Co)t(de)275 5230 y Fv(These)e(options)h(are)g(also)g
(a)m(v)-5 b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le)
g(\(see)i(Section)f(3.1.1.2)150 5340 y([Gp)s(erf)30 b(Declarations],)j
(page)e(16\).)p eop end
%%Page: 25 27
TeXDict begin 25 26 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(25)150 299 y(`)p
Fr(-L)30 b Fi(generated-language-name)10 b Fv(')150 408
y(`)p Fr(--language=)p Fi(generated-lang)o(uage)o(-nam)o(e)g
Fv(')630 518 y(Instructs)33 b Fr(gperf)f Fv(to)i(generate)h(co)s(de)f
(in)f(the)h(language)h(sp)s(eci\014ed)d(b)m(y)i(the)g(option's)g(ar-)
630 628 y(gumen)m(t.)41 b(Languages)31 b(handled)f(are)h(curren)m(tly:)
630 804 y(`)p Fr(KR-C)p Fv(')238 b(Old-st)m(yle)27 b(K&R)f(C.)g(This)f
(language)j(is)f(understo)s(o)s(d)d(b)m(y)i(old-st)m(yle)i(C)e(com-)
1110 914 y(pilers)e(and)g(ANSI)f(C)h(compilers,)i(but)e(ANSI)f(C)h
(compilers)h(ma)m(y)f(\015ag)h(w)m(arn-)1110 1023 y(ings)30
b(\(or)h(ev)m(en)g(errors\))f(b)s(ecause)h(of)f(lac)m(king)i(`)p
Fr(const)p Fv('.)630 1200 y(`)p Fr(C)p Fv(')382 b(Common)23
b(C.)f(This)h(language)h(is)f(understo)s(o)s(d)e(b)m(y)i(ANSI)g(C)f
(compilers,)k(and)1110 1310 y(also)k(b)m(y)e(old-st)m(yle)i(C)f
(compilers,)g(pro)m(vided)f(that)i(y)m(ou)f Fr(#define)f(const)f
Fv(to)1110 1419 y(empt)m(y)k(for)f(compilers)h(whic)m(h)f(don't)g(kno)m
(w)h(ab)s(out)f(this)g(k)m(eyw)m(ord.)630 1596 y(`)p
Fr(ANSI-C)p Fv(')142 b(ANSI)39 b(C.)h(This)e(language)j(is)f(understo)s
(o)s(d)e(b)m(y)h(ANSI)g(C)h(compilers)g(and)1110 1705
y(C)p Fr(++)29 b Fv(compilers.)630 1882 y(`)p Fr(C++)p
Fv(')286 b(C)p Fr(++)p Fv(.)40 b(This)29 b(language)j(is)f(understo)s
(o)s(d)d(b)m(y)i(C)p Fr(++)g Fv(compilers.)630 2058 y(The)g(default)g
(is)h(C.)150 2235 y(`)p Fr(-a)p Fv(')334 b(This)33 b(option)h(is)f
(supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i
(of)f Fr(gperf)p Fv(.)49 b(It)630 2345 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 2521 y(`)p Fr(-g)p Fv(')334 b(This)33 b(option)h(is)f
(supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i
(of)f Fr(gperf)p Fv(.)49 b(It)630 2631 y(do)s(es)30 b(not)h(do)f(an)m
(ything.)150 2889 y Fu(4.4)68 b(Options)45 b(for)g(\014ne)g(tuning)g
(Details)i(in)e(the)g(Output)f(Co)t(de)275 3048 y Fv(Most)21
b(of)g(these)g(options)g(are)g(also)h(a)m(v)-5 b(ailable)23
b(as)e(declarations)h(in)f(the)g(input)e(\014le)i(\(see)h(Section)f
(3.1.1.2)150 3158 y([Gp)s(erf)30 b(Declarations],)j(page)e(16\).)150
3343 y(`)p Fr(-K)f Fi(slot-name)11 b Fv(')150 3453 y(`)p
Fr(--slot-name=)p Fi(slot-name)g Fv(')630 3562 y(This)21
b(option)h(is)g(only)f(useful)g(when)g(option)h(`)p Fr(-t)p
Fv(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 b(the)c(`)p
Fr(\045struct-type)p Fv(')630 3672 y(declaration\))41
b(has)e(b)s(een)f(giv)m(en.)67 b(By)39 b(default,)j(the)d(program)g
(assumes)f(the)h(structure)630 3781 y(comp)s(onen)m(t)28
b(iden)m(ti\014er)h(for)f(the)g(k)m(eyw)m(ord)g(is)h(`)p
Fr(name)p Fv('.)39 b(This)27 b(option)i(allo)m(ws)g(an)f(arbitrary)630
3891 y(c)m(hoice)33 b(of)f(iden)m(ti\014er)g(for)f(this)h(comp)s(onen)m
(t,)g(although)g(it)g(still)g(m)m(ust)g(o)s(ccur)f(as)h(the)g(\014rst)
630 4001 y(\014eld)e(in)g(y)m(our)g(supplied)f Fr(struct)p
Fv(.)150 4177 y(`)p Fr(-F)h Fi(initializers)11 b Fv(')150
4287 y(`)p Fr(--initializer-suffix=)p Fi(init)o(iali)o(zers)f
Fv(')630 4396 y(This)21 b(option)h(is)g(only)f(useful)g(when)g(option)h
(`)p Fr(-t)p Fv(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26
b(the)c(`)p Fr(\045struct-type)p Fv(')630 4506 y(declaration\))34
b(has)f(b)s(een)e(giv)m(en.)49 b(It)32 b(p)s(ermits)g(to)h(sp)s(ecify)f
(initializers)i(for)f(the)f(structure)630 4615 y(mem)m(b)s(ers)23
b(follo)m(wing)i Fn(slot-name)30 b Fv(in)23 b(empt)m(y)h(hash)f(table)h
(en)m(tries.)39 b(The)23 b(list)h(of)g(initializers)630
4725 y(should)37 b(start)i(with)g(a)f(comma.)66 b(By)39
b(default,)i(the)e(emitted)g(co)s(de)g(will)f(zero-initialize)630
4835 y(structure)30 b(mem)m(b)s(ers)f(follo)m(wing)j
Fn(slot-name)p Fv(.)150 5011 y(`)p Fr(-H)e Fi(hash-function-name)11
b Fv(')150 5121 y(`)p Fr(--hash-function-name=)p Fi(hash)o(-fun)o(ctio)
o(n-n)o(ame)f Fv(')630 5230 y(Allo)m(ws)31 b(y)m(ou)f(to)g(sp)s(ecify)g
(the)g(name)g(for)f(the)h(generated)h(hash)e(function.)40
b(Default)31 b(name)630 5340 y(is)f(`)p Fr(hash)p Fv('.)40
b(This)30 b(option)h(p)s(ermits)e(the)i(use)f(of)h(t)m(w)m(o)g(hash)f
(tables)h(in)f(the)h(same)g(\014le.)p eop end
%%Page: 26 28
TeXDict begin 26 27 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(26)150 299 y(`)p
Fr(-N)30 b Fi(lookup-function-name)11 b Fv(')150 408
y(`)p Fr(--lookup-function-name=)p Fi(lo)o(okup)o(-fun)o(cti)o(on-n)o
(ame)f Fv(')630 518 y(Allo)m(ws)43 b(y)m(ou)f(to)h(sp)s(ecify)e(the)i
(name)f(for)f(the)h(generated)h(lo)s(okup)f(function.)75
b(Default)630 628 y(name)28 b(is)g(`)p Fr(in_word_set)p
Fv('.)37 b(This)27 b(option)h(p)s(ermits)f(m)m(ultiple)i(generated)f
(hash)f(functions)630 737 y(to)k(b)s(e)f(used)f(in)h(the)h(same)g
(application.)150 938 y(`)p Fr(-Z)f Fi(class-name)11
b Fv(')150 1048 y(`)p Fr(--class-name=)p Fi(class-name)f
Fv(')630 1157 y(This)66 b(option)i(is)f(only)h(useful)e(when)h(option)g
(`)p Fr(-L)30 b(C++)p Fv(')67 b(\(or,)77 b(equiv)-5 b(alen)m(tly)d(,)79
b(the)630 1267 y(`)p Fr(\045language=C++)p Fv(')43 b(declaration\))k
(has)f(b)s(een)f(giv)m(en.)88 b(It)46 b(allo)m(ws)h(y)m(ou)f(to)g(sp)s
(ecify)g(the)630 1377 y(name)30 b(of)h(generated)g(C)p
Fr(++)f Fv(class.)41 b(Default)32 b(name)e(is)h Fr(Perfect_Hash)p
Fv(.)150 1577 y(`)p Fr(-7)p Fv(')150 1687 y(`)p Fr(--seven-bit)p
Fv(')630 1797 y(This)36 b(option)i(sp)s(eci\014es)f(that)g(all)h
(strings)f(that)h(will)f(b)s(e)g(passed)f(as)i(argumen)m(ts)f(to)h(the)
630 1906 y(generated)e(hash)e(function)g(and)h(the)g(generated)g(lo)s
(okup)g(function)f(will)h(solely)h(consist)630 2016 y(of)d(7-bit)h
(ASCI)s(I)e(c)m(haracters)j(\(b)m(ytes)f(in)f(the)g(range)h(0..127\).)
51 b(\(Note)35 b(that)f(the)g(ANSI)e(C)630 2125 y(functions)f
Fr(isalnum)f Fv(and)i Fr(isgraph)e Fv(do)i Fm(not)41
b Fv(guaran)m(tee)33 b(that)g(a)f(b)m(yte)h(is)f(in)f(this)h(range.)630
2235 y(Only)26 b(an)g(explicit)i(test)g(lik)m(e)f(`)p
Fr(c)k(>=)f('A')f(&&)h(c)g(<=)g('Z')p Fv(')25 b(guaran)m(tees)j
(this.\))40 b(This)26 b(w)m(as)h(the)630 2345 y(default)g(in)g(v)m
(ersions)g(of)g Fr(gperf)e Fv(earlier)j(than)e(2.7;)k(no)m(w)d(the)g
(default)g(is)f(to)i(supp)s(ort)d(8-bit)630 2454 y(and)30
b(m)m(ultib)m(yte)h(c)m(haracters.)150 2655 y(`)p Fr(-l)p
Fv(')150 2765 y(`)p Fr(--compare-lengths)p Fv(')630 2874
y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h
(string)e(comparison.)70 b(This)39 b(option)h(is)630
2984 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h
(3.3)f([Binary)g(Strings],)g(page)g(22\).)630 3093 y(It)g(also)h(migh)m
(t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g
(comparisons)g(made)g(during)f(the)630 3203 y(lo)s(okup,)i(since)g(k)m
(eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h
(compared)f(via)h Fr(strcmp)p Fv(.)630 3313 y(Ho)m(w)m(ev)m(er,)j
(using)c(`)p Fr(-l)p Fv(')g(migh)m(t)h(greatly)h(increase)g(the)f(size)
g(of)g(the)f(generated)i(C)e(co)s(de)h(if)630 3422 y(the)k(lo)s(okup)g
(table)g(range)h(is)f(large)h(\(whic)m(h)f(implies)g(that)g(the)g
(switc)m(h)h(option)f(`)p Fr(-S)p Fv(')g(or)630 3532
y(`)p Fr(\045switch)p Fv(')29 b(is)i(not)g(enabled\),)h(since)f(the)g
(length)g(table)h(con)m(tains)g(as)f(man)m(y)g(elemen)m(ts)h(as)630
3641 y(there)f(are)f(en)m(tries)i(in)e(the)g(lo)s(okup)g(table.)150
3842 y(`)p Fr(-c)p Fv(')150 3952 y(`)p Fr(--compare-strncmp)p
Fv(')630 4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i
Fr(strncmp)d Fv(function)h(to)i(p)s(erform)e(string)h(comparisons.)630
4171 y(The)30 b(default)g(action)i(is)f(to)g(use)f Fr(strcmp)p
Fv(.)150 4372 y(`)p Fr(-C)p Fv(')150 4482 y(`)p Fr(--readonly-tables)p
Fv(')630 4591 y(Mak)m(es)41 b(the)f(con)m(ten)m(ts)h(of)f(all)h
(generated)f(lo)s(okup)f(tables)i(constan)m(t,)i(i.e.,)h(\\readonly".)
630 4701 y(Man)m(y)31 b(compilers)g(can)g(generate)h(more)e(e\016cien)m
(t)i(co)s(de)f(for)f(this)h(b)m(y)f(putting)g(the)h(tables)630
4810 y(in)f(readonly)h(memory)-8 b(.)150 5011 y(`)p Fr(-E)p
Fv(')150 5121 y(`)p Fr(--enum)p Fv(')142 b(De\014ne)31
b(constan)m(t)g(v)-5 b(alues)31 b(using)f(an)g(en)m(um)g(lo)s(cal)i(to)
f(the)g(lo)s(okup)f(function)g(rather)g(than)630 5230
y(with)37 b(#de\014nes.)60 b(This)36 b(also)i(means)g(that)f
(di\013eren)m(t)h(lo)s(okup)f(functions)g(can)g(reside)g(in)630
5340 y(the)31 b(same)f(\014le.)41 b(Thanks)29 b(to)j(James)e(Clark)g
Fr(<jjc@ai.mit.edu>)p Fv(.)p eop end
%%Page: 27 29
TeXDict begin 27 28 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(27)150 299 y(`)p
Fr(-I)p Fv(')150 408 y(`)p Fr(--includes)p Fv(')630 518
y(Include)30 b(the)h(necessary)h(system)f(include)g(\014le,)g
Fr(<string.h>)p Fv(,)e(at)i(the)g(b)s(eginning)g(of)g(the)630
628 y(co)s(de.)39 b(By)27 b(default,)g(this)f(is)g(not)g(done;)i(the)e
(user)f(m)m(ust)h(include)g(this)f(header)h(\014le)g(himself)630
737 y(to)31 b(allo)m(w)h(compilation)g(of)e(the)h(co)s(de.)150
897 y(`)p Fr(-G)p Fv(')150 1007 y(`)p Fr(--global-table)p
Fv(')630 1117 y(Generate)38 b(the)f(static)h(table)f(of)g(k)m(eyw)m
(ords)g(as)g(a)g(static)h(global)g(v)-5 b(ariable,)39
b(rather)d(than)630 1226 y(hiding)30 b(it)h(inside)f(of)g(the)h(lo)s
(okup)f(function)g(\(whic)m(h)g(is)h(the)f(default)h(b)s(eha)m(vior\).)
150 1386 y(`)p Fr(-P)p Fv(')150 1496 y(`)p Fr(--pic)p
Fv(')190 b(Optimize)42 b(the)f(generated)h(table)g(for)f(inclusion)g
(in)g(shared)f(libraries.)73 b(This)40 b(reduces)630
1606 y(the)35 b(startup)g(time)h(of)f(programs)g(using)g(a)h(shared)e
(library)h(con)m(taining)i(the)e(generated)630 1715 y(co)s(de.)j(If)21
b(the)h(option)h(`)p Fr(-t)p Fv(')e(\(or,)k(equiv)-5
b(alen)m(tly)d(,)25 b(the)d(`)p Fr(\045struct-type)p
Fv(')d(declaration\))24 b(is)e(also)630 1825 y(giv)m(en,)32
b(the)f(\014rst)e(\014eld)i(of)f(the)h(user-de\014ned)e(struct)i(m)m
(ust)f(b)s(e)g(of)h(t)m(yp)s(e)g(`)p Fr(int)p Fv(',)f(not)h(`)p
Fr(char)630 1934 y(*)p Fv(',)h(b)s(ecause)f(it)i(will)e(con)m(tain)i
(o\013sets)g(in)m(to)f(the)g(string)f(p)s(o)s(ol)h(instead)f(of)h
(actual)h(strings.)630 2044 y(T)-8 b(o)33 b(con)m(v)m(ert)h(suc)m(h)f
(an)f(o\013set)i(to)f(a)g(string,)h(y)m(ou)f(can)g(use)f(the)h
(expression)f(`)p Fr(stringpool)630 2153 y(+)e Fi(o)11
b Fv(',)33 b(where)f Fn(o)37 b Fv(is)c(the)g(o\013set.)48
b(The)32 b(string)g(p)s(o)s(ol)g(name)h(can)g(b)s(e)f(c)m(hanged)h
(through)f(the)630 2263 y(option)f(`)p Fr(--string-pool-name)p
Fv('.)150 2423 y(`)p Fr(-Q)f Fi(string-pool-name)11 b
Fv(')150 2533 y(`)p Fr(--string-pool-name=)p Fi(string)o(-poo)o(l-na)o
(me)f Fv(')630 2642 y(Allo)m(ws)32 b(y)m(ou)g(to)g(sp)s(ecify)f(the)g
(name)h(of)f(the)h(generated)g(string)f(p)s(o)s(ol)g(created)h(b)m(y)f
(option)630 2752 y(`)p Fr(-P)p Fv('.)38 b(The)21 b(default)g(name)h(is)
f(`)p Fr(stringpool)p Fv('.)36 b(This)20 b(option)i(p)s(ermits)f(the)g
(use)g(of)h(t)m(w)m(o)h(hash)630 2862 y(tables)i(in)e(the)h(same)g
(\014le,)i(with)d(`)p Fr(-P)p Fv(')h(and)f(ev)m(en)h(when)f(the)h
(option)g(`)p Fr(-G)p Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)630
2971 y(the)31 b(`)p Fr(\045global-table)p Fv(')c(declaration\))32
b(is)f(giv)m(en.)150 3131 y(`)p Fr(--null-strings)p Fv(')630
3241 y(Use)39 b(NULL)g(strings)f(instead)i(of)e(empt)m(y)i(strings)e
(for)h(empt)m(y)g(k)m(eyw)m(ord)g(table)h(en)m(tries.)630
3351 y(This)e(reduces)g(the)h(startup)g(time)g(of)g(programs)g(using)f
(a)h(shared)f(library)g(con)m(taining)630 3460 y(the)j(generated)g(co)s
(de)g(\(but)f(not)h(as)f(m)m(uc)m(h)h(as)g(option)g(`)p
Fr(-P)p Fv('\),)i(at)e(the)g(exp)s(ense)f(of)h(one)630
3570 y(more)31 b(test-and-branc)m(h)f(instruction)h(at)g(run)e(time.)
150 3730 y(`)p Fr(-W)h Fi(hash-table-array-name)11 b
Fv(')150 3839 y(`)p Fr(--word-array-name=)p Fi(hash-ta)o(ble-)o(arra)o
(y-n)o(ame)f Fv(')630 3949 y(Allo)m(ws)41 b(y)m(ou)f(to)h(sp)s(ecify)f
(the)g(name)g(for)f(the)i(generated)g(arra)m(y)f(con)m(taining)i(the)e
(hash)630 4059 y(table.)106 b(Default)53 b(name)e(is)h(`)p
Fr(wordlist)p Fv('.)103 b(This)51 b(option)h(p)s(ermits)f(the)h(use)g
(of)g(t)m(w)m(o)630 4168 y(hash)37 b(tables)h(in)g(the)g(same)g
(\014le,)i(ev)m(en)e(when)f(the)h(option)g(`)p Fr(-G)p
Fv(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)630
4278 y(`)p Fr(\045global-table)p Fv(')27 b(declaration\))33
b(is)d(giv)m(en.)150 4413 y(`)p Fr(--length-table-name=)p
Fi(lengt)o(h-ta)o(ble-)o(arr)o(ay-n)o(ame)10 b Fv(')630
4522 y(Allo)m(ws)36 b(y)m(ou)e(to)i(sp)s(ecify)e(the)h(name)f(for)g
(the)h(generated)h(arra)m(y)f(con)m(taining)h(the)f(length)630
4632 y(table.)77 b(Default)43 b(name)g(is)f(`)p Fr(lengthtable)p
Fv('.)74 b(This)41 b(option)i(p)s(ermits)e(the)h(use)g(of)h(t)m(w)m(o)
630 4741 y(length)33 b(tables)h(in)f(the)g(same)g(\014le,)h(ev)m(en)g
(when)e(the)h(option)h(`)p Fr(-G)p Fv(')f(\(or,)h(equiv)-5
b(alen)m(tly)d(,)36 b(the)630 4851 y(`)p Fr(\045global-table)p
Fv(')27 b(declaration\))33 b(is)d(giv)m(en.)150 5011
y(`)p Fr(-S)g Fi(total-switch-statements)10 b Fv(')150
5121 y(`)p Fr(--switch=)p Fi(total-switch-sta)o(teme)o(nts)g
Fv(')630 5230 y(Causes)35 b(the)h(generated)h(C)e(co)s(de)h(to)h(use)e
(a)h Fr(switch)e Fv(statemen)m(t)k(sc)m(heme,)g(rather)d(than)630
5340 y(an)j(arra)m(y)g(lo)s(okup)g(table.)64 b(This)37
b(can)h(lead)h(to)f(a)h(reduction)f(in)f(b)s(oth)g(time)i(and)e(space)p
eop end
%%Page: 28 30
TeXDict begin 28 29 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(28)630 299 y(requiremen)m(ts)
43 b(for)h(some)f(input)g(\014les.)80 b(The)43 b(argumen)m(t)h(to)g
(this)f(option)h(determines)630 408 y(ho)m(w)33 b(man)m(y)f
Fr(switch)f Fv(statemen)m(ts)k(are)e(generated.)49 b(A)32
b(v)-5 b(alue)34 b(of)e(1)i(generates)g(1)f Fr(switch)630
518 y Fv(con)m(taining)25 b(all)e(the)h(elemen)m(ts,)i(a)d(v)-5
b(alue)23 b(of)h(2)f(generates)h(2)g(tables)f(with)g(1/2)h(the)g
(elemen)m(ts)630 628 y(in)38 b(eac)m(h)h Fr(switch)p
Fv(,)g(etc.)65 b(This)37 b(is)h(useful)g(since)g(man)m(y)h(C)e
(compilers)i(cannot)g(correctly)630 737 y(generate)29
b(co)s(de)f(for)f(large)h Fr(switch)e Fv(statemen)m(ts.)41
b(This)27 b(option)h(w)m(as)g(inspired)e(in)h(part)g(b)m(y)630
847 y(Keith)k(Bostic's)h(original)f(C)f(program.)150
1009 y(`)p Fr(-T)p Fv(')150 1118 y(`)p Fr(--omit-struct-type)p
Fv(')630 1228 y(Prev)m(en)m(ts)f(the)e(transfer)h(of)f(the)h(t)m(yp)s
(e)g(declaration)h(to)g(the)f(output)f(\014le.)40 b(Use)28
b(this)f(option)630 1338 y(if)j(the)h(t)m(yp)s(e)f(is)h(already)g
(de\014ned)e(elsewhere.)150 1500 y(`)p Fr(-p)p Fv(')334
b(This)33 b(option)h(is)f(supp)s(orted)f(for)h(compatibilit)m(y)j(with)
d(previous)g(releases)i(of)f Fr(gperf)p Fv(.)49 b(It)630
1609 y(do)s(es)30 b(not)h(do)f(an)m(ything.)150 1845
y Fu(4.5)68 b(Options)45 b(for)g(c)l(hanging)h(the)f(Algorithms)h
(emplo)l(y)l(ed)g(b)l(y)f Fl(gperf)150 2031 y Fv(`)p
Fr(-k)30 b Fi(selected-byte-positions)10 b Fv(')150 2141
y(`)p Fr(--key-positions=)p Fi(selected-)o(byte)o(-pos)o(iti)o(ons)g
Fv(')630 2250 y(Allo)m(ws)28 b(selection)h(of)e(the)g(b)m(yte)h(p)s
(ositions)f(used)f(in)h(the)g(k)m(eyw)m(ords')h(hash)e(function.)39
b(The)630 2360 y(allo)m(w)m(able)24 b(c)m(hoices)g(range)e(b)s(et)m(w)m
(een)h(1-255,)j(inclusiv)m(e.)38 b(The)22 b(p)s(ositions)f(are)i
(separated)f(b)m(y)630 2469 y(commas,)27 b(e.g.,)i(`)p
Fr(-k)h(9,4,13,14)p Fv(';)25 b(ranges)h(ma)m(y)g(b)s(e)f(used,)h(e.g.,)
i(`)p Fr(-k)i(2-7)p Fv(';)d(and)e(p)s(ositions)630 2579
y(ma)m(y)c(o)s(ccur)f(in)h(an)m(y)g(order.)37 b(F)-8
b(urthermore,)22 b(the)f(wildcard)f('*')h(causes)g(the)g(generated)h
(hash)630 2689 y(function)37 b(to)h(consider)g Fe(all)g
Fv(b)m(yte)g(p)s(ositions)f(in)g(eac)m(h)i(k)m(eyw)m(ord,)h(whereas)d
('$')h(instructs)630 2798 y(the)31 b(hash)g(function)f(to)i(use)f(the)g
(\\\014nal)h(b)m(yte")g(of)f(a)h(k)m(eyw)m(ord)f(\(this)g(is)h(the)f
(only)g(w)m(a)m(y)h(to)630 2908 y(use)e(a)h(b)m(yte)g(p)s(osition)f
(greater)i(than)e(255,)i(inciden)m(tally\).)630 3043
y(F)-8 b(or)37 b(instance,)h(the)e(option)h(`)p Fr(-k)30
b(1,2,4,6-10,'$')p Fv(')i(generates)38 b(a)e(hash)g(function)f(that)630
3153 y(considers)g(p)s(ositions)g(1,2,4,6,7,8,9,10,)42
b(plus)34 b(the)i(last)g(b)m(yte)f(in)g(eac)m(h)h(k)m(eyw)m(ord)g
(\(whic)m(h)630 3263 y(ma)m(y)j(b)s(e)f(at)i(a)f(di\013eren)m(t)g(p)s
(osition)g(for)f(eac)m(h)i(k)m(eyw)m(ord,)h(ob)m(viously\).)67
b(Keyw)m(ords)38 b(with)630 3372 y(length)30 b(less)g(than)f(the)g
(indicated)h(b)m(yte)h(p)s(ositions)e(w)m(ork)g(prop)s(erly)-8
b(,)30 b(since)f(selected)i(b)m(yte)630 3482 y(p)s(ositions)k
(exceeding)h(the)g(k)m(eyw)m(ord)f(length)g(are)h(simply)e(not)i
(referenced)f(in)f(the)i(hash)630 3591 y(function.)630
3727 y(This)28 b(option)i(is)f(not)g(normally)g(needed)g(since)g(v)m
(ersion)g(2.8)i(of)e Fr(gperf)p Fv(;)f(the)h(default)g(b)m(yte)630
3837 y(p)s(ositions)36 b(are)g(computed)f(dep)s(ending)f(on)i(the)f(k)m
(eyw)m(ord)h(set,)i(through)d(a)h(searc)m(h)g(that)630
3946 y(minimizes)31 b(the)f(n)m(um)m(b)s(er)f(of)i(b)m(yte)g(p)s
(ositions.)150 4108 y(`)p Fr(-D)p Fv(')150 4218 y(`)p
Fr(--duplicates)p Fv(')630 4327 y(Handle)h(k)m(eyw)m(ords)h(whose)f
(selected)i(b)m(yte)e(sets)h(hash)e(to)i(duplicate)g(v)-5
b(alues.)46 b(Duplicate)630 4437 y(hash)33 b(v)-5 b(alues)34
b(can)h(o)s(ccur)e(if)h(a)g(set)h(of)f(k)m(eyw)m(ords)g(has)g(the)g
(same)g(names,)h(but)e(p)s(ossesses)630 4547 y(di\013eren)m(t)f
(attributes,)g(or)f(if)h(the)f(selected)i(b)m(yte)f(p)s(ositions)f(are)
h(not)f(w)m(ell)h(c)m(hosen.)44 b(With)630 4656 y(the)36
b(-D)g(option)g Fr(gperf)e Fv(treats)j(all)f(these)h(k)m(eyw)m(ords)e
(as)h(part)g(of)g(an)f(equiv)-5 b(alence)37 b(class)630
4766 y(and)31 b(generates)i(a)f(p)s(erfect)g(hash)f(function)g(with)h
(m)m(ultiple)g(comparisons)g(for)f(duplicate)630 4875
y(k)m(eyw)m(ords.)38 b(It)21 b(is)f(up)g(to)h(y)m(ou)g(to)h(completely)
g(disam)m(biguate)g(the)f(k)m(eyw)m(ords)g(b)m(y)g(mo)s(difying)630
4985 y(the)28 b(generated)g(C)f(co)s(de.)40 b(Ho)m(w)m(ev)m(er,)30
b Fr(gperf)c Fv(helps)h(y)m(ou)g(out)h(b)m(y)f(organizing)i(the)e
(output.)630 5121 y(Using)32 b(this)g(option)g(usually)g(means)g(that)g
(the)g(generated)h(hash)e(function)h(is)g(no)f(longer)630
5230 y(p)s(erfect.)48 b(On)31 b(the)i(other)g(hand,)g(it)g(p)s(ermits)f
Fr(gperf)f Fv(to)i(w)m(ork)g(on)g(k)m(eyw)m(ord)g(sets)g(that)g(it)630
5340 y(otherwise)e(could)f(not)h(handle.)p eop end
%%Page: 29 31
TeXDict begin 29 30 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(29)150 299 y(`)p
Fr(-m)30 b Fi(iterations)11 b Fv(')150 408 y(`)p Fr
(--multiple-iterations=)p Fi(ite)o(rati)o(ons)f Fv(')630
518 y(P)m(erform)24 b(m)m(ultiple)h(c)m(hoices)h(of)e(the)h(`)p
Fr(-i)p Fv(')f(and)g(`)p Fr(-j)p Fv(')g(v)-5 b(alues,)26
b(and)d(c)m(ho)s(ose)j(the)e(b)s(est)g(results.)630 628
y(This)34 b(increases)i(the)f(running)e(time)i(b)m(y)g(a)g(factor)h(of)
f Fn(iterations)40 b Fv(but)34 b(do)s(es)g(a)i(go)s(o)s(d)e(job)630
737 y(minimizing)d(the)f(generated)i(table)f(size.)150
907 y(`)p Fr(-i)f Fi(initial-value)11 b Fv(')150 1016
y(`)p Fr(--initial-asso=)p Fi(initial-va)o(lue)f Fv(')630
1126 y(Pro)m(vides)29 b(an)f(initial)h Fn(v)-5 b(alue)34
b Fv(for)28 b(the)g(asso)s(ciate)i(v)-5 b(alues)29 b(arra)m(y)-8
b(.)41 b(Default)29 b(is)f(0.)41 b(Increasing)630 1235
y(the)30 b(initial)h(v)-5 b(alue)31 b(helps)e(in\015ate)h(the)g
(\014nal)g(table)h(size,)g(p)s(ossibly)e(leading)i(to)f(more)g(time)630
1345 y(e\016cien)m(t)f(k)m(eyw)m(ord)e(lo)s(okups.)39
b(Note)29 b(that)e(this)g(option)h(is)f(not)g(particularly)h(useful)e
(when)630 1455 y(`)p Fr(-S)p Fv(')i(\(or,)i(equiv)-5
b(alen)m(tly)d(,)31 b(`)p Fr(\045switch)p Fv('\))c(is)i(used.)39
b(Also,)30 b(`)p Fr(-i)p Fv(')e(is)g(o)m(v)m(erridden)h(when)e(the)i(`)
p Fr(-r)p Fv(')630 1564 y(option)i(is)f(used.)150 1733
y(`)p Fr(-j)g Fi(jump-value)11 b Fv(')150 1843 y(`)p
Fr(--jump=)p Fi(jump-value)g Fv(')630 1953 y(A\013ects)41
b(the)f(\\jump)f(v)-5 b(alue",)44 b(i.e.,)g(ho)m(w)c(far)g(to)g(adv)-5
b(ance)41 b(the)f(asso)s(ciated)i(b)m(yte)e(v)-5 b(alue)630
2062 y(up)s(on)29 b(collisions.)43 b Fn(Jump-v)-5 b(alue)35
b Fv(is)30 b(rounded)f(up)h(to)h(an)f(o)s(dd)g(n)m(um)m(b)s(er,)f(the)i
(default)g(is)f(5.)630 2172 y(If)g(the)g Fn(jump-v)-5
b(alue)35 b Fv(is)c(0)f Fr(gperf)f Fv(jumps)g(b)m(y)h(random)g(amoun)m
(ts.)150 2341 y(`)p Fr(-n)p Fv(')150 2451 y(`)p Fr(--no-strlen)p
Fv(')630 2560 y(Instructs)c(the)i(generator)g(not)f(to)h(include)f(the)
h(length)f(of)g(a)h(k)m(eyw)m(ord)g(when)e(computing)630
2670 y(its)41 b(hash)f(v)-5 b(alue.)72 b(This)40 b(ma)m(y)h(sa)m(v)m(e)
h(a)f(few)f(assem)m(bly)h(instructions)g(in)f(the)h(generated)630
2780 y(lo)s(okup)30 b(table.)150 2949 y(`)p Fr(-r)p Fv(')150
3059 y(`)p Fr(--random)p Fv(')630 3168 y(Utilizes)40
b(randomness)e(to)h(initialize)h(the)f(asso)s(ciated)h(v)-5
b(alues)38 b(table.)66 b(This)38 b(frequen)m(tly)630
3278 y(generates)23 b(solutions)e(faster)h(than)f(using)g
(deterministic)h(initialization)i(\(whic)m(h)d(starts)h(all)630
3387 y(asso)s(ciated)28 b(v)-5 b(alues)28 b(at)f(0\).)40
b(F)-8 b(urthermore,)28 b(using)f(the)g(randomization)g(option)h
(generally)630 3497 y(increases)j(the)g(size)g(of)f(the)h(table.)150
3666 y(`)p Fr(-s)f Fi(size-multiple)11 b Fv(')150 3776
y(`)p Fr(--size-multiple=)p Fi(size-mult)o(iple)f Fv(')630
3885 y(A\013ects)40 b(the)e(size)h(of)g(the)f(generated)i(hash)d
(table.)66 b(The)38 b(n)m(umeric)g(argumen)m(t)h(for)f(this)630
3995 y(option)33 b(indicates)g(\\ho)m(w)g(man)m(y)g(times)g(larger)g
(or)f(smaller")i(the)e(maxim)m(um)g(asso)s(ciated)630
4105 y(v)-5 b(alue)38 b(range)g(should)e(b)s(e,)j(in)e(relationship)h
(to)g(the)f(n)m(um)m(b)s(er)g(of)g(k)m(eyw)m(ords.)62
b(It)38 b(can)g(b)s(e)630 4214 y(written)g(as)h(an)f(in)m(teger,)43
b(a)38 b(\015oating-p)s(oin)m(t)i(n)m(um)m(b)s(er)d(or)i(a)f(fraction.)
66 b(F)-8 b(or)39 b(example,)j(a)630 4324 y(v)-5 b(alue)40
b(of)f(3)h(means)f(\\allo)m(w)i(the)f(maxim)m(um)f(asso)s(ciated)h(v)-5
b(alue)40 b(to)g(b)s(e)f(ab)s(out)g(3)g(times)630 4433
y(larger)33 b(than)g(the)g(n)m(um)m(b)s(er)e(of)i(input)f(k)m(eyw)m
(ords".)49 b(Con)m(v)m(ersely)-8 b(,)35 b(a)e(v)-5 b(alue)33
b(of)g(1/3)h(means)630 4543 y(\\allo)m(w)43 b(the)e(maxim)m(um)f(asso)s
(ciated)j(v)-5 b(alue)41 b(to)h(b)s(e)e(ab)s(out)g(3)h(times)h(smaller)
f(than)g(the)630 4653 y(n)m(um)m(b)s(er)33 b(of)i(input)f(k)m(eyw)m
(ords".)55 b(V)-8 b(alues)35 b(smaller)h(than)e(1)h(are)g(useful)f(for)
h(limiting)h(the)630 4762 y(o)m(v)m(erall)31 b(size)e(of)g(the)f
(generated)i(hash)e(table,)i(though)e(the)g(option)h(`)p
Fr(-m)p Fv(')g(is)f(b)s(etter)h(at)g(this)630 4872 y(purp)s(ose.)630
5011 y(If)44 b(`generate)h(switc)m(h')g(option)g(`)p
Fr(-S)p Fv(')f(\(or,)k(equiv)-5 b(alen)m(tly)d(,)49 b(`)p
Fr(\045switch)p Fv('\))43 b(is)h Fm(not)54 b Fv(enabled,)630
5121 y(the)45 b(maxim)m(um)h(asso)s(ciated)g(v)-5 b(alue)46
b(in\015uences)f(the)g(static)i(arra)m(y)f(table)g(size,)k(and)45
b(a)630 5230 y(larger)27 b(table)g(should)e(decrease)i(the)f(time)h
(required)e(for)h(an)f(unsuccessful)g(searc)m(h,)j(at)f(the)630
5340 y(exp)s(ense)j(of)g(extra)i(table)f(space.)p eop
end
%%Page: 30 32
TeXDict begin 30 31 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(In)m(v)m(oking)31 b Fr(gperf)2433 b Fv(30)630 299 y(The)35
b(default)g(v)-5 b(alue)36 b(is)f(1,)i(th)m(us)e(the)h(default)f(maxim)
m(um)g(asso)s(ciated)i(v)-5 b(alue)36 b(ab)s(out)f(the)630
408 y(same)h(size)g(as)f(the)h(n)m(um)m(b)s(er)e(of)h(k)m(eyw)m(ords)h
(\(for)g(e\016ciency)-8 b(,)38 b(the)d(maxim)m(um)g(asso)s(ciated)630
518 y(v)-5 b(alue)36 b(is)g(alw)m(a)m(ys)h(rounded)d(up)g(to)i(a)g(p)s
(o)m(w)m(er)g(of)f(2\).)57 b(The)35 b(actual)i(table)g(size)f(ma)m(y)g
(v)-5 b(ary)630 628 y(somewhat,)31 b(since)g(this)f(tec)m(hnique)h(is)g
(essen)m(tially)h(a)f(heuristic.)150 860 y Fu(4.6)68
b(Informativ)l(e)47 b(Output)150 1044 y Fv(`)p Fr(-h)p
Fv(')150 1154 y(`)p Fr(--help)p Fv(')142 b(Prin)m(ts)24
b(a)g(short)f(summary)g(on)h(the)g(meaning)g(of)g(eac)m(h)h(program)e
(option.)39 b(Ab)s(orts)23 b(further)630 1264 y(program)30
b(execution.)150 1423 y(`)p Fr(-v)p Fv(')150 1533 y(`)p
Fr(--version)p Fv(')630 1642 y(Prin)m(ts)g(out)h(the)f(curren)m(t)h(v)m
(ersion)f(n)m(um)m(b)s(er.)150 1802 y(`)p Fr(-d)p Fv(')150
1911 y(`)p Fr(--debug)p Fv(')94 b(Enables)28 b(the)h(debugging)f
(option.)40 b(This)28 b(pro)s(duces)f(v)m(erb)s(ose)i(diagnostics)g(to)
g(\\standard)630 2021 y(error")i(when)g Fr(gperf)f Fv(is)h(executing.)
45 b(It)32 b(is)f(useful)g(b)s(oth)g(for)g(main)m(taining)i(the)e
(program)630 2130 y(and)f(for)h(determining)g(whether)f(a)h(giv)m(en)h
(set)f(of)g(options)g(is)g(actually)i(sp)s(eeding)d(up)g(the)630
2240 y(searc)m(h)41 b(for)e(a)h(solution.)70 b(Some)40
b(useful)f(information)h(is)g(dump)s(ed)e(at)i(the)g(end)g(of)g(the)630
2350 y(program)30 b(when)g(the)g(`)p Fr(-d)p Fv(')g(option)h(is)g
(enabled.)p eop end
%%Page: 31 33
TeXDict begin 31 32 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Kno)m(wn)30 b(Bugs)g(and)g(Limitations)h(with)f Fr(gperf)1397
b Fv(31)150 299 y Fs(5)80 b(Kno)l(wn)53 b(Bugs)f(and)i(Limitations)f
(with)f Fo(gperf)275 533 y Fv(The)29 b(follo)m(wing)j(are)f(some)g
(limitations)h(with)e(the)g(curren)m(t)h(release)g(of)g
Fr(gperf)p Fv(:)225 667 y Ft(\017)60 b Fv(The)31 b Fr(gperf)g
Fv(utilit)m(y)i(is)f(tuned)f(to)h(execute)h(quic)m(kly)-8
b(,)34 b(and)d(w)m(orks)h(quic)m(kly)g(for)g(small)g(to)h(medium)330
777 y(size)i(data)g(sets)g(\(around)f(1000)i(k)m(eyw)m(ords\).)54
b(It)34 b(is)h(extremely)h(useful)d(for)h(main)m(taining)i(p)s(erfect)
330 887 y(hash)k(functions)h(for)f(compiler)i(k)m(eyw)m(ord)f(sets.)72
b(Sev)m(eral)42 b(recen)m(t)g(enhancemen)m(ts)g(no)m(w)e(enable)330
996 y Fr(gperf)31 b Fv(to)j(w)m(ork)e(e\016cien)m(tly)j(on)d(m)m(uc)m
(h)h(larger)g(k)m(eyw)m(ord)g(sets)g(\(o)m(v)m(er)i(15,000)g(k)m(eyw)m
(ords\).)48 b(When)330 1106 y(pro)s(cessing)30 b(large)i(k)m(eyw)m(ord)
e(sets)h(it)g(helps)f(greatly)i(to)f(ha)m(v)m(e)g(o)m(v)m(er)h(8)f
(megs)g(of)f(RAM.)225 1240 y Ft(\017)60 b Fv(The)43 b(size)i(of)f(the)g
(generate)h(static)h(k)m(eyw)m(ord)e(arra)m(y)g(can)g(get)h
Fm(extr)-5 b(emely)53 b Fv(large)45 b(if)f(the)g(input)330
1350 y(k)m(eyw)m(ord)d(\014le)f(is)g(large)i(or)e(if)g(the)h(k)m(eyw)m
(ords)f(are)h(quite)g(similar.)70 b(This)40 b(tends)g(to)h(slo)m(w)f
(do)m(wn)330 1460 y(the)35 b(compilation)h(of)f(the)f(generated)i(C)e
(co)s(de,)i(and)e Fm(gr)-5 b(e)g(atly)44 b Fv(in\015ates)35
b(the)g(ob)5 b(ject)35 b(co)s(de)g(size.)54 b(If)330
1569 y(this)40 b(situation)h(o)s(ccurs,)h(consider)e(using)f(the)h(`)p
Fr(-S)p Fv(')g(option)g(to)h(reduce)e(data)i(size,)i(p)s(oten)m(tially)
330 1679 y(increasing)h(k)m(eyw)m(ord)g(recognition)h(time)f(a)g
(negligible)i(amoun)m(t.)80 b(Since)44 b(man)m(y)f(C)h(compilers)330
1788 y(cannot)37 b(correctly)i(generate)f(co)s(de)f(for)g(large)h
(switc)m(h)f(statemen)m(ts)i(it)e(is)g(imp)s(ortan)m(t)g(to)h(qualify)
330 1898 y(the)i Fn(-S)46 b Fv(option)40 b(with)g(an)g(appropriate)g(n)
m(umerical)h(argumen)m(t)f(that)h(con)m(trols)h(the)e(n)m(um)m(b)s(er)f
(of)330 2007 y(switc)m(h)31 b(statemen)m(ts)h(generated.)225
2142 y Ft(\017)60 b Fv(The)35 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(selected)h(b)m(yte)f(p)s(ositions)f(has)g(an)h(arbitrary)f(limit)h(of)
g(255.)57 b(This)330 2252 y(restriction)29 b(should)e(b)s(e)g(remo)m(v)
m(ed,)j(and)d(if)h(an)m(y)m(one)h(considers)f(this)g(a)g(problem)f
(write)i(me)f(and)f(let)330 2361 y(me)j(kno)m(w)h(so)f(I)h(can)f(remo)m
(v)m(e)i(the)f(constrain)m(t.)p eop end
%%Page: 32 34
TeXDict begin 32 33 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(Things)29 b(Still)i(Left)g(to)g(Do)2133 b(32)150 299
y Fs(6)80 b(Things)53 b(Still)g(Left)g(to)g(Do)275 533
y Fv(It)24 b(should)f(b)s(e)h(\\relativ)m(ely")k(easy)d(to)g(replace)g
(the)g(curren)m(t)f(p)s(erfect)g(hash)g(function)g(algorithm)h(with)150
643 y(a)35 b(more)f(exhaustiv)m(e)h(approac)m(h;)i(the)d(p)s(erfect)h
(hash)e(mo)s(dule)h(is)g(essen)m(tial)i(indep)s(enden)m(t)d(from)h
(other)150 752 y(program)c(mo)s(dules.)40 b(Additional)31
b(w)m(orth)m(while)g(impro)m(v)m(emen)m(ts)h(include:)225
887 y Ft(\017)60 b Fv(Another)34 b(useful)f(extension)h(in)m(v)m(olv)m
(es)i(mo)s(difying)d(the)h(program)f(to)i(generate)g(\\minimal")g(p)s
(er-)330 996 y(fect)42 b(hash)f(functions)f(\(under)h(certain)h
(circumstances,)j(the)c(curren)m(t)g(v)m(ersion)h(can)f(b)s(e)g(rather)
330 1106 y(extra)m(v)-5 b(agan)m(t)39 b(in)d(the)h(generated)g(table)g
(size\).)60 b(This)36 b(is)g(mostly)h(of)g(theoretical)h(in)m(terest,)i
(since)330 1215 y(a)f(sparse)f(table)h(often)g(pro)s(duces)e(faster)i
(lo)s(okups,)h(and)e(use)g(of)h(the)g(`)p Fr(-S)p Fv(')f
Fr(switch)f Fv(option)i(can)330 1325 y(minimize)g(the)g(data)g(size,)j
(at)d(the)g(exp)s(ense)f(of)h(sligh)m(tly)h(longer)f(lo)s(okups)f
(\(note)i(that)f(the)g(gcc)330 1435 y(compiler)e(generally)g(pro)s
(duces)e(go)s(o)s(d)h(co)s(de)g(for)g Fr(switch)f Fv(statemen)m(ts,)k
(reducing)d(the)g(need)g(for)330 1544 y(more)31 b(complex)g(sc)m
(hemes\).)225 1679 y Ft(\017)60 b Fv(In)38 b(addition)h(to)h(impro)m
(ving)f(the)h(algorithm,)i(it)d(w)m(ould)g(also)h(b)s(e)f(useful)f(to)h
(generate)i(an)e(Ada)330 1788 y(pac)m(k)-5 b(age)32 b(as)f(the)g(co)s
(de)f(output,)g(in)g(addition)h(to)g(the)g(curren)m(t)f(C)g(and)g(C)p
Fr(++)f Fv(routines.)p eop end
%%Page: 33 35
TeXDict begin 33 34 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(Bibliograph)m(y)2536 b(33)150 299 y Fs(7)80 b(Bibliograph)l(y)150
533 y Fv([1])35 b(Chang,)f(C.C.:)47 b Fm(A)36 b(Scheme)g(for)g
(Constructing)h(Or)-5 b(der)g(e)g(d)37 b(Minimal)f(Perfe)-5
b(ct)36 b(Hashing)g(F)-7 b(unctions)150 643 y Fv(Information)30
b(Sciences)h(39\(1986\),)j(187-195.)150 777 y([2])23
b(Cic)m(helli,)j(Ric)m(hard)c(J.)h Fm(A)n(uthor's)i(R)-5
b(esp)g(onse)28 b(to)e(\\On)e(Cichel)5 b(li's)26 b(Minimal)f(Perfe)-5
b(ct)25 b(Hash)h(F)-7 b(unctions)150 887 y(Metho)i(d")38
b Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(23,)g(12\(Decem)m(b)s
(er)i(1980\),)g(729.)150 1021 y([3])h(Cic)m(helli,)i(Ric)m(hard)e(J.)f
Fm(Minimal)j(Perfe)-5 b(ct)35 b(Hash)h(F)-7 b(unctions)36
b(Made)g(Simple)41 b Fv(Comm)m(unications)34 b(of)150
1131 y(the)d(A)m(CM,)g(23,)g(1\(Jan)m(uary)g(1980\),)i(17-19.)150
1265 y([4])f(Co)s(ok,)g(C.)f(R.)g(and)g(Oldeho)s(eft,)h(R.R.)f
Fm(A)i(L)-5 b(etter)34 b(Oriente)-5 b(d)34 b(Minimal)g(Perfe)-5
b(ct)33 b(Hashing)h(F)-7 b(unction)150 1375 y Fv(SIGPLAN)30
b(Notices,)i(17,)g(9\(Septem)m(b)s(er)f(1982\),)h(18-27.)150
1509 y([5])g(Cormac)m(k,)g(G.)g(V.)g(and)e(Horsp)s(o)s(ol,)i(R.)f(N.)g
(S.)g(and)g(Kaiserw)m(erth,)h(M.)g Fm(Pr)-5 b(actic)g(al)34
b(Perfe)-5 b(ct)34 b(Hashing)150 1619 y Fv(Computer)c(Journal,)g(28,)h
(1\(Jan)m(uary)g(1985\),)i(54-58.)150 1753 y([6])40 b(Jaesc)m(hk)m(e,)j
(G.)d Fm(R)-5 b(e)g(cipr)g(o)g(c)g(al)44 b(Hashing:)58
b(A)40 b(Metho)-5 b(d)42 b(for)f(Gener)-5 b(ating)42
b(Minimal)f(Perfe)-5 b(ct)41 b(Hashing)150 1863 y(F)-7
b(unctions)39 b Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g(24,)g
(12\(Decem)m(b)s(er)i(1981\),)g(829-833.)150 1998 y([7])g(Jaesc)m(hk)m
(e,)i(G.)d(and)g(Osterburg,)g(G.)h Fm(On)h(Cichel)5 b(li's)34
b(Minimal)h(Perfe)-5 b(ct)34 b(Hash)h(F)-7 b(unctions)35
b(Metho)-5 b(d)150 2107 y Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)
g(23,)h(12\(Decem)m(b)s(er)g(1980\),)h(728-729.)150 2242
y([8])j(Sager,)i(Thomas)d(J.)g Fm(A)i(Polynomial)i(Time)e(Gener)-5
b(ator)40 b(for)e(Minimal)f(Perfe)-5 b(ct)37 b(Hash)h(F)-7
b(unctions)150 2351 y Fv(Comm)m(unications)31 b(of)f(the)h(A)m(CM,)g
(28,)h(5\(Decem)m(b)s(er)g(1985\),)g(523-532)150 2486
y([9])25 b(Sc)m(hmidt,)h(Douglas)f(C.)f Fm(GPERF:)j(A)g(Perfe)-5
b(ct)27 b(Hash)g(F)-7 b(unction)28 b(Gener)-5 b(ator)36
b Fv(Second)24 b(USENIX)g(C)p Fr(++)150 2595 y Fv(Conference)30
b(Pro)s(ceedings,)h(April)f(1990.)150 2730 y([10])i(Sc)m(hmidt,)f
(Douglas)h(C.)f Fm(GPERF:)i(A)f(Perfe)-5 b(ct)33 b(Hash)h(F)-7
b(unction)33 b(Gener)-5 b(ator)43 b Fv(C)p Fr(++)30 b
Fv(Rep)s(ort,)h(SIGS)150 2839 y(10)g(10)g(\(No)m(v)m(em)m(b)s(er/Decem)
m(b)s(er)j(1998\).)150 2974 y([11])h(Seb)s(esta,)g(R.W.)g(and)e(T)-8
b(a)m(ylor,)37 b(M.A.)e Fm(Minimal)h(Perfe)-5 b(ct)36
b(Hash)g(F)-7 b(unctions)37 b(for)f(R)-5 b(eserve)g(d)38
b(Wor)-5 b(d)150 3083 y(Lists)38 b Fv(SIGPLAN)30 b(Notices,)j(20,)e
(12\(Septem)m(b)s(er)g(1985\),)i(47-53.)150 3218 y([12])f(Sprugnoli,)d
(R.)h Fm(Perfe)-5 b(ct)33 b(Hashing)g(F)-7 b(unctions:)42
b(A)32 b(Single)h(Pr)-5 b(ob)g(e)33 b(R)-5 b(etrieving)33
b(Metho)-5 b(d)33 b(for)g(Static)150 3328 y(Sets)38 b
Fv(Comm)m(unications)31 b(of)g(the)f(A)m(CM,)h(20)h(11\(No)m(v)m(em)m
(b)s(er)g(1977\),)h(841-850.)150 3462 y([13])f(Stallman,)f(Ric)m(hard)f
(M.)h Fm(Using)h(and)i(Porting)f(GNU)f(CC)43 b Fv(F)-8
b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32 b(1988.)150
3597 y([14])g(Stroustrup,)d(Bjarne)h Fm(The)j(C)p Fr(++)f
Fm(Pr)-5 b(o)g(gr)g(amming)35 b(L)-5 b(anguage.)41 b
Fv(Addison-W)-8 b(esley)g(,)32 b(1986.)150 3731 y([15])g(Tiemann,)e
(Mic)m(hael)i(D.)f Fm(User's)i(Guide)f(to)i(GNU)e(C)p
Fr(++)d Fv(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32
b(1989.)p eop end
%%Page: 34 36
TeXDict begin 34 35 bop 150 -116 a Fv(Concept)31 b(Index)2927
b(34)150 299 y Fs(Concept)52 b(Index)150 638 y Fu(\045)150
757 y Fd(`)p Fp(\045\045)p Fd(')24 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)49 b Fd(16)150 846 y(`)p Fp(\045{)p Fd(')24 b Fc(:)13
b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)49 b Fd(19)150 934 y(`)p
Fp(\045})p Fd(')24 b Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)49
b Fd(19)150 1023 y(`)p Fp(\0457bit)p Fd(')15 b Fc(:)g(:)e(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42
b Fd(18)150 1112 y(`)p Fp(\045compare-lengths)p Fd(')26
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fd(18)150
1201 y(`)p Fp(\045compare-strncmp)p Fd(')26 b Fc(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fd(18)150 1289
y(`)p Fp(\045define)28 b(class-name)p Fd(')6 b Fc(:)15
b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)32 b Fd(18)150 1378 y(`)p
Fp(\045define)c(hash-function-name)p Fd(')c Fc(:)13 b(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46 b Fd(17)150
1467 y(`)p Fp(\045define)28 b(initializer-suffix)p Fd(')c
Fc(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)46
b Fd(17)150 1555 y(`)p Fp(\045define)28 b(length-table-name)p
Fd(')e Fc(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)49 b Fd(19)150 1644 y(`)p Fp(\045define)28 b
(lookup-function-name)p Fd(')15 b Fc(:)i(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)41 b Fd(17)150 1733 y(`)p Fp(\045define)28
b(slot-name)p Fd(')9 b Fc(:)15 b(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
b Fd(17)150 1821 y(`)p Fp(\045define)28 b(string-pool-name)p
Fd(')8 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)34 b Fd(19)150 1910 y(`)p Fp(\045define)28
b(word-array-name)p Fd(')10 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)37 b Fd(19)150
1999 y(`)p Fp(\045delimiters)p Fd(')17 b Fc(:)f(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)43 b Fd(17)150 2087 y(`)p
Fp(\045enum)p Fd(')15 b Fc(:)g(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)42 b Fd(18)150
2176 y(`)p Fp(\045global-table)p Fd(')12 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38 b Fd(18)150 2265 y(`)p
Fp(\045ignore-case)p Fd(')15 b Fc(:)h(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)41 b Fd(17)150 2353 y(`)p Fp(\045includes)p
Fd(')25 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)49 b Fd(18)150 2442 y(`)p Fp(\045language)p
Fd(')25 b Fc(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)49 b Fd(17)150 2531 y(`)p Fp(\045null-strings)p
Fd(')12 b Fc(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
b Fd(19)150 2619 y(`)p Fp(\045omit-struct-type)p Fd(')23
b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45 b Fd(19)150
2708 y(`)p Fp(\045pic)p Fd(')18 b Fc(:)d(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
b Fd(18)150 2797 y(`)p Fp(\045readonly-tables)p Fd(')26
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48 b Fd(18)150
2885 y(`)p Fp(\045struct-type)p Fd(')15 b Fc(:)h(:)d(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41 b Fd(17)150 2974 y(`)p
Fp(\045switch)p Fd(')10 b Fc(:)16 b(:)d(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)37 b Fd(19)150
3223 y Fu(A)150 3342 y Fd(Arra)n(y)25 b(name)c Fc(:)13
b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47
b Fd(27)150 3599 y Fu(B)150 3718 y Fd(Bugs)18 b Fc(:)c(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)44 b Fd(12)150 3976 y Fu(C)150 4095 y Fd(Class)27
b(name)13 b Fc(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)39 b Fd(26)150 4183 y(Cop)n(yrigh)n(t)19
b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)45 b Fd(23)2025 638 y Fu(D)2025 755 y Fd(Declaration)27
b(section)18 b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)44
b Fd(15)2025 842 y(Delimiters)13 b Fc(:)h(:)g(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)40 b Fd(24)2025
930 y(Duplicates)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Fd(28)2025 1181
y Fu(F)2025 1298 y Fd(F)-6 b(ormat)13 b Fc(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)39
b Fd(15)2025 1385 y(F)-6 b(unctions)25 b(section)14 b
Fc(:)g(:)g(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
b Fd(15)2025 1620 y Fu(H)2025 1737 y Fp(hash)23 b Fc(:)13
b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)49 b Fd(21)2025 1824 y(hash)25
b(table)13 b Fc(:)h(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)40 b Fd(21)2025 2059 y Fu(I)2025
2176 y Fp(in_word_set)24 b Fc(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)48 b Fd(22)2025 2263 y(Initializers)10
b Fc(:)k(:)f(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)36 b Fd(25)2025 2498 y Fu(J)2025 2615 y Fd(Jump)25
b(v)l(alue)9 b Fc(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)36 b Fd(29)2025 2866 y Fu(K)2025
2983 y Fd(Keyw)n(ords)25 b(section)13 b Fc(:)h(:)f(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)39 b Fd(15)2025 3234 y Fu(M)2025
3351 y Fd(Minimal)27 b(p)r(erfect)f(hash)g(functions)21
b Fc(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
48 b Fd(14)2025 3602 y Fu(N)2025 3719 y Fd(NUL)18 b Fc(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)46 b Fd(22)2025 3954 y Fu(S)2025
4070 y Fd(Slot)26 b(name)17 b Fc(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)44 b Fd(25)2025
4158 y(Static)26 b(searc)n(h)g(structure)11 b Fc(:)i(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)38 b Fd(14)2025 4245 y Fp(switch)6 b Fc(:)15 b(:)e(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33
b Fd(22,)27 b(27)p eop end
%%Page: -1 37
TeXDict begin -1 36 bop 3725 -116 a Fv(i)150 299 y Fs(T)-13
b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fu(GNU)45 b(GENERAL)g(PUBLIC)
g(LICENSE)28 b Fb(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)73
b Fu(1)150 911 y(Con)l(tributors)46 b(to)f(GNU)g Fl(gperf)e
Fu(Utilit)l(y)21 b Fb(:)g(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)66 b Fu(12)150 1181 y(1)135 b(In)l(tro)t(duction)32
b Fb(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
h(:)76 b Fu(13)150 1450 y(2)135 b(Static)45 b(searc)l(h)h(structures)f
(and)f(GNU)h Fl(gperf)33 b Fb(:)19 b(:)h(:)f(:)80 b Fu(14)150
1720 y(3)135 b(High-Lev)l(el)46 b(Description)g(of)f(GNU)g
Fl(gperf)24 b Fb(:)18 b(:)h(:)g(:)h(:)f(:)h(:)69 b Fu(15)275
1857 y Fv(3.1)92 b(Input)29 b(F)-8 b(ormat)31 b(to)g
Fr(gperf)14 b Fa(:)g(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)43 b Fv(15)399 1967
y(3.1.1)93 b(Declarations)30 b Fa(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
h(:)57 b Fv(15)524 2076 y(3.1.1.1)93 b(User-supplied)30
b Fr(struct)12 b Fa(:)h(:)j(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)42 b Fv(16)524 2186 y(3.1.1.2)93 b(Gp)s(erf)30 b(Declarations)23
b Fa(:)17 b(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
53 b Fv(16)524 2296 y(3.1.1.3)93 b(C)30 b(Co)s(de)g(Inclusion)15
b Fa(:)g(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)45 b Fv(19)399 2405 y(3.1.2)93 b(F)-8 b(ormat)32
b(for)e(Keyw)m(ord)g(En)m(tries)15 b Fa(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)45 b Fv(20)399 2515 y(3.1.3)93 b(Including)29
b(Additional)i(C)f(F)-8 b(unctions)11 b Fa(:)17 b(:)e(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)41 b Fv(21)399 2624 y(3.1.4)93 b(Where)31 b(to)g(place)g(directiv)m
(es)h(for)e(GNU)h Fr(indent)p Fv(.)17 b Fa(:)d(:)h(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)47 b Fv(21)275 2734 y(3.2)92
b(Output)29 b(F)-8 b(ormat)32 b(for)e(Generated)h(C)f(Co)s(de)g(with)g
Fr(gperf)20 b Fa(:)13 b(:)j(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
49 b Fv(21)275 2844 y(3.3)92 b(Use)30 b(of)h(NUL)f(b)m(ytes)18
b Fa(:)e(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fv(22)275
2953 y(3.4)92 b(The)29 b(Cop)m(yrigh)m(t)i(of)g(the)g(Output)11
b Fa(:)j(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41
b Fv(23)150 3196 y Fu(4)135 b(In)l(v)l(oking)45 b Fl(gperf)25
b Fb(:)18 b(:)h(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)70
b Fu(24)275 3333 y Fv(4.1)92 b(Sp)s(ecifying)29 b(the)i(Lo)s(cation)h
(of)e(the)h(Output)e(File)d Fa(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)55 b Fv(24)275
3442 y(4.2)92 b(Options)30 b(that)h(a\013ect)g(In)m(terpretation)h(of)e
(the)h(Input)e(File)23 b Fa(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)52 b Fv(24)275 3552 y(4.3)92 b(Options)30 b(to)h(sp)s(ecify)f
(the)g(Language)i(for)e(the)g(Output)g(Co)s(de)c Fa(:)15
b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)56 b Fv(24)275 3661 y(4.4)92
b(Options)30 b(for)g(\014ne)f(tuning)h(Details)j(in)d(the)g(Output)f
(Co)s(de)19 b Fa(:)c(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)49
b Fv(25)275 3771 y(4.5)92 b(Options)30 b(for)g(c)m(hanging)h(the)g
(Algorithms)g(emplo)m(y)m(ed)g(b)m(y)f Fr(gperf)10 b
Fa(:)k(:)i(:)f(:)h(:)f(:)g(:)40 b Fv(28)275 3880 y(4.6)92
b(Informativ)m(e)31 b(Output)21 b Fa(:)14 b(:)i(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)51
b Fv(30)150 4123 y Fu(5)135 b(Kno)l(wn)45 b(Bugs)f(and)h(Limitations)i
(with)e Fl(gperf)23 b Fb(:)17 b(:)i(:)h(:)67 b Fu(31)150
4393 y(6)135 b(Things)44 b(Still)i(Left)g(to)f(Do)18
b Fb(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)63 b Fu(32)150 4663 y(7)135
b(Bibliograph)l(y)25 b Fb(:)20 b(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)70 b Fu(33)150 4932 y(Concept)45
b(Index)18 b Fb(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)63 b Fu(34)p eop end
%%Trailer

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