%!PS-Adobe-2.0 %%Creator: dvips(k) 5.96 Copyright 2005 Radical Eye Software %%Title: ./gperf.dvi %%CreationDate: Sun Dec 20 11:01:54 2009 %%Pages: 37 %%PageOrder: Ascend %%BoundingBox: 0 0 595 843 %%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.12.20:1101 %%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 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 331508EB5EA0129B0812E2B888CDC3CF50E799B3526B3BC1B4A0749412BCA144 8E4844C61DBA2D3BD966F0020C1EF0C843C3E9EC57CC4DCB9DF8FE98B599D82E E85E4F60FB8DE19891564CEC09C5E23FE7A76B2178DE7154E823DE4E67DC3588 DA00666726997B0F8ED5515D0D87A8EBFA3CC83ABF6E64AAC0FDC4EA837FBDEF 4A7D617AD4EB54799FDAD52E42A8E688F92DD2CC772DB2FE6ADED79DB8D5B322 20494FEC6D794D5FF8F6179365F6B4B3F7DC24A475C262B9C5179A8C256002EA 1EACDE24D7BAE607303D20FC50DFE1E923D185F8F391B2E82579090E3C10107F 673E415D5193AE1B85A27CDCE97DBA4B8F657C84AB0E4CC87203EE17685F38BD 3697BEF5B063992A01EADEDDD8F6E50222398B2BDEFCF7212924B5B4CFB860ED 48DA76261A36E61E0547EE52F3AB88C6258FEAAB6B8E8C00E58526A9491FB194 A9EFEB7271974D9B775B8B6AF0711B6AE478D85988327CA589E7194A609D603E F1ED4BA97C8F517EA2D30DDA5B9D56C7778655746971D2ADCC702C2DAD9BAE06 AB7679BF6F95541424D734ADAE0BB32A4D9C768E2CBDFA303C6DD654A94BBE16 4FA5311D5710F5D6C345C846C755E6A8C382EE27E759813293E4E29F5B46D596 5D23F82E20CD41488E941C783AF1B25DFDA38C1C63F87B266907F732BBFFD9DC 53AC7A64D36CC2C3B0117C8AB706DE2D4E133A395AE5E613EF2C1CFE1FA1A281 B5122B081A5A50DE24D101AC0A5B9A944ECB3C0BEF9368FFF82CFD441FEDD4D2 42F92AA0DB89F178D796BD67F2DD6FB2337C5AC28E43DEAC3E506381295BFA80 526270405AD9F073A6AC3481C148612CD98A69D28D3DC37F8E888D98B6085010 5FC8F7886CD169AEA494D587FCD51263B165BC9E9C4AC78B42147880D72CA57E D3167AC9B0249E9DAD21A36429C1F2F68B19E4974A4C6E23DEB1EC139879B619 1DD6784815BA75AAE38412E64FA6C90E632E72F3A7C2FF5EC94A2A005523C1F7 6E49EA466E2657E1A6275CBB04535BF1A7FAF1F4909D3D9159975E2D09961157 C7F1E897F37C1D9AB918374287746470B6B150F0878DD937D7EAE0FAC0D73E81 EC97A6E8AD3C88140938702C9C7CA7B71862C8DD2B15A35A759E059187F23210 A05685580D5838B045E22BF57DF64DE8552D0E0B26DABF29FC2C364B8AFCEAEA 45A4CB9398E02E7B39A5728233F6A9B0A4D9E2A75798E1DBF8E5BBC7F57C2F15 BB8E264D7B2754DAFEED40C973FECCEA8B294629377F23B339ABE8859C3CF709 EAFBDE011B2EDFDFC212FC6017623B615DEE3D1279526DBC4583FA0D8F1727C1 7C50E3CF94A61AF64CDABA10F25578D6822B6CECA9573E13DC80B9D6667FD381 7AC2CD01C697864BD647E93443D8A2B995A78C3677B5034BEF367F3944FD7ECA 5B92D73E5D4D863E9FE11EF1528F5147EE66477C0644B1A2E62D554C9DB118C6 34B0C08F0C013D156A3E65D855A5E4A0ED2310E2888141369A97532FE1AB979E 208997056265D86FD622A3DC329A758BBE3DA86C73B415B94A63E41EEA07B7EE D83F2FF12160F4725AF9411D92F928265199B240B28E4231E224AF5AD7155621 F542EDA353B5683BE4683EF7B6E02C8B42C2A820AD074699EA44292C87759F0D 5CD158332078DBF07CBFD344CB30FF4029CADF79266188819C429DB8F0E713CF 9AC7E74E7412E27A4DD9F29E1F5DF025087E1A4CF149A890C2E97660EE2D7124 516B0AEBF00188807240C3392289F1CEA651895CFB959816EA4FA63B06000742 85BFC4B9BF76701B51500DF80BAF7D216505F92DC7906EDE5D297D675FFE525C 11E3D3A14203CC64839B27CA804C95A687D24C244AB726D9EC0F5A043840DEDB A1254063180F1CCCC3728B2B58084D3C937380F0D3C9AD1438C628B8B1005CCD C977368AD58A96AE21862F38776C1E69A03D4B4DBF909B460D6C6F4C490DC648 7F80010C947BF465016CF687DE437C5FBD275A7D81F2BE27FF146E769D10D487 2865EECE32BE9AA8E8E273AEE75EB28EC4A43DDB71080A06B4C3A119490B5C9A 0AE1F8039A78A8F7A509BA89D89DD7E897D93DA78C2886B994260E3FAB054874 41E044EBD3DD04B972F1482157ADDE2AB6CAA5FF83306F661544897781418A61 FA998C0B84D4FED7650128063DAB2DAA3815AD5ADCE8548317230B7A5C8215F4 843C36C634D749426F9C5C25168F9C1931190CBDD21CBFCBF71C072B2802969E 123367ADE2349AC6499EFEE389846A29070FC13B766D2BA189D79EB0DD47F1AA 8342C06B95525AED1C05CD127EEF29ED5855D23303B8628BCA4912A22B8BDB4E B9FF4C480EF777D25F7C8F76D5EDE499AD6761287BF24681372B7A5D72B2FE6F 890FBBEC74838B2254060643C6D2213D3F30FA7EB3D46020CAA17963393E34A4 0AA271C8855362E7C1FB24F66606212860A54AAC16A84AE63D1B83DFD83E3A1F 8B141360CAADE24D764486704B7915D6586429BFAE1B7DA94E62676FC29DA0FE 0EE6FA9D8D14492B71DA405AE103D63A3B0C62531334AACF080723A206445037 1977273C647D00999AA1F5A00BFA6C4616A8E80043732D423415A4E27554FB78 E078697DCF9959987B9D760845EB89835AC14162DBE219FD5C192FF122B4D9D6 7BC2A394AEBC0323611B3324BEDB67EA623701B72F0430AA2AB012EB1AADC7FE C5CD18CA1DB5BC202FEEC0211D5C1C5531F420AFEEB7F8C4BD65500BFBA2843F 00B0FA40BA45F150041AA2B9A207BE6F649FA36FBAA3621FF0E65573FF3AC0B2 EE87C22B09C46FD03D8CD614A020163416856E1E03437256661807E644E5E215 ECA74612F029F1C2D7A95EDE47C2D83E75D3626B7CF335AD00DE0DC44B073330 EEB4817F5C14C23A05D8726D6DAF07E0BC4D8F119F7E47A241932D865B9FA678 1A062C187A0630733028B24E77B6C39A144D94D1C0D183183DD4A239A0464E66 B220D23F0CAEB1F3932364425E11F8FA299F38FCD93D531B511805B76A9F7E6B 451567EA2C5C867895C9DC50472262FE04B907B70EF693F14452AF6501EAC25A C83C15D0A3E2CE0ACAF6F8A5FD61F9B4172A0446AC713E92ED8C4D5868A6CF85 6841431C2BBAC89596A9895221B59479BA3A0413BEF8392F867DC74410471263 665E0004DA97297CA641457847CEEF34270ECE4691D81AD75FE9CFC1BF6AD5DC 4934086674F86983E4C098713D110269F8F265CCEB6DAC541F91929B997B69E7 A319E7F6654ABD21EBF40E29909B0C55F107DB1CBEEDCE788DED2E5F0451EA23 25385C3392E5E9D829A09F5811F867A2DB011D80BCC57E422D75073AE587F28A 49AD5455E3A9A521AD3F4D44FE3451A2D74343EAD8882238D7D6F3D9CC8139A5 A4AF7B686E9BC6162429C38149054A5BCF878E8216CF7689FAB7EF22196CA7C3 A58DC66CF63414BE360C3519C4A0DE51BF2627CE1D0500422B73EA870FA49455 3D565B21E48028785038677C50FF6264FE3C969C71793143DD8B66B94B54F2A8 58535E5510117AF66616D8E6EE3E9055270BAE607BCEF7C90943AD24A3C7ABB3 B3D53FDCB0AD8744B83D8635467448EE1CFB06CBC04ECD92ADF821BD0B51F531 BF65508E41F4E916964A0AAF5170CDFF036ACFB9A6618E2C4730359121CEE4CE 599EA8623DA0BCC0BF26B506C4714AE7E6534E7515662380636249FC50352B40 F71AA076173DA5DE47D7756D91BE8F120538E0D0216C1C33E2A1BAF7B22FE3E9 45D68D9A11B3E7068146B5DE27BF87A77963413B6C7A82B6A0D11FFF55642394 A29255F926FC7FFA1508B10D0F26B7865CC0EEB0D9FEAC8E8564AC9AB06F3953 4ECDB9E742241E26056F329F31E02E6C23A23D0E0858544F6DACF6E66EDB3962 EB7DECDA9AA2626CEFC4337AB3A481B5C5A03C4BEA4A18B593C643BC5D0E1EBC DC3352C3C9B495A94BEBF4404FADDCCC4AE0CF20F80EF3F4E203C68416D5B902 8DB555FF32D937A21376DAF4FC2F77064656A041028602405941D38D64382977 E5F6C1E59084026B24AF5D2F04C34855EE2C90A19687CDEBC4CE686C5B12087F 4C5871282ED87DDCB887C12FC53CDA640D7CE0E38CF2CA405102280886F50D7D 7861A16B0EF2FFC87EBED9AE375876FF164A7365A9C982BE9229F939C9932841 7174A853428E225E6C5CCF09B25EFDD76E0A604B1E07D2E83B2628B83B0217CF 02E23DF1DC505F269A8EF8D2C8BBF02BC435BB8A29A4EDFCC709FC9C0772D3F1 9C5299A05641D0FE33BADAEA78E618BEFFA43429F36A14797C59A7D89D8999A2 5531F98706C7ACFAE0D715CABDCB9B2AAEDB14FB7FFE08F919D2C95C58CF35DF BC6A03EE984E011B2DEAC3AE3D57DABEFE8B56CC314928786268E469B206F4E7 52282D27E6CF943428131C97BA1FC94A6A42C9656C367BEDFC357C65DAD3BA5C 49DFA0308EE4E904977BF63E4DD87272405D755C068CCFA503DAFEF654EA9D00 87FC5C35F29F06CAE41CCC78361FC103B36EFC21DB4A81F8EF8AA40DF2C6D56F 4D371861A50A6287668C6B498ED684B19234D0C2083FB1BBAC0956874F5C832D E969C997975DFA822D3CC29C2FCB64CD7D0AED6AD6A0CA3D525C0FA3E8823A10 B99F1AF34A53AAFC4554257C1A1FA00535CCAFDB9329603806321963827C1EA8 84DDB93152FF10057756DE6AAC76FB1506057606AC94EC14144CEEA64740BFB1 8284A43B3DB14D8B76CF901200F1B0F3DE0077EA821AD21BC5DBEF05916F8B5F BE86BB325A384B5C1E07392D0D3DBCA4D74172FFEABD12136C1B23CEF7FD06A4 3847062094EF5ED53322E689EF62595AC22C0B4C976ABEB821AB01D44231DE6E E8BB1A8469BEC0405D316BF84B6B65C338E67E3CF5C3F85770F84EB92D820C2C 442D0A6EEE44C4FC804EA49E2EC49739A107D03756619AD5B9B0159328A7448F C228D5F494CF3729592C839FD22E329805B3234162E3041C63B15B4AC9122BB7 EF697C8281CADC824009BDA150534073B704837D11997BB54482D86627F0481D F9D697AE86B323D4F38C7A75922DC2DCD757E3D6F6BE6FC469D6CAA0DFDCB9BF 6EC8543579293A7C61638CCEA3DC15289561601C1C094E0F32B7D1C7517C6F8F 9CF09BDA84ACBD8E8FE23DF80C38835647230C8DD9D2170C8CC041FD972B3430 EBEE51AC8C4979AE9E57F3A700F4BA293CCF5D09CD5A4131C3F0DD8A4CDF4CFF 665004FA55C9DEA74E87F972F60B6ABBF945FEDD5A92E74367BD0B138CF5A480 E333A1084D91C8BFDDEF637D9AFBF444709EA41AE07701A57847CCC4F5876797 F6E4175D363C29A4FEC05BF90B87F830A8479BCA8F698998078838F08276BFF6 75B7A70E651F3163E83A9C27D18957A1CA714CFF0AF2B7578D247AF4D003D6BA 2E9D7D08C92EA2B45A85A77263ED2B2CD58EE3ECAC00F60DD867DB540FB0ABE6 2C63D9AF6BE106D9946D7060AF818C568AB329857AD47724AAEE1EC404948905 E23DCBE9401CFD7745FF57DEE3D2A1766EED47577D85939C38E56E5DFEDF911A B94BADEE5AF628C42B8D71D591D503DEE593BA2008207A9ADCBFF86025C8B8A8 2885C0B7025A51D978BBC22B7FBAA97EB1F201018C74B38D8A1BBE649F15B54D 1834FEFF96B6398840455AF20A523A8ACD54750EA1DEDD4A5995C2F031E82330 2DF57363BD4D13B61E6AE7190D7BC6FABBCAAC50770E6A594928017A3A2D437C C6C590506A9354AFAE60B89464379405DDBF3EC73780E70DF671539786B60CC6 9D0F02E99EE891F7A160D8F90C4881362AC379D5722963F6C94370A2B3F7391B 49EFEF52A21A9C9CD1E887716834DCA776589C2046462FDC16F72CD0A3D0E5AD D749A13252ACFDE5DEF2C8ACB12E73DF057AB2D2AF3AE6570543D3DC5942AA2F 1C6584CD22D5F0D5FA10BA3BE310464BAEBDC150A61C910BF9CE68DECD7A5D7D 87BDB3025454749112898DCF5877F1DAE5497E5CA1C1625886EE9F0DEA404B44 2D0D283E02D271F3E893B171948E4168F056109C286B24961CD24FF5D989BF65 4B3971FB2E8E15BA4F1DB38E08B19641CDBADE4AE4AEE2B5BDB2D1C0F3B0A021 437727C3552F4C808CE298578A65B4A5CF5A9098F7F4C9C2FA3D1AC0920F2404 E231EB2FA07F48046E2B3C9963444FE1649E293C289DB715F79A1C84ECC367EC 36D61AC9FD5E19011B61FF2780F7ADC8AF4309C3FE8498B1E06F6BBD6EECD4F0 F9ADA8CC95ECBCFCBD0CD6EC52D30472FEB21BD3BDCA896ADB555AC36BF7708F 69870CFAFE7F0E303CF01AFCCD9B5471E20EDF0C892F879821BD432EE1F48933 57A8C5783D273B6F40082DE30A7E8BA2752B3AD516A840931038DBD4A1BCE6C7 C927F62D8E939BA406B81ADC1CF2EC6ADE4F56EFF48ACE5CE528A4046965C610 7E15DE7D645201112A1C747028EF9547609C29FFF1F03772FF76EBE7A9699FE0 CF629BACCBE365FBF06C30A67AFD7747BD5EA5E6A6E67E57F69FE61479466155 E63CD0809E6A3A6B3A5CDFD164328074F88307F31E3ED1FBE44D480A9CC316AF E9C98C1DE6D05028E3EE0D4D012067279E8266758698103473218B1E4811447F 621B4F5A4B5F8D21314ABEACB84BD0668DDCFE9B30CDE6F87BAC289DED99E3C6 551B5464F324A90500D5A38B049A4EEC8B911ADA812CD8B73EE522B2E192A948 A6C48150F34D2324E4DAEEDCB63FEE1A4BDCEB4F0EED65C9B5F24D4569120659 B0A2FE9EEE02030225CA014E7218E545A574A0C4A6BD88EE4EA5B8A537753F73 6EF2337E222B09BA8E8675D9248FA37501D8EA4D8640D19FA7B06DC6967B7F08 FD1081819EB80BB6149525723FCB1CD8C2EBA8266102F2559F1D1D0C8EF27DD3 CE78FC8BCFDF1D112B58F9BB98AD3DB9A0C8B927AC376C3219DDD25F1DB2E7B2 E9AAF5BE78D7641697F2F15225B570816F2D17E84DAD68E7CAAFF88800781233 EE6B85CA5EA923D095A7CCC48F9B8B07E32F791B7F8637A49F8FA55054903D43 37B553E6924C5C018476B5F9BB97B5C14911BB19543D7E320C3062430047236E C386CA9C72E456E62FCBF89A5A162461A7493C7067F0A535F2F71BB8B4884D71 90F985FEF3F5334A761C7AC6274C434DD9B9414444918F9DE49C48A3FDC5F6D7 C1A0E36C70EB89BA0E9FFDD03CEA0688E49BC1D1BCE226D3DF2B7090199C0727 672B3661695EA616479D839CCFDB09C0DB5AEFBC3E55844957C0DC3999E5D0E2 F461874F4EC85B1AA22C804269A16315A5CBCF8587EDC34FB6CA5F69E2584FA1 E5FDD70B444AEB6DE88E38440D38B764D136B0B6FD943938768F1A6A96F196D1 3A7563B53524E37434B4A39AB79F8732A3DBDACD40DB37D569D465231BE7CE1F 5287B2B29FDEDD60B0935028157E83FC4F1A2D95955C6AAAFEAC97799A944D36 79330E0CFE4CC50679366071A4FB51733E8E9C8690ABE3EBF74B37F2305CFF9F C0DA0CCE5F441E0BA1EECC40B8985D812CD66845D49BEC41F488838DC241D038 1BCB8E04501D4F6BA3B68A50735DE0FEE824B277A70E64580E5147383963E339 9EF6794890C714F4C1C5726E4DA9076DBD04EC8DC67B418D8DDBE77BDF970BD4 73C5B888FA4FA8E49821A4C5DE4645B35CC128EC68E05B4389935D28572A7115 93BC588FD6C2343E6CC1ACF309DE6E3E9B317DFE8C6E7DF7626634D6F4D86FD4 A7EF24C9EC78B92EE2C658F776D17EC002FCD93CF86BE5ACAB8109DDF04A5E55 E1132EA4D7B1F0BBDE3EF3D8BCCA5F6A2C75D173C1973FF31C58DC9FDF7692BA 8EB2AFDB5870708F69BF738BBBCEF4564D68785ED0FBC5E2618710B8B54DDCBD 87F41469EBB10A4C958621AFE7D538441B916D2027CDB78CA1D2A48456980FCA 6A13540CF019918A657D985D061E38C9329BF9EFD2D8E46F6EEC1EEC22BFE9E1 1BBC26AB53DF3F960D44CC4E34F94C9FB5DB77529F7145B317A67396DD8BAC4B AC27C112FB80C7FC5FEC5635FB2F1285462C512BA93611A606BFFA756CC63844 B150E927495BBBBB6D0198CFB15895ED3D3C7072A1BE173674281F30714F7537 5E0C58B51222FA703FB6BB359BACCD3DDE941E87EEE6C843CA110DB6C9D8CD69 7A285CDC0624C62F95FF80B94AF6003D0230763483101C3B5696C610E8D7BE7D 744B7AD5646E3E03296978B4B26FCBAF9FEE4BA8D2BBCD7921A90F51515206F6 5C5734A3E7B79EB6BE52E5BC7DAA9E25E8212F3FEBD8BB0152DD3E10A354E0D0 D39A32FF16BB33E7E237A189E22D3EF237A8ECF4A29F2B79732227C7981D5397 119C02FF86699727DF000CD2455DFF82B9612535ED20121BD2D59E9DA7A730A0 1F380A54735140ADE866214B1BCF81251429364A3CFFFD0210F43DE4C0F3A18E 16A4AEFD9B2C8BCB63903895D7E089511F757377C3A0D43E6632C02A7CD173FF 6E4814D47E921A614C15E1B820E55CD5A247FA13FAF772FE3F8626601D194BE6 D0B3E54085BBFC07EB177B8C0DE6748DDA218D263627AE581F418D3AF9D4DA63 F47B7F3CCC97273519B663B0732EA645792523B25C51AC82100B3967C21A50C0 5E03D101E3E2809C60B3C4E39A4F2312CCDEB4947547AAEFCC36C11C0704FDC9 FCD24AEF0E222F74797AB55AED4E44231DF417CAA77E407670C1CAA980D20A1B 9F11A67F0E7D91972E983B7C737F9B88C6172A978AE4724317167E60A440F18A D4A6E9267E91F0934DB4D3C4A39D39F081FCCFD81507CFFCBDB05325C9244E93 9FBFD33484FE4EC6C1785BCBE4B86E54E211CFEEA8B47DAF823AB2B594457AB6 DE5A4F54B9880F2337AA6D573C0BBEE9297F59152879D819D174B053FC53DDAA 481EEF7B2A2266577852A135DF521CAAFCEB20353BB261C020F0473E17C6228A AB23DB46B8C4B4E34AF964AD908DD9C2BA4D9A1AD550CFA68D90C3F905FC624E 54686EA5BCF51A9851467531F62D383080D1328E7906B3CDC3D07437F7551FCA EC539F252F48D47992415E7AA9DB09151A07019207F6477C036DF8C3938B9223 8F8CDBFDD54664F2A0856C4E43BC30311B503FE669C7AA9DF8626102E519AA79 77CBB1B04B3F0D4868E098820E2F62E5294C8F63589428E5587C972B3762A525 31A4B8D5197C9D7E7B5F053408FCEFC87EE8CADA63DC8E81A8608BF7705F104E BF8D270C9301730040345F24D5A501983AF533CCE8EFCD0853C956E4E63DC0F1 216188DA8373ADFD01E1F13E2A8295C6EBCA5EBA167634FA19EF1842322285B6 4F4E574252E9E77DC61D9DE2110DDFC71FA79F46A5F5C6E2D2E33FFFDBD2BB61 8B68780EB8C54BEA61AAF43911840E4446AE19ED0395665785BDC1C3C912CF4D CEA2CED3C5CD3B36C2B9E80BD3592B39EEB682CB932D63EA456BBF7B0A616DB5 7BB7B605C06D7C4FE7DA3C9102148C632BC8E40F2CF013AC8C2C029126A33489 4350F09393EF045BDE5E949C690CB907F4723669C8C0EA953BC8B4CB89585B90 86EE01D31584FA1D60384CF8ECB63133BE37B687F0F660121FD1838903A82DF1 31BA75E32B5C66BBDA89E155D9AABCB3102894D791BD7528276A58007CFD97AB 5B4F556356F0A07E2F9D1510DFDB87ED66BAB5BD43577D3F47602A297A391904 2B441E55C73DCC58E6AA8BC145959D5BEC778AD8504CA516A1E086E8AB8E45A4 504814FFE344D71DA5F8AEE2FD228650F7744D3D80A8D051DB487508187CA5BD ACFD14F483A47F490BDD6E5B4B1D4816CF97938906C8B95ABF37D9F7249403F3 785EB51904ABBE3F8328666B07E546FA39FD0E08A7C81CE60F681172B8F1AA7F C9AD47C19042C381D6C65F56ED7C796876763527F00674CB212FAE6CA4227AA7 91083D6BA175EBCCEFF501C5A313E4DF0F24A3FF04FEDA817D0A43308339893D D8880614194F99905039F1E3A3037FB1A793831F6A59DD1BD93717F9BE9C7B4F 2190AD59CEFEF5F725C13F7423D995905B2BCFD7D5E5751CC337736EAA938D96 C3B647C884D77DD231FB4F0F12F34C4F19EC624CCE23E79D8819E5973B09FACA EA6C4F3E41598F1D85E9B7B2032DCB586E40FF894B7C5F824FC29AA9060A2C38 1561F32A55D27334FCE5DADF069B70D2D273A90684A476267BE03B45F7E4CC6E D218568CC95AA61EDE29EF2782D595D36E6C547A3228BC1896C2895ADCEA6D9F C7F867989E19C294B11FC361E4848C517D71A24192600DBAAA35D0FC131F5987 D0E601E7770A3A21FCA2BA791239D2E828831A5629B5EA5FF5A0AFD1206566C7 EE078EA1D894567AD302C4D6CE9ABBA5622E62A7C098174D3F4C4DCDAD3C5B1B 8334DA7DE7ED6F290A1E724E503EBCCBAD32A4917BD0A52E56B17A51F01EA478 C3AF49E79A6C8322832FD9264C626749838C9468D6813854E6EF5D128A73CBB2 7C6C3C4D99BC785E5C05EE5F71F48524560E0B9BE7380B07BDCAD174AF60F334 7E8916D1A27C07B170E56B36AC746A1907201A02FD2D542CB05B10FF6AA0398C 65DF4B23D4AD18AFBFFB99BD6C4B68BDA3C96BA7ED6B2E43F4CBC09EE1C83BDE 1E27A33715741D367BDF8DE00631F60437EDCBE59821D5EB05E1C9A431623409 DBADF50812013FEBD896DCA3CF2D40F2B54E4CA9BED3F7727909F3566DF7C59A 1944CF20D0A1F3A0F33ADB1EE0E5CBDF689D810614164F6C99107A45680E9453 46889A48B24F8FC1969AFA923358DAD571B4C8C382451EAADCC1961DB9EF9684 2879F2A2941D91A650265F0D690FC7CB7E0A03E8E7B29608C5CCDB6EFB503C19 5FE8CC0600121C62653FF110281CEF44E9CC51BE73087C491FDF1EF9E65D0CD7 B47B5030002CBA1E661BBCE4F5654AD7611D87F2A6ED1EFEE6EEC8BA9D1FDB24 7AC23047E333957BA0884433D5477986F3D6E70944276B529D986C9DB106A855 281855468228D2201399155385316D73D6CB09A4213B25A7E94808B132FCC87C 5A5E55AA0675ECBBEC02B0D158D466939049D1CFA45999AC664CAECBB02CA229 26B1D3F3CDD7319A344A6E565B0740A39DE1B12879280422ACC3D46FDF10CE75 B9EC7A53D08D327943362D3A379389DC56BB1BEC93378F5E1C066F20CCD8A805 B6EF1094A2EAA18550C7674CFF4161FB650CFA20164840004EAD0BC02F90A251 3E575F192F04AF0DAE4BB67B920AAB3FA4BD7D29C13F7F3D74A08138361DD5FC 723627C327A44E146C26B1A3C765E068E3CCA87E4BC43DB99EA0CFD6F8AAE460 86AD3DCE5580428B79319FD4DD1B719D324F8A22ED3FA5DE8FC644D2448A02E5 F41B33E40DCF4B5273715C6D826767638F8FA1C2E6A077CC3D7CB1F1B561CD3C 617B414FDDDB53131C3C0729926C60312A0E77FFC6E7122A9B8C712AE745A6B1 98B0287848536500E68229B04B9B36998D26C3172D1BB5F969F9C2159FF9228C 09301197699BCF1E8FC572115E03A6549815A3CA1843AD48F76423A7BE0B5958 403365584BE04F2533C19C59461D098618889ACCB72D438B6A67C3D537D5DDF4 739C5E28878865E5B966AF13C93C61141A2096691F720A22845B32E4BB9CDABE 0B54E93737B5C8EB3A34B33D5004E89529FED52BB20993DCCFFA7BA3E7818887 7AE16B8E2944BE5A414F4902544AC2980B6941020DB37ACD3206D4097CE9D773 8ABBE3CB093103AB22BB1AC838E0675E58ADC02961D8C8199C40DF9607BA5724 C9426B847CF54BB03E584DC1205A5E9A6DC96B6605DFD38853EBFD4D83D58B8F CC1B8920B693A8BF2ACAEEA92210A76E499F71AEB042EAEF7BEB1CDA04176973 0FED3683CA4277DF1A51533466A84356DE67D3F5FBE9946EEB815E049C6B7696 327BA770004C961E54C7188717CE9EB1365ACD0989D81EC654E103D7E00ED214 3AA75C0B1A464CAE491BF8A58325BCBD64A053D443A549BAC5A6A3B14469CD8C E2E61FBDBE72A563ECEB2F8BDF9FA287D81E0B290F32C71790E7C5A633C00140 FB5F84F1C479BF050DAECD93C2E55EE8F198217C0ACBAADAAEABE085F8F48096 81FE220DE481A0B6658D2C442CF70CACED03DF28606572E9F5423378794F2AFD 59C5AFA3E4812C2A68AC7FD4E108B5E49BFDA7F5DF908AC2002A44BB256CA0CC 84083E5BEA66CA1BD481915E44FE76E7B7C9222C8AE6AB316BDFE13F78CC8EB4 E818EE7E151D85B82F66E0AA840A81C2DE92F41A6BD6E891911F0B721A7F8EEA 403FA247629E32CBA3AF5E9CCC65BDBC858CBE0A73911683A548FF0CC5C59BE2 AE1C849AC3655592175608912E36C76B9A360BCB16FDFF13EE52009439360931 D3FCA88A291A80D0191C37AA41529CDB8671BB2B56574AA9891318D938366638 284C746921B4B4AA52CF54DAF10C4CD7304CB0F3A86CE941D58434BA6928EE80 627DCB0083E3737E7C5173A1CB6AE76B753E0D52FB7D03695184D25325AB4AE0 4754BA3EE0435F5A73D1C8E5A0C287020E341FA8AB10C5A489B7C55EF12172AE DC47F44DCEF199EB8A21DBA841C06B0C15B0BFF9AFF153FA3CF7EA1D6D5E0021 FA6D554EDB3E152910BC06835D61971ED81EC6FFCD9BF225B549CF327BF81877 24E214BB1EC735FB6F90A2088D07329D0EE8C8718367F5A2CB81CDA6668C1570 2945179792B05042A98A863F2274A517EFE62E1A4D8396D974C55542F7FBA5CF E06E127DDD2546D218DCC1E4719253500DB6A0467B073550DC6DAF8510AA0E91 5C6C5A79EA47C7BFA147815E63DA3AAB3EF365343FE1206E65FED7C0C32F408B 82F3498CD916141B896996D923DE05A8EB5F67084287B0870ED87EE892CBC157 D10E59E51CC68C39B7A204AF3D392E9731F0DB1A12B92A393E438A88639B076F 9A5FA0893BF15F608E675472DABDADFB440F9D9441F2C7480DDAEAC135297E34 75D680E79D670DD39F4E52F7709899C45179EFFA4731A7A0B93AA92CDF 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 39139633 55388455 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 19[97 1[97 2[54 6[54 39[{}14 172.154 /CMBX12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: a4 << /PageSize [595 842] >> setpagedevice %%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.1)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)2528 1627 y(Edition)f(3.1,)i(20)f(Decem)m(b)s(er)g(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()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 (ANSI-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()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()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()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(ANSI-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()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()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