diff options
Diffstat (limited to 'doc/history.ps')
-rw-r--r-- | doc/history.ps | 2608 |
1 files changed, 1334 insertions, 1274 deletions
diff --git a/doc/history.ps b/doc/history.ps index 98d2d96..90b5c94 100644 --- a/doc/history.ps +++ b/doc/history.ps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.996 Copyright 2016 Radical Eye Software +%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software %%Title: history.dvi -%%CreationDate: Wed Sep 7 17:16:25 2016 +%%CreationDate: Tue Dec 18 16:44:19 2018 %%Pages: 24 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 @@ -12,7 +12,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 600 -t letter -o history.ps history.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2016.09.07:1716 +%DVIPSSource: TeX output 2018.12.18:1144 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -347,9 +347,9 @@ FontDirectory/CMR9 known{/CMR9 findfont dup/UniqueID known{dup end readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put dup 49 /one put dup 55 /seven put -dup 56 /eight put dup 57 /nine put dup 72 /H put dup 83 /S put @@ -555,167 +555,166 @@ EFEA3CC6F0872C28108F7EBBF5BF770C0BA6C712275E1239FA44736247CBAAD5 B856D7BD6E5E186AC4C3913293D99529B8F9EAC85FE548406DE5D90A058F1106 F98799495DBB3A05C04BD649053FD29380E217942F71F70C30735423F6F13DC7 F5015DA9043FA42C1045FD7E0F586CBF2D967E468B2E8E763415D60AEBA2BE7A -BC199BFE58FA66F52AD7C5ED80B4481C08EC8162D88EC52D2695B95EF03F1876 -AC9810734E1170855B512185F1E45E61CAC2221E950F5714EA9DF794371055BF -78851B835E6E730E396BCBF73F5318AC157E3885B8EBDC35B42948DA8A6566CB -91770EC786E92873F356524D6E3279555FD1300570D2DB5A69B436E316D1600D -7F622135601C1318824C0E0CFD58F90452F7D584CD8675A3ADD544D9569A32C2 -2A44C7F7F35FFE5F8B3C783D071BFACD74B1477B93807D36B8C8B29B24B3EDEB -B76579FE5427A4E670588B703A9000F3EE635D22642493AAB21B7733EEA50010 -2E39529212B65E7565AC5AF02340A8A15EE28E5772676DF8F2F603F3442EE12E -1998A90868C39500AAA7F469E6533983CDB9C1772CA11F9DE5E533A30B97B735 -B1A91FC71909D220C7917389BCA4BAFAB242B26455E4B7FC1882D68E408D25E6 -F6BAD98F84664993901FB2969C4996A0D326D478B77B433C225A6B9A2EEE56C7 -44DF603A25947377A93A92566FF2547760227C5341B4D49238C74A49D0B13EEC -603D7D071A726F9C6592605A2060CDE6759F7BFC3AA4471093516DDCDF6ED4AC -5B1BAF7B8885AF7C01A2B72C2207B66C15430AD9390B592058557DF0E0356382 -226C92B9537DF8C4F37383902B4E1666689E85822C8A5A6AF3CF47CA12DD24CB -847FE32E805AA98B3D6A16622A05CD8D0028621906425BC18C4B451A43766C89 -5E1163433DE64437A88DB138B0F2C9A5BEA6DF789662C3CF926E47886163DD18 -5B9F3417B3A9F7012AE2CABED179A20E9AB4E6CBE842A2159F2B9C8553313CA6 -893456631FCDBBBB70B1B167EE5942B49EB55122727406AE71B298953C01ADE8 -0BA8733B658176A881B33381A8A917587C9F2B88639153CE90DEDCC822B75C8D -BB2F8F03639A13E6F3845521A3F159DF384FCF569CA71C0498117EE72EE057EC -FDEE060EB580E8B7B48ECA10C3B9FD2498D84BAC4D6494E29F972442300CBA46 -3409FAF6702F99DCEE4EC5CF909042CBF6BBDD15A822138A17ED1EC002BC8288 -F04C3B656605946035533D25767E39EA6A0B2D2AD88FA8326EB1A2B451142445 -E53F1AAD06EF339B64B8E7A5E197DE9923679488F8672E8184C3562FD546F1E5 -0BFD41261815597158D89312F84726037763E7AD7B54E9FF4F5CB020AE75542D -71A58857864D6CE66005928BD0882690B48342CBB2EDDBB054C53634B2CC6133 -8AB295BA408D5DAB41EA92DCB6A7E0D00876544B886DE6859A7D237EC785AA43 -C8697A8DE30554471E819A3E56B07BFD0D4ED8AB7EC6DEC31397338605F49C34 -9ADEA23D85498859140F30BED171CB7B15EE3A219CB005BB4C6B01495CCE1239 -F406E4F7E9F5841710CFB152E86B4A799AB159E16A848F8FEF7A13CE20C001C4 -1EB2BBEE086AC5CD6B4E69D1A26A9F33528AA0D878E715ED91610B773DF0861E -4D5C6B74289BE02C99A2436FB52ADF8D6075EBFDB3457D1F47AF297AD01A6ADA -27EF7645D470343E54A9DA9EC009876C4A2724C2F829BAD63257802ABCA948AA -E532CB4BF794863380718A125CC162CFDBF0790B4021C80912E23698A8A37BF1 -F9C5C0BAD7D5BB4F642581097F297E0D46B536754E408108D84B05C8942FBA21 -BD8A8D9865DC739E89710B770ADFF369E0494FDD2BC8A5FFFFA48C58268A401C -FF0633ACD4D4B11D0139D3D2EE212789BB96EA732CA519D548B8A5276CBAD81B -41BBEEB2BF708CFF62CB02512BA2E0D208573E8F1763C9D074804808C980CFC1 -10A94039F2AFB2AFB8345DEED4F6023CBD3BDC0AB624502958705893327F23AC -5691F98E44F59700CC30C983BF9BF750B95282441C5C3DE6F424E95FC8EAF3AD -62D6B488A7003326C78437D973C478F880ECD5320F8B6F8147B34D6A19390D9F -54F5579BFCDD05E9CAF808A8A15F4267204349016F6C129721EA4F4404CF882E -C7FD593BB1C9128B0938D27D49CA8DF644A4930EDE2CA73D756C92F94CBB55FC -A7617F9A94B26421BE596C97E3C476232C566E5128B5CE25899C3C8919E49821 -48F27D5D50B4D3AEFD4FE6B04147FD3866ED46C4F95F0A08B5F4675F72D17DBB -77CC6DE774B2D2D896514D039BC0F5F2D6168A058A7225A0BE39F3814C32B1AB -FEF343268195E2685C7B71E15A719480511FA763680C62C441F121C1F2F62ADB -EE0615C2868B9ABF3C704BD1140112C944C79C1AB82E25E7A344C8CEA0D46FD1 -5783F80C7C11DD39ACDF8B2EECE08FF8160E8B729C73F31F45940017E93CD600 -2CB347E2B4FC92713FDCDCBCCA009EC506F399177FC5A0F8D01754256B2CF7E0 -55E2F4A3B152E0ACA549FC3D982F6A89C9C616A0FC24D96BA1C04A536AFE5D7F -FDF5C951BB79A1405F41A2FB509AE5B105333C29E3F1C6CC4FE578373EBC50C6 -BCCB4300230143828062A77F90F08DCC3F602A7E8F6A086F988A1D4059FB9CD3 -0AEC529D64D6761E641E49354B9A9E6518121D606DA1DA14D404427367C38709 -B984BDC423BB4CC58469DBC4F9B7CE8E57F766DD524CD00724EF31C8572C0EB6 -3F813B564FC18F0AB8DC5432082088C053A75C4A731A6B8D73CE1B7CA3C8ABDF -514055CB3A70AF2A96D63E98BC88960143A6832D7A87E96BCB410ABF78018D94 -39806824612C45C0B934E7AF984FEAA181C12C05D34DFABA37C3E337C5B6FBB3 -4DF64167C63459FE744746B59DCBA94790D8E356903F6C5EC28CC90362468ECD -93FA69239B7A90EC28CAEF102994732F6F4876B2C32FCC9717E47918FADC747B -1F101711F779FD5DF45C8B1A4E441865AB1D87E80A3024CC9EBB2D7F8290B6A4 -E270B71696A68BFDF9D1C93B79C6C609F67B340098C658BAC16A5EE1EA1AEF21 -D6E085F2B4DBEB8766D245C997111A92B9AB165FC30632CA1D2BE76AF0273E0F -D8FF941C7FABF16DF2ADBE453E47AE9A1509309119749993F549F88ACBC2D99A -898FB252F0A88BB96EA8EF9BFB743ABA1E42B50459DD427175A7827DF703FBB5 -8E7939A3916BD6186A56F37BB142C332764B3BF8B92F61774648E4EC13BEDFF9 -709D3CB1F54DDD881C35869FB133CDB4646A05037277824C7A59311D04AA3D0C -15D5D96F14C8DA0BD589BE22991B2ADAD8761701565B1B9AF9C71D8D17DF553D -1B267FF9F75E0D6C7ACC49FFEBF0526684668DD1B3A060DB398992F9C7522F99 -9417384E4AB2FEB323FB3B8D1FA2041CE3BCCB92E6549786813F39346F915682 -67F6A312A33E62F2748832616BF17B30F06A9BE8ED61F7962FEC47885CFC93E8 -A3487DFE3C97A539259CDF60B1A4C41D5CA938F23F6C9B798016D53EE94DF128 -E4E73A7B0F01FB6B722968162D5A82D5DCFD06DFC635A085AA797F1AE249386A -B42DCC3D621482BCF99AADCF55677F1DEB22E0A260426BE41BCC1B963DFC1D7F -5B398D4C8018A420520AB2F1313BA4D25FE28C2DD586053B1FD62A2630436256 -E0C0B4DC7754568B0064738D940A12C580343B8CF45DB56E83283189CB9EFCAC -4267C82C3605BB700E5ADB99093D1DDA033F261217921F85C4DABEF290E79095 -2FE9796EAFEF4890B4AD4E173075EC4534DD5CBABA373EB3D1BBF24CD3587660 -FD7D006BB84C1E8A97F5E47BF084DDCB905ED833E2A2ECFD3C399F29ADB6B306 -AFBABA185852E4FFD6988CB290FA8E40B80B2E7130DB1146B5CE35E060AECF28 -187DBA804CDF12A0B82654B7F2E836FBD6EC4303D5AD26BFF7327AB45CA4E741 -DE4731C7707DD305AFC2694A6E64A51DCB4839E9C62EDAB3351EF93990371FAA -7B2245281E2038A36BDFCFFB40E3866F84CBE04283F4BCA5D04E57609428F4C2 -892CB93DEA53B4B1303968E0477139619E93E1EAC69B49E7CCE0E169DC7940B2 -2F6D8AA883F3A23AA7B85631D5AF2ED347E636DB8CE83C7F14E5C901353E3FDF -697C060BC582E78E3E62C0BCAD1050B26551D21B67072F86D7D801E5210474D2 -6850E3202B67873F5A83527DD88D7EA37EF9995947A0A570BD7E6EBD07BEBD64 -630D3B0BA39C74BDF84F34D6AB254798A815A5E9525C7926ED2F57E4328907BE -3537348976E30AE5E7663C939DEBB3C9B18A85F52C002CC0EF494678B8031C0D -0D0FE220B7A9ADCD2E69500D6344B946CE04F636EBC451678DE5C40AEF97C382 -BA41C2FEB0D13E237BFEE8ED7599FC698C895969C0737C4233C4F973B3F63E09 -BA4B70659BE66CE6A34E1D833C0F60F34D60504132CDC5E4F2A1957737D219A4 -E2C41A70C5FB47DD7AE4F471294003B6EFE1AA402AFC090E01A872113DD64137 -982FBF23DFFB39B1D7FFA6C8E2905085168AB6A562E0FC6789EC59B0714B76FD -42D025EC4B5B46A22E9B7D414B3FCAA3B7C6004576E031BA7E6555679C080CA3 -2BF40C855B35684CB9D8D6CFA2C36B1C04F0C2EBE3E91B21018069F22B617B5A -06F1951FE45FF83575661E42FDED91584B239C9EBC96E932F3CA8109F7BCBFC7 -130FD5A3FE2C735843B4CFE5C60EE5F7DEF09F937900A795A781B69627D0CEFB -483695744758CB55E7C68311F5094BF928666F805D47CD30AAFDF4D9B3D899DE -B7A5FEA16ECE4B9F34C64DA16EA56BC0D570D1A6DCAD13A348D5B14165DDF06A -2532900442348D65C506734E33035B0159267E882B0444628B8A68A3CD273EA6 -96BE26B957BD00F56C8F905185C0F94AFD2F7D266EF13D18FE46D55AD7D0CDF6 -A25ECAA6CC0519167FD9585B2A7CC7C49032FF93E06F53B131E0FF8CB56A96DD -A8735A20199CBF4D6B5EB194CC7EF59865AFCAEDDF0F820878AAFEFEE6FAC059 -526F5788FC824D330BABF29F28C3CC3634C60E3F7BE16F03DEC298EAA13F7012 -443DABD55069737C9BBF454DCF01BCF18A77FCB84FE818F6A007763491FC6C6A -F078717E42B1369FCD4F8ABFFA0A7C5752DF27E31DEC70A28B169AC0B2D47ADE -9C8A60A78D3A571C1CF36E1281B6D688150CFB8FFCC0569C9AF619BAFC14ABA2 -81A4BE84A42B32247BB1D7D92CB59510F7A6E8CA3EA0EF4CCBC044E06406AEE0 -0382182D14343C18A9585812E09163812403D668A21EE37603F7B50998B76104 -7E9819C576F67CF4701736E3916C128A7B548B816FB58945F672684E1F7F74F4 -A597270B8A42DB7783A4B58BC4B0406CDAAD64C7BD98825D6C913D79D80F2600 -6DA05A97C518E2DA6D26A37041D7DC1A946CD56AD0CB8C6DF58D0819C09D219A -8411E0594FED8A00BE066A83A99BDA43A6EB6DB7BAE07259029BC157FA5BB0D8 -3099756B42A2F3FCAC397B6C6AA474E0D67F17BFD95CEAB82ED12AF02020A505 -B70131B326A639137258A58FCC444D3426FE0587A408521297F47579A97A0DA1 -56E7F304EA883B99E560AC0FA811E0A2FE2EB7EFB19907775992D4448FB0A0DE -4AD04DD37CC82487E81F71A5EB07B8E3F3E4C3E2A04DE71401EE8488638DDE69 -E24652941D99D6DE77554F9BF4044CF33E917A57DCE21070E4E88C7DE8DDC312 -9FF4B7645961D392AC2E03D295FA6420B0190AD5E7CEFE7A8FB8B40A943C6FEC -E895F72E1929160D0EE7163CB8BA46AB9F46AE362596F011C297457B10D47BF9 -051BC41B259E77A466EE08C66610B0450187B270FEA9AEB9A51057461AC3167E -55F6558D1281BF559CC09668B7069CFA2C9917F00ED029BC36D003E183E805A7 -A4130DB6DB057234704E9735408F8659CAF3519F1C314FAA472EC3BE153A0992 -258497B38A4F16B67961844E7CF1E4B0637E38E1031D99AF838FB1157855CCCA -0A6A82DD423BC09F6EC30223365A89F6336AEBCCCC471376C4E74A5E7529FEFE -570C08B37B2E960264032693E2FD76F644435BE1155C2A3FAB40A4F69BDAAD77 -378A0777BE02DB97BF6200A3423F663202908E88FAFA2C6178B7ED65D182D4DD -B9BB636A8D6D1727C304F2F36C5F1C50DBAEA96BA7079D20D84B4FFC26A1E631 -4ACB088FD858AB301359D555D6560900806E2633DC41EFF903FA2574F603926C -47B74A598B04A03E03CF6FBDE8ADFD4AB480CA8835FF84AC77D5708999470CA5 -6B723737C43D56AF8DEC794EAD4B43069AE408BBE843622E488C0E2FA1926709 -F4E1390FC739FCA366B552F1F7126889FA3FD02303E7410F3E8504A79F18D410 -806D1E20E7241B7759237FDE279ACC56EE7FB3D7D6B3AFBEA5ED8066FC526090 -B3C1E7D8123E1B939B6330852B69980910C84D57D58640B7481CDB75496C8040 -7F863A3FA81362CE2E8522E1857455697CDD15E7C4EDFFB3435562A957526E9E -C5E076A27819B108417CFDFDD52864984BFEB8D96136B3EFEA4A1E57B84AA29B -08E7BE55EA267A7D613FF38D8BDDDD07FA43BF3BDBFA3995FC8FAC30BD8BEF67 -F8B572E7E972AA1DE1058E2BCAF6A6A155F451AA398436AA5798A13B95963EAD -66A75A37C72215CB172ADA573E1F24D27312355E452879C21586CBA30161AD1B -6468AECDD9D0E2293123293C80227527B3B0F830B1ACDF3536961AAA5601A353 -EB1E35BB1D0A93D13309B4ED3C2E269E7F9371F2F7AA34197E4516D43EDA99C7 -E79A7DCD24C15B469E95677A74CF034FCAE91D016918E752875E25575A6878BF -63AA29C377C6EF3717E7D5B7408A44FAA1CB8B630B5BA17E2F7E552779AED502 -6714A8740BDE5646C08323607EC198D04F6E265AB93C67F4AEA44515226F10D3 -2E93D3A2729185DE41E00278115565D092529569F7DDBF97C00CE386AB6E1738 -A1C197E40BCB26E73AF481770AE523B8DBED366E9AA68849087D5217631359BE -127B595DE2CBD9AC588289ADBD7EC6293EF82B2E6DDE4950BBE74A5CB5647B26 -CA37AFC8E4E2C2D518A1E8D56228568259704779356C9FD4DC48D53FC28C32FC -3C97E6833AE3C9EE7AD45CB38CEB19653A94B85131343EAB8CEEC01B77730D58 -075C925CF28D86E65B8A07DA41E18D4CAC0D77E695BEBD34893E84CBB7269F2E -B422F7C060CA005582DF02CF49F69C962F34F545FD7EC1F33290C39145119750 -3292DE1361F09BAC7F2A55506940C2816E71335FDBA538C68104B73E0FF4697E -FA7D65FF1D691B96BE382AF92E6DF45D3D2374C7568076FF76F9C23AE3DF4D8B -A7B2F416AAC3FC524063E7C9A4B49BD303B19F33D1DE4B6AE7EABD510908AD6F -A8E0A18294E5C46FD41193DF4656F30DE28F08D81903CE40D467637694E1B383 -1C4B1B0CA895F8413B6E686CFFAEAF61C6B7DCD846DB8A4E715307A7356DBD59 -86D5619610EE086A39478AE985F33D170426508AF1EA81343CF615EF3E117E2D -4DBCA2B03C4355A59F3AD6F27EA0A5C05B10CDCE8DB7CE7771FAAD248F59C2E7 -62474CC2C16928DD36590E4CA3695003BB960FD5 +BC199BFE58FA66F52AD7C5ED80B4481C08EC85B51D5111091F54823FDAAC9DDF +DDFCC6DD16186911750F761F9907A438DDF4506C6ADBAE868F8AE594EDD14B67 +2F4AE01822A99E924DFA530CE96B6A830ECE92ED0AA54E82D971689EA5AACDB6 +EF5562BF5C5C05996D08F30998D4C5AABCEBA2668C779577B2ECF422EB0192CA +E5A6376D0A7DD36AE46B713D0F7BA51039E05F76B3DC275C95EE5FAF3A6D8765 +36B55707F5DA048F27E64850AF042F96BFFFD3B3903C60869AB41C1D92AA8ABD +1FDBE17E30BD3C035BAEBD18239DAA330A84A5FFE1F4E73AB0D97814C976112B +9DE60C280C67CE7B6B5CCD4A00A4866D2F89FB374260E9C0D1047C26DAA81658 +42A4DDD43FC3AB8DADBB4D53C5BC7FCBD0403E755FE896AA75B11435C7A68AA7 +2F30E648E53BC96D108520D9CE9193DA216221F842FD0F3FC6533B95EA18BBA9 +22286C98403528F049DF779B434B60BDE95597FF0AABEFDF460AA0BE6AC0D179 +D8120F9E6B053113D442CC584FD6EA91C4F94FEDE368E0B9DE473F786B0FE914 +21F3099CCD799C271639CC314F9940AE48775B4094985B207F8A833037FDCE9A +CC73F75B045E923878E5F33D28C98CD7E3D8B59B2FDC4A483CDFE067EE6BB49A +AA5DC515825A9FCF3BB17187332CE5CC9FE34A8AAB8931883A177C37610A75DE +C881A5C5EC31782C568D1B04D2233CE0930FA5D878A7BD6CAB5CC86EDEB29124 +A9E47F4F5A8A95B780B4286397595596B95B7422964D5D2D609CFE3440E62146 +C04C75E9EFA7845A3A760AD00863134C211BE72DD261ABBAE39CC898A634A429 +F9D0B4733117E3217EC749F520C8AEA79C2D61038BA7A2B491D23FD512B31710 +8280D8DF30D8CA287A2B040C71F73911C8D5C8917C242C02A331EE280CECAEA7 +FE970E55A74B44A3EEE8ABE0E207824D81AB21C8AFCF5D4BAEA507A2B669177F +E94D14189B0552342C288137DCE659AD2F629533B07E8A668E68D117A3EAD47C +D56112F27F9B4CDC7D414D3B7B50B4F489556C7BA0A3DB7E8C29DB3630B72D10 +2B874A871540D45D3F9B39005F6F4D8095A21EC9F557EB81CB08D826B257A40A +C29D2907B33C90D28E6FC5BF776DB2466800F8B10325A5A826C7C959ECC2D2DB +3DD7EBAD12E1955C958FE51559594C29EDD3DE5931CC13C766F9223C555CCFB1 +6BD1571D1F0F61584608EE366E37AA4B5DE50459E00A2F7DBF7232980A348B0C +AD0009DCFBAF1970B2A8022199FAF4079610E9E335396BBE2B43906C5D49FD87 +0013EF41B79E49B5EBDE37373B8179748A2208ECC9987F45BACF7B4FD3D56A0A +64873020DCE8EDE7ED99A63327FD3D695A193EDBF90DC8A018BCA317B08759FB +45133229F99FFC9557D0FCCB67758049A446061AE96830DA3951E84323A7DDE5 +75937E1E8FC44D1B4B272C6F2FBF4E1A4F314B548E46EA8A4DD6076BA24CB572 +B26681037ADCB67BE340151001642913BF172ACF92FA3787D8743830492E2781 +D54E9771414C185B58E15953350D2486757F78CC5E099001627AFF7B58C206AB +CCBC550797B79F6DE84CDF2049AFCB62812CEE8454A918504C1463A0BE0B5664 +DA447AB71A060B517ACEC106C6BF9AE03A6D15026DC7BCF3AA98FC41B2D263A9 +9D7889A5C15AB3EBA00DFC9E095BCC4C44547D566AE9831B7AC4B253C2658571 +06DB8A68192AD9586DC7E5145B47DF21660523F680D85246E3756169B3FBD813 +8EC48A865241182332BEF52606D9D8F980575A7A8CAADA6136AC9CE8532125D3 +6C3EB26E2257F6EB80314143177A167F533171AB5C16D71F28FDBC1F16E06499 +4688185850778D7372DFA56845D468CD19396FF3EF1AAE7F596542A55730ADD1 +9574BB00A15289BDBE8796C599B0D4627FCA53C1486F7124FA047093707020F2 +B161B3C343CE9B31FC9E9E37619FA30D58A082F41601EE3E7BB420DEF4C8A0FD +6254E9EB5D2927452C649DDF5D0B2925126FA9EC4D65D711CF943FCD7F58C518 +9BAED942FA06619E39BA7EB20492EBC7EC93D95965C6121CDE165CA660A8FA9B +DD40C3EB89C0E2E963440FF61F98F039974ED30A1E080D5AE6E801B081D89235 +DB8FD7D0EFDB5386ACB4B5ABA03E7D9F82C7F3F2C57D6A4DE8F972075FB1979D +1537F128E94BB3B4CCABF46E2033DDCB213F15B16469F7410E70499F15950CCF +6E1F83C4B87C25FCEA468F8E5B973AFCD5EF74438A5ADB3BB0D91A0C38329070 +9EAF71DF918A74D81228B1860BAD29FAFF284E6979D5CFE5F745A90E14C5FD71 +8F856C4DDA56D045EE22877F25F3330D16A825F61551CA52EA1852ECC7A2CBE1 +9584C756FA0A322CCAD06D9A1875BD14690A0ED6115C23DD0C3223EDD5E79A9D +CF18EF3B3240DEA92AF27D0D44BBA56788BA3AC4F97782D02F742721C068B702 +62D59D8FFB2D2C5862F5CE393E2D9AAD5A7969D22F7C8AEC9BA90F2ECCFF54DE +98CFCA43192EBC2BA294810AEE0DFF0D98ACA9305D1A33F8912919C03580F2C5 +2AE44C0C1255A876EC4298E12F1BC17BE3F3E9F43616D3E3440DA8E0D5044DD0 +35895C4DC1BC280ED84A564F79227CC2BCCA1B39DAD02789B13FD15C9B60B3C3 +9C9C47442DCCCB9377E8823D7157FDC1F734EFB6A53396BFD22839A97CB026C3 +E29CACE7A9E8D9AFFE49AF1AAF800E013A8ED5A22CB3FC0504F1FE34F2068813 +229C62C9435372C81312CC73465370BB4540E24A7D35701A4F0E598BFDFF939C +164481A395C61BA61748BA0FA396F7360ACE2A6E8AFCC9081AC259D7F8C4C4B3 +5FE223CF1C93B3F1B75917E855A5BDDE3976A31887049A4AD6C8234E1C0D3E31 +C504CCCF33E22E3A7707C0398E2F994EA40B47AFAB3B6B7C6C5887B79C16E255 +3033428DC3A0AAE04486F36E1881DB296AE845A2F422E7A79F4A048077CA31C5 +7531E2B5F5F5D7D91F8C5B6711952C5D744BEC6DEA810510F9CD16E95C9143AF +9227F14C4F2C5EE75C82A62C5C8D80ED13DC518BB3465BE921BD31ECFE0AEECE +EB94D3C5C7687BE86CD137055077E60BC1F134E9BEB3E4F709528A893B54B4A3 +5B48529DF1A4FAE03DAB8C28D821339B384F4F5962581CCDA583C0EC09D6263F +96F61A14840557EC0FD9C17C33C1D507F0B152D5AC297135C2C6A331A4FCCC6D +501A08969CD6C091EF9AB457755680F34D61DC0F1C5474CBE940C68ADE951D8F +9ECEF97273115AE580D2756462AAC8B5047EEE3F3ABBB03EA8DA7E3F331185A3 +755A826B27915EC8C9BC4A4528990E5F84EAB95BF8F14A6A3A0ACF99ADF30921 +87029D30353ECB1760279B8677A55A0D71F70620D66E1BFC747D4B901A462E47 +C87F864B6CA670FF56F6548E38AD161AC74F8525CB8D4DA880506ACCAED5F8D3 +4B7D484F76F4C54529888A9F8BBD2DE8876930F334CDB54D9CD72A66BC03C549 +3FE123DBFF46D80FE89993F03A8585E5C90F47DE133674BCBB7D19FDE6E8A89E +EB90176F92AA3C095825F515627CBC11E4B0D8EA20D3B435D2050104716BC1A1 +89F3C00B4AE327C643074D5D7CCF3133C39967DDE5652861DF69D94324CA68D0 +A8B8518A829D4A0884B1B8A3A06A2E144B8B73BB90419EFA4512B181301507D6 +7EC25983C83C544A7A8B6DE922AD09BBB7B378A3C53E260744EB821ADE6FA512 +40004D22029EBB932450C6A6A703D5DF1F7944D12EE69F5ADA72BAA3E69786B0 +DB79B8D16CFB37C0B6CAE7A94C9498654AAA21B76D51FD067A00FF477A6FEC5A +27525F85273B01575E49F10F8A14531E9750FD38666427B020024CB981696A89 +079D10650FED50A1989C1A9C509170C4C296DD40E87CF9F8F78C8904E7AE5D90 +F872EFBCECD772C622458C09503CD98C1EDDEE09AECF940640D979B5087013FF +D1AA7582CC928483F8CBD2A8CE5D2545BC45FCAD47E48FB0A0A3F9A1AC37FE8D +531380F14718773ADCA01C090104119844DFDB128801D1BF8A086CC6142E4644 +AA58DD23B910DCD4A88D4BD0CF65CBB006421CEE74EE1B279A7A51D9C04D2E42 +23EFC041C1B943E694A389B4A9E3901632A5CA640F91D1EFDB6C88072BDDA54D +EC583FBB93FDA9C9C61D1D98AA1FB1A2BA4C72B1390F87688027F29B6FAF70F0 +E9D48093324B2895F129AEF3187649C6FD3C26185A812E489159ACCA2F2FE797 +D283B0A26A07652415D9D4A02D46E6420D2D890E26D23FE47589ABE8CE9B4A94 +8D880612325E470D820B30E842D2A46F498E3C6EBC68FB53E5F7FE8EDEF8F7CE +85C8158DC36BDB6F3584B46E3843013FDDF31229215045733B3078E344211AD7 +8DAC4332A5DD8CD8B1BB6B9C654DAE5BD33E813C70A0C90A187BAAD38C39CF4E +0C46C54F0B282AA168B3B77DB004678EC86B38601E34E989B5E82B4573133F27 +47FB6FFC01A26A4C1BA9CA5B69EFD9288B62E53756161EB3EF1407C426199524 +26CC7E5318B3D36345FC17734B971CEB33703A2BD3882B5E360EA54F48BC4441 +A5947F2917E184AF56FAC34FF504A8212B794E212646F0BE71EF55E013DDAD18 +7255F33E0A209DB1A0C45BB8212E46DC626F08121850C0177E916C98FD2B4BC6 +6AEC7AACF4B3D19630A5BEFBA00FE0AC7EE873FEC27854BA0EB16DCFDAA17C2F +C0057C85BAC9244AD05F88CC05D2A09CAC0AD4B01EF0FABFE565F3CC71111A7C +6AE1FEB3C657B982AF72ED527491863AFBD1C8473A7C28C6769C8A10AE18145F +99C87772D625C02A6224799B01B67E21CB2202719C309BB2A5A781A9B67BA67A +56C18BDD7749A684464FF0528A40EA576EE8ACD132C78B81E012827708DE9504 +733E9F692C17365DB8D4BADCA04D3F5F968D21F77111AEDFA9BD53D1BC39D68A +DB875CADA1AD9E50E79516A37F11BEACD46B02B3AE11842178CFFE9990B2B16D +D5AB4F1CF9EC349D141F080DF768BBD6CB785DE6A665CD74823ADA7B737006F9 +7BBA98A9B44965813A441931DA18873CE327DFD35E8192C8809F02BBED8183BC +17AF50BB95750F660288D5B3E13001A1D330056D50D4D069403595B8A18DF321 +BDEC558D0210BC679C135D8C2BB83A5E5613EDD51E76BD2DAA67FA8E74A26A75 +71F2849B4E3B4593757DAA4270A3600DF96A242EBB69E947140CA154B443B908 +44698C41B488227F5AF0EFB0D8A2E015FB9A90D28D9F7707FBC2B2C65F63E289 +69575B2845A823F03F6CEE1BF783568C70E4796D387F03D4CF3E4328173D2B08 +CEC1D2694B13C395B981C0EC9169EA35808A26527C1B7F15316426697804157B +76EF0BBE41A42F5590CCF7AA901AABB3DC32DBEEF7A24A1924B10DE655C73EBD +3071FEF7276EF38FEEC7F544AC1B68769CBE98237AB8EE411EF435E71D51373F +64C55CB88B3C482D3B47DAD804586E5077F678E72B67F6C85FCBD0A6A9BFAA49 +F87CED403626DAA867C300F3B2D2C597DBADC3DF8B15746B33887B2C4C4CCF53 +EC3AACB2DACB914B458B9E0C373C2B323372FBC8489D30777148AD3167784E28 +22F5CA86A3C54E144CC6FE93F0A2F7D95222DF69B0F4B896AE9E4E12600C4054 +CA7CC585809E64724ADA88EC845D87F81C314D5A1EEEC25DAA1544DA0169163E +87416F4222793775B0FF349EFBCD14A32291FA6B63F2E6A0183645EAF31E2D85 +E8BF8BDF43790F86CD11F90153FE852FA79E57E465C41E4E5A6B7E7913035B71 +D7AAB0E5B7FC2C953558DF1B403D9791BFE2BAC479E2BBAFA9AAB4D749DE02DB +F2A9D3CF3D2CF8C4521D453478024D1824DE9C21F34CC387A965570351253EEE +BE8D920B219106CB0401569E7C81ACBC7B3DC3B1C4FF14F017366EDA62493257 +B099439672EF7B0BF954774CEDF3B0EC19887613338A66821E9CAAE0B2864E68 +C0969234882AA39E2AA90AE9E3B2CA22DB3178D29D4106B27B781C4752302EBC +56DE145488C0306CFB3B4E23A3FB9D1D3156EEE5CE6040CE446D6EEB8037736C +176A8A855C8F665F6B55878D9F3A10B9CC2838474095E13DF61D6AAEB95900A5 +3DFE4D7D25E4885A19EC5856AF7617AFE79182DB185FA4656061E36F260C4316 +42A4589E7CA8B2C95DF751A861C2EF2921B6A8181C30A7E0112015FCD9F20590 +26AEAE99AF8F170CFAE5EC19BC396DFCD32CC78CBC47A485ED6E88D4871C5D61 +CE271F3AE45222C8EBAB0EBE432D3D2BD9CD69CDBC9E2F47961C9F74589382E3 +F7D6C133D7CA2E7C52835C48AA83452C69E7127F031DFD26B40CF409D3408D88 +56F8576972EFBC947400C8485F55267579C41C83D5418BA24AC9ED39DE4001E9 +68D0062ED8B8CFC5ABAA91E59D2B33B77F42D70CF896F3CA5408951A25CA3A4C +9B31EF3BEEFFB5C9F62BDDBD38029B27D2FF99461F3A9DA8500CBA6A4F46F489 +89F51D149470F18DB41F5DFBD78D82011019D3F6EBFCB4F9A6959B87466C259D +BDD14B284F1954ED9BEC8AABD2A94043F8BEF7F14E15BB7901151B67B4DCF824 +FCA42BC7DA7CB54062AEAD59ACB7F5A0B48985D2F408C6702FD25BA5869A658F +80024778A4A078AFF95332A0E113D9F0C71051F46D3D2657AE8191CA7FD9A813 +32A50908D672983773DDB25A9D06A174B750A19AF2F06BE981A5FBC999F20171 +3060FE8BF2DED7628FF1C2A22BD4D288AFE44FA6E0515D48C35F60BCE52A847D +C5F340DACB8FA15544552D52D819293765B7BA4184C504A8656797F91765EC53 +BD0A8E2EDEF3C5F89D7AE357E1C5CB10C5689AC67D0998C0BFE07B0BF1FF0E51 +F0F93EE4D49CBD3C29394A1AAE2D9E7D899029D9F5C768B7D70177B44A3BA335 +02E7AEDA13E132AC1D91FE66A194827B00453C72647EEFF3BCDA0BEB7F6D2AAB +50D477D017DF0341EE249E8CDB07D8764DEC30B217967EF9422ED96D7BA3278B +BA6A9659A7AB945CA306399726CEE1FE24856DA2CD70E5ADCAFBEE37F2F4E19E +FC780DFF2899C82FFAA0A2FE9A5A3DD6A8AAEC10998A377DA8AF8CE7CB2CF4B8 +7AE85B74674370669A06F7A3C4C19312318C7BEA80C5282F18A1C870EA786671 +3B5123B88BBA35EC72B1855EF6539F00EBE6B574BF0D26A528441588A191F6F8 +A49C8AF170CF9455BEF83152DC0438DF17B350FEE2B9CAEBD92DF32205990FCA +BA6455388C5CB8CF444C1DAD0A1028B369E6DEE21EFC40F557EBF6A8BC91603D +1775A1A0DB52DDD9B0F8F86334D76018B90808A3569701471CC6A9543345070E +D981CA923C7A49E22C758B639D085B001C2ED5D54331AFE2D95FA1D77C9655A7 +8D920659F7A0127ACEAC6E687B9D4F5D452761CA30B7EE6BF7B17F86B7715422 +902AA3FCC3B04FF410B5184A2C665F24E0B2A0E0F06E0A5E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -2642,6 +2641,7 @@ dup 89 /Y put dup 91 /bracketleft put dup 93 /bracketright put dup 97 /a put +dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put @@ -2847,279 +2847,284 @@ F44580845F0FA422868CFCC8029513235C0286B76196E350498845EA934DF289 C93ECCD6BBCD792189A12FC9366BA7134EFD67A22B4FD62465250E0BA6B7C627 73E8F50E379328B7FABA341B0D50F9A2CFB055E01DDF6BBCF6FE4114BC36C10B E581D76A84EA12995506C33DAE9035683FBD5F54AA1545992B94B8ED946E5866 -2F2CF263CBDE3B77E12E7D863F0A87788D89A93707CFEB6A5EA14C8BAC433C65 -56730E3E8985960FC4D00F2B821A9218A20F11EEC2D6A153C403EC4BCD0B7573 -5BA5398D8A252EA71E8928674FAB4CFC6C2FC36E7CB12136830849198CB0B249 -74C07C83EC06B2E0A5323E3320ED056D02B614EAD64E0F8F083F5892BC3881A7 -A9279ED632967D7F5BBA2B7CA37F7BE21987D8BD349C3DADF4682D4088DDBB35 -D6F8F74749063C4F59AF41B9AC950E6E588B3856C7F7AA1C9030B9AEE3D70321 -2DA63309EA56951A6E077EE1FEB9BA112BA69982E9EDCFC5A3B462FCA9D16A5B -951C2128F30DAFEAB3007F0DC4F16F3D38371618A2F4848A9D0D59062E63CBD4 -E4E0F337CEEA736493E344617B5F1EBC96096B66ADEFD26110B4A59C69FC619F -4CBB9FAC2C9314C831A6399B611D597F4F817603450983BEEE834691DD492844 -A222BFBD54593B70F18BBEF4D0969B1EA062F7DC61DB08F88E988B58EF871C3E -EE1F380B98FBA95CA4E524DFC9DB291A5222D9792B9AE3A1F64E868B1BA4B5EA -E2BC7C68C837776B01738FD3B8D41A3091D8B9A27050E56E0AA39F8F3AE52AC6 -42D30C4363786477D1C2D2FD832C7E2418A7B1E24FAEA7AB5AD1B99E319E3319 -BA790965EFBEDC46D4E7699CD4FA57A28ABCF8D4C05D4C7618C133ED3180C465 -80FAD466CB46D5FD53216F0F15EB9776562B7B6F808A9D8D9F4DE099D7C99C9D -06588071FA8C36F774B05C0D65259DD0514539030DCDBAB67D6E1A19B2A6A547 -3BACEF7DCCA65B35BF4FCA3531D08DC5A301E0C112FAE9D9173B7B47E7F7C531 -3103B70633AA09E4F87D64CF5E3B7FEC94276E910FAED3C4B30C32C3743A5C39 -B5FBFB0D16C2B1998F53A0C3CB48DF19B4FA9E98BA3D503F5B82EDC2EFCD8521 -8C9006735D194CCCB8DEDF3D465F2C057E1F8F2D35B362EF9D084D429BB71584 -62AE48163478E7FB8AD99F01600BAA8B77C6F98DB7DCBE7E0C46B917EDD2CFA1 -F209D9A01CC283B773BC469257401809BFAAACC0C9980C497DEEA796A60B992E -39F098D4218AC55FF0ECE7BE1CA314F586AE82CE5B71E4AE1D768BB52FDAA949 -AD21F4FBFC0EF3CDD44FE8D92EB97776F618AD9E38553BD0492149B3BACD7FBD -7440BB8786D93167C8E4FCF61AC3D360B06C4424F4D46FA91B862D7A27BCEEE6 -C3ADEAB1CD0F8A8752EFCCB3E592162C57933169DA1DAEBFC2C866C10A5F7840 -5447A38BD856996DDD56BCAFDFDA2979FBA4AB6D4FB7E70E20B76F5A2AA3442A -4EEF4B1CDBCB3278A1F55C99C7C4F7F34C81B063F8255348553E00D3CD5F5A33 -C7FA5E4FFF58B2D19B9D04915B1A33903ECD61512AEEFB41E67535D32AAFA528 -10FA9F87F68EF03DE847AD8BE921CF3D20D06098BE223F66DED6AD3BBA11F79F -CE8F4EC2A83A6264406B36A48FF893E972BBD98613C6BA7C27804BCF2FD5A4CA -D8DAA8D54F14C21A361CD594B9F76822908797D78288D86EBF0E627CC4C8F79C -CBED3B764D2CA0D05BEDABDBAC5E09E2080CE815A76245D0E0F13314ADCE77A8 -6656CFD4C2460601ACED80939C44F600BCA055BB0332198CC80ABD2A7E361E26 -2AE4C41F97E34A97897586C5D79FFB57F5BEF34EC91CFEF1FF1F64F7D1FE945F -F0DA4CCA520C5941F83318E765966FF0B9729FAED847F59264E7C5752AEB8AB1 -77426AFF9CE3AF2C1A3FC8F8EFC4B6E74A2201B08036FAEE8F74D6E74A0D397C -7A7CE3E2D1F9BC1CDC1FDBE1647CA8FDD2AD012EBA5D8D4DBBA99BCF9ED3EEA8 -E8773C09545D482E30653D9FBCC67B925D48363D75B11A0E402D9585C2D5D053 -EBF046430962FA0D514308B0E9DCC14CFB51C0F9836B2244650E77777826DC35 -B5480DF48F8D9A9D731D50FAE55365BAACBE23E7FD0F4F6E22EE8B17F1CB806E -3FA29E94280B973A85EB8CB57C047605811637076E0D98C349353BD4207FCA1D -A11094D4DCDBB76B4AF79BBBC627ED1D176D82FE6CF34A24EF452B1F26F543ED -2193C75C0C003B6B3C030BD9AC90C312698C4EEEF07D64753999E7E45C326DE9 -D5F1F3717D94E94E4B27F809444E1E474358D138DFABCBD6FC00E5DF2B6628F9 -89CC2B4821E8486147E9EB9CC942809FD4514C3FFCB1A9DEAEFF56EF66277F41 -8E3F7CB7997BDFAAC4429B1FBE3CEDC59DB54BA0A335AF065DE6A9981D9CB365 -86B48861A11FE0AC44C1C6CC9EFE479427C4CC328AC44D3C4312EA23A04F6D82 -A9A0062AB6D412C5A1A8CB99E7527C3B37FF79343AB8ACD53B6090341960823C -D6F5B332A2EA6C19E5B237FED411F3C088AFFB94F1AE2E4EBCD67885214C1333 -3644DA63A8BAD52C9408C0E34AF8ED898422A0A2A4B8E9698142B53D76462200 -36CF4D53F66C51AFE6336651AC3CE180B9C382998331BFB6A86B973955D28045 -E5106EF370EBD1B57300A0EC9EAF11BA81A19131076A75D6364556F0CCB5FBA3 -872299EBC8A91563904119DA00450E360B5B7C5B6A6EEA87C10DE6B911109D46 -FBF66B637688E63AFBA42D647637A654D7D16F5A85382EBF72A7103359CB5899 -AFA4C0217EF645D765BA796BC00788DB7590F64EF066F5DEB3321090F544FFA6 -1F2185AE24C9C6051D625C2FF4D0CE0A476178E9DEE5A1A76E2139419AC8C875 -CABCCB25A1A1D18E4422015C6B8BB9EAC87F01E6DC4B5C194A0AFDAFADCABC1A -14F9B80BC7CF2B18E2C9140ECB160CE260278344E3168A17DFB3612E8336800D -FF3A13DBE3EDA20852D38D89CAA2B692EAF9E380302C7587C5ABE01A862FD37C -1BD1315ECE39E266FEF9D847FD2A45DDD7A3E662C4182233EF90573138EEE323 -F64817AA1398052715686BCF461D29AAB9957671EF40869821CD6D5D499C0862 -17951DC682C529CBE8E8C0D49A5E6FA0956B2BD29EF5870CC2A2AF06EC743EAE -6D9530AE87BF2018CEF6408BC4D97086451A0124A841A094C34F2A6FEAA97D68 -7F60A45619136B914439B1B12326314B821BEC74CC70ACB09953F287C5A0932B -FF84B72200A20FFCC7F0038B44A5A0E9958490F023D786EB9E2C7C88D95C1EB5 -570424C0A458E89B31F2E681B99CEEC4F6A72E7BC4B7E6F159C84268138AE583 -138484A95D42F3743423480678BC749D90B1E0233071693B87E9277F3A1D9D43 -1A0CCAC46EB872FD71CE75BFE106580A89DE930211125CC6255361FAAF2DAF57 -9F4A86FB8F1FD6BFF647488691B113F5F4621614E87502EC3AD9C70B8770755F -ECEC384171BE34CB185439F8B1CA228A0E1E2FA02D38FC2E6B1A1B1BDDA7648E -C39306D18013CDF6F9FE27861C172CC1E5EBCA0F9395DA7C363799EB6476A573 -CC95218E4B1387908DD37C402C5E14DB7E1236B1BC094407906120EFCE4D620B -6D8279BA52D64C5C3BE3D6E162975B61D1B8630C10A5F342D4244C9793C6651B -10B0B67CB877E7BBD8190FDB646C044734EDA86407D9E3414404E392EF366FCD -C7461F6E08AB2B09B4FCC7C98C97E4ED4CDFBFF8AC9EE7E97C1A7B3A0DDAA3C2 -F9849E4003A8F043BA005D297E5A292982CBB759439F9011B3261433C8EB3F92 -E3AE95248806CB2665DCDF4B3759A48E1EE84BB1B8693AE805F4631974522203 -3F467FDC225087213BF2D79B8B148A47D96DCF3F22F3005FF5541898F95B54C5 -07B931899E8EA1BD0F4F46457F63D64E57CE355BBA9EC53AC8257B1B37ABF0EB -3429392E1427A120FEFAA66D1FDDED3F1D26439168690F10CA3C48C8921735D7 -E059470DF5C64F1EA4A20857EBFB70FD768C2DF77B90FD83D907268269F2D233 -D603056697E13F1B46DE86C3153A92A619912D6E5316E0D1DD7F5DD8C7FF1B5F -F2FB39A652F6536A5BAD407AB9A5C9D93CA5A6284A9FAB4D353D54C5CE177C95 -C2C3E5918524DA01F22BDC2E60FD35D43C46686877A088099F000C632412562B -D30BFA5DA02A94740A250DA5F130E3ADCDC390F2BDB1192DC7C5A7E4D7D908AE -2E2D50846BBD1191FA262B2E38416B5F99EF71510530CD803DA1303CEA9CD053 -24ED32D8F992521D8F3B358A56B42D89EC455210D052023EEFC35FBD2CEE6A76 -A9F715D6A19BAACB7A6E56E4DF72F516C4F9354024800017E30C3D97EF968CF0 -07992318D1C9B8DC96AA1639B0B0F460D679D6306B34CE67203A97C9A2043AC3 -671DA26BFA89B90E564C29089000CE852D7E76776ED7BB562036B78CC746FD2A -B45880E09EEF0F7BF4BEB7FD573382968226E4AD9094D801F07B16E63B83850E -88111A93497978E539051BD0176D51E8888C1CB09AB7B64333C87C5574772010 -A74416F6D539634394B1BFFAED30DA7F67B36781606366C11D722A8C712638E9 -0341CBA1A31CF39EA1EFDECD7969DC31B06538765A2E1C8C7267737847BDFEF8 -971FBBFF86F375979CF48E6A34FC82FA9E2A934764DC72035324577A84225BE3 -D0BB79BA56D8EAB0DDCB541E50A2DBB501D7CB45D8FE16C9655ADA08BFFCC38B -3077D05BA9ADC17F6EFE5F85125AE6A8935B00856BD588BDF0562E5224A4A4F5 -3A863355F6067AC8BD4ADBAAC72A99F351D82404292DBE2EFAC89921EE4B4784 -28661DEB2AF55AE6EEEAF6FB1C7483135D0D15ABFCA646FF3D64EC992ABA0FD5 -A8FCFDBA5080ADC60FC4B93CF4A84FC30E122C67D92DB0DA18DFDCB0D6BA9FD9 -E0F8C0286FF73E9129F37A863033C1E933896E2D47785B8FEE054EBAB376D670 -3346EFE8319B56827B4448429C5CD70ED1138B209FE7CE20CB3CF16612657665 -73856F9D127751D0F82A61FA10A366060746C0A627E39ADBB3B6A3056998D623 -1A08E7F86E6CB07B00AF5781F287BB62B553BB1490CE885BEBB92C9240F1EFF2 -CD6B893C8CF63B600B2FC17BC96AFB51C0BCE68427D843E5F98851B5AF735302 -EB6EC9BE8DE93BC5C6F48B309CEC0006D15506538F01AE8773F457CDB07D8A98 -EE767B499D60D9F115A692949754FF4983B95599F4DE322CA7F9DFAAC1658C36 -C2268D5569835DCE35DB6E40030CB28B30E31AD16AC8395F66F39F5D9DCC0E5A -273E3111A4DD69ADE07B9FA18C7A7EA669164C6851A72EFFFFEA3E18B5B87D7F -9A5331599ECC82C362A2103DD50E9D8825898D360C73A7E1E4E9ED66130746F8 -3BF5542959DC2210652383EFF1857D9657C67984629BC1E14570EB254C3D5043 -1E8A0347F9ED66FBF17BDA2C713CD7DC0F5347F06B3432967D1D0C4F7211B5B5 -CCD61164D5C9F01A0BA207D6EA2724F67F84BA845A28F1DCFB5E59D4DC57BFE1 -50864ADC1A703DBA46EF00F2F4ACA298EC1C1DCD26D647014806CECCC8A93E87 -158F2982A72C2B7167A87207D637B92826AFE261D9763A456F90E735DDFDBD09 -1C176B0C0D1774D9FAA5462C2943715E71F3C8CCB0BEF0AEBB5D00812E64CFEE -282505EE165C6777C37A0CB2B7066F4CCF84B1578DC1A1165D1C60324CFA0263 -08FD152E9D3BC399CF45036466B70C54DF463A19923356834E49FBAA86250899 -4F1DA6637091255FB9B16BFC9DB377AC505FBBD1DAF88233EFCE65F1F91D7428 -10BAFF60705AFB67647EF947A26D86E868681A18E60CBBB552B96FD411100658 -1EF8A14F2E4373667B2879ABCB2D13D97A7084B345EDFEBC6B329CFF8F828330 -8DAA4AE60B8B3BBE78C05ACD0DC43A6907EC875605F84716A4E95FB406A4EC1E -C5DA35309A932CAB84F62A9045A2D391A7728D51B18ACB5CA1FD1AE58976FDA8 -1F8D86E3052DA3A64360E1DF8B9407979E583F2EB2752C8317B255F73A2F87DF -8BB2B5FE9464B360868C02DC6182C634140D9D51206B57DA40198D911CEF0691 -9EC2165F4BC87618D1177D281B5AD42F39FB0B76F678BAB0A757130078135EAA -BB8A0260B772B9A748752D281FA0568790E80AFCBB1340C5E6DC160471802D8D -D754FEE5FBA6532EAF51163DF21702C81E315834EE88F771CC9CF1D33E20F561 -1E3E661D89EC5C535FF486DDD590AD7F072B432EB842C7A6CE4C52C2A5C1B80B -EBBC113C933400A257B2E16888290B16DC53991FDC668B304842C8600B9313E9 -08D29D7F02375F216DEE47DFD6E1D3C04F2D50977387457AF1A7FEA816D34427 -0278A675204C264FFE5C0EE3A21CD6BE7FB3A025CD33D6FB112BB0D0D20A416B -EBCF0FCDD560A5E0983019CC7AF66D92B52C881153E8E12AD300571ACB5BAE05 -17C00671628B1E76E899D116B9A140BDD9CBCCDA64600402E6341305E77B1A7F -418E108F85A4427F425784705844344B6F405352259DC6DE7584C7E0E5E2D22B -6BA08FDA205B0DB705E8FBC9C917A0CE1C4AE14C17A0E98042CCAD0D2279BC79 -FB504AD1E264015F95B5DECD45332947C70C69FA10CE0B5FE6C933960B4866DA -43E4B1283ADC307D18ABDFE9A8A2B10E862C5A771B346896C7FACE788569E483 -FE26378F52AF1D05FF2CF8C09119F7250D4EDB175CB7B958A8013CF68483A2FF -93A39E2D0C51D4DEBC50E275869570686EA784F7F13401D7CD2619FC435F1344 -320D875C32319F796E494F75604B326CBACA2D5E16F37DF3E0BE72A649BA7562 -7EE30478DC8DE07D32A0FF5C7072D0A4C4CF36CD9E3E1DD20BD28B90776865E3 -16334B2A74EBFA0185FA602445ED88AC4FC8ABD184BD0FEB2713A6DEF4CA992C -FED715F768F9D9842BB6DBF76B201A04D23055193A9C93CCD0717A2045A7E0B9 -0D6466D1B7FCBFDA58AB8F758593FA72A067C5C627C52EF12587397C6D626AE1 -28C12AE56AA1ED22573AC2897FBB7CF56EBD98BFBE369545F66FE6B4350EE538 -A419F9F61A592B7A54179B1CD577380DECBA2465B62EB9662BF2B82EB64279F5 -728D63F13B123102FD0727CCB312918FF43FF5543BDF8A0B01A7881E71F4D05A -531BE4A89EA6809F2BB681A9DE9F53E37FA6E2E710086DFBD2FB8A7EC5060864 -9DB12C1E043A0C0FDB3EA5EDC78F400753FDA077EAD9EFB407EFF4A4ACDC3BC1 -0A149991A58B908EEB75581D2E2EF47E64EF9145485F652379E9A3C01117EDA2 -281D91D363E8D7588F24794AD2CF2590995A3339C7430364163AEC6E31529CEF -EDE730EFB5FBC05DFB61BC9BC79367E9FBDCA34A4A537F78AF4F141DF5291A77 -A2225E7B7EA8DE8048F644DBEA4A47DDD8F275A462452E5737F8EFC04EF2D779 -25BD61881D197873B097172331B61256D45FFB8447D6774AB3BD150CEF43E0BD -043C86D3C7427A3D521D2C484715E4A48693D647DE2D84003B48AED1A96FF440 -4A586D53BA76A434AC33BA6F9C6F4B443135F1F35FB197B0FC92080ACEBB2DAC -A46B38126DC5B87DB7E1E83C7DE21AE5C7156CA18005ED6AD02B4CDF99E1B21F -978FAFC5954EEDE6E394FEB95CC559A6DABF05ACDC0796DA6A39DD25A7BC9477 -C4795C728928C1A9EE1672205D07B1EFAA8F4BB2BB413D45738E8D474CDE2299 -552B37BF12EE136DC692F5E742D809DFE6D18BF866909A87A2C62C526BCE085E -FE8C7ACCAF4A4B9561E3E3BE14A8633B885B86EC57C0D8095751536548C74963 -054189593A7BDE80B28F6642190AA560ED47BFA85FBA91557627D3EE2BA2E851 -DE2E17EFDEC23189CB308311FA623EF6F86EC34E231304DEEDF5E9C6BF964126 -F79D5EBB5F22C70CA5EE66991CB1FAEEF95E7E14BD5D25E2871CBD2163DA990C -FFDA3D174140C7635710C1B3B927989111A6D37C8749EED67FBDD93D0A45E873 -E7398025B1DE7F4238A118977749B489923B4E6AE60162B6105F5E1FA02ABA5C -84C1B26EFA27D1A5F58822A1897A374F73EECCE0422CC1D0177505F132DD4C55 -6AC7783729BB7B6A1CD33FC430A264F229D0C5A69DCF9F804FD1F01D575E77E2 -67FC00F6ECF7B3F592A7A49E410E8314BE48BDC95560401700C11A15DFEB6B2C -189646F7FE7CAA7F938227F0B232BABE8865E8D3B764AFE6EB635ACAC6BA7C40 -CBFD610D215D07209EDB7B60807FD3DEA51E9DB40968DA07248168B6DD4C3003 -F5402EE2695D212B4DC983CC2EF4FC5BD59320EB462C88F2F4B62CEB6E22A726 -09961D7E4F09260BD5711713C32FCE1689E2CC03BB005EBAEA2A942AF20E3635 -D99B2D1C6E349EE350C923EFB6815F8BBA40D947E2619D62053E72601EAB54ED -5F20652B03C8E7E1D65896252B7D436B77D3692C115D114F5042605050C3E06B -2637DA6F0CC97AF4D51242D59D335491D67E95B7149C3D323BEAD304478F4196 -7E473D7DD7C9B6E1E8EEDFDA487697286F939A445B5ECE89437FEBD59AF5836A -0FC41F7AEBCEC8EAC56D827587843055E19629E6BA0644DA586493763589549B -C39EE3725E9C20692F2023862A3D29C4116F875DCF7D2BB4E79BFD54991A4FD9 -A7E852BBD7CDB42B624C969FA6A7DA55CD2E92AADC4243ADFD124D941152C53F -E3764D1EAD5A6623D94036E1A88C37791DD21C59727E6ED28FC5F644B6CEE4E4 -9132042DF830F9DE1E6B78EC16EBF7687C4A4D07DF3ED52554F76996D88E40E8 -C30572AD06D64FCD20532C2B6BE71E65136EAAF008638C9EF102EB32243FA5E7 -1DDA1FEBF85FD71337C818C953219F592640A6171229F0D8E1447C4AB0E6622B -5124945199A32EDB5125FAD3C022FF2D0AE256749223A16829FB4E1A0B60590F -4268047D9DF9CCC59D3562D5E44E29E0F066F23AEEE045707647A75811D0351D -AA4CC0841BDB7A63EA0BA675E4CE4CDE08975FA95C99A9CBA60817A52B5E6417 -199173813190A6151058DB86852F2C1BE4DDD1266F911F2882B5376B60C9C38C -95B39F8511CAEB1E3003C279A4CA1FC38FF69C833DCCB586FDFE22BBB49D263C -6444EF2C6CB9979D0CF54FC8EB7BB49EB3569DDFCB71D0966D0F0D2CD69698DB -3862AA0B9B3D90FDE9B4BB39726EC682E8974AF9075539D975CE0CF5803EDD6F -9F9ED36969486CD805C96E5DAE2D50F1246F36E95A974327579DAA83A63AF308 -7BFCFF42022C2D949B430C14B7536CA6AA82930B14112F87E9854AC8D6185267 -0528A7107D396A034E337A4B73BFCC2F323D5768A1E987A2BF2C8F2306404EB1 -26B3D2070A0CCE97065387D57FD9F733FD66997BE2E407F100E5E4021BAA9410 -E07A7128B51C9D320BA607C06C7F184BC27E0B7002C0B4F19685B4A08E2DF900 -16E82D6CDB0885F9260DFCE170996D78E8869A19125249AF59BF153D71E5F00E -433DCE51F0D8065D54B605A30D0A6108C34F4EB8E56D33ECB111BD38EC94ABB5 -732AB831EF6CEE8B863D6C7CA4B95C2A154B94A16ED47B4A144153ABCDD8D206 -7CDC3843F264A5B786AE843CE7D83B2DACDD82E09D38FDC0FCC56F0D8B91D8AC -51CF7E1DF59B11B4C5981C25E3C081E27866A3AD792C58C11C05B9EEC61AA9E5 -BC923F96864DD5A754205EEEDEDA4B63E8DFE69C2478905CE7E277EC00EEE7BB -C2B1765F00DA731BCEBE209D595FC9E0F89F1AE7260D59375B89F88641E9C697 -E7766ACD81AE325EA386137FA6712FE56A3D4074BEEC88D76076E31C96838A2D -7C6BF02DCC26F98A18C4206B33ABF6E6CB0D36E21735B89C64964CF4E1B9A8B5 -DDD1097309B975DD6D75824FB2D6C92EA2D010AA792228FC89B079771322BFF3 -E91B92AFAFE64D84CF391236A83524B3D4957B1A2C78ABE1EA4312FC347D1430 -43EEAD380C9ADDF5F459AFCC91682F8318DD22606240DF454E445491F07DA7EF -58D0C679D9E887ECB473520581DEF2DE4B2A04B5B849BAC43A414E11AA3A5B41 -A7EAA9691400A3E935D922374043C8528394883DE9D7C98F9F7C814CFE8C7A46 -D52353B0AE2461F404503C38D956ED7C9EB65E3A0058F9A26333B034B7C0A97D -28B8AD14F4DBB4D12122055E08FF3BC08D4709447D1C7A1CDE89AB45435DC837 -ACD2B64D368CB767F9B1D06D720E3271EBC715D0E2711D6C343F09039033A82D -6716650CFDA57CEFCF25E8B86E243E77B4364B04BCA2D3BFA335C55FBB2ABA8B -98CC06C87794FC020E7E0041CFAA75A6EEE43F6A5CB49E75EDA9D28AC1310D58 -DB1E938AEC9700C3F5102BAA6434D528C1C388BF13126C9E38173A1593895140 -42B9C08F98BE436EB5AB4B41B5B7422D853F982A5A1993FF9C03CB7A2068FA75 -F8E261E683E6F183EBEEEE8F407BF7024C6C66B0DF0379FD4A636F0EAF3940A5 -F48A71B8DB7473892474063353CEDAE734B034D9F7CC60FF1FF349F9C073B88B -66E84AFCDE225BF8603C28BC8114DA9E9713C0246B4791AB5E55E0EA415D0163 -CEB21A1007D6F060E4DFB0902980B806E8476149241CF2388A4F3A75DC92CBEC -303CA5829ED4BDE069F7FD3986D51D8A0BC0C7B6DE0FD5023A0B90075DEBAA48 -F5A62FC091642A061800CEC50FDD9BB3BD9E016391DBE31871B6EF431BC14A0D -486D3827016B5A68A223117D416E86064A90A4B3B447977C0A681DBD07FCDC53 -90D92DEFF3BBAE3404AF40A5D357AD532BF82A67293799A1223A0D4B21A7C590 -D38CB008D97C51A2F2A64B35658795EF6CD44186263539760637F9C8DC75CC3E -0F5F14E7B46302816ABAD623C664CE96B237E61EDBFE55DC5D00D858B75C8F25 -D33E2ED4643AE95E2470AE34CDFDA6C2B6D88AB81370F0C6A52E734164FB7611 -54414E4FF7B929DF6C3774EC50D769E41EFA98A21277ACF2C9F23F042F74BDD6 -B83A3156141787EBBAC8443CC276DEC97AFB922E5F4FFB16B79F913B874D29E4 -E88768568C31B1E14F081CDBBCF94D7DC3F16FDCA2918B8D1193BF99D756EFE1 -49BD3C3A0CE71BD20D416E0DCB6F83E8C3B9B4050A25DCF54962BB07865E3F24 -EDD4946718F7210D839E1EF0445D68D10D8926470541CFC9F5A336363BF66E5C -9AEBCFFFB906E377ABE9025662729660B5AE961DFF59B4B11656295F0487E01D -0E9DA65A913F371EBEC1D8C89154D739423F6BDCF53437BB665DF3D17BEF6F3F -59D532D76B53A6240DEE8D68EDF71700AA468CC3E0CDD8DD50C3051608119713 -F4D5E13CA685FD48D03E71726BCB26A4C885B025179C6C7BCBBB669EC6CA544E -16BE90184A5DF4A9532277C765CB25678D798E3E6BAFCCC1B0B31880526BFFFC -B707D24FD48BC2DFB593285989EB1135D47FD2E30330943C5424550C4C17934D -2CC69FB31F81916BCB774D27AE711B0754E25655927429C626799846240E7AE7 -5F662E4851322F94A14A73BB355C6DEEEB0809B730812B0798A4E0CDE08A0594 -1D8C3FC7E055BCC948D74DDD4AFB62533B78BE85310B9BCCF61F1038BFFE4A3E -7B982D1756B58331F924D67A55F86CDB5BB347DD4EB04271D0FD2D25D3EF6682 -2EEE955197ED008219F386F41539875CD8DD847499F9E56545DE11C43036CD5C -E5C5262A59EE74E0CD303056D37C61F555DEEFC997CC80B06C47F90A3C46D097 -610A281CF632C8E2F7B0D2F84A434BD575B49A795EA04CA3CA5AA86B299E9F77 -78FC4C37568A66996722B764000A7915EED0B05CEC2942FF564B7C784B2A68A2 -8CAFC810C16DE4691C98A7C99ECBB03BC1A16C7AA61931FEDE0E139AA1E294AF -9D0A84607DEEEC4DD4C35D5C9798655960A8F335FFF479D061EEC26555110D4C -5877552A318CACE59A4561BEE79F36E292C427F36EBCAEDCFDE161707FFA98F2 -C87E128FC6998F2241E4A62C4860BBF4C6496DBB4F218D5FC94C2A40523B20A4 -5A5C9FF7E16C377EFDEDD5B018D40AB01F26815275529D1359B60658FA1B7BAB -FDF854786A00D61E1122C91C3DDFB2D8B66CC9E523CA09404A885256AC627FB4 -E41918676F3E2B7762A1AF4DD985A4E133EED84E239E38BF4A737E2719409464 -6A368163AE86C54CCBFAAE1B512103E458B2ACEB514D0C3227242B0969FD8F29 -9DB6568F5EA741F84395753D67E291D1B08401574E79FB07969ADECF750D3FAD -C12CAA382468F626D5D541C6A9BE2657A4C2504AFE6672F60DC3B3CF1A7F74BC -3B0157D9F19709623D01E657890A40C85B10868DAF4BF1D37C8FCD5D7D3E86AA -02A5FF16B3487240D84AFA03354B666C20D144D59AA23A265DA4E1D0AED3A934 -C64F4C0738F8B1315BE988949C371284E5299E6BE88AF64E94DEE15E43EBDB03 -AD261E1DC736BB5F413437F4CAA0C586AAF9801A041347627DE8DE18927C2CC6 -A47653C740D5EAE722D730E17951E481DB07F3A0DBDFC4E3B7272F9FEF143A65 -B18E766CEF8E256DDC5409DBE5CC46009BEF3195BEF390F8E2AD6D972B62A0E6 -91D73A39FB27D355DC79BD514F9AC5B38FB6196CDA5DEC54E5A044661BD66975 -2777FC133B8AC7A4B56A21F018079320A3F5F5997855117658B1DF49F5D259FC -80FF80DAAF9723E2A85467CD60861DAA5A8C80CDB1FDAEDEC2C603D44EBE2789 -91800C4D327350CA005467F8E4941F1DD74B61C5BC8885D73FD4C68EF69FAE01 -2C87B96DC09B516B2250C7E6A1F640D61A557F471C7CE4837317F885F94E7DC5 -C561168BB8C390AECB871C6A782B1C82C1AFAB46C339ACF9B4C411C9CE0437EB - +2F2CF263C8B27100503264301A710BAFDABE2BC79B07CFA2FF4628FB593B0C62 +24651DBA0CB2302B18664065F9C6D06EDF4CE96CAB664B99C0B710586D3E3D73 +2357B60C1EC5EC0A5FFFAEBD1FDC2E8607886FD2E971CB2BDE3F3831ACA3C77C +09331BA12ECD9C58934C3C61023C70149AD63B43B158C677FD43830A89DC89D8 +8DBF8D0F98DDA8D06C9D59B5B4255EE05C2FB4C677FAEF12B325F8363F4A9C00 +0FA3A548FF16017CECCD6A1560E11ED9EEFE1BC796D2BD8984FD88F5DD6153BD +3172D56277366465F8AE0AE10E72F38DB57D30F9DC28A4C2AD1063ED7F4BF8A8 +B4D7732E938AC8487739D26FC08BA2DD3927747652FF43107A1F8EC3F11F8E38 +1D7A79B86C69CC188F2FBD0627C7F4C624121B2C3B0DE133930F9D480BB2F6D8 +254B97BF6159DDBD297E8F0DBEF47689E090BAC0209D53234F3A97DFABADE965 +30DA301AFFFEB9BBF566F732FD3BC741A4FD6C6E923C0279DDE108FAB57DFB2E +ACE75598F49515F54CD038003920FFC3F00ADB18020C7E2E008598623A8A11B8 +8CA1EFE31D894F2B86179C7041C0BE2DC7029117D29FF00F8EBF7CADD2246280 +2CEC39A29D82D70413FB6CEFD9B5999414655E1E6FAA31488C3ED458E880A344 +5D6119FD88B3AE9AA81DA4E675F78B570679A50EE64EFF2809E2BA0185EE5B94 +FF3A70DE7E0462E09651C2F4F216479C29D8B753F0936AEAD3EFCC0BA64A72F0 +58770CC3DADFE22FED4BDAF76B9F6D6008A85415D01479746BD03DE32A7D488D +9B1C8F8B6F10A5A8419B8DE651B2B9CF6ACF892BFFDEEB08B780AEB0818539C3 +7DAA805D8F621BD6B3B75123DE511D88604C5EF071514E58962BDDCA03BE02F4 +48A689D7E434347E81077F835F9801B1262494A8A831D803AD6323DD703ED2E5 +A92BDE25BAA62E955AC85FFA599F38A94A4558F83CB6D601D3DFD0EF37610A34 +F3B68AB6ED3BC07AE74331556F2ADECCCBDE091A2571B5AC458415284E0CAC03 +7733EEA500102E39526E921714290B6EF33987E8FDC5D5E2E6304405B32E6F19 +0D34C9995F41248D56A698B7EEB6CF86722751A0D680389F4F7F0D7B0FA89BAC +645836C890A9F3EFCE85CC21699950A00DAC35DE915E2AB54D09ABDF4E9A0A44 +75BC29128EA22CD98ADBB8A5011C734367095FE0B43E205E1E579438ED3CC098 +668D1D533E0686E9F6527AB4EDDDE7BD654793F67BC090DA7083619328B2F6A0 +76F82D5AF56DBD8A80F757748FF98C2A6D5BECFC35464BC557123FFCC5D1447F +D0E47454CBF0564E3449DBD404831D268447DB88DDA42F1239E291FA5B0C2A7F +0D1BC8606E79E388ABC7F2C4E2F9A37BF075D69C59592D2E4B1749969E4BC3F6 +8DB0A31ED1BB0EAF337DE171630F93F08FBA4BD889DDC7069F06711E40565ABA +80EFEA764D8D52A10182F141110ACD55089ED2A1686B0A2966929A690BEB4E1E +F896346DB64B1BD93D2ABA1271303C2051D2065E818FC6F7076D8FFD473FFF7D +5972990679D3A477AEE532EEA8B4ED029FC6CF5E049FDA19BA86B756A8575E2A +1A403D14F491FA424733646614F62E16410A30AEDB48F88182CF81F775869F02 +0F8D8B4130CF6A8C4379475C0E5FE333956A7BEB826146670329ED1E267A1418 +AD742E72E26FF3F53DF9BD0973EC25108298BEC5BC4C8A334AB9E9F179494BC8 +BEF0E05DCF987436DB4417EB49CA8BE14460325ACA66945084953FFAEF84F37E +9881EA4C778636D2EE3E512CE45A4CC31EB52E7BDE60C68F21E90946632A91BA +402C1F82A5E4E7FC60825785331A9DAC906C9574777749A34326B25259E0F31C +EA7C970E5344483055900BD864A29F58085BEB1CB67AFFFBAD6294B69F9F8F2A +36A4B5FC710642A3443674A4D13A89EE56224DB9E402B17A645466E74A293FD9 +A6083DE85E837D034B347A86E6277E4B4DAA3B7D8C15A9BFBC19CB1D0F13595E +D330FC272F0F4E944FD5C61F26C8734051853FBF27BA228AA98352C4127BDEBC +A6DC86850E0F1760472C7E182EC921E446583EE115E544E71D326B3A483AA55F +2624FC99D29A19C03D3420D4B845DA59FAA739F206881580FD36F16514BC3C5A +66C8B6CCC715035C4A355221321D53D0A05A8FF9E4E7E2DE61126AEEC58965BC +464448D3A3DB5CF9CE341520B2D8360AC6D0CD8086E53D5FE0A4E9BC992F1DF9 +7056113D28F191921A49F34271FE816F6A4A3016252279DE9A17A3153617F0DB +B4F5D360243C157FA120CC89F7FE8C2BED8248D1587D2D4DC4F5C90D7D6AC2A1 +329C5536E85BB5ACD3DF5520C4F620782D52F896186453F3206D740B57AB0451 +EE735047AAB4AEF258FB1DD705DAD49F695D5FFE98CC9F73AA59B034D7A6689E +AC3FC0144A791FB04DD0C2718B676B0405BA04CAF72C57DF2EAB282CB9A81A47 +FFA4890EA672F3DC041210C9F9C86F238FED85DA9710C7C6C0364552CAEF927C +D52D5A603D205C1494E39F6A66BD012080A4BD18DEBD96DDCF50CA118A569035 +040AD7B9E925F33391D130C3F274077C475BCAE215C7F3C457AB339647191729 +05F89D2FE3FBDB1DDD7606214B50C3860625F0E34FBB3037668338D70032FD4A +F7602CEF0B62E0D06B5E27F3106894CDC7B249734195A62A5C1BA0CC8F03E3B3 +EFBA46FA153FD44EB55ADE26D38C5B5C1D8C19623208987839093126ED883168 +D4A1D9A5F9C94C71E16FB6BB3504D9E772140F505438A00EAAE79D05C5722442 +EF1244BE875098251BFD488A2E84C2D3F8F70EA07C9805AD823980561A074FAC +523D3143EF274AC1F1872D8C1272495F07DF9B062ECAB0530DF8FA962D33C377 +2449FEC027B79CFC109821620FF67F02AF25F265E9D241F761B1C21DE9AE21BD +A0A7BE667E34578A62259E35CD3503A49015D169BA5131BD1230CC16DDDC9BDA +81FBD19765355B5501FFFCD65438449C36F66ABFA4C6DC52D44706C6E95FA7C5 +E5D69839225C8141E81F67339D6A3F510F1A87980A7FA2CFCF919F83D2758981 +885EF470DC2ECA30F843CC677A3E6083A9639E040DA5FE2AB4173581DA251557 +B631AB6ABB4746A81929310854DC087427DCAA78BE0A14D52CAD85EC12CB5D81 +21F8F7D8ED34E2EF764391DEEA35D03B34F5EEE7E0845939B73683C9A726D269 +6EF42C322E69844F503AB771E7BC722DE5D39ABC79723BA77B0ADA9A27C7E6FD +8F0523F450EE4FF8D985E36CAEBDF1DD6707B61478675CE0ADAD4E67FF4D34A8 +597F98978F414323791B64E84FBBE9D67764C113C6822C20C57BA3425C1B7645 +9AECC2E00CBB6C8CA670A2A5A7AAD80A1E737E77CFF242BE49B872FFB60FB3A7 +FDAB635914C9947859FB5EA665F7432BF5E507C5C95B5BCC14A841A2BBBAB185 +D1576730BDEFA8A5897E476D51EB1BAEAFF9FB6C457E0B7C9CCAA1684DE2C1AC +5E893046D4E6D704528669F08063EF86F99D8ACBFA5027686834E8461792E35A +0CE30ABC123D8C3E22873D65364CE0E5FF75B89D80D6BBF420E5FC5E31CE10EC +073C4064C47A38800034AB2BCE4966C18B1187E5CB1870B30FFFF6B967A54E38 +2A38EE09854E20AFB47C7E2ABB35DA449FDE353FA5A6FE4D7B550018230154EE +E635670AA0FBC05DB432E65F3457ABBAF7FD175D5AB5B386E0CED8D7193BD547 +86ED900579DDCACD269C1F4994F845804AEB40D68457BC8DF062A7F3953A2F07 +E3A24311F563B23859C69C790D218B0AE1B4A3945F46A5FD63BE4029957390B5 +54EA289752B826B24BDB883EDDF6659F26212AFC7CC8ECDFF1E7123A911B0F98 +FD9533D672C0A00C73E0F01719100918F605CFE56D0DAA18F421320FC18B3FBC +78AF72B4093E2D305FB3D8EBE1EA2207D05F5A121BEF677F3DE94ED9F0A7672C +11ADB780122787F68CFC8F59D4F4DDC33E13A13CBE7B3C5D8782F8C9162190C9 +0F49DB134292B4B488315B11A4C3250977E43F0FCC585709C47B96A2FC381035 +61674AC6B51052D77130C37A49CE264C0973D3D75B1AE625A66B56AD41EC0931 +C9765F8DFA5D1587D06A28DA530498CC3BF68C0B0F24F80BE5C1E76F528A1887 +E8A415FEA0519FF3261FD62F2D1E009F97455D5FD3C75B7775FB5104DB7A20B6 +CCC697D5A821F89F69ACF1017C5462D5B828907191B41C0918A8FF44547B7CEB +0F49B625F790A2147B94EAE381164BBE644A3E70DAE8E1F6C97A75E8425CF6AB +6C8073D8E3116D9B5D06C1992CE93024618A5105E7AF32C6BF525C7B5D4AB280 +5D4103479D66C948EC9D153B2737FFD64F95D300B0CB491D97AEE905F3C62E3D +439936E4C70508DEF021EB918AFBCB4A56E8758E13C9490D86A5B732CCD77373 +4EFF0B8CE6819A7AA5BCC01CA85CFC95719A03098F9CA7AAC88DE8B0C09F015C +46901E5D0A49613F544290560871A1D4FE48D7F6214F5AE1362E5D1EA1508FD0 +E57DD35C0993EC0CC5E7BE4CB79256FFA4B5687CDD69750377E48CD6DC808922 +BC1BC7F14A5C664B36259FF9161669AAF0525FC70C6F856CC22A7A938BCBC318 +D01E132682BCA208FE3B0989D714E5BC01BEA2E3E1AD01FB56F4477172766938 +7023741747CA79AEE51D233B0C82103426121821648D4F96C22F040F40A068C6 +DD24A417D17F46999C9BC648C5AFEDBE3C4157E2EAC85D9997DF585D8F686C2B +3365696E492DB619498ED80DBD495BF52AACA15AFA2C7AF60B5697E3E471B80C +D313AFB321295FC989E819E1970F383C94511737E60C92B92D1720A7AAC6F774 +14C51AA35192A28DD4B2D46736A65DC54B2B25B0996CD01D7B388311B37E6318 +C29731128DF495967AD5E6EB6F1D469B5541A41D4280AE5DA85FF96EB4AF1789 +D7C1DC31D52C087DCE9405062806A0B4E68A075CA2C6CFF60F8720E77AB94BB1 +CF15D4AB943E7150B286C5CF6966B1C3C304F96864958030A625C742158EE151 +49451D17894D4390AFBBB830C7739D4DCDDCEF731712034ED0CAE738647D49C4 +D73584E907CBB7D64E5CCE1A42267689F160E43D8771535D9BDA7702D1981687 +107C015208124B4D759DD00397A0B54C83878FEF897F3BEF278BEEA272CF0C82 +88F57EC3DF160D26746D785AD19F9FF3CAA86BE390898C6B797B3ADF01B0989A +95B0FC905F034C14C5F32AA0C97B7120601C7440EB99D5855A61A7039320DCB3 +CA9E49E5FAE282460118757D841DAD5CF14D34E5D108524170B6C8F2F209C4EF +071D1C930A071D0AFEECA65EAD8826E0E54A349F60B54265C62CC70EAD8AE3DB +B113BE98479072046FFE73BACE222033E2C47C7C749D97E7BC932EF60FAE13D4 +0A208321C365A5104F6638D21176ADB80A3B415C20757104D051D967471F687D +E3E7E344F9CCA96E6C235B52138879D72D33CE3EF4183ADC3173AFF0AFF779C7 +78190DD5AEEBEF54DB6F50226B652A496F6899978747E151E6347834F8177F18 +0F14381A7BDF9FF785DBF90498806CF5350C82B89E4BBBD5A4F3B050E10E121C +E71FC9FC055831EEAB6DDEC8F26D102A9250064EDCAE106D53245BF15EBFF4BF +EBD2DA1099A1F0A1F4B6941DACE2BBBF2A38F6D25C1565B6C95CC94DE6C17E2E +AA539FC845F16712A2CDFD39854C63F6B7E7A89F335CA2DC57ED30B92A0E0A34 +A15B59674766AC84417A9042E9C388A906FEEDD189714A087ECADAA080DD178A +70C9D8A1C1B0C9884D02B692483730FD313C4E64190E6684DA24324CF88A8C16 +C04E949E9ACA502B5D5ABA91803992091869C0697422CDB5203057BD85471518 +B86DEE52FAFEA174D86E3DBA6EF3440E3DA943480C88F0886412F4411D0FE7CD +C2794552597E9CD1107AC4AD756C4CC1BAB6EAD6D38559A233852C3C6735A7F5 +EC6D6D99FD510AA4428918E0AED80E0DAD0BE22EE3EA20A309BC7267899D1396 +79458C5DF3CD1C0848B555D2AA48DDDAABB87EFC2B584C48CA8BC0A91867D9BB +25994B16DD7512B4836A691B03BF5767EA105D68B62D3D81F2440EE269750E58 +8091F08CEE3C62D4131C18D575147A112AE01C93773124DA4E2B74D4EEAEB1F2 +C8B0D863EE815D994070ED9DCBEBBB673B2182F190608AE7D97C309028E7C992 +B14BEE67E749D1A875E79934D23E4BD9A3768497518620388D55C076EC42F6A6 +2EA61F2DDAEAD939E921AAAE37D58CE72AFE3B74A8A02F4A1804551117D2922B +80A2750F0A3D9375361BC7AD2E302267A15C675DC20FD858DE9793A080624F29 +8D9106D26F7F5747FB7944BCFEADEEA4C7605DD473432B4EA58ACD471AE3A4E1 +64E4E35DB9D97E2A374DE22A6A9F8B6D7E2D32A0C603BE0A044283621B3D1F0F +1154CA2149ED42E08F08FD85D2CA5DD02DF68E535A25487BDD98964A6C2064B7 +A057D4186F0169777C3BCBB4E397C22F4196E3F5025EF5D59501FEBAC3C44768 +6DBDF3342857931DDC23BA77C22A318CB13C653086032E880E191BDCAA77124D +7238361A68F663A638D0722BB7DC3A37226FE9C5B1C15E0A32B900A335F93AD0 +98D0F22C9092134E37B336750C48B5C30AC8BE183A154ABE2F304915F8FE256B +0221EB3064620A3F87AECF76FA16A7A1BFC67EFB0D27910977DF3C8B1B93F7EC +5C47C8648197E784C084F332FB505DB3A3FBFE6367534AC18D37CFC9D96814B5 +0B568AA24B823D93D58C38FEC655183AAC309FD07CE32353820B5471E345FC29 +51FA9581A7CFEE964B4219E3837A158FD43C9FA8502A566E64DDCAC0ECA874FA +CFC71A0D442E128423D92340E53A76C9CFB6882BCF76A2AC1EB66DF300F6AEB8 +C9A2A9808EA83ACD248A68DB3F78D6CDD9A507785799714214DA4B60EC547FA8 +2967939DBF9A29B73D319810FADF8C44792E1667596261B6E52339736E7F857D +EFC6C4997298BC8ECA834F8BFA5E3786AE80790C50FB1669230ED454DC81CCA7 +7DF4E5AFC2071127D70476AE9B225166EE9C65842EA63B4B309A907A275000E5 +94E0994A08FC58EF0138B557AE8D96842EB50AEAD3F1FF98F454E011CBF4C2E4 +DD531883C44989669A50AD00BAF10A062BEB4B6DC3F790CAAAD0E68686FF3A50 +1009236F70FC80905D8EA2BDA8D2442A006E2B77D9C40A01A106D8BAFE585D2E +CE2FD94F9A628634CD1F829657939751174E8F43F318C47CB894EADAE6C8ACB7 +2AD554E3085ADB6F3443489F3BD33A56CB4AC8CE9E11FA0C83DE9E133C97F69F +4812256B60954CFFCF3E7F439D126F7DACEF1626D83608DB70079F0B2BFA5DB4 +9E2EABE7D23BBA421A88374E77DC5B6E2648AC9B7B1C3569C826A33AA21F71BF +8A5B0B825DB9E00CFEF59403990D57BE4C48953786B76D55D8B665A15AD69709 +A360AA9D8BFCA8E00DBF9AE1D0A40F0B02A652B2B330C689E61C3C5A7EE81172 +E847414CD43E2277F37BDC832104B29C998785022A693389A9FE86EAEC5CCC4D +09A7B9348C80AD3BDE70E7752E44D30113EFA182DD5E47CB21EEA64D9101C657 +2106899AF37365A796ED255FA7F4EE501D8681FE11F92E64149EF8CE9D23F334 +6E2B1E1A67CE7CFDC535319EB61E5089201708A0F4F449F89534FC7BC340948C +6788F3115AE6B80CB6C1956474D2D292B830DC9F8F67E1FF381CD81D788AE222 +1AF6B548B5C7C496BA711F1F8AC21947D2604ACDAAF0C5A68E587FA2109B11BF +24807B7DB0EE845C13E8F693DF8A4969715443E1FA0090C4BF359F4827067C0C +823676958AF915D6D75C767F01C7ACBF06CDF9E9A27B57FD5C2F133DDB091CAC +2B31E9DB522783B69951F2965AFEFE6F454E9A859664A65AF8D087B203924BCF +E4C45AC959352FFFECE860648C6200DF02D650237BDE22AB1ED127EC09B4F3D1 +234BB3F32ED111B8BD481729F4293135EB333723B7990F8B70A211A3ADD67AB2 +8B5A7D6AA9E9B0EBA08F9F2959D13611FB8F29B749686739380BB59E0A93E99A +0B97B297ED8362D421F3AA230DBAC86D200DB0AD6D5F320D1B23F0A570357646 +94DC98B2973F2EADFC8D2AB5DF1038740AA520B7AF4AFB812575C18EBAAB76B6 +EBDF757E1B8264C87A7180C627070C3B95EA0FA431E8360F0DA8A722F0861C9C +BB7DABF781FCDEC603326ADFD0FA3F788A7C695E50F23848CF85CE410DADD5F1 +D7CEDBB484D009FA9BC4E06108CB63056129815A616BBE98C38E6DA6E587C23E +D0F6496CF0FE5F51ECE5FB21779A44163115D2F05541531EEB124695FC34E359 +8E0BE91219FCDDA56C4FE3BCBF6E8F45505ACF974C6F9EF55DDB391BF5606A61 +725BC73D5FAF324A7DFCFAC9C9C2728CD4370A9CC71F645316ECCD8AAD062EBE +9F0763A7F77ACEC296597E0374545BBFBC538525889D39E9153D8FA7C5945F8B +955BC41CF03F7400E4AE3359818A4C1FA2AE66AF9B77F6AEE16FAF82A469F6B7 +46E679B38AC3897D1AF3CB2E0289802E8B449A1FBB084EC5938185AB229211F3 +6D8A9C36134ADAA0498417E2FACE92E753325E0B23BC6330DF323C6DC3C4C41F +25B077754E4724164566626638525F6F49BBDDBB3E8EAEA9ED1C3AB5F8DE8BEB +9432578C9E334AFB9B3B05E4E11D0C17C4A084BC7903ACB1FCB213622CA5A95B +D6EED267C225E42D372F5AB6D45B23DA02D5141E310A4AF395531CF047673DD5 +69FC7C683F52CDFD0BD9598587E1D66BDEAAA467C512AE2BF24ED472527661E2 +CFE5723B43C46C210CF6E76D0A4FD426258688C5A797F1F6ADCBF6174A61C332 +2009A4AC1E90E598359039CD693DBE122E18F574B96FC97BBBCF0C7020EC446E +FA902325670BD42463490952BC7CAFBEF1074FC1A36271F6C6E29DA363A6335F +6223F16AF2A3ED714A8BAA0EC08998F41BC8DFDC7B0007F04642CC489BEB0139 +0A78094BA9D580810CAC4D4FEACE3B67D1F957B180A481BC62BD7836A708A336 +CCCC06B85F07F7CD13104E30FB110F749A966554CF8E507D10572B4BFC0E24AB +AD69A17D1468C4F4EA8E96ACF86192EF402E4F59EF145E0C8B187709E9C64EA9 +C52F7CF2E7CD9F43170430CF6A76CD422648542920F90917C1698803282D5AB5 +5C39F06597D76D52CEB7AFEDBE9C91C90274EE106BC54DEFF89B7E870ABF946B +0C87A133D0CEE117C00ACD3BBD72474D14F14D2A6AAC857254CB409EACDEB6D0 +F22AF9B820FCE6A5DE6DE866CE8BFCB17C1E3C452CA7912BF25D07020E447AE8 +9565BADB3EB531A704AECE4A80024BEC8920543773349987E9F6240514EED4B4 +8D78A234318102A2AF9D6C45D9BFB27AAE43D5ED91483CD1284A6712DF124855 +B64C5E3FF7DDB5DA6735A0C765AE823BA1F14749B6022624EC3170435DD20CBC +018936484A3F93D5BF136281E07A5352F9F1D5772DB0DCEFB57EDFF0DFF1A92E +22D3B7C7DF81B7F9BD970CAEAFE9C01771C4E2DCFF8B97FBF80788DE47C77707 +5F2D211034B5150F0343DD875E6ABAAB8E68999B59738A3999C440EFB67BD76D +90085D1D4254E63EF500D66E4177A18EB2C74B1BC53EBAA89892F680F33F3EC1 +AF438446E2E38CC40F3BD253BE7E37F00F4F6132A5AD13F09A9A19C801694078 +0189410E617ED04990AC4B4AB626BD9A10599193E3B7C7A3BE9AB3DA5F9466A4 +1BC68B6DC033EA0123D1D1DBDD8CD5C86B4C0539E1D79DCF67653DC84C3A8C89 +D250A78AAE935811AFE6F3FBE2E5E452E430E16A20DC563CA577C898E68F2A84 +ABF46FDDA19186DD43A1DFA24C92FC62ABEA7CD85BD68D64CFD1A0C29DBF88B4 +D25D8C0F2A6FBC7A33C4DBFD91D97918748A9E41637820C7CB4FD427825B7FB3 +44DC759B24D98AD1565AC930B89E81D23128723BAB5BE792A6C9112787225241 +575015D00D0691CFC7E29EF61F931599B88E165E8EE75DBEFF5B1A8D4740496E +9F85ED6820722C274DA65F73AED95051BD9FE38AFDE4FBF425FEB6ED07C8A976 +F32A9BC9850E0C7069AF74BFBD5A78765AAB81037075B4CC6F09A95013F4B75E +A86D41C755425B4B00776EAD7F5872622D8BA5F5A2C5187DC8F36F03DF03B168 +6AA1AEBEA0702437D8E546888A00D42EC5D6085945E31BB14AD594BD9BCF97D0 +4B99A50C128B77C75D87CE0BE0C73FF37F2DAD7A5B5A361697627255E6E5797C +FE1E38C38E4359B97D594EBC15E0E10F17F20156E7DC9E33DD8BF8EB016CC9D5 +F496FBDE6E16F0FC9E5EDCF67A39EEF57345C3E6A4E04DFB7EE6AE6E54EBFCEB +1C53ACE652AAFE3425ECBB3E42EBBD51097E06D1C2ACAF97ABF4D875865429B2 +2D9A1E61267AF7E31018C46EAD1839A45032BD9746DA458A2893613BC41D0BEF +F6338BEF85A69A8683E5B3C3D83DC5F651011934745C042E3DDA4DFB7B393C4B +9002B5721DFED701278E9CDEEC9F7B4EF1D326CCEC149E68FEA5D7468F7A091C +00A3FF3AD5446B14FB635771A5138FF8C2B02FE98180C19595BFEFD29B8F1A0E +51CB37E46E06413ACA5D70EA7F4F0039A0F9A4A20BCBE335C82317F6B1CE4E8C +7B06513CBA59EC62CB7563CB4B29ED6BC20BEC14F6D4C192E0261C8A2CFD0968 +BCC64408B19F39F69CBAD5D6E117BFD8470DE959BAA369613057DB1BA3441E27 +EEC436544FCD8B6C50D24548886892C86EA61CD573FCA53F0CFA97D799C25418 +3EBC2302D0B43DC80E08F68C01934958A810C76DB2E23B13FC0BC6CBE37AE842 +8F2452EFE0AD6E97620A070BD93CB99F13E8EA78DA56728314E62FEDABC6A6EA +491EC96A8256AF6C7E8FFA6A04DD6CAF1DB9A45AEF196342D690863F54B3196A +11CB3BD65F022BBB8DD1356F768AD0FBEB817DBA77D2BA4FADD43C8C7682DAFD +EB331954CA9668AACCAAB539AF7BB1F94B6C9C430021D1DF43432F03DAC805B5 +EDD2279D4BB979130BB5B44FC22191C59A849D0DFBA2847D76DEA80E88AC203E +84A8657C760AFCE2E070E16E3AC53B9D2F0AE040AAF7435051B0B36795BA0ABD +AC192D83908FFB421CB493A64F1C3FE99DB9F0B41B5AADAC1D6E0482D6579670 +F5154DCFA00E4E45991B6CB9FBCE7F6A470807193224CE848C379F508C5BF898 +4CA713E40BF4EF1D3EBDE3D1118D838516CC5FA9B3BB84D22408404692E04873 +C7482267713954828DE7C91EA03BACDBD2E53780E260601FD03CB08201C62BBB +B95B268EE00F702907B2F210776046900F80857CF5AB73029584954452E1CFD8 +6AA384D3238AF280DBCC617B8144DE8DF0DB36C18C54CDFB81800ED65DD9EC4B +4ABF20562FE068BEAC88A21059084A3189328AD5CF5AC9015555C896D0D2D096 +B734CE37CAF2ABFCA0504F24869D0004F6976C73D8369DADF0077457A374E601 +7D8120F6918B57F5A3ED0E142835A8FC95CE31A30073D5AF29AECD010D2C80BD +737FFEA417B9CA710CC39B759BFC9129B11544D222C31B165027AA9A981944D8 +E429D11D540538AD0E26B7D6D714A770F8FBB42B969BA55953DE4DC7393051CB +17F74547E2599B43AB9CC178BF0560BD5EF585A67342146D32FBA4B477B6F403 +C97C8CC1DC04B16A21E0CCFEAD2845E4A7943C34378B80201C6033CC8CCFEAF1 +8026EB0AA7F77FC2165E6A2F99BCC0D7D65C4566BFC56B9A1D35B964D6DFCB6F +A2E9FE35915C8AD53861F593589ACB337CAD96DAB5A00F0BF52B7940FCDD915D +03A57E81EAA243C525F5A99B2C9325A65B63937ACE78801D22979306C3927400 +30B3682657443F972DAE9702D1D1709B71622ABEEDEC3EFF4FC3A82B9EC94C5E +6FCD4086A02F8B4A58E00B4B28F054E203734082BD4A7E039CF0403836E439AE +652962FF9907AFBA6C7AC441CD769AC304E243AEE7DBC219C5406320F6D20E6B +B1FFAC7CA30E77A419AD834DDB087C33422C2B1E689794D09CE6FC29204A14F4 +6047A79CBFC04AFD3D68F96C0B8C3A202A304D697FE178F0EDCB34F9B0FE3BB9 +61C2B07A7EE35E8F18071D61F6A98BE7CC573D0135FF9A53560159BBE16F26EB +B171D725905D4A0671FB8BEEBA009B47CA9633362FC0C4553509AAAB43F137C5 +852DCEB47074F71DD6345634065E358CE4EBE88111970F1190CE776EE7709729 +548AF51C38735F6F63BB83E9D91D5A5D2E1F89C7BC8785711452AAC43E77498F +A74D91A1EAA3F29114E49EEABB681B56C5456541F4342D607C477983380FE29B +9A08A61D371950992F17F20D40F8169E3CFB99AE231C40EA020C6C253FAC30C2 +04AAAF5D992E9458877380510AFB91851B289DC03AFA363EC338E21ED01D2186 +C706EAD057ACB2D47CDA1FBDEF9AAF93841C5BAD0668C10541D7B41EB3CB214F +4F214D7ECDD4606A4035795AE25C58C9692845F535762AC3403E2A0CDFE79D27 +B58887D2688C7694D4D271EBE925801E7C1B27C18C8E0BBA3E6F999484033991 +B0F021F1A60419F06CA0758F7C3321D20754888062DB453FC09F3033DAC6BF0D +341BA60AF9A8608E7BDA2DEAE73F83A5DD9FC35BADBEBC2E0C6AB18CBB05FC06 +7B967D6263051E960498B63BEA972BDEEB89650EFA809C88644E8E00ED119DAC +5AD530C519658A82AE9E17EEDE4B91FA83AA1A925F6C7E65119F8A397F11F50B +681E3A69AF664B9B6076E4A9033C3F391BC110289DB31DF9F326826F480B9F4A +D0147924421F1B5528F463E5D97FD84B06C9CC9A35EC2DAFEB9FE70C86C9B843 +6C60F79CA7F7A61B2E58B7C15752AFA82BF0F19F4EB7276D17109D975206FAD3 +A02CB0FE17FAB4AA9F8A649C84F1EE19E2F5026D2CB3847533D7ACA488D5A531 +3C95BC346E9C249E34A4 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3412,6 +3417,7 @@ 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 @@ -3669,377 +3675,381 @@ E735D796E365A1B0F60BB4CF2801EAFE4889EE5F338D3C4885368281B3C95CCE 7329622828B2785C1A8B26351BC74237A6BF99216652ACBD4CCF54CFC8AC72A6 46342F1E32D4318E7E27C7B2DAC943B3E72C472FC6F1DDA8684AA922516A672C E969C047E318B5E3B1270C1BEB1C4071A15BC81B29B268C679B41FC5E381BE33 -DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A594210F -B5200157C0F02340FDD61392BE9B0D9C46C1A0C4A3AB05918672D6D6020D3A88 -8C18A08AFA6BBD8A513A3C06A29A0FE923ADB6F9996F3516967E5066FAEDE5F2 -8317ADC676E012A737EFA5B743C0FEDB224E360B05D089459F860F97BA62BABC -E86CF3127088FE3ADCC29BBCC991BF7A13A3A5BE34409C002DCF2B05C095A01A -12BBB5C8F3CE43DCDA76D261E3F7734DE2DB7D9A323CD68D78DB2A5DFBF469C3 -D02FFFD3B21DFE7CBA8B9C7F438CDF8944DD5A06583A75079194054F8C06AA13 -1698FDF6B55E5B1B11C5AE8BD7FBDB7BA6E90FDCD1802F2EC862FB85A143D7B2 -99223ED8525202C26A53ECB0894A7A3A64569699C1C085B3CF6D6F6130C45C7F -D74B5E4EF480988AA30EAC8CD07D10E5195B7199058C8B8EFBA9F66BBECEA137 -33037B3072C48E8295A2185EB3B83956FB26033581A702C8A2C65FEE3EC92CBE -4FAB38A2F5BCDA2F6F6698E3A87BB14E848E1A67E3FF1DCC92B85461BF16C111 -6D3A59FCCE098512A2B17ACB186BBCB369B984A363525211D9B83BA91C2B1EA4 -3133C3CB489173988833DF780EBFFB461090B51E5C6454E4ACEFD98F22E80F8A -23ECAE2A7803B9200043E29AE21F7EDB5D73EC2BC7EFEC3468C239A1E1C5A2F3 -B6A3D13C41A83DECA870ADAA461BAE73B44B9CBD7D9FC1D8BA7F096402CED6D3 -0C0D5640646143431C318824FC397E06BA888D966E976366613AE3075D3ADF08 -7E1730EFF0C108B268253AD90C929A8F9CE53FA3344692B4F2C8EE88C508D30C -7D3713DFBF78CB79AD34CFA007500B8D1EFB46C3902B183CE019A4656F585B91 -337C8FB23A923689F96FA3FA862ACDB4DFCC63C202DEE6D52253A210F7FE163E -BF0466BFC1104F859AC97006C5DAC76B68FBBBA1E86D352FF8299D5D94B6111C -4E4961C13C1980ED85E5BABDBC25E26BD2611CF9644C28F3F783C91FB71E6511 -3305932CDB949C97E3C994AA9DE2E3069DB02FC5D1A7B552291D4FC01BD06992 -7BB266B91E315382D3FBEE6578EF6BC38C8AC5D27C8075C3C6C90E1133DEABA2 -600409713AABEDFB90A7D59DE9B1C55D5BF69E81500342759F8EAB102276AE4C -62226488BE3548335C8B5DF636318A758825ED631CC7897D81D8DB5E1BDC5FA5 -472B07CAF20A93B34EE07C1F1B35CCE504BD00584F0AC929F8D276FBE1A906DA -76508D83491CE04DFA2D053CC70BD6F6D4F4FC37AE9574F0427F56D04FB60C65 -40CD0C4F9D4B202B68C573C3883AF97D3679B67A9750ED2F7FA8C39E69967DA9 -2D0BCBB592BB6DA1C14CFE5AE55BD8E1EF4D4D5CAD9543A3ADB8346D4F0372E7 -7BAFCFBDBD48211C061927D955929DF620C0B3F9C5C62E8C2EBCB8C31065CC45 -36857F4A093AE79BEBA97AE481ADCA3F806C26D1C407AC716C6CD1680E4FB711 -EB5837E62986F81259FDD4BB7EF510B5A8068E167B6E9F79A85EAE7933D0593F -E2E47F110DA4F91FE1D1C9EBAEA7AC1EE47C32B850413D2F151439B2CE1CADB4 -7D369343F4FE7A23FE7225240EE5BB2EAD003B791E184C05E16E5B1237336108 -42E036A6736612F2D560738B460C36B7D6BC9ACC66DDC5835744F58900D88F88 -32F5A49330101FE11A2DCC0E1BE4BB40B798C0B17F06E93373736FF86328A280 -439E9293434FEDB5174FB34CABE580EE7389CAF1DABBA6A053D514BE0C3F9CF0 -F3B9E5D971C3E42711FE1426DD84C2A1462CE67A7E9CDA86B3581FE979B06C4B -E02A9FC63EB240C890DDA668C586795961871B93E01E80D140B1D3E84DC0A522 -86CE9CF8612A35940CF0DC3BFACCDAC376BDBB3A4B063E64C59C61CEDB570B32 -315481B2D8127B9B6462C898A7FA5037DA8D88EFBCBE60B4A803C0E5D4722760 -2FEDD14E231C6377F18BAC84FC907E25108902B9353CA450AFA7A2B028395D93 -C547ACC959FC5F66D49CAFBF6090C67CA7CE8267C80C7AC2BD031CEA01EDE032 -D124162800A144E00AF57B0F7683630F58A223111D278B122D39F1040A35A543 -E850DA1DC3B6C24B1D0FDFD347427E1E0C089F7AF6F499B6DDC5D184EF6C3C22 -2E4BC5A1E7741BD398A43D47BC25601671460EC39CEE52C9A63F03E014100CA3 -9107C794F2A7EB2B5F75EBB0D1ADDBADBE84A42B32247BB1F48A1EA537D9B93A -9BE5CAEC478D7AAB59D92F1F96A76025C2EBBAB8480A7E7D1DA3C64540ACF041 -1FF7A968795CD24C3B6302C9B95EE6AF47BF5B6F6AD4103A229AECD3B8D6F6F5 -08EC913E120825E699EE78D8CD1202D2F57E2F7FF64AA7BC0B3A947FB07A149E -59A402E894363FE848DF9B84029A1CB228B5DCD030B86DAF7D7032AA640FA603 -E7B28A4703D4D84D1B7BC417562B51DDEFAD015AF7A25409DF2DA380590D680C -5E9EC71AC9372D3EFDA6667CFD495C86E4233A490B9C4C72666174B0D320AFCA -66543CFB72EC10CE2E1E7625D2616C2571B6B2E33430E28BCED3FF154726E618 -14F68511ECD14AC32539B0BEE272A1FD7BDD577A27C6D3BAE6AE3A25A924B50F -95A815EBAD7947FCB8C58C70A83181B8AA858A70D10F396AE89524407EB2ED07 -68EA77EE29E32F040655EEC1FE51069E22329FCA0F3FD24DD2431A46634AD6D5 -F242F5ED8508E7E1F2E6F8261558B2DB9CC40ABA2FA86E8C9F6D1112AA3EF18D -0D5BFB642F77D4DD7FC8D3CD74C6434DD634FCA744B58D80D76D446922068DD2 -EB47C42C2EE8C96CC501699E50BB54274133348ECE59A563B4BE5B7CE1DED13F -0047C7A6B6CB384C8444936BD165B9C6A43EC34FB1BA55E7D63BBD9ACEA2F622 -CF42EED2C3557519B5473BA4B765C75A66369389FC5B07B79B87015A90D2BEBB -E91BDDA7F6DE559E13D6DB081965B83B050F97BEA2BA3FE20B1C80DB18388C0D -2FAE933C71CE4123BA815A50D93D97C29698C0C0C96838271AFAB4FF2BC830E6 -184087C68A05C6ADCF9D87F949AC5667C0D2F8538D8D7A0862C62EDEB58CE413 -3AD8C8280432E93ED5DD49EB1C47818D8EDE3B6BA4CD8D21EDD7071FB490ED10 -C910F5399547FBF372840036E3D167CE36B7DA6E3EE3975934FD51A1B77FC8EB -E576AC8AF5D3A9DE883BDD29FE161F0FD1FE61BAAC76E47CC4E4403A947ED8A0 -36BE4184200F11DE0975421241E77D372C9FCCF8305F9E4679E87E7D0C9311E5 -7CE314162DC520519578434AFC3E6694FC3C907BE36C433FEA335F47BC2332C4 -E8AB9E715BB21D8016162429932C527FEC90A076BADCE3F14E6A8BB84B85F640 -BE5CCB23E63C3334A84E606D014AFA5D22189E5F6697AE6958C6E4A9B14A1EA7 -8A3C53174BE2458BA347038C3C67A8215EEB9909833F1973860F73C3C8E1BDB7 -B3A4830A7A82BCAE2574C9662D9B79F7C9209F388EB655655268240DB3E87310 -966464371A5F1C833894978FF20B2DED89C69ED956DDAB5B3B10A121D49DAC62 -D56399106138052C66D44439EFFB6BA49FAD8823EFE66850FD534A86074C5EE6 -141351C5319252D5DCF7FB36F0F868BA5BE6469BAAC008ADB1FFC72E4BEC7C57 -6DB7B4B8BB56F2990E8A5F8368A67FAEBE4FF86FFFC5F914396E9D4536E3BFF0 -32FF663883563606D288E4F747853EC60A535E19ECB75D4661F1967B55A7535F -E6E214BA61CE6D84BC6F7D78FA0F7DA7E20B4DD668D016CD47C81E1E832F9D19 -4CC0907B9A1CDD2C241A672A025EABF26DEEAF4074289CF072CDF858B4E61536 -819A7B6A9F51F9EF82AA614FCF4C3C373E77A5B0413856EADE27601CF60EEBC6 -0FE89D9A1D11129AC54B76C6215EE2DD0076C187D039351A8289809783D3FDE8 -70F11D780FA6412CFA96D04798EF3209A1B6F81B14F283D5B3C8F118897F7D05 -9FE1769DA0CB6048672F61B429FEE444967B4279B24C20890EE7B159132DCC36 -DACCE06AFB113A96D8395BF21AE603D578C46E70012AD1E73448E306006DDE55 -AF7EC201895FC7C241549CA800439276011BFFB3C8FAB1DE36C1108DCBE67B71 -56CD9CAD7F14A6BEF3CC4B5E8711BA4ECF0ACAFBE613D5B96EECC0794FF10999 -9EFCC16247FC0F4A09BF9BDB5F840EC4BB48DA4D8B5995FF535B45FB134DD2FE -F2CBD655AC6F137EDAC2113F8E0C180E069C359B294B2F4C0055A06742D6AACF -35A519D3922F28C867ADA92F4961CA18A3D104BCA99E0B6452111DA91D39489B -DBA169A25988765832AAE78B7263C2FED70309078F0EF08AC8614F475A0C5258 -E68536E981EB9270B22D2B94D2892C1D6E447AF65EA74CB0A90A620CF61F1CE5 -FC70CC7E6723171DB1E20AB4BC2AEFA9389F598222025D691E8525A478DCF513 -6C72364F2666AB46677197399C3D68B4CF1F4F87F430A5806E2FD9E798D7AC5C -977D23EE3000795422818868AADCCC0AFA560830FB9E33D5D8B7C5E4A714FECC -7EF122247BB79641B10008EBE4AF583E7B89C97821C05075F46208FBA9F88B24 -EBB4E80F0D93999670A3AA0BB5B7B5B72C35D317D27DF658382D849CFBED8D3F -64D88411ED621ADAD8948E9AC5A874837387E435C19EA34F010B27A0279036D0 -0927647212F62332627582F78239539D7332B563CB823437958240F278E6CC47 -BA53C09452990A4453F5119221D998B69C370EEB7FBB5EC946A2667805EDDE1C -FCCEDF03BF98C2104673D26A09A249D57690B135537625E48258392840A73967 -B967BE08B211837E50410E273B27B856F66772430F326E9BD0E619D70AF5190A -D70D7497AA36C39A7579AA36BB89BE2CBBEB16DFB15042C9C2F37FF83E7DF8A5 -36AC3F8AA0D7A78D430B643B6ED36DCA486A81B06951777335704851651CB4F0 -5AFAE9EB706E9A3F8E4F7F131D9F24AD2ACD0F05144FE7CF8B09046628788B6C -FAFB39E3709836C7B514C2FA8C9CA76A6CAE796E9D52AA6A0EF7260A10B429FF -F91B1AE060E64B6E61A87484137BF6BA7709730C694015AE6DEEB97C9509C929 -4CAB68E161E10FCF6E84D76C391343E4FA361B1E9F88AA2889B1684803269963 -82BD49E653DD8D19247EA3074E60ABA1ED612C056B4F18962DE3086EA2283B43 -9FD66FC6C08DBC5AC5DBBEBC7998D0EC16805E4080DF1C7F587FE226D9F76290 -11B51364BB712DE2A413FF159C357534005A20CA77AC8F3437D7BCA1C2BE92DC -FD81A74C007BDA36766FFBAD0AF3EFC3B60E24B2FC23E6E71FC11365B2E3022C -2C04E123D06919429FCD9F938F5ABB037B7C03061B9E7D883D953C20CE325C61 -8944BF344D96FCB68BE7B872BA1FA3616D43C7C375A0845B5A0B469A091E4D59 -676D53E592DD776AA99EF8196D1D1485AAC1D0EEAE079F0627DFD3B8F5D96E86 -92BB272BF1A20FC52C709B4F9DF4805671082013007D6338185B6BA6AC572AA5 -53CDD41F0CD270EE38ADC8FAA95AA16B68768DCDB552DEA2D6825EAE1B9038B4 -48CEADED7C157695843FD9CF8D6B17D3B1B2F08DA18EA57CB90F47C8D2DC9F0B -EC8AC42A758E812A549294FC224188F68B6894B08FDBB5EF274E41ADE95680AF -133B6D6CA99E90B527DE9B15F0C21FA640861E82F83327CEF9B0D4F6E689D1F1 -6A92852DBEFD22B6F8DFBA577E173DD275621BA99E3BFF9C4F8FCD7420DE5810 -A851488A5B968401A3CD8197DB19746EFC0331125B0A7016A9B8F84B0F8C7DC3 -60FBA1201BE6645E37BB02824B2D712BBFB4442215E19D44084D066DA95D75BA -4446DB751955EA3C4BA900CE491EFC809EA1F8161175F282098ED54778DE77A9 -598AD316C3C7BC26B301B7A12F1A82DA58D466939A23D7A786C9201930E4B750 -AD10988EC2E5B461A2286CC39695B6A5A05B151BDB13066720F467C67EA9744B -944AB6261D889C365DB55E03334B29679A5F0FC301AA6FC0870B84B8263B1392 -DDD3153B380FE80463ECDEF1318E838BB899D2F420D6C4F99A56D64A5D618E99 -C86CA73DB8BCD3E76A869864DB0A7276F47EF594690C3CAE6E1C47C11887DA03 -22B6F2E6E97A7338221E38AEF20726C9687D1B8280EACE8E8B0B842EDDFBC123 -A6A090B89D5AD42C312418FDD834FD4F354AAAD5002ECC573FCA75E359B52C48 -3ED5A6944A4B5CA3E6EE7FE01C70F8E059B986D7F54D003858569C207F6D4E21 -51572D716A821B7FF136B2FC6649809599F77990E1935842AA0B34DD9AC288DD -C7A08C49F96C99D716E17E84BF3B622D3DA4ABD0F7C2CD9247F84FF0A0CE3CD0 -54A635725EB0A9B2BE2F6D421DF42C12A8F83CE4964A184D4CD2CC13056004FF -2654106BD9C6767094C7162231201C4E1FA16D5926BDA3B7467CA4937CA4319E -3C96B6C0E0043BED230592B06E18C7A1319A778DE99FFD8D9E4C75400CE635F1 -85EF89D9BF91A246F4CBA5FF0C62748C958E3EE1F71CDE61E4C919CE74AB7E3F -5E5D26C498C7DEE52EA37F00A94F28A7ECF0F0A9EACC292A03E3F107A6C5F6F8 -1EAA1ACADE655FD7A0A67D8682478F68B317EDAEFFF7B7461E0771DFAB0A948A -28E05549C7575588FD72FE2DD72FD72ECAF8D81CE40A818A655875C0B4894C23 -C3A2E904FEE3ED5473091A41D3A209B818A91D6F1B41BF8E92A270FCAE2D7A0F -FD60F2294DFCC98D65E33AD49E462599908E4DE5ED7E10BCCEAD3CD5A0B380B3 -E2EB703723E4DF58B08F92BA0293BD16FACB5C78B9A1729E78BA2B7A89572709 -9BD8806875F67C87CC1141E0ECC1C6A4897BD31556C81FA3E2F1E7A568531E6B -81CBD2DAB4B86410D615E8641F8064FF925171E54E165F33DCFA5113AFAB1E11 -C0678CE2689C7CFCCCA3EAF5D84E715307EDBC68FE1703BC6601E0BDFD4D181A -C6D7355D4D5A6509777D97F21834D834D905F58303433A49AA135FB8C7E7320C -24552D6F7E26065CAF3EC1BE08D14C539CB5787D6F119875F18ABBEC5B02D9BF -CBBE4C315C7773DA59178EBBE098919CDB2B93A3DA0113CF5E4553EEACD7D937 -D092CEF9DB58D3F69D577CA9C3415C710CE46E35D6B252186EF35D59BB97492D -496192F8D8BCA202442791B0B0A7149AE9BCE292AC6FC53B71D5F8349FF82C81 -91684F71BF4CB9C72FA83B1E6549FADF452B3CE23C6DD3E788538AD9A02E702B -54BD07B019930E70D793BCE8E83475566B418C27352E1B7947F9E46BC0E5290B -7AC28B606FB74834085DB3ACE48669824239C4C85AE31C385C4A747E91EA352F -E6CF035FDC13E146F78A06CF3D1DD83DCED5B0D10760E3A7273AE3172B4455CD -3BD17AE58B6E2B2D143AED816423A5DCDAFE0532E1A5E7E8CCCA0F3D4D3B98D2 -C3AB43FD353E11C880917EE3189DDE2C1EF5B0E613303BCBB31183DAE43E06B2 -9E8975C9CFEF26E225D83D6161C80FA6B142A3CBECEFFD2355AF6A2F9C590EB1 -8FD3320F35150EFE4F96991345A1D430BCA481C86EC5993915FA62731A551E5D -B680D4BA1BD02388006737C078F4D104D6F4D38F67F60EEA66C8AF2CBD5CC158 -B342D6E992518A73CF14856DA38EA231FB26A6BB6D0222F5089712B721C80E73 -02051D4DC608B394B2712362EEE267B5FEDCA41425981F8A746C31998132FA2A -11DBC1F88FD70E24ED19816541549859749854AC92E7000EEBEFD20FFD090D4A -88F4F27FB18D9E951827E39837B26B12A6C042B60257CFFC9195B371A1AF8E09 -32C39E5B183DB4207C4FA28BA0861A0C4E81C6378F575D56AE2642F46E33F460 -A6293898DF193C8AA496E3800FC23AE3B69463FE9DC9D8776A83F2086DFF16E4 -D5C41FB0C09F1DD405193DFBB68A5EA027E034C69036D40C7BECBE1C6EBB13A5 -1AC11FB6075C973A0A50DA0BDF3E371F4451915C23FC1B1DCAD3085717E6F190 -088A6406038C39B1D8E5AC6C510CFA62222E079A5F94DB168104F4AD2D97253D -7EDFD74115F05048D4A02AF14202CAAFE8F24BAC11281B4896AFA52058BAF641 -2645E49EE964530DEDDA4FD27FC52ADB572722E1E8CCF51EC924213FF00EF0A8 -0BDD64D37B8A6D5EEEFE09DBA2E131A6EF79625983D31717CFC77C1B8B26EC15 -83ED97C8543A876B22D31EFB2A33F7E6FD2ECD86FF9D428C800E761E49AC8A42 -39BCA596FC08EF4F36E1167B1E9A4391E74E38EF571A2C302AF4C249A54A8297 -C4FD21781920A37057A39B11114EA01A605D249726A950AB9CA13742904614EB -90EA7993298FF3759BFDE6697E3527036C4B8F37EE3D77BF6DC844E3FFE37161 -C48ED17D1376ED07B8CDBA21F5FF282E1960C5F28219D8B0BC110E7BA3E19C3A -52F42215A32A050A9E7479065B1FDB644FC88F615877D6A78353945121DC3552 -3F821B76B49A45B668120CC59C1EF57BE66CC57CD0311D57DDDC160872E598C0 -3DC70F7294FFB2C3FFFC14B05934008892DCC197128D644E77767AA88D86FAD1 -51AC3093BE3D8B801C36F94444B23EC3152C3DE0208D109BBE9DB2C632C4A425 -5E49049D29785AD20C3FB106CF1AC5322F33177F4BAA9B5D4C86BBBB5374649F -83E7565448E89FBAF449922313E96A0C7C0AA2279DED3EED0CF58101DEE159C5 -92DBDAD0A4EDB2FEA9A8CF30E41A12E1E426A92743C7BBDE0EBC948C9CF07AB7 -FA41FC082F303281BEE558A79E3E77B31C752B2840298222F218D813CA7263F4 -51488CFD1A57D7B00FCF5F246CFA7B6438CC0A0071148424D3A7114A358F36B3 -71CB463BB9212F29A5289D0EFC07DE6A4536A030DA9096148ECE837611D1AC32 -66FE24CE590349E3ED0B7DAF61EBE669689B7EA383BB8396A0662C6B7DB61B09 -844EC6A4D0ECA6F09E1D7B3C0C194EC7203DD92D563CD5E4578112B5977C9B1E -ACD4DA7A6388C0835D021838CB190C1C4A0C43AB7DB4F53A511165201BD8DEF5 -CDB21DCEE81240FE961ED84FAC75E1A0C834D0F07D22D0A30F12126222E51C31 -950433A6EA3DE6438E09724BCB18D6E54CEF6B8B058D1E43409736B7B6BD7D99 -1E2390FAD64F6693F6F1DEBCF5AEFC0DEAC1800CFD326C61A5DD28C269F29F84 -54A07482A7D3F57B789D5597FE88BC127420CB07B3B926EF18D385A7A326A2B0 -87ADE9EDE8EF8887421E66924001C11325535E66EE4C351CC07F878550B5BB7D -6F3FF0178E710D1AB430A2EFE9ACAF098834059E52D687036ADFB3118F20A78A -28C559EF84C6CB99087FC344888536F3992571426A9D9F41C26D46B9AE842A7B -DB9C9160D33BE70543B73BEC74D164E780EE98052D76C2AC8984D0DA790F775E -6D65AE5C896E2D1A9DBC6F1B9BDA40D6F610E32B4BC21AC198E9F5CA5FFBD93D -AE97C90881FF85E9E12961B57FDD3103B1EEB05AB42507EA5240A9D3A45714E2 -F79C63CA55E414218EDFEDEE8B782BA3E5D66350AC0F17882486C577DB57BA58 -9B1024388912484C6BF9A0AC48AD306AF2034E7260B35DD6CBB70D48AD716529 -5742DCA4C092EB0E1C420934E7317F0BED25F7F5E190FB708F2CE4AE0D14565C -D1A77BAF88C75FCC37BDF41010F5D3510121B92338FCA01F4464B178391B5C95 -5F1DB500644C369A7E678F2BAC5FC1124DC7D457376F955351C060D66B75297C -3D0EBB38119D5F9A930E1063B7DCA33208194907197635F839DE10D98A5A61BA -6638ACC396C609DF13BEEA0264D39E3D4FEBB8598ADEEF96B0B1BC242ACF137A -F18B6363ADB7CB53BA96EB2076C7387F1A70C6550A5631B398392DA54EA178FE -DDF58D0D1ED403F88489AFFBB86C7847DBF7F21BE25847B82DBCC87B46477839 -BCC43986721734097461B8C6B9D0BF2B6EF3C15D44885433D2842A5EE41F2075 -DE45DBBDDA19BB853D41142E1F55B2245ABEC6C01F3254357593397EACBE6A3D -4956A31982B83A688E0CF2F7426FA7C48DF17DEABC4D213DD5DEC551EFDC7218 -28A68B9EB46AF707919FA0C06451FCFDED1ADD901032B2D403B20D6E8F63E43E -35591142FBBA5F13299E1C17D38A36AD3B0B89EE2A3DD3BBF875FFFEED310D68 -FB7734479D284B2C0EB236E23202E1BA84A243593E213112286C032D6BE17238 -0C078B117E4B25AC190D251C1ACB6B933C387BF6F02F2DFD8E7B237B52A1AA01 -8E826235AFA451E3CC27B40D67931869C8C0EA92D1E08FC9C546C24F60895113 -E9218BBCB58BF09F9220FFBBDD1B1CBB060B5BB3AE83501A79A78BB15D62B87C -031435CF68E4CC06593B3B3C5078251F615EF33FEF992E75F84E4D0B6769F73E -E045A2A6B868AB740A5DDF2FEB58BD2FD74278F9C551522D7E5C722C9CEE6EEE -D00182BF7E5E2C96058D5FB62D08AE837C727A147DA3A72B7C5487AE97C908AB -9BD6FFB71D1F69C903FDAD725BEABFD77E775A451B7EEC6881D18D5748E81EC3 -54BC98BBB1FD5BA0E0189445CD489C32BF42884E7964A44054A656921857A2B9 -7A04681CB650B641E19CB6709F10815537F88C9BDA1B55D77648643E2915D2A7 -F46A6E9CBB8874EC1240EBE59C91A99D484DEBEBA60A760DACB8C4BD004547C5 -97FB6384AFC98CD9BB053F335A28A11061CB3C6331B61A9AD32286D360D0DCCF -4ADE09AE98C56962017816C3563BC9D98C38CC09B1C11A36C17EF18E9C8FCD55 -BE0FD8965DE846D2AF3025861CA5A7C19C2E80CB74F86CD53E8CC9DE6BE3BC10 -386D56410A624BD602018985FA9C49730F20D19ED91BD77F29BAC81CA59ACDA6 -CF14046FB202FF5D7A20D3A46FA47D7D7B85B87B18353FDB263983D9501F49B1 -7A6938C305280A288A18B896725FB13CF0CDC435ECAE7B83428E5D60B6252082 -38EBBC2930019564CA04B7AC91B949ED72EC204BAFB469F56A69A3C1C4326999 -E300C14341F9E836005CF3F1D73C67A459D83832300ED1E6C3E027B828F39C86 -53EB935D1D8D8222144EFBED18CE0548FC8B0996B192D92A69001A8CF42F5391 -7DC08F94FB9DE42AFB9468F27A1B6013E86510A8570DE5743B07B069FBA9A38C -F923D368622DB5A489A7B7E988BF8A7367B6E713FEA38726CBFE1A3A716B9BFB -6079389DE1341CC21795033C8AF45ACFEA4D61EB463CC92E543EB7150B5C009A -6DEF0A41CED12566968B60527F925ADDCE4C13F2046DC05F20201D9F5BE85564 -BD91E07D49C8EBD39BFD36CE3D25B3823FEFAF33783150B23CB4546E81BE7921 -7E7F3988BA130605D007BA0D32C76F4182628AE9C77F5BCE45BE41ABF426FDEE -276CF14DCD5DB2FF86757BA0FD92C09D343C20E2D28C90FE748C49B5112F34BF -A7698C19D54FA504F6DDD3861F9199E9093051851212C61071BD7007E43A3190 -844B5DEC290B844ECF3723DA15F60E49D9BEC8B2D1C4B757A35819001FEB97A9 -EC1CDB6E0A5C047EBD0E58118C1F4AC99ABB99926068E157367D91D2D45B580C -D969FC8F66C4B195084888D50E99A1813BCC3B2E137FA09BB94C96F3CABA8A31 -8DEAE7E321FBA6BBF275E7FDCB0A9EBCCAC180BBFB8278854047284F3B4AA610 -D8D6C8B944BA4E336D68E3FAFC62367EC250213DCFCE27E0B88EA9E85CE24281 -BDC1FD6101E5C1D85F6C16A6F76A529EE35B53CA3B49F612C005AC54DB9DB8FB -B1376B9DA3B5EF2616A005C012112C7C10DA19B9378A506027E493480D441493 -764D48AD4C8E3CC115279F3687E89D87156E3FB7C062411360B8F7BFA4FEFD03 -6310B69D83D8322DB0E5AA6218A96BBA3DEB66FB67C22587FCB01779F21B9EDE -2902AE0DDD9FF27D9AC17D5A6D0967A02A20CEA11EBB416B9C2C91D1F70C485A -39D7816D9B1E573C3BE6D6D002378C5A220CFA7ADB2DC09D9C4A1DD38D06BE06 -AC204C44772FC9BA8CB5A7AC8E927A152BB4EDDF4528FA2D36436CAB54182D33 -6205FAAB5932FC8FA1EC3DD1252A4C947405B72330C4418216D136C4B20B96CF -22CA8E2B471325B294C61C59FD32E7D2C148F8565DBBCD90B66FA40A83D4AC60 -AC9F8DA1CB5D4E222C27767543EA86D83C3C66C8604A4FBBEA67B6833065E014 -04DEF898EBAC3CD067C2E706E7D1C68F3A236EAE478040B730CE590ED38FE340 -52EA7C1844C49B8911621046AB717AE6FBF3719F7941EC91235F21855B7FBF90 -62C8F23BC153B74FA398F7ECE19CB38A490E534700F97E64984366C1061BEDBA -6358B94BD318574792A1D00851943BC899B60AB66FF8C64AC97E925AACF493CA -CF1E2BDAC575E9EA58F82878A5C531CDFA79329DAF07A5D1FEEDBF771C205DB0 -8F7FF003D0D4D382F175CE5DB7BD66FC2D4025FF06C96B99F37683D32B76D83C -4E4EA738FF8B368AD737273A5B5270C705D8D1824D1D21A8AF0ED7EB23619FB8 -177A61E80C32CFCFD788B203F05B3B3B49F76FAFF5650CBB65FE0FA2FB5D5282 -172A2835ADBAF0B9BC69CDF82AFB639285A250ED1340182F0B8A7CD3EB6E481F -B1479530461DDAF09C567BF3A814A2B96F4681FB1ECF0FAE7D75EC91643AA71D -6A129F07276A8C7BACA7D0468CE0386D7667DFE04B09677D502A05C3874586AA -DAAA13ABD2FB93B8F92F72CA2F38AF9D643F0C1A7786A15DEC80F3F13DC2EB0A -956A5DC1211D02E732476EFB7D999C63CE53B27759D7D93B47383DB234C4C384 -E5E664206B8C833335CA6A89730543071E483CB92DA30755A982E25E1A268AE6 -D1355E15CA20BFD7B9EA1F89C3C07F0EEDFDEA65F8A82C39BE3AE22E727D22F7 -C8DD4788497AF3E6D9AF79471F575F989158977D3277AB36597BE0EC8347DD33 -BF0D93288549C90642004A9F969893798F93C1EF3C7A6CAB9CADEBB6787C18CC -2232972AFD6BBC6317FA46765FA74DBD6F1FFD5491E0E6335F0D08605883DA1D -9E3A80097856D540B61473D573A9AF12B79AD066F09B2BAAEC9E46CBFD1046A9 -1C07FD78B5C98E0F9847157361293ABBAE194FA860141A43482C7CA75F781351 -E762FC9E3F892735C496DFB7045E86C7943775D96ACCF2DFA451089EBD4BA12B -DDE24237724CA3ABB3AA061213185206F058C2CAFDF35535C1AB6EB38065CDFD -E57123DB9B0C933C6796B59DB405093C8E429A0511B6A23D2A6FEE64DAF67F99 -0A4B3772003EAC01BE1ED68FBA87079D0100BFBE054A3EAE2CAE8B01971FF85E -352F86A1A29ED975D4D69C748D244345E7486974F0D402ACED2B7DAD1E1C53FB -A029DF4E5CBFD64C694B1D911E53900A38DFA5FBE785D35A2595BA71D5209E3F -803726BC42832EF1FFB227F6BC5691B2DD989BD48CAE99B4B69807E55DEEE2E6 -1C2E43A3F90F08DA4049A65C2EBB68AB37CE0AF7C4ED41B27BDAFE3D37E982B5 -17CD994BA4F8C064FBB1C4D477E177371D0589C4078CE74A1DC6BFBD2C76C8C4 -4DF12316FC2294A8C834A2A1AB1271A7C3CAF90507679280F4BD0C6FF1121BA7 -45ADFA2BAF226982DB7781A96434FA8495F971BB17475C7CDDD134AA6E87946E -EC2BA6AE663F4317DB621CE3D2644A5B3B5F577DEBB33407D13D5BDB873A9622 -5E0F138FF5EED620E4ECDCFC4BC8D43E46BC62FD90F59B06938D1405DD8F92AC -7985F4DBE35AB0AD927A7AA1AED8A3FCC9992B89D9CF9EFE02517A602C10CAA4 -44C9FABBBF210F406B358DF144827E04540B47B01AA6631DF583A36A10944787 -AF2F517BE8D6B8B43C4A97F49132467F0243735AAD44908C4FB05137A7374EC2 -BBF2CA497924F050E7902E06785CD6BE7550360283D231BD53628F576B92B6C7 -3A67EDB5366C3DD053660561D5EC2C7D7337E4A89AE89EE9F2ADF4D99A75ED5B -78C496422AA1B58B8ABC81F5AF8BDA7A3C65D221977FC6EDBAA2E98F26358788 -29E0DC0A30527D64CBC82F2CCAE18ACCC1B2A64DF31030F0F14F233B5306D623 -DCB30263BD18592A089CE4C2D0390126741EE14F7558ED949D13DDC9EEF0AB4A -3166F740E41EDA16F729F76E42DC1D18B2EC06D694781851E9C9ADDD139F7768 -627A1D4BD88C1505F31911B1BF4AA76BF6866EF658F607EA4272095480CDF526 -DD9FCE4FBD76AB86C887FEBD791AC89EE99AB5A2903FC1D4ECDBBC4AED1E2568 -DC74937B487A36FDEFD62C230258B15372F25FDEF0B59A482A6FA149248743EB -ADFCCAF718FD9D6B8576F8DC7DBBB96DD1FD3AD502F6F9FDEACDABD1A9D54290 -C3417857F1818AB3AB34C1BAC6BD65D7A1A5B3480921E9E48546BB99D41FC796 -D2D373042F1F4A796F8FA1AD43F1BCD937534ABB4BEE3F1BE7592C158885353A -C2DF29E4E95EE1D526A064B5EBB9C5A53DF45876AF31DEABCEADCB5E4000497F -7A0CE6E11077A22DA49AE3416E9B3EA88F151CA288979D90D1F5B9CEC9F1B36A -7D5546E3B317556F0CBB4375AD06D7834A2B16B0F4A2BC18B3775EF4817CCB4B -51C75736D8E5CEE393965FBEDB98568BACC0CE59D39E0DB30D4D735566681A7A -D7F39C19B682DC7B98B87772E9FDFF1A9848463EF22C76724B4FBFB5765DE1FE -E57B45C65CCA8150A80DEA255943EADA2DD043C239AFFB5FCFB187B763A3BB27 -CC0BC3936F5E9F833A745B3FD079BC7489104F77880229227F07B294BB9B14D7 -62909E582CFC20A5C57CB42D90863F4B7A2BC6EFFE6CB02490D1E1953C5C5B77 -BD5A751FA40E2E681D55AD39F5FEC3D1B564BD77899552874802D7E7C1236388 -07E672122D3C4591E895B2792DB4E265AC250D2511AD07E43490004486C43471 -38FB164E23466689B3CBD57555E84337B5D7F0B809B9524CA5AF7D1406F80EAB -C72BFC9987447C62D70B4D88A54A6B8BED5F7200A00F59432CAEBD1120BC882E -82CA6223D0F60FE03319260659263AAAFA9A309D6B87A926821520FBA6B269CB -C0245426B25DB5B5C9202AF788D8CE53F20EA1F18BB16EE5373AB5593AF0BDA4 -D0BCF44B51AB29CEF3295C3CDE1A112043AB47F05812A5FBABEC2FBBF404C331 -BE74B93237561CBFB1627AC5883F56EAD46A8B2132E352EAEFF95D79A9C36731 -EF7DE5EC66671E4231A6784977C2883AC1597C73E047FFCF49D0E16E4355A8B6 -60EA0698EDE972C32F0FD19754134B5D83C3FDB82D4F8904DDA62E22E2743A89 -E79421A43FCAB3E6FF90C36E5A5B4F2FA2FEA6D0EE41AA3C44B727AF545A3B45 -2D931C1BB522CE068979A7DED0470409E7999EEBD6C58A1F1909CDD00ED2180D -44A271811E80B3950222BA531719FC4B0ADB6255BAA63787774E2947CCA6519D -E51D71A2ABD77B282CC8B4F8BAD57ADFED6818B3C24ABE0E668AB63CF2F17731 -2F7C7A492A47EB38DBFAC5A36BBA799375A4EDDF6A0122789BF6F58F8EC9F0C1 -49CF01C136A792BE4C6118DCDC0675459ECCCA754ECDA9D170708CE58A230DB7 -D753C45E7434FFE711AA5DA45393DCA8B5C8920A95C94F3B89776C23B53F70BA -B6D217CA58C551206918303DB33B6081E3391F10DDC5F58B1790028AA2150AFB -085185754358891D30992FFA2C23DB2A04521107101C2B52A1A168E2CE7C85FC -37D32B44FD1DC3BE4B28BBA9A9F91229C79997F5184F5E7143C838FDC8196C52 -0B33A375B320A025180846736F0649DCA8FC61EBB6CC1974A4134EA26E6F5E5C -A73992547B9A4E6BDA10FF2B41C9215F2F9AC755DB11C1CDAF34396E4B92DB64 -83034FC2023D846B33DC7CD297527F183540456192DCF23BCB4A1DBBB7A2ECBB -D938F9F3C03AA46A1893059A722AE7FA05CE716AC8D446D7F038D6C72C172A5F -05F91CB5FD5427E6C156F126F6B2014F97F5792F77CCDA6A802CD7E3405FA66B -E32EECF53CA9071D1EE20AAFA9AF3DBF4CBD250650870F0B9A3923BC4484F349 -EB072F3244C98AB39B6F708A4A52C0EA243DEB4DD77BBCE573A2E56323A18A0F -504EE24F90A29AFC5FD3002749E953E1E1E6E6E8989A029BADA9CA0A261884EB -C6BC3BDE99849D6F05D8D1ABAF82A452EE116463444BE4D3DE38F63938BF69BD -10EEA7C68AA8077F412060D185E4187120926B4B209A74497A3C9065F1BAE8A3 -C5DF1A6A01349D7E8D215FAA03677C682022A26D3179CABD03A0C4BC6B303BFF -BC7B3FAF26B96747A840C12EF14E16A2DEC76B243519B53E04038D3FB13A2C24 -B531C3147B51A8C3623F4C161B4097364608D5871A29006F7ACDE5ADA1F82C11 -11BD9E2AAEA52D352D70FA4C94809422ED65C03C4A72DBE2FBF26F4CEACE9DDA -F6D895413EC28F2F61F40D67AB8798DF36773780B292455A689B4B70F03D18E1 -EEDF66F3C5823D47156B6B2D1A1006C513FCCA31D101DEBD474E72B49B664F35 -86EBB75BDCCB5F4AF8B583B835449F7CAEE5E97A819AC9ECEDDD6AB2E7B326D2 -A92F7568D8301B1F1485F234B32632E8725F8B637EEFA1397FF031342A03B602 -815005BE674B52CD4744E20CCD2DB8F7F58D0717FCDF04001101A51B0926D53B -BFF990D7B01091B64F85C9397DBE3F48A17BD2584141B3229CEAAA3F0546EC6A -4B9FBD4EED3EB6F78F8FE6D342B13F5BEEB210E4A527D83B9354A085AC87B359 -4E5DB704BF8363E95FF526A56182093FBC89926FA47D90178A91CAA8D5A73F2A -E38BFCF454444A79EB4AAA502292C08166EC7CBC37014DC7DCEB4DDDFF7B9A29 -75A5DC4C86D19B4E9901464C7E81F251DD00CEB0A87C6DC15EDE276E8976DC6E -77642A3B502A160CA2AE5EF55BEFC154602E96F496F7A4D2F3D345F51B28543C -DE2412AE9C332C5141F664C9B5BA61806420359A29A473E0BCA4FC49853F6622 -A6EF486456683FF69DFE32EA117216FF797E3CFD8C4FE436CA7E1AF5F91DFDD0 -408876DFC19DB1CD9EB2CE9AE76EEEE3E73E0F37BDBF4010B581C510B3DB0CA2 -C340B265B989E1E682B4FF9EE3CF10B9166604FA8262B123C7333E91CEEC975C -80D73B4DE4F9A065B1D86A040B69197EDDFC955054AEBED3B93C9EE76A139D91 -D8F1967EC2579F6E111AFCA78FDCA67DC154D4DB3CAD540024BDCAC2A28537F4 -51BCBD448C87549379CE17DC363254735D586FC39A5BBCB4EFE907F37B4E9842 -12BFA21977D0D519B0628AA31C58EF538A78402BC7611FFC01B6049A8437D319 -9A9A1375578B7D36F14F6A31E2717F1DB8A55CB0624BD9BB4ACFEF4594715AD3 -BEB006D593E3D0FB36A82813A39AA70E +DD95F0D68118CBB60C521E5CB2BA46A10E50E9238163713290DF6DD8A27D3813 +F871C07E725D4518013D9A84CEC96782541E5580E33C2EBCDB18F08EB4655A46 +507A8526DB26C854928B81FD502B0CCE4A68943C12078F57C10F4E85FBEE1025 +46D925B8B3B447D4920410FEEB9844FABE985F9228FDD9F26BDA3B469D678F01 +BBD601F46245B0AEF9E844A38F0A186733A8523992CBBF6DFDED8BDE4E6DDEE1 +AA0EE78B943B79CBA4AE311FF4612252D9EEC7DDF88BA8080801F9BC7611DCF9 +D6AA4A8651177CB85010D420CDFB43CD103ED7A1B9C2E885C88F882E29F4C301 +4750C3EFA20150F9AF0A5BCC8DD9C7DD53434855ACC1FF84087D95BE7A2FC2AA +446A89DCD272268178C02DB29FED2749139BF0A51A5A9E0B6B8322558086D62E +BF48C20DCB99FD2BAE6853877991059EA432234EA3DBBEAA7A63B0279661F69F +181917D92AA634ED55BF9736395C609B315ACC4F49566EDF37EE388BB8B5D9A7 +E227219DE137AA06BBBB2F2530EB0082E730BA30DF67E83E8E3E6D47CC0D6183 +D68AFDFDB89A8F7F6B8C3381BF4903576CC2D058CF656F221C153D7EC7C6CFDE +3487F61D3712FACEC12BBDA5C084F01CD52E27B685B7ADDB34D477C47BDA3D6A +F5F94FEEE22ED1CF93F2A4576F53D5E9AB73CAB5CFBE85DD6F4364A8CE71574F +2D6AC3F8AD690AEC0AAC2AAF8CFDEE51FE47B56661DF84FCD8AC27A0C591A39E +769DF23C1D077B7C905CE9FB31C7594CB1E63CD82E119CE68AB58F6B8E3E370C +11D91D32ABD0DFEDAAD93A07401045F38198465E1D503704FDAB902347ABC936 +1F1DEB3601A993B6641E4442154962DDE3812AA8D948B112C9C8C51A5BBDCE0F +31E244844D0C77BD0F206C7399B4687F352DBA807E1D9C5439A9944E0B3949BA +B173C40D43F4A0B97AA73A07B3F016580D2C2DF39EA392F678313B1FA589C0DD +6CAEB67B5E78334A41156A070819698E8D576F5177868FA05D4E66AC6F313967 +C251958A426B160B5645120A7F2E33986B79CD3ABDE16A8320A355A7F18C2FF3 +60AC078C70EE8123060EB9672A7D112A7C1F916DCBBEFBCA48B59B4B497B2992 +CC43893291BD454ACC071A68E6D7664916857E6EA7C34345C13693EC4D94B08F +0EC526563979CAD433B998DC5A0D835C862CBD360AF49D068D07AB1709E1A3FA +4C1F8EEE38FE96A5EE6334C12E55B24E5CA3AD0E78C5B3939A3C69553212C069 +67548E8039596E5C73650E32147ECE269066DD3A4E4CA042DBC2011D60A378DC +45C605A5D6704780155DE769AC843B3C717D41D9E319BE62523BA58583CEBA3F +8AD278952CEC5236F3CDD374766075BA04259A2C9F2539DDAE7F0D4356AD67DE +0786B29ACA9DD362B55E72BF69173DB426EBC75F6E5BA686EB82952C20838199 +8E5BC15A79E2F0F5F998DA7269560B6F65BE4FFEC8131FC9EFA692B60FDA916C +DAA9CEA8793D1AD57558D4B424E591024738132535D310D2121838FF3ADC091B +4D1BA849B4054206AF41262CA2110DC795D988AFBD1B9725D673444D9B5D9A3F +C0F865201B6D797A0575DFAB5C51E5FFC0F52735EE1B21B355C10CEBB2B62D72 +96AE789D63C6413BA44FCBB2C384624038186B76DBFE94A9E85540BAE8B3FD40 +09BAC6A615BC1B497804F55065E3C18BE77DB8563B1730D5CEF7428A9BE8C118 +DE8B1B9EDBF53BA3288B4985B1EF68F2EAA7AF9A2543CC66D3CD11925EB08E2F +2E9293A5AC0245FB4B4704B5C61C49276F5E1F4560A4C0615D26FB097A5D0746 +42239DE3560B0787A347FA3516D012A2C205A3CA4074893F360FD2D6A980E6E4 +F77B93A92506F3F852DB888567C1C1717D06FAE23DC20555C129B998666F0D47 +6985495B8E94E4F3A3A788FC6EA5EA0BCDAC1F5D36B3E0459DF6D683EAA9F7ED +484EB781E72A5B67823F69FA949C74BD03A6AC015ED3C872108B6D2771414119 +6AF2774FCABCE014D681EE6F599F2B675210E8A89132B5FC9701B1802919C192 +242F75BA14EACE61BCE6EC7A980DB15B33EE760A8C80ABA4CB4ACD62856BB083 +987F29347547523481D58DD157C1E71878254F83129FEDC651186F696FA4E015 +554C5EFF61208812DE8473E0CCD8D108670FC49664B666C9A97C07185286A45A +6FAA91966BB3F3EBA629F4DC645A522C763F276B6BC34425FBB4187C77274565 +235CC4B9C902DE9C5B6A9ED253598464AB766CAF4BA3905F431CE64801711723 +7F22BC03056EDE0F03E7154B9227AB5D9DB43729C14FE45044F0368523794A37 +E93EDAEDE1A49769F27E57439B281DD121430D11E87AA64F4F7EEF90C8207CF0 +FBFA73F68F7C2023C63FEF39B8BA4BF429D61DB22B86AE5DA40DB7533CD9C0D7 +8DC6819DF76A5B569C55A9D821A658006E6AD50AA4F9FA0C29AB8B417E2D6012 +59D09EDCD7D968AA2EB4989492ECA5E6FDB6827637A807B3F1910E6F91122095 +30A35F48C0429D7C7F793D432FE423B89CD21D5A9CC3891A934D8A85021512FA +923157FB455E127E007404C2FC5E1B5A43B944C4EB884AFCCD3B642C0A13B0CF +6F4FD1642B917B64E296280261D6AB904738E35E10BA91A1580BE1E4214DEC4F +041E1BC61C5F65DC263FF9FEA39D7FE05F31B85799B786A3D5D0C5AC21C21EB9 +69AC3FCBD19085438FC1E3081B7EE187C0CF717EDE9958FB4ECA83FC2A97AC06 +C42B92571D1CB295A4E739B10738E0854557A1695C9623AF2796A960156A3395 +B63759BFE8E5B14A2C49192BB6103184CF756E1D585B84736D090B827C199BC1 +DCB1EA3B8DA7CBC73B2E26E96B6F0556D49923D63173C465D725223C0D8159F0 +E70ED77B0B380397112BFD024DC0F03CAE4AD3853735B3FB12DDB249A3929B87 +4F77103703EC7D4B4C8D41D0CE65F05CC6ADE30BAD9EF7D41D7DD1DB2BF35B87 +A929238B57DDF01AB94A1E31C10B759315E3E4D58D37142CB1DD6F27D321F6F9 +20FA0E6C2EA968494217E7F75A34F6B050B27F7BE3394CE69FFA957C678F1A5C +A0B3D8CE8ADF168CE01BA90F039DB20A8AC6B76D5036A2DE654CEB00A853B3A0 +7625675AE757C92E06C7E24827E47A09D620E62DEAF04F1FF407AA23C63A895F +E66E14E4A7CAA511423D5DCD020D1385376C3CFBB6FEE585256923F98A702217 +B1096DB80ED911924499572284BCCF297DD8B7CDC1186F6E12E6461039A353E7 +62786A8AC2072569AD069AC5BDE24540A069D26A73705E58D7FF12806610D709 +D3B58073669A255D65AFB23575EA5402380FF69CD6F61E6556B794441F7725AB +C82E82E284CB201B36DC5E37FE3E45D1595F9C5DD72EEB58959B3026F45C1E91 +7ED8E500C5CD1E1AE673CBC5222CF60D25643C9AB66833DBDAE1845B16F9E550 +8AEFA7F0FC8D2EF3EE39EDB8512BDE5077AC9A032CD4B29347B84E1BD602C4BE +83766227DC6B32191DF6743953790BD8AF842A4B5E4EA6409CEA963D8AC3F471 +FBA7C08F4E4C6CD6012B82F79BB6DD247F93BE9D898A7884C9B224ECBD25F85A +33758D69172C1FAC421944E482B7716E839D32027851FAF6F4E0C4D78F680552 +C11461E5E45EC9FC958D7C2D640C3D4FBC85D8D23428B5AB71F6B8827446E5E1 +CC0C38C1B7974F649E6BBA748DD76E1DA9747D7DA222A0FF08B5DBF0E8303664 +8F791FFEE6DBAF4084F1558BAE2FA8E48C807F1C6403D4A91B78ECB1BBE082C1 +A8C0CDDDB7AEADF5E525C03402B8AFB1BAE627D91C479EB198BA6B466A029C89 +BCEE9CFAA8BC88F344091D76EFAB92F5512D1BCA61498405823B231E0A587907 +543A798BD9664259ACE2C4965A15B653B7808B70CC050EE225ECABC1476EE957 +FDDDBCEB75E704EC7E33301443F5A467FA6DE504A055D611C2FA6B07BBE03C76 +9C430F6A3FE1198093A834D90029CAF806FD6A75C999B5E8EFFCAF676DF17CC4 +B256C6FC93F4AE44947B1381B6C475F282667A65708598CA4A4CD006B02F3004 +BE93081B80DAB1467214A6A947EE0E8451E74B5953B2D57E83CDF905D1B86677 +D811628F1D49F1CF5678E8AEE3C57BE4072535B6245E19BC918B29EC7989B698 +01ABA09A7CC82AEC3C0E3F64CB0EE69C71A127CBFF6002C561F3DBC94CAE7C2D +872CA1BE31370821D70098A7A5541DF5E6B6E3D1F9056759DC0AE1DE6F3581B2 +C7BF466AB8C841E0CEB14F965D1C31AEFEC4724F120E58C1706E009B738F1D67 +0B2074B3FAA0F98302A3DF8E093BEC432FF011FBB3C73EC4906D00C846B30501 +4199B83754E9B1A2F80B523B1D9DF5ACCDA9AFAED5F5B2643C5046A0E2A7D873 +ADA9DB69793D60F09D408297302124C10B6915147EAD703FA5AB9DCA1838C590 +7E66B21981FAB8BAB54BB00FB1CE6E36EDC67838F762B7F91B76DD8683EEF42F +1D0537608BAD4BF1191CAC12DBD7C17D0AFBFFDCE31580F7B6465CA5E2D5FD6C +55A8ACBDC91530FA9033413057308627025D4431D175ECE3167D99B1E1B0A2D3 +633FBE69CF0A4E23CCCEAE95F6661EDE0DD6DE0D1F6713901CA13DCEDD01A7CF +737EFCAE29EA421F3CB7887261161D5A33C685E28E11008DF6D366042DA16E0A +475E762E506D59625FB9B6A384A9A3F6B118F6254FF8D4C95CF84030A7A6D914 +6136C77BE7F7D01938226A0ADDD08CFA63B68CB6C0CF532FDBFB0AAA6CC3FF54 +AB5435949968AFC9BB14B7889CAF0C5B1C80F749FD9E966D7FF38D64476076E8 +9C4DAAA24CA211C0D4C0DB27D7A8DE66817F002A76310BBEEC5ED2444F9C0974 +A3DAA9AD65FCAEB77FFAEA91882CA8648A0F27443680EF7D2511ABF85DBD456B +2D72E529851B255CB48E86B537A0CC0127B8EB3F53FB67EEE069ED8BE30301B7 +02458C82CBCD2CF2396F4AB5B781FC69D583FFE8C7B62BCC05B746B5C495009A +BF675F38E811B3292DF31864A1848DDE036DAF7ABBBF17B9E5E655CAD4DB38D5 +5E40EF78371FD46BF1190BDDF34C476FD09DD23CBB54EEB938A538589A03B28B +03A3CCCBC550D90EB73564D4E56354846030B0D8ABA795AF99DD48DAE65EC594 +FC4CCA5CFD39860A6F23AA22D0E7C25A5CC06AE9A1C35EBA87DE6B5029F4BB4B +B308BE301E6C1CA24980D5A72F14A65C6552F8205282BAA07AB56FFBEB77BDAD +2A9B398216116A09A7FDBD0B01A33DE66E4A149E2CBF60715E8FC76A910021F0 +F26859FE2908C529F263D97481F07F784CFEF19369F023C98AEC7AF9A018AE6C +727DD9581662FD83F76FF3A445465D8113D7EE8B5420446804C67624B22883EE +4C31E69D1ACEA21DF7136529E6AAA2CF4FCA394142B3239010BE265F24405452 +8987FB64D9CDED947AC0F2FCA0636046872B6B742921CEDB4AEA45FE61F33A04 +120C7771D3541631B56332AED1B57A404362FDE040780A8A3509BFFD95FAEB93 +F3A2359122F3E9F709242E919AA0A52CED7C69623CE32ACB260FA787268E8312 +511A535827F5AA08C34CDBB689C9D47F31390B89104A698EC20F7B217807ABF4 +CEE3C2FF7D349E766E83510D204F0067D1A4144CACE3E9362FEACF05B95EC18D +BC587E4455B9632CE28D02842C100510B81B1D598AAD6EE21634F6A13A30821E +641D5D7DB3F7B784BD6DF4DAC840AAE74324CC00B515597CB7E4CF77A2DBEB15 +E655781F8D4A7ABF0CCB9A0D09720CF3A1671B256C81BC7C64BCE000DAF280F4 +6E5D749649B582C0639FF0CE11F6D0C36705A67A51404F22C0415A2135922FF8 +D11F8DCB25ED1CCC58E77CE7BD74FBE143B55DBC4AB525D4C4A8B7C392C4CB8D +631540238AAB4B3D9E1892B747B0C273917453C1E2AA7585A77E9427925FD5BE +1377961EE7C6AC55460A134AF811A327FC939A321DA059FB7DDDE88701922C02 +56727A98AAFF0D0FCA54EF784A1633B7EE514317D253780A1A62C7BD98FC4D67 +B49B930D55117F3DE5C5A634376FFDB177EFFFC6FB607B0D4F11591049D63890 +9E8C296F85483FE343D5B1EC41CEA8A3C66A890EC7812640016891AEDF8A64BD +FD923BC5176DCEF2A5BC67948BD55AC844FC1BCE542F8D8F8E1B30A61EC9C422 +AF66942C540E02A9F1449ACDE6F2987734A06088DB9BAB4B9D57C67C4D22E912 +ECE827DA938FB7FA5609A96FE16FD2E74F4E8349FFF9ECC814325EE5D506F6B9 +8B6058716768FA9DE7F172E4E1CAFA98ED651ADE9E6A8D89FC9FDF1EE6F031D3 +F87DD7101EC90192B8314025C118CFDF399C7B9BA72344D5FF3C97867DC3A6CA +76ACA42B4DBFC497B7FFF022B9F43A1876BC60172831DA3BFA9A74B85B195BAE +0AF002039C49DCABF89F2A5619F09107349975D8D8AE6A716A3ED406FBE136B3 +90D46B10EAB91C83A0C06FD4045E1C16DDF3E0A4F0C24805FA130C4FEADAC556 +C7FD67CD11CFE397F006C783462F823C4B66307B1ED99713A1D63004C44AEAE9 +2C7D929F2DE483CDD8D0CD5BC1512352867F5C78AD991EAE5E3D5D50B899B272 +8C7B34FFB491E3DEEE35213C73A0D0D2D3EBC7FAC5EFDEE670C41EA2B6E60EBF +11189DE0BBA33145D5FAC9BD4A62BEED88C4BFAA296A2D0A68DE5163C64014FE +915B8A5E88C97617EDCDB20723F55C5603E0CE7A2DEA778F4CF09F2B521E5954 +1B53966CA35892761B022172B25D45B4796B75A2290A88C39C73FDA467FF0566 +9B35FA83FDA4C902F11878244E47E63CBC35359B3482CE71DC061808FFC130DB +27879AF2A32A1C713256C84BA060722570C770CC0BD59A43EC3A7ECEA2295A06 +A134E2AC9A3559522691DD29E76B25567EA1DCAF787690872D62E780F5166C3C +4590181B36C40444BAF5C381DEBA692FD3B1AAE99C4306C72B11481502653A71 +55A83360304F1C01121CA574AED7EBD9662BC2CC161B4A7BC19143731026E78E +33575784EE8CDBC0BC219542E36A693642E155F57101EBB5AF4A867729ECFE9D +8261F66FED38E6E182213028BBAFDFCBC71F0969AE553240A89BFC72203E07EF +A6BA414540B10990770C6BB36F7F55CEE5676F5FEC5AD00C3530974B80BDC135 +EF6E8A10F2140AA7823B11D4AC4761D336BF634A24D8E89EE29D52C086FE79CD +C870AC65A40713C8C08596FD1AD2AF44C078606A4086F6D41D28C4E5217A27BA +11B172FCC9BD8A160F282A289993707C761CBB9DFA4DD9145CA114D9C0FA2426 +9EC80CA0FA4A86CA30E9021BEA3D463E8F058765191CE2539783A420E3B10472 +8EB4C904F9CC15E089BC5EAE794B9CBA565E3CC35C56B5A3BD20A54A5E430E43 +1029F7BFF82A730956C1D68C8EFB0508CBFAF48631348E8DCFE6479368D3392E +FEDF6E69450013499757AEA2E79E9B4BEF03C17160F84A2339E3A80DE8F036C2 +68C163A24E6FD8FF75DE695FC17BBF155972D54FA4EF7DBD6EEF74252A02EE6A +6F5DD566CD2ACB6B7474139D8443258BB8EEDE8C2CD08888874F872259CBF660 +47A254910600EC40C506243F0492400D897DD57FB4CC256A3408792140FA8138 +1A0293EA225BE55F392562FB47E7E243F27B665EABC0025A2E54EAED4D994837 +8834E6A97B8DBEAF7A937B593CFAC8EF9A40056DC38F59834E3C2502DDDDF1CB +438D4B1FFA2FACA0F3D09D178C7370258C959AC2E8DA574305825F67739926D0 +8AD8949E93B2CFF05C85F56EDEBA1C490DD684F0A9E7C66C20D5B9048C6DBEB1 +C75DE78D6AEAB591C550A1ACCB1435DC126DF38D4FD8B168423D4434D126FE13 +7A1D5ED73746170D164C250CC197EA25265464844A2A1F49483D3ECCB0EE0D9E +3C578291F27369212C3A659E752458AD0E4D5AC667FB6E762036CE103BFFF9FE +E0CC48B5FFA43B59201A7EED5A4EB31749AB153FB776A13D73A39D109E6F8C2E +B8F0E5BA5FDC23AADA736E50C291F78ABD0494B0AD6D376590CA339B091F6289 +7D2096E68D5858AF2F9BB0B162D752786FE1AE23E542121A74C17681095538BB +9EC57F9E89F3B0CA32649C98597DDCDE2138B61450183A798D31FD3462102078 +62C7835F500E7A1FCBC58C37E8DAC9793F584A7F851565C871BDF1042234D3B1 +071F30D573FF2398D3438F49588662686A4AAEA60D8E1D961A48AC069431A9EC +1ED3ECDD0DE5BEEB5D6FE035AFFB6BC509833D32508ED2D495472722D68E0A3F +6B4066BE315FF5E7048300D439ACE70463F4BD72547E26225161B1A9B2F15ED4 +77673AFD583DADB09FE1AC2AB97537B7AF30051030792B08C4BD0C442FCC215E +0257A366DE8CD6D7F601EAB3DCB0B86436B39364A44624C780A99F9CEB12F8AB +7B2ECE4D34176EACCEAC54BFC3E5C35299E26CD8414BB2BC0ADCD9263447BDDB +3858265428E134820D621E0762237F46C2681C296F36F774E705CED8388E2626 +B527ECF6B952B5FB9D151CDE83FEEA36F8C87F0B602975D918BAAB17752C83A2 +D8205FE2A2912282FAFEEBC0818B086464C2AD81EE097A492DBF5C1468AA8802 +88C454ACDA1E44169335FB0AB2BB0D44B2A4A4386AAAA4CEA2E48DB27BD47700 +3FAC7847668891E99EBCA8C5D813378EE7772212101488B4110E92D269A121A9 +18901A8EFF7C57F155C827A558A4F1610807A50EDE9C3630C2FB77969863FC6E +A3AE9E28F27B301963D3DBE231CDA9BB03B6A29B0AF4042F62FA71E1C8A374DF +B34CD305BF9410167948FFB3E8F262BB94AC891068DDB8F66680F5CA9B86000A +D4B408C3F9DFE80A21DFFEF20D7C09EA830FF915509943799880B028FECC64D6 +6D4F17728A750801197EFB3EF5A697F63C2057D54AD79EDD99D7098B71107141 +3BF98DA68572C2EC5407C590CE8A7406239E728DB23304ACB07E1F27E9BC0C10 +B249EB1B76F1527459B8F05E5325F2362CE119A155E352459FC1552FFF069D88 +82D06CF9DA1676AE53DFA9DB50336CAC9A07083212FC04426842F6D08B89801B +E098A9F6318577FCD3DE372FFAB3BB63938F46FDE00158ACB3F536EA91854E5C +2E4B519A78BA54BE9B8E652756D615FB1BBB9F8CC4116A5337D0C82599E76F38 +7577664F70E05A2A0A402771A0BC71400E0F27D4C40D40908EFB641C75AA17E4 +34E02C02812B86CB7C1843BA074F5D7D21D90D93BB6BAB5ECA4AB1C6F2B2B80E +1D3A8F2160DAD92307E5D3C763B0F63B7FB9135C76FCD7BF8AF9637F178ECDF1 +C761F0DDA7281C248711D123FE2FE5BA6408851F72D5061CFE0AF10E1D1EBE11 +1B0E4AEDD4946B6528FEA67D448BF9A06114A202E3136A2B7AB1B6ACC256F287 +EBF97D532A8FBD15064DC3B9D643402F67EEFF350B0EA3C3BDAFFE07C7CB1557 +5910F24C9101BC72440F4A9B8C2B7F48653C13FAE5FC28EB6A6589FDF0DA849C +6569C761BE135F4E10151117FDBC32B94A0E534745B81E424F82EA384389D2A5 +795D3EA358DA26944D1F1ED1A48C11F4C444D7E91A6F23F950DD40BC0EB7FC53 +3C00D2DFF98EA6BBD13A904782CDC66BE179873E44254FFDC031B68AFFF574AC +702EC8D9C462CA4257120B27AD65400EBBECBA4D32723E0E52AE178ECE376B79 +24C7DD2CC62787FC69AD166EC11E4E43D1E3A76175AE4B0282FE62B8EC0D46E7 +37C781B65ACD9E98108FFED418C6EB3F3ECE5093D4C4369FAF179A92B289D582 +811EFD634111CFACBE83975D9BC28875F2AD667F3DF8C7A3A3F5CC6B3E98F73C +2D7A12214A4E6CB03C2C052885742E7FC5693F854EBFEB4A1711D1CEA7911254 +98C51BE323266A08650D51E50967DCC8DA329EAF374F422BE64EC35ABD1D5594 +00AFCEC6A82A4DD47271702552458B24C8B6EC0AA1DED3F6EE8D1A65E0AC0123 +5E81473A2376F47C06E0CDA141B2A3C056885AA41A10FBC37C374988FF497C81 +EE6797CA2C9296A496E6B6C9F56377C3A3C402CA3636372A7910BF35AE2AF3D6 +589DF95AF23E4490914ADAF4E4C605BEA4623231C5F1D4579A51F307F9700F39 +5402CC9B93E13679B2BE641F229A1E1D83BE1CCFB978FE1E8954FF1CC6007034 +B1A2BEAFD7347D8BD97ADCB649F6279E0A0E705C82F27778F7882372B58E00D3 +B94AA2A0582BEC08BF9F240FACD2D12B99F46AD52495B2BE5EFFD0B1AC93E726 +DD72DF4CA1264F21457672BB2802B7AE9B075795BF8AA9C27F743BD89C3BAE7E +C614BCEF16F4A2AEFDF4B72D5CC5DCD7ED751382AB652ED86BEAE2653C384869 +D40CF8BD6FCE59F51CEACD343A92CF833754CBC5C0B80E9363899CB158EB3F54 +745BCEEBEF2659C69E95CC3820F12C6E51D868AF2FA979BFD0241E39A771747F +FD651E157983751D084B16322264BE52D065A3608DBF78E98B416DEE27BD9F2E +8F610100D3C227AFC725139971053273A53E18A6E0D894C932DDF3F432AABDED +39666CAC0E86306384428A81F44006990C25B8144394AE04CF8A1217DE12D046 +A160109658102F279C90E0338541FD04AF587B1F88168463D471EF229009DB3D +ACA474AFF7CC89492A300BF9574AEA8C5F9A9BA76EF789885EDF37C97B8E2C30 +D429111045A9C1490C6F4693B178548CD90BD54D75B6485B8A8186CEE5A86C8B +519DA9B1C577FDC3B317151B3D3D725EB5835860654587A993C717FFA8C7E57E +75D6E0E3E5BC10D241D0763B462F0B4FFA7F2881B92DD101BEDDD83373ACC0A0 +CBCF366F10DDA1FB8EB75224CCB6531AEC9E358EA5F0021F7CA6AF2510904AA6 +2259E75D10E1E492B6047B116FE904E4C9B832A23E3020485A26CD026F7C89F2 +75B8D46C4557C1798DD4BBBD26C814411A7D59D5AEBF6D6B7638F199AFCDD030 +2B2985C6E762A002381732BEB2B958B3D6CA4DC93ABFDA5837B89A5B8BD1FC7D +322C540912F0A93B54117EC76B2E623A08673CF8882658241BAD84D1C7EB1148 +CE183E32DFB96BE256957E9F730CED521E392E56926CB63B681F5A930F32A9B2 +77477908C708D13559F50653DB862F07DCC8F7EE0EA755E728A9FC4A17115418 +835009651989B113A8D2DD613764F19C6F152A8DD23B37822465E483F4E746BA +CA01DDD1135EBAEAF8792EAF022637287A544923CA6701333DFD39B92FCCBEBF +D0ADB4B19A95CC2AFE8CAF3614EEC904602147A72A30DC5D582D147843317226 +8FDECF83A19691D5AE6B590E66120D22508CB30713BD2AB286E58A9E2F435C52 +D15E12C3E1C939E850135A6E2A897BDAD9F54179F2DBC80CB322E85B28A3C345 +3924F7A676B7587BE5CEA130E211B10C9B5C28A616CCB55B206203D05B032084 +123EAB7EFF139D5C1EF2FB00E3B328ADE7AE451471BB9E5F75ABDC03948B0664 +C4552C99DBE4668C7686485E27041D48C5BD4E4A7424E682FF75CF9DFB3D593C +DDB1078AE7B070B1C6BDF8FF5D303B76E8B3B8B41D5958C6CAAC1790A6E40382 +89DA5B36509198E0AC7541112BA0ED7875085BFDB5169E01B75AA2EB2F8E0AA4 +46D7AACFCABD8F86D6753572872C647FF3A83214A44768B74B523D14C1FB8DCC +764D865C31CC427AC247E7D6A233A7F043585B5B5737FE7837940F70AD3C1D00 +E6AB131600166A98DA57FB5A60D6B061971F09B780EE5ECD5F74B93621C54992 +A15D96BA8873D230B98CE56FFF6BC59A043D5AFF06A260B8C6DD848614EC3341 +21490989AFF9DF6BEA57CC93DE2417D171DAEEBCCA1EFC9164AF4C2E02B34E11 +34B7FF1DA19D626114DFA220623A2E667BDB2B79A6C97B8B4AD1793D179C0153 +150F91EA174C102B3EA389DEEEADF3672F0B2AF9B3DCD0D2B5B91A0F180C78E6 +1E0C7787F029A053686DEFA38CCF0730E7B8DAD8D4670BDCF6F5930C8802C60B +E8082320DCE1E5BBE6CDEC6FA39CC6B18F76B56689B4AB685FDD986086BB414F +6F0F2C4B113B6B31536B2C1980D34B4550C57B7EAA9161DD574CACCC82AF26BC +56EECAB8FFD5F50DA8138FAED811DF021FA2C2F4991EB28310CE94BAC3CE70AE +D7C36867C52843FE1AB41CA2D6B8EB9ABAB0DA435637C26E4CA60EDBD8BFD748 +CA958C5B79C6ED35393A2D4602B478524DF5BADCD692E02DFECABF4B99BB8393 +B8D8A2CE41CBB04A3BB9806C9E41A58AEF6E2BF7E7F24778D3042F42DB0FE7DD +522486179BE8D2EB96CABF1EEA0CE577AF846E3CFCDF53CAA22EC3CA04B5D126 +CD68AE6F6E40075E559218857EE7FD5B91C426A7982C132B2A23B77D10E627C1 +891BBC5F4342982819507770FDC22FC96DC1DDB3069D0E3ABCD309D1BEE3F273 +F113EC79AF6FD2A332787E2DF3D9316DEC84DAB94AB9A8B25859BF2553156043 +6A5A084CD002662F0A1B1360941CA96B2EDDD12041EF8D49A5C03ED62FA1D50D +4B4E94B30FF78C7E87DBBBDCF100CDD0D1CCEB4546A81129329B961E477E2EBB +3D500F0DA9F684AFA07FDD0930555E1E828B0656854AC9AB8118A4BAD7111B39 +5BDE6AC93CC061FE73067D807B454654E3AB7A02A38661862B6811FD9857BBB5 +D88AF8BE8EE553D51C871ADD6377FEF4E4AAB4BF0962C377E6526DD3A43C99D3 +1200330943334A86A18E00A9C62CFB783688A489ABC093927E742AC44E6C5D68 +E381CB0577E36D42324075C70D0210146A46769E4EF4E7212A02BCEF21D39866 +45FEA59ACC9D0210DBAAD2D64D2B9C75AC9332DA6ECD127868A2ECA846BDC961 +370CDB39A22B63C3E73E1DA43D127232FFD654A37DE3B77E8691DF2000A95E02 +755A7DC7CE2D3FFD1D4E7A5A630991A727B889B6E80869FEA450B89D07717463 +BE8E7F9F7E7B5E8CDD9EBFBB0B01BF4631C35423EA9A53340BBA9FC493C144D7 +AC4EC43D61AEC9B6813803E59AB2F48B6B167C19E5BB64FD46B494ADDE9BE881 +DC7F1B9B7351196C77B07E7ADF73BCE7A085EAE92457E0031126878D6F2BB471 +FD9B2CB336526BE180479A29D96E5DEFFA21C9368A06964F5D3AF0E14E9137EA +D8A102D1D42E096B89C04E6B44C22E38E2880EA9624C7084DFE92C7CEBB1CA87 +ED4A6269DFE0BFFC2491A2FCCAB7591D868D12FD15C2FB48077B4425BF9C2FB0 +C9CE1C5296278F8A49175A30161ACEEF4411234610C4FE6BFBD2D3AF3B924837 +6490F561BE719424B849D0CCA2D4DA51A1F34097BC6C4B81F65E094610363CD5 +26FD206621ACB77A02A1FFD70E364E32095A7C0173DAF45388E4F8CF02359389 +44180C058889100D5B340919A9EABB32A070AE29D81342D49617F20CB170C67D +3B4A671979ABC06F853D599899A7117571971EFB792229D4D6B051EA3AA66DCC +8D78F3A3FF7B97732E3277314344D32ABFBEB8AC47C4D4DF7F24CF5CCB870672 +C106D2CF44ACA8967586FC51354182B066B6EFAE8FFD916257EC30AF1E67B156 +89C13F96EDFBCD745965B3DCBF0C70496F81DE237779A24683971CBC5346D8A3 +E6BCBB52CDB58E2E2B3C175B7F049357C667D7E5DF9112F6D7787A47679DCCBC +9AD6B4167C0A622AFC2871583D3DFD80A684B10A13D8362F08A39EB211672E8A +8027F3CFA9E5725AFD833DAE86772E528FE5F89CDCED0EF2E2D7B84210BAF4EC +F5FC2DA12451A19FB91E72A710AB9C80D9D964E05D4B7DC69DC229C6D4F2027E +98F114ACFB99DF2487C53734D6C245F844F97640A29706BA79C324B2A499A8BA +33D63244A320E9D2BCB43F59FC073BB6CE91F32F449DE3DAE4CE284E0E40EC9A +299F71E1FF08A2783E1B452345F4CFFC1B17E878E6982198C14AF78F429DDA89 +99D504B49BD397D45DB265DC4242E51EBC3A4FA1078F62FF96A9956B900B7CAA +64DFF8624A85017B0EA6DD905974F9B1A98A81C8A31E8B7F39C667DB89F88A2C +F3E69A662D14C1523CFD64AE198784ADAE2F6524AC51F1DFA7C28653C70BCC7D +974677D88282EB0EA8EF2993DC93EED927A088F00B3F6D45509418105E4EF439 +803DA2E82481019BA263C499696C3A8247773BF93CE18CB941F57E1512A918D3 +4100E497E31BA32A00B38B9F76B837987C7269CBA3FBA9E8487CCA4E0BF2A154 +494B2802E785E80E426C1E9E20A3BCBE1B88D1DF218F8A612237826FCD724236 +60CFB08F417238AE9DB5142D00852E4806BD491A18FC7056BBFAE5A97433FC88 +36E6B85A46DE24E8416891CF551BF8309FED66F4931B07E90DF9CC062ABC734D +77D69ED92278A16BE66D1A5A1A7A6310BB852682FABA134AF0D55FFB09721DAD +6ECC9D6446A54B158F034DD346793F1121B491C3793279520DC18F6EA12F0D30 +9C225BFC2C16B7F7133A282B79C12EC832145F366E800BE79F5E0824AFB0A87D +626DEEFCFF653356F1DC7A02A2ADCC2860E3CC4125BF24ED9270A0EBD9055740 +B40D69633885753F33A58F679A7BB37A88311B4B4F1675780F87F88094FC26FA +09BD993760E7C138D219382E7869FD81279DD4C3203990FA0A1E5A76FD2EE408 +81021AD0A9A3BDB29136F417A647A4BF701A5DBFA3618E0C5455A95B0CDF969E +56B1D4D1EE29CD494FCA5785B10EC35E64D9D7F81E6DB72555AA1782232681E9 +909251570732F104D769D752B09C4ED44D9B00B929CF7C3899A1E4003277000A +50D136D222A38476B166500304AF25D2A691104FEE150C14D6BA805415502752 +7959ED64C77B1F493FD142F635DFF5F9C6C96FAA68C418E1FE57C59ED52DF91D +219E20FEDBBF7CFC56ABBE64B41616B74B6A76CD973CD4556F8141E863650CB5 +1FF734CEC3107FC337F9338EB688500177095021341B9D9F89BB7BDF5BD20255 +DAF041D751FAE3C3265F169800CA76182C63468B2767A0D7AD66A3F4CAC6D230 +E4F125E79DAD4FE6BA2DDD4F2246D3E5516DBF4A85CD3C96E17C8CB90DEE6590 +FF446FEEFB01EBEBB06578FD85687C27FB1F7E114C59523A7621CB251E73F6E3 +9C3B145D3022C716C476E24A4FB28E8D04AAF74372763B244EDA4244B632EA49 +F7D3388E1024CFCAAF76FE2E8C024EF779DAE6C93E4D078D8C28925E29F9A454 +75A2B6C84EFC80B82870C863ED7F8FBB606DC050C9B48B09B5743A2A459E4137 +BAA99EFFE878248247B575E0F51EBEDF5E13FF525F627D917E10192FA3EFA98B +E24F413BB8603D044C5D225E0DA3E60DCD153520F317AA0212DAB75E6CCDD402 +9BD3C4F14443C20DCE7D75C3DAAC6200B07A86DBAD8150429A28EF82C5E1AA37 +DD57E54230D789BF166A074E0745D4A22CC22A2C1B64B2E866B0288ECC3BBA9F +0865C26D28AC2323BEE23A3F8D1F9D2624D8C5CF775DA3D64052C1A6A50BD579 +1122C5FB8881CFE27430951C7BBC506AAA1E17F9CBBDF791FDA2A324B5F20C67 +1E26175E2DAA58D7B0351250AD53C423B5F6A46D106E6980F7AF95A6819964DC +3939E2C92E76AFA64FCF2CD8AA811EFC9DC06C4BA38BF10A10513F02A8A8F855 +B3A04F814708F7D60A0525C3BB1B2DF82047AEFFF231D6B18E51DD38618F3102 +23EDF0C61EE36F887D0CF61AC775E044DAD59CDC9C8894EA4D6208A5F63F37DD +1945592CAE3065D50DC35AC0ABF70F22072D046B624EC124BD023C508EE8B805 +CA44BF658B8CB36E4CCDB2276AC89912D4203425E64294461A0836BAE2E6039E +5D041CB1CAA1F6D1B2638EE7F296AC96E49BAB1C0160FF773A9DE83D696B0C2E +DC034B20387C96D8E5D0D75D3E8BFE12FD2DE65572C01070FE07D96B344638C8 +2DEE5D10642FE4329F83542B90F3CCA58EFD89FFCA8D16DAECFF28CAAE5B6CEB +2B2A3C2AFD87F802AC36C3DF24CF6CAF2E8A822F286DFD647E195D3295466C41 +6AB850823C2891E8C6B94C9378F6EC868EE1BEC466879AF8425652BBA9F8FADB +782B878D4EE3E9908C8BFBD343E077878499AF806A031B211CF9E43F470A5A8D +8BF646AC3CD251393E3F94FD17151ACDC810D3B21C257A721159A6463DD0C954 +D7DBA0CCB7102E4DB5BDB81648520C5D600ADDF06EB808CDEC948AAF188CC6A0 +3327074AB44AAA9752283E94DA061191D10968BD8357D35EE2B7CA6BDBBDB595 +4F831469187CE69E061147F7C7FCED28824D4141783DD8F99B73F4A52A4A7BF0 +E5F7FC1F93B379D7416C816598DE7E660FE2A218653B32A4AE0BE9B5E1CBBE0B +44D40E2CF2BCAC37F7DB2A196BE1B80D22534F8553958874C7BD4E8FE2CBAB87 +00101C71123255385BA182E63913F8AAAE986FB763FDAB631265061A17340890 +789C1E80E82002A6310AB650589809CF3467C6E12E312EB7BE3084750EF5AB0C +6DE37BE767EA9E5EB4635529BCD8740B0B6E2C842EE6EA02D726CEEA20A23BFD +E5DC590FA32502ED1F79941A897F59C3F2FF75324595F0C5753C5E3B65FF95C8 +FDCD5B411F86F8840386528CA77518A2765AB3F428937258A0A1210C86FFAC5E +94D5BCF380417DA59075C4351944DE6934DC45B43C6FADC76D12FCB66B4CE9CB +4C1E8FB398D66B5528E5B207A7B8AE34EC403F92729B2737EBD585028926E76D +B3CF37CFCEF267B77CA5AA619BD3DF563C8C6AC730CA6486B135E817809B8D30 +97028BC290464B283C1AD1D41C59F97A69F06D9D72A0A9B95A45E4972AC4B84D +E97C507869E4030BA5AAF4B710DE81A3502A4D7D736D61C668F63FA6D4669D23 +FE3F0B09A7F4906E6B31FF161ADD8E1E45EB98099B5BE95B5FDFE3F633447974 +CD3A02BE03C555B07CA3BA33F56AD586910707556DD51660D5ED2933858A71F4 +4900E8E51019FDF950E594C3FCC854085B0E165CAFA7E902E1C842E17AB654A1 +CE63493B07E060AD31814318CCC5B3783FEA5BC65DA2BBD27286F743F48D8246 +5E73C07BE09CB22176C40D8F0A55650B2EF6703E5D1325A273417E0CE2E1CF85 +6086CDC94AD6FE36C7A52925C91A3769F6771C6F58367C2B2B2456C5A1CDD38D +09CFF9E577D6877563AD4E1EE5975E609DBFEF85225FEEABC2B49900F716D121 +D49C56F4EC12E412290BCC89B8862EC78AA095855D4B9DAC33CFFB50E9CFA788 +FF7514936A0A284CFC5E790DCB6BB15A49562CE367D96B03C058D63961FD8BDD +F4402A58E1171A94B6B94CDC5E60106540E0012542F563CC79DA1055CBE47EDD +98F049E90177DD9DF0E0D038C610568D13A6F8D59CBFBC5ED9D5733A55F21B74 +F06DC30D353B69FFA47ABAD4C55A874811DE60C6A2B3673C76105E16A466FA19 +20A5780F2E949328E05990573CC3D38CA7A37AD60641DE173893FFFA551AD971 +697DA8ED155818AC16E3DEE6968891225D5E0DD0363A941D20B76CFC6A4531D0 +2110290578D4D1183475AC1644257BFA84AF546324F3AEA5043D7171D4C251CC +8CFF 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -5160,51 +5170,52 @@ cleartomark TeXDict begin 40258431 52099146 1000 600 600 (history.dvi) @start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 134[41 41 1[41 1[30 30 30 1[43 38 43 4[21 43 38 1[34 43 34 1[38 -13[43 10[58 14[38 38 38 5[38 49[{}22 74.7198 /CMR9 rf -/Fc 134[39 3[39 39 39 39 2[39 39 39 39 2[39 39 2[39 3[39 -97[{}13 74.7198 /CMSLTT10 rf /Fd 167[62 3[60 46 2[57 -1[62 76 52 1[43 1[62 65 54 1[63 60 67[{}13 83.022 /CMR10 -rf /Fe 130[39 39 39 39 39 39 39 39 39 39 39 39 39 39 -39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39 39 1[39 -39 39 1[39 2[39 39 39 39 39 1[39 1[39 1[39 2[39 39 39 -39 39 39 39 39 39 2[39 39 39 39 39 3[39 1[39 39 39 39 -39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 33[{}77 -74.7198 /CMTT9 rf /Ff 134[53 53 72 53 55 39 39 39 53 -55 50 55 83 28 2[28 55 50 30 44 55 44 1[50 7[75 4[72 -55 73 2[77 75 4[36 75 2[68 3[75 20[28 1[50 29[55 58 11[{}36 -99.6264 /CMSL10 rf /Fg 214[35 35 40[{}2 90.9091 /CMSS10 -rf /Fh 133[52 52 52 52 52 52 52 52 52 52 52 52 52 52 -52 52 1[52 52 52 52 52 52 52 52 52 1[52 5[52 4[52 52 -52 2[52 52 4[52 52 2[52 3[52 22[52 42[{}37 99.6264 /CMTT10 -rf /Fi 134[48 48 48 1[48 48 48 48 2[48 48 1[48 2[48 1[48 -48 48 48 49[48 48 49[{}17 90.9091 /CMSLTT10 rf /Fj 133[55 -65 65 1[65 68 48 48 50 1[68 61 68 102 34 2[34 68 61 37 -56 68 55 68 60 9[127 3[68 5[116 74 2[46 96 1[77 81 94 -2[93 9[61 61 61 61 61 61 61 2[34 33[68 12[{}41 109.091 -/CMBX12 rf /Fk 134[48 48 66 48 51 35 36 36 48 51 45 51 -76 25 2[25 51 45 28 40 51 40 1[45 3[25 1[25 40[45 45 -6[45 29[51 53 11[{}29 90.9091 /CMSL10 rf /Fl 138[56 1[42 -4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091 /CMCSC10 rf /Fm -134[85 85 117 85 90 63 64 66 1[90 81 90 134 45 2[45 90 -81 49 74 90 72 90 78 10[122 124 112 3[110 1[126 1[97 -2[60 126 127 101 1[124 117 115 122 14[81 81 49[{}38 143.462 -/CMBX12 rf /Fn 242[91 13[{}1 90.9091 /CMSY10 rf /Fo 134[71 -71 97 71 75 52 53 55 1[75 67 75 112 37 2[37 75 67 41 -61 75 60 75 65 9[139 102 103 1[75 100 1[92 1[105 128 -81 2[50 105 1[85 88 103 97 96 102 6[37 4[67 67 67 67 -67 2[37 1[37 44[{}47 119.552 /CMBX12 rf /Fp 129[48 48 -48 48 48 48 1[48 48 48 48 48 48 1[48 48 48 48 48 48 1[48 -48 48 48 48 48 48 48 48 1[48 48 48 48 48 1[48 3[48 48 -48 48 1[48 48 48 1[48 2[48 48 48 48 48 48 1[48 48 1[48 -48 48 48 48 48 7[48 48 48 48 48 48 1[48 48 48 48 1[48 -48 48 48 48 48 33[{}71 90.9091 /CMTT10 rf /Fq 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 56 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 5[25 25 45 45 45 45 45 45 45 45 45 45 45 -25 30 25 2[35 35 25 4[45 19[76 51 51 53 11[{}82 90.9091 -/CMR10 rf /Fr 134[102 4[75 76 79 2[97 5[54 6[108 94 11[149 -6[151 1[116 3[151 152 71[{}13 172.154 /CMBX12 rf end +13[43 10[58 14[38 1[38 5[38 38 48[{}22 74.7198 /CMR9 +rf /Fc 134[39 3[39 39 39 39 2[39 39 39 39 2[39 39 2[39 +3[39 97[{}13 74.7198 /CMSLTT10 rf /Fd 167[62 3[60 46 +2[57 1[62 76 52 1[43 1[62 65 54 1[63 60 67[{}13 83.022 +/CMR10 rf /Fe 130[39 39 39 39 39 39 39 39 39 39 39 39 +39 39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39 +39 1[39 39 39 1[39 2[39 39 39 39 39 1[39 1[39 1[39 2[39 +39 39 39 39 39 39 39 39 2[39 39 39 39 39 3[39 1[39 39 +39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 +33[{}77 74.7198 /CMTT9 rf /Ff 134[53 53 72 53 55 39 39 +39 53 55 50 55 83 28 2[28 55 50 30 44 55 44 1[50 7[75 +4[72 55 73 2[77 75 4[36 75 2[68 3[75 20[28 1[50 29[55 +58 11[{}36 99.6264 /CMSL10 rf /Fg 214[35 35 40[{}2 90.9091 +/CMSS10 rf /Fh 133[52 52 52 52 52 52 52 52 52 52 52 52 +52 52 52 52 1[52 52 52 52 52 52 52 52 52 1[52 5[52 4[52 +52 52 2[52 52 4[52 52 2[52 3[52 22[52 42[{}37 99.6264 +/CMTT10 rf /Fi 134[48 48 48 1[48 48 48 48 2[48 48 1[48 +2[48 1[48 48 48 48 49[48 48 49[{}17 90.9091 /CMSLTT10 +rf /Fj 133[55 65 65 1[65 68 48 48 50 1[68 61 68 102 34 +2[34 68 61 37 56 68 55 68 60 9[127 3[68 5[116 74 2[46 +96 1[77 81 94 2[93 9[61 61 61 61 61 61 61 2[34 33[68 +12[{}41 109.091 /CMBX12 rf /Fk 134[48 48 66 48 51 35 +36 36 48 51 45 51 76 25 2[25 51 45 28 40 51 40 51 45 +3[25 1[25 40[45 45 6[45 29[51 53 11[{}30 90.9091 /CMSL10 +rf /Fl 138[56 1[42 4[56 4[27 1[58 3[54 1[56 97[{}7 90.9091 +/CMCSC10 rf /Fm 134[85 85 117 85 90 63 64 66 1[90 81 +90 134 45 2[45 90 81 49 74 90 72 90 78 10[122 124 112 +3[110 1[126 1[97 2[60 126 127 101 1[124 117 115 122 14[81 +81 49[{}38 143.462 /CMBX12 rf /Fn 242[91 13[{}1 90.9091 +/CMSY10 rf /Fo 134[71 71 97 71 75 52 53 55 1[75 67 75 +112 37 2[37 75 67 41 61 75 60 75 65 9[139 102 103 1[75 +100 1[92 1[105 128 81 2[50 105 1[85 88 103 97 96 102 +6[37 4[67 67 67 67 67 2[37 1[37 44[{}47 119.552 /CMBX12 +rf /Fp 129[48 48 48 48 48 48 1[48 48 48 48 48 48 1[48 +48 48 48 48 48 1[48 48 48 48 48 48 48 48 48 1[48 48 48 +48 48 1[48 3[48 48 48 48 1[48 48 48 1[48 2[48 48 48 48 +48 48 1[48 48 1[48 48 48 48 48 48 7[48 48 48 48 48 48 +1[48 48 48 48 48 48 48 48 48 48 48 33[{}72 90.9091 /CMTT10 +rf /Fq 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 56 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 5[25 25 45 45 45 45 45 45 +45 45 45 45 45 25 30 25 2[35 35 25 4[45 19[76 51 51 53 +11[{}82 90.9091 /CMR10 rf /Fr 134[102 4[75 76 79 2[97 +5[54 6[108 94 11[149 6[151 1[116 3[151 152 71[{}13 172.154 +/CMBX12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi @@ -5219,23 +5230,25 @@ ifelse %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop 150 1318 a Fr(GNU)65 b(History)h(Library)p -150 1418 3600 34 v 1920 1515 a Fq(Edition)31 b(7.0,)h(for)e -Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(7.0.)3367 -1623 y(July)f(2016)150 4927 y Fo(Chet)45 b(Ramey)-11 -b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 -5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F) --11 b(oundation)p 150 5141 3600 17 v eop end +150 1418 3600 34 v 1920 1515 a Fq(Edition)31 b(8.0,)h(for)e +Fp(History)e(Library)h Fq(V)-8 b(ersion)31 b(8.0.)3139 +1623 y(No)m(v)m(em)m(b)s(er)g(2018)150 4927 y Fo(Chet)45 +b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46 b(Reserv)l(e)g(Univ)l +(ersit)l(y)150 5068 y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 +b(ree)45 b(Soft)l(w)l(are)h(F)-11 b(oundation)p 150 5141 +3600 17 v eop end %%Page: 2 2 -TeXDict begin 2 1 bop 150 4413 a Fq(This)31 b(do)s(cumen)m(t)h(describ) -s(es)f(the)h(GNU)h(History)f(library)g(\(v)m(ersion)g(7.0,)i(16)f(July) -e(2016\),)k(a)d(program-)150 4523 y(ming)38 b(to)s(ol)h(that)f(pro)m -(vides)g(a)g(consisten)m(t)i(user)d(in)m(terface)i(for)f(recalling)h -(lines)g(of)f(previously)f(t)m(yp)s(ed)150 4633 y(input.)150 -4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767 y Fn(\015)30 -b Fq(1988{2016)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8 -b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h -(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s -(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 +TeXDict begin 2 1 bop 150 4413 a Fq(This)44 b(do)s(cumen)m(t)i(describ) +s(es)e(the)i(GNU)f(History)h(library)f(\(v)m(ersion)h(8.0,)51 +b(30)46 b(No)m(v)m(em)m(b)s(er)g(2018\),)52 b(a)150 4523 +y(programming)32 b(to)s(ol)h(that)f(pro)m(vides)g(a)h(consisten)m(t)g +(user)e(in)m(terface)j(for)d(recalling)j(lines)e(of)g(previously)150 +4633 y(t)m(yp)s(ed)e(input.)150 4767 y(Cop)m(yrigh)m(t)602 +4764 y(c)577 4767 y Fn(\015)g Fq(1988{2016)35 b(F)-8 +b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 +4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 +b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f +(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8 @@ -5250,158 +5263,170 @@ TeXDict begin -1 2 bop 3725 -116 a Fq(i)150 299 y Fm(T)-13 b(able)53 b(of)h(Con)l(ten)l(ts)p eop end %%Page: 1 4 TeXDict begin 1 3 bop 3705 -116 a Fq(1)150 299 y Fm(1)80 -b(Using)53 b(History)g(In)l(teractiv)l(ely)150 549 y +b(Using)53 b(History)g(In)l(teractiv)l(ely)150 525 y Fq(This)42 b(c)m(hapter)h(describ)s(es)f(ho)m(w)g(to)h(use)g(the)f Fl(gnu)h Fq(History)g(Library)e(in)m(teractiv)m(ely)-8 -b(,)50 b(from)42 b(a)h(user's)150 659 y(standp)s(oin)m(t.)76 +b(,)50 b(from)42 b(a)h(user's)150 634 y(standp)s(oin)m(t.)76 b(It)42 b(should)f(b)s(e)h(considered)g(a)g(user's)g(guide.)76 b(F)-8 b(or)43 b(information)f(on)g(using)g(the)g Fl(gnu)150 -769 y Fq(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g +744 y Fq(History)36 b(Library)e(in)h(y)m(our)f(o)m(wn)i(programs,)g (see)f(Chapter)g(2)g([Programming)g(with)g(GNU)h(History],)150 -878 y(page)31 b(4.)150 1127 y Fo(1.1)68 b(History)46 -b(Expansion)150 1287 y Fq(The)f(History)h(library)e(pro)m(vides)i(a)f +854 y(page)31 b(4.)150 1091 y Fo(1.1)68 b(History)46 +b(Expansion)150 1251 y Fq(The)f(History)h(library)e(pro)m(vides)i(a)f (history)g(expansion)g(feature)h(that)g(is)f(similar)h(to)g(the)f -(history)150 1396 y(expansion)g(pro)m(vided)f(b)m(y)h +(history)150 1360 y(expansion)g(pro)m(vided)f(b)m(y)h Fp(csh)p Fq(.)83 b(This)44 b(section)i(describ)s(es)e(the)h(syn)m(tax)h -(used)e(to)i(manipulate)f(the)150 1506 y(history)30 b(information.)275 -1646 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h +(used)e(to)i(manipulate)f(the)150 1470 y(history)30 b(information.)275 +1603 y(History)h(expansions)f(in)m(tro)s(duce)g(w)m(ords)g(from)g(the)h (history)f(list)h(in)m(to)g(the)g(input)f(stream,)h(making)150 -1755 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen) +1712 y(it)g(easy)g(to)g(rep)s(eat)g(commands,)f(insert)g(the)h(argumen) m(ts)f(to)h(a)g(previous)f(command)g(in)m(to)i(the)e(curren)m(t)150 -1865 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g -(quic)m(kly)-8 b(.)275 2005 y(History)37 b(expansion)f(tak)m(es)i +1822 y(input)f(line,)i(or)g(\014x)f(errors)f(in)h(previous)g(commands)g +(quic)m(kly)-8 b(.)275 1955 y(History)37 b(expansion)f(tak)m(es)i (place)g(in)e(t)m(w)m(o)i(parts.)59 b(The)36 b(\014rst)g(is)h(to)g -(determine)g(whic)m(h)f(line)h(from)150 2115 y(the)42 +(determine)g(whic)m(h)f(line)h(from)150 2064 y(the)42 b(history)f(list)h(should)e(b)s(e)h(used)f(during)g(substitution.)74 b(The)40 b(second)i(is)f(to)h(select)h(p)s(ortions)e(of)150 -2224 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f +2174 y(that)31 b(line)g(for)f(inclusion)h(in)m(to)g(the)g(curren)m(t)f (one.)42 b(The)30 b(line)h(selected)h(from)e(the)h(history)f(is)h -(called)h(the)150 2334 y Fk(ev)m(en)m(t)p Fq(,)e(and)c(the)i(p)s +(called)h(the)150 2283 y Fk(ev)m(en)m(t)p Fq(,)e(and)c(the)i(p)s (ortions)e(of)i(that)f(line)h(that)g(are)f(acted)i(up)s(on)c(are)j (called)g Fk(w)m(ords)p Fq(.)39 b(V)-8 b(arious)28 b -Fk(mo)s(di\014ers)150 2443 y Fq(are)33 b(a)m(v)-5 b(ailable)36 +Fk(mo)s(di\014ers)150 2393 y Fq(are)33 b(a)m(v)-5 b(ailable)36 b(to)d(manipulate)h(the)f(selected)h(w)m(ords.)48 b(The)32 b(line)i(is)f(brok)m(en)f(in)m(to)i(w)m(ords)f(in)f(the)i(same)150 -2553 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g +2503 y(fashion)23 b(that)g(Bash)g(do)s(es,)h(so)f(that)h(sev)m(eral)g (w)m(ords)e(surrounded)e(b)m(y)j(quotes)g(are)g(considered)g(one)g(w)m -(ord.)150 2662 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m +(ord.)150 2612 y(History)37 b(expansions)g(are)g(in)m(tro)s(duced)f(b)m (y)h(the)g(app)s(earance)g(of)g(the)g(history)f(expansion)h(c)m -(haracter,)150 2772 y(whic)m(h)30 b(is)h(`)p Fp(!)p Fq(')f(b)m(y)g -(default.)150 2977 y Fj(1.1.1)63 b(Ev)m(en)m(t)39 b(Designators)150 -3124 y Fq(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g(reference)g(to)h -(a)f(command)f(line)h(en)m(try)g(in)g(the)g(history)g(list.)48 -b(Unless)33 b(the)150 3233 y(reference)e(is)f(absolute,)i(ev)m(en)m(ts) -f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h(in)f(the)h -(history)f(list.)150 3401 y Fp(!)432 b Fq(Start)34 b(a)f(history)h -(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y)e(a)h(space,)h -(tab,)f(the)g(end)f(of)630 3511 y(the)e(line,)g(or)f(`)p -Fp(=)p Fq('.)150 3675 y Fp(!)p Fi(n)384 b Fq(Refer)30 -b(to)i(command)e(line)g Fk(n)p Fq(.)150 3840 y Fp(!-)p +(haracter,)150 2722 y(whic)m(h)30 b(is)h(`)p Fp(!)p Fq(')f(b)m(y)g +(default.)275 2855 y(History)c(expansion)g(implemen)m(ts)h(shell-lik)m +(e)h(quoting)f(con)m(v)m(en)m(tions:)40 b(a)27 b(bac)m(kslash)g(can)f +(b)s(e)g(used)f(to)150 2964 y(remo)m(v)m(e)h(the)e(sp)s(ecial)g +(handling)g(for)g(the)g(next)g(c)m(haracter;)k(single)d(quotes)g +(enclose)g(v)m(erbatim)g(sequences)150 3074 y(of)k(c)m(haracters,)i +(and)e(can)g(b)s(e)g(used)f(to)i(inhibit)f(history)g(expansion;)g(and)g +(c)m(haracters)i(enclosed)e(within)150 3183 y(double)h(quotes)i(ma)m(y) +f(b)s(e)f(sub)5 b(ject)31 b(to)h(history)f(expansion,)g(since)g(bac)m +(kslash)g(can)h(escap)s(e)f(the)g(history)150 3293 y(expansion)e(c)m +(haracter,)j(but)d(single)h(quotes)g(ma)m(y)h(not,)f(since)g(they)g +(are)g(not)f(treated)i(sp)s(ecially)f(within)150 3403 +y(double)g(quotes.)150 3599 y Fj(1.1.1)63 b(Ev)m(en)m(t)39 +b(Designators)150 3746 y Fq(An)32 b(ev)m(en)m(t)j(designator)e(is)g(a)g +(reference)g(to)h(a)f(command)f(line)h(en)m(try)g(in)g(the)g(history)g +(list.)48 b(Unless)33 b(the)150 3855 y(reference)e(is)f(absolute,)i(ev) +m(en)m(ts)f(are)g(relativ)m(e)i(to)e(the)f(curren)m(t)g(p)s(osition)h +(in)f(the)h(history)f(list.)150 4011 y Fp(!)432 b Fq(Start)34 +b(a)f(history)h(substitution,)g(except)g(when)f(follo)m(w)m(ed)i(b)m(y) +e(a)h(space,)h(tab,)f(the)g(end)f(of)630 4121 y(the)e(line,)g(or)f(`)p +Fp(=)p Fq('.)150 4277 y Fp(!)p Fi(n)384 b Fq(Refer)30 +b(to)i(command)e(line)g Fk(n)p Fq(.)150 4433 y Fp(!-)p Fi(n)336 b Fq(Refer)30 b(to)i(the)e(command)g Fk(n)g -Fq(lines)h(bac)m(k.)150 4005 y Fp(!!)384 b Fq(Refer)30 +Fq(lines)h(bac)m(k.)150 4589 y Fp(!!)384 b Fq(Refer)30 b(to)i(the)e(previous)g(command.)40 b(This)30 b(is)g(a)h(synon)m(ym)f -(for)g(`)p Fp(!-1)p Fq('.)150 4170 y Fp(!)p Fi(string)144 +(for)g(`)p Fp(!-1)p Fq('.)150 4745 y Fp(!)p Fi(string)144 b Fq(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g (the)g(curren)m(t)g(p)s(osition)g(in)g(the)g(history)630 -4280 y(list)31 b(starting)g(with)f Fk(string)p Fq(.)150 -4445 y Fp(!?)p Fi(string)p Fp([?])630 4554 y Fq(Refer)25 +4855 y(list)31 b(starting)g(with)f Fk(string)p Fq(.)150 +5011 y Fp(!?)p Fi(string)p Fp([?])630 5121 y Fq(Refer)25 b(to)h(the)f(most)h(recen)m(t)g(command)f(preceding)g(the)g(curren)m(t) -g(p)s(osition)g(in)g(the)g(history)630 4664 y(list)32 +g(p)s(osition)g(in)g(the)g(history)630 5230 y(list)32 b(con)m(taining)i Fk(string)p Fq(.)45 b(The)31 b(trailing)i(`)p Fp(?)p Fq(')f(ma)m(y)g(b)s(e)f(omitted)i(if)f(the)g Fk(string)39 -b Fq(is)32 b(follo)m(w)m(ed)630 4773 y(immediately)g(b)m(y)e(a)h -(newline.)150 4938 y Fp(^)p Fi(string1)p Fp(^)p Fi(string2)p -Fp(^)630 5048 y Fq(Quic)m(k)h(Substitution.)44 b(Rep)s(eat)32 -b(the)g(last)h(command,)f(replacing)g Fk(string1)40 b -Fq(with)31 b Fk(string2)p Fq(.)630 5157 y(Equiv)-5 b(alen)m(t)31 -b(to)g Fp(!!:s/)p Fi(string1)p Fp(/)p Fi(string2)p Fp(/)p -Fq(.)150 5322 y Fp(!#)384 b Fq(The)30 b(en)m(tire)h(command)f(line)h(t) -m(yp)s(ed)f(so)h(far.)p eop end +b Fq(is)32 b(follo)m(w)m(ed)630 5340 y(immediately)g(b)m(y)e(a)h +(newline.)p eop end %%Page: 2 5 TeXDict begin 2 4 bop 150 -116 a Fq(Chapter)30 b(1:)41 b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(2)150 -299 y Fj(1.1.2)63 b(W)-10 b(ord)41 b(Designators)150 -446 y Fq(W)-8 b(ord)27 b(designators)h(are)g(used)e(to)i(select)h -(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 b(A)27 -b(`)p Fp(:)p Fq(')g(separates)h(the)f(ev)m(en)m(t)150 -555 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61 +299 y Fp(^)p Fi(string1)p Fp(^)p Fi(string2)p Fp(^)630 +408 y Fq(Quic)m(k)32 b(Substitution.)44 b(Rep)s(eat)32 +b(the)g(last)h(command,)f(replacing)g Fk(string1)40 b +Fq(with)31 b Fk(string2)p Fq(.)630 518 y(Equiv)-5 b(alen)m(t)31 +b(to)g Fp(!!:s/)p Fi(string1)p Fp(/)p Fi(string2)p Fp(/)p +Fq(.)150 674 y Fp(!#)384 b Fq(The)30 b(en)m(tire)h(command)f(line)h(t)m +(yp)s(ed)f(so)h(far.)150 869 y Fj(1.1.2)63 b(W)-10 b(ord)41 +b(Designators)150 1016 y Fq(W)-8 b(ord)27 b(designators)h(are)g(used)e +(to)i(select)h(desired)d(w)m(ords)h(from)f(the)i(ev)m(en)m(t.)41 +b(A)27 b(`)p Fp(:)p Fq(')g(separates)h(the)f(ev)m(en)m(t)150 +1125 y(sp)s(eci\014cation)38 b(from)e(the)h(w)m(ord)f(designator.)61 b(It)37 b(ma)m(y)h(b)s(e)e(omitted)i(if)e(the)h(w)m(ord)g(designator)g -(b)s(egins)150 665 y(with)30 b(a)g(`)p Fp(^)p Fq(',)g(`)p +(b)s(egins)150 1235 y(with)30 b(a)g(`)p Fp(^)p Fq(',)g(`)p Fp($)p Fq(',)g(`)p Fp(*)p Fq(',)h(`)p Fp(-)p Fq(',)f(or)g(`)p Fp(\045)p Fq('.)41 b(W)-8 b(ords)30 b(are)g(n)m(um)m(b)s(ered)e(from)i (the)g(b)s(eginning)f(of)h(the)g(line,)g(with)g(the)150 -775 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).)41 -b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f(line)g -(separated)h(b)m(y)150 884 y(single)h(spaces.)275 1026 -y(F)-8 b(or)31 b(example,)150 1197 y Fp(!!)384 b Fq(designates)37 -b(the)f(preceding)g(command.)57 b(When)35 b(y)m(ou)i(t)m(yp)s(e)f -(this,)h(the)f(preceding)g(com-)630 1307 y(mand)30 b(is)g(rep)s(eated)g -(in)g(toto.)150 1474 y Fp(!!:$)288 b Fq(designates)23 -b(the)g(last)g(argumen)m(t)g(of)f(the)h(preceding)f(command.)38 -b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 1583 y(to)31 -b Fp(!$)p Fq(.)150 1750 y Fp(!fi:2)240 b Fq(designates)30 -b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f(recen)m(t)i(command)e -(starting)h(with)f(the)630 1860 y(letters)j Fp(fi)p Fq(.)275 -2031 y(Here)e(are)h(the)g(w)m(ord)f(designators:)150 -2202 y Fp(0)g(\(zero\))114 b Fq(The)30 b Fp(0)p Fq(th)g(w)m(ord.)40 -b(F)-8 b(or)31 b(man)m(y)g(applications,)h(this)e(is)g(the)h(command)f -(w)m(ord.)150 2369 y Fi(n)432 b Fq(The)30 b Fk(n)p Fq(th)g(w)m(ord.)150 -2536 y Fp(^)432 b Fq(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m -(ord)g(1.)150 2703 y Fp($)432 b Fq(The)30 b(last)h(argumen)m(t.)150 -2870 y Fp(\045)432 b Fq(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h +1345 y(\014rst)f(w)m(ord)f(b)s(eing)h(denoted)h(b)m(y)f(0)h(\(zero\).) +41 b(W)-8 b(ords)30 b(are)g(inserted)f(in)m(to)h(the)g(curren)m(t)f +(line)g(separated)h(b)m(y)150 1454 y(single)h(spaces.)275 +1587 y(F)-8 b(or)31 b(example,)150 1742 y Fp(!!)384 b +Fq(designates)37 b(the)f(preceding)g(command.)57 b(When)35 +b(y)m(ou)i(t)m(yp)s(e)f(this,)h(the)f(preceding)g(com-)630 +1852 y(mand)30 b(is)g(rep)s(eated)g(in)g(toto.)150 2007 +y Fp(!!:$)288 b Fq(designates)23 b(the)g(last)g(argumen)m(t)g(of)f(the) +h(preceding)f(command.)38 b(This)22 b(ma)m(y)h(b)s(e)e(shortened)630 +2117 y(to)31 b Fp(!$)p Fq(.)150 2273 y Fp(!fi:2)240 b +Fq(designates)30 b(the)g(second)f(argumen)m(t)h(of)f(the)h(most)f +(recen)m(t)i(command)e(starting)h(with)f(the)630 2382 +y(letters)j Fp(fi)p Fq(.)275 2538 y(Here)e(are)h(the)g(w)m(ord)f +(designators:)150 2693 y Fp(0)g(\(zero\))114 b Fq(The)30 +b Fp(0)p Fq(th)g(w)m(ord.)40 b(F)-8 b(or)31 b(man)m(y)g(applications,)h +(this)e(is)g(the)h(command)f(w)m(ord.)150 2849 y Fi(n)432 +b Fq(The)30 b Fk(n)p Fq(th)g(w)m(ord.)150 3004 y Fp(^)432 +b Fq(The)30 b(\014rst)f(argumen)m(t;)j(that)f(is,)f(w)m(ord)g(1.)150 +3160 y Fp($)432 b Fq(The)30 b(last)h(argumen)m(t.)150 +3315 y Fp(\045)432 b Fq(The)30 b(w)m(ord)g(matc)m(hed)h(b)m(y)f(the)h (most)g(recen)m(t)g(`)p Fp(?)p Fi(string)p Fp(?)p Fq(')e(searc)m(h.)150 -3037 y Fi(x)p Fp(-)p Fi(y)336 b Fq(A)30 b(range)h(of)g(w)m(ords;)f(`)p +3471 y Fi(x)p Fp(-)p Fi(y)336 b Fq(A)30 b(range)h(of)g(w)m(ords;)f(`)p Fp(-)p Fi(y)p Fq(')g(abbreviates)h(`)p Fp(0-)p Fi(y)p -Fq('.)150 3204 y Fp(*)432 b Fq(All)28 b(of)g(the)g(w)m(ords,)g(except)h +Fq('.)150 3626 y Fp(*)432 b Fq(All)28 b(of)g(the)g(w)m(ords,)g(except)h (the)e Fp(0)p Fq(th.)40 b(This)27 b(is)g(a)h(synon)m(ym)f(for)h(`)p Fp(1-$)p Fq('.)39 b(It)28 b(is)g(not)g(an)f(error)630 -3313 y(to)j(use)g(`)p Fp(*)p Fq(')f(if)h(there)g(is)g(just)f(one)h(w)m +3736 y(to)j(use)g(`)p Fp(*)p Fq(')f(if)h(there)g(is)g(just)f(one)h(w)m (ord)f(in)g(the)h(ev)m(en)m(t;)i(the)d(empt)m(y)i(string)e(is)h -(returned)e(in)630 3423 y(that)j(case.)150 3590 y Fi(x)p +(returned)e(in)630 3845 y(that)j(case.)150 4001 y Fi(x)p Fp(*)384 b Fq(Abbreviates)31 b(`)p Fi(x)p Fp(-$)p Fq(')150 -3757 y Fi(x)p Fp(-)384 b Fq(Abbreviates)31 b(`)p Fi(x)p +4156 y Fi(x)p Fp(-)384 b Fq(Abbreviates)31 b(`)p Fi(x)p Fp(-$)p Fq(')f(lik)m(e)h(`)p Fi(x)p Fp(*)p Fq(',)g(but)f(omits)h(the)f -(last)h(w)m(ord.)275 3928 y(If)i(a)h(w)m(ord)g(designator)g(is)g +(last)h(w)m(ord.)275 4312 y(If)i(a)h(w)m(ord)g(designator)g(is)g (supplied)f(without)h(an)g(ev)m(en)m(t)h(sp)s(eci\014cation,)h(the)e -(previous)f(command)150 4038 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 -4244 y Fj(1.1.3)63 b(Mo)s(di\014ers)150 4391 y Fq(After)29 +(previous)f(command)150 4422 y(is)d(used)g(as)h(the)f(ev)m(en)m(t.)150 +4617 y Fj(1.1.3)63 b(Mo)s(di\014ers)150 4764 y Fq(After)29 b(the)g(optional)g(w)m(ord)g(designator,)g(y)m(ou)g(can)g(add)f(a)h (sequence)g(of)g(one)g(or)f(more)h(of)g(the)f(follo)m(wing)150 -4501 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p -Fp(:)p Fq('.)150 4672 y Fp(h)432 b Fq(Remo)m(v)m(e)32 +4873 y(mo)s(di\014ers,)h(eac)m(h)j(preceded)e(b)m(y)g(a)h(`)p +Fp(:)p Fq('.)150 5029 y Fp(h)432 b Fq(Remo)m(v)m(e)32 b(a)f(trailing)g(pathname)g(comp)s(onen)m(t,)g(lea)m(ving)h(only)e(the) -h(head.)150 4839 y Fp(t)432 b Fq(Remo)m(v)m(e)32 b(all)f(leading)h +h(head.)150 5184 y Fp(t)432 b Fq(Remo)m(v)m(e)32 b(all)f(leading)h (pathname)e(comp)s(onen)m(ts,)h(lea)m(ving)h(the)e(tail.)150 -5006 y Fp(r)432 b Fq(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g +5340 y Fp(r)432 b Fq(Remo)m(v)m(e)32 b(a)f(trailing)g(su\016x)f(of)g (the)h(form)f(`)p Fp(.)p Fi(suffix)p Fq(',)f(lea)m(ving)j(the)f -(basename.)150 5173 y Fp(e)432 b Fq(Remo)m(v)m(e)32 b(all)f(but)f(the)h -(trailing)g(su\016x.)150 5340 y Fp(p)432 b Fq(Prin)m(t)30 -b(the)h(new)f(command)g(but)g(do)g(not)g(execute)i(it.)p -eop end +(basename.)p eop end %%Page: 3 6 TeXDict begin 3 5 bop 150 -116 a Fq(Chapter)30 b(1:)41 b(Using)30 b(History)h(In)m(teractiv)m(ely)2016 b(3)150 -299 y Fp(s/)p Fi(old)p Fp(/)p Fi(new)p Fp(/)630 408 y -Fq(Substitute)32 b Fk(new)40 b Fq(for)32 b(the)h(\014rst)f(o)s -(ccurrence)h(of)f Fk(old)37 b Fq(in)32 b(the)h(ev)m(en)m(t)h(line.)48 -b(An)m(y)32 b(delimiter)630 518 y(ma)m(y)25 b(b)s(e)g(used)f(in)g -(place)i(of)f(`)p Fp(/)p Fq('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s -(e)e(quoted)h(in)f Fk(old)29 b Fq(and)24 b Fk(new)32 -b Fq(with)25 b(a)630 628 y(single)k(bac)m(kslash.)40 -b(If)28 b(`)p Fp(&)p Fq(')g(app)s(ears)g(in)f Fk(new)p -Fq(,)i(it)f(is)h(replaced)f(b)m(y)g Fk(old)p Fq(.)40 -b(A)28 b(single)h(bac)m(kslash)630 737 y(will)35 b(quote)g(the)g(`)p -Fp(&)p Fq('.)54 b(The)34 b(\014nal)g(delimiter)i(is)e(optional)i(if)f -(it)g(is)f(the)h(last)h(c)m(haracter)g(on)630 847 y(the)31 -b(input)e(line.)150 1006 y Fp(&)432 b Fq(Rep)s(eat)31 -b(the)f(previous)g(substitution.)150 1166 y Fp(g)150 -1275 y(a)432 b Fq(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f(applied)h(o)m(v) -m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 b(Used)39 -b(in)f(conjunction)630 1385 y(with)30 b(`)p Fp(s)p Fq(',)h(as)f(in)h -Fp(gs/)p Fi(old)p Fp(/)p Fi(new)p Fp(/)p Fq(,)c(or)j(with)h(`)p -Fp(&)p Fq('.)150 1544 y Fp(G)432 b Fq(Apply)30 b(the)g(follo)m(wing)i -(`)p Fp(s)p Fq(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g -(the)g(ev)m(en)m(t.)p eop end +299 y Fp(e)432 b Fq(Remo)m(v)m(e)32 b(all)f(but)f(the)h(trailing)g +(su\016x.)150 458 y Fp(p)432 b Fq(Prin)m(t)30 b(the)h(new)f(command)g +(but)g(do)g(not)g(execute)i(it.)150 618 y Fp(s/)p Fi(old)p +Fp(/)p Fi(new)p Fp(/)630 727 y Fq(Substitute)g Fk(new)40 +b Fq(for)32 b(the)h(\014rst)f(o)s(ccurrence)h(of)f Fk(old)37 +b Fq(in)32 b(the)h(ev)m(en)m(t)h(line.)48 b(An)m(y)32 +b(delimiter)630 837 y(ma)m(y)25 b(b)s(e)g(used)f(in)g(place)i(of)f(`)p +Fp(/)p Fq('.)39 b(The)24 b(delimiter)h(ma)m(y)h(b)s(e)e(quoted)h(in)f +Fk(old)29 b Fq(and)24 b Fk(new)32 b Fq(with)25 b(a)630 +946 y(single)k(bac)m(kslash.)40 b(If)28 b(`)p Fp(&)p +Fq(')g(app)s(ears)g(in)f Fk(new)p Fq(,)i(it)f(is)h(replaced)f(b)m(y)g +Fk(old)p Fq(.)40 b(A)28 b(single)h(bac)m(kslash)630 1056 +y(will)35 b(quote)g(the)g(`)p Fp(&)p Fq('.)54 b(The)34 +b(\014nal)g(delimiter)i(is)e(optional)i(if)f(it)g(is)f(the)h(last)h(c)m +(haracter)g(on)630 1166 y(the)31 b(input)e(line.)150 +1325 y Fp(&)432 b Fq(Rep)s(eat)31 b(the)f(previous)g(substitution.)150 +1484 y Fp(g)150 1594 y(a)432 b Fq(Cause)38 b(c)m(hanges)i(to)f(b)s(e)f +(applied)h(o)m(v)m(er)h(the)f(en)m(tire)g(ev)m(en)m(t)h(line.)66 +b(Used)39 b(in)f(conjunction)630 1704 y(with)30 b(`)p +Fp(s)p Fq(',)h(as)f(in)h Fp(gs/)p Fi(old)p Fp(/)p Fi(new)p +Fp(/)p Fq(,)c(or)j(with)h(`)p Fp(&)p Fq('.)150 1863 y +Fp(G)432 b Fq(Apply)30 b(the)g(follo)m(wing)i(`)p Fp(s)p +Fq(')f(mo)s(di\014er)e(once)i(to)g(eac)m(h)h(w)m(ord)e(in)g(the)g(ev)m +(en)m(t.)p eop end %%Page: 4 7 TeXDict begin 4 6 bop 3705 -116 a Fq(4)150 299 y Fm(2)80 b(Programming)54 b(with)f(GNU)h(History)150 544 y Fq(This)41 @@ -5472,426 +5497,459 @@ b(Programming)30 b(with)g(GNU)h(History)1780 b(5)485 b(/*)48 b(Number)e(of)h(elements)e(within)i(this)f(array.)g(*/)485 518 y(int)h(size;)619 b(/*)48 b(Number)e(of)h(slots)f(allocated)g(to)h (this)f(array.)g(*/)485 628 y(int)h(flags;)390 737 y(})g -(HISTORY_STATE;)275 869 y Fq(If)29 b(the)i(\015ags)g(mem)m(b)s(er)e +(HISTORY_STATE;)275 890 y Fq(If)29 b(the)i(\015ags)g(mem)m(b)s(er)e (includes)h Fp(HS_STIFLED)p Fq(,)e(the)j(history)f(has)g(b)s(een)g -(sti\015ed.)150 1106 y Fo(2.3)68 b(History)46 b(F)-11 -b(unctions)150 1265 y Fq(This)33 b(section)j(describ)s(es)d(the)i +(sti\015ed.)150 1157 y Fo(2.3)68 b(History)46 b(F)-11 +b(unctions)150 1317 y Fq(This)33 b(section)j(describ)s(es)d(the)i (calling)g(sequence)g(for)f(the)g(v)-5 b(arious)34 b(functions)g(exp)s -(orted)g(b)m(y)g(the)g Fl(gnu)150 1375 y Fq(History)d(library)-8 -b(.)150 1569 y Fj(2.3.1)63 b(Initializing)40 b(History)i(and)f(State)f -(Managemen)m(t)150 1716 y Fq(This)21 b(section)i(describ)s(es)f +(orted)g(b)m(y)g(the)g Fl(gnu)150 1426 y Fq(History)d(library)-8 +b(.)150 1644 y Fj(2.3.1)63 b(Initializing)40 b(History)i(and)f(State)f +(Managemen)m(t)150 1791 y Fq(This)21 b(section)i(describ)s(es)f (functions)f(used)g(to)i(initialize)h(and)e(manage)h(the)f(state)h(of)g -(the)f(History)g(library)150 1826 y(when)29 b(y)m(ou)i(w)m(an)m(t)g(to) +(the)f(History)g(library)150 1900 y(when)29 b(y)m(ou)i(w)m(an)m(t)g(to) g(use)f(the)h(history)f(functions)g(in)g(y)m(our)h(program.)3350 -2003 y([F)-8 b(unction])-3599 b Fh(void)54 b(using_history)49 -b Fg(\()p Ff(v)m(oid)p Fg(\))390 2113 y Fq(Begin)41 b(a)f(session)g(in) +2120 y([F)-8 b(unction])-3599 b Fh(void)54 b(using_history)49 +b Fg(\()p Ff(v)m(oid)p Fg(\))390 2230 y Fq(Begin)41 b(a)f(session)g(in) g(whic)m(h)f(the)h(history)g(functions)f(migh)m(t)i(b)s(e)e(used.)69 -b(This)39 b(initializes)j(the)390 2222 y(in)m(teractiv)m(e)33 -b(v)-5 b(ariables.)3350 2400 y([F)d(unction])-3599 b +b(This)39 b(initializes)j(the)390 2339 y(in)m(teractiv)m(e)33 +b(v)-5 b(ariables.)3350 2560 y([F)d(unction])-3599 b Fh(HISTORY_STATE)56 b(*)d(history_get_history_st)q(ate)f -Fg(\()p Ff(v)m(oid)p Fg(\))390 2509 y Fq(Return)30 b(a)g(structure)g +Fg(\()p Ff(v)m(oid)p Fg(\))390 2669 y Fq(Return)30 b(a)g(structure)g (describing)g(the)h(curren)m(t)f(state)i(of)e(the)h(input)e(history)-8 -b(.)3350 2687 y([F)g(unction])-3599 b Fh(void)54 b +b(.)3350 2890 y([F)g(unction])-3599 b Fh(void)54 b (history_set_history_stat)q(e)e Fg(\()p Ff(HISTOR)-8 -b(Y)p 2262 2687 30 5 v 44 w(ST)g(A)g(TE)32 b(*state)p -Fg(\))390 2796 y Fq(Set)f(the)f(state)i(of)e(the)h(history)f(list)h -(according)h(to)f Fk(state)p Fq(.)150 2991 y Fj(2.3.2)63 -b(History)41 b(List)g(Managemen)m(t)150 3138 y Fq(These)32 +b(Y)p 2262 2890 30 5 v 44 w(ST)g(A)g(TE)32 b(*state)p +Fg(\))390 2999 y Fq(Set)f(the)f(state)i(of)e(the)h(history)f(list)h +(according)h(to)f Fk(state)p Fq(.)150 3216 y Fj(2.3.2)63 +b(History)41 b(List)g(Managemen)m(t)150 3363 y Fq(These)32 b(functions)f(manage)i(individual)f(en)m(tries)g(on)g(the)g(history)g -(list,)h(or)f(set)h(parameters)f(managing)150 3247 y(the)f(list)g -(itself.)3350 3425 y([F)-8 b(unction])-3599 b Fh(void)54 +(list,)h(or)f(set)h(parameters)f(managing)150 3473 y(the)f(list)g +(itself.)3350 3693 y([F)-8 b(unction])-3599 b Fh(void)54 b(add_history)48 b Fg(\()p Ff(const)34 b(c)m(har)g(*string)p -Fg(\))390 3534 y Fq(Place)d Fk(string)38 b Fq(at)31 b(the)f(end)f(of)h -(the)g(history)g(list.)42 b(The)29 b(asso)s(ciated)i(data)g(\014eld)f -(\(if)g(an)m(y\))h(is)f(set)g(to)390 3644 y Fp(NULL)p -Fq(.)3350 3821 y([F)-8 b(unction])-3599 b Fh(void)54 -b(add_history_time)c Fg(\()p Ff(const)34 b(c)m(har)g(*string)p -Fg(\))390 3931 y Fq(Change)c(the)h(time)g(stamp)f(asso)s(ciated)i(with) -e(the)h(most)f(recen)m(t)i(history)e(en)m(try)h(to)g -Fk(string)p Fq(.)3350 4108 y([F)-8 b(unction])-3599 b -Fh(HIST_ENTRY)55 b(*)e(remove_history)d Fg(\()p Ff(in)m(t)33 -b(whic)m(h)p Fg(\))390 4218 y Fq(Remo)m(v)m(e)47 b(history)f(en)m(try)f -(at)i(o\013set)f Fk(whic)m(h)f Fq(from)g(the)h(history)-8 -b(.)86 b(The)45 b(remo)m(v)m(ed)i(elemen)m(t)g(is)390 -4328 y(returned)29 b(so)i(y)m(ou)g(can)f(free)h(the)f(line,)h(data,)h -(and)d(con)m(taining)j(structure.)3350 4505 y([F)-8 b(unction])-3599 -b Fh(histdata_t)55 b(free_history_entry)c Fg(\()p Ff(HIST)p -1992 4505 V 44 w(ENTR)-8 b(Y)33 b(*histen)m(t)p Fg(\))390 -4615 y Fq(F)-8 b(ree)29 b(the)f(history)g(en)m(try)g +Fg(\))390 3803 y Fq(Place)j Fk(string)44 b Fq(at)37 b(the)g(end)e(of)i +(the)f(history)g(list.)59 b(The)36 b(asso)s(ciated)h(data)g(\014eld)f +(\(if)g(an)m(y\))h(is)f(set)390 3912 y(to)44 b Fp(NULL)p +Fq(.)79 b(If)44 b(the)f(maxim)m(um)h(n)m(um)m(b)s(er)e(of)i(history)f +(en)m(tries)i(has)e(b)s(een)g(set)h(using)f Fp(stifle_)390 +4022 y(history\(\))p Fq(,)28 b(and)h(the)h(new)f(n)m(um)m(b)s(er)g(of)h +(history)g(en)m(tries)h(w)m(ould)e(exceed)i(that)g(maxim)m(um,)f(the) +390 4131 y(oldest)h(history)f(en)m(try)h(is)f(remo)m(v)m(ed.)3350 +4352 y([F)-8 b(unction])-3599 b Fh(void)54 b(add_history_time)c +Fg(\()p Ff(const)34 b(c)m(har)g(*string)p Fg(\))390 4461 +y Fq(Change)c(the)h(time)g(stamp)f(asso)s(ciated)i(with)e(the)h(most)f +(recen)m(t)i(history)e(en)m(try)h(to)g Fk(string)p Fq(.)3350 +4681 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(remove_history)d +Fg(\()p Ff(in)m(t)33 b(whic)m(h)p Fg(\))390 4791 y Fq(Remo)m(v)m(e)47 +b(history)f(en)m(try)f(at)i(o\013set)f Fk(whic)m(h)f +Fq(from)g(the)h(history)-8 b(.)86 b(The)45 b(remo)m(v)m(ed)i(elemen)m +(t)g(is)390 4901 y(returned)29 b(so)i(y)m(ou)g(can)f(free)h(the)f +(line,)h(data,)h(and)d(con)m(taining)j(structure.)3350 +5121 y([F)-8 b(unction])-3599 b Fh(histdata_t)55 b(free_history_entry)c +Fg(\()p Ff(HIST)p 1992 5121 V 44 w(ENTR)-8 b(Y)33 b(*histen)m(t)p +Fg(\))390 5230 y Fq(F)-8 b(ree)29 b(the)f(history)g(en)m(try)g Fk(histen)m(t)j Fq(and)c(an)m(y)i(history)e(library)h(priv)-5 -b(ate)28 b(data)h(asso)s(ciated)g(with)f(it.)390 4724 +b(ate)28 b(data)h(asso)s(ciated)g(with)f(it.)390 5340 y(Returns)h(the)i(application-sp)s(eci\014c)h(data)f(so)g(the)f(caller) -i(can)e(disp)s(ose)g(of)h(it.)3350 4902 y([F)-8 b(unction])-3599 -b Fh(HIST_ENTRY)55 b(*)e(replace_history_entry)f Fg(\()p -Ff(in)m(t)33 b(whic)m(h,)h(const)g(c)m(har)g(*line,)565 -5011 y(histdata)p 927 5011 V 44 w(t)f(data)p Fg(\))390 -5121 y Fq(Mak)m(e)c(the)f(history)f(en)m(try)h(at)h(o\013set)f -Fk(whic)m(h)g Fq(ha)m(v)m(e)g Fk(line)33 b Fq(and)27 -b Fk(data)p Fq(.)41 b(This)27 b(returns)f(the)i(old)g(en)m(try)390 -5230 y(so)37 b(the)h(caller)g(can)f(disp)s(ose)g(of)g(an)m(y)g -(application-sp)s(eci\014c)i(data.)61 b(In)37 b(the)g(case)h(of)f(an)g -(in)m(v)-5 b(alid)390 5340 y Fk(whic)m(h)p Fq(,)30 b(a)h -Fp(NULL)e Fq(p)s(oin)m(ter)i(is)f(returned.)p eop end +i(can)e(disp)s(ose)g(of)h(it.)p eop end %%Page: 6 9 TeXDict begin 6 8 bop 150 -116 a Fq(Chapter)30 b(2:)41 b(Programming)30 b(with)g(GNU)h(History)1780 b(6)3350 -299 y([F)-8 b(unction])-3599 b Fh(void)54 b(clear_history)49 -b Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Fq(Clear)31 b(the)f(history)h +299 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e +(replace_history_entry)f Fg(\()p Ff(in)m(t)33 b(whic)m(h,)h(const)g(c)m +(har)g(*line,)565 408 y(histdata)p 927 408 30 5 v 44 +w(t)f(data)p Fg(\))390 518 y Fq(Mak)m(e)c(the)f(history)f(en)m(try)h +(at)h(o\013set)f Fk(whic)m(h)g Fq(ha)m(v)m(e)g Fk(line)33 +b Fq(and)27 b Fk(data)p Fq(.)41 b(This)27 b(returns)f(the)i(old)g(en)m +(try)390 628 y(so)37 b(the)h(caller)g(can)f(disp)s(ose)g(of)g(an)m(y)g +(application-sp)s(eci\014c)i(data.)61 b(In)37 b(the)g(case)h(of)f(an)g +(in)m(v)-5 b(alid)390 737 y Fk(whic)m(h)p Fq(,)30 b(a)h +Fp(NULL)e Fq(p)s(oin)m(ter)i(is)f(returned.)3350 941 +y([F)-8 b(unction])-3599 b Fh(void)54 b(clear_history)49 +b Fg(\()p Ff(v)m(oid)p Fg(\))390 1051 y Fq(Clear)31 b(the)f(history)h (list)g(b)m(y)f(deleting)h(all)h(the)e(en)m(tries.)3350 -586 y([F)-8 b(unction])-3599 b Fh(void)54 b(stifle_history)49 -b Fg(\()p Ff(in)m(t)34 b(max)p Fg(\))390 695 y Fq(Sti\015e)c(the)h -(history)f(list,)h(remem)m(b)s(ering)f(only)h(the)f(last)i -Fk(max)k Fq(en)m(tries.)3350 872 y([F)-8 b(unction])-3599 -b Fh(int)53 b(unstifle_history)e Fg(\()p Ff(v)m(oid)p -Fg(\))390 982 y Fq(Stop)27 b(sti\015ing)h(the)f(history)-8 -b(.)40 b(This)27 b(returns)f(the)h(previously-set)h(maxim)m(um)f(n)m -(um)m(b)s(er)f(of)i(history)390 1091 y(en)m(tries)g(\(as)f(set)g(b)m(y) -g Fp(stifle_history\(\))p Fq(\).)35 b(The)27 b(v)-5 b(alue)27 +1254 y([F)-8 b(unction])-3599 b Fh(void)54 b(stifle_history)49 +b Fg(\()p Ff(in)m(t)34 b(max)p Fg(\))390 1364 y Fq(Sti\015e)j(the)f +(history)h(list,)i(remem)m(b)s(ering)d(only)h(the)f(last)i +Fk(max)43 b Fq(en)m(tries.)60 b(The)36 b(history)g(list)i(will)390 +1473 y(con)m(tain)32 b(only)e Fk(max)37 b Fq(en)m(tries)31 +b(at)g(a)g(time.)3350 1677 y([F)-8 b(unction])-3599 b +Fh(int)53 b(unstifle_history)e Fg(\()p Ff(v)m(oid)p Fg(\))390 +1787 y Fq(Stop)27 b(sti\015ing)h(the)f(history)-8 b(.)40 +b(This)27 b(returns)f(the)h(previously-set)h(maxim)m(um)f(n)m(um)m(b)s +(er)f(of)i(history)390 1896 y(en)m(tries)g(\(as)f(set)g(b)m(y)g +Fp(stifle_history\(\))p Fq(\).)35 b(The)27 b(v)-5 b(alue)27 b(is)g(p)s(ositiv)m(e)g(if)g(the)g(history)g(w)m(as)g(sti\015ed,)390 -1201 y(negativ)m(e)33 b(if)d(it)h(w)m(asn't.)3350 1378 +2006 y(negativ)m(e)33 b(if)d(it)h(w)m(asn't.)3350 2210 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_is_stifled)e -Fg(\()p Ff(v)m(oid)p Fg(\))390 1488 y Fq(Returns)29 b(non-zero)i(if)g +Fg(\()p Ff(v)m(oid)p Fg(\))390 2319 y Fq(Returns)29 b(non-zero)i(if)g (the)f(history)h(is)f(sti\015ed,)g(zero)i(if)e(it)h(is)f(not.)150 -1682 y Fj(2.3.3)63 b(Information)42 b(Ab)s(out)f(the)g(History)g(List) -150 1829 y Fq(These)30 b(functions)g(return)f(information)i(ab)s(out)f +2528 y Fj(2.3.3)63 b(Information)42 b(Ab)s(out)f(the)g(History)g(List) +150 2675 y Fq(These)30 b(functions)g(return)f(information)i(ab)s(out)f (the)h(en)m(tire)g(history)f(list)h(or)g(individual)e(list)i(en)m -(tries.)3350 2006 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 +(tries.)3350 2879 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(**)e(history_list)c Fg(\()p Ff(v)m(oid)p Fg(\))390 -2116 y Fq(Return)30 b(a)h Fp(NULL)e Fq(terminated)i(arra)m(y)g(of)f +2989 y Fq(Return)30 b(a)h Fp(NULL)e Fq(terminated)i(arra)m(y)g(of)f Fp(HIST_ENTRY)e(*)i Fq(whic)m(h)g(is)h(the)g(curren)m(t)f(input)f -(history)-8 b(.)390 2225 y(Elemen)m(t)31 b(0)g(of)g(this)f(list)h(is)f +(history)-8 b(.)390 3098 y(Elemen)m(t)31 b(0)g(of)g(this)f(list)h(is)f (the)h(b)s(eginning)f(of)g(time.)42 b(If)29 b(there)i(is)f(no)h -(history)-8 b(,)31 b(return)e Fp(NULL)p Fq(.)3350 2402 +(history)-8 b(,)31 b(return)e Fp(NULL)p Fq(.)3350 3302 y([F)-8 b(unction])-3599 b Fh(int)53 b(where_history)d -Fg(\()p Ff(v)m(oid)p Fg(\))390 2512 y Fq(Returns)29 b(the)i(o\013set)g -(of)g(the)g(curren)m(t)f(history)g(elemen)m(t.)3350 2689 +Fg(\()p Ff(v)m(oid)p Fg(\))390 3411 y Fq(Returns)29 b(the)i(o\013set)g +(of)g(the)g(curren)m(t)f(history)g(elemen)m(t.)3350 3615 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(current_history)d -Fg(\()p Ff(v)m(oid)p Fg(\))390 2798 y Fq(Return)24 b(the)h(history)g +Fg(\()p Ff(v)m(oid)p Fg(\))390 3725 y Fq(Return)24 b(the)h(history)g (en)m(try)g(at)h(the)f(curren)m(t)f(p)s(osition,)j(as)e(determined)f(b) -m(y)h Fp(where_history\(\))p Fq(.)390 2908 y(If)30 b(there)g(is)h(no)f +m(y)h Fp(where_history\(\))p Fq(.)390 3834 y(If)30 b(there)g(is)h(no)f (en)m(try)h(there,)g(return)e(a)i Fp(NULL)e Fq(p)s(oin)m(ter.)3350 -3085 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(history_get)c -Fg(\()p Ff(in)m(t)33 b(o\013set)p Fg(\))390 3195 y Fq(Return)41 -b(the)g(history)h(en)m(try)g(at)g(p)s(osition)g Fk(o\013set)p -Fq(,)j(starting)e(from)e Fp(history_base)d Fq(\(see)k(Sec-)390 -3304 y(tion)32 b(2.4)i([History)e(V)-8 b(ariables],)35 -b(page)d(8\).)47 b(If)31 b(there)i(is)f(no)g(en)m(try)g(there,)h(or)f -(if)g Fk(o\013set)j Fq(is)d(greater)390 3414 y(than)e(the)h(history)f -(length,)h(return)e(a)i Fp(NULL)e Fq(p)s(oin)m(ter.)3350 -3591 y([F)-8 b(unction])-3599 b Fh(time_t)54 b(history_get_time)c -Fg(\()p Ff(HIST)p 1678 3591 30 5 v 45 w(ENTR)-8 b(Y)32 -b(*en)m(try)p Fg(\))390 3700 y Fq(Return)g(the)i(time)g(stamp)f(asso)s +4038 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(history_get)c +Fg(\()p Ff(in)m(t)33 b(o\013set)p Fg(\))390 4148 y Fq(Return)e(the)g +(history)h(en)m(try)g(at)g(p)s(osition)g Fk(o\013set)p +Fq(.)45 b(The)31 b(range)h(of)g(v)-5 b(alid)31 b(v)-5 +b(alues)32 b(of)g Fk(o\013set)j Fq(starts)390 4257 y(at)d +Fp(history_base)c Fq(and)i(ends)h(at)g Fk(history)p 1885 +4257 28 4 v 40 w(length)h Fq(-)f(1)h(\(see)g(Section)g(2.4)g([History)g +(V)-8 b(ariables],)390 4367 y(page)27 b(9\).)40 b(If)26 +b(there)g(is)g(no)g(en)m(try)h(there,)g(or)f(if)g Fk(o\013set)j +Fq(is)e(outside)f(the)g(v)-5 b(alid)27 b(range,)g(return)f(a)g +Fp(NULL)390 4476 y Fq(p)s(oin)m(ter.)3350 4680 y([F)-8 +b(unction])-3599 b Fh(time_t)54 b(history_get_time)c +Fg(\()p Ff(HIST)p 1678 4680 30 5 v 45 w(ENTR)-8 b(Y)32 +b(*en)m(try)p Fg(\))390 4790 y Fq(Return)g(the)i(time)g(stamp)f(asso)s (ciated)h(with)f(the)g(history)g(en)m(try)h Fk(en)m(try)p -Fq(.)49 b(If)33 b(the)g(timestamp)h(is)390 3810 y(missing)c(or)h(in)m -(v)-5 b(alid,)31 b(return)e(0.)3350 3987 y([F)-8 b(unction])-3599 +Fq(.)49 b(If)33 b(the)g(timestamp)h(is)390 4899 y(missing)c(or)h(in)m +(v)-5 b(alid,)31 b(return)e(0.)3350 5103 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_total_bytes)e Fg(\()p Ff(v)m(oid)p -Fg(\))390 4097 y Fq(Return)27 b(the)h(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g +Fg(\))390 5213 y Fq(Return)27 b(the)h(n)m(um)m(b)s(er)e(of)i(b)m(ytes)g (that)g(the)g(primary)e(history)i(en)m(tries)g(are)g(using.)39 -b(This)27 b(function)390 4206 y(returns)i(the)i(sum)e(of)i(the)f +b(This)27 b(function)390 5322 y(returns)i(the)i(sum)e(of)i(the)f (lengths)h(of)f(all)i(the)e(lines)h(in)f(the)g(history)-8 -b(.)150 4401 y Fj(2.3.4)63 b(Mo)m(ving)41 b(Around)h(the)f(History)g -(List)150 4548 y Fq(These)30 b(functions)g(allo)m(w)i(the)e(curren)m(t) -h(index)f(in)m(to)h(the)f(history)h(list)g(to)g(b)s(e)f(set)h(or)f(c)m -(hanged.)3350 4725 y([F)-8 b(unction])-3599 b Fh(int)53 -b(history_set_pos)d Fg(\()p Ff(in)m(t)34 b(p)s(os)p Fg(\))390 -4834 y Fq(Set)j(the)g(curren)m(t)f(history)g(o\013set)i(to)f -Fk(p)s(os)p Fq(,)h(an)f(absolute)g(index)f(in)m(to)i(the)e(list.)60 -b(Returns)36 b(1)h(on)390 4944 y(success,)31 b(0)g(if)f -Fk(p)s(os)j Fq(is)e(less)f(than)h(zero)g(or)f(greater)i(than)e(the)g(n) -m(um)m(b)s(er)f(of)i(history)f(en)m(tries.)3350 5121 -y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(previous_history)d -Fg(\()p Ff(v)m(oid)p Fg(\))390 5230 y Fq(Bac)m(k)30 b(up)e(the)h -(curren)m(t)g(history)f(o\013set)i(to)g(the)f(previous)f(history)h(en)m -(try)-8 b(,)30 b(and)e(return)g(a)h(p)s(oin)m(ter)390 -5340 y(to)i(that)g(en)m(try)-8 b(.)41 b(If)30 b(there)h(is)f(no)h -(previous)f(en)m(try)-8 b(,)31 b(return)e(a)i Fp(NULL)e -Fq(p)s(oin)m(ter.)p eop end +b(.)p eop end %%Page: 7 10 TeXDict begin 7 9 bop 150 -116 a Fq(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(History)1780 b(7)3350 -299 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(next_history)c -Fg(\()p Ff(v)m(oid)p Fg(\))390 408 y Fq(If)20 b(the)h(curren)m(t)f +b(Programming)30 b(with)g(GNU)h(History)1780 b(7)150 +299 y Fj(2.3.4)63 b(Mo)m(ving)41 b(Around)h(the)f(History)g(List)150 +446 y Fq(These)30 b(functions)g(allo)m(w)i(the)e(curren)m(t)h(index)f +(in)m(to)h(the)f(history)h(list)g(to)g(b)s(e)f(set)h(or)f(c)m(hanged.) +3350 624 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_set_pos)d +Fg(\()p Ff(in)m(t)34 b(p)s(os)p Fg(\))390 734 y Fq(Set)j(the)g(curren)m +(t)f(history)g(o\013set)i(to)f Fk(p)s(os)p Fq(,)h(an)f(absolute)g +(index)f(in)m(to)i(the)e(list.)60 b(Returns)36 b(1)h(on)390 +844 y(success,)31 b(0)g(if)f Fk(p)s(os)j Fq(is)e(less)f(than)h(zero)g +(or)f(greater)i(than)e(the)g(n)m(um)m(b)s(er)f(of)i(history)f(en)m +(tries.)3350 1022 y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 +b(*)e(previous_history)d Fg(\()p Ff(v)m(oid)p Fg(\))390 +1132 y Fq(Bac)m(k)30 b(up)e(the)h(curren)m(t)g(history)f(o\013set)i(to) +g(the)f(previous)f(history)h(en)m(try)-8 b(,)30 b(and)e(return)g(a)h(p) +s(oin)m(ter)390 1241 y(to)i(that)g(en)m(try)-8 b(.)41 +b(If)30 b(there)h(is)f(no)h(previous)f(en)m(try)-8 b(,)31 +b(return)e(a)i Fp(NULL)e Fq(p)s(oin)m(ter.)3350 1420 +y([F)-8 b(unction])-3599 b Fh(HIST_ENTRY)55 b(*)e(next_history)c +Fg(\()p Ff(v)m(oid)p Fg(\))390 1530 y Fq(If)20 b(the)h(curren)m(t)f (history)h(o\013set)g(refers)g(to)g(a)g(v)-5 b(alid)21 b(history)f(en)m(try)-8 b(,)24 b(incremen)m(t)d(the)g(curren)m(t)f -(history)390 518 y(o\013set.)41 b(If)27 b(the)g(p)s(ossibly-incremen)m +(history)390 1639 y(o\013set.)41 b(If)27 b(the)g(p)s(ossibly-incremen)m (ted)g(history)h(o\013set)g(refers)f(to)h(a)f(v)-5 b(alid)28 -b(history)f(en)m(try)-8 b(,)29 b(return)390 628 y(a)i(p)s(oin)m(ter)f +b(history)f(en)m(try)-8 b(,)29 b(return)390 1749 y(a)i(p)s(oin)m(ter)f (to)h(that)g(en)m(try;)g(otherwise,)g(return)e(a)i Fp(BNULL)e -Fq(p)s(oin)m(ter.)150 823 y Fj(2.3.5)63 b(Searc)m(hing)40 -b(the)h(History)h(List)150 970 y Fq(These)36 b(functions)g(allo)m(w)i +Fq(p)s(oin)m(ter.)150 1944 y Fj(2.3.5)63 b(Searc)m(hing)40 +b(the)h(History)h(List)150 2091 y Fq(These)36 b(functions)g(allo)m(w)i (searc)m(hing)f(of)f(the)h(history)f(list)h(for)f(en)m(tries)h(con)m -(taining)h(a)f(sp)s(eci\014c)f(string.)150 1079 y(Searc)m(hing)28 +(taining)h(a)f(sp)s(eci\014c)f(string.)150 2201 y(Searc)m(hing)28 b(ma)m(y)g(b)s(e)f(p)s(erformed)f(b)s(oth)h(forw)m(ard)f(and)h(bac)m (kw)m(ard)h(from)f(the)h(curren)m(t)f(history)h(p)s(osition.)150 -1189 y(The)j(searc)m(h)h(ma)m(y)g(b)s(e)e Fk(anc)m(hored)p +2310 y(The)j(searc)m(h)h(ma)m(y)g(b)s(e)e Fk(anc)m(hored)p Fq(,)i(meaning)g(that)g(the)f(string)h(m)m(ust)f(matc)m(h)h(at)g(the)g -(b)s(eginning)e(of)i(the)150 1299 y(history)e(en)m(try)-8 -b(.)3350 1477 y([F)g(unction])-3599 b Fh(int)53 b(history_search)d +(b)s(eginning)e(of)i(the)150 2420 y(history)e(en)m(try)-8 +b(.)3350 2599 y([F)g(unction])-3599 b Fh(int)53 b(history_search)d Fg(\()p Ff(const)34 b(c)m(har)g(*string,)e(in)m(t)i(direction)p -Fg(\))390 1586 y Fq(Searc)m(h)29 b(the)g(history)g(for)g +Fg(\))390 2708 y Fq(Searc)m(h)29 b(the)g(history)g(for)g Fk(string)p Fq(,)g(starting)h(at)f(the)g(curren)m(t)g(history)g (o\013set.)41 b(If)28 b Fk(direction)i Fq(is)f(less)390 -1696 y(than)40 b(0,)j(then)c(the)h(searc)m(h)h(is)f(through)f(previous) +2818 y(than)40 b(0,)j(then)c(the)h(searc)m(h)h(is)f(through)f(previous) h(en)m(tries,)j(otherwise)d(through)g(subsequen)m(t)390 -1806 y(en)m(tries.)i(If)30 b Fk(string)38 b Fq(is)30 +2927 y(en)m(tries.)i(If)30 b Fk(string)38 b Fq(is)30 b(found,)g(then)g(the)g(curren)m(t)h(history)f(index)g(is)g(set)h(to)h -(that)f(history)f(en)m(try)-8 b(,)390 1915 y(and)33 b(the)g(v)-5 +(that)f(history)f(en)m(try)-8 b(,)390 3037 y(and)33 b(the)g(v)-5 b(alue)34 b(returned)e(is)i(the)g(o\013set)g(in)f(the)h(line)f(of)h (the)g(en)m(try)f(where)g Fk(string)41 b Fq(w)m(as)34 -b(found.)390 2025 y(Otherwise,)c(nothing)h(is)f(c)m(hanged,)h(and)f(a)h -(-1)g(is)f(returned.)3350 2203 y([F)-8 b(unction])-3599 +b(found.)390 3147 y(Otherwise,)c(nothing)h(is)f(c)m(hanged,)h(and)f(a)h +(-1)g(is)f(returned.)3350 3325 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_search_prefix)f Fg(\()p Ff(const)34 b(c)m(har)g(*string,)f(in)m(t)g(direction)p Fg(\))390 -2312 y Fq(Searc)m(h)41 b(the)g(history)f(for)g Fk(string)p +3435 y Fq(Searc)m(h)41 b(the)g(history)f(for)g Fk(string)p Fq(,)k(starting)d(at)g(the)g(curren)m(t)f(history)h(o\013set.)72 -b(The)40 b(searc)m(h)h(is)390 2422 y(anc)m(hored:)f(matc)m(hing)31 +b(The)40 b(searc)m(h)h(is)390 3544 y(anc)m(hored:)f(matc)m(hing)31 b(lines)f(m)m(ust)f(b)s(egin)g(with)g Fk(string)p Fq(.)40 b(If)29 b Fk(direction)h Fq(is)g(less)f(than)g(0,)i(then)e(the)390 -2532 y(searc)m(h)j(is)f(through)g(previous)g(en)m(tries,)h(otherwise)g +3654 y(searc)m(h)j(is)f(through)g(previous)g(en)m(tries,)h(otherwise)g (through)e(subsequen)m(t)h(en)m(tries.)44 b(If)31 b Fk(string)39 -b Fq(is)390 2641 y(found,)33 b(then)f(the)h(curren)m(t)g(history)g +b Fq(is)390 3764 y(found,)33 b(then)f(the)h(curren)m(t)g(history)g (index)g(is)g(set)g(to)h(that)g(en)m(try)-8 b(,)34 b(and)f(the)g -(return)f(v)-5 b(alue)33 b(is)g(0.)390 2751 y(Otherwise,)d(nothing)h +(return)f(v)-5 b(alue)33 b(is)g(0.)390 3873 y(Otherwise,)d(nothing)h (is)f(c)m(hanged,)h(and)f(a)h(-1)g(is)f(returned.)3350 -2929 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_search_pos)e +4052 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_search_pos)e Fg(\()p Ff(const)34 b(c)m(har)g(*string,)f(in)m(t)g(direction,)g(in)m -(t)g(p)s(os)p Fg(\))390 3039 y Fq(Searc)m(h)h(for)g Fk(string)42 +(t)g(p)s(os)p Fg(\))390 4161 y Fq(Searc)m(h)h(for)g Fk(string)42 b Fq(in)34 b(the)h(history)f(list,)i(starting)f(at)g Fk(p)s(os)p Fq(,)g(an)f(absolute)h(index)e(in)m(to)j(the)e(list.)390 -3148 y(If)i Fk(direction)g Fq(is)g(negativ)m(e,)k(the)c(searc)m(h)h +4271 y(If)i Fk(direction)g Fq(is)g(negativ)m(e,)k(the)c(searc)m(h)h (pro)s(ceeds)f(bac)m(kw)m(ard)g(from)g Fk(p)s(os)p Fq(,)h(otherwise)f -(forw)m(ard.)390 3258 y(Returns)43 b(the)h(absolute)h(index)f(of)g(the) +(forw)m(ard.)390 4381 y(Returns)43 b(the)h(absolute)h(index)f(of)g(the) g(history)g(elemen)m(t)h(where)f Fk(string)52 b Fq(w)m(as)44 -b(found,)i(or)e(-1)390 3367 y(otherwise.)150 3563 y Fj(2.3.6)63 -b(Managing)41 b(the)g(History)h(File)150 3709 y Fq(The)26 +b(found,)i(or)e(-1)390 4490 y(otherwise.)150 4686 y Fj(2.3.6)63 +b(Managing)41 b(the)g(History)h(File)150 4833 y Fq(The)26 b(History)h(library)f(can)h(read)g(the)f(history)h(from)f(and)g(write)h (it)g(to)g(a)g(\014le.)40 b(This)26 b(section)h(do)s(cumen)m(ts)150 -3819 y(the)k(functions)e(for)i(managing)g(a)g(history)f(\014le.)3350 -3997 y([F)-8 b(unction])-3599 b Fh(int)53 b(read_history)c +4942 y(the)k(functions)e(for)i(managing)g(a)g(history)f(\014le.)3350 +5121 y([F)-8 b(unction])-3599 b Fh(int)53 b(read_history)c Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename)p Fg(\))390 -4107 y Fq(Add)29 b(the)h(con)m(ten)m(ts)h(of)f Fk(\014lename)k +5230 y Fq(Add)29 b(the)h(con)m(ten)m(ts)h(of)f Fk(\014lename)k Fq(to)d(the)f(history)f(list,)i(a)f(line)g(at)g(a)g(time.)41 b(If)29 b Fk(\014lename)35 b Fq(is)30 b Fp(NULL)p Fq(,)390 -4216 y(then)g(read)g(from)g Fp(~/.history)p Fq(.)38 b(Returns)30 -b(0)g(if)h(successful,)f(or)g Fp(errno)f Fq(if)i(not.)3350 -4395 y([F)-8 b(unction])-3599 b Fh(int)53 b(read_history_range)e +5340 y(then)g(read)g(from)g Fp(~/.history)p Fq(.)38 b(Returns)30 +b(0)g(if)h(successful,)f(or)g Fp(errno)f Fq(if)i(not.)p +eop end +%%Page: 8 11 +TeXDict begin 8 10 bop 150 -116 a Fq(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(History)1780 b(8)3350 +299 y([F)-8 b(unction])-3599 b Fh(int)53 b(read_history_range)e Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename,)g(in)m(t)f(from,)g(in)m(t) -g(to)p Fg(\))390 4504 y Fq(Read)28 b(a)g(range)h(of)f(lines)g(from)f +g(to)p Fg(\))390 408 y Fq(Read)28 b(a)g(range)h(of)f(lines)g(from)f Fk(\014lename)p Fq(,)i(adding)e(them)h(to)h(the)f(history)g(list.)40 -b(Start)28 b(reading)g(at)390 4614 y(line)f Fk(from)e +b(Start)28 b(reading)g(at)390 518 y(line)f Fk(from)e Fq(and)h(end)f(at)i Fk(to)p Fq(.)41 b(If)25 b Fk(from)h Fq(is)g(zero,)i(start)f(at)g(the)f(b)s(eginning.)39 b(If)26 b Fk(to)31 b Fq(is)c(less)f(than)g Fk(from)p Fq(,)390 -4723 y(then)33 b(read)g(un)m(til)g(the)g(end)g(of)g(the)g(\014le.)49 +628 y(then)33 b(read)g(un)m(til)g(the)g(end)g(of)g(the)g(\014le.)49 b(If)33 b Fk(\014lename)38 b Fq(is)33 b Fp(NULL)p Fq(,)g(then)g(read)g -(from)f Fp(~/.history)p Fq(.)390 4833 y(Returns)d(0)i(if)g(successful,) -f(or)g Fp(errno)f Fq(if)i(not.)3350 5011 y([F)-8 b(unction])-3599 +(from)f Fp(~/.history)p Fq(.)390 737 y(Returns)d(0)i(if)g(successful,)f +(or)g Fp(errno)f Fq(if)i(not.)3350 898 y([F)-8 b(unction])-3599 b Fh(int)53 b(write_history)d Fg(\()p Ff(const)34 b(c)m(har)g -(*\014lename)p Fg(\))390 5121 y Fq(W)-8 b(rite)36 b(the)e(curren)m(t)h +(*\014lename)p Fg(\))390 1007 y Fq(W)-8 b(rite)36 b(the)e(curren)m(t)h (history)f(to)h Fk(\014lename)p Fq(,)h(o)m(v)m(erwriting)g Fk(\014lename)k Fq(if)34 b(necessary)-8 b(.)54 b(If)34 -b Fk(\014lename)390 5230 y Fq(is)27 b Fp(NULL)p Fq(,)g(then)g(write)g +b Fk(\014lename)390 1117 y Fq(is)27 b Fp(NULL)p Fq(,)g(then)g(write)g (the)h(history)f(list)g(to)h Fp(~/.history)p Fq(.)37 b(Returns)26 b(0)i(on)f(success,)h(or)f Fp(errno)f Fq(on)390 -5340 y(a)31 b(read)f(or)g(write)h(error.)p eop end -%%Page: 8 11 -TeXDict begin 8 10 bop 150 -116 a Fq(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(History)1780 b(8)3350 -299 y([F)-8 b(unction])-3599 b Fh(int)53 b(append_history)d -Fg(\()p Ff(in)m(t)33 b(nelemen)m(ts,)i(const)f(c)m(har)f(*\014lename)p -Fg(\))390 408 y Fq(App)s(end)g(the)i(last)g Fk(nelemen)m(ts)k +1227 y(a)31 b(read)f(or)g(write)h(error.)3350 1387 y([F)-8 +b(unction])-3599 b Fh(int)53 b(append_history)d Fg(\()p +Ff(in)m(t)33 b(nelemen)m(ts,)i(const)f(c)m(har)f(*\014lename)p +Fg(\))390 1497 y Fq(App)s(end)g(the)i(last)g Fk(nelemen)m(ts)k Fq(of)c(the)g(history)f(list)i(to)f Fk(\014lename)p Fq(.)54 b(If)34 b Fk(\014lename)40 b Fq(is)34 b Fp(NULL)p Fq(,)h(then)390 -518 y(app)s(end)29 b(to)i Fp(~/.history)p Fq(.)38 b(Returns)29 +1606 y(app)s(end)29 b(to)i Fp(~/.history)p Fq(.)38 b(Returns)29 b(0)i(on)f(success,)h(or)f Fp(errno)f Fq(on)i(a)f(read)h(or)f(write)h -(error.)3350 694 y([F)-8 b(unction])-3599 b Fh(int)53 +(error.)3350 1767 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_truncate_file)f Fg(\()p Ff(const)34 b(c)m(har)g(*\014lename,) -f(in)m(t)h(nlines)p Fg(\))390 804 y Fq(T)-8 b(runcate)39 +f(in)m(t)h(nlines)p Fg(\))390 1876 y Fq(T)-8 b(runcate)39 b(the)f(history)h(\014le)f Fk(\014lename)p Fq(,)j(lea)m(ving)f(only)f (the)g(last)g Fk(nlines)j Fq(lines.)65 b(If)38 b Fk(\014lename)44 -b Fq(is)390 914 y Fp(NULL)p Fq(,)29 b(then)i Fp(~/.history)c +b Fq(is)390 1986 y Fp(NULL)p Fq(,)29 b(then)i Fp(~/.history)c Fq(is)k(truncated.)40 b(Returns)30 b(0)g(on)h(success,)g(or)f -Fp(errno)f Fq(on)h(failure.)150 1107 y Fj(2.3.7)63 b(History)41 -b(Expansion)150 1254 y Fq(These)30 b(functions)g(implemen)m(t)h -(history)f(expansion.)3350 1431 y([F)-8 b(unction])-3599 +Fp(errno)f Fq(on)h(failure.)150 2169 y Fj(2.3.7)63 b(History)41 +b(Expansion)150 2316 y Fq(These)30 b(functions)g(implemen)m(t)h +(history)f(expansion.)3350 2477 y([F)-8 b(unction])-3599 b Fh(int)53 b(history_expand)d Fg(\()p Ff(c)m(har)34 -b(*string,)f(c)m(har)h(**output)p Fg(\))390 1540 y Fq(Expand)f +b(*string,)f(c)m(har)h(**output)p Fg(\))390 2586 y Fq(Expand)f Fk(string)p Fq(,)j(placing)f(the)f(result)h(in)m(to)g Fk(output)p Fq(,)g(a)g(p)s(oin)m(ter)f(to)h(a)g(string)f(\(see)i -(Section)f(1.1)390 1650 y([History)c(In)m(teraction],)i(page)e(1\).)41 -b(Returns:)390 1804 y Fp(0)432 b Fq(If)37 b(no)g(expansions)g(to)s(ok)i +(Section)f(1.1)390 2696 y([History)c(In)m(teraction],)i(page)e(1\).)41 +b(Returns:)390 2839 y Fp(0)432 b Fq(If)37 b(no)g(expansions)g(to)s(ok)i (place)f(\(or,)i(if)d(the)h(only)f(c)m(hange)i(in)e(the)g(text)i(w)m -(as)f(the)870 1913 y(remo)m(v)-5 b(al)31 b(of)g(escap)s(e)f(c)m +(as)f(the)870 2949 y(remo)m(v)-5 b(al)31 b(of)g(escap)s(e)f(c)m (haracters)i(preceding)e(the)g(history)g(expansion)g(c)m(haracter\);) -390 2067 y Fp(1)432 b Fq(if)30 b(expansions)g(did)g(tak)m(e)i(place;) -390 2222 y Fp(-1)384 b Fq(if)30 b(there)h(w)m(as)g(an)f(error)g(in)g -(expansion;)390 2376 y Fp(2)432 b Fq(if)28 b(the)f(returned)g(line)g +390 3093 y Fp(1)432 b Fq(if)30 b(expansions)g(did)g(tak)m(e)i(place;) +390 3236 y Fp(-1)384 b Fq(if)30 b(there)h(w)m(as)g(an)f(error)g(in)g +(expansion;)390 3380 y Fp(2)432 b Fq(if)28 b(the)f(returned)g(line)g (should)g(b)s(e)g(displa)m(y)m(ed,)i(but)e(not)h(executed,)h(as)f(with) -f(the)h Fp(:p)870 2485 y Fq(mo)s(di\014er)h(\(see)j(Section)f(1.1.3)h -([Mo)s(di\014ers],)e(page)i(2\).)390 2639 y(If)e(an)g(error)g(o)s +f(the)h Fp(:p)870 3489 y Fq(mo)s(di\014er)h(\(see)j(Section)f(1.1.3)h +([Mo)s(di\014ers],)e(page)i(2\).)390 3633 y(If)e(an)g(error)g(o)s (ccurred)g(in)g(expansion,)g(then)g Fk(output)i Fq(con)m(tains)g(a)f -(descriptiv)m(e)g(error)f(message.)3350 2815 y([F)-8 +(descriptiv)m(e)g(error)f(message.)3350 3793 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(get_history_event)f Fg(\()p Ff(const)34 b(c)m(har)g(*string,)e(in)m(t)h(*cindex,)h(in)m(t) -565 2925 y(qc)m(har)p Fg(\))390 3035 y Fq(Returns)45 +565 3903 y(qc)m(har)p Fg(\))390 4012 y Fq(Returns)45 b(the)g(text)i(of)e(the)h(history)f(ev)m(en)m(t)i(b)s(eginning)e(at)h Fk(string)53 b Fp(+)45 b Fk(*cindex)p Fq(.)87 b Fk(*cindex)52 -b Fq(is)390 3144 y(mo)s(di\014ed)28 b(to)i(p)s(oin)m(t)f(to)h(after)g +b Fq(is)390 4122 y(mo)s(di\014ed)28 b(to)i(p)s(oin)m(t)f(to)h(after)g (the)g(ev)m(en)m(t)h(sp)s(eci\014er.)39 b(A)m(t)31 b(function)e(en)m (try)-8 b(,)30 b Fk(cindex)36 b Fq(p)s(oin)m(ts)29 b(to)h(the)390 -3254 y(index)35 b(in)m(to)i Fk(string)44 b Fq(where)35 +4232 y(index)35 b(in)m(to)i Fk(string)44 b Fq(where)35 b(the)h(history)g(ev)m(en)m(t)h(sp)s(eci\014cation)g(b)s(egins.)57 -b Fk(qc)m(har)42 b Fq(is)36 b(a)g(c)m(haracter)390 3363 +b Fk(qc)m(har)42 b Fq(is)36 b(a)g(c)m(haracter)390 4341 y(that)27 b(is)g(allo)m(w)m(ed)i(to)f(end)e(the)h(ev)m(en)m(t)h(sp)s (eci\014cation)g(in)f(addition)g(to)g(the)g(\\normal")h(terminating)390 -3473 y(c)m(haracters.)3350 3649 y([F)-8 b(unction])-3599 +4451 y(c)m(haracters.)3350 4611 y([F)-8 b(unction])-3599 b Fh(char)54 b(**)e(history_tokenize)f Fg(\()p Ff(const)34 -b(c)m(har)g(*string)p Fg(\))390 3759 y Fq(Return)c(an)h(arra)m(y)g(of)g +b(c)m(har)g(*string)p Fg(\))390 4721 y Fq(Return)c(an)h(arra)m(y)g(of)g (tok)m(ens)h(parsed)e(out)h(of)g Fk(string)p Fq(,)h(m)m(uc)m(h)e(as)i (the)f(shell)g(migh)m(t.)43 b(The)30 b(tok)m(ens)390 -3868 y(are)h(split)g(on)f(the)h(c)m(haracters)h(in)e(the)h -Fk(history)p 2006 3868 28 4 v 40 w(w)m(ord)p 2241 3868 +4830 y(are)h(split)g(on)f(the)h(c)m(haracters)h(in)e(the)h +Fk(history)p 2006 4830 28 4 v 40 w(w)m(ord)p 2241 4830 V 39 w(delimiters)k Fq(v)-5 b(ariable,)32 b(and)e(shell)g(quoting)390 -3978 y(con)m(v)m(en)m(tions)i(are)f(ob)s(ey)m(ed.)3350 -4154 y([F)-8 b(unction])-3599 b Fh(char)54 b(*)e(history_arg_extract)f -Fg(\()p Ff(in)m(t)34 b(\014rst,)f(in)m(t)g(last,)g(const)h(c)m(har)f -(*string)p Fg(\))390 4264 y Fq(Extract)41 b(a)g(string)f(segmen)m(t)i -(consisting)f(of)f(the)h Fk(\014rst)g Fq(through)f Fk(last)j -Fq(argumen)m(ts)e(presen)m(t)f(in)390 4373 y Fk(string)p -Fq(.)h(Argumen)m(ts)30 b(are)h(split)f(using)g Fp(history_tokenize)p -Fq(.)150 4609 y Fo(2.4)68 b(History)46 b(V)-11 b(ariables)150 -4768 y Fq(This)26 b(section)i(describ)s(es)e(the)h(externally-visible)i -(v)-5 b(ariables)28 b(exp)s(orted)e(b)m(y)h(the)g Fl(gnu)g -Fq(History)g(Library)-8 b(.)3371 4945 y([V)g(ariable])-3598 -b Fh(int)53 b(history_base)390 5054 y Fq(The)30 b(logical)j(o\013set)e -(of)g(the)f(\014rst)g(en)m(try)g(in)h(the)f(history)g(list.)3371 -5230 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_length)390 -5340 y Fq(The)30 b(n)m(um)m(b)s(er)f(of)h(en)m(tries)i(curren)m(tly)e -(stored)h(in)f(the)g(history)g(list.)p eop end +4940 y(con)m(v)m(en)m(tions)i(are)f(ob)s(ey)m(ed)g(as)f(describ)s(ed)g +(b)s(elo)m(w.)3350 5101 y([F)-8 b(unction])-3599 b Fh(char)54 +b(*)e(history_arg_extract)f Fg(\()p Ff(in)m(t)34 b(\014rst,)f(in)m(t)g +(last,)g(const)h(c)m(har)f(*string)p Fg(\))390 5210 y +Fq(Extract)41 b(a)g(string)f(segmen)m(t)i(consisting)f(of)f(the)h +Fk(\014rst)g Fq(through)f Fk(last)j Fq(argumen)m(ts)e(presen)m(t)f(in) +390 5320 y Fk(string)p Fq(.)h(Argumen)m(ts)30 b(are)h(split)f(using)g +Fp(history_tokenize)p Fq(.)p eop end %%Page: 9 12 TeXDict begin 9 11 bop 150 -116 a Fq(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(History)1780 b(9)3371 -299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_max_entries)390 -408 y Fq(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g(en)m +b(Programming)30 b(with)g(GNU)h(History)1780 b(9)150 +299 y Fo(2.4)68 b(History)46 b(V)-11 b(ariables)150 458 +y Fq(This)26 b(section)i(describ)s(es)e(the)h(externally-visible)i(v)-5 +b(ariables)28 b(exp)s(orted)e(b)m(y)h(the)g Fl(gnu)g +Fq(History)g(Library)-8 b(.)3371 641 y([V)g(ariable])-3598 +b Fh(int)53 b(history_base)390 750 y Fq(The)30 b(logical)j(o\013set)e +(of)g(the)f(\014rst)g(en)m(try)g(in)h(the)f(history)g(list.)3371 +933 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_length)390 +1043 y Fq(The)30 b(n)m(um)m(b)s(er)f(of)h(en)m(tries)i(curren)m(tly)e +(stored)h(in)f(the)g(history)g(list.)3371 1225 y([V)-8 +b(ariable])-3598 b Fh(int)53 b(history_max_entries)390 +1335 y Fq(The)45 b(maxim)m(um)h(n)m(um)m(b)s(er)f(of)h(history)g(en)m (tries.)88 b(This)45 b(m)m(ust)h(b)s(e)f(c)m(hanged)i(using)e -Fp(stifle_)390 518 y(history\(\))p Fq(.)3371 742 y([V)-8 +Fp(stifle_)390 1444 y(history\(\))p Fq(.)3371 1627 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_write_timesta)q(mps)390 -852 y Fq(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the)g -(history)f(\014le,)49 b(so)c(they)f(can)h(b)s(e)f(preserv)m(ed)390 -962 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5 +1736 y Fq(If)44 b(non-zero,)49 b(timestamps)c(are)g(written)g(to)g(the) +g(history)f(\014le,)49 b(so)c(they)f(can)h(b)s(e)f(preserv)m(ed)390 +1846 y(b)s(et)m(w)m(een)31 b(sessions.)41 b(The)30 b(default)g(v)-5 b(alue)31 b(is)f(0,)h(meaning)g(that)g(timestamps)g(are)g(not)f(sa)m(v) -m(ed.)390 1116 y(The)41 b(curren)m(t)g(timestamp)h(format)g(uses)f(the) -h(v)-5 b(alue)42 b(of)f Fk(history)p 2697 1116 28 4 v -41 w(commen)m(t)p 3098 1116 V 41 w(c)m(har)48 b Fq(to)42 -b(delimit)390 1226 y(timestamp)h(en)m(tries)g(in)f(the)g(history)h +m(ed.)390 1980 y(The)41 b(curren)m(t)g(timestamp)h(format)g(uses)f(the) +h(v)-5 b(alue)42 b(of)f Fk(history)p 2697 1980 28 4 v +41 w(commen)m(t)p 3098 1980 V 41 w(c)m(har)48 b Fq(to)42 +b(delimit)390 2090 y(timestamp)h(en)m(tries)g(in)f(the)g(history)h (\014le.)76 b(If)42 b(that)h(v)-5 b(ariable)43 b(do)s(es)f(not)g(ha)m -(v)m(e)i(a)f(v)-5 b(alue)42 b(\(the)390 1335 y(default\),)31 -b(timestamps)g(will)g(not)f(b)s(e)g(written.)3371 1560 +(v)m(e)i(a)f(v)-5 b(alue)42 b(\(the)390 2199 y(default\),)31 +b(timestamps)g(will)g(not)f(b)s(e)g(written.)3371 2382 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_expansion_char)390 -1669 y Fq(The)35 b(c)m(haracter)i(that)e(in)m(tro)s(duces)g(a)h +2491 y Fq(The)35 b(c)m(haracter)i(that)e(in)m(tro)s(duces)g(a)h (history)f(ev)m(en)m(t.)57 b(The)34 b(default)i(is)f(`)p -Fp(!)p Fq('.)56 b(Setting)35 b(this)h(to)g(0)390 1779 -y(inhibits)30 b(history)g(expansion.)3371 2003 y([V)-8 +Fp(!)p Fq('.)56 b(Setting)35 b(this)h(to)g(0)390 2601 +y(inhibits)30 b(history)g(expansion.)3371 2783 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_subst_char)390 -2113 y Fq(The)40 b(c)m(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f +2893 y Fq(The)40 b(c)m(haracter)i(that)g(in)m(v)m(ok)m(es)g(w)m(ord)f (substitution)f(if)h(found)e(at)i(the)g(start)g(of)g(a)g(line.)72 -b(The)390 2222 y(default)31 b(is)f(`)p Fp(^)p Fq('.)3371 -2447 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_comment_char)390 -2556 y Fq(During)37 b(tok)m(enization,)43 b(if)38 b(this)f(c)m +b(The)390 3003 y(default)31 b(is)f(`)p Fp(^)p Fq('.)3371 +3185 y([V)-8 b(ariable])-3598 b Fh(char)54 b(history_comment_char)390 +3295 y Fq(During)37 b(tok)m(enization,)43 b(if)38 b(this)f(c)m (haracter)j(is)e(seen)f(as)h(the)g(\014rst)f(c)m(haracter)j(of)e(a)g(w) -m(ord,)h(then)390 2666 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m +m(ord,)h(then)390 3404 y(it)44 b(and)e(all)j(subsequen)m(t)d(c)m (haracters)j(up)d(to)i(a)g(newline)f(are)h(ignored,)i(suppressing)c -(history)390 2776 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h +(history)390 3514 y(expansion)30 b(for)g(the)h(remainder)f(of)g(the)h (line.)41 b(This)29 b(is)i(disabled)f(b)m(y)g(default.)3371 -3000 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e -(history_word_delimiter)q(s)390 3110 y Fq(The)27 b(c)m(haracters)i +3696 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e +(history_word_delimiter)q(s)390 3806 y Fq(The)27 b(c)m(haracters)i (that)f(separate)h(tok)m(ens)f(for)f Fp(history_tokenize\(\))p Fq(.)35 b(The)27 b(default)h(v)-5 b(alue)28 b(is)f Fp(")390 -3219 y(\\t\\n\(\)<>;&|")p Fq(.)3371 3444 y([V)-8 b(ariable])-3598 +3916 y(\\t\\n\(\)<>;&|")p Fq(.)3371 4098 y([V)-8 b(ariable])-3598 b Fh(char)54 b(*)e(history_search_delimit)q(er_)q(cha)q(rs)390 -3553 y Fq(The)26 b(list)g(of)g(additional)h(c)m(haracters)h(whic)m(h)e +4208 y Fq(The)26 b(list)g(of)g(additional)h(c)m(haracters)h(whic)m(h)e (can)g(delimit)h(a)f(history)g(searc)m(h)h(string,)g(in)f(addition)390 -3663 y(to)31 b(space,)g(T)-8 b(AB,)32 b(`)p Fp(:)p Fq(')e(and)g(`)p +4317 y(to)31 b(space,)g(T)-8 b(AB,)32 b(`)p Fp(:)p Fq(')e(and)g(`)p Fp(?)p Fq(')g(in)g(the)h(case)g(of)g(a)g(substring)e(searc)m(h.)41 -b(The)30 b(default)h(is)f(empt)m(y)-8 b(.)3371 3887 y([V)g(ariable]) +b(The)30 b(default)h(is)f(empt)m(y)-8 b(.)3371 4500 y([V)g(ariable]) -3598 b Fh(char)54 b(*)e(history_no_expand_char)q(s)390 -3997 y Fq(The)29 b(list)i(of)f(c)m(haracters)h(whic)m(h)e(inhibit)h +4609 y Fq(The)29 b(list)i(of)f(c)m(haracters)h(whic)m(h)e(inhibit)h (history)g(expansion)f(if)h(found)e(immediately)j(follo)m(wing)390 -4106 y Fk(history)p 672 4106 V 40 w(expansion)p 1104 -4106 V 40 w(c)m(har)p Fq(.)41 b(The)30 b(default)g(is)h(space,)g(tab,)g +4719 y Fk(history)p 672 4719 V 40 w(expansion)p 1104 +4719 V 40 w(c)m(har)p Fq(.)41 b(The)30 b(default)g(is)h(space,)g(tab,)g (newline,)f(carriage)i(return,)e(and)g(`)p Fp(=)p Fq('.)3371 -4331 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quotes_inhibi)q -(t_ex)q(pan)q(sio)q(n)390 4440 y Fq(If)27 b(non-zero,)i(double-quoted)f -(w)m(ords)g(are)g(not)g(scanned)f(for)h(the)g(history)g(expansion)f(c)m -(haracter)390 4550 y(or)j(the)h(history)f(commen)m(t)i(c)m(haracter.)42 -b(The)30 b(default)g(v)-5 b(alue)31 b(is)g(0.)3371 4774 -y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57 b(*)c -(history_inhibit_expans)q(ion)q(_fu)q(ncti)q(on)390 4884 -y Fq(This)32 b(should)h(b)s(e)f(set)i(to)g(the)g(address)e(of)i(a)f -(function)g(that)h(tak)m(es)h(t)m(w)m(o)g(argumen)m(ts:)46 -b(a)34 b Fp(char)29 b(*)390 4994 y Fq(\()p Fk(string)8 +4902 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quotes_inhibi)q +(t_ex)q(pan)q(sio)q(n)390 5011 y Fq(If)33 b(non-zero,)j(the)d(history)h +(expansion)f(co)s(de)h(implemen)m(ts)g(shell-lik)m(e)i(quoting:)48 +b(single-quoted)390 5121 y(w)m(ords)37 b(are)h(not)g(scanned)f(for)g +(the)h(history)f(expansion)g(c)m(haracter)i(or)f(the)f(history)h +(commen)m(t)390 5230 y(c)m(haracter,)48 b(and)42 b(double-quoted)h(w)m +(ords)g(ma)m(y)g(ha)m(v)m(e)h(history)f(expansion)g(p)s(erformed,)i +(since)390 5340 y(single)31 b(quotes)g(are)g(not)f(sp)s(ecial)h(within) +f(double)g(quotes.)41 b(The)30 b(default)h(v)-5 b(alue)30 +b(is)h(0.)p eop end +%%Page: 10 13 +TeXDict begin 10 12 bop 150 -116 a Fq(Chapter)30 b(2:)41 +b(Programming)30 b(with)g(GNU)h(History)1734 b(10)3371 +299 y([V)-8 b(ariable])-3598 b Fh(int)53 b(history_quoting_state)390 +408 y Fq(An)27 b(application)j(ma)m(y)e(set)g(this)g(v)-5 +b(ariable)29 b(to)f(indicate)h(that)g(the)f(curren)m(t)f(line)h(b)s +(eing)g(expanded)390 518 y(is)e(sub)5 b(ject)26 b(to)h(existing)g +(quoting.)40 b(If)26 b(set)g(to)h(`)p Fp(')p Fq(',)g(the)g(history)f +(expansion)g(function)g(will)g(assume)390 628 y(that)i(the)f(line)h(is) +f(single-quoted)h(and)f(inhibit)f(expansion)h(un)m(til)h(it)g(reads)e +(an)i(unquoted)e(closing)390 737 y(single)41 b(quote;)46 +b(if)40 b(set)h(to)f(`)p Fp(")p Fq(',)j(history)e(expansion)f(will)g +(assume)g(the)g(line)h(is)f(double)g(quoted)390 847 y(un)m(til)26 +b(it)g(reads)f(an)g(unquoted)g(closing)h(double)f(quote.)40 +b(If)25 b(set)g(to)i(zero,)g(the)f(default,)g(the)g(history)390 +956 y(expansion)21 b(function)g(will)g(assume)g(the)g(line)h(is)f(not)g +(quoted)g(and)g(treat)h(quote)g(c)m(haracters)g(within)390 +1066 y(the)29 b(line)g(as)g(describ)s(ed)f(ab)s(o)m(v)m(e.)42 +b(This)28 b(is)h(only)g(e\013ectiv)m(e)i(if)e Fk(history)p +2726 1066 28 4 v 40 w(quotes)p 3021 1066 V 40 w(inhibit)p +3324 1066 V 40 w(expansion)390 1176 y Fq(is)h(set.)3371 +1379 y([V)-8 b(ariable])-3598 b Fh(rl_linebuf_func_t)57 +b(*)c(history_inhibit_expans)q(ion)q(_fu)q(ncti)q(on)390 +1489 y Fq(This)32 b(should)h(b)s(e)f(set)i(to)g(the)g(address)e(of)i(a) +f(function)g(that)h(tak)m(es)h(t)m(w)m(o)g(argumen)m(ts:)46 +b(a)34 b Fp(char)29 b(*)390 1598 y Fq(\()p Fk(string)8 b Fq(\))27 b(and)f(an)g Fp(int)g Fq(index)g(in)m(to)i(that)f(string)f (\()p Fk(i)5 b Fq(\).)40 b(It)27 b(should)f(return)f(a)i(non-zero)g(v) --5 b(alue)27 b(if)g(the)390 5103 y(history)i(expansion)g(starting)h(at) +-5 b(alue)27 b(if)g(the)390 1708 y(history)i(expansion)g(starting)h(at) g Fk(string[i])j Fq(should)28 b(not)i(b)s(e)e(p)s(erformed;)h(zero)h -(if)f(the)g(expansion)390 5213 y(should)i(b)s(e)g(done.)45 +(if)f(the)g(expansion)390 1817 y(should)i(b)s(e)g(done.)45 b(It)32 b(is)g(in)m(tended)g(for)g(use)g(b)m(y)f(applications)i(lik)m -(e)h(Bash)e(that)g(use)g(the)g(history)390 5322 y(expansion)e(c)m +(e)h(Bash)e(that)g(use)g(the)g(history)390 1927 y(expansion)e(c)m (haracter)i(for)e(additional)i(purp)s(oses.)39 b(By)30 b(default,)h(this)f(v)-5 b(ariable)31 b(is)g(set)g(to)g -Fp(NULL)p Fq(.)p eop end -%%Page: 10 13 -TeXDict begin 10 12 bop 150 -116 a Fq(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(History)1734 b(10)150 -299 y Fo(2.5)68 b(History)46 b(Programming)g(Example)150 -458 y Fq(The)30 b(follo)m(wing)i(program)e(demonstrates)h(simple)f(use) -g(of)h(the)f Fl(gnu)g Fq(History)h(Library)-8 b(.)390 -633 y Fe(#include)41 b(<stdio.h>)390 720 y(#include)g -(<readline/history.h>)390 894 y(main)f(\(argc,)h(argv\))586 -981 y(int)f(argc;)586 1068 y(char)g(**argv;)390 1156 -y({)468 1243 y(char)h(line[1024],)g(*t;)468 1330 y(int)f(len,)g(done)h -(=)e(0;)468 1504 y(line[0])i(=)f(0;)468 1679 y(using_history)j(\(\);) -468 1766 y(while)e(\(!done\))547 1853 y({)625 1940 y(printf)g -(\("history$)g("\);)625 2027 y(fflush)g(\(stdout\);)625 -2115 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h(\(line\))f(-)g(1,)g(stdin\);) -625 2202 y(if)g(\(t)g(&&)f(*t\))704 2289 y({)782 2376 -y(len)h(=)g(strlen)g(\(t\);)782 2463 y(if)g(\(t[len)h(-)e(1])h(==)f -('\\n'\))861 2550 y(t[len)h(-)g(1])f(=)h('\\0';)704 2638 -y(})625 2812 y(if)g(\(!t\))704 2899 y(strcpy)g(\(line,)h("quit"\);)625 -3073 y(if)f(\(line[0]\))704 3161 y({)782 3248 y(char)g(*expansion;)782 -3335 y(int)g(result;)782 3509 y(result)h(=)e(history_expand)k(\(line,)d -(&expansion\);)782 3597 y(if)g(\(result\))861 3684 y(fprintf)h -(\(stderr,)g("\045s\\n",)f(expansion\);)782 3858 y(if)g(\(result)h(<)e -(0)h(||)f(result)i(==)f(2\))861 3945 y({)939 4032 y(free)g -(\(expansion\);)939 4120 y(continue;)861 4207 y(})782 -4381 y(add_history)i(\(expansion\);)782 4468 y(strncpy)f(\(line,)g -(expansion,)g(sizeof)g(\(line\))f(-)g(1\);)782 4555 y(free)g -(\(expansion\);)704 4643 y(})625 4817 y(if)g(\(strcmp)h(\(line,)f -("quit"\))h(==)f(0\))704 4904 y(done)g(=)f(1;)625 4991 -y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f(==)g(0\))704 -5078 y(write_history)i(\("history_file"\);)625 5166 y(else)e(if)g -(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704 5253 y(read_history)i -(\("history_file"\);)625 5340 y(else)e(if)g(\(strcmp)h(\(line,)g -("list"\))f(==)g(0\))p eop end +Fp(NULL)p Fq(.)150 2182 y Fo(2.5)68 b(History)46 b(Programming)g +(Example)150 2342 y Fq(The)30 b(follo)m(wing)i(program)e(demonstrates)h +(simple)f(use)g(of)h(the)f Fl(gnu)g Fq(History)h(Library)-8 +b(.)390 2463 y Fe(#include)41 b(<stdio.h>)390 2550 y(#include)g +(<readline/history.h>)390 2725 y(main)f(\(argc,)h(argv\))586 +2812 y(int)f(argc;)586 2899 y(char)g(**argv;)390 2986 +y({)468 3073 y(char)h(line[1024],)g(*t;)468 3161 y(int)f(len,)g(done)h +(=)e(0;)468 3335 y(line[0])i(=)f(0;)468 3509 y(using_history)j(\(\);) +468 3597 y(while)e(\(!done\))547 3684 y({)625 3771 y(printf)g +(\("history$)g("\);)625 3858 y(fflush)g(\(stdout\);)625 +3945 y(t)f(=)f(fgets)i(\(line,)f(sizeof)h(\(line\))f(-)g(1,)g(stdin\);) +625 4032 y(if)g(\(t)g(&&)f(*t\))704 4120 y({)782 4207 +y(len)h(=)g(strlen)g(\(t\);)782 4294 y(if)g(\(t[len)h(-)e(1])h(==)f +('\\n'\))861 4381 y(t[len)h(-)g(1])f(=)h('\\0';)704 4468 +y(})625 4643 y(if)g(\(!t\))704 4730 y(strcpy)g(\(line,)h("quit"\);)625 +4904 y(if)f(\(line[0]\))704 4991 y({)782 5078 y(char)g(*expansion;)782 +5166 y(int)g(result;)782 5340 y(result)h(=)e(history_expand)k(\(line,)d +(&expansion\);)p eop end %%Page: 11 14 TeXDict begin 11 13 bop 150 -116 a Fq(Chapter)30 b(2:)41 -b(Programming)30 b(with)g(GNU)h(History)1734 b(11)704 -299 y Fe({)782 386 y(register)41 b(HIST_ENTRY)h(**the_list;)782 -473 y(register)f(int)f(i;)782 648 y(the_list)h(=)f(history_list)i -(\(\);)782 735 y(if)e(\(the_list\))861 822 y(for)g(\(i)f(=)h(0;)f -(the_list[i];)j(i++\))939 909 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e -(+)h(history_base,)i(the_list[i]->line\);)704 996 y(})625 -1083 y(else)e(if)g(\(strncmp)h(\(line,)g("delete",)g(6\))f(==)f(0\))704 -1171 y({)782 1258 y(int)h(which;)782 1345 y(if)g(\(\(sscanf)h(\(line)f -(+)g(6,)g("\045d",)g(&which\)\))h(==)f(1\))861 1432 y({)939 -1519 y(HIST_ENTRY)i(*entry)e(=)g(remove_history)i(\(which\);)939 -1606 y(if)e(\(!entry\))1018 1694 y(fprintf)g(\(stderr,)i("No)d(such)i -(entry)f(\045d\\n",)h(which\);)939 1781 y(else)1018 1868 -y({)1096 1955 y(free)f(\(entry->line\);)1096 2042 y(free)g(\(entry\);) -1018 2130 y(})861 2217 y(})782 2304 y(else)861 2391 y({)939 -2478 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g -(`delete'\\n"\);)861 2565 y(})704 2653 y(})547 2740 y(})390 -2827 y(})p eop end +b(Programming)30 b(with)g(GNU)h(History)1734 b(11)782 +299 y Fe(if)40 b(\(result\))861 386 y(fprintf)h(\(stderr,)g +("\045s\\n",)f(expansion\);)782 560 y(if)g(\(result)h(<)e(0)h(||)f +(result)i(==)f(2\))861 648 y({)939 735 y(free)g(\(expansion\);)939 +822 y(continue;)861 909 y(})782 1083 y(add_history)i(\(expansion\);)782 +1171 y(strncpy)f(\(line,)g(expansion,)g(sizeof)g(\(line\))f(-)g(1\);) +782 1258 y(free)g(\(expansion\);)704 1345 y(})625 1519 +y(if)g(\(strcmp)h(\(line,)f("quit"\))h(==)f(0\))704 1606 +y(done)g(=)f(1;)625 1694 y(else)h(if)g(\(strcmp)h(\(line,)g("save"\))f +(==)g(0\))704 1781 y(write_history)i(\("history_file"\);)625 +1868 y(else)e(if)g(\(strcmp)h(\(line,)g("read"\))f(==)g(0\))704 +1955 y(read_history)i(\("history_file"\);)625 2042 y(else)e(if)g +(\(strcmp)h(\(line,)g("list"\))f(==)g(0\))704 2130 y({)782 +2217 y(register)h(HIST_ENTRY)h(**the_list;)782 2304 y(register)f(int)f +(i;)782 2478 y(the_list)h(=)f(history_list)i(\(\);)782 +2565 y(if)e(\(the_list\))861 2653 y(for)g(\(i)f(=)h(0;)f(the_list[i];)j +(i++\))939 2740 y(printf)f(\("\045d:)f(\045s\\n",)h(i)e(+)h +(history_base,)i(the_list[i]->line\);)704 2827 y(})625 +2914 y(else)e(if)g(\(strncmp)h(\(line,)g("delete",)g(6\))f(==)f(0\))704 +3001 y({)782 3088 y(int)h(which;)782 3176 y(if)g(\(\(sscanf)h(\(line)f +(+)g(6,)g("\045d",)g(&which\)\))h(==)f(1\))861 3263 y({)939 +3350 y(HIST_ENTRY)i(*entry)e(=)g(remove_history)i(\(which\);)939 +3437 y(if)e(\(!entry\))1018 3524 y(fprintf)g(\(stderr,)i("No)d(such)i +(entry)f(\045d\\n",)h(which\);)939 3611 y(else)1018 3699 +y({)1096 3786 y(free)f(\(entry->line\);)1096 3873 y(free)g(\(entry\);) +1018 3960 y(})861 4047 y(})782 4134 y(else)861 4222 y({)939 +4309 y(fprintf)h(\(stderr,)g("non-numeric)h(arg)e(given)g(to)g +(`delete'\\n"\);)861 4396 y(})704 4483 y(})547 4570 y(})390 +4658 y(})p eop end %%Page: 12 15 TeXDict begin 12 14 bop 3659 -116 a Fq(12)150 299 y Fm(App)t(endix)52 b(A)81 b(GNU)54 b(F)-13 b(ree)53 b(Do)t(cumen)l(tation)e(License)1359 @@ -6550,32 +6608,34 @@ b(21)150 100 y Fm(App)t(endix)52 b(C)81 b(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)150 400 y Fe(history_base)10 b Fa(:)16 b(:)d(:)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(:)25 b Fb(8)150 487 y Fe(history_comment_char)7 b Fa(:)17 +g(:)25 b Fb(9)150 487 y Fe(history_comment_char)7 b Fa(:)17 b(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h (:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)22 b Fb(9)150 574 y Fe (history_expansion_char)i Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g (:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)34 -b Fb(9)150 661 y Fe(history_inhibit_expansion_fun)q(ctio)q(n)28 -b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)37 b Fb(9)150 +b Fb(9)150 661 y Fe(history_inhibit_expansion_fun)q(ctio)q(n)26 +b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)34 b Fb(10)150 749 y Fe(history_length)25 b Fa(:)13 b(:)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(:)37 b Fb(8)150 836 y Fe(history_max_entries)9 +f(:)g(:)g(:)g(:)g(:)37 b Fb(9)150 836 y Fe(history_max_entries)9 b Fa(:)18 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g (:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)24 b Fb(9)150 923 y Fe(history_no_expand_chars)16 b Fa(:)i(:)c(:)f(:)g(:)g(:)g(:)g(:) g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)31 b Fb(9)150 1010 y Fe(history_quotes_inhibit_expans)q(ion)11 b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)25 -b Fb(9)150 1097 y Fe(history_search_delimiter_char)q(s)15 -b Fa(:)k(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 -b Fb(9)150 1184 y Fe(history_subst_char)12 b Fa(:)17 -b(:)c(:)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(:)27 b Fb(9)150 -1272 y Fe(history_word_delimiters)16 b Fa(:)i(:)c(:)f(:)g(:)g(:)g(:)g -(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)31 -b Fb(9)150 1359 y Fe(history_write_timestamps)13 b Fa(:)19 -b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:) -g(:)g(:)h(:)28 b Fb(9)p eop end +b Fb(9)150 1097 y Fe(history_quoting_state)f Fa(:)13 +b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g +(:)g(:)g(:)h(:)f(:)33 b Fb(10)150 1184 y Fe +(history_search_delimiter_char)q(s)15 b Fa(:)k(:)13 b(:)g(:)h(:)f(:)g +(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)30 b Fb(9)150 1272 y Fe +(history_subst_char)12 b Fa(:)17 b(:)c(:)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(:) +27 b Fb(9)150 1359 y Fe(history_word_delimiters)16 b +Fa(:)i(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h +(:)f(:)g(:)g(:)g(:)31 b Fb(9)150 1446 y Fe(history_write_timestamps)13 +b Fa(:)19 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g +(:)g(:)g(:)g(:)g(:)h(:)28 b Fb(9)p eop end %%Trailer userdict /end-hook known{end-hook}if |